You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4578 lines
147 KiB
4578 lines
147 KiB
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.27.29111.0
|
|
|
|
include listing.inc
|
|
|
|
INCLUDELIB MSVCRTD
|
|
INCLUDELIB OLDNAMES
|
|
|
|
PUBLIC ?TestBuffer@@3PAEA ; TestBuffer
|
|
PUBLIC ?TestBufferSize@@3KA ; TestBufferSize
|
|
PUBLIC ?meme1@@3PAEA ; meme1
|
|
PUBLIC ?meme2@@3PAEA ; meme2
|
|
msvcjmc SEGMENT
|
|
__B2D2BA86_ctype@h DB 01H
|
|
__79C7FC57_basetsd@h DB 01H
|
|
__1FEB9909_corecrt_memcpy_s@h DB 01H
|
|
__A751F051_corecrt_memory@h DB 01H
|
|
__9200769A_corecrt_wstring@h DB 01H
|
|
__32E5F013_string@h DB 01H
|
|
__D545DD43_guiddef@h DB 01H
|
|
__D5DDFBF3_winnt@h DB 01H
|
|
__439612F0_processthreadsapi@h DB 01H
|
|
__5733279A_memoryapi@h DB 01H
|
|
__D4435474_winerror@h DB 01H
|
|
__B3ED30D4_winbase@h DB 01H
|
|
__DB057BA3_winuser@h DB 01H
|
|
__A7113148_winioctl@h DB 01H
|
|
__B49664B7_stdlib@h DB 01H
|
|
__EC5BC72C_propidl@h DB 01H
|
|
__6DA674A0_oleauto@h DB 01H
|
|
__A118E6DC_stralign@h DB 01H
|
|
__A2143F22_corecrt_stdio_config@h DB 01H
|
|
__829E1958_corecrt_wstdio@h DB 01H
|
|
__6DFAE8B8_stdio@h DB 01H
|
|
__8906660C_vcruntime_new@h DB 01H
|
|
__C6E16F6F_corecrt_wconio@h DB 01H
|
|
__6D390390_corecrt_wio@h DB 01H
|
|
__1157D6BA_corecrt_wtime@h DB 01H
|
|
__1DC1E279_stat@h DB 01H
|
|
__93DC0B45_wchar@h DB 01H
|
|
__5DDA4519_cstddef DB 01H
|
|
__741AE07E_corecrt_math@h DB 01H
|
|
__F8119FB4_cstdlib DB 01H
|
|
__F2870A2C_limits DB 01H
|
|
__85A9AA98_type_traits DB 01H
|
|
__20BB4341_malloc@h DB 01H
|
|
__E75714E4_vcruntime_exception@h DB 01H
|
|
__E4152856_exception DB 01H
|
|
__4324C6B3_xutility DB 01H
|
|
__A58979FC_xmemory DB 01H
|
|
__AC6CB2D0_tuple DB 01H
|
|
__E0552A5D_xpolymorphic_allocator@h DB 01H
|
|
__D15AFF60_xstring DB 01H
|
|
__3AFA803E_string DB 01H
|
|
__0A4FAB91_cmath DB 01H
|
|
__6D5B120B_stdexcept DB 01H
|
|
__160863A3_xcall_once@h DB 01H
|
|
__99B256EE_atomic DB 01H
|
|
__A9557183_system_error DB 01H
|
|
__FB364CBD_vcruntime_typeinfo@h DB 01H
|
|
__33FB35AA_typeinfo DB 01H
|
|
__4E2906A2_memory DB 01H
|
|
__626C51AD_xfacet DB 01H
|
|
__2C72D662_xlocinfo DB 01H
|
|
__0E648B51_xlocale DB 01H
|
|
__1597A171_xiosbase DB 01H
|
|
__90E3ED46_xlocnum DB 01H
|
|
__165C22CB_ios DB 01H
|
|
__BB81F87E_xlocmon DB 01H
|
|
__A0B61CF9_time@h DB 01H
|
|
__886F7F70_xloctime DB 01H
|
|
__3DD0E9E9_xed-util@h DB 01H
|
|
__209FD46F_xed-iform-map@h DB 01H
|
|
__4E05E119_xed-inst@h DB 01H
|
|
__0607FC5A_xed-flags@h DB 01H
|
|
__B4910D57_xed-operand-accessors@h DB 01H
|
|
__8663E876_xed-state@h DB 01H
|
|
__BB5B4FF8_xed-encode@h DB 01H
|
|
__21860875_xed-encoder-hl@h DB 01H
|
|
__F7815311_xed-decoded-inst-api@h DB 01H
|
|
__4031338C_Main@cpp DB 01H
|
|
__7EA464AF_istream DB 01H
|
|
__1D745195_ostream DB 01H
|
|
__6FFBAAB7_streambuf DB 01H
|
|
__528871F3_iterator DB 01H
|
|
__3E6EDFAA_iosfwd DB 01H
|
|
__CF1C1A3F_utility DB 01H
|
|
__38038D2D_xstddef DB 01H
|
|
__EE19A480_xatomic@h DB 01H
|
|
__8266A2FD_iomanip DB 01H
|
|
msvcjmc ENDS
|
|
_DATA SEGMENT
|
|
?TestBuffer@@3PAEA DB 048H ; TestBuffer
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 0ebH
|
|
DB 0eH
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 07eH
|
|
DB 06H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 048H
|
|
DB 033H
|
|
DB 0c0H
|
|
DB 0ebH
|
|
DB 0f8H
|
|
DB 050H
|
|
DB 048H
|
|
DB 0b8H
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0ffH
|
|
DB 0fH
|
|
DB 048H
|
|
DB 087H
|
|
DB 04H
|
|
DB 024H
|
|
DB 0c3H
|
|
?meme2@@3PAEA DB 0c3H ; meme2
|
|
ORG $+1
|
|
?TestBufferSize@@3KA DD 02eH ; TestBufferSize
|
|
?meme1@@3PAEA DB 0b8H ; meme1
|
|
DB 0deH
|
|
DB 0c0H
|
|
DB 0acH
|
|
DB 0eH
|
|
_DATA ENDS
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX_K@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ; __empty_global_delete
|
|
PUBLIC __local_stdio_printf_options
|
|
PUBLIC _vfprintf_l
|
|
PUBLIC printf
|
|
PUBLIC wmemcpy
|
|
PUBLIC ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
PUBLIC ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
PUBLIC ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
|
|
PUBLIC ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
PUBLIC ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
|
|
PUBLIC ?hex@std@@YAAEAVios_base@1@AEAV21@@Z ; std::hex
|
|
PUBLIC ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
|
|
PUBLIC ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
|
|
PUBLIC ?MakeExecutableBuffer@@YAPEAXPEAXK@Z ; MakeExecutableBuffer
|
|
PUBLIC main
|
|
PUBLIC ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
|
|
PUBLIC ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
PUBLIC ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ; std::setfill<char>
|
|
PUBLIC ??0?$_Fillobj@D@std@@QEAA@D@Z ; std::_Fillobj<char>::_Fillobj<char>
|
|
PUBLIC ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ; std::operator<<<char,std::char_traits<char>,char>
|
|
PUBLIC ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
PUBLIC ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
PUBLIC ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
PUBLIC ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
PUBLIC ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
PUBLIC __JustMyCode_Default
|
|
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
PUBLIC ??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
|
|
PUBLIC ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA ; `std::_Maklocwcs'::`1'::__LINE__Var
|
|
PUBLIC ??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
|
|
PUBLIC ??_C@_05PDJBBECF@pause@ ; `string'
|
|
PUBLIC ??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@ ; `string'
|
|
PUBLIC ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ ; `string'
|
|
PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string'
|
|
EXTRN ??2@YAPEAX_K@Z:PROC ; operator new
|
|
EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete
|
|
EXTRN memcpy:PROC
|
|
EXTRN __imp_wcslen:PROC
|
|
EXTRN strlen:PROC
|
|
EXTRN __imp_VirtualAlloc:PROC
|
|
EXTRN __imp_srand:PROC
|
|
EXTRN __imp_rand:PROC
|
|
EXTRN __imp_system:PROC
|
|
EXTRN __imp___acrt_iob_func:PROC
|
|
EXTRN __imp___stdio_common_vfprintf:PROC
|
|
EXTRN __imp__calloc_dbg:PROC
|
|
EXTRN ?uncaught_exception@std@@YA_NXZ:PROC ; std::uncaught_exception
|
|
EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc
|
|
EXTRN _Mbrtowc:PROC
|
|
EXTRN __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ:PROC
|
|
EXTRN __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ:PROC
|
|
EXTRN __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ:PROC
|
|
EXTRN __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ:PROC
|
|
EXTRN __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ:PROC
|
|
EXTRN __imp_?good@ios_base@std@@QEBA_NXZ:PROC
|
|
EXTRN __imp_?flags@ios_base@std@@QEBAHXZ:PROC
|
|
EXTRN __imp_?setf@ios_base@std@@QEAAHHH@Z:PROC
|
|
EXTRN __imp_?width@ios_base@std@@QEBA_JXZ:PROC
|
|
EXTRN __imp_?width@ios_base@std@@QEAA_J_J@Z:PROC
|
|
EXTRN __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z:PROC
|
|
EXTRN __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z:PROC
|
|
EXTRN __imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ:PROC
|
|
EXTRN __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ:PROC
|
|
EXTRN __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ:PROC
|
|
EXTRN __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z:PROC
|
|
EXTRN __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ:PROC
|
|
EXTRN __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z:PROC
|
|
EXTRN __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z:PROC
|
|
EXTRN __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ:PROC
|
|
EXTRN __imp__time64:PROC
|
|
EXTRN ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z:PROC ; std::setw
|
|
EXTRN xed_tables_init:PROC
|
|
EXTRN ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
EXTRN ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z:PROC ; NcAppendToBlock
|
|
EXTRN ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z:PROC ; NcInsertBlockAfter
|
|
EXTRN ?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z:PROC ; NcAssemble
|
|
EXTRN ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z:PROC ; JitEmitPreRipMov
|
|
EXTRN ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z:PROC ; JitEmitPostRipMov
|
|
EXTRN _RTC_CheckStackVars:PROC
|
|
EXTRN _RTC_InitBase:PROC
|
|
EXTRN _RTC_Shutdown:PROC
|
|
EXTRN __CheckForDebuggerJustMyCode:PROC
|
|
EXTRN __CxxFrameHandler4:PROC
|
|
EXTRN __GSHandlerCheck:PROC
|
|
EXTRN __GSHandlerCheck_EH4:PROC
|
|
EXTRN __security_check_cookie:PROC
|
|
EXTRN __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A:BYTE
|
|
EXTRN __security_cookie:QWORD
|
|
; COMDAT ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
|
|
_BSS SEGMENT
|
|
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
_BSS ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3
|
|
DD imagerel $LN3+65
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+70
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+70
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+75
|
|
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$__local_stdio_printf_options DD imagerel $LN3
|
|
DD imagerel $LN3+59
|
|
DD imagerel $unwind$__local_stdio_printf_options
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$_vfprintf_l DD imagerel $LN3
|
|
DD imagerel $LN3+126
|
|
DD imagerel $unwind$_vfprintf_l
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$printf DD imagerel $LN3
|
|
DD imagerel $LN3+214
|
|
DD imagerel $unwind$printf
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$wmemcpy DD imagerel $LN3
|
|
DD imagerel $LN3+106
|
|
DD imagerel $unwind$wmemcpy
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+118
|
|
DD imagerel $unwind$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DD imagerel $LN3
|
|
DD imagerel $LN3+57
|
|
DD imagerel $unwind$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD imagerel $LN12
|
|
DD imagerel $LN12+584
|
|
DD imagerel $unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD imagerel $LN4
|
|
DD imagerel $LN4+165
|
|
DD imagerel $unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+223
|
|
DD imagerel $unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?hex@std@@YAAEAVios_base@1@AEAV21@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+95
|
|
DD imagerel $unwind$?hex@std@@YAAEAVios_base@1@AEAV21@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$time DD imagerel time
|
|
DD imagerel time+77
|
|
DD imagerel $unwind$time
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5
|
|
DD imagerel $LN5+379
|
|
DD imagerel $unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5
|
|
DD imagerel $LN5+379
|
|
DD imagerel $unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?MakeExecutableBuffer@@YAPEAXPEAXK@Z DD imagerel $LN4
|
|
DD imagerel $LN4+136
|
|
DD imagerel $unwind$?MakeExecutableBuffer@@YAPEAXPEAXK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$main DD imagerel $LN19
|
|
DD imagerel $LN19+1068
|
|
DD imagerel $unwind$main
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$main$dtor$0 DD imagerel main$dtor$0
|
|
DD imagerel main$dtor$0+44
|
|
DD imagerel $unwind$main$dtor$0
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$main$dtor$1 DD imagerel main$dtor$1
|
|
DD imagerel main$dtor$1+44
|
|
DD imagerel $unwind$main$dtor$1
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD imagerel $LN23
|
|
DD imagerel $LN23+1095
|
|
DD imagerel $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+36
|
|
DD imagerel $unwind$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+91
|
|
DD imagerel $unwind$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+140
|
|
DD imagerel $unwind$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z DD imagerel $LN3
|
|
DD imagerel $LN3+94
|
|
DD imagerel $unwind$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Fillobj@D@std@@QEAA@D@Z DD imagerel $LN3
|
|
DD imagerel $LN3+91
|
|
DD imagerel $unwind$??0?$_Fillobj@D@std@@QEAA@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+133
|
|
DD imagerel $unwind$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN4
|
|
DD imagerel $LN4+171
|
|
DD imagerel $unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN4
|
|
DD imagerel $LN4+143
|
|
DD imagerel $unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+284
|
|
DD imagerel $unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA+39
|
|
DD imagerel $unwind$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN6
|
|
DD imagerel $LN6+139
|
|
DD imagerel $unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ DD imagerel $LN3
|
|
DD imagerel $LN3+75
|
|
DD imagerel $unwind$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
|
|
pdata ENDS
|
|
; COMDAT rtc$TMZ
|
|
rtc$TMZ SEGMENT
|
|
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
|
|
rtc$TMZ ENDS
|
|
; COMDAT rtc$IMZ
|
|
rtc$IMZ SEGMENT
|
|
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
|
|
rtc$IMZ ENDS
|
|
; COMDAT ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
|
|
CONST SEGMENT
|
|
??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ DB ':'
|
|
DB 00H, 'A', 00H, 'M', 00H, ':', 00H, 'a', 00H, 'm', 00H, ':', 00H
|
|
DB 'P', 00H, 'M', 00H, ':', 00H, 'p', 00H, 'm', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
|
|
CONST SEGMENT
|
|
??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ DB ':AM:am:PM:pm', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
|
|
CONST SEGMENT
|
|
??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@ DB 'The numba was: %X', 0aH
|
|
DB 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_05PDJBBECF@pause@
|
|
CONST SEGMENT
|
|
??_C@_05PDJBBECF@pause@ DB 'pause', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
CONST SEGMENT
|
|
??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
|
|
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
|
|
DB 'ols\MSVC\14.27.29110\include\xlocnum', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
|
|
_DATA SEGMENT
|
|
?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA DD 05aH ; `std::_Maklocwcs'::`1'::__LINE__Var
|
|
_DATA ENDS
|
|
; COMDAT ??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
CONST SEGMENT
|
|
??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
|
|
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
|
|
DB 'ols\MSVC\14.27.29110\include\xlocale', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ DD 025052a01H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 060H
|
|
DD imagerel $ip2state$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 025052a19H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 09eH
|
|
DB 02H
|
|
DB 0f1H, 02H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 028H
|
|
DD imagerel $stateUnwindMap$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
DD imagerel $ip2state$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025052f11H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 060H
|
|
DD imagerel $ip2state$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 025052a19H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025052f01H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z DD 025052f01H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Fillobj@D@std@@QEAA@D@Z DD 025052e01H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z DD 025052e01H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z DD 025052f01H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 0aH
|
|
DB 00H
|
|
DB 00H
|
|
DB 0c6H
|
|
DB 02H
|
|
DB 011H, 02H
|
|
DB 04H
|
|
DB 0adH, 0aH
|
|
DB 02H
|
|
DB 0ecH
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$handlerMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 02H
|
|
DB 01H
|
|
DB 080H
|
|
DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 02H
|
|
DB 02H
|
|
DB 02H
|
|
DB 04H
|
|
DD imagerel $handlerMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 06H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DB 028H
|
|
DB 030H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 038H
|
|
DD imagerel $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD imagerel $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD imagerel $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 025053f19H
|
|
DD 01122317H
|
|
DD 0700b004bH
|
|
DD 0500aH
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD 0243H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcName$0 DB 05fH ; std::operator<<<std::char_traits<char> >
|
|
DB 04fH
|
|
DB 06bH
|
|
DB 00H
|
|
ORG $+12
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcVarDesc DD 048H ; std::operator<<<std::char_traits<char> >
|
|
DD 010H
|
|
DQ FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcName$0
|
|
ORG $+48
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcFrameData DD 01H ; std::operator<<<std::char_traits<char> >
|
|
DD 00H
|
|
DQ FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$main$dtor$1 DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$main$dtor$0 DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$main DB 0aH
|
|
DB 00H
|
|
DB 00H
|
|
DB 0c0H
|
|
DB 02H
|
|
DB 0a4H
|
|
DB 00H
|
|
DB '8'
|
|
DB 04H
|
|
DB 0a4H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$main DB 04H
|
|
DB 0eH
|
|
DD imagerel main$dtor$0
|
|
DB 036H
|
|
DD imagerel main$dtor$1
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$main DB 028H
|
|
DD imagerel $stateUnwindMap$main
|
|
DD imagerel $ip2state$main
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$main DD 035052f19H
|
|
DD 010a330fH
|
|
DD 07003008bH
|
|
DD 05002H
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$main
|
|
DD 044aH
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
main$rtcName$0 DB 041H
|
|
DB 073H
|
|
DB 06dH
|
|
DB 04cH
|
|
DB 065H
|
|
DB 06eH
|
|
DB 00H
|
|
ORG $+9
|
|
main$rtcVarDesc DD 0134H
|
|
DD 04H
|
|
DQ FLAT:main$rtcName$0
|
|
ORG $+48
|
|
main$rtcFrameData DD 01H
|
|
DD 00H
|
|
DQ FLAT:main$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?MakeExecutableBuffer@@YAPEAXPEAXK@Z DD 025052e01H
|
|
DD 01122317H
|
|
DD 0700b0021H
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025063501H
|
|
DD 0119231eH
|
|
DD 070120026H
|
|
DD 050106011H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025063501H
|
|
DD 0119231eH
|
|
DD 070120026H
|
|
DD 050106011H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$time DD 025052a01H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?hex@std@@YAAEAVios_base@1@AEAV21@@Z DD 025052a01H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD 035053401H
|
|
DD 0118331dH
|
|
DD 07011002bH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD 035052a01H
|
|
DD 010e3313H
|
|
DD 070070027H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD 035054519H
|
|
DD 0118331dH
|
|
DD 070110047H
|
|
DD 05010H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0228H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$0 DB 05fH ; std::_Maklocstr<wchar_t>
|
|
DB 057H
|
|
DB 063H
|
|
DB 00H
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1 DB 05fH ; std::_Maklocstr<wchar_t>
|
|
DB 04dH
|
|
DB 062H
|
|
DB 073H
|
|
DB 074H
|
|
DB 031H
|
|
DB 00H
|
|
ORG $+1
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2 DB 05fH ; std::_Maklocstr<wchar_t>
|
|
DB 04dH
|
|
DB 062H
|
|
DB 073H
|
|
DB 074H
|
|
DB 032H
|
|
DB 00H
|
|
ORG $+13
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc DD 0158H ; std::_Maklocstr<wchar_t>
|
|
DD 08H
|
|
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2
|
|
DD 0f8H
|
|
DD 08H
|
|
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1
|
|
DD 0d4H
|
|
DD 02H
|
|
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$0
|
|
ORG $+144
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData DD 03H ; std::_Maklocstr<wchar_t>
|
|
DD 00H
|
|
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DB 060H
|
|
DD imagerel $ip2state$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DD 025051e19H
|
|
DD 010a230fH
|
|
DD 07003001dH
|
|
DD 05002H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DB 060H
|
|
DD imagerel $ip2state$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DD 025052f19H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$wmemcpy DD 025053401H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$printf DD 025054a19H
|
|
DD 011d2322H
|
|
DD 07016002bH
|
|
DD 05015H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0148H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
printf$rtcName$0 DB 05fH
|
|
DB 041H
|
|
DB 072H
|
|
DB 067H
|
|
DB 04cH
|
|
DB 069H
|
|
DB 073H
|
|
DB 074H
|
|
DB 00H
|
|
ORG $+7
|
|
printf$rtcVarDesc DD 048H
|
|
DD 08H
|
|
DQ FLAT:printf$rtcName$0
|
|
ORG $+48
|
|
printf$rtcFrameData DD 01H
|
|
DD 00H
|
|
DQ FLAT:printf$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$_vfprintf_l DD 035053901H
|
|
DD 011d3322H
|
|
DD 07016001fH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$__local_stdio_printf_options DD 025051e01H
|
|
DD 010a230fH
|
|
DD 07003001dH
|
|
DD 05002H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DB 060H
|
|
DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 025053419H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DB 060H
|
|
DD imagerel $ip2state$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 025052f19H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?__empty_global_delete@@YAXPEAX_K@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?__empty_global_delete@@YAXPEAX_K@Z DB 060H
|
|
DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX_K@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 025052f19H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX_K@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?__empty_global_delete@@YAXPEAX@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?__empty_global_delete@@YAXPEAX@Z DB 060H
|
|
DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 025052a19H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX@Z
|
|
xdata ENDS
|
|
; Function compile flags: /Odt
|
|
; COMDAT __JustMyCode_Default
|
|
_TEXT SEGMENT
|
|
__JustMyCode_Default PROC ; COMDAT
|
|
00000 c2 00 00 ret 0
|
|
__JustMyCode_Default ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool, COMDAT
|
|
|
|
; 125 : explicit __CLR_OR_THIS_CALL operator bool() const {
|
|
|
|
$LN3:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 126 : return _Ok;
|
|
|
|
00036 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003d 0f b6 40 08 movzx eax, BYTE PTR [rax+8]
|
|
|
|
; 127 : }
|
|
|
|
00041 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00048 5f pop rdi
|
|
00049 5d pop rbp
|
|
0004a c3 ret 0
|
|
??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
_Zero_uncaught_exceptions$ = 4
|
|
tv72 = 212
|
|
this$ = 256
|
|
??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry, COMDAT
|
|
|
|
; 110 : __CLR_OR_THIS_CALL ~sentry() noexcept {
|
|
|
|
$LN6:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 42 00 00 00 mov ecx, 66 ; 00000042H
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 111 : #if !_HAS_EXCEPTIONS
|
|
; 112 : const bool _Zero_uncaught_exceptions = true;
|
|
; 113 : #elif _HAS_DEPRECATED_UNCAUGHT_EXCEPTION
|
|
; 114 : const bool _Zero_uncaught_exceptions = !_STD uncaught_exception(); // TRANSITION, ArchivedOS-12000909
|
|
|
|
00036 e8 00 00 00 00 call ?uncaught_exception@std@@YA_NXZ ; std::uncaught_exception
|
|
0003b 0f b6 c0 movzx eax, al
|
|
0003e 85 c0 test eax, eax
|
|
00040 75 09 jne SHORT $LN4@sentry
|
|
00042 c6 85 d4 00 00
|
|
00 01 mov BYTE PTR tv72[rbp], 1
|
|
00049 eb 07 jmp SHORT $LN5@sentry
|
|
$LN4@sentry:
|
|
0004b c6 85 d4 00 00
|
|
00 00 mov BYTE PTR tv72[rbp], 0
|
|
$LN5@sentry:
|
|
00052 0f b6 85 d4 00
|
|
00 00 movzx eax, BYTE PTR tv72[rbp]
|
|
00059 88 45 04 mov BYTE PTR _Zero_uncaught_exceptions$[rbp], al
|
|
|
|
; 115 : #else // ^^^ _HAS_DEPRECATED_UNCAUGHT_EXCEPTION / !_HAS_DEPRECATED_UNCAUGHT_EXCEPTION vvv
|
|
; 116 : const bool _Zero_uncaught_exceptions = _STD uncaught_exceptions() == 0;
|
|
; 117 : #endif // !_HAS_DEPRECATED_UNCAUGHT_EXCEPTION
|
|
; 118 :
|
|
; 119 : if (_Zero_uncaught_exceptions) {
|
|
|
|
0005c 0f b6 45 04 movzx eax, BYTE PTR _Zero_uncaught_exceptions$[rbp]
|
|
00060 85 c0 test eax, eax
|
|
00062 74 10 je SHORT $LN2@sentry
|
|
|
|
; 120 : this->_Myostr._Osfx();
|
|
|
|
00064 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0006b 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
0006e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
|
|
$LN2@sentry:
|
|
|
|
; 121 : }
|
|
; 122 : }
|
|
|
|
00074 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0007b e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00080 90 npad 1
|
|
00081 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00088 5f pop rdi
|
|
00089 5d pop rbp
|
|
0008a c3 ret 0
|
|
??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
_TEXT SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry, COMDAT
|
|
|
|
; 92 : explicit __CLR_OR_THIS_CALL sentry(basic_ostream& _Ostr) : _Sentry_base(_Ostr) {
|
|
|
|
$LN7:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 42 00 00 00 mov ecx, 66 ; 00000042H
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0003b 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Ostr$[rbp]
|
|
00042 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00049 e8 00 00 00 00 call ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
0004e 90 npad 1
|
|
|
|
; 93 : if (!_Ostr.good()) {
|
|
|
|
0004f 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00056 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00059 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0005d 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00064 48 03 c8 add rcx, rax
|
|
00067 48 8b c1 mov rax, rcx
|
|
0006a 48 8b c8 mov rcx, rax
|
|
0006d ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?good@ios_base@std@@QEBA_NXZ
|
|
00073 0f b6 c0 movzx eax, al
|
|
00076 85 c0 test eax, eax
|
|
00078 75 10 jne SHORT $LN2@sentry
|
|
|
|
; 94 : _Ok = false;
|
|
|
|
0007a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00081 c6 40 08 00 mov BYTE PTR [rax+8], 0
|
|
|
|
; 95 : return;
|
|
|
|
00085 e9 81 00 00 00 jmp $LN1@sentry
|
|
$LN2@sentry:
|
|
|
|
; 96 : }
|
|
; 97 :
|
|
; 98 : const auto _Tied = _Ostr.tie();
|
|
|
|
0008a 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00091 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00094 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00098 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0009f 48 03 c8 add rcx, rax
|
|
000a2 48 8b c1 mov rax, rcx
|
|
000a5 48 8b c8 mov rcx, rax
|
|
000a8 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
|
|
000ae 48 89 45 08 mov QWORD PTR _Tied$[rbp], rax
|
|
|
|
; 99 : if (!_Tied || _Tied == &_Ostr) {
|
|
|
|
000b2 48 83 7d 08 00 cmp QWORD PTR _Tied$[rbp], 0
|
|
000b7 74 0d je SHORT $LN4@sentry
|
|
000b9 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000c0 48 39 45 08 cmp QWORD PTR _Tied$[rbp], rax
|
|
000c4 75 0d jne SHORT $LN3@sentry
|
|
$LN4@sentry:
|
|
|
|
; 100 : _Ok = true;
|
|
|
|
000c6 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000cd c6 40 08 01 mov BYTE PTR [rax+8], 1
|
|
|
|
; 101 : return;
|
|
|
|
000d1 eb 38 jmp SHORT $LN1@sentry
|
|
$LN3@sentry:
|
|
|
|
; 102 : }
|
|
; 103 :
|
|
; 104 :
|
|
; 105 : _Tied->flush();
|
|
|
|
000d3 48 8b 4d 08 mov rcx, QWORD PTR _Tied$[rbp]
|
|
000d7 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
|
|
|
|
; 106 : _Ok = _Ostr.good(); // store test only after flushing tie
|
|
|
|
000dd 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000e4 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000e7 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000eb 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000f2 48 03 c8 add rcx, rax
|
|
000f5 48 8b c1 mov rax, rcx
|
|
000f8 48 8b c8 mov rcx, rax
|
|
000fb ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?good@ios_base@std@@QEBA_NXZ
|
|
00101 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00108 88 41 08 mov BYTE PTR [rcx+8], al
|
|
$LN1@sentry:
|
|
|
|
; 107 : }
|
|
|
|
0010b 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00112 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00119 5f pop rdi
|
|
0011a 5d pop rbp
|
|
0011b c3 ret 0
|
|
??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
_Rdbuf$ = 8
|
|
tv72 = 216
|
|
this$ = 256
|
|
??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base, COMDAT
|
|
|
|
; 78 : __CLR_OR_THIS_CALL ~_Sentry_base() noexcept { // destroy after unlocking
|
|
|
|
$LN4:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 42 00 00 00 mov ecx, 66 ; 00000042H
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 79 : const auto _Rdbuf = _Myostr.rdbuf();
|
|
|
|
00036 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003d 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00040 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv72[rbp], rax
|
|
00047 48 8b 85 d8 00
|
|
00 00 mov rax, QWORD PTR tv72[rbp]
|
|
0004e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00051 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00055 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR tv72[rbp]
|
|
0005c 48 03 c8 add rcx, rax
|
|
0005f 48 8b c1 mov rax, rcx
|
|
00062 48 8b c8 mov rcx, rax
|
|
00065 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
0006b 48 89 45 08 mov QWORD PTR _Rdbuf$[rbp], rax
|
|
|
|
; 80 : if (_Rdbuf) {
|
|
|
|
0006f 48 83 7d 08 00 cmp QWORD PTR _Rdbuf$[rbp], 0
|
|
00074 74 0f je SHORT $LN2@Sentry_bas
|
|
|
|
; 81 : _Rdbuf->_Unlock();
|
|
|
|
00076 48 8b 45 08 mov rax, QWORD PTR _Rdbuf$[rbp]
|
|
0007a 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0007d 48 8b 4d 08 mov rcx, QWORD PTR _Rdbuf$[rbp]
|
|
00081 ff 50 10 call QWORD PTR [rax+16]
|
|
00084 90 npad 1
|
|
$LN2@Sentry_bas:
|
|
|
|
; 82 : }
|
|
; 83 : }
|
|
|
|
00085 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0008c 5f pop rdi
|
|
0008d 5d pop rbp
|
|
0008e c3 ret 0
|
|
??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
_TEXT SEGMENT
|
|
_Rdbuf$ = 8
|
|
tv73 = 216
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base, COMDAT
|
|
|
|
; 71 : __CLR_OR_THIS_CALL _Sentry_base(basic_ostream& _Ostr) : _Myostr(_Ostr) { // lock the stream buffer, if there
|
|
|
|
$LN4:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 42 00 00 00 mov ecx, 66 ; 00000042H
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0003b 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00042 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00049 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 72 : const auto _Rdbuf = _Myostr.rdbuf();
|
|
|
|
0004c 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00053 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00056 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv73[rbp], rax
|
|
0005d 48 8b 85 d8 00
|
|
00 00 mov rax, QWORD PTR tv73[rbp]
|
|
00064 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00067 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0006b 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR tv73[rbp]
|
|
00072 48 03 c8 add rcx, rax
|
|
00075 48 8b c1 mov rax, rcx
|
|
00078 48 8b c8 mov rcx, rax
|
|
0007b ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
00081 48 89 45 08 mov QWORD PTR _Rdbuf$[rbp], rax
|
|
|
|
; 73 : if (_Rdbuf) {
|
|
|
|
00085 48 83 7d 08 00 cmp QWORD PTR _Rdbuf$[rbp], 0
|
|
0008a 74 0e je SHORT $LN2@Sentry_bas
|
|
|
|
; 74 : _Rdbuf->_Lock();
|
|
|
|
0008c 48 8b 45 08 mov rax, QWORD PTR _Rdbuf$[rbp]
|
|
00090 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00093 48 8b 4d 08 mov rcx, QWORD PTR _Rdbuf$[rbp]
|
|
00097 ff 50 08 call QWORD PTR [rax+8]
|
|
$LN2@Sentry_bas:
|
|
|
|
; 75 : }
|
|
; 76 : }
|
|
|
|
0009a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000a1 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
000a8 5f pop rdi
|
|
000a9 5d pop rbp
|
|
000aa c3 ret 0
|
|
??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\iomanip
|
|
; COMDAT ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z
|
|
_TEXT SEGMENT
|
|
tv79 = 192
|
|
_Ostr$ = 240
|
|
_Manip$ = 248
|
|
??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z PROC ; std::operator<<<char,std::char_traits<char>,char>, COMDAT
|
|
|
|
; 49 : const _Fillobj<_Elem2>& _Manip) { // set fill character in output stream
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 18
|
|
01 00 00 mov rcx, QWORD PTR [rsp+280]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 50 : static_assert(is_same_v<_Elem, _Elem2>, "wrong character type for setfill");
|
|
; 51 :
|
|
; 52 : _Ostr.fill(_Manip._Fill);
|
|
|
|
0003b 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00042 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00045 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00049 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00050 48 03 c8 add rcx, rax
|
|
00053 48 8b c1 mov rax, rcx
|
|
00056 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
0005d 48 8b 85 f8 00
|
|
00 00 mov rax, QWORD PTR _Manip$[rbp]
|
|
00064 0f b6 10 movzx edx, BYTE PTR [rax]
|
|
00067 48 8b 8d c0 00
|
|
00 00 mov rcx, QWORD PTR tv79[rbp]
|
|
0006e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z
|
|
|
|
; 53 : return _Ostr;
|
|
|
|
00074 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
|
|
; 54 : }
|
|
|
|
0007b 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00082 5f pop rdi
|
|
00083 5d pop rbp
|
|
00084 c3 ret 0
|
|
??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ENDP ; std::operator<<<char,std::char_traits<char>,char>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\iomanip
|
|
; COMDAT ??0?$_Fillobj@D@std@@QEAA@D@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Ch$ = 232
|
|
??0?$_Fillobj@D@std@@QEAA@D@Z PROC ; std::_Fillobj<char>::_Fillobj<char>, COMDAT
|
|
|
|
; 27 : _Fillobj(_Elem _Ch) : _Fill(_Ch) {}
|
|
|
|
$LN3:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8b fc mov rdi, rsp
|
|
0001a b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00024 f3 ab rep stosd
|
|
00026 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
|
|
00035 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0003a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00041 0f b6 8d e8 00
|
|
00 00 movzx ecx, BYTE PTR _Ch$[rbp]
|
|
00048 88 08 mov BYTE PTR [rax], cl
|
|
0004a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00051 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00058 5f pop rdi
|
|
00059 5d pop rbp
|
|
0005a c3 ret 0
|
|
??0?$_Fillobj@D@std@@QEAA@D@Z ENDP ; std::_Fillobj<char>::_Fillobj<char>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\iomanip
|
|
; COMDAT ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z
|
|
_TEXT SEGMENT
|
|
__$ReturnUdt$ = 224
|
|
_Ch$ = 232
|
|
??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z PROC ; std::setfill<char>, COMDAT
|
|
|
|
; 34 : _NODISCARD _Fillobj<_Elem> setfill(_Elem _Ch) {
|
|
|
|
$LN3:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8b fc mov rdi, rsp
|
|
0001a b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00024 f3 ab rep stosd
|
|
00026 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
|
|
00035 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 35 : return _Fillobj<_Elem>(_Ch);
|
|
|
|
0003a 0f b6 95 e8 00
|
|
00 00 movzx edx, BYTE PTR _Ch$[rbp]
|
|
00041 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR __$ReturnUdt$[rbp]
|
|
00048 e8 00 00 00 00 call ??0?$_Fillobj@D@std@@QEAA@D@Z ; std::_Fillobj<char>::_Fillobj<char>
|
|
0004d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR __$ReturnUdt$[rbp]
|
|
|
|
; 36 : }
|
|
|
|
00054 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005b 5f pop rdi
|
|
0005c 5d pop rbp
|
|
0005d c3 ret 0
|
|
??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ENDP ; std::setfill<char>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\iomanip
|
|
; COMDAT ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z
|
|
_TEXT SEGMENT
|
|
tv79 = 192
|
|
_Ostr$ = 240
|
|
_Manip$ = 248
|
|
??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z PROC ; std::operator<<<char,std::char_traits<char>,__int64>, COMDAT
|
|
|
|
; 423 : const _Smanip<_Arg>& _Manip) { // insert by calling function with output stream and argument
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 18
|
|
01 00 00 mov rcx, QWORD PTR [rsp+280]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 424 : (*_Manip._Pfun)(_Ostr, _Manip._Manarg);
|
|
|
|
0003b 48 8b 85 f8 00
|
|
00 00 mov rax, QWORD PTR _Manip$[rbp]
|
|
00042 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00045 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
0004c 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00053 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00056 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0005a 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00061 48 03 c8 add rcx, rax
|
|
00064 48 8b c1 mov rax, rcx
|
|
00067 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Manip$[rbp]
|
|
0006e 48 8b 51 08 mov rdx, QWORD PTR [rcx+8]
|
|
00072 48 8b c8 mov rcx, rax
|
|
00075 ff 95 c0 00 00
|
|
00 call QWORD PTR tv79[rbp]
|
|
|
|
; 425 : return _Ostr;
|
|
|
|
0007b 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
|
|
; 426 : }
|
|
|
|
00082 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00089 5f pop rdi
|
|
0008a 5d pop rbp
|
|
0008b c3 ret 0
|
|
??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ENDP ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ostream
|
|
; COMDAT ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
_TEXT SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z PROC ; std::operator<<<std::char_traits<char> >, COMDAT
|
|
|
|
; 780 : basic_ostream<char, _Traits>& _Ostr, char _Ch) { // insert a char into char stream
|
|
|
|
$LN23:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec 58 02
|
|
00 00 sub rsp, 600 ; 00000258H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8b fc mov rdi, rsp
|
|
0001a b9 96 00 00 00 mov ecx, 150 ; 00000096H
|
|
0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00024 f3 ab rep stosd
|
|
00026 48 8b 8c 24 78
|
|
02 00 00 mov rcx, QWORD PTR [rsp+632]
|
|
0002e 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00035 48 33 c5 xor rax, rbp
|
|
00038 48 89 85 20 02
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0003f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
|
|
00046 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 781 : using _Elem = char;
|
|
; 782 : using _Myos = basic_ostream<_Elem, _Traits>;
|
|
; 783 :
|
|
; 784 : ios_base::iostate _State = ios_base::goodbit;
|
|
|
|
0004b c7 45 04 00 00
|
|
00 00 mov DWORD PTR _State$[rbp], 0
|
|
|
|
; 785 : const typename _Myos::sentry _Ok(_Ostr);
|
|
|
|
00052 48 8b 95 50 02
|
|
00 00 mov rdx, QWORD PTR _Ostr$[rbp]
|
|
00059 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
0005d e8 00 00 00 00 call ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
00062 90 npad 1
|
|
|
|
; 786 :
|
|
; 787 : if (_Ok) { // state okay, insert
|
|
|
|
00063 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00067 e8 00 00 00 00 call ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
0006c 0f b6 c0 movzx eax, al
|
|
0006f 85 c0 test eax, eax
|
|
00071 0f 84 1d 03 00
|
|
00 je $LN8@operator
|
|
|
|
; 788 : streamsize _Pad = _Ostr.width() <= 1 ? 0 : _Ostr.width() - 1;
|
|
|
|
00077 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0007e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00081 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00085 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0008c 48 03 c8 add rcx, rax
|
|
0008f 48 8b c1 mov rax, rcx
|
|
00092 48 8b c8 mov rcx, rax
|
|
00095 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEBA_JXZ
|
|
0009b 48 83 f8 01 cmp rax, 1
|
|
0009f 7f 0d jg SHORT $LN15@operator
|
|
000a1 48 c7 85 08 02
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv130[rbp], 0
|
|
000ac eb 2e jmp SHORT $LN16@operator
|
|
$LN15@operator:
|
|
000ae 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000b5 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000b8 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000bc 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000c3 48 03 c8 add rcx, rax
|
|
000c6 48 8b c1 mov rax, rcx
|
|
000c9 48 8b c8 mov rcx, rax
|
|
000cc ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEBA_JXZ
|
|
000d2 48 ff c8 dec rax
|
|
000d5 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
$LN16@operator:
|
|
000dc 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv130[rbp]
|
|
000e3 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
|
|
; 789 :
|
|
; 790 : _TRY_IO_BEGIN
|
|
; 791 : if ((_Ostr.flags() & ios_base::adjustfield) != ios_base::left) {
|
|
|
|
000e7 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000ee 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000f1 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000f5 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000fc 48 03 c8 add rcx, rax
|
|
000ff 48 8b c1 mov rax, rcx
|
|
00102 48 8b c8 mov rcx, rax
|
|
00105 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?flags@ios_base@std@@QEBAHXZ
|
|
0010b 89 85 04 02 00
|
|
00 mov DWORD PTR tv65[rbp], eax
|
|
00111 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR tv65[rbp]
|
|
00117 25 c0 01 00 00 and eax, 448 ; 000001c0H
|
|
0011c 83 f8 40 cmp eax, 64 ; 00000040H
|
|
0011f 0f 84 eb 00 00
|
|
00 je $LN10@operator
|
|
|
|
; 792 : for (; _State == ios_base::goodbit && 0 < _Pad; --_Pad) { // pad on left
|
|
|
|
00125 eb 0b jmp SHORT $LN4@operator
|
|
$LN2@operator:
|
|
00127 48 8b 45 58 mov rax, QWORD PTR _Pad$4[rbp]
|
|
0012b 48 ff c8 dec rax
|
|
0012e 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
$LN4@operator:
|
|
00132 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
00136 0f 85 d4 00 00
|
|
00 jne $LN10@operator
|
|
0013c 48 83 7d 58 00 cmp QWORD PTR _Pad$4[rbp], 0
|
|
00141 0f 8e c9 00 00
|
|
00 jle $LN10@operator
|
|
|
|
; 793 : if (_Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ostr.fill()))) {
|
|
|
|
00147 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0014e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00151 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00155 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0015c 48 03 c8 add rcx, rax
|
|
0015f 48 8b c1 mov rax, rcx
|
|
00162 48 8b c8 mov rcx, rax
|
|
00165 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
0016b 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv300[rbp], rax
|
|
00172 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv300[rbp]
|
|
00179 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv179[rbp], rax
|
|
00180 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00187 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0018a 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0018e 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00195 48 03 c8 add rcx, rax
|
|
00198 48 8b c1 mov rax, rcx
|
|
0019b 48 8b c8 mov rcx, rax
|
|
0019e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
|
|
001a4 88 85 18 02 00
|
|
00 mov BYTE PTR tv301[rbp], al
|
|
001aa 0f b6 85 18 02
|
|
00 00 movzx eax, BYTE PTR tv301[rbp]
|
|
001b1 88 85 19 02 00
|
|
00 mov BYTE PTR tv177[rbp], al
|
|
001b7 0f b6 95 19 02
|
|
00 00 movzx edx, BYTE PTR tv177[rbp]
|
|
001be 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv179[rbp]
|
|
001c5 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
001cb 89 85 1c 02 00
|
|
00 mov DWORD PTR tv302[rbp], eax
|
|
001d1 8b 85 1c 02 00
|
|
00 mov eax, DWORD PTR tv302[rbp]
|
|
001d7 89 85 34 01 00
|
|
00 mov DWORD PTR $T5[rbp], eax
|
|
001dd e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
001e2 89 85 54 01 00
|
|
00 mov DWORD PTR $T6[rbp], eax
|
|
001e8 48 8d 95 34 01
|
|
00 00 lea rdx, QWORD PTR $T5[rbp]
|
|
001ef 48 8d 8d 54 01
|
|
00 00 lea rcx, QWORD PTR $T6[rbp]
|
|
001f6 e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
001fb 0f b6 c0 movzx eax, al
|
|
001fe 85 c0 test eax, eax
|
|
00200 74 09 je SHORT $LN11@operator
|
|
|
|
; 794 : _State |= ios_base::badbit;
|
|
|
|
00202 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
00205 83 c8 04 or eax, 4
|
|
00208 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN11@operator:
|
|
|
|
; 795 : }
|
|
; 796 : }
|
|
|
|
0020b e9 17 ff ff ff jmp $LN2@operator
|
|
$LN10@operator:
|
|
|
|
; 797 : }
|
|
; 798 :
|
|
; 799 : if (_State == ios_base::goodbit && _Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ch))) {
|
|
|
|
00210 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
00214 0f 85 8d 00 00
|
|
00 jne $LN12@operator
|
|
0021a 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00221 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00224 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00228 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0022f 48 03 c8 add rcx, rax
|
|
00232 48 8b c1 mov rax, rcx
|
|
00235 48 8b c8 mov rcx, rax
|
|
00238 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
0023e 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv303[rbp], rax
|
|
00245 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv303[rbp]
|
|
0024c 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv204[rbp], rax
|
|
00253 0f b6 95 58 02
|
|
00 00 movzx edx, BYTE PTR _Ch$[rbp]
|
|
0025a 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv204[rbp]
|
|
00261 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
00267 89 85 18 02 00
|
|
00 mov DWORD PTR tv304[rbp], eax
|
|
0026d 8b 85 18 02 00
|
|
00 mov eax, DWORD PTR tv304[rbp]
|
|
00273 89 85 74 01 00
|
|
00 mov DWORD PTR $T7[rbp], eax
|
|
00279 e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
0027e 89 85 94 01 00
|
|
00 mov DWORD PTR $T8[rbp], eax
|
|
00284 48 8d 95 74 01
|
|
00 00 lea rdx, QWORD PTR $T7[rbp]
|
|
0028b 48 8d 8d 94 01
|
|
00 00 lea rcx, QWORD PTR $T8[rbp]
|
|
00292 e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
00297 0f b6 c0 movzx eax, al
|
|
0029a 85 c0 test eax, eax
|
|
0029c 74 09 je SHORT $LN12@operator
|
|
|
|
; 800 : _State |= ios_base::badbit;
|
|
|
|
0029e 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
002a1 83 c8 04 or eax, 4
|
|
002a4 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN12@operator:
|
|
|
|
; 801 : }
|
|
; 802 :
|
|
; 803 : for (; _State == ios_base::goodbit && 0 < _Pad; --_Pad) { // pad on right
|
|
|
|
002a7 eb 0b jmp SHORT $LN7@operator
|
|
$LN5@operator:
|
|
002a9 48 8b 45 58 mov rax, QWORD PTR _Pad$4[rbp]
|
|
002ad 48 ff c8 dec rax
|
|
002b0 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
$LN7@operator:
|
|
002b4 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
002b8 0f 85 d4 00 00
|
|
00 jne $LN6@operator
|
|
002be 48 83 7d 58 00 cmp QWORD PTR _Pad$4[rbp], 0
|
|
002c3 0f 8e c9 00 00
|
|
00 jle $LN6@operator
|
|
|
|
; 804 : if (_Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ostr.fill()))) {
|
|
|
|
002c9 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
002d0 48 8b 00 mov rax, QWORD PTR [rax]
|
|
002d3 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
002d7 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
002de 48 03 c8 add rcx, rax
|
|
002e1 48 8b c1 mov rax, rcx
|
|
002e4 48 8b c8 mov rcx, rax
|
|
002e7 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
002ed 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv305[rbp], rax
|
|
002f4 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv305[rbp]
|
|
002fb 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv245[rbp], rax
|
|
00302 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00309 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0030c 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00310 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00317 48 03 c8 add rcx, rax
|
|
0031a 48 8b c1 mov rax, rcx
|
|
0031d 48 8b c8 mov rcx, rax
|
|
00320 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
|
|
00326 88 85 18 02 00
|
|
00 mov BYTE PTR tv306[rbp], al
|
|
0032c 0f b6 85 18 02
|
|
00 00 movzx eax, BYTE PTR tv306[rbp]
|
|
00333 88 85 19 02 00
|
|
00 mov BYTE PTR tv243[rbp], al
|
|
00339 0f b6 95 19 02
|
|
00 00 movzx edx, BYTE PTR tv243[rbp]
|
|
00340 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv245[rbp]
|
|
00347 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
0034d 89 85 1c 02 00
|
|
00 mov DWORD PTR tv307[rbp], eax
|
|
00353 8b 85 1c 02 00
|
|
00 mov eax, DWORD PTR tv307[rbp]
|
|
00359 89 85 b4 01 00
|
|
00 mov DWORD PTR $T9[rbp], eax
|
|
0035f e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
00364 89 85 d4 01 00
|
|
00 mov DWORD PTR $T10[rbp], eax
|
|
0036a 48 8d 95 b4 01
|
|
00 00 lea rdx, QWORD PTR $T9[rbp]
|
|
00371 48 8d 8d d4 01
|
|
00 00 lea rcx, QWORD PTR $T10[rbp]
|
|
00378 e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
0037d 0f b6 c0 movzx eax, al
|
|
00380 85 c0 test eax, eax
|
|
00382 74 09 je SHORT $LN13@operator
|
|
|
|
; 805 : _State |= ios_base::badbit;
|
|
|
|
00384 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
00387 83 c8 04 or eax, 4
|
|
0038a 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN13@operator:
|
|
|
|
; 806 : }
|
|
; 807 : }
|
|
|
|
0038d e9 17 ff ff ff jmp $LN5@operator
|
|
$LN6@operator:
|
|
00392 eb 00 jmp SHORT $LN8@operator
|
|
$LN21@operator:
|
|
$LN8@operator:
|
|
|
|
; 808 : _CATCH_IO_(ios_base, _Ostr)
|
|
; 809 : }
|
|
; 810 :
|
|
; 811 : _Ostr.width(0);
|
|
|
|
00394 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0039b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0039e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
003a2 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
003a9 48 03 c8 add rcx, rax
|
|
003ac 48 8b c1 mov rax, rcx
|
|
003af 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv281[rbp], rax
|
|
003b6 33 d2 xor edx, edx
|
|
003b8 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv281[rbp]
|
|
003bf ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEAA_J_J@Z
|
|
|
|
; 812 : _Ostr.setstate(_State);
|
|
|
|
003c5 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
003cc 48 8b 00 mov rax, QWORD PTR [rax]
|
|
003cf 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
003d3 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
003da 48 03 c8 add rcx, rax
|
|
003dd 48 8b c1 mov rax, rcx
|
|
003e0 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv295[rbp], rax
|
|
003e7 45 33 c0 xor r8d, r8d
|
|
003ea 8b 55 04 mov edx, DWORD PTR _State$[rbp]
|
|
003ed 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv295[rbp]
|
|
003f4 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
|
|
; 813 : return _Ostr;
|
|
|
|
003fa 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00401 48 89 85 f8 01
|
|
00 00 mov QWORD PTR $T11[rbp], rax
|
|
00408 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
0040c e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
00411 48 8b 85 f8 01
|
|
00 00 mov rax, QWORD PTR $T11[rbp]
|
|
|
|
; 814 : }
|
|
|
|
00418 48 8b f8 mov rdi, rax
|
|
0041b 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
0041f 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcFrameData
|
|
00426 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0042b 48 8b c7 mov rax, rdi
|
|
0042e 48 8b 8d 20 02
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00435 48 33 cd xor rcx, rbp
|
|
00438 e8 00 00 00 00 call __security_check_cookie
|
|
0043d 48 8d a5 38 02
|
|
00 00 lea rsp, QWORD PTR [rbp+568]
|
|
00444 5f pop rdi
|
|
00445 5d pop rbp
|
|
00446 c3 ret 0
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ENDP ; std::operator<<<std::char_traits<char> >
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00018 e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
|
|
; 808 : _CATCH_IO_(ios_base, _Ostr)
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
__catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
|
|
00014 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0001b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0001e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00029 48 03 c8 add rcx, rax
|
|
0002c 48 8b c1 mov rax, rcx
|
|
0002f 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv266[rbp], rax
|
|
00036 41 b0 01 mov r8b, 1
|
|
00039 ba 04 00 00 00 mov edx, 4
|
|
0003e 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv266[rbp]
|
|
00045 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
0004b 90 npad 1
|
|
0004c 48 8d 05 00 00
|
|
00 00 lea rax, $LN21@catch$1
|
|
00053 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00057 5f pop rdi
|
|
00058 5d pop rbp
|
|
00059 c3 ret 0
|
|
0005a cc int 3
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00018 e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
|
|
; 808 : _CATCH_IO_(ios_base, _Ostr)
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
__catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
|
|
00014 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0001b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0001e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00029 48 03 c8 add rcx, rax
|
|
0002c 48 8b c1 mov rax, rcx
|
|
0002f 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv266[rbp], rax
|
|
00036 41 b0 01 mov r8b, 1
|
|
00039 ba 04 00 00 00 mov edx, 4
|
|
0003e 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv266[rbp]
|
|
00045 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
0004b 90 npad 1
|
|
0004c 48 8d 05 00 00
|
|
00 00 lea rax, $LN21@catch$1
|
|
00053 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00057 5f pop rdi
|
|
00058 5d pop rbp
|
|
00059 c3 ret 0
|
|
0005a cc int 3
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT main
|
|
_TEXT SEGMENT
|
|
Return1776$ = 8
|
|
RetInst$ = 40
|
|
Pre1$ = 72
|
|
Post1$ = 104
|
|
Pre2$ = 136
|
|
Post2$ = 168
|
|
i$4 = 196
|
|
i$5 = 228
|
|
AsmLen$ = 260
|
|
Asm$ = 296
|
|
Tb$ = 328
|
|
i$6 = 356
|
|
ExecBuffer$ = 392
|
|
$T7 = 808
|
|
$T8 = 840
|
|
$T9 = 872
|
|
$T10 = 904
|
|
$T11 = 932
|
|
$T12 = 968
|
|
tv179 = 996
|
|
tv168 = 996
|
|
tv202 = 1000
|
|
tv130 = 1000
|
|
tv83 = 1000
|
|
tv204 = 1008
|
|
tv207 = 1016
|
|
tv209 = 1024
|
|
tv220 = 1032
|
|
tv218 = 1040
|
|
__$ArrayPad$ = 1048
|
|
main PROC ; COMDAT
|
|
|
|
; 44 : {
|
|
|
|
$LN19:
|
|
00000 40 55 push rbp
|
|
00002 57 push rdi
|
|
00003 48 81 ec 58 04
|
|
00 00 sub rsp, 1112 ; 00000458H
|
|
0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
0000f 48 8b fc mov rdi, rsp
|
|
00012 b9 16 01 00 00 mov ecx, 278 ; 00000116H
|
|
00017 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0001c f3 ab rep stosd
|
|
0001e 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00025 48 33 c5 xor rax, rbp
|
|
00028 48 89 85 18 04
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 45 : XedTablesInit();
|
|
|
|
0003b e8 00 00 00 00 call xed_tables_init
|
|
|
|
; 46 : srand(time(NULL));
|
|
|
|
00040 33 c9 xor ecx, ecx
|
|
00042 e8 00 00 00 00 call time
|
|
00047 8b c8 mov ecx, eax
|
|
00049 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_srand
|
|
|
|
; 47 :
|
|
; 48 :
|
|
; 49 : //NATIVE_CODE_BLOCK Block;
|
|
; 50 : //NcDisassemble(&Block, TestBuffer, TestBufferSize);
|
|
; 51 : //NATIVE_CODE_BLOCK NotTaken;
|
|
; 52 : //NATIVE_CODE_BLOCK Taken;
|
|
; 53 : //printf("\n\nOriginal\n");
|
|
; 54 : //NcDebugPrint(&Block);
|
|
; 55 : //ObfCreateOpaqueBranches(Block.Start->Next, Block.Start->Next->Next->Next->Next, &NotTaken, &Taken);
|
|
; 56 : ////printf("\n\nNotTaken\n");
|
|
; 57 : ////NcDebugPrint(&NotTaken);
|
|
; 58 : ////printf("\n\nTaken\n");
|
|
; 59 : ////NcDebugPrint(&Taken);
|
|
; 60 : ////printf("\n\nCombined\n");
|
|
; 61 : //ObfCombineOpaqueBranches(&NotTaken, &Taken, NcGenUnusedLabelId(&Block), NcGenUnusedLabelId(&Block));
|
|
; 62 : //ObfInsertOpaqueBranchBlock(Block.Start->Next, Block.Start->Next->Next->Next->Next, &NotTaken);
|
|
; 63 : //printf("\n\nNew\n");
|
|
; 64 : //NcDebugPrint(&Block);
|
|
; 65 :
|
|
; 66 :
|
|
; 67 : PNATIVE_CODE_LINK Return1776 = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, meme1, sizeof(meme1));
|
|
|
|
0004f b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
00054 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
00059 48 89 85 48 03
|
|
00 00 mov QWORD PTR $T8[rbp], rax
|
|
00060 48 83 bd 48 03
|
|
00 00 00 cmp QWORD PTR $T8[rbp], 0
|
|
00068 74 2f je SHORT $LN13@main
|
|
0006a c7 44 24 20 00
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
00072 41 b9 05 00 00
|
|
00 mov r9d, 5
|
|
00078 4c 8d 05 00 00
|
|
00 00 lea r8, OFFSET FLAT:?meme1@@3PAEA ; meme1
|
|
0007f ba 04 00 00 00 mov edx, 4
|
|
00084 48 8b 8d 48 03
|
|
00 00 mov rcx, QWORD PTR $T8[rbp]
|
|
0008b e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
00090 48 89 85 e8 03
|
|
00 00 mov QWORD PTR tv83[rbp], rax
|
|
00097 eb 0b jmp SHORT $LN14@main
|
|
$LN13@main:
|
|
00099 48 c7 85 e8 03
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv83[rbp], 0
|
|
$LN14@main:
|
|
000a4 48 8b 85 e8 03
|
|
00 00 mov rax, QWORD PTR tv83[rbp]
|
|
000ab 48 89 85 28 03
|
|
00 00 mov QWORD PTR $T7[rbp], rax
|
|
000b2 48 8b 85 28 03
|
|
00 00 mov rax, QWORD PTR $T7[rbp]
|
|
000b9 48 89 45 08 mov QWORD PTR Return1776$[rbp], rax
|
|
|
|
; 68 : PNATIVE_CODE_LINK RetInst = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, meme2, sizeof(meme2));
|
|
|
|
000bd b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
000c2 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
000c7 48 89 85 88 03
|
|
00 00 mov QWORD PTR $T10[rbp], rax
|
|
000ce 48 83 bd 88 03
|
|
00 00 00 cmp QWORD PTR $T10[rbp], 0
|
|
000d6 74 2f je SHORT $LN15@main
|
|
000d8 c7 44 24 20 00
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
000e0 41 b9 01 00 00
|
|
00 mov r9d, 1
|
|
000e6 4c 8d 05 00 00
|
|
00 00 lea r8, OFFSET FLAT:?meme2@@3PAEA ; meme2
|
|
000ed ba 04 00 00 00 mov edx, 4
|
|
000f2 48 8b 8d 88 03
|
|
00 00 mov rcx, QWORD PTR $T10[rbp]
|
|
000f9 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
000fe 48 89 85 e8 03
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
00105 eb 0b jmp SHORT $LN16@main
|
|
$LN15@main:
|
|
00107 48 c7 85 e8 03
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv130[rbp], 0
|
|
$LN16@main:
|
|
00112 48 8b 85 e8 03
|
|
00 00 mov rax, QWORD PTR tv130[rbp]
|
|
00119 48 89 85 68 03
|
|
00 00 mov QWORD PTR $T9[rbp], rax
|
|
00120 48 8b 85 68 03
|
|
00 00 mov rax, QWORD PTR $T9[rbp]
|
|
00127 48 89 45 28 mov QWORD PTR RetInst$[rbp], rax
|
|
|
|
; 69 : PNATIVE_CODE_BLOCK Pre1 = JitEmitPreRipMov(Return1776);
|
|
|
|
0012b 33 d2 xor edx, edx
|
|
0012d 48 8b 4d 08 mov rcx, QWORD PTR Return1776$[rbp]
|
|
00131 e8 00 00 00 00 call ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPreRipMov
|
|
00136 48 89 45 48 mov QWORD PTR Pre1$[rbp], rax
|
|
|
|
; 70 : PNATIVE_CODE_BLOCK Post1 = JitEmitPostRipMov(Return1776);
|
|
|
|
0013a 33 d2 xor edx, edx
|
|
0013c 48 8b 4d 08 mov rcx, QWORD PTR Return1776$[rbp]
|
|
00140 e8 00 00 00 00 call ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPostRipMov
|
|
00145 48 89 45 68 mov QWORD PTR Post1$[rbp], rax
|
|
|
|
; 71 : PNATIVE_CODE_BLOCK Pre2 = JitEmitPreRipMov(RetInst);
|
|
|
|
00149 33 d2 xor edx, edx
|
|
0014b 48 8b 4d 28 mov rcx, QWORD PTR RetInst$[rbp]
|
|
0014f e8 00 00 00 00 call ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPreRipMov
|
|
00154 48 89 85 88 00
|
|
00 00 mov QWORD PTR Pre2$[rbp], rax
|
|
|
|
; 72 : PNATIVE_CODE_BLOCK Post2 = JitEmitPostRipMov(RetInst);
|
|
|
|
0015b 33 d2 xor edx, edx
|
|
0015d 48 8b 4d 28 mov rcx, QWORD PTR RetInst$[rbp]
|
|
00161 e8 00 00 00 00 call ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPostRipMov
|
|
00166 48 89 85 a8 00
|
|
00 00 mov QWORD PTR Post2$[rbp], rax
|
|
|
|
; 73 :
|
|
; 74 : NcAppendToBlock(Pre1, Return1776);
|
|
|
|
0016d 48 8b 55 08 mov rdx, QWORD PTR Return1776$[rbp]
|
|
00171 48 8b 4d 48 mov rcx, QWORD PTR Pre1$[rbp]
|
|
00175 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
; 75 : NcInsertBlockAfter(Pre1->End, Post1, 0);
|
|
|
|
0017a 45 33 c0 xor r8d, r8d
|
|
0017d 48 8b 55 68 mov rdx, QWORD PTR Post1$[rbp]
|
|
00181 48 8b 45 48 mov rax, QWORD PTR Pre1$[rbp]
|
|
00185 48 8b 48 08 mov rcx, QWORD PTR [rax+8]
|
|
00189 e8 00 00 00 00 call ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockAfter
|
|
|
|
; 76 : Pre1->End = Post1->End;
|
|
|
|
0018e 48 8b 45 48 mov rax, QWORD PTR Pre1$[rbp]
|
|
00192 48 8b 4d 68 mov rcx, QWORD PTR Post1$[rbp]
|
|
00196 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
0019a 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 77 : NcInsertBlockAfter(Pre1->End, Pre2, 0);
|
|
|
|
0019e 45 33 c0 xor r8d, r8d
|
|
001a1 48 8b 95 88 00
|
|
00 00 mov rdx, QWORD PTR Pre2$[rbp]
|
|
001a8 48 8b 45 48 mov rax, QWORD PTR Pre1$[rbp]
|
|
001ac 48 8b 48 08 mov rcx, QWORD PTR [rax+8]
|
|
001b0 e8 00 00 00 00 call ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockAfter
|
|
|
|
; 78 : Pre1->End = Pre2->End;
|
|
|
|
001b5 48 8b 45 48 mov rax, QWORD PTR Pre1$[rbp]
|
|
001b9 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR Pre2$[rbp]
|
|
001c0 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
001c4 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 79 : NcAppendToBlock(Pre1, RetInst);/*
|
|
|
|
001c8 48 8b 55 28 mov rdx, QWORD PTR RetInst$[rbp]
|
|
001cc 48 8b 4d 48 mov rcx, QWORD PTR Pre1$[rbp]
|
|
001d0 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
; 80 : NcInsertBlockAfter(Pre1->End, Post2, 0);
|
|
; 81 : Pre1->End = Post2->End;*/
|
|
; 82 :
|
|
; 83 : /*Pre->Start = Return1776;
|
|
; 84 : Pre->End = Return1776;*/
|
|
; 85 :
|
|
; 86 : for (ULONG i = 0; i < Return1776->RawDataSize; i++)
|
|
|
|
001d5 c7 85 c4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$4[rbp], 0
|
|
001df eb 0e jmp SHORT $LN4@main
|
|
$LN2@main:
|
|
001e1 8b 85 c4 00 00
|
|
00 mov eax, DWORD PTR i$4[rbp]
|
|
001e7 ff c0 inc eax
|
|
001e9 89 85 c4 00 00
|
|
00 mov DWORD PTR i$4[rbp], eax
|
|
$LN4@main:
|
|
001ef 48 8b 45 08 mov rax, QWORD PTR Return1776$[rbp]
|
|
001f3 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
001f6 39 85 c4 00 00
|
|
00 cmp DWORD PTR i$4[rbp], eax
|
|
001fc 73 26 jae SHORT $LN3@main
|
|
|
|
; 87 : Return1776->RawData[i] = (UCHAR)rand();
|
|
|
|
001fe ff 15 00 00 00
|
|
00 call QWORD PTR __imp_rand
|
|
00204 88 85 e4 03 00
|
|
00 mov BYTE PTR tv168[rbp], al
|
|
0020a 8b 85 c4 00 00
|
|
00 mov eax, DWORD PTR i$4[rbp]
|
|
00210 48 8b 4d 08 mov rcx, QWORD PTR Return1776$[rbp]
|
|
00214 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
00218 0f b6 95 e4 03
|
|
00 00 movzx edx, BYTE PTR tv168[rbp]
|
|
0021f 88 14 01 mov BYTE PTR [rcx+rax], dl
|
|
00222 eb bd jmp SHORT $LN2@main
|
|
$LN3@main:
|
|
|
|
; 88 : for (ULONG i = 0; i < RetInst->RawDataSize; i++)
|
|
|
|
00224 c7 85 e4 00 00
|
|
00 00 00 00 00 mov DWORD PTR i$5[rbp], 0
|
|
0022e eb 0e jmp SHORT $LN7@main
|
|
$LN5@main:
|
|
00230 8b 85 e4 00 00
|
|
00 mov eax, DWORD PTR i$5[rbp]
|
|
00236 ff c0 inc eax
|
|
00238 89 85 e4 00 00
|
|
00 mov DWORD PTR i$5[rbp], eax
|
|
$LN7@main:
|
|
0023e 48 8b 45 28 mov rax, QWORD PTR RetInst$[rbp]
|
|
00242 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
00245 39 85 e4 00 00
|
|
00 cmp DWORD PTR i$5[rbp], eax
|
|
0024b 73 26 jae SHORT $LN6@main
|
|
|
|
; 89 : RetInst->RawData[i] = (UCHAR)rand();
|
|
|
|
0024d ff 15 00 00 00
|
|
00 call QWORD PTR __imp_rand
|
|
00253 88 85 e4 03 00
|
|
00 mov BYTE PTR tv179[rbp], al
|
|
00259 8b 85 e4 00 00
|
|
00 mov eax, DWORD PTR i$5[rbp]
|
|
0025f 48 8b 4d 28 mov rcx, QWORD PTR RetInst$[rbp]
|
|
00263 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
00267 0f b6 95 e4 03
|
|
00 00 movzx edx, BYTE PTR tv179[rbp]
|
|
0026e 88 14 01 mov BYTE PTR [rcx+rax], dl
|
|
00271 eb bd jmp SHORT $LN5@main
|
|
$LN6@main:
|
|
|
|
; 90 :
|
|
; 91 : ULONG AsmLen;
|
|
; 92 : PVOID Asm = NcAssemble(Pre1, &AsmLen);
|
|
|
|
00273 48 8d 95 04 01
|
|
00 00 lea rdx, QWORD PTR AsmLen$[rbp]
|
|
0027a 48 8b 4d 48 mov rcx, QWORD PTR Pre1$[rbp]
|
|
0027e e8 00 00 00 00 call ?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z ; NcAssemble
|
|
00283 48 89 85 28 01
|
|
00 00 mov QWORD PTR Asm$[rbp], rax
|
|
|
|
; 93 : PUCHAR Tb = (PUCHAR)Asm;
|
|
|
|
0028a 48 8b 85 28 01
|
|
00 00 mov rax, QWORD PTR Asm$[rbp]
|
|
00291 48 89 85 48 01
|
|
00 00 mov QWORD PTR Tb$[rbp], rax
|
|
|
|
; 94 : for (uint32_t i = 0; i < AsmLen; i++)
|
|
|
|
00298 c7 85 64 01 00
|
|
00 00 00 00 00 mov DWORD PTR i$6[rbp], 0
|
|
002a2 eb 0e jmp SHORT $LN10@main
|
|
$LN8@main:
|
|
002a4 8b 85 64 01 00
|
|
00 mov eax, DWORD PTR i$6[rbp]
|
|
002aa ff c0 inc eax
|
|
002ac 89 85 64 01 00
|
|
00 mov DWORD PTR i$6[rbp], eax
|
|
$LN10@main:
|
|
002b2 8b 85 04 01 00
|
|
00 mov eax, DWORD PTR AsmLen$[rbp]
|
|
002b8 39 85 64 01 00
|
|
00 cmp DWORD PTR i$6[rbp], eax
|
|
002be 0f 83 b5 00 00
|
|
00 jae $LN9@main
|
|
|
|
; 95 : {
|
|
; 96 : std::cout << std::hex << std::setw(2) << std::setfill('0') << (int)Tb[i] << ' ';
|
|
|
|
002c4 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?hex@std@@YAAEAVios_base@1@AEAV21@@Z ; std::hex
|
|
002cb 48 8b 0d 00 00
|
|
00 00 mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
|
|
002d2 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
|
|
002d8 48 89 85 e8 03
|
|
00 00 mov QWORD PTR tv202[rbp], rax
|
|
002df ba 02 00 00 00 mov edx, 2
|
|
002e4 48 8d 8d c8 03
|
|
00 00 lea rcx, QWORD PTR $T12[rbp]
|
|
002eb e8 00 00 00 00 call ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z ; std::setw
|
|
002f0 48 89 85 f0 03
|
|
00 00 mov QWORD PTR tv204[rbp], rax
|
|
002f7 48 8b 95 f0 03
|
|
00 00 mov rdx, QWORD PTR tv204[rbp]
|
|
002fe 48 8b 8d e8 03
|
|
00 00 mov rcx, QWORD PTR tv202[rbp]
|
|
00305 e8 00 00 00 00 call ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
0030a 48 89 85 f8 03
|
|
00 00 mov QWORD PTR tv207[rbp], rax
|
|
00311 b2 30 mov dl, 48 ; 00000030H
|
|
00313 48 8d 8d a4 03
|
|
00 00 lea rcx, QWORD PTR $T11[rbp]
|
|
0031a e8 00 00 00 00 call ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ; std::setfill<char>
|
|
0031f 48 89 85 00 04
|
|
00 00 mov QWORD PTR tv209[rbp], rax
|
|
00326 48 8b 95 00 04
|
|
00 00 mov rdx, QWORD PTR tv209[rbp]
|
|
0032d 48 8b 8d f8 03
|
|
00 00 mov rcx, QWORD PTR tv207[rbp]
|
|
00334 e8 00 00 00 00 call ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ; std::operator<<<char,std::char_traits<char>,char>
|
|
00339 48 89 85 08 04
|
|
00 00 mov QWORD PTR tv220[rbp], rax
|
|
00340 8b 85 64 01 00
|
|
00 mov eax, DWORD PTR i$6[rbp]
|
|
00346 48 8b 8d 48 01
|
|
00 00 mov rcx, QWORD PTR Tb$[rbp]
|
|
0034d 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
|
|
00351 89 85 10 04 00
|
|
00 mov DWORD PTR tv218[rbp], eax
|
|
00357 8b 95 10 04 00
|
|
00 mov edx, DWORD PTR tv218[rbp]
|
|
0035d 48 8b 8d 08 04
|
|
00 00 mov rcx, QWORD PTR tv220[rbp]
|
|
00364 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z
|
|
0036a b2 20 mov dl, 32 ; 00000020H
|
|
0036c 48 8b c8 mov rcx, rax
|
|
0036f e8 00 00 00 00 call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
|
|
|
|
; 97 : }
|
|
|
|
00374 e9 2b ff ff ff jmp $LN8@main
|
|
$LN9@main:
|
|
|
|
; 98 :
|
|
; 99 : system("pause");
|
|
|
|
00379 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_05PDJBBECF@pause@
|
|
00380 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_system
|
|
|
|
; 100 :
|
|
; 101 : typedef ULONG64(*FnGet1776)();
|
|
; 102 : FnGet1776 ExecBuffer = (FnGet1776)MakeExecutableBuffer(Asm, AsmLen);
|
|
|
|
00386 8b 95 04 01 00
|
|
00 mov edx, DWORD PTR AsmLen$[rbp]
|
|
0038c 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR Asm$[rbp]
|
|
00393 e8 00 00 00 00 call ?MakeExecutableBuffer@@YAPEAXPEAXK@Z ; MakeExecutableBuffer
|
|
00398 48 89 85 88 01
|
|
00 00 mov QWORD PTR ExecBuffer$[rbp], rax
|
|
|
|
; 103 : if (ExecBuffer)
|
|
|
|
0039f 48 83 bd 88 01
|
|
00 00 00 cmp QWORD PTR ExecBuffer$[rbp], 0
|
|
003a7 74 54 je SHORT $LN11@main
|
|
|
|
; 104 : {
|
|
; 105 : printf("The numba was: %X\n", ExecBuffer());
|
|
|
|
003a9 ff 95 88 01 00
|
|
00 call QWORD PTR ExecBuffer$[rbp]
|
|
003af 48 8b d0 mov rdx, rax
|
|
003b2 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
|
|
003b9 e8 00 00 00 00 call printf
|
|
|
|
; 106 : printf("The numba was: %X\n", ExecBuffer());
|
|
|
|
003be ff 95 88 01 00
|
|
00 call QWORD PTR ExecBuffer$[rbp]
|
|
003c4 48 8b d0 mov rdx, rax
|
|
003c7 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
|
|
003ce e8 00 00 00 00 call printf
|
|
|
|
; 107 :
|
|
; 108 : printf("The numba was: %X\n", ExecBuffer());
|
|
|
|
003d3 ff 95 88 01 00
|
|
00 call QWORD PTR ExecBuffer$[rbp]
|
|
003d9 48 8b d0 mov rdx, rax
|
|
003dc 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
|
|
003e3 e8 00 00 00 00 call printf
|
|
|
|
; 109 :
|
|
; 110 : printf("The numba was: %X\n", ExecBuffer());
|
|
|
|
003e8 ff 95 88 01 00
|
|
00 call QWORD PTR ExecBuffer$[rbp]
|
|
003ee 48 8b d0 mov rdx, rax
|
|
003f1 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
|
|
003f8 e8 00 00 00 00 call printf
|
|
$LN11@main:
|
|
|
|
; 111 :
|
|
; 112 : }
|
|
; 113 :
|
|
; 114 :
|
|
; 115 : //NcDebugPrint(Post);
|
|
; 116 :
|
|
; 117 :
|
|
; 118 :
|
|
; 119 : /*NATIVE_CODE_BLOCK Block;
|
|
; 120 : NcDisassemble(&Block, TestBuffer, TestBufferSize);
|
|
; 121 : PNATIVE_CODE_LINK NewLink = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, meme1, sizeof(meme1));
|
|
; 122 :
|
|
; 123 : NcInsertLinkBefore(Block.End->Prev->Prev->Prev->Prev, NewLink);
|
|
; 124 : ULONG AssembledSize;
|
|
; 125 : PVOID AssembledBlock = NcAssemble(&Block, &AssembledSize);
|
|
; 126 : if (!AssembledBlock || !AssembledSize)
|
|
; 127 : {
|
|
; 128 : printf("Something failed nicka.\n");
|
|
; 129 : system("pause");
|
|
; 130 : return -1;
|
|
; 131 : }
|
|
; 132 : PUCHAR Tb = (PUCHAR)AssembledBlock;
|
|
; 133 : for (uint32_t i = 0; i < AssembledSize; i++)
|
|
; 134 : {
|
|
; 135 : std::cout << std::hex << std::setw(2) << std::setfill('0') << (int)Tb[i] << ' ';
|
|
; 136 : }
|
|
; 137 : */
|
|
; 138 :
|
|
; 139 :
|
|
; 140 : //PNATIVE_CODE_BLOCK OpaqueBranch = ObfGenOpaqueBranch(Block.Start, Block.End);
|
|
; 141 : //NcDebugPrint(OpaqueBranch);
|
|
; 142 :
|
|
; 143 :
|
|
; 144 :
|
|
; 145 : /*NATIVE_CODE_LINK T;
|
|
; 146 : T.RawDataSize = 10;
|
|
; 147 : T.RawData = new UCHAR[10];
|
|
; 148 : memset(T.RawData, 0xAA, 10);
|
|
; 149 : JIT_BITWISE_DATA Data;
|
|
; 150 : RtlSecureZeroMemory(&Data, sizeof(JIT_BITWISE_DATA));
|
|
; 151 : PNATIVE_CODE_BLOCK NewBlock = JitEmitPreRipMov(&T);
|
|
; 152 : if (NewBlock)
|
|
; 153 : {
|
|
; 154 : printf("\n");
|
|
; 155 : NcDebugPrint(NewBlock);
|
|
; 156 : printf("\n");
|
|
; 157 : NcPrintBlockCode(NewBlock);
|
|
; 158 : }
|
|
; 159 : system("pause");*/
|
|
; 160 :
|
|
; 161 : }
|
|
|
|
003fd 33 c0 xor eax, eax
|
|
003ff 8b f8 mov edi, eax
|
|
00401 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
00405 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:main$rtcFrameData
|
|
0040c e8 00 00 00 00 call _RTC_CheckStackVars
|
|
00411 8b c7 mov eax, edi
|
|
00413 48 8b 8d 18 04
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
0041a 48 33 cd xor rcx, rbp
|
|
0041d e8 00 00 00 00 call __security_check_cookie
|
|
00422 48 8d a5 28 04
|
|
00 00 lea rsp, QWORD PTR [rbp+1064]
|
|
00429 5f pop rdi
|
|
0042a 5d pop rbp
|
|
0042b c3 ret 0
|
|
main ENDP
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Return1776$ = 8
|
|
RetInst$ = 40
|
|
Pre1$ = 72
|
|
Post1$ = 104
|
|
Pre2$ = 136
|
|
Post2$ = 168
|
|
i$4 = 196
|
|
i$5 = 228
|
|
AsmLen$ = 260
|
|
Asm$ = 296
|
|
Tb$ = 328
|
|
i$6 = 356
|
|
ExecBuffer$ = 392
|
|
$T7 = 808
|
|
$T8 = 840
|
|
$T9 = 872
|
|
$T10 = 904
|
|
$T11 = 932
|
|
$T12 = 968
|
|
tv179 = 996
|
|
tv168 = 996
|
|
tv202 = 1000
|
|
tv130 = 1000
|
|
tv83 = 1000
|
|
tv204 = 1008
|
|
tv207 = 1016
|
|
tv209 = 1024
|
|
tv220 = 1032
|
|
tv218 = 1040
|
|
__$ArrayPad$ = 1048
|
|
main$dtor$0 PROC
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 48 03
|
|
00 00 mov rcx, QWORD PTR $T8[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
main$dtor$0 ENDP
|
|
text$x ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Return1776$ = 8
|
|
RetInst$ = 40
|
|
Pre1$ = 72
|
|
Post1$ = 104
|
|
Pre2$ = 136
|
|
Post2$ = 168
|
|
i$4 = 196
|
|
i$5 = 228
|
|
AsmLen$ = 260
|
|
Asm$ = 296
|
|
Tb$ = 328
|
|
i$6 = 356
|
|
ExecBuffer$ = 392
|
|
$T7 = 808
|
|
$T8 = 840
|
|
$T9 = 872
|
|
$T10 = 904
|
|
$T11 = 932
|
|
$T12 = 968
|
|
tv179 = 996
|
|
tv168 = 996
|
|
tv202 = 1000
|
|
tv130 = 1000
|
|
tv83 = 1000
|
|
tv204 = 1008
|
|
tv207 = 1016
|
|
tv209 = 1024
|
|
tv220 = 1032
|
|
tv218 = 1040
|
|
__$ArrayPad$ = 1048
|
|
main$dtor$1 PROC
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 88 03
|
|
00 00 mov rcx, QWORD PTR $T10[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
main$dtor$1 ENDP
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Return1776$ = 8
|
|
RetInst$ = 40
|
|
Pre1$ = 72
|
|
Post1$ = 104
|
|
Pre2$ = 136
|
|
Post2$ = 168
|
|
i$4 = 196
|
|
i$5 = 228
|
|
AsmLen$ = 260
|
|
Asm$ = 296
|
|
Tb$ = 328
|
|
i$6 = 356
|
|
ExecBuffer$ = 392
|
|
$T7 = 808
|
|
$T8 = 840
|
|
$T9 = 872
|
|
$T10 = 904
|
|
$T11 = 932
|
|
$T12 = 968
|
|
tv179 = 996
|
|
tv168 = 996
|
|
tv202 = 1000
|
|
tv130 = 1000
|
|
tv83 = 1000
|
|
tv204 = 1008
|
|
tv207 = 1016
|
|
tv209 = 1024
|
|
tv220 = 1032
|
|
tv218 = 1040
|
|
__$ArrayPad$ = 1048
|
|
main$dtor$0 PROC
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 48 03
|
|
00 00 mov rcx, QWORD PTR $T8[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
main$dtor$0 ENDP
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Return1776$ = 8
|
|
RetInst$ = 40
|
|
Pre1$ = 72
|
|
Post1$ = 104
|
|
Pre2$ = 136
|
|
Post2$ = 168
|
|
i$4 = 196
|
|
i$5 = 228
|
|
AsmLen$ = 260
|
|
Asm$ = 296
|
|
Tb$ = 328
|
|
i$6 = 356
|
|
ExecBuffer$ = 392
|
|
$T7 = 808
|
|
$T8 = 840
|
|
$T9 = 872
|
|
$T10 = 904
|
|
$T11 = 932
|
|
$T12 = 968
|
|
tv179 = 996
|
|
tv168 = 996
|
|
tv202 = 1000
|
|
tv130 = 1000
|
|
tv83 = 1000
|
|
tv204 = 1008
|
|
tv207 = 1016
|
|
tv209 = 1024
|
|
tv220 = 1032
|
|
tv218 = 1040
|
|
__$ArrayPad$ = 1048
|
|
main$dtor$1 PROC
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 88 03
|
|
00 00 mov rcx, QWORD PTR $T10[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
main$dtor$1 ENDP
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT ?MakeExecutableBuffer@@YAPEAXPEAXK@Z
|
|
_TEXT SEGMENT
|
|
ExecBuffer$ = 8
|
|
Buffer$ = 256
|
|
BufferSize$ = 264
|
|
?MakeExecutableBuffer@@YAPEAXPEAXK@Z PROC ; MakeExecutableBuffer, COMDAT
|
|
|
|
; 14 : {
|
|
|
|
$LN4:
|
|
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8b fc mov rdi, rsp
|
|
0001a b9 42 00 00 00 mov ecx, 66 ; 00000042H
|
|
0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00024 f3 ab rep stosd
|
|
00026 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
0002e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
00035 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 15 : PVOID ExecBuffer = VirtualAlloc(nullptr, BufferSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
|
|
|
|
0003a 8b 85 08 01 00
|
|
00 mov eax, DWORD PTR BufferSize$[rbp]
|
|
00040 41 b9 40 00 00
|
|
00 mov r9d, 64 ; 00000040H
|
|
00046 41 b8 00 10 00
|
|
00 mov r8d, 4096 ; 00001000H
|
|
0004c 8b d0 mov edx, eax
|
|
0004e 33 c9 xor ecx, ecx
|
|
00050 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_VirtualAlloc
|
|
00056 48 89 45 08 mov QWORD PTR ExecBuffer$[rbp], rax
|
|
|
|
; 16 : if (!ExecBuffer)
|
|
|
|
0005a 48 83 7d 08 00 cmp QWORD PTR ExecBuffer$[rbp], 0
|
|
0005f 75 04 jne SHORT $LN2@MakeExecut
|
|
|
|
; 17 : return NULL;
|
|
|
|
00061 33 c0 xor eax, eax
|
|
00063 eb 19 jmp SHORT $LN1@MakeExecut
|
|
$LN2@MakeExecut:
|
|
|
|
; 18 : RtlCopyMemory(ExecBuffer, Buffer, BufferSize);
|
|
|
|
00065 8b 85 08 01 00
|
|
00 mov eax, DWORD PTR BufferSize$[rbp]
|
|
0006b 44 8b c0 mov r8d, eax
|
|
0006e 48 8b 95 00 01
|
|
00 00 mov rdx, QWORD PTR Buffer$[rbp]
|
|
00075 48 8b 4d 08 mov rcx, QWORD PTR ExecBuffer$[rbp]
|
|
00079 e8 00 00 00 00 call memcpy
|
|
$LN1@MakeExecut:
|
|
|
|
; 19 : }
|
|
|
|
0007e 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00085 5f pop rdi
|
|
00086 5d pop rbp
|
|
00087 c3 ret 0
|
|
?MakeExecutableBuffer@@YAPEAXPEAXK@Z ENDP ; MakeExecutableBuffer
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xloctime
|
|
; COMDAT ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
tv93 = 264
|
|
tv85 = 264
|
|
this$ = 304
|
|
__formal$ = 312
|
|
_Lobj$ = 320
|
|
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z PROC ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>, COMDAT
|
|
|
|
; 176 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
|
|
|
|
$LN5:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 56 push rsi
|
|
00011 57 push rdi
|
|
00012 48 81 ec 30 01
|
|
00 00 sub rsp, 304 ; 00000130H
|
|
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001e 48 8b fc mov rdi, rsp
|
|
00021 b9 4c 00 00 00 mov ecx, 76 ; 0000004cH
|
|
00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002b f3 ab rep stosd
|
|
0002d 48 8b 8c 24 58
|
|
01 00 00 mov rcx, QWORD PTR [rsp+344]
|
|
00035 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__886F7F70_xloctime
|
|
0003c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 177 : _Cvt = _Lobj._Getcvt();
|
|
|
|
00041 48 8d 95 c8 00
|
|
00 00 lea rdx, QWORD PTR $T1[rbp]
|
|
00048 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
0004f ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
|
|
00055 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0005c 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
|
|
00060 48 8b f0 mov rsi, rax
|
|
00063 b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
|
|
00068 f3 a4 rep movsb
|
|
|
|
; 178 :
|
|
; 179 : if (is_same_v<_Elem2, wchar_t>) {
|
|
|
|
0006a 33 c0 xor eax, eax
|
|
0006c 83 f8 01 cmp eax, 1
|
|
0006f 74 5c je SHORT $LN2@Getvals
|
|
|
|
; 180 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
|
|
|
|
00071 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00078 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
|
|
0007e 48 8b c8 mov rcx, rax
|
|
00081 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
00086 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0008d 48 89 41 10 mov QWORD PTR [rcx+16], rax
|
|
|
|
; 181 : _Months =
|
|
|
|
00091 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00098 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
|
|
0009e 48 8b c8 mov rcx, rax
|
|
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
000a6 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000ad 48 89 41 18 mov QWORD PTR [rcx+24], rax
|
|
|
|
; 182 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
|
|
; 183 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
|
|
|
|
000b1 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
|
|
000b8 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
000bd 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000c4 48 89 41 20 mov QWORD PTR [rcx+32], rax
|
|
|
|
; 184 : } else {
|
|
|
|
000c8 e9 a3 00 00 00 jmp $LN3@Getvals
|
|
$LN2@Getvals:
|
|
|
|
; 185 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
000cd 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000d4 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
000d8 48 89 85 08 01
|
|
00 00 mov QWORD PTR tv85[rbp], rax
|
|
000df 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
000e6 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
|
|
000ec 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR tv85[rbp]
|
|
000f3 4c 8b c1 mov r8, rcx
|
|
000f6 33 d2 xor edx, edx
|
|
000f8 48 8b c8 mov rcx, rax
|
|
000fb e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
|
|
00100 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00107 48 89 41 10 mov QWORD PTR [rcx+16], rax
|
|
|
|
; 186 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
0010b 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00112 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
00116 48 89 85 08 01
|
|
00 00 mov QWORD PTR tv93[rbp], rax
|
|
0011d 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00124 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
|
|
0012a 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR tv93[rbp]
|
|
00131 4c 8b c1 mov r8, rcx
|
|
00134 33 d2 xor edx, edx
|
|
00136 48 8b c8 mov rcx, rax
|
|
00139 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
|
|
0013e 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00145 48 89 41 18 mov QWORD PTR [rcx+24], rax
|
|
|
|
; 187 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
00149 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00150 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
00154 4c 8b c0 mov r8, rax
|
|
00157 33 d2 xor edx, edx
|
|
00159 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
|
|
00160 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
|
|
00165 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0016c 48 89 41 20 mov QWORD PTR [rcx+32], rax
|
|
$LN3@Getvals:
|
|
|
|
; 188 : }
|
|
; 189 : }
|
|
|
|
00170 48 8d a5 10 01
|
|
00 00 lea rsp, QWORD PTR [rbp+272]
|
|
00177 5f pop rdi
|
|
00178 5e pop rsi
|
|
00179 5d pop rbp
|
|
0017a c3 ret 0
|
|
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xloctime
|
|
; COMDAT ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
tv93 = 264
|
|
tv85 = 264
|
|
this$ = 304
|
|
__formal$ = 312
|
|
_Lobj$ = 320
|
|
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z PROC ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>, COMDAT
|
|
|
|
; 176 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
|
|
|
|
$LN5:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 56 push rsi
|
|
00011 57 push rdi
|
|
00012 48 81 ec 30 01
|
|
00 00 sub rsp, 304 ; 00000130H
|
|
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001e 48 8b fc mov rdi, rsp
|
|
00021 b9 4c 00 00 00 mov ecx, 76 ; 0000004cH
|
|
00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002b f3 ab rep stosd
|
|
0002d 48 8b 8c 24 58
|
|
01 00 00 mov rcx, QWORD PTR [rsp+344]
|
|
00035 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__886F7F70_xloctime
|
|
0003c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 177 : _Cvt = _Lobj._Getcvt();
|
|
|
|
00041 48 8d 95 c8 00
|
|
00 00 lea rdx, QWORD PTR $T1[rbp]
|
|
00048 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
0004f ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
|
|
00055 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0005c 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
|
|
00060 48 8b f0 mov rsi, rax
|
|
00063 b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
|
|
00068 f3 a4 rep movsb
|
|
|
|
; 178 :
|
|
; 179 : if (is_same_v<_Elem2, wchar_t>) {
|
|
|
|
0006a 33 c0 xor eax, eax
|
|
0006c 83 f8 01 cmp eax, 1
|
|
0006f 74 5c je SHORT $LN2@Getvals
|
|
|
|
; 180 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
|
|
|
|
00071 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00078 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
|
|
0007e 48 8b c8 mov rcx, rax
|
|
00081 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
00086 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0008d 48 89 41 10 mov QWORD PTR [rcx+16], rax
|
|
|
|
; 181 : _Months =
|
|
|
|
00091 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00098 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
|
|
0009e 48 8b c8 mov rcx, rax
|
|
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
000a6 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000ad 48 89 41 18 mov QWORD PTR [rcx+24], rax
|
|
|
|
; 182 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
|
|
; 183 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
|
|
|
|
000b1 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
|
|
000b8 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
|
|
000bd 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000c4 48 89 41 20 mov QWORD PTR [rcx+32], rax
|
|
|
|
; 184 : } else {
|
|
|
|
000c8 e9 a3 00 00 00 jmp $LN3@Getvals
|
|
$LN2@Getvals:
|
|
|
|
; 185 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
000cd 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000d4 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
000d8 48 89 85 08 01
|
|
00 00 mov QWORD PTR tv85[rbp], rax
|
|
000df 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
000e6 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
|
|
000ec 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR tv85[rbp]
|
|
000f3 4c 8b c1 mov r8, rcx
|
|
000f6 33 d2 xor edx, edx
|
|
000f8 48 8b c8 mov rcx, rax
|
|
000fb e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
|
|
00100 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00107 48 89 41 10 mov QWORD PTR [rcx+16], rax
|
|
|
|
; 186 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
0010b 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00112 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
00116 48 89 85 08 01
|
|
00 00 mov QWORD PTR tv93[rbp], rax
|
|
0011d 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
|
|
00124 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
|
|
0012a 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR tv93[rbp]
|
|
00131 4c 8b c1 mov r8, rcx
|
|
00134 33 d2 xor edx, edx
|
|
00136 48 8b c8 mov rcx, rax
|
|
00139 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
|
|
0013e 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00145 48 89 41 18 mov QWORD PTR [rcx+24], rax
|
|
|
|
; 187 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
|
|
|
|
00149 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00150 48 83 c0 2c add rax, 44 ; 0000002cH
|
|
00154 4c 8b c0 mov r8, rax
|
|
00157 33 d2 xor edx, edx
|
|
00159 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
|
|
00160 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
|
|
00165 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0016c 48 89 41 20 mov QWORD PTR [rcx+32], rax
|
|
$LN3@Getvals:
|
|
|
|
; 188 : }
|
|
; 189 : }
|
|
|
|
00170 48 8d a5 10 01
|
|
00 00 lea rsp, QWORD PTR [rbp+272]
|
|
00177 5f pop rdi
|
|
00178 5e pop rsi
|
|
00179 5d pop rbp
|
|
0017a c3 ret 0
|
|
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\time.h
|
|
; COMDAT time
|
|
_TEXT SEGMENT
|
|
_Time$ = 224
|
|
time PROC ; COMDAT
|
|
|
|
; 521 : {
|
|
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__A0B61CF9_time@h
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 522 : return _time64(_Time);
|
|
|
|
00036 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Time$[rbp]
|
|
0003d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__time64
|
|
|
|
; 523 : }
|
|
|
|
00043 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0004a 5f pop rdi
|
|
0004b 5d pop rbp
|
|
0004c c3 ret 0
|
|
time ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\ios
|
|
; COMDAT ?hex@std@@YAAEAVios_base@1@AEAV21@@Z
|
|
_TEXT SEGMENT
|
|
_Iosbase$ = 224
|
|
?hex@std@@YAAEAVios_base@1@AEAV21@@Z PROC ; std::hex, COMDAT
|
|
|
|
; 206 : inline ios_base& __CLRCALL_OR_CDECL hex(ios_base& _Iosbase) { // set basefield to hex
|
|
|
|
$LN3:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__165C22CB_ios
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 207 : _Iosbase.setf(ios_base::hex, ios_base::basefield);
|
|
|
|
00036 41 b8 00 0e 00
|
|
00 mov r8d, 3584 ; 00000e00H
|
|
0003c ba 00 08 00 00 mov edx, 2048 ; 00000800H
|
|
00041 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Iosbase$[rbp]
|
|
00048 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setf@ios_base@std@@QEAAHHH@Z
|
|
|
|
; 208 : return _Iosbase;
|
|
|
|
0004e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Iosbase$[rbp]
|
|
|
|
; 209 : }
|
|
|
|
00055 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005c 5f pop rdi
|
|
0005d 5d pop rbp
|
|
0005e c3 ret 0
|
|
?hex@std@@YAAEAVios_base@1@AEAV21@@Z ENDP ; std::hex
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocale
|
|
; COMDAT ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z
|
|
_TEXT SEGMENT
|
|
_Count$ = 8
|
|
_Ptrdest$ = 40
|
|
_Ptrnext$1 = 72
|
|
_Ptr$ = 320
|
|
__formal$ = 328
|
|
__formal$ = 336
|
|
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<char>, COMDAT
|
|
|
|
; 563 : _Elem* __CRTDECL _Maklocstr(const char* _Ptr, _Elem*, const _Locinfo::_Cvtvec&) {
|
|
|
|
$LN7:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 57 push rdi
|
|
00011 48 81 ec 58 01
|
|
00 00 sub rsp, 344 ; 00000158H
|
|
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
0001d 48 8b fc mov rdi, rsp
|
|
00020 b9 56 00 00 00 mov ecx, 86 ; 00000056H
|
|
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002a f3 ab rep stosd
|
|
0002c 48 8b 8c 24 78
|
|
01 00 00 mov rcx, QWORD PTR [rsp+376]
|
|
00034 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__0E648B51_xlocale
|
|
0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 564 : // convert C string to _Elem sequence using _Cvtvec
|
|
; 565 : size_t _Count = _CSTD strlen(_Ptr) + 1;
|
|
|
|
00040 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
00047 e8 00 00 00 00 call strlen
|
|
0004c 48 ff c0 inc rax
|
|
0004f 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
|
|
; 566 :
|
|
; 567 : _Elem* _Ptrdest = static_cast<_Elem*>(_calloc_dbg(_Count, sizeof(_Elem), _CRT_BLOCK, __FILE__, __LINE__));
|
|
|
|
00053 c7 44 24 20 37
|
|
02 00 00 mov DWORD PTR [rsp+32], 567 ; 00000237H
|
|
0005b 4c 8d 0d 00 00
|
|
00 00 lea r9, OFFSET FLAT:??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00062 41 b8 02 00 00
|
|
00 mov r8d, 2
|
|
00068 ba 01 00 00 00 mov edx, 1
|
|
0006d 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
|
|
00071 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__calloc_dbg
|
|
00077 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
|
|
|
|
; 568 :
|
|
; 569 : if (!_Ptrdest) {
|
|
|
|
0007b 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
|
|
00080 75 05 jne SHORT $LN5@Maklocstr
|
|
|
|
; 570 : _Xbad_alloc();
|
|
|
|
00082 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
|
|
$LN5@Maklocstr:
|
|
|
|
; 571 : }
|
|
; 572 :
|
|
; 573 : for (_Elem* _Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) {
|
|
|
|
00087 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
|
|
0008b 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
|
|
0008f eb 27 jmp SHORT $LN4@Maklocstr
|
|
$LN2@Maklocstr:
|
|
00091 48 8b 45 08 mov rax, QWORD PTR _Count$[rbp]
|
|
00095 48 ff c8 dec rax
|
|
00098 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
0009c 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
|
|
000a0 48 ff c0 inc rax
|
|
000a3 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
|
|
000a7 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR _Ptr$[rbp]
|
|
000ae 48 ff c0 inc rax
|
|
000b1 48 89 85 40 01
|
|
00 00 mov QWORD PTR _Ptr$[rbp], rax
|
|
$LN4@Maklocstr:
|
|
000b8 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
|
|
000bd 76 12 jbe SHORT $LN3@Maklocstr
|
|
|
|
; 574 : *_Ptrnext = static_cast<_Elem>(static_cast<unsigned char>(*_Ptr));
|
|
|
|
000bf 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
|
|
000c3 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
000ca 0f b6 09 movzx ecx, BYTE PTR [rcx]
|
|
000cd 88 08 mov BYTE PTR [rax], cl
|
|
|
|
; 575 : }
|
|
|
|
000cf eb c0 jmp SHORT $LN2@Maklocstr
|
|
$LN3@Maklocstr:
|
|
|
|
; 576 :
|
|
; 577 : return _Ptrdest;
|
|
|
|
000d1 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
|
|
$LN6@Maklocstr:
|
|
|
|
; 578 : }
|
|
|
|
000d5 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
000dc 5f pop rdi
|
|
000dd 5d pop rbp
|
|
000de c3 ret 0
|
|
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<char>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocnum
|
|
; COMDAT ?_Maklocwcs@std@@YAPEA_WPEB_W@Z
|
|
_TEXT SEGMENT
|
|
_Count$ = 8
|
|
_Ptrdest$ = 40
|
|
_Ptr$ = 288
|
|
?_Maklocwcs@std@@YAPEA_WPEB_W@Z PROC ; std::_Maklocwcs, COMDAT
|
|
|
|
; 90 : inline wchar_t* _Maklocwcs(const wchar_t* _Ptr) { // copy NTWCS to allocated storage
|
|
|
|
$LN4:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 38 01
|
|
00 00 sub rsp, 312 ; 00000138H
|
|
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 4e 00 00 00 mov ecx, 78 ; 0000004eH
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 58
|
|
01 00 00 mov rcx, QWORD PTR [rsp+344]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__90E3ED46_xlocnum
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 91 : const size_t _Count = _CSTD wcslen(_Ptr) + 1;
|
|
|
|
00036 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
0003d ff 15 00 00 00
|
|
00 call QWORD PTR __imp_wcslen
|
|
00043 48 ff c0 inc rax
|
|
00046 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
|
|
; 92 :
|
|
; 93 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Count, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
|
|
|
|
0004a 8b 05 00 00 00
|
|
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
|
|
00050 83 c0 03 add eax, 3
|
|
00053 89 44 24 20 mov DWORD PTR [rsp+32], eax
|
|
00057 4c 8d 0d 00 00
|
|
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
0005e 41 b8 02 00 00
|
|
00 mov r8d, 2
|
|
00064 ba 02 00 00 00 mov edx, 2
|
|
00069 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
|
|
0006d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__calloc_dbg
|
|
00073 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
|
|
|
|
; 94 :
|
|
; 95 : if (!_Ptrdest) {
|
|
|
|
00077 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
|
|
0007c 75 05 jne SHORT $LN2@Maklocwcs
|
|
|
|
; 96 : _Xbad_alloc();
|
|
|
|
0007e e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
|
|
$LN2@Maklocwcs:
|
|
|
|
; 97 : }
|
|
; 98 :
|
|
; 99 : _CSTD wmemcpy(_Ptrdest, _Ptr, _Count);
|
|
|
|
00083 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
|
|
00087 48 8b 95 20 01
|
|
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
|
|
0008e 48 8b 4d 28 mov rcx, QWORD PTR _Ptrdest$[rbp]
|
|
00092 e8 00 00 00 00 call wmemcpy
|
|
|
|
; 100 : return _Ptrdest;
|
|
|
|
00097 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
|
|
$LN3@Maklocwcs:
|
|
|
|
; 101 : }
|
|
|
|
0009b 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
000a2 5f pop rdi
|
|
000a3 5d pop rbp
|
|
000a4 c3 ret 0
|
|
?_Maklocwcs@std@@YAPEA_WPEB_W@Z ENDP ; std::_Maklocwcs
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocale
|
|
; COMDAT ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z
|
|
_TEXT SEGMENT
|
|
_Count$ = 8
|
|
_Count1$ = 40
|
|
_Wchars$ = 72
|
|
_Ptr1$ = 104
|
|
_Bytes$ = 132
|
|
_Wc$ = 164
|
|
_Mbst1$ = 200
|
|
_Ptrdest$ = 232
|
|
_Ptrnext$ = 264
|
|
_Mbst2$ = 296
|
|
__$ArrayPad$ = 504
|
|
_Ptr$ = 544
|
|
__formal$ = 552
|
|
_Cvt$ = 560
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<wchar_t>, COMDAT
|
|
|
|
; 581 : inline wchar_t* __CRTDECL _Maklocstr(const char* _Ptr, wchar_t*, const _Locinfo::_Cvtvec& _Cvt) {
|
|
|
|
$LN12:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 57 push rdi
|
|
00011 48 81 ec 38 02
|
|
00 00 sub rsp, 568 ; 00000238H
|
|
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
0001d 48 8b fc mov rdi, rsp
|
|
00020 b9 8e 00 00 00 mov ecx, 142 ; 0000008eH
|
|
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002a f3 ab rep stosd
|
|
0002c 48 8b 8c 24 58
|
|
02 00 00 mov rcx, QWORD PTR [rsp+600]
|
|
00034 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
0003b 48 33 c5 xor rax, rbp
|
|
0003e 48 89 85 f8 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00045 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__0E648B51_xlocale
|
|
0004c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 582 : // convert C string to wchar_t sequence using _Cvtvec
|
|
; 583 : size_t _Count;
|
|
; 584 : size_t _Count1;
|
|
; 585 : size_t _Wchars;
|
|
; 586 : const char* _Ptr1;
|
|
; 587 : int _Bytes;
|
|
; 588 : wchar_t _Wc;
|
|
; 589 : mbstate_t _Mbst1 = {};
|
|
|
|
00051 48 8d 85 c8 00
|
|
00 00 lea rax, QWORD PTR _Mbst1$[rbp]
|
|
00058 48 8b f8 mov rdi, rax
|
|
0005b 33 c0 xor eax, eax
|
|
0005d b9 08 00 00 00 mov ecx, 8
|
|
00062 f3 aa rep stosb
|
|
|
|
; 590 :
|
|
; 591 : _Count1 = _CSTD strlen(_Ptr) + 1;
|
|
|
|
00064 48 8b 8d 20 02
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
0006b e8 00 00 00 00 call strlen
|
|
00070 48 ff c0 inc rax
|
|
00073 48 89 45 28 mov QWORD PTR _Count1$[rbp], rax
|
|
|
|
; 592 : for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; _Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) {
|
|
|
|
00077 48 8b 45 28 mov rax, QWORD PTR _Count1$[rbp]
|
|
0007b 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
0007f 48 c7 45 48 00
|
|
00 00 00 mov QWORD PTR _Wchars$[rbp], 0
|
|
00087 48 8b 85 20 02
|
|
00 00 mov rax, QWORD PTR _Ptr$[rbp]
|
|
0008e 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
|
|
00092 eb 35 jmp SHORT $LN4@Maklocstr
|
|
$LN2@Maklocstr:
|
|
00094 48 63 85 84 00
|
|
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
|
|
0009b 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
|
|
0009f 48 2b c8 sub rcx, rax
|
|
000a2 48 8b c1 mov rax, rcx
|
|
000a5 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
000a9 48 63 85 84 00
|
|
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
|
|
000b0 48 8b 4d 68 mov rcx, QWORD PTR _Ptr1$[rbp]
|
|
000b4 48 03 c8 add rcx, rax
|
|
000b7 48 8b c1 mov rax, rcx
|
|
000ba 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
|
|
000be 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
|
|
000c2 48 ff c0 inc rax
|
|
000c5 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
|
|
$LN4@Maklocstr:
|
|
000c9 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
|
|
000ce 76 3a jbe SHORT $LN3@Maklocstr
|
|
|
|
; 593 : if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) {
|
|
|
|
000d0 48 8b 85 30 02
|
|
00 00 mov rax, QWORD PTR _Cvt$[rbp]
|
|
000d7 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
000dc 4c 8d 8d c8 00
|
|
00 00 lea r9, QWORD PTR _Mbst1$[rbp]
|
|
000e3 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
|
|
000e7 48 8b 55 68 mov rdx, QWORD PTR _Ptr1$[rbp]
|
|
000eb 48 8d 8d a4 00
|
|
00 00 lea rcx, QWORD PTR _Wc$[rbp]
|
|
000f2 e8 00 00 00 00 call _Mbrtowc
|
|
000f7 89 85 84 00 00
|
|
00 mov DWORD PTR _Bytes$[rbp], eax
|
|
000fd 83 bd 84 00 00
|
|
00 00 cmp DWORD PTR _Bytes$[rbp], 0
|
|
00104 7f 02 jg SHORT $LN8@Maklocstr
|
|
|
|
; 594 : break;
|
|
|
|
00106 eb 02 jmp SHORT $LN3@Maklocstr
|
|
$LN8@Maklocstr:
|
|
|
|
; 595 : }
|
|
; 596 : }
|
|
|
|
00108 eb 8a jmp SHORT $LN2@Maklocstr
|
|
$LN3@Maklocstr:
|
|
|
|
; 597 :
|
|
; 598 : ++_Wchars; // count terminating nul
|
|
|
|
0010a 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
|
|
0010e 48 ff c0 inc rax
|
|
00111 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
|
|
|
|
; 599 :
|
|
; 600 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Wchars, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
|
|
|
|
00115 c7 44 24 20 58
|
|
02 00 00 mov DWORD PTR [rsp+32], 600 ; 00000258H
|
|
0011d 4c 8d 0d 00 00
|
|
00 00 lea r9, OFFSET FLAT:??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00124 41 b8 02 00 00
|
|
00 mov r8d, 2
|
|
0012a ba 02 00 00 00 mov edx, 2
|
|
0012f 48 8b 4d 48 mov rcx, QWORD PTR _Wchars$[rbp]
|
|
00133 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__calloc_dbg
|
|
00139 48 89 85 e8 00
|
|
00 00 mov QWORD PTR _Ptrdest$[rbp], rax
|
|
|
|
; 601 :
|
|
; 602 : if (!_Ptrdest) {
|
|
|
|
00140 48 83 bd e8 00
|
|
00 00 00 cmp QWORD PTR _Ptrdest$[rbp], 0
|
|
00148 75 05 jne SHORT $LN9@Maklocstr
|
|
|
|
; 603 : _Xbad_alloc();
|
|
|
|
0014a e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
|
|
$LN9@Maklocstr:
|
|
|
|
; 604 : }
|
|
; 605 :
|
|
; 606 : wchar_t* _Ptrnext = _Ptrdest;
|
|
|
|
0014f 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
|
|
00156 48 89 85 08 01
|
|
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
|
|
|
|
; 607 : mbstate_t _Mbst2 = {};
|
|
|
|
0015d 48 8d 85 28 01
|
|
00 00 lea rax, QWORD PTR _Mbst2$[rbp]
|
|
00164 48 8b f8 mov rdi, rax
|
|
00167 33 c0 xor eax, eax
|
|
00169 b9 08 00 00 00 mov ecx, 8
|
|
0016e f3 aa rep stosb
|
|
|
|
; 608 :
|
|
; 609 : for (; 0 < _Wchars; _Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) {
|
|
|
|
00170 eb 4d jmp SHORT $LN7@Maklocstr
|
|
$LN5@Maklocstr:
|
|
00172 48 63 85 84 00
|
|
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
|
|
00179 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
|
|
0017d 48 2b c8 sub rcx, rax
|
|
00180 48 8b c1 mov rax, rcx
|
|
00183 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
|
|
00187 48 63 85 84 00
|
|
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
|
|
0018e 48 8b 8d 20 02
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
00195 48 03 c8 add rcx, rax
|
|
00198 48 8b c1 mov rax, rcx
|
|
0019b 48 89 85 20 02
|
|
00 00 mov QWORD PTR _Ptr$[rbp], rax
|
|
001a2 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
|
|
001a6 48 ff c8 dec rax
|
|
001a9 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
|
|
001ad 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ptrnext$[rbp]
|
|
001b4 48 83 c0 02 add rax, 2
|
|
001b8 48 89 85 08 01
|
|
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
|
|
$LN7@Maklocstr:
|
|
001bf 48 83 7d 48 00 cmp QWORD PTR _Wchars$[rbp], 0
|
|
001c4 76 40 jbe SHORT $LN6@Maklocstr
|
|
|
|
; 610 : if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) {
|
|
|
|
001c6 48 8b 85 30 02
|
|
00 00 mov rax, QWORD PTR _Cvt$[rbp]
|
|
001cd 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
001d2 4c 8d 8d 28 01
|
|
00 00 lea r9, QWORD PTR _Mbst2$[rbp]
|
|
001d9 4c 8b 45 28 mov r8, QWORD PTR _Count1$[rbp]
|
|
001dd 48 8b 95 20 02
|
|
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
|
|
001e4 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
|
|
001eb e8 00 00 00 00 call _Mbrtowc
|
|
001f0 89 85 84 00 00
|
|
00 mov DWORD PTR _Bytes$[rbp], eax
|
|
001f6 83 bd 84 00 00
|
|
00 00 cmp DWORD PTR _Bytes$[rbp], 0
|
|
001fd 7f 02 jg SHORT $LN10@Maklocstr
|
|
|
|
; 611 : break;
|
|
|
|
001ff eb 05 jmp SHORT $LN6@Maklocstr
|
|
$LN10@Maklocstr:
|
|
|
|
; 612 : }
|
|
; 613 : }
|
|
|
|
00201 e9 6c ff ff ff jmp $LN5@Maklocstr
|
|
$LN6@Maklocstr:
|
|
|
|
; 614 :
|
|
; 615 : *_Ptrnext = L'\0';
|
|
|
|
00206 33 c0 xor eax, eax
|
|
00208 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
|
|
0020f 66 89 01 mov WORD PTR [rcx], ax
|
|
|
|
; 616 :
|
|
; 617 : return _Ptrdest;
|
|
|
|
00212 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
|
|
$LN11@Maklocstr:
|
|
|
|
; 618 : }
|
|
|
|
00219 48 8b f8 mov rdi, rax
|
|
0021c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
00220 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData
|
|
00227 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0022c 48 8b c7 mov rax, rdi
|
|
0022f 48 8b 8d f8 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00236 48 33 cd xor rcx, rbp
|
|
00239 e8 00 00 00 00 call __security_check_cookie
|
|
0023e 48 8d a5 08 02
|
|
00 00 lea rsp, QWORD PTR [rbp+520]
|
|
00245 5f pop rdi
|
|
00246 5d pop rbp
|
|
00247 c3 ret 0
|
|
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<wchar_t>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xstring
|
|
; COMDAT ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
_TEXT SEGMENT
|
|
?eof@?$_Narrow_char_traits@DH@std@@SAHXZ PROC ; std::_Narrow_char_traits<char,int>::eof, COMDAT
|
|
|
|
; 400 : _NODISCARD static constexpr int_type eof() noexcept {
|
|
|
|
$LN3:
|
|
00000 40 55 push rbp
|
|
00002 57 push rdi
|
|
00003 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0000f 48 8b fc mov rdi, rsp
|
|
00012 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00017 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0001c f3 ab rep stosd
|
|
0001e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__D15AFF60_xstring
|
|
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 401 : return static_cast<int_type>(EOF);
|
|
|
|
0002a b8 ff ff ff ff mov eax, -1
|
|
|
|
; 402 : }
|
|
|
|
0002f 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00036 5f pop rdi
|
|
00037 5d pop rbp
|
|
00038 c3 ret 0
|
|
?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ENDP ; std::_Narrow_char_traits<char,int>::eof
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xstring
|
|
; COMDAT ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
_TEXT SEGMENT
|
|
tv65 = 192
|
|
_Left$ = 240
|
|
_Right$ = 248
|
|
?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z PROC ; std::_Narrow_char_traits<char,int>::eq_int_type, COMDAT
|
|
|
|
; 392 : _NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept {
|
|
|
|
$LN5:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 18
|
|
01 00 00 mov rcx, QWORD PTR [rsp+280]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__D15AFF60_xstring
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 393 : return _Left == _Right;
|
|
|
|
0003b 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Left$[rbp]
|
|
00042 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Right$[rbp]
|
|
00049 8b 09 mov ecx, DWORD PTR [rcx]
|
|
0004b 39 08 cmp DWORD PTR [rax], ecx
|
|
0004d 75 0c jne SHORT $LN3@eq_int_typ
|
|
0004f c7 85 c0 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv65[rbp], 1
|
|
00059 eb 0a jmp SHORT $LN4@eq_int_typ
|
|
$LN3@eq_int_typ:
|
|
0005b c7 85 c0 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv65[rbp], 0
|
|
$LN4@eq_int_typ:
|
|
00065 0f b6 85 c0 00
|
|
00 00 movzx eax, BYTE PTR tv65[rbp]
|
|
|
|
; 394 : }
|
|
|
|
0006c 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00073 5f pop rdi
|
|
00074 5d pop rbp
|
|
00075 c3 ret 0
|
|
?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ENDP ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\wchar.h
|
|
; COMDAT wmemcpy
|
|
_TEXT SEGMENT
|
|
_S1$ = 224
|
|
_S2$ = 232
|
|
_N$ = 240
|
|
wmemcpy PROC ; COMDAT
|
|
|
|
; 234 : {
|
|
|
|
$LN3:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 57 push rdi
|
|
00011 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8b fc mov rdi, rsp
|
|
00020 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002a f3 ab rep stosd
|
|
0002c 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
00034 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__93DC0B45_wchar@h
|
|
0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 235 : #pragma warning(suppress: 6386) // Buffer overrun
|
|
; 236 : return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t));
|
|
|
|
00040 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _N$[rbp]
|
|
00047 48 d1 e0 shl rax, 1
|
|
0004a 4c 8b c0 mov r8, rax
|
|
0004d 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _S2$[rbp]
|
|
00054 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _S1$[rbp]
|
|
0005b e8 00 00 00 00 call memcpy
|
|
|
|
; 237 : }
|
|
|
|
00060 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00067 5f pop rdi
|
|
00068 5d pop rbp
|
|
00069 c3 ret 0
|
|
wmemcpy ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT printf
|
|
_TEXT SEGMENT
|
|
_Result$ = 4
|
|
_ArgList$ = 40
|
|
tv77 = 280
|
|
tv75 = 288
|
|
__$ArrayPad$ = 296
|
|
_Format$ = 336
|
|
printf PROC ; COMDAT
|
|
|
|
; 956 : {
|
|
|
|
$LN3:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00014 55 push rbp
|
|
00015 57 push rdi
|
|
00016 48 81 ec 58 01
|
|
00 00 sub rsp, 344 ; 00000158H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8b fc mov rdi, rsp
|
|
00025 b9 56 00 00 00 mov ecx, 86 ; 00000056H
|
|
0002a b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002f f3 ab rep stosd
|
|
00031 48 8b 8c 24 78
|
|
01 00 00 mov rcx, QWORD PTR [rsp+376]
|
|
00039 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00040 48 33 c5 xor rax, rbp
|
|
00043 48 89 85 28 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0004a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__6DFAE8B8_stdio@h
|
|
00051 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 957 : int _Result;
|
|
; 958 : va_list _ArgList;
|
|
; 959 : __crt_va_start(_ArgList, _Format);
|
|
|
|
00056 48 8d 85 58 01
|
|
00 00 lea rax, QWORD PTR _Format$[rbp+8]
|
|
0005d 48 89 45 28 mov QWORD PTR _ArgList$[rbp], rax
|
|
|
|
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
|
|
|
|
00061 48 8b 45 28 mov rax, QWORD PTR _ArgList$[rbp]
|
|
00065 48 89 85 18 01
|
|
00 00 mov QWORD PTR tv77[rbp], rax
|
|
0006c b9 01 00 00 00 mov ecx, 1
|
|
00071 ff 15 00 00 00
|
|
00 call QWORD PTR __imp___acrt_iob_func
|
|
00077 48 89 85 20 01
|
|
00 00 mov QWORD PTR tv75[rbp], rax
|
|
0007e 4c 8b 8d 18 01
|
|
00 00 mov r9, QWORD PTR tv77[rbp]
|
|
00085 45 33 c0 xor r8d, r8d
|
|
00088 48 8b 95 50 01
|
|
00 00 mov rdx, QWORD PTR _Format$[rbp]
|
|
0008f 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR tv75[rbp]
|
|
00096 e8 00 00 00 00 call _vfprintf_l
|
|
0009b 89 45 04 mov DWORD PTR _Result$[rbp], eax
|
|
|
|
; 961 : __crt_va_end(_ArgList);
|
|
|
|
0009e 48 c7 45 28 00
|
|
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
|
|
|
|
; 962 : return _Result;
|
|
|
|
000a6 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
|
|
|
|
; 963 : }
|
|
|
|
000a9 8b f8 mov edi, eax
|
|
000ab 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
000af 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:printf$rtcFrameData
|
|
000b6 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
000bb 8b c7 mov eax, edi
|
|
000bd 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
000c4 48 33 cd xor rcx, rbp
|
|
000c7 e8 00 00 00 00 call __security_check_cookie
|
|
000cc 48 8d a5 38 01
|
|
00 00 lea rsp, QWORD PTR [rbp+312]
|
|
000d3 5f pop rdi
|
|
000d4 5d pop rbp
|
|
000d5 c3 ret 0
|
|
printf ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
|
|
; COMDAT _vfprintf_l
|
|
_TEXT SEGMENT
|
|
_Stream$ = 224
|
|
_Format$ = 232
|
|
_Locale$ = 240
|
|
_ArgList$ = 248
|
|
_vfprintf_l PROC ; COMDAT
|
|
|
|
; 644 : {
|
|
|
|
$LN3:
|
|
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 57 push rdi
|
|
00016 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00022 48 8b fc mov rdi, rsp
|
|
00025 b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
|
|
0002a b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002f f3 ab rep stosd
|
|
00031 48 8b 8c 24 18
|
|
01 00 00 mov rcx, QWORD PTR [rsp+280]
|
|
00039 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__6DFAE8B8_stdio@h
|
|
00040 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
|
|
|
|
00045 e8 00 00 00 00 call __local_stdio_printf_options
|
|
0004a 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
|
|
00051 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
|
|
00056 4c 8b 8d f0 00
|
|
00 00 mov r9, QWORD PTR _Locale$[rbp]
|
|
0005d 4c 8b 85 e8 00
|
|
00 00 mov r8, QWORD PTR _Format$[rbp]
|
|
00064 48 8b 95 e0 00
|
|
00 00 mov rdx, QWORD PTR _Stream$[rbp]
|
|
0006b 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
0006e ff 15 00 00 00
|
|
00 call QWORD PTR __imp___stdio_common_vfprintf
|
|
|
|
; 646 : }
|
|
|
|
00074 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0007b 5f pop rdi
|
|
0007c 5d pop rbp
|
|
0007d c3 ret 0
|
|
_vfprintf_l ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
|
|
; COMDAT __local_stdio_printf_options
|
|
_TEXT SEGMENT
|
|
__local_stdio_printf_options PROC ; COMDAT
|
|
|
|
; 90 : {
|
|
|
|
$LN3:
|
|
00000 40 55 push rbp
|
|
00002 57 push rdi
|
|
00003 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0000f 48 8b fc mov rdi, rsp
|
|
00012 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00017 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0001c f3 ab rep stosd
|
|
0001e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__A2143F22_corecrt_stdio_config@h
|
|
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 91 : static unsigned __int64 _OptionsStorage;
|
|
; 92 : return &_OptionsStorage;
|
|
|
|
0002a 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
|
|
; 93 : }
|
|
|
|
00031 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00038 5f pop rdi
|
|
00039 5d pop rbp
|
|
0003a c3 ret 0
|
|
__local_stdio_printf_options ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 224
|
|
__formal$ = 232
|
|
__formal$ = 240
|
|
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000f 55 push rbp
|
|
00010 57 push rdi
|
|
00011 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8b fc mov rdi, rsp
|
|
00020 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002a f3 ab rep stosd
|
|
0002c 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
00034 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00040 90 npad 1
|
|
00041 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00048 5f pop rdi
|
|
00049 5d pop rbp
|
|
0004a c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 224
|
|
__formal$ = 232
|
|
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0003b 90 npad 1
|
|
0003c 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00043 5f pop rdi
|
|
00044 5d pop rbp
|
|
00045 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 224
|
|
__formal$ = 232
|
|
?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b fc mov rdi, rsp
|
|
0001b b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00025 f3 ab rep stosd
|
|
00027 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0003b 90 npad 1
|
|
0003c 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00043 5f pop rdi
|
|
00044 5d pop rbp
|
|
00045 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
|
|
; COMDAT ?__empty_global_delete@@YAXPEAX@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 224
|
|
?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT
|
|
|
|
$LN3:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8b fc mov rdi, rsp
|
|
00016 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH
|
|
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00020 f3 ab rep stosd
|
|
00022 48 8b 8c 24 08
|
|
01 00 00 mov rcx, QWORD PTR [rsp+264]
|
|
0002a 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
|
|
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00036 90 npad 1
|
|
00037 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0003e 5f pop rdi
|
|
0003f 5d pop rbp
|
|
00040 c3 ret 0
|
|
?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete
|
|
_TEXT ENDS
|
|
END
|