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.

7884 lines
255 KiB

3 years ago
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.29.30038.1
3 years ago
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
3 years ago
__02E23235_vcruntime_new@h DB 01H
3 years ago
__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
3 years ago
__256B8DBF_cstddef DB 01H
3 years ago
__741AE07E_corecrt_math@h DB 01H
3 years ago
__80A05712_cstdlib DB 01H
__44860E64_limits DB 01H
__D1154D4E_type_traits DB 01H
3 years ago
__20BB4341_malloc@h DB 01H
3 years ago
__BDCC0984_vcruntime_exception@h DB 01H
__89F7010A_exception DB 01H
__7CE971A6_xutility DB 01H
__DD38B15A_xmemory DB 01H
__CB45C7EF_tuple DB 01H
__3033C7F7_xpolymorphic_allocator@h DB 01H
__A9EB37C6_xstring DB 01H
__8CFB8476_string DB 01H
__6D66DEAE_cmath DB 01H
__00B93B57_stdexcept DB 01H
__79ECA8A5_xcall_once@h DB 01H
3 years ago
__A0B61CF9_time@h DB 01H
3 years ago
__8476F639_xthreads@h DB 01H
__2FB352A6_atomic DB 01H
__C6B1BA85_system_error DB 01H
__65F43743_vcruntime_typeinfo@h DB 01H
__0C3682BF_typeinfo DB 01H
__F82802EA_memory DB 01H
__D46D55E5_xfacet DB 01H
__13BF6177_xlocinfo DB 01H
__76D543F7_xlocale DB 01H
__2A5A1664_xiosbase DB 01H
__E85225E0_xlocnum DB 01H
__FD1AE8DD_ios DB 01H
__C33030D8_xlocmon DB 01H
__B7A2C865_xloctime DB 01H
__8660297E_xed-util@h DB 01H
__F79B480A_xed-iform-map@h DB 01H
__F5B5218E_xed-inst@h DB 01H
__68D74A7D_xed-flags@h DB 01H
__A4B65E9F_xed-operand-accessors@h DB 01H
__E8B35E51_xed-state@h DB 01H
__1E3F2A25_xed-encode@h DB 01H
__1C89993E_xed-encoder-hl@h DB 01H
__0AA8C18B_xed-decoded-inst-api@h DB 01H
__0A045E7B_NativeCode@h DB 01H
__8546B33E_Jit@cpp DB 01H
__092B7E84_vector DB 01H
__0615AC09_istream DB 01H
__65C59933_ostream DB 01H
__021983EB_streambuf DB 01H
__6D45C6E6_iterator DB 01H
__886FDBE2_iosfwd DB 01H
__B7ADD299_utility DB 01H
__40B2458B_xstddef DB 01H
__83FB8DDC_xatomic@h DB 01H
3 years ago
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
3 years ago
PUBLIC ?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ ; std::_Container_base12::_Orphan_all_unlocked
PUBLIC ?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ ; std::_Container_base12::_Orphan_all_locked
3 years ago
PUBLIC ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
PUBLIC ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
PUBLIC ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
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'
3 years ago
PUBLIC ??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
PUBLIC ??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ ; `string'
3 years ago
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'
3 years ago
PUBLIC ??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
3 years ago
PUBLIC ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA ; `std::_Maklocwcs'::`1'::__LINE__Var
3 years ago
PUBLIC ??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
3 years ago
PUBLIC ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ ; `string'
PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string'
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
3 years ago
EXTRN __imp_rand:PROC
3 years ago
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@KPEAXKH@Z:PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
3 years ago
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
3 years ago
DD imagerel $LN3+41
3 years ago
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
3 years ago
DD imagerel $LN3+46
3 years ago
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
3 years ago
DD imagerel $LN3+46
3 years ago
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
3 years ago
DD imagerel $LN3+51
3 years ago
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$wmemcpy DD imagerel $LN3
3 years ago
DD imagerel $LN3+83
3 years ago
DD imagerel $unwind$wmemcpy
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD imagerel $LN21
3 years ago
DD imagerel $LN21+453
3 years ago
DD imagerel $unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$pdata$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD imagerel $LN4
DD imagerel $LN4+66
3 years ago
DD imagerel $unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$pdata$?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ DD imagerel $LN6
DD imagerel $LN6+123
DD imagerel $unwind$?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ DD imagerel $LN3
DD imagerel $LN3+151
DD imagerel $unwind$?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
3 years ago
$pdata$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD imagerel $LN12
3 years ago
DD imagerel $LN12+586
3 years ago
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
3 years ago
DD imagerel $LN4+142
3 years ago
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
3 years ago
DD imagerel $LN7+200
3 years ago
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
3 years ago
DD imagerel $LN5+356
3 years ago
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
3 years ago
DD imagerel $LN5+356
3 years ago
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
3 years ago
DD imagerel $LN4+82
3 years ago
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
3 years ago
DD imagerel $LN3+77
3 years ago
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
3 years ago
DD imagerel $LN3+203
3 years ago
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
3 years ago
DD imagerel $LN3+85
3 years ago
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
3 years ago
DD imagerel $LN4+257
3 years ago
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
3 years ago
DD imagerel $LN3+56
3 years ago
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
3 years ago
DD imagerel $LN3+48
3 years ago
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
3 years ago
DD imagerel $LN3+48
3 years ago
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
3 years ago
DD imagerel $LN4+82
3 years ago
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
3 years ago
DD imagerel $LN6+280
3 years ago
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
3 years ago
DD imagerel $LN6+280
3 years ago
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
3 years ago
DD imagerel $LN11+376
3 years ago
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
3 years ago
DD imagerel $LN9+285
3 years ago
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
3 years ago
DD imagerel $LN5+211
3 years ago
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
3 years ago
DD imagerel $LN9+331
3 years ago
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
3 years ago
DD imagerel $LN7+308
3 years ago
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
3 years ago
DD imagerel $LN3+46
3 years ago
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
3 years ago
DD imagerel $LN3+46
3 years ago
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+1033
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+1243
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+1109
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+1243
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
3 years ago
DD imagerel $LN8+175
3 years ago
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
3 years ago
DD imagerel $LN8+175
3 years ago
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
3 years ago
DD imagerel $LN8+175
3 years ago
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
3 years ago
DD imagerel $LN3+53
3 years ago
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
3 years ago
DD imagerel $LN3+84
3 years ago
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
3 years ago
DD imagerel $LN3+65
3 years ago
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
3 years ago
DD imagerel $LN3+51
3 years ago
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
3 years ago
DD imagerel $LN4+98
3 years ago
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
3 years ago
DD imagerel $LN3+72
3 years ago
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
3 years ago
DD imagerel $LN3+74
3 years ago
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
3 years ago
; COMDAT ??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
3 years ago
CONST SEGMENT
3 years ago
??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
3 years ago
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
3 years ago
DB 'ols\MSVC\14.29.30037\include\xlocnum', 00H ; `string'
3 years ago
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
3 years ago
; COMDAT ??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
3 years ago
CONST SEGMENT
3 years ago
??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Prog'
DB 'ram Files (x86)\Microsoft Visual Studio\2019\Community\VC\Too'
DB 'ls\MSVC\14.29.30037\include\xlocale', 00H ; `string'
3 years ago
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
3 years ago
; COMDAT ??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
3 years ago
CONST SEGMENT
3 years ago
??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ DB 'C'
3 years ago
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, '.'
3 years ago
DB 00H, '2', 00H, '9', 00H, '.', 00H, '3', 00H, '0', 00H, '0', 00H
DB '3', 00H, '7', 00H, '\', 00H, 'i', 00H, 'n', 00H, 'c', 00H, 'l'
3 years ago
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
3 years ago
; COMDAT ??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
3 years ago
CONST SEGMENT
3 years ago
??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
3 years ago
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
3 years ago
DB 'ols\MSVC\14.29.30037\include\xmemory', 00H ; `string'
3 years ago
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
3 years ago
?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA DD 099H ; `std::_Adjust_manually_vector_aligned'::`1'::__LINE__Var
3 years ago
_DATA ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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 025051d01H
3 years ago
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
3 years ago
$unwind$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD 025051819H
3 years ago
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
3 years ago
$unwind$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DD 025051819H
3 years ago
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
3 years ago
$unwind$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DD 025051d01H
3 years ago
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DD 025051801H
3 years ago
DD 01132318H
DD 0700c0021H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025052101H
3 years ago
DD 011c2321H
DD 07015001fH
DD 05014H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025052101H
3 years ago
DD 011c2321H
DD 07015001fH
DD 05014H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z DD 025052101H
3 years ago
DD 011c2321H
DD 07015001fH
DD 05014H
xdata ENDS
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
3 years ago
; 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
3 years ago
DB 'M', 02H
3 years ago
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
3 years ago
$unwind$?JitEmitPostRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD 025052211H
3 years ago
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
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
3 years ago
; 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
3 years ago
DB 'M', 02H
3 years ago
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
3 years ago
$unwind$?JitEmitPreRipBitwiseOp@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@KHH@Z DD 025052211H
3 years ago
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
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 03aH
DW 04c2H
voltbl ENDS
3 years ago
; 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
3 years ago
DB 0c9H, 02H
3 years ago
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
3 years ago
$unwind$?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD 025054119H
3 years ago
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
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
3 years ago
; 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
3 years ago
DB '!', 02H
3 years ago
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
3 years ago
$unwind$?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z DD 025051711H
3 years ago
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 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z DD 025051801H
3 years ago
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 025051801H
3 years ago
DD 01132318H
DD 0700c002dH
DD 0500bH
xdata ENDS
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 036H
DW 0132H
voltbl ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD 025053d19H
3 years ago
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
3 years ago
$unwind$?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z DD 025051301H
3 years ago
DD 010e2313H
DD 070070029H
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z DD 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z DD 025051701H
3 years ago
DD 01122317H
DD 0700b001fH
DD 0500aH
xdata ENDS
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 036H
DW 0ffH
voltbl ENDS
3 years ago
; 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
3 years ago
DB 0bcH
3 years ago
DB 02H
DB 09eH
3 years ago
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
3 years ago
$unwind$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 035053d19H
DD 010e3313H
DD 070070031H
3 years ago
DD 05006H
DD imagerel __GSHandlerCheck_EH4
DD imagerel $cppxdata$?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD 0172H
3 years ago
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 034H ; JitEmitPopfqInst
3 years ago
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
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 036H
DW 0ffH
voltbl ENDS
3 years ago
; 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
3 years ago
DB 0bcH
3 years ago
DB 02H
DB 09eH
3 years ago
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
3 years ago
$unwind$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 035053d19H
DD 010e3313H
DD 070070031H
3 years ago
DD 05006H
DD imagerel __GSHandlerCheck_EH4
DD imagerel $cppxdata$?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
DD 0172H
3 years ago
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 034H ; JitEmitPushfqInst
3 years ago
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
3 years ago
$unwind$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z DD 025051701H
3 years ago
DD 01122317H
DD 0700b001dH
DD 0500aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??1_NATIVE_CODE_BLOCK@@QEAA@XZ DD 025051301H
3 years ago
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$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 025051301H
3 years ago
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DD 025051301H
3 years ago
DD 010e2313H
DD 07007001dH
DD 05006H
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
3 years ago
$unwind$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DD 025051319H
3 years ago
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
3 years ago
$unwind$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z DD 025051d01H
3 years ago
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 036H
DB 0b2H
voltbl ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD 025053d19H
3 years ago
DD 010e2313H
DD 070070029H
DD 05006H
3 years ago
DD imagerel __GSHandlerCheck
DD 0138H
3 years ago
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
3 years ago
$unwind$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z DD 025051d01H
3 years ago
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z DD 025051701H
3 years ago
DD 01122317H
DD 0700b001dH
DD 0500aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025061e01H
3 years ago
DD 0119231eH
DD 070120026H
DD 050106011H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025061e01H
3 years ago
DD 0119231eH
DD 070120026H
DD 050106011H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD 035051d01H
3 years ago
DD 0118331dH
DD 07011002bH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD 035051301H
3 years ago
DD 010e3313H
DD 070070027H
DD 05006H
xdata ENDS
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 040H
DW 0231H
voltbl ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD 035054719H
3 years ago
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
3 years ago
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 036H
DB 07eH
voltbl ENDS
3 years ago
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ DD 025053d19H
3 years ago
DD 010e2313H
3 years ago
DD 070070021H
3 years ago
DD 05006H
3 years ago
DD imagerel __GSHandlerCheck
DD 0f8H
3 years ago
xdata ENDS
; COMDAT CONST
CONST SEGMENT
3 years ago
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcName$0 DB 05fH ; std::_Container_base12::_Orphan_all_locked
3 years ago
DB 04cH
DB 06fH
DB 063H
DB 06bH
DB 00H
ORG $+10
3 years ago
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcVarDesc DD 024H ; std::_Container_base12::_Orphan_all_locked
3 years ago
DD 04H
3 years ago
DQ FLAT:?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcName$0
3 years ago
ORG $+48
3 years ago
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcFrameData DD 01H ; std::_Container_base12::_Orphan_all_locked
3 years ago
DD 00H
3 years ago
DQ FLAT:?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcVarDesc
3 years ago
CONST ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ DD 025051301H
DD 010e2313H
DD 070070021H
DD 05006H
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD 035051801H
DD 01133318H
DD 0700c002fH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$wmemcpy DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
3 years ago
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 025051801H
3 years ago
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
3 years ago
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 025051301H
3 years ago
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
_Al$ = 224
3 years ago
_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
3 years ago
; 693 : static _CONSTEXPR20_DYNALLOC void deallocate(_Alloc& _Al, const pointer _Ptr, const size_type _Count) {
3 years ago
$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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 694 : // no overflow check on the following multiply; we assume _Allocate did that check
; 695 : #ifdef __cpp_lib_constexpr_dynamic_alloc // TRANSITION, GH-1532
; 696 : if (_STD is_constant_evaluated()) {
; 697 : _Al.deallocate(_Ptr, _Count);
; 698 : } else
; 699 : #endif // __cpp_lib_constexpr_dynamic_alloc
; 700 : {
; 701 : (void) _Al;
; 702 : _Deallocate<_New_alignof<value_type>>(_Ptr, sizeof(value_type) * _Count);
00029 48 6b 85 f0 00
3 years ago
00 00 10 imul rax, QWORD PTR _Count$[rbp], 16
3 years ago
00031 48 8b d0 mov rdx, rax
00034 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
0003b e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0>
3 years ago
3 years ago
; 703 : }
; 704 : }
3 years ago
3 years ago
00040 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00047 5f pop rdi
00048 5d pop rbp
00049 c3 ret 0
3 years ago
?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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 985 : _CONSTEXPR20_DYNALLOC void _Deallocate_plain(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept {
3 years ago
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 986 : // deallocate a plain pointer using an allocator
; 987 : using _Alloc_traits = allocator_traits<_Alloc>;
; 988 : if constexpr (is_same_v<_Alloc_ptr_t<_Alloc>, typename _Alloc::value_type*>) {
; 989 : _Alloc_traits::deallocate(_Al, _Ptr, 1);
00024 41 b8 01 00 00
3 years ago
00 mov r8d, 1
3 years ago
0002a 48 8b 95 e8 00
3 years ago
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
3 years ago
00031 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR _Al$[rbp]
3 years ago
00038 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
0003d 90 npad 1
3 years ago
3 years ago
; 990 : } else {
; 991 : using _Ptr_traits = pointer_traits<_Alloc_ptr_t<_Alloc>>;
; 992 : _Alloc_traits::deallocate(_Al, _Ptr_traits::pointer_to(*_Ptr), 1);
; 993 : }
; 994 : }
3 years ago
3 years ago
0003e 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00045 5f pop rdi
00046 5d pop rbp
00047 c3 ret 0
3 years ago
??$_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 251 : _CONSTEXPR20_DYNALLOC void _Deallocate(void* _Ptr, size_t _Bytes) noexcept {
3 years ago
$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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 252 : // deallocate storage allocated by _Allocate when !_HAS_ALIGNED_NEW || _Align <= __STDCPP_DEFAULT_NEW_ALIGNMENT__
; 253 : #ifdef __cpp_lib_constexpr_dynamic_alloc // TRANSITION, GH-1532
; 254 : if (_STD is_constant_evaluated()) {
; 255 : ::operator delete(_Ptr);
; 256 : } else
; 257 : #endif // __cpp_lib_constexpr_dynamic_alloc
; 258 : {
; 259 : #if defined(_M_IX86) || defined(_M_X64)
; 260 : if (_Bytes >= _Big_allocation_threshold) { // boost the alignment of big allocations to help autovectorization
00024 48 81 bd e8 00
3 years ago
00 00 00 10 00
00 cmp QWORD PTR _Bytes$[rbp], 4096 ; 00001000H
3 years ago
0002f 72 13 jb SHORT $LN2@Deallocate
3 years ago
3 years ago
; 261 : _Adjust_manually_vector_aligned(_Ptr, _Bytes);
3 years ago
3 years ago
00031 48 8d 95 e8 00
3 years ago
00 00 lea rdx, QWORD PTR _Bytes$[rbp]
3 years ago
00038 48 8d 8d e0 00
3 years ago
00 00 lea rcx, QWORD PTR _Ptr$[rbp]
3 years ago
0003f e8 00 00 00 00 call ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned
3 years ago
$LN2@Deallocate:
3 years ago
; 262 : }
; 263 : #endif // defined(_M_IX86) || defined(_M_X64)
; 264 : ::operator delete(_Ptr, _Bytes);
3 years ago
3 years ago
00044 48 8b 95 e8 00
3 years ago
00 00 mov rdx, QWORD PTR _Bytes$[rbp]
3 years ago
0004b 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
00052 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00057 90 npad 1
3 years ago
3 years ago
; 265 : }
; 266 : }
3 years ago
3 years ago
00058 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0005f 5f pop rdi
00060 5d pop rbp
00061 c3 ret 0
3 years ago
??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ENDP ; std::_Deallocate<16,0>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 945 : _Alloc_ptr_t<_Alloc> _First, const _Alloc_ptr_t<_Alloc> _Last, _Alloc& _Al) noexcept {
3 years ago
$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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 946 : // note that this is an optimization for debug mode codegen; in release mode the BE removes all of this
; 947 : using _Ty = typename _Alloc::value_type;
; 948 : if constexpr (!conjunction_v<is_trivially_destructible<_Ty>, _Uses_default_destroy<_Alloc, _Ty*>>) {
; 949 : for (; _First != _Last; ++_First) {
; 950 : allocator_traits<_Alloc>::destroy(_Al, _Unfancy(_First));
; 951 : }
; 952 : }
; 953 : }
00029 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00030 5f pop rdi
00031 5d pop rbp
00032 c3 ret 0
3 years ago
??$_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 998 : _CONSTEXPR20_DYNALLOC void _Delete_plain_internal(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept {
3 years ago
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 999 : // destroy *_Ptr in place, then deallocate _Ptr using _Al; used for internal container types the user didn't name
; 1000 : using _Ty = typename _Alloc::value_type;
; 1001 : _Ptr->~_Ty();
; 1002 : _Deallocate_plain(_Al, _Ptr);
00024 48 8b 95 e8 00
3 years ago
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
3 years ago
0002b 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR _Al$[rbp]
3 years ago
00032 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> >
3 years ago
3 years ago
; 1003 : }
3 years ago
3 years ago
00037 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0003e 5f pop rdi
0003f 5d pop rbp
00040 c3 ret 0
3 years ago
??$_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\utility
3 years ago
; 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
3 years ago
; 614 : conjunction_v<is_nothrow_move_constructible<_Ty>, is_nothrow_assignable<_Ty&, _Other>>) /* strengthened */ {
3 years ago
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7ADD299_utility
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 615 : // assign _New_val to _Val, return previous _Val
; 616 : _Ty _Old_val = static_cast<_Ty&&>(_Val);
3 years ago
3 years ago
00024 48 8b 85 00 01
3 years ago
00 00 mov rax, QWORD PTR _Val$[rbp]
3 years ago
0002b 48 8b 00 mov rax, QWORD PTR [rax]
0002e 48 89 45 08 mov QWORD PTR _Old_val$[rbp], rax
3 years ago
3 years ago
; 617 : _Val = static_cast<_Other&&>(_New_val);
3 years ago
3 years ago
00032 48 8b 85 00 01
3 years ago
00 00 mov rax, QWORD PTR _Val$[rbp]
3 years ago
00039 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR _New_val$[rbp]
3 years ago
00040 48 8b 09 mov rcx, QWORD PTR [rcx]
00043 48 89 08 mov QWORD PTR [rax], rcx
3 years ago
3 years ago
; 618 : return _Old_val;
3 years ago
3 years ago
00046 48 8b 45 08 mov rax, QWORD PTR _Old_val$[rbp]
3 years ago
3 years ago
; 619 : }
3 years ago
3 years ago
0004a 48 8d a5 e8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+232]
3 years ago
00051 5f pop rdi
00052 5d pop rbp
00053 c3 ret 0
3 years ago
??$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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 829 : constexpr allocator(const allocator<_Other>&) noexcept {}
3 years ago
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
0002b 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00032 5f pop rdi
00033 5d pop rbp
00034 c3 ret 0
3 years ago
??$?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
3 years ago
; File C:\@\Work\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
; 286 : {
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]
3 years ago
00021 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 287 : switch (OpType)
3 years ago
3 years ago
0002d 8b 85 f0 00 00
3 years ago
00 mov eax, DWORD PTR OpType$[rbp]
3 years ago
00033 89 85 c0 00 00
3 years ago
00 mov DWORD PTR tv64[rbp], eax
3 years ago
00039 83 bd c0 00 00
3 years ago
00 00 cmp DWORD PTR tv64[rbp], 0
3 years ago
00040 74 14 je SHORT $LN4@JitiEmitWr
00042 83 bd c0 00 00
3 years ago
00 01 cmp DWORD PTR tv64[rbp], 1
3 years ago
00049 74 26 je SHORT $LN5@JitiEmitWr
0004b 83 bd c0 00 00
3 years ago
00 02 cmp DWORD PTR tv64[rbp], 2
3 years ago
00052 74 38 je SHORT $LN6@JitiEmitWr
00054 eb 4f jmp SHORT $LN2@JitiEmitWr
3 years ago
$LN4@JitiEmitWr:
3 years ago
; 288 : {
; 289 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorB(Block, RipDelta, Value);
3 years ago
3 years ago
00056 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
0005d 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00063 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
0006a e8 00 00 00 00 call ?JitEmitRipRelativeXorB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorB
0006f eb 34 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN5@JitiEmitWr:
3 years ago
; 290 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndB(Block, RipDelta, Value);
3 years ago
3 years ago
00071 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00078 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
0007e 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
00085 e8 00 00 00 00 call ?JitEmitRipRelativeAndB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndB
0008a eb 19 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN6@JitiEmitWr:
3 years ago
; 291 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrB(Block, RipDelta, Value);
3 years ago
3 years ago
0008c 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00093 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00099 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
000a0 e8 00 00 00 00 call ?JitEmitRipRelativeOrB@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrB
3 years ago
$LN2@JitiEmitWr:
$LN1@JitiEmitWr:
3 years ago
; 292 : }
; 293 : }
3 years ago
3 years ago
000a5 48 8d a5 d8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+216]
3 years ago
000ac 5f pop rdi
000ad 5d pop rbp
000ae c3 ret 0
3 years ago
?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperB
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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
; 277 : {
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]
3 years ago
00021 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 278 : switch (OpType)
3 years ago
3 years ago
0002d 8b 85 f0 00 00
3 years ago
00 mov eax, DWORD PTR OpType$[rbp]
3 years ago
00033 89 85 c0 00 00
3 years ago
00 mov DWORD PTR tv64[rbp], eax
3 years ago
00039 83 bd c0 00 00
3 years ago
00 00 cmp DWORD PTR tv64[rbp], 0
3 years ago
00040 74 14 je SHORT $LN4@JitiEmitWr
00042 83 bd c0 00 00
3 years ago
00 01 cmp DWORD PTR tv64[rbp], 1
3 years ago
00049 74 26 je SHORT $LN5@JitiEmitWr
0004b 83 bd c0 00 00
3 years ago
00 02 cmp DWORD PTR tv64[rbp], 2
3 years ago
00052 74 38 je SHORT $LN6@JitiEmitWr
00054 eb 4f jmp SHORT $LN2@JitiEmitWr
3 years ago
$LN4@JitiEmitWr:
3 years ago
; 279 : {
; 280 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorW(Block, RipDelta, Value);
3 years ago
3 years ago
00056 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
0005d 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00063 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
0006a e8 00 00 00 00 call ?JitEmitRipRelativeXorW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorW
0006f eb 34 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN5@JitiEmitWr:
3 years ago
; 281 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndW(Block, RipDelta, Value);
3 years ago
3 years ago
00071 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00078 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
0007e 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
00085 e8 00 00 00 00 call ?JitEmitRipRelativeAndW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndW
0008a eb 19 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN6@JitiEmitWr:
3 years ago
; 282 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrW(Block, RipDelta, Value);
3 years ago
3 years ago
0008c 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00093 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00099 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
000a0 e8 00 00 00 00 call ?JitEmitRipRelativeOrW@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrW
3 years ago
$LN2@JitiEmitWr:
$LN1@JitiEmitWr:
3 years ago
; 283 : }
; 284 : }
3 years ago
3 years ago
000a5 48 8d a5 d8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+216]
3 years ago
000ac 5f pop rdi
000ad 5d pop rbp
000ae c3 ret 0
3 years ago
?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperW
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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
; 268 : {
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]
3 years ago
00021 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 269 : switch (OpType)
3 years ago
3 years ago
0002d 8b 85 f0 00 00
3 years ago
00 mov eax, DWORD PTR OpType$[rbp]
3 years ago
00033 89 85 c0 00 00
3 years ago
00 mov DWORD PTR tv64[rbp], eax
3 years ago
00039 83 bd c0 00 00
3 years ago
00 00 cmp DWORD PTR tv64[rbp], 0
3 years ago
00040 74 14 je SHORT $LN4@JitiEmitWr
00042 83 bd c0 00 00
3 years ago
00 01 cmp DWORD PTR tv64[rbp], 1
3 years ago
00049 74 26 je SHORT $LN5@JitiEmitWr
0004b 83 bd c0 00 00
3 years ago
00 02 cmp DWORD PTR tv64[rbp], 2
3 years ago
00052 74 38 je SHORT $LN6@JitiEmitWr
00054 eb 4f jmp SHORT $LN2@JitiEmitWr
3 years ago
$LN4@JitiEmitWr:
3 years ago
; 270 : {
; 271 : case JIT_BITWISE_XOR: return JitEmitRipRelativeXorD(Block, RipDelta, Value);
3 years ago
3 years ago
00056 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
0005d 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00063 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
0006a e8 00 00 00 00 call ?JitEmitRipRelativeXorD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeXorD
0006f eb 34 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN5@JitiEmitWr:
3 years ago
; 272 : case JIT_BITWISE_AND: return JitEmitRipRelativeAndD(Block, RipDelta, Value);
3 years ago
3 years ago
00071 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00078 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
0007e 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
00085 e8 00 00 00 00 call ?JitEmitRipRelativeAndD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeAndD
0008a eb 19 jmp SHORT $LN1@JitiEmitWr
3 years ago
$LN6@JitiEmitWr:
3 years ago
; 273 : case JIT_BITWISE_OR: return JitEmitRipRelativeOrD(Block, RipDelta, Value);
3 years ago
3 years ago
0008c 44 8b 85 08 01
3 years ago
00 00 mov r8d, DWORD PTR Value$[rbp]
3 years ago
00093 8b 95 00 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$[rbp]
3 years ago
00099 48 8b 8d f8 00
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
000a0 e8 00 00 00 00 call ?JitEmitRipRelativeOrD@@YAHPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitEmitRipRelativeOrD
3 years ago
$LN2@JitiEmitWr:
$LN1@JitiEmitWr:
3 years ago
; 274 : }
; 275 : }
3 years ago
3 years ago
000a5 48 8d a5 d8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+216]
3 years ago
000ac 5f pop rdi
000ad 5d pop rbp
000ae c3 ret 0
3 years ago
?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ENDP ; JitiEmitWrapperD
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\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
; 370 : {
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]
3 years ago
00022 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 371 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
3 years ago
0002e 33 d2 xor edx, edx
00030 48 8b 85 c0 02
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00037 8b 40 28 mov eax, DWORD PTR [rax+40]
0003a b9 04 00 00 00 mov ecx, 4
0003f f7 f1 div ecx
00041 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 372 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
3 years ago
00044 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00047 c1 e0 02 shl eax, 2
0004a 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00051 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00054 2b c8 sub ecx, eax
00056 8b c1 mov eax, ecx
00058 33 d2 xor edx, edx
0005a b9 02 00 00 00 mov ecx, 2
0005f f7 f1 div ecx
00061 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
3 years ago
; 373 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
3 years ago
00064 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00067 c1 e0 02 shl eax, 2
0006a 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00071 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00074 2b c8 sub ecx, eax
00076 8b c1 mov eax, ecx
00078 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
0007b d1 e1 shl ecx, 1
0007d 2b c1 sub eax, ecx
0007f 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
3 years ago
; 374 :
; 375 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
3 years ago
00082 b9 30 00 00 00 mov ecx, 48 ; 00000030H
00087 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
0008c 48 89 85 e8 01
3 years ago
00 00 mov QWORD PTR $T5[rbp], rax
3 years ago
00093 48 83 bd e8 01
3 years ago
00 00 00 cmp QWORD PTR $T5[rbp], 0
3 years ago
0009b 74 15 je SHORT $LN16@JitEmitPos
0009d 48 8b 8d e8 01
3 years ago
00 00 mov rcx, QWORD PTR $T5[rbp]
3 years ago
000a4 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
000a9 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv86[rbp], rax
3 years ago
000b0 eb 0b jmp SHORT $LN17@JitEmitPos
3 years ago
$LN16@JitEmitPos:
3 years ago
000b2 48 c7 85 98 02
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv86[rbp], 0
$LN17@JitEmitPos:
3 years ago
000bd 48 8b 85 98 02
3 years ago
00 00 mov rax, QWORD PTR tv86[rbp]
3 years ago
000c4 48 89 85 c8 01
3 years ago
00 00 mov QWORD PTR $T4[rbp], rax
3 years ago
000cb 48 8b 85 c8 01
3 years ago
00 00 mov rax, QWORD PTR $T4[rbp]
3 years ago
000d2 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
3 years ago
; 376 : if (!Block)
3 years ago
3 years ago
000d6 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0
000db 75 07 jne SHORT $LN4@JitEmitPos
3 years ago
3 years ago
; 377 : return NULL;
3 years ago
3 years ago
000dd 33 c0 xor eax, eax
000df e9 ed 03 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN4@JitEmitPos:
3 years ago
; 378 :
; 379 : if (SaveFlags && !JitEmitPushfqInst(Block))
3 years ago
3 years ago
000e4 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
000eb 74 57 je SHORT $LN5@JitEmitPos
000ed 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
000f1 e8 00 00 00 00 call ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPushfqInst
000f6 85 c0 test eax, eax
000f8 75 4a jne SHORT $LN5@JitEmitPos
3 years ago
3 years ago
; 380 : {
; 381 : NcDeleteBlock(Block);
3 years ago
3 years ago
000fa 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
000fe e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 382 : delete Block;
3 years ago
3 years ago
00103 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00107 48 89 85 08 02
3 years ago
00 00 mov QWORD PTR $T6[rbp], rax
3 years ago
0010e 48 83 bd 08 02
3 years ago
00 00 00 cmp QWORD PTR $T6[rbp], 0
3 years ago
00116 74 1a je SHORT $LN18@JitEmitPos
00118 ba 01 00 00 00 mov edx, 1
0011d 48 8b 8d 08 02
3 years ago
00 00 mov rcx, QWORD PTR $T6[rbp]
3 years ago
00124 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00129 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv128[rbp], rax
3 years ago
00130 eb 0b jmp SHORT $LN19@JitEmitPos
3 years ago
$LN18@JitEmitPos:
3 years ago
00132 48 c7 85 98 02
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv128[rbp], 0
$LN19@JitEmitPos:
3 years ago
; 383 : return NULL;
3 years ago
3 years ago
0013d 33 c0 xor eax, eax
0013f e9 8d 03 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN5@JitEmitPos:
3 years ago
; 384 : }
; 385 :
; 386 : ULONG Count = FourByte;
3 years ago
3 years ago
00144 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00147 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPos:
3 years ago
; 387 : while (Count)
3 years ago
3 years ago
0014d 83 bd 84 00 00
3 years ago
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
00154 0f 84 11 01 00
3 years ago
00 je $LN3@JitEmitPos
3 years ago
; 388 : {
; 389 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4);
3 years ago
3 years ago
0015a 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00160 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00163 2b c8 sub ecx, eax
00165 8b c1 mov eax, ecx
00167 c1 e0 02 shl eax, 2
0016a 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00171 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00174 2b c8 sub ecx, eax
00176 8b c1 mov eax, ecx
00178 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 390 : if (SaveFlags)
3 years ago
3 years ago
0017e 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00185 74 0e je SHORT $LN6@JitEmitPos
3 years ago
3 years ago
; 391 : RipDelta += 1;
3 years ago
3 years ago
00187 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$1[rbp]
3 years ago
0018d ff c0 inc eax
0018f 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
$LN6@JitEmitPos:
3 years ago
; 392 : RipDelta += (FourByte - (Count - 1)) * DWORD_RIP_INST_LENGTH;
3 years ago
3 years ago
00195 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0019b ff c8 dec eax
0019d 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001a0 2b c8 sub ecx, eax
001a2 8b c1 mov eax, ecx
001a4 6b c0 0a imul eax, eax, 10
001a7 8b 8d a4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
001ad 03 c8 add ecx, eax
001af 8b c1 mov eax, ecx
001b1 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 393 : RipDelta *= (-1);
3 years ago
3 years ago
001b7 6b 85 a4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$1[rbp], -1
3 years ago
001be 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 394 : RipDelta += Delta;
3 years ago
3 years ago
001c4 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
001ca 8b 8d a4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
001d0 03 c8 add ecx, eax
001d2 8b c1 mov eax, ecx
001d4 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 395 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count]))
3 years ago
3 years ago
001da 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
001e0 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001e3 2b c8 sub ecx, eax
001e5 8b c1 mov eax, ecx
001e7 8b c0 mov eax, eax
001e9 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
001f0 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4]
001f4 44 8b 85 a4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$1[rbp]
3 years ago
001fb 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
001ff 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
00205 e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD
0020a 85 c0 test eax, eax
0020c 75 4a jne SHORT $LN7@JitEmitPos
3 years ago
3 years ago
; 396 : {
; 397 : NcDeleteBlock(Block);
3 years ago
3 years ago
0020e 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00212 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 398 : delete Block;
3 years ago
3 years ago
00217 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0021b 48 89 85 28 02
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
00222 48 83 bd 28 02
3 years ago
00 00 00 cmp QWORD PTR $T7[rbp], 0
3 years ago
0022a 74 1a je SHORT $LN20@JitEmitPos
0022c ba 01 00 00 00 mov edx, 1
00231 48 8b 8d 28 02
3 years ago
00 00 mov rcx, QWORD PTR $T7[rbp]
3 years ago
00238 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0023d 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv158[rbp], rax
3 years ago
00244 eb 0b jmp SHORT $LN21@JitEmitPos
3 years ago
$LN20@JitEmitPos:
3 years ago
00246 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
; 399 : return NULL;
3 years ago
3 years ago
00251 33 c0 xor eax, eax
00253 e9 79 02 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN7@JitEmitPos:
3 years ago
; 400 : }
; 401 : --Count;
3 years ago
3 years ago
00258 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0025e ff c8 dec eax
00260 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 402 : }
3 years ago
3 years ago
00266 e9 e2 fe ff ff jmp $LN2@JitEmitPos
3 years ago
$LN3@JitEmitPos:
3 years ago
; 403 :
; 404 : if (TwoByte)
3 years ago
3 years ago
0026b 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
0026f 0f 84 ef 00 00
3 years ago
00 je $LN8@JitEmitPos
3 years ago
; 405 : {
; 406 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4);
3 years ago
3 years ago
00275 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00278 c1 e0 02 shl eax, 2
0027b 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00282 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00285 2b c8 sub ecx, eax
00287 8b c1 mov eax, ecx
00289 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 407 : if (SaveFlags)
3 years ago
3 years ago
0028f 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00296 74 0e je SHORT $LN9@JitEmitPos
3 years ago
3 years ago
; 408 : RipDelta += 1;
3 years ago
3 years ago
00298 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
0029e ff c0 inc eax
002a0 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
$LN9@JitEmitPos:
3 years ago
; 409 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH);
3 years ago
3 years ago
002a6 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
002aa 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
002b0 03 c8 add ecx, eax
002b2 8b c1 mov eax, ecx
002b4 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 410 : RipDelta += WORD_RIP_INST_LENGTH;
3 years ago
3 years ago
002ba 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
002c0 83 c0 09 add eax, 9
002c3 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 411 : RipDelta *= (-1);
3 years ago
3 years ago
002c9 6b 85 c4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$2[rbp], -1
3 years ago
002d0 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 412 : RipDelta += Delta;
3 years ago
3 years ago
002d6 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
002dc 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
002e2 03 c8 add ecx, eax
002e4 8b c1 mov eax, ecx
002e6 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 413 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3]))
3 years ago
3 years ago
002ec b8 04 00 00 00 mov eax, 4
002f1 48 6b c0 03 imul rax, rax, 3
002f5 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
002fc 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
00300 44 8b 85 c4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$2[rbp]
3 years ago
00307 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
0030b 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
00311 e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW
00316 85 c0 test eax, eax
00318 75 4a jne SHORT $LN8@JitEmitPos
3 years ago
3 years ago
; 414 : {
; 415 : NcDeleteBlock(Block);
3 years ago
3 years ago
0031a 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0031e e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 416 : delete Block;
3 years ago
3 years ago
00323 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00327 48 89 85 48 02
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
0032e 48 83 bd 48 02
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
00336 74 1a je SHORT $LN22@JitEmitPos
00338 ba 01 00 00 00 mov edx, 1
0033d 48 8b 8d 48 02
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
00344 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00349 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv185[rbp], rax
3 years ago
00350 eb 0b jmp SHORT $LN23@JitEmitPos
3 years ago
$LN22@JitEmitPos:
3 years ago
00352 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
; 417 : return NULL;
3 years ago
3 years ago
0035d 33 c0 xor eax, eax
0035f e9 6d 01 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN8@JitEmitPos:
3 years ago
; 418 : }
; 419 : }
; 420 :
; 421 : if (OneByte)
3 years ago
3 years ago
00364 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
00368 0f 84 02 01 00
3 years ago
00 je $LN11@JitEmitPos
3 years ago
; 422 : {
; 423 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2);
3 years ago
3 years ago
0036e 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00371 c1 e0 02 shl eax, 2
00374 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
0037b 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0037e 2b c8 sub ecx, eax
00380 8b c1 mov eax, ecx
00382 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00385 d1 e1 shl ecx, 1
00387 2b c1 sub eax, ecx
00389 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 424 : if (SaveFlags)
3 years ago
3 years ago
0038f 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00396 74 0e je SHORT $LN12@JitEmitPos
3 years ago
3 years ago
; 425 : RipDelta += 1;
3 years ago
3 years ago
00398 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
0039e ff c0 inc eax
003a0 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
$LN12@JitEmitPos:
3 years ago
; 426 : RipDelta += (FourByte * DWORD_RIP_INST_LENGTH);
3 years ago
3 years ago
003a6 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
003aa 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
003b0 03 c8 add ecx, eax
003b2 8b c1 mov eax, ecx
003b4 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 427 : RipDelta += WORD_RIP_INST_LENGTH;
3 years ago
3 years ago
003ba 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
003c0 83 c0 09 add eax, 9
003c3 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 428 : RipDelta += BYTE_RIP_INST_LENGTH;
3 years ago
3 years ago
003c9 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
003cf 83 c0 07 add eax, 7
003d2 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 429 : RipDelta *= (-1);
3 years ago
3 years ago
003d8 6b 85 e4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$3[rbp], -1
3 years ago
003df 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 430 : RipDelta += Delta;
3 years ago
3 years ago
003e5 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
003eb 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
003f1 03 c8 add ecx, eax
003f3 8b c1 mov eax, ecx
003f5 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 431 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4]))
3 years ago
3 years ago
003fb b8 04 00 00 00 mov eax, 4
00400 48 6b c0 04 imul rax, rax, 4
00404 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
0040b 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
0040f 44 8b 85 e4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$3[rbp]
3 years ago
00416 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
0041a 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
00420 e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB
00425 85 c0 test eax, eax
00427 75 47 jne SHORT $LN11@JitEmitPos
3 years ago
3 years ago
; 432 : {
; 433 : NcDeleteBlock(Block);
3 years ago
3 years ago
00429 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0042d e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 434 : delete Block;
3 years ago
3 years ago
00432 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00436 48 89 85 68 02
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
0043d 48 83 bd 68 02
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
00445 74 1a je SHORT $LN24@JitEmitPos
00447 ba 01 00 00 00 mov edx, 1
0044c 48 8b 8d 68 02
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
00453 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00458 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv214[rbp], rax
3 years ago
0045f eb 0b jmp SHORT $LN25@JitEmitPos
3 years ago
$LN24@JitEmitPos:
3 years ago
00461 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
; 435 : return NULL;
3 years ago
3 years ago
0046c 33 c0 xor eax, eax
0046e eb 61 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN11@JitEmitPos:
3 years ago
; 436 : }
; 437 : }
; 438 :
; 439 : if (SaveFlags && !JitEmitPopfqInst(Block))
3 years ago
3 years ago
00470 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00477 74 54 je SHORT $LN14@JitEmitPos
00479 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0047d e8 00 00 00 00 call ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPopfqInst
00482 85 c0 test eax, eax
00484 75 47 jne SHORT $LN14@JitEmitPos
3 years ago
3 years ago
; 440 : {
; 441 : NcDeleteBlock(Block);
3 years ago
3 years ago
00486 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0048a e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 442 : delete Block;
3 years ago
3 years ago
0048f 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00493 48 89 85 88 02
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
0049a 48 83 bd 88 02
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
004a2 74 1a je SHORT $LN26@JitEmitPos
004a4 ba 01 00 00 00 mov edx, 1
004a9 48 8b 8d 88 02
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
004b0 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
004b5 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv224[rbp], rax
3 years ago
004bc eb 0b jmp SHORT $LN27@JitEmitPos
3 years ago
$LN26@JitEmitPos:
3 years ago
004be 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
; 443 : return NULL;
3 years ago
3 years ago
004c9 33 c0 xor eax, eax
004cb eb 04 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN14@JitEmitPos:
3 years ago
; 444 : }
; 445 :
; 446 : return Block;
3 years ago
3 years ago
004cd 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPos:
3 years ago
; 447 : }
3 years ago
3 years ago
004d1 48 8d a5 a8 02
3 years ago
00 00 lea rsp, QWORD PTR [rbp+680]
3 years ago
004d8 5f pop rdi
004d9 5d pop rbp
004da 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
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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
; 296 : {
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]
3 years ago
00022 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 297 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
3 years ago
0002e 33 d2 xor edx, edx
00030 48 8b 85 c0 02
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00037 8b 40 28 mov eax, DWORD PTR [rax+40]
0003a b9 04 00 00 00 mov ecx, 4
0003f f7 f1 div ecx
00041 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 298 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
3 years ago
00044 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00047 c1 e0 02 shl eax, 2
0004a 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00051 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00054 2b c8 sub ecx, eax
00056 8b c1 mov eax, ecx
00058 33 d2 xor edx, edx
0005a b9 02 00 00 00 mov ecx, 2
0005f f7 f1 div ecx
00061 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
3 years ago
; 299 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
3 years ago
00064 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00067 c1 e0 02 shl eax, 2
0006a 48 8b 8d c0 02
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00071 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00074 2b c8 sub ecx, eax
00076 8b c1 mov eax, ecx
00078 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
0007b 03 c9 add ecx, ecx
0007d 2b c1 sub eax, ecx
0007f 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
3 years ago
; 300 :
; 301 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
3 years ago
00082 b9 30 00 00 00 mov ecx, 48 ; 00000030H
00087 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
0008c 48 89 85 e8 01
3 years ago
00 00 mov QWORD PTR $T5[rbp], rax
3 years ago
00093 48 83 bd e8 01
3 years ago
00 00 00 cmp QWORD PTR $T5[rbp], 0
3 years ago
0009b 74 15 je SHORT $LN16@JitEmitPre
0009d 48 8b 8d e8 01
3 years ago
00 00 mov rcx, QWORD PTR $T5[rbp]
3 years ago
000a4 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
000a9 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv86[rbp], rax
3 years ago
000b0 eb 0b jmp SHORT $LN17@JitEmitPre
3 years ago
$LN16@JitEmitPre:
3 years ago
000b2 48 c7 85 98 02
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv86[rbp], 0
$LN17@JitEmitPre:
3 years ago
000bd 48 8b 85 98 02
3 years ago
00 00 mov rax, QWORD PTR tv86[rbp]
3 years ago
000c4 48 89 85 c8 01
3 years ago
00 00 mov QWORD PTR $T4[rbp], rax
3 years ago
000cb 48 8b 85 c8 01
3 years ago
00 00 mov rax, QWORD PTR $T4[rbp]
3 years ago
000d2 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
3 years ago
; 302 : if (!Block)
3 years ago
3 years ago
000d6 48 83 7d 68 00 cmp QWORD PTR Block$[rbp], 0
000db 75 07 jne SHORT $LN4@JitEmitPre
3 years ago
3 years ago
; 303 : return NULL;
3 years ago
3 years ago
000dd 33 c0 xor eax, eax
000df e9 67 03 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN4@JitEmitPre:
3 years ago
; 304 :
; 305 : if (SaveFlags && !JitEmitPushfqInst(Block))
3 years ago
3 years ago
000e4 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
000eb 74 57 je SHORT $LN5@JitEmitPre
000ed 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
000f1 e8 00 00 00 00 call ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPushfqInst
000f6 85 c0 test eax, eax
000f8 75 4a jne SHORT $LN5@JitEmitPre
3 years ago
3 years ago
; 306 : {
; 307 : NcDeleteBlock(Block);
3 years ago
3 years ago
000fa 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
000fe e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 308 : delete Block;
3 years ago
3 years ago
00103 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00107 48 89 85 08 02
3 years ago
00 00 mov QWORD PTR $T6[rbp], rax
3 years ago
0010e 48 83 bd 08 02
3 years ago
00 00 00 cmp QWORD PTR $T6[rbp], 0
3 years ago
00116 74 1a je SHORT $LN18@JitEmitPre
00118 ba 01 00 00 00 mov edx, 1
0011d 48 8b 8d 08 02
3 years ago
00 00 mov rcx, QWORD PTR $T6[rbp]
3 years ago
00124 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00129 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv128[rbp], rax
3 years ago
00130 eb 0b jmp SHORT $LN19@JitEmitPre
3 years ago
$LN18@JitEmitPre:
3 years ago
00132 48 c7 85 98 02
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv128[rbp], 0
$LN19@JitEmitPre:
3 years ago
; 309 : return NULL;
3 years ago
3 years ago
0013d 33 c0 xor eax, eax
0013f e9 07 03 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN5@JitEmitPre:
3 years ago
; 310 : }
; 311 :
; 312 : ULONG Count = FourByte;
3 years ago
3 years ago
00144 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00147 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPre:
3 years ago
; 313 : while (Count)
3 years ago
3 years ago
0014d 83 bd 84 00 00
3 years ago
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
00154 0f 84 f7 00 00
3 years ago
00 je $LN3@JitEmitPre
3 years ago
; 314 : {
; 315 : INT32 RipDelta = (((Count - 1) * DWORD_RIP_INST_LENGTH) + (TwoByte * WORD_RIP_INST_LENGTH) + (OneByte * BYTE_RIP_INST_LENGTH));
3 years ago
3 years ago
0015a 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00160 ff c8 dec eax
00162 6b c0 0a imul eax, eax, 10
00165 6b 4d 24 09 imul ecx, DWORD PTR TwoByte$[rbp], 9
00169 03 c1 add eax, ecx
0016b 6b 4d 44 07 imul ecx, DWORD PTR OneByte$[rbp], 7
0016f 03 c1 add eax, ecx
00171 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 316 : if (SaveFlags)
3 years ago
3 years ago
00177 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
0017e 74 0e je SHORT $LN6@JitEmitPre
3 years ago
3 years ago
; 317 : RipDelta += 1;
3 years ago
3 years ago
00180 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$1[rbp]
3 years ago
00186 ff c0 inc eax
00188 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
$LN6@JitEmitPre:
3 years ago
; 318 : RipDelta += ((FourByte - Count) * 4);
3 years ago
3 years ago
0018e 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00194 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00197 2b c8 sub ecx, eax
00199 8b c1 mov eax, ecx
0019b 8b 8d a4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
001a1 8d 04 81 lea eax, DWORD PTR [rcx+rax*4]
001a4 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 319 : RipDelta += Delta;
3 years ago
3 years ago
001aa 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
001b0 8b 8d a4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
001b6 03 c8 add ecx, eax
001b8 8b c1 mov eax, ecx
001ba 89 85 a4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 320 : if (!JitiEmitWrapperD(OpType, Block, RipDelta, JitData->Data[FourByte - Count]))
3 years ago
3 years ago
001c0 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
001c6 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001c9 2b c8 sub ecx, eax
001cb 8b c1 mov eax, ecx
001cd 8b c0 mov eax, eax
001cf 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
001d6 44 8b 0c 81 mov r9d, DWORD PTR [rcx+rax*4]
001da 44 8b 85 a4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$1[rbp]
3 years ago
001e1 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
001e5 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
001eb e8 00 00 00 00 call ?JitiEmitWrapperD@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperD
001f0 85 c0 test eax, eax
001f2 75 4a jne SHORT $LN7@JitEmitPre
3 years ago
3 years ago
; 321 : {
; 322 : NcDeleteBlock(Block);
3 years ago
3 years ago
001f4 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
001f8 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 323 : delete Block;
3 years ago
3 years ago
001fd 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00201 48 89 85 28 02
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
00208 48 83 bd 28 02
3 years ago
00 00 00 cmp QWORD PTR $T7[rbp], 0
3 years ago
00210 74 1a je SHORT $LN20@JitEmitPre
00212 ba 01 00 00 00 mov edx, 1
00217 48 8b 8d 28 02
3 years ago
00 00 mov rcx, QWORD PTR $T7[rbp]
3 years ago
0021e e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00223 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv158[rbp], rax
3 years ago
0022a eb 0b jmp SHORT $LN21@JitEmitPre
3 years ago
$LN20@JitEmitPre:
3 years ago
0022c 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
; 324 : return NULL;
3 years ago
3 years ago
00237 33 c0 xor eax, eax
00239 e9 0d 02 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN7@JitEmitPre:
3 years ago
; 325 : }
; 326 : --Count;
3 years ago
3 years ago
0023e 8b 85 84 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00244 ff c8 dec eax
00246 89 85 84 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 327 : }
3 years ago
3 years ago
0024c e9 fc fe ff ff jmp $LN2@JitEmitPre
3 years ago
$LN3@JitEmitPre:
3 years ago
; 328 :
; 329 : if (TwoByte)
3 years ago
3 years ago
00251 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
00255 0f 84 c1 00 00
3 years ago
00 je $LN8@JitEmitPre
3 years ago
; 330 : {
; 331 : INT32 RipDelta = (OneByte * BYTE_RIP_INST_LENGTH);
3 years ago
3 years ago
0025b 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7
0025f 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 332 : if (SaveFlags)
3 years ago
3 years ago
00265 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
0026c 74 0e je SHORT $LN9@JitEmitPre
3 years ago
3 years ago
; 333 : RipDelta += 1;
3 years ago
3 years ago
0026e 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
00274 ff c0 inc eax
00276 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
$LN9@JitEmitPre:
3 years ago
; 334 : RipDelta += (FourByte * 4);
3 years ago
3 years ago
0027c 8b 85 c4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
00282 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00285 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
00288 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 335 : RipDelta += Delta;
3 years ago
3 years ago
0028e 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00294 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
0029a 03 c8 add ecx, eax
0029c 8b c1 mov eax, ecx
0029e 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$2[rbp], eax
3 years ago
; 336 : if (!JitiEmitWrapperW(OpType, Block, RipDelta, JitData->Data[3]))
3 years ago
3 years ago
002a4 b8 04 00 00 00 mov eax, 4
002a9 48 6b c0 03 imul rax, rax, 3
002ad 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
002b4 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
002b8 44 8b 85 c4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$2[rbp]
3 years ago
002bf 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
002c3 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
002c9 e8 00 00 00 00 call ?JitiEmitWrapperW@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperW
002ce 85 c0 test eax, eax
002d0 75 4a jne SHORT $LN8@JitEmitPre
3 years ago
3 years ago
; 337 : {
; 338 : NcDeleteBlock(Block);
3 years ago
3 years ago
002d2 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002d6 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 339 : delete Block;
3 years ago
3 years ago
002db 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
002df 48 89 85 48 02
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
002e6 48 83 bd 48 02
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
002ee 74 1a je SHORT $LN22@JitEmitPre
002f0 ba 01 00 00 00 mov edx, 1
002f5 48 8b 8d 48 02
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
002fc e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00301 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv181[rbp], rax
3 years ago
00308 eb 0b jmp SHORT $LN23@JitEmitPre
3 years ago
$LN22@JitEmitPre:
3 years ago
0030a 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
; 340 : return NULL;
3 years ago
3 years ago
00315 33 c0 xor eax, eax
00317 e9 2f 01 00 00 jmp $LN1@JitEmitPre
3 years ago
$LN8@JitEmitPre:
3 years ago
; 341 : }
; 342 : }
; 343 :
; 344 : if (OneByte)
3 years ago
3 years ago
0031c 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
00320 0f 84 c4 00 00
3 years ago
00 je $LN11@JitEmitPre
3 years ago
; 345 : {
; 346 : INT32 RipDelta = 0;
3 years ago
3 years ago
00326 c7 85 e4 00 00
3 years ago
00 00 00 00 00 mov DWORD PTR RipDelta$3[rbp], 0
3 years ago
; 347 : if (SaveFlags)
3 years ago
3 years ago
00330 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
00337 74 0e je SHORT $LN12@JitEmitPre
3 years ago
3 years ago
; 348 : RipDelta += 1;
3 years ago
3 years ago
00339 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
0033f ff c0 inc eax
00341 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
$LN12@JitEmitPre:
3 years ago
; 349 : RipDelta += (FourByte * 4) + (TwoByte * 2);
3 years ago
3 years ago
00347 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
0034d 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00350 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
00353 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00356 8d 04 48 lea eax, DWORD PTR [rax+rcx*2]
00359 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 350 : RipDelta += Delta;
3 years ago
3 years ago
0035f 8b 85 e0 02 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00365 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
0036b 03 c8 add ecx, eax
0036d 8b c1 mov eax, ecx
0036f 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$3[rbp], eax
3 years ago
; 351 : if (!JitiEmitWrapperB(OpType, Block, RipDelta, JitData->Data[4]))
3 years ago
3 years ago
00375 b8 04 00 00 00 mov eax, 4
0037a 48 6b c0 04 imul rax, rax, 4
0037e 48 8b 8d c8 02
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
00385 44 8b 0c 01 mov r9d, DWORD PTR [rcx+rax]
00389 44 8b 85 e4 00
3 years ago
00 00 mov r8d, DWORD PTR RipDelta$3[rbp]
3 years ago
00390 48 8b 55 68 mov rdx, QWORD PTR Block$[rbp]
00394 8b 8d d0 02 00
3 years ago
00 mov ecx, DWORD PTR OpType$[rbp]
3 years ago
0039a e8 00 00 00 00 call ?JitiEmitWrapperB@@YAHKPEAU_NATIVE_CODE_BLOCK@@HK@Z ; JitiEmitWrapperB
0039f 85 c0 test eax, eax
003a1 75 47 jne SHORT $LN11@JitEmitPre
3 years ago
3 years ago
; 352 : {
; 353 : NcDeleteBlock(Block);
3 years ago
3 years ago
003a3 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003a7 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 354 : delete Block;
3 years ago
3 years ago
003ac 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003b0 48 89 85 68 02
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
003b7 48 83 bd 68 02
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
003bf 74 1a je SHORT $LN24@JitEmitPre
003c1 ba 01 00 00 00 mov edx, 1
003c6 48 8b 8d 68 02
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
003cd e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
003d2 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv204[rbp], rax
3 years ago
003d9 eb 0b jmp SHORT $LN25@JitEmitPre
3 years ago
$LN24@JitEmitPre:
3 years ago
003db 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
; 355 : return NULL;
3 years ago
3 years ago
003e6 33 c0 xor eax, eax
003e8 eb 61 jmp SHORT $LN1@JitEmitPre
3 years ago
$LN11@JitEmitPre:
3 years ago
; 356 : }
; 357 : }
; 358 :
; 359 : if (SaveFlags && !JitEmitPopfqInst(Block))
3 years ago
3 years ago
003ea 83 bd d8 02 00
3 years ago
00 00 cmp DWORD PTR SaveFlags$[rbp], 0
3 years ago
003f1 74 54 je SHORT $LN14@JitEmitPre
003f3 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003f7 e8 00 00 00 00 call ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; JitEmitPopfqInst
003fc 85 c0 test eax, eax
003fe 75 47 jne SHORT $LN14@JitEmitPre
3 years ago
3 years ago
; 360 : {
; 361 : NcDeleteBlock(Block);
3 years ago
3 years ago
00400 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00404 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 362 : delete Block;
3 years ago
3 years ago
00409 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0040d 48 89 85 88 02
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
00414 48 83 bd 88 02
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
0041c 74 1a je SHORT $LN26@JitEmitPre
0041e ba 01 00 00 00 mov edx, 1
00423 48 8b 8d 88 02
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
0042a e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0042f 48 89 85 98 02
3 years ago
00 00 mov QWORD PTR tv214[rbp], rax
3 years ago
00436 eb 0b jmp SHORT $LN27@JitEmitPre
3 years ago
$LN26@JitEmitPre:
3 years ago
00438 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
; 363 : return NULL;
3 years ago
3 years ago
00443 33 c0 xor eax, eax
00445 eb 04 jmp SHORT $LN1@JitEmitPre
3 years ago
$LN14@JitEmitPre:
3 years ago
; 364 : }
; 365 :
; 366 : return Block;
3 years ago
3 years ago
00447 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPre:
3 years ago
; 367 : }
3 years ago
3 years ago
0044b 48 8d a5 a8 02
3 years ago
00 00 lea rsp, QWORD PTR [rbp+680]
3 years ago
00452 5f pop rdi
00453 5d pop rbp
00454 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
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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
tv213 = 952
tv200 = 952
tv175 = 952
tv153 = 952
3 years ago
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]
3 years ago
00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
0001c b9 96 00 00 00 mov ecx, 150 ; 00000096H
00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00026 f3 ab rep stosd
00028 48 8b 8c 24 18
3 years ago
04 00 00 mov rcx, QWORD PTR [rsp+1048]
3 years ago
00030 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00037 48 33 c5 xor rax, rbp
0003a 48 89 85 c0 03
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
00041 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 200 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
3 years ago
0004d 33 d2 xor edx, edx
0004f 48 8b 85 f0 03
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00056 8b 40 28 mov eax, DWORD PTR [rax+40]
00059 b9 04 00 00 00 mov ecx, 4
0005e f7 f1 div ecx
00060 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 201 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
3 years ago
00063 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00066 c1 e0 02 shl eax, 2
00069 48 8b 8d f0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00070 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00073 2b c8 sub ecx, eax
00075 8b c1 mov eax, ecx
00077 33 d2 xor edx, edx
00079 b9 02 00 00 00 mov ecx, 2
0007e f7 f1 div ecx
00080 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
3 years ago
; 202 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
3 years ago
00083 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00086 c1 e0 02 shl eax, 2
00089 48 8b 8d f0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00090 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00093 2b c8 sub ecx, eax
00095 8b c1 mov eax, ecx
00097 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
0009a d1 e1 shl ecx, 1
0009c 2b c1 sub eax, ecx
0009e 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
3 years ago
; 203 :
; 204 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
3 years ago
000a1 b9 30 00 00 00 mov ecx, 48 ; 00000030H
000a6 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
000ab 48 89 85 e8 02
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
000b2 48 83 bd e8 02
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
000ba 74 15 je SHORT $LN11@JitEmitPos
000bc 48 8b 8d e8 02
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
000c3 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
000c8 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv86[rbp], rax
3 years ago
000cf eb 0b jmp SHORT $LN12@JitEmitPos
3 years ago
$LN11@JitEmitPos:
3 years ago
000d1 48 c7 85 b8 03
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv86[rbp], 0
$LN12@JitEmitPos:
3 years ago
000dc 48 8b 85 b8 03
3 years ago
00 00 mov rax, QWORD PTR tv86[rbp]
3 years ago
000e3 48 89 85 c8 02
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
000ea 48 8b 85 c8 02
3 years ago
00 00 mov rax, QWORD PTR $T7[rbp]
3 years ago
000f1 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
3 years ago
; 205 :
; 206 : Block->Start = Block->End = new NATIVE_CODE_LINK;
3 years ago
3 years ago
000f5 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
000fa e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
000ff 48 89 85 28 03
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
00106 48 83 bd 28 03
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
0010e 74 15 je SHORT $LN13@JitEmitPos
00110 48 8b 8d 28 03
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
00117 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
0011c 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv131[rbp], rax
3 years ago
00123 eb 0b jmp SHORT $LN14@JitEmitPos
3 years ago
$LN13@JitEmitPos:
3 years ago
00125 48 c7 85 b8 03
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv131[rbp], 0
$LN14@JitEmitPos:
3 years ago
00130 48 8b 85 b8 03
3 years ago
00 00 mov rax, QWORD PTR tv131[rbp]
3 years ago
00137 48 89 85 08 03
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
0013e 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00142 48 8b 8d 08 03
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
00149 48 89 48 08 mov QWORD PTR [rax+8], rcx
0014d 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00151 48 8b 8d 08 03
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
00158 48 89 08 mov QWORD PTR [rax], rcx
3 years ago
3 years ago
; 207 : ULONG ZeroValue = 0;
3 years ago
3 years ago
0015b c7 85 84 00 00
3 years ago
00 00 00 00 00 mov DWORD PTR ZeroValue$[rbp], 0
3 years ago
; 208 : ULONG Count = FourByte;
3 years ago
3 years ago
00165 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00168 89 85 a4 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPos:
3 years ago
; 209 : while (Count)
3 years ago
3 years ago
0016e 83 bd a4 00 00
3 years ago
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
00175 0f 84 ec 00 00
3 years ago
00 je $LN3@JitEmitPos
3 years ago
; 210 : {
; 211 : INT32 RipDelta = Link->RawDataSize - ((FourByte - Count) * 4);
3 years ago
3 years ago
0017b 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00181 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00184 2b c8 sub ecx, eax
00186 8b c1 mov eax, ecx
00188 c1 e0 02 shl eax, 2
0018b 48 8b 8d f0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00192 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00195 2b c8 sub ecx, eax
00197 8b c1 mov eax, ecx
00199 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$4[rbp], eax
3 years ago
; 212 : RipDelta += (FourByte - (Count - 1)) * DWORD_MOV_INST_LENGTH;
3 years ago
3 years ago
0019f 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
001a5 ff c8 dec eax
001a7 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
001aa 2b c8 sub ecx, eax
001ac 8b c1 mov eax, ecx
001ae 6b c0 0a imul eax, eax, 10
001b1 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$4[rbp]
3 years ago
001b7 03 c8 add ecx, eax
001b9 8b c1 mov eax, ecx
001bb 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$4[rbp], eax
3 years ago
; 213 : RipDelta *= (-1);
3 years ago
3 years ago
001c1 6b 85 c4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$4[rbp], -1
3 years ago
001c8 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$4[rbp], eax
3 years ago
; 214 : RipDelta += Delta;
3 years ago
3 years ago
001ce 8b 85 f8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
001d4 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$4[rbp]
3 years ago
001da 03 c8 add ecx, eax
001dc 8b c1 mov eax, ecx
001de 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$4[rbp], eax
3 years ago
; 215 : ZeroValue = rand();
3 years ago
3 years ago
001e4 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_rand
3 years ago
001ea 89 85 84 00 00
3 years ago
00 mov DWORD PTR ZeroValue$[rbp], eax
; 216 : if (!JitEmitRipRelativeMovD(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
001f0 4c 8d 85 84 00
3 years ago
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
3 years ago
001f7 8b 95 c4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$4[rbp]
3 years ago
001fd 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00201 e8 00 00 00 00 call ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovD
00206 85 c0 test eax, eax
00208 75 4a jne SHORT $LN4@JitEmitPos
3 years ago
3 years ago
; 217 : {
; 218 : NcDeleteBlock(Block);
3 years ago
3 years ago
0020a 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0020e e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 219 : delete Block;
3 years ago
3 years ago
00213 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00217 48 89 85 48 03
3 years ago
00 00 mov QWORD PTR $T11[rbp], rax
3 years ago
0021e 48 83 bd 48 03
3 years ago
00 00 00 cmp QWORD PTR $T11[rbp], 0
3 years ago
00226 74 1a je SHORT $LN15@JitEmitPos
00228 ba 01 00 00 00 mov edx, 1
0022d 48 8b 8d 48 03
3 years ago
00 00 mov rcx, QWORD PTR $T11[rbp]
3 years ago
00234 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00239 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv153[rbp], rax
3 years ago
00240 eb 0b jmp SHORT $LN16@JitEmitPos
3 years ago
$LN15@JitEmitPos:
3 years ago
00242 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@JitEmitPos:
3 years ago
; 220 : return NULL;
3 years ago
3 years ago
0024d 33 c0 xor eax, eax
0024f e9 58 02 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN4@JitEmitPos:
3 years ago
; 221 : }
; 222 : --Count;
3 years ago
3 years ago
00254 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0025a ff c8 dec eax
0025c 89 85 a4 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
3 years ago
; 223 : }
3 years ago
3 years ago
00262 e9 07 ff ff ff jmp $LN2@JitEmitPos
3 years ago
$LN3@JitEmitPos:
3 years ago
; 224 :
; 225 : if (TwoByte)
3 years ago
3 years ago
00267 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
0026b 0f 84 d0 00 00
3 years ago
00 je $LN5@JitEmitPos
3 years ago
; 226 : {
; 227 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4);
3 years ago
3 years ago
00271 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00274 c1 e0 02 shl eax, 2
00277 48 8b 8d f0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
0027e 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00281 2b c8 sub ecx, eax
00283 8b c1 mov eax, ecx
00285 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 228 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH);
3 years ago
3 years ago
0028b 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
0028f 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$5[rbp]
3 years ago
00295 03 c8 add ecx, eax
00297 8b c1 mov eax, ecx
00299 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 229 : RipDelta += WORD_MOV_INST_LENGTH;
3 years ago
3 years ago
0029f 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$5[rbp]
3 years ago
002a5 83 c0 09 add eax, 9
002a8 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 230 : RipDelta *= (-1);
3 years ago
3 years ago
002ae 6b 85 e4 00 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$5[rbp], -1
3 years ago
002b5 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 231 : RipDelta += Delta;
3 years ago
3 years ago
002bb 8b 85 f8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
002c1 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$5[rbp]
3 years ago
002c7 03 c8 add ecx, eax
002c9 8b c1 mov eax, ecx
002cb 89 85 e4 00 00
3 years ago
00 mov DWORD PTR RipDelta$5[rbp], eax
3 years ago
; 232 : ZeroValue = rand();
3 years ago
002d1 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_rand
3 years ago
002d7 89 85 84 00 00
3 years ago
00 mov DWORD PTR ZeroValue$[rbp], eax
; 233 : if (!JitEmitRipRelativeMovW(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
3 years ago
002dd 4c 8d 85 84 00
3 years ago
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
3 years ago
002e4 8b 95 e4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$5[rbp]
3 years ago
002ea 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002ee e8 00 00 00 00 call ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovW
002f3 85 c0 test eax, eax
002f5 75 4a jne SHORT $LN5@JitEmitPos
3 years ago
3 years ago
; 234 : {
; 235 : NcDeleteBlock(Block);
3 years ago
3 years ago
002f7 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
002fb e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 236 : delete Block;
3 years ago
3 years ago
00300 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00304 48 89 85 68 03
3 years ago
00 00 mov QWORD PTR $T12[rbp], rax
3 years ago
0030b 48 83 bd 68 03
3 years ago
00 00 00 cmp QWORD PTR $T12[rbp], 0
3 years ago
00313 74 1a je SHORT $LN17@JitEmitPos
00315 ba 01 00 00 00 mov edx, 1
0031a 48 8b 8d 68 03
3 years ago
00 00 mov rcx, QWORD PTR $T12[rbp]
3 years ago
00321 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00326 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv175[rbp], rax
3 years ago
0032d eb 0b jmp SHORT $LN18@JitEmitPos
3 years ago
$LN17@JitEmitPos:
3 years ago
0032f 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv175[rbp], 0
3 years ago
$LN18@JitEmitPos:
3 years ago
; 237 : return NULL;
3 years ago
3 years ago
0033a 33 c0 xor eax, eax
0033c e9 6b 01 00 00 jmp $LN1@JitEmitPos
3 years ago
$LN5@JitEmitPos:
3 years ago
; 238 : }
; 239 : }
; 240 :
; 241 : if (OneByte)
3 years ago
3 years ago
00341 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
00345 0f 84 e8 00 00
3 years ago
00 je $LN7@JitEmitPos
3 years ago
; 242 : {
; 243 : INT32 RipDelta = Link->RawDataSize - (FourByte * 4) - (TwoByte * 2);
3 years ago
3 years ago
0034b 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0034e c1 e0 02 shl eax, 2
00351 48 8b 8d f0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00358 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0035b 2b c8 sub ecx, eax
0035d 8b c1 mov eax, ecx
0035f 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00362 d1 e1 shl ecx, 1
00364 2b c1 sub eax, ecx
00366 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 244 : RipDelta += (FourByte * DWORD_MOV_INST_LENGTH);
3 years ago
3 years ago
0036c 6b 45 04 0a imul eax, DWORD PTR FourByte$[rbp], 10
00370 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$6[rbp]
3 years ago
00376 03 c8 add ecx, eax
00378 8b c1 mov eax, ecx
0037a 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 245 : RipDelta += (TwoByte * WORD_MOV_INST_LENGTH);
3 years ago
3 years ago
00380 6b 45 24 09 imul eax, DWORD PTR TwoByte$[rbp], 9
00384 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$6[rbp]
3 years ago
0038a 03 c8 add ecx, eax
0038c 8b c1 mov eax, ecx
0038e 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 246 : RipDelta += BYTE_MOV_INST_LENGTH;
3 years ago
3 years ago
00394 8b 85 04 01 00
3 years ago
00 mov eax, DWORD PTR RipDelta$6[rbp]
3 years ago
0039a 83 c0 07 add eax, 7
0039d 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 247 : RipDelta *= (-1);
3 years ago
3 years ago
003a3 6b 85 04 01 00
3 years ago
00 ff imul eax, DWORD PTR RipDelta$6[rbp], -1
3 years ago
003aa 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 248 : RipDelta += Delta;
3 years ago
3 years ago
003b0 8b 85 f8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
003b6 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$6[rbp]
3 years ago
003bc 03 c8 add ecx, eax
003be 8b c1 mov eax, ecx
003c0 89 85 04 01 00
3 years ago
00 mov DWORD PTR RipDelta$6[rbp], eax
3 years ago
; 249 : ZeroValue = rand();
3 years ago
3 years ago
003c6 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_rand
3 years ago
003cc 89 85 84 00 00
3 years ago
00 mov DWORD PTR ZeroValue$[rbp], eax
; 250 : if (!JitEmitRipRelativeMovB(Block, RipDelta, (PUCHAR)&ZeroValue))
3 years ago
003d2 4c 8d 85 84 00
3 years ago
00 00 lea r8, QWORD PTR ZeroValue$[rbp]
3 years ago
003d9 8b 95 04 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$6[rbp]
3 years ago
003df 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003e3 e8 00 00 00 00 call ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovB
003e8 85 c0 test eax, eax
003ea 75 47 jne SHORT $LN7@JitEmitPos
3 years ago
3 years ago
; 251 : {
; 252 : NcDeleteBlock(Block);
3 years ago
3 years ago
003ec 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
003f0 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
3 years ago
3 years ago
; 253 : delete Block;
3 years ago
3 years ago
003f5 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003f9 48 89 85 88 03
3 years ago
00 00 mov QWORD PTR $T13[rbp], rax
3 years ago
00400 48 83 bd 88 03
3 years ago
00 00 00 cmp QWORD PTR $T13[rbp], 0
3 years ago
00408 74 1a je SHORT $LN19@JitEmitPos
0040a ba 01 00 00 00 mov edx, 1
0040f 48 8b 8d 88 03
3 years ago
00 00 mov rcx, QWORD PTR $T13[rbp]
3 years ago
00416 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0041b 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv200[rbp], rax
3 years ago
00422 eb 0b jmp SHORT $LN20@JitEmitPos
3 years ago
$LN19@JitEmitPos:
3 years ago
00424 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv200[rbp], 0
3 years ago
$LN20@JitEmitPos:
3 years ago
; 254 : return NULL;
3 years ago
3 years ago
0042f 33 c0 xor eax, eax
00431 eb 79 jmp SHORT $LN1@JitEmitPos
3 years ago
$LN7@JitEmitPos:
3 years ago
; 255 : }
; 256 : }
; 257 :
; 258 : PNATIVE_CODE_LINK StartLink = Block->Start;
3 years ago
3 years ago
00433 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00437 48 8b 00 mov rax, QWORD PTR [rax]
0043a 48 89 85 28 01
3 years ago
00 00 mov QWORD PTR StartLink$[rbp], rax
3 years ago
; 259 : Block->Start = Block->Start->Next;
3 years ago
3 years ago
00441 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00445 48 8b 00 mov rax, QWORD PTR [rax]
00448 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0044c 48 8b 00 mov rax, QWORD PTR [rax]
0044f 48 89 01 mov QWORD PTR [rcx], rax
3 years ago
3 years ago
; 260 : if (Block->Start)
3 years ago
3 years ago
00452 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00456 48 83 38 00 cmp QWORD PTR [rax], 0
0045a 74 0f je SHORT $LN9@JitEmitPos
3 years ago
3 years ago
; 261 : Block->Start->Prev = NULL;
3 years ago
3 years ago
0045c 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00460 48 8b 00 mov rax, QWORD PTR [rax]
00463 48 c7 40 08 00
3 years ago
00 00 00 mov QWORD PTR [rax+8], 0
$LN9@JitEmitPos:
3 years ago
; 262 : delete StartLink;
3 years ago
3 years ago
0046b 48 8b 85 28 01
3 years ago
00 00 mov rax, QWORD PTR StartLink$[rbp]
3 years ago
00472 48 89 85 a8 03
3 years ago
00 00 mov QWORD PTR $T14[rbp], rax
3 years ago
00479 48 83 bd a8 03
3 years ago
00 00 00 cmp QWORD PTR $T14[rbp], 0
3 years ago
00481 74 1a je SHORT $LN21@JitEmitPos
00483 ba 01 00 00 00 mov edx, 1
00488 48 8b 8d a8 03
3 years ago
00 00 mov rcx, QWORD PTR $T14[rbp]
3 years ago
0048f e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
00494 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv213[rbp], rax
3 years ago
0049b eb 0b jmp SHORT $LN22@JitEmitPos
3 years ago
$LN21@JitEmitPos:
3 years ago
0049d 48 c7 85 b8 03
3 years ago
00 00 00 00 00
3 years ago
00 mov QWORD PTR tv213[rbp], 0
3 years ago
$LN22@JitEmitPos:
3 years ago
; 263 :
; 264 : return Block;
3 years ago
3 years ago
004a8 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
3 years ago
$LN1@JitEmitPos:
3 years ago
; 265 : }
3 years ago
3 years ago
004ac 48 8b f8 mov rdi, rax
004af 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
004b3 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
004ba e8 00 00 00 00 call _RTC_CheckStackVars
004bf 48 8b c7 mov rax, rdi
004c2 48 8b 8d c0 03
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
004c9 48 33 cd xor rcx, rbp
004cc e8 00 00 00 00 call __security_check_cookie
004d1 48 8d a5 d8 03
3 years ago
00 00 lea rsp, QWORD PTR [rbp+984]
3 years ago
004d8 5f pop rdi
004d9 5d pop rbp
004da 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
tv213 = 952
tv200 = 952
tv175 = 952
tv153 = 952
3 years ago
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
tv213 = 952
tv200 = 952
tv175 = 952
tv153 = 952
3 years ago
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
tv213 = 952
tv200 = 952
tv175 = 952
tv153 = 952
3 years ago
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
tv213 = 952
tv200 = 952
tv175 = 952
tv153 = 952
3 years ago
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
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00017 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 135 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
3 years ago
00023 33 d2 xor edx, edx
00025 48 8b 85 e0 03
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
0002c 8b 40 28 mov eax, DWORD PTR [rax+40]
0002f b9 04 00 00 00 mov ecx, 4
00034 f7 f1 div ecx
00036 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 136 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
3 years ago
00039 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0003c c1 e0 02 shl eax, 2
0003f 48 8b 8d e0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00046 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00049 2b c8 sub ecx, eax
0004b 8b c1 mov eax, ecx
0004d 33 d2 xor edx, edx
0004f b9 02 00 00 00 mov ecx, 2
00054 f7 f1 div ecx
00056 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
3 years ago
; 137 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
3 years ago
00059 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0005c c1 e0 02 shl eax, 2
0005f 48 8b 8d e0 03
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00066 8b 49 28 mov ecx, DWORD PTR [rcx+40]
00069 2b c8 sub ecx, eax
0006b 8b c1 mov eax, ecx
0006d 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00070 03 c9 add ecx, ecx
00072 2b c1 sub eax, ecx
00074 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
3 years ago
; 138 :
; 139 : PNATIVE_CODE_BLOCK Block = new NATIVE_CODE_BLOCK;
3 years ago
3 years ago
00077 b9 30 00 00 00 mov ecx, 48 ; 00000030H
0007c e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
00081 48 89 85 e8 02
3 years ago
00 00 mov QWORD PTR $T5[rbp], rax
3 years ago
00088 48 83 bd e8 02
3 years ago
00 00 00 cmp QWORD PTR $T5[rbp], 0
3 years ago
00090 74 15 je SHORT $LN11@JitEmitPre
00092 48 8b 8d e8 02
3 years ago
00 00 mov rcx, QWORD PTR $T5[rbp]
3 years ago
00099 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
0009e 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv86[rbp], rax
3 years ago
000a5 eb 0b jmp SHORT $LN12@JitEmitPre
3 years ago
$LN11@JitEmitPre:
3 years ago
000a7 48 c7 85 b8 03
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv86[rbp], 0
$LN12@JitEmitPre:
3 years ago
000b2 48 8b 85 b8 03
3 years ago
00 00 mov rax, QWORD PTR tv86[rbp]
3 years ago
000b9 48 89 85 c8 02
3 years ago
00 00 mov QWORD PTR $T4[rbp], rax
3 years ago
000c0 48 8b 85 c8 02
3 years ago
00 00 mov rax, QWORD PTR $T4[rbp]
3 years ago
000c7 48 89 45 68 mov QWORD PTR Block$[rbp], rax
3 years ago
3 years ago
; 140 :
; 141 : Block->Start = Block->End = new NATIVE_CODE_LINK;
3 years ago
3 years ago
000cb b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
000d0 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
000d5 48 89 85 28 03
3 years ago
00 00 mov QWORD PTR $T7[rbp], rax
3 years ago
000dc 48 83 bd 28 03
3 years ago
00 00 00 cmp QWORD PTR $T7[rbp], 0
3 years ago
000e4 74 15 je SHORT $LN13@JitEmitPre
000e6 48 8b 8d 28 03
3 years ago
00 00 mov rcx, QWORD PTR $T7[rbp]
3 years ago
000ed e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
000f2 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv131[rbp], rax
3 years ago
000f9 eb 0b jmp SHORT $LN14@JitEmitPre
3 years ago
$LN13@JitEmitPre:
3 years ago
000fb 48 c7 85 b8 03
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv131[rbp], 0
$LN14@JitEmitPre:
3 years ago
00106 48 8b 85 b8 03
3 years ago
00 00 mov rax, QWORD PTR tv131[rbp]
3 years ago
0010d 48 89 85 08 03
3 years ago
00 00 mov QWORD PTR $T6[rbp], rax
3 years ago
00114 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00118 48 8b 8d 08 03
3 years ago
00 00 mov rcx, QWORD PTR $T6[rbp]
3 years ago
0011f 48 89 48 08 mov QWORD PTR [rax+8], rcx
00123 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00127 48 8b 8d 08 03
3 years ago
00 00 mov rcx, QWORD PTR $T6[rbp]
3 years ago
0012e 48 89 08 mov QWORD PTR [rax], rcx
3 years ago
3 years ago
; 142 : PUCHAR DataOffset = Link->RawData;
3 years ago
3 years ago
00131 48 8b 85 e0 03
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00138 48 8b 40 20 mov rax, QWORD PTR [rax+32]
0013c 48 89 85 88 00
3 years ago
00 00 mov QWORD PTR DataOffset$[rbp], rax
3 years ago
; 143 : ULONG Count = FourByte;
3 years ago
3 years ago
00143 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
00146 89 85 a4 00 00
3 years ago
00 mov DWORD PTR Count$[rbp], eax
$LN2@JitEmitPre:
3 years ago
; 144 : while (Count)
3 years ago
3 years ago
0014c 83 bd a4 00 00
3 years ago
00 00 cmp DWORD PTR Count$[rbp], 0
3 years ago
00153 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
3 years ago
00159 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0015f ff c8 dec eax
00161 6b c0 0a imul eax, eax, 10
00164 6b 4d 24 09 imul ecx, DWORD PTR TwoByte$[rbp], 9
00168 03 c1 add eax, ecx
0016a 6b 4d 44 07 imul ecx, DWORD PTR OneByte$[rbp], 7
0016e 03 c1 add eax, ecx
00170 89 85 c4 00 00
3 years ago
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
3 years ago
00176 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
0017c 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
0017f 2b c8 sub ecx, eax
00181 8b c1 mov eax, ecx
00183 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
00189 8d 04 81 lea eax, DWORD PTR [rcx+rax*4]
0018c 89 85 c4 00 00
3 years ago
00 mov DWORD PTR RipDelta$1[rbp], eax
3 years ago
; 150 : RipDelta += Delta;
3 years ago
3 years ago
00192 8b 85 e8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00198 8b 8d c4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$1[rbp]
3 years ago
0019e 03 c8 add ecx, eax
001a0 8b c1 mov eax, ecx
001a2 89 85 c4 00 00
3 years ago
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
001a8 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
001af 8b 95 c4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$1[rbp]
3 years ago
001b5 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
001b9 e8 00 00 00 00 call ?JitEmitRipRelativeMovD@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovD
001be 85 c0 test eax, eax
001c0 75 4a jne SHORT $LN4@JitEmitPre
3 years ago
3 years ago
; 153 : {
; 154 : NcDeleteBlock(Block);
3 years ago
3 years ago
001c2 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
001c6 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
001cb 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
001cf 48 89 85 48 03
3 years ago
00 00 mov QWORD PTR $T8[rbp], rax
3 years ago
001d6 48 83 bd 48 03
3 years ago
00 00 00 cmp QWORD PTR $T8[rbp], 0
3 years ago
001de 74 1a je SHORT $LN15@JitEmitPre
001e0 ba 01 00 00 00 mov edx, 1
001e5 48 8b 8d 48 03
3 years ago
00 00 mov rcx, QWORD PTR $T8[rbp]
3 years ago
001ec e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
001f1 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv153[rbp], rax
3 years ago
001f8 eb 0b jmp SHORT $LN16@JitEmitPre
3 years ago
$LN15@JitEmitPre:
3 years ago
001fa 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
00205 33 c0 xor eax, eax
00207 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
0020c 48 8b 85 88 00
3 years ago
00 00 mov rax, QWORD PTR DataOffset$[rbp]
3 years ago
00213 48 83 c0 04 add rax, 4
00217 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
0021e 8b 85 a4 00 00
3 years ago
00 mov eax, DWORD PTR Count$[rbp]
3 years ago
00224 ff c8 dec eax
00226 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
0022c 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
00231 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
00235 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
0023b 6b 45 44 07 imul eax, DWORD PTR OneByte$[rbp], 7
0023f 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
00245 8b 85 e4 00 00
3 years ago
00 mov eax, DWORD PTR RipDelta$2[rbp]
3 years ago
0024b 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
0024e 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
00251 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
00257 8b 85 e8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
0025d 8b 8d e4 00 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$2[rbp]
3 years ago
00263 03 c8 add ecx, eax
00265 8b c1 mov eax, ecx
00267 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
0026d 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
00274 8b 95 e4 00 00
3 years ago
00 mov edx, DWORD PTR RipDelta$2[rbp]
3 years ago
0027a 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0027e e8 00 00 00 00 call ?JitEmitRipRelativeMovW@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovW
00283 85 c0 test eax, eax
00285 75 4a jne SHORT $LN6@JitEmitPre
3 years ago
3 years ago
; 168 : {
; 169 : NcDeleteBlock(Block);
3 years ago
3 years ago
00287 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0028b 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
00290 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00294 48 89 85 68 03
3 years ago
00 00 mov QWORD PTR $T9[rbp], rax
3 years ago
0029b 48 83 bd 68 03
3 years ago
00 00 00 cmp QWORD PTR $T9[rbp], 0
3 years ago
002a3 74 1a je SHORT $LN17@JitEmitPre
002a5 ba 01 00 00 00 mov edx, 1
002aa 48 8b 8d 68 03
3 years ago
00 00 mov rcx, QWORD PTR $T9[rbp]
3 years ago
002b1 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
002b6 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv171[rbp], rax
3 years ago
002bd eb 0b jmp SHORT $LN18@JitEmitPre
3 years ago
$LN17@JitEmitPre:
3 years ago
002bf 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
002ca 33 c0 xor eax, eax
002cc 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
002d1 48 8b 85 88 00
3 years ago
00 00 mov rax, QWORD PTR DataOffset$[rbp]
3 years ago
002d8 48 83 c0 02 add rax, 2
002dc 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
002e3 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
002e7 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
002ed 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
002f7 8b 85 04 01 00
3 years ago
00 mov eax, DWORD PTR RipDelta$3[rbp]
3 years ago
002fd 8b 4d 04 mov ecx, DWORD PTR FourByte$[rbp]
00300 8d 04 88 lea eax, DWORD PTR [rax+rcx*4]
00303 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00306 8d 04 48 lea eax, DWORD PTR [rax+rcx*2]
00309 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
0030f 8b 85 e8 03 00
3 years ago
00 mov eax, DWORD PTR Delta$[rbp]
3 years ago
00315 8b 8d 04 01 00
3 years ago
00 mov ecx, DWORD PTR RipDelta$3[rbp]
3 years ago
0031b 03 c8 add ecx, eax
0031d 8b c1 mov eax, ecx
0031f 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
00325 4c 8b 85 88 00
3 years ago
00 00 mov r8, QWORD PTR DataOffset$[rbp]
3 years ago
0032c 8b 95 04 01 00
3 years ago
00 mov edx, DWORD PTR RipDelta$3[rbp]
3 years ago
00332 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00336 e8 00 00 00 00 call ?JitEmitRipRelativeMovB@@YAHPEAU_NATIVE_CODE_BLOCK@@HPEAE@Z ; JitEmitRipRelativeMovB
0033b 85 c0 test eax, eax
0033d 75 47 jne SHORT $LN7@JitEmitPre
3 years ago
3 years ago
; 182 : {
; 183 : NcDeleteBlock(Block);
3 years ago
3 years ago
0033f 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
00343 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
00348 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0034c 48 89 85 88 03
3 years ago
00 00 mov QWORD PTR $T10[rbp], rax
3 years ago
00353 48 83 bd 88 03
3 years ago
00 00 00 cmp QWORD PTR $T10[rbp], 0
3 years ago
0035b 74 1a je SHORT $LN19@JitEmitPre
0035d ba 01 00 00 00 mov edx, 1
00362 48 8b 8d 88 03
3 years ago
00 00 mov rcx, QWORD PTR $T10[rbp]
3 years ago
00369 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
0036e 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv189[rbp], rax
3 years ago
00375 eb 0b jmp SHORT $LN20@JitEmitPre
3 years ago
$LN19@JitEmitPre:
3 years ago
00377 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
00382 33 c0 xor eax, eax
00384 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
00386 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
0038a 48 8b 00 mov rax, QWORD PTR [rax]
0038d 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
00394 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
00398 48 8b 00 mov rax, QWORD PTR [rax]
0039b 48 8b 4d 68 mov rcx, QWORD PTR Block$[rbp]
0039f 48 8b 00 mov rax, QWORD PTR [rax]
003a2 48 89 01 mov QWORD PTR [rcx], rax
3 years ago
3 years ago
; 191 : if (Block->Start)
3 years ago
3 years ago
003a5 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003a9 48 83 38 00 cmp QWORD PTR [rax], 0
003ad 74 0f je SHORT $LN9@JitEmitPre
3 years ago
3 years ago
; 192 : Block->Start->Prev = NULL;
3 years ago
3 years ago
003af 48 8b 45 68 mov rax, QWORD PTR Block$[rbp]
003b3 48 8b 00 mov rax, QWORD PTR [rax]
003b6 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
003be 48 8b 85 28 01
3 years ago
00 00 mov rax, QWORD PTR StartLink$[rbp]
3 years ago
003c5 48 89 85 a8 03
3 years ago
00 00 mov QWORD PTR $T11[rbp], rax
3 years ago
003cc 48 83 bd a8 03
3 years ago
00 00 00 cmp QWORD PTR $T11[rbp], 0
3 years ago
003d4 74 1a je SHORT $LN21@JitEmitPre
003d6 ba 01 00 00 00 mov edx, 1
003db 48 8b 8d a8 03
3 years ago
00 00 mov rcx, QWORD PTR $T11[rbp]
3 years ago
003e2 e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
003e7 48 89 85 b8 03
3 years ago
00 00 mov QWORD PTR tv202[rbp], rax
3 years ago
003ee eb 0b jmp SHORT $LN22@JitEmitPre
3 years ago
$LN21@JitEmitPre:
3 years ago
003f0 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
003fb 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
003ff 48 8d a5 c8 03
3 years ago
00 00 lea rsp, QWORD PTR [rbp+968]
3 years ago
00406 5f pop rdi
00407 5d pop rbp
00408 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
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; COMDAT ?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z
_TEXT SEGMENT
Link$ = 224
JitData$ = 232
3 years ago
?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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 130 :
; 131 : }
3 years ago
00024 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
3 years ago
?JitMutateInstForAnd@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForAnd
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; COMDAT ?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z
_TEXT SEGMENT
Link$ = 224
JitData$ = 232
3 years ago
?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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 125 :
; 126 : }
3 years ago
00024 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
3 years ago
?JitMutateInstForOr@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForOr
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 100 : ULONG FourByte = Link->RawDataSize / 4;
3 years ago
3 years ago
00024 33 d2 xor edx, edx
00026 48 8b 85 60 01
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
0002d 8b 40 28 mov eax, DWORD PTR [rax+40]
00030 b9 04 00 00 00 mov ecx, 4
00035 f7 f1 div ecx
00037 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 101 : ULONG TwoByte = (Link->RawDataSize - (FourByte * 4)) / 2;
3 years ago
3 years ago
0003a 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0003d c1 e0 02 shl eax, 2
00040 48 8b 8d 60 01
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00047 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0004a 2b c8 sub ecx, eax
0004c 8b c1 mov eax, ecx
0004e 33 d2 xor edx, edx
00050 b9 02 00 00 00 mov ecx, 2
00055 f7 f1 div ecx
00057 89 45 24 mov DWORD PTR TwoByte$[rbp], eax
3 years ago
3 years ago
; 102 : ULONG OneByte = (Link->RawDataSize - (FourByte * 4) - (TwoByte * 2));
3 years ago
3 years ago
0005a 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
0005d c1 e0 02 shl eax, 2
00060 48 8b 8d 60 01
3 years ago
00 00 mov rcx, QWORD PTR Link$[rbp]
3 years ago
00067 8b 49 28 mov ecx, DWORD PTR [rcx+40]
0006a 2b c8 sub ecx, eax
0006c 8b c1 mov eax, ecx
0006e 8b 4d 24 mov ecx, DWORD PTR TwoByte$[rbp]
00071 d1 e1 shl ecx, 1
00073 2b c1 sub eax, ecx
00075 89 45 44 mov DWORD PTR OneByte$[rbp], eax
3 years ago
3 years ago
; 103 :
; 104 : PUCHAR Buffer = Link->RawData;
3 years ago
3 years ago
00078 48 8b 85 60 01
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
0007f 48 8b 40 20 mov rax, QWORD PTR [rax+32]
00083 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
3 years ago
$LN2@JitMutateI:
3 years ago
; 105 : while (FourByte)
3 years ago
3 years ago
00087 83 7d 04 00 cmp DWORD PTR FourByte$[rbp], 0
0008b 74 3a je SHORT $LN3@JitMutateI
3 years ago
3 years ago
; 106 : {
; 107 : *(PULONG)Buffer ^= JitData->Data[2 - FourByte];
3 years ago
3 years ago
0008d b8 02 00 00 00 mov eax, 2
00092 2b 45 04 sub eax, DWORD PTR FourByte$[rbp]
00095 8b c0 mov eax, eax
00097 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
0009b 48 8b 95 68 01
3 years ago
00 00 mov rdx, QWORD PTR JitData$[rbp]
3 years ago
000a2 8b 04 82 mov eax, DWORD PTR [rdx+rax*4]
000a5 8b 09 mov ecx, DWORD PTR [rcx]
000a7 33 c8 xor ecx, eax
000a9 8b c1 mov eax, ecx
000ab 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000af 89 01 mov DWORD PTR [rcx], eax
3 years ago
3 years ago
; 108 : Buffer += 4;
3 years ago
3 years ago
000b1 48 8b 45 68 mov rax, QWORD PTR Buffer$[rbp]
000b5 48 83 c0 04 add rax, 4
000b9 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
3 years ago
3 years ago
; 109 : FourByte--;
3 years ago
3 years ago
000bd 8b 45 04 mov eax, DWORD PTR FourByte$[rbp]
000c0 ff c8 dec eax
000c2 89 45 04 mov DWORD PTR FourByte$[rbp], eax
3 years ago
3 years ago
; 110 : }
3 years ago
3 years ago
000c5 eb c0 jmp SHORT $LN2@JitMutateI
3 years ago
$LN3@JitMutateI:
3 years ago
; 111 :
; 112 : if (TwoByte)
3 years ago
3 years ago
000c7 83 7d 24 00 cmp DWORD PTR TwoByte$[rbp], 0
000cb 74 32 je SHORT $LN4@JitMutateI
3 years ago
3 years ago
; 113 : {
; 114 : *(PUSHORT)Buffer ^= (USHORT)JitData->Data[3];
3 years ago
3 years ago
000cd b8 04 00 00 00 mov eax, 4
000d2 48 6b c0 03 imul rax, rax, 3
000d6 48 8b 8d 68 01
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
000dd 0f b7 04 01 movzx eax, WORD PTR [rcx+rax]
000e1 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000e5 0f b7 09 movzx ecx, WORD PTR [rcx]
000e8 33 c8 xor ecx, eax
000ea 8b c1 mov eax, ecx
000ec 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
000f0 66 89 01 mov WORD PTR [rcx], ax
3 years ago
3 years ago
; 115 : Buffer += 2;
3 years ago
3 years ago
000f3 48 8b 45 68 mov rax, QWORD PTR Buffer$[rbp]
000f7 48 83 c0 02 add rax, 2
000fb 48 89 45 68 mov QWORD PTR Buffer$[rbp], rax
3 years ago
$LN4@JitMutateI:
3 years ago
; 116 : }
; 117 :
; 118 : if (OneByte)
3 years ago
3 years ago
000ff 83 7d 44 00 cmp DWORD PTR OneByte$[rbp], 0
00103 74 25 je SHORT $LN5@JitMutateI
3 years ago
3 years ago
; 119 : *(PUCHAR)Buffer ^= (UCHAR)JitData->Data[3];
3 years ago
3 years ago
00105 b8 04 00 00 00 mov eax, 4
0010a 48 6b c0 03 imul rax, rax, 3
0010e 48 8b 8d 68 01
3 years ago
00 00 mov rcx, QWORD PTR JitData$[rbp]
3 years ago
00115 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
00119 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
0011d 0f b6 09 movzx ecx, BYTE PTR [rcx]
00120 33 c8 xor ecx, eax
00122 8b c1 mov eax, ecx
00124 48 8b 4d 68 mov rcx, QWORD PTR Buffer$[rbp]
00128 88 01 mov BYTE PTR [rcx], al
3 years ago
$LN5@JitMutateI:
3 years ago
; 120 :
; 121 : }
3 years ago
3 years ago
0012a 48 8d a5 48 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+328]
3 years ago
00131 5f pop rdi
00132 5d pop rbp
00133 c3 ret 0
3 years ago
?JitMutateInstForXor@@YAXPEAU_NATIVE_CODE_LINK@@PEAU_JIT_BITWISE_DATA@@@Z ENDP ; JitMutateInstForXor
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00018 b9 2a 00 00 00 mov ecx, 42 ; 0000002aH
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00022 f3 ab rep stosd
00024 48 8b 8c 24 a8
3 years ago
01 00 00 mov rcx, QWORD PTR [rsp+424]
3 years ago
0002c 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00033 48 33 c5 xor rax, rbp
00036 48 89 85 58 01
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 70 : XED_FLAG_SET Ledger;
; 71 : Ledger.s.zf = TRUE;
3 years ago
3 years ago
00049 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
0004c 83 c8 40 or eax, 64 ; 00000040H
0004f 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 72 : Ledger.s.sf = TRUE;
3 years ago
3 years ago
00052 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00055 0f ba e8 07 bts eax, 7
00059 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 73 : Ledger.s.pf = TRUE;
3 years ago
3 years ago
0005c 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
0005f 83 c8 04 or eax, 4
00062 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 74 : Ledger.s.of = TRUE;
3 years ago
3 years ago
00065 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00068 0f ba e8 0b bts eax, 11
0006c 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 75 : Ledger.s.cf = TRUE;
3 years ago
3 years ago
0006f 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
00072 83 c8 01 or eax, 1
00075 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 76 : Ledger.s.af = TRUE;
3 years ago
3 years ago
00078 8b 45 04 mov eax, DWORD PTR Ledger$[rbp]
0007b 83 c8 10 or eax, 16
0007e 89 45 04 mov DWORD PTR Ledger$[rbp], eax
3 years ago
3 years ago
; 77 :
; 78 : for (PNATIVE_CODE_LINK T = Link->Next; T; T = T->Next)
3 years ago
3 years ago
00081 48 8b 85 80 01
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00088 48 8b 00 mov rax, QWORD PTR [rax]
0008b 48 89 45 28 mov QWORD PTR T$4[rbp], rax
0008f eb 0b jmp SHORT $LN4@JitAreFlag
3 years ago
$LN2@JitAreFlag:
3 years ago
00091 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
00095 48 8b 00 mov rax, QWORD PTR [rax]
00098 48 89 45 28 mov QWORD PTR T$4[rbp], rax
3 years ago
$LN4@JitAreFlag:
3 years ago
0009c 48 83 7d 28 00 cmp QWORD PTR T$4[rbp], 0
000a1 74 77 je SHORT $LN3@JitAreFlag
3 years ago
3 years ago
; 79 : {
; 80 : if (T->Flags & CODE_FLAG_IS_LABEL)
3 years ago
3 years ago
000a3 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
000a7 8b 40 18 mov eax, DWORD PTR [rax+24]
000aa 83 e0 01 and eax, 1
000ad 85 c0 test eax, eax
000af 74 02 je SHORT $LN5@JitAreFlag
3 years ago
3 years ago
; 81 : continue;
3 years ago
3 years ago
000b1 eb de jmp SHORT $LN2@JitAreFlag
3 years ago
$LN5@JitAreFlag:
3 years ago
; 82 :
; 83 : CONST XED_SIMPLE_FLAG* SimpleFlags = XedDecodedInstGetRflagsInfo(&T->XedInstruction);
3 years ago
3 years ago
000b3 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
000b7 48 83 c0 30 add rax, 48 ; 00000030H
000bb 48 8b c8 mov rcx, rax
000be e8 00 00 00 00 call xed_decoded_inst_get_rflags_info
000c3 48 89 45 48 mov QWORD PTR SimpleFlags$5[rbp], rax
3 years ago
3 years ago
; 84 : CONST XED_FLAG_SET* FlagsRead = XedSimpleFlagGetReadFlagSet(SimpleFlags);
3 years ago
3 years ago
000c7 48 8b 4d 48 mov rcx, QWORD PTR SimpleFlags$5[rbp]
000cb e8 00 00 00 00 call xed_simple_flag_get_read_flag_set
000d0 48 89 45 68 mov QWORD PTR FlagsRead$6[rbp], rax
3 years ago
3 years ago
; 85 : CONST XED_FLAG_SET* FlagsWritten = XedSimpleFlagGetWrittenFlagSet(SimpleFlags);
3 years ago
3 years ago
000d4 48 8b 4d 48 mov rcx, QWORD PTR SimpleFlags$5[rbp]
000d8 e8 00 00 00 00 call xed_simple_flag_get_written_flag_set
000dd 48 89 85 88 00
3 years ago
00 00 mov QWORD PTR FlagsWritten$7[rbp], rax
3 years ago
; 86 :
; 87 : if (JitCheckFlagCollisions(FlagsRead, Ledger))
3 years ago
3 years ago
000e4 8b 55 04 mov edx, DWORD PTR Ledger$[rbp]
000e7 48 8b 4d 68 mov rcx, QWORD PTR FlagsRead$6[rbp]
000eb e8 00 00 00 00 call ?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z ; JitCheckFlagCollisions
000f0 85 c0 test eax, eax
000f2 74 04 je SHORT $LN6@JitAreFlag
3 years ago
3 years ago
; 88 : return FALSE;
3 years ago
3 years ago
000f4 33 c0 xor eax, eax
000f6 eb 24 jmp SHORT $LN1@JitAreFlag
3 years ago
$LN6@JitAreFlag:
3 years ago
; 89 :
; 90 : JitUpdateConFlagsLedger(FlagsWritten, &Ledger);
3 years ago
3 years ago
000f8 48 8d 55 04 lea rdx, QWORD PTR Ledger$[rbp]
000fc 48 8b 8d 88 00
3 years ago
00 00 mov rcx, QWORD PTR FlagsWritten$7[rbp]
3 years ago
00103 e8 00 00 00 00 call ?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z ; JitUpdateConFlagsLedger
3 years ago
3 years ago
; 91 :
; 92 : if (Ledger.flat == 0)
3 years ago
3 years ago
00108 83 7d 04 00 cmp DWORD PTR Ledger$[rbp], 0
0010c 75 07 jne SHORT $LN7@JitAreFlag
3 years ago
3 years ago
; 93 : return TRUE;
3 years ago
3 years ago
0010e b8 01 00 00 00 mov eax, 1
00113 eb 07 jmp SHORT $LN1@JitAreFlag
3 years ago
$LN7@JitAreFlag:
3 years ago
; 94 : }
3 years ago
3 years ago
00115 e9 77 ff ff ff jmp $LN2@JitAreFlag
3 years ago
$LN3@JitAreFlag:
3 years ago
; 95 : return FALSE;
3 years ago
3 years ago
0011a 33 c0 xor eax, eax
3 years ago
$LN1@JitAreFlag:
3 years ago
; 96 : }
3 years ago
3 years ago
0011c 48 8b f8 mov rdi, rax
0011f 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00123 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z$rtcFrameData
3 years ago
0012a e8 00 00 00 00 call _RTC_CheckStackVars
0012f 48 8b c7 mov rax, rdi
00132 48 8b 8d 58 01
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
00139 48 33 cd xor rcx, rbp
0013c e8 00 00 00 00 call __security_check_cookie
00141 48 8d a5 68 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+360]
3 years ago
00148 5f pop rdi
00149 5d pop rbp
0014a c3 ret 0
3 years ago
?JitAreFlagsClobberedBeforeUse@@YAHPEAU_NATIVE_CODE_LINK@@@Z ENDP ; JitAreFlagsClobberedBeforeUse
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 55 : CONST XED_SIMPLE_FLAG* SimpleFlags = XedDecodedInstGetRflagsInfo(&Link->XedInstruction);
3 years ago
3 years ago
0001f 48 8b 85 40 01
3 years ago
00 00 mov rax, QWORD PTR Link$[rbp]
3 years ago
00026 48 83 c0 30 add rax, 48 ; 00000030H
0002a 48 8b c8 mov rcx, rax
0002d e8 00 00 00 00 call xed_decoded_inst_get_rflags_info
00032 48 89 45 08 mov QWORD PTR SimpleFlags$[rbp], rax
3 years ago
3 years ago
; 56 : CONST XED_FLAG_SET* FlagsWritten = XedSimpleFlagGetWrittenFlagSet(SimpleFlags);
3 years ago
3 years ago
00036 48 8b 4d 08 mov rcx, QWORD PTR SimpleFlags$[rbp]
0003a e8 00 00 00 00 call xed_simple_flag_get_written_flag_set
0003f 48 89 45 28 mov QWORD PTR FlagsWritten$[rbp], rax
3 years ago
3 years ago
; 57 : CONST XED_FLAG_SET* FlagsUndefined = XedSimpleFlagGetUndefinedFlagSet(SimpleFlags);
3 years ago
3 years ago
00043 48 8b 4d 08 mov rcx, QWORD PTR SimpleFlags$[rbp]
00047 e8 00 00 00 00 call xed_simple_flag_get_undefined_flag_set
0004c 48 89 45 48 mov QWORD PTR FlagsUndefined$[rbp], rax
3 years ago
3 years ago
; 58 :
; 59 : return (FlagsWritten->s.zf &&
3 years ago
3 years ago
00050 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
00054 8b 00 mov eax, DWORD PTR [rax]
00056 c1 e8 06 shr eax, 6
00059 83 e0 01 and eax, 1
0005c 85 c0 test eax, eax
0005e 74 59 je SHORT $LN3@JitDoesIns
00060 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
00064 8b 00 mov eax, DWORD PTR [rax]
00066 c1 e8 07 shr eax, 7
00069 83 e0 01 and eax, 1
0006c 85 c0 test eax, eax
0006e 74 49 je SHORT $LN3@JitDoesIns
00070 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
00074 8b 00 mov eax, DWORD PTR [rax]
00076 c1 e8 02 shr eax, 2
00079 83 e0 01 and eax, 1
0007c 85 c0 test eax, eax
0007e 74 39 je SHORT $LN3@JitDoesIns
00080 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
00084 8b 00 mov eax, DWORD PTR [rax]
00086 c1 e8 0b shr eax, 11
00089 83 e0 01 and eax, 1
0008c 85 c0 test eax, eax
0008e 74 29 je SHORT $LN3@JitDoesIns
00090 48 8b 45 28 mov rax, QWORD PTR FlagsWritten$[rbp]
00094 8b 00 mov eax, DWORD PTR [rax]
00096 83 e0 01 and eax, 1
00099 85 c0 test eax, eax
0009b 74 1c je SHORT $LN3@JitDoesIns
0009d 48 8b 45 48 mov rax, QWORD PTR FlagsUndefined$[rbp]
000a1 8b 00 mov eax, DWORD PTR [rax]
000a3 c1 e8 04 shr eax, 4
000a6 83 e0 01 and eax, 1
000a9 85 c0 test eax, eax
000ab 74 0c je SHORT $LN3@JitDoesIns
000ad c7 85 14 01 00
3 years ago
00 01 00 00 00 mov DWORD PTR tv132[rbp], 1
3 years ago
000b7 eb 0a jmp SHORT $LN4@JitDoesIns
3 years ago
$LN3@JitDoesIns:
3 years ago
000b9 c7 85 14 01 00
3 years ago
00 00 00 00 00 mov DWORD PTR tv132[rbp], 0
$LN4@JitDoesIns:
3 years ago
000c3 8b 85 14 01 00
3 years ago
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
3 years ago
000c9 48 8d a5 28 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+296]
3 years ago
000d0 5f pop rdi
000d1 5d pop rbp
000d2 c3 ret 0
3 years ago
?JitDoesInstOverriteConditionFlags@@YAHPEAU_NATIVE_CODE_LINK@@@Z ENDP ; JitDoesInstOverriteConditionFlags
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 39 : if (FlagsWritten->s.zf)
3 years ago
3 years ago
00024 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
0002b 8b 00 mov eax, DWORD PTR [rax]
0002d c1 e8 06 shr eax, 6
00030 83 e0 01 and eax, 1
00033 85 c0 test eax, eax
00035 74 15 je SHORT $LN2@JitUpdateC
3 years ago
3 years ago
; 40 : Ledger->s.zf = FALSE;
3 years ago
3 years ago
00037 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
0003e 8b 00 mov eax, DWORD PTR [rax]
00040 83 e0 bf and eax, -65 ; ffffffbfH
00043 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
0004a 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN2@JitUpdateC:
3 years ago
; 41 : if (FlagsWritten->s.sf)
3 years ago
3 years ago
0004c 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
00053 8b 00 mov eax, DWORD PTR [rax]
00055 c1 e8 07 shr eax, 7
00058 83 e0 01 and eax, 1
0005b 85 c0 test eax, eax
0005d 74 16 je SHORT $LN3@JitUpdateC
3 years ago
3 years ago
; 42 : Ledger->s.sf = FALSE;
3 years ago
3 years ago
0005f 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
00066 8b 00 mov eax, DWORD PTR [rax]
00068 0f ba f0 07 btr eax, 7
0006c 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
00073 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN3@JitUpdateC:
3 years ago
; 43 : if (FlagsWritten->s.pf)
3 years ago
3 years ago
00075 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
0007c 8b 00 mov eax, DWORD PTR [rax]
0007e c1 e8 02 shr eax, 2
00081 83 e0 01 and eax, 1
00084 85 c0 test eax, eax
00086 74 15 je SHORT $LN4@JitUpdateC
3 years ago
3 years ago
; 44 : Ledger->s.pf = FALSE;
3 years ago
3 years ago
00088 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
0008f 8b 00 mov eax, DWORD PTR [rax]
00091 83 e0 fb and eax, -5 ; fffffffbH
00094 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
0009b 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN4@JitUpdateC:
3 years ago
; 45 : if (FlagsWritten->s.of)
3 years ago
3 years ago
0009d 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
000a4 8b 00 mov eax, DWORD PTR [rax]
000a6 c1 e8 0b shr eax, 11
000a9 83 e0 01 and eax, 1
000ac 85 c0 test eax, eax
000ae 74 16 je SHORT $LN5@JitUpdateC
3 years ago
3 years ago
; 46 : Ledger->s.of = FALSE;
3 years ago
3 years ago
000b0 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
000b7 8b 00 mov eax, DWORD PTR [rax]
000b9 0f ba f0 0b btr eax, 11
000bd 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
000c4 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN5@JitUpdateC:
3 years ago
; 47 : if (FlagsWritten->s.cf)
3 years ago
3 years ago
000c6 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
000cd 8b 00 mov eax, DWORD PTR [rax]
000cf 83 e0 01 and eax, 1
000d2 85 c0 test eax, eax
000d4 74 15 je SHORT $LN6@JitUpdateC
3 years ago
3 years ago
; 48 : Ledger->s.cf = FALSE;
3 years ago
3 years ago
000d6 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
000dd 8b 00 mov eax, DWORD PTR [rax]
000df 83 e0 fe and eax, -2 ; fffffffeH
000e2 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
000e9 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN6@JitUpdateC:
3 years ago
; 49 : if (FlagsWritten->s.af)
3 years ago
3 years ago
000eb 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsWritten$[rbp]
3 years ago
000f2 8b 00 mov eax, DWORD PTR [rax]
000f4 c1 e8 04 shr eax, 4
000f7 83 e0 01 and eax, 1
000fa 85 c0 test eax, eax
000fc 74 15 je SHORT $LN7@JitUpdateC
3 years ago
3 years ago
; 50 : Ledger->s.af = FALSE;
3 years ago
3 years ago
000fe 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR Ledger$[rbp]
3 years ago
00105 8b 00 mov eax, DWORD PTR [rax]
00107 83 e0 ef and eax, -17 ; ffffffefH
0010a 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR Ledger$[rbp]
3 years ago
00111 89 01 mov DWORD PTR [rcx], eax
3 years ago
$LN7@JitUpdateC:
3 years ago
; 51 : }
3 years ago
3 years ago
00113 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0011a 5f pop rdi
0011b 5d pop rbp
0011c c3 ret 0
3 years ago
?JitUpdateConFlagsLedger@@YAXPEBTxed_flag_set_s@@PEAT1@@Z ENDP ; JitUpdateConFlagsLedger
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00017 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 28 : return ((FlagsRead->s.zf && FlagsRead->s.zf == Ledger.s.zf) ||
3 years ago
3 years ago
00023 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
0002a 8b 00 mov eax, DWORD PTR [rax]
0002c c1 e8 06 shr eax, 6
0002f 83 e0 01 and eax, 1
00032 85 c0 test eax, eax
00034 74 23 je SHORT $LN3@JitCheckFl
00036 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
0003d 8b 00 mov eax, DWORD PTR [rax]
0003f c1 e8 06 shr eax, 6
00042 83 e0 01 and eax, 1
00045 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
0004b c1 e9 06 shr ecx, 6
0004e 83 e1 01 and ecx, 1
00051 3b c1 cmp eax, ecx
00053 0f 84 05 01 00
3 years ago
00 je $LN5@JitCheckFl
$LN3@JitCheckFl:
3 years ago
00059 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
00060 8b 00 mov eax, DWORD PTR [rax]
00062 c1 e8 07 shr eax, 7
00065 83 e0 01 and eax, 1
00068 85 c0 test eax, eax
0006a 74 23 je SHORT $LN4@JitCheckFl
0006c 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
00073 8b 00 mov eax, DWORD PTR [rax]
00075 c1 e8 07 shr eax, 7
00078 83 e0 01 and eax, 1
0007b 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
00081 c1 e9 07 shr ecx, 7
00084 83 e1 01 and ecx, 1
00087 3b c1 cmp eax, ecx
00089 0f 84 cf 00 00
3 years ago
00 je $LN5@JitCheckFl
$LN4@JitCheckFl:
3 years ago
0008f 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
00096 8b 00 mov eax, DWORD PTR [rax]
00098 c1 e8 02 shr eax, 2
0009b 83 e0 01 and eax, 1
0009e 85 c0 test eax, eax
000a0 74 23 je SHORT $LN6@JitCheckFl
000a2 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
000a9 8b 00 mov eax, DWORD PTR [rax]
000ab c1 e8 02 shr eax, 2
000ae 83 e0 01 and eax, 1
000b1 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
000b7 c1 e9 02 shr ecx, 2
000ba 83 e1 01 and ecx, 1
000bd 3b c1 cmp eax, ecx
000bf 0f 84 99 00 00
3 years ago
00 je $LN5@JitCheckFl
$LN6@JitCheckFl:
3 years ago
000c5 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
000cc 8b 00 mov eax, DWORD PTR [rax]
000ce c1 e8 0b shr eax, 11
000d1 83 e0 01 and eax, 1
000d4 85 c0 test eax, eax
000d6 74 1f je SHORT $LN7@JitCheckFl
000d8 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
000df 8b 00 mov eax, DWORD PTR [rax]
000e1 c1 e8 0b shr eax, 11
000e4 83 e0 01 and eax, 1
000e7 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
000ed c1 e9 0b shr ecx, 11
000f0 83 e1 01 and ecx, 1
000f3 3b c1 cmp eax, ecx
000f5 74 67 je SHORT $LN5@JitCheckFl
3 years ago
$LN7@JitCheckFl:
3 years ago
000f7 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
000fe 8b 00 mov eax, DWORD PTR [rax]
00100 83 e0 01 and eax, 1
00103 85 c0 test eax, eax
00105 74 19 je SHORT $LN8@JitCheckFl
00107 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
0010e 8b 00 mov eax, DWORD PTR [rax]
00110 83 e0 01 and eax, 1
00113 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
00119 83 e1 01 and ecx, 1
0011c 3b c1 cmp eax, ecx
0011e 74 3e je SHORT $LN5@JitCheckFl
3 years ago
$LN8@JitCheckFl:
3 years ago
00120 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
00127 8b 00 mov eax, DWORD PTR [rax]
00129 c1 e8 04 shr eax, 4
0012c 83 e0 01 and eax, 1
0012f 85 c0 test eax, eax
00131 74 1f je SHORT $LN9@JitCheckFl
00133 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR FlagsRead$[rbp]
3 years ago
0013a 8b 00 mov eax, DWORD PTR [rax]
0013c c1 e8 04 shr eax, 4
0013f 83 e0 01 and eax, 1
00142 8b 8d f8 00 00
3 years ago
00 mov ecx, DWORD PTR Ledger$[rbp]
3 years ago
00148 c1 e9 04 shr ecx, 4
0014b 83 e1 01 and ecx, 1
0014e 3b c1 cmp eax, ecx
00150 74 0c je SHORT $LN5@JitCheckFl
3 years ago
$LN9@JitCheckFl:
3 years ago
00152 c7 85 c0 00 00
3 years ago
00 00 00 00 00 mov DWORD PTR tv165[rbp], 0
3 years ago
0015c eb 0a jmp SHORT $LN10@JitCheckFl
3 years ago
$LN5@JitCheckFl:
3 years ago
0015e c7 85 c0 00 00
3 years ago
00 01 00 00 00 mov DWORD PTR tv165[rbp], 1
$LN10@JitCheckFl:
3 years ago
00168 8b 85 c0 00 00
3 years ago
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
3 years ago
0016e 48 8d a5 d8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+216]
3 years ago
00175 5f pop rdi
00176 5d pop rbp
00177 c3 ret 0
3 years ago
?JitCheckFlagCollisions@@YAHPEBTxed_flag_set_s@@T1@@Z ENDP ; JitCheckFlagCollisions
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; COMDAT ?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
_TEXT SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv79 = 312
3 years ago
__$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 88 01
00 00 sub rsp, 392 ; 00000188H
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
3 years ago
00013 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
00018 b9 26 00 00 00 mov ecx, 38 ; 00000026H
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00022 f3 ab rep stosd
00024 48 8b 8c 24 a8
01 00 00 mov rcx, QWORD PTR [rsp+424]
3 years ago
0002c 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00033 48 33 c5 xor rax, rbp
00036 48 89 85 40 01
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 19 : UCHAR RawData[] = { 0x9D };
3 years ago
3 years ago
00049 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 | CODE_FLAG_DO_NOT_DIVIDE, RawData, 1);
3 years ago
3 years ago
0004d b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
00052 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
00057 48 89 85 28 01
3 years ago
00 00 mov QWORD PTR $T5[rbp], rax
3 years ago
0005e 48 83 bd 28 01
3 years ago
00 00 00 cmp QWORD PTR $T5[rbp], 0
3 years ago
00066 74 2c je SHORT $LN3@JitEmitPop
00068 c7 44 24 20 00
00 00 00 mov DWORD PTR [rsp+32], 0
3 years ago
00070 41 b9 01 00 00
3 years ago
00 mov r9d, 1
3 years ago
00076 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
0007a ba 0c 00 00 00 mov edx, 12
0007f 48 8b 8d 28 01
3 years ago
00 00 mov rcx, QWORD PTR $T5[rbp]
3 years ago
00086 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
0008b 48 89 85 38 01
00 00 mov QWORD PTR tv79[rbp], rax
3 years ago
00092 eb 0b jmp SHORT $LN4@JitEmitPop
3 years ago
$LN3@JitEmitPop:
3 years ago
00094 48 c7 85 38 01
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv79[rbp], 0
3 years ago
$LN4@JitEmitPop:
3 years ago
0009f 48 8b 85 38 01
00 00 mov rax, QWORD PTR tv79[rbp]
3 years ago
000a6 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR $T4[rbp], rax
3 years ago
000ad 48 8b 85 08 01
3 years ago
00 00 mov rax, QWORD PTR $T4[rbp]
3 years ago
000b4 48 89 45 28 mov QWORD PTR Link$[rbp], rax
3 years ago
3 years ago
; 21 : XedDecode(&Link->XedInstruction, Link->RawData, 1);
3 years ago
3 years ago
000b8 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
000bc 48 83 c0 30 add rax, 48 ; 00000030H
000c0 41 b8 01 00 00
3 years ago
00 mov r8d, 1
3 years ago
000c6 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
000ca 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
000ce 48 8b c8 mov rcx, rax
000d1 e8 00 00 00 00 call xed_decode
3 years ago
3 years ago
; 22 : NcAppendToBlock(Block, Link);
3 years ago
3 years ago
000d6 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
000da 48 8b 8d 70 01
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
000e1 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
3 years ago
3 years ago
; 23 : return TRUE;
3 years ago
3 years ago
000e6 b8 01 00 00 00 mov eax, 1
3 years ago
3 years ago
; 24 : }
3 years ago
3 years ago
000eb 8b f8 mov edi, eax
000ed 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
000f1 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
3 years ago
000f8 e8 00 00 00 00 call _RTC_CheckStackVars
000fd 8b c7 mov eax, edi
000ff 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
00106 48 33 cd xor rcx, rbp
00109 e8 00 00 00 00 call __security_check_cookie
0010e 48 8d a5 58 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+344]
3 years ago
00115 5f pop rdi
00116 5d pop rbp
00117 c3 ret 0
3 years ago
?JitEmitPopfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; JitEmitPopfqInst
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv79 = 312
3 years ago
__$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 30 lea rbp, QWORD PTR [rdx+48]
3 years ago
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
tv79 = 312
3 years ago
__$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 30 lea rbp, QWORD PTR [rdx+48]
3 years ago
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
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; COMDAT ?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
_TEXT SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv79 = 312
3 years ago
__$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 88 01
00 00 sub rsp, 392 ; 00000188H
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
3 years ago
00013 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
00018 b9 26 00 00 00 mov ecx, 38 ; 00000026H
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00022 f3 ab rep stosd
00024 48 8b 8c 24 a8
01 00 00 mov rcx, QWORD PTR [rsp+424]
3 years ago
0002c 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00033 48 33 c5 xor rax, rbp
00036 48 89 85 40 01
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 10 : UCHAR RawData[] = { 0x9C };
3 years ago
3 years ago
00049 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 | CODE_FLAG_DO_NOT_DIVIDE, RawData, 1);
3 years ago
3 years ago
0004d b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
00052 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
00057 48 89 85 28 01
3 years ago
00 00 mov QWORD PTR $T5[rbp], rax
3 years ago
0005e 48 83 bd 28 01
3 years ago
00 00 00 cmp QWORD PTR $T5[rbp], 0
3 years ago
00066 74 2c je SHORT $LN3@JitEmitPus
00068 c7 44 24 20 00
00 00 00 mov DWORD PTR [rsp+32], 0
3 years ago
00070 41 b9 01 00 00
3 years ago
00 mov r9d, 1
3 years ago
00076 4c 8d 45 04 lea r8, QWORD PTR RawData$[rbp]
0007a ba 0c 00 00 00 mov edx, 12
0007f 48 8b 8d 28 01
3 years ago
00 00 mov rcx, QWORD PTR $T5[rbp]
3 years ago
00086 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
0008b 48 89 85 38 01
00 00 mov QWORD PTR tv79[rbp], rax
3 years ago
00092 eb 0b jmp SHORT $LN4@JitEmitPus
3 years ago
$LN3@JitEmitPus:
3 years ago
00094 48 c7 85 38 01
3 years ago
00 00 00 00 00
00 mov QWORD PTR tv79[rbp], 0
3 years ago
$LN4@JitEmitPus:
3 years ago
0009f 48 8b 85 38 01
00 00 mov rax, QWORD PTR tv79[rbp]
3 years ago
000a6 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR $T4[rbp], rax
3 years ago
000ad 48 8b 85 08 01
3 years ago
00 00 mov rax, QWORD PTR $T4[rbp]
3 years ago
000b4 48 89 45 28 mov QWORD PTR Link$[rbp], rax
3 years ago
3 years ago
; 12 : XedDecode(&Link->XedInstruction, Link->RawData, 1);
3 years ago
3 years ago
000b8 48 8b 45 28 mov rax, QWORD PTR Link$[rbp]
000bc 48 83 c0 30 add rax, 48 ; 00000030H
000c0 41 b8 01 00 00
3 years ago
00 mov r8d, 1
3 years ago
000c6 48 8b 4d 28 mov rcx, QWORD PTR Link$[rbp]
000ca 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
000ce 48 8b c8 mov rcx, rax
000d1 e8 00 00 00 00 call xed_decode
3 years ago
3 years ago
; 13 : NcAppendToBlock(Block, Link);
3 years ago
3 years ago
000d6 48 8b 55 28 mov rdx, QWORD PTR Link$[rbp]
000da 48 8b 8d 70 01
3 years ago
00 00 mov rcx, QWORD PTR Block$[rbp]
3 years ago
000e1 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
3 years ago
3 years ago
; 14 : return TRUE;
3 years ago
3 years ago
000e6 b8 01 00 00 00 mov eax, 1
3 years ago
3 years ago
; 15 : }
3 years ago
3 years ago
000eb 8b f8 mov edi, eax
000ed 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
000f1 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
3 years ago
000f8 e8 00 00 00 00 call _RTC_CheckStackVars
000fd 8b c7 mov eax, edi
000ff 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
00106 48 33 cd xor rcx, rbp
00109 e8 00 00 00 00 call __security_check_cookie
0010e 48 8d a5 58 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+344]
3 years ago
00115 5f pop rdi
00116 5d pop rbp
00117 c3 ret 0
3 years ago
?JitEmitPushfqInst@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; JitEmitPushfqInst
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
RawData$ = 4
Link$ = 40
$T4 = 264
$T5 = 296
tv79 = 312
3 years ago
__$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 30 lea rbp, QWORD PTR [rdx+48]
3 years ago
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
tv79 = 312
3 years ago
__$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 30 lea rbp, QWORD PTR [rdx+48]
3 years ago
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]
3 years ago
00017 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0001e e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00023 8b 85 e8 00 00
3 years ago
00 mov eax, DWORD PTR __flags$[rbp]
3 years ago
00029 83 e0 01 and eax, 1
0002c 85 c0 test eax, eax
0002e 74 11 je SHORT $LN2@scalar
00030 ba 30 00 00 00 mov edx, 48 ; 00000030H
00035 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0003c e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
3 years ago
$LN2@scalar:
3 years ago
00041 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00048 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0004f 5f pop rdi
00050 5d pop rbp
00051 c3 ret 0
3 years ago
??_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]
3 years ago
00013 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
0001a 48 83 c0 10 add rax, 16
0001e 48 8b c8 mov rcx, rax
00021 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> >
00026 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002d 5f pop rdi
0002e 5d pop rbp
0002f c3 ret 0
3 years ago
??1_NATIVE_CODE_BLOCK@@QEAA@XZ ENDP ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 1377 : constexpr _Ty1& _Get_first() noexcept {
3 years ago
$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]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1378 : return *this;
0001f 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
; 1379 : }
3 years ago
3 years ago
00026 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002d 5f pop rdi
0002e 5d pop rbp
0002f c3 ret 0
3 years ago
?_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
3 years ago
; 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
3 years ago
; 1817 : _NODISCARD _CONSTEXPR20_CONTAINER _Alty& _Getal() noexcept {
3 years ago
$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]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1818 : return _Mypair._Get_first();
0001f 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00026 48 8b c8 mov rcx, rax
00029 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
3 years ago
3 years ago
; 1819 : }
3 years ago
3 years ago
0002e 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00035 5f pop rdi
00036 5d pop rbp
00037 c3 ret 0
3 years ago
?_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
3 years ago
; 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
3 years ago
; 1755 : _CONSTEXPR20_CONTAINER void _Tidy() noexcept { // free all storage
3 years ago
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 78 01
00 00 sub rsp, 376 ; 00000178H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1756 : auto& _My_data = _Mypair._Myval2;
0001f 48 8b 85 70 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00026 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
3 years ago
3 years ago
; 1757 : pointer& _Myfirst = _My_data._Myfirst;
3 years ago
3 years ago
0002a 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
0002e 48 83 c0 08 add rax, 8
00032 48 89 45 28 mov QWORD PTR _Myfirst$[rbp], rax
3 years ago
3 years ago
; 1758 : pointer& _Mylast = _My_data._Mylast;
3 years ago
3 years ago
00036 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
0003a 48 83 c0 10 add rax, 16
0003e 48 89 45 48 mov QWORD PTR _Mylast$[rbp], rax
3 years ago
3 years ago
; 1759 : pointer& _Myend = _My_data._Myend;
3 years ago
3 years ago
00042 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
00046 48 83 c0 18 add rax, 24
0004a 48 89 45 68 mov QWORD PTR _Myend$[rbp], rax
3 years ago
3 years ago
; 1760 :
; 1761 : _My_data._Orphan_all();
3 years ago
3 years ago
0004e 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
00052 e8 00 00 00 00 call ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all
3 years ago
3 years ago
; 1762 :
; 1763 : if (_Myfirst) { // destroy and deallocate old array
3 years ago
3 years ago
00057 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
0005b 48 83 38 00 cmp QWORD PTR [rax], 0
0005f 0f 84 92 00 00
3 years ago
00 je $LN2@Tidy
3 years ago
; 1764 : _Destroy(_Myfirst, _Mylast);
3 years ago
3 years ago
00065 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
00069 4c 8b 00 mov r8, QWORD PTR [rax]
0006c 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
00070 48 8b 10 mov rdx, QWORD PTR [rax]
00073 48 8b 8d 70 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0007a e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
3 years ago
3 years ago
; 1765 : _Getal().deallocate(_Myfirst, static_cast<size_type>(_Myend - _Myfirst));
3 years ago
3 years ago
0007f 48 8b 8d 70 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00086 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
0008b 48 89 85 38 01
3 years ago
00 00 mov QWORD PTR tv90[rbp], rax
3 years ago
00092 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp]
00096 48 8b 4d 28 mov rcx, QWORD PTR _Myfirst$[rbp]
0009a 48 8b 09 mov rcx, QWORD PTR [rcx]
0009d 48 8b 00 mov rax, QWORD PTR [rax]
000a0 48 2b c1 sub rax, rcx
000a3 48 c1 f8 02 sar rax, 2
000a7 48 89 85 40 01
3 years ago
00 00 mov QWORD PTR tv88[rbp], rax
3 years ago
000ae 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
000b2 48 8b 00 mov rax, QWORD PTR [rax]
000b5 48 89 85 48 01
3 years ago
00 00 mov QWORD PTR tv86[rbp], rax
3 years ago
000bc 4c 8b 85 40 01
3 years ago
00 00 mov r8, QWORD PTR tv88[rbp]
3 years ago
000c3 48 8b 95 48 01
3 years ago
00 00 mov rdx, QWORD PTR tv86[rbp]
3 years ago
000ca 48 8b 8d 38 01
3 years ago
00 00 mov rcx, QWORD PTR tv90[rbp]
3 years ago
000d1 e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
3 years ago
3 years ago
; 1766 :
; 1767 : _Myfirst = nullptr;
3 years ago
3 years ago
000d6 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
000da 48 c7 00 00 00
3 years ago
00 00 mov QWORD PTR [rax], 0
3 years ago
; 1768 : _Mylast = nullptr;
3 years ago
3 years ago
000e1 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
000e5 48 c7 00 00 00
3 years ago
00 00 mov QWORD PTR [rax], 0
3 years ago
; 1769 : _Myend = nullptr;
3 years ago
3 years ago
000ec 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp]
000f0 48 c7 00 00 00
3 years ago
00 00 mov QWORD PTR [rax], 0
$LN2@Tidy:
3 years ago
; 1770 : }
; 1771 : }
3 years ago
3 years ago
000f7 48 8d a5 58 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+344]
3 years ago
000fe 5f pop rdi
000ff 5d pop rbp
00100 c3 ret 0
3 years ago
?_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
3 years ago
; 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
3 years ago
; 1678 : _CONSTEXPR20_CONTAINER void _Destroy(pointer _First, pointer _Last) {
3 years ago
$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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1679 : // destroy [_First, _Last) using allocator
; 1680 : _Destroy_range(_First, _Last, _Getal());
00029 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00030 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
00035 4c 8b c0 mov r8, rax
00038 48 8b 95 f0 00
3 years ago
00 00 mov rdx, QWORD PTR _Last$[rbp]
3 years ago
0003f 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR _First$[rbp]
3 years ago
00046 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> >
3 years ago
3 years ago
; 1681 : }
3 years ago
3 years ago
0004b 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00052 5f pop rdi
00053 5d pop rbp
00054 c3 ret 0
3 years ago
?_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
3 years ago
; 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
3 years ago
; 711 : _CONSTEXPR20_CONTAINER ~vector() noexcept {
3 years ago
$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]
3 years ago
00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00018 b9 1a 00 00 00 mov ecx, 26
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00022 f3 ab rep stosd
00024 48 8b 8c 24 68
3 years ago
01 00 00 mov rcx, QWORD PTR [rsp+360]
3 years ago
0002c 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00033 48 33 c5 xor rax, rbp
00036 48 89 85 18 01
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 712 : _Tidy();
3 years ago
3 years ago
00049 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00050 e8 00 00 00 00 call ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Tidy
3 years ago
3 years ago
; 713 : #if _ITERATOR_DEBUG_LEVEL != 0
; 714 : auto&& _Alproxy = _GET_PROXY_ALLOCATOR(_Alty, _Getal());
3 years ago
3 years ago
00055 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0005c 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
00061 48 8b d0 mov rdx, rax
00064 48 8d 4d 24 lea rcx, QWORD PTR $S1$[rbp]
00068 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>
0006d 48 8d 45 24 lea rax, QWORD PTR $S1$[rbp]
00071 48 89 45 08 mov QWORD PTR _Alproxy$[rbp], rax
3 years ago
3 years ago
; 715 : _Delete_plain_internal(_Alproxy, _STD exchange(_Mypair._Myval2._Myproxy, nullptr));
3 years ago
3 years ago
00075 48 c7 85 04 01
3 years ago
00 00 00 00 00
00 mov QWORD PTR $T4[rbp], 0
3 years ago
00080 48 8b 85 40 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00087 48 8d 95 04 01
3 years ago
00 00 lea rdx, QWORD PTR $T4[rbp]
3 years ago
0008e 48 8b c8 mov rcx, rax
00091 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>
00096 48 8b d0 mov rdx, rax
00099 48 8b 4d 08 mov rcx, QWORD PTR _Alproxy$[rbp]
0009d 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> >
3 years ago
3 years ago
; 716 : #endif // _ITERATOR_DEBUG_LEVEL != 0
; 717 : }
3 years ago
3 years ago
000a2 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000a6 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcFrameData
3 years ago
000ad e8 00 00 00 00 call _RTC_CheckStackVars
000b2 48 8b 8d 18 01
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
000b9 48 33 cd xor rcx, rbp
000bc e8 00 00 00 00 call __security_check_cookie
000c1 48 8d a5 28 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+296]
3 years ago
000c8 5f pop rdi
000c9 5d pop rbp
000ca c3 ret 0
3 years ago
??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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 833 : _CONSTEXPR20_DYNALLOC void deallocate(_Ty* const _Ptr, const size_t _Count) {
3 years ago
$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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 834 : // no overflow check on the following multiply; we assume _Allocate did that check
; 835 : _Deallocate<_New_alignof<_Ty>>(_Ptr, sizeof(_Ty) * _Count);
00029 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR _Count$[rbp]
3 years ago
00030 48 c1 e0 02 shl rax, 2
00034 48 8b d0 mov rdx, rax
00037 48 8b 8d e8 00
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
0003e e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0>
3 years ago
3 years ago
; 836 : }
3 years ago
3 years ago
00043 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0004a 5f pop rdi
0004b 5d pop rbp
0004c c3 ret 0
3 years ago
?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]
3 years ago
00017 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0001e e8 00 00 00 00 call ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
00023 8b 85 e8 00 00
3 years ago
00 mov eax, DWORD PTR __flags$[rbp]
3 years ago
00029 83 e0 01 and eax, 1
0002c 85 c0 test eax, eax
0002e 74 11 je SHORT $LN2@scalar
00030 ba f0 00 00 00 mov edx, 240 ; 000000f0H
00035 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0003c e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
3 years ago
$LN2@scalar:
3 years ago
00041 48 8b 85 e0 00
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00048 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0004f 5f pop rdi
00050 5d pop rbp
00051 c3 ret 0
3 years ago
??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z ENDP ; _NATIVE_CODE_LINK::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xloctime
3 years ago
; 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
3 years ago
; 173 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
3 years ago
$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]
3 years ago
0001e 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 174 : _Cvt = _Lobj._Getcvt();
0002a 48 8d 95 c8 00
3 years ago
00 00 lea rdx, QWORD PTR $T1[rbp]
3 years ago
00031 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00038 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
3 years ago
0003e 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00049 48 8b f0 mov rsi, rax
0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00051 f3 a4 rep movsb
3 years ago
3 years ago
; 175 :
; 176 : if (is_same_v<_Elem2, wchar_t>) {
3 years ago
3 years ago
00053 33 c0 xor eax, eax
00055 83 f8 01 cmp eax, 1
00058 74 5c je SHORT $LN2@Getvals
3 years ago
3 years ago
; 177 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
3 years ago
3 years ago
0005a 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00061 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
3 years ago
00067 48 8b c8 mov rcx, rax
0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0006f 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00076 48 89 41 10 mov QWORD PTR [rcx+16], rax
3 years ago
3 years ago
; 178 : _Months =
3 years ago
3 years ago
0007a 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00081 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
3 years ago
00087 48 8b c8 mov rcx, rax
0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0008f 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00096 48 89 41 18 mov QWORD PTR [rcx+24], rax
3 years ago
3 years ago
; 179 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 180 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
3 years ago
3 years ago
0009a 48 8d 0d 00 00
3 years ago
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@
3 years ago
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
000ad 48 89 41 20 mov QWORD PTR [rcx+32], rax
3 years ago
3 years ago
; 181 : } else {
3 years ago
3 years ago
000b1 e9 a3 00 00 00 jmp $LN3@Getvals
3 years ago
$LN2@Getvals:
3 years ago
; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
000b6 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
000bd 48 83 c0 2c add rax, 44 ; 0000002cH
000c1 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR tv85[rbp], rax
3 years ago
000c8 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
000cf ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
3 years ago
000d5 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR tv85[rbp]
3 years ago
000dc 4c 8b c1 mov r8, rcx
000df 33 d2 xor edx, edx
000e1 48 8b c8 mov rcx, rax
000e4 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
000e9 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax
3 years ago
3 years ago
; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
000f4 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
000fb 48 83 c0 2c add rax, 44 ; 0000002cH
000ff 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR tv93[rbp], rax
3 years ago
00106 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
0010d ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
3 years ago
00113 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR tv93[rbp]
3 years ago
0011a 4c 8b c1 mov r8, rcx
0011d 33 d2 xor edx, edx
0011f 48 8b c8 mov rcx, rax
00122 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
00127 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax
3 years ago
3 years ago
; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
00132 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00139 48 83 c0 2c add rax, 44 ; 0000002cH
0013d 4c 8b c0 mov r8, rax
00140 33 d2 xor edx, edx
00142 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
3 years ago
00149 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
0014e 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00155 48 89 41 20 mov QWORD PTR [rcx+32], rax
3 years ago
$LN3@Getvals:
3 years ago
; 185 : }
; 186 : }
3 years ago
3 years ago
00159 48 8d a5 10 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+272]
3 years ago
00160 5f pop rdi
00161 5e pop rsi
00162 5d pop rbp
00163 c3 ret 0
3 years ago
??$_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
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xloctime
3 years ago
; 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
3 years ago
; 173 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
3 years ago
$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]
3 years ago
0001e 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 174 : _Cvt = _Lobj._Getcvt();
0002a 48 8d 95 c8 00
3 years ago
00 00 lea rdx, QWORD PTR $T1[rbp]
3 years ago
00031 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00038 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
3 years ago
0003e 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00049 48 8b f0 mov rsi, rax
0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00051 f3 a4 rep movsb
3 years ago
3 years ago
; 175 :
; 176 : if (is_same_v<_Elem2, wchar_t>) {
3 years ago
3 years ago
00053 33 c0 xor eax, eax
00055 83 f8 01 cmp eax, 1
00058 74 5c je SHORT $LN2@Getvals
3 years ago
3 years ago
; 177 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
3 years ago
3 years ago
0005a 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00061 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
3 years ago
00067 48 8b c8 mov rcx, rax
0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0006f 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00076 48 89 41 10 mov QWORD PTR [rcx+16], rax
3 years ago
3 years ago
; 178 : _Months =
3 years ago
3 years ago
0007a 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
00081 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
3 years ago
00087 48 8b c8 mov rcx, rax
0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0008f 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00096 48 89 41 18 mov QWORD PTR [rcx+24], rax
3 years ago
3 years ago
; 179 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 180 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
3 years ago
3 years ago
0009a 48 8d 0d 00 00
3 years ago
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@
3 years ago
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
000ad 48 89 41 20 mov QWORD PTR [rcx+32], rax
3 years ago
3 years ago
; 181 : } else {
3 years ago
3 years ago
000b1 e9 a3 00 00 00 jmp $LN3@Getvals
3 years ago
$LN2@Getvals:
3 years ago
; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
000b6 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
000bd 48 83 c0 2c add rax, 44 ; 0000002cH
000c1 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR tv85[rbp], rax
3 years ago
000c8 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
000cf ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
3 years ago
000d5 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR tv85[rbp]
3 years ago
000dc 4c 8b c1 mov r8, rcx
000df 33 d2 xor edx, edx
000e1 48 8b c8 mov rcx, rax
000e4 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
000e9 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax
3 years ago
3 years ago
; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
000f4 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
000fb 48 83 c0 2c add rax, 44 ; 0000002cH
000ff 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR tv93[rbp], rax
3 years ago
00106 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
3 years ago
0010d ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
3 years ago
00113 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR tv93[rbp]
3 years ago
0011a 4c 8b c1 mov r8, rcx
0011d 33 d2 xor edx, edx
0011f 48 8b c8 mov rcx, rax
00122 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
00127 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax
3 years ago
3 years ago
; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
3 years ago
3 years ago
00132 48 8b 85 30 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00139 48 83 c0 2c add rax, 44 ; 0000002cH
0013d 4c 8b c0 mov r8, rax
00140 33 d2 xor edx, edx
00142 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
3 years ago
00149 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
0014e 48 8b 8d 30 01
3 years ago
00 00 mov rcx, QWORD PTR this$[rbp]
3 years ago
00155 48 89 41 20 mov QWORD PTR [rcx+32], rax
3 years ago
$LN3@Getvals:
3 years ago
; 185 : }
; 186 : }
3 years ago
3 years ago
00159 48 8d a5 10 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+272]
3 years ago
00160 5f pop rdi
00161 5e pop rsi
00162 5d pop rbp
00163 c3 ret 0
3 years ago
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocale
3 years ago
; 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
3 years ago
; 522 : _Elem* __CRTDECL _Maklocstr(const char* _Ptr, _Elem*, const _Locinfo::_Cvtvec&) {
3 years ago
$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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 523 : // convert C string to _Elem sequence using _Cvtvec
; 524 : size_t _Count = _CSTD strlen(_Ptr) + 1;
00029 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
00030 e8 00 00 00 00 call strlen
00035 48 ff c0 inc rax
00038 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
; 525 :
; 526 : _Elem* _Ptrdest = static_cast<_Elem*>(_calloc_dbg(_Count, sizeof(_Elem), _CRT_BLOCK, __FILE__, __LINE__));
0003c c7 44 24 20 0e
02 00 00 mov DWORD PTR [rsp+32], 526 ; 0000020eH
00044 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
0004b 41 b8 02 00 00
3 years ago
00 mov r8d, 2
3 years ago
00051 ba 01 00 00 00 mov edx, 1
00056 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0005a ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__calloc_dbg
3 years ago
00060 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
3 years ago
3 years ago
; 527 :
; 528 : if (!_Ptrdest) {
3 years ago
3 years ago
00064 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00069 75 05 jne SHORT $LN5@Maklocstr
3 years ago
3 years ago
; 529 : _Xbad_alloc();
3 years ago
3 years ago
0006b e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
3 years ago
$LN5@Maklocstr:
3 years ago
; 530 : }
; 531 :
; 532 : for (_Elem* _Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) {
3 years ago
3 years ago
00070 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
00074 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
00078 eb 27 jmp SHORT $LN4@Maklocstr
3 years ago
$LN2@Maklocstr:
3 years ago
0007a 48 8b 45 08 mov rax, QWORD PTR _Count$[rbp]
0007e 48 ff c8 dec rax
00081 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00085 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
00089 48 ff c0 inc rax
0008c 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
00090 48 8b 85 40 01
3 years ago
00 00 mov rax, QWORD PTR _Ptr$[rbp]
3 years ago
00097 48 ff c0 inc rax
0009a 48 89 85 40 01
3 years ago
00 00 mov QWORD PTR _Ptr$[rbp], rax
$LN4@Maklocstr:
3 years ago
000a1 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000a6 76 12 jbe SHORT $LN3@Maklocstr
3 years ago
3 years ago
; 533 : *_Ptrnext = static_cast<_Elem>(static_cast<unsigned char>(*_Ptr));
3 years ago
3 years ago
000a8 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
000ac 48 8b 8d 40 01
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
000b3 0f b6 09 movzx ecx, BYTE PTR [rcx]
000b6 88 08 mov BYTE PTR [rax], cl
3 years ago
3 years ago
; 534 : }
3 years ago
3 years ago
000b8 eb c0 jmp SHORT $LN2@Maklocstr
3 years ago
$LN3@Maklocstr:
3 years ago
; 535 :
; 536 : return _Ptrdest;
3 years ago
3 years ago
000ba 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
3 years ago
$LN6@Maklocstr:
3 years ago
; 537 : }
3 years ago
3 years ago
000be 48 8d a5 28 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+296]
3 years ago
000c5 5f pop rdi
000c6 5d pop rbp
000c7 c3 ret 0
3 years ago
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<char>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocnum
3 years ago
; 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]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E85225E0_xlocnum
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 91 : const size_t _Count = _CSTD wcslen(_Ptr) + 1;
3 years ago
0001f 48 8b 8d 20 01
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
00026 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp_wcslen
3 years ago
0002c 48 ff c0 inc rax
0002f 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
3 years ago
; 92 :
; 93 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Count, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
3 years ago
00033 8b 05 00 00 00
3 years ago
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
3 years ago
00039 83 c0 03 add eax, 3
0003c 89 44 24 20 mov DWORD PTR [rsp+32], eax
00040 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00047 41 b8 02 00 00
3 years ago
00 mov r8d, 2
3 years ago
0004d ba 02 00 00 00 mov edx, 2
00052 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
00056 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__calloc_dbg
3 years ago
0005c 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
3 years ago
; 94 :
; 95 : if (!_Ptrdest) {
3 years ago
00060 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00065 75 05 jne SHORT $LN2@Maklocwcs
3 years ago
; 96 : _Xbad_alloc();
3 years ago
00067 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
3 years ago
$LN2@Maklocwcs:
; 97 : }
; 98 :
; 99 : _CSTD wmemcpy(_Ptrdest, _Ptr, _Count);
3 years ago
0006c 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
00070 48 8b 95 20 01
3 years ago
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
3 years ago
00077 48 8b 4d 28 mov rcx, QWORD PTR _Ptrdest$[rbp]
0007b e8 00 00 00 00 call wmemcpy
3 years ago
; 100 : return _Ptrdest;
3 years ago
00080 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
3 years ago
$LN3@Maklocwcs:
; 101 : }
3 years ago
00084 48 8d a5 08 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+264]
3 years ago
0008b 5f pop rdi
0008c 5d pop rbp
0008d c3 ret 0
3 years ago
?_Maklocwcs@std@@YAPEA_WPEB_W@Z ENDP ; std::_Maklocwcs
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocale
3 years ago
; 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
3 years ago
; 540 : inline wchar_t* __CRTDECL _Maklocstr(const char* _Ptr, wchar_t*, const _Locinfo::_Cvtvec& _Cvt) {
3 years ago
$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]
3 years ago
0001d 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
00022 b9 52 00 00 00 mov ecx, 82 ; 00000052H
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 58
3 years ago
02 00 00 mov rcx, QWORD PTR [rsp+600]
3 years ago
00036 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 f8 01
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 541 : // convert C string to wchar_t sequence using _Cvtvec
; 542 : size_t _Count;
; 543 : size_t _Count1;
; 544 : size_t _Wchars;
; 545 : const char* _Ptr1;
; 546 : int _Bytes;
; 547 : wchar_t _Wc;
; 548 : mbstate_t _Mbst1 = {};
00053 48 8d 85 c8 00
3 years ago
00 00 lea rax, QWORD PTR _Mbst1$[rbp]
3 years ago
0005a 48 8b f8 mov rdi, rax
0005d 33 c0 xor eax, eax
0005f b9 08 00 00 00 mov ecx, 8
00064 f3 aa rep stosb
3 years ago
3 years ago
; 549 :
; 550 : _Count1 = _CSTD strlen(_Ptr) + 1;
3 years ago
3 years ago
00066 48 8b 8d 20 02
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
0006d e8 00 00 00 00 call strlen
00072 48 ff c0 inc rax
00075 48 89 45 28 mov QWORD PTR _Count1$[rbp], rax
3 years ago
3 years ago
; 551 : for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; _Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) {
3 years ago
3 years ago
00079 48 8b 45 28 mov rax, QWORD PTR _Count1$[rbp]
0007d 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00081 48 c7 45 48 00
3 years ago
00 00 00 mov QWORD PTR _Wchars$[rbp], 0
3 years ago
00089 48 8b 85 20 02
3 years ago
00 00 mov rax, QWORD PTR _Ptr$[rbp]
3 years ago
00090 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
00094 eb 35 jmp SHORT $LN4@Maklocstr
3 years ago
$LN2@Maklocstr:
3 years ago
00096 48 63 85 84 00
3 years ago
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
3 years ago
0009d 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
000a1 48 2b c8 sub rcx, rax
000a4 48 8b c1 mov rax, rcx
000a7 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
000ab 48 63 85 84 00
3 years ago
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
3 years ago
000b2 48 8b 4d 68 mov rcx, QWORD PTR _Ptr1$[rbp]
000b6 48 03 c8 add rcx, rax
000b9 48 8b c1 mov rax, rcx
000bc 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
000c0 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
000c4 48 ff c0 inc rax
000c7 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
3 years ago
$LN4@Maklocstr:
3 years ago
000cb 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000d0 76 3a jbe SHORT $LN3@Maklocstr
3 years ago
3 years ago
; 552 : if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) {
3 years ago
3 years ago
000d2 48 8b 85 30 02
3 years ago
00 00 mov rax, QWORD PTR _Cvt$[rbp]
3 years ago
000d9 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
000de 4c 8d 8d c8 00
3 years ago
00 00 lea r9, QWORD PTR _Mbst1$[rbp]
3 years ago
000e5 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
000e9 48 8b 55 68 mov rdx, QWORD PTR _Ptr1$[rbp]
000ed 48 8d 8d a4 00
3 years ago
00 00 lea rcx, QWORD PTR _Wc$[rbp]
3 years ago
000f4 e8 00 00 00 00 call _Mbrtowc
000f9 89 85 84 00 00
3 years ago
00 mov DWORD PTR _Bytes$[rbp], eax
3 years ago
000ff 83 bd 84 00 00
3 years ago
00 00 cmp DWORD PTR _Bytes$[rbp], 0
3 years ago
00106 7f 02 jg SHORT $LN8@Maklocstr
3 years ago
3 years ago
; 553 : break;
3 years ago
3 years ago
00108 eb 02 jmp SHORT $LN3@Maklocstr
3 years ago
$LN8@Maklocstr:
3 years ago
; 554 : }
; 555 : }
3 years ago
3 years ago
0010a eb 8a jmp SHORT $LN2@Maklocstr
3 years ago
$LN3@Maklocstr:
3 years ago
; 556 :
; 557 : ++_Wchars; // count terminating nul
3 years ago
3 years ago
0010c 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
00110 48 ff c0 inc rax
00113 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
3 years ago
3 years ago
; 558 :
; 559 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Wchars, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
3 years ago
3 years ago
00117 c7 44 24 20 2f
02 00 00 mov DWORD PTR [rsp+32], 559 ; 0000022fH
0011f 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00126 41 b8 02 00 00
3 years ago
00 mov r8d, 2
3 years ago
0012c ba 02 00 00 00 mov edx, 2
00131 48 8b 4d 48 mov rcx, QWORD PTR _Wchars$[rbp]
00135 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__calloc_dbg
3 years ago
0013b 48 89 85 e8 00
3 years ago
00 00 mov QWORD PTR _Ptrdest$[rbp], rax
3 years ago
; 560 :
; 561 : if (!_Ptrdest) {
3 years ago
3 years ago
00142 48 83 bd e8 00
3 years ago
00 00 00 cmp QWORD PTR _Ptrdest$[rbp], 0
3 years ago
0014a 75 05 jne SHORT $LN9@Maklocstr
3 years ago
3 years ago
; 562 : _Xbad_alloc();
3 years ago
3 years ago
0014c e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
3 years ago
$LN9@Maklocstr:
3 years ago
; 563 : }
; 564 :
; 565 : wchar_t* _Ptrnext = _Ptrdest;
3 years ago
3 years ago
00151 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
3 years ago
00158 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
3 years ago
; 566 : mbstate_t _Mbst2 = {};
3 years ago
3 years ago
0015f 48 8d 85 28 01
3 years ago
00 00 lea rax, QWORD PTR _Mbst2$[rbp]
3 years ago
00166 48 8b f8 mov rdi, rax
00169 33 c0 xor eax, eax
0016b b9 08 00 00 00 mov ecx, 8
00170 f3 aa rep stosb
3 years ago
3 years ago
; 567 :
; 568 : for (; 0 < _Wchars; _Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) {
3 years ago
3 years ago
00172 eb 4d jmp SHORT $LN7@Maklocstr
3 years ago
$LN5@Maklocstr:
3 years ago
00174 48 63 85 84 00
3 years ago
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
3 years ago
0017b 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0017f 48 2b c8 sub rcx, rax
00182 48 8b c1 mov rax, rcx
00185 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00189 48 63 85 84 00
3 years ago
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
3 years ago
00190 48 8b 8d 20 02
3 years ago
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
3 years ago
00197 48 03 c8 add rcx, rax
0019a 48 8b c1 mov rax, rcx
0019d 48 89 85 20 02
3 years ago
00 00 mov QWORD PTR _Ptr$[rbp], rax
3 years ago
001a4 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
001a8 48 ff c8 dec rax
001ab 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
001af 48 8b 85 08 01
3 years ago
00 00 mov rax, QWORD PTR _Ptrnext$[rbp]
3 years ago
001b6 48 83 c0 02 add rax, 2
001ba 48 89 85 08 01
3 years ago
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
$LN7@Maklocstr:
3 years ago
001c1 48 83 7d 48 00 cmp QWORD PTR _Wchars$[rbp], 0
001c6 76 40 jbe SHORT $LN6@Maklocstr
3 years ago
3 years ago
; 569 : if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) {
3 years ago
3 years ago
001c8 48 8b 85 30 02
3 years ago
00 00 mov rax, QWORD PTR _Cvt$[rbp]
3 years ago
001cf 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
001d4 4c 8d 8d 28 01
3 years ago
00 00 lea r9, QWORD PTR _Mbst2$[rbp]
3 years ago
001db 4c 8b 45 28 mov r8, QWORD PTR _Count1$[rbp]
001df 48 8b 95 20 02
3 years ago
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
3 years ago
001e6 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
3 years ago
001ed e8 00 00 00 00 call _Mbrtowc
001f2 89 85 84 00 00
3 years ago
00 mov DWORD PTR _Bytes$[rbp], eax
3 years ago
001f8 83 bd 84 00 00
3 years ago
00 00 cmp DWORD PTR _Bytes$[rbp], 0
3 years ago
001ff 7f 02 jg SHORT $LN10@Maklocstr
3 years ago
3 years ago
; 570 : break;
3 years ago
3 years ago
00201 eb 05 jmp SHORT $LN6@Maklocstr
3 years ago
$LN10@Maklocstr:
3 years ago
; 571 : }
; 572 : }
3 years ago
3 years ago
00203 e9 6c ff ff ff jmp $LN5@Maklocstr
3 years ago
$LN6@Maklocstr:
3 years ago
; 573 :
; 574 : *_Ptrnext = L'\0';
3 years ago
3 years ago
00208 33 c0 xor eax, eax
0020a 48 8b 8d 08 01
3 years ago
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
3 years ago
00211 66 89 01 mov WORD PTR [rcx], ax
3 years ago
3 years ago
; 575 :
; 576 : return _Ptrdest;
3 years ago
3 years ago
00214 48 8b 85 e8 00
3 years ago
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN11@Maklocstr:
3 years ago
; 577 : }
3 years ago
3 years ago
0021b 48 8b f8 mov rdi, rax
0021e 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
00222 48 8d 15 00 00
3 years ago
00 00 lea rdx, OFFSET FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData
3 years ago
00229 e8 00 00 00 00 call _RTC_CheckStackVars
0022e 48 8b c7 mov rax, rdi
00231 48 8b 8d f8 01
3 years ago
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
3 years ago
00238 48 33 cd xor rcx, rbp
0023b e8 00 00 00 00 call __security_check_cookie
00240 48 8d a5 08 02
3 years ago
00 00 lea rsp, QWORD PTR [rbp+520]
3 years ago
00247 5f pop rdi
00248 5d pop rbp
00249 c3 ret 0
3 years ago
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ
3 years ago
_TEXT SEGMENT
3 years ago
_Lock$ = 4
__$ArrayPad$ = 216
this$ = 256
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ PROC ; std::_Container_base12::_Orphan_all_locked, COMDAT
3 years ago
3 years ago
; 1095 : void _Orphan_all_locked() noexcept {
3 years ago
3 years ago
$LN3:
3 years ago
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
3 years ago
00007 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
3 years ago
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
3 years ago
00013 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00018 b9 0a 00 00 00 mov ecx, 10
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00022 f3 ab rep stosd
00024 48 8b 8c 24 28
01 00 00 mov rcx, QWORD PTR [rsp+296]
0002c 48 8b 05 00 00
3 years ago
00 00 mov rax, QWORD PTR __security_cookie
3 years ago
00033 48 33 c5 xor rax, rbp
00036 48 89 85 d8 00
3 years ago
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
3 years ago
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
3 years ago
; 1096 : _Lockit _Lock(_LOCK_DEBUG);
3 years ago
3 years ago
00049 ba 03 00 00 00 mov edx, 3
0004e 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
00052 ff 15 00 00 00
00 call QWORD PTR __imp_??0_Lockit@std@@QEAA@H@Z
3 years ago
; 1097 : _Orphan_all_unlocked();
3 years ago
00058 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR this$[rbp]
0005f e8 00 00 00 00 call ?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ ; std::_Container_base12::_Orphan_all_unlocked
; 1098 : }
3 years ago
3 years ago
00064 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
00068 ff 15 00 00 00
00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ
0006e 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00072 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcFrameData
00079 e8 00 00 00 00 call _RTC_CheckStackVars
0007e 48 8b 8d d8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00085 48 33 cd xor rcx, rbp
00088 e8 00 00 00 00 call __security_check_cookie
0008d 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00094 5f pop rdi
00095 5d pop rbp
00096 c3 ret 0
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ ENDP ; std::_Container_base12::_Orphan_all_locked
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ
_TEXT SEGMENT
_Pnext$1 = 8
this$ = 256
?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ PROC ; std::_Container_base12::_Orphan_all_unlocked, COMDAT
; 1220 : _CONSTEXPR20_CONTAINER void _Container_base12::_Orphan_all_unlocked() noexcept {
$LN6:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 1221 : for (auto& _Pnext = _Myproxy->_Myfirstiter; _Pnext; _Pnext = _Pnext->_Mynextiter) { // TRANSITION, VSO-1269037
0001f 48 8b 85 00 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00026 48 8b 00 mov rax, QWORD PTR [rax]
00029 48 83 c0 08 add rax, 8
0002d 48 89 45 08 mov QWORD PTR _Pnext$1[rbp], rax
00031 eb 12 jmp SHORT $LN4@Orphan_all
3 years ago
$LN2@Orphan_all:
3 years ago
00033 48 8b 45 08 mov rax, QWORD PTR _Pnext$1[rbp]
00037 48 8b 00 mov rax, QWORD PTR [rax]
0003a 48 8b 4d 08 mov rcx, QWORD PTR _Pnext$1[rbp]
0003e 48 8b 40 08 mov rax, QWORD PTR [rax+8]
00042 48 89 01 mov QWORD PTR [rcx], rax
3 years ago
$LN4@Orphan_all:
3 years ago
00045 48 8b 45 08 mov rax, QWORD PTR _Pnext$1[rbp]
00049 48 83 38 00 cmp QWORD PTR [rax], 0
0004d 74 10 je SHORT $LN3@Orphan_all
3 years ago
3 years ago
; 1222 : _Pnext->_Myproxy = nullptr;
3 years ago
3 years ago
0004f 48 8b 45 08 mov rax, QWORD PTR _Pnext$1[rbp]
00053 48 8b 00 mov rax, QWORD PTR [rax]
00056 48 c7 00 00 00
3 years ago
00 00 mov QWORD PTR [rax], 0
3 years ago
; 1223 : }
3 years ago
3 years ago
0005d eb d4 jmp SHORT $LN2@Orphan_all
3 years ago
$LN3@Orphan_all:
3 years ago
; 1224 : _Myproxy->_Myfirstiter = nullptr;
3 years ago
3 years ago
0005f 48 8b 85 00 01
3 years ago
00 00 mov rax, QWORD PTR this$[rbp]
3 years ago
00066 48 8b 00 mov rax, QWORD PTR [rax]
00069 48 c7 40 08 00
3 years ago
00 00 00 mov QWORD PTR [rax+8], 0
3 years ago
; 1225 : }
3 years ago
00071 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00078 5f pop rdi
00079 5d pop rbp
0007a c3 ret 0
?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ ENDP ; std::_Container_base12::_Orphan_all_unlocked
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?_Orphan_all@_Container_base12@std@@QEAAXXZ
_TEXT SEGMENT
this$ = 224
?_Orphan_all@_Container_base12@std@@QEAAXXZ PROC ; std::_Container_base12::_Orphan_all, COMDAT
3 years ago
; 1227 : _CONSTEXPR20_CONTAINER void _Container_base12::_Orphan_all() noexcept {
3 years ago
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1228 : #if _ITERATOR_DEBUG_LEVEL == 2
; 1229 : if (_Myproxy) { // proxy allocated, drain it
0001f 48 8b 85 e0 00
00 00 mov rax, QWORD PTR this$[rbp]
00026 48 83 38 00 cmp QWORD PTR [rax], 0
0002a 74 0c je SHORT $LN2@Orphan_all
; 1230 : #ifdef __cpp_lib_constexpr_dynamic_alloc
; 1231 : if (_STD is_constant_evaluated()) {
; 1232 : _Orphan_all_unlocked();
; 1233 : } else
; 1234 : #endif // __cpp_lib_constexpr_dynamic_alloc
; 1235 : {
; 1236 : _Orphan_all_locked();
0002c 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR this$[rbp]
00033 e8 00 00 00 00 call ?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ ; std::_Container_base12::_Orphan_all_locked
$LN2@Orphan_all:
; 1237 : }
; 1238 : }
; 1239 : #endif // _ITERATOR_DEBUG_LEVEL == 2
; 1240 : }
00038 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0003f 5f pop rdi
00040 5d pop rbp
00041 c3 ret 0
3 years ago
?_Orphan_all@_Container_base12@std@@QEAAXXZ ENDP ; std::_Container_base12::_Orphan_all
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
3 years ago
; 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
3 years ago
; 153 : inline void _Adjust_manually_vector_aligned(void*& _Ptr, size_t& _Bytes) {
3 years ago
$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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 154 : // adjust parameters from _Allocate_manually_vector_aligned to pass to operator delete
; 155 : _Bytes += _Non_user_size;
00024 48 8b 85 68 01
3 years ago
00 00 mov rax, QWORD PTR _Bytes$[rbp]
3 years ago
0002b 48 8b 00 mov rax, QWORD PTR [rax]
0002e 48 83 c0 2f add rax, 47 ; 0000002fH
00032 48 8b 8d 68 01
3 years ago
00 00 mov rcx, QWORD PTR _Bytes$[rbp]
3 years ago
00039 48 89 01 mov QWORD PTR [rcx], rax
3 years ago
3 years ago
; 156 :
; 157 : const uintptr_t* const _Ptr_user = reinterpret_cast<uintptr_t*>(_Ptr);
3 years ago
3 years ago
0003c 48 8b 85 60 01
3 years ago
00 00 mov rax, QWORD PTR _Ptr$[rbp]
3 years ago
00043 48 8b 00 mov rax, QWORD PTR [rax]
00046 48 89 45 08 mov QWORD PTR _Ptr_user$[rbp], rax
3 years ago
3 years ago
; 158 : const uintptr_t _Ptr_container = _Ptr_user[-1];
3 years ago
3 years ago
0004a b8 08 00 00 00 mov eax, 8
0004f 48 6b c0 ff imul rax, rax, -1
00053 48 8b 4d 08 mov rcx, QWORD PTR _Ptr_user$[rbp]
00057 48 8b 04 01 mov rax, QWORD PTR [rcx+rax]
0005b 48 89 45 28 mov QWORD PTR _Ptr_container$[rbp], rax
3 years ago
$LN4@Adjust_man:
3 years ago
; 159 :
; 160 : // If the following asserts, it likely means that we are performing
; 161 : // an aligned delete on memory coming from an unaligned allocation.
; 162 : _STL_ASSERT(_Ptr_user[-2] == _Big_allocation_sentinel, "invalid argument");
0005f b8 08 00 00 00 mov eax, 8
00064 48 6b c0 fe imul rax, rax, -2
00068 48 8b 4d 08 mov rcx, QWORD PTR _Ptr_user$[rbp]
0006c 48 ba fa fa fa
3 years ago
fa fa fa fa fa mov rdx, -361700864190383366 ; fafafafafafafafaH
3 years ago
00076 48 39 14 01 cmp QWORD PTR [rcx+rax], rdx
0007a 75 02 jne SHORT $LN14@Adjust_man
0007c eb 77 jmp SHORT $LN15@Adjust_man
3 years ago
$LN14@Adjust_man:
$LN7@Adjust_man:
3 years ago
0007e 8b 05 00 00 00
3 years ago
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
3 years ago
00084 83 c0 09 add eax, 9
00087 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@
3 years ago
0008e 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
00093 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
3 years ago
0009a 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
0009f 45 33 c9 xor r9d, r9d
000a2 44 8b c0 mov r8d, eax
000a5 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
000ac b9 02 00 00 00 mov ecx, 2
000b1 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__CrtDbgReport
3 years ago
000b7 83 f8 01 cmp eax, 1
000ba 75 03 jne SHORT $LN19@Adjust_man
000bc cc int 3
000bd 33 c0 xor eax, eax
3 years ago
$LN19@Adjust_man:
3 years ago
000bf 8b 05 00 00 00
3 years ago
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
3 years ago
000c5 83 c0 09 add eax, 9
000c8 48 c7 44 24 20
3 years ago
00 00 00 00 mov QWORD PTR [rsp+32], 0
3 years ago
000d1 44 8b c8 mov r9d, eax
000d4 4c 8d 05 00 00
00 00 lea r8, OFFSET FLAT:??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
000db 48 8d 15 00 00
3 years ago
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@
3 years ago
000e2 48 8d 0d 00 00
3 years ago
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@
3 years ago
000e9 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__invalid_parameter
3 years ago
000ef 33 c0 xor eax, eax
000f1 85 c0 test eax, eax
000f3 75 89 jne SHORT $LN7@Adjust_man
3 years ago
$LN15@Adjust_man:
3 years ago
000f5 33 c0 xor eax, eax
000f7 85 c0 test eax, eax
000f9 0f 85 60 ff ff
3 years ago
ff jne $LN4@Adjust_man
3 years ago
; 163 :
; 164 : // Extra paranoia on aligned allocation/deallocation; ensure _Ptr_container is
; 165 : // in range [_Min_back_shift, _Non_user_size]
; 166 : #ifdef _DEBUG
; 167 : constexpr uintptr_t _Min_back_shift = 2 * sizeof(void*);
3 years ago
3 years ago
000ff 48 c7 45 48 10
3 years ago
00 00 00 mov QWORD PTR _Min_back_shift$[rbp], 16
3 years ago
; 168 : #else // ^^^ _DEBUG ^^^ // vvv !_DEBUG vvv
; 169 : constexpr uintptr_t _Min_back_shift = sizeof(void*);
; 170 : #endif // _DEBUG
; 171 : const uintptr_t _Back_shift = reinterpret_cast<uintptr_t>(_Ptr) - _Ptr_container;
3 years ago
3 years ago
00107 48 8b 85 60 01
3 years ago
00 00 mov rax, QWORD PTR _Ptr$[rbp]
3 years ago
0010e 48 8b 4d 28 mov rcx, QWORD PTR _Ptr_container$[rbp]
00112 48 8b 00 mov rax, QWORD PTR [rax]
00115 48 2b c1 sub rax, rcx
00118 48 89 45 68 mov QWORD PTR _Back_shift$[rbp], rax
3 years ago
$LN10@Adjust_man:
3 years ago
; 172 : _STL_VERIFY(_Back_shift >= _Min_back_shift && _Back_shift <= _Non_user_size, "invalid argument");
3 years ago
3 years ago
0011c 48 83 7d 68 10 cmp QWORD PTR _Back_shift$[rbp], 16
00121 72 09 jb SHORT $LN16@Adjust_man
00123 48 83 7d 68 2f cmp QWORD PTR _Back_shift$[rbp], 47 ; 0000002fH
00128 77 02 ja SHORT $LN16@Adjust_man
0012a eb 77 jmp SHORT $LN17@Adjust_man
3 years ago
$LN16@Adjust_man:
$LN13@Adjust_man:
3 years ago
0012c 8b 05 00 00 00
3 years ago
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
3 years ago
00132 83 c0 13 add eax, 19
00135 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@
3 years ago
0013c 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
00141 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
3 years ago
00148 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
0014d 45 33 c9 xor r9d, r9d
00150 44 8b c0 mov r8d, eax
00153 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
0015a b9 02 00 00 00 mov ecx, 2
0015f ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__CrtDbgReport
3 years ago
00165 83 f8 01 cmp eax, 1
00168 75 03 jne SHORT $LN20@Adjust_man
0016a cc int 3
0016b 33 c0 xor eax, eax
3 years ago
$LN20@Adjust_man:
3 years ago
0016d 8b 05 00 00 00
3 years ago
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
3 years ago
00173 83 c0 13 add eax, 19
00176 48 c7 44 24 20
3 years ago
00 00 00 00 mov QWORD PTR [rsp+32], 0
3 years ago
0017f 44 8b c8 mov r9d, eax
00182 4c 8d 05 00 00
00 00 lea r8, OFFSET FLAT:??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
00189 48 8d 15 00 00
3 years ago
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@
3 years ago
00190 48 8d 0d 00 00
3 years ago
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@
3 years ago
00197 ff 15 00 00 00
3 years ago
00 call QWORD PTR __imp__invalid_parameter
3 years ago
0019d 33 c0 xor eax, eax
0019f 85 c0 test eax, eax
001a1 75 89 jne SHORT $LN13@Adjust_man
3 years ago
$LN17@Adjust_man:
3 years ago
001a3 33 c0 xor eax, eax
001a5 85 c0 test eax, eax
001a7 0f 85 6f ff ff
3 years ago
ff jne $LN10@Adjust_man
3 years ago
; 173 : _Ptr = reinterpret_cast<void*>(_Ptr_container);
3 years ago
3 years ago
001ad 48 8b 85 60 01
3 years ago
00 00 mov rax, QWORD PTR _Ptr$[rbp]
3 years ago
001b4 48 8b 4d 28 mov rcx, QWORD PTR _Ptr_container$[rbp]
001b8 48 89 08 mov QWORD PTR [rax], rcx
3 years ago
3 years ago
; 174 : }
3 years ago
3 years ago
001bb 48 8d a5 48 01
3 years ago
00 00 lea rsp, QWORD PTR [rbp+328]
3 years ago
001c2 5f pop rdi
001c3 5d pop rbp
001c4 c3 ret 0
3 years ago
?_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]
3 years ago
0001d 48 8d 0d 00 00
3 years ago
00 00 lea rcx, OFFSET FLAT:__93DC0B45_wchar@h
3 years ago
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
3 years ago
; 235 : #pragma warning(suppress: 6386) // Buffer overrun
; 236 : return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t));
3 years ago
00029 48 8b 85 f0 00
3 years ago
00 00 mov rax, QWORD PTR _N$[rbp]
3 years ago
00030 48 d1 e0 shl rax, 1
00033 4c 8b c0 mov r8, rax
00036 48 8b 95 e8 00
3 years ago
00 00 mov rdx, QWORD PTR _S2$[rbp]
3 years ago
0003d 48 8b 8d e0 00
3 years ago
00 00 mov rcx, QWORD PTR _S1$[rbp]
3 years ago
00044 e8 00 00 00 00 call memcpy
3 years ago
; 237 : }
3 years ago
00049 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00050 5f pop rdi
00051 5d pop rbp
00052 c3 ret 0
3 years ago
wmemcpy ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00029 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00030 5f pop rdi
00031 5d pop rbp
00032 c3 ret 0
3 years ago
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
3 years ago
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
3 years ago
?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
3 years ago
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Jit.cpp
3 years ago
; 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]
3 years ago
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__8546B33E_Jit@cpp
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f 48 8d a5 c8 00
3 years ago
00 00 lea rsp, QWORD PTR [rbp+200]
3 years ago
00026 5f pop rdi
00027 5d pop rbp
00028 c3 ret 0
3 years ago
?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete
_TEXT ENDS
END