; Listing generated by Microsoft (R) Optimizing Compiler Version 19.27.29111.0 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 __8906660C_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 __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 __0ED96A82_algorithm DB 01H __296E625F_xed-util@h DB 01H __642E1CAE_xed-iform-map@h DB 01H __5ABB6AAF_xed-inst@h DB 01H __24115468_xed-flags@h DB 01H __818AA54B_xed-operand-accessors@h DB 01H __A4754044_xed-state@h DB 01H __73AE08D0_xed-encode@h DB 01H __CDA14B9B_xed-encoder-hl@h DB 01H __5981B539_xed-decoded-inst-api@h DB 01H __DD050276_Jit@cpp DB 01H __BF2A7ACC_vector 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 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 ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned PUBLIC ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all 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 ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z ; _NATIVE_CODE_LINK::`scalar deleting destructor' PUBLIC ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator::deallocate PUBLIC ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ; std::vector >::~vector > PUBLIC ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector >::_Destroy PUBLIC ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ; std::vector >::_Tidy PUBLIC ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector >::_Getal PUBLIC ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ ; std::_Compressed_pair,std::_Vector_val >,1>::_Get_first PUBLIC ??1_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK PUBLIC ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z ; _NATIVE_CODE_BLOCK::`scalar deleting destructor' PUBLIC ?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForXor PUBLIC ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForOr PUBLIC ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForAnd PUBLIC ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPreRipMov PUBLIC ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPostRipMov PUBLIC ?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z ; JitEmitPreRipBitwiseOp PUBLIC ?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z ; JitEmitPostRipBitwiseOp PUBLIC ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD PUBLIC ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW PUBLIC ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB PUBLIC ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z ; std::allocator::allocator PUBLIC ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z ; std::exchange PUBLIC ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ; std::_Delete_plain_internal > PUBLIC ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ; std::_Destroy_range > PUBLIC ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0> PUBLIC ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ; std::_Deallocate_plain > PUBLIC ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z ; std::_Default_allocator_traits >::deallocate PUBLIC __JustMyCode_Default PUBLIC ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA ; `std::_Adjust_manually_vector_aligned'::`1'::__LINE__Var PUBLIC ??_C@_0BB@FCMFBGOM@invalid?5argument@ ; `string' PUBLIC ??_C@_02DKCKIIND@?$CFs@ ; `string' PUBLIC ??_C@_0GI@JMEOMKJO@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string' PUBLIC ??_C@_1NA@FEEOBALC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ ; `string' PUBLIC ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ ; `string' PUBLIC ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ ; `string' PUBLIC ??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string' PUBLIC ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA ; `std::_Maklocwcs'::`1'::__LINE__Var PUBLIC ??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string' PUBLIC ??_C@_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 __imp__invalid_parameter:PROC EXTRN memcpy:PROC EXTRN __imp_wcslen:PROC EXTRN strlen:PROC EXTRN __imp_rand:PROC EXTRN __imp__calloc_dbg:PROC EXTRN __imp__CrtDbgReport:PROC EXTRN __imp_??0_Lockit@std@@QEAA@H@Z:PROC EXTRN __imp_??1_Lockit@std@@QEAA@XZ: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 ??0_NATIVE_CODE_LINK@@QEAA@XZ:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK EXTRN ??1_NATIVE_CODE_LINK@@QEAA@XZ: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 ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z:PROC ; NcDeleteBlock EXTRN ?FlgEmitPushfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ:PROC ; FlgEmitPushfqInst EXTRN ?FlgEmitPopfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ:PROC ; FlgEmitPopfqInst EXTRN ?JitEmitRipRelativeXorD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeXorD EXTRN ?JitEmitRipRelativeXorW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeXorW EXTRN ?JitEmitRipRelativeXorB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeXorB EXTRN ?JitEmitRipRelativeAndD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeAndD EXTRN ?JitEmitRipRelativeAndW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeAndW EXTRN ?JitEmitRipRelativeAndB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeAndB EXTRN ?JitEmitRipRelativeOrD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeOrD EXTRN ?JitEmitRipRelativeOrW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeOrW EXTRN ?JitEmitRipRelativeOrB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z:PROC ; JitEmitRipRelativeOrB EXTRN ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z:PROC ; JitEmitRipRelativeMovD EXTRN ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z:PROC ; JitEmitRipRelativeMovW EXTRN ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z:PROC ; JitEmitRipRelativeMovB 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+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$wmemcpy DD imagerel $LN3 DD imagerel $LN3+106 DD imagerel $unwind$wmemcpy pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD imagerel $LN21 DD imagerel $LN21+476 DD imagerel $unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD imagerel $LN7 DD imagerel $LN7+233 DD imagerel $unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD imagerel $LN12 DD imagerel $LN12+584 DD imagerel $unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD imagerel $LN4 DD imagerel $LN4+165 DD imagerel $unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD imagerel $LN7 DD imagerel $LN7+223 DD imagerel $unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5 DD imagerel $LN5+379 DD imagerel $unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5 DD imagerel $LN5+379 DD imagerel $unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z DD imagerel $LN4 DD imagerel $LN4+105 DD imagerel $unwind$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z DD imagerel $LN3 DD imagerel $LN3+100 DD imagerel $unwind$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD imagerel $LN3 DD imagerel $LN3+202 DD imagerel $unwind$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z DD imagerel $LN3 DD imagerel $LN3+108 DD imagerel $unwind$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DD imagerel $LN4 DD imagerel $LN4+280 DD imagerel $unwind$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DD imagerel $LN3 DD imagerel $LN3+80 DD imagerel $unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DD imagerel $LN3 DD imagerel $LN3+71 DD imagerel $unwind$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??1_NATIVE_CODE_BLOCK@@QEAA@XZ DD imagerel $LN3 DD imagerel $LN3+71 DD imagerel $unwind$??1_NATIVE_CODE_BLOCK@@QEAA@XZ pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z DD imagerel $LN4 DD imagerel $LN4+105 DD imagerel $unwind$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z DD imagerel $LN7 DD imagerel $LN7+356 DD imagerel $unwind$?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD imagerel $LN3 DD imagerel $LN3+69 DD imagerel $unwind$?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD imagerel $LN3 DD imagerel $LN3+69 DD imagerel $unwind$?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD imagerel $LN25 DD imagerel $LN25+1056 DD imagerel $unwind$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA+44 DD imagerel $unwind$?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA+44 DD imagerel $unwind$?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD imagerel $LN25 DD imagerel $LN25+1241 DD imagerel $unwind$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA+44 DD imagerel $unwind$?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD imagerel ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA+44 DD imagerel $unwind$?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD imagerel $LN25 DD imagerel $LN25+1063 DD imagerel $unwind$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA+44 DD imagerel $unwind$?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD imagerel $LN25 DD imagerel $LN25+1197 DD imagerel $unwind$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA+44 DD imagerel $unwind$?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD imagerel $LN8 DD imagerel $LN8+197 DD imagerel $unwind$?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD imagerel $LN8 DD imagerel $LN8+197 DD imagerel $unwind$?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD imagerel $LN8 DD imagerel $LN8+197 DD imagerel $unwind$?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD imagerel $LN3 DD imagerel $LN3+76 DD imagerel $unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DD imagerel $LN3 DD imagerel $LN3+107 DD imagerel $unwind$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD imagerel $LN3 DD imagerel $LN3+89 DD imagerel $unwind$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DD imagerel $LN3 DD imagerel $LN3+75 DD imagerel $unwind$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DD imagerel $LN4 DD imagerel $LN4+121 DD imagerel $unwind$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD imagerel $LN3 DD imagerel $LN3+95 DD imagerel $unwind$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z DD imagerel $LN3 DD imagerel $LN3+97 DD imagerel $unwind$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z 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@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ CONST SEGMENT ??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro' DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To' DB 'ols\MSVC\14.27.29110\include\xlocnum', 00H ; `string' CONST ENDS ; COMDAT ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA _DATA SEGMENT ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA DD 05aH ; `std::_Maklocwcs'::`1'::__LINE__Var _DATA ENDS ; COMDAT ??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ CONST SEGMENT ??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro' DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To' DB 'ols\MSVC\14.27.29110\include\xlocale', 00H ; `string' CONST ENDS ; COMDAT ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ CONST SEGMENT ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ DB '"' DB 00H, 'i', 00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H, 'i', 00H DB 'd', 00H, ' ', 00H, 'a', 00H, 'r', 00H, 'g', 00H, 'u', 00H, 'm' DB 00H, 'e', 00H, 'n', 00H, 't', 00H, '"', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ CONST SEGMENT ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ DB 's' DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'A', 00H DB 'd', 00H, 'j', 00H, 'u', 00H, 's', 00H, 't', 00H, '_', 00H, 'm' DB 00H, 'a', 00H, 'n', 00H, 'u', 00H, 'a', 00H, 'l', 00H, 'l', 00H DB 'y', 00H, '_', 00H, 'v', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o' DB 00H, 'r', 00H, '_', 00H, 'a', 00H, 'l', 00H, 'i', 00H, 'g', 00H DB 'n', 00H, 'e', 00H, 'd', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_1NA@FEEOBALC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ CONST SEGMENT ??_C@_1NA@FEEOBALC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ DB 'C' DB 00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H DB 'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l' DB 00H, 'e', 00H, 's', 00H, ' ', 00H, '(', 00H, 'x', 00H, '8', 00H DB '6', 00H, ')', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H, 'r' DB 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' ', 00H DB 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H, ' ' DB 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H DB '\', 00H, '2', 00H, '0', 00H, '1', 00H, '9', 00H, '\', 00H, 'C' DB 00H, 'o', 00H, 'm', 00H, 'm', 00H, 'u', 00H, 'n', 00H, 'i', 00H DB 't', 00H, 'y', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H, 'T' DB 00H, 'o', 00H, 'o', 00H, 'l', 00H, 's', 00H, '\', 00H, 'M', 00H DB 'S', 00H, 'V', 00H, 'C', 00H, '\', 00H, '1', 00H, '4', 00H, '.' DB 00H, '2', 00H, '7', 00H, '.', 00H, '2', 00H, '9', 00H, '1', 00H DB '1', 00H, '0', 00H, '\', 00H, 'i', 00H, 'n', 00H, 'c', 00H, 'l' DB 00H, 'u', 00H, 'd', 00H, 'e', 00H, '\', 00H, 'x', 00H, 'm', 00H DB 'e', 00H, 'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 00H, 00H ; `string' CONST ENDS ; COMDAT ??_C@_0GI@JMEOMKJO@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ CONST SEGMENT ??_C@_0GI@JMEOMKJO@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\xmemory', 00H ; `string' CONST ENDS ; COMDAT ??_C@_02DKCKIIND@?$CFs@ CONST SEGMENT ??_C@_02DKCKIIND@?$CFs@ DB '%s', 00H ; `string' CONST ENDS ; COMDAT ??_C@_0BB@FCMFBGOM@invalid?5argument@ CONST SEGMENT ??_C@_0BB@FCMFBGOM@invalid?5argument@ DB 'invalid argument', 00H ; `string' CONST ENDS ; COMDAT ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA _DATA SEGMENT ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA DD 084H ; `std::_Adjust_manually_vector_aligned'::`1'::__LINE__Var _DATA ENDS ; COMDAT xdata xdata SEGMENT $unwind$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z DD 025053401H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 060H DD imagerel $ip2state$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DB 060H DD imagerel $ip2state$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DB 060H DD imagerel $ip2state$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DD 025053419H DD 0118231dH DD 07011001dH DD 05010H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 060H DD imagerel $ip2state$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DB 060H DD imagerel $ip2state$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DD 025052f19H DD 01132318H DD 0700c0021H DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DB 060H DD imagerel $ip2state$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025053701H DD 011c2321H DD 07015001fH DD 05014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025053701H DD 011c2321H DD 07015001fH DD 05014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025053701H DD 011c2321H DD 07015001fH DD 05014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 06H DB 00H DB 00H DB 0a9H, 02H DB 02H DB 'p' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 02H DB 0eH DD imagerel ?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 028H DD imagerel $stateUnwindMap$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD imagerel $ip2state$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD 025053911H DD 011d2322H DD 070160059H DD 05015H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 06H DB 00H DB 00H DB 0a9H, 02H DB 02H DB 'p' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 02H DB 0eH DD imagerel ?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DB 028H DD imagerel $stateUnwindMap$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD imagerel $ip2state$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD 025053911H DD 011d2322H DD 070160059H DD 05015H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 0aH DB 00H DB 00H DB 0c1H, 02H DB 02H DB 'p' DB 00H DB '8' DB 04H DB 'p' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 04H DB 0eH DD imagerel ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DB 036H DD imagerel ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 028H DD imagerel $stateUnwindMap$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD imagerel $ip2state$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD 025053f19H DD 01122317H DD 0700b007fH DD 0500aH DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD 03e2H xdata ENDS ; COMDAT CONST CONST SEGMENT ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcName$0 DB 05aH ; JitEmitPostRipMov DB 065H DB 072H DB 06fH DB 056H DB 061H DB 06cH DB 075H DB 065H DB 00H ORG $+6 ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcVarDesc DD 0a4H ; JitEmitPostRipMov DD 04H DQ FLAT:?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcName$0 ORG $+48 ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcFrameData DD 01H ; JitEmitPostRipMov DD 00H DQ FLAT:?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DD 031001H DD 0700c4210H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 0aH DB 00H DB 00H DB '}', 02H DB 02H DB 'p' DB 00H DB '8' DB 04H DB 'p' DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $stateUnwindMap$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 04H DB 0eH DD imagerel ?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA DB 036H DD imagerel ?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DB 028H DD imagerel $stateUnwindMap$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD imagerel $ip2state$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD 025052e11H DD 01122317H DD 0700b007dH DD 0500aH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD 025052f01H DD 01132318H DD 0700c001dH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD 025052f01H DD 01132318H DD 0700c001dH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z DD 025053401H DD 0118231dH DD 070110029H DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z DD 025052e01H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1_NATIVE_CODE_BLOCK@@QEAA@XZ DD 025052a01H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DB 060H DD imagerel $ip2state$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DD 025052a19H DD 010e2313H DD 07007001dH DD 05006H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DB 060H DD imagerel $ip2state$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DD 025052a19H DD 010e2313H DD 07007001dH DD 05006H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DB 060H DD imagerel $ip2state$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DD 025052a19H DD 010e2313H DD 07007002fH DD 05006H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z DD 025053401H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DB 060H DD imagerel $ip2state$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD 025053b19H DD 010e2313H DD 070070029H DD 05006H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD 013bH xdata ENDS ; COMDAT CONST CONST SEGMENT ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcName$0 DB 024H ; std::vector >::~vector > DB 053H DB 031H DB 00H ORG $+12 ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcVarDesc DD 044H ; std::vector >::~vector > DD 01H DQ FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcName$0 ORG $+48 ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcFrameData DD 01H ; std::vector >::~vector > DD 00H DQ FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z DD 025053401H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z DD 025052e01H DD 01122317H DD 0700b001dH DD 0500aH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025063501H DD 0119231eH DD 070120026H DD 050106011H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025063501H DD 0119231eH DD 070120026H DD 050106011H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$??$_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 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 $ip2state$?_Orphan_all@_Container_base12@std@@QEAAXXZ DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?_Orphan_all@_Container_base12@std@@QEAAXXZ DB 060H DD imagerel $ip2state$?_Orphan_all@_Container_base12@std@@QEAAXXZ xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD 025053b19H DD 010e2313H DD 070070025H DD 05006H DD imagerel __GSHandlerCheck_EH4 DD imagerel $cppxdata$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD 011bH xdata ENDS ; COMDAT CONST CONST SEGMENT ?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcName$0 DB 05fH ; std::_Container_base12::_Orphan_all DB 04cH DB 06fH DB 063H DB 06bH DB 00H ORG $+10 ?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcVarDesc DD 024H ; std::_Container_base12::_Orphan_all DD 04H DQ FLAT:?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcName$0 ORG $+48 ?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcFrameData DD 01H ; std::_Container_base12::_Orphan_all DD 00H DQ FLAT:?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcVarDesc CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD 035052f01H DD 01133318H DD 0700c002fH DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$wmemcpy DD 025053401H DD 0118231dH DD 07011001dH DD 05010H xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DB 060H DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 025053419H DD 0118231dH DD 07011001dH DD 05010H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DB 060H DD imagerel $ip2state$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?__empty_global_delete@@YAXPEAX_K@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?__empty_global_delete@@YAXPEAX_K@Z DB 060H DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX_K@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 025052f19H DD 01132318H DD 0700c001dH DD 0500bH DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX_K@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $ip2state$?__empty_global_delete@@YAXPEAX@Z DB 02H DB 00H DB 00H xdata ENDS ; COMDAT xdata xdata SEGMENT $cppxdata$?__empty_global_delete@@YAXPEAX@Z DB 060H DD imagerel $ip2state$?__empty_global_delete@@YAXPEAX@Z xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$?__empty_global_delete@@YAXPEAX@Z DD 025052a19H DD 010e2313H DD 07007001dH DD 05006H DD imagerel __CxxFrameHandler4 DD imagerel $cppxdata$?__empty_global_delete@@YAXPEAX@Z xdata ENDS ; Function compile flags: /Odt ; COMDAT __JustMyCode_Default _TEXT SEGMENT __JustMyCode_Default PROC ; COMDAT 00000 c2 00 00 ret 0 __JustMyCode_Default ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory ; COMDAT ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z _TEXT SEGMENT __formal$ = 224 _Ptr$ = 232 _Count$ = 240 ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z PROC ; std::_Default_allocator_traits >::deallocate, COMDAT ; 687 : static void deallocate(_Alloc&, const pointer _Ptr, const size_type _Count) { $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:__A58979FC_xmemory 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 688 : // no overflow check on the following multiply; we assume _Allocate did that check ; 689 : _Deallocate<_New_alignof>(_Ptr, sizeof(value_type) * _Count); 00040 48 6b 85 f0 00 00 00 10 imul rax, QWORD PTR _Count$[rbp], 16 00048 48 8b d0 mov rdx, rax 0004b 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00052 e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0> ; 690 : } 00057 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0005e 5f pop rdi 0005f 5d pop rbp 00060 c3 ret 0 ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z ENDP ; std::_Default_allocator_traits >::deallocate _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\xmemory ; COMDAT ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z _TEXT SEGMENT _Al$ = 224 _Ptr$ = 232 ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z PROC ; std::_Deallocate_plain >, COMDAT ; 998 : void _Deallocate_plain(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept { $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:__A58979FC_xmemory 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 999 : // deallocate a plain pointer using an allocator ; 1000 : using _Alloc_traits = allocator_traits<_Alloc>; ; 1001 : if constexpr (is_same_v<_Alloc_ptr_t<_Alloc>, typename _Alloc::value_type*>) { ; 1002 : _Alloc_traits::deallocate(_Al, _Ptr, 1); 0003b 41 b8 01 00 00 00 mov r8d, 1 00041 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR _Ptr$[rbp] 00048 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR _Al$[rbp] 0004f e8 00 00 00 00 call ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z ; std::_Default_allocator_traits >::deallocate 00054 90 npad 1 ; 1003 : } else { ; 1004 : using _Ptr_traits = pointer_traits<_Alloc_ptr_t<_Alloc>>; ; 1005 : _Alloc_traits::deallocate(_Al, _Ptr_traits::pointer_to(*_Ptr), 1); ; 1006 : } ; 1007 : } 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 ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ENDP ; std::_Deallocate_plain > _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\xmemory ; COMDAT ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z _TEXT SEGMENT _Ptr$ = 224 _Bytes$ = 232 ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z PROC ; std::_Deallocate<16,0>, COMDAT ; 213 : void _Deallocate(void* _Ptr, size_t _Bytes) noexcept { $LN4: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 55 push rbp 0000b 57 push rdi 0000c 48 81 ec 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:__A58979FC_xmemory 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 214 : // deallocate storage allocated by _Allocate when !_HAS_ALIGNED_NEW || _Align <= __STDCPP_DEFAULT_NEW_ALIGNMENT__ ; 215 : #if defined(_M_IX86) || defined(_M_X64) ; 216 : if (_Bytes >= _Big_allocation_threshold) { // boost the alignment of big allocations to help autovectorization 0003b 48 81 bd e8 00 00 00 00 10 00 00 cmp QWORD PTR _Bytes$[rbp], 4096 ; 00001000H 00046 72 13 jb SHORT $LN2@Deallocate ; 217 : _Adjust_manually_vector_aligned(_Ptr, _Bytes); 00048 48 8d 95 e8 00 00 00 lea rdx, QWORD PTR _Bytes$[rbp] 0004f 48 8d 8d e0 00 00 00 lea rcx, QWORD PTR _Ptr$[rbp] 00056 e8 00 00 00 00 call ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned $LN2@Deallocate: ; 218 : } ; 219 : #endif // defined(_M_IX86) || defined(_M_X64) ; 220 : ; 221 : ::operator delete(_Ptr, _Bytes); 0005b 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR _Bytes$[rbp] 00062 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00069 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete 0006e 90 npad 1 ; 222 : } 0006f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00076 5f pop rdi 00077 5d pop rbp 00078 c3 ret 0 ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ENDP ; std::_Deallocate<16,0> _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\xmemory ; COMDAT ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z _TEXT SEGMENT _First$ = 224 _Last$ = 232 _Al$ = 240 ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z PROC ; std::_Destroy_range >, COMDAT ; 955 : void _Destroy_range(_Alloc_ptr_t<_Alloc> _First, const _Alloc_ptr_t<_Alloc> _Last, _Alloc& _Al) noexcept { $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:__A58979FC_xmemory 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode 00040 90 npad 1 ; 956 : // note that this is an optimization for debug mode codegen; in release mode the BE removes all of this ; 957 : using _Ty = typename _Alloc::value_type; ; 958 : if _CONSTEXPR_IF (!conjunction_v, _Uses_default_destroy<_Alloc, _Ty*>>) { ; 959 : for (; _First != _Last; ++_First) { ; 960 : allocator_traits<_Alloc>::destroy(_Al, _Unfancy(_First)); ; 961 : } ; 962 : } ; 963 : } 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 ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ENDP ; std::_Destroy_range > _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\xmemory ; COMDAT ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z _TEXT SEGMENT _Al$ = 224 _Ptr$ = 232 ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z PROC ; std::_Delete_plain_internal >, COMDAT ; 1026 : void _Delete_plain_internal(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept { $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:__A58979FC_xmemory 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1027 : // destroy *_Ptr in place, then deallocate _Ptr using _Al; used for internal container types the user didn't name ; 1028 : using _Ty = typename _Alloc::value_type; ; 1029 : _Ptr->~_Ty(); ; 1030 : _Deallocate_plain(_Al, _Ptr); 0003b 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR _Ptr$[rbp] 00042 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR _Al$[rbp] 00049 e8 00 00 00 00 call ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ; std::_Deallocate_plain > 0004e 90 npad 1 ; 1031 : } 0004f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00056 5f pop rdi 00057 5d pop rbp 00058 c3 ret 0 ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ENDP ; std::_Delete_plain_internal > _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\utility ; COMDAT ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z _TEXT SEGMENT _Old_val$ = 8 _Val$ = 256 _New_val$ = 264 ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z PROC ; std::exchange, COMDAT ; 597 : conjunction_v, is_nothrow_assignable<_Ty&, _Other>>) /* strengthened */ { $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 08 01 00 00 sub rsp, 264 ; 00000108H 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00018 48 8b fc mov rdi, rsp 0001b b9 42 00 00 00 mov ecx, 66 ; 00000042H 00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00025 f3 ab rep stosd 00027 48 8b 8c 24 28 01 00 00 mov rcx, QWORD PTR [rsp+296] 0002f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__CF1C1A3F_utility 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 598 : // assign _New_val to _Val, return previous _Val ; 599 : _Ty _Old_val = static_cast<_Ty&&>(_Val); 0003b 48 8b 85 00 01 00 00 mov rax, QWORD PTR _Val$[rbp] 00042 48 8b 00 mov rax, QWORD PTR [rax] 00045 48 89 45 08 mov QWORD PTR _Old_val$[rbp], rax ; 600 : _Val = static_cast<_Other&&>(_New_val); 00049 48 8b 85 00 01 00 00 mov rax, QWORD PTR _Val$[rbp] 00050 48 8b 8d 08 01 00 00 mov rcx, QWORD PTR _New_val$[rbp] 00057 48 8b 09 mov rcx, QWORD PTR [rcx] 0005a 48 89 08 mov QWORD PTR [rax], rcx ; 601 : return _Old_val; 0005d 48 8b 45 08 mov rax, QWORD PTR _Old_val$[rbp] ; 602 : } 00061 48 8d a5 e8 00 00 00 lea rsp, QWORD PTR [rbp+232] 00068 5f pop rdi 00069 5d pop rbp 0006a c3 ret 0 ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z ENDP ; std::exchange _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\xmemory ; COMDAT ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z _TEXT SEGMENT this$ = 224 __formal$ = 232 ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z PROC ; std::allocator::allocator, COMDAT ; 799 : constexpr allocator(const allocator<_Other>&) noexcept {} $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:__A58979FC_xmemory 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode 0003b 48 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] 00042 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00049 5f pop rdi 0004a 5d pop rbp 0004b c3 ret 0 ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z ENDP ; std::allocator::allocator _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z _TEXT SEGMENT tv64 = 192 OpType$ = 240 Block$ = 248 RipDelta$ = 256 Value$ = 264 ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z PROC ; JitiEmitWrapperB, COMDAT ; 197 : { $LN8: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00021 48 8b fc mov rdi, rsp 00024 b9 3e 00 00 00 mov ecx, 62 ; 0000003eH 00029 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002e f3 ab rep stosd 00030 8b 8c 24 18 01 00 00 mov ecx, DWORD PTR [rsp+280] 00037 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 0003e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 198 : switch (OpType) 00043 8b 85 f0 00 00 00 mov eax, DWORD PTR OpType$[rbp] 00049 89 85 c0 00 00 00 mov DWORD PTR tv64[rbp], eax 0004f 83 bd c0 00 00 00 00 cmp DWORD PTR tv64[rbp], 0 00056 74 14 je SHORT $LN4@JitiEmitWr 00058 83 bd c0 00 00 00 01 cmp DWORD PTR tv64[rbp], 1 0005f 74 26 je SHORT $LN5@JitiEmitWr 00061 83 bd c0 00 00 00 02 cmp DWORD PTR tv64[rbp], 2 00068 74 38 je SHORT $LN6@JitiEmitWr 0006a eb 4f jmp SHORT $LN2@JitiEmitWr $LN4@JitiEmitWr: ; 199 : { ; 200 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorB(Block, RipDelta, Value); 0006c 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 00073 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00079 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 00080 e8 00 00 00 00 call ?JitEmitRipRelativeXorB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorB 00085 eb 34 jmp SHORT $LN1@JitiEmitWr $LN5@JitiEmitWr: ; 201 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndB(Block, RipDelta, Value); 00087 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 0008e 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00094 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 0009b e8 00 00 00 00 call ?JitEmitRipRelativeAndB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndB 000a0 eb 19 jmp SHORT $LN1@JitiEmitWr $LN6@JitiEmitWr: ; 202 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrB(Block, RipDelta, Value); 000a2 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 000a9 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 000af 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 000b6 e8 00 00 00 00 call ?JitEmitRipRelativeOrB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrB $LN2@JitiEmitWr: $LN1@JitiEmitWr: ; 203 : } ; 204 : } 000bb 48 8d a5 d8 00 00 00 lea rsp, QWORD PTR [rbp+216] 000c2 5f pop rdi 000c3 5d pop rbp 000c4 c3 ret 0 ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperB _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z _TEXT SEGMENT tv64 = 192 OpType$ = 240 Block$ = 248 RipDelta$ = 256 Value$ = 264 ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z PROC ; JitiEmitWrapperW, COMDAT ; 188 : { $LN8: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00021 48 8b fc mov rdi, rsp 00024 b9 3e 00 00 00 mov ecx, 62 ; 0000003eH 00029 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002e f3 ab rep stosd 00030 8b 8c 24 18 01 00 00 mov ecx, DWORD PTR [rsp+280] 00037 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 0003e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 189 : switch (OpType) 00043 8b 85 f0 00 00 00 mov eax, DWORD PTR OpType$[rbp] 00049 89 85 c0 00 00 00 mov DWORD PTR tv64[rbp], eax 0004f 83 bd c0 00 00 00 00 cmp DWORD PTR tv64[rbp], 0 00056 74 14 je SHORT $LN4@JitiEmitWr 00058 83 bd c0 00 00 00 01 cmp DWORD PTR tv64[rbp], 1 0005f 74 26 je SHORT $LN5@JitiEmitWr 00061 83 bd c0 00 00 00 02 cmp DWORD PTR tv64[rbp], 2 00068 74 38 je SHORT $LN6@JitiEmitWr 0006a eb 4f jmp SHORT $LN2@JitiEmitWr $LN4@JitiEmitWr: ; 190 : { ; 191 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorW(Block, RipDelta, Value); 0006c 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 00073 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00079 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 00080 e8 00 00 00 00 call ?JitEmitRipRelativeXorW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorW 00085 eb 34 jmp SHORT $LN1@JitiEmitWr $LN5@JitiEmitWr: ; 192 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndW(Block, RipDelta, Value); 00087 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 0008e 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00094 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 0009b e8 00 00 00 00 call ?JitEmitRipRelativeAndW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndW 000a0 eb 19 jmp SHORT $LN1@JitiEmitWr $LN6@JitiEmitWr: ; 193 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrW(Block, RipDelta, Value); 000a2 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 000a9 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 000af 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 000b6 e8 00 00 00 00 call ?JitEmitRipRelativeOrW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrW $LN2@JitiEmitWr: $LN1@JitiEmitWr: ; 194 : } ; 195 : } 000bb 48 8d a5 d8 00 00 00 lea rsp, QWORD PTR [rbp+216] 000c2 5f pop rdi 000c3 5d pop rbp 000c4 c3 ret 0 ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperW _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z _TEXT SEGMENT tv64 = 192 OpType$ = 240 Block$ = 248 RipDelta$ = 256 Value$ = 264 ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z PROC ; JitiEmitWrapperD, COMDAT ; 179 : { $LN8: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000f 89 4c 24 08 mov DWORD PTR [rsp+8], ecx 00013 55 push rbp 00014 57 push rdi 00015 48 81 ec f8 00 00 00 sub rsp, 248 ; 000000f8H 0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00021 48 8b fc mov rdi, rsp 00024 b9 3e 00 00 00 mov ecx, 62 ; 0000003eH 00029 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002e f3 ab rep stosd 00030 8b 8c 24 18 01 00 00 mov ecx, DWORD PTR [rsp+280] 00037 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 0003e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 180 : switch (OpType) 00043 8b 85 f0 00 00 00 mov eax, DWORD PTR OpType$[rbp] 00049 89 85 c0 00 00 00 mov DWORD PTR tv64[rbp], eax 0004f 83 bd c0 00 00 00 00 cmp DWORD PTR tv64[rbp], 0 00056 74 14 je SHORT $LN4@JitiEmitWr 00058 83 bd c0 00 00 00 01 cmp DWORD PTR tv64[rbp], 1 0005f 74 26 je SHORT $LN5@JitiEmitWr 00061 83 bd c0 00 00 00 02 cmp DWORD PTR tv64[rbp], 2 00068 74 38 je SHORT $LN6@JitiEmitWr 0006a eb 4f jmp SHORT $LN2@JitiEmitWr $LN4@JitiEmitWr: ; 181 : { ; 182 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorD(Block, RipDelta, Value); 0006c 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 00073 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00079 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 00080 e8 00 00 00 00 call ?JitEmitRipRelativeXorD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorD 00085 eb 34 jmp SHORT $LN1@JitiEmitWr $LN5@JitiEmitWr: ; 183 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndD(Block, RipDelta, Value); 00087 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 0008e 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 00094 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 0009b e8 00 00 00 00 call ?JitEmitRipRelativeAndD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndD 000a0 eb 19 jmp SHORT $LN1@JitiEmitWr $LN6@JitiEmitWr: ; 184 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrD(Block, RipDelta, Value); 000a2 44 8b 85 08 01 00 00 mov r8d, DWORD PTR Value$[rbp] 000a9 8b 95 00 01 00 00 mov edx, DWORD PTR RipDelta$[rbp] 000af 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR Block$[rbp] 000b6 e8 00 00 00 00 call ?JitEmitRipRelativeOrD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrD $LN2@JitiEmitWr: $LN1@JitiEmitWr: ; 185 : } ; 186 : } 000bb 48 8d a5 d8 00 00 00 lea rsp, QWORD PTR [rbp+216] 000c2 5f pop rdi 000c3 5d pop rbp 000c4 c3 ret 0 ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperD _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z _TEXT SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv211 = 664 tv182 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z PROC ; JitEmitPostRipBitwiseOp, COMDAT ; 281 : { $LN25: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 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 c8 02 00 00 sub rsp, 712 ; 000002c8H 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00022 48 8b fc mov rdi, rsp 00025 b9 b2 00 00 00 mov ecx, 178 ; 000000b2H 0002a b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002f f3 ab rep stosd 00031 48 8b 8c 24 e8 02 00 00 mov rcx, QWORD PTR [rsp+744] 00039 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 00040 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 282 : ULONG FourByte = Link->RawDataSize / 4; 00045 33 d2 xor edx, edx 00047 48 8b 85 c0 02 00 00 mov rax, QWORD PTR Link$[rbp] 0004e 8b 40 28 mov eax, DWORD PTR [rax+40] 00051 b9 04 00 00 00 mov ecx, 4 00056 f7 f1 div ecx 00058 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 283 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2; 0005b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0005e c1 e0 02 shl eax, 2 00061 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00068 8b 49 28 mov ecx, DWORD PTR [rcx+40] 0006b 2b c8 sub ecx, eax 0006d 8b c1 mov eax, ecx 0006f 33 d2 xor edx, edx 00071 b9 02 00 00 00 mov ecx, 2 00076 f7 f1 div ecx 00078 89 45 24 mov DWORD PTR TwoByte$[rbp], eax ; 284 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2)); 0007b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0007e c1 e0 02 shl eax, 2 00081 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00088 8b 49 28 mov ecx, DWORD PTR [rcx+40] 0008b 2b c8 sub ecx, eax 0008d 8b c1 mov eax, ecx 0008f 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00092 d1 e1 shl ecx, 1 00094 2b c1 sub eax, ecx 00096 89 45 44 mov DWORD PTR OneByte$[rbp], eax ; 285 : ; 286 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK; 00099 b9 30 00 00 00 mov ecx, 48 ; 00000030H 0009e e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 000a3 48 89 85 28 02 00 00 mov QWORD PTR $T7[rbp], rax 000aa 48 83 bd 28 02 00 00 00 cmp QWORD PTR $T7[rbp], 0 000b2 74 15 je SHORT $LN16@JitEmitPos 000b4 48 8b 8d 28 02 00 00 mov rcx, QWORD PTR $T7[rbp] 000bb e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK 000c0 48 89 85 98 02 00 00 mov QWORD PTR tv86[rbp], rax 000c7 eb 0b jmp SHORT $LN17@JitEmitPos $LN16@JitEmitPos: 000c9 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv86[rbp], 0 $LN17@JitEmitPos: 000d4 48 8b 85 98 02 00 00 mov rax, QWORD PTR tv86[rbp] 000db 48 89 85 08 02 00 00 mov QWORD PTR $T6[rbp], rax 000e2 48 8b 85 08 02 00 00 mov rax, QWORD PTR $T6[rbp] 000e9 48 89 45 68 mov QWORD PTR Block$[rbp], rax ; 287 : if (!Block) 000ed 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0 000f2 75 07 jne SHORT $LN4@JitEmitPos ; 288 : return NULL; 000f4 33 c0 xor eax, eax 000f6 e9 a8 03 00 00 jmp $LN1@JitEmitPos $LN4@JitEmitPos: ; 289 : ; 290 : if (SaveFlags) 000fb 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00102 74 33 je SHORT $LN5@JitEmitPos ; 291 : { ; 292 : PNATIVE_CODE_LINK PushF = FlgEmitPushfqInst(); 00104 e8 00 00 00 00 call ?FlgEmitPushfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ ; FlgEmitPushfqInst 00109 48 89 85 88 00 00 00 mov QWORD PTR PushF$1[rbp], rax ; 293 : PushF->Flags |= CODE_FLAG_DO_NOT_DIVIDE; 00110 48 8b 85 88 00 00 00 mov rax, QWORD PTR PushF$1[rbp] 00117 8b 40 18 mov eax, DWORD PTR [rax+24] 0011a 83 c8 08 or eax, 8 0011d 48 8b 8d 88 00 00 00 mov rcx, QWORD PTR PushF$1[rbp] 00124 89 41 18 mov DWORD PTR [rcx+24], eax ; 294 : NcAppendToBlock(Block, PushF); 00127 48 8b 95 88 00 00 00 mov rdx, QWORD PTR PushF$1[rbp] 0012e 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00132 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock $LN5@JitEmitPos: ; 295 : } ; 296 : ; 297 : ULONG Count = FourByte; 00137 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0013a 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax $LN2@JitEmitPos: ; 298 : while (Count) 00140 83 bd a4 00 00 00 00 cmp DWORD PTR Count$[rbp], 0 00147 0f 84 11 01 00 00 je $LN3@JitEmitPos ; 299 : { ; 300 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4); 0014d 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00153 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00156 2b c8 sub ecx, eax 00158 8b c1 mov eax, ecx 0015a c1 e0 02 shl eax, 2 0015d 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00164 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00167 2b c8 sub ecx, eax 00169 8b c1 mov eax, ecx 0016b 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 301 : if (SaveFlags) 00171 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00178 74 0e je SHORT $LN6@JitEmitPos ; 302 : RipDelta += 1; 0017a 8b 85 c4 00 00 00 mov eax, DWORD PTR RipDelta$2[rbp] 00180 ff c0 inc eax 00182 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax $LN6@JitEmitPos: ; 303 : RipDelta += (FourByte - (Count - 1)) * DWORD_RIP_INST_LENGTH; 00188 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 0018e ff c8 dec eax 00190 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00193 2b c8 sub ecx, eax 00195 8b c1 mov eax, ecx 00197 6b c0 0a imul eax, eax, 10 0019a 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$2[rbp] 001a0 03 c8 add ecx, eax 001a2 8b c1 mov eax, ecx 001a4 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 304 : RipDelta *= (-1); 001aa 6b 85 c4 00 00 00 ff imul eax, DWORD PTR RipDelta$2[rbp], -1 001b1 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 305 : RipDelta += Delta; 001b7 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 001bd 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$2[rbp] 001c3 03 c8 add ecx, eax 001c5 8b c1 mov eax, ecx 001c7 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 306 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count])) 001cd 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 001d3 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 001d6 2b c8 sub ecx, eax 001d8 8b c1 mov eax, ecx 001da 8b c0 mov eax, eax 001dc 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 001e3 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4] 001e7 44 8b 85 c4 00 00 00 mov r8d, DWORD PTR RipDelta$2[rbp] 001ee 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 001f2 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 001f8 e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD 001fd 85 c0 test eax, eax 001ff 75 4a jne SHORT $LN7@JitEmitPos ; 307 : { ; 308 : NcDeleteBlock(Block); 00201 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00205 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 309 : delete Block; 0020a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0020e 48 89 85 48 02 00 00 mov QWORD PTR $T8[rbp], rax 00215 48 83 bd 48 02 00 00 00 cmp QWORD PTR $T8[rbp], 0 0021d 74 1a je SHORT $LN18@JitEmitPos 0021f ba 01 00 00 00 mov edx, 1 00224 48 8b 8d 48 02 00 00 mov rcx, QWORD PTR $T8[rbp] 0022b e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00230 48 89 85 98 02 00 00 mov QWORD PTR tv155[rbp], rax 00237 eb 0b jmp SHORT $LN19@JitEmitPos $LN18@JitEmitPos: 00239 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv155[rbp], 0 $LN19@JitEmitPos: ; 310 : return NULL; 00244 33 c0 xor eax, eax 00246 e9 58 02 00 00 jmp $LN1@JitEmitPos $LN7@JitEmitPos: ; 311 : } ; 312 : --Count; 0024b 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00251 ff c8 dec eax 00253 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax ; 313 : } 00259 e9 e2 fe ff ff jmp $LN2@JitEmitPos $LN3@JitEmitPos: ; 314 : ; 315 : if (TwoByte) 0025e 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0 00262 0f 84 ef 00 00 00 je $LN8@JitEmitPos ; 316 : { ; 317 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4); 00268 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0026b c1 e0 02 shl eax, 2 0026e 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00275 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00278 2b c8 sub ecx, eax 0027a 8b c1 mov eax, ecx 0027c 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 318 : if (SaveFlags) 00282 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00289 74 0e je SHORT $LN9@JitEmitPos ; 319 : RipDelta += 1; 0028b 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$3[rbp] 00291 ff c0 inc eax 00293 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax $LN9@JitEmitPos: ; 320 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH); 00299 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10 0029d 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$3[rbp] 002a3 03 c8 add ecx, eax 002a5 8b c1 mov eax, ecx 002a7 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 321 : RipDelta += WORD_RIP_INST_LENGTH; 002ad 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$3[rbp] 002b3 83 c0 09 add eax, 9 002b6 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 322 : RipDelta *= (-1); 002bc 6b 85 e4 00 00 00 ff imul eax, DWORD PTR RipDelta$3[rbp], -1 002c3 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 323 : RipDelta += Delta; 002c9 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 002cf 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$3[rbp] 002d5 03 c8 add ecx, eax 002d7 8b c1 mov eax, ecx 002d9 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 324 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3])) 002df b8 04 00 00 00 mov eax, 4 002e4 48 6b c0 03 imul rax, rax, 3 002e8 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 002ef 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax] 002f3 44 8b 85 e4 00 00 00 mov r8d, DWORD PTR RipDelta$3[rbp] 002fa 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 002fe 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 00304 e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW 00309 85 c0 test eax, eax 0030b 75 4a jne SHORT $LN8@JitEmitPos ; 325 : { ; 326 : NcDeleteBlock(Block); 0030d 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00311 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 327 : delete Block; 00316 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0031a 48 89 85 68 02 00 00 mov QWORD PTR $T9[rbp], rax 00321 48 83 bd 68 02 00 00 00 cmp QWORD PTR $T9[rbp], 0 00329 74 1a je SHORT $LN20@JitEmitPos 0032b ba 01 00 00 00 mov edx, 1 00330 48 8b 8d 68 02 00 00 mov rcx, QWORD PTR $T9[rbp] 00337 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 0033c 48 89 85 98 02 00 00 mov QWORD PTR tv182[rbp], rax 00343 eb 0b jmp SHORT $LN21@JitEmitPos $LN20@JitEmitPos: 00345 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv182[rbp], 0 $LN21@JitEmitPos: ; 328 : return NULL; 00350 33 c0 xor eax, eax 00352 e9 4c 01 00 00 jmp $LN1@JitEmitPos $LN8@JitEmitPos: ; 329 : } ; 330 : } ; 331 : ; 332 : if (OneByte) 00357 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0 0035b 0f 84 02 01 00 00 je $LN11@JitEmitPos ; 333 : { ; 334 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2); 00361 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00364 c1 e0 02 shl eax, 2 00367 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 0036e 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00371 2b c8 sub ecx, eax 00373 8b c1 mov eax, ecx 00375 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00378 d1 e1 shl ecx, 1 0037a 2b c1 sub eax, ecx 0037c 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 335 : if (SaveFlags) 00382 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00389 74 0e je SHORT $LN12@JitEmitPos ; 336 : RipDelta += 1; 0038b 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$4[rbp] 00391 ff c0 inc eax 00393 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax $LN12@JitEmitPos: ; 337 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH); 00399 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10 0039d 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$4[rbp] 003a3 03 c8 add ecx, eax 003a5 8b c1 mov eax, ecx 003a7 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 338 : RipDelta += WORD_RIP_INST_LENGTH; 003ad 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$4[rbp] 003b3 83 c0 09 add eax, 9 003b6 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 339 : RipDelta += BYTE_RIP_INST_LENGTH; 003bc 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$4[rbp] 003c2 83 c0 07 add eax, 7 003c5 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 340 : RipDelta *= (-1); 003cb 6b 85 04 01 00 00 ff imul eax, DWORD PTR RipDelta$4[rbp], -1 003d2 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 341 : RipDelta += Delta; 003d8 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 003de 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$4[rbp] 003e4 03 c8 add ecx, eax 003e6 8b c1 mov eax, ecx 003e8 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 342 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4])) 003ee b8 04 00 00 00 mov eax, 4 003f3 48 6b c0 04 imul rax, rax, 4 003f7 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 003fe 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax] 00402 44 8b 85 04 01 00 00 mov r8d, DWORD PTR RipDelta$4[rbp] 00409 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 0040d 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 00413 e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB 00418 85 c0 test eax, eax 0041a 75 47 jne SHORT $LN11@JitEmitPos ; 343 : { ; 344 : NcDeleteBlock(Block); 0041c 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00420 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 345 : delete Block; 00425 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00429 48 89 85 88 02 00 00 mov QWORD PTR $T10[rbp], rax 00430 48 83 bd 88 02 00 00 00 cmp QWORD PTR $T10[rbp], 0 00438 74 1a je SHORT $LN22@JitEmitPos 0043a ba 01 00 00 00 mov edx, 1 0043f 48 8b 8d 88 02 00 00 mov rcx, QWORD PTR $T10[rbp] 00446 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 0044b 48 89 85 98 02 00 00 mov QWORD PTR tv211[rbp], rax 00452 eb 0b jmp SHORT $LN23@JitEmitPos $LN22@JitEmitPos: 00454 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv211[rbp], 0 $LN23@JitEmitPos: ; 346 : return NULL; 0045f 33 c0 xor eax, eax 00461 eb 40 jmp SHORT $LN1@JitEmitPos $LN11@JitEmitPos: ; 347 : } ; 348 : } ; 349 : ; 350 : if (SaveFlags) 00463 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 0046a 74 33 je SHORT $LN14@JitEmitPos ; 351 : { ; 352 : PNATIVE_CODE_LINK PopF = FlgEmitPopfqInst(); 0046c e8 00 00 00 00 call ?FlgEmitPopfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ ; FlgEmitPopfqInst 00471 48 89 85 28 01 00 00 mov QWORD PTR PopF$5[rbp], rax ; 353 : PopF->Flags |= CODE_FLAG_DO_NOT_DIVIDE; 00478 48 8b 85 28 01 00 00 mov rax, QWORD PTR PopF$5[rbp] 0047f 8b 40 18 mov eax, DWORD PTR [rax+24] 00482 83 c8 08 or eax, 8 00485 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR PopF$5[rbp] 0048c 89 41 18 mov DWORD PTR [rcx+24], eax ; 354 : NcAppendToBlock(Block, PopF); 0048f 48 8b 95 28 01 00 00 mov rdx, QWORD PTR PopF$5[rbp] 00496 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0049a e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock $LN14@JitEmitPos: ; 355 : } ; 356 : ; 357 : return Block; 0049f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] $LN1@JitEmitPos: ; 358 : } 004a3 48 8d a5 a8 02 00 00 lea rsp, QWORD PTR [rbp+680] 004aa 5f pop rdi 004ab 5d pop rbp 004ac c3 ret 0 ?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z ENDP ; JitEmitPostRipBitwiseOp _TEXT ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv211 = 664 tv182 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA PROC ; `JitEmitPostRipBitwiseOp'::`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 28 02 00 00 mov rcx, QWORD PTR $T7[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??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA ENDP ; `JitEmitPostRipBitwiseOp'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv211 = 664 tv182 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?dtor$0@?0??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA PROC ; `JitEmitPostRipBitwiseOp'::`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 28 02 00 00 mov rcx, QWORD PTR $T7[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??JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA ENDP ; `JitEmitPostRipBitwiseOp'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z _TEXT SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv201 = 664 tv178 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z PROC ; JitEmitPreRipBitwiseOp, COMDAT ; 207 : { $LN25: 00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d 00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d 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 c8 02 00 00 sub rsp, 712 ; 000002c8H 0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00022 48 8b fc mov rdi, rsp 00025 b9 b2 00 00 00 mov ecx, 178 ; 000000b2H 0002a b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002f f3 ab rep stosd 00031 48 8b 8c 24 e8 02 00 00 mov rcx, QWORD PTR [rsp+744] 00039 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 00040 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 208 : ULONG FourByte = Link->RawDataSize / 4; 00045 33 d2 xor edx, edx 00047 48 8b 85 c0 02 00 00 mov rax, QWORD PTR Link$[rbp] 0004e 8b 40 28 mov eax, DWORD PTR [rax+40] 00051 b9 04 00 00 00 mov ecx, 4 00056 f7 f1 div ecx 00058 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 209 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2; 0005b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0005e c1 e0 02 shl eax, 2 00061 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00068 8b 49 28 mov ecx, DWORD PTR [rcx+40] 0006b 2b c8 sub ecx, eax 0006d 8b c1 mov eax, ecx 0006f 33 d2 xor edx, edx 00071 b9 02 00 00 00 mov ecx, 2 00076 f7 f1 div ecx 00078 89 45 24 mov DWORD PTR TwoByte$[rbp], eax ; 210 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2)); 0007b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0007e c1 e0 02 shl eax, 2 00081 48 8b 8d c0 02 00 00 mov rcx, QWORD PTR Link$[rbp] 00088 8b 49 28 mov ecx, DWORD PTR [rcx+40] 0008b 2b c8 sub ecx, eax 0008d 8b c1 mov eax, ecx 0008f 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00092 03 c9 add ecx, ecx 00094 2b c1 sub eax, ecx 00096 89 45 44 mov DWORD PTR OneByte$[rbp], eax ; 211 : ; 212 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK; 00099 b9 30 00 00 00 mov ecx, 48 ; 00000030H 0009e e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 000a3 48 89 85 28 02 00 00 mov QWORD PTR $T7[rbp], rax 000aa 48 83 bd 28 02 00 00 00 cmp QWORD PTR $T7[rbp], 0 000b2 74 15 je SHORT $LN16@JitEmitPre 000b4 48 8b 8d 28 02 00 00 mov rcx, QWORD PTR $T7[rbp] 000bb e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK 000c0 48 89 85 98 02 00 00 mov QWORD PTR tv86[rbp], rax 000c7 eb 0b jmp SHORT $LN17@JitEmitPre $LN16@JitEmitPre: 000c9 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv86[rbp], 0 $LN17@JitEmitPre: 000d4 48 8b 85 98 02 00 00 mov rax, QWORD PTR tv86[rbp] 000db 48 89 85 08 02 00 00 mov QWORD PTR $T6[rbp], rax 000e2 48 8b 85 08 02 00 00 mov rax, QWORD PTR $T6[rbp] 000e9 48 89 45 68 mov QWORD PTR Block$[rbp], rax ; 213 : if (!Block) 000ed 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0 000f2 75 07 jne SHORT $LN4@JitEmitPre ; 214 : return NULL; 000f4 33 c0 xor eax, eax 000f6 e9 22 03 00 00 jmp $LN1@JitEmitPre $LN4@JitEmitPre: ; 215 : ; 216 : if (SaveFlags) 000fb 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00102 74 33 je SHORT $LN5@JitEmitPre ; 217 : { ; 218 : PNATIVE_CODE_LINK PushF = FlgEmitPushfqInst(); 00104 e8 00 00 00 00 call ?FlgEmitPushfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ ; FlgEmitPushfqInst 00109 48 89 85 88 00 00 00 mov QWORD PTR PushF$1[rbp], rax ; 219 : PushF->Flags |= CODE_FLAG_DO_NOT_DIVIDE; 00110 48 8b 85 88 00 00 00 mov rax, QWORD PTR PushF$1[rbp] 00117 8b 40 18 mov eax, DWORD PTR [rax+24] 0011a 83 c8 08 or eax, 8 0011d 48 8b 8d 88 00 00 00 mov rcx, QWORD PTR PushF$1[rbp] 00124 89 41 18 mov DWORD PTR [rcx+24], eax ; 220 : NcAppendToBlock(Block, PushF); 00127 48 8b 95 88 00 00 00 mov rdx, QWORD PTR PushF$1[rbp] 0012e 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00132 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock $LN5@JitEmitPre: ; 221 : } ; 222 : ; 223 : ULONG Count = FourByte; 00137 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0013a 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax $LN2@JitEmitPre: ; 224 : while (Count) 00140 83 bd a4 00 00 00 00 cmp DWORD PTR Count$[rbp], 0 00147 0f 84 f7 00 00 00 je $LN3@JitEmitPre ; 225 : { ; 226 : INT32 RipDelta = (((Count - 1) * DWORD_RIP_INST_LENGTH) + (TwoByte * WORD_RIP_INST_LENGTH) + (OneByte * BYTE_RIP_INST_LENGTH)); 0014d 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00153 ff c8 dec eax 00155 6b c0 0a imul eax, eax, 10 00158 6b 4d 24 09 imul ecx, DWORD PTR TwoByte$[rbp], 9 0015c 03 c1 add eax, ecx 0015e 6b 4d 44 07 imul ecx, DWORD PTR OneByte$[rbp], 7 00162 03 c1 add eax, ecx 00164 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 227 : if (SaveFlags) 0016a 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 00171 74 0e je SHORT $LN6@JitEmitPre ; 228 : RipDelta += 1; 00173 8b 85 c4 00 00 00 mov eax, DWORD PTR RipDelta$2[rbp] 00179 ff c0 inc eax 0017b 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax $LN6@JitEmitPre: ; 229 : RipDelta += ((FourByte - Count) * 4); 00181 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00187 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 0018a 2b c8 sub ecx, eax 0018c 8b c1 mov eax, ecx 0018e 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$2[rbp] 00194 8d 04 81 lea eax, DWORD PTR [rcx+rax*4] 00197 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 230 : RipDelta += Delta; 0019d 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 001a3 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$2[rbp] 001a9 03 c8 add ecx, eax 001ab 8b c1 mov eax, ecx 001ad 89 85 c4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 231 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count])) 001b3 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 001b9 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 001bc 2b c8 sub ecx, eax 001be 8b c1 mov eax, ecx 001c0 8b c0 mov eax, eax 001c2 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 001c9 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4] 001cd 44 8b 85 c4 00 00 00 mov r8d, DWORD PTR RipDelta$2[rbp] 001d4 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 001d8 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 001de e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD 001e3 85 c0 test eax, eax 001e5 75 4a jne SHORT $LN7@JitEmitPre ; 232 : { ; 233 : NcDeleteBlock(Block); 001e7 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 001eb e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 234 : delete Block; 001f0 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 001f4 48 89 85 48 02 00 00 mov QWORD PTR $T8[rbp], rax 001fb 48 83 bd 48 02 00 00 00 cmp QWORD PTR $T8[rbp], 0 00203 74 1a je SHORT $LN18@JitEmitPre 00205 ba 01 00 00 00 mov edx, 1 0020a 48 8b 8d 48 02 00 00 mov rcx, QWORD PTR $T8[rbp] 00211 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00216 48 89 85 98 02 00 00 mov QWORD PTR tv155[rbp], rax 0021d eb 0b jmp SHORT $LN19@JitEmitPre $LN18@JitEmitPre: 0021f 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv155[rbp], 0 $LN19@JitEmitPre: ; 235 : return NULL; 0022a 33 c0 xor eax, eax 0022c e9 ec 01 00 00 jmp $LN1@JitEmitPre $LN7@JitEmitPre: ; 236 : } ; 237 : --Count; 00231 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00237 ff c8 dec eax 00239 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax ; 238 : } 0023f e9 fc fe ff ff jmp $LN2@JitEmitPre $LN3@JitEmitPre: ; 239 : ; 240 : if (TwoByte) 00244 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0 00248 0f 84 c1 00 00 00 je $LN8@JitEmitPre ; 241 : { ; 242 : INT32 RipDelta = (OneByte * BYTE_RIP_INST_LENGTH); 0024e 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7 00252 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 243 : if (SaveFlags) 00258 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 0025f 74 0e je SHORT $LN9@JitEmitPre ; 244 : RipDelta += 1; 00261 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$3[rbp] 00267 ff c0 inc eax 00269 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax $LN9@JitEmitPre: ; 245 : RipDelta += (FourByte * 4); 0026f 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$3[rbp] 00275 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00278 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] 0027b 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 246 : RipDelta += Delta; 00281 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 00287 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$3[rbp] 0028d 03 c8 add ecx, eax 0028f 8b c1 mov eax, ecx 00291 89 85 e4 00 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 247 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3])) 00297 b8 04 00 00 00 mov eax, 4 0029c 48 6b c0 03 imul rax, rax, 3 002a0 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 002a7 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax] 002ab 44 8b 85 e4 00 00 00 mov r8d, DWORD PTR RipDelta$3[rbp] 002b2 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 002b6 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 002bc e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW 002c1 85 c0 test eax, eax 002c3 75 4a jne SHORT $LN8@JitEmitPre ; 248 : { ; 249 : NcDeleteBlock(Block); 002c5 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 002c9 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 250 : delete Block; 002ce 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 002d2 48 89 85 68 02 00 00 mov QWORD PTR $T9[rbp], rax 002d9 48 83 bd 68 02 00 00 00 cmp QWORD PTR $T9[rbp], 0 002e1 74 1a je SHORT $LN20@JitEmitPre 002e3 ba 01 00 00 00 mov edx, 1 002e8 48 8b 8d 68 02 00 00 mov rcx, QWORD PTR $T9[rbp] 002ef e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 002f4 48 89 85 98 02 00 00 mov QWORD PTR tv178[rbp], rax 002fb eb 0b jmp SHORT $LN21@JitEmitPre $LN20@JitEmitPre: 002fd 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv178[rbp], 0 $LN21@JitEmitPre: ; 251 : return NULL; 00308 33 c0 xor eax, eax 0030a e9 0e 01 00 00 jmp $LN1@JitEmitPre $LN8@JitEmitPre: ; 252 : } ; 253 : } ; 254 : ; 255 : if (OneByte) 0030f 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0 00313 0f 84 c4 00 00 00 je $LN11@JitEmitPre ; 256 : { ; 257 : INT32 RipDelta = 0; 00319 c7 85 04 01 00 00 00 00 00 00 mov DWORD PTR RipDelta$4[rbp], 0 ; 258 : if (SaveFlags) 00323 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 0032a 74 0e je SHORT $LN12@JitEmitPre ; 259 : RipDelta += 1; 0032c 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$4[rbp] 00332 ff c0 inc eax 00334 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax $LN12@JitEmitPre: ; 260 : RipDelta += (FourByte * 4) + (TwoByte * 2); 0033a 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$4[rbp] 00340 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00343 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] 00346 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00349 8d 04 48 lea eax, DWORD PTR [rax+rcx*2] 0034c 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 261 : RipDelta += Delta; 00352 8b 85 e0 02 00 00 mov eax, DWORD PTR Delta$[rbp] 00358 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$4[rbp] 0035e 03 c8 add ecx, eax 00360 8b c1 mov eax, ecx 00362 89 85 04 01 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 262 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4])) 00368 b8 04 00 00 00 mov eax, 4 0036d 48 6b c0 04 imul rax, rax, 4 00371 48 8b 8d c8 02 00 00 mov rcx, QWORD PTR JitData$[rbp] 00378 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax] 0037c 44 8b 85 04 01 00 00 mov r8d, DWORD PTR RipDelta$4[rbp] 00383 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp] 00387 8b 8d d0 02 00 00 mov ecx, DWORD PTR OpType$[rbp] 0038d e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB 00392 85 c0 test eax, eax 00394 75 47 jne SHORT $LN11@JitEmitPre ; 263 : { ; 264 : NcDeleteBlock(Block); 00396 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0039a e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 265 : delete Block; 0039f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003a3 48 89 85 88 02 00 00 mov QWORD PTR $T10[rbp], rax 003aa 48 83 bd 88 02 00 00 00 cmp QWORD PTR $T10[rbp], 0 003b2 74 1a je SHORT $LN22@JitEmitPre 003b4 ba 01 00 00 00 mov edx, 1 003b9 48 8b 8d 88 02 00 00 mov rcx, QWORD PTR $T10[rbp] 003c0 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 003c5 48 89 85 98 02 00 00 mov QWORD PTR tv201[rbp], rax 003cc eb 0b jmp SHORT $LN23@JitEmitPre $LN22@JitEmitPre: 003ce 48 c7 85 98 02 00 00 00 00 00 00 mov QWORD PTR tv201[rbp], 0 $LN23@JitEmitPre: ; 266 : return NULL; 003d9 33 c0 xor eax, eax 003db eb 40 jmp SHORT $LN1@JitEmitPre $LN11@JitEmitPre: ; 267 : } ; 268 : } ; 269 : ; 270 : if (SaveFlags) 003dd 83 bd d8 02 00 00 00 cmp DWORD PTR SaveFlags$[rbp], 0 003e4 74 33 je SHORT $LN14@JitEmitPre ; 271 : { ; 272 : PNATIVE_CODE_LINK PopF = FlgEmitPopfqInst(); 003e6 e8 00 00 00 00 call ?FlgEmitPopfqInst@@YAPEAU_NATIVE_CODE_LINK@@XZ ; FlgEmitPopfqInst 003eb 48 89 85 28 01 00 00 mov QWORD PTR PopF$5[rbp], rax ; 273 : PopF->Flags |= CODE_FLAG_DO_NOT_DIVIDE; 003f2 48 8b 85 28 01 00 00 mov rax, QWORD PTR PopF$5[rbp] 003f9 8b 40 18 mov eax, DWORD PTR [rax+24] 003fc 83 c8 08 or eax, 8 003ff 48 8b 8d 28 01 00 00 mov rcx, QWORD PTR PopF$5[rbp] 00406 89 41 18 mov DWORD PTR [rcx+24], eax ; 274 : NcAppendToBlock(Block, PopF); 00409 48 8b 95 28 01 00 00 mov rdx, QWORD PTR PopF$5[rbp] 00410 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00414 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock $LN14@JitEmitPre: ; 275 : } ; 276 : ; 277 : return Block; 00419 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] $LN1@JitEmitPre: ; 278 : } 0041d 48 8d a5 a8 02 00 00 lea rsp, QWORD PTR [rbp+680] 00424 5f pop rdi 00425 5d pop rbp 00426 c3 ret 0 ?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z ENDP ; JitEmitPreRipBitwiseOp _TEXT ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv201 = 664 tv178 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA PROC ; `JitEmitPreRipBitwiseOp'::`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 28 02 00 00 mov rcx, QWORD PTR $T7[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??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA ENDP ; `JitEmitPreRipBitwiseOp'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 PushF$1 = 136 Count$ = 164 RipDelta$2 = 196 RipDelta$3 = 228 RipDelta$4 = 260 PopF$5 = 296 $T6 = 520 $T7 = 552 $T8 = 584 $T9 = 616 $T10 = 648 tv201 = 664 tv178 = 664 tv155 = 664 tv86 = 664 Link$ = 704 JitData$ = 712 OpType$ = 720 SaveFlags$ = 728 Delta$ = 736 ?dtor$0@?0??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA PROC ; `JitEmitPreRipBitwiseOp'::`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 28 02 00 00 mov rcx, QWORD PTR $T7[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??JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z@4HA ENDP ; `JitEmitPreRipBitwiseOp'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z _TEXT SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 ZeroValue$ = 132 Count$ = 164 RipDelta$4 = 196 RipDelta$5 = 228 RipDelta$6 = 260 StartLink$ = 296 $T7 = 712 $T8 = 744 $T9 = 776 $T10 = 808 $T11 = 840 $T12 = 872 $T13 = 904 $T14 = 936 tv213 = 952 tv200 = 952 tv175 = 952 tv153 = 952 tv131 = 952 tv86 = 952 __$ArrayPad$ = 960 Link$ = 1008 Delta$ = 1016 ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z PROC ; JitEmitPostRipMov, COMDAT ; 110 : { $LN25: 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 f8 03 00 00 sub rsp, 1016 ; 000003f8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8b fc mov rdi, rsp 0001a b9 fe 00 00 00 mov ecx, 254 ; 000000feH 0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00024 f3 ab rep stosd 00026 48 8b 8c 24 18 04 00 00 mov rcx, QWORD PTR [rsp+1048] 0002e 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00035 48 33 c5 xor rax, rbp 00038 48 89 85 c0 03 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 00046 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 111 : ULONG FourByte = Link->RawDataSize / 4; 0004b 33 d2 xor edx, edx 0004d 48 8b 85 f0 03 00 00 mov rax, QWORD PTR Link$[rbp] 00054 8b 40 28 mov eax, DWORD PTR [rax+40] 00057 b9 04 00 00 00 mov ecx, 4 0005c f7 f1 div ecx 0005e 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 112 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2; 00061 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00064 c1 e0 02 shl eax, 2 00067 48 8b 8d f0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 0006e 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00071 2b c8 sub ecx, eax 00073 8b c1 mov eax, ecx 00075 33 d2 xor edx, edx 00077 b9 02 00 00 00 mov ecx, 2 0007c f7 f1 div ecx 0007e 89 45 24 mov DWORD PTR TwoByte$[rbp], eax ; 113 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2)); 00081 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00084 c1 e0 02 shl eax, 2 00087 48 8b 8d f0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 0008e 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00091 2b c8 sub ecx, eax 00093 8b c1 mov eax, ecx 00095 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00098 d1 e1 shl ecx, 1 0009a 2b c1 sub eax, ecx 0009c 89 45 44 mov DWORD PTR OneByte$[rbp], eax ; 114 : ; 115 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK; 0009f b9 30 00 00 00 mov ecx, 48 ; 00000030H 000a4 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 000a9 48 89 85 e8 02 00 00 mov QWORD PTR $T8[rbp], rax 000b0 48 83 bd e8 02 00 00 00 cmp QWORD PTR $T8[rbp], 0 000b8 74 15 je SHORT $LN11@JitEmitPos 000ba 48 8b 8d e8 02 00 00 mov rcx, QWORD PTR $T8[rbp] 000c1 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK 000c6 48 89 85 b8 03 00 00 mov QWORD PTR tv86[rbp], rax 000cd eb 0b jmp SHORT $LN12@JitEmitPos $LN11@JitEmitPos: 000cf 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv86[rbp], 0 $LN12@JitEmitPos: 000da 48 8b 85 b8 03 00 00 mov rax, QWORD PTR tv86[rbp] 000e1 48 89 85 c8 02 00 00 mov QWORD PTR $T7[rbp], rax 000e8 48 8b 85 c8 02 00 00 mov rax, QWORD PTR $T7[rbp] 000ef 48 89 45 68 mov QWORD PTR Block$[rbp], rax ; 116 : ; 117 : Block->Start = Block->End = new NATIVE_CODE_LINK; 000f3 b9 10 01 00 00 mov ecx, 272 ; 00000110H 000f8 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 000fd 48 89 85 28 03 00 00 mov QWORD PTR $T10[rbp], rax 00104 48 83 bd 28 03 00 00 00 cmp QWORD PTR $T10[rbp], 0 0010c 74 15 je SHORT $LN13@JitEmitPos 0010e 48 8b 8d 28 03 00 00 mov rcx, QWORD PTR $T10[rbp] 00115 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK 0011a 48 89 85 b8 03 00 00 mov QWORD PTR tv131[rbp], rax 00121 eb 0b jmp SHORT $LN14@JitEmitPos $LN13@JitEmitPos: 00123 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv131[rbp], 0 $LN14@JitEmitPos: 0012e 48 8b 85 b8 03 00 00 mov rax, QWORD PTR tv131[rbp] 00135 48 89 85 08 03 00 00 mov QWORD PTR $T9[rbp], rax 0013c 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00140 48 8b 8d 08 03 00 00 mov rcx, QWORD PTR $T9[rbp] 00147 48 89 48 08 mov QWORD PTR [rax+8], rcx 0014b 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0014f 48 8b 8d 08 03 00 00 mov rcx, QWORD PTR $T9[rbp] 00156 48 89 08 mov QWORD PTR [rax], rcx ; 118 : ULONG ZeroValue = 0; 00159 c7 85 84 00 00 00 00 00 00 00 mov DWORD PTR ZeroValue$[rbp], 0 ; 119 : ULONG Count = FourByte; 00163 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00166 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax $LN2@JitEmitPos: ; 120 : while (Count) 0016c 83 bd a4 00 00 00 00 cmp DWORD PTR Count$[rbp], 0 00173 0f 84 ec 00 00 00 je $LN3@JitEmitPos ; 121 : { ; 122 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4); 00179 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 0017f 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00182 2b c8 sub ecx, eax 00184 8b c1 mov eax, ecx 00186 c1 e0 02 shl eax, 2 00189 48 8b 8d f0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 00190 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00193 2b c8 sub ecx, eax 00195 8b c1 mov eax, ecx 00197 89 85 c4 00 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 123 : RipDelta += (FourByte - (Count - 1)) * DWORD_MOV_INST_LENGTH; 0019d 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 001a3 ff c8 dec eax 001a5 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 001a8 2b c8 sub ecx, eax 001aa 8b c1 mov eax, ecx 001ac 6b c0 0a imul eax, eax, 10 001af 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$4[rbp] 001b5 03 c8 add ecx, eax 001b7 8b c1 mov eax, ecx 001b9 89 85 c4 00 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 124 : RipDelta *= (-1); 001bf 6b 85 c4 00 00 00 ff imul eax, DWORD PTR RipDelta$4[rbp], -1 001c6 89 85 c4 00 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 125 : RipDelta += Delta; 001cc 8b 85 f8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 001d2 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$4[rbp] 001d8 03 c8 add ecx, eax 001da 8b c1 mov eax, ecx 001dc 89 85 c4 00 00 00 mov DWORD PTR RipDelta$4[rbp], eax ; 126 : ZeroValue = rand(); 001e2 ff 15 00 00 00 00 call QWORD PTR __imp_rand 001e8 89 85 84 00 00 00 mov DWORD PTR ZeroValue$[rbp], eax ; 127 : if (!JitEmitRipRelativeMovD(Block, RipDelta, (PUCHAR)&ZeroValue)) 001ee 4c 8d 85 84 00 00 00 lea r8, QWORD PTR ZeroValue$[rbp] 001f5 8b 95 c4 00 00 00 mov edx, DWORD PTR RipDelta$4[rbp] 001fb 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 001ff e8 00 00 00 00 call ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovD 00204 85 c0 test eax, eax 00206 75 4a jne SHORT $LN4@JitEmitPos ; 128 : { ; 129 : NcDeleteBlock(Block); 00208 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0020c e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 130 : delete Block; 00211 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00215 48 89 85 48 03 00 00 mov QWORD PTR $T11[rbp], rax 0021c 48 83 bd 48 03 00 00 00 cmp QWORD PTR $T11[rbp], 0 00224 74 1a je SHORT $LN15@JitEmitPos 00226 ba 01 00 00 00 mov edx, 1 0022b 48 8b 8d 48 03 00 00 mov rcx, QWORD PTR $T11[rbp] 00232 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00237 48 89 85 b8 03 00 00 mov QWORD PTR tv153[rbp], rax 0023e eb 0b jmp SHORT $LN16@JitEmitPos $LN15@JitEmitPos: 00240 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv153[rbp], 0 $LN16@JitEmitPos: ; 131 : return NULL; 0024b 33 c0 xor eax, eax 0024d e9 58 02 00 00 jmp $LN1@JitEmitPos $LN4@JitEmitPos: ; 132 : } ; 133 : --Count; 00252 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00258 ff c8 dec eax 0025a 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax ; 134 : } 00260 e9 07 ff ff ff jmp $LN2@JitEmitPos $LN3@JitEmitPos: ; 135 : ; 136 : if (TwoByte) 00265 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0 00269 0f 84 d0 00 00 00 je $LN5@JitEmitPos ; 137 : { ; 138 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4); 0026f 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00272 c1 e0 02 shl eax, 2 00275 48 8b 8d f0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 0027c 8b 49 28 mov ecx, DWORD PTR [rcx+40] 0027f 2b c8 sub ecx, eax 00281 8b c1 mov eax, ecx 00283 89 85 e4 00 00 00 mov DWORD PTR RipDelta$5[rbp], eax ; 139 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH); 00289 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10 0028d 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$5[rbp] 00293 03 c8 add ecx, eax 00295 8b c1 mov eax, ecx 00297 89 85 e4 00 00 00 mov DWORD PTR RipDelta$5[rbp], eax ; 140 : RipDelta += WORD_MOV_INST_LENGTH; 0029d 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$5[rbp] 002a3 83 c0 09 add eax, 9 002a6 89 85 e4 00 00 00 mov DWORD PTR RipDelta$5[rbp], eax ; 141 : RipDelta *= (-1); 002ac 6b 85 e4 00 00 00 ff imul eax, DWORD PTR RipDelta$5[rbp], -1 002b3 89 85 e4 00 00 00 mov DWORD PTR RipDelta$5[rbp], eax ; 142 : RipDelta += Delta; 002b9 8b 85 f8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 002bf 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$5[rbp] 002c5 03 c8 add ecx, eax 002c7 8b c1 mov eax, ecx 002c9 89 85 e4 00 00 00 mov DWORD PTR RipDelta$5[rbp], eax ; 143 : ZeroValue = rand(); 002cf ff 15 00 00 00 00 call QWORD PTR __imp_rand 002d5 89 85 84 00 00 00 mov DWORD PTR ZeroValue$[rbp], eax ; 144 : if (!JitEmitRipRelativeMovW(Block, RipDelta, (PUCHAR)&ZeroValue)) 002db 4c 8d 85 84 00 00 00 lea r8, QWORD PTR ZeroValue$[rbp] 002e2 8b 95 e4 00 00 00 mov edx, DWORD PTR RipDelta$5[rbp] 002e8 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 002ec e8 00 00 00 00 call ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovW 002f1 85 c0 test eax, eax 002f3 75 4a jne SHORT $LN5@JitEmitPos ; 145 : { ; 146 : NcDeleteBlock(Block); 002f5 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 002f9 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 147 : delete Block; 002fe 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00302 48 89 85 68 03 00 00 mov QWORD PTR $T12[rbp], rax 00309 48 83 bd 68 03 00 00 00 cmp QWORD PTR $T12[rbp], 0 00311 74 1a je SHORT $LN17@JitEmitPos 00313 ba 01 00 00 00 mov edx, 1 00318 48 8b 8d 68 03 00 00 mov rcx, QWORD PTR $T12[rbp] 0031f e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00324 48 89 85 b8 03 00 00 mov QWORD PTR tv175[rbp], rax 0032b eb 0b jmp SHORT $LN18@JitEmitPos $LN17@JitEmitPos: 0032d 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv175[rbp], 0 $LN18@JitEmitPos: ; 148 : return NULL; 00338 33 c0 xor eax, eax 0033a e9 6b 01 00 00 jmp $LN1@JitEmitPos $LN5@JitEmitPos: ; 149 : } ; 150 : } ; 151 : ; 152 : if (OneByte) 0033f 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0 00343 0f 84 e8 00 00 00 je $LN7@JitEmitPos ; 153 : { ; 154 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2); 00349 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0034c c1 e0 02 shl eax, 2 0034f 48 8b 8d f0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 00356 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00359 2b c8 sub ecx, eax 0035b 8b c1 mov eax, ecx 0035d 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00360 d1 e1 shl ecx, 1 00362 2b c1 sub eax, ecx 00364 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 155 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH); 0036a 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10 0036e 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$6[rbp] 00374 03 c8 add ecx, eax 00376 8b c1 mov eax, ecx 00378 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 156 : RipDelta += (TwoByte * WORD_MOV_INST_LENGTH); 0037e 6b 45 24 09 imul eax, DWORD PTR TwoByte$[rbp], 9 00382 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$6[rbp] 00388 03 c8 add ecx, eax 0038a 8b c1 mov eax, ecx 0038c 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 157 : RipDelta += BYTE_MOV_INST_LENGTH; 00392 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$6[rbp] 00398 83 c0 07 add eax, 7 0039b 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 158 : RipDelta *= (-1); 003a1 6b 85 04 01 00 00 ff imul eax, DWORD PTR RipDelta$6[rbp], -1 003a8 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 159 : RipDelta += Delta; 003ae 8b 85 f8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 003b4 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$6[rbp] 003ba 03 c8 add ecx, eax 003bc 8b c1 mov eax, ecx 003be 89 85 04 01 00 00 mov DWORD PTR RipDelta$6[rbp], eax ; 160 : ZeroValue = rand(); 003c4 ff 15 00 00 00 00 call QWORD PTR __imp_rand 003ca 89 85 84 00 00 00 mov DWORD PTR ZeroValue$[rbp], eax ; 161 : if (!JitEmitRipRelativeMovB(Block, RipDelta, (PUCHAR)&ZeroValue)) 003d0 4c 8d 85 84 00 00 00 lea r8, QWORD PTR ZeroValue$[rbp] 003d7 8b 95 04 01 00 00 mov edx, DWORD PTR RipDelta$6[rbp] 003dd 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 003e1 e8 00 00 00 00 call ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovB 003e6 85 c0 test eax, eax 003e8 75 47 jne SHORT $LN7@JitEmitPos ; 162 : { ; 163 : NcDeleteBlock(Block); 003ea 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 003ee e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 164 : delete Block; 003f3 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003f7 48 89 85 88 03 00 00 mov QWORD PTR $T13[rbp], rax 003fe 48 83 bd 88 03 00 00 00 cmp QWORD PTR $T13[rbp], 0 00406 74 1a je SHORT $LN19@JitEmitPos 00408 ba 01 00 00 00 mov edx, 1 0040d 48 8b 8d 88 03 00 00 mov rcx, QWORD PTR $T13[rbp] 00414 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00419 48 89 85 b8 03 00 00 mov QWORD PTR tv200[rbp], rax 00420 eb 0b jmp SHORT $LN20@JitEmitPos $LN19@JitEmitPos: 00422 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv200[rbp], 0 $LN20@JitEmitPos: ; 165 : return NULL; 0042d 33 c0 xor eax, eax 0042f eb 79 jmp SHORT $LN1@JitEmitPos $LN7@JitEmitPos: ; 166 : } ; 167 : } ; 168 : ; 169 : PNATIVE_CODE_LINK StartLink = Block->Start; 00431 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00435 48 8b 00 mov rax, QWORD PTR [rax] 00438 48 89 85 28 01 00 00 mov QWORD PTR StartLink$[rbp], rax ; 170 : Block->Start = Block->Start->Next; 0043f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00443 48 8b 00 mov rax, QWORD PTR [rax] 00446 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0044a 48 8b 00 mov rax, QWORD PTR [rax] 0044d 48 89 01 mov QWORD PTR [rcx], rax ; 171 : if (Block->Start) 00450 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00454 48 83 38 00 cmp QWORD PTR [rax], 0 00458 74 0f je SHORT $LN9@JitEmitPos ; 172 : Block->Start->Prev = NULL; 0045a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0045e 48 8b 00 mov rax, QWORD PTR [rax] 00461 48 c7 40 08 00 00 00 00 mov QWORD PTR [rax+8], 0 $LN9@JitEmitPos: ; 173 : delete StartLink; 00469 48 8b 85 28 01 00 00 mov rax, QWORD PTR StartLink$[rbp] 00470 48 89 85 a8 03 00 00 mov QWORD PTR $T14[rbp], rax 00477 48 83 bd a8 03 00 00 00 cmp QWORD PTR $T14[rbp], 0 0047f 74 1a je SHORT $LN21@JitEmitPos 00481 ba 01 00 00 00 mov edx, 1 00486 48 8b 8d a8 03 00 00 mov rcx, QWORD PTR $T14[rbp] 0048d e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z 00492 48 89 85 b8 03 00 00 mov QWORD PTR tv213[rbp], rax 00499 eb 0b jmp SHORT $LN22@JitEmitPos $LN21@JitEmitPos: 0049b 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv213[rbp], 0 $LN22@JitEmitPos: ; 174 : ; 175 : return Block; 004a6 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] $LN1@JitEmitPos: ; 176 : } 004aa 48 8b f8 mov rdi, rax 004ad 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 004b1 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcFrameData 004b8 e8 00 00 00 00 call _RTC_CheckStackVars 004bd 48 8b c7 mov rax, rdi 004c0 48 8b 8d c0 03 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 004c7 48 33 cd xor rcx, rbp 004ca e8 00 00 00 00 call __security_check_cookie 004cf 48 8d a5 d8 03 00 00 lea rsp, QWORD PTR [rbp+984] 004d6 5f pop rdi 004d7 5d pop rbp 004d8 c3 ret 0 ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ENDP ; JitEmitPostRipMov _TEXT ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 ZeroValue$ = 132 Count$ = 164 RipDelta$4 = 196 RipDelta$5 = 228 RipDelta$6 = 260 StartLink$ = 296 $T7 = 712 $T8 = 744 $T9 = 776 $T10 = 808 $T11 = 840 $T12 = 872 $T13 = 904 $T14 = 936 tv213 = 952 tv200 = 952 tv175 = 952 tv153 = 952 tv131 = 952 tv86 = 952 __$ArrayPad$ = 960 Link$ = 1008 Delta$ = 1016 ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPostRipMov'::`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 e8 02 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 ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPostRipMov'::`1'::dtor$0 text$x ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 ZeroValue$ = 132 Count$ = 164 RipDelta$4 = 196 RipDelta$5 = 228 RipDelta$6 = 260 StartLink$ = 296 $T7 = 712 $T8 = 744 $T9 = 776 $T10 = 808 $T11 = 840 $T12 = 872 $T13 = 904 $T14 = 936 tv213 = 952 tv200 = 952 tv175 = 952 tv153 = 952 tv131 = 952 tv86 = 952 __$ArrayPad$ = 960 Link$ = 1008 Delta$ = 1016 ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPostRipMov'::`1'::dtor$1 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 10 01 00 00 mov edx, 272 ; 00000110H 00019 48 8b 8d 28 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 ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPostRipMov'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 ZeroValue$ = 132 Count$ = 164 RipDelta$4 = 196 RipDelta$5 = 228 RipDelta$6 = 260 StartLink$ = 296 $T7 = 712 $T8 = 744 $T9 = 776 $T10 = 808 $T11 = 840 $T12 = 872 $T13 = 904 $T14 = 936 tv213 = 952 tv200 = 952 tv175 = 952 tv153 = 952 tv131 = 952 tv86 = 952 __$ArrayPad$ = 960 Link$ = 1008 Delta$ = 1016 ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPostRipMov'::`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 e8 02 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 ?dtor$0@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPostRipMov'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 ZeroValue$ = 132 Count$ = 164 RipDelta$4 = 196 RipDelta$5 = 228 RipDelta$6 = 260 StartLink$ = 296 $T7 = 712 $T8 = 744 $T9 = 776 $T10 = 808 $T11 = 840 $T12 = 872 $T13 = 904 $T14 = 936 tv213 = 952 tv200 = 952 tv175 = 952 tv153 = 952 tv131 = 952 tv86 = 952 __$ArrayPad$ = 960 Link$ = 1008 Delta$ = 1016 ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPostRipMov'::`1'::dtor$1 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 10 01 00 00 mov edx, 272 ; 00000110H 00019 48 8b 8d 28 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 ?dtor$1@?0??JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPostRipMov'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z _TEXT SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 DataOffset$ = 136 Count$ = 164 RipDelta$1 = 196 RipDelta$2 = 228 RipDelta$3 = 260 StartLink$ = 296 $T4 = 712 $T5 = 744 $T6 = 776 $T7 = 808 $T8 = 840 $T9 = 872 $T10 = 904 $T11 = 936 tv202 = 952 tv189 = 952 tv171 = 952 tv153 = 952 tv131 = 952 tv86 = 952 Link$ = 992 Delta$ = 1000 ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z PROC ; JitEmitPreRipMov, COMDAT ; 45 : { $LN25: 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 e8 03 00 00 sub rsp, 1000 ; 000003e8H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8b fc mov rdi, rsp 0001a b9 fa 00 00 00 mov ecx, 250 ; 000000faH 0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00024 f3 ab rep stosd 00026 48 8b 8c 24 08 04 00 00 mov rcx, QWORD PTR [rsp+1032] 0002e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 00035 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 46 : ULONG FourByte = Link->RawDataSize / 4; 0003a 33 d2 xor edx, edx 0003c 48 8b 85 e0 03 00 00 mov rax, QWORD PTR Link$[rbp] 00043 8b 40 28 mov eax, DWORD PTR [rax+40] 00046 b9 04 00 00 00 mov ecx, 4 0004b f7 f1 div ecx 0004d 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 47 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2; 00050 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00053 c1 e0 02 shl eax, 2 00056 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 0005d 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00060 2b c8 sub ecx, eax 00062 8b c1 mov eax, ecx 00064 33 d2 xor edx, edx 00066 b9 02 00 00 00 mov ecx, 2 0006b f7 f1 div ecx 0006d 89 45 24 mov DWORD PTR TwoByte$[rbp], eax ; 48 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2)); 00070 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00073 c1 e0 02 shl eax, 2 00076 48 8b 8d e0 03 00 00 mov rcx, QWORD PTR Link$[rbp] 0007d 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00080 2b c8 sub ecx, eax 00082 8b c1 mov eax, ecx 00084 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 00087 03 c9 add ecx, ecx 00089 2b c1 sub eax, ecx 0008b 89 45 44 mov DWORD PTR OneByte$[rbp], eax ; 49 : ; 50 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK; 0008e b9 30 00 00 00 mov ecx, 48 ; 00000030H 00093 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 00098 48 89 85 e8 02 00 00 mov QWORD PTR $T5[rbp], rax 0009f 48 83 bd e8 02 00 00 00 cmp QWORD PTR $T5[rbp], 0 000a7 74 15 je SHORT $LN11@JitEmitPre 000a9 48 8b 8d e8 02 00 00 mov rcx, QWORD PTR $T5[rbp] 000b0 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK 000b5 48 89 85 b8 03 00 00 mov QWORD PTR tv86[rbp], rax 000bc eb 0b jmp SHORT $LN12@JitEmitPre $LN11@JitEmitPre: 000be 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv86[rbp], 0 $LN12@JitEmitPre: 000c9 48 8b 85 b8 03 00 00 mov rax, QWORD PTR tv86[rbp] 000d0 48 89 85 c8 02 00 00 mov QWORD PTR $T4[rbp], rax 000d7 48 8b 85 c8 02 00 00 mov rax, QWORD PTR $T4[rbp] 000de 48 89 45 68 mov QWORD PTR Block$[rbp], rax ; 51 : ; 52 : Block->Start = Block->End = new NATIVE_CODE_LINK; 000e2 b9 10 01 00 00 mov ecx, 272 ; 00000110H 000e7 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new 000ec 48 89 85 28 03 00 00 mov QWORD PTR $T7[rbp], rax 000f3 48 83 bd 28 03 00 00 00 cmp QWORD PTR $T7[rbp], 0 000fb 74 15 je SHORT $LN13@JitEmitPre 000fd 48 8b 8d 28 03 00 00 mov rcx, QWORD PTR $T7[rbp] 00104 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK 00109 48 89 85 b8 03 00 00 mov QWORD PTR tv131[rbp], rax 00110 eb 0b jmp SHORT $LN14@JitEmitPre $LN13@JitEmitPre: 00112 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv131[rbp], 0 $LN14@JitEmitPre: 0011d 48 8b 85 b8 03 00 00 mov rax, QWORD PTR tv131[rbp] 00124 48 89 85 08 03 00 00 mov QWORD PTR $T6[rbp], rax 0012b 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0012f 48 8b 8d 08 03 00 00 mov rcx, QWORD PTR $T6[rbp] 00136 48 89 48 08 mov QWORD PTR [rax+8], rcx 0013a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 0013e 48 8b 8d 08 03 00 00 mov rcx, QWORD PTR $T6[rbp] 00145 48 89 08 mov QWORD PTR [rax], rcx ; 53 : PUCHAR DataOffset = Link->RawData; 00148 48 8b 85 e0 03 00 00 mov rax, QWORD PTR Link$[rbp] 0014f 48 8b 40 20 mov rax, QWORD PTR [rax+32] 00153 48 89 85 88 00 00 00 mov QWORD PTR DataOffset$[rbp], rax ; 54 : ULONG Count = FourByte; 0015a 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 0015d 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax $LN2@JitEmitPre: ; 55 : while (Count) 00163 83 bd a4 00 00 00 00 cmp DWORD PTR Count$[rbp], 0 0016a 0f 84 d8 00 00 00 je $LN3@JitEmitPre ; 56 : { ; 57 : //Account for remaining MOVs ; 58 : INT32 RipDelta = (((Count - 1) * DWORD_MOV_INST_LENGTH) + (TwoByte * WORD_MOV_INST_LENGTH) + (OneByte * BYTE_MOV_INST_LENGTH)); 00170 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00176 ff c8 dec eax 00178 6b c0 0a imul eax, eax, 10 0017b 6b 4d 24 09 imul ecx, DWORD PTR TwoByte$[rbp], 9 0017f 03 c1 add eax, ecx 00181 6b 4d 44 07 imul ecx, DWORD PTR OneByte$[rbp], 7 00185 03 c1 add eax, ecx 00187 89 85 c4 00 00 00 mov DWORD PTR RipDelta$1[rbp], eax ; 59 : //Account for already MOVd instructions ; 60 : RipDelta += ((FourByte - Count) * 4); 0018d 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 00193 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00196 2b c8 sub ecx, eax 00198 8b c1 mov eax, ecx 0019a 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$1[rbp] 001a0 8d 04 81 lea eax, DWORD PTR [rcx+rax*4] 001a3 89 85 c4 00 00 00 mov DWORD PTR RipDelta$1[rbp], eax ; 61 : RipDelta += Delta; 001a9 8b 85 e8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 001af 8b 8d c4 00 00 00 mov ecx, DWORD PTR RipDelta$1[rbp] 001b5 03 c8 add ecx, eax 001b7 8b c1 mov eax, ecx 001b9 89 85 c4 00 00 00 mov DWORD PTR RipDelta$1[rbp], eax ; 62 : //Add the actual instruction ; 63 : if (!JitEmitRipRelativeMovD(Block, RipDelta, DataOffset)) 001bf 4c 8b 85 88 00 00 00 mov r8, QWORD PTR DataOffset$[rbp] 001c6 8b 95 c4 00 00 00 mov edx, DWORD PTR RipDelta$1[rbp] 001cc 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 001d0 e8 00 00 00 00 call ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovD 001d5 85 c0 test eax, eax 001d7 75 4a jne SHORT $LN4@JitEmitPre ; 64 : { ; 65 : NcDeleteBlock(Block); 001d9 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 001dd e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 66 : delete Block; 001e2 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 001e6 48 89 85 48 03 00 00 mov QWORD PTR $T8[rbp], rax 001ed 48 83 bd 48 03 00 00 00 cmp QWORD PTR $T8[rbp], 0 001f5 74 1a je SHORT $LN15@JitEmitPre 001f7 ba 01 00 00 00 mov edx, 1 001fc 48 8b 8d 48 03 00 00 mov rcx, QWORD PTR $T8[rbp] 00203 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00208 48 89 85 b8 03 00 00 mov QWORD PTR tv153[rbp], rax 0020f eb 0b jmp SHORT $LN16@JitEmitPre $LN15@JitEmitPre: 00211 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv153[rbp], 0 $LN16@JitEmitPre: ; 67 : return NULL; 0021c 33 c0 xor eax, eax 0021e e9 f3 01 00 00 jmp $LN1@JitEmitPre $LN4@JitEmitPre: ; 68 : } ; 69 : DataOffset += 4; 00223 48 8b 85 88 00 00 00 mov rax, QWORD PTR DataOffset$[rbp] 0022a 48 83 c0 04 add rax, 4 0022e 48 89 85 88 00 00 00 mov QWORD PTR DataOffset$[rbp], rax ; 70 : --Count; 00235 8b 85 a4 00 00 00 mov eax, DWORD PTR Count$[rbp] 0023b ff c8 dec eax 0023d 89 85 a4 00 00 00 mov DWORD PTR Count$[rbp], eax ; 71 : } 00243 e9 1b ff ff ff jmp $LN2@JitEmitPre $LN3@JitEmitPre: ; 72 : ; 73 : if (TwoByte) 00248 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0 0024c 0f 84 a8 00 00 00 je $LN5@JitEmitPre ; 74 : { ; 75 : INT32 RipDelta = (OneByte * BYTE_MOV_INST_LENGTH); 00252 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7 00256 89 85 e4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 76 : RipDelta += (FourByte * 4); 0025c 8b 85 e4 00 00 00 mov eax, DWORD PTR RipDelta$2[rbp] 00262 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00265 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] 00268 89 85 e4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 77 : RipDelta += Delta; 0026e 8b 85 e8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 00274 8b 8d e4 00 00 00 mov ecx, DWORD PTR RipDelta$2[rbp] 0027a 03 c8 add ecx, eax 0027c 8b c1 mov eax, ecx 0027e 89 85 e4 00 00 00 mov DWORD PTR RipDelta$2[rbp], eax ; 78 : if (!JitEmitRipRelativeMovW(Block, RipDelta, DataOffset)) 00284 4c 8b 85 88 00 00 00 mov r8, QWORD PTR DataOffset$[rbp] 0028b 8b 95 e4 00 00 00 mov edx, DWORD PTR RipDelta$2[rbp] 00291 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 00295 e8 00 00 00 00 call ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovW 0029a 85 c0 test eax, eax 0029c 75 4a jne SHORT $LN6@JitEmitPre ; 79 : { ; 80 : NcDeleteBlock(Block); 0029e 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 002a2 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 81 : delete Block; 002a7 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 002ab 48 89 85 68 03 00 00 mov QWORD PTR $T9[rbp], rax 002b2 48 83 bd 68 03 00 00 00 cmp QWORD PTR $T9[rbp], 0 002ba 74 1a je SHORT $LN17@JitEmitPre 002bc ba 01 00 00 00 mov edx, 1 002c1 48 8b 8d 68 03 00 00 mov rcx, QWORD PTR $T9[rbp] 002c8 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 002cd 48 89 85 b8 03 00 00 mov QWORD PTR tv171[rbp], rax 002d4 eb 0b jmp SHORT $LN18@JitEmitPre $LN17@JitEmitPre: 002d6 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv171[rbp], 0 $LN18@JitEmitPre: ; 82 : return NULL; 002e1 33 c0 xor eax, eax 002e3 e9 2e 01 00 00 jmp $LN1@JitEmitPre $LN6@JitEmitPre: ; 83 : } ; 84 : DataOffset += 2; 002e8 48 8b 85 88 00 00 00 mov rax, QWORD PTR DataOffset$[rbp] 002ef 48 83 c0 02 add rax, 2 002f3 48 89 85 88 00 00 00 mov QWORD PTR DataOffset$[rbp], rax $LN5@JitEmitPre: ; 85 : } ; 86 : ; 87 : if (OneByte) 002fa 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0 002fe 0f 84 99 00 00 00 je $LN7@JitEmitPre ; 88 : { ; 89 : INT32 RipDelta = 0; 00304 c7 85 04 01 00 00 00 00 00 00 mov DWORD PTR RipDelta$3[rbp], 0 ; 90 : RipDelta += (FourByte * 4) + (TwoByte * 2); 0030e 8b 85 04 01 00 00 mov eax, DWORD PTR RipDelta$3[rbp] 00314 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp] 00317 8d 04 88 lea eax, DWORD PTR [rax+rcx*4] 0031a 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 0031d 8d 04 48 lea eax, DWORD PTR [rax+rcx*2] 00320 89 85 04 01 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 91 : RipDelta += Delta; 00326 8b 85 e8 03 00 00 mov eax, DWORD PTR Delta$[rbp] 0032c 8b 8d 04 01 00 00 mov ecx, DWORD PTR RipDelta$3[rbp] 00332 03 c8 add ecx, eax 00334 8b c1 mov eax, ecx 00336 89 85 04 01 00 00 mov DWORD PTR RipDelta$3[rbp], eax ; 92 : if (!JitEmitRipRelativeMovB(Block, RipDelta, DataOffset)) 0033c 4c 8b 85 88 00 00 00 mov r8, QWORD PTR DataOffset$[rbp] 00343 8b 95 04 01 00 00 mov edx, DWORD PTR RipDelta$3[rbp] 00349 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0034d e8 00 00 00 00 call ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovB 00352 85 c0 test eax, eax 00354 75 47 jne SHORT $LN7@JitEmitPre ; 93 : { ; 94 : NcDeleteBlock(Block); 00356 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 0035a e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock ; 95 : delete Block; 0035f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 00363 48 89 85 88 03 00 00 mov QWORD PTR $T10[rbp], rax 0036a 48 83 bd 88 03 00 00 00 cmp QWORD PTR $T10[rbp], 0 00372 74 1a je SHORT $LN19@JitEmitPre 00374 ba 01 00 00 00 mov edx, 1 00379 48 8b 8d 88 03 00 00 mov rcx, QWORD PTR $T10[rbp] 00380 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z 00385 48 89 85 b8 03 00 00 mov QWORD PTR tv189[rbp], rax 0038c eb 0b jmp SHORT $LN20@JitEmitPre $LN19@JitEmitPre: 0038e 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv189[rbp], 0 $LN20@JitEmitPre: ; 96 : return NULL; 00399 33 c0 xor eax, eax 0039b eb 79 jmp SHORT $LN1@JitEmitPre $LN7@JitEmitPre: ; 97 : } ; 98 : } ; 99 : ; 100 : PNATIVE_CODE_LINK StartLink = Block->Start; 0039d 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003a1 48 8b 00 mov rax, QWORD PTR [rax] 003a4 48 89 85 28 01 00 00 mov QWORD PTR StartLink$[rbp], rax ; 101 : Block->Start = Block->Start->Next; 003ab 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003af 48 8b 00 mov rax, QWORD PTR [rax] 003b2 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp] 003b6 48 8b 00 mov rax, QWORD PTR [rax] 003b9 48 89 01 mov QWORD PTR [rcx], rax ; 102 : if (Block->Start) 003bc 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003c0 48 83 38 00 cmp QWORD PTR [rax], 0 003c4 74 0f je SHORT $LN9@JitEmitPre ; 103 : Block->Start->Prev = NULL; 003c6 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] 003ca 48 8b 00 mov rax, QWORD PTR [rax] 003cd 48 c7 40 08 00 00 00 00 mov QWORD PTR [rax+8], 0 $LN9@JitEmitPre: ; 104 : delete StartLink; 003d5 48 8b 85 28 01 00 00 mov rax, QWORD PTR StartLink$[rbp] 003dc 48 89 85 a8 03 00 00 mov QWORD PTR $T11[rbp], rax 003e3 48 83 bd a8 03 00 00 00 cmp QWORD PTR $T11[rbp], 0 003eb 74 1a je SHORT $LN21@JitEmitPre 003ed ba 01 00 00 00 mov edx, 1 003f2 48 8b 8d a8 03 00 00 mov rcx, QWORD PTR $T11[rbp] 003f9 e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z 003fe 48 89 85 b8 03 00 00 mov QWORD PTR tv202[rbp], rax 00405 eb 0b jmp SHORT $LN22@JitEmitPre $LN21@JitEmitPre: 00407 48 c7 85 b8 03 00 00 00 00 00 00 mov QWORD PTR tv202[rbp], 0 $LN22@JitEmitPre: ; 105 : ; 106 : return Block; 00412 48 8b 45 68 mov rax, QWORD PTR Block$[rbp] $LN1@JitEmitPre: ; 107 : } 00416 48 8d a5 c8 03 00 00 lea rsp, QWORD PTR [rbp+968] 0041d 5f pop rdi 0041e 5d pop rbp 0041f c3 ret 0 ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ENDP ; JitEmitPreRipMov _TEXT ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 DataOffset$ = 136 Count$ = 164 RipDelta$1 = 196 RipDelta$2 = 228 RipDelta$3 = 260 StartLink$ = 296 $T4 = 712 $T5 = 744 $T6 = 776 $T7 = 808 $T8 = 840 $T9 = 872 $T10 = 904 $T11 = 936 tv202 = 952 tv189 = 952 tv171 = 952 tv153 = 952 tv131 = 952 tv86 = 952 Link$ = 992 Delta$ = 1000 ?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPreRipMov'::`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 e8 02 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??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPreRipMov'::`1'::dtor$0 text$x ENDS ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 DataOffset$ = 136 Count$ = 164 RipDelta$1 = 196 RipDelta$2 = 228 RipDelta$3 = 260 StartLink$ = 296 $T4 = 712 $T5 = 744 $T6 = 776 $T7 = 808 $T8 = 840 $T9 = 872 $T10 = 904 $T11 = 936 tv202 = 952 tv189 = 952 tv171 = 952 tv153 = 952 tv131 = 952 tv86 = 952 Link$ = 992 Delta$ = 1000 ?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPreRipMov'::`1'::dtor$1 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 10 01 00 00 mov edx, 272 ; 00000110H 00019 48 8b 8d 28 03 00 00 mov rcx, QWORD PTR $T7[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$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPreRipMov'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 DataOffset$ = 136 Count$ = 164 RipDelta$1 = 196 RipDelta$2 = 228 RipDelta$3 = 260 StartLink$ = 296 $T4 = 712 $T5 = 744 $T6 = 776 $T7 = 808 $T8 = 840 $T9 = 872 $T10 = 904 $T11 = 936 tv202 = 952 tv189 = 952 tv171 = 952 tv153 = 952 tv131 = 952 tv86 = 952 Link$ = 992 Delta$ = 1000 ?dtor$0@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPreRipMov'::`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 e8 02 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??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPreRipMov'::`1'::dtor$0 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT text$x text$x SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Block$ = 104 DataOffset$ = 136 Count$ = 164 RipDelta$1 = 196 RipDelta$2 = 228 RipDelta$3 = 260 StartLink$ = 296 $T4 = 712 $T5 = 744 $T6 = 776 $T7 = 808 $T8 = 840 $T9 = 872 $T10 = 904 $T11 = 936 tv202 = 952 tv189 = 952 tv171 = 952 tv153 = 952 tv131 = 952 tv86 = 952 Link$ = 992 Delta$ = 1000 ?dtor$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA PROC ; `JitEmitPreRipMov'::`1'::dtor$1 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 10 01 00 00 mov edx, 272 ; 00000110H 00019 48 8b 8d 28 03 00 00 mov rcx, QWORD PTR $T7[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$1@?0??JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z@4HA ENDP ; `JitEmitPreRipMov'::`1'::dtor$1 text$x ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z _TEXT SEGMENT Link$ = 224 JitData$ = 232 ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForAnd, COMDAT ; 40 : { $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:__DD050276_Jit@cpp 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 41 : ; 42 : } 0003b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00042 5f pop rdi 00043 5d pop rbp 00044 c3 ret 0 ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForAnd _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z _TEXT SEGMENT Link$ = 224 JitData$ = 232 ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForOr, COMDAT ; 35 : { $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:__DD050276_Jit@cpp 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 36 : ; 37 : } 0003b 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00042 5f pop rdi 00043 5d pop rbp 00044 c3 ret 0 ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForOr _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp ; COMDAT ?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z _TEXT SEGMENT FourByte$ = 4 TwoByte$ = 36 OneByte$ = 68 Link$ = 320 ToMutate$ = 328 JitData$ = 336 ?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForXor, COMDAT ; 10 : { $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 48 01 00 00 sub rsp, 328 ; 00000148H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8b fc mov rdi, rsp 00020 b9 52 00 00 00 mov ecx, 82 ; 00000052H 00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002a f3 ab rep stosd 0002c 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 00034 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 11 : ULONG FourByte = Link->RawDataSize / 4; 00040 33 d2 xor edx, edx 00042 48 8b 85 40 01 00 00 mov rax, QWORD PTR Link$[rbp] 00049 8b 40 28 mov eax, DWORD PTR [rax+40] 0004c b9 04 00 00 00 mov ecx, 4 00051 f7 f1 div ecx 00053 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 12 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2; 00056 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00059 c1 e0 02 shl eax, 2 0005c 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR Link$[rbp] 00063 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00066 2b c8 sub ecx, eax 00068 8b c1 mov eax, ecx 0006a 33 d2 xor edx, edx 0006c b9 02 00 00 00 mov ecx, 2 00071 f7 f1 div ecx 00073 89 45 24 mov DWORD PTR TwoByte$[rbp], eax ; 13 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2)); 00076 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 00079 c1 e0 02 shl eax, 2 0007c 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR Link$[rbp] 00083 8b 49 28 mov ecx, DWORD PTR [rcx+40] 00086 2b c8 sub ecx, eax 00088 8b c1 mov eax, ecx 0008a 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp] 0008d d1 e1 shl ecx, 1 0008f 2b c1 sub eax, ecx 00091 89 45 44 mov DWORD PTR OneByte$[rbp], eax $LN2@JitMutateI: ; 14 : ; 15 : while (FourByte) 00094 83 7d 04 00 cmp DWORD PTR FourByte$[rbp], 0 00098 74 46 je SHORT $LN3@JitMutateI ; 16 : { ; 17 : *(PULONG)ToMutate ^= JitData->Data[2 - FourByte]; 0009a b8 02 00 00 00 mov eax, 2 0009f 2b 45 04 sub eax, DWORD PTR FourByte$[rbp] 000a2 8b c0 mov eax, eax 000a4 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 000ab 48 8b 95 50 01 00 00 mov rdx, QWORD PTR JitData$[rbp] 000b2 8b 04 82 mov eax, DWORD PTR [rdx+rax*4] 000b5 8b 09 mov ecx, DWORD PTR [rcx] 000b7 33 c8 xor ecx, eax 000b9 8b c1 mov eax, ecx 000bb 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 000c2 89 01 mov DWORD PTR [rcx], eax ; 18 : ToMutate += 4; 000c4 48 8b 85 48 01 00 00 mov rax, QWORD PTR ToMutate$[rbp] 000cb 48 83 c0 04 add rax, 4 000cf 48 89 85 48 01 00 00 mov QWORD PTR ToMutate$[rbp], rax ; 19 : FourByte--; 000d6 8b 45 04 mov eax, DWORD PTR FourByte$[rbp] 000d9 ff c8 dec eax 000db 89 45 04 mov DWORD PTR FourByte$[rbp], eax ; 20 : } 000de eb b4 jmp SHORT $LN2@JitMutateI $LN3@JitMutateI: ; 21 : ; 22 : if (TwoByte) 000e0 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0 000e4 74 3e je SHORT $LN4@JitMutateI ; 23 : { ; 24 : *(PUSHORT)ToMutate ^= (USHORT)JitData->Data[3]; 000e6 b8 04 00 00 00 mov eax, 4 000eb 48 6b c0 03 imul rax, rax, 3 000ef 48 8b 8d 50 01 00 00 mov rcx, QWORD PTR JitData$[rbp] 000f6 0f b7 04 01 movzx eax, WORD PTR [rcx+rax] 000fa 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 00101 0f b7 09 movzx ecx, WORD PTR [rcx] 00104 33 c8 xor ecx, eax 00106 8b c1 mov eax, ecx 00108 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 0010f 66 89 01 mov WORD PTR [rcx], ax ; 25 : ToMutate += 2; 00112 48 8b 85 48 01 00 00 mov rax, QWORD PTR ToMutate$[rbp] 00119 48 83 c0 02 add rax, 2 0011d 48 89 85 48 01 00 00 mov QWORD PTR ToMutate$[rbp], rax $LN4@JitMutateI: ; 26 : } ; 27 : ; 28 : if (OneByte) 00124 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0 00128 74 2b je SHORT $LN5@JitMutateI ; 29 : *(PUCHAR)ToMutate ^= (UCHAR)JitData->Data[3]; 0012a b8 04 00 00 00 mov eax, 4 0012f 48 6b c0 03 imul rax, rax, 3 00133 48 8b 8d 50 01 00 00 mov rcx, QWORD PTR JitData$[rbp] 0013a 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax] 0013e 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 00145 0f b6 09 movzx ecx, BYTE PTR [rcx] 00148 33 c8 xor ecx, eax 0014a 8b c1 mov eax, ecx 0014c 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR ToMutate$[rbp] 00153 88 01 mov BYTE PTR [rcx], al $LN5@JitMutateI: ; 30 : ; 31 : return TRUE; 00155 b8 01 00 00 00 mov eax, 1 ; 32 : } 0015a 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 00161 5f pop rdi 00162 5d pop rbp 00163 c3 ret 0 ?JitMutateInstForXor@@YAHPEAU_NATIVE_CODE_LINK@@PEAEPEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForXor _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z _TEXT SEGMENT this$ = 224 __flags$ = 232 ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z PROC ; _NATIVE_CODE_BLOCK::`scalar deleting destructor', COMDAT $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 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 8b 8d e0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00035 e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ 0003a 8b 85 e8 00 00 00 mov eax, DWORD PTR __flags$[rbp] 00040 83 e0 01 and eax, 1 00043 85 c0 test eax, eax 00045 74 11 je SHORT $LN2@scalar 00047 ba 30 00 00 00 mov edx, 48 ; 00000030H 0004c 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00053 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete $LN2@scalar: 00058 48 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] 0005f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00066 5f pop rdi 00067 5d pop rbp 00068 c3 ret 0 ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z ENDP ; _NATIVE_CODE_BLOCK::`scalar deleting destructor' _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT ??1_NATIVE_CODE_BLOCK@@QEAA@XZ _TEXT SEGMENT this$ = 224 ??1_NATIVE_CODE_BLOCK@@QEAA@XZ PROC ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK, 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 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] 00031 48 83 c0 10 add rax, 16 00035 48 8b c8 mov rcx, rax 00038 e8 00 00 00 00 call ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ; std::vector >::~vector > 0003d 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00044 5f pop rdi 00045 5d pop rbp 00046 c3 ret 0 ??1_NATIVE_CODE_BLOCK@@QEAA@XZ ENDP ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK _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\xmemory ; COMDAT ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ _TEXT SEGMENT this$ = 224 ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ PROC ; std::_Compressed_pair,std::_Vector_val >,1>::_Get_first, COMDAT ; 1343 : constexpr _Ty1& _Get_first() noexcept { $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:__A58979FC_xmemory 00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1344 : return *this; 00036 48 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] ; 1345 : } 0003d 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00044 5f pop rdi 00045 5d pop rbp 00046 c3 ret 0 ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ ENDP ; std::_Compressed_pair,std::_Vector_val >,1>::_Get_first _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\vector ; COMDAT ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ _TEXT SEGMENT this$ = 224 ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ PROC ; std::vector >::_Getal, COMDAT ; 1731 : _Alty& _Getal() noexcept { $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:__BF2A7ACC_vector 00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1732 : return _Mypair._Get_first(); 00036 48 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] 0003d 48 8b c8 mov rcx, rax 00040 e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ ; std::_Compressed_pair,std::_Vector_val >,1>::_Get_first 00045 90 npad 1 ; 1733 : } 00046 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 0004d 5f pop rdi 0004e 5d pop rbp 0004f c3 ret 0 ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ENDP ; std::vector >::_Getal _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\vector ; COMDAT ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ _TEXT SEGMENT _My_data$ = 8 _Myfirst$ = 40 _Mylast$ = 72 _Myend$ = 104 tv90 = 312 tv88 = 320 tv86 = 328 this$ = 368 ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ PROC ; std::vector >::_Tidy, COMDAT ; 1685 : void _Tidy() noexcept { // free all 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 78 01 00 00 sub rsp, 376 ; 00000178H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8b fc mov rdi, rsp 00016 b9 5e 00 00 00 mov ecx, 94 ; 0000005eH 0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00020 f3 ab rep stosd 00022 48 8b 8c 24 98 01 00 00 mov rcx, QWORD PTR [rsp+408] 0002a 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__BF2A7ACC_vector 00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1686 : auto& _My_data = _Mypair._Myval2; 00036 48 8b 85 70 01 00 00 mov rax, QWORD PTR this$[rbp] 0003d 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax ; 1687 : pointer& _Myfirst = _My_data._Myfirst; 00041 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp] 00045 48 83 c0 08 add rax, 8 00049 48 89 45 28 mov QWORD PTR _Myfirst$[rbp], rax ; 1688 : pointer& _Mylast = _My_data._Mylast; 0004d 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp] 00051 48 83 c0 10 add rax, 16 00055 48 89 45 48 mov QWORD PTR _Mylast$[rbp], rax ; 1689 : pointer& _Myend = _My_data._Myend; 00059 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp] 0005d 48 83 c0 18 add rax, 24 00061 48 89 45 68 mov QWORD PTR _Myend$[rbp], rax ; 1690 : ; 1691 : _My_data._Orphan_all(); 00065 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp] 00069 e8 00 00 00 00 call ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all ; 1692 : ; 1693 : if (_Myfirst) { // destroy and deallocate old array 0006e 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp] 00072 48 83 38 00 cmp QWORD PTR [rax], 0 00076 0f 84 92 00 00 00 je $LN2@Tidy ; 1694 : _Destroy(_Myfirst, _Mylast); 0007c 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp] 00080 4c 8b 00 mov r8, QWORD PTR [rax] 00083 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp] 00087 48 8b 10 mov rdx, QWORD PTR [rax] 0008a 48 8b 8d 70 01 00 00 mov rcx, QWORD PTR this$[rbp] 00091 e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector >::_Destroy ; 1695 : _Getal().deallocate(_Myfirst, static_cast(_Myend - _Myfirst)); 00096 48 8b 8d 70 01 00 00 mov rcx, QWORD PTR this$[rbp] 0009d e8 00 00 00 00 call ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector >::_Getal 000a2 48 89 85 38 01 00 00 mov QWORD PTR tv90[rbp], rax 000a9 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp] 000ad 48 8b 4d 28 mov rcx, QWORD PTR _Myfirst$[rbp] 000b1 48 8b 09 mov rcx, QWORD PTR [rcx] 000b4 48 8b 00 mov rax, QWORD PTR [rax] 000b7 48 2b c1 sub rax, rcx 000ba 48 c1 f8 02 sar rax, 2 000be 48 89 85 40 01 00 00 mov QWORD PTR tv88[rbp], rax 000c5 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp] 000c9 48 8b 00 mov rax, QWORD PTR [rax] 000cc 48 89 85 48 01 00 00 mov QWORD PTR tv86[rbp], rax 000d3 4c 8b 85 40 01 00 00 mov r8, QWORD PTR tv88[rbp] 000da 48 8b 95 48 01 00 00 mov rdx, QWORD PTR tv86[rbp] 000e1 48 8b 8d 38 01 00 00 mov rcx, QWORD PTR tv90[rbp] 000e8 e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator::deallocate ; 1696 : ; 1697 : _Myfirst = pointer(); 000ed 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp] 000f1 48 c7 00 00 00 00 00 mov QWORD PTR [rax], 0 ; 1698 : _Mylast = pointer(); 000f8 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp] 000fc 48 c7 00 00 00 00 00 mov QWORD PTR [rax], 0 ; 1699 : _Myend = pointer(); 00103 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp] 00107 48 c7 00 00 00 00 00 mov QWORD PTR [rax], 0 $LN2@Tidy: ; 1700 : } ; 1701 : } 0010e 48 8d a5 58 01 00 00 lea rsp, QWORD PTR [rbp+344] 00115 5f pop rdi 00116 5d pop rbp 00117 c3 ret 0 ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ENDP ; std::vector >::_Tidy _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\vector ; COMDAT ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z _TEXT SEGMENT this$ = 224 _First$ = 232 _Last$ = 240 ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z PROC ; std::vector >::_Destroy, COMDAT ; 1611 : void _Destroy(pointer _First, pointer _Last) { // destroy [_First, _Last) using allocator $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:__BF2A7ACC_vector 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1612 : _Destroy_range(_First, _Last, _Getal()); 00040 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00047 e8 00 00 00 00 call ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector >::_Getal 0004c 4c 8b c0 mov r8, rax 0004f 48 8b 95 f0 00 00 00 mov rdx, QWORD PTR _Last$[rbp] 00056 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR _First$[rbp] 0005d e8 00 00 00 00 call ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ; std::_Destroy_range > ; 1613 : } 00062 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00069 5f pop rdi 0006a 5d pop rbp 0006b c3 ret 0 ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ENDP ; std::vector >::_Destroy _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\vector ; COMDAT ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ _TEXT SEGMENT _Alproxy$ = 8 $S1$ = 36 $T4 = 260 __$ArrayPad$ = 280 this$ = 320 ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ PROC ; std::vector >::~vector >, COMDAT ; 672 : ~vector() noexcept { $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 48 01 00 00 sub rsp, 328 ; 00000148H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8b fc mov rdi, rsp 00016 b9 52 00 00 00 mov ecx, 82 ; 00000052H 0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00020 f3 ab rep stosd 00022 48 8b 8c 24 68 01 00 00 mov rcx, QWORD PTR [rsp+360] 0002a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00031 48 33 c5 xor rax, rbp 00034 48 89 85 18 01 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__BF2A7ACC_vector 00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 673 : _Tidy(); 00047 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR this$[rbp] 0004e e8 00 00 00 00 call ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ; std::vector >::_Tidy ; 674 : #if _ITERATOR_DEBUG_LEVEL != 0 ; 675 : auto&& _Alproxy = _GET_PROXY_ALLOCATOR(_Alty, _Getal()); 00053 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR this$[rbp] 0005a e8 00 00 00 00 call ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector >::_Getal 0005f 48 8b d0 mov rdx, rax 00062 48 8d 4d 24 lea rcx, QWORD PTR $S1$[rbp] 00066 e8 00 00 00 00 call ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z ; std::allocator::allocator 0006b 48 8d 45 24 lea rax, QWORD PTR $S1$[rbp] 0006f 48 89 45 08 mov QWORD PTR _Alproxy$[rbp], rax ; 676 : _Delete_plain_internal(_Alproxy, _STD exchange(_Mypair._Myval2._Myproxy, nullptr)); 00073 48 c7 85 04 01 00 00 00 00 00 00 mov QWORD PTR $T4[rbp], 0 0007e 48 8b 85 40 01 00 00 mov rax, QWORD PTR this$[rbp] 00085 48 8d 95 04 01 00 00 lea rdx, QWORD PTR $T4[rbp] 0008c 48 8b c8 mov rcx, rax 0008f e8 00 00 00 00 call ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z ; std::exchange 00094 48 8b d0 mov rdx, rax 00097 48 8b 4d 08 mov rcx, QWORD PTR _Alproxy$[rbp] 0009b e8 00 00 00 00 call ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ; std::_Delete_plain_internal > ; 677 : #endif // _ITERATOR_DEBUG_LEVEL != 0 ; 678 : } 000a0 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000a4 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcFrameData 000ab e8 00 00 00 00 call _RTC_CheckStackVars 000b0 90 npad 1 000b1 48 8b 8d 18 01 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000b8 48 33 cd xor rcx, rbp 000bb e8 00 00 00 00 call __security_check_cookie 000c0 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 000c7 5f pop rdi 000c8 5d pop rbp 000c9 c3 ret 0 ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ENDP ; std::vector >::~vector > _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\xmemory ; COMDAT ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z _TEXT SEGMENT this$ = 224 _Ptr$ = 232 _Count$ = 240 ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z PROC ; std::allocator::deallocate, COMDAT ; 801 : void deallocate(_Ty* const _Ptr, const size_t _Count) { $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:__A58979FC_xmemory 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 802 : // no overflow check on the following multiply; we assume _Allocate did that check ; 803 : _Deallocate<_New_alignof<_Ty>>(_Ptr, sizeof(_Ty) * _Count); 00040 48 8b 85 f0 00 00 00 mov rax, QWORD PTR _Count$[rbp] 00047 48 c1 e0 02 shl rax, 2 0004b 48 8b d0 mov rdx, rax 0004e 48 8b 8d e8 00 00 00 mov rcx, QWORD PTR _Ptr$[rbp] 00055 e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0> ; 804 : } 0005a 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00061 5f pop rdi 00062 5d pop rbp 00063 c3 ret 0 ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ENDP ; std::allocator::deallocate _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; COMDAT ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z _TEXT SEGMENT this$ = 224 __flags$ = 232 ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z PROC ; _NATIVE_CODE_LINK::`scalar deleting destructor', COMDAT $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 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 8b 8d e0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00035 e8 00 00 00 00 call ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK 0003a 8b 85 e8 00 00 00 mov eax, DWORD PTR __flags$[rbp] 00040 83 e0 01 and eax, 1 00043 85 c0 test eax, eax 00045 74 11 je SHORT $LN2@scalar 00047 ba 10 01 00 00 mov edx, 272 ; 00000110H 0004c 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR this$[rbp] 00053 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete $LN2@scalar: 00058 48 8b 85 e0 00 00 00 mov rax, QWORD PTR this$[rbp] 0005f 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00066 5f pop rdi 00067 5d pop rbp 00068 c3 ret 0 ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z ENDP ; _NATIVE_CODE_LINK::`scalar deleting destructor' _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xloctime ; COMDAT ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z _TEXT SEGMENT $T1 = 200 tv93 = 264 tv85 = 264 this$ = 304 __formal$ = 312 _Lobj$ = 320 ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z PROC ; std::time_get > >::_Getvals, 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(_Maklocwcs(reinterpret_cast(_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(_Maklocwcs(reinterpret_cast(_Lobj._W_Getmonths()))); ; 183 : _Ampm = reinterpret_cast(_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 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 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 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 > >::_Getvals _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 > >::_Getvals, 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(_Maklocwcs(reinterpret_cast(_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(_Maklocwcs(reinterpret_cast(_Lobj._W_Getmonths()))); ; 183 : _Ampm = reinterpret_cast(_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 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 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 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 > >::_Getvals _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocale ; COMDAT ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z _TEXT SEGMENT _Count$ = 8 _Ptrdest$ = 40 _Ptrnext$1 = 72 _Ptr$ = 320 __formal$ = 328 __formal$ = 336 ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr, 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(*_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 _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(_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, 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(_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 _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\xmemory ; COMDAT ?_Orphan_all@_Container_base12@std@@QEAAXXZ _TEXT SEGMENT _Lock$4 = 4 _Pnext$5 = 40 __$ArrayPad$ = 248 this$ = 288 ?_Orphan_all@_Container_base12@std@@QEAAXXZ PROC ; std::_Container_base12::_Orphan_all, COMDAT ; 1205 : inline void _Container_base12::_Orphan_all() noexcept { $LN7: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 57 push rdi 00007 48 81 ec 28 01 00 00 sub rsp, 296 ; 00000128H 0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00013 48 8b fc mov rdi, rsp 00016 b9 4a 00 00 00 mov ecx, 74 ; 0000004aH 0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00020 f3 ab rep stosd 00022 48 8b 8c 24 48 01 00 00 mov rcx, QWORD PTR [rsp+328] 0002a 48 8b 05 00 00 00 00 mov rax, QWORD PTR __security_cookie 00031 48 33 c5 xor rax, rbp 00034 48 89 85 f8 00 00 00 mov QWORD PTR __$ArrayPad$[rbp], rax 0003b 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__A58979FC_xmemory 00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 1206 : #if _ITERATOR_DEBUG_LEVEL == 2 ; 1207 : if (_Myproxy) { // proxy allocated, drain it 00047 48 8b 85 20 01 00 00 mov rax, QWORD PTR this$[rbp] 0004e 48 83 38 00 cmp QWORD PTR [rax], 0 00052 74 6b je SHORT $LN5@Orphan_all ; 1208 : _Lockit _Lock(_LOCK_DEBUG); 00054 ba 03 00 00 00 mov edx, 3 00059 48 8d 4d 04 lea rcx, QWORD PTR _Lock$4[rbp] 0005d ff 15 00 00 00 00 call QWORD PTR __imp_??0_Lockit@std@@QEAA@H@Z ; 1209 : ; 1210 : for (auto _Pnext = &_Myproxy->_Myfirstiter; *_Pnext; *_Pnext = (*_Pnext)->_Mynextiter) { 00063 48 8b 85 20 01 00 00 mov rax, QWORD PTR this$[rbp] 0006a 48 8b 00 mov rax, QWORD PTR [rax] 0006d 48 83 c0 08 add rax, 8 00071 48 89 45 28 mov QWORD PTR _Pnext$5[rbp], rax 00075 eb 12 jmp SHORT $LN4@Orphan_all $LN2@Orphan_all: 00077 48 8b 45 28 mov rax, QWORD PTR _Pnext$5[rbp] 0007b 48 8b 00 mov rax, QWORD PTR [rax] 0007e 48 8b 4d 28 mov rcx, QWORD PTR _Pnext$5[rbp] 00082 48 8b 40 08 mov rax, QWORD PTR [rax+8] 00086 48 89 01 mov QWORD PTR [rcx], rax $LN4@Orphan_all: 00089 48 8b 45 28 mov rax, QWORD PTR _Pnext$5[rbp] 0008d 48 83 38 00 cmp QWORD PTR [rax], 0 00091 74 10 je SHORT $LN3@Orphan_all ; 1211 : (*_Pnext)->_Myproxy = nullptr; 00093 48 8b 45 28 mov rax, QWORD PTR _Pnext$5[rbp] 00097 48 8b 00 mov rax, QWORD PTR [rax] 0009a 48 c7 00 00 00 00 00 mov QWORD PTR [rax], 0 ; 1212 : } 000a1 eb d4 jmp SHORT $LN2@Orphan_all $LN3@Orphan_all: ; 1213 : ; 1214 : _Myproxy->_Myfirstiter = nullptr; 000a3 48 8b 85 20 01 00 00 mov rax, QWORD PTR this$[rbp] 000aa 48 8b 00 mov rax, QWORD PTR [rax] 000ad 48 c7 40 08 00 00 00 00 mov QWORD PTR [rax+8], 0 ; 1215 : } 000b5 48 8d 4d 04 lea rcx, QWORD PTR _Lock$4[rbp] 000b9 ff 15 00 00 00 00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ $LN5@Orphan_all: ; 1216 : #endif // _ITERATOR_DEBUG_LEVEL == 2 ; 1217 : } 000bf 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32] 000c3 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:?_Orphan_all@_Container_base12@std@@QEAAXXZ$rtcFrameData 000ca e8 00 00 00 00 call _RTC_CheckStackVars 000cf 90 npad 1 000d0 48 8b 8d f8 00 00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp] 000d7 48 33 cd xor rcx, rbp 000da e8 00 00 00 00 call __security_check_cookie 000df 48 8d a5 08 01 00 00 lea rsp, QWORD PTR [rbp+264] 000e6 5f pop rdi 000e7 5d pop rbp 000e8 c3 ret 0 ?_Orphan_all@_Container_base12@std@@QEAAXXZ ENDP ; std::_Container_base12::_Orphan_all _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\xmemory ; COMDAT ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z _TEXT SEGMENT _Ptr_user$ = 8 _Ptr_container$ = 40 _Min_back_shift$ = 72 _Back_shift$ = 104 _Ptr$ = 352 _Bytes$ = 360 ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z PROC ; std::_Adjust_manually_vector_aligned, COMDAT ; 132 : inline void _Adjust_manually_vector_aligned(void*& _Ptr, size_t& _Bytes) { $LN21: 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 78 01 00 00 sub rsp, 376 ; 00000178H 00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48] 00018 48 8b fc mov rdi, rsp 0001b b9 5e 00 00 00 mov ecx, 94 ; 0000005eH 00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 00025 f3 ab rep stosd 00027 48 8b 8c 24 98 01 00 00 mov rcx, QWORD PTR [rsp+408] 0002f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__A58979FC_xmemory 00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 133 : // adjust parameters from _Allocate_manually_vector_aligned to pass to operator delete ; 134 : _Bytes += _Non_user_size; 0003b 48 8b 85 68 01 00 00 mov rax, QWORD PTR _Bytes$[rbp] 00042 48 8b 00 mov rax, QWORD PTR [rax] 00045 48 83 c0 2f add rax, 47 ; 0000002fH 00049 48 8b 8d 68 01 00 00 mov rcx, QWORD PTR _Bytes$[rbp] 00050 48 89 01 mov QWORD PTR [rcx], rax ; 135 : ; 136 : const uintptr_t* const _Ptr_user = reinterpret_cast(_Ptr); 00053 48 8b 85 60 01 00 00 mov rax, QWORD PTR _Ptr$[rbp] 0005a 48 8b 00 mov rax, QWORD PTR [rax] 0005d 48 89 45 08 mov QWORD PTR _Ptr_user$[rbp], rax ; 137 : const uintptr_t _Ptr_container = _Ptr_user[-1]; 00061 b8 08 00 00 00 mov eax, 8 00066 48 6b c0 ff imul rax, rax, -1 0006a 48 8b 4d 08 mov rcx, QWORD PTR _Ptr_user$[rbp] 0006e 48 8b 04 01 mov rax, QWORD PTR [rcx+rax] 00072 48 89 45 28 mov QWORD PTR _Ptr_container$[rbp], rax $LN4@Adjust_man: ; 138 : ; 139 : // If the following asserts, it likely means that we are performing ; 140 : // an aligned delete on memory coming from an unaligned allocation. ; 141 : _STL_ASSERT(_Ptr_user[-2] == _Big_allocation_sentinel, "invalid argument"); 00076 b8 08 00 00 00 mov eax, 8 0007b 48 6b c0 fe imul rax, rax, -2 0007f 48 8b 4d 08 mov rcx, QWORD PTR _Ptr_user$[rbp] 00083 48 ba fa fa fa fa fa fa fa fa mov rdx, -361700864190383366 ; fafafafafafafafaH 0008d 48 39 14 01 cmp QWORD PTR [rcx+rax], rdx 00091 75 02 jne SHORT $LN14@Adjust_man 00093 eb 77 jmp SHORT $LN15@Adjust_man $LN14@Adjust_man: $LN7@Adjust_man: 00095 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA 0009b 83 c0 09 add eax, 9 0009e 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@ 000a5 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx 000aa 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@ 000b1 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx 000b6 45 33 c9 xor r9d, r9d 000b9 44 8b c0 mov r8d, eax 000bc 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0GI@JMEOMKJO@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 000c3 b9 02 00 00 00 mov ecx, 2 000c8 ff 15 00 00 00 00 call QWORD PTR __imp__CrtDbgReport 000ce 83 f8 01 cmp eax, 1 000d1 75 03 jne SHORT $LN19@Adjust_man 000d3 cc int 3 000d4 33 c0 xor eax, eax $LN19@Adjust_man: 000d6 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA 000dc 83 c0 09 add eax, 9 000df 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 000e8 44 8b c8 mov r9d, eax 000eb 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:??_C@_1NA@FEEOBALC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 000f2 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ 000f9 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ 00100 ff 15 00 00 00 00 call QWORD PTR __imp__invalid_parameter 00106 33 c0 xor eax, eax 00108 85 c0 test eax, eax 0010a 75 89 jne SHORT $LN7@Adjust_man $LN15@Adjust_man: 0010c 33 c0 xor eax, eax 0010e 85 c0 test eax, eax 00110 0f 85 60 ff ff ff jne $LN4@Adjust_man ; 142 : ; 143 : // Extra paranoia on aligned allocation/deallocation; ensure _Ptr_container is ; 144 : // in range [_Min_back_shift, _Non_user_size] ; 145 : #ifdef _DEBUG ; 146 : constexpr uintptr_t _Min_back_shift = 2 * sizeof(void*); 00116 48 c7 45 48 10 00 00 00 mov QWORD PTR _Min_back_shift$[rbp], 16 ; 147 : #else // ^^^ _DEBUG ^^^ // vvv !_DEBUG vvv ; 148 : constexpr uintptr_t _Min_back_shift = sizeof(void*); ; 149 : #endif // _DEBUG ; 150 : const uintptr_t _Back_shift = reinterpret_cast(_Ptr) - _Ptr_container; 0011e 48 8b 85 60 01 00 00 mov rax, QWORD PTR _Ptr$[rbp] 00125 48 8b 4d 28 mov rcx, QWORD PTR _Ptr_container$[rbp] 00129 48 8b 00 mov rax, QWORD PTR [rax] 0012c 48 2b c1 sub rax, rcx 0012f 48 89 45 68 mov QWORD PTR _Back_shift$[rbp], rax $LN10@Adjust_man: ; 151 : _STL_VERIFY(_Back_shift >= _Min_back_shift && _Back_shift <= _Non_user_size, "invalid argument"); 00133 48 83 7d 68 10 cmp QWORD PTR _Back_shift$[rbp], 16 00138 72 09 jb SHORT $LN16@Adjust_man 0013a 48 83 7d 68 2f cmp QWORD PTR _Back_shift$[rbp], 47 ; 0000002fH 0013f 77 02 ja SHORT $LN16@Adjust_man 00141 eb 77 jmp SHORT $LN17@Adjust_man $LN16@Adjust_man: $LN13@Adjust_man: 00143 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA 00149 83 c0 13 add eax, 19 0014c 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@ 00153 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx 00158 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@ 0015f 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx 00164 45 33 c9 xor r9d, r9d 00167 44 8b c0 mov r8d, eax 0016a 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_0GI@JMEOMKJO@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ 00171 b9 02 00 00 00 mov ecx, 2 00176 ff 15 00 00 00 00 call QWORD PTR __imp__CrtDbgReport 0017c 83 f8 01 cmp eax, 1 0017f 75 03 jne SHORT $LN20@Adjust_man 00181 cc int 3 00182 33 c0 xor eax, eax $LN20@Adjust_man: 00184 8b 05 00 00 00 00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA 0018a 83 c0 13 add eax, 19 0018d 48 c7 44 24 20 00 00 00 00 mov QWORD PTR [rsp+32], 0 00196 44 8b c8 mov r9d, eax 00199 4c 8d 05 00 00 00 00 lea r8, OFFSET FLAT:??_C@_1NA@FEEOBALC@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ 001a0 48 8d 15 00 00 00 00 lea rdx, OFFSET FLAT:??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ 001a7 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ 001ae ff 15 00 00 00 00 call QWORD PTR __imp__invalid_parameter 001b4 33 c0 xor eax, eax 001b6 85 c0 test eax, eax 001b8 75 89 jne SHORT $LN13@Adjust_man $LN17@Adjust_man: 001ba 33 c0 xor eax, eax 001bc 85 c0 test eax, eax 001be 0f 85 6f ff ff ff jne $LN10@Adjust_man ; 152 : _Ptr = reinterpret_cast(_Ptr_container); 001c4 48 8b 85 60 01 00 00 mov rax, QWORD PTR _Ptr$[rbp] 001cb 48 8b 4d 28 mov rcx, QWORD PTR _Ptr_container$[rbp] 001cf 48 89 08 mov QWORD PTR [rax], rcx ; 153 : } 001d2 48 8d a5 48 01 00 00 lea rsp, QWORD PTR [rbp+328] 001d9 5f pop rdi 001da 5d pop rbp 001db c3 ret 0 ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ENDP ; std::_Adjust_manually_vector_aligned _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\wchar.h ; COMDAT wmemcpy _TEXT SEGMENT _S1$ = 224 _S2$ = 232 _N$ = 240 wmemcpy PROC ; COMDAT ; 234 : { $LN3: 00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8 00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000f 55 push rbp 00010 57 push rdi 00011 48 81 ec e8 00 00 00 sub rsp, 232 ; 000000e8H 00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0001d 48 8b fc mov rdi, rsp 00020 b9 3a 00 00 00 mov ecx, 58 ; 0000003aH 00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH 0002a f3 ab rep stosd 0002c 48 8b 8c 24 08 01 00 00 mov rcx, QWORD PTR [rsp+264] 00034 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__93DC0B45_wchar@h 0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 235 : #pragma warning(suppress: 6386) // Buffer overrun ; 236 : return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t)); 00040 48 8b 85 f0 00 00 00 mov rax, QWORD PTR _N$[rbp] 00047 48 d1 e0 shl rax, 1 0004a 4c 8b c0 mov r8, rax 0004d 48 8b 95 e8 00 00 00 mov rdx, QWORD PTR _S2$[rbp] 00054 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR _S1$[rbp] 0005b e8 00 00 00 00 call memcpy ; 237 : } 00060 48 8d a5 c8 00 00 00 lea rsp, QWORD PTR [rbp+200] 00067 5f pop rdi 00068 5d pop rbp 00069 c3 ret 0 wmemcpy ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.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:__DD050276_Jit@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\Jit.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:__DD050276_Jit@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\Jit.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:__DD050276_Jit@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\Jit.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:__DD050276_Jit@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