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

3 years ago
; 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
3 years ago
PUBLIC ?meme1@@3PAEA ; meme1
3 years ago
PUBLIC ?meme2@@3PAEA ; meme2
3 years ago
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
3 years ago
__8266A2FD_iomanip DB 01H
3 years ago
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
3 years ago
?meme2@@3PAEA DB 0c3H ; meme2
ORG $+1
3 years ago
?TestBufferSize@@3KA DD 02eH ; TestBufferSize
3 years ago
?meme1@@3PAEA DB 0b8H ; meme1
DB 0deH
3 years ago
DB 0c0H
3 years ago
DB 0acH
DB 0eH
3 years ago
_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
3 years ago
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
3 years ago
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>
3 years ago
PUBLIC ?hex@std@@YAAEAVios_base@1@AEAV21@@Z ; std::hex
3 years ago
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>
3 years ago
PUBLIC ?MakeExecutableBuffer@@YAPEAXPEAXK@Z ; MakeExecutableBuffer
3 years ago
PUBLIC main
3 years ago
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
3 years ago
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'
3 years ago
PUBLIC ??_C@_05PDJBBECF@pause@ ; `string'
PUBLIC ??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@ ; `string'
3 years ago
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'
3 years ago
EXTRN ??2@YAPEAX_K@Z:PROC ; operator new
3 years ago
EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete
3 years ago
EXTRN memcpy:PROC
EXTRN __imp_wcslen:PROC
EXTRN strlen:PROC
3 years ago
EXTRN __imp_VirtualAlloc:PROC
EXTRN __imp_srand:PROC
3 years ago
EXTRN __imp_rand:PROC
EXTRN __imp_system:PROC
3 years ago
EXTRN __imp___acrt_iob_func:PROC
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN __imp__calloc_dbg:PROC
3 years ago
EXTRN ?uncaught_exception@std@@YA_NXZ:PROC ; std::uncaught_exception
3 years ago
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
3 years ago
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
3 years ago
EXTRN __imp__time64:PROC
3 years ago
EXTRN ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z:PROC ; std::setw
3 years ago
EXTRN xed_tables_init:PROC
3 years ago
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
3 years ago
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
3 years ago
EXTRN __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A:BYTE
3 years ago
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
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
$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
3 years ago
$pdata$time DD imagerel time
DD imagerel time+77
DD imagerel $unwind$time
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
$pdata$?MakeExecutableBuffer@@YAPEAXPEAXK@Z DD imagerel $LN4
DD imagerel $LN4+136
DD imagerel $unwind$?MakeExecutableBuffer@@YAPEAXPEAXK@Z
3 years ago
pdata ENDS
3 years ago
; COMDAT pdata
pdata SEGMENT
3 years ago
$pdata$main DD imagerel $LN19
DD imagerel $LN19+1068
DD imagerel $unwind$main
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
$pdata$main$dtor$1 DD imagerel main$dtor$1
DD imagerel main$dtor$1+44
DD imagerel $unwind$main$dtor$1
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
pdata ENDS
3 years ago
; 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
3 years ago
; COMDAT ??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@
3 years ago
CONST SEGMENT
3 years ago
??_C@_0BD@FOIEMPBM@The?5numba?5was?3?5?$CFX?6@ DB 'The numba was: %X', 0aH
DB 00H ; `string'
3 years ago
CONST ENDS
3 years ago
; COMDAT ??_C@_05PDJBBECF@pause@
3 years ago
CONST SEGMENT
3 years ago
??_C@_05PDJBBECF@pause@ DB 'pause', 00H ; `string'
3 years ago
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
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ DD 025052a01H
DD 010e2313H
DD 07007001dH
DD 05006H
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$ip2state$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
3 years ago
DB 00H
DB 00H
3 years ago
xdata ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 025052a19H
DD 010e2313H
DD 070070021H
DD 05006H
3 years ago
DD imagerel __CxxFrameHandler4
3 years ago
DD imagerel $cppxdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA DD 031001H
DD 0700c4210H
3 years ago
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$ip2state$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 06H
3 years ago
DB 00H
DB 00H
3 years ago
DB 09eH
DB 02H
DB 0f1H, 02H
DB 00H
3 years ago
xdata ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025052f11H
3 years ago
DD 01132318H
3 years ago
DD 0700c0021H
3 years ago
DD 0500bH
3 years ago
DD imagerel __CxxFrameHandler4
3 years ago
DD imagerel $cppxdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$ip2state$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
3 years ago
DB 00H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025052f01H
3 years ago
DD 01132318H
DD 0700c0021H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??0?$_Fillobj@D@std@@QEAA@D@Z DD 025052e01H
DD 01122317H
DD 0700b001dH
DD 0500aH
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z DD 025052e01H
DD 01122317H
DD 0700b001dH
DD 0500aH
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 0aH
3 years ago
DB 00H
DB 00H
3 years ago
DB 0c6H
3 years ago
DB 02H
3 years ago
DB 011H, 02H
3 years ago
DB 04H
3 years ago
DB 0adH, 0aH
3 years ago
DB 02H
3 years ago
DB 0ecH
3 years ago
DB 00H
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
DB 0eH
3 years ago
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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
DD imagerel __GSHandlerCheck_EH4
3 years ago
DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
DD 0243H
3 years ago
xdata ENDS
; COMDAT CONST
CONST SEGMENT
3 years ago
??$?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
3 years ago
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> >
3 years ago
DD 00H
3 years ago
DQ FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcVarDesc
3 years ago
CONST ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$main$dtor$1 DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$main$dtor$0 DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$ip2state$main DB 0aH
3 years ago
DB 00H
DB 00H
3 years ago
DB 0c0H
DB 02H
DB 0a4H
DB 00H
3 years ago
DB '8'
DB 04H
DB 0a4H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$stateUnwindMap$main DB 04H
DB 0eH
DD imagerel main$dtor$0
DB 036H
DD imagerel main$dtor$1
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$cppxdata$main DB 028H
DD imagerel $stateUnwindMap$main
DD imagerel $ip2state$main
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$main DD 035052f19H
DD 010a330fH
DD 07003008bH
DD 05002H
3 years ago
DD imagerel __GSHandlerCheck_EH4
3 years ago
DD imagerel $cppxdata$main
DD 044aH
3 years ago
xdata ENDS
; COMDAT CONST
CONST SEGMENT
3 years ago
main$rtcName$0 DB 041H
DB 073H
DB 06dH
DB 04cH
DB 065H
DB 06eH
3 years ago
DB 00H
3 years ago
ORG $+9
main$rtcVarDesc DD 0134H
DD 04H
DQ FLAT:main$rtcName$0
3 years ago
ORG $+48
3 years ago
main$rtcFrameData DD 01H
3 years ago
DD 00H
3 years ago
DQ FLAT:main$rtcVarDesc
3 years ago
CONST ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?MakeExecutableBuffer@@YAPEAXPEAXK@Z DD 025052e01H
DD 01122317H
DD 0700b0021H
DD 0500aH
3 years ago
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
3 years ago
$unwind$?hex@std@@YAAEAVios_base@1@AEAV21@@Z DD 025052a01H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
$ip2state$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DB 02H
3 years ago
DB 00H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$cppxdata$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DB 060H
DD imagerel $ip2state$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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
3 years ago
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
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
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
3 years ago
3 years ago
; 125 : explicit __CLR_OR_THIS_CALL operator bool() const {
3 years ago
$LN3:
3 years ago
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
3 years ago
00 00 sub rsp, 232 ; 000000e8H
3 years ago
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
3 years ago
01 00 00 mov rcx, QWORD PTR [rsp+264]
3 years ago
0002a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 126 : return _Ok;
3 years ago
3 years ago
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]
3 years ago
3 years ago
; 127 : }
3 years ago
3 years ago
00041 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
_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
3 years ago
3 years ago
; 110 : __CLR_OR_THIS_CALL ~sentry() noexcept {
3 years ago
3 years ago
$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
3 years ago
3 years ago
; 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) {
3 years ago
3 years ago
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
3 years ago
3 years ago
; 120 : this->_Myostr._Osfx();
3 years ago
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
_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
3 years ago
3 years ago
; 92 : explicit __CLR_OR_THIS_CALL sentry(basic_ostream& _Ostr) : _Sentry_base(_Ostr) {
3 years ago
3 years ago
$LN7:
3 years ago
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
3 years ago
0000c 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
3 years ago
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b fc mov rdi, rsp
3 years ago
0001b b9 42 00 00 00 mov ecx, 66 ; 00000042H
3 years ago
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
3 years ago
00027 48 8b 8c 24 28
01 00 00 mov rcx, QWORD PTR [rsp+296]
3 years ago
0002f 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
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
3 years ago
3 years ago
; 94 : _Ok = false;
3 years ago
3 years ago
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
3 years ago
3 years ago
; 95 : return;
3 years ago
3 years ago
00085 e9 81 00 00 00 jmp $LN1@sentry
$LN2@sentry:
3 years ago
3 years ago
; 96 : }
; 97 :
; 98 : const auto _Tied = _Ostr.tie();
3 years ago
3 years ago
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
3 years ago
3 years ago
; 99 : if (!_Tied || _Tied == &_Ostr) {
3 years ago
3 years ago
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
3 years ago
_TEXT ENDS
3 years ago
; 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
3 years ago
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
_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
3 years ago
3 years ago
; 78 : __CLR_OR_THIS_CALL ~_Sentry_base() noexcept { // destroy after unlocking
3 years ago
3 years ago
$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
3 years ago
3 years ago
; 79 : const auto _Rdbuf = _Myostr.rdbuf();
3 years ago
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
_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
3 years ago
3 years ago
; 71 : __CLR_OR_THIS_CALL _Sentry_base(basic_ostream& _Ostr) : _Myostr(_Ostr) { // lock the stream buffer, if there
3 years ago
3 years ago
$LN4:
3 years ago
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
3 years ago
0000c 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
3 years ago
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b fc mov rdi, rsp
3 years ago
0001b b9 42 00 00 00 mov ecx, 66 ; 00000042H
3 years ago
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
3 years ago
00027 48 8b 8c 24 28
01 00 00 mov rcx, QWORD PTR [rsp+296]
3 years ago
0002f 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__1D745195_ostream
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
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
3 years ago
3 years ago
; 72 : const auto _Rdbuf = _Myostr.rdbuf();
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
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
3 years ago
3 years ago
; 49 : const _Fillobj<_Elem2>& _Manip) { // set fill character in output stream
3 years ago
$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
3 years ago
0000c 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
3 years ago
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b fc mov rdi, rsp
3 years ago
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
3 years ago
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
3 years ago
00027 48 8b 8c 24 18
01 00 00 mov rcx, QWORD PTR [rsp+280]
3 years ago
0002f 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 50 : static_assert(is_same_v<_Elem, _Elem2>, "wrong character type for setfill");
; 51 :
; 52 : _Ostr.fill(_Manip._Fill);
3 years ago
3 years ago
0003b 48 8b 85 f0 00
00 00 mov rax, QWORD PTR _Ostr$[rbp]
3 years ago
00042 48 8b 00 mov rax, QWORD PTR [rax]
3 years ago
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
3 years ago
3 years ago
; 34 : _NODISCARD _Fillobj<_Elem> setfill(_Elem _Ch) {
3 years ago
3 years ago
$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
3 years ago
3 years ago
; 35 : return _Fillobj<_Elem>(_Ch);
3 years ago
3 years ago
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]
3 years ago
3 years ago
; 36 : }
3 years ago
3 years ago
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>
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
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
3 years ago
3 years ago
; 423 : const _Smanip<_Arg>& _Manip) { // insert by calling function with output stream and argument
3 years ago
$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
3 years ago
0000c 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
3 years ago
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b fc mov rdi, rsp
3 years ago
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
3 years ago
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
3 years ago
00027 48 8b 8c 24 18
01 00 00 mov rcx, QWORD PTR [rsp+280]
3 years ago
0002f 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__8266A2FD_iomanip
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 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>
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
_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
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00035 48 33 c5 xor rax, rbp
00038 48 89 85 20 02
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
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
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
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> >
3 years ago
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
3 years ago
_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
3 years ago
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]
3 years ago
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
3 years ago
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
00021 5f pop rdi
00022 5d pop rbp
00023 c3 ret 0
3 years ago
?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
3 years ago
text$x ENDS
; COMDAT text$x
text$x SEGMENT
3 years ago
_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)
3 years ago
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]
3 years ago
__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
3 years ago
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
3 years ago
_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
3 years ago
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]
3 years ago
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
3 years ago
?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
3 years ago
_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]
3 years ago
__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
3 years ago
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
3 years ago
; COMDAT main
3 years ago
_TEXT SEGMENT
3 years ago
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
3 years ago
3 years ago
; 44 : {
3 years ago
3 years ago
$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
3 years ago
00 00 lea rcx, OFFSET FLAT:__4031338C_Main@cpp
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 45 : XedTablesInit();
3 years ago
0003b e8 00 00 00 00 call xed_tables_init
3 years ago
; 46 : srand(time(NULL));
3 years ago
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
3 years ago
; 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
3 years ago
; 73 :
; 74 : NcAppendToBlock(Pre1, Return1776);
3 years ago
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
3 years ago
; 75 : NcInsertBlockAfter(Pre1->End, Post1, 0);
3 years ago
3 years ago
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
3 years ago
3 years ago
; 76 : Pre1->End = Post1->End;
3 years ago
3 years ago
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
3 years ago
3 years ago
; 77 : NcInsertBlockAfter(Pre1->End, Pre2, 0);
3 years ago
3 years ago
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
3 years ago
3 years ago
; 78 : Pre1->End = Pre2->End;
3 years ago
3 years ago
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
3 years ago
3 years ago
; 79 : NcAppendToBlock(Pre1, RetInst);/*
3 years ago
3 years ago
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
3 years ago
3 years ago
; 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:
3 years ago
3 years ago
; 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:
3 years ago
3 years ago
; 98 :
; 99 : system("pause");
3 years ago
3 years ago
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
3 years ago
3 years ago
; 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
3 years ago
3 years ago
; 109 :
; 110 : printf("The numba was: %X\n", ExecBuffer());
3 years ago
3 years ago
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]
3 years ago
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
3 years ago
; 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
3 years ago
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Main.cpp
; COMDAT ?MakeExecutableBuffer@@YAPEAXPEAXK@Z
_TEXT SEGMENT
3 years ago
ExecBuffer$ = 8
Buffer$ = 256
BufferSize$ = 264
?MakeExecutableBuffer@@YAPEAXPEAXK@Z PROC ; MakeExecutableBuffer, COMDAT
3 years ago
3 years ago
; 14 : {
3 years ago
3 years ago
$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
3 years ago
3 years ago
; 15 : PVOID ExecBuffer = VirtualAlloc(nullptr, BufferSize, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
3 years ago
3 years ago
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
3 years ago
; 16 : if (!ExecBuffer)
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
; 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
3 years ago
; 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
3 years ago
; 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
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
?eof@?$_Narrow_char_traits@DH@std@@SAHXZ PROC ; std::_Narrow_char_traits<char,int>::eof, COMDAT
3 years ago
; 400 : _NODISCARD static constexpr int_type eof() noexcept {
3 years ago
3 years ago
$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
3 years ago
3 years ago
; 401 : return static_cast<int_type>(EOF);
3 years ago
3 years ago
0002a b8 ff ff ff ff mov eax, -1
3 years ago
3 years ago
; 402 : }
3 years ago
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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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
3 years ago
_TEXT SEGMENT
3 years ago
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
3 years ago
3 years ago
; 392 : _NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept {
3 years ago
3 years ago
$LN5:
3 years ago
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
3 years ago
0000c 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00018 48 8b fc mov rdi, rsp
3 years ago
0001b b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
3 years ago
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
3 years ago
00027 48 8b 8c 24 18
01 00 00 mov rcx, QWORD PTR [rsp+280]
3 years ago
0002f 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__D15AFF60_xstring
3 years ago
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 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
3 years ago
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; 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