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.

4273 lines
147 KiB

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.29.30038.1
include listing.inc
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
msvcjmc SEGMENT
__B2D2BA86_ctype@h DB 01H
__79C7FC57_basetsd@h DB 01H
__1FEB9909_corecrt_memcpy_s@h DB 01H
__A751F051_corecrt_memory@h DB 01H
__9200769A_corecrt_wstring@h DB 01H
__32E5F013_string@h DB 01H
__D545DD43_guiddef@h DB 01H
__D5DDFBF3_winnt@h DB 01H
__439612F0_processthreadsapi@h DB 01H
__5733279A_memoryapi@h DB 01H
__D4435474_winerror@h DB 01H
__B3ED30D4_winbase@h DB 01H
__DB057BA3_winuser@h DB 01H
__A7113148_winioctl@h DB 01H
__B49664B7_stdlib@h DB 01H
__EC5BC72C_propidl@h DB 01H
__6DA674A0_oleauto@h DB 01H
__A118E6DC_stralign@h DB 01H
__02E23235_vcruntime_new@h DB 01H
__A2143F22_corecrt_stdio_config@h DB 01H
__829E1958_corecrt_wstdio@h DB 01H
__6DFAE8B8_stdio@h DB 01H
__C6E16F6F_corecrt_wconio@h DB 01H
__6D390390_corecrt_wio@h DB 01H
__1157D6BA_corecrt_wtime@h DB 01H
__1DC1E279_stat@h DB 01H
__93DC0B45_wchar@h DB 01H
__256B8DBF_cstddef DB 01H
__741AE07E_corecrt_math@h DB 01H
__80A05712_cstdlib DB 01H
__44860E64_limits DB 01H
__D1154D4E_type_traits DB 01H
__20BB4341_malloc@h DB 01H
__BDCC0984_vcruntime_exception@h DB 01H
__89F7010A_exception DB 01H
__7CE971A6_xutility DB 01H
__DD38B15A_xmemory DB 01H
__CB45C7EF_tuple DB 01H
__3033C7F7_xpolymorphic_allocator@h DB 01H
__A9EB37C6_xstring DB 01H
__8CFB8476_string DB 01H
__6D66DEAE_cmath DB 01H
__00B93B57_stdexcept DB 01H
__79ECA8A5_xcall_once@h DB 01H
__A0B61CF9_time@h DB 01H
__8476F639_xthreads@h DB 01H
__2FB352A6_atomic DB 01H
__C6B1BA85_system_error DB 01H
__65F43743_vcruntime_typeinfo@h DB 01H
__0C3682BF_typeinfo DB 01H
__F82802EA_memory DB 01H
__D46D55E5_xfacet DB 01H
__13BF6177_xlocinfo DB 01H
__76D543F7_xlocale DB 01H
__2A5A1664_xiosbase DB 01H
__E85225E0_xlocnum DB 01H
__FD1AE8DD_ios DB 01H
__C33030D8_xlocmon DB 01H
__B7A2C865_xloctime DB 01H
__8660297E_xed-util@h DB 01H
__F79B480A_xed-iform-map@h DB 01H
__F5B5218E_xed-inst@h DB 01H
__68D74A7D_xed-flags@h DB 01H
__A4B65E9F_xed-operand-accessors@h DB 01H
__E8B35E51_xed-state@h DB 01H
__1E3F2A25_xed-encode@h DB 01H
__1C89993E_xed-encoder-hl@h DB 01H
__0AA8C18B_xed-decoded-inst-api@h DB 01H
__0A045E7B_NativeCode@h DB 01H
__A4C33DB6_Obfuscator@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
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 __local_stdio_printf_options
PUBLIC _vfprintf_l
PUBLIC printf
PUBLIC wmemcpy
PUBLIC ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned
PUBLIC ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all
PUBLIC ?_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
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 ?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 ?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z ; ObfObfuscate1
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 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
PUBLIC ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA ; `std::_Adjust_manually_vector_aligned'::`1'::__LINE__Var
PUBLIC ??_C@_0BB@FCMFBGOM@invalid?5argument@ ; `string'
PUBLIC ??_C@_02DKCKIIND@?$CFs@ ; `string'
PUBLIC ??_C@_0GI@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'
PUBLIC ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ ; `string'
PUBLIC ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ ; `string'
PUBLIC ??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
PUBLIC ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA ; `std::_Maklocwcs'::`1'::__LINE__Var
PUBLIC ??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
PUBLIC ??_C@_0BK@KHPEMLDC@Depth?3?5?$CFu?0?5InstCount?3?5?$CFu?6@ ; `string'
PUBLIC ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ ; `string'
PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string'
EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete
EXTRN __imp__invalid_parameter:PROC
EXTRN memcpy:PROC
EXTRN __imp_wcslen:PROC
EXTRN strlen:PROC
EXTRN __imp_rand:PROC
EXTRN __imp__calloc_dbg:PROC
EXTRN __imp__CrtDbgReport:PROC
EXTRN __imp_??0_Lockit@std@@QEAA@H@Z:PROC
EXTRN __imp_??1_Lockit@std@@QEAA@XZ:PROC
EXTRN __imp___acrt_iob_func:PROC
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc
EXTRN _Mbrtowc:PROC
EXTRN __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ:PROC
EXTRN __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ:PROC
EXTRN __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ:PROC
EXTRN __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ:PROC
EXTRN __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ:PROC
EXTRN ??0_NATIVE_CODE_BLOCK@@QEAA@XZ:PROC ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
EXTRN ?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z:PROC ; NcCountInstructions
EXTRN ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z:PROC ; NcGenUnusedLabelId
EXTRN ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z:PROC ; NcInsertBlockAfter
EXTRN ?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z:PROC ; NcInsertBlockBefore
EXTRN ?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z:PROC ; NcDeepCopyPartialBlock
EXTRN ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z:PROC ; JitEmitPreRipMov
EXTRN ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z:PROC ; JitEmitPostRipMov
EXTRN ?ObfCreateOpaqueBranches@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@1@Z:PROC ; ObfCreateOpaqueBranches
EXTRN ?ObfCombineOpaqueBranches@@YAHPEAU_NATIVE_CODE_BLOCK@@0KK@Z:PROC ; ObfCombineOpaqueBranches
EXTRN ?ObfInsertOpaqueBranchBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z:PROC ; ObfInsertOpaqueBranchBlock
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 ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA
_BSS SEGMENT
?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA DQ 01H DUP (?) ; `__local_stdio_printf_options'::`2'::_OptionsStorage
_BSS ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX@Z DD imagerel $LN3
DD imagerel $LN3+41
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_K@Z DD imagerel $LN3
DD imagerel $LN3+46
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD imagerel $LN3
DD imagerel $LN3+46
DD imagerel $unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD imagerel $LN3
DD imagerel $LN3+51
DD imagerel $unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$__local_stdio_printf_options DD imagerel $LN3
DD imagerel $LN3+44
DD imagerel $unwind$__local_stdio_printf_options
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN3
DD imagerel $LN3+103
DD imagerel $unwind$_vfprintf_l
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN3
DD imagerel $LN3+216
DD imagerel $unwind$printf
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$wmemcpy DD imagerel $LN3
DD imagerel $LN3+83
DD imagerel $unwind$wmemcpy
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD imagerel $LN21
DD imagerel $LN21+453
DD imagerel $unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD imagerel $LN4
DD imagerel $LN4+66
DD imagerel $unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$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
$pdata$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD imagerel $LN12
DD imagerel $LN12+586
DD imagerel $unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD imagerel $LN4
DD imagerel $LN4+142
DD imagerel $unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD imagerel $LN7
DD imagerel $LN7+200
DD imagerel $unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5
DD imagerel $LN5+356
DD imagerel $unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD imagerel $LN5
DD imagerel $LN5+356
DD imagerel $unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z DD imagerel $LN3
DD imagerel $LN3+77
DD imagerel $unwind$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD imagerel $LN3
DD imagerel $LN3+203
DD imagerel $unwind$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z DD imagerel $LN3
DD imagerel $LN3+85
DD imagerel $unwind$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DD imagerel $LN4
DD imagerel $LN4+257
DD imagerel $unwind$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DD imagerel $LN3
DD imagerel $LN3+56
DD imagerel $unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DD imagerel $LN3
DD imagerel $LN3+48
DD imagerel $unwind$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??1_NATIVE_CODE_BLOCK@@QEAA@XZ DD imagerel $LN3
DD imagerel $LN3+48
DD imagerel $unwind$??1_NATIVE_CODE_BLOCK@@QEAA@XZ
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z DD imagerel $LN4
DD imagerel $LN4+82
DD imagerel $unwind$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z DD imagerel $LN33
DD imagerel $LN33+1478
DD imagerel $unwind$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD imagerel ?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
DD imagerel ?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA+39
DD imagerel $unwind$?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD imagerel ?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
DD imagerel ?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA+39
DD imagerel $unwind$?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD imagerel ?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
DD imagerel ?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA+39
DD imagerel $unwind$?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD imagerel $LN3
DD imagerel $LN3+53
DD imagerel $unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DD imagerel $LN3
DD imagerel $LN3+84
DD imagerel $unwind$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD imagerel $LN3
DD imagerel $LN3+65
DD imagerel $unwind$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DD imagerel $LN3
DD imagerel $LN3+51
DD imagerel $unwind$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DD imagerel $LN4
DD imagerel $LN4+98
DD imagerel $unwind$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD imagerel $LN3
DD imagerel $LN3+72
DD imagerel $unwind$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z DD imagerel $LN3
DD imagerel $LN3+74
DD imagerel $unwind$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z
pdata ENDS
; COMDAT rtc$TMZ
rtc$TMZ SEGMENT
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
rtc$TMZ ENDS
; COMDAT rtc$IMZ
rtc$IMZ SEGMENT
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
rtc$IMZ ENDS
; COMDAT ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
CONST SEGMENT
??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ DB ':'
DB 00H, 'A', 00H, 'M', 00H, ':', 00H, 'a', 00H, 'm', 00H, ':', 00H
DB 'P', 00H, 'M', 00H, ':', 00H, 'p', 00H, 'm', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
CONST SEGMENT
??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ DB ':AM:am:PM:pm', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BK@KHPEMLDC@Depth?3?5?$CFu?0?5InstCount?3?5?$CFu?6@
CONST SEGMENT
??_C@_0BK@KHPEMLDC@Depth?3?5?$CFu?0?5InstCount?3?5?$CFu?6@ DB 'Depth: %u,'
DB ' InstCount: %u', 0aH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
CONST SEGMENT
??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
DB 'ols\MSVC\14.29.30037\include\xlocnum', 00H ; `string'
CONST ENDS
; COMDAT ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
_DATA SEGMENT
?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA DD 05aH ; `std::_Maklocwcs'::`1'::__LINE__Var
_DATA ENDS
; COMDAT ??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
CONST SEGMENT
??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Prog'
DB 'ram Files (x86)\Microsoft Visual Studio\2019\Community\VC\Too'
DB 'ls\MSVC\14.29.30037\include\xlocale', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@
CONST SEGMENT
??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@ DB '"'
DB 00H, 'i', 00H, 'n', 00H, 'v', 00H, 'a', 00H, 'l', 00H, 'i', 00H
DB 'd', 00H, ' ', 00H, 'a', 00H, 'r', 00H, 'g', 00H, 'u', 00H, 'm'
DB 00H, 'e', 00H, 'n', 00H, 't', 00H, '"', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@
CONST SEGMENT
??_C@_1EK@NIFDJFDG@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAd?$AAj?$AAu?$AAs?$AAt?$AA_?$AAm?$AAa@ DB 's'
DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'A', 00H
DB 'd', 00H, 'j', 00H, 'u', 00H, 's', 00H, 't', 00H, '_', 00H, 'm'
DB 00H, 'a', 00H, 'n', 00H, 'u', 00H, 'a', 00H, 'l', 00H, 'l', 00H
DB 'y', 00H, '_', 00H, 'v', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o'
DB 00H, 'r', 00H, '_', 00H, 'a', 00H, 'l', 00H, 'i', 00H, 'g', 00H
DB 'n', 00H, 'e', 00H, 'd', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
CONST SEGMENT
??_C@_1NA@FOAKNOEL@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ DB 'C'
DB 00H, ':', 00H, '\', 00H, 'P', 00H, 'r', 00H, 'o', 00H, 'g', 00H
DB 'r', 00H, 'a', 00H, 'm', 00H, ' ', 00H, 'F', 00H, 'i', 00H, 'l'
DB 00H, 'e', 00H, 's', 00H, ' ', 00H, '(', 00H, 'x', 00H, '8', 00H
DB '6', 00H, ')', 00H, '\', 00H, 'M', 00H, 'i', 00H, 'c', 00H, 'r'
DB 00H, 'o', 00H, 's', 00H, 'o', 00H, 'f', 00H, 't', 00H, ' ', 00H
DB 'V', 00H, 'i', 00H, 's', 00H, 'u', 00H, 'a', 00H, 'l', 00H, ' '
DB 00H, 'S', 00H, 't', 00H, 'u', 00H, 'd', 00H, 'i', 00H, 'o', 00H
DB '\', 00H, '2', 00H, '0', 00H, '1', 00H, '9', 00H, '\', 00H, 'C'
DB 00H, 'o', 00H, 'm', 00H, 'm', 00H, 'u', 00H, 'n', 00H, 'i', 00H
DB 't', 00H, 'y', 00H, '\', 00H, 'V', 00H, 'C', 00H, '\', 00H, 'T'
DB 00H, 'o', 00H, 'o', 00H, 'l', 00H, 's', 00H, '\', 00H, 'M', 00H
DB 'S', 00H, 'V', 00H, 'C', 00H, '\', 00H, '1', 00H, '4', 00H, '.'
DB 00H, '2', 00H, '9', 00H, '.', 00H, '3', 00H, '0', 00H, '0', 00H
DB '3', 00H, '7', 00H, '\', 00H, 'i', 00H, 'n', 00H, 'c', 00H, 'l'
DB 00H, 'u', 00H, 'd', 00H, 'e', 00H, '\', 00H, 'x', 00H, 'm', 00H
DB 'e', 00H, 'm', 00H, 'o', 00H, 'r', 00H, 'y', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
CONST SEGMENT
??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ DB 'C:\Pro'
DB 'gram Files (x86)\Microsoft Visual Studio\2019\Community\VC\To'
DB 'ols\MSVC\14.29.30037\include\xmemory', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_02DKCKIIND@?$CFs@
CONST SEGMENT
??_C@_02DKCKIIND@?$CFs@ DB '%s', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BB@FCMFBGOM@invalid?5argument@
CONST SEGMENT
??_C@_0BB@FCMFBGOM@invalid?5argument@ DB 'invalid argument', 00H ; `string'
CONST ENDS
; COMDAT ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
_DATA SEGMENT
?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA DD 099H ; `std::_Adjust_manually_vector_aligned'::`1'::__LINE__Var
_DATA ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 02H
DB 00H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$cppxdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DB 060H
DD imagerel $ip2state$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD 025051819H
DD 01132318H
DD 0700c001dH
DD 0500bH
DD imagerel __CxxFrameHandler4
DD imagerel $cppxdata$??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DB 02H
DB 00H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$cppxdata$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DB 060H
DD imagerel $ip2state$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z DD 025051819H
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
$unwind$??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z DD 025051801H
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z DD 025051801H
DD 01132318H
DD 0700c0021H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD 025051801H
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; 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 DB 00H
DB 05H
voltbl ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 040H
DW 05adH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA DD 031001H
DD 0700c4210H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$ip2state$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z DB 0eH
DB 00H
DB 00H
DB 0d5H, 0fH
DB 02H
DB 01aH
DB 04H
DB 'I', 03H
DB 02H
DB 01aH
DB 00H
DB '6'
DB 06H
DB 0c8H
DB 00H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$stateUnwindMap$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z DB 06H
DB 0eH
DD imagerel ?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
DB 02eH
DD imagerel ?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
DB 05eH
DD imagerel ?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$cppxdata$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z DB 028H
DD imagerel $stateUnwindMap$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z
DD imagerel $ip2state$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z DD 025054719H
DD 0118231dH
DD 070110081H
DD 05010H
DD imagerel __GSHandlerCheck_EH4
DD imagerel $cppxdata$?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z
DD 03f2H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$0 DB 04eH ; ObfObfuscate1
DB 06fH
DB 074H
DB 054H
DB 061H
DB 06bH
DB 065H
DB 06eH
DB 00H
ORG $+3
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$1 DB 054H ; ObfObfuscate1
DB 061H
DB 06bH
DB 065H
DB 06eH
DB 00H
ORG $+6
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$2 DB 054H ; ObfObfuscate1
DB 065H
DB 06dH
DB 070H
DB 042H
DB 06cH
DB 06fH
DB 063H
DB 06bH
DB 00H
ORG $+14
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcVarDesc DD 01e8H ; ObfObfuscate1
DD 030H
DQ FLAT:?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$2
DD 0198H
DD 030H
DQ FLAT:?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$1
DD 0148H
DD 030H
DQ FLAT:?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcName$0
ORG $+144
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcFrameData DD 03H ; ObfObfuscate1
DD 00H
DQ FLAT:?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z DD 025051701H
DD 01122317H
DD 0700b001dH
DD 0500aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??1_NATIVE_CODE_BLOCK@@QEAA@XZ DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ DD 025051301H
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
$unwind$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ DD 025051319H
DD 010e2313H
DD 07007002fH
DD 05006H
DD imagerel __CxxFrameHandler4
DD imagerel $cppxdata$?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 036H
DB 0b2H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD 025053d19H
DD 010e2313H
DD 070070029H
DD 05006H
DD imagerel __GSHandlerCheck
DD 0138H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcName$0 DB 024H ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
DB 053H
DB 031H
DB 00H
ORG $+12
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcVarDesc DD 044H ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
DD 01H
DQ FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcName$0
ORG $+48
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcFrameData DD 01H ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
DD 00H
DQ FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025061e01H
DD 0119231eH
DD 070120026H
DD 050106011H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z DD 025061e01H
DD 0119231eH
DD 070120026H
DD 050106011H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z DD 035051d01H
DD 0118331dH
DD 07011002bH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Maklocwcs@std@@YAPEA_WPEB_W@Z DD 035051301H
DD 010e3313H
DD 070070027H
DD 05006H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DW 040H
DW 0231H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z DD 035054719H
DD 0118331dH
DD 070110047H
DD 05010H
DD imagerel __GSHandlerCheck
DD 0228H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$0 DB 05fH ; std::_Maklocstr<wchar_t>
DB 057H
DB 063H
DB 00H
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1 DB 05fH ; std::_Maklocstr<wchar_t>
DB 04dH
DB 062H
DB 073H
DB 074H
DB 031H
DB 00H
ORG $+1
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2 DB 05fH ; std::_Maklocstr<wchar_t>
DB 04dH
DB 062H
DB 073H
DB 074H
DB 032H
DB 00H
ORG $+13
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc DD 0158H ; std::_Maklocstr<wchar_t>
DD 08H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$2
DD 0f8H
DD 08H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$1
DD 0d4H
DD 02H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcName$0
ORG $+144
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData DD 03H ; std::_Maklocstr<wchar_t>
DD 00H
DQ FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcVarDesc
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 036H
DB 07eH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ DD 025053d19H
DD 010e2313H
DD 070070021H
DD 05006H
DD imagerel __GSHandlerCheck
DD 0f8H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcName$0 DB 05fH ; std::_Container_base12::_Orphan_all_locked
DB 04cH
DB 06fH
DB 063H
DB 06bH
DB 00H
ORG $+10
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcVarDesc DD 024H ; std::_Container_base12::_Orphan_all_locked
DD 04H
DQ FLAT:?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcName$0
ORG $+48
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcFrameData DD 01H ; std::_Container_base12::_Orphan_all_locked
DD 00H
DQ FLAT:?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Orphan_all_unlocked@_Container_base12@std@@AEAAXXZ DD 025051301H
DD 010e2313H
DD 070070021H
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Orphan_all@_Container_base12@std@@QEAAXXZ DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z DD 035051801H
DD 01133318H
DD 0700c002fH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$wmemcpy DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 045H
DB 0bfH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printf DD 025054c19H
DD 011d2322H
DD 07016002bH
DD 05015H
DD imagerel __GSHandlerCheck
DD 0148H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
printf$rtcName$0 DB 05fH
DB 041H
DB 072H
DB 067H
DB 04cH
DB 069H
DB 073H
DB 074H
DB 00H
ORG $+7
printf$rtcVarDesc DD 048H
DD 08H
DQ FLAT:printf$rtcName$0
ORG $+48
printf$rtcFrameData DD 01H
DD 00H
DQ FLAT:printf$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_vfprintf_l DD 035052201H
DD 011d3322H
DD 07016001fH
DD 05015H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$__local_stdio_printf_options DD 025050f01H
DD 010a230fH
DD 07003001dH
DD 05002H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z DD 025051801H
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX_K@Z DD 025051801H
DD 01132318H
DD 0700c001dH
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?__empty_global_delete@@YAXPEAX@Z DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z
_TEXT SEGMENT
_Al$ = 224
_Ptr$ = 232
_Count$ = 240
?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z PROC ; std::_Default_allocator_traits<std::allocator<std::_Container_proxy> >::deallocate, COMDAT
; 693 : static _CONSTEXPR20_DYNALLOC void deallocate(_Alloc& _Al, const pointer _Ptr, const size_type _Count) {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 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
00 00 10 imul rax, QWORD PTR _Count$[rbp], 16
00031 48 8b d0 mov rdx, rax
00034 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
0003b e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0>
; 703 : }
; 704 : }
00040 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00047 5f pop rdi
00048 5d pop rbp
00049 c3 ret 0
?deallocate@?$_Default_allocator_traits@V?$allocator@U_Container_proxy@std@@@std@@@std@@SAXAEAV?$allocator@U_Container_proxy@std@@@2@QEAU_Container_proxy@2@_K@Z ENDP ; std::_Default_allocator_traits<std::allocator<std::_Container_proxy> >::deallocate
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
_TEXT SEGMENT
_Al$ = 224
_Ptr$ = 232
??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z PROC ; std::_Deallocate_plain<std::allocator<std::_Container_proxy> >, COMDAT
; 985 : _CONSTEXPR20_DYNALLOC void _Deallocate_plain(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept {
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 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
00 mov r8d, 1
0002a 48 8b 95 e8 00
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
00031 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR _Al$[rbp]
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
; 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 : }
0003e 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00045 5f pop rdi
00046 5d pop rbp
00047 c3 ret 0
??$_Deallocate_plain@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ENDP ; std::_Deallocate_plain<std::allocator<std::_Container_proxy> >
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z
_TEXT SEGMENT
_Ptr$ = 224
_Bytes$ = 232
??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z PROC ; std::_Deallocate<16,0>, COMDAT
; 251 : _CONSTEXPR20_DYNALLOC void _Deallocate(void* _Ptr, size_t _Bytes) noexcept {
$LN4:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 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
00 00 00 10 00
00 cmp QWORD PTR _Bytes$[rbp], 4096 ; 00001000H
0002f 72 13 jb SHORT $LN2@Deallocate
; 261 : _Adjust_manually_vector_aligned(_Ptr, _Bytes);
00031 48 8d 95 e8 00
00 00 lea rdx, QWORD PTR _Bytes$[rbp]
00038 48 8d 8d e0 00
00 00 lea rcx, QWORD PTR _Ptr$[rbp]
0003f e8 00 00 00 00 call ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned
$LN2@Deallocate:
; 262 : }
; 263 : #endif // defined(_M_IX86) || defined(_M_X64)
; 264 : ::operator delete(_Ptr, _Bytes);
00044 48 8b 95 e8 00
00 00 mov rdx, QWORD PTR _Bytes$[rbp]
0004b 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00052 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
00057 90 npad 1
; 265 : }
; 266 : }
00058 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0005f 5f pop rdi
00060 5d pop rbp
00061 c3 ret 0
??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ENDP ; std::_Deallocate<16,0>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z
_TEXT SEGMENT
_First$ = 224
_Last$ = 232
_Al$ = 240
??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z PROC ; std::_Destroy_range<std::allocator<unsigned long> >, COMDAT
; 945 : _Alloc_ptr_t<_Alloc> _First, const _Alloc_ptr_t<_Alloc> _Last, _Alloc& _Al) noexcept {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 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
00 00 lea rsp, QWORD PTR [rbp+200]
00030 5f pop rdi
00031 5d pop rbp
00032 c3 ret 0
??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ENDP ; std::_Destroy_range<std::allocator<unsigned long> >
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z
_TEXT SEGMENT
_Al$ = 224
_Ptr$ = 232
??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z PROC ; std::_Delete_plain_internal<std::allocator<std::_Container_proxy> >, COMDAT
; 998 : _CONSTEXPR20_DYNALLOC void _Delete_plain_internal(_Alloc& _Al, typename _Alloc::value_type* const _Ptr) noexcept {
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 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
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
0002b 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR _Al$[rbp]
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> >
; 1003 : }
00037 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0003e 5f pop rdi
0003f 5d pop rbp
00040 c3 ret 0
??$_Delete_plain_internal@V?$allocator@U_Container_proxy@std@@@std@@@std@@YAXAEAV?$allocator@U_Container_proxy@std@@@0@QEAU_Container_proxy@0@@Z ENDP ; std::_Delete_plain_internal<std::allocator<std::_Container_proxy> >
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\utility
; COMDAT ??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z
_TEXT SEGMENT
_Old_val$ = 8
_Val$ = 256
_New_val$ = 264
??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z PROC ; std::exchange<std::_Container_proxy *,std::nullptr_t>, COMDAT
; 614 : conjunction_v<is_nothrow_move_constructible<_Ty>, is_nothrow_assignable<_Ty&, _Other>>) /* strengthened */ {
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7ADD299_utility
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 615 : // assign _New_val to _Val, return previous _Val
; 616 : _Ty _Old_val = static_cast<_Ty&&>(_Val);
00024 48 8b 85 00 01
00 00 mov rax, QWORD PTR _Val$[rbp]
0002b 48 8b 00 mov rax, QWORD PTR [rax]
0002e 48 89 45 08 mov QWORD PTR _Old_val$[rbp], rax
; 617 : _Val = static_cast<_Other&&>(_New_val);
00032 48 8b 85 00 01
00 00 mov rax, QWORD PTR _Val$[rbp]
00039 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR _New_val$[rbp]
00040 48 8b 09 mov rcx, QWORD PTR [rcx]
00043 48 89 08 mov QWORD PTR [rax], rcx
; 618 : return _Old_val;
00046 48 8b 45 08 mov rax, QWORD PTR _Old_val$[rbp]
; 619 : }
0004a 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
00051 5f pop rdi
00052 5d pop rbp
00053 c3 ret 0
??$exchange@PEAU_Container_proxy@std@@$$T@std@@YAPEAU_Container_proxy@0@AEAPEAU10@$$QEA$$T@Z ENDP ; std::exchange<std::_Container_proxy *,std::nullptr_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z
_TEXT SEGMENT
this$ = 224
__formal$ = 232
??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z PROC ; std::allocator<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>, COMDAT
; 829 : constexpr allocator(const allocator<_Other>&) noexcept {}
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 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
00 00 mov rax, QWORD PTR this$[rbp]
0002b 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00032 5f pop rdi
00033 5d pop rbp
00034 c3 ret 0
??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z ENDP ; std::allocator<std::_Container_proxy>::allocator<std::_Container_proxy><unsigned long>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Obfuscator.cpp
; COMDAT ?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z
_TEXT SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z PROC ; ObfObfuscate1, COMDAT
; 7 : {
$LN33:
00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
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 08 04
00 00 sub rsp, 1032 ; 00000408H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00022 b9 9a 00 00 00 mov ecx, 154 ; 0000009aH
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 28
04 00 00 mov rcx, QWORD PTR [rsp+1064]
00036 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 d0 03
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A4C33DB6_Obfuscator@cpp
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 8 : if (Depth > Obf->MaxDepth)
00053 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
0005a 8b 40 18 mov eax, DWORD PTR [rax+24]
0005d 39 85 10 04 00
00 cmp DWORD PTR Depth$[rbp], eax
00063 76 05 jbe SHORT $LN8@ObfObfusca
; 9 : return;
00065 e9 33 05 00 00 jmp $LN1@ObfObfusca
$LN8@ObfObfusca:
; 10 :
; 11 : ULONG InstructionCount = NcCountInstructions(Block, FALSE);
0006a 33 d2 xor edx, edx
0006c 48 8b 8d 08 04
00 00 mov rcx, QWORD PTR Block$[rbp]
00073 e8 00 00 00 00 call ?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z ; NcCountInstructions
00078 89 45 04 mov DWORD PTR InstructionCount$[rbp], eax
; 12 : printf("Depth: %u, InstCount: %u\n", Depth, InstructionCount);
0007b 44 8b 45 04 mov r8d, DWORD PTR InstructionCount$[rbp]
0007f 8b 95 10 04 00
00 mov edx, DWORD PTR Depth$[rbp]
00085 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0BK@KHPEMLDC@Depth?3?5?$CFu?0?5InstCount?3?5?$CFu?6@
0008c e8 00 00 00 00 call printf
; 13 : if (InstructionCount <= Obf->MinSizeForOpaqueBranch)
00091 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
00098 8b 40 04 mov eax, DWORD PTR [rax+4]
0009b 39 45 04 cmp DWORD PTR InstructionCount$[rbp], eax
0009e 0f 87 e8 01 00
00 ja $LN9@ObfObfusca
; 14 : {
; 15 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next;)
000a4 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
000ab 48 8b 00 mov rax, QWORD PTR [rax]
000ae 48 89 45 28 mov QWORD PTR T$6[rbp], rax
$LN2@ObfObfusca:
000b2 48 83 7d 28 00 cmp QWORD PTR T$6[rbp], 0
000b7 0f 84 ca 01 00
00 je $LN3@ObfObfusca
000bd 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
000c4 48 8b 40 08 mov rax, QWORD PTR [rax+8]
000c8 48 8b 00 mov rax, QWORD PTR [rax]
000cb 48 39 45 28 cmp QWORD PTR T$6[rbp], rax
000cf 0f 84 b2 01 00
00 je $LN3@ObfObfusca
; 16 : {
; 17 : if ((T->Flags & CODE_FLAG_IS_LABEL) || (T->Flags & CODE_FLAG_DO_NOT_DIVIDE) || (T->Flags & CODE_FLAG_IS_REL_JMP))
000d5 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
000d9 8b 40 18 mov eax, DWORD PTR [rax+24]
000dc 83 e0 01 and eax, 1
000df 85 c0 test eax, eax
000e1 75 1c jne SHORT $LN12@ObfObfusca
000e3 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
000e7 8b 40 18 mov eax, DWORD PTR [rax+24]
000ea 83 e0 08 and eax, 8
000ed 85 c0 test eax, eax
000ef 75 0e jne SHORT $LN12@ObfObfusca
000f1 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
000f5 8b 40 18 mov eax, DWORD PTR [rax+24]
000f8 83 e0 02 and eax, 2
000fb 85 c0 test eax, eax
000fd 74 0d je SHORT $LN11@ObfObfusca
$LN12@ObfObfusca:
; 18 : {
; 19 : T = T->Next;
000ff 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
00103 48 8b 00 mov rax, QWORD PTR [rax]
00106 48 89 45 28 mov QWORD PTR T$6[rbp], rax
; 20 : continue;
0010a eb a6 jmp SHORT $LN2@ObfObfusca
$LN11@ObfObfusca:
; 21 : }
; 22 :
; 23 : PNATIVE_CODE_LINK RealNext = T->Next;
0010c 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
00110 48 8b 00 mov rax, QWORD PTR [rax]
00113 48 89 45 48 mov QWORD PTR RealNext$7[rbp], rax
; 24 :
; 25 : if ((rand() % 100) <= Obf->InstructionMutateChance)
00117 ff 15 00 00 00
00 call QWORD PTR __imp_rand
0011d 99 cdq
0011e b9 64 00 00 00 mov ecx, 100 ; 00000064H
00123 f7 f9 idiv ecx
00125 8b c2 mov eax, edx
00127 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
0012e 0f b6 49 09 movzx ecx, BYTE PTR [rcx+9]
00132 3b c1 cmp eax, ecx
00134 0f 8f 40 01 00
00 jg $LN13@ObfObfusca
; 26 : {
; 27 : PNATIVE_CODE_BLOCK PreOp = JitEmitPreRipMov(T);
0013a 33 d2 xor edx, edx
0013c 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
00140 e8 00 00 00 00 call ?JitEmitPreRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPreRipMov
00145 48 89 45 68 mov QWORD PTR PreOp$8[rbp], rax
; 28 : PNATIVE_CODE_BLOCK PostOp = JitEmitPostRipMov(T);
00149 33 d2 xor edx, edx
0014b 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
0014f e8 00 00 00 00 call ?JitEmitPostRipMov@@YAPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@H@Z ; JitEmitPostRipMov
00154 48 89 85 88 00
00 00 mov QWORD PTR PostOp$9[rbp], rax
; 29 :
; 30 : if (T->Prev)
0015b 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
0015f 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
00164 74 12 je SHORT $LN14@ObfObfusca
; 31 : T->Prev->Next = PreOp->Start;
00166 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
0016a 48 8b 40 08 mov rax, QWORD PTR [rax+8]
0016e 48 8b 4d 68 mov rcx, QWORD PTR PreOp$8[rbp]
00172 48 8b 09 mov rcx, QWORD PTR [rcx]
00175 48 89 08 mov QWORD PTR [rax], rcx
$LN14@ObfObfusca:
; 32 : PreOp->End->Next = T;
00178 48 8b 45 68 mov rax, QWORD PTR PreOp$8[rbp]
0017c 48 8b 40 08 mov rax, QWORD PTR [rax+8]
00180 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
00184 48 89 08 mov QWORD PTR [rax], rcx
; 33 :
; 34 :
; 35 :
; 36 :
; 37 : NcInsertBlockBefore(T, PreOp, FALSE);
00187 45 33 c0 xor r8d, r8d
0018a 48 8b 55 68 mov rdx, QWORD PTR PreOp$8[rbp]
0018e 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
00192 e8 00 00 00 00 call ?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockBefore
; 38 : NcInsertBlockAfter(T, PostOp, FALSE);
00197 45 33 c0 xor r8d, r8d
0019a 48 8b 95 88 00
00 00 mov rdx, QWORD PTR PostOp$9[rbp]
001a1 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
001a5 e8 00 00 00 00 call ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockAfter
; 39 :
; 40 : if (Block->Start == T)
001aa 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
001b1 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
001b5 48 39 08 cmp QWORD PTR [rax], rcx
001b8 75 11 jne SHORT $LN15@ObfObfusca
; 41 : Block->Start = PreOp->Start;
001ba 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
001c1 48 8b 4d 68 mov rcx, QWORD PTR PreOp$8[rbp]
001c5 48 8b 09 mov rcx, QWORD PTR [rcx]
001c8 48 89 08 mov QWORD PTR [rax], rcx
$LN15@ObfObfusca:
; 42 : if (Block->End == T)
001cb 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
001d2 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
001d6 48 39 48 08 cmp QWORD PTR [rax+8], rcx
001da 75 16 jne SHORT $LN16@ObfObfusca
; 43 : Block->End = PostOp->End;
001dc 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
001e3 48 8b 8d 88 00
00 00 mov rcx, QWORD PTR PostOp$9[rbp]
001ea 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
001ee 48 89 48 08 mov QWORD PTR [rax+8], rcx
$LN16@ObfObfusca:
; 44 :
; 45 : delete PreOp;
001f2 48 8b 45 68 mov rax, QWORD PTR PreOp$8[rbp]
001f6 48 89 85 98 03
00 00 mov QWORD PTR $T17[rbp], rax
001fd 48 83 bd 98 03
00 00 00 cmp QWORD PTR $T17[rbp], 0
00205 74 1a je SHORT $LN24@ObfObfusca
00207 ba 01 00 00 00 mov edx, 1
0020c 48 8b 8d 98 03
00 00 mov rcx, QWORD PTR $T17[rbp]
00213 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00218 48 89 85 c8 03
00 00 mov QWORD PTR tv158[rbp], rax
0021f eb 0b jmp SHORT $LN25@ObfObfusca
$LN24@ObfObfusca:
00221 48 c7 85 c8 03
00 00 00 00 00
00 mov QWORD PTR tv158[rbp], 0
$LN25@ObfObfusca:
; 46 : delete PostOp;
0022c 48 8b 85 88 00
00 00 mov rax, QWORD PTR PostOp$9[rbp]
00233 48 89 85 b8 03
00 00 mov QWORD PTR $T18[rbp], rax
0023a 48 83 bd b8 03
00 00 00 cmp QWORD PTR $T18[rbp], 0
00242 74 1a je SHORT $LN26@ObfObfusca
00244 ba 01 00 00 00 mov edx, 1
00249 48 8b 8d b8 03
00 00 mov rcx, QWORD PTR $T18[rbp]
00250 e8 00 00 00 00 call ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
00255 48 89 85 c8 03
00 00 mov QWORD PTR tv163[rbp], rax
0025c eb 0b jmp SHORT $LN27@ObfObfusca
$LN26@ObfObfusca:
0025e 48 c7 85 c8 03
00 00 00 00 00
00 mov QWORD PTR tv163[rbp], 0
$LN27@ObfObfusca:
; 47 :
; 48 : //for (ULONG i = 0; i < T->RawDataSize; i++)
; 49 : // T->RawData[i] = (UCHAR)(rand() % 255);
; 50 :
; 51 : T->Flags |= CODE_FLAG_DO_NOT_DIVIDE;
00269 48 8b 45 28 mov rax, QWORD PTR T$6[rbp]
0026d 8b 40 18 mov eax, DWORD PTR [rax+24]
00270 83 c8 08 or eax, 8
00273 48 8b 4d 28 mov rcx, QWORD PTR T$6[rbp]
00277 89 41 18 mov DWORD PTR [rcx+24], eax
$LN13@ObfObfusca:
; 52 :
; 53 : }
; 54 :
; 55 : T = RealNext;
0027a 48 8b 45 48 mov rax, QWORD PTR RealNext$7[rbp]
0027e 48 89 45 28 mov QWORD PTR T$6[rbp], rax
; 56 : }
00282 e9 2b fe ff ff jmp $LN2@ObfObfusca
$LN3@ObfObfusca:
; 57 : }
00287 e9 11 03 00 00 jmp $LN1@ObfObfusca
$LN9@ObfObfusca:
; 58 : else
; 59 : {
; 60 : //ULONG TargetCount = max(Obf->MinSizeForOpaqueBranch, InstructionCount / ((Obf->Flags & OBF_ATTRIBUTE_RANDOMIZE_DIVISOR) ? (rand() % Obf->BlockDivisionFactor) : Obf->BlockDivisionFactor)); // max(Obf->MinBlockSize, InstructionCount / Obf->BlockDivisionFactor);
; 61 : ULONG TargetCount = (InstructionCount / ((Obf->Flags & OBF_ATTRIBUTE_RANDOMIZE_DIVISOR) ? (rand() % Obf->BlockDivisionFactor) : Obf->BlockDivisionFactor)); // max(Obf->MinBlockSize, InstructionCount / Obf->BlockDivisionFactor);
0028c 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
00293 8b 40 0c mov eax, DWORD PTR [rax+12]
00296 83 e0 04 and eax, 4
00299 85 c0 test eax, eax
0029b 74 1e je SHORT $LN28@ObfObfusca
0029d ff 15 00 00 00
00 call QWORD PTR __imp_rand
002a3 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
002aa 0f b6 49 0a movzx ecx, BYTE PTR [rcx+10]
002ae 99 cdq
002af f7 f9 idiv ecx
002b1 8b c2 mov eax, edx
002b3 89 85 c4 03 00
00 mov DWORD PTR tv176[rbp], eax
002b9 eb 11 jmp SHORT $LN29@ObfObfusca
$LN28@ObfObfusca:
002bb 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
002c2 0f b6 40 0a movzx eax, BYTE PTR [rax+10]
002c6 89 85 c4 03 00
00 mov DWORD PTR tv176[rbp], eax
$LN29@ObfObfusca:
002cc 33 d2 xor edx, edx
002ce 8b 45 04 mov eax, DWORD PTR InstructionCount$[rbp]
002d1 f7 b5 c4 03 00
00 div DWORD PTR tv176[rbp]
002d7 89 85 a4 00 00
00 mov DWORD PTR TargetCount$10[rbp], eax
; 62 : ULONG CurrentCount = 0;
002dd c7 85 c4 00 00
00 00 00 00 00 mov DWORD PTR CurrentCount$11[rbp], 0
; 63 : PNATIVE_CODE_LINK NewBlockStart = Block->Start;
002e7 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
002ee 48 8b 00 mov rax, QWORD PTR [rax]
002f1 48 89 85 e8 00
00 00 mov QWORD PTR NewBlockStart$12[rbp], rax
; 64 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next;)
002f8 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
002ff 48 8b 00 mov rax, QWORD PTR [rax]
00302 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
$LN5@ObfObfusca:
00309 48 83 bd 08 01
00 00 00 cmp QWORD PTR T$13[rbp], 0
00311 0f 84 86 02 00
00 je $LN1@ObfObfusca
00317 48 8b 85 08 04
00 00 mov rax, QWORD PTR Block$[rbp]
0031e 48 8b 40 08 mov rax, QWORD PTR [rax+8]
00322 48 8b 00 mov rax, QWORD PTR [rax]
00325 48 39 85 08 01
00 00 cmp QWORD PTR T$13[rbp], rax
0032c 0f 84 6b 02 00
00 je $LN1@ObfObfusca
; 65 : {
; 66 : if (T->Flags & CODE_FLAG_IS_LABEL)
00332 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
00339 8b 40 18 mov eax, DWORD PTR [rax+24]
0033c 83 e0 01 and eax, 1
0033f 85 c0 test eax, eax
00341 74 13 je SHORT $LN17@ObfObfusca
; 67 : {
; 68 : T = T->Next;
00343 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
0034a 48 8b 00 mov rax, QWORD PTR [rax]
0034d 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
; 69 : continue;
00354 eb b3 jmp SHORT $LN5@ObfObfusca
$LN17@ObfObfusca:
; 70 : }
; 71 :
; 72 : ++CurrentCount;
00356 8b 85 c4 00 00
00 mov eax, DWORD PTR CurrentCount$11[rbp]
0035c ff c0 inc eax
0035e 89 85 c4 00 00
00 mov DWORD PTR CurrentCount$11[rbp], eax
; 73 :
; 74 : if (T->Flags & CODE_FLAG_DO_NOT_DIVIDE)
00364 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
0036b 8b 40 18 mov eax, DWORD PTR [rax+24]
0036e 83 e0 08 and eax, 8
00371 85 c0 test eax, eax
00373 74 13 je SHORT $LN18@ObfObfusca
; 75 : {
; 76 : T = T->Next;
00375 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
0037c 48 8b 00 mov rax, QWORD PTR [rax]
0037f 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
; 77 : continue;
00386 eb 81 jmp SHORT $LN5@ObfObfusca
$LN18@ObfObfusca:
; 78 : }
; 79 :
; 80 : if (CurrentCount >= TargetCount)
00388 8b 85 a4 00 00
00 mov eax, DWORD PTR TargetCount$10[rbp]
0038e 39 85 c4 00 00
00 cmp DWORD PTR CurrentCount$11[rbp], eax
00394 0f 82 ed 01 00
00 jb $LN19@ObfObfusca
; 81 : {
; 82 : if (Depth >= Obf->MinDepthForRandomOpaqueBranch && (rand() % 100) <= Obf->OpaqueBranchChance && CurrentCount <= Obf->MinSizeForOpaqueBranch)
0039a 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
003a1 8b 00 mov eax, DWORD PTR [rax]
003a3 39 85 10 04 00
00 cmp DWORD PTR Depth$[rbp], eax
003a9 0f 82 40 01 00
00 jb $LN20@ObfObfusca
003af ff 15 00 00 00
00 call QWORD PTR __imp_rand
003b5 99 cdq
003b6 b9 64 00 00 00 mov ecx, 100 ; 00000064H
003bb f7 f9 idiv ecx
003bd 8b c2 mov eax, edx
003bf 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
003c6 0f b6 49 08 movzx ecx, BYTE PTR [rcx+8]
003ca 3b c1 cmp eax, ecx
003cc 0f 8f 1d 01 00
00 jg $LN20@ObfObfusca
003d2 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
003d9 8b 40 04 mov eax, DWORD PTR [rax+4]
003dc 39 85 c4 00 00
00 cmp DWORD PTR CurrentCount$11[rbp], eax
003e2 0f 87 07 01 00
00 ja $LN20@ObfObfusca
; 83 : {
; 84 : NATIVE_CODE_BLOCK NotTaken, Taken;
003e8 48 8d 8d 28 01
00 00 lea rcx, QWORD PTR NotTaken$14[rbp]
003ef e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
003f4 90 npad 1
003f5 48 8d 8d 78 01
00 00 lea rcx, QWORD PTR Taken$15[rbp]
003fc e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
00401 90 npad 1
; 85 : ObfCreateOpaqueBranches(NewBlockStart, T, &NotTaken, &Taken);
00402 4c 8d 8d 78 01
00 00 lea r9, QWORD PTR Taken$15[rbp]
00409 4c 8d 85 28 01
00 00 lea r8, QWORD PTR NotTaken$14[rbp]
00410 48 8b 95 08 01
00 00 mov rdx, QWORD PTR T$13[rbp]
00417 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR NewBlockStart$12[rbp]
0041e e8 00 00 00 00 call ?ObfCreateOpaqueBranches@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@1@Z ; ObfCreateOpaqueBranches
; 86 : ObfObfuscate1(Obf, &NotTaken, Depth + 1);
00423 8b 85 10 04 00
00 mov eax, DWORD PTR Depth$[rbp]
00429 ff c0 inc eax
0042b 44 8b c0 mov r8d, eax
0042e 48 8d 95 28 01
00 00 lea rdx, QWORD PTR NotTaken$14[rbp]
00435 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
0043c e8 00 00 00 00 call ?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z ; ObfObfuscate1
; 87 : ObfObfuscate1(Obf, &Taken, Depth + 1);
00441 8b 85 10 04 00
00 mov eax, DWORD PTR Depth$[rbp]
00447 ff c0 inc eax
00449 44 8b c0 mov r8d, eax
0044c 48 8d 95 78 01
00 00 lea rdx, QWORD PTR Taken$15[rbp]
00453 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
0045a e8 00 00 00 00 call ?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z ; ObfObfuscate1
; 88 : ObfCombineOpaqueBranches(&NotTaken, &Taken, NcGenUnusedLabelId(Obf->GlobalBlock), NcGenUnusedLabelId(Obf->GlobalBlock));
0045f 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
00466 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
0046a e8 00 00 00 00 call ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcGenUnusedLabelId
0046f 89 85 c4 03 00
00 mov DWORD PTR tv235[rbp], eax
00475 48 8b 85 00 04
00 00 mov rax, QWORD PTR Obf$[rbp]
0047c 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
00480 e8 00 00 00 00 call ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcGenUnusedLabelId
00485 89 85 c8 03 00
00 mov DWORD PTR tv233[rbp], eax
0048b 44 8b 8d c4 03
00 00 mov r9d, DWORD PTR tv235[rbp]
00492 44 8b 85 c8 03
00 00 mov r8d, DWORD PTR tv233[rbp]
00499 48 8d 95 78 01
00 00 lea rdx, QWORD PTR Taken$15[rbp]
004a0 48 8d 8d 28 01
00 00 lea rcx, QWORD PTR NotTaken$14[rbp]
004a7 e8 00 00 00 00 call ?ObfCombineOpaqueBranches@@YAHPEAU_NATIVE_CODE_BLOCK@@0KK@Z ; ObfCombineOpaqueBranches
; 89 : ObfInsertOpaqueBranchBlock(NewBlockStart, T, &NotTaken);
004ac 4c 8d 85 28 01
00 00 lea r8, QWORD PTR NotTaken$14[rbp]
004b3 48 8b 95 08 01
00 00 mov rdx, QWORD PTR T$13[rbp]
004ba 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR NewBlockStart$12[rbp]
004c1 e8 00 00 00 00 call ?ObfInsertOpaqueBranchBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ; ObfInsertOpaqueBranchBlock
; 90 : T = NotTaken.End;
004c6 48 8b 85 30 01
00 00 mov rax, QWORD PTR NotTaken$14[rbp+8]
004cd 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
; 91 : }
004d4 48 8d 8d 78 01
00 00 lea rcx, QWORD PTR Taken$15[rbp]
004db e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
004e0 90 npad 1
004e1 48 8d 8d 28 01
00 00 lea rcx, QWORD PTR NotTaken$14[rbp]
004e8 e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
004ed eb 7d jmp SHORT $LN21@ObfObfusca
$LN20@ObfObfusca:
; 92 : else
; 93 : {
; 94 : NATIVE_CODE_BLOCK TempBlock;
004ef 48 8d 8d c8 01
00 00 lea rcx, QWORD PTR TempBlock$16[rbp]
004f6 e8 00 00 00 00 call ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
004fb 90 npad 1
; 95 : if (NcDeepCopyPartialBlock(NewBlockStart, T, &TempBlock))
004fc 4c 8d 85 c8 01
00 00 lea r8, QWORD PTR TempBlock$16[rbp]
00503 48 8b 95 08 01
00 00 mov rdx, QWORD PTR T$13[rbp]
0050a 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR NewBlockStart$12[rbp]
00511 e8 00 00 00 00 call ?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeepCopyPartialBlock
00516 85 c0 test eax, eax
00518 74 38 je SHORT $LN22@ObfObfusca
; 96 : {
; 97 : ObfObfuscate1(Obf, &TempBlock, Depth + 1);
0051a 8b 85 10 04 00
00 mov eax, DWORD PTR Depth$[rbp]
00520 ff c0 inc eax
00522 44 8b c0 mov r8d, eax
00525 48 8d 95 c8 01
00 00 lea rdx, QWORD PTR TempBlock$16[rbp]
0052c 48 8b 8d 00 04
00 00 mov rcx, QWORD PTR Obf$[rbp]
00533 e8 00 00 00 00 call ?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z ; ObfObfuscate1
; 98 : ObfInsertOpaqueBranchBlock(NewBlockStart, T, &TempBlock);
00538 4c 8d 85 c8 01
00 00 lea r8, QWORD PTR TempBlock$16[rbp]
0053f 48 8b 95 08 01
00 00 mov rdx, QWORD PTR T$13[rbp]
00546 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR NewBlockStart$12[rbp]
0054d e8 00 00 00 00 call ?ObfInsertOpaqueBranchBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ; ObfInsertOpaqueBranchBlock
$LN22@ObfObfusca:
; 99 : }
; 100 : T = TempBlock.End;
00552 48 8b 85 d0 01
00 00 mov rax, QWORD PTR TempBlock$16[rbp+8]
00559 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
; 101 : }
00560 48 8d 8d c8 01
00 00 lea rcx, QWORD PTR TempBlock$16[rbp]
00567 e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
$LN21@ObfObfusca:
; 102 : NewBlockStart = T->Next;
0056c 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
00573 48 8b 00 mov rax, QWORD PTR [rax]
00576 48 89 85 e8 00
00 00 mov QWORD PTR NewBlockStart$12[rbp], rax
; 103 : CurrentCount = 0;
0057d c7 85 c4 00 00
00 00 00 00 00 mov DWORD PTR CurrentCount$11[rbp], 0
$LN19@ObfObfusca:
; 104 : }
; 105 : T = T->Next;
00587 48 8b 85 08 01
00 00 mov rax, QWORD PTR T$13[rbp]
0058e 48 8b 00 mov rax, QWORD PTR [rax]
00591 48 89 85 08 01
00 00 mov QWORD PTR T$13[rbp], rax
; 106 : }
00598 e9 6c fd ff ff jmp $LN5@ObfObfusca
$LN1@ObfObfusca:
; 107 : /*if (NewBlockStart && CurrentCount >= Obf->MinSizeForOpaqueBranch)
; 108 : {
; 109 : if (Depth >= Obf->MinDepthForRandomOpaqueBranch && (rand() % 100) <= Obf->OpaqueBranchChance && CurrentCount <= Obf->MinSizeForOpaqueBranch)
; 110 : {
; 111 : NATIVE_CODE_BLOCK NotTaken, Taken;
; 112 : ObfCreateOpaqueBranches(NewBlockStart, Block->End, &NotTaken, &Taken);
; 113 : ObfObfuscate1(Obf, &NotTaken, Depth + 1);
; 114 : ObfObfuscate1(Obf, &Taken, Depth + 1);
; 115 : ObfCombineOpaqueBranches(&NotTaken, &Taken, NcGenUnusedLabelId(Obf->GlobalBlock), NcGenUnusedLabelId(Obf->GlobalBlock));
; 116 : ObfInsertOpaqueBranchBlock(NewBlockStart, Block->End, &NotTaken);
; 117 : }
; 118 : else
; 119 : {
; 120 : NATIVE_CODE_BLOCK TempBlock;
; 121 : if (NcDeepCopyPartialBlock(NewBlockStart, Block->End, &TempBlock))
; 122 : {
; 123 : ObfObfuscate1(Obf, &TempBlock, Depth + 1);
; 124 : ObfInsertOpaqueBranchBlock(NewBlockStart, Block->End, &TempBlock);
; 125 : }
; 126 : }
; 127 : }*/
; 128 : }
; 129 :
; 130 :
; 131 :
; 132 :
; 133 :
; 134 : }
0059d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
005a1 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z$rtcFrameData
005a8 e8 00 00 00 00 call _RTC_CheckStackVars
005ad 48 8b 8d d0 03
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
005b4 48 33 cd xor rcx, rbp
005b7 e8 00 00 00 00 call __security_check_cookie
005bc 48 8d a5 e8 03
00 00 lea rsp, QWORD PTR [rbp+1000]
005c3 5f pop rdi
005c4 5d pop rbp
005c5 c3 ret 0
?ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z ENDP ; ObfObfuscate1
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`1'::dtor$0
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
00014 48 8d 8d 28 01
00 00 lea rcx, QWORD PTR NotTaken$14[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$0
text$x ENDS
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`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 48 8d 8d 78 01
00 00 lea rcx, QWORD PTR Taken$15[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$1
text$x ENDS
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`1'::dtor$2
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
00014 48 8d 8d c8 01
00 00 lea rcx, QWORD PTR TempBlock$16[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$2
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`1'::dtor$0
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
00014 48 8d 8d 28 01
00 00 lea rcx, QWORD PTR NotTaken$14[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$0@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$0
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`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 48 8d 8d 78 01
00 00 lea rcx, QWORD PTR Taken$15[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$1@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$1
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT text$x
text$x SEGMENT
InstructionCount$ = 4
T$6 = 40
RealNext$7 = 72
PreOp$8 = 104
PostOp$9 = 136
TargetCount$10 = 164
CurrentCount$11 = 196
NewBlockStart$12 = 232
T$13 = 264
NotTaken$14 = 296
Taken$15 = 376
TempBlock$16 = 456
$T17 = 920
$T18 = 952
tv235 = 964
tv176 = 964
tv233 = 968
tv163 = 968
tv158 = 968
__$ArrayPad$ = 976
Obf$ = 1024
Block$ = 1032
Depth$ = 1040
?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA PROC ; `ObfObfuscate1'::`1'::dtor$2
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
00014 48 8d 8d c8 01
00 00 lea rcx, QWORD PTR TempBlock$16[rbp]
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00020 48 83 c4 28 add rsp, 40 ; 00000028H
00024 5f pop rdi
00025 5d pop rbp
00026 c3 ret 0
?dtor$2@?0??ObfObfuscate1@@YAXPEAU_OBFUSCATOR@@PEAU_NATIVE_CODE_BLOCK@@K@Z@4HA ENDP ; `ObfObfuscate1'::`1'::dtor$2
text$x ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z
_TEXT SEGMENT
this$ = 224
__flags$ = 232
??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z PROC ; _NATIVE_CODE_BLOCK::`scalar deleting destructor', COMDAT
$LN4:
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00009 55 push rbp
0000a 57 push rdi
0000b 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00017 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR this$[rbp]
0001e e8 00 00 00 00 call ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
00023 8b 85 e8 00 00
00 mov eax, DWORD PTR __flags$[rbp]
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
00 00 mov rcx, QWORD PTR this$[rbp]
0003c e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
$LN2@scalar:
00041 48 8b 85 e0 00
00 00 mov rax, QWORD PTR this$[rbp]
00048 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0004f 5f pop rdi
00050 5d pop rbp
00051 c3 ret 0
??_G_NATIVE_CODE_BLOCK@@QEAAPEAXI@Z ENDP ; _NATIVE_CODE_BLOCK::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ??1_NATIVE_CODE_BLOCK@@QEAA@XZ
_TEXT SEGMENT
this$ = 224
??1_NATIVE_CODE_BLOCK@@QEAA@XZ PROC ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK, COMDAT
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8b 85 e0 00
00 00 mov rax, QWORD PTR this$[rbp]
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
00 00 lea rsp, QWORD PTR [rbp+200]
0002d 5f pop rdi
0002e 5d pop rbp
0002f c3 ret 0
??1_NATIVE_CODE_BLOCK@@QEAA@XZ ENDP ; _NATIVE_CODE_BLOCK::~_NATIVE_CODE_BLOCK
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ
_TEXT SEGMENT
this$ = 224
?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ PROC ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Get_first, COMDAT
; 1377 : constexpr _Ty1& _Get_first() noexcept {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 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
00 00 mov rax, QWORD PTR this$[rbp]
; 1379 : }
00026 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0002d 5f pop rdi
0002e 5d pop rbp
0002f c3 ret 0
?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAAAEAV?$allocator@K@2@XZ ENDP ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Get_first
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
; COMDAT ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ
_TEXT SEGMENT
this$ = 224
?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal, COMDAT
; 1817 : _NODISCARD _CONSTEXPR20_CONTAINER _Alty& _Getal() noexcept {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 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
00 00 mov rax, QWORD PTR this$[rbp]
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
; 1819 : }
0002e 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00035 5f pop rdi
00036 5d pop rbp
00037 c3 ret 0
?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
; COMDAT ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ
_TEXT SEGMENT
_My_data$ = 8
_Myfirst$ = 40
_Mylast$ = 72
_Myend$ = 104
tv90 = 312
tv88 = 320
tv86 = 328
this$ = 368
?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Tidy, COMDAT
; 1755 : _CONSTEXPR20_CONTAINER void _Tidy() noexcept { // free all storage
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 78 01
00 00 sub rsp, 376 ; 00000178H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 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
00 00 mov rax, QWORD PTR this$[rbp]
00026 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
; 1757 : pointer& _Myfirst = _My_data._Myfirst;
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
; 1758 : pointer& _Mylast = _My_data._Mylast;
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
; 1759 : pointer& _Myend = _My_data._Myend;
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
; 1760 :
; 1761 : _My_data._Orphan_all();
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
; 1762 :
; 1763 : if (_Myfirst) { // destroy and deallocate old array
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
00 je $LN2@Tidy
; 1764 : _Destroy(_Myfirst, _Mylast);
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
00 00 mov rcx, QWORD PTR this$[rbp]
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
; 1765 : _Getal().deallocate(_Myfirst, static_cast<size_type>(_Myend - _Myfirst));
0007f 48 8b 8d 70 01
00 00 mov rcx, QWORD PTR this$[rbp]
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
00 00 mov QWORD PTR tv90[rbp], rax
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
00 00 mov QWORD PTR tv88[rbp], rax
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
00 00 mov QWORD PTR tv86[rbp], rax
000bc 4c 8b 85 40 01
00 00 mov r8, QWORD PTR tv88[rbp]
000c3 48 8b 95 48 01
00 00 mov rdx, QWORD PTR tv86[rbp]
000ca 48 8b 8d 38 01
00 00 mov rcx, QWORD PTR tv90[rbp]
000d1 e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
; 1766 :
; 1767 : _Myfirst = nullptr;
000d6 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
000da 48 c7 00 00 00
00 00 mov QWORD PTR [rax], 0
; 1768 : _Mylast = nullptr;
000e1 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
000e5 48 c7 00 00 00
00 00 mov QWORD PTR [rax], 0
; 1769 : _Myend = nullptr;
000ec 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp]
000f0 48 c7 00 00 00
00 00 mov QWORD PTR [rax], 0
$LN2@Tidy:
; 1770 : }
; 1771 : }
000f7 48 8d a5 58 01
00 00 lea rsp, QWORD PTR [rbp+344]
000fe 5f pop rdi
000ff 5d pop rbp
00100 c3 ret 0
?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Tidy
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
; COMDAT ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z
_TEXT SEGMENT
this$ = 224
_First$ = 232
_Last$ = 240
?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy, COMDAT
; 1678 : _CONSTEXPR20_CONTAINER void _Destroy(pointer _First, pointer _Last) {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__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
00 00 mov rcx, QWORD PTR this$[rbp]
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
00 00 mov rdx, QWORD PTR _Last$[rbp]
0003f 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR _First$[rbp]
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> >
; 1681 : }
0004b 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00052 5f pop rdi
00053 5d pop rbp
00054 c3 ret 0
?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
; COMDAT ??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
_TEXT SEGMENT
_Alproxy$ = 8
$S1$ = 36
$T4 = 260
__$ArrayPad$ = 280
this$ = 320
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >, COMDAT
; 711 : _CONSTEXPR20_CONTAINER ~vector() noexcept {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 48 01
00 00 sub rsp, 328 ; 00000148H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 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
01 00 00 mov rcx, QWORD PTR [rsp+360]
0002c 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00033 48 33 c5 xor rax, rbp
00036 48 89 85 18 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 712 : _Tidy();
00049 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR this$[rbp]
00050 e8 00 00 00 00 call ?_Tidy@?$vector@KV?$allocator@K@std@@@std@@AEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Tidy
; 713 : #if _ITERATOR_DEBUG_LEVEL != 0
; 714 : auto&& _Alproxy = _GET_PROXY_ALLOCATOR(_Alty, _Getal());
00055 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR this$[rbp]
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
; 715 : _Delete_plain_internal(_Alproxy, _STD exchange(_Mypair._Myval2._Myproxy, nullptr));
00075 48 c7 85 04 01
00 00 00 00 00
00 mov QWORD PTR $T4[rbp], 0
00080 48 8b 85 40 01
00 00 mov rax, QWORD PTR this$[rbp]
00087 48 8d 95 04 01
00 00 lea rdx, QWORD PTR $T4[rbp]
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> >
; 716 : #endif // _ITERATOR_DEBUG_LEVEL != 0
; 717 : }
000a2 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000a6 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ$rtcFrameData
000ad e8 00 00 00 00 call _RTC_CheckStackVars
000b2 48 8b 8d 18 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000b9 48 33 cd xor rcx, rbp
000bc e8 00 00 00 00 call __security_check_cookie
000c1 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000c8 5f pop rdi
000c9 5d pop rbp
000ca c3 ret 0
??1?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::~vector<unsigned long,std::allocator<unsigned long> >
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z
_TEXT SEGMENT
this$ = 224
_Ptr$ = 232
_Count$ = 240
?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z PROC ; std::allocator<unsigned long>::deallocate, COMDAT
; 833 : _CONSTEXPR20_DYNALLOC void deallocate(_Ty* const _Ptr, const size_t _Count) {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 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
00 00 mov rax, QWORD PTR _Count$[rbp]
00030 48 c1 e0 02 shl rax, 2
00034 48 8b d0 mov rdx, rax
00037 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
0003e e8 00 00 00 00 call ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0>
; 836 : }
00043 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0004a 5f pop rdi
0004b 5d pop rbp
0004c c3 ret 0
?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ENDP ; std::allocator<unsigned long>::deallocate
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xloctime
; COMDAT ??$_Getvals@_W@?$time_get@_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
; 173 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
$LN5:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 56 push rsi
00011 57 push rdi
00012 48 81 ec 30 01
00 00 sub rsp, 304 ; 00000130H
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001e 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 174 : _Cvt = _Lobj._Getcvt();
0002a 48 8d 95 c8 00
00 00 lea rdx, QWORD PTR $T1[rbp]
00031 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00038 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
0003e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00049 48 8b f0 mov rsi, rax
0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00051 f3 a4 rep movsb
; 175 :
; 176 : if (is_same_v<_Elem2, wchar_t>) {
00053 33 c0 xor eax, eax
00055 83 f8 01 cmp eax, 1
00058 74 5c je SHORT $LN2@Getvals
; 177 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
0005a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00061 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
00067 48 8b c8 mov rcx, rax
0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0006f 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00076 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 178 : _Months =
0007a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00081 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
00087 48 8b c8 mov rcx, rax
0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0008f 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00096 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 179 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 180 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
0009a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000ad 48 89 41 20 mov QWORD PTR [rcx+32], rax
; 181 : } else {
000b1 e9 a3 00 00 00 jmp $LN3@Getvals
$LN2@Getvals:
; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
000b6 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000bd 48 83 c0 2c add rax, 44 ; 0000002cH
000c1 48 89 85 08 01
00 00 mov QWORD PTR tv85[rbp], rax
000c8 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
000cf ff 15 00 00 00
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
000d5 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv85[rbp]
000dc 4c 8b c1 mov r8, rcx
000df 33 d2 xor edx, edx
000e1 48 8b c8 mov rcx, rax
000e4 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
000e9 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
000f4 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000fb 48 83 c0 2c add rax, 44 ; 0000002cH
000ff 48 89 85 08 01
00 00 mov QWORD PTR tv93[rbp], rax
00106 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
0010d ff 15 00 00 00
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
00113 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv93[rbp]
0011a 4c 8b c1 mov r8, rcx
0011d 33 d2 xor edx, edx
0011f 48 8b c8 mov rcx, rax
00122 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
00127 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
00132 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00139 48 83 c0 2c add rax, 44 ; 0000002cH
0013d 4c 8b c0 mov r8, rax
00140 33 d2 xor edx, edx
00142 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
00149 e8 00 00 00 00 call ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ; std::_Maklocstr<wchar_t>
0014e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00155 48 89 41 20 mov QWORD PTR [rcx+32], rax
$LN3@Getvals:
; 185 : }
; 186 : }
00159 48 8d a5 10 01
00 00 lea rsp, QWORD PTR [rbp+272]
00160 5f pop rdi
00161 5e pop rsi
00162 5d pop rbp
00163 c3 ret 0
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xloctime
; COMDAT ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z
_TEXT SEGMENT
$T1 = 200
tv93 = 264
tv85 = 264
this$ = 304
__formal$ = 312
_Lobj$ = 320
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z PROC ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>, COMDAT
; 173 : void __CLR_OR_THIS_CALL _Getvals(_Elem2, const _Locinfo& _Lobj) { // get values
$LN5:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 66 89 54 24 10 mov WORD PTR [rsp+16], dx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 56 push rsi
00011 57 push rdi
00012 48 81 ec 30 01
00 00 sub rsp, 304 ; 00000130H
00019 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001e 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B7A2C865_xloctime
00025 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 174 : _Cvt = _Lobj._Getcvt();
0002a 48 8d 95 c8 00
00 00 lea rdx, QWORD PTR $T1[rbp]
00031 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00038 ff 15 00 00 00
00 call QWORD PTR __imp_?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
0003e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00045 48 8d 79 2c lea rdi, QWORD PTR [rcx+44]
00049 48 8b f0 mov rsi, rax
0004c b9 2c 00 00 00 mov ecx, 44 ; 0000002cH
00051 f3 a4 rep movsb
; 175 :
; 176 : if (is_same_v<_Elem2, wchar_t>) {
00053 33 c0 xor eax, eax
00055 83 f8 01 cmp eax, 1
00058 74 5c je SHORT $LN2@Getvals
; 177 : _Days = reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getdays())));
0005a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00061 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
00067 48 8b c8 mov rcx, rax
0006a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0006f 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00076 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 178 : _Months =
0007a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
00081 ff 15 00 00 00
00 call QWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
00087 48 8b c8 mov rcx, rax
0008a e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
0008f 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00096 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 179 : reinterpret_cast<const _Elem*>(_Maklocwcs(reinterpret_cast<const wchar_t*>(_Lobj._W_Getmonths())));
; 180 : _Ampm = reinterpret_cast<const _Elem*>(_Maklocwcs(L":AM:am:PM:pm"));
0009a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
000a1 e8 00 00 00 00 call ?_Maklocwcs@std@@YAPEA_WPEB_W@Z ; std::_Maklocwcs
000a6 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000ad 48 89 41 20 mov QWORD PTR [rcx+32], rax
; 181 : } else {
000b1 e9 a3 00 00 00 jmp $LN3@Getvals
$LN2@Getvals:
; 182 : _Days = _Maklocstr(_Lobj._Getdays(), static_cast<_Elem*>(nullptr), _Cvt);
000b6 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000bd 48 83 c0 2c add rax, 44 ; 0000002cH
000c1 48 89 85 08 01
00 00 mov QWORD PTR tv85[rbp], rax
000c8 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
000cf ff 15 00 00 00
00 call QWORD PTR __imp_?_Getdays@_Locinfo@std@@QEBAPEBDXZ
000d5 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv85[rbp]
000dc 4c 8b c1 mov r8, rcx
000df 33 d2 xor edx, edx
000e1 48 8b c8 mov rcx, rax
000e4 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
000e9 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
000f0 48 89 41 10 mov QWORD PTR [rcx+16], rax
; 183 : _Months = _Maklocstr(_Lobj._Getmonths(), static_cast<_Elem*>(nullptr), _Cvt);
000f4 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
000fb 48 83 c0 2c add rax, 44 ; 0000002cH
000ff 48 89 85 08 01
00 00 mov QWORD PTR tv93[rbp], rax
00106 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Lobj$[rbp]
0010d ff 15 00 00 00
00 call QWORD PTR __imp_?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
00113 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR tv93[rbp]
0011a 4c 8b c1 mov r8, rcx
0011d 33 d2 xor edx, edx
0011f 48 8b c8 mov rcx, rax
00122 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
00127 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
0012e 48 89 41 18 mov QWORD PTR [rcx+24], rax
; 184 : _Ampm = _Maklocstr(":AM:am:PM:pm", static_cast<_Elem*>(nullptr), _Cvt);
00132 48 8b 85 30 01
00 00 mov rax, QWORD PTR this$[rbp]
00139 48 83 c0 2c add rax, 44 ; 0000002cH
0013d 4c 8b c0 mov r8, rax
00140 33 d2 xor edx, edx
00142 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@
00149 e8 00 00 00 00 call ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ; std::_Maklocstr<char>
0014e 48 8b 8d 30 01
00 00 mov rcx, QWORD PTR this$[rbp]
00155 48 89 41 20 mov QWORD PTR [rcx+32], rax
$LN3@Getvals:
; 185 : }
; 186 : }
00159 48 8d a5 10 01
00 00 lea rsp, QWORD PTR [rbp+272]
00160 5f pop rdi
00161 5e pop rsi
00162 5d pop rbp
00163 c3 ret 0
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IEAAX_WAEBV_Locinfo@1@@Z ENDP ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocale
; COMDAT ??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z
_TEXT SEGMENT
_Count$ = 8
_Ptrdest$ = 40
_Ptrnext$1 = 72
_Ptr$ = 320
__formal$ = 328
__formal$ = 336
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<char>, COMDAT
; 522 : _Elem* __CRTDECL _Maklocstr(const char* _Ptr, _Elem*, const _Locinfo::_Cvtvec&) {
$LN7:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 58 01
00 00 sub rsp, 344 ; 00000158H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 523 : // convert C string to _Elem sequence using _Cvtvec
; 524 : size_t _Count = _CSTD strlen(_Ptr) + 1;
00029 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00030 e8 00 00 00 00 call strlen
00035 48 ff c0 inc rax
00038 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
; 525 :
; 526 : _Elem* _Ptrdest = static_cast<_Elem*>(_calloc_dbg(_Count, sizeof(_Elem), _CRT_BLOCK, __FILE__, __LINE__));
0003c c7 44 24 20 0e
02 00 00 mov DWORD PTR [rsp+32], 526 ; 0000020eH
00044 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
0004b 41 b8 02 00 00
00 mov r8d, 2
00051 ba 01 00 00 00 mov edx, 1
00056 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0005a ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
00060 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
; 527 :
; 528 : if (!_Ptrdest) {
00064 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00069 75 05 jne SHORT $LN5@Maklocstr
; 529 : _Xbad_alloc();
0006b e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN5@Maklocstr:
; 530 : }
; 531 :
; 532 : for (_Elem* _Ptrnext = _Ptrdest; 0 < _Count; --_Count, ++_Ptrnext, ++_Ptr) {
00070 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
00074 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
00078 eb 27 jmp SHORT $LN4@Maklocstr
$LN2@Maklocstr:
0007a 48 8b 45 08 mov rax, QWORD PTR _Count$[rbp]
0007e 48 ff c8 dec rax
00081 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00085 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
00089 48 ff c0 inc rax
0008c 48 89 45 48 mov QWORD PTR _Ptrnext$1[rbp], rax
00090 48 8b 85 40 01
00 00 mov rax, QWORD PTR _Ptr$[rbp]
00097 48 ff c0 inc rax
0009a 48 89 85 40 01
00 00 mov QWORD PTR _Ptr$[rbp], rax
$LN4@Maklocstr:
000a1 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000a6 76 12 jbe SHORT $LN3@Maklocstr
; 533 : *_Ptrnext = static_cast<_Elem>(static_cast<unsigned char>(*_Ptr));
000a8 48 8b 45 48 mov rax, QWORD PTR _Ptrnext$1[rbp]
000ac 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
000b3 0f b6 09 movzx ecx, BYTE PTR [rcx]
000b6 88 08 mov BYTE PTR [rax], cl
; 534 : }
000b8 eb c0 jmp SHORT $LN2@Maklocstr
$LN3@Maklocstr:
; 535 :
; 536 : return _Ptrdest;
000ba 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN6@Maklocstr:
; 537 : }
000be 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000c5 5f pop rdi
000c6 5d pop rbp
000c7 c3 ret 0
??$_Maklocstr@D@std@@YAPEADPEBDPEADAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<char>
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocnum
; COMDAT ?_Maklocwcs@std@@YAPEA_WPEB_W@Z
_TEXT SEGMENT
_Count$ = 8
_Ptrdest$ = 40
_Ptr$ = 288
?_Maklocwcs@std@@YAPEA_WPEB_W@Z PROC ; std::_Maklocwcs, COMDAT
; 90 : inline wchar_t* _Maklocwcs(const wchar_t* _Ptr) { // copy NTWCS to allocated storage
$LN4:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 38 01
00 00 sub rsp, 312 ; 00000138H
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__E85225E0_xlocnum
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 91 : const size_t _Count = _CSTD wcslen(_Ptr) + 1;
0001f 48 8b 8d 20 01
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00026 ff 15 00 00 00
00 call QWORD PTR __imp_wcslen
0002c 48 ff c0 inc rax
0002f 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
; 92 :
; 93 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Count, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
00033 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Maklocwcs@std@@YAPEA_WPEB_W@Z@4JA
00039 83 c0 03 add eax, 3
0003c 89 44 24 20 mov DWORD PTR [rsp+32], eax
00040 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@IIACENIN@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00047 41 b8 02 00 00
00 mov r8d, 2
0004d ba 02 00 00 00 mov edx, 2
00052 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
00056 ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
0005c 48 89 45 28 mov QWORD PTR _Ptrdest$[rbp], rax
; 94 :
; 95 : if (!_Ptrdest) {
00060 48 83 7d 28 00 cmp QWORD PTR _Ptrdest$[rbp], 0
00065 75 05 jne SHORT $LN2@Maklocwcs
; 96 : _Xbad_alloc();
00067 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN2@Maklocwcs:
; 97 : }
; 98 :
; 99 : _CSTD wmemcpy(_Ptrdest, _Ptr, _Count);
0006c 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
00070 48 8b 95 20 01
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
00077 48 8b 4d 28 mov rcx, QWORD PTR _Ptrdest$[rbp]
0007b e8 00 00 00 00 call wmemcpy
; 100 : return _Ptrdest;
00080 48 8b 45 28 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN3@Maklocwcs:
; 101 : }
00084 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
0008b 5f pop rdi
0008c 5d pop rbp
0008d c3 ret 0
?_Maklocwcs@std@@YAPEA_WPEB_W@Z ENDP ; std::_Maklocwcs
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xlocale
; COMDAT ??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z
_TEXT SEGMENT
_Count$ = 8
_Count1$ = 40
_Wchars$ = 72
_Ptr1$ = 104
_Bytes$ = 132
_Wc$ = 164
_Mbst1$ = 200
_Ptrdest$ = 232
_Ptrnext$ = 264
_Mbst2$ = 296
__$ArrayPad$ = 504
_Ptr$ = 544
__formal$ = 552
_Cvt$ = 560
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z PROC ; std::_Maklocstr<wchar_t>, COMDAT
; 540 : inline wchar_t* __CRTDECL _Maklocstr(const char* _Ptr, wchar_t*, const _Locinfo::_Cvtvec& _Cvt) {
$LN12:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 38 02
00 00 sub rsp, 568 ; 00000238H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
00022 b9 52 00 00 00 mov ecx, 82 ; 00000052H
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0002c f3 ab rep stosd
0002e 48 8b 8c 24 58
02 00 00 mov rcx, QWORD PTR [rsp+600]
00036 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0003d 48 33 c5 xor rax, rbp
00040 48 89 85 f8 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
00047 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__76D543F7_xlocale
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 541 : // convert C string to wchar_t sequence using _Cvtvec
; 542 : size_t _Count;
; 543 : size_t _Count1;
; 544 : size_t _Wchars;
; 545 : const char* _Ptr1;
; 546 : int _Bytes;
; 547 : wchar_t _Wc;
; 548 : mbstate_t _Mbst1 = {};
00053 48 8d 85 c8 00
00 00 lea rax, QWORD PTR _Mbst1$[rbp]
0005a 48 8b f8 mov rdi, rax
0005d 33 c0 xor eax, eax
0005f b9 08 00 00 00 mov ecx, 8
00064 f3 aa rep stosb
; 549 :
; 550 : _Count1 = _CSTD strlen(_Ptr) + 1;
00066 48 8b 8d 20 02
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
0006d e8 00 00 00 00 call strlen
00072 48 ff c0 inc rax
00075 48 89 45 28 mov QWORD PTR _Count1$[rbp], rax
; 551 : for (_Count = _Count1, _Wchars = 0, _Ptr1 = _Ptr; 0 < _Count; _Count -= _Bytes, _Ptr1 += _Bytes, ++_Wchars) {
00079 48 8b 45 28 mov rax, QWORD PTR _Count1$[rbp]
0007d 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00081 48 c7 45 48 00
00 00 00 mov QWORD PTR _Wchars$[rbp], 0
00089 48 8b 85 20 02
00 00 mov rax, QWORD PTR _Ptr$[rbp]
00090 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
00094 eb 35 jmp SHORT $LN4@Maklocstr
$LN2@Maklocstr:
00096 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
0009d 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
000a1 48 2b c8 sub rcx, rax
000a4 48 8b c1 mov rax, rcx
000a7 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
000ab 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
000b2 48 8b 4d 68 mov rcx, QWORD PTR _Ptr1$[rbp]
000b6 48 03 c8 add rcx, rax
000b9 48 8b c1 mov rax, rcx
000bc 48 89 45 68 mov QWORD PTR _Ptr1$[rbp], rax
000c0 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
000c4 48 ff c0 inc rax
000c7 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
$LN4@Maklocstr:
000cb 48 83 7d 08 00 cmp QWORD PTR _Count$[rbp], 0
000d0 76 3a jbe SHORT $LN3@Maklocstr
; 552 : if ((_Bytes = _Mbrtowc(&_Wc, _Ptr1, _Count, &_Mbst1, &_Cvt)) <= 0) {
000d2 48 8b 85 30 02
00 00 mov rax, QWORD PTR _Cvt$[rbp]
000d9 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
000de 4c 8d 8d c8 00
00 00 lea r9, QWORD PTR _Mbst1$[rbp]
000e5 4c 8b 45 08 mov r8, QWORD PTR _Count$[rbp]
000e9 48 8b 55 68 mov rdx, QWORD PTR _Ptr1$[rbp]
000ed 48 8d 8d a4 00
00 00 lea rcx, QWORD PTR _Wc$[rbp]
000f4 e8 00 00 00 00 call _Mbrtowc
000f9 89 85 84 00 00
00 mov DWORD PTR _Bytes$[rbp], eax
000ff 83 bd 84 00 00
00 00 cmp DWORD PTR _Bytes$[rbp], 0
00106 7f 02 jg SHORT $LN8@Maklocstr
; 553 : break;
00108 eb 02 jmp SHORT $LN3@Maklocstr
$LN8@Maklocstr:
; 554 : }
; 555 : }
0010a eb 8a jmp SHORT $LN2@Maklocstr
$LN3@Maklocstr:
; 556 :
; 557 : ++_Wchars; // count terminating nul
0010c 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
00110 48 ff c0 inc rax
00113 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
; 558 :
; 559 : wchar_t* _Ptrdest = static_cast<wchar_t*>(_calloc_dbg(_Wchars, sizeof(wchar_t), _CRT_BLOCK, __FILE__, __LINE__));
00117 c7 44 24 20 2f
02 00 00 mov DWORD PTR [rsp+32], 559 ; 0000022fH
0011f 4c 8d 0d 00 00
00 00 lea r9, OFFSET FLAT:??_C@_0GI@LEPEPCM@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
00126 41 b8 02 00 00
00 mov r8d, 2
0012c ba 02 00 00 00 mov edx, 2
00131 48 8b 4d 48 mov rcx, QWORD PTR _Wchars$[rbp]
00135 ff 15 00 00 00
00 call QWORD PTR __imp__calloc_dbg
0013b 48 89 85 e8 00
00 00 mov QWORD PTR _Ptrdest$[rbp], rax
; 560 :
; 561 : if (!_Ptrdest) {
00142 48 83 bd e8 00
00 00 00 cmp QWORD PTR _Ptrdest$[rbp], 0
0014a 75 05 jne SHORT $LN9@Maklocstr
; 562 : _Xbad_alloc();
0014c e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN9@Maklocstr:
; 563 : }
; 564 :
; 565 : wchar_t* _Ptrnext = _Ptrdest;
00151 48 8b 85 e8 00
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
00158 48 89 85 08 01
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
; 566 : mbstate_t _Mbst2 = {};
0015f 48 8d 85 28 01
00 00 lea rax, QWORD PTR _Mbst2$[rbp]
00166 48 8b f8 mov rdi, rax
00169 33 c0 xor eax, eax
0016b b9 08 00 00 00 mov ecx, 8
00170 f3 aa rep stosb
; 567 :
; 568 : for (; 0 < _Wchars; _Count -= _Bytes, _Ptr += _Bytes, --_Wchars, ++_Ptrnext) {
00172 eb 4d jmp SHORT $LN7@Maklocstr
$LN5@Maklocstr:
00174 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
0017b 48 8b 4d 08 mov rcx, QWORD PTR _Count$[rbp]
0017f 48 2b c8 sub rcx, rax
00182 48 8b c1 mov rax, rcx
00185 48 89 45 08 mov QWORD PTR _Count$[rbp], rax
00189 48 63 85 84 00
00 00 movsxd rax, DWORD PTR _Bytes$[rbp]
00190 48 8b 8d 20 02
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
00197 48 03 c8 add rcx, rax
0019a 48 8b c1 mov rax, rcx
0019d 48 89 85 20 02
00 00 mov QWORD PTR _Ptr$[rbp], rax
001a4 48 8b 45 48 mov rax, QWORD PTR _Wchars$[rbp]
001a8 48 ff c8 dec rax
001ab 48 89 45 48 mov QWORD PTR _Wchars$[rbp], rax
001af 48 8b 85 08 01
00 00 mov rax, QWORD PTR _Ptrnext$[rbp]
001b6 48 83 c0 02 add rax, 2
001ba 48 89 85 08 01
00 00 mov QWORD PTR _Ptrnext$[rbp], rax
$LN7@Maklocstr:
001c1 48 83 7d 48 00 cmp QWORD PTR _Wchars$[rbp], 0
001c6 76 40 jbe SHORT $LN6@Maklocstr
; 569 : if ((_Bytes = _Mbrtowc(_Ptrnext, _Ptr, _Count1, &_Mbst2, &_Cvt)) <= 0) {
001c8 48 8b 85 30 02
00 00 mov rax, QWORD PTR _Cvt$[rbp]
001cf 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
001d4 4c 8d 8d 28 01
00 00 lea r9, QWORD PTR _Mbst2$[rbp]
001db 4c 8b 45 28 mov r8, QWORD PTR _Count1$[rbp]
001df 48 8b 95 20 02
00 00 mov rdx, QWORD PTR _Ptr$[rbp]
001e6 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
001ed e8 00 00 00 00 call _Mbrtowc
001f2 89 85 84 00 00
00 mov DWORD PTR _Bytes$[rbp], eax
001f8 83 bd 84 00 00
00 00 cmp DWORD PTR _Bytes$[rbp], 0
001ff 7f 02 jg SHORT $LN10@Maklocstr
; 570 : break;
00201 eb 05 jmp SHORT $LN6@Maklocstr
$LN10@Maklocstr:
; 571 : }
; 572 : }
00203 e9 6c ff ff ff jmp $LN5@Maklocstr
$LN6@Maklocstr:
; 573 :
; 574 : *_Ptrnext = L'\0';
00208 33 c0 xor eax, eax
0020a 48 8b 8d 08 01
00 00 mov rcx, QWORD PTR _Ptrnext$[rbp]
00211 66 89 01 mov WORD PTR [rcx], ax
; 575 :
; 576 : return _Ptrdest;
00214 48 8b 85 e8 00
00 00 mov rax, QWORD PTR _Ptrdest$[rbp]
$LN11@Maklocstr:
; 577 : }
0021b 48 8b f8 mov rdi, rax
0021e 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
00222 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z$rtcFrameData
00229 e8 00 00 00 00 call _RTC_CheckStackVars
0022e 48 8b c7 mov rax, rdi
00231 48 8b 8d f8 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00238 48 33 cd xor rcx, rbp
0023b e8 00 00 00 00 call __security_check_cookie
00240 48 8d a5 08 02
00 00 lea rsp, QWORD PTR [rbp+520]
00247 5f pop rdi
00248 5d pop rbp
00249 c3 ret 0
??$_Maklocstr@_W@std@@YAPEA_WPEBDPEA_WAEBU_Cvtvec@@@Z ENDP ; std::_Maklocstr<wchar_t>
_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_locked@_Container_base12@std@@AEAAXXZ
_TEXT SEGMENT
_Lock$ = 4
__$ArrayPad$ = 216
this$ = 256
?_Orphan_all_locked@_Container_base12@std@@AEAAXXZ PROC ; std::_Container_base12::_Orphan_all_locked, COMDAT
; 1095 : void _Orphan_all_locked() noexcept {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
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
00 00 mov rax, QWORD PTR __security_cookie
00033 48 33 c5 xor rax, rbp
00036 48 89 85 d8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0003d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 1096 : _Lockit _Lock(_LOCK_DEBUG);
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
; 1097 : _Orphan_all_unlocked();
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 : }
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
; 1221 : for (auto& _Pnext = _Myproxy->_Myfirstiter; _Pnext; _Pnext = _Pnext->_Mynextiter) { // TRANSITION, VSO-1269037
0001f 48 8b 85 00 01
00 00 mov rax, QWORD PTR this$[rbp]
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
$LN2@Orphan_all:
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
$LN4@Orphan_all:
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
; 1222 : _Pnext->_Myproxy = nullptr;
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
00 00 mov QWORD PTR [rax], 0
; 1223 : }
0005d eb d4 jmp SHORT $LN2@Orphan_all
$LN3@Orphan_all:
; 1224 : _Myproxy->_Myfirstiter = nullptr;
0005f 48 8b 85 00 01
00 00 mov rax, QWORD PTR this$[rbp]
00066 48 8b 00 mov rax, QWORD PTR [rax]
00069 48 c7 40 08 00
00 00 00 mov QWORD PTR [rax+8], 0
; 1225 : }
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
; 1227 : _CONSTEXPR20_CONTAINER void _Container_base12::_Orphan_all() noexcept {
$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
?_Orphan_all@_Container_base12@std@@QEAAXXZ ENDP ; std::_Container_base12::_Orphan_all
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
; COMDAT ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z
_TEXT SEGMENT
_Ptr_user$ = 8
_Ptr_container$ = 40
_Min_back_shift$ = 72
_Back_shift$ = 104
_Ptr$ = 352
_Bytes$ = 360
?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z PROC ; std::_Adjust_manually_vector_aligned, COMDAT
; 153 : inline void _Adjust_manually_vector_aligned(void*& _Ptr, size_t& _Bytes) {
$LN21:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec 78 01
00 00 sub rsp, 376 ; 00000178H
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00018 48 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
00 00 mov rax, QWORD PTR _Bytes$[rbp]
0002b 48 8b 00 mov rax, QWORD PTR [rax]
0002e 48 83 c0 2f add rax, 47 ; 0000002fH
00032 48 8b 8d 68 01
00 00 mov rcx, QWORD PTR _Bytes$[rbp]
00039 48 89 01 mov QWORD PTR [rcx], rax
; 156 :
; 157 : const uintptr_t* const _Ptr_user = reinterpret_cast<uintptr_t*>(_Ptr);
0003c 48 8b 85 60 01
00 00 mov rax, QWORD PTR _Ptr$[rbp]
00043 48 8b 00 mov rax, QWORD PTR [rax]
00046 48 89 45 08 mov QWORD PTR _Ptr_user$[rbp], rax
; 158 : const uintptr_t _Ptr_container = _Ptr_user[-1];
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
$LN4@Adjust_man:
; 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
fa fa fa fa fa mov rdx, -361700864190383366 ; fafafafafafafafaH
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
$LN14@Adjust_man:
$LN7@Adjust_man:
0007e 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
00084 83 c0 09 add eax, 9
00087 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@
0008e 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
00093 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
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
00 call QWORD PTR __imp__CrtDbgReport
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
$LN19@Adjust_man:
000bf 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
000c5 83 c0 09 add eax, 9
000c8 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
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
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@
000e2 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@
000e9 ff 15 00 00 00
00 call QWORD PTR __imp__invalid_parameter
000ef 33 c0 xor eax, eax
000f1 85 c0 test eax, eax
000f3 75 89 jne SHORT $LN7@Adjust_man
$LN15@Adjust_man:
000f5 33 c0 xor eax, eax
000f7 85 c0 test eax, eax
000f9 0f 85 60 ff ff
ff jne $LN4@Adjust_man
; 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*);
000ff 48 c7 45 48 10
00 00 00 mov QWORD PTR _Min_back_shift$[rbp], 16
; 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;
00107 48 8b 85 60 01
00 00 mov rax, QWORD PTR _Ptr$[rbp]
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
$LN10@Adjust_man:
; 172 : _STL_VERIFY(_Back_shift >= _Min_back_shift && _Back_shift <= _Non_user_size, "invalid argument");
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
$LN16@Adjust_man:
$LN13@Adjust_man:
0012c 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
00132 83 c0 13 add eax, 19
00135 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@
0013c 48 89 4c 24 28 mov QWORD PTR [rsp+40], rcx
00141 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
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
00 call QWORD PTR __imp__CrtDbgReport
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
$LN20@Adjust_man:
0016d 8b 05 00 00 00
00 mov eax, DWORD PTR ?__LINE__Var@?0??_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z@4JA
00173 83 c0 13 add eax, 19
00176 48 c7 44 24 20
00 00 00 00 mov QWORD PTR [rsp+32], 0
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
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@
00190 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_1CG@JNLFBNGN@?$AA?$CC?$AAi?$AAn?$AAv?$AAa?$AAl?$AAi?$AAd?$AA?5?$AAa?$AAr?$AAg?$AAu?$AAm?$AAe@
00197 ff 15 00 00 00
00 call QWORD PTR __imp__invalid_parameter
0019d 33 c0 xor eax, eax
0019f 85 c0 test eax, eax
001a1 75 89 jne SHORT $LN13@Adjust_man
$LN17@Adjust_man:
001a3 33 c0 xor eax, eax
001a5 85 c0 test eax, eax
001a7 0f 85 6f ff ff
ff jne $LN10@Adjust_man
; 173 : _Ptr = reinterpret_cast<void*>(_Ptr_container);
001ad 48 8b 85 60 01
00 00 mov rax, QWORD PTR _Ptr$[rbp]
001b4 48 8b 4d 28 mov rcx, QWORD PTR _Ptr_container$[rbp]
001b8 48 89 08 mov QWORD PTR [rax], rcx
; 174 : }
001bb 48 8d a5 48 01
00 00 lea rsp, QWORD PTR [rbp+328]
001c2 5f pop rdi
001c3 5d pop rbp
001c4 c3 ret 0
?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ENDP ; std::_Adjust_manually_vector_aligned
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\wchar.h
; COMDAT wmemcpy
_TEXT SEGMENT
_S1$ = 224
_S2$ = 232
_N$ = 240
wmemcpy PROC ; COMDAT
; 234 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__93DC0B45_wchar@h
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 235 : #pragma warning(suppress: 6386) // Buffer overrun
; 236 : return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t));
00029 48 8b 85 f0 00
00 00 mov rax, QWORD PTR _N$[rbp]
00030 48 d1 e0 shl rax, 1
00033 4c 8b c0 mov r8, rax
00036 48 8b 95 e8 00
00 00 mov rdx, QWORD PTR _S2$[rbp]
0003d 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR _S1$[rbp]
00044 e8 00 00 00 00 call memcpy
; 237 : }
00049 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00050 5f pop rdi
00051 5d pop rbp
00052 c3 ret 0
wmemcpy ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
; COMDAT printf
_TEXT SEGMENT
_Result$ = 4
_ArgList$ = 40
tv77 = 280
tv75 = 288
__$ArrayPad$ = 296
_Format$ = 336
printf PROC ; COMDAT
; 956 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec 58 01
00 00 sub rsp, 344 ; 00000158H
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00027 b9 1e 00 00 00 mov ecx, 30
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00031 f3 ab rep stosd
00033 48 8b 8c 24 78
01 00 00 mov rcx, QWORD PTR [rsp+376]
0003b 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00042 48 33 c5 xor rax, rbp
00045 48 89 85 28 01
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0004c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__6DFAE8B8_stdio@h
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 957 : int _Result;
; 958 : va_list _ArgList;
; 959 : __crt_va_start(_ArgList, _Format);
00058 48 8d 85 58 01
00 00 lea rax, QWORD PTR _Format$[rbp+8]
0005f 48 89 45 28 mov QWORD PTR _ArgList$[rbp], rax
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
00063 48 8b 45 28 mov rax, QWORD PTR _ArgList$[rbp]
00067 48 89 85 18 01
00 00 mov QWORD PTR tv77[rbp], rax
0006e b9 01 00 00 00 mov ecx, 1
00073 ff 15 00 00 00
00 call QWORD PTR __imp___acrt_iob_func
00079 48 89 85 20 01
00 00 mov QWORD PTR tv75[rbp], rax
00080 4c 8b 8d 18 01
00 00 mov r9, QWORD PTR tv77[rbp]
00087 45 33 c0 xor r8d, r8d
0008a 48 8b 95 50 01
00 00 mov rdx, QWORD PTR _Format$[rbp]
00091 48 8b 8d 20 01
00 00 mov rcx, QWORD PTR tv75[rbp]
00098 e8 00 00 00 00 call _vfprintf_l
0009d 89 45 04 mov DWORD PTR _Result$[rbp], eax
; 961 : __crt_va_end(_ArgList);
000a0 48 c7 45 28 00
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
; 962 : return _Result;
000a8 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
; 963 : }
000ab 8b f8 mov edi, eax
000ad 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
000b1 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:printf$rtcFrameData
000b8 e8 00 00 00 00 call _RTC_CheckStackVars
000bd 8b c7 mov eax, edi
000bf 48 8b 8d 28 01
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000c6 48 33 cd xor rcx, rbp
000c9 e8 00 00 00 00 call __security_check_cookie
000ce 48 8d a5 38 01
00 00 lea rsp, QWORD PTR [rbp+312]
000d5 5f pop rdi
000d6 5d pop rbp
000d7 c3 ret 0
printf ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\stdio.h
; COMDAT _vfprintf_l
_TEXT SEGMENT
_Stream$ = 224
_Format$ = 232
_Locale$ = 240
_ArgList$ = 248
_vfprintf_l PROC ; COMDAT
; 644 : {
$LN3:
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00022 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__6DFAE8B8_stdio@h
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
0002e e8 00 00 00 00 call __local_stdio_printf_options
00033 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
0003a 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
0003f 4c 8b 8d f0 00
00 00 mov r9, QWORD PTR _Locale$[rbp]
00046 4c 8b 85 e8 00
00 00 mov r8, QWORD PTR _Format$[rbp]
0004d 48 8b 95 e0 00
00 00 mov rdx, QWORD PTR _Stream$[rbp]
00054 48 8b 08 mov rcx, QWORD PTR [rax]
00057 ff 15 00 00 00
00 call QWORD PTR __imp___stdio_common_vfprintf
; 646 : }
0005d 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00064 5f pop rdi
00065 5d pop rbp
00066 c3 ret 0
_vfprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\corecrt_stdio_config.h
; COMDAT __local_stdio_printf_options
_TEXT SEGMENT
__local_stdio_printf_options PROC ; COMDAT
; 90 : {
$LN3:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0000f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A2143F22_corecrt_stdio_config@h
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
0001b 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
00022 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
__local_stdio_printf_options ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Obfuscator.cpp
; COMDAT ?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z
_TEXT SEGMENT
__formal$ = 224
__formal$ = 232
__formal$ = 240
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A4C33DB6_Obfuscator@cpp
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00029 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00030 5f pop rdi
00031 5d pop rbp
00032 c3 ret 0
?__empty_global_delete@@YAXPEAX_KW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Obfuscator.cpp
; COMDAT ?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z
_TEXT SEGMENT
__formal$ = 224
__formal$ = 232
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z PROC ; __empty_global_delete, COMDAT
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A4C33DB6_Obfuscator@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
?__empty_global_delete@@YAXPEAXW4align_val_t@std@@@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Obfuscator.cpp
; COMDAT ?__empty_global_delete@@YAXPEAX_K@Z
_TEXT SEGMENT
__formal$ = 224
__formal$ = 232
?__empty_global_delete@@YAXPEAX_K@Z PROC ; __empty_global_delete, COMDAT
$LN3:
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000a 55 push rbp
0000b 57 push rdi
0000c 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A4C33DB6_Obfuscator@cpp
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0002b 5f pop rdi
0002c 5d pop rbp
0002d c3 ret 0
?__empty_global_delete@@YAXPEAX_K@Z ENDP ; __empty_global_delete
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\Obfuscator.cpp
; COMDAT ?__empty_global_delete@@YAXPEAX@Z
_TEXT SEGMENT
__formal$ = 224
?__empty_global_delete@@YAXPEAX@Z PROC ; __empty_global_delete, COMDAT
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__A4C33DB6_Obfuscator@cpp
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001f 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00026 5f pop rdi
00027 5d pop rbp
00028 c3 ret 0
?__empty_global_delete@@YAXPEAX@Z ENDP ; __empty_global_delete
_TEXT ENDS
END