You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8050 lines
263 KiB

3 years ago
; 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
__3DD0E9E9_xed-util@h DB 01H
__209FD46F_xed-iform-map@h DB 01H
__4E05E119_xed-inst@h DB 01H
__0607FC5A_xed-flags@h DB 01H
__B4910D57_xed-operand-accessors@h DB 01H
__8663E876_xed-state@h DB 01H
__BB5B4FF8_xed-encode@h DB 01H
__21860875_xed-encoder-hl@h DB 01H
__F7815311_xed-decoded-inst-api@h DB 01H
__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<wchar_t>
PUBLIC ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
PUBLIC ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
PUBLIC ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
PUBLIC ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
PUBLIC ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z ; _NATIVE_CODE_LINK::`scalar deleting destructor'
PUBLIC ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
PUBLIC ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
PUBLIC ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
PUBLIC ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Tidy
PUBLIC ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_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::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,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 ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPushfqInst
PUBLIC ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPopfqInst
PUBLIC ?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z ; JitCheckFlagCollisions
PUBLIC ?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z ; JitUpdateConFlagsLedger
PUBLIC ?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z ; JitDoesInstOverriteConditionFlags
PUBLIC ?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z ; JitAreFlagsClobberedBeforeUse
PUBLIC ?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForXor
3 years ago
PUBLIC ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForOr
PUBLIC ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ; JitMutateInstForAnd
3 years ago
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
3 years ago
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
3 years ago
PUBLIC ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z ; std::allocator<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>
PUBLIC ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z ; std::exchange<std::_Container_proxy *,std::nullptr_t>
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<std::allocator<std::_Container_proxy> >
PUBLIC ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ; std::_Destroy_range<std::allocator<unsigned long> >
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<std::allocator<std::_Container_proxy> >
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<std::allocator<std::_Container_proxy> >::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__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 xed_simple_flag_get_read_flag_set:PROC
EXTRN xed_simple_flag_get_written_flag_set:PROC
EXTRN xed_simple_flag_get_undefined_flag_set:PROC
EXTRN xed_decode:PROC
EXTRN xed_decoded_inst_get_rflags_info:PROC
EXTRN ??0_NATIVE_CODE_LINK@@QEAA@XZ:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
EXTRN ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z: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 ?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
3 years ago
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
3 years ago
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$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN6
DD imagerel $LN6+270
DD imagerel $unwind$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
DD imagerel ?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA+44
DD imagerel $unwind$?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN6
DD imagerel $LN6+270
DD imagerel $unwind$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD imagerel ?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
DD imagerel ?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA+44
DD imagerel $unwind$?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z DD imagerel $LN11
DD imagerel $LN11+399
DD imagerel $unwind$?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z DD imagerel $LN9
DD imagerel $LN9+308
DD imagerel $unwind$?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD imagerel $LN5
DD imagerel $LN5+234
DD imagerel $unwind$?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD imagerel $LN9
DD imagerel $LN9+329
DD imagerel $unwind$?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD imagerel $LN7
DD imagerel $LN7+331
DD imagerel $unwind$?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$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
3 years ago
$pdata$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD imagerel $LN25
3 years ago
DD imagerel $LN25+1056
3 years ago
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
3 years ago
DD imagerel $LN25+1205
3 years ago
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 $LN29
3 years ago
DD imagerel $LN29+1132
3 years ago
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 $LN29
3 years ago
DD imagerel $LN29+1266
3 years ago
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
3 years ago
$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
3 years ago
$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
3 years ago
$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
3 years ago
$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
3 years ago
$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
3 years ago
$unwind$?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD 025052f01H
DD 01132318H
DD 0700c002dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD 025053b19H
DD 010e2313H
DD 070070031H
DD 05006H
DD imagerel __GSHandlerCheck
DD 0178H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcName$0 DB 04cH ; JitAreFlagsClobberedBeforeUse
DB 065H
DB 064H
DB 067H
DB 065H
DB 072H
DB 00H
ORG $+9
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcVarDesc DD 024H ; JitAreFlagsClobberedBeforeUse
DD 04H
DQ FLAT:?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcName$0
ORG $+48
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcFrameData DD 01H ; JitAreFlagsClobberedBeforeUse
DD 00H
DQ FLAT:?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD 025052a01H
DD 010e2313H
DD 070070029H
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z DD 025052f01H
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z DD 025052e01H
DD 01122317H
DD 0700b001fH
DD 0500aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 06H
DB 00H
DB 00H
DB 0b8H
DB 02H
DB 08eH
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$stateUnwindMap$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 02H
DB 0eH
DD imagerel ?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$cppxdata$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 028H
DD imagerel $stateUnwindMap$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD imagerel $ip2state$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 025053b19H
DD 010e2313H
DD 07007002fH
DD 05006H
DD imagerel __GSHandlerCheck_EH4
DD imagerel $cppxdata$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD 0162H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 052H ; JitEmitPopfqInst
DB 061H
DB 077H
DB 044H
DB 061H
DB 074H
DB 061H
DB 00H
ORG $+8
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 024H ; JitEmitPopfqInst
DD 01H
DQ FLAT:?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
ORG $+48
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 01H ; JitEmitPopfqInst
DD 00H
DQ FLAT:?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 06H
DB 00H
DB 00H
DB 0b8H
DB 02H
DB 08eH
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$stateUnwindMap$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 02H
DB 0eH
DD imagerel ?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$cppxdata$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 028H
DD imagerel $stateUnwindMap$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD imagerel $ip2state$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 025053b19H
DD 010e2313H
DD 07007002fH
DD 05006H
DD imagerel __GSHandlerCheck_EH4
DD imagerel $cppxdata$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD 0162H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 052H ; JitEmitPushfqInst
DB 061H
DB 077H
DB 044H
DB 061H
DB 074H
DB 061H
DB 00H
ORG $+8
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 024H ; JitEmitPushfqInst
DD 01H
DQ FLAT:?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
ORG $+48
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 01H ; JitEmitPushfqInst
DD 00H
DQ FLAT:?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
CONST 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<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
DB 053H
DB 031H
DB 00H
ORG $+12
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcVarDesc DD 044H ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
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<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
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<wchar_t>
DB 057H
DB 063H
DB 00H
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1 DB 05fH ; std::_Maklocstr<wchar_t>
DB 04dH
DB 062H
DB 073H
DB 074H
DB 031H
DB 00H
ORG $+1
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2 DB 05fH ; std::_Maklocstr<wchar_t>
DB 04dH
DB 062H
DB 073H
DB 074H
DB 032H
DB 00H
ORG $+13
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc DD 0158H ; std::_Maklocstr<wchar_t>
DD 08H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2
DD 0f8H
DD 08H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1
DD 0d4H
DD 02H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$0
ORG $+144
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData DD 03H ; std::_Maklocstr<wchar_t>
DD 00H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$?_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<std::allocator<std::_Container_proxy> >::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<value_type>>(_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<std::allocator<std::_Container_proxy> >::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<std::allocator<std::_Container_proxy> >, 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<std::allocator<std::_Container_proxy> >::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<std::allocator<std::_Container_proxy> >
_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<std::allocator<unsigned long> >, 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<is_trivially_destructible<_Ty>, _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<std::allocator<unsigned long> >
_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<std::allocator<std::_Container_proxy> >, 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<std::allocator<std::_Container_proxy> >
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<std::allocator<std::_Container_proxy> >
_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<std::_Container_proxy *,std::nullptr_t>, COMDAT
; 597 : conjunction_v<is_nothrow_move_constructible<_Ty>, 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<std::_Container_proxy *,std::nullptr_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\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<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>, 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<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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
3 years ago
; 283 : {
3 years ago
$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
3 years ago
; 284 : switch (OpType)
3 years ago
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:
3 years ago
; 285 : {
; 286 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorB(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 287 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndB(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 288 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrB(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 289 : }
; 290 : }
3 years ago
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
3 years ago
; 274 : {
3 years ago
$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
3 years ago
; 275 : switch (OpType)
3 years ago
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:
3 years ago
; 276 : {
; 277 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorW(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 278 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndW(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 279 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrW(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 280 : }
; 281 : }
3 years ago
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
3 years ago
; 265 : {
3 years ago
$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
3 years ago
; 266 : switch (OpType)
3 years ago
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:
3 years ago
; 267 : {
; 268 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorD(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 269 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndD(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 270 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrD(Block, RipDelta, Value);
3 years ago
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:
3 years ago
; 271 : }
; 272 : }
3 years ago
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
3 years ago
; 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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv224 = 664
tv214 = 664
tv185 = 664
tv158 = 664
3 years ago
tv128 = 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
3 years ago
; 367 : {
3 years ago
$LN29:
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
3 years ago
; 368 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
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
3 years ago
; 369 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
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
3 years ago
; 370 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
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
3 years ago
; 371 :
; 372 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
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 e8 01
00 00 mov QWORD PTR $T5[rbp], rax
000aa 48 83 bd e8 01
00 00 00 cmp QWORD PTR $T5[rbp], 0
000b2 74 15 je SHORT $LN16@JitEmitPos
000b4 48 8b 8d e8 01
00 00 mov rcx, QWORD PTR $T5[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 c8 01
00 00 mov QWORD PTR $T4[rbp], rax
000e2 48 8b 85 c8 01
00 00 mov rax, QWORD PTR $T4[rbp]
000e9 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
; 373 : if (!Block)
3 years ago
000ed 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0
000f2 75 07 jne SHORT $LN4@JitEmitPos
3 years ago
; 374 : return NULL;
3 years ago
000f4 33 c0 xor eax, eax
3 years ago
000f6 e9 ed 03 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN4@JitEmitPos:
3 years ago
; 375 :
; 376 : if (SaveFlags && !JitEmitPushfqInst(Block))
3 years ago
000fb 83 bd d8 02 00
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
00102 74 57 je SHORT $LN5@JitEmitPos
00104 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00108 e8 00 00 00 00 call ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPushfqInst
0010d 85 c0 test eax, eax
0010f 75 4a jne SHORT $LN5@JitEmitPos
3 years ago
; 377 : {
; 378 : NcDeleteBlock(Block);
3 years ago
00111 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00115 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 379 : delete Block;
3 years ago
0011a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0011e 48 89 85 08 02
00 00 mov QWORD PTR $T6[rbp], rax
00125 48 83 bd 08 02
00 00 00 cmp QWORD PTR $T6[rbp], 0
0012d 74 1a je SHORT $LN18@JitEmitPos
0012f ba 01 00 00 00 mov edx, 1
00134 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR $T6[rbp]
0013b e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00140 48 89 85 98 02
00 00 mov QWORD PTR tv128[rbp], rax
00147 eb 0b jmp SHORT $LN19@JitEmitPos
$LN18@JitEmitPos:
00149 48 c7 85 98 02
00 00 00 00 00
00 mov QWORD PTR tv128[rbp], 0
$LN19@JitEmitPos:
3 years ago
; 380 : return NULL;
3 years ago
00154 33 c0 xor eax, eax
3 years ago
00156 e9 8d 03 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN5@JitEmitPos:
3 years ago
; 381 : }
; 382 :
; 383 : ULONG Count = FourByte;
3 years ago
0015b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0015e 89 85 84 00 00
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPos:
3 years ago
; 384 : while (Count)
3 years ago
00164 83 bd 84 00 00
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
0016b 0f 84 11 01 00
3 years ago
00 je $LN3@JitEmitPos
3 years ago
; 385 : {
; 386 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4);
3 years ago
00171 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
00177 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
0017a 2b c8 sub ecx, eax
0017c 8b c1 mov eax, ecx
0017e c1 e0 02 shl eax, 2
00181 48 8b 8d c0 02
00 00 mov rcx, QWORD PTR Link$[rbp]
00188 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0018b 2b c8 sub ecx, eax
0018d 8b c1 mov eax, ecx
0018f 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 387 : if (SaveFlags)
3 years ago
00195 83 bd d8 02 00
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
0019c 74 0e je SHORT $LN6@JitEmitPos
3 years ago
; 388 : RipDelta += 1;
3 years ago
0019e 8b 85 a4 00 00
00 mov eax, DWORD PTR RipDelta$1[rbp]
001a4 ff c0 inc eax
001a6 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
$LN6@JitEmitPos:
3 years ago
; 389 : RipDelta += (FourByte - (Count - 1)) * DWORD_RIP_INST_LENGTH;
3 years ago
001ac 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
001b2 ff c8 dec eax
001b4 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001b7 2b c8 sub ecx, eax
001b9 8b c1 mov eax, ecx
001bb 6b c0 0a imul eax, eax, 10
001be 8b 8d a4 00 00
00 mov ecx, DWORD PTR RipDelta$1[rbp]
001c4 03 c8 add ecx, eax
001c6 8b c1 mov eax, ecx
001c8 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 390 : RipDelta *= (-1);
3 years ago
001ce 6b 85 a4 00 00
00 ff imul eax, DWORD PTR RipDelta$1[rbp], -1
001d5 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 391 : RipDelta += Delta;
3 years ago
001db 8b 85 e0 02 00
00 mov eax, DWORD PTR Delta$[rbp]
001e1 8b 8d a4 00 00
00 mov ecx, DWORD PTR RipDelta$1[rbp]
001e7 03 c8 add ecx, eax
001e9 8b c1 mov eax, ecx
001eb 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 392 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count]))
3 years ago
001f1 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
001f7 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001fa 2b c8 sub ecx, eax
001fc 8b c1 mov eax, ecx
001fe 8b c0 mov eax, eax
00200 48 8b 8d c8 02
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
00207 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4]
0020b 44 8b 85 a4 00
00 00 mov r8d, DWORD PTR RipDelta$1[rbp]
00212 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
00216 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
0021c e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD
00221 85 c0 test eax, eax
00223 75 4a jne SHORT $LN7@JitEmitPos
3 years ago
; 393 : {
; 394 : NcDeleteBlock(Block);
3 years ago
00225 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00229 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 395 : delete Block;
3 years ago
0022e 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00232 48 89 85 28 02
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
00239 48 83 bd 28 02
3 years ago
00 00 00 cmp QWORD PTR $T7[rbp], 0
3 years ago
00241 74 1a je SHORT $LN20@JitEmitPos
00243 ba 01 00 00 00 mov edx, 1
00248 48 8b 8d 28 02
3 years ago
00 00 mov rcx, QWORD PTR $T7[rbp]
3 years ago
0024f e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00254 48 89 85 98 02
00 00 mov QWORD PTR tv158[rbp], rax
0025b eb 0b jmp SHORT $LN21@JitEmitPos
3 years ago
$LN20@JitEmitPos:
3 years ago
0025d 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv158[rbp], 0
3 years ago
$LN21@JitEmitPos:
3 years ago
; 396 : return NULL;
3 years ago
3 years ago
00268 33 c0 xor eax, eax
0026a e9 79 02 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN7@JitEmitPos:
3 years ago
; 397 : }
; 398 : --Count;
3 years ago
3 years ago
0026f 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00275 ff c8 dec eax
00277 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 399 : }
3 years ago
3 years ago
0027d e9 e2 fe ff ff jmp $LN2@JitEmitPos
3 years ago
$LN3@JitEmitPos:
3 years ago
; 400 :
; 401 : if (TwoByte)
3 years ago
3 years ago
00282 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
00286 0f 84 ef 00 00
3 years ago
00 je $LN8@JitEmitPos
3 years ago
; 402 : {
; 403 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4);
3 years ago
3 years ago
0028c 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0028f c1 e0 02 shl eax, 2
00292 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00299 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0029c 2b c8 sub ecx, eax
0029e 8b c1 mov eax, ecx
002a0 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 404 : if (SaveFlags)
3 years ago
3 years ago
002a6 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
002ad 74 0e je SHORT $LN9@JitEmitPos
3 years ago
3 years ago
; 405 : RipDelta += 1;
3 years ago
3 years ago
002af 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
002b5 ff c0 inc eax
002b7 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
$LN9@JitEmitPos:
3 years ago
; 406 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH);
3 years ago
3 years ago
002bd 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
002c1 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
002c7 03 c8 add ecx, eax
002c9 8b c1 mov eax, ecx
002cb 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 407 : RipDelta += WORD_RIP_INST_LENGTH;
3 years ago
3 years ago
002d1 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
002d7 83 c0 09 add eax, 9
002da 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 408 : RipDelta *= (-1);
3 years ago
3 years ago
002e0 6b 85 c4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$2[rbp], -1
3 years ago
002e7 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 409 : RipDelta += Delta;
3 years ago
3 years ago
002ed 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
002f3 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
002f9 03 c8 add ecx, eax
002fb 8b c1 mov eax, ecx
002fd 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 410 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3]))
3 years ago
3 years ago
00303 b8 04 00 00 00 mov eax, 4
00308 48 6b c0 03 imul rax, rax, 3
0030c 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
00313 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
00317 44 8b 85 c4 00
00 00 mov r8d, DWORD PTR RipDelta$2[rbp]
0031e 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
00322 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
00328 e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW
0032d 85 c0 test eax, eax
0032f 75 4a jne SHORT $LN8@JitEmitPos
3 years ago
; 411 : {
; 412 : NcDeleteBlock(Block);
3 years ago
00331 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00335 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 413 : delete Block;
3 years ago
0033a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0033e 48 89 85 48 02
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
00345 48 83 bd 48 02
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
0034d 74 1a je SHORT $LN22@JitEmitPos
0034f ba 01 00 00 00 mov edx, 1
00354 48 8b 8d 48 02
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
0035b e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00360 48 89 85 98 02
00 00 mov QWORD PTR tv185[rbp], rax
00367 eb 0b jmp SHORT $LN23@JitEmitPos
3 years ago
$LN22@JitEmitPos:
3 years ago
00369 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv185[rbp], 0
3 years ago
$LN23@JitEmitPos:
3 years ago
; 414 : return NULL;
3 years ago
3 years ago
00374 33 c0 xor eax, eax
00376 e9 6d 01 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN8@JitEmitPos:
3 years ago
; 415 : }
; 416 : }
; 417 :
; 418 : if (OneByte)
3 years ago
3 years ago
0037b 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
0037f 0f 84 02 01 00
3 years ago
00 je $LN11@JitEmitPos
3 years ago
; 419 : {
; 420 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2);
3 years ago
3 years ago
00385 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00388 c1 e0 02 shl eax, 2
0038b 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00392 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00395 2b c8 sub ecx, eax
00397 8b c1 mov eax, ecx
00399 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
0039c d1 e1 shl ecx, 1
0039e 2b c1 sub eax, ecx
003a0 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 421 : if (SaveFlags)
3 years ago
3 years ago
003a6 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
003ad 74 0e je SHORT $LN12@JitEmitPos
3 years ago
3 years ago
; 422 : RipDelta += 1;
3 years ago
3 years ago
003af 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
003b5 ff c0 inc eax
003b7 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
$LN12@JitEmitPos:
3 years ago
; 423 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH);
3 years ago
3 years ago
003bd 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
003c1 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
003c7 03 c8 add ecx, eax
003c9 8b c1 mov eax, ecx
003cb 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 424 : RipDelta += WORD_RIP_INST_LENGTH;
3 years ago
3 years ago
003d1 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
003d7 83 c0 09 add eax, 9
003da 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 425 : RipDelta += BYTE_RIP_INST_LENGTH;
3 years ago
3 years ago
003e0 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
003e6 83 c0 07 add eax, 7
003e9 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 426 : RipDelta *= (-1);
3 years ago
3 years ago
003ef 6b 85 e4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$3[rbp], -1
3 years ago
003f6 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 427 : RipDelta += Delta;
3 years ago
3 years ago
003fc 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00402 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
00408 03 c8 add ecx, eax
0040a 8b c1 mov eax, ecx
0040c 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 428 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4]))
3 years ago
3 years ago
00412 b8 04 00 00 00 mov eax, 4
00417 48 6b c0 04 imul rax, rax, 4
0041b 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
00422 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
00426 44 8b 85 e4 00
00 00 mov r8d, DWORD PTR RipDelta$3[rbp]
0042d 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
00431 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
00437 e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB
0043c 85 c0 test eax, eax
0043e 75 47 jne SHORT $LN11@JitEmitPos
3 years ago
3 years ago
; 429 : {
; 430 : NcDeleteBlock(Block);
3 years ago
3 years ago
00440 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00444 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 431 : delete Block;
3 years ago
3 years ago
00449 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0044d 48 89 85 68 02
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
00454 48 83 bd 68 02
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
0045c 74 1a je SHORT $LN24@JitEmitPos
0045e ba 01 00 00 00 mov edx, 1
00463 48 8b 8d 68 02
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
0046a e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0046f 48 89 85 98 02
00 00 mov QWORD PTR tv214[rbp], rax
00476 eb 0b jmp SHORT $LN25@JitEmitPos
3 years ago
$LN24@JitEmitPos:
3 years ago
00478 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv214[rbp], 0
3 years ago
$LN25@JitEmitPos:
3 years ago
; 432 : return NULL;
3 years ago
3 years ago
00483 33 c0 xor eax, eax
00485 eb 61 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN11@JitEmitPos:
3 years ago
; 433 : }
; 434 : }
; 435 :
; 436 : if (SaveFlags && !JitEmitPopfqInst(Block))
3 years ago
3 years ago
00487 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
0048e 74 54 je SHORT $LN14@JitEmitPos
00490 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00494 e8 00 00 00 00 call ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPopfqInst
00499 85 c0 test eax, eax
0049b 75 47 jne SHORT $LN14@JitEmitPos
3 years ago
3 years ago
; 437 : {
; 438 : NcDeleteBlock(Block);
3 years ago
3 years ago
0049d 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
004a1 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 439 : delete Block;
3 years ago
3 years ago
004a6 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
004aa 48 89 85 88 02
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
004b1 48 83 bd 88 02
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
004b9 74 1a je SHORT $LN26@JitEmitPos
004bb ba 01 00 00 00 mov edx, 1
004c0 48 8b 8d 88 02
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
004c7 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
004cc 48 89 85 98 02
00 00 mov QWORD PTR tv224[rbp], rax
004d3 eb 0b jmp SHORT $LN27@JitEmitPos
3 years ago
$LN26@JitEmitPos:
3 years ago
004d5 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv224[rbp], 0
3 years ago
$LN27@JitEmitPos:
3 years ago
; 440 : return NULL;
3 years ago
3 years ago
004e0 33 c0 xor eax, eax
004e2 eb 04 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN14@JitEmitPos:
3 years ago
; 441 : }
; 442 :
; 443 : return Block;
3 years ago
3 years ago
004e4 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPos:
3 years ago
; 444 : }
3 years ago
3 years ago
004e8 48 8d a5 a8 02
3 years ago
00 00 lea rsp, QWORD PTR [rbp+680]
3 years ago
004ef 5f pop rdi
004f0 5d pop rbp
004f1 c3 ret 0
3 years ago
?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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv224 = 664
tv214 = 664
tv185 = 664
tv158 = 664
3 years ago
tv128 = 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 e8 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv224 = 664
tv214 = 664
tv185 = 664
tv158 = 664
3 years ago
tv128 = 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 e8 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv214 = 664
tv204 = 664
tv181 = 664
tv158 = 664
3 years ago
tv128 = 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
3 years ago
; 293 : {
3 years ago
$LN29:
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
3 years ago
; 294 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
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
3 years ago
; 295 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
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
3 years ago
; 296 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
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
3 years ago
; 297 :
; 298 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
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 e8 01
00 00 mov QWORD PTR $T5[rbp], rax
000aa 48 83 bd e8 01
00 00 00 cmp QWORD PTR $T5[rbp], 0
000b2 74 15 je SHORT $LN16@JitEmitPre
000b4 48 8b 8d e8 01
00 00 mov rcx, QWORD PTR $T5[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 c8 01
00 00 mov QWORD PTR $T4[rbp], rax
000e2 48 8b 85 c8 01
00 00 mov rax, QWORD PTR $T4[rbp]
000e9 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
; 299 : if (!Block)
3 years ago
000ed 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0
000f2 75 07 jne SHORT $LN4@JitEmitPre
3 years ago
; 300 : return NULL;
3 years ago
000f4 33 c0 xor eax, eax
3 years ago
000f6 e9 67 03 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN4@JitEmitPre:
3 years ago
; 301 :
; 302 : if (SaveFlags && !JitEmitPushfqInst(Block))
3 years ago
000fb 83 bd d8 02 00
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
00102 74 57 je SHORT $LN5@JitEmitPre
00104 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00108 e8 00 00 00 00 call ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPushfqInst
0010d 85 c0 test eax, eax
0010f 75 4a jne SHORT $LN5@JitEmitPre
3 years ago
; 303 : {
; 304 : NcDeleteBlock(Block);
3 years ago
00111 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00115 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 305 : delete Block;
3 years ago
0011a 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0011e 48 89 85 08 02
00 00 mov QWORD PTR $T6[rbp], rax
00125 48 83 bd 08 02
00 00 00 cmp QWORD PTR $T6[rbp], 0
0012d 74 1a je SHORT $LN18@JitEmitPre
0012f ba 01 00 00 00 mov edx, 1
00134 48 8b 8d 08 02
00 00 mov rcx, QWORD PTR $T6[rbp]
0013b e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00140 48 89 85 98 02
00 00 mov QWORD PTR tv128[rbp], rax
00147 eb 0b jmp SHORT $LN19@JitEmitPre
$LN18@JitEmitPre:
00149 48 c7 85 98 02
00 00 00 00 00
00 mov QWORD PTR tv128[rbp], 0
$LN19@JitEmitPre:
3 years ago
; 306 : return NULL;
3 years ago
00154 33 c0 xor eax, eax
3 years ago
00156 e9 07 03 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN5@JitEmitPre:
3 years ago
; 307 : }
; 308 :
; 309 : ULONG Count = FourByte;
3 years ago
0015b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0015e 89 85 84 00 00
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPre:
3 years ago
; 310 : while (Count)
3 years ago
00164 83 bd 84 00 00
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
0016b 0f 84 f7 00 00
3 years ago
00 je $LN3@JitEmitPre
3 years ago
; 311 : {
; 312 : INT32 RipDelta = (((Count - 1) * DWORD_RIP_INST_LENGTH) + (TwoByte * WORD_RIP_INST_LENGTH) + (OneByte * BYTE_RIP_INST_LENGTH));
3 years ago
00171 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
00177 ff c8 dec eax
00179 6b c0 0a imul eax, eax, 10
0017c 6b 4d 24 09 imul ecx, DWORD PTR TwoByte$[rbp], 9
00180 03 c1 add eax, ecx
00182 6b 4d 44 07 imul ecx, DWORD PTR OneByte$[rbp], 7
00186 03 c1 add eax, ecx
00188 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 313 : if (SaveFlags)
3 years ago
0018e 83 bd d8 02 00
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
00195 74 0e je SHORT $LN6@JitEmitPre
3 years ago
; 314 : RipDelta += 1;
3 years ago
00197 8b 85 a4 00 00
00 mov eax, DWORD PTR RipDelta$1[rbp]
0019d ff c0 inc eax
0019f 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
$LN6@JitEmitPre:
3 years ago
; 315 : RipDelta += ((FourByte - Count) * 4);
3 years ago
001a5 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
001ab 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001ae 2b c8 sub ecx, eax
001b0 8b c1 mov eax, ecx
001b2 8b 8d a4 00 00
00 mov ecx, DWORD PTR RipDelta$1[rbp]
001b8 8d 04 81 lea eax, DWORD PTR [rcx+rax*4]
001bb 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 316 : RipDelta += Delta;
3 years ago
001c1 8b 85 e0 02 00
00 mov eax, DWORD PTR Delta$[rbp]
001c7 8b 8d a4 00 00
00 mov ecx, DWORD PTR RipDelta$1[rbp]
001cd 03 c8 add ecx, eax
001cf 8b c1 mov eax, ecx
001d1 89 85 a4 00 00
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 317 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count]))
3 years ago
001d7 8b 85 84 00 00
00 mov eax, DWORD PTR Count$[rbp]
001dd 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001e0 2b c8 sub ecx, eax
001e2 8b c1 mov eax, ecx
001e4 8b c0 mov eax, eax
001e6 48 8b 8d c8 02
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
001ed 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4]
001f1 44 8b 85 a4 00
00 00 mov r8d, DWORD PTR RipDelta$1[rbp]
001f8 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
001fc 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
00202 e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD
00207 85 c0 test eax, eax
00209 75 4a jne SHORT $LN7@JitEmitPre
3 years ago
; 318 : {
; 319 : NcDeleteBlock(Block);
3 years ago
0020b 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0020f e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 320 : delete Block;
3 years ago
00214 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00218 48 89 85 28 02
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
0021f 48 83 bd 28 02
3 years ago
00 00 00 cmp QWORD PTR $T7[rbp], 0
3 years ago
00227 74 1a je SHORT $LN20@JitEmitPre
00229 ba 01 00 00 00 mov edx, 1
0022e 48 8b 8d 28 02
3 years ago
00 00 mov rcx, QWORD PTR $T7[rbp]
3 years ago
00235 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0023a 48 89 85 98 02
00 00 mov QWORD PTR tv158[rbp], rax
00241 eb 0b jmp SHORT $LN21@JitEmitPre
3 years ago
$LN20@JitEmitPre:
3 years ago
00243 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv158[rbp], 0
3 years ago
$LN21@JitEmitPre:
3 years ago
; 321 : return NULL;
3 years ago
3 years ago
0024e 33 c0 xor eax, eax
00250 e9 0d 02 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN7@JitEmitPre:
3 years ago
; 322 : }
; 323 : --Count;
3 years ago
3 years ago
00255 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0025b ff c8 dec eax
0025d 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 324 : }
3 years ago
3 years ago
00263 e9 fc fe ff ff jmp $LN2@JitEmitPre
3 years ago
$LN3@JitEmitPre:
3 years ago
; 325 :
; 326 : if (TwoByte)
3 years ago
3 years ago
00268 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
0026c 0f 84 c1 00 00
3 years ago
00 je $LN8@JitEmitPre
3 years ago
; 327 : {
; 328 : INT32 RipDelta = (OneByte * BYTE_RIP_INST_LENGTH);
3 years ago
3 years ago
00272 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7
00276 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 329 : if (SaveFlags)
3 years ago
3 years ago
0027c 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00283 74 0e je SHORT $LN9@JitEmitPre
3 years ago
3 years ago
; 330 : RipDelta += 1;
3 years ago
3 years ago
00285 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
0028b ff c0 inc eax
0028d 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
$LN9@JitEmitPre:
3 years ago
; 331 : RipDelta += (FourByte * 4);
3 years ago
3 years ago
00293 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
00299 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
0029c 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
0029f 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 332 : RipDelta += Delta;
3 years ago
3 years ago
002a5 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
002ab 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
002b1 03 c8 add ecx, eax
002b3 8b c1 mov eax, ecx
002b5 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 333 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3]))
3 years ago
3 years ago
002bb b8 04 00 00 00 mov eax, 4
002c0 48 6b c0 03 imul rax, rax, 3
002c4 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
002cb 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
002cf 44 8b 85 c4 00
00 00 mov r8d, DWORD PTR RipDelta$2[rbp]
002d6 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
002da 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
002e0 e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW
002e5 85 c0 test eax, eax
002e7 75 4a jne SHORT $LN8@JitEmitPre
3 years ago
; 334 : {
; 335 : NcDeleteBlock(Block);
3 years ago
002e9 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002ed e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 336 : delete Block;
3 years ago
002f2 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
002f6 48 89 85 48 02
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
002fd 48 83 bd 48 02
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
00305 74 1a je SHORT $LN22@JitEmitPre
00307 ba 01 00 00 00 mov edx, 1
0030c 48 8b 8d 48 02
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
00313 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00318 48 89 85 98 02
00 00 mov QWORD PTR tv181[rbp], rax
0031f eb 0b jmp SHORT $LN23@JitEmitPre
3 years ago
$LN22@JitEmitPre:
3 years ago
00321 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv181[rbp], 0
3 years ago
$LN23@JitEmitPre:
3 years ago
; 337 : return NULL;
3 years ago
3 years ago
0032c 33 c0 xor eax, eax
0032e e9 2f 01 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN8@JitEmitPre:
3 years ago
; 338 : }
; 339 : }
; 340 :
; 341 : if (OneByte)
3 years ago
3 years ago
00333 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
00337 0f 84 c4 00 00
3 years ago
00 je $LN11@JitEmitPre
3 years ago
; 342 : {
; 343 : INT32 RipDelta = 0;
3 years ago
3 years ago
0033d c7 85 e4 00 00
3 years ago
00 00 00 00 00 mov DWORD PTR RipDelta$3[rbp], 0
3 years ago
; 344 : if (SaveFlags)
3 years ago
3 years ago
00347 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
0034e 74 0e je SHORT $LN12@JitEmitPre
3 years ago
3 years ago
; 345 : RipDelta += 1;
3 years ago
3 years ago
00350 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
00356 ff c0 inc eax
00358 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
$LN12@JitEmitPre:
3 years ago
; 346 : RipDelta += (FourByte * 4) + (TwoByte * 2);
3 years ago
3 years ago
0035e 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
00364 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00367 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
0036a 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
0036d 8d 04 48 lea eax, DWORD PTR [rax+rcx*2]
00370 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 347 : RipDelta += Delta;
3 years ago
3 years ago
00376 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
0037c 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
00382 03 c8 add ecx, eax
00384 8b c1 mov eax, ecx
00386 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 348 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4]))
3 years ago
3 years ago
0038c b8 04 00 00 00 mov eax, 4
00391 48 6b c0 04 imul rax, rax, 4
00395 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
0039c 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
003a0 44 8b 85 e4 00
00 00 mov r8d, DWORD PTR RipDelta$3[rbp]
003a7 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
003ab 8b 8d d0 02 00
00 mov ecx, DWORD PTR OpType$[rbp]
003b1 e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB
003b6 85 c0 test eax, eax
003b8 75 47 jne SHORT $LN11@JitEmitPre
3 years ago
; 349 : {
; 350 : NcDeleteBlock(Block);
3 years ago
003ba 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003be e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 351 : delete Block;
3 years ago
003c3 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003c7 48 89 85 68 02
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
003ce 48 83 bd 68 02
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
003d6 74 1a je SHORT $LN24@JitEmitPre
003d8 ba 01 00 00 00 mov edx, 1
003dd 48 8b 8d 68 02
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
003e4 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
003e9 48 89 85 98 02
00 00 mov QWORD PTR tv204[rbp], rax
003f0 eb 0b jmp SHORT $LN25@JitEmitPre
3 years ago
$LN24@JitEmitPre:
3 years ago
003f2 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv204[rbp], 0
3 years ago
$LN25@JitEmitPre:
3 years ago
; 352 : return NULL;
3 years ago
3 years ago
003fd 33 c0 xor eax, eax
003ff eb 61 jmp SHORT $LN1@JitEmitPre
3 years ago
$LN11@JitEmitPre:
3 years ago
; 353 : }
; 354 : }
; 355 :
; 356 : if (SaveFlags && !JitEmitPopfqInst(Block))
3 years ago
3 years ago
00401 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00408 74 54 je SHORT $LN14@JitEmitPre
0040a 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0040e e8 00 00 00 00 call ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPopfqInst
00413 85 c0 test eax, eax
00415 75 47 jne SHORT $LN14@JitEmitPre
3 years ago
3 years ago
; 357 : {
; 358 : NcDeleteBlock(Block);
3 years ago
3 years ago
00417 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0041b e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 359 : delete Block;
3 years ago
3 years ago
00420 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00424 48 89 85 88 02
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
0042b 48 83 bd 88 02
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
00433 74 1a je SHORT $LN26@JitEmitPre
00435 ba 01 00 00 00 mov edx, 1
0043a 48 8b 8d 88 02
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
00441 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00446 48 89 85 98 02
00 00 mov QWORD PTR tv214[rbp], rax
0044d eb 0b jmp SHORT $LN27@JitEmitPre
3 years ago
$LN26@JitEmitPre:
3 years ago
0044f 48 c7 85 98 02
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv214[rbp], 0
3 years ago
$LN27@JitEmitPre:
3 years ago
; 360 : return NULL;
3 years ago
3 years ago
0045a 33 c0 xor eax, eax
0045c eb 04 jmp SHORT $LN1@JitEmitPre
3 years ago
$LN14@JitEmitPre:
3 years ago
; 361 : }
; 362 :
; 363 : return Block;
3 years ago
3 years ago
0045e 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPre:
3 years ago
; 364 : }
3 years ago
3 years ago
00462 48 8d a5 a8 02
3 years ago
00 00 lea rsp, QWORD PTR [rbp+680]
3 years ago
00469 5f pop rdi
0046a 5d pop rbp
0046b c3 ret 0
3 years ago
?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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv214 = 664
tv204 = 664
tv181 = 664
tv158 = 664
3 years ago
tv128 = 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 e8 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??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
Count$ = 132
RipDelta$1 = 164
RipDelta$2 = 196
RipDelta$3 = 228
$T4 = 456
$T5 = 488
$T6 = 520
$T7 = 552
$T8 = 584
$T9 = 616
$T10 = 648
3 years ago
tv214 = 664
tv204 = 664
tv181 = 664
tv158 = 664
3 years ago
tv128 = 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 e8 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??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
3 years ago
tv210 = 952
tv197 = 952
3 years ago
tv173 = 952
tv152 = 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
3 years ago
; 199 : {
3 years ago
$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
3 years ago
; 200 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
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
3 years ago
; 201 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
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
3 years ago
; 202 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
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
3 years ago
; 203 :
; 204 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
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
3 years ago
; 205 :
; 206 : Block->Start = Block->End = new NATIVE_CODE_LINK;
3 years ago
000f3 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
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
3 years ago
; 207 : ULONG ZeroValue = 0;
3 years ago
00159 c7 85 84 00 00
00 00 00 00 00 mov DWORD PTR ZeroValue$[rbp], 0
3 years ago
; 208 : ULONG Count = FourByte;
3 years ago
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:
3 years ago
; 209 : while (Count)
3 years ago
0016c 83 bd a4 00 00
00 00 cmp DWORD PTR Count$[rbp], 0
00173 0f 84 e0 00 00
00 je $LN3@JitEmitPos
3 years ago
; 210 : {
; 211 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4);
3 years ago
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
3 years ago
; 212 : RipDelta += (FourByte - (Count - 1)) * DWORD_MOV_INST_LENGTH;
3 years ago
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
3 years ago
; 213 : RipDelta *= (-1);
3 years ago
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
3 years ago
; 214 : RipDelta += Delta;
3 years ago
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
3 years ago
; 215 : if (!JitEmitRipRelativeMovD(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
001e2 4c 8d 85 84 00
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
001e9 8b 95 c4 00 00
00 mov edx, DWORD PTR RipDelta$4[rbp]
001ef 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
001f3 e8 00 00 00 00 call ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovD
001f8 85 c0 test eax, eax
001fa 75 4a jne SHORT $LN4@JitEmitPos
3 years ago
; 216 : {
; 217 : NcDeleteBlock(Block);
3 years ago
001fc 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00200 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 218 : delete Block;
3 years ago
00205 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00209 48 89 85 48 03
00 00 mov QWORD PTR $T11[rbp], rax
00210 48 83 bd 48 03
00 00 00 cmp QWORD PTR $T11[rbp], 0
00218 74 1a je SHORT $LN15@JitEmitPos
0021a ba 01 00 00 00 mov edx, 1
0021f 48 8b 8d 48 03
00 00 mov rcx, QWORD PTR $T11[rbp]
00226 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0022b 48 89 85 b8 03
00 00 mov QWORD PTR tv152[rbp], rax
00232 eb 0b jmp SHORT $LN16@JitEmitPos
$LN15@JitEmitPos:
00234 48 c7 85 b8 03
00 00 00 00 00
00 mov QWORD PTR tv152[rbp], 0
$LN16@JitEmitPos:
3 years ago
; 219 : return NULL;
3 years ago
0023f 33 c0 xor eax, eax
3 years ago
00241 e9 40 02 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN4@JitEmitPos:
3 years ago
; 220 : }
; 221 : --Count;
3 years ago
00246 8b 85 a4 00 00
00 mov eax, DWORD PTR Count$[rbp]
0024c ff c8 dec eax
0024e 89 85 a4 00 00
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 222 : }
3 years ago
00254 e9 13 ff ff ff jmp $LN2@JitEmitPos
$LN3@JitEmitPos:
3 years ago
; 223 :
; 224 : if (TwoByte)
3 years ago
00259 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
0025d 0f 84 c4 00 00
00 je $LN5@JitEmitPos
3 years ago
; 225 : {
; 226 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4);
3 years ago
00263 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00266 c1 e0 02 shl eax, 2
00269 48 8b 8d f0 03
00 00 mov rcx, QWORD PTR Link$[rbp]
00270 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00273 2b c8 sub ecx, eax
00275 8b c1 mov eax, ecx
00277 89 85 e4 00 00
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 227 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH);
3 years ago
0027d 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
00281 8b 8d e4 00 00
00 mov ecx, DWORD PTR RipDelta$5[rbp]
00287 03 c8 add ecx, eax
00289 8b c1 mov eax, ecx
0028b 89 85 e4 00 00
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 228 : RipDelta += WORD_MOV_INST_LENGTH;
3 years ago
00291 8b 85 e4 00 00
00 mov eax, DWORD PTR RipDelta$5[rbp]
00297 83 c0 09 add eax, 9
0029a 89 85 e4 00 00
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 229 : RipDelta *= (-1);
3 years ago
002a0 6b 85 e4 00 00
00 ff imul eax, DWORD PTR RipDelta$5[rbp], -1
002a7 89 85 e4 00 00
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 230 : RipDelta += Delta;
3 years ago
002ad 8b 85 f8 03 00
00 mov eax, DWORD PTR Delta$[rbp]
002b3 8b 8d e4 00 00
00 mov ecx, DWORD PTR RipDelta$5[rbp]
002b9 03 c8 add ecx, eax
002bb 8b c1 mov eax, ecx
002bd 89 85 e4 00 00
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 231 : if (!JitEmitRipRelativeMovW(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
002c3 4c 8d 85 84 00
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
002ca 8b 95 e4 00 00
00 mov edx, DWORD PTR RipDelta$5[rbp]
002d0 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002d4 e8 00 00 00 00 call ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovW
002d9 85 c0 test eax, eax
002db 75 4a jne SHORT $LN5@JitEmitPos
3 years ago
; 232 : {
; 233 : NcDeleteBlock(Block);
3 years ago
002dd 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002e1 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
; 234 : delete Block;
3 years ago
002e6 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
002ea 48 89 85 68 03
00 00 mov QWORD PTR $T12[rbp], rax
002f1 48 83 bd 68 03
00 00 00 cmp QWORD PTR $T12[rbp], 0
002f9 74 1a je SHORT $LN17@JitEmitPos
002fb ba 01 00 00 00 mov edx, 1
00300 48 8b 8d 68 03
00 00 mov rcx, QWORD PTR $T12[rbp]
00307 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0030c 48 89 85 b8 03
00 00 mov QWORD PTR tv173[rbp], rax
00313 eb 0b jmp SHORT $LN18@JitEmitPos
$LN17@JitEmitPos:
00315 48 c7 85 b8 03
00 00 00 00 00
00 mov QWORD PTR tv173[rbp], 0
$LN18@JitEmitPos:
3 years ago
; 235 : return NULL;
3 years ago
00320 33 c0 xor eax, eax
3 years ago
00322 e9 5f 01 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN5@JitEmitPos:
3 years ago
; 236 : }
; 237 : }
; 238 :
; 239 : if (OneByte)
3 years ago
00327 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
3 years ago
0032b 0f 84 dc 00 00
3 years ago
00 je $LN7@JitEmitPos
3 years ago
; 240 : {
; 241 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2);
3 years ago
00331 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00334 c1 e0 02 shl eax, 2
00337 48 8b 8d f0 03
00 00 mov rcx, QWORD PTR Link$[rbp]
0033e 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00341 2b c8 sub ecx, eax
00343 8b c1 mov eax, ecx
00345 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00348 d1 e1 shl ecx, 1
0034a 2b c1 sub eax, ecx
0034c 89 85 04 01 00
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 242 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH);
3 years ago
00352 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
00356 8b 8d 04 01 00
00 mov ecx, DWORD PTR RipDelta$6[rbp]
0035c 03 c8 add ecx, eax
0035e 8b c1 mov eax, ecx
00360 89 85 04 01 00
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 243 : RipDelta += (TwoByte * WORD_MOV_INST_LENGTH);
3 years ago
3 years ago
00366 6b 45 24 09 imul eax, DWORD PTR TwoByte$[rbp], 9
0036a 8b 8d 04 01 00
00 mov ecx, DWORD PTR RipDelta$6[rbp]
00370 03 c8 add ecx, eax
00372 8b c1 mov eax, ecx
00374 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 244 : RipDelta += BYTE_MOV_INST_LENGTH;
3 years ago
3 years ago
0037a 8b 85 04 01 00
3 years ago
00 mov eax, DWORD PTR RipDelta$6[rbp]
3 years ago
00380 83 c0 07 add eax, 7
00383 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 245 : RipDelta *= (-1);
3 years ago
3 years ago
00389 6b 85 04 01 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$6[rbp], -1
3 years ago
00390 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 246 : RipDelta += Delta;
3 years ago
3 years ago
00396 8b 85 f8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
0039c 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$6[rbp]
3 years ago
003a2 03 c8 add ecx, eax
003a4 8b c1 mov eax, ecx
003a6 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 247 : if (!JitEmitRipRelativeMovB(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
3 years ago
003ac 4c 8d 85 84 00
3 years ago
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
3 years ago
003b3 8b 95 04 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$6[rbp]
3 years ago
003b9 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003bd e8 00 00 00 00 call ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovB
003c2 85 c0 test eax, eax
003c4 75 47 jne SHORT $LN7@JitEmitPos
3 years ago
3 years ago
; 248 : {
; 249 : NcDeleteBlock(Block);
3 years ago
3 years ago
003c6 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003ca e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 250 : delete Block;
3 years ago
3 years ago
003cf 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003d3 48 89 85 88 03
3 years ago
00 00 mov QWORD PTR $T13[rbp], rax
3 years ago
003da 48 83 bd 88 03
3 years ago
00 00 00 cmp QWORD PTR $T13[rbp], 0
3 years ago
003e2 74 1a je SHORT $LN19@JitEmitPos
003e4 ba 01 00 00 00 mov edx, 1
003e9 48 8b 8d 88 03
3 years ago
00 00 mov rcx, QWORD PTR $T13[rbp]
3 years ago
003f0 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
003f5 48 89 85 b8 03
00 00 mov QWORD PTR tv197[rbp], rax
003fc eb 0b jmp SHORT $LN20@JitEmitPos
3 years ago
$LN19@JitEmitPos:
3 years ago
003fe 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv197[rbp], 0
3 years ago
$LN20@JitEmitPos:
3 years ago
; 251 : return NULL;
3 years ago
3 years ago
00409 33 c0 xor eax, eax
0040b eb 79 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN7@JitEmitPos:
3 years ago
; 252 : }
; 253 : }
; 254 :
; 255 : PNATIVE_CODE_LINK StartLink = Block->Start;
3 years ago
3 years ago
0040d 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00411 48 8b 00 mov rax, QWORD PTR [rax]
00414 48 89 85 28 01
3 years ago
00 00 mov QWORD PTR StartLink$[rbp], rax
3 years ago
; 256 : Block->Start = Block->Start->Next;
3 years ago
3 years ago
0041b 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0041f 48 8b 00 mov rax, QWORD PTR [rax]
00422 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00426 48 8b 00 mov rax, QWORD PTR [rax]
00429 48 89 01 mov QWORD PTR [rcx], rax
3 years ago
3 years ago
; 257 : if (Block->Start)
3 years ago
3 years ago
0042c 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00430 48 83 38 00 cmp QWORD PTR [rax], 0
00434 74 0f je SHORT $LN9@JitEmitPos
3 years ago
3 years ago
; 258 : Block->Start->Prev = NULL;
3 years ago
3 years ago
00436 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0043a 48 8b 00 mov rax, QWORD PTR [rax]
0043d 48 c7 40 08 00
3 years ago
00 00 00 mov QWORD PTR [rax+8], 0
$LN9@JitEmitPos:
3 years ago
; 259 : delete StartLink;
3 years ago
3 years ago
00445 48 8b 85 28 01
3 years ago
00 00 mov rax, QWORD PTR StartLink$[rbp]
3 years ago
0044c 48 89 85 a8 03
3 years ago
00 00 mov QWORD PTR $T14[rbp], rax
3 years ago
00453 48 83 bd a8 03
3 years ago
00 00 00 cmp QWORD PTR $T14[rbp], 0
3 years ago
0045b 74 1a je SHORT $LN21@JitEmitPos
0045d ba 01 00 00 00 mov edx, 1
00462 48 8b 8d a8 03
3 years ago
00 00 mov rcx, QWORD PTR $T14[rbp]
3 years ago
00469 e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
0046e 48 89 85 b8 03
00 00 mov QWORD PTR tv210[rbp], rax
00475 eb 0b jmp SHORT $LN22@JitEmitPos
3 years ago
$LN21@JitEmitPos:
3 years ago
00477 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv210[rbp], 0
3 years ago
$LN22@JitEmitPos:
3 years ago
; 260 :
; 261 : return Block;
3 years ago
3 years ago
00482 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPos:
3 years ago
; 262 : }
3 years ago
3 years ago
00486 48 8b f8 mov rdi, rax
00489 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
0048d 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z$rtcFrameData
3 years ago
00494 e8 00 00 00 00 call _RTC_CheckStackVars
00499 48 8b c7 mov rax, rdi
0049c 48 8b 8d c0 03
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
004a3 48 33 cd xor rcx, rbp
004a6 e8 00 00 00 00 call __security_check_cookie
004ab 48 8d a5 d8 03
3 years ago
00 00 lea rsp, QWORD PTR [rbp+984]
3 years ago
004b2 5f pop rdi
004b3 5d pop rbp
004b4 c3 ret 0
3 years ago
?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
3 years ago
tv210 = 952
tv197 = 952
3 years ago
tv173 = 952
tv152 = 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
3 years ago
tv210 = 952
tv197 = 952
3 years ago
tv173 = 952
tv152 = 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 f0 00 00 00 mov edx, 240 ; 000000f0H
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
3 years ago
tv210 = 952
tv197 = 952
3 years ago
tv173 = 952
tv152 = 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
3 years ago
tv210 = 952
tv197 = 952
3 years ago
tv173 = 952
tv152 = 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 f0 00 00 00 mov edx, 240 ; 000000f0H
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
3 years ago
tv202 = 952
tv189 = 952
tv171 = 952
tv153 = 952
3 years ago
tv131 = 952
tv86 = 952
Link$ = 992
Delta$ = 1000
?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z PROC ; JitEmitPreRipMov, COMDAT
3 years ago
; 134 : {
3 years ago
$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
3 years ago
; 135 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
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
3 years ago
; 136 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
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
3 years ago
; 137 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
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
3 years ago
; 138 :
; 139 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
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
3 years ago
; 140 :
; 141 : Block->Start = Block->End = new NATIVE_CODE_LINK;
3 years ago
000e2 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
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
3 years ago
; 142 : PUCHAR DataOffset = Link->RawData;
3 years ago
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
3 years ago
; 143 : ULONG Count = FourByte;
3 years ago
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:
3 years ago
; 144 : while (Count)
3 years ago
00163 83 bd a4 00 00
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
0016a 0f 84 d8 00 00
3 years ago
00 je $LN3@JitEmitPre
3 years ago
; 145 : {
; 146 : //Account for remaining MOVs
; 147 : INT32 RipDelta = (((Count - 1) * DWORD_MOV_INST_LENGTH) + (TwoByte * WORD_MOV_INST_LENGTH) + (OneByte * BYTE_MOV_INST_LENGTH));
3 years ago
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
3 years ago
; 148 : //Account for already MOVd instructions
; 149 : RipDelta += ((FourByte - Count) * 4);
3 years ago
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
3 years ago
; 150 : RipDelta += Delta;
3 years ago
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
3 years ago
; 151 : //Add the actual instruction
3 years ago
; 152 : if (!JitEmitRipRelativeMovD(Block, RipDelta, DataOffset))
3 years ago
3 years ago
001bf 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
001c6 8b 95 c4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$1[rbp]
3 years ago
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
3 years ago
3 years ago
; 153 : {
; 154 : NcDeleteBlock(Block);
3 years ago
3 years ago
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
3 years ago
3 years ago
; 155 : delete Block;
3 years ago
3 years ago
001e2 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
001e6 48 89 85 48 03
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
001ed 48 83 bd 48 03
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
001f5 74 1a je SHORT $LN15@JitEmitPre
001f7 ba 01 00 00 00 mov edx, 1
001fc 48 8b 8d 48 03
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
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
3 years ago
$LN15@JitEmitPre:
3 years ago
00211 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv153[rbp], 0
3 years ago
$LN16@JitEmitPre:
3 years ago
; 156 : return NULL;
3 years ago
3 years ago
0021c 33 c0 xor eax, eax
0021e e9 f3 01 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN4@JitEmitPre:
3 years ago
; 157 : }
; 158 : DataOffset += 4;
3 years ago
3 years ago
00223 48 8b 85 88 00
3 years ago
00 00 mov rax, QWORD PTR DataOffset$[rbp]
3 years ago
0022a 48 83 c0 04 add rax, 4
0022e 48 89 85 88 00
3 years ago
00 00 mov QWORD PTR DataOffset$[rbp], rax
3 years ago
; 159 : --Count;
3 years ago
3 years ago
00235 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0023b ff c8 dec eax
0023d 89 85 a4 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 160 : }
3 years ago
3 years ago
00243 e9 1b ff ff ff jmp $LN2@JitEmitPre
3 years ago
$LN3@JitEmitPre:
3 years ago
; 161 :
; 162 : if (TwoByte)
3 years ago
3 years ago
00248 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
0024c 0f 84 a8 00 00
3 years ago
00 je $LN5@JitEmitPre
3 years ago
; 163 : {
; 164 : INT32 RipDelta = (OneByte * BYTE_MOV_INST_LENGTH);
3 years ago
3 years ago
00252 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7
00256 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 165 : RipDelta += (FourByte * 4);
3 years ago
3 years ago
0025c 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
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
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 166 : RipDelta += Delta;
3 years ago
3 years ago
0026e 8b 85 e8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00274 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
0027a 03 c8 add ecx, eax
0027c 8b c1 mov eax, ecx
0027e 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 167 : if (!JitEmitRipRelativeMovW(Block, RipDelta, DataOffset))
3 years ago
3 years ago
00284 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
0028b 8b 95 e4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$2[rbp]
3 years ago
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
3 years ago
3 years ago
; 168 : {
; 169 : NcDeleteBlock(Block);
3 years ago
3 years ago
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
3 years ago
3 years ago
; 170 : delete Block;
3 years ago
3 years ago
002a7 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
002ab 48 89 85 68 03
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
002b2 48 83 bd 68 03
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
002ba 74 1a je SHORT $LN17@JitEmitPre
002bc ba 01 00 00 00 mov edx, 1
002c1 48 8b 8d 68 03
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
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
3 years ago
$LN17@JitEmitPre:
3 years ago
002d6 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv171[rbp], 0
3 years ago
$LN18@JitEmitPre:
3 years ago
; 171 : return NULL;
3 years ago
3 years ago
002e1 33 c0 xor eax, eax
002e3 e9 2e 01 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN6@JitEmitPre:
3 years ago
; 172 : }
; 173 : DataOffset += 2;
3 years ago
3 years ago
002e8 48 8b 85 88 00
3 years ago
00 00 mov rax, QWORD PTR DataOffset$[rbp]
3 years ago
002ef 48 83 c0 02 add rax, 2
002f3 48 89 85 88 00
3 years ago
00 00 mov QWORD PTR DataOffset$[rbp], rax
$LN5@JitEmitPre:
3 years ago
; 174 : }
; 175 :
; 176 : if (OneByte)
3 years ago
3 years ago
002fa 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
002fe 0f 84 99 00 00
3 years ago
00 je $LN7@JitEmitPre
3 years ago
; 177 : {
; 178 : INT32 RipDelta = 0;
3 years ago
3 years ago
00304 c7 85 04 01 00
3 years ago
00 00 00 00 00 mov DWORD PTR RipDelta$3[rbp], 0
3 years ago
; 179 : RipDelta += (FourByte * 4) + (TwoByte * 2);
3 years ago
3 years ago
0030e 8b 85 04 01 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
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
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 180 : RipDelta += Delta;
3 years ago
3 years ago
00326 8b 85 e8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
0032c 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
00332 03 c8 add ecx, eax
00334 8b c1 mov eax, ecx
00336 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 181 : if (!JitEmitRipRelativeMovB(Block, RipDelta, DataOffset))
3 years ago
3 years ago
0033c 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
00343 8b 95 04 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$3[rbp]
3 years ago
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
3 years ago
3 years ago
; 182 : {
; 183 : NcDeleteBlock(Block);
3 years ago
3 years ago
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
3 years ago
3 years ago
; 184 : delete Block;
3 years ago
3 years ago
0035f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00363 48 89 85 88 03
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
0036a 48 83 bd 88 03
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
00372 74 1a je SHORT $LN19@JitEmitPre
00374 ba 01 00 00 00 mov edx, 1
00379 48 8b 8d 88 03
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
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
3 years ago
$LN19@JitEmitPre:
3 years ago
0038e 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv189[rbp], 0
3 years ago
$LN20@JitEmitPre:
3 years ago
; 185 : return NULL;
3 years ago
3 years ago
00399 33 c0 xor eax, eax
0039b eb 79 jmp SHORT $LN1@JitEmitPre
3 years ago
$LN7@JitEmitPre:
3 years ago
; 186 : }
; 187 : }
; 188 :
; 189 : PNATIVE_CODE_LINK StartLink = Block->Start;
3 years ago
3 years ago
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
3 years ago
00 00 mov QWORD PTR StartLink$[rbp], rax
3 years ago
; 190 : Block->Start = Block->Start->Next;
3 years ago
3 years ago
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
3 years ago
3 years ago
; 191 : if (Block->Start)
3 years ago
3 years ago
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
3 years ago
3 years ago
; 192 : Block->Start->Prev = NULL;
3 years ago
3 years ago
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
3 years ago
00 00 00 mov QWORD PTR [rax+8], 0
$LN9@JitEmitPre:
3 years ago
; 193 : delete StartLink;
3 years ago
3 years ago
003d5 48 8b 85 28 01
3 years ago
00 00 mov rax, QWORD PTR StartLink$[rbp]
3 years ago
003dc 48 89 85 a8 03
3 years ago
00 00 mov QWORD PTR $T11[rbp], rax
3 years ago
003e3 48 83 bd a8 03
3 years ago
00 00 00 cmp QWORD PTR $T11[rbp], 0
3 years ago
003eb 74 1a je SHORT $LN21@JitEmitPre
003ed ba 01 00 00 00 mov edx, 1
003f2 48 8b 8d a8 03
3 years ago
00 00 mov rcx, QWORD PTR $T11[rbp]
3 years ago
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
3 years ago
$LN21@JitEmitPre:
3 years ago
00407 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv202[rbp], 0
3 years ago
$LN22@JitEmitPre:
3 years ago
; 194 :
; 195 : return Block;
3 years ago
3 years ago
00412 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPre:
3 years ago
; 196 : }
3 years ago
3 years ago
00416 48 8d a5 c8 03
3 years ago
00 00 lea rsp, QWORD PTR [rbp+968]
3 years ago
0041d 5f pop rdi
0041e 5d pop rbp
0041f c3 ret 0
3 years ago
?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
3 years ago
tv202 = 952
tv189 = 952
tv171 = 952
tv153 = 952
3 years ago
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
3 years ago
tv202 = 952
tv189 = 952
tv171 = 952
tv153 = 952
3 years ago
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 f0 00 00 00 mov edx, 240 ; 000000f0H
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
3 years ago
tv202 = 952
tv189 = 952
tv171 = 952
tv153 = 952
3 years ago
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
3 years ago
tv202 = 952
tv189 = 952
tv171 = 952
tv153 = 952
3 years ago
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 f0 00 00 00 mov edx, 240 ; 000000f0H
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
3 years ago
; COMDAT ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z
_TEXT SEGMENT
Link$ = 224
XorData$ = 232
?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForAnd, COMDAT
; 129 : {
$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
; 130 :
; 131 : }
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
XorData$ = 232
?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForOr, COMDAT
; 124 : {
$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
; 125 :
; 126 : }
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
3 years ago
; COMDAT ?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z
_TEXT SEGMENT
FourByte$ = 4
TwoByte$ = 36
OneByte$ = 68
Buffer$ = 104
Link$ = 352
JitData$ = 360
?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z PROC ; JitMutateInstForXor, COMDAT
3 years ago
; 99 : {
3 years ago
$LN7:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 68 01
00 00 sub rsp, 360 ; 00000168H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8b fc mov rdi, rsp
0001b b9 5a 00 00 00 mov ecx, 90 ; 0000005aH
00020 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00025 f3 ab rep stosd
00027 48 8b 8c 24 88
01 00 00 mov rcx, QWORD PTR [rsp+392]
0002f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00036 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 100 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
0003b 33 d2 xor edx, edx
0003d 48 8b 85 60 01
00 00 mov rax, QWORD PTR Link$[rbp]
00044 8b 40 28 mov eax, DWORD PTR [rax+40]
00047 b9 04 00 00 00 mov ecx, 4
0004c f7 f1 div ecx
0004e 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
; 101 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
00051 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00054 c1 e0 02 shl eax, 2
00057 48 8b 8d 60 01
00 00 mov rcx, QWORD PTR Link$[rbp]
0005e 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00061 2b c8 sub ecx, eax
00063 8b c1 mov eax, ecx
00065 33 d2 xor edx, edx
00067 b9 02 00 00 00 mov ecx, 2
0006c f7 f1 div ecx
0006e 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
; 102 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
00071 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00074 c1 e0 02 shl eax, 2
00077 48 8b 8d 60 01
00 00 mov rcx, QWORD PTR Link$[rbp]
0007e 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00081 2b c8 sub ecx, eax
00083 8b c1 mov eax, ecx
00085 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00088 d1 e1 shl ecx, 1
0008a 2b c1 sub eax, ecx
0008c 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
; 103 :
; 104 : PUCHAR Buffer = Link->RawData;
3 years ago
0008f 48 8b 85 60 01
00 00 mov rax, QWORD PTR Link$[rbp]
00096 48 8b 40 20 mov rax, QWORD PTR [rax+32]
0009a 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
$LN2@JitMutateI:
3 years ago
; 105 : while (FourByte)
3 years ago
0009e 83 7d 04 00 cmp DWORD PTR FourByte$[rbp], 0
000a2 74 3a je SHORT $LN3@JitMutateI
3 years ago
; 106 : {
; 107 : *(PULONG)Buffer ^= JitData->Data[2 - FourByte];
3 years ago
000a4 b8 02 00 00 00 mov eax, 2
000a9 2b 45 04 sub eax, DWORD PTR FourByte$[rbp]
000ac 8b c0 mov eax, eax
000ae 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000b2 48 8b 95 68 01
00 00 mov rdx, QWORD PTR JitData$[rbp]
000b9 8b 04 82 mov eax, DWORD PTR [rdx+rax*4]
000bc 8b 09 mov ecx, DWORD PTR [rcx]
000be 33 c8 xor ecx, eax
000c0 8b c1 mov eax, ecx
000c2 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000c6 89 01 mov DWORD PTR [rcx], eax
3 years ago
; 108 : Buffer += 4;
3 years ago
000c8 48 8b 45 68 mov rax, QWORD PTR Buffer$[rbp]
000cc 48 83 c0 04 add rax, 4
000d0 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
3 years ago
; 109 : FourByte--;
3 years ago
000d4 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
000d7 ff c8 dec eax
000d9 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
; 110 : }
3 years ago
000dc eb c0 jmp SHORT $LN2@JitMutateI
$LN3@JitMutateI:
3 years ago
; 111 :
; 112 : if (TwoByte)
3 years ago
000de 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
000e2 74 32 je SHORT $LN4@JitMutateI
3 years ago
; 113 : {
; 114 : *(PUSHORT)Buffer ^= (USHORT)JitData->Data[3];
3 years ago
000e4 b8 04 00 00 00 mov eax, 4
000e9 48 6b c0 03 imul rax, rax, 3
000ed 48 8b 8d 68 01
00 00 mov rcx, QWORD PTR JitData$[rbp]
000f4 0f b7 04 01 movzx eax, WORD PTR [rcx+rax]
000f8 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000fc 0f b7 09 movzx ecx, WORD PTR [rcx]
000ff 33 c8 xor ecx, eax
00101 8b c1 mov eax, ecx
00103 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
00107 66 89 01 mov WORD PTR [rcx], ax
3 years ago
; 115 : Buffer += 2;
3 years ago
0010a 48 8b 45 68 mov rax, QWORD PTR Buffer$[rbp]
0010e 48 83 c0 02 add rax, 2
00112 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
$LN4@JitMutateI:
3 years ago
; 116 : }
; 117 :
; 118 : if (OneByte)
3 years ago
00116 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
0011a 74 25 je SHORT $LN5@JitMutateI
3 years ago
; 119 : *(PUCHAR)Buffer ^= (UCHAR)JitData->Data[3];
3 years ago
0011c b8 04 00 00 00 mov eax, 4
00121 48 6b c0 03 imul rax, rax, 3
00125 48 8b 8d 68 01
00 00 mov rcx, QWORD PTR JitData$[rbp]
0012c 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
00130 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
00134 0f b6 09 movzx ecx, BYTE PTR [rcx]
00137 33 c8 xor ecx, eax
00139 8b c1 mov eax, ecx
0013b 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
0013f 88 01 mov BYTE PTR [rcx], al
$LN5@JitMutateI:
3 years ago
; 120 :
; 121 : }
3 years ago
00141 48 8d a5 48 01
00 00 lea rsp, QWORD PTR [rbp+328]
00148 5f pop rdi
00149 5d pop rbp
0014a c3 ret 0
?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForXor
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z
_TEXT SEGMENT
Ledger$ = 4
T$4 = 40
SimpleFlags$5 = 72
FlagsRead$6 = 104
FlagsWritten$7 = 136
__$ArrayPad$ = 344
Link$ = 384
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z PROC ; JitAreFlagsClobberedBeforeUse, COMDAT
3 years ago
; 69 : {
3 years ago
$LN9:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 88 01
00 00 sub rsp, 392 ; 00000188H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8b fc mov rdi, rsp
00016 b9 62 00 00 00 mov ecx, 98 ; 00000062H
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00020 f3 ab rep stosd
00022 48 8b 8c 24 a8
01 00 00 mov rcx, QWORD PTR [rsp+424]
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 58 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0003b 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 70 : XED_FLAG_SET Ledger;
; 71 : Ledger.s.zf = TRUE;
3 years ago
00047 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
0004a 83 c8 40 or eax, 64 ; 00000040H
0004d 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 72 : Ledger.s.sf = TRUE;
3 years ago
00050 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00053 0f ba e8 07 bts eax, 7
00057 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 73 : Ledger.s.pf = TRUE;
3 years ago
0005a 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
0005d 83 c8 04 or eax, 4
00060 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 74 : Ledger.s.of = TRUE;
3 years ago
00063 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00066 0f ba e8 0b bts eax, 11
0006a 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 75 : Ledger.s.cf = TRUE;
3 years ago
0006d 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00070 83 c8 01 or eax, 1
00073 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 76 : Ledger.s.af = TRUE;
3 years ago
00076 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00079 83 c8 10 or eax, 16
0007c 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
; 77 :
; 78 : for (PNATIVE_CODE_LINK T = Link->Next; T; T = T->Next)
3 years ago
0007f 48 8b 85 80 01
00 00 mov rax, QWORD PTR Link$[rbp]
00086 48 8b 00 mov rax, QWORD PTR [rax]
00089 48 89 45 28 mov QWORD PTR T$4[rbp], rax
0008d eb 0b jmp SHORT $LN4@JitAreFlag
$LN2@JitAreFlag:
0008f 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
00093 48 8b 00 mov rax, QWORD PTR [rax]
00096 48 89 45 28 mov QWORD PTR T$4[rbp], rax
$LN4@JitAreFlag:
0009a 48 83 7d 28 00 cmp QWORD PTR T$4[rbp], 0
0009f 74 77 je SHORT $LN3@JitAreFlag
3 years ago
; 79 : {
; 80 : if (T->Flags & CODE_FLAG_IS_LABEL)
3 years ago
000a1 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
000a5 8b 40 18 mov eax, DWORD PTR [rax+24]
000a8 83 e0 01 and eax, 1
000ab 85 c0 test eax, eax
000ad 74 02 je SHORT $LN5@JitAreFlag
3 years ago
; 81 : continue;
3 years ago
000af eb de jmp SHORT $LN2@JitAreFlag
$LN5@JitAreFlag:
3 years ago
; 82 :
; 83 : CONST XED_SIMPLE_FLAG* SimpleFlags = XedDecodedInstGetRflagsInfo(&T->XedInstruction);
3 years ago
000b1 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
000b5 48 83 c0 30 add rax, 48 ; 00000030H
000b9 48 8b c8 mov rcx, rax
000bc e8 00 00 00 00 call xed_decoded_inst_get_rflags_info
000c1 48 89 45 48 mov QWORD PTR SimpleFlags$5[rbp], rax
3 years ago
; 84 : CONST XED_FLAG_SET* FlagsRead = XedSimpleFlagGetReadFlagSet(SimpleFlags);
3 years ago
000c5 48 8b 4d 48 mov rcx, QWORD PTR SimpleFlags$5[rbp]
000c9 e8 00 00 00 00 call xed_simple_flag_get_read_flag_set
000ce 48 89 45 68 mov QWORD PTR FlagsRead$6[rbp], rax
3 years ago
; 85 : CONST XED_FLAG_SET* FlagsWritten = XedSimpleFlagGetWrittenFlagSet(SimpleFlags);
3 years ago
000d2 48 8b 4d 48 mov rcx, QWORD PTR SimpleFlags$5[rbp]
000d6 e8 00 00 00 00 call xed_simple_flag_get_written_flag_set
000db 48 89 85 88 00
00 00 mov QWORD PTR FlagsWritten$7[rbp], rax
3 years ago
; 86 :
; 87 : if (JitCheckFlagCollisions(FlagsRead, Ledger))
3 years ago
000e2 8b 55 04 mov edx, DWORD PTR Ledger$[rbp]
000e5 48 8b 4d 68 mov rcx, QWORD PTR FlagsRead$6[rbp]
000e9 e8 00 00 00 00 call ?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z ; JitCheckFlagCollisions
000ee 85 c0 test eax, eax
000f0 74 04 je SHORT $LN6@JitAreFlag
3 years ago
; 88 : return FALSE;
3 years ago
000f2 33 c0 xor eax, eax
000f4 eb 24 jmp SHORT $LN1@JitAreFlag
$LN6@JitAreFlag:
3 years ago
; 89 :
; 90 : JitUpdateConFlagsLedger(FlagsWritten, &Ledger);
3 years ago
000f6 48 8d 55 04 lea rdx, QWORD PTR Ledger$[rbp]
000fa 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR FlagsWritten$7[rbp]
00101 e8 00 00 00 00 call ?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z ; JitUpdateConFlagsLedger
3 years ago
; 91 :
; 92 : if (Ledger.flat == 0)
3 years ago
00106 83 7d 04 00 cmp DWORD PTR Ledger$[rbp], 0
0010a 75 07 jne SHORT $LN7@JitAreFlag
3 years ago
; 93 : return TRUE;
3 years ago
0010c b8 01 00 00 00 mov eax, 1
00111 eb 07 jmp SHORT $LN1@JitAreFlag
$LN7@JitAreFlag:
3 years ago
; 94 : }
3 years ago
00113 e9 77 ff ff ff jmp $LN2@JitAreFlag
$LN3@JitAreFlag:
3 years ago
; 95 : return FALSE;
3 years ago
00118 33 c0 xor eax, eax
$LN1@JitAreFlag:
3 years ago
; 96 : }
3 years ago
0011a 48 8b f8 mov rdi, rax
0011d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00121 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcFrameData
00128 e8 00 00 00 00 call _RTC_CheckStackVars
0012d 48 8b c7 mov rax, rdi
00130 48 8b 8d 58 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00137 48 33 cd xor rcx, rbp
0013a e8 00 00 00 00 call __security_check_cookie
0013f 48 8d a5 68 01
00 00 lea rsp, QWORD PTR [rbp+360]
00146 5f pop rdi
00147 5d pop rbp
00148 c3 ret 0
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z ENDP ; JitAreFlagsClobberedBeforeUse
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z
_TEXT SEGMENT
SimpleFlags$ = 8
FlagsWritten$ = 40
FlagsUndefined$ = 72
tv132 = 276
Link$ = 320
?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z PROC ; JitDoesInstOverriteConditionFlags, COMDAT
3 years ago
; 54 : {
3 years ago
$LN5:
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 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 55 : CONST XED_SIMPLE_FLAG* SimpleFlags = XedDecodedInstGetRflagsInfo(&Link->XedInstruction);
3 years ago
00036 48 8b 85 40 01
00 00 mov rax, QWORD PTR Link$[rbp]
0003d 48 83 c0 30 add rax, 48 ; 00000030H
00041 48 8b c8 mov rcx, rax
00044 e8 00 00 00 00 call xed_decoded_inst_get_rflags_info
00049 48 89 45 08 mov QWORD PTR SimpleFlags$[rbp], rax
3 years ago
; 56 : CONST XED_FLAG_SET* FlagsWritten = XedSimpleFlagGetWrittenFlagSet(SimpleFlags);
3 years ago
0004d 48 8b 4d 08 mov rcx, QWORD PTR SimpleFlags$[rbp]
00051 e8 00 00 00 00 call xed_simple_flag_get_written_flag_set
00056 48 89 45 28 mov QWORD PTR FlagsWritten$[rbp], rax
3 years ago
; 57 : CONST XED_FLAG_SET* FlagsUndefined = XedSimpleFlagGetUndefinedFlagSet(SimpleFlags);
3 years ago
0005a 48 8b 4d 08 mov rcx, QWORD PTR SimpleFlags$[rbp]
0005e e8 00 00 00 00 call xed_simple_flag_get_undefined_flag_set
00063 48 89 45 48 mov QWORD PTR FlagsUndefined$[rbp], rax
3 years ago
; 58 :
; 59 : return (FlagsWritten->s.zf &&
3 years ago
00067 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
0006b 8b 00 mov eax, DWORD PTR [rax]
0006d c1 e8 06 shr eax, 6
00070 83 e0 01 and eax, 1
00073 85 c0 test eax, eax
00075 74 59 je SHORT $LN3@JitDoesIns
00077 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
0007b 8b 00 mov eax, DWORD PTR [rax]
0007d c1 e8 07 shr eax, 7
00080 83 e0 01 and eax, 1
00083 85 c0 test eax, eax
00085 74 49 je SHORT $LN3@JitDoesIns
00087 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
0008b 8b 00 mov eax, DWORD PTR [rax]
0008d c1 e8 02 shr eax, 2
00090 83 e0 01 and eax, 1
00093 85 c0 test eax, eax
00095 74 39 je SHORT $LN3@JitDoesIns
00097 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
0009b 8b 00 mov eax, DWORD PTR [rax]
0009d c1 e8 0b shr eax, 11
000a0 83 e0 01 and eax, 1
000a3 85 c0 test eax, eax
000a5 74 29 je SHORT $LN3@JitDoesIns
000a7 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
000ab 8b 00 mov eax, DWORD PTR [rax]
000ad 83 e0 01 and eax, 1
000b0 85 c0 test eax, eax
000b2 74 1c je SHORT $LN3@JitDoesIns
000b4 48 8b 45 48 mov rax, QWORD PTR FlagsUndefined$[rbp]
000b8 8b 00 mov eax, DWORD PTR [rax]
000ba c1 e8 04 shr eax, 4
000bd 83 e0 01 and eax, 1
000c0 85 c0 test eax, eax
000c2 74 0c je SHORT $LN3@JitDoesIns
000c4 c7 85 14 01 00
00 01 00 00 00 mov DWORD PTR tv132[rbp], 1
000ce eb 0a jmp SHORT $LN4@JitDoesIns
$LN3@JitDoesIns:
000d0 c7 85 14 01 00
00 00 00 00 00 mov DWORD PTR tv132[rbp], 0
$LN4@JitDoesIns:
000da 8b 85 14 01 00
00 mov eax, DWORD PTR tv132[rbp]
3 years ago
; 60 : FlagsWritten->s.sf &&
; 61 : FlagsWritten->s.pf &&
; 62 : FlagsWritten->s.of &&
; 63 : FlagsWritten->s.cf &&
; 64 : FlagsUndefined->s.af
; 65 : );
; 66 : }
3 years ago
000e0 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000e7 5f pop rdi
000e8 5d pop rbp
000e9 c3 ret 0
?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z ENDP ; JitDoesInstOverriteConditionFlags
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z
_TEXT SEGMENT
FlagsWritten$ = 224
Ledger$ = 232
?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z PROC ; JitUpdateConFlagsLedger, COMDAT
3 years ago
; 38 : {
3 years ago
$LN9:
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
3 years ago
; 39 : if (FlagsWritten->s.zf)
3 years ago
0003b 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
00042 8b 00 mov eax, DWORD PTR [rax]
00044 c1 e8 06 shr eax, 6
00047 83 e0 01 and eax, 1
0004a 85 c0 test eax, eax
0004c 74 15 je SHORT $LN2@JitUpdateC
3 years ago
; 40 : Ledger->s.zf = FALSE;
3 years ago
0004e 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
00055 8b 00 mov eax, DWORD PTR [rax]
00057 83 e0 bf and eax, -65 ; ffffffbfH
0005a 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
00061 89 01 mov DWORD PTR [rcx], eax
$LN2@JitUpdateC:
3 years ago
; 41 : if (FlagsWritten->s.sf)
3 years ago
00063 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
0006a 8b 00 mov eax, DWORD PTR [rax]
0006c c1 e8 07 shr eax, 7
0006f 83 e0 01 and eax, 1
00072 85 c0 test eax, eax
00074 74 16 je SHORT $LN3@JitUpdateC
3 years ago
; 42 : Ledger->s.sf = FALSE;
3 years ago
00076 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
0007d 8b 00 mov eax, DWORD PTR [rax]
0007f 0f ba f0 07 btr eax, 7
00083 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
0008a 89 01 mov DWORD PTR [rcx], eax
$LN3@JitUpdateC:
3 years ago
; 43 : if (FlagsWritten->s.pf)
3 years ago
0008c 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
00093 8b 00 mov eax, DWORD PTR [rax]
00095 c1 e8 02 shr eax, 2
00098 83 e0 01 and eax, 1
0009b 85 c0 test eax, eax
0009d 74 15 je SHORT $LN4@JitUpdateC
3 years ago
; 44 : Ledger->s.pf = FALSE;
3 years ago
0009f 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
000a6 8b 00 mov eax, DWORD PTR [rax]
000a8 83 e0 fb and eax, -5 ; fffffffbH
000ab 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
000b2 89 01 mov DWORD PTR [rcx], eax
$LN4@JitUpdateC:
3 years ago
; 45 : if (FlagsWritten->s.of)
3 years ago
000b4 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
000bb 8b 00 mov eax, DWORD PTR [rax]
000bd c1 e8 0b shr eax, 11
000c0 83 e0 01 and eax, 1
000c3 85 c0 test eax, eax
000c5 74 16 je SHORT $LN5@JitUpdateC
3 years ago
; 46 : Ledger->s.of = FALSE;
3 years ago
000c7 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
000ce 8b 00 mov eax, DWORD PTR [rax]
000d0 0f ba f0 0b btr eax, 11
000d4 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
000db 89 01 mov DWORD PTR [rcx], eax
$LN5@JitUpdateC:
3 years ago
; 47 : if (FlagsWritten->s.cf)
3 years ago
000dd 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
000e4 8b 00 mov eax, DWORD PTR [rax]
000e6 83 e0 01 and eax, 1
000e9 85 c0 test eax, eax
000eb 74 15 je SHORT $LN6@JitUpdateC
3 years ago
; 48 : Ledger->s.cf = FALSE;
3 years ago
000ed 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
000f4 8b 00 mov eax, DWORD PTR [rax]
000f6 83 e0 fe and eax, -2 ; fffffffeH
000f9 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
00100 89 01 mov DWORD PTR [rcx], eax
$LN6@JitUpdateC:
3 years ago
; 49 : if (FlagsWritten->s.af)
3 years ago
00102 48 8b 85 e0 00
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
00109 8b 00 mov eax, DWORD PTR [rax]
0010b c1 e8 04 shr eax, 4
0010e 83 e0 01 and eax, 1
00111 85 c0 test eax, eax
00113 74 15 je SHORT $LN7@JitUpdateC
3 years ago
; 50 : Ledger->s.af = FALSE;
3 years ago
00115 48 8b 85 e8 00
00 00 mov rax, QWORD PTR Ledger$[rbp]
0011c 8b 00 mov eax, DWORD PTR [rax]
0011e 83 e0 ef and eax, -17 ; ffffffefH
00121 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR Ledger$[rbp]
00128 89 01 mov DWORD PTR [rcx], eax
$LN7@JitUpdateC:
3 years ago
; 51 : }
3 years ago
0012a 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00131 5f pop rdi
00132 5d pop rbp
00133 c3 ret 0
?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z ENDP ; JitUpdateConFlagsLedger
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z
_TEXT SEGMENT
tv165 = 192
FlagsRead$ = 240
Ledger$ = 248
?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z PROC ; JitCheckFlagCollisions, COMDAT
3 years ago
; 27 : {
3 years ago
$LN11:
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 00
00 00 sub rsp, 248 ; 000000f8H
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00017 48 8b fc mov rdi, rsp
0001a b9 3e 00 00 00 mov ecx, 62 ; 0000003eH
0001f b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00024 f3 ab rep stosd
00026 48 8b 8c 24 18
01 00 00 mov rcx, QWORD PTR [rsp+280]
0002e 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00035 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 28 : return ((FlagsRead->s.zf && FlagsRead->s.zf == Ledger.s.zf) ||
3 years ago
0003a 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00041 8b 00 mov eax, DWORD PTR [rax]
00043 c1 e8 06 shr eax, 6
00046 83 e0 01 and eax, 1
00049 85 c0 test eax, eax
0004b 74 23 je SHORT $LN3@JitCheckFl
0004d 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00054 8b 00 mov eax, DWORD PTR [rax]
00056 c1 e8 06 shr eax, 6
00059 83 e0 01 and eax, 1
0005c 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
00062 c1 e9 06 shr ecx, 6
00065 83 e1 01 and ecx, 1
00068 3b c1 cmp eax, ecx
0006a 0f 84 05 01 00
00 je $LN5@JitCheckFl
$LN3@JitCheckFl:
00070 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00077 8b 00 mov eax, DWORD PTR [rax]
00079 c1 e8 07 shr eax, 7
0007c 83 e0 01 and eax, 1
0007f 85 c0 test eax, eax
00081 74 23 je SHORT $LN4@JitCheckFl
00083 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
0008a 8b 00 mov eax, DWORD PTR [rax]
0008c c1 e8 07 shr eax, 7
0008f 83 e0 01 and eax, 1
00092 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
00098 c1 e9 07 shr ecx, 7
0009b 83 e1 01 and ecx, 1
0009e 3b c1 cmp eax, ecx
000a0 0f 84 cf 00 00
00 je $LN5@JitCheckFl
$LN4@JitCheckFl:
000a6 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
000ad 8b 00 mov eax, DWORD PTR [rax]
000af c1 e8 02 shr eax, 2
000b2 83 e0 01 and eax, 1
000b5 85 c0 test eax, eax
000b7 74 23 je SHORT $LN6@JitCheckFl
000b9 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
000c0 8b 00 mov eax, DWORD PTR [rax]
000c2 c1 e8 02 shr eax, 2
000c5 83 e0 01 and eax, 1
000c8 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
000ce c1 e9 02 shr ecx, 2
000d1 83 e1 01 and ecx, 1
000d4 3b c1 cmp eax, ecx
000d6 0f 84 99 00 00
00 je $LN5@JitCheckFl
$LN6@JitCheckFl:
000dc 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
000e3 8b 00 mov eax, DWORD PTR [rax]
000e5 c1 e8 0b shr eax, 11
000e8 83 e0 01 and eax, 1
000eb 85 c0 test eax, eax
000ed 74 1f je SHORT $LN7@JitCheckFl
000ef 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
000f6 8b 00 mov eax, DWORD PTR [rax]
000f8 c1 e8 0b shr eax, 11
000fb 83 e0 01 and eax, 1
000fe 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
00104 c1 e9 0b shr ecx, 11
00107 83 e1 01 and ecx, 1
0010a 3b c1 cmp eax, ecx
0010c 74 67 je SHORT $LN5@JitCheckFl
$LN7@JitCheckFl:
0010e 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00115 8b 00 mov eax, DWORD PTR [rax]
00117 83 e0 01 and eax, 1
0011a 85 c0 test eax, eax
0011c 74 19 je SHORT $LN8@JitCheckFl
0011e 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00125 8b 00 mov eax, DWORD PTR [rax]
00127 83 e0 01 and eax, 1
0012a 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
00130 83 e1 01 and ecx, 1
00133 3b c1 cmp eax, ecx
00135 74 3e je SHORT $LN5@JitCheckFl
$LN8@JitCheckFl:
00137 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
0013e 8b 00 mov eax, DWORD PTR [rax]
00140 c1 e8 04 shr eax, 4
00143 83 e0 01 and eax, 1
00146 85 c0 test eax, eax
00148 74 1f je SHORT $LN9@JitCheckFl
0014a 48 8b 85 f0 00
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
00151 8b 00 mov eax, DWORD PTR [rax]
00153 c1 e8 04 shr eax, 4
00156 83 e0 01 and eax, 1
00159 8b 8d f8 00 00
00 mov ecx, DWORD PTR Ledger$[rbp]
0015f c1 e9 04 shr ecx, 4
00162 83 e1 01 and ecx, 1
00165 3b c1 cmp eax, ecx
00167 74 0c je SHORT $LN5@JitCheckFl
$LN9@JitCheckFl:
00169 c7 85 c0 00 00
00 00 00 00 00 mov DWORD PTR tv165[rbp], 0
00173 eb 0a jmp SHORT $LN10@JitCheckFl
$LN5@JitCheckFl:
00175 c7 85 c0 00 00
00 01 00 00 00 mov DWORD PTR tv165[rbp], 1
$LN10@JitCheckFl:
0017f 8b 85 c0 00 00
00 mov eax, DWORD PTR tv165[rbp]
3 years ago
; 29 : (FlagsRead->s.sf && FlagsRead->s.sf == Ledger.s.sf) ||
; 30 : (FlagsRead->s.pf && FlagsRead->s.pf == Ledger.s.pf) ||
; 31 : (FlagsRead->s.of && FlagsRead->s.of == Ledger.s.of) ||
; 32 : (FlagsRead->s.cf && FlagsRead->s.cf == Ledger.s.cf) ||
; 33 : (FlagsRead->s.af && FlagsRead->s.af == Ledger.s.af)
; 34 : );
; 35 : }
3 years ago
00185 48 8d a5 d8 00
00 00 lea rsp, QWORD PTR [rbp+216]
0018c 5f pop rdi
0018d 5d pop rbp
0018e c3 ret 0
?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z ENDP ; JitCheckFlagCollisions
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
_TEXT SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; JitEmitPopfqInst, COMDAT
3 years ago
; 18 : {
3 years ago
$LN6:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 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 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00031 48 33 c5 xor rax, rbp
00034 48 89 85 40 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0003b 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 19 : UCHAR RawData[] = { 0x9D };
3 years ago
00047 c6 45 04 9d mov BYTE PTR RawData$[rbp], 157 ; 0000009dH
3 years ago
; 20 : PNATIVE_CODE_LINK Link = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, RawData, 1);
3 years ago
0004b b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
00050 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
00055 48 89 85 28 01
00 00 mov QWORD PTR $T5[rbp], rax
0005c 48 83 bd 28 01
00 00 00 cmp QWORD PTR $T5[rbp], 0
00064 74 24 je SHORT $LN3@JitEmitPop
00066 41 b9 01 00 00
00 mov r9d, 1
0006c 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
00070 ba 04 00 00 00 mov edx, 4
00075 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
0007c e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
00081 48 89 85 38 01
00 00 mov QWORD PTR tv78[rbp], rax
00088 eb 0b jmp SHORT $LN4@JitEmitPop
$LN3@JitEmitPop:
0008a 48 c7 85 38 01
00 00 00 00 00
00 mov QWORD PTR tv78[rbp], 0
$LN4@JitEmitPop:
00095 48 8b 85 38 01
00 00 mov rax, QWORD PTR tv78[rbp]
0009c 48 89 85 08 01
00 00 mov QWORD PTR $T4[rbp], rax
000a3 48 8b 85 08 01
00 00 mov rax, QWORD PTR $T4[rbp]
000aa 48 89 45 28 mov QWORD PTR Link$[rbp], rax
3 years ago
; 21 : XedDecode(&Link->XedInstruction, Link->RawData, 1);
3 years ago
000ae 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
000b2 48 83 c0 30 add rax, 48 ; 00000030H
000b6 41 b8 01 00 00
00 mov r8d, 1
000bc 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
000c0 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
000c4 48 8b c8 mov rcx, rax
000c7 e8 00 00 00 00 call xed_decode
3 years ago
; 22 : NcAppendToBlock(Block, Link);
3 years ago
000cc 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
000d0 48 8b 8d 70 01
00 00 mov rcx, QWORD PTR Block$[rbp]
000d7 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
3 years ago
; 23 : return TRUE;
3 years ago
000dc b8 01 00 00 00 mov eax, 1
3 years ago
; 24 : }
3 years ago
000e1 8b f8 mov edi, eax
000e3 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000e7 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
000ee e8 00 00 00 00 call _RTC_CheckStackVars
000f3 8b c7 mov eax, edi
000f5 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000fc 48 33 cd xor rcx, rbp
000ff e8 00 00 00 00 call __security_check_cookie
00104 48 8d a5 58 01
00 00 lea rsp, QWORD PTR [rbp+344]
0010b 5f pop rdi
0010c 5d pop rbp
0010d c3 ret 0
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; JitEmitPopfqInst
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `JitEmitPopfqInst'::`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 f0 00 00 00 mov edx, 240 ; 000000f0H
00019 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `JitEmitPopfqInst'::`1'::dtor$0
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `JitEmitPopfqInst'::`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 f0 00 00 00 mov edx, 240 ; 000000f0H
00019 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `JitEmitPopfqInst'::`1'::dtor$0
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\$Fanta\code-virtualizer\CodeVirtualizer\Jit.cpp
; COMDAT ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
_TEXT SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; JitEmitPushfqInst, COMDAT
3 years ago
; 9 : {
3 years ago
$LN6:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 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 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00031 48 33 c5 xor rax, rbp
00034 48 89 85 40 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0003b 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD050276_Jit@cpp
00042 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 10 : UCHAR RawData[] = { 0x9C };
3 years ago
00047 c6 45 04 9c mov BYTE PTR RawData$[rbp], 156 ; 0000009cH
3 years ago
; 11 : PNATIVE_CODE_LINK Link = new NATIVE_CODE_LINK(CODE_FLAG_IS_INST, RawData, 1);
3 years ago
0004b b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
00050 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
00055 48 89 85 28 01
00 00 mov QWORD PTR $T5[rbp], rax
0005c 48 83 bd 28 01
00 00 00 cmp QWORD PTR $T5[rbp], 0
00064 74 24 je SHORT $LN3@JitEmitPus
00066 41 b9 01 00 00
00 mov r9d, 1
0006c 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
00070 ba 04 00 00 00 mov edx, 4
00075 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
0007c e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXK@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
00081 48 89 85 38 01
00 00 mov QWORD PTR tv78[rbp], rax
00088 eb 0b jmp SHORT $LN4@JitEmitPus
$LN3@JitEmitPus:
0008a 48 c7 85 38 01
00 00 00 00 00
00 mov QWORD PTR tv78[rbp], 0
$LN4@JitEmitPus:
00095 48 8b 85 38 01
00 00 mov rax, QWORD PTR tv78[rbp]
0009c 48 89 85 08 01
00 00 mov QWORD PTR $T4[rbp], rax
000a3 48 8b 85 08 01
00 00 mov rax, QWORD PTR $T4[rbp]
000aa 48 89 45 28 mov QWORD PTR Link$[rbp], rax
3 years ago
; 12 : XedDecode(&Link->XedInstruction, Link->RawData, 1);
3 years ago
000ae 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
000b2 48 83 c0 30 add rax, 48 ; 00000030H
000b6 41 b8 01 00 00
00 mov r8d, 1
000bc 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
000c0 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
000c4 48 8b c8 mov rcx, rax
000c7 e8 00 00 00 00 call xed_decode
3 years ago
; 13 : NcAppendToBlock(Block, Link);
3 years ago
000cc 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
000d0 48 8b 8d 70 01
00 00 mov rcx, QWORD PTR Block$[rbp]
000d7 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
3 years ago
; 14 : return TRUE;
3 years ago
000dc b8 01 00 00 00 mov eax, 1
3 years ago
; 15 : }
3 years ago
000e1 8b f8 mov edi, eax
000e3 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000e7 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
000ee e8 00 00 00 00 call _RTC_CheckStackVars
000f3 8b c7 mov eax, edi
000f5 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000fc 48 33 cd xor rcx, rbp
000ff e8 00 00 00 00 call __security_check_cookie
00104 48 8d a5 58 01
00 00 lea rsp, QWORD PTR [rbp+344]
0010b 5f pop rdi
0010c 5d pop rbp
0010d c3 ret 0
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; JitEmitPushfqInst
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `JitEmitPushfqInst'::`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 f0 00 00 00 mov edx, 240 ; 000000f0H
00019 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `JitEmitPushfqInst'::`1'::dtor$0
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv78 = 312
__$ArrayPad$ = 320
Block$ = 368
?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `JitEmitPushfqInst'::`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 f0 00 00 00 mov edx, 240 ; 000000f0H
00019 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR $T5[rbp]
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00025 48 83 c4 28 add rsp, 40 ; 00000028H
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
?dtor$0@?0??JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `JitEmitPushfqInst'::`1'::dtor$0
text$x 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<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
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::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,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::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,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<unsigned long,std::allocator<unsigned long> >::_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::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::_Destroy
; 1695 : _Getal().deallocate(_Myfirst, static_cast<size_type>(_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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long>::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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::_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<std::allocator<unsigned long> >
; 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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >, 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<unsigned long,std::allocator<unsigned long> >::_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<unsigned long,std::allocator<unsigned long> >::_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<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>
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<std::_Container_proxy *,std::nullptr_t>
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<std::allocator<std::_Container_proxy> >
; 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<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
_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<unsigned long>::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<unsigned long>::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 f0 00 00 00 mov edx, 240 ; 000000f0H
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<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>, COMDAT
; 176 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
$LN5:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 56 push rsi
00011 57 push rdi
00012 48 81 ec 30 01
00 00 sub rsp, 304 ; 00000130H
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001e 48 8b fc mov rdi, rsp
00021 b9 4c 00 00 00 mov ecx, 76 ; 0000004cH
00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002b f3 ab rep stosd
0002d 48 8b 8c 24 58
01 00 00 mov rcx, QWORD PTR [rsp+344]
00035 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__886F7F70_xloctime
0003c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 177 : _Cvt = _Lobj._Getcvt();
00041 48 8d 95 c8 00
00 00 lea rdx, QWORD PTR $T1[rbp]
00048 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
0004f ff 15 00 00 00
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
00055 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0005c 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00060 48 8b f0 mov rsi, rax
00063 b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00068 f3 a4 rep movsb
; 178 :
; 179 : if (is_same_v<_Elem2, wchar_t>) {
0006a 33 c0 xor eax, eax
0006c 83 f8 01 cmp eax, 1
0006f 74 5c je SHORT $LN2@Getvals
; 180 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
00071 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00078 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
0007e 48 8b c8 mov rcx, rax
00081 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
00086 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0008d 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 181 : _Months =
00091 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00098 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
0009e 48 8b c8 mov rcx, rax
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000ad 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 182 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 183 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
000b1 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
000b8 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000bd 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000c4 48 89 41 20 mov QWORD PTR [rcx+32], rax
; 184 : } else {
000c8 e9 a3 00 00 00 jmp $LN3@Getvals
$LN2@Getvals:
; 185 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
000cd 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000d4 48 83 c0 2c add rax, 44 ; 0000002cH
000d8 48 89 85 08 01
00 00 mov QWORD PTR tv85[rbp], rax
000df 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
000e6 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
000ec 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv85[rbp]
000f3 4c 8b c1 mov r8, rcx
000f6 33 d2 xor edx, edx
000f8 48 8b c8 mov rcx, rax
000fb e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
00100 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00107 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 186 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
0010b 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00112 48 83 c0 2c add rax, 44 ; 0000002cH
00116 48 89 85 08 01
00 00 mov QWORD PTR tv93[rbp], rax
0011d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00124 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
0012a 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv93[rbp]
00131 4c 8b c1 mov r8, rcx
00134 33 d2 xor edx, edx
00136 48 8b c8 mov rcx, rax
00139 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
0013e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00145 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 187 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
00149 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00150 48 83 c0 2c add rax, 44 ; 0000002cH
00154 4c 8b c0 mov r8, rax
00157 33 d2 xor edx, edx
00159 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
00160 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
00165 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0016c 48 89 41 20 mov QWORD PTR [rcx+32], rax
$LN3@Getvals:
; 188 : }
; 189 : }
00170 48 8d a5 10 01
00 00 lea rsp, QWORD PTR [rbp+272]
00177 5f pop rdi
00178 5e pop rsi
00179 5d pop rbp
0017a c3 ret 0
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xloctime
; COMDAT ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
_TEXT SEGMENT
$T1 = 200
tv93 = 264
tv85 = 264
this$ = 304
__formal$ = 312
_Lobj$ = 320
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z PROC ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>, COMDAT
; 176 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
$LN5:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 56 push rsi
00011 57 push rdi
00012 48 81 ec 30 01
00 00 sub rsp, 304 ; 00000130H
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001e 48 8b fc mov rdi, rsp
00021 b9 4c 00 00 00 mov ecx, 76 ; 0000004cH
00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002b f3 ab rep stosd
0002d 48 8b 8c 24 58
01 00 00 mov rcx, QWORD PTR [rsp+344]
00035 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__886F7F70_xloctime
0003c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 177 : _Cvt = _Lobj._Getcvt();
00041 48 8d 95 c8 00
00 00 lea rdx, QWORD PTR $T1[rbp]
00048 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
0004f ff 15 00 00 00
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
00055 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0005c 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00060 48 8b f0 mov rsi, rax
00063 b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00068 f3 a4 rep movsb
; 178 :
; 179 : if (is_same_v<_Elem2, wchar_t>) {
0006a 33 c0 xor eax, eax
0006c 83 f8 01 cmp eax, 1
0006f 74 5c je SHORT $LN2@Getvals
; 180 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
00071 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00078 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
0007e 48 8b c8 mov rcx, rax
00081 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
00086 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0008d 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 181 : _Months =
00091 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00098 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
0009e 48 8b c8 mov rcx, rax
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000ad 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 182 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 183 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
000b1 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
000b8 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000bd 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000c4 48 89 41 20 mov QWORD PTR [rcx+32], rax
; 184 : } else {
000c8 e9 a3 00 00 00 jmp $LN3@Getvals
$LN2@Getvals:
; 185 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
000cd 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000d4 48 83 c0 2c add rax, 44 ; 0000002cH
000d8 48 89 85 08 01
00 00 mov QWORD PTR tv85[rbp], rax
000df 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
000e6 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
000ec 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv85[rbp]
000f3 4c 8b c1 mov r8, rcx
000f6 33 d2 xor edx, edx
000f8 48 8b c8 mov rcx, rax
000fb e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
00100 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00107 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 186 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
0010b 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00112 48 83 c0 2c add rax, 44 ; 0000002cH
00116 48 89 85 08 01
00 00 mov QWORD PTR tv93[rbp], rax
0011d 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00124 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
0012a 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv93[rbp]
00131 4c 8b c1 mov r8, rcx
00134 33 d2 xor edx, edx
00136 48 8b c8 mov rcx, rax
00139 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
0013e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00145 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 187 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
00149 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00150 48 83 c0 2c add rax, 44 ; 0000002cH
00154 4c 8b c0 mov r8, rax
00157 33 d2 xor edx, edx
00159 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
00160 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
00165 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0016c 48 89 41 20 mov QWORD PTR [rcx+32], rax
$LN3@Getvals:
; 188 : }
; 189 : }
00170 48 8d a5 10 01
00 00 lea rsp, QWORD PTR [rbp+272]
00177 5f pop rdi
00178 5e pop rsi
00179 5d pop rbp
0017a c3 ret 0
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocale
; COMDAT ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z
_TEXT SEGMENT
_Count$ = 8
_Ptrdest$ = 40
_Ptrnext$1 = 72
_Ptr$ = 320
__formal$ = 328
__formal$ = 336
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<char>, COMDAT
; 563 : _Elem* __CRTDECL _Maklocstr(const char* _Ptr, _Elem*, const _Locinfo::_Cvtvec&) {
$LN7:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 58 01
00 00 sub rsp, 344 ; 00000158H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8b fc mov rdi, rsp
00020 b9 56 00 00 00 mov ecx, 86 ; 00000056H
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002a f3 ab rep stosd
0002c 48 8b 8c 24 78
01 00 00 mov rcx, QWORD PTR [rsp+376]
00034 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__0E648B51_xlocale
0003b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 564 : // convert C string to _Elem sequence using _Cvtvec
; 565 : size_t _Count = _CSTD strlen(_Ptr) + 1;
00040 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00047 e8 00 00 00 00 call strlen
0004c 48 ff c0 inc rax
0004f 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
; 566 :
; 567 : _Elem* _Ptrdest = static_cast<_Elem*>(_calloc_dbg(_Count, sizeof(_Elem), _CRT_BLOCK, __FILE__, __LINE__));
00053 c7 44 24 20 37
02 00 00 mov DWORD PTR [rsp+32], 567 ; 00000237H
0005b 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00062 41 b8 02 00 00
00 mov r8d, 2
00068 ba 01 00 00 00 mov edx, 1
0006d 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
00071 ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
00077 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
; 568 :
; 569 : if (!_Ptrdest) {
0007b 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00080 75 05 jne SHORT $LN5@Maklocstr
; 570 : _Xbad_alloc();
00082 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN5@Maklocstr:
; 571 : }
; 572 :
; 573 : for (_Elem* _Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) {
00087 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
0008b 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
0008f eb 27 jmp SHORT $LN4@Maklocstr
$LN2@Maklocstr:
00091 48 8b 45 08 mov rax, QWORD PTR _Count$[rbp]
00095 48 ff c8 dec rax
00098 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
0009c 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
000a0 48 ff c0 inc rax
000a3 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
000a7 48 8b 85 40 01
00 00 mov rax, QWORD PTR _Ptr$[rbp]
000ae 48 ff c0 inc rax
000b1 48 89 85 40 01
00 00 mov QWORD PTR _Ptr$[rbp], rax
$LN4@Maklocstr:
000b8 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000bd 76 12 jbe SHORT $LN3@Maklocstr
; 574 : *_Ptrnext = static_cast<_Elem>(static_cast<unsigned char>(*_Ptr));
000bf 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
000c3 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
000ca 0f b6 09 movzx ecx, BYTE PTR [rcx]
000cd 88 08 mov BYTE PTR [rax], cl
; 575 : }
000cf eb c0 jmp SHORT $LN2@Maklocstr
$LN3@Maklocstr:
; 576 :
; 577 : return _Ptrdest;
000d1 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN6@Maklocstr:
; 578 : }
000d5 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000dc 5f pop rdi
000dd 5d pop rbp
000de c3 ret 0
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<char>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocnum
; COMDAT ?_Maklocwcs@std@@YAPEA_WPEB_W@Z
_TEXT SEGMENT
_Count$ = 8
_Ptrdest$ = 40
_Ptr$ = 288
?_Maklocwcs@std@@YAPEA_WPEB_W@Z PROC ; std::_Maklocwcs, COMDAT
; 90 : inline wchar_t* _Maklocwcs(const wchar_t* _Ptr) { // copy NTWCS to allocated storage
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 38 01
00 00 sub rsp, 312 ; 00000138H
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00013 48 8b fc mov rdi, rsp
00016 b9 4e 00 00 00 mov ecx, 78 ; 0000004eH
0001b b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00020 f3 ab rep stosd
00022 48 8b 8c 24 58
01 00 00 mov rcx, QWORD PTR [rsp+344]
0002a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__90E3ED46_xlocnum
00031 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 91 : const size_t _Count = _CSTD wcslen(_Ptr) + 1;
00036 48 8b 8d 20 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
0003d ff 15 00 00 00
00 call QWORD PTR __imp_wcslen
00043 48 ff c0 inc rax
00046 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
; 92 :
; 93 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Count, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
0004a 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
00050 83 c0 03 add eax, 3
00053 89 44 24 20 mov DWORD PTR [rsp+32], eax
00057 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LHMPPKJI@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
0005e 41 b8 02 00 00
00 mov r8d, 2
00064 ba 02 00 00 00 mov edx, 2
00069 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0006d ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
00073 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
; 94 :
; 95 : if (!_Ptrdest) {
00077 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
0007c 75 05 jne SHORT $LN2@Maklocwcs
; 96 : _Xbad_alloc();
0007e e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN2@Maklocwcs:
; 97 : }
; 98 :
; 99 : _CSTD wmemcpy(_Ptrdest, _Ptr, _Count);
00083 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
00087 48 8b 95 20 01
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
0008e 48 8b 4d 28 mov rcx, QWORD PTR _Ptrdest$[rbp]
00092 e8 00 00 00 00 call wmemcpy
; 100 : return _Ptrdest;
00097 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN3@Maklocwcs:
; 101 : }
0009b 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
000a2 5f pop rdi
000a3 5d pop rbp
000a4 c3 ret 0
?_Maklocwcs@std@@YAPEA_WPEB_W@Z ENDP ; std::_Maklocwcs
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xlocale
; COMDAT ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z
_TEXT SEGMENT
_Count$ = 8
_Count1$ = 40
_Wchars$ = 72
_Ptr1$ = 104
_Bytes$ = 132
_Wc$ = 164
_Mbst1$ = 200
_Ptrdest$ = 232
_Ptrnext$ = 264
_Mbst2$ = 296
__$ArrayPad$ = 504
_Ptr$ = 544
__formal$ = 552
_Cvt$ = 560
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<wchar_t>, COMDAT
; 581 : inline wchar_t* __CRTDECL _Maklocstr(const char* _Ptr, wchar_t*, const _Locinfo::_Cvtvec& _Cvt) {
$LN12:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 38 02
00 00 sub rsp, 568 ; 00000238H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8b fc mov rdi, rsp
00020 b9 8e 00 00 00 mov ecx, 142 ; 0000008eH
00025 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002a f3 ab rep stosd
0002c 48 8b 8c 24 58
02 00 00 mov rcx, QWORD PTR [rsp+600]
00034 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003b 48 33 c5 xor rax, rbp
0003e 48 89 85 f8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00045 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__0E648B51_xlocale
0004c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 582 : // convert C string to wchar_t sequence using _Cvtvec
; 583 : size_t _Count;
; 584 : size_t _Count1;
; 585 : size_t _Wchars;
; 586 : const char* _Ptr1;
; 587 : int _Bytes;
; 588 : wchar_t _Wc;
; 589 : mbstate_t _Mbst1 = {};
00051 48 8d 85 c8 00
00 00 lea rax, QWORD PTR _Mbst1$[rbp]
00058 48 8b f8 mov rdi, rax
0005b 33 c0 xor eax, eax
0005d b9 08 00 00 00 mov ecx, 8
00062 f3 aa rep stosb
; 590 :
; 591 : _Count1 = _CSTD strlen(_Ptr) + 1;
00064 48 8b 8d 20 02
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
0006b e8 00 00 00 00 call strlen
00070 48 ff c0 inc rax
00073 48 89 45 28 mov QWORD PTR _Count1$[rbp], rax
; 592 : for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; _Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) {
00077 48 8b 45 28 mov rax, QWORD PTR _Count1$[rbp]
0007b 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
0007f 48 c7 45 48 00
00 00 00 mov QWORD PTR _Wchars$[rbp], 0
00087 48 8b 85 20 02
00 00 mov rax, QWORD PTR _Ptr$[rbp]
0008e 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
00092 eb 35 jmp SHORT $LN4@Maklocstr
$LN2@Maklocstr:
00094 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
0009b 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0009f 48 2b c8 sub rcx, rax
000a2 48 8b c1 mov rax, rcx
000a5 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
000a9 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
000b0 48 8b 4d 68 mov rcx, QWORD PTR _Ptr1$[rbp]
000b4 48 03 c8 add rcx, rax
000b7 48 8b c1 mov rax, rcx
000ba 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
000be 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
000c2 48 ff c0 inc rax
000c5 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
$LN4@Maklocstr:
000c9 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000ce 76 3a jbe SHORT $LN3@Maklocstr
; 593 : if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) {
000d0 48 8b 85 30 02
00 00 mov rax, QWORD PTR _Cvt$[rbp]
000d7 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
000dc 4c 8d 8d c8 00
00 00 lea r9, QWORD PTR _Mbst1$[rbp]
000e3 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
000e7 48 8b 55 68 mov rdx, QWORD PTR _Ptr1$[rbp]
000eb 48 8d 8d a4 00
00 00 lea rcx, QWORD PTR _Wc$[rbp]
000f2 e8 00 00 00 00 call _Mbrtowc
000f7 89 85 84 00 00
00 mov DWORD PTR _Bytes$[rbp], eax
000fd 83 bd 84 00 00
00 00 cmp DWORD PTR _Bytes$[rbp], 0
00104 7f 02 jg SHORT $LN8@Maklocstr
; 594 : break;
00106 eb 02 jmp SHORT $LN3@Maklocstr
$LN8@Maklocstr:
; 595 : }
; 596 : }
00108 eb 8a jmp SHORT $LN2@Maklocstr
$LN3@Maklocstr:
; 597 :
; 598 : ++_Wchars; // count terminating nul
0010a 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
0010e 48 ff c0 inc rax
00111 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
; 599 :
; 600 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Wchars, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
00115 c7 44 24 20 58
02 00 00 mov DWORD PTR [rsp+32], 600 ; 00000258H
0011d 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@DEICPIDJ@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00124 41 b8 02 00 00
00 mov r8d, 2
0012a ba 02 00 00 00 mov edx, 2
0012f 48 8b 4d 48 mov rcx, QWORD PTR _Wchars$[rbp]
00133 ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
00139 48 89 85 e8 00
00 00 mov QWORD PTR _Ptrdest$[rbp], rax
; 601 :
; 602 : if (!_Ptrdest) {
00140 48 83 bd e8 00
00 00 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00148 75 05 jne SHORT $LN9@Maklocstr
; 603 : _Xbad_alloc();
0014a e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN9@Maklocstr:
; 604 : }
; 605 :
; 606 : wchar_t* _Ptrnext = _Ptrdest;
0014f 48 8b 85 e8 00
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
00156 48 89 85 08 01
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
; 607 : mbstate_t _Mbst2 = {};
0015d 48 8d 85 28 01
00 00 lea rax, QWORD PTR _Mbst2$[rbp]
00164 48 8b f8 mov rdi, rax
00167 33 c0 xor eax, eax
00169 b9 08 00 00 00 mov ecx, 8
0016e f3 aa rep stosb
; 608 :
; 609 : for (; 0 < _Wchars; _Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) {
00170 eb 4d jmp SHORT $LN7@Maklocstr
$LN5@Maklocstr:
00172 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
00179 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0017d 48 2b c8 sub rcx, rax
00180 48 8b c1 mov rax, rcx
00183 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00187 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
0018e 48 8b 8d 20 02
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00195 48 03 c8 add rcx, rax
00198 48 8b c1 mov rax, rcx
0019b 48 89 85 20 02
00 00 mov QWORD PTR _Ptr$[rbp], rax
001a2 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
001a6 48 ff c8 dec rax
001a9 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
001ad 48 8b 85 08 01
00 00 mov rax, QWORD PTR _Ptrnext$[rbp]
001b4 48 83 c0 02 add rax, 2
001b8 48 89 85 08 01
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
$LN7@Maklocstr:
001bf 48 83 7d 48 00 cmp QWORD PTR _Wchars$[rbp], 0
001c4 76 40 jbe SHORT $LN6@Maklocstr
; 610 : if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) {
001c6 48 8b 85 30 02
00 00 mov rax, QWORD PTR _Cvt$[rbp]
001cd 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
001d2 4c 8d 8d 28 01
00 00 lea r9, QWORD PTR _Mbst2$[rbp]
001d9 4c 8b 45 28 mov r8, QWORD PTR _Count1$[rbp]
001dd 48 8b 95 20 02
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
001e4 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
001eb e8 00 00 00 00 call _Mbrtowc
001f0 89 85 84 00 00
00 mov DWORD PTR _Bytes$[rbp], eax
001f6 83 bd 84 00 00
00 00 cmp DWORD PTR _Bytes$[rbp], 0
001fd 7f 02 jg SHORT $LN10@Maklocstr
; 611 : break;
001ff eb 05 jmp SHORT $LN6@Maklocstr
$LN10@Maklocstr:
; 612 : }
; 613 : }
00201 e9 6c ff ff ff jmp $LN5@Maklocstr
$LN6@Maklocstr:
; 614 :
; 615 : *_Ptrnext = L'\0';
00206 33 c0 xor eax, eax
00208 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
0020f 66 89 01 mov WORD PTR [rcx], ax
; 616 :
; 617 : return _Ptrdest;
00212 48 8b 85 e8 00
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN11@Maklocstr:
; 618 : }
00219 48 8b f8 mov rdi, rax
0021c 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
00220 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData
00227 e8 00 00 00 00 call _RTC_CheckStackVars
0022c 48 8b c7 mov rax, rdi
0022f 48 8b 8d f8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00236 48 33 cd xor rcx, rbp
00239 e8 00 00 00 00 call __security_check_cookie
0023e 48 8d a5 08 02
00 00 lea rsp, QWORD PTR [rbp+520]
00245 5f pop rdi
00246 5d pop rbp
00247 c3 ret 0
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\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<uintptr_t*>(_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<uintptr_t>(_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<void*>(_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