; Listing generated by Microsoft (R) Optimizing Compiler Version 19.29.30038.1 include listing.inc INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES 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 __02E23235_vcruntime_new@h DB 01H __A2143F22_corecrt_stdio_config@h DB 01H __829E1958_corecrt_wstdio@h DB 01H __6DFAE8B8_stdio@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 __256B8DBF_cstddef DB 01H __741AE07E_corecrt_math@h DB 01H __80A05712_cstdlib DB 01H __44860E64_limits DB 01H __D1154D4E_type_traits DB 01H __20BB4341_malloc@h DB 01H __BDCC0984_vcruntime_exception@h DB 01H __89F7010A_exception DB 01H __7CE971A6_xutility DB 01H __DD38B15A_xmemory DB 01H __CB45C7EF_tuple DB 01H __3033C7F7_xpolymorphic_allocator@h DB 01H __A9EB37C6_xstring DB 01H __8CFB8476_string DB 01H __6D66DEAE_cmath DB 01H __00B93B57_stdexcept DB 01H __79ECA8A5_xcall_once@h DB 01H __A0B61CF9_time@h DB 01H __8476F639_xthreads@h DB 01H __2FB352A6_atomic DB 01H __C6B1BA85_system_error DB 01H __65F43743_vcruntime_typeinfo@h DB 01H __0C3682BF_typeinfo DB 01H __F82802EA_memory DB 01H __D46D55E5_xfacet DB 01H __13BF6177_xlocinfo DB 01H __76D543F7_xlocale DB 01H __2A5A1664_xiosbase DB 01H __E85225E0_xlocnum DB 01H __FD1AE8DD_ios DB 01H __C33030D8_xlocmon DB 01H __B7A2C865_xloctime DB 01H __8660297E_xed-util@h DB 01H __F79B480A_xed-iform-map@h DB 01H __F5B5218E_xed-inst@h DB 01H __68D74A7D_xed-flags@h DB 01H __A4B65E9F_xed-operand-accessors@h DB 01H __E8B35E51_xed-state@h DB 01H __1E3F2A25_xed-encode@h DB 01H __1C89993E_xed-encoder-hl@h DB 01H __0AA8C18B_xed-decoded-inst-api@h DB 01H __52D0D2F0_Nop@cpp DB 01H __0615AC09_istream DB 01H __65C59933_ostream DB 01H __021983EB_streambuf DB 01H __6D45C6E6_iterator DB 01H __886FDBE2_iosfwd DB 01H __B7ADD299_utility DB 01H __40B2458B_xstddef DB 01H __83FB8DDC_xatomic@h DB 01H msvcjmc 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 wmemcpy PUBLIC ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr PUBLIC ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs PUBLIC ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr PUBLIC ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get > >::_Getvals PUBLIC ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get > >::_Getvals PUBLIC ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ ; NcEmitNop PUBLIC ?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z ; NcEmitNopGroup PUBLIC __JustMyCode_Default PUBLIC ??_C@_0GI@LEPEPCM@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@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string' PUBLIC ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ ; `string' PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string' EXTRN ??2@YAPEAX_K@Z:PROC ; operator new EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete EXTRN memcpy:PROC EXTRN __imp_wcslen:PROC EXTRN strlen:PROC EXTRN __imp__calloc_dbg:PROC EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc EXTRN _Mbrtowc:PROC EXTRN __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ:PROC EXTRN __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ:PROC EXTRN __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ:PROC EXTRN __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ:PROC EXTRN __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ:PROC EXTRN xed_decode:PROC EXTRN ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK EXTRN ??0_NATIVE_CODE_BLOCK@@QEAA@XZ:PROC ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK EXTRN ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z:PROC ; NcAppendToBlock EXTRN _RTC_CheckStackVars:PROC EXTRN _RTC_InitBase:PROC EXTRN _RTC_Shutdown:PROC EXTRN __CheckForDebuggerJustMyCode:PROC EXTRN __CxxFrameHandler4:PROC EXTRN __GSHandlerCheck:PROC EXTRN __GSHandlerCheck_EH4:PROC EXTRN __security_check_cookie:PROC EXTRN __security_cookie:QWORD ; COMDAT pdata pdata SEGMENT $pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3 DD imagerel $LN3+41 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+46 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+46 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+51 DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$wmemcpy DD imagerel $LN3 DD imagerel $LN3+83 DD imagerel $unwind$wmemcpy pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD imagerel $LN12 DD imagerel $LN12+586 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+142 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+200 DD imagerel $unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5 DD imagerel $LN5+356 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+356 DD imagerel $unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DD imagerel $LN6 DD imagerel $LN6+253 DD imagerel $unwind$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA DD imagerel ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA DD imagerel ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA+44 DD imagerel $unwind$?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DD imagerel $LN10 DD imagerel $LN10+197 DD imagerel $unwind$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD imagerel ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD imagerel ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA+44 DD imagerel $unwind$?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA pdata ENDS ; COMDAT rtc$TMZ rtc$TMZ SEGMENT _RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown rtc$TMZ ENDS ; COMDAT rtc$IMZ rtc$IMZ SEGMENT _RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase rtc$IMZ ENDS ; COMDAT ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ CONST SEGMENT ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ DB ':' DB 00H, 'A', 00H, 'M', 00H, ':', 00H, 'a', 00H, 'm', 00H, ':', 00H DB 'P', 00H, 'M', 00H, ':', 00H, 'p', 00H, 'm', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ CONST SEGMENT ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ DB ':AM:am:PM:pm', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ CONST SEGMENT ??_C@_0GI@IIACENIN@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.29.30037\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@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ CONST SEGMENT ??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Prog' DB 'ram Files (x86)\Microsoft Visual Studio\2019\Community\VC\Too' DB 'ls\MSVC\14.29.30037\include\xlocale', 00H ; `string' CONST ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H DB 05H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DB 06H DB 00H DB 00H DB '~' DB 02H DB 'p' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DB 02H DB 0eH DD imagerel ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DB 028H DD imagerel $stateUnwindMap$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DD imagerel $ip2state$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z DD 025051211H DD 010d2312H DD 070060029H DD 05005H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 00H DB 05H voltbl ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DB 02aH DB 0e4H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DB 06H DB 00H DB 00H DB 0a4H DB 02H DB 09eH DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DB 02H DB 0eH DD imagerel ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DB 028H DD imagerel $stateUnwindMap$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DD imagerel $ip2state$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DD 035053119H DD 010a330fH DD 070030031H DD 05002H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ DD 0172H xdata ENDS ; COMDAT CONST CONST SEGMENT ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcName$0 DB 052H ; NcEmitNop DB 061H DB 077H DB 044H DB 061H DB 074H DB 061H DB 00H ORG $+8 ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcVarDesc DD 034H ; NcEmitNop DD 01H DQ FLAT:?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcName$0 ORG $+48 ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcFrameData DD 01H ; NcEmitNop DD 00H DQ FLAT:?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcVarDesc CONST 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 025061e01H 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 025061e01H DD 0119231eH DD 070120026H DD 050106011H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD 035051d01H DD 0118331dH DD 07011002bH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD 035051301H DD 010e3313H DD 070070027H DD 05006H xdata ENDS ; COMDAT voltbl voltbl SEGMENT _volmd DW 040H DW 0231H voltbl ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD 035054719H 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 DB 057H DB 063H DB 00H ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1 DB 05fH ; std::_Maklocstr 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 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 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 DD 00H DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$wmemcpy DD 025051d01H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 025051d01H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 025051801H DD 01132318H DD 0700c001dH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 025051801H DD 01132318H DD 0700c001dH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX@Z DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; Function compile flags: /Odt ; COMDAT __JustMyCode_Default _TEXT SEGMENT __JustMyCode_Default PROC ; COMDAT 00000 c2 00 00 ret 0 __JustMyCode_Default ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\@\Work\code-virtualizer\CodeVirtualizer\Nop.cpp ; COMDAT ?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z _TEXT SEGMENT Block$ = 8 $T1 = 232 $T2 = 264 tv76 = 280 Count$ = 320 ?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z PROC ; NcEmitNopGroup, COMDAT ; 12 : { $LN10: 00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00004 55 push rbp 00005 57 push rdi 00006 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00012 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 13 : if (Count < 1) 0001e 83 bd 40 01 00 00 01 cmp DWORD PTR Count$[rbp], 1 00025 73 07 jae SHORT $LN4@NcEmitNopG ; 14 : return NULL; 00027 33 c0 xor eax, eax 00029 e9 8d 00 00 00 jmp $LN1@NcEmitNopG $LN4@NcEmitNopG: ; 15 : ; 16 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK; 0002e b9 30 00 00 00 mov ecx, 48 ; 00000030H 00033 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 00038 48 89 85 08 01 00 00 mov QWORD PTR $T2[rbp], rax 0003f 48 83 bd 08 01 00 00 00 cmp QWORD PTR $T2[rbp], 0 00047 74 15 je SHORT $LN7@NcEmitNopG 00049 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR $T2[rbp] 00050 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK 00055 48 89 85 18 01 00 00 mov QWORD PTR tv76[rbp], rax 0005c eb 0b jmp SHORT $LN8@NcEmitNopG $LN7@NcEmitNopG: 0005e 48 c7 85 18 01 00 00 00 00 00 00 mov QWORD PTR tv76[rbp], 0 $LN8@NcEmitNopG: 00069 48 8b 85 18 01 00 00 mov rax, QWORD PTR tv76[rbp] 00070 48 89 85 e8 00 00 00 mov QWORD PTR $T1[rbp], rax 00077 48 8b 85 e8 00 00 00 mov rax, QWORD PTR $T1[rbp] 0007e 48 89 45 08 mov QWORD PTR Block$[rbp], rax ; 17 : if (!Block) 00082 48 83 7d 08 00 cmp QWORD PTR Block$[rbp], 0 00087 75 04 jne SHORT $LN2@NcEmitNopG ; 18 : return NULL; 00089 33 c0 xor eax, eax 0008b eb 2e jmp SHORT $LN1@NcEmitNopG $LN2@NcEmitNopG: ; 19 : ; 20 : while (Count) 0008d 83 bd 40 01 00 00 00 cmp DWORD PTR Count$[rbp], 0 00094 74 21 je SHORT $LN3@NcEmitNopG ; 21 : { ; 22 : NcAppendToBlock(Block, NcEmitNop()); 00096 e8 00 00 00 00 call ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ ; NcEmitNop 0009b 48 8b d0 mov rdx, rax 0009e 48 8b 4d 08 mov rcx, QWORD PTR Block$[rbp] 000a2 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock ; 23 : Count--; 000a7 8b 85 40 01 00 00 mov eax, DWORD PTR Count$[rbp] 000ad ff c8 dec eax 000af 89 85 40 01 00 00 mov DWORD PTR Count$[rbp], eax ; 24 : } 000b5 eb d6 jmp SHORT $LN2@NcEmitNopG $LN3@NcEmitNopG: ; 25 : ; 26 : return Block; 000b7 48 8b 45 08 mov rax, QWORD PTR Block$[rbp] $LN1@NcEmitNopG: ; 27 : } 000bb 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 000c2 5f pop rdi 000c3 5d pop rbp 000c4 c3 ret 0 ?NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z ENDP ; NcEmitNopGroup _TEXT ENDS ; COMDAT text$x text$x SEGMENT Block$ = 8 $T1 = 232 $T2 = 264 tv76 = 280 Count$ = 320 ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `NcEmitNopGroup'::`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 ba 30 00 00 00 mov edx, 48 ; 00000030H 00019 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR $T2[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 ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `NcEmitNopGroup'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT Block$ = 8 $T1 = 232 $T2 = 264 tv76 = 280 Count$ = 320 ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `NcEmitNopGroup'::`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 ba 30 00 00 00 mov edx, 48 ; 00000030H 00019 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR $T2[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 ?dtor$0@?0??NcEmitNopGroup@@YAPEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `NcEmitNopGroup'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\@\Work\code-virtualizer\CodeVirtualizer\Nop.cpp ; COMDAT ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ _TEXT SEGMENT RawData$ = 4 Link$ = 40 $T4 = 264 $T5 = 296 tv79 = 312 __$ArrayPad$ = 320 ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ PROC ; NcEmitNop, COMDAT ; 4 : { $LN6: 00000 40 55 push rbp 00002 57 push rdi 00003 48 81 ec 88 01 00 00 sub rsp, 392 ; 00000188H 0000a 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 0000f 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00014 b9 26 00 00 00 mov ecx, 38 ; 00000026H 00019 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0001e f3 ab rep stosd 00020 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00027 48 33 c5 xor rax, rbp 0002a 48 89 85 40 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00031 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 5 : UCHAR RawData[] = { 0x90 }; 0003d c6 45 04 90 mov BYTE PTR RawData$[rbp], 144 ; 00000090H ; 6 : PNATIVE_CODE_LINK Link = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, RawData, 1); 00041 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H 00046 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 0004b 48 89 85 28 01 00 00 mov QWORD PTR $T5[rbp], rax 00052 48 83 bd 28 01 00 00 00 cmp QWORD PTR $T5[rbp], 0 0005a 74 2c je SHORT $LN3@NcEmitNop 0005c c7 44 24 20 00 00 00 00 mov DWORD PTR [rsp+32], 0 00064 41 b9 01 00 00 00 mov r9d, 1 0006a 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp] 0006e ba 04 00 00 00 mov edx, 4 00073 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR $T5[rbp] 0007a e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK 0007f 48 89 85 38 01 00 00 mov QWORD PTR tv79[rbp], rax 00086 eb 0b jmp SHORT $LN4@NcEmitNop $LN3@NcEmitNop: 00088 48 c7 85 38 01 00 00 00 00 00 00 mov QWORD PTR tv79[rbp], 0 $LN4@NcEmitNop: 00093 48 8b 85 38 01 00 00 mov rax, QWORD PTR tv79[rbp] 0009a 48 89 85 08 01 00 00 mov QWORD PTR $T4[rbp], rax 000a1 48 8b 85 08 01 00 00 mov rax, QWORD PTR $T4[rbp] 000a8 48 89 45 28 mov QWORD PTR Link$[rbp], rax ; 7 : XedDecode(&Link->XedInstruction, Link->RawData, 1); 000ac 48 8b 45 28 mov rax, QWORD PTR Link$[rbp] 000b0 48 83 c0 30 add rax, 48 ; 00000030H 000b4 41 b8 01 00 00 00 mov r8d, 1 000ba 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp] 000be 48 8b 51 20 mov rdx, QWORD PTR [rcx+32] 000c2 48 8b c8 mov rcx, rax 000c5 e8 00 00 00 00 call xed_decode ; 8 : return Link; 000ca 48 8b 45 28 mov rax, QWORD PTR Link$[rbp] ; 9 : } 000ce 48 8b f8 mov rdi, rax 000d1 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 000d5 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ$rtcFrameData 000dc e8 00 00 00 00 call _RTC_CheckStackVars 000e1 48 8b c7 mov rax, rdi 000e4 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000eb 48 33 cd xor rcx, rbp 000ee e8 00 00 00 00 call __security_check_cookie 000f3 48 8d a5 58 01 00 00 lea rsp, QWORD PTR [rbp+344] 000fa 5f pop rdi 000fb 5d pop rbp 000fc c3 ret 0 ?NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ ENDP ; NcEmitNop _TEXT ENDS ; COMDAT text$x text$x SEGMENT RawData$ = 4 Link$ = 40 $T4 = 264 $T5 = 296 tv79 = 312 __$ArrayPad$ = 320 ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA PROC ; `NcEmitNop'::`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 30 lea rbp, QWORD PTR [rdx+48] 00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H 00019 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR $T5[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 ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA ENDP ; `NcEmitNop'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT RawData$ = 4 Link$ = 40 $T4 = 264 $T5 = 296 tv79 = 312 __$ArrayPad$ = 320 ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA PROC ; `NcEmitNop'::`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 30 lea rbp, QWORD PTR [rdx+48] 00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H 00019 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR $T5[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 ?dtor$0@?0??NcEmitNop@@YAPEAU_NATIVE_CODE_LINK@@XZ@4HA ENDP ; `NcEmitNop'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\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 > >::_Getvals, COMDAT ; 173 : 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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime 00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 174 : _Cvt = _Lobj._Getcvt(); 0002a 48 8d 95 c8 00 00 00 lea rdx, QWORD PTR $T1[rbp] 00031 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00038 ff 15 00 00 00 00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ 0003e 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44] 00049 48 8b f0 mov rsi, rax 0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH 00051 f3 a4 rep movsb ; 175 : ; 176 : if (is_same_v<_Elem2, wchar_t>) { 00053 33 c0 xor eax, eax 00055 83 f8 01 cmp eax, 1 00058 74 5c je SHORT $LN2@Getvals ; 177 : _Days = reinterpret_cast(_Maklocwcs(reinterpret_cast(_Lobj._W_Getdays()))); 0005a 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00061 ff 15 00 00 00 00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ 00067 48 8b c8 mov rcx, rax 0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs 0006f 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00076 48 89 41 10 mov QWORD PTR [rcx+16], rax ; 178 : _Months = 0007a 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00081 ff 15 00 00 00 00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ 00087 48 8b c8 mov rcx, rax 0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs 0008f 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00096 48 89 41 18 mov QWORD PTR [rcx+24], rax ; 179 : reinterpret_cast(_Maklocwcs(reinterpret_cast(_Lobj._W_Getmonths()))); ; 180 : _Ampm = reinterpret_cast(_Maklocwcs(L":AM:am:PM:pm")); 0009a 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@ 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 20 mov QWORD PTR [rcx+32], rax ; 181 : } else { 000b1 e9 a3 00 00 00 jmp $LN3@Getvals $LN2@Getvals: ; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt); 000b6 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 000bd 48 83 c0 2c add rax, 44 ; 0000002cH 000c1 48 89 85 08 01 00 00 mov QWORD PTR tv85[rbp], rax 000c8 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 000cf ff 15 00 00 00 00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ 000d5 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR tv85[rbp] 000dc 4c 8b c1 mov r8, rcx 000df 33 d2 xor edx, edx 000e1 48 8b c8 mov rcx, rax 000e4 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr 000e9 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax ; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt); 000f4 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 000fb 48 83 c0 2c add rax, 44 ; 0000002cH 000ff 48 89 85 08 01 00 00 mov QWORD PTR tv93[rbp], rax 00106 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 0010d ff 15 00 00 00 00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ 00113 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR tv93[rbp] 0011a 4c 8b c1 mov r8, rcx 0011d 33 d2 xor edx, edx 0011f 48 8b c8 mov rcx, rax 00122 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr 00127 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax ; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt); 00132 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 00139 48 83 c0 2c add rax, 44 ; 0000002cH 0013d 4c 8b c0 mov r8, rax 00140 33 d2 xor edx, edx 00142 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ 00149 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr 0014e 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00155 48 89 41 20 mov QWORD PTR [rcx+32], rax $LN3@Getvals: ; 185 : } ; 186 : } 00159 48 8d a5 10 01 00 00 lea rsp, QWORD PTR [rbp+272] 00160 5f pop rdi 00161 5e pop rsi 00162 5d pop rbp 00163 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 > >::_Getvals _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\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 > >::_Getvals, COMDAT ; 173 : 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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime 00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 174 : _Cvt = _Lobj._Getcvt(); 0002a 48 8d 95 c8 00 00 00 lea rdx, QWORD PTR $T1[rbp] 00031 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00038 ff 15 00 00 00 00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ 0003e 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44] 00049 48 8b f0 mov rsi, rax 0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH 00051 f3 a4 rep movsb ; 175 : ; 176 : if (is_same_v<_Elem2, wchar_t>) { 00053 33 c0 xor eax, eax 00055 83 f8 01 cmp eax, 1 00058 74 5c je SHORT $LN2@Getvals ; 177 : _Days = reinterpret_cast(_Maklocwcs(reinterpret_cast(_Lobj._W_Getdays()))); 0005a 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00061 ff 15 00 00 00 00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ 00067 48 8b c8 mov rcx, rax 0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs 0006f 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00076 48 89 41 10 mov QWORD PTR [rcx+16], rax ; 178 : _Months = 0007a 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 00081 ff 15 00 00 00 00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ 00087 48 8b c8 mov rcx, rax 0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs 0008f 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00096 48 89 41 18 mov QWORD PTR [rcx+24], rax ; 179 : reinterpret_cast(_Maklocwcs(reinterpret_cast(_Lobj._W_Getmonths()))); ; 180 : _Ampm = reinterpret_cast(_Maklocwcs(L":AM:am:PM:pm")); 0009a 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@ 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 20 mov QWORD PTR [rcx+32], rax ; 181 : } else { 000b1 e9 a3 00 00 00 jmp $LN3@Getvals $LN2@Getvals: ; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt); 000b6 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 000bd 48 83 c0 2c add rax, 44 ; 0000002cH 000c1 48 89 85 08 01 00 00 mov QWORD PTR tv85[rbp], rax 000c8 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 000cf ff 15 00 00 00 00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ 000d5 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR tv85[rbp] 000dc 4c 8b c1 mov r8, rcx 000df 33 d2 xor edx, edx 000e1 48 8b c8 mov rcx, rax 000e4 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr 000e9 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax ; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt); 000f4 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 000fb 48 83 c0 2c add rax, 44 ; 0000002cH 000ff 48 89 85 08 01 00 00 mov QWORD PTR tv93[rbp], rax 00106 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Lobj$[rbp] 0010d ff 15 00 00 00 00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ 00113 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR tv93[rbp] 0011a 4c 8b c1 mov r8, rcx 0011d 33 d2 xor edx, edx 0011f 48 8b c8 mov rcx, rax 00122 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr 00127 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax ; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt); 00132 48 8b 85 30 01 00 00 mov rax, QWORD PTR this$[rbp] 00139 48 83 c0 2c add rax, 44 ; 0000002cH 0013d 4c 8b c0 mov r8, rax 00140 33 d2 xor edx, edx 00142 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ 00149 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr 0014e 48 8b 8d 30 01 00 00 mov rcx, QWORD PTR this$[rbp] 00155 48 89 41 20 mov QWORD PTR [rcx+32], rax $LN3@Getvals: ; 185 : } ; 186 : } 00159 48 8d a5 10 01 00 00 lea rsp, QWORD PTR [rbp+272] 00160 5f pop rdi 00161 5e pop rsi 00162 5d pop rbp 00163 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 > >::_Getvals _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\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, COMDAT ; 522 : _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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 523 : // convert C string to _Elem sequence using _Cvtvec ; 524 : size_t _Count = _CSTD strlen(_Ptr) + 1; 00029 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00030 e8 00 00 00 00 call strlen 00035 48 ff c0 inc rax 00038 48 89 45 08 mov QWORD PTR _Count$[rbp], rax ; 525 : ; 526 : _Elem* _Ptrdest = static_cast<_Elem*>(_calloc_dbg(_Count, sizeof(_Elem), _CRT_BLOCK, __FILE__, __LINE__)); 0003c c7 44 24 20 0e 02 00 00 mov DWORD PTR [rsp+32], 526 ; 0000020eH 00044 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 0004b 41 b8 02 00 00 00 mov r8d, 2 00051 ba 01 00 00 00 mov edx, 1 00056 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp] 0005a ff 15 00 00 00 00 call QWORD PTR __imp__calloc_dbg 00060 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax ; 527 : ; 528 : if (!_Ptrdest) { 00064 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0 00069 75 05 jne SHORT $LN5@Maklocstr ; 529 : _Xbad_alloc(); 0006b e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc $LN5@Maklocstr: ; 530 : } ; 531 : ; 532 : for (_Elem* _Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) { 00070 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp] 00074 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax 00078 eb 27 jmp SHORT $LN4@Maklocstr $LN2@Maklocstr: 0007a 48 8b 45 08 mov rax, QWORD PTR _Count$[rbp] 0007e 48 ff c8 dec rax 00081 48 89 45 08 mov QWORD PTR _Count$[rbp], rax 00085 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp] 00089 48 ff c0 inc rax 0008c 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax 00090 48 8b 85 40 01 00 00 mov rax, QWORD PTR _Ptr$[rbp] 00097 48 ff c0 inc rax 0009a 48 89 85 40 01 00 00 mov QWORD PTR _Ptr$[rbp], rax $LN4@Maklocstr: 000a1 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0 000a6 76 12 jbe SHORT $LN3@Maklocstr ; 533 : *_Ptrnext = static_cast<_Elem>(static_cast(*_Ptr)); 000a8 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp] 000ac 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 000b3 0f b6 09 movzx ecx, BYTE PTR [rcx] 000b6 88 08 mov BYTE PTR [rax], cl ; 534 : } 000b8 eb c0 jmp SHORT $LN2@Maklocstr $LN3@Maklocstr: ; 535 : ; 536 : return _Ptrdest; 000ba 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp] $LN6@Maklocstr: ; 537 : } 000be 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 000c5 5f pop rdi 000c6 5d pop rbp 000c7 c3 ret 0 ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__E85225E0_xlocnum 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 91 : const size_t _Count = _CSTD wcslen(_Ptr) + 1; 0001f 48 8b 8d 20 01 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00026 ff 15 00 00 00 00 call QWORD PTR __imp_wcslen 0002c 48 ff c0 inc rax 0002f 48 89 45 08 mov QWORD PTR _Count$[rbp], rax ; 92 : ; 93 : wchar_t* _Ptrdest = static_cast(_calloc_dbg(_Count, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__)); 00033 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA 00039 83 c0 03 add eax, 3 0003c 89 44 24 20 mov DWORD PTR [rsp+32], eax 00040 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 00047 41 b8 02 00 00 00 mov r8d, 2 0004d ba 02 00 00 00 mov edx, 2 00052 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp] 00056 ff 15 00 00 00 00 call QWORD PTR __imp__calloc_dbg 0005c 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax ; 94 : ; 95 : if (!_Ptrdest) { 00060 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0 00065 75 05 jne SHORT $LN2@Maklocwcs ; 96 : _Xbad_alloc(); 00067 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc $LN2@Maklocwcs: ; 97 : } ; 98 : ; 99 : _CSTD wmemcpy(_Ptrdest, _Ptr, _Count); 0006c 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp] 00070 48 8b 95 20 01 00 00 mov rdx, QWORD PTR _Ptr$[rbp] 00077 48 8b 4d 28 mov rcx, QWORD PTR _Ptrdest$[rbp] 0007b e8 00 00 00 00 call wmemcpy ; 100 : return _Ptrdest; 00080 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp] $LN3@Maklocwcs: ; 101 : } 00084 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 0008b 5f pop rdi 0008c 5d pop rbp 0008d 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.29.30037\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, COMDAT ; 540 : 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 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48] 00022 b9 52 00 00 00 mov ecx, 82 ; 00000052H 00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002c f3 ab rep stosd 0002e 48 8b 8c 24 58 02 00 00 mov rcx, QWORD PTR [rsp+600] 00036 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 0003d 48 33 c5 xor rax, rbp 00040 48 89 85 f8 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 00047 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale 0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 541 : // convert C string to wchar_t sequence using _Cvtvec ; 542 : size_t _Count; ; 543 : size_t _Count1; ; 544 : size_t _Wchars; ; 545 : const char* _Ptr1; ; 546 : int _Bytes; ; 547 : wchar_t _Wc; ; 548 : mbstate_t _Mbst1 = {}; 00053 48 8d 85 c8 00 00 00 lea rax, QWORD PTR _Mbst1$[rbp] 0005a 48 8b f8 mov rdi, rax 0005d 33 c0 xor eax, eax 0005f b9 08 00 00 00 mov ecx, 8 00064 f3 aa rep stosb ; 549 : ; 550 : _Count1 = _CSTD strlen(_Ptr) + 1; 00066 48 8b 8d 20 02 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 0006d e8 00 00 00 00 call strlen 00072 48 ff c0 inc rax 00075 48 89 45 28 mov QWORD PTR _Count1$[rbp], rax ; 551 : for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; _Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) { 00079 48 8b 45 28 mov rax, QWORD PTR _Count1$[rbp] 0007d 48 89 45 08 mov QWORD PTR _Count$[rbp], rax 00081 48 c7 45 48 00 00 00 00 mov QWORD PTR _Wchars$[rbp], 0 00089 48 8b 85 20 02 00 00 mov rax, QWORD PTR _Ptr$[rbp] 00090 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax 00094 eb 35 jmp SHORT $LN4@Maklocstr $LN2@Maklocstr: 00096 48 63 85 84 00 00 00 movsxd rax, DWORD PTR _Bytes$[rbp] 0009d 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp] 000a1 48 2b c8 sub rcx, rax 000a4 48 8b c1 mov rax, rcx 000a7 48 89 45 08 mov QWORD PTR _Count$[rbp], rax 000ab 48 63 85 84 00 00 00 movsxd rax, DWORD PTR _Bytes$[rbp] 000b2 48 8b 4d 68 mov rcx, QWORD PTR _Ptr1$[rbp] 000b6 48 03 c8 add rcx, rax 000b9 48 8b c1 mov rax, rcx 000bc 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax 000c0 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp] 000c4 48 ff c0 inc rax 000c7 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax $LN4@Maklocstr: 000cb 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0 000d0 76 3a jbe SHORT $LN3@Maklocstr ; 552 : if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) { 000d2 48 8b 85 30 02 00 00 mov rax, QWORD PTR _Cvt$[rbp] 000d9 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 000de 4c 8d 8d c8 00 00 00 lea r9, QWORD PTR _Mbst1$[rbp] 000e5 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp] 000e9 48 8b 55 68 mov rdx, QWORD PTR _Ptr1$[rbp] 000ed 48 8d 8d a4 00 00 00 lea rcx, QWORD PTR _Wc$[rbp] 000f4 e8 00 00 00 00 call _Mbrtowc 000f9 89 85 84 00 00 00 mov DWORD PTR _Bytes$[rbp], eax 000ff 83 bd 84 00 00 00 00 cmp DWORD PTR _Bytes$[rbp], 0 00106 7f 02 jg SHORT $LN8@Maklocstr ; 553 : break; 00108 eb 02 jmp SHORT $LN3@Maklocstr $LN8@Maklocstr: ; 554 : } ; 555 : } 0010a eb 8a jmp SHORT $LN2@Maklocstr $LN3@Maklocstr: ; 556 : ; 557 : ++_Wchars; // count terminating nul 0010c 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp] 00110 48 ff c0 inc rax 00113 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax ; 558 : ; 559 : wchar_t* _Ptrdest = static_cast(_calloc_dbg(_Wchars, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__)); 00117 c7 44 24 20 2f 02 00 00 mov DWORD PTR [rsp+32], 559 ; 0000022fH 0011f 4c 8d 0d 00 00 00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 00126 41 b8 02 00 00 00 mov r8d, 2 0012c ba 02 00 00 00 mov edx, 2 00131 48 8b 4d 48 mov rcx, QWORD PTR _Wchars$[rbp] 00135 ff 15 00 00 00 00 call QWORD PTR __imp__calloc_dbg 0013b 48 89 85 e8 00 00 00 mov QWORD PTR _Ptrdest$[rbp], rax ; 560 : ; 561 : if (!_Ptrdest) { 00142 48 83 bd e8 00 00 00 00 cmp QWORD PTR _Ptrdest$[rbp], 0 0014a 75 05 jne SHORT $LN9@Maklocstr ; 562 : _Xbad_alloc(); 0014c e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc $LN9@Maklocstr: ; 563 : } ; 564 : ; 565 : wchar_t* _Ptrnext = _Ptrdest; 00151 48 8b 85 e8 00 00 00 mov rax, QWORD PTR _Ptrdest$[rbp] 00158 48 89 85 08 01 00 00 mov QWORD PTR _Ptrnext$[rbp], rax ; 566 : mbstate_t _Mbst2 = {}; 0015f 48 8d 85 28 01 00 00 lea rax, QWORD PTR _Mbst2$[rbp] 00166 48 8b f8 mov rdi, rax 00169 33 c0 xor eax, eax 0016b b9 08 00 00 00 mov ecx, 8 00170 f3 aa rep stosb ; 567 : ; 568 : for (; 0 < _Wchars; _Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) { 00172 eb 4d jmp SHORT $LN7@Maklocstr $LN5@Maklocstr: 00174 48 63 85 84 00 00 00 movsxd rax, DWORD PTR _Bytes$[rbp] 0017b 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp] 0017f 48 2b c8 sub rcx, rax 00182 48 8b c1 mov rax, rcx 00185 48 89 45 08 mov QWORD PTR _Count$[rbp], rax 00189 48 63 85 84 00 00 00 movsxd rax, DWORD PTR _Bytes$[rbp] 00190 48 8b 8d 20 02 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00197 48 03 c8 add rcx, rax 0019a 48 8b c1 mov rax, rcx 0019d 48 89 85 20 02 00 00 mov QWORD PTR _Ptr$[rbp], rax 001a4 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp] 001a8 48 ff c8 dec rax 001ab 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax 001af 48 8b 85 08 01 00 00 mov rax, QWORD PTR _Ptrnext$[rbp] 001b6 48 83 c0 02 add rax, 2 001ba 48 89 85 08 01 00 00 mov QWORD PTR _Ptrnext$[rbp], rax $LN7@Maklocstr: 001c1 48 83 7d 48 00 cmp QWORD PTR _Wchars$[rbp], 0 001c6 76 40 jbe SHORT $LN6@Maklocstr ; 569 : if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) { 001c8 48 8b 85 30 02 00 00 mov rax, QWORD PTR _Cvt$[rbp] 001cf 48 89 44 24 20 mov QWORD PTR [rsp+32], rax 001d4 4c 8d 8d 28 01 00 00 lea r9, QWORD PTR _Mbst2$[rbp] 001db 4c 8b 45 28 mov r8, QWORD PTR _Count1$[rbp] 001df 48 8b 95 20 02 00 00 mov rdx, QWORD PTR _Ptr$[rbp] 001e6 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR _Ptrnext$[rbp] 001ed e8 00 00 00 00 call _Mbrtowc 001f2 89 85 84 00 00 00 mov DWORD PTR _Bytes$[rbp], eax 001f8 83 bd 84 00 00 00 00 cmp DWORD PTR _Bytes$[rbp], 0 001ff 7f 02 jg SHORT $LN10@Maklocstr ; 570 : break; 00201 eb 05 jmp SHORT $LN6@Maklocstr $LN10@Maklocstr: ; 571 : } ; 572 : } 00203 e9 6c ff ff ff jmp $LN5@Maklocstr $LN6@Maklocstr: ; 573 : ; 574 : *_Ptrnext = L'\0'; 00208 33 c0 xor eax, eax 0020a 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR _Ptrnext$[rbp] 00211 66 89 01 mov WORD PTR [rcx], ax ; 575 : ; 576 : return _Ptrdest; 00214 48 8b 85 e8 00 00 00 mov rax, QWORD PTR _Ptrdest$[rbp] $LN11@Maklocstr: ; 577 : } 0021b 48 8b f8 mov rdi, rax 0021e 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48] 00222 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData 00229 e8 00 00 00 00 call _RTC_CheckStackVars 0022e 48 8b c7 mov rax, rdi 00231 48 8b 8d f8 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 00238 48 33 cd xor rcx, rbp 0023b e8 00 00 00 00 call __security_check_cookie 00240 48 8d a5 08 02 00 00 lea rsp, QWORD PTR [rbp+520] 00247 5f pop rdi 00248 5d pop rbp 00249 c3 ret 0 ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\wchar.h ; COMDAT wmemcpy _TEXT SEGMENT _S1$ = 224 _S2$ = 232 _N$ = 240 wmemcpy PROC ; COMDAT ; 234 : { $LN3: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__93DC0B45_wchar@h 00024 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)); 00029 48 8b 85 f0 00 00 00 mov rax, QWORD PTR _N$[rbp] 00030 48 d1 e0 shl rax, 1 00033 4c 8b c0 mov r8, rax 00036 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR _S2$[rbp] 0003d 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR _S1$[rbp] 00044 e8 00 00 00 00 call memcpy ; 237 : } 00049 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00050 5f pop rdi 00051 5d pop rbp 00052 c3 ret 0 wmemcpy ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\@\Work\code-virtualizer\CodeVirtualizer\Nop.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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode 00029 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00030 5f pop rdi 00031 5d pop rbp 00032 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:\@\Work\code-virtualizer\CodeVirtualizer\Nop.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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode 00024 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0002b 5f pop rdi 0002c 5d pop rbp 0002d 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:\@\Work\code-virtualizer\CodeVirtualizer\Nop.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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode 00024 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0002b 5f pop rdi 0002c 5d pop rbp 0002d c3 ret 0 ?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\@\Work\code-virtualizer\CodeVirtualizer\Nop.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 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__52D0D2F0_Nop@cpp 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode 0001f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00026 5f pop rdi 00027 5d pop rbp 00028 c3 ret 0 ?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete _TEXT ENDS END