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.
19788 lines
689 KiB
19788 lines
689 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
|
|
__092B7E84_vector DB 01H
|
|
__337731E1_NativeCode@cpp DB 01H
|
|
__0615AC09_istream DB 01H
|
|
__65C59933_ostream DB 01H
|
|
__021983EB_streambuf DB 01H
|
|
__6D45C6E6_iterator DB 01H
|
|
__886FDBE2_iosfwd DB 01H
|
|
__B7ADD299_utility DB 01H
|
|
__40B2458B_xstddef DB 01H
|
|
__FAD76A5B_iomanip 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 ??2@YAPEAX_KPEAX@Z ; operator new
|
|
PUBLIC __local_stdio_printf_options
|
|
PUBLIC _vfprintf_l
|
|
PUBLIC printf
|
|
PUBLIC wmemcpy
|
|
PUBLIC ?max@?$numeric_limits@_J@std@@SA_JXZ ; std::numeric_limits<__int64>::max
|
|
PUBLIC ??0exception@std@@QEAA@QEBDH@Z ; std::exception::exception
|
|
PUBLIC ??0exception@std@@QEAA@AEBV01@@Z ; std::exception::exception
|
|
PUBLIC ??1exception@std@@UEAA@XZ ; std::exception::~exception
|
|
PUBLIC ?what@exception@std@@UEBAPEBDXZ ; std::exception::what
|
|
PUBLIC ??_Gexception@std@@UEAAPEAXI@Z ; std::exception::`scalar deleting destructor'
|
|
PUBLIC ??0bad_alloc@std@@AEAA@QEBD@Z ; std::bad_alloc::bad_alloc
|
|
PUBLIC ??1bad_alloc@std@@UEAA@XZ ; std::bad_alloc::~bad_alloc
|
|
PUBLIC ??0bad_alloc@std@@QEAA@AEBV01@@Z ; std::bad_alloc::bad_alloc
|
|
PUBLIC ??_Gbad_alloc@std@@UEAAPEAXI@Z ; std::bad_alloc::`scalar deleting destructor'
|
|
PUBLIC ??0bad_array_new_length@std@@QEAA@XZ ; std::bad_array_new_length::bad_array_new_length
|
|
PUBLIC ??1bad_array_new_length@std@@UEAA@XZ ; std::bad_array_new_length::~bad_array_new_length
|
|
PUBLIC ??0bad_array_new_length@std@@QEAA@AEBV01@@Z ; std::bad_array_new_length::bad_array_new_length
|
|
PUBLIC ??_Gbad_array_new_length@std@@UEAAPEAXI@Z ; std::bad_array_new_length::`scalar deleting destructor'
|
|
PUBLIC ?_Throw_bad_array_new_length@std@@YAXXZ ; std::_Throw_bad_array_new_length
|
|
PUBLIC ?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z ; std::_Default_allocate_traits::_Allocate
|
|
PUBLIC ?_Adjust_manually_vector_aligned@std@@YAXAEAPEAXAEA_K@Z ; std::_Adjust_manually_vector_aligned
|
|
PUBLIC ??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z ; std::_Container_proxy::_Container_proxy
|
|
PUBLIC ??0_Container_base12@std@@QEAA@XZ ; std::_Container_base12::_Container_base12
|
|
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 ??0_Iterator_base12@std@@QEAA@XZ ; std::_Iterator_base12::_Iterator_base12
|
|
PUBLIC ??0_Iterator_base12@std@@QEAA@AEBU01@@Z ; std::_Iterator_base12::_Iterator_base12
|
|
PUBLIC ??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z ; std::_Iterator_base12::operator=
|
|
PUBLIC ??1_Iterator_base12@std@@QEAA@XZ ; std::_Iterator_base12::~_Iterator_base12
|
|
PUBLIC ?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z ; std::_Iterator_base12::_Adopt
|
|
PUBLIC ?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ ; std::_Iterator_base12::_Orphan_me_v2
|
|
PUBLIC ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ; std::_Iterator_base12::_Getcont
|
|
PUBLIC ?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ; std::_Iterator_base12::_Adopt_unlocked
|
|
PUBLIC ?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ; std::_Iterator_base12::_Adopt_locked
|
|
PUBLIC ?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ ; std::_Iterator_base12::_Orphan_me_unlocked
|
|
PUBLIC ?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ ; std::_Iterator_base12::_Orphan_me_locked
|
|
PUBLIC ??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z ; std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>
|
|
PUBLIC ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
PUBLIC ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
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 ?hex@std@@YAAEAVios_base@1@AEAV21@@Z ; std::hex
|
|
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 ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
PUBLIC ??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
PUBLIC ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
PUBLIC ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
|
|
PUBLIC ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z ; _NATIVE_CODE_LINK::`scalar deleting destructor'
|
|
PUBLIC ??0?$allocator@K@std@@QEAA@XZ ; std::allocator<unsigned long>::allocator<unsigned long>
|
|
PUBLIC ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
|
|
PUBLIC ?allocate@?$allocator@K@std@@QEAAPEAK_K@Z ; std::allocator<unsigned long>::allocate
|
|
PUBLIC ?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::max_size
|
|
PUBLIC ??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::vector<unsigned long,std::allocator<unsigned long> >
|
|
PUBLIC ?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back
|
|
PUBLIC ?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::clear
|
|
PUBLIC ?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::begin
|
|
PUBLIC ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
PUBLIC ?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_begin
|
|
PUBLIC ?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_end
|
|
PUBLIC ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
PUBLIC ?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::max_size
|
|
PUBLIC ?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::capacity
|
|
PUBLIC ?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove
|
|
PUBLIC ?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept1
|
|
PUBLIC ?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept
|
|
PUBLIC ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
|
|
PUBLIC ?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Calculate_growth
|
|
PUBLIC ?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Change_array
|
|
PUBLIC ?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Xlength
|
|
PUBLIC ?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_unlocked
|
|
PUBLIC ?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
PUBLIC ?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range
|
|
PUBLIC ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEAAAEAV?$allocator@K@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal
|
|
PUBLIC ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal
|
|
PUBLIC ??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ ; std::_Vector_val<std::_Simple_types<unsigned long> >::_Vector_val<std::_Simple_types<unsigned long> >
|
|
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 ?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEBAAEBV?$allocator@K@2@XZ ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Get_first
|
|
PUBLIC ??0_NATIVE_CODE_BLOCK@@QEAA@XZ ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK
|
|
PUBLIC ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
PUBLIC ?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcPrependToBlock
|
|
PUBLIC ?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z ; NcInsertLinkAfter
|
|
PUBLIC ?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z ; NcInsertLinkBefore
|
|
PUBLIC ?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z ; NcUnlink
|
|
PUBLIC ?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCalcBlockSize
|
|
PUBLIC ?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z ; NcChangeLabelId
|
|
PUBLIC ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcGenUnusedLabelId
|
|
PUBLIC ?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z ; NcFixLabelsForBlocks
|
|
PUBLIC ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockAfter
|
|
PUBLIC ?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ; NcInsertBlockBefore
|
|
PUBLIC ?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCreateLabels
|
|
PUBLIC ?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z ; NcValidateJmp
|
|
PUBLIC ?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z ; NcDeepCopyLink
|
|
PUBLIC ?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeepCopyPartialBlock
|
|
PUBLIC ?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z ; NcDeepCopyBlock
|
|
PUBLIC ?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z ; NcGetDeltaToLabel
|
|
PUBLIC ?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; NcFixRelJmps
|
|
PUBLIC ?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z ; NcDisassemble
|
|
PUBLIC ?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z ; NcAssemble
|
|
PUBLIC ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
|
|
PUBLIC ?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDebugPrint
|
|
PUBLIC ?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcPrintBlockCode
|
|
PUBLIC ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator==
|
|
PUBLIC ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator!=
|
|
PUBLIC ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Compat
|
|
PUBLIC ?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z ; std::_Verify_range
|
|
PUBLIC ?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Seek_to
|
|
PUBLIC ??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Unwrapped
|
|
PUBLIC ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z ; std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>
|
|
PUBLIC ??$log2@H$0A@@@YANH@Z ; log2<int,0>
|
|
PUBLIC ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
PUBLIC ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ; std::setfill<char>
|
|
PUBLIC ??0?$_Fillobj@D@std@@QEAA@D@Z ; std::_Fillobj<char>::_Fillobj<char>
|
|
PUBLIC ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ; std::operator<<<char,std::char_traits<char>,char>
|
|
PUBLIC ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
|
|
PUBLIC ??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z ; std::addressof<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
PUBLIC ??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::emplace_back<unsigned long const &>
|
|
PUBLIC ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
PUBLIC ??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_back_with_unused_capacity<unsigned long const &>
|
|
PUBLIC ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
PUBLIC ??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long const &>
|
|
PUBLIC ??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>
|
|
PUBLIC ?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z ; std::allocator<std::_Container_proxy>::allocate
|
|
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 ??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1><>
|
|
PUBLIC ??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z ; std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> >
|
|
PUBLIC ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
PUBLIC ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
PUBLIC ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
PUBLIC ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
PUBLIC ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
PUBLIC ??$min@_K@std@@YAAEB_KAEB_K0@Z ; std::min<unsigned __int64>
|
|
PUBLIC ??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z ; std::_Unfancy<std::_Container_proxy>
|
|
PUBLIC ??$_Destroy_range@V?$allocator@K@std@@@std@@YAXPEAKQEAKAEAV?$allocator@K@0@@Z ; std::_Destroy_range<std::allocator<unsigned long> >
|
|
PUBLIC ??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z ; std::_Get_size_of_n<16>
|
|
PUBLIC ??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z ; std::_Allocate<16,std::_Default_allocate_traits,0>
|
|
PUBLIC ??$_Deallocate@$0BA@$0A@@std@@YAXPEAX_K@Z ; std::_Deallocate<16,0>
|
|
PUBLIC ??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z ; std::addressof<std::_Container_proxy>
|
|
PUBLIC ??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z ; std::_Voidify_iter<std::_Container_proxy *>
|
|
PUBLIC ??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z ; std::forward<std::_Container_base12 *>
|
|
PUBLIC ??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z ; std::_Adl_verify_range<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > >
|
|
PUBLIC ??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > &>
|
|
PUBLIC ??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > const &>
|
|
PUBLIC ??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z ; std::_Find_unchecked<unsigned long *,unsigned long>
|
|
PUBLIC ??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z ; std::_Seek_wrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long *>
|
|
PUBLIC ??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z ; std::_Voidify_iter<unsigned long *>
|
|
PUBLIC ??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>
|
|
PUBLIC ??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
PUBLIC ??$_Get_size_of_n@$03@std@@YA_K_K@Z ; std::_Get_size_of_n<4>
|
|
PUBLIC ??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z ; std::_Find_unchecked1<unsigned long *,unsigned long>
|
|
PUBLIC ??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z ; std::forward<unsigned long *>
|
|
PUBLIC ??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z ; std::_Get_unwrapped<unsigned long * const &>
|
|
PUBLIC ??$move@AEAK@std@@YA$$QEAKAEAK@Z ; std::move<unsigned long &>
|
|
PUBLIC ??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z ; std::_Copy_memmove<unsigned long *,unsigned long *>
|
|
PUBLIC ??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
PUBLIC ??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
PUBLIC ?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Release
|
|
PUBLIC ?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::__autoclassinit2
|
|
PUBLIC ??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Emplace_back<unsigned long>
|
|
PUBLIC ??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z ; std::_Refancy<unsigned long *,0>
|
|
PUBLIC ??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z ; std::_To_address<unsigned long *>
|
|
PUBLIC ??$forward@K@std@@YA$$QEAKAEAK@Z ; std::forward<unsigned long>
|
|
PUBLIC ??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long>
|
|
PUBLIC __JustMyCode_Default
|
|
PUBLIC ?_OptionsStorage@?1??__local_stdio_printf_options@@9@4_KA ; `__local_stdio_printf_options'::`2'::_OptionsStorage
|
|
PUBLIC ??_7exception@std@@6B@ ; std::exception::`vftable'
|
|
PUBLIC ??_C@_0BC@EOODALEL@Unknown?5exception@ ; `string'
|
|
PUBLIC ??_7bad_alloc@std@@6B@ ; std::bad_alloc::`vftable'
|
|
PUBLIC ??_7bad_array_new_length@std@@6B@ ; std::bad_array_new_length::`vftable'
|
|
PUBLIC ??_C@_0BF@KINCDENJ@bad?5array?5new?5length@ ; `string'
|
|
PUBLIC _TI3?AVbad_array_new_length@std@@
|
|
PUBLIC _CTA3?AVbad_array_new_length@std@@
|
|
PUBLIC ??_R0?AVbad_array_new_length@std@@@8 ; std::bad_array_new_length `RTTI Type Descriptor'
|
|
PUBLIC _CT??_R0?AVbad_array_new_length@std@@@8??0bad_array_new_length@std@@QEAA@AEBV01@@Z24
|
|
PUBLIC ??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc `RTTI Type Descriptor'
|
|
PUBLIC _CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QEAA@AEBV01@@Z24
|
|
PUBLIC ??_R0?AVexception@std@@@8 ; std::exception `RTTI Type Descriptor'
|
|
PUBLIC _CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24
|
|
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@_0BJ@LFDBABJJ@ITERATOR?5LIST?5CORRUPTED?$CB@ ; `string'
|
|
PUBLIC ??_C@_1FG@EMKODCE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAI?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA_@ ; `string'
|
|
PUBLIC ??_C@_1DG@PLBPCAEM@?$AA?$CC?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5@ ; `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@_0DF@KKBEBOEB@Failed?5to?5validate?5jump?4?5Type?3?5@ ; `string'
|
|
PUBLIC ??_C@_0CL@COPJALEP@XedDecode?5failed?5in?5NcDeepCopyL@ ; `string'
|
|
PUBLIC ??_C@_0CA@KDIENFLL@XedDecode?5failed?5with?5error?5?$CFs?6@ ; `string'
|
|
PUBLIC ??_C@_0L@ILJOJNOL@Label?3?5?$CFu?6@ ; `string'
|
|
PUBLIC ??_C@_07KNNCJAOA@?$CFs?3?5?$CFu?6@ ; `string'
|
|
PUBLIC ??_C@_03OFAPEBGM@?$CFs?6@ ; `string'
|
|
PUBLIC ??_C@_0N@LPFKKEBD@?3AM?3am?3PM?3pm@ ; `string'
|
|
PUBLIC ??_C@_0BO@CAOBBIOC@vector?5iterators?5incompatible@ ; `string'
|
|
PUBLIC ??_C@_0GH@IJJCCHP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@ ; `string'
|
|
PUBLIC ??_C@_1MO@MBPFCBOF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@ ; `string'
|
|
PUBLIC ??_C@_1NC@CDEGKPGM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ ; `string'
|
|
PUBLIC ??_C@_1EA@DJDGNIII@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ ; `string'
|
|
PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string'
|
|
PUBLIC ??_C@_0BA@FOIKENOD@vector?5too?5long@ ; `string'
|
|
PUBLIC ??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@ ; `string'
|
|
PUBLIC ??_C@_1EO@GFNCMDLA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AA_@ ; `string'
|
|
PUBLIC ??_C@_0DI@PBEELKIF@vector?5iterators?5in?5range?5are?5f@ ; `string'
|
|
PUBLIC ??_C@_1HE@KBMFDAFB@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ ; `string'
|
|
PUBLIC ??_C@_0CB@LIAHLBAO@vector?5iterator?5range?5transpose@ ; `string'
|
|
PUBLIC ??_C@_1EG@ODKBEHFN@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ ; `string'
|
|
PUBLIC ??_R4exception@std@@6B@ ; std::exception::`RTTI Complete Object Locator'
|
|
PUBLIC ??_R3exception@std@@8 ; std::exception::`RTTI Class Hierarchy Descriptor'
|
|
PUBLIC ??_R2exception@std@@8 ; std::exception::`RTTI Base Class Array'
|
|
PUBLIC ??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
PUBLIC ??_R4bad_alloc@std@@6B@ ; std::bad_alloc::`RTTI Complete Object Locator'
|
|
PUBLIC ??_R3bad_alloc@std@@8 ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
|
|
PUBLIC ??_R2bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
|
|
PUBLIC ??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
PUBLIC ??_R4bad_array_new_length@std@@6B@ ; std::bad_array_new_length::`RTTI Complete Object Locator'
|
|
PUBLIC ??_R3bad_array_new_length@std@@8 ; std::bad_array_new_length::`RTTI Class Hierarchy Descriptor'
|
|
PUBLIC ??_R2bad_array_new_length@std@@8 ; std::bad_array_new_length::`RTTI Base Class Array'
|
|
PUBLIC ??_R1A@?0A@EA@bad_array_new_length@std@@8 ; std::bad_array_new_length::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
PUBLIC __real@3ff0000000000000
|
|
EXTRN ??2@YAPEAX_K@Z:PROC ; operator new
|
|
EXTRN ??3@YAXPEAX_K@Z:PROC ; operator delete
|
|
EXTRN ??_U@YAPEAX_K@Z:PROC ; operator new[]
|
|
EXTRN ??_V@YAXPEAX@Z:PROC ; operator delete[]
|
|
EXTRN __imp__invalid_parameter:PROC
|
|
EXTRN memcpy:PROC
|
|
EXTRN memmove:PROC
|
|
EXTRN __imp_wcslen:PROC
|
|
EXTRN strlen:PROC
|
|
EXTRN __imp_GetStdHandle:PROC
|
|
EXTRN __imp_SetConsoleTextAttribute:PROC
|
|
EXTRN __imp_malloc:PROC
|
|
EXTRN abs: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 __imp_log2:PROC
|
|
EXTRN ?uncaught_exception@std@@YA_NXZ:PROC ; std::uncaught_exception
|
|
EXTRN __std_exception_copy:PROC
|
|
EXTRN __std_exception_destroy:PROC
|
|
EXTRN ??_Eexception@std@@UEAAPEAXI@Z:PROC ; std::exception::`vector deleting destructor'
|
|
EXTRN ??_Ebad_alloc@std@@UEAAPEAXI@Z:PROC ; std::bad_alloc::`vector deleting destructor'
|
|
EXTRN ??_Ebad_array_new_length@std@@UEAAPEAXI@Z:PROC ; std::bad_array_new_length::`vector deleting destructor'
|
|
EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc
|
|
EXTRN ?_Xlength_error@std@@YAXPEBD@Z:PROC ; std::_Xlength_error
|
|
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 __imp_?good@ios_base@std@@QEBA_NXZ:PROC
|
|
EXTRN __imp_?flags@ios_base@std@@QEBAHXZ:PROC
|
|
EXTRN __imp_?setf@ios_base@std@@QEAAHHH@Z:PROC
|
|
EXTRN __imp_?width@ios_base@std@@QEBA_JXZ:PROC
|
|
EXTRN __imp_?width@ios_base@std@@QEAA_J_J@Z:PROC
|
|
EXTRN __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z:PROC
|
|
EXTRN __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z:PROC
|
|
EXTRN __imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ:PROC
|
|
EXTRN __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ:PROC
|
|
EXTRN __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ:PROC
|
|
EXTRN __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z:PROC
|
|
EXTRN __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ:PROC
|
|
EXTRN __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z:PROC
|
|
EXTRN __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z:PROC
|
|
EXTRN __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ:PROC
|
|
EXTRN ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z:PROC ; std::setw
|
|
EXTRN xed_category_enum_t2str:PROC
|
|
EXTRN xed_iclass_enum_t2str:PROC
|
|
EXTRN xed_iform_map:PROC
|
|
EXTRN xed_iform_to_category:PROC
|
|
EXTRN xed_inst_operand:PROC
|
|
EXTRN xed_error_enum_t2str:PROC
|
|
EXTRN xed_decode:PROC
|
|
EXTRN xed_operand_values_set_mode:PROC
|
|
EXTRN xed_encoder_request_zero_set_mode:PROC
|
|
EXTRN xed_encode:PROC
|
|
EXTRN xed_convert_to_encoder_request:PROC
|
|
EXTRN xed_decoded_inst_zero_set_mode:PROC
|
|
EXTRN xed_decoded_inst_zero:PROC
|
|
EXTRN xed_decoded_inst_get_branch_displacement:PROC
|
|
EXTRN xed_decoded_inst_get_branch_displacement_width:PROC
|
|
EXTRN xed_decoded_inst_get_branch_displacement_width_bits:PROC
|
|
EXTRN _CxxThrowException:PROC
|
|
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 ??_7type_info@@6B@:BYTE ; type_info::`vftable'
|
|
EXTRN __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A:BYTE
|
|
EXTRN __security_cookie:QWORD
|
|
EXTRN _fltused:DWORD
|
|
; 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$??2@YAPEAX_KPEAX@Z DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$??2@YAPEAX_KPEAX@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$?max@?$numeric_limits@_J@std@@SA_JXZ DD imagerel $LN3
|
|
DD imagerel $LN3+47
|
|
DD imagerel $unwind$?max@?$numeric_limits@_J@std@@SA_JXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0exception@std@@QEAA@QEBDH@Z DD imagerel $LN3
|
|
DD imagerel $LN3+116
|
|
DD imagerel $unwind$??0exception@std@@QEAA@QEBDH@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0exception@std@@QEAA@AEBV01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+123
|
|
DD imagerel $unwind$??0exception@std@@QEAA@AEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1exception@std@@UEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+77
|
|
DD imagerel $unwind$??1exception@std@@UEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?what@exception@std@@UEBAPEBDXZ DD imagerel $LN5
|
|
DD imagerel $LN5+96
|
|
DD imagerel $unwind$?what@exception@std@@UEBAPEBDXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??_Gexception@std@@UEAAPEAXI@Z DD imagerel $LN4
|
|
DD imagerel $LN4+82
|
|
DD imagerel $unwind$??_Gexception@std@@UEAAPEAXI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0bad_alloc@std@@AEAA@QEBD@Z DD imagerel $LN3
|
|
DD imagerel $LN3+95
|
|
DD imagerel $unwind$??0bad_alloc@std@@AEAA@QEBD@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1bad_alloc@std@@UEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+41
|
|
DD imagerel $unwind$??1bad_alloc@std@@UEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0bad_alloc@std@@QEAA@AEBV01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+77
|
|
DD imagerel $unwind$??0bad_alloc@std@@QEAA@AEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??_Gbad_alloc@std@@UEAAPEAXI@Z DD imagerel $LN4
|
|
DD imagerel $LN4+82
|
|
DD imagerel $unwind$??_Gbad_alloc@std@@UEAAPEAXI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0bad_array_new_length@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+84
|
|
DD imagerel $unwind$??0bad_array_new_length@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1bad_array_new_length@std@@UEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+41
|
|
DD imagerel $unwind$??1bad_array_new_length@std@@UEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0bad_array_new_length@std@@QEAA@AEBV01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+77
|
|
DD imagerel $unwind$??0bad_array_new_length@std@@QEAA@AEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??_Gbad_array_new_length@std@@UEAAPEAXI@Z DD imagerel $LN4
|
|
DD imagerel $LN4+82
|
|
DD imagerel $unwind$??_Gbad_array_new_length@std@@UEAAPEAXI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Throw_bad_array_new_length@std@@YAXXZ DD imagerel $LN3
|
|
DD imagerel $LN3+68
|
|
DD imagerel $unwind$?_Throw_bad_array_new_length@std@@YAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z
|
|
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$??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+85
|
|
DD imagerel $unwind$??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_Container_base12@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+62
|
|
DD imagerel $unwind$??0_Container_base12@std@@QEAA@XZ
|
|
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$??0_Iterator_base12@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+77
|
|
DD imagerel $unwind$??0_Iterator_base12@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_Iterator_base12@std@@QEAA@AEBU01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+101
|
|
DD imagerel $unwind$??0_Iterator_base12@std@@QEAA@AEBU01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z DD imagerel $LN6
|
|
DD imagerel $LN6+127
|
|
DD imagerel $unwind$??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1_Iterator_base12@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$??1_Iterator_base12@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z DD imagerel $LN6
|
|
DD imagerel $LN6+116
|
|
DD imagerel $unwind$?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ DD imagerel $LN4
|
|
DD imagerel $LN4+66
|
|
DD imagerel $unwind$?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ DD imagerel $LN5
|
|
DD imagerel $LN5+94
|
|
DD imagerel $unwind$?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z DD imagerel $LN4
|
|
DD imagerel $LN4+128
|
|
DD imagerel $unwind$?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+163
|
|
DD imagerel $unwind$?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ DD imagerel $LN14
|
|
DD imagerel $LN14+267
|
|
DD imagerel $unwind$?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ DD imagerel $LN3
|
|
DD imagerel $LN3+151
|
|
DD imagerel $unwind$?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+127
|
|
DD imagerel $unwind$??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+95
|
|
DD imagerel $unwind$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DD imagerel $LN3
|
|
DD imagerel $LN3+42
|
|
DD imagerel $unwind$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
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$?hex@std@@YAAEAVios_base@1@AEAV21@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+72
|
|
DD imagerel $unwind$?hex@std@@YAAEAVios_base@1@AEAV21@@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$xed_iform_to_iclass DD imagerel xed_iform_to_iclass
|
|
DD imagerel xed_iform_to_iclass+77
|
|
DD imagerel $unwind$xed_iform_to_iclass
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_operand_type DD imagerel xed_operand_type
|
|
DD imagerel xed_operand_type+52
|
|
DD imagerel $unwind$xed_operand_type
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_inst_iform_enum DD imagerel xed_inst_iform_enum
|
|
DD imagerel xed_inst_iform_enum+52
|
|
DD imagerel $unwind$xed_inst_iform_enum
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_inst_iclass DD imagerel xed_inst_iclass
|
|
DD imagerel xed_inst_iclass+60
|
|
DD imagerel $unwind$xed_inst_iclass
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_inst_category DD imagerel xed_inst_category
|
|
DD imagerel xed_inst_category+60
|
|
DD imagerel $unwind$xed_inst_category
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_inst_noperands DD imagerel xed_inst_noperands
|
|
DD imagerel xed_inst_noperands+51
|
|
DD imagerel $unwind$xed_inst_noperands
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_relbr DD imagerel xed_relbr
|
|
DD imagerel xed_relbr+184
|
|
DD imagerel $unwind$xed_relbr
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_inst1 DD imagerel xed_inst1
|
|
DD imagerel xed_inst1+184
|
|
DD imagerel $unwind$xed_inst1
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_inst DD imagerel xed_decoded_inst_inst
|
|
DD imagerel xed_decoded_inst_inst+55
|
|
DD imagerel $unwind$xed_decoded_inst_inst
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_get_category DD imagerel xed_decoded_inst_get_category
|
|
DD imagerel xed_decoded_inst_get_category+66
|
|
DD imagerel $unwind$xed_decoded_inst_get_category
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_get_iclass DD imagerel xed_decoded_inst_get_iclass
|
|
DD imagerel xed_decoded_inst_get_iclass+66
|
|
DD imagerel $unwind$xed_decoded_inst_get_iclass
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_noperands DD imagerel xed_decoded_inst_noperands
|
|
DD imagerel xed_decoded_inst_noperands+67
|
|
DD imagerel $unwind$xed_decoded_inst_noperands
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_set_mode DD imagerel xed_decoded_inst_set_mode
|
|
DD imagerel xed_decoded_inst_set_mode+157
|
|
DD imagerel $unwind$xed_decoded_inst_set_mode
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$xed_decoded_inst_get_length DD imagerel xed_decoded_inst_get_length
|
|
DD imagerel xed_decoded_inst_get_length+55
|
|
DD imagerel $unwind$xed_decoded_inst_get_length
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_NATIVE_CODE_LINK@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+198
|
|
DD imagerel $unwind$??0_NATIVE_CODE_LINK@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN4
|
|
DD imagerel $LN4+117
|
|
DD imagerel $unwind$??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z DD imagerel $LN6
|
|
DD imagerel $LN6+238
|
|
DD imagerel $unwind$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA DD imagerel ?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA
|
|
DD imagerel ?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA+39
|
|
DD imagerel $unwind$?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1_NATIVE_CODE_LINK@@QEAA@XZ DD imagerel $LN4
|
|
DD imagerel $LN4+90
|
|
DD imagerel $unwind$??1_NATIVE_CODE_LINK@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z DD imagerel $LN4
|
|
DD imagerel $LN4+82
|
|
DD imagerel $unwind$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$allocator@K@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??0?$allocator@K@std@@QEAA@XZ
|
|
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$?allocate@?$allocator@K@std@@QEAAPEAK_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+66
|
|
DD imagerel $unwind$?allocate@?$allocator@K@std@@QEAAPEAK_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+51
|
|
DD imagerel $unwind$?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+137
|
|
DD imagerel $unwind$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+65
|
|
DD imagerel $unwind$?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ DD imagerel $LN3
|
|
DD imagerel $LN3+125
|
|
DD imagerel $unwind$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+121
|
|
DD imagerel $unwind$?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+121
|
|
DD imagerel $unwind$?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ DD imagerel $LN3
|
|
DD imagerel $LN3+52
|
|
DD imagerel $unwind$?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ DD imagerel $LN3
|
|
DD imagerel $LN3+52
|
|
DD imagerel $unwind$?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD imagerel $LN3
|
|
DD imagerel $LN3+75
|
|
DD imagerel $unwind$?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD imagerel $LN3
|
|
DD imagerel $LN3+102
|
|
DD imagerel $unwind$?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD imagerel $LN3
|
|
DD imagerel $LN3+75
|
|
DD imagerel $unwind$?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z DD imagerel $LN3
|
|
DD imagerel $LN3+97
|
|
DD imagerel $unwind$?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+97
|
|
DD imagerel $unwind$?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z DD imagerel $LN3
|
|
DD imagerel $LN3+119
|
|
DD imagerel $unwind$?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z
|
|
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$?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z DD imagerel $LN5
|
|
DD imagerel $LN5+168
|
|
DD imagerel $unwind$?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z DD imagerel $LN4
|
|
DD imagerel $LN4+299
|
|
DD imagerel $unwind$?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ DD imagerel $LN3
|
|
DD imagerel $LN3+49
|
|
DD imagerel $unwind$?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD imagerel $LN8
|
|
DD imagerel $LN8+184
|
|
DD imagerel $unwind$?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD imagerel $LN4
|
|
DD imagerel $LN4+177
|
|
DD imagerel $unwind$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA DD imagerel ?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA
|
|
DD imagerel ?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA+37
|
|
DD imagerel $unwind$?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD imagerel $LN3
|
|
DD imagerel $LN3+77
|
|
DD imagerel $unwind$?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
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$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+56
|
|
DD imagerel $unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+105
|
|
DD imagerel $unwind$??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@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$?_Get_first@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEBAAEBV?$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@@QEBAAEBV?$allocator@K@2@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_NATIVE_CODE_BLOCK@@QEAA@XZ DD imagerel $LN4
|
|
DD imagerel $LN4+115
|
|
DD imagerel $unwind$??0_NATIVE_CODE_BLOCK@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+218
|
|
DD imagerel $unwind$?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+216
|
|
DD imagerel $unwind$?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+145
|
|
DD imagerel $unwind$?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+148
|
|
DD imagerel $unwind$?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z DD imagerel $LN6
|
|
DD imagerel $LN6+127
|
|
DD imagerel $unwind$?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+140
|
|
DD imagerel $unwind$?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z DD imagerel $LN8
|
|
DD imagerel $LN8+162
|
|
DD imagerel $unwind$?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN9
|
|
DD imagerel $LN9+491
|
|
DD imagerel $unwind$?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z DD imagerel $LN17
|
|
DD imagerel $LN17+623
|
|
DD imagerel $unwind$?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z DD imagerel $LN10
|
|
DD imagerel $LN10+406
|
|
DD imagerel $unwind$?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z DD imagerel $LN10
|
|
DD imagerel $LN10+389
|
|
DD imagerel $unwind$?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN18
|
|
DD imagerel $LN18+689
|
|
DD imagerel $unwind$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD imagerel ?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
|
|
DD imagerel ?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA+44
|
|
DD imagerel $unwind$?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z DD imagerel $LN23
|
|
DD imagerel $LN23+391
|
|
DD imagerel $unwind$?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z DD imagerel $LN14
|
|
DD imagerel $LN14+472
|
|
DD imagerel $unwind$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA DD imagerel ?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
DD imagerel ?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA+44
|
|
DD imagerel $unwind$?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA DD imagerel ?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
DD imagerel ?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA+44
|
|
DD imagerel $unwind$?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN12
|
|
DD imagerel $LN12+500
|
|
DD imagerel $unwind$?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z DD imagerel $LN3
|
|
DD imagerel $LN3+79
|
|
DD imagerel $unwind$?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z DD imagerel $LN13
|
|
DD imagerel $LN13+277
|
|
DD imagerel $unwind$?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN21
|
|
DD imagerel $LN21+948
|
|
DD imagerel $unwind$?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z DD imagerel $LN13
|
|
DD imagerel $LN13+541
|
|
DD imagerel $unwind$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA DD imagerel ?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA
|
|
DD imagerel ?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA+44
|
|
DD imagerel $unwind$?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z DD imagerel $LN9
|
|
DD imagerel $LN9+257
|
|
DD imagerel $unwind$?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN10
|
|
DD imagerel $LN10+201
|
|
DD imagerel $unwind$?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN11
|
|
DD imagerel $LN11+327
|
|
DD imagerel $unwind$?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN10
|
|
DD imagerel $LN10+338
|
|
DD imagerel $unwind$?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+107
|
|
DD imagerel $unwind$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z DD imagerel $LN5
|
|
DD imagerel $LN5+118
|
|
DD imagerel $unwind$??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z DD imagerel $LN5
|
|
DD imagerel $LN5+101
|
|
DD imagerel $unwind$??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z DD imagerel $LN12
|
|
DD imagerel $LN12+208
|
|
DD imagerel $unwind$?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z DD imagerel $LN21
|
|
DD imagerel $LN21+351
|
|
DD imagerel $unwind$?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+69
|
|
DD imagerel $unwind$?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+41
|
|
DD imagerel $unwind$??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+82
|
|
DD imagerel $unwind$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ DD imagerel $LN3
|
|
DD imagerel $LN3+57
|
|
DD imagerel $unwind$?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+41
|
|
DD imagerel $unwind$??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+60
|
|
DD imagerel $unwind$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+72
|
|
DD imagerel $unwind$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z DD imagerel $LN7
|
|
DD imagerel $LN7+241
|
|
DD imagerel $unwind$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA DD imagerel ?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
DD imagerel ?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA+39
|
|
DD imagerel $unwind$?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA DD imagerel ?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
DD imagerel ?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA+39
|
|
DD imagerel $unwind$?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$log2@H$0A@@@YANH@Z DD imagerel $LN3
|
|
DD imagerel $LN3+54
|
|
DD imagerel $unwind$??$log2@H$0A@@@YANH@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+117
|
|
DD imagerel $unwind$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z DD imagerel $LN3
|
|
DD imagerel $LN3+71
|
|
DD imagerel $unwind$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Fillobj@D@std@@QEAA@D@Z DD imagerel $LN3
|
|
DD imagerel $LN3+68
|
|
DD imagerel $unwind$??0?$_Fillobj@D@std@@QEAA@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+110
|
|
DD imagerel $unwind$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD imagerel $LN23
|
|
DD imagerel $LN23+1097
|
|
DD imagerel $unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+36
|
|
DD imagerel $unwind$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA+91
|
|
DD imagerel $unwind$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z DD imagerel $LN4
|
|
DD imagerel $LN4+182
|
|
DD imagerel $unwind$??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$forward@AEBK@std@@YAAEBKAEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$forward@AEBK@std@@YAAEBKAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+211
|
|
DD imagerel $unwind$??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Unfancy@K@std@@YAPEAKPEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$_Unfancy@K@std@@YAPEAKPEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+106
|
|
DD imagerel $unwind$??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DD imagerel $LN13
|
|
DD imagerel $LN13+593
|
|
DD imagerel $unwind$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA DD imagerel ?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA
|
|
DD imagerel ?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA+94
|
|
DD imagerel $unwind$?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+66
|
|
DD imagerel $unwind$?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$??$?0K@?$allocator@U_Container_proxy@std@@@std@@QEAA@AEBV?$allocator@K@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+79
|
|
DD imagerel $unwind$??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+133
|
|
DD imagerel $unwind$??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN4
|
|
DD imagerel $LN4+148
|
|
DD imagerel $unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN4
|
|
DD imagerel $LN4+120
|
|
DD imagerel $unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+261
|
|
DD imagerel $unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA+39
|
|
DD imagerel $unwind$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD imagerel $LN6
|
|
DD imagerel $LN6+116
|
|
DD imagerel $unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ DD imagerel $LN3
|
|
DD imagerel $LN3+52
|
|
DD imagerel $unwind$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$min@_K@std@@YAAEB_KAEB_K0@Z DD imagerel $LN5
|
|
DD imagerel $LN5+119
|
|
DD imagerel $unwind$??$min@_K@std@@YAAEB_KAEB_K0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@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$??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z DD imagerel $LN4
|
|
DD imagerel $LN4+91
|
|
DD imagerel $unwind$??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z DD imagerel $LN5
|
|
DD imagerel $LN5+94
|
|
DD imagerel $unwind$??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@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$??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z DD imagerel $LN3
|
|
DD imagerel $LN3+65
|
|
DD imagerel $unwind$??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+53
|
|
DD imagerel $unwind$??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+104
|
|
DD imagerel $unwind$??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+73
|
|
DD imagerel $unwind$??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z DD imagerel $LN13
|
|
DD imagerel $LN13+277
|
|
DD imagerel $unwind$??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+342
|
|
DD imagerel $unwind$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA DD imagerel ?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA
|
|
DD imagerel ?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA+36
|
|
DD imagerel $unwind$?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Get_size_of_n@$03@std@@YA_K_K@Z DD imagerel $LN4
|
|
DD imagerel $LN4+94
|
|
DD imagerel $unwind$??$_Get_size_of_n@$03@std@@YA_K_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z DD imagerel $LN7
|
|
DD imagerel $LN7+123
|
|
DD imagerel $unwind$??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+51
|
|
DD imagerel $unwind$??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$move@AEAK@std@@YA$$QEAKAEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$move@AEAK@std@@YA$$QEAKAEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z DD imagerel $LN3
|
|
DD imagerel $LN3+196
|
|
DD imagerel $unwind$??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z DD imagerel $LN3
|
|
DD imagerel $LN3+111
|
|
DD imagerel $unwind$??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ DD imagerel $LN3
|
|
DD imagerel $LN3+78
|
|
DD imagerel $unwind$??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ DD imagerel $LN3
|
|
DD imagerel $LN3+73
|
|
DD imagerel $unwind$?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z DD imagerel $LN3
|
|
DD imagerel $LN3+50
|
|
DD imagerel $unwind$?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+158
|
|
DD imagerel $unwind$??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+51
|
|
DD imagerel $unwind$??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$forward@K@std@@YA$$QEAKAEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+48
|
|
DD imagerel $unwind$??$forward@K@std@@YA$$QEAKAEAK@Z
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z DD imagerel $LN3
|
|
DD imagerel $LN3+106
|
|
DD imagerel $unwind$??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z
|
|
pdata ENDS
|
|
; COMDAT __real@3ff0000000000000
|
|
CONST SEGMENT
|
|
__real@3ff0000000000000 DQ 03ff0000000000000r ; 1
|
|
CONST 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 ??_R1A@?0A@EA@bad_array_new_length@std@@8
|
|
rdata$r SEGMENT
|
|
??_R1A@?0A@EA@bad_array_new_length@std@@8 DD imagerel ??_R0?AVbad_array_new_length@std@@@8 ; std::bad_array_new_length::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
DD 02H
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
DD 00H
|
|
DD 040H
|
|
DD imagerel ??_R3bad_array_new_length@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R2bad_array_new_length@std@@8
|
|
rdata$r SEGMENT
|
|
??_R2bad_array_new_length@std@@8 DD imagerel ??_R1A@?0A@EA@bad_array_new_length@std@@8 ; std::bad_array_new_length::`RTTI Base Class Array'
|
|
DD imagerel ??_R1A@?0A@EA@bad_alloc@std@@8
|
|
DD imagerel ??_R1A@?0A@EA@exception@std@@8
|
|
ORG $+3
|
|
rdata$r ENDS
|
|
; COMDAT ??_R3bad_array_new_length@std@@8
|
|
rdata$r SEGMENT
|
|
??_R3bad_array_new_length@std@@8 DD 00H ; std::bad_array_new_length::`RTTI Class Hierarchy Descriptor'
|
|
DD 00H
|
|
DD 03H
|
|
DD imagerel ??_R2bad_array_new_length@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R4bad_array_new_length@std@@6B@
|
|
rdata$r SEGMENT
|
|
??_R4bad_array_new_length@std@@6B@ DD 01H ; std::bad_array_new_length::`RTTI Complete Object Locator'
|
|
DD 00H
|
|
DD 00H
|
|
DD imagerel ??_R0?AVbad_array_new_length@std@@@8
|
|
DD imagerel ??_R3bad_array_new_length@std@@8
|
|
DD imagerel ??_R4bad_array_new_length@std@@6B@
|
|
rdata$r ENDS
|
|
; COMDAT ??_R1A@?0A@EA@bad_alloc@std@@8
|
|
rdata$r SEGMENT
|
|
??_R1A@?0A@EA@bad_alloc@std@@8 DD imagerel ??_R0?AVbad_alloc@std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
DD 01H
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
DD 00H
|
|
DD 040H
|
|
DD imagerel ??_R3bad_alloc@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R2bad_alloc@std@@8
|
|
rdata$r SEGMENT
|
|
??_R2bad_alloc@std@@8 DD imagerel ??_R1A@?0A@EA@bad_alloc@std@@8 ; std::bad_alloc::`RTTI Base Class Array'
|
|
DD imagerel ??_R1A@?0A@EA@exception@std@@8
|
|
ORG $+3
|
|
rdata$r ENDS
|
|
; COMDAT ??_R3bad_alloc@std@@8
|
|
rdata$r SEGMENT
|
|
??_R3bad_alloc@std@@8 DD 00H ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
|
|
DD 00H
|
|
DD 02H
|
|
DD imagerel ??_R2bad_alloc@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R4bad_alloc@std@@6B@
|
|
rdata$r SEGMENT
|
|
??_R4bad_alloc@std@@6B@ DD 01H ; std::bad_alloc::`RTTI Complete Object Locator'
|
|
DD 00H
|
|
DD 00H
|
|
DD imagerel ??_R0?AVbad_alloc@std@@@8
|
|
DD imagerel ??_R3bad_alloc@std@@8
|
|
DD imagerel ??_R4bad_alloc@std@@6B@
|
|
rdata$r ENDS
|
|
; COMDAT ??_R1A@?0A@EA@exception@std@@8
|
|
rdata$r SEGMENT
|
|
??_R1A@?0A@EA@exception@std@@8 DD imagerel ??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
|
|
DD 00H
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
DD 00H
|
|
DD 040H
|
|
DD imagerel ??_R3exception@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R2exception@std@@8
|
|
rdata$r SEGMENT
|
|
??_R2exception@std@@8 DD imagerel ??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
|
|
ORG $+3
|
|
rdata$r ENDS
|
|
; COMDAT ??_R3exception@std@@8
|
|
rdata$r SEGMENT
|
|
??_R3exception@std@@8 DD 00H ; std::exception::`RTTI Class Hierarchy Descriptor'
|
|
DD 00H
|
|
DD 01H
|
|
DD imagerel ??_R2exception@std@@8
|
|
rdata$r ENDS
|
|
; COMDAT ??_R4exception@std@@6B@
|
|
rdata$r SEGMENT
|
|
??_R4exception@std@@6B@ DD 01H ; std::exception::`RTTI Complete Object Locator'
|
|
DD 00H
|
|
DD 00H
|
|
DD imagerel ??_R0?AVexception@std@@@8
|
|
DD imagerel ??_R3exception@std@@8
|
|
DD imagerel ??_R4exception@std@@6B@
|
|
rdata$r ENDS
|
|
; COMDAT ??_C@_1EG@ODKBEHFN@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
CONST SEGMENT
|
|
??_C@_1EG@ODKBEHFN@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ DB '"'
|
|
DB 00H, 'v', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H
|
|
DB ' ', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't'
|
|
DB 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H
|
|
DB 'g', 00H, 'e', 00H, ' ', 00H, 't', 00H, 'r', 00H, 'a', 00H, 'n'
|
|
DB 00H, 's', 00H, 'p', 00H, 'o', 00H, 's', 00H, 'e', 00H, 'd', 00H
|
|
DB '"', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0CB@LIAHLBAO@vector?5iterator?5range?5transpose@
|
|
CONST SEGMENT
|
|
??_C@_0CB@LIAHLBAO@vector?5iterator?5range?5transpose@ DB 'vector iterato'
|
|
DB 'r range transposed', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1HE@KBMFDAFB@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
CONST SEGMENT
|
|
??_C@_1HE@KBMFDAFB@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ DB '"'
|
|
DB 00H, 'v', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H
|
|
DB ' ', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't'
|
|
DB 00H, 'o', 00H, 'r', 00H, 's', 00H, ' ', 00H, 'i', 00H, 'n', 00H
|
|
DB ' ', 00H, 'r', 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, ' '
|
|
DB 00H, 'a', 00H, 'r', 00H, 'e', 00H, ' ', 00H, 'f', 00H, 'r', 00H
|
|
DB 'o', 00H, 'm', 00H, ' ', 00H, 'd', 00H, 'i', 00H, 'f', 00H, 'f'
|
|
DB 00H, 'e', 00H, 'r', 00H, 'e', 00H, 'n', 00H, 't', 00H, ' ', 00H
|
|
DB 'c', 00H, 'o', 00H, 'n', 00H, 't', 00H, 'a', 00H, 'i', 00H, 'n'
|
|
DB 00H, 'e', 00H, 'r', 00H, 's', 00H, '"', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0DI@PBEELKIF@vector?5iterators?5in?5range?5are?5f@
|
|
CONST SEGMENT
|
|
??_C@_0DI@PBEELKIF@vector?5iterators?5in?5range?5are?5f@ DB 'vector itera'
|
|
DB 'tors in range are from different containers', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1EO@GFNCMDLA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AA_@
|
|
CONST SEGMENT
|
|
??_C@_1EO@GFNCMDLA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AA_@ DB 's'
|
|
DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'A', 00H
|
|
DB 'l', 00H, 'l', 00H, 'o', 00H, 'c', 00H, 'a', 00H, 't', 00H, 'e'
|
|
DB 00H, '_', 00H, 'm', 00H, 'a', 00H, 'n', 00H, 'u', 00H, 'a', 00H
|
|
DB 'l', 00H, 'l', 00H, 'y', 00H, '_', 00H, 'v', 00H, 'e', 00H, 'c'
|
|
DB 00H, 't', 00H, 'o', 00H, 'r', 00H, '_', 00H, 'a', 00H, 'l', 00H
|
|
DB 'i', 00H, 'g', 00H, 'n', 00H, 'e', 00H, 'd', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@
|
|
CONST SEGMENT
|
|
??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@ DB 's'
|
|
DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'V', 00H
|
|
DB 'e', 00H, 'r', 00H, 'i', 00H, 'f', 00H, 'y', 00H, '_', 00H, 'r'
|
|
DB 00H, 'a', 00H, 'n', 00H, 'g', 00H, 'e', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0BA@FOIKENOD@vector?5too?5long@
|
|
CONST SEGMENT
|
|
??_C@_0BA@FOIKENOD@vector?5too?5long@ DB 'vector too long', 00H ; `string'
|
|
CONST 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@_1EA@DJDGNIII@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
CONST SEGMENT
|
|
??_C@_1EA@DJDGNIII@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@ DB '"'
|
|
DB 00H, 'v', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H
|
|
DB ' ', 00H, 'i', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't'
|
|
DB 00H, 'o', 00H, 'r', 00H, 's', 00H, ' ', 00H, 'i', 00H, 'n', 00H
|
|
DB 'c', 00H, 'o', 00H, 'm', 00H, 'p', 00H, 'a', 00H, 't', 00H, 'i'
|
|
DB 00H, 'b', 00H, 'l', 00H, 'e', 00H, '"', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1NC@CDEGKPGM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@
|
|
CONST SEGMENT
|
|
??_C@_1NC@CDEGKPGM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@ DB 's'
|
|
DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'V', 00H
|
|
DB 'e', 00H, 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H, '_', 00H, 'c'
|
|
DB 00H, 'o', 00H, 'n', 00H, 's', 00H, 't', 00H, '_', 00H, 'i', 00H
|
|
DB 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'o', 00H, 'r'
|
|
DB 00H, '<', 00H, 'c', 00H, 'l', 00H, 'a', 00H, 's', 00H, 's', 00H
|
|
DB ' ', 00H, 's', 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_'
|
|
DB 00H, 'V', 00H, 'e', 00H, 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H
|
|
DB '_', 00H, 'v', 00H, 'a', 00H, 'l', 00H, '<', 00H, 's', 00H, 't'
|
|
DB 00H, 'r', 00H, 'u', 00H, 'c', 00H, 't', 00H, ' ', 00H, 's', 00H
|
|
DB 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'S', 00H, 'i'
|
|
DB 00H, 'm', 00H, 'p', 00H, 'l', 00H, 'e', 00H, '_', 00H, 't', 00H
|
|
DB 'y', 00H, 'p', 00H, 'e', 00H, 's', 00H, '<', 00H, 'u', 00H, 'n'
|
|
DB 00H, 's', 00H, 'i', 00H, 'g', 00H, 'n', 00H, 'e', 00H, 'd', 00H
|
|
DB ' ', 00H, 'l', 00H, 'o', 00H, 'n', 00H, 'g', 00H, '>', 00H, ' '
|
|
DB 00H, '>', 00H, ' ', 00H, '>', 00H, ':', 00H, ':', 00H, '_', 00H
|
|
DB 'C', 00H, 'o', 00H, 'm', 00H, 'p', 00H, 'a', 00H, 't', 00H, 00H
|
|
DB 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1MO@MBPFCBOF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
|
|
CONST SEGMENT
|
|
??_C@_1MO@MBPFCBOF@?$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, 'v', 00H, 'e', 00H
|
|
DB 'c', 00H, 't', 00H, 'o', 00H, 'r', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0GH@IJJCCHP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
CONST SEGMENT
|
|
??_C@_0GH@IJJCCHP@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\vector', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0BO@CAOBBIOC@vector?5iterators?5incompatible@
|
|
CONST SEGMENT
|
|
??_C@_0BO@CAOBBIOC@vector?5iterators?5incompatible@ DB 'vector iterators '
|
|
DB 'incompatible', 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@_03OFAPEBGM@?$CFs?6@
|
|
CONST SEGMENT
|
|
??_C@_03OFAPEBGM@?$CFs?6@ DB '%s', 0aH, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_07KNNCJAOA@?$CFs?3?5?$CFu?6@
|
|
CONST SEGMENT
|
|
??_C@_07KNNCJAOA@?$CFs?3?5?$CFu?6@ DB '%s: %u', 0aH, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0L@ILJOJNOL@Label?3?5?$CFu?6@
|
|
CONST SEGMENT
|
|
??_C@_0L@ILJOJNOL@Label?3?5?$CFu?6@ DB 'Label: %u', 0aH, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0CA@KDIENFLL@XedDecode?5failed?5with?5error?5?$CFs?6@
|
|
CONST SEGMENT
|
|
??_C@_0CA@KDIENFLL@XedDecode?5failed?5with?5error?5?$CFs?6@ DB 'XedDecode'
|
|
DB ' failed with error %s', 0aH, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0CL@COPJALEP@XedDecode?5failed?5in?5NcDeepCopyL@
|
|
CONST SEGMENT
|
|
??_C@_0CL@COPJALEP@XedDecode?5failed?5in?5NcDeepCopyL@ DB 'XedDecode fail'
|
|
DB 'ed in NcDeepCopyLink: %s %u', 0aH, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0DF@KKBEBOEB@Failed?5to?5validate?5jump?4?5Type?3?5@
|
|
CONST SEGMENT
|
|
??_C@_0DF@KKBEBOEB@Failed?5to?5validate?5jump?4?5Type?3?5@ DB 'Failed to '
|
|
DB 'validate jump. Type: %s, Displacement: %d', 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@_1DG@PLBPCAEM@?$AA?$CC?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5@
|
|
CONST SEGMENT
|
|
??_C@_1DG@PLBPCAEM@?$AA?$CC?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5@ DB '"'
|
|
DB 00H, 'I', 00H, 'T', 00H, 'E', 00H, 'R', 00H, 'A', 00H, 'T', 00H
|
|
DB 'O', 00H, 'R', 00H, ' ', 00H, 'L', 00H, 'I', 00H, 'S', 00H, 'T'
|
|
DB 00H, ' ', 00H, 'C', 00H, 'O', 00H, 'R', 00H, 'R', 00H, 'U', 00H
|
|
DB 'P', 00H, 'T', 00H, 'E', 00H, 'D', 00H, '!', 00H, '"', 00H, 00H
|
|
DB 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_1FG@EMKODCE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAI?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA_@
|
|
CONST SEGMENT
|
|
??_C@_1FG@EMKODCE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAI?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA_@ DB 's'
|
|
DB 00H, 't', 00H, 'd', 00H, ':', 00H, ':', 00H, '_', 00H, 'I', 00H
|
|
DB 't', 00H, 'e', 00H, 'r', 00H, 'a', 00H, 't', 00H, 'o', 00H, 'r'
|
|
DB 00H, '_', 00H, 'b', 00H, 'a', 00H, 's', 00H, 'e', 00H, '1', 00H
|
|
DB '2', 00H, ':', 00H, ':', 00H, '_', 00H, 'O', 00H, 'r', 00H, 'p'
|
|
DB 00H, 'h', 00H, 'a', 00H, 'n', 00H, '_', 00H, 'm', 00H, 'e', 00H
|
|
DB '_', 00H, 'u', 00H, 'n', 00H, 'l', 00H, 'o', 00H, 'c', 00H, 'k'
|
|
DB 00H, 'e', 00H, 'd', 00H, 00H, 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0BJ@LFDBABJJ@ITERATOR?5LIST?5CORRUPTED?$CB@
|
|
CONST SEGMENT
|
|
??_C@_0BJ@LFDBABJJ@ITERATOR?5LIST?5CORRUPTED?$CB@ DB 'ITERATOR LIST CORRU'
|
|
DB 'PTED!', 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 _CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24
|
|
xdata$x SEGMENT
|
|
_CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24 DD 00H
|
|
DD imagerel ??_R0?AVexception@std@@@8
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
ORG $+4
|
|
DD 018H
|
|
DD imagerel ??0exception@std@@QEAA@AEBV01@@Z
|
|
xdata$x ENDS
|
|
; COMDAT ??_R0?AVexception@std@@@8
|
|
data$r SEGMENT
|
|
??_R0?AVexception@std@@@8 DQ FLAT:??_7type_info@@6B@ ; std::exception `RTTI Type Descriptor'
|
|
DQ 0000000000000000H
|
|
DB '.?AVexception@std@@', 00H
|
|
data$r ENDS
|
|
; COMDAT _CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QEAA@AEBV01@@Z24
|
|
xdata$x SEGMENT
|
|
_CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QEAA@AEBV01@@Z24 DD 010H
|
|
DD imagerel ??_R0?AVbad_alloc@std@@@8
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
ORG $+4
|
|
DD 018H
|
|
DD imagerel ??0bad_alloc@std@@QEAA@AEBV01@@Z
|
|
xdata$x ENDS
|
|
; COMDAT ??_R0?AVbad_alloc@std@@@8
|
|
data$r SEGMENT
|
|
??_R0?AVbad_alloc@std@@@8 DQ FLAT:??_7type_info@@6B@ ; std::bad_alloc `RTTI Type Descriptor'
|
|
DQ 0000000000000000H
|
|
DB '.?AVbad_alloc@std@@', 00H
|
|
data$r ENDS
|
|
; COMDAT _CT??_R0?AVbad_array_new_length@std@@@8??0bad_array_new_length@std@@QEAA@AEBV01@@Z24
|
|
xdata$x SEGMENT
|
|
_CT??_R0?AVbad_array_new_length@std@@@8??0bad_array_new_length@std@@QEAA@AEBV01@@Z24 DD 00H
|
|
DD imagerel ??_R0?AVbad_array_new_length@std@@@8
|
|
DD 00H
|
|
DD 0ffffffffH
|
|
ORG $+4
|
|
DD 018H
|
|
DD imagerel ??0bad_array_new_length@std@@QEAA@AEBV01@@Z
|
|
xdata$x ENDS
|
|
; COMDAT ??_R0?AVbad_array_new_length@std@@@8
|
|
data$r SEGMENT
|
|
??_R0?AVbad_array_new_length@std@@@8 DQ FLAT:??_7type_info@@6B@ ; std::bad_array_new_length `RTTI Type Descriptor'
|
|
DQ 0000000000000000H
|
|
DB '.?AVbad_array_new_length@std@@', 00H
|
|
data$r ENDS
|
|
; COMDAT _CTA3?AVbad_array_new_length@std@@
|
|
xdata$x SEGMENT
|
|
_CTA3?AVbad_array_new_length@std@@ DD 03H
|
|
DD imagerel _CT??_R0?AVbad_array_new_length@std@@@8??0bad_array_new_length@std@@QEAA@AEBV01@@Z24
|
|
DD imagerel _CT??_R0?AVbad_alloc@std@@@8??0bad_alloc@std@@QEAA@AEBV01@@Z24
|
|
DD imagerel _CT??_R0?AVexception@std@@@8??0exception@std@@QEAA@AEBV01@@Z24
|
|
xdata$x ENDS
|
|
; COMDAT _TI3?AVbad_array_new_length@std@@
|
|
xdata$x SEGMENT
|
|
_TI3?AVbad_array_new_length@std@@ DD 00H
|
|
DD imagerel ??1bad_array_new_length@std@@UEAA@XZ
|
|
DD 00H
|
|
DD imagerel _CTA3?AVbad_array_new_length@std@@
|
|
xdata$x ENDS
|
|
; COMDAT ??_C@_0BF@KINCDENJ@bad?5array?5new?5length@
|
|
CONST SEGMENT
|
|
??_C@_0BF@KINCDENJ@bad?5array?5new?5length@ DB 'bad array new length', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_7bad_array_new_length@std@@6B@
|
|
CONST SEGMENT
|
|
??_7bad_array_new_length@std@@6B@ DQ FLAT:??_R4bad_array_new_length@std@@6B@ ; std::bad_array_new_length::`vftable'
|
|
DQ FLAT:??_Ebad_array_new_length@std@@UEAAPEAXI@Z
|
|
DQ FLAT:?what@exception@std@@UEBAPEBDXZ
|
|
CONST ENDS
|
|
; COMDAT ??_7bad_alloc@std@@6B@
|
|
CONST SEGMENT
|
|
??_7bad_alloc@std@@6B@ DQ FLAT:??_R4bad_alloc@std@@6B@ ; std::bad_alloc::`vftable'
|
|
DQ FLAT:??_Ebad_alloc@std@@UEAAPEAXI@Z
|
|
DQ FLAT:?what@exception@std@@UEBAPEBDXZ
|
|
CONST ENDS
|
|
; COMDAT ??_C@_0BC@EOODALEL@Unknown?5exception@
|
|
CONST SEGMENT
|
|
??_C@_0BC@EOODALEL@Unknown?5exception@ DB 'Unknown exception', 00H ; `string'
|
|
CONST ENDS
|
|
; COMDAT ??_7exception@std@@6B@
|
|
CONST SEGMENT
|
|
??_7exception@std@@6B@ DQ FLAT:??_R4exception@std@@6B@ ; std::exception::`vftable'
|
|
DQ FLAT:??_Eexception@std@@UEAAPEAXI@Z
|
|
DQ FLAT:?what@exception@std@@UEBAPEBDXZ
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$forward@K@std@@YA$$QEAKAEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z DD 05051601H
|
|
DD 01130316H
|
|
DD 0700c0019H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110039H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$move@AEAK@std@@YA$$QEAKAEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z DD 025052201H
|
|
DD 011d2322H
|
|
DD 07016001dH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Get_size_of_n@$03@std@@YA_K_K@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070025H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 045H
|
|
DW 013dH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z DB 028H
|
|
DD imagerel $stateUnwindMap$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z
|
|
DD imagerel $ip2state$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z DD 025054c19H
|
|
DD 011d2322H
|
|
DD 07016002fH
|
|
DD 05015H
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z
|
|
DD 016aH
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcName$0 DB 05fH ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
DB 042H
|
|
DB 061H
|
|
DB 063H
|
|
DB 06bH
|
|
DB 06fH
|
|
DB 075H
|
|
DB 074H
|
|
DB 00H
|
|
ORG $+7
|
|
??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcVarDesc DD 068H ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
DD 018H
|
|
DQ FLAT:??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcName$0
|
|
ORG $+48
|
|
??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcFrameData DD 01H ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
DD 00H
|
|
DQ FLAT:??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z DD 035051301H
|
|
DD 010e3313H
|
|
DD 07007002bH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
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$??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070025H
|
|
DD 05006H
|
|
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$??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$min@_K@std@@YAAEB_KAEB_K0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 060H
|
|
DD imagerel $ip2state$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 025051319H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 'p'
|
|
DB 02H
|
|
DB 0f1H, 02H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DB 028H
|
|
DD imagerel $stateUnwindMap$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
DD imagerel $ip2state$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025051811H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DB 060H
|
|
DD imagerel $ip2state$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ DD 025051319H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0025H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
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 xdata
|
|
xdata SEGMENT
|
|
$unwind$?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 'm', 04H
|
|
DB 02H
|
|
DB 0ddH, 03H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$handlerMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DB 02H
|
|
DB 01H
|
|
DB 080H
|
|
DD imagerel ?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$tryMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
DB 02H
|
|
DD imagerel $handlerMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DB 04H
|
|
DB 08H
|
|
DB 010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DB 038H
|
|
DD imagerel $stateUnwindMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
DD imagerel $tryMap$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
DD imagerel $ip2state$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z DD 025051d19H
|
|
DD 0118231dH
|
|
DD 07011004bH
|
|
DD 05010H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Unfancy@K@std@@YAPEAKPEAK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c002bH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$forward@AEBK@std@@YAAEBKAEBK@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c002bH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
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 DW 03aH
|
|
DW 0430H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 0aH
|
|
DB 00H
|
|
DB 00H
|
|
DB 0caH
|
|
DB 02H
|
|
DB 011H, 02H
|
|
DB 04H
|
|
DB 0adH, 0aH
|
|
DB 02H
|
|
DB 0ecH
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$handlerMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 02H
|
|
DB 01H
|
|
DB 080H
|
|
DD imagerel ?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 02H
|
|
DB 02H
|
|
DB 02H
|
|
DB 04H
|
|
DD imagerel $handlerMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 06H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA
|
|
DB 028H
|
|
DB 030H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DB 038H
|
|
DD imagerel $stateUnwindMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD imagerel $tryMap$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD imagerel $ip2state$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z DD 025054119H
|
|
DD 01122317H
|
|
DD 0700b004bH
|
|
DD 0500aH
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
DD 0243H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcName$0 DB 05fH ; std::operator<<<std::char_traits<char> >
|
|
DB 04fH
|
|
DB 06bH
|
|
DB 00H
|
|
ORG $+12
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcVarDesc DD 048H ; std::operator<<<std::char_traits<char> >
|
|
DD 010H
|
|
DQ FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcName$0
|
|
ORG $+48
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcFrameData DD 01H ; std::operator<<<std::char_traits<char> >
|
|
DD 00H
|
|
DQ FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Fillobj@D@std@@QEAA@D@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$log2@H$0A@@@YANH@Z DD 035051201H
|
|
DD 010d3312H
|
|
DD 07006001fH
|
|
DD 05005H
|
|
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 xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z DB 08H
|
|
DB 00H
|
|
DB 00H
|
|
DB 'X'
|
|
DB 04H
|
|
DB 'm', 02H
|
|
DB 02H
|
|
DB 01aH
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z DB 04H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
DB 02eH
|
|
DD imagerel ?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z DB 028H
|
|
DD imagerel $stateUnwindMap$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z
|
|
DD imagerel $ip2state$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z DD 025052211H
|
|
DD 011d2322H
|
|
DD 070160027H
|
|
DD 05015H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z DD 035051801H
|
|
DD 01133318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z DD 035051801H
|
|
DD 01133318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070035H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070029H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007002dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0029H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 0b6H
|
|
DB 02H
|
|
DB 'p'
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z DB 028H
|
|
DD imagerel $stateUnwindMap$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z
|
|
DD imagerel $ip2state$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z DD 025051d11H
|
|
DD 0118231dH
|
|
DD 070110041H
|
|
DD 05010H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 037H
|
|
DW 039aH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 035063e19H
|
|
DD 010f3314H
|
|
DD 0700800e6H
|
|
DD 050066007H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0728H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 042H ; NcFixRelJmps
|
|
DB 072H
|
|
DB 061H
|
|
DB 06eH
|
|
DB 063H
|
|
DB 068H
|
|
DB 044H
|
|
DB 069H
|
|
DB 073H
|
|
DB 070H
|
|
DB 00H
|
|
ORG $+5
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$1 DB 04dH ; NcFixRelJmps
|
|
DB 061H
|
|
DB 063H
|
|
DB 068H
|
|
DB 069H
|
|
DB 06eH
|
|
DB 065H
|
|
DB 053H
|
|
DB 074H
|
|
DB 061H
|
|
DB 074H
|
|
DB 065H
|
|
DB 00H
|
|
ORG $+3
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$2 DB 045H ; NcFixRelJmps
|
|
DB 06eH
|
|
DB 063H
|
|
DB 06fH
|
|
DB 064H
|
|
DB 065H
|
|
DB 072H
|
|
DB 049H
|
|
DB 06eH
|
|
DB 073H
|
|
DB 074H
|
|
DB 072H
|
|
DB 075H
|
|
DB 063H
|
|
DB 074H
|
|
DB 069H
|
|
DB 06fH
|
|
DB 06eH
|
|
DB 00H
|
|
ORG $+5
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$3 DB 045H ; NcFixRelJmps
|
|
DB 06eH
|
|
DB 063H
|
|
DB 06fH
|
|
DB 064H
|
|
DB 065H
|
|
DB 072H
|
|
DB 052H
|
|
DB 065H
|
|
DB 071H
|
|
DB 075H
|
|
DB 065H
|
|
DB 073H
|
|
DB 074H
|
|
DB 00H
|
|
ORG $+1
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$4 DB 045H ; NcFixRelJmps
|
|
DB 06eH
|
|
DB 063H
|
|
DB 06fH
|
|
DB 064H
|
|
DB 065H
|
|
DB 042H
|
|
DB 075H
|
|
DB 066H
|
|
DB 066H
|
|
DB 065H
|
|
DB 072H
|
|
DB 00H
|
|
ORG $+3
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$5 DB 052H ; NcFixRelJmps
|
|
DB 065H
|
|
DB 074H
|
|
DB 075H
|
|
DB 072H
|
|
DB 06eH
|
|
DB 065H
|
|
DB 064H
|
|
DB 053H
|
|
DB 069H
|
|
DB 07aH
|
|
DB 065H
|
|
DB 00H
|
|
ORG $+11
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 0384H ; NcFixRelJmps
|
|
DD 04H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$5
|
|
DD 0358H
|
|
DD 0fH
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$4
|
|
DD 0280H
|
|
DD 0c0H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$3
|
|
DD 0c0H
|
|
DD 01a0H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$2
|
|
DD 098H
|
|
DD 08H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$1
|
|
DD 054H
|
|
DD 04H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
|
|
ORG $+288
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 06H ; NcFixRelJmps
|
|
DD 00H
|
|
DQ FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0029H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 040H
|
|
DW 01dbH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z DD 025054719H
|
|
DD 0118231dH
|
|
DD 070110037H
|
|
DD 05010H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 01a0H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 04cH ; NcDeepCopyPartialBlock
|
|
DB 00H
|
|
ORG $+14
|
|
?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 084H ; NcDeepCopyPartialBlock
|
|
DD 04H
|
|
DQ FLAT:?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
|
|
ORG $+48
|
|
?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 01H ; NcDeepCopyPartialBlock
|
|
DD 00H
|
|
DQ FLAT:?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z DB 0aH
|
|
DB 00H
|
|
DB 00H
|
|
DB 082H
|
|
DB 02H
|
|
DB 08aH
|
|
DB 00H
|
|
DB 'D'
|
|
DB 04H
|
|
DB 0c0H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z DB 04H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
DB 036H
|
|
DD imagerel ?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z DB 028H
|
|
DD imagerel $stateUnwindMap$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z
|
|
DD imagerel $ip2state$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z DD 035051311H
|
|
DD 010e3313H
|
|
DD 07007003bH
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b0021H
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 036H
|
|
DW 0298H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 'y', 07H
|
|
DB 02H
|
|
DB 084H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DB 028H
|
|
DD imagerel $stateUnwindMap$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
DD imagerel $ip2state$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 025053d19H
|
|
DD 010e2313H
|
|
DD 07007004bH
|
|
DD 05006H
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
DD 0242H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 043H ; NcCreateLabels
|
|
DB 075H
|
|
DB 072H
|
|
DB 072H
|
|
DB 065H
|
|
DB 06eH
|
|
DB 074H
|
|
DB 04cH
|
|
DB 061H
|
|
DB 062H
|
|
DB 065H
|
|
DB 06cH
|
|
DB 049H
|
|
DB 064H
|
|
DB 00H
|
|
ORG $+1
|
|
?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 024H ; NcCreateLabels
|
|
DD 04H
|
|
DQ FLAT:?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
|
|
ORG $+48
|
|
?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 01H ; NcCreateLabels
|
|
DD 00H
|
|
DQ FLAT:?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0055H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DW 036H
|
|
DW 01d2H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD 025053d19H
|
|
DD 010e2313H
|
|
DD 070070051H
|
|
DD 05006H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0270H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0 DB 052H ; NcGenUnusedLabelId
|
|
DB 065H
|
|
DB 074H
|
|
DB 075H
|
|
DB 072H
|
|
DB 06eH
|
|
DB 04cH
|
|
DB 061H
|
|
DB 062H
|
|
DB 065H
|
|
DB 06cH
|
|
DB 049H
|
|
DB 064H
|
|
DB 00H
|
|
ORG $+2
|
|
?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc DD 024H ; NcGenUnusedLabelId
|
|
DD 04H
|
|
DQ FLAT:?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcName$0
|
|
ORG $+48
|
|
?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData DD 01H ; NcGenUnusedLabelId
|
|
DD 00H
|
|
DQ FLAT:?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z DD 025051c01H
|
|
DD 0117231cH
|
|
DD 070100021H
|
|
DD 0500fH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070025H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_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@@QEBAAEBV?$allocator@K@2@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$??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$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
|
|
$unwind$?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 040H
|
|
DB 098H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 0c6H
|
|
DB 02H
|
|
DB '6'
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DB 028H
|
|
DD imagerel $stateUnwindMap$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
DD imagerel $ip2state$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD 025054719H
|
|
DD 0118231dH
|
|
DD 070110021H
|
|
DD 05010H
|
|
DD imagerel __GSHandlerCheck_EH4
|
|
DD imagerel $cppxdata$?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
DD 0faH
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcName$0 DB 05fH ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
DB 04cH
|
|
DB 06fH
|
|
DB 063H
|
|
DB 06bH
|
|
DB 00H
|
|
ORG $+10
|
|
?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcVarDesc DD 024H ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
DD 04H
|
|
DQ FLAT:?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcName$0
|
|
ORG $+48
|
|
?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcFrameData DD 01H ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
DD 00H
|
|
DQ FLAT:?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011002dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ DD 025050f01H
|
|
DD 010a230fH
|
|
DD 07003001dH
|
|
DD 05002H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z DD 025052201H
|
|
DD 011d2322H
|
|
DD 07016002fH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0029H
|
|
DD 0500bH
|
|
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 xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z DD 035052201H
|
|
DD 011d3322H
|
|
DD 070160023H
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z DD 025052201H
|
|
DD 011d2322H
|
|
DD 07016001dH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z DD 025052201H
|
|
DD 011d2322H
|
|
DD 07016001dH
|
|
DD 05015H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070025H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0023H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0023H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ DB 060H
|
|
DD imagerel $ip2state$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ DD 025051319H
|
|
DD 010e2313H
|
|
DD 070070029H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DB 02H
|
|
DB 00H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DB 060H
|
|
DD imagerel $ip2state$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ DD 025051319H
|
|
DD 010e2313H
|
|
DD 070070025H
|
|
DD 05006H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?allocate@?$allocator@K@std@@QEAAPEAK_K@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata 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$??0?$allocator@K@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1_NATIVE_CODE_LINK@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 00H
|
|
DB 05H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA DD 031001H
|
|
DD 0700c4210H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$ip2state$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z DB 06H
|
|
DB 00H
|
|
DB 00H
|
|
DB 't'
|
|
DB 02H
|
|
DB 08dH, 02H
|
|
DB 00H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$stateUnwindMap$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z DB 02H
|
|
DB 0eH
|
|
DD imagerel ?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$cppxdata$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z DB 028H
|
|
DD imagerel $stateUnwindMap$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z
|
|
DD imagerel $ip2state$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z DD 025052111H
|
|
DD 011c2321H
|
|
DD 070150021H
|
|
DD 05014H
|
|
DD imagerel __CxxFrameHandler4
|
|
DD imagerel $cppxdata$??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051c01H
|
|
DD 0117231cH
|
|
DD 07010001dH
|
|
DD 0500fH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_NATIVE_CODE_LINK@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_get_length DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 03fH
|
|
DB 084H
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_set_mode DD 025054619H
|
|
DD 0117231cH
|
|
DD 070100021H
|
|
DD 0500fH
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0f8H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
xed_decoded_inst_set_mode$rtcName$0 DB 064H
|
|
DB 073H
|
|
DB 074H
|
|
DB 061H
|
|
DB 074H
|
|
DB 065H
|
|
DB 00H
|
|
ORG $+9
|
|
xed_decoded_inst_set_mode$rtcVarDesc DD 028H
|
|
DD 08H
|
|
DQ FLAT:xed_decoded_inst_set_mode$rtcName$0
|
|
ORG $+48
|
|
xed_decoded_inst_set_mode$rtcFrameData DD 01H
|
|
DD 00H
|
|
DQ FLAT:xed_decoded_inst_set_mode$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_noperands DD 025051301H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_get_iclass DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_get_category DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_decoded_inst_inst DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_inst1 DD 025062301H
|
|
DD 011e2323H
|
|
DD 07017001cH
|
|
DD 050156016H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 040H
|
|
DB 09eH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_relbr DD 025064719H
|
|
DD 0118231dH
|
|
DD 070110026H
|
|
DD 0500f6010H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0128H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
xed_relbr$rtcName$0 DB 06fH
|
|
DB 00H
|
|
ORG $+14
|
|
xed_relbr$rtcVarDesc DD 028H
|
|
DD 030H
|
|
DQ FLAT:xed_relbr$rtcName$0
|
|
ORG $+48
|
|
xed_relbr$rtcFrameData DD 01H
|
|
DD 00H
|
|
DQ FLAT:xed_relbr$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_inst_noperands DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_inst_category DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_inst_iclass DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_inst_iform_enum DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_operand_type DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$xed_iform_to_iclass DD 025051201H
|
|
DD 010d2312H
|
|
DD 070060021H
|
|
DD 05005H
|
|
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$?hex@std@@YAAEAVios_base@1@AEAV21@@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
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 xdata
|
|
xdata SEGMENT
|
|
$unwind$?eof@?$_Narrow_char_traits@DH@std@@SAHXZ DD 025050f01H
|
|
DD 010a230fH
|
|
DD 07003001dH
|
|
DD 05002H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001fH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 036H
|
|
DB 07eH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ DD 025053d19H
|
|
DD 010e2313H
|
|
DD 070070021H
|
|
DD 05006H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0f8H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ$rtcName$0 DB 05fH ; std::_Iterator_base12::_Orphan_me_locked
|
|
DB 04cH
|
|
DB 06fH
|
|
DB 063H
|
|
DB 06bH
|
|
DB 00H
|
|
ORG $+10
|
|
?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ$rtcVarDesc DD 024H ; std::_Iterator_base12::_Orphan_me_locked
|
|
DD 04H
|
|
DQ FLAT:?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ$rtcName$0
|
|
ORG $+48
|
|
?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ$rtcFrameData DD 01H ; std::_Iterator_base12::_Orphan_me_locked
|
|
DD 00H
|
|
DQ FLAT:?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ DD 035051301H
|
|
DD 010e3313H
|
|
DD 070070027H
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT voltbl
|
|
voltbl SEGMENT
|
|
_volmd DB 03bH
|
|
DB 08aH
|
|
voltbl ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z DD 025054219H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
DD imagerel __GSHandlerCheck
|
|
DD 0f8H
|
|
xdata ENDS
|
|
; COMDAT CONST
|
|
CONST SEGMENT
|
|
?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcName$0 DB 05fH ; std::_Iterator_base12::_Adopt_locked
|
|
DB 04cH
|
|
DB 06fH
|
|
DB 063H
|
|
DB 06bH
|
|
DB 00H
|
|
ORG $+10
|
|
?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcVarDesc DD 024H ; std::_Iterator_base12::_Adopt_locked
|
|
DD 04H
|
|
DQ FLAT:?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcName$0
|
|
ORG $+48
|
|
?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcFrameData DD 01H ; std::_Iterator_base12::_Adopt_locked
|
|
DD 00H
|
|
DQ FLAT:?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcVarDesc
|
|
CONST ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001fH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c0021H
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1_Iterator_base12@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_Iterator_base12@std@@QEAA@AEBU01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_Iterator_base12@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata 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$??0_Container_base12@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
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$?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?_Throw_bad_array_new_length@std@@YAXXZ DD 025050f01H
|
|
DD 010a230fH
|
|
DD 070030023H
|
|
DD 05002H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??_Gbad_array_new_length@std@@UEAAPEAXI@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0bad_array_new_length@std@@QEAA@AEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1bad_array_new_length@std@@UEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0bad_array_new_length@std@@QEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??_Gbad_alloc@std@@UEAAPEAXI@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0bad_alloc@std@@QEAA@AEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1bad_alloc@std@@UEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0bad_alloc@std@@AEAA@QEBD@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??_Gexception@std@@UEAAPEAXI@Z DD 025051701H
|
|
DD 01122317H
|
|
DD 0700b001dH
|
|
DD 0500aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?what@exception@std@@UEBAPEBDXZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001fH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??1exception@std@@UEAA@XZ DD 025051301H
|
|
DD 010e2313H
|
|
DD 07007001dH
|
|
DD 05006H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0exception@std@@QEAA@AEBV01@@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$??0exception@std@@QEAA@QEBDH@Z DD 025051d01H
|
|
DD 0118231dH
|
|
DD 07011001dH
|
|
DD 05010H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$?max@?$numeric_limits@_J@std@@SA_JXZ DD 025050f01H
|
|
DD 010a230fH
|
|
DD 07003001dH
|
|
DD 05002H
|
|
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$??2@YAPEAX_KPEAX@Z DD 025051801H
|
|
DD 01132318H
|
|
DD 0700c001dH
|
|
DD 0500bH
|
|
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 ??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
__formal$ = 256
|
|
_Ptr$ = 264
|
|
<_Args_0>$ = 272
|
|
??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z PROC ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long>, COMDAT
|
|
|
|
; 707 : static _CONSTEXPR20_DYNALLOC void construct(_Alloc&, _Objty* const _Ptr, _Types&&... _Args) {
|
|
|
|
$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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
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
|
|
00029 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
00030 e8 00 00 00 00 call ??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z ; std::_Voidify_iter<unsigned long *>
|
|
00035 48 8b d0 mov rdx, rax
|
|
00038 b9 04 00 00 00 mov ecx, 4
|
|
0003d e8 00 00 00 00 call ??2@YAPEAX_KPEAX@Z ; operator new
|
|
00042 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
00049 48 8b 8d 10 01
|
|
00 00 mov rcx, QWORD PTR <_Args_0>$[rbp]
|
|
00050 e8 00 00 00 00 call ??$forward@K@std@@YA$$QEAKAEAK@Z ; std::forward<unsigned long>
|
|
00055 48 8b 8d c8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
0005c 8b 00 mov eax, DWORD PTR [rax]
|
|
0005e 89 01 mov DWORD PTR [rcx], eax
|
|
|
|
; 708 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 709 : if (_STD is_constant_evaluated()) {
|
|
; 710 : _STD construct_at(_Ptr, _STD forward<_Types>(_Args)...);
|
|
; 711 : } else
|
|
; 712 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 713 : {
|
|
; 714 : ::new (_Voidify_iter(_Ptr)) _Objty(_STD forward<_Types>(_Args)...);
|
|
; 715 : }
|
|
; 716 : }
|
|
|
|
00060 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00067 5f pop rdi
|
|
00068 5d pop rbp
|
|
00069 c3 ret 0
|
|
??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z ENDP ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,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\type_traits
|
|
; COMDAT ??$forward@K@std@@YA$$QEAKAEAK@Z
|
|
_TEXT SEGMENT
|
|
_Arg$ = 224
|
|
??$forward@K@std@@YA$$QEAKAEAK@Z PROC ; std::forward<unsigned long>, COMDAT
|
|
|
|
; 1443 : remove_reference_t<_Ty>& _Arg) noexcept { // forward an lvalue as either an lvalue or an rvalue
|
|
|
|
$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:__D1154D4E_type_traits
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1444 : return static_cast<_Ty&&>(_Arg);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Arg$[rbp]
|
|
|
|
; 1445 : }
|
|
|
|
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
|
|
??$forward@K@std@@YA$$QEAKAEAK@Z ENDP ; std::forward<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\xutility
|
|
; COMDAT ??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z
|
|
_TEXT SEGMENT
|
|
_Val$ = 224
|
|
??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z PROC ; std::_To_address<unsigned long *>, COMDAT
|
|
|
|
; 4074 : _NODISCARD constexpr auto _To_address(const _Iter& _Val) 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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 4075 : _STL_INTERNAL_STATIC_ASSERT(is_pointer_v<_Iter>);
|
|
; 4076 : return _Val;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Val$[rbp]
|
|
00026 48 8b 00 mov rax, QWORD PTR [rax]
|
|
|
|
; 4077 : }
|
|
|
|
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
|
|
??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z ENDP ; std::_To_address<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 ??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z
|
|
_TEXT SEGMENT
|
|
_Ptr$ = 224
|
|
??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z PROC ; std::_Refancy<unsigned long *,0>, COMDAT
|
|
|
|
; 298 : _CONSTEXPR20 _Pointer _Refancy(_Pointer _Ptr) 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
|
|
|
|
; 299 : return _Ptr;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Ptr$[rbp]
|
|
|
|
; 300 : }
|
|
|
|
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
|
|
??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z ENDP ; std::_Refancy<unsigned long *,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 ??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z
|
|
_TEXT SEGMENT
|
|
tv78 = 192
|
|
tv76 = 200
|
|
tv74 = 208
|
|
this$ = 256
|
|
<_Vals_0>$ = 264
|
|
??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z PROC ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Emplace_back<unsigned long>, COMDAT
|
|
|
|
; 1610 : _CONSTEXPR20_DYNALLOC void _Emplace_back(_Types&&... _Vals) { // construct a new element at *_Last and increment
|
|
|
|
$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:__DD38B15A_xmemory
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1611 : allocator_traits<_Alloc>::construct(_Al, _Unfancy(_Last), _STD forward<_Types>(_Vals)...);
|
|
|
|
00024 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR <_Vals_0>$[rbp]
|
|
0002b e8 00 00 00 00 call ??$forward@K@std@@YA$$QEAKAEAK@Z ; std::forward<unsigned long>
|
|
00030 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
00037 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003e 48 8b 48 08 mov rcx, QWORD PTR [rax+8]
|
|
00042 e8 00 00 00 00 call ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
00047 48 89 85 c8 00
|
|
00 00 mov QWORD PTR tv76[rbp], rax
|
|
0004e 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00055 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
00059 48 89 85 d0 00
|
|
00 00 mov QWORD PTR tv74[rbp], rax
|
|
00060 4c 8b 85 c0 00
|
|
00 00 mov r8, QWORD PTR tv78[rbp]
|
|
00067 48 8b 95 c8 00
|
|
00 00 mov rdx, QWORD PTR tv76[rbp]
|
|
0006e 48 8b 8d d0 00
|
|
00 00 mov rcx, QWORD PTR tv74[rbp]
|
|
00075 e8 00 00 00 00 call ??$construct@KK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAK$$QEAK@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long>
|
|
|
|
; 1612 : ++_Last;
|
|
|
|
0007a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00081 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00085 48 83 c0 04 add rax, 4
|
|
00089 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00090 48 89 41 08 mov QWORD PTR [rcx+8], rax
|
|
|
|
; 1613 : }
|
|
|
|
00094 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0009b 5f pop rdi
|
|
0009c 5d pop rbp
|
|
0009d c3 ret 0
|
|
??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z ENDP ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Emplace_back<unsigned long>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
classSize$ = 232
|
|
?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z PROC ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::__autoclassinit2, 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 c8 00
|
|
00 00 sub rsp, 200 ; 000000c8H
|
|
00013 48 8b ec mov rbp, rsp
|
|
00016 48 8b bd e0 00
|
|
00 00 mov rdi, QWORD PTR this$[rbp]
|
|
0001d 33 c0 xor eax, eax
|
|
0001f 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR classSize$[rbp]
|
|
00026 f3 aa rep stosb
|
|
00028 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0002f 5f pop rdi
|
|
00030 5d pop rbp
|
|
00031 c3 ret 0
|
|
?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z ENDP ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::__autoclassinit2
|
|
_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 ?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ PROC ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Release, COMDAT
|
|
|
|
; 1615 : constexpr pointer _Release() { // suppress any exception handling backout and return _Last
|
|
|
|
$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
|
|
|
|
; 1616 : _First = _Last;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002d 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00031 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1617 : return _Last;
|
|
|
|
00034 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003b 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
|
|
; 1618 : }
|
|
|
|
0003f 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00046 5f pop rdi
|
|
00047 5d pop rbp
|
|
00048 c3 ret 0
|
|
?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ ENDP ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Release
|
|
_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 ??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ PROC ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<std::allocator<unsigned long> >, COMDAT
|
|
|
|
; 1605 : _CONSTEXPR20_DYNALLOC ~_Uninitialized_backout_al() {
|
|
|
|
$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
|
|
|
|
; 1606 : _Destroy_range(_First, _Last, _Al);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 4c 8b 40 10 mov r8, QWORD PTR [rax+16]
|
|
0002a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00031 48 8b 50 08 mov rdx, QWORD PTR [rax+8]
|
|
00035 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003c 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
0003f 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> >
|
|
|
|
; 1607 : }
|
|
|
|
00044 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0004b 5f pop rdi
|
|
0004c 5d pop rbp
|
|
0004d c3 ret 0
|
|
??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ ENDP ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<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 ??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Dest$ = 232
|
|
_Al_$ = 240
|
|
??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z PROC ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Uninitialized_backout_al<std::allocator<unsigned long> >, COMDAT
|
|
|
|
; 1600 : : _First(_Dest), _Last(_Dest), _Al(_Al_) {}
|
|
|
|
$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
|
|
00029 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00030 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Dest$[rbp]
|
|
00037 48 89 08 mov QWORD PTR [rax], rcx
|
|
0003a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00041 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Dest$[rbp]
|
|
00048 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
0004c 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00053 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Al_$[rbp]
|
|
0005a 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
0005e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00065 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0006c 5f pop rdi
|
|
0006d 5d pop rbp
|
|
0006e c3 ret 0
|
|
??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z ENDP ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Uninitialized_backout_al<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\xutility
|
|
; COMDAT ??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z
|
|
_TEXT SEGMENT
|
|
_FirstPtr$ = 8
|
|
_LastPtr$ = 40
|
|
_DestPtr$ = 72
|
|
_First_ch$ = 104
|
|
_Last_ch$ = 136
|
|
_Dest_ch$ = 168
|
|
_Count$ = 200
|
|
_First$ = 448
|
|
_Last$ = 456
|
|
_Dest$ = 464
|
|
??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z PROC ; std::_Copy_memmove<unsigned long *,unsigned long *>, COMDAT
|
|
|
|
; 4153 : _OutCtgIt _Copy_memmove(_CtgIt _First, _CtgIt _Last, _OutCtgIt _Dest) {
|
|
|
|
$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 c8 01
|
|
00 00 sub rsp, 456 ; 000001c8H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__7CE971A6_xutility
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 4154 : auto _FirstPtr = _To_address(_First);
|
|
|
|
00029 48 8d 8d c0 01
|
|
00 00 lea rcx, QWORD PTR _First$[rbp]
|
|
00030 e8 00 00 00 00 call ??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z ; std::_To_address<unsigned long *>
|
|
00035 48 89 45 08 mov QWORD PTR _FirstPtr$[rbp], rax
|
|
|
|
; 4155 : auto _LastPtr = _To_address(_Last);
|
|
|
|
00039 48 8d 8d c8 01
|
|
00 00 lea rcx, QWORD PTR _Last$[rbp]
|
|
00040 e8 00 00 00 00 call ??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z ; std::_To_address<unsigned long *>
|
|
00045 48 89 45 28 mov QWORD PTR _LastPtr$[rbp], rax
|
|
|
|
; 4156 : auto _DestPtr = _To_address(_Dest);
|
|
|
|
00049 48 8d 8d d0 01
|
|
00 00 lea rcx, QWORD PTR _Dest$[rbp]
|
|
00050 e8 00 00 00 00 call ??$_To_address@PEAK@std@@YA?A_PAEBQEAK@Z ; std::_To_address<unsigned long *>
|
|
00055 48 89 45 48 mov QWORD PTR _DestPtr$[rbp], rax
|
|
|
|
; 4157 : const char* const _First_ch = const_cast<const char*>(reinterpret_cast<const volatile char*>(_FirstPtr));
|
|
|
|
00059 48 8b 45 08 mov rax, QWORD PTR _FirstPtr$[rbp]
|
|
0005d 48 89 45 68 mov QWORD PTR _First_ch$[rbp], rax
|
|
|
|
; 4158 : const char* const _Last_ch = const_cast<const char*>(reinterpret_cast<const volatile char*>(_LastPtr));
|
|
|
|
00061 48 8b 45 28 mov rax, QWORD PTR _LastPtr$[rbp]
|
|
00065 48 89 85 88 00
|
|
00 00 mov QWORD PTR _Last_ch$[rbp], rax
|
|
|
|
; 4159 : char* const _Dest_ch = const_cast<char*>(reinterpret_cast<const volatile char*>(_DestPtr));
|
|
|
|
0006c 48 8b 45 48 mov rax, QWORD PTR _DestPtr$[rbp]
|
|
00070 48 89 85 a8 00
|
|
00 00 mov QWORD PTR _Dest_ch$[rbp], rax
|
|
|
|
; 4160 : const auto _Count = static_cast<size_t>(_Last_ch - _First_ch);
|
|
|
|
00077 48 8b 45 68 mov rax, QWORD PTR _First_ch$[rbp]
|
|
0007b 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Last_ch$[rbp]
|
|
00082 48 2b c8 sub rcx, rax
|
|
00085 48 8b c1 mov rax, rcx
|
|
00088 48 89 85 c8 00
|
|
00 00 mov QWORD PTR _Count$[rbp], rax
|
|
|
|
; 4161 : _CSTD memmove(_Dest_ch, _First_ch, _Count);
|
|
|
|
0008f 4c 8b 85 c8 00
|
|
00 00 mov r8, QWORD PTR _Count$[rbp]
|
|
00096 48 8b 55 68 mov rdx, QWORD PTR _First_ch$[rbp]
|
|
0009a 48 8b 8d a8 00
|
|
00 00 mov rcx, QWORD PTR _Dest_ch$[rbp]
|
|
000a1 e8 00 00 00 00 call memmove
|
|
|
|
; 4162 : if constexpr (is_pointer_v<_OutCtgIt>) {
|
|
; 4163 : return reinterpret_cast<_OutCtgIt>(_Dest_ch + _Count);
|
|
|
|
000a6 48 8b 85 c8 00
|
|
00 00 mov rax, QWORD PTR _Count$[rbp]
|
|
000ad 48 8b 8d a8 00
|
|
00 00 mov rcx, QWORD PTR _Dest_ch$[rbp]
|
|
000b4 48 03 c8 add rcx, rax
|
|
000b7 48 8b c1 mov rax, rcx
|
|
|
|
; 4164 : } else {
|
|
; 4165 : return _Dest + (_LastPtr - _FirstPtr);
|
|
; 4166 : }
|
|
; 4167 : }
|
|
|
|
000ba 48 8d a5 a8 01
|
|
00 00 lea rsp, QWORD PTR [rbp+424]
|
|
000c1 5f pop rdi
|
|
000c2 5d pop rbp
|
|
000c3 c3 ret 0
|
|
??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z ENDP ; std::_Copy_memmove<unsigned long *,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\type_traits
|
|
; COMDAT ??$move@AEAK@std@@YA$$QEAKAEAK@Z
|
|
_TEXT SEGMENT
|
|
_Arg$ = 224
|
|
??$move@AEAK@std@@YA$$QEAKAEAK@Z PROC ; std::move<unsigned long &>, COMDAT
|
|
|
|
; 1455 : _NODISCARD constexpr remove_reference_t<_Ty>&& move(_Ty&& _Arg) noexcept { // forward _Arg as movable
|
|
|
|
$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:__D1154D4E_type_traits
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1456 : return static_cast<remove_reference_t<_Ty>&&>(_Arg);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Arg$[rbp]
|
|
|
|
; 1457 : }
|
|
|
|
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
|
|
??$move@AEAK@std@@YA$$QEAKAEAK@Z ENDP ; std::move<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\xutility
|
|
; COMDAT ??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z PROC ; std::_Get_unwrapped<unsigned long * const &>, COMDAT
|
|
|
|
; 1324 : _NODISCARD constexpr decltype(auto) _Get_unwrapped(_Iter&& _It) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1325 : // unwrap an iterator previously subjected to _Adl_verify_range or otherwise validated
|
|
; 1326 : if constexpr (is_pointer_v<decay_t<_Iter>>) { // special-case pointers and arrays
|
|
; 1327 : return _It + 0;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _It$[rbp]
|
|
00026 48 8b 00 mov rax, QWORD PTR [rax]
|
|
|
|
; 1328 : } else if constexpr (_Unwrappable_v<_Iter>) {
|
|
; 1329 : return static_cast<_Iter&&>(_It)._Unwrapped();
|
|
; 1330 : } else {
|
|
; 1331 : return static_cast<_Iter&&>(_It);
|
|
; 1332 : }
|
|
; 1333 : }
|
|
|
|
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
|
|
??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z ENDP ; std::_Get_unwrapped<unsigned long * const &>
|
|
_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\type_traits
|
|
; COMDAT ??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z
|
|
_TEXT SEGMENT
|
|
_Arg$ = 224
|
|
??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z PROC ; std::forward<unsigned long *>, COMDAT
|
|
|
|
; 1443 : remove_reference_t<_Ty>& _Arg) noexcept { // forward an lvalue as either an lvalue or an rvalue
|
|
|
|
$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:__D1154D4E_type_traits
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1444 : return static_cast<_Ty&&>(_Arg);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Arg$[rbp]
|
|
|
|
; 1445 : }
|
|
|
|
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
|
|
??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z ENDP ; std::forward<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\xutility
|
|
; COMDAT ??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z
|
|
_TEXT SEGMENT
|
|
_First$ = 224
|
|
_Last$ = 232
|
|
_Val$ = 240
|
|
__formal$ = 248
|
|
??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Find_unchecked1<unsigned long *,unsigned long>, COMDAT
|
|
|
|
; 5298 : _NODISCARD constexpr _InIt _Find_unchecked1(_InIt _First, const _InIt _Last, const _Ty& _Val, false_type) {
|
|
|
|
$LN7:
|
|
00000 44 88 4c 24 20 mov BYTE PTR [rsp+32], r9b
|
|
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 e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__7CE971A6_xutility
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 5299 : // find first matching _Val
|
|
; 5300 : for (; _First != _Last; ++_First) {
|
|
|
|
0002e eb 12 jmp SHORT $LN4@Find_unche
|
|
$LN2@Find_unche:
|
|
00030 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _First$[rbp]
|
|
00037 48 83 c0 04 add rax, 4
|
|
0003b 48 89 85 e0 00
|
|
00 00 mov QWORD PTR _First$[rbp], rax
|
|
$LN4@Find_unche:
|
|
00042 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Last$[rbp]
|
|
00049 48 39 85 e0 00
|
|
00 00 cmp QWORD PTR _First$[rbp], rax
|
|
00050 74 18 je SHORT $LN3@Find_unche
|
|
|
|
; 5301 : if (*_First == _Val) {
|
|
|
|
00052 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _First$[rbp]
|
|
00059 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Val$[rbp]
|
|
00060 8b 09 mov ecx, DWORD PTR [rcx]
|
|
00062 39 08 cmp DWORD PTR [rax], ecx
|
|
00064 75 02 jne SHORT $LN5@Find_unche
|
|
|
|
; 5302 : break;
|
|
|
|
00066 eb 02 jmp SHORT $LN3@Find_unche
|
|
$LN5@Find_unche:
|
|
|
|
; 5303 : }
|
|
; 5304 : }
|
|
|
|
00068 eb c6 jmp SHORT $LN2@Find_unche
|
|
$LN3@Find_unche:
|
|
|
|
; 5305 :
|
|
; 5306 : return _First;
|
|
|
|
0006a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _First$[rbp]
|
|
|
|
; 5307 : }
|
|
|
|
00071 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00078 5f pop rdi
|
|
00079 5d pop rbp
|
|
0007a c3 ret 0
|
|
??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Find_unchecked1<unsigned long *,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 ??$_Get_size_of_n@$03@std@@YA_K_K@Z
|
|
_TEXT SEGMENT
|
|
_Overflow_is_possible$ = 4
|
|
_Max_possible$1 = 40
|
|
_Count$ = 288
|
|
??$_Get_size_of_n@$03@std@@YA_K_K@Z PROC ; std::_Get_size_of_n<4>, COMDAT
|
|
|
|
; 59 : _NODISCARD constexpr size_t _Get_size_of_n(const size_t _Count) {
|
|
|
|
$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 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
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
|
|
|
|
; 60 : constexpr bool _Overflow_is_possible = _Ty_size > 1;
|
|
|
|
0001f c6 45 04 01 mov BYTE PTR _Overflow_is_possible$[rbp], 1
|
|
|
|
; 61 :
|
|
; 62 : if constexpr (_Overflow_is_possible) {
|
|
; 63 : constexpr size_t _Max_possible = static_cast<size_t>(-1) / _Ty_size;
|
|
|
|
00023 48 b8 ff ff ff
|
|
ff ff ff ff 3f mov rax, 4611686018427387903 ; 3fffffffffffffffH
|
|
0002d 48 89 45 28 mov QWORD PTR _Max_possible$1[rbp], rax
|
|
|
|
; 64 : if (_Count > _Max_possible) {
|
|
|
|
00031 48 b8 ff ff ff
|
|
ff ff ff ff 3f mov rax, 4611686018427387903 ; 3fffffffffffffffH
|
|
0003b 48 39 85 20 01
|
|
00 00 cmp QWORD PTR _Count$[rbp], rax
|
|
00042 76 05 jbe SHORT $LN2@Get_size_o
|
|
|
|
; 65 : _Throw_bad_array_new_length(); // multiply overflow
|
|
|
|
00044 e8 00 00 00 00 call ?_Throw_bad_array_new_length@std@@YAXXZ ; std::_Throw_bad_array_new_length
|
|
$LN2@Get_size_o:
|
|
|
|
; 66 : }
|
|
; 67 : }
|
|
; 68 :
|
|
; 69 : return _Count * _Ty_size;
|
|
|
|
00049 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR _Count$[rbp]
|
|
00050 48 c1 e0 02 shl rax, 2
|
|
$LN3@Get_size_o:
|
|
|
|
; 70 : }
|
|
|
|
00054 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
0005b 5f pop rdi
|
|
0005c 5d pop rbp
|
|
0005d c3 ret 0
|
|
??$_Get_size_of_n@$03@std@@YA_K_K@Z ENDP ; std::_Get_size_of_n<4>
|
|
_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 ??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z
|
|
_TEXT SEGMENT
|
|
_UFirst$ = 8
|
|
_ULast$ = 40
|
|
_Backout$ = 72
|
|
$T4 = 312
|
|
__$ArrayPad$ = 328
|
|
_First$ = 368
|
|
_Last$ = 376
|
|
_Dest$ = 384
|
|
_Al$ = 392
|
|
??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z PROC ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >, COMDAT
|
|
|
|
; 1693 : const _InIt _First, const _InIt _Last, _Alloc_ptr_t<_Alloc> _Dest, _Alloc& _Al) {
|
|
|
|
$LN7:
|
|
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 78 01
|
|
00 00 sub rsp, 376 ; 00000178H
|
|
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 26 00 00 00 mov ecx, 38 ; 00000026H
|
|
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00031 f3 ab rep stosd
|
|
00033 48 8b 8c 24 98
|
|
01 00 00 mov rcx, QWORD PTR [rsp+408]
|
|
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 48 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0004c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
|
|
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1694 : // move [_First, _Last) to raw _Dest, using _Al
|
|
; 1695 : // note: only called internally from elsewhere in the STL
|
|
; 1696 : using _Ptrval = typename _Alloc::value_type*;
|
|
; 1697 : auto _UFirst = _Get_unwrapped(_First);
|
|
|
|
00058 48 8d 8d 70 01
|
|
00 00 lea rcx, QWORD PTR _First$[rbp]
|
|
0005f e8 00 00 00 00 call ??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z ; std::_Get_unwrapped<unsigned long * const &>
|
|
00064 48 89 45 08 mov QWORD PTR _UFirst$[rbp], rax
|
|
|
|
; 1698 : const auto _ULast = _Get_unwrapped(_Last);
|
|
|
|
00068 48 8d 8d 78 01
|
|
00 00 lea rcx, QWORD PTR _Last$[rbp]
|
|
0006f e8 00 00 00 00 call ??$_Get_unwrapped@AEBQEAK@std@@YA?A_TAEBQEAK@Z ; std::_Get_unwrapped<unsigned long * const &>
|
|
00074 48 89 45 28 mov QWORD PTR _ULast$[rbp], rax
|
|
|
|
; 1699 : if constexpr (conjunction_v<bool_constant<_Ptr_move_cat<decltype(_UFirst), _Ptrval>::_Really_trivial>,
|
|
; 1700 : _Uses_default_construct<_Alloc, _Ptrval, decltype(_STD move(*_UFirst))>>) {
|
|
; 1701 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1702 : if (!_STD is_constant_evaluated())
|
|
; 1703 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1704 : {
|
|
; 1705 : _Copy_memmove(_UFirst, _ULast, _Unfancy(_Dest));
|
|
|
|
00078 48 8b 8d 80 01
|
|
00 00 mov rcx, QWORD PTR _Dest$[rbp]
|
|
0007f e8 00 00 00 00 call ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
00084 4c 8b c0 mov r8, rax
|
|
00087 48 8b 55 28 mov rdx, QWORD PTR _ULast$[rbp]
|
|
0008b 48 8b 4d 08 mov rcx, QWORD PTR _UFirst$[rbp]
|
|
0008f e8 00 00 00 00 call ??$_Copy_memmove@PEAKPEAK@std@@YAPEAKPEAK00@Z ; std::_Copy_memmove<unsigned long *,unsigned long *>
|
|
|
|
; 1706 : return _Dest + (_ULast - _UFirst);
|
|
|
|
00094 48 8b 45 08 mov rax, QWORD PTR _UFirst$[rbp]
|
|
00098 48 8b 4d 28 mov rcx, QWORD PTR _ULast$[rbp]
|
|
0009c 48 2b c8 sub rcx, rax
|
|
0009f 48 8b c1 mov rax, rcx
|
|
000a2 48 c1 f8 02 sar rax, 2
|
|
000a6 48 8b 8d 80 01
|
|
00 00 mov rcx, QWORD PTR _Dest$[rbp]
|
|
000ad 48 8d 04 81 lea rax, QWORD PTR [rcx+rax*4]
|
|
000b1 eb 74 jmp SHORT $LN1@Uninitiali
|
|
|
|
; 1707 : }
|
|
; 1708 : }
|
|
; 1709 :
|
|
; 1710 : _Uninitialized_backout_al<_Alloc> _Backout{_Dest, _Al};
|
|
|
|
000b3 ba 18 00 00 00 mov edx, 24
|
|
000b8 48 8d 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
000bc e8 00 00 00 00 call ?__autoclassinit2@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX_K@Z
|
|
000c1 4c 8b 85 88 01
|
|
00 00 mov r8, QWORD PTR _Al$[rbp]
|
|
000c8 48 8b 95 80 01
|
|
00 00 mov rdx, QWORD PTR _Dest$[rbp]
|
|
000cf 48 8d 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
000d3 e8 00 00 00 00 call ??0?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@PEAKAEAV?$allocator@K@1@@Z ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
|
|
; 1711 : for (; _UFirst != _ULast; ++_UFirst) {
|
|
|
|
000d8 eb 0c jmp SHORT $LN4@Uninitiali
|
|
$LN2@Uninitiali:
|
|
000da 48 8b 45 08 mov rax, QWORD PTR _UFirst$[rbp]
|
|
000de 48 83 c0 04 add rax, 4
|
|
000e2 48 89 45 08 mov QWORD PTR _UFirst$[rbp], rax
|
|
$LN4@Uninitiali:
|
|
000e6 48 8b 45 28 mov rax, QWORD PTR _ULast$[rbp]
|
|
000ea 48 39 45 08 cmp QWORD PTR _UFirst$[rbp], rax
|
|
000ee 74 17 je SHORT $LN3@Uninitiali
|
|
|
|
; 1712 : _Backout._Emplace_back(_STD move(*_UFirst));
|
|
|
|
000f0 48 8b 4d 08 mov rcx, QWORD PTR _UFirst$[rbp]
|
|
000f4 e8 00 00 00 00 call ??$move@AEAK@std@@YA$$QEAKAEAK@Z ; std::move<unsigned long &>
|
|
000f9 48 8b d0 mov rdx, rax
|
|
000fc 48 8d 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
00100 e8 00 00 00 00 call ??$_Emplace_back@K@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAX$$QEAK@Z ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Emplace_back<unsigned long>
|
|
|
|
; 1713 : }
|
|
|
|
00105 eb d3 jmp SHORT $LN2@Uninitiali
|
|
$LN3@Uninitiali:
|
|
|
|
; 1714 :
|
|
; 1715 : return _Backout._Release();
|
|
|
|
00107 48 8d 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
0010b e8 00 00 00 00 call ?_Release@?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::_Release
|
|
00110 48 89 85 38 01
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
00117 48 8d 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
0011b e8 00 00 00 00 call ??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
00120 48 8b 85 38 01
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
$LN1@Uninitiali:
|
|
|
|
; 1716 : }
|
|
|
|
00127 48 8b f8 mov rdi, rax
|
|
0012a 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
0012e 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z$rtcFrameData
|
|
00135 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0013a 48 8b c7 mov rax, rdi
|
|
0013d 48 8b 8d 48 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00144 48 33 cd xor rcx, rbp
|
|
00147 e8 00 00 00 00 call __security_check_cookie
|
|
0014c 48 8d a5 58 01
|
|
00 00 lea rsp, QWORD PTR [rbp+344]
|
|
00153 5f pop rdi
|
|
00154 5d pop rbp
|
|
00155 c3 ret 0
|
|
??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z ENDP ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_UFirst$ = 8
|
|
_ULast$ = 40
|
|
_Backout$ = 72
|
|
$T4 = 312
|
|
__$ArrayPad$ = 328
|
|
_First$ = 368
|
|
_Last$ = 376
|
|
_Dest$ = 384
|
|
_Al$ = 392
|
|
?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA PROC ; `std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >'::`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 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
00018 e8 00 00 00 00 call ??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA ENDP ; `std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_UFirst$ = 8
|
|
_ULast$ = 40
|
|
_Backout$ = 72
|
|
$T4 = 312
|
|
__$ArrayPad$ = 328
|
|
_First$ = 368
|
|
_Last$ = 376
|
|
_Dest$ = 384
|
|
_Al$ = 392
|
|
?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA PROC ; `std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >'::`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 4d 48 lea rcx, QWORD PTR _Backout$[rbp]
|
|
00018 e8 00 00 00 00 call ??1?$_Uninitialized_backout_al@V?$allocator@K@std@@@std@@QEAA@XZ ; std::_Uninitialized_backout_al<std::allocator<unsigned long> >::~_Uninitialized_backout_al<std::allocator<unsigned long> >
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z@4HA ENDP ; `std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
|
|
; COMDAT ??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z
|
|
_TEXT SEGMENT
|
|
_Block_size$ = 8
|
|
_Ptr_container$ = 40
|
|
_Ptr$ = 72
|
|
_Bytes$ = 320
|
|
??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z PROC ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>, COMDAT
|
|
|
|
; 134 : __declspec(allocator) void* _Allocate_manually_vector_aligned(const size_t _Bytes) {
|
|
|
|
$LN13:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 58 01
|
|
00 00 sub rsp, 344 ; 00000158H
|
|
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 135 : // allocate _Bytes manually aligned to at least _Big_allocation_alignment
|
|
; 136 : const size_t _Block_size = _Non_user_size + _Bytes;
|
|
|
|
0001f 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR _Bytes$[rbp]
|
|
00026 48 83 c0 2f add rax, 47 ; 0000002fH
|
|
0002a 48 89 45 08 mov QWORD PTR _Block_size$[rbp], rax
|
|
|
|
; 137 : if (_Block_size <= _Bytes) {
|
|
|
|
0002e 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR _Bytes$[rbp]
|
|
00035 48 39 45 08 cmp QWORD PTR _Block_size$[rbp], rax
|
|
00039 77 05 ja SHORT $LN8@Allocate_m
|
|
|
|
; 138 : _Throw_bad_array_new_length(); // add overflow
|
|
|
|
0003b e8 00 00 00 00 call ?_Throw_bad_array_new_length@std@@YAXXZ ; std::_Throw_bad_array_new_length
|
|
$LN8@Allocate_m:
|
|
|
|
; 139 : }
|
|
; 140 :
|
|
; 141 : const uintptr_t _Ptr_container = reinterpret_cast<uintptr_t>(_Traits::_Allocate(_Block_size));
|
|
|
|
00040 48 8b 4d 08 mov rcx, QWORD PTR _Block_size$[rbp]
|
|
00044 e8 00 00 00 00 call ?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z ; std::_Default_allocate_traits::_Allocate
|
|
00049 48 89 45 28 mov QWORD PTR _Ptr_container$[rbp], rax
|
|
$LN4@Allocate_m:
|
|
|
|
; 142 : _STL_VERIFY(_Ptr_container != 0, "invalid argument"); // validate even in release since we're doing p[-1]
|
|
|
|
0004d 48 83 7d 28 00 cmp QWORD PTR _Ptr_container$[rbp], 0
|
|
00052 74 02 je SHORT $LN9@Allocate_m
|
|
00054 eb 6b jmp SHORT $LN10@Allocate_m
|
|
$LN9@Allocate_m:
|
|
$LN7@Allocate_m:
|
|
00056 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0BB@FCMFBGOM@invalid?5argument@
|
|
0005d 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
|
00062 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
|
|
00069 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
0006e 45 33 c9 xor r9d, r9d
|
|
00071 41 b8 8e 00 00
|
|
00 mov r8d, 142 ; 0000008eH
|
|
00077 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
0007e b9 02 00 00 00 mov ecx, 2
|
|
00083 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__CrtDbgReport
|
|
00089 83 f8 01 cmp eax, 1
|
|
0008c 75 03 jne SHORT $LN12@Allocate_m
|
|
0008e cc int 3
|
|
0008f 33 c0 xor eax, eax
|
|
$LN12@Allocate_m:
|
|
00091 48 c7 44 24 20
|
|
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
|
0009a 41 b9 8e 00 00
|
|
00 mov r9d, 142 ; 0000008eH
|
|
000a0 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@
|
|
000a7 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1EO@GFNCMDLA@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAA?$AAl?$AAl?$AAo?$AAc?$AAa?$AAt?$AAe?$AA_@
|
|
000ae 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@
|
|
000b5 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__invalid_parameter
|
|
000bb 33 c0 xor eax, eax
|
|
000bd 85 c0 test eax, eax
|
|
000bf 75 95 jne SHORT $LN7@Allocate_m
|
|
$LN10@Allocate_m:
|
|
000c1 33 c0 xor eax, eax
|
|
000c3 85 c0 test eax, eax
|
|
000c5 75 86 jne SHORT $LN4@Allocate_m
|
|
|
|
; 143 : void* const _Ptr = reinterpret_cast<void*>((_Ptr_container + _Non_user_size) & ~(_Big_allocation_alignment - 1));
|
|
|
|
000c7 48 8b 45 28 mov rax, QWORD PTR _Ptr_container$[rbp]
|
|
000cb 48 83 c0 2f add rax, 47 ; 0000002fH
|
|
000cf 48 83 e0 e0 and rax, -32 ; ffffffffffffffe0H
|
|
000d3 48 89 45 48 mov QWORD PTR _Ptr$[rbp], rax
|
|
|
|
; 144 : static_cast<uintptr_t*>(_Ptr)[-1] = _Ptr_container;
|
|
|
|
000d7 b8 08 00 00 00 mov eax, 8
|
|
000dc 48 6b c0 ff imul rax, rax, -1
|
|
000e0 48 8b 4d 48 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
000e4 48 8b 55 28 mov rdx, QWORD PTR _Ptr_container$[rbp]
|
|
000e8 48 89 14 01 mov QWORD PTR [rcx+rax], rdx
|
|
|
|
; 145 :
|
|
; 146 : #ifdef _DEBUG
|
|
; 147 : static_cast<uintptr_t*>(_Ptr)[-2] = _Big_allocation_sentinel;
|
|
|
|
000ec b8 08 00 00 00 mov eax, 8
|
|
000f1 48 6b c0 fe imul rax, rax, -2
|
|
000f5 48 8b 4d 48 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
000f9 48 ba fa fa fa
|
|
fa fa fa fa fa mov rdx, -361700864190383366 ; fafafafafafafafaH
|
|
00103 48 89 14 01 mov QWORD PTR [rcx+rax], rdx
|
|
|
|
; 148 : #endif // _DEBUG
|
|
; 149 : return _Ptr;
|
|
|
|
00107 48 8b 45 48 mov rax, QWORD PTR _Ptr$[rbp]
|
|
$LN11@Allocate_m:
|
|
|
|
; 150 : }
|
|
|
|
0010b 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
00112 5f pop rdi
|
|
00113 5d pop rbp
|
|
00114 c3 ret 0
|
|
??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z ENDP ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>
|
|
_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\xutility
|
|
; COMDAT ??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z PROC ; std::_Voidify_iter<unsigned long *>, COMDAT
|
|
|
|
; 130 : _NODISCARD constexpr void* _Voidify_iter(_Iter _It) 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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 131 : if constexpr (is_pointer_v<_Iter>) {
|
|
; 132 : return const_cast<void*>(static_cast<const volatile void*>(_It));
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _It$[rbp]
|
|
|
|
; 133 : } else {
|
|
; 134 : return const_cast<void*>(static_cast<const volatile void*>(_STD addressof(*_It)));
|
|
; 135 : }
|
|
; 136 : }
|
|
|
|
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
|
|
??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z ENDP ; std::_Voidify_iter<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\xutility
|
|
; COMDAT ??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
_UIt$ = 232
|
|
??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z PROC ; std::_Seek_wrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long *>, COMDAT
|
|
|
|
; 1427 : constexpr void _Seek_wrapped(_Iter& _It, _UIter&& _UIt) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1428 : if constexpr (_Wrapped_seekable_v<_Iter, _UIter>) {
|
|
; 1429 : _It._Seek_to(_STD forward<_UIter>(_UIt));
|
|
|
|
00024 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _UIt$[rbp]
|
|
0002b e8 00 00 00 00 call ??$forward@PEAK@std@@YA$$QEAPEAKAEAPEAK@Z ; std::forward<unsigned long *>
|
|
00030 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
00033 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _It$[rbp]
|
|
0003a e8 00 00 00 00 call ?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Seek_to
|
|
|
|
; 1430 : } else {
|
|
; 1431 : _It = _STD forward<_UIter>(_UIt);
|
|
; 1432 : }
|
|
; 1433 : }
|
|
|
|
0003f 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00046 5f pop rdi
|
|
00047 5d pop rbp
|
|
00048 c3 ret 0
|
|
??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z ENDP ; std::_Seek_wrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,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\xutility
|
|
; COMDAT ??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 196
|
|
_First$ = 256
|
|
_Last$ = 264
|
|
_Val$ = 272
|
|
??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z PROC ; std::_Find_unchecked<unsigned long *,unsigned long>, COMDAT
|
|
|
|
; 5333 : _NODISCARD _CONSTEXPR20 _InIt _Find_unchecked(const _InIt _First, const _InIt _Last, const _Ty& _Val) {
|
|
|
|
$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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__7CE971A6_xutility
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 5334 : // find first matching _Val; choose optimization
|
|
; 5335 : // activate optimization for contiguous iterators to (const) bytes and integral values
|
|
; 5336 : return _Find_unchecked1(_First, _Last, _Val, bool_constant<_Memchr_in_find_is_safe<_InIt, _Ty>>{});
|
|
|
|
00029 48 8d 85 c4 00
|
|
00 00 lea rax, QWORD PTR $T1[rbp]
|
|
00030 48 8b f8 mov rdi, rax
|
|
00033 33 c0 xor eax, eax
|
|
00035 b9 01 00 00 00 mov ecx, 1
|
|
0003a f3 aa rep stosb
|
|
0003c 44 0f b6 8d c4
|
|
00 00 00 movzx r9d, BYTE PTR $T1[rbp]
|
|
00044 4c 8b 85 10 01
|
|
00 00 mov r8, QWORD PTR _Val$[rbp]
|
|
0004b 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Last$[rbp]
|
|
00052 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00059 e8 00 00 00 00 call ??$_Find_unchecked1@PEAKK@std@@YAPEAKPEAKQEAKAEBKU?$integral_constant@_N$0A@@0@@Z ; std::_Find_unchecked1<unsigned long *,unsigned long>
|
|
|
|
; 5337 : }
|
|
|
|
0005e 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00065 5f pop rdi
|
|
00066 5d pop rbp
|
|
00067 c3 ret 0
|
|
??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z ENDP ; std::_Find_unchecked<unsigned long *,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\xutility
|
|
; COMDAT ??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z PROC ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > const &>, COMDAT
|
|
|
|
; 1324 : _NODISCARD constexpr decltype(auto) _Get_unwrapped(_Iter&& _It) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1325 : // unwrap an iterator previously subjected to _Adl_verify_range or otherwise validated
|
|
; 1326 : if constexpr (is_pointer_v<decay_t<_Iter>>) { // special-case pointers and arrays
|
|
; 1327 : return _It + 0;
|
|
; 1328 : } else if constexpr (_Unwrappable_v<_Iter>) {
|
|
; 1329 : return static_cast<_Iter&&>(_It)._Unwrapped();
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _It$[rbp]
|
|
00026 e8 00 00 00 00 call ?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Unwrapped
|
|
|
|
; 1330 : } else {
|
|
; 1331 : return static_cast<_Iter&&>(_It);
|
|
; 1332 : }
|
|
; 1333 : }
|
|
|
|
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
|
|
??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ENDP ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > const &>
|
|
_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\xutility
|
|
; COMDAT ??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z PROC ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > &>, COMDAT
|
|
|
|
; 1324 : _NODISCARD constexpr decltype(auto) _Get_unwrapped(_Iter&& _It) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1325 : // unwrap an iterator previously subjected to _Adl_verify_range or otherwise validated
|
|
; 1326 : if constexpr (is_pointer_v<decay_t<_Iter>>) { // special-case pointers and arrays
|
|
; 1327 : return _It + 0;
|
|
; 1328 : } else if constexpr (_Unwrappable_v<_Iter>) {
|
|
; 1329 : return static_cast<_Iter&&>(_It)._Unwrapped();
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _It$[rbp]
|
|
00026 e8 00 00 00 00 call ?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Unwrapped
|
|
|
|
; 1330 : } else {
|
|
; 1331 : return static_cast<_Iter&&>(_It);
|
|
; 1332 : }
|
|
; 1333 : }
|
|
|
|
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
|
|
??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ENDP ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<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\xutility
|
|
; COMDAT ??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z
|
|
_TEXT SEGMENT
|
|
_First$ = 224
|
|
_Last$ = 232
|
|
??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z PROC ; std::_Adl_verify_range<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > >, COMDAT
|
|
|
|
; 1307 : constexpr void _Adl_verify_range(const _Iter& _First, const _Sentinel& _Last) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1308 : // check that [_First, _Last) forms an iterator range
|
|
; 1309 : if constexpr (_Range_verifiable_v<_Iter, _Sentinel>) {
|
|
; 1310 : _Verify_range(_First, _Last);
|
|
|
|
00024 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _Last$[rbp]
|
|
0002b 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00032 e8 00 00 00 00 call ?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z ; std::_Verify_range
|
|
|
|
; 1311 : }
|
|
; 1312 : }
|
|
|
|
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
|
|
??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z ENDP ; std::_Adl_verify_range<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,std::_Vector_iterator<std::_Vector_val<std::_Simple_types<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\type_traits
|
|
; COMDAT ??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z
|
|
_TEXT SEGMENT
|
|
_Arg$ = 224
|
|
??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z PROC ; std::forward<std::_Container_base12 *>, COMDAT
|
|
|
|
; 1443 : remove_reference_t<_Ty>& _Arg) noexcept { // forward an lvalue as either an lvalue or an rvalue
|
|
|
|
$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:__D1154D4E_type_traits
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1444 : return static_cast<_Ty&&>(_Arg);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Arg$[rbp]
|
|
|
|
; 1445 : }
|
|
|
|
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
|
|
??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z ENDP ; std::forward<std::_Container_base12 *>
|
|
_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\xutility
|
|
; COMDAT ??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z
|
|
_TEXT SEGMENT
|
|
_It$ = 224
|
|
??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z PROC ; std::_Voidify_iter<std::_Container_proxy *>, COMDAT
|
|
|
|
; 130 : _NODISCARD constexpr void* _Voidify_iter(_Iter _It) 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:__7CE971A6_xutility
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 131 : if constexpr (is_pointer_v<_Iter>) {
|
|
; 132 : return const_cast<void*>(static_cast<const volatile void*>(_It));
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _It$[rbp]
|
|
|
|
; 133 : } else {
|
|
; 134 : return const_cast<void*>(static_cast<const volatile void*>(_STD addressof(*_It)));
|
|
; 135 : }
|
|
; 136 : }
|
|
|
|
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
|
|
??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z ENDP ; std::_Voidify_iter<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\xstddef
|
|
; COMDAT ??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z
|
|
_TEXT SEGMENT
|
|
_Val$ = 224
|
|
??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z PROC ; std::addressof<std::_Container_proxy>, COMDAT
|
|
|
|
; 274 : _NODISCARD constexpr _Ty* addressof(_Ty& _Val) 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:__40B2458B_xstddef
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 275 : return __builtin_addressof(_Val);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Val$[rbp]
|
|
|
|
; 276 : }
|
|
|
|
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
|
|
??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z ENDP ; std::addressof<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 ??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z
|
|
_TEXT SEGMENT
|
|
_Bytes$ = 224
|
|
??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z PROC ; std::_Allocate<16,std::_Default_allocate_traits,0>, COMDAT
|
|
|
|
; 230 : __declspec(allocator) _CONSTEXPR20_DYNALLOC void* _Allocate(const size_t _Bytes) {
|
|
|
|
$LN5:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 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
|
|
|
|
; 231 : // allocate _Bytes when !_HAS_ALIGNED_NEW || _Align <= __STDCPP_DEFAULT_NEW_ALIGNMENT__
|
|
; 232 : #if defined(_M_IX86) || defined(_M_X64)
|
|
; 233 : #ifdef __cpp_lib_constexpr_dynamic_alloc // TRANSITION, GH-1532
|
|
; 234 : if (!_STD is_constant_evaluated())
|
|
; 235 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 236 : {
|
|
; 237 : if (_Bytes >= _Big_allocation_threshold) { // boost the alignment of big allocations to help autovectorization
|
|
|
|
0001f 48 81 bd e0 00
|
|
00 00 00 10 00
|
|
00 cmp QWORD PTR _Bytes$[rbp], 4096 ; 00001000H
|
|
0002a 72 0e jb SHORT $LN2@Allocate
|
|
|
|
; 238 : return _Allocate_manually_vector_aligned<_Traits>(_Bytes);
|
|
|
|
0002c 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Bytes$[rbp]
|
|
00033 e8 00 00 00 00 call ??$_Allocate_manually_vector_aligned@U_Default_allocate_traits@std@@@std@@YAPEAX_K@Z ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>
|
|
00038 eb 1a jmp SHORT $LN1@Allocate
|
|
$LN2@Allocate:
|
|
|
|
; 239 : }
|
|
; 240 : }
|
|
; 241 : #endif // defined(_M_IX86) || defined(_M_X64)
|
|
; 242 :
|
|
; 243 : if (_Bytes != 0) {
|
|
|
|
0003a 48 83 bd e0 00
|
|
00 00 00 cmp QWORD PTR _Bytes$[rbp], 0
|
|
00042 74 0e je SHORT $LN3@Allocate
|
|
|
|
; 244 : return _Traits::_Allocate(_Bytes);
|
|
|
|
00044 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Bytes$[rbp]
|
|
0004b e8 00 00 00 00 call ?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z ; std::_Default_allocate_traits::_Allocate
|
|
00050 eb 02 jmp SHORT $LN1@Allocate
|
|
$LN3@Allocate:
|
|
|
|
; 245 : }
|
|
; 246 :
|
|
; 247 : return nullptr;
|
|
|
|
00052 33 c0 xor eax, eax
|
|
$LN1@Allocate:
|
|
|
|
; 248 : }
|
|
|
|
00054 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005b 5f pop rdi
|
|
0005c 5d pop rbp
|
|
0005d c3 ret 0
|
|
??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z ENDP ; std::_Allocate<16,std::_Default_allocate_traits,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 ??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z
|
|
_TEXT SEGMENT
|
|
_Overflow_is_possible$ = 4
|
|
_Max_possible$1 = 40
|
|
_Count$ = 288
|
|
??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z PROC ; std::_Get_size_of_n<16>, COMDAT
|
|
|
|
; 59 : _NODISCARD constexpr size_t _Get_size_of_n(const size_t _Count) {
|
|
|
|
$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 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
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
|
|
|
|
; 60 : constexpr bool _Overflow_is_possible = _Ty_size > 1;
|
|
|
|
0001f c6 45 04 01 mov BYTE PTR _Overflow_is_possible$[rbp], 1
|
|
|
|
; 61 :
|
|
; 62 : if constexpr (_Overflow_is_possible) {
|
|
; 63 : constexpr size_t _Max_possible = static_cast<size_t>(-1) / _Ty_size;
|
|
|
|
00023 48 b8 ff ff ff
|
|
ff ff ff ff 0f mov rax, 1152921504606846975 ; 0fffffffffffffffH
|
|
0002d 48 89 45 28 mov QWORD PTR _Max_possible$1[rbp], rax
|
|
|
|
; 64 : if (_Count > _Max_possible) {
|
|
|
|
00031 48 b8 ff ff ff
|
|
ff ff ff ff 0f mov rax, 1152921504606846975 ; 0fffffffffffffffH
|
|
0003b 48 39 85 20 01
|
|
00 00 cmp QWORD PTR _Count$[rbp], rax
|
|
00042 76 05 jbe SHORT $LN2@Get_size_o
|
|
|
|
; 65 : _Throw_bad_array_new_length(); // multiply overflow
|
|
|
|
00044 e8 00 00 00 00 call ?_Throw_bad_array_new_length@std@@YAXXZ ; std::_Throw_bad_array_new_length
|
|
$LN2@Get_size_o:
|
|
|
|
; 66 : }
|
|
; 67 : }
|
|
; 68 :
|
|
; 69 : return _Count * _Ty_size;
|
|
|
|
00049 48 6b 85 20 01
|
|
00 00 10 imul rax, QWORD PTR _Count$[rbp], 16
|
|
$LN3@Get_size_o:
|
|
|
|
; 70 : }
|
|
|
|
00051 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00058 5f pop rdi
|
|
00059 5d pop rbp
|
|
0005a c3 ret 0
|
|
??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z ENDP ; std::_Get_size_of_n<16>
|
|
_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\xstddef
|
|
; COMDAT ??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z
|
|
_TEXT SEGMENT
|
|
_Ptr$ = 224
|
|
??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z PROC ; std::_Unfancy<std::_Container_proxy>, COMDAT
|
|
|
|
; 288 : _NODISCARD constexpr _Ty* _Unfancy(_Ty* _Ptr) noexcept { // do nothing for plain pointers
|
|
|
|
$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:__40B2458B_xstddef
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 289 : return _Ptr;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Ptr$[rbp]
|
|
|
|
; 290 : }
|
|
|
|
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
|
|
??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z ENDP ; std::_Unfancy<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 ??$min@_K@std@@YAAEB_KAEB_K0@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
tv65 = 216
|
|
_Left$ = 256
|
|
_Right$ = 264
|
|
??$min@_K@std@@YAAEB_KAEB_K0@Z PROC ; std::min<unsigned __int64>, COMDAT
|
|
|
|
; 66 : const _Ty& _Left, const _Ty& _Right) noexcept(noexcept(_Right < _Left)) /* strengthened */ {
|
|
|
|
$LN5:
|
|
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
|
|
|
|
; 67 : // return smaller of _Left and _Right
|
|
; 68 : return _Right < _Left ? _Right : _Left;
|
|
|
|
00024 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Right$[rbp]
|
|
0002b 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR _Left$[rbp]
|
|
00032 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00035 48 39 08 cmp QWORD PTR [rax], rcx
|
|
00038 73 10 jae SHORT $LN3@min
|
|
0003a 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Right$[rbp]
|
|
00041 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv65[rbp], rax
|
|
00048 eb 0e jmp SHORT $LN4@min
|
|
$LN3@min:
|
|
0004a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR _Left$[rbp]
|
|
00051 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv65[rbp], rax
|
|
$LN4@min:
|
|
00058 48 8b 85 d8 00
|
|
00 00 mov rax, QWORD PTR tv65[rbp]
|
|
0005f 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
00066 48 8b 85 c8 00
|
|
00 00 mov rax, QWORD PTR $T1[rbp]
|
|
|
|
; 69 : }
|
|
|
|
0006d 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00074 5f pop rdi
|
|
00075 5d pop rbp
|
|
00076 c3 ret 0
|
|
??$min@_K@std@@YAAEB_KAEB_K0@Z ENDP ; std::min<unsigned __int64>
|
|
_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\ostream
|
|
; COMDAT ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool, COMDAT
|
|
|
|
; 124 : explicit __CLR_OR_THIS_CALL operator bool() const {
|
|
|
|
$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:__65C59933_ostream
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 125 : return _Ok;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 0f b6 40 08 movzx eax, BYTE PTR [rax+8]
|
|
|
|
; 126 : }
|
|
|
|
0002a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00031 5f pop rdi
|
|
00032 5d pop rbp
|
|
00033 c3 ret 0
|
|
??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
_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\ostream
|
|
; COMDAT ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
_Zero_uncaught_exceptions$ = 4
|
|
tv72 = 212
|
|
this$ = 256
|
|
??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry, COMDAT
|
|
|
|
; 109 : __CLR_OR_THIS_CALL ~sentry() 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:__65C59933_ostream
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 110 : #if !_HAS_EXCEPTIONS
|
|
; 111 : const bool _Zero_uncaught_exceptions = true;
|
|
; 112 : #elif _HAS_DEPRECATED_UNCAUGHT_EXCEPTION
|
|
; 113 : const bool _Zero_uncaught_exceptions = !_STD uncaught_exception(); // TRANSITION, ArchivedOS-12000909
|
|
|
|
0001f e8 00 00 00 00 call ?uncaught_exception@std@@YA_NXZ ; std::uncaught_exception
|
|
00024 0f b6 c0 movzx eax, al
|
|
00027 85 c0 test eax, eax
|
|
00029 75 09 jne SHORT $LN4@sentry
|
|
0002b c6 85 d4 00 00
|
|
00 01 mov BYTE PTR tv72[rbp], 1
|
|
00032 eb 07 jmp SHORT $LN5@sentry
|
|
$LN4@sentry:
|
|
00034 c6 85 d4 00 00
|
|
00 00 mov BYTE PTR tv72[rbp], 0
|
|
$LN5@sentry:
|
|
0003b 0f b6 85 d4 00
|
|
00 00 movzx eax, BYTE PTR tv72[rbp]
|
|
00042 88 45 04 mov BYTE PTR _Zero_uncaught_exceptions$[rbp], al
|
|
|
|
; 114 : #else // ^^^ _HAS_DEPRECATED_UNCAUGHT_EXCEPTION / !_HAS_DEPRECATED_UNCAUGHT_EXCEPTION vvv
|
|
; 115 : const bool _Zero_uncaught_exceptions = _STD uncaught_exceptions() == 0;
|
|
; 116 : #endif // !_HAS_DEPRECATED_UNCAUGHT_EXCEPTION
|
|
; 117 :
|
|
; 118 : if (_Zero_uncaught_exceptions) {
|
|
|
|
00045 0f b6 45 04 movzx eax, BYTE PTR _Zero_uncaught_exceptions$[rbp]
|
|
00049 85 c0 test eax, eax
|
|
0004b 74 10 je SHORT $LN2@sentry
|
|
|
|
; 119 : this->_Myostr._Osfx();
|
|
|
|
0004d 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00054 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
00057 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ
|
|
$LN2@sentry:
|
|
|
|
; 120 : }
|
|
; 121 : }
|
|
|
|
0005d 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00064 e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00069 90 npad 1
|
|
0006a 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00071 5f pop rdi
|
|
00072 5d pop rbp
|
|
00073 c3 ret 0
|
|
??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
_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\ostream
|
|
; COMDAT ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
_TEXT SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry, COMDAT
|
|
|
|
; 92 : explicit __CLR_OR_THIS_CALL sentry(basic_ostream& _Ostr) : _Sentry_base(_Ostr) {
|
|
|
|
$LN7:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 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:__65C59933_ostream
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00024 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Ostr$[rbp]
|
|
0002b 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00032 e8 00 00 00 00 call ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
00037 90 npad 1
|
|
|
|
; 93 : if (!_Ostr.good()) {
|
|
|
|
00038 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0003f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00042 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00046 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0004d 48 03 c8 add rcx, rax
|
|
00050 48 8b c1 mov rax, rcx
|
|
00053 48 8b c8 mov rcx, rax
|
|
00056 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?good@ios_base@std@@QEBA_NXZ
|
|
0005c 0f b6 c0 movzx eax, al
|
|
0005f 85 c0 test eax, eax
|
|
00061 75 10 jne SHORT $LN2@sentry
|
|
|
|
; 94 : _Ok = false;
|
|
|
|
00063 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0006a c6 40 08 00 mov BYTE PTR [rax+8], 0
|
|
|
|
; 95 : return;
|
|
|
|
0006e e9 81 00 00 00 jmp $LN1@sentry
|
|
$LN2@sentry:
|
|
|
|
; 96 : }
|
|
; 97 :
|
|
; 98 : const auto _Tied = _Ostr.tie();
|
|
|
|
00073 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0007a 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0007d 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00081 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00088 48 03 c8 add rcx, rax
|
|
0008b 48 8b c1 mov rax, rcx
|
|
0008e 48 8b c8 mov rcx, rax
|
|
00091 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ
|
|
00097 48 89 45 08 mov QWORD PTR _Tied$[rbp], rax
|
|
|
|
; 99 : if (!_Tied || _Tied == &_Ostr) {
|
|
|
|
0009b 48 83 7d 08 00 cmp QWORD PTR _Tied$[rbp], 0
|
|
000a0 74 0d je SHORT $LN4@sentry
|
|
000a2 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000a9 48 39 45 08 cmp QWORD PTR _Tied$[rbp], rax
|
|
000ad 75 0d jne SHORT $LN3@sentry
|
|
$LN4@sentry:
|
|
|
|
; 100 : _Ok = true;
|
|
|
|
000af 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000b6 c6 40 08 01 mov BYTE PTR [rax+8], 1
|
|
|
|
; 101 : return;
|
|
|
|
000ba eb 38 jmp SHORT $LN1@sentry
|
|
$LN3@sentry:
|
|
|
|
; 102 : }
|
|
; 103 :
|
|
; 104 : _Tied->flush();
|
|
|
|
000bc 48 8b 4d 08 mov rcx, QWORD PTR _Tied$[rbp]
|
|
000c0 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ
|
|
|
|
; 105 : _Ok = _Ostr.good(); // store test only after flushing tie
|
|
|
|
000c6 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000cd 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000d0 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000d4 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000db 48 03 c8 add rcx, rax
|
|
000de 48 8b c1 mov rax, rcx
|
|
000e1 48 8b c8 mov rcx, rax
|
|
000e4 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?good@ios_base@std@@QEBA_NXZ
|
|
000ea 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000f1 88 41 08 mov BYTE PTR [rcx+8], al
|
|
$LN1@sentry:
|
|
|
|
; 106 : }
|
|
|
|
000f4 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000fb 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00102 5f pop rdi
|
|
00103 5d pop rbp
|
|
00104 c3 ret 0
|
|
??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`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 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Tied$ = 8
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`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 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z@4HA ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\ostream
|
|
; COMDAT ??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
_Rdbuf$ = 8
|
|
tv72 = 216
|
|
this$ = 256
|
|
??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base, COMDAT
|
|
|
|
; 78 : __CLR_OR_THIS_CALL ~_Sentry_base() noexcept { // destroy after unlocking
|
|
|
|
$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 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:__65C59933_ostream
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 79 : const auto _Rdbuf = _Myostr.rdbuf();
|
|
|
|
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 89 85 d8 00
|
|
00 00 mov QWORD PTR tv72[rbp], rax
|
|
00030 48 8b 85 d8 00
|
|
00 00 mov rax, QWORD PTR tv72[rbp]
|
|
00037 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003a 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0003e 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR tv72[rbp]
|
|
00045 48 03 c8 add rcx, rax
|
|
00048 48 8b c1 mov rax, rcx
|
|
0004b 48 8b c8 mov rcx, rax
|
|
0004e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
00054 48 89 45 08 mov QWORD PTR _Rdbuf$[rbp], rax
|
|
|
|
; 80 : if (_Rdbuf) {
|
|
|
|
00058 48 83 7d 08 00 cmp QWORD PTR _Rdbuf$[rbp], 0
|
|
0005d 74 0f je SHORT $LN2@Sentry_bas
|
|
|
|
; 81 : _Rdbuf->_Unlock();
|
|
|
|
0005f 48 8b 45 08 mov rax, QWORD PTR _Rdbuf$[rbp]
|
|
00063 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00066 48 8b 4d 08 mov rcx, QWORD PTR _Rdbuf$[rbp]
|
|
0006a ff 50 10 call QWORD PTR [rax+16]
|
|
0006d 90 npad 1
|
|
$LN2@Sentry_bas:
|
|
|
|
; 82 : }
|
|
; 83 : }
|
|
|
|
0006e 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00075 5f pop rdi
|
|
00076 5d pop rbp
|
|
00077 c3 ret 0
|
|
??1_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
|
|
_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\ostream
|
|
; COMDAT ??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z
|
|
_TEXT SEGMENT
|
|
_Rdbuf$ = 8
|
|
tv73 = 216
|
|
this$ = 256
|
|
_Ostr$ = 264
|
|
??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base, COMDAT
|
|
|
|
; 71 : __CLR_OR_THIS_CALL _Sentry_base(basic_ostream& _Ostr) : _Myostr(_Ostr) { // lock the stream buffer, if there
|
|
|
|
$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 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:__65C59933_ostream
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00024 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00032 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 72 : const auto _Rdbuf = _Myostr.rdbuf();
|
|
|
|
00035 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003c 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003f 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv73[rbp], rax
|
|
00046 48 8b 85 d8 00
|
|
00 00 mov rax, QWORD PTR tv73[rbp]
|
|
0004d 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00050 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00054 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR tv73[rbp]
|
|
0005b 48 03 c8 add rcx, rax
|
|
0005e 48 8b c1 mov rax, rcx
|
|
00061 48 8b c8 mov rcx, rax
|
|
00064 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
0006a 48 89 45 08 mov QWORD PTR _Rdbuf$[rbp], rax
|
|
|
|
; 73 : if (_Rdbuf) {
|
|
|
|
0006e 48 83 7d 08 00 cmp QWORD PTR _Rdbuf$[rbp], 0
|
|
00073 74 0e je SHORT $LN2@Sentry_bas
|
|
|
|
; 74 : _Rdbuf->_Lock();
|
|
|
|
00075 48 8b 45 08 mov rax, QWORD PTR _Rdbuf$[rbp]
|
|
00079 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0007c 48 8b 4d 08 mov rcx, QWORD PTR _Rdbuf$[rbp]
|
|
00080 ff 50 08 call QWORD PTR [rax+8]
|
|
$LN2@Sentry_bas:
|
|
|
|
; 75 : }
|
|
; 76 : }
|
|
|
|
00083 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0008a 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00091 5f pop rdi
|
|
00092 5d pop rbp
|
|
00093 c3 ret 0
|
|
??0_Sentry_base@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
|
|
_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 ??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z
|
|
_TEXT SEGMENT
|
|
_New_proxy$ = 8
|
|
$T1 = 232
|
|
this$ = 288
|
|
_Al$ = 296
|
|
??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z PROC ; std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> >, COMDAT
|
|
|
|
; 1073 : _CONSTEXPR20_CONTAINER void _Alloc_proxy(_Alloc&& _Al) {
|
|
|
|
$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 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
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
|
|
|
|
; 1074 : _Container_proxy* const _New_proxy = _Unfancy(_Al.allocate(1));
|
|
|
|
00024 ba 01 00 00 00 mov edx, 1
|
|
00029 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR _Al$[rbp]
|
|
00030 e8 00 00 00 00 call ?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z ; std::allocator<std::_Container_proxy>::allocate
|
|
00035 48 8b c8 mov rcx, rax
|
|
00038 e8 00 00 00 00 call ??$_Unfancy@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@PEAU10@@Z ; std::_Unfancy<std::_Container_proxy>
|
|
0003d 48 89 45 08 mov QWORD PTR _New_proxy$[rbp], rax
|
|
|
|
; 1075 : _Construct_in_place(*_New_proxy, this);
|
|
|
|
00041 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00048 48 89 85 e8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
0004f 48 8d 95 e8 00
|
|
00 00 lea rdx, QWORD PTR $T1[rbp]
|
|
00056 48 8b 4d 08 mov rcx, QWORD PTR _New_proxy$[rbp]
|
|
0005a e8 00 00 00 00 call ??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z ; std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>
|
|
|
|
; 1076 : _Myproxy = _New_proxy;
|
|
|
|
0005f 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00066 48 8b 4d 08 mov rcx, QWORD PTR _New_proxy$[rbp]
|
|
0006a 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1077 : _New_proxy->_Mycont = this;
|
|
|
|
0006d 48 8b 45 08 mov rax, QWORD PTR _New_proxy$[rbp]
|
|
00071 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00078 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1078 : }
|
|
|
|
0007b 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00082 5f pop rdi
|
|
00083 5d pop rbp
|
|
00084 c3 ret 0
|
|
??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z ENDP ; std::_Container_base12::_Alloc_proxy<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 ??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__formal$ = 232
|
|
??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z PROC ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1><>, COMDAT
|
|
|
|
; 1370 : : _Ty1(), _Myval2(_STD forward<_Other2>(_Val2)...) {}
|
|
|
|
$LN3:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
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 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
|
|
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00023 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002a e8 00 00 00 00 call ??0?$allocator@K@std@@QEAA@XZ ; std::allocator<unsigned long>::allocator<unsigned long>
|
|
0002f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00036 48 8b c8 mov rcx, rax
|
|
00039 e8 00 00 00 00 call ??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ ; std::_Vector_val<std::_Simple_types<unsigned long> >::_Vector_val<std::_Simple_types<unsigned long> >
|
|
0003e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00045 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0004c 5f pop rdi
|
|
0004d 5d pop rbp
|
|
0004e c3 ret 0
|
|
??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z ENDP ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1><>
|
|
_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:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
|
|
; COMDAT ?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Count$ = 232
|
|
?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z PROC ; std::allocator<std::_Container_proxy>::allocate, COMDAT
|
|
|
|
; 838 : _NODISCARD _CONSTEXPR20_DYNALLOC __declspec(allocator) _Ty* allocate(_CRT_GUARDOVERFLOW const size_t _Count) {
|
|
|
|
$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
|
|
|
|
; 839 : return static_cast<_Ty*>(_Allocate<_New_alignof<_Ty>>(_Get_size_of_n<sizeof(_Ty)>(_Count)));
|
|
|
|
00024 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Count$[rbp]
|
|
0002b e8 00 00 00 00 call ??$_Get_size_of_n@$0BA@@std@@YA_K_K@Z ; std::_Get_size_of_n<16>
|
|
00030 48 8b c8 mov rcx, rax
|
|
00033 e8 00 00 00 00 call ??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z ; std::_Allocate<16,std::_Default_allocate_traits,0>
|
|
|
|
; 840 : }
|
|
|
|
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
|
|
?allocate@?$allocator@U_Container_proxy@std@@@std@@QEAAPEAU_Container_proxy@2@_K@Z ENDP ; std::allocator<std::_Container_proxy>::allocate
|
|
_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 ??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z
|
|
_TEXT SEGMENT
|
|
_Al$ = 8
|
|
_My_data$ = 40
|
|
_Myfirst$ = 72
|
|
_Mylast$ = 104
|
|
_Whereoff$ = 136
|
|
_Oldsize$ = 168
|
|
_Newsize$ = 200
|
|
_Newcapacity$ = 232
|
|
_Newvec$ = 264
|
|
_Constructed_last$ = 296
|
|
_Constructed_first$ = 328
|
|
tv134 = 536
|
|
tv132 = 544
|
|
this$ = 592
|
|
_Whereptr$ = 600
|
|
<_Val_0>$ = 608
|
|
??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>, COMDAT
|
|
|
|
; 765 : _CONSTEXPR20_CONTAINER pointer _Emplace_reallocate(const pointer _Whereptr, _Valty&&... _Val) {
|
|
|
|
$LN13:
|
|
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 02
|
|
00 00 sub rsp, 600 ; 00000258H
|
|
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
|
|
|
|
; 766 : // reallocate and insert by perfectly forwarding _Val at _Whereptr
|
|
; 767 : _Alty& _Al = _Getal();
|
|
|
|
00029 48 8b 8d 50 02
|
|
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 48 89 45 08 mov QWORD PTR _Al$[rbp], rax
|
|
|
|
; 768 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
00039 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00040 48 89 45 28 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 769 : pointer& _Myfirst = _My_data._Myfirst;
|
|
|
|
00044 48 8b 45 28 mov rax, QWORD PTR _My_data$[rbp]
|
|
00048 48 83 c0 08 add rax, 8
|
|
0004c 48 89 45 48 mov QWORD PTR _Myfirst$[rbp], rax
|
|
|
|
; 770 : pointer& _Mylast = _My_data._Mylast;
|
|
|
|
00050 48 8b 45 28 mov rax, QWORD PTR _My_data$[rbp]
|
|
00054 48 83 c0 10 add rax, 16
|
|
00058 48 89 45 68 mov QWORD PTR _Mylast$[rbp], rax
|
|
|
|
; 771 :
|
|
; 772 : _STL_INTERNAL_CHECK(_Mylast == _My_data._Myend); // check that we have no unused capacity
|
|
; 773 :
|
|
; 774 : const auto _Whereoff = static_cast<size_type>(_Whereptr - _Myfirst);
|
|
|
|
0005c 48 8b 45 48 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
00060 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00063 48 8b 8d 58 02
|
|
00 00 mov rcx, QWORD PTR _Whereptr$[rbp]
|
|
0006a 48 2b c8 sub rcx, rax
|
|
0006d 48 8b c1 mov rax, rcx
|
|
00070 48 c1 f8 02 sar rax, 2
|
|
00074 48 89 85 88 00
|
|
00 00 mov QWORD PTR _Whereoff$[rbp], rax
|
|
|
|
; 775 : const auto _Oldsize = static_cast<size_type>(_Mylast - _Myfirst);
|
|
|
|
0007b 48 8b 45 68 mov rax, QWORD PTR _Mylast$[rbp]
|
|
0007f 48 8b 4d 48 mov rcx, QWORD PTR _Myfirst$[rbp]
|
|
00083 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00086 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00089 48 2b c1 sub rax, rcx
|
|
0008c 48 c1 f8 02 sar rax, 2
|
|
00090 48 89 85 a8 00
|
|
00 00 mov QWORD PTR _Oldsize$[rbp], rax
|
|
|
|
; 776 :
|
|
; 777 : if (_Oldsize == max_size()) {
|
|
|
|
00097 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0009e e8 00 00 00 00 call ?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::max_size
|
|
000a3 48 39 85 a8 00
|
|
00 00 cmp QWORD PTR _Oldsize$[rbp], rax
|
|
000aa 75 05 jne SHORT $LN2@Emplace_re
|
|
|
|
; 778 : _Xlength();
|
|
|
|
000ac e8 00 00 00 00 call ?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Xlength
|
|
$LN2@Emplace_re:
|
|
|
|
; 779 : }
|
|
; 780 :
|
|
; 781 : const size_type _Newsize = _Oldsize + 1;
|
|
|
|
000b1 48 8b 85 a8 00
|
|
00 00 mov rax, QWORD PTR _Oldsize$[rbp]
|
|
000b8 48 ff c0 inc rax
|
|
000bb 48 89 85 c8 00
|
|
00 00 mov QWORD PTR _Newsize$[rbp], rax
|
|
|
|
; 782 : const size_type _Newcapacity = _Calculate_growth(_Newsize);
|
|
|
|
000c2 48 8b 95 c8 00
|
|
00 00 mov rdx, QWORD PTR _Newsize$[rbp]
|
|
000c9 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000d0 e8 00 00 00 00 call ?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Calculate_growth
|
|
000d5 48 89 85 e8 00
|
|
00 00 mov QWORD PTR _Newcapacity$[rbp], rax
|
|
|
|
; 783 :
|
|
; 784 : const pointer _Newvec = _Al.allocate(_Newcapacity);
|
|
|
|
000dc 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _Newcapacity$[rbp]
|
|
000e3 48 8b 4d 08 mov rcx, QWORD PTR _Al$[rbp]
|
|
000e7 e8 00 00 00 00 call ?allocate@?$allocator@K@std@@QEAAPEAK_K@Z ; std::allocator<unsigned long>::allocate
|
|
000ec 48 89 85 08 01
|
|
00 00 mov QWORD PTR _Newvec$[rbp], rax
|
|
|
|
; 785 : const pointer _Constructed_last = _Newvec + _Whereoff + 1;
|
|
|
|
000f3 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
000fa 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Whereoff$[rbp]
|
|
00101 48 8d 44 88 04 lea rax, QWORD PTR [rax+rcx*4+4]
|
|
00106 48 89 85 28 01
|
|
00 00 mov QWORD PTR _Constructed_last$[rbp], rax
|
|
|
|
; 786 : pointer _Constructed_first = _Constructed_last;
|
|
|
|
0010d 48 8b 85 28 01
|
|
00 00 mov rax, QWORD PTR _Constructed_last$[rbp]
|
|
00114 48 89 85 48 01
|
|
00 00 mov QWORD PTR _Constructed_first$[rbp], rax
|
|
|
|
; 787 :
|
|
; 788 : _TRY_BEGIN
|
|
; 789 : _Alty_traits::construct(_Al, _Unfancy(_Newvec + _Whereoff), _STD forward<_Valty>(_Val)...);
|
|
|
|
0011b 48 8b 8d 60 02
|
|
00 00 mov rcx, QWORD PTR <_Val_0>$[rbp]
|
|
00122 e8 00 00 00 00 call ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
00127 48 89 85 18 02
|
|
00 00 mov QWORD PTR tv134[rbp], rax
|
|
0012e 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
00135 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Whereoff$[rbp]
|
|
0013c 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4]
|
|
00140 48 8b c8 mov rcx, rax
|
|
00143 e8 00 00 00 00 call ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
00148 48 89 85 20 02
|
|
00 00 mov QWORD PTR tv132[rbp], rax
|
|
0014f 4c 8b 85 18 02
|
|
00 00 mov r8, QWORD PTR tv134[rbp]
|
|
00156 48 8b 95 20 02
|
|
00 00 mov rdx, QWORD PTR tv132[rbp]
|
|
0015d 48 8b 4d 08 mov rcx, QWORD PTR _Al$[rbp]
|
|
00161 e8 00 00 00 00 call ??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long const &>
|
|
|
|
; 790 : _Constructed_first = _Newvec + _Whereoff;
|
|
|
|
00166 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
0016d 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Whereoff$[rbp]
|
|
00174 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4]
|
|
00178 48 89 85 48 01
|
|
00 00 mov QWORD PTR _Constructed_first$[rbp], rax
|
|
|
|
; 791 :
|
|
; 792 : if (_Whereptr == _Mylast) { // at back, provide strong guarantee
|
|
|
|
0017f 48 8b 45 68 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00183 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00186 48 39 85 58 02
|
|
00 00 cmp QWORD PTR _Whereptr$[rbp], rax
|
|
0018d 75 23 jne SHORT $LN4@Emplace_re
|
|
|
|
; 793 : _Umove_if_noexcept(_Myfirst, _Mylast, _Newvec);
|
|
|
|
0018f 4c 8b 8d 08 01
|
|
00 00 mov r9, QWORD PTR _Newvec$[rbp]
|
|
00196 48 8b 45 68 mov rax, QWORD PTR _Mylast$[rbp]
|
|
0019a 4c 8b 00 mov r8, QWORD PTR [rax]
|
|
0019d 48 8b 45 48 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
001a1 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
001a4 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
001ab e8 00 00 00 00 call ?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept
|
|
|
|
; 794 : } else { // provide basic guarantee
|
|
|
|
001b0 eb 60 jmp SHORT $LN5@Emplace_re
|
|
$LN4@Emplace_re:
|
|
|
|
; 795 : _Umove(_Myfirst, _Whereptr, _Newvec);
|
|
|
|
001b2 4c 8b 8d 08 01
|
|
00 00 mov r9, QWORD PTR _Newvec$[rbp]
|
|
001b9 4c 8b 85 58 02
|
|
00 00 mov r8, QWORD PTR _Whereptr$[rbp]
|
|
001c0 48 8b 45 48 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
001c4 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
001c7 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
001ce e8 00 00 00 00 call ?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove
|
|
|
|
; 796 : _Constructed_first = _Newvec;
|
|
|
|
001d3 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
001da 48 89 85 48 01
|
|
00 00 mov QWORD PTR _Constructed_first$[rbp], rax
|
|
|
|
; 797 : _Umove(_Whereptr, _Mylast, _Newvec + _Whereoff + 1);
|
|
|
|
001e1 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
001e8 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Whereoff$[rbp]
|
|
001ef 48 8d 44 88 04 lea rax, QWORD PTR [rax+rcx*4+4]
|
|
001f4 4c 8b c8 mov r9, rax
|
|
001f7 48 8b 45 68 mov rax, QWORD PTR _Mylast$[rbp]
|
|
001fb 4c 8b 00 mov r8, QWORD PTR [rax]
|
|
001fe 48 8b 95 58 02
|
|
00 00 mov rdx, QWORD PTR _Whereptr$[rbp]
|
|
00205 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0020c e8 00 00 00 00 call ?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove
|
|
00211 90 npad 1
|
|
$LN5@Emplace_re:
|
|
00212 eb 00 jmp SHORT $LN9@Emplace_re
|
|
$LN10@Emplace_re:
|
|
$LN9@Emplace_re:
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
; 801 : _Al.deallocate(_Newvec, _Newcapacity);
|
|
; 802 : _RERAISE;
|
|
; 803 : _CATCH_END
|
|
; 804 :
|
|
; 805 : _Change_array(_Newvec, _Newsize, _Newcapacity);
|
|
|
|
00214 4c 8b 8d e8 00
|
|
00 00 mov r9, QWORD PTR _Newcapacity$[rbp]
|
|
0021b 4c 8b 85 c8 00
|
|
00 00 mov r8, QWORD PTR _Newsize$[rbp]
|
|
00222 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Newvec$[rbp]
|
|
00229 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00230 e8 00 00 00 00 call ?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Change_array
|
|
|
|
; 806 : return _Newvec + _Whereoff;
|
|
|
|
00235 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
0023c 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR _Whereoff$[rbp]
|
|
00243 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4]
|
|
|
|
; 807 : }
|
|
|
|
00247 48 8d a5 38 02
|
|
00 00 lea rsp, QWORD PTR [rbp+568]
|
|
0024e 5f pop rdi
|
|
0024f 5d pop rbp
|
|
00250 c3 ret 0
|
|
$LN11@Emplace_re:
|
|
??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Al$ = 8
|
|
_My_data$ = 40
|
|
_Myfirst$ = 72
|
|
_Mylast$ = 104
|
|
_Whereoff$ = 136
|
|
_Oldsize$ = 168
|
|
_Newsize$ = 200
|
|
_Newcapacity$ = 232
|
|
_Newvec$ = 264
|
|
_Constructed_last$ = 296
|
|
_Constructed_first$ = 328
|
|
tv134 = 536
|
|
tv132 = 544
|
|
this$ = 592
|
|
_Whereptr$ = 600
|
|
<_Val_0>$ = 608
|
|
?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA PROC ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>'::`1'::catch$0
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
|
|
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]
|
|
__catch$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z$0:
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
|
|
00014 4c 8b 85 28 01
|
|
00 00 mov r8, QWORD PTR _Constructed_last$[rbp]
|
|
0001b 48 8b 95 48 01
|
|
00 00 mov rdx, QWORD PTR _Constructed_first$[rbp]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00029 e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
; 801 : _Al.deallocate(_Newvec, _Newcapacity);
|
|
|
|
0002e 4c 8b 85 e8 00
|
|
00 00 mov r8, QWORD PTR _Newcapacity$[rbp]
|
|
00035 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Newvec$[rbp]
|
|
0003c 48 8b 4d 08 mov rcx, QWORD PTR _Al$[rbp]
|
|
00040 e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
; 801 : _Al.deallocate(_Newvec, _Newcapacity);
|
|
; 802 : _RERAISE;
|
|
|
|
00045 33 d2 xor edx, edx
|
|
00047 33 c9 xor ecx, ecx
|
|
00049 e8 00 00 00 00 call _CxxThrowException
|
|
0004e 90 npad 1
|
|
|
|
; 798 : }
|
|
; 799 : _CATCH_ALL
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
; 801 : _Al.deallocate(_Newvec, _Newcapacity);
|
|
; 802 : _RERAISE;
|
|
; 803 : _CATCH_END
|
|
|
|
0004f 48 8d 05 00 00
|
|
00 00 lea rax, $LN10@catch$0
|
|
00056 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
0005a 5f pop rdi
|
|
0005b 5d pop rbp
|
|
0005c c3 ret 0
|
|
0005d cc int 3
|
|
?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA ENDP ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>'::`1'::catch$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Al$ = 8
|
|
_My_data$ = 40
|
|
_Myfirst$ = 72
|
|
_Mylast$ = 104
|
|
_Whereoff$ = 136
|
|
_Oldsize$ = 168
|
|
_Newsize$ = 200
|
|
_Newcapacity$ = 232
|
|
_Newvec$ = 264
|
|
_Constructed_last$ = 296
|
|
_Constructed_first$ = 328
|
|
tv134 = 536
|
|
tv132 = 544
|
|
this$ = 592
|
|
_Whereptr$ = 600
|
|
<_Val_0>$ = 608
|
|
?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA PROC ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>'::`1'::catch$0
|
|
|
|
; 799 : _CATCH_ALL
|
|
|
|
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]
|
|
__catch$??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z$0:
|
|
|
|
; 800 : _Destroy(_Constructed_first, _Constructed_last);
|
|
|
|
00014 4c 8b 85 28 01
|
|
00 00 mov r8, QWORD PTR _Constructed_last$[rbp]
|
|
0001b 48 8b 95 48 01
|
|
00 00 mov rdx, QWORD PTR _Constructed_first$[rbp]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00029 e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
|
|
|
|
; 801 : _Al.deallocate(_Newvec, _Newcapacity);
|
|
|
|
0002e 4c 8b 85 e8 00
|
|
00 00 mov r8, QWORD PTR _Newcapacity$[rbp]
|
|
00035 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Newvec$[rbp]
|
|
0003c 48 8b 4d 08 mov rcx, QWORD PTR _Al$[rbp]
|
|
00040 e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
|
|
|
|
; 802 : _RERAISE;
|
|
|
|
00045 33 d2 xor edx, edx
|
|
00047 33 c9 xor ecx, ecx
|
|
00049 e8 00 00 00 00 call _CxxThrowException
|
|
0004e 90 npad 1
|
|
|
|
; 803 : _CATCH_END
|
|
|
|
0004f 48 8d 05 00 00
|
|
00 00 lea rax, $LN10@catch$0
|
|
00056 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
0005a 5f pop rdi
|
|
0005b 5d pop rbp
|
|
0005c c3 ret 0
|
|
0005d cc int 3
|
|
?catch$0@?0???$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z@4HA ENDP ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>'::`1'::catch$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
|
|
; COMDAT ??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
__formal$ = 256
|
|
_Ptr$ = 264
|
|
<_Args_0>$ = 272
|
|
??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z PROC ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long const &>, COMDAT
|
|
|
|
; 707 : static _CONSTEXPR20_DYNALLOC void construct(_Alloc&, _Objty* const _Ptr, _Types&&... _Args) {
|
|
|
|
$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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
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
|
|
00029 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR _Ptr$[rbp]
|
|
00030 e8 00 00 00 00 call ??$_Voidify_iter@PEAK@std@@YAPEAXPEAK@Z ; std::_Voidify_iter<unsigned long *>
|
|
00035 48 8b d0 mov rdx, rax
|
|
00038 b9 04 00 00 00 mov ecx, 4
|
|
0003d e8 00 00 00 00 call ??2@YAPEAX_KPEAX@Z ; operator new
|
|
00042 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
00049 48 8b 8d 10 01
|
|
00 00 mov rcx, QWORD PTR <_Args_0>$[rbp]
|
|
00050 e8 00 00 00 00 call ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
00055 48 8b 8d c8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
0005c 8b 00 mov eax, DWORD PTR [rax]
|
|
0005e 89 01 mov DWORD PTR [rcx], eax
|
|
|
|
; 708 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 709 : if (_STD is_constant_evaluated()) {
|
|
; 710 : _STD construct_at(_Ptr, _STD forward<_Types>(_Args)...);
|
|
; 711 : } else
|
|
; 712 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 713 : {
|
|
; 714 : ::new (_Voidify_iter(_Ptr)) _Objty(_STD forward<_Types>(_Args)...);
|
|
; 715 : }
|
|
; 716 : }
|
|
|
|
00060 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00067 5f pop rdi
|
|
00068 5d pop rbp
|
|
00069 c3 ret 0
|
|
??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z ENDP ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long const &>
|
|
_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\xstddef
|
|
; COMDAT ??$_Unfancy@K@std@@YAPEAKPEAK@Z
|
|
_TEXT SEGMENT
|
|
_Ptr$ = 224
|
|
??$_Unfancy@K@std@@YAPEAKPEAK@Z PROC ; std::_Unfancy<unsigned long>, COMDAT
|
|
|
|
; 288 : _NODISCARD constexpr _Ty* _Unfancy(_Ty* _Ptr) noexcept { // do nothing for plain pointers
|
|
|
|
$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:__40B2458B_xstddef
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 289 : return _Ptr;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Ptr$[rbp]
|
|
|
|
; 290 : }
|
|
|
|
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
|
|
??$_Unfancy@K@std@@YAPEAKPEAK@Z ENDP ; std::_Unfancy<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\vector
|
|
; COMDAT ??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
_Mylast$ = 40
|
|
_Result$ = 72
|
|
tv81 = 280
|
|
tv79 = 288
|
|
tv77 = 296
|
|
this$ = 336
|
|
<_Val_0>$ = 344
|
|
??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_back_with_unused_capacity<unsigned long const &>, COMDAT
|
|
|
|
; 721 : _CONSTEXPR20_CONTAINER decltype(auto) _Emplace_back_with_unused_capacity(_Valty&&... _Val) {
|
|
|
|
$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 58 01
|
|
00 00 sub rsp, 344 ; 00000158H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 722 : // insert by perfectly forwarding into element at end, provide strong guarantee
|
|
; 723 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
00024 48 8b 85 50 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 724 : pointer& _Mylast = _My_data._Mylast;
|
|
|
|
0002f 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00033 48 83 c0 10 add rax, 16
|
|
00037 48 89 45 28 mov QWORD PTR _Mylast$[rbp], rax
|
|
|
|
; 725 : _STL_INTERNAL_CHECK(_Mylast != _My_data._Myend); // check that we have unused capacity
|
|
; 726 : _Alty_traits::construct(_Getal(), _Unfancy(_Mylast), _STD forward<_Valty>(_Val)...);
|
|
|
|
0003b 48 8b 8d 58 01
|
|
00 00 mov rcx, QWORD PTR <_Val_0>$[rbp]
|
|
00042 e8 00 00 00 00 call ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
00047 48 89 85 18 01
|
|
00 00 mov QWORD PTR tv81[rbp], rax
|
|
0004e 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00052 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
00055 e8 00 00 00 00 call ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
0005a 48 89 85 20 01
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
00061 48 8b 8d 50 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00068 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
|
|
0006d 48 89 85 28 01
|
|
00 00 mov QWORD PTR tv77[rbp], rax
|
|
00074 4c 8b 85 18 01
|
|
00 00 mov r8, QWORD PTR tv81[rbp]
|
|
0007b 48 8b 95 20 01
|
|
00 00 mov rdx, QWORD PTR tv79[rbp]
|
|
00082 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR tv77[rbp]
|
|
00089 e8 00 00 00 00 call ??$construct@KAEBK@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SAXAEAV?$allocator@K@1@QEAKAEBK@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::construct<unsigned long,unsigned long const &>
|
|
|
|
; 727 : _Orphan_range(_Mylast, _Mylast);
|
|
|
|
0008e 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00092 4c 8b 00 mov r8, QWORD PTR [rax]
|
|
00095 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00099 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
0009c 48 8b 8d 50 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000a3 e8 00 00 00 00 call ?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range
|
|
|
|
; 728 : _Ty& _Result = *_Mylast;
|
|
|
|
000a8 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
000ac 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000af 48 89 45 48 mov QWORD PTR _Result$[rbp], rax
|
|
|
|
; 729 : ++_Mylast;
|
|
|
|
000b3 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
000b7 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000ba 48 83 c0 04 add rax, 4
|
|
000be 48 8b 4d 28 mov rcx, QWORD PTR _Mylast$[rbp]
|
|
000c2 48 89 01 mov QWORD PTR [rcx], rax
|
|
|
|
; 730 : #if _HAS_CXX17
|
|
; 731 : return _Result;
|
|
|
|
000c5 48 8b 45 48 mov rax, QWORD PTR _Result$[rbp]
|
|
|
|
; 732 : #else // ^^^ _HAS_CXX17 ^^^ // vvv !_HAS_CXX17 vvv
|
|
; 733 : (void) _Result;
|
|
; 734 : #endif // _HAS_CXX17
|
|
; 735 : }
|
|
|
|
000c9 48 8d a5 38 01
|
|
00 00 lea rsp, QWORD PTR [rbp+312]
|
|
000d0 5f pop rdi
|
|
000d1 5d pop rbp
|
|
000d2 c3 ret 0
|
|
??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_back_with_unused_capacity<unsigned long const &>
|
|
_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\type_traits
|
|
; COMDAT ??$forward@AEBK@std@@YAAEBKAEBK@Z
|
|
_TEXT SEGMENT
|
|
_Arg$ = 224
|
|
??$forward@AEBK@std@@YAAEBKAEBK@Z PROC ; std::forward<unsigned long const &>, COMDAT
|
|
|
|
; 1443 : remove_reference_t<_Ty>& _Arg) noexcept { // forward an lvalue as either an lvalue or an rvalue
|
|
|
|
$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:__D1154D4E_type_traits
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1444 : return static_cast<_Ty&&>(_Arg);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Arg$[rbp]
|
|
|
|
; 1445 : }
|
|
|
|
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
|
|
??$forward@AEBK@std@@YAAEBKAEBK@Z ENDP ; std::forward<unsigned long const &>
|
|
_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 ??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
_Mylast$ = 40
|
|
_Result$ = 72
|
|
tv83 = 280
|
|
tv81 = 288
|
|
this$ = 336
|
|
<_Val_0>$ = 344
|
|
??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::emplace_back<unsigned long const &>, COMDAT
|
|
|
|
; 739 : _CONSTEXPR20_CONTAINER decltype(auto) emplace_back(_Valty&&... _Val) {
|
|
|
|
$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 58 01
|
|
00 00 sub rsp, 344 ; 00000158H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 740 : // insert by perfectly forwarding into element at end, provide strong guarantee
|
|
; 741 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
00024 48 8b 85 50 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 742 : pointer& _Mylast = _My_data._Mylast;
|
|
|
|
0002f 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00033 48 83 c0 10 add rax, 16
|
|
00037 48 89 45 28 mov QWORD PTR _Mylast$[rbp], rax
|
|
|
|
; 743 : if (_Mylast != _My_data._Myend) {
|
|
|
|
0003b 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
0003f 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00043 48 8b 49 18 mov rcx, QWORD PTR [rcx+24]
|
|
00047 48 39 08 cmp QWORD PTR [rax], rcx
|
|
0004a 74 1d je SHORT $LN2@emplace_ba
|
|
|
|
; 744 : return _Emplace_back_with_unused_capacity(_STD forward<_Valty>(_Val)...);
|
|
|
|
0004c 48 8b 8d 58 01
|
|
00 00 mov rcx, QWORD PTR <_Val_0>$[rbp]
|
|
00053 e8 00 00 00 00 call ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
00058 48 8b d0 mov rdx, rax
|
|
0005b 48 8b 8d 50 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00062 e8 00 00 00 00 call ??$_Emplace_back_with_unused_capacity@AEBK@?$vector@KV?$allocator@K@std@@@std@@AEAA?A_TAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_back_with_unused_capacity<unsigned long const &>
|
|
00067 eb 43 jmp SHORT $LN1@emplace_ba
|
|
$LN2@emplace_ba:
|
|
|
|
; 745 : }
|
|
; 746 :
|
|
; 747 : _Ty& _Result = *_Emplace_reallocate(_Mylast, _STD forward<_Valty>(_Val)...);
|
|
|
|
00069 48 8b 8d 58 01
|
|
00 00 mov rcx, QWORD PTR <_Val_0>$[rbp]
|
|
00070 e8 00 00 00 00 call ??$forward@AEBK@std@@YAAEBKAEBK@Z ; std::forward<unsigned long const &>
|
|
00075 48 89 85 18 01
|
|
00 00 mov QWORD PTR tv83[rbp], rax
|
|
0007c 48 8b 45 28 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00080 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00083 48 89 85 20 01
|
|
00 00 mov QWORD PTR tv81[rbp], rax
|
|
0008a 4c 8b 85 18 01
|
|
00 00 mov r8, QWORD PTR tv83[rbp]
|
|
00091 48 8b 95 20 01
|
|
00 00 mov rdx, QWORD PTR tv81[rbp]
|
|
00098 48 8b 8d 50 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0009f e8 00 00 00 00 call ??$_Emplace_reallocate@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKQEAKAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Emplace_reallocate<unsigned long const &>
|
|
000a4 48 89 45 48 mov QWORD PTR _Result$[rbp], rax
|
|
|
|
; 748 : #if _HAS_CXX17
|
|
; 749 : return _Result;
|
|
|
|
000a8 48 8b 45 48 mov rax, QWORD PTR _Result$[rbp]
|
|
$LN1@emplace_ba:
|
|
|
|
; 750 : #else // ^^^ _HAS_CXX17 ^^^ // vvv !_HAS_CXX17 vvv
|
|
; 751 : (void) _Result;
|
|
; 752 : #endif // _HAS_CXX17
|
|
; 753 : }
|
|
|
|
000ac 48 8d a5 38 01
|
|
00 00 lea rsp, QWORD PTR [rbp+312]
|
|
000b3 5f pop rdi
|
|
000b4 5d pop rbp
|
|
000b5 c3 ret 0
|
|
??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::emplace_back<unsigned long const &>
|
|
_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\xstddef
|
|
; COMDAT ??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z
|
|
_TEXT SEGMENT
|
|
_Val$ = 224
|
|
??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z PROC ; std::addressof<std::_Vector_val<std::_Simple_types<unsigned long> > >, COMDAT
|
|
|
|
; 274 : _NODISCARD constexpr _Ty* addressof(_Ty& _Val) 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:__40B2458B_xstddef
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 275 : return __builtin_addressof(_Val);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Val$[rbp]
|
|
|
|
; 276 : }
|
|
|
|
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
|
|
??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z ENDP ; std::addressof<std::_Vector_val<std::_Simple_types<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\ostream
|
|
; COMDAT ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z
|
|
_TEXT SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z PROC ; std::operator<<<std::char_traits<char> >, COMDAT
|
|
|
|
; 779 : basic_ostream<char, _Traits>& _Ostr, char _Ch) { // insert a char into char stream
|
|
|
|
$LN23:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec 58 02
|
|
00 00 sub rsp, 600 ; 00000258H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
|
0001c b9 5e 00 00 00 mov ecx, 94 ; 0000005eH
|
|
00021 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00026 f3 ab rep stosd
|
|
00028 48 8b 8c 24 78
|
|
02 00 00 mov rcx, QWORD PTR [rsp+632]
|
|
00030 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00037 48 33 c5 xor rax, rbp
|
|
0003a 48 89 85 20 02
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00041 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__65C59933_ostream
|
|
00048 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 780 : using _Elem = char;
|
|
; 781 : using _Myos = basic_ostream<_Elem, _Traits>;
|
|
; 782 :
|
|
; 783 : ios_base::iostate _State = ios_base::goodbit;
|
|
|
|
0004d c7 45 04 00 00
|
|
00 00 mov DWORD PTR _State$[rbp], 0
|
|
|
|
; 784 : const typename _Myos::sentry _Ok(_Ostr);
|
|
|
|
00054 48 8b 95 50 02
|
|
00 00 mov rdx, QWORD PTR _Ostr$[rbp]
|
|
0005b 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
0005f e8 00 00 00 00 call ??0sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@AEAV12@@Z ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
|
|
00064 90 npad 1
|
|
|
|
; 785 :
|
|
; 786 : if (_Ok) { // state okay, insert
|
|
|
|
00065 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00069 e8 00 00 00 00 call ??Bsentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEBA_NXZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
|
|
0006e 0f b6 c0 movzx eax, al
|
|
00071 85 c0 test eax, eax
|
|
00073 0f 84 1d 03 00
|
|
00 je $LN8@operator
|
|
|
|
; 787 : streamsize _Pad = _Ostr.width() <= 1 ? 0 : _Ostr.width() - 1;
|
|
|
|
00079 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00080 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00083 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00087 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0008e 48 03 c8 add rcx, rax
|
|
00091 48 8b c1 mov rax, rcx
|
|
00094 48 8b c8 mov rcx, rax
|
|
00097 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEBA_JXZ
|
|
0009d 48 83 f8 01 cmp rax, 1
|
|
000a1 7f 0d jg SHORT $LN15@operator
|
|
000a3 48 c7 85 08 02
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv130[rbp], 0
|
|
000ae eb 2e jmp SHORT $LN16@operator
|
|
$LN15@operator:
|
|
000b0 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000b7 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000ba 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000be 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000c5 48 03 c8 add rcx, rax
|
|
000c8 48 8b c1 mov rax, rcx
|
|
000cb 48 8b c8 mov rcx, rax
|
|
000ce ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEBA_JXZ
|
|
000d4 48 ff c8 dec rax
|
|
000d7 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
$LN16@operator:
|
|
000de 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv130[rbp]
|
|
000e5 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
|
|
; 788 :
|
|
; 789 : _TRY_IO_BEGIN
|
|
; 790 : if ((_Ostr.flags() & ios_base::adjustfield) != ios_base::left) {
|
|
|
|
000e9 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
000f0 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000f3 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
000f7 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
000fe 48 03 c8 add rcx, rax
|
|
00101 48 8b c1 mov rax, rcx
|
|
00104 48 8b c8 mov rcx, rax
|
|
00107 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?flags@ios_base@std@@QEBAHXZ
|
|
0010d 89 85 04 02 00
|
|
00 mov DWORD PTR tv65[rbp], eax
|
|
00113 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR tv65[rbp]
|
|
00119 25 c0 01 00 00 and eax, 448 ; 000001c0H
|
|
0011e 83 f8 40 cmp eax, 64 ; 00000040H
|
|
00121 0f 84 eb 00 00
|
|
00 je $LN10@operator
|
|
|
|
; 791 : for (; _State == ios_base::goodbit && 0 < _Pad; --_Pad) { // pad on left
|
|
|
|
00127 eb 0b jmp SHORT $LN4@operator
|
|
$LN2@operator:
|
|
00129 48 8b 45 58 mov rax, QWORD PTR _Pad$4[rbp]
|
|
0012d 48 ff c8 dec rax
|
|
00130 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
$LN4@operator:
|
|
00134 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
00138 0f 85 d4 00 00
|
|
00 jne $LN10@operator
|
|
0013e 48 83 7d 58 00 cmp QWORD PTR _Pad$4[rbp], 0
|
|
00143 0f 8e c9 00 00
|
|
00 jle $LN10@operator
|
|
|
|
; 792 : if (_Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ostr.fill()))) {
|
|
|
|
00149 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00150 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00153 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00157 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0015e 48 03 c8 add rcx, rax
|
|
00161 48 8b c1 mov rax, rcx
|
|
00164 48 8b c8 mov rcx, rax
|
|
00167 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
0016d 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv300[rbp], rax
|
|
00174 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv300[rbp]
|
|
0017b 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv179[rbp], rax
|
|
00182 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00189 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0018c 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00190 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00197 48 03 c8 add rcx, rax
|
|
0019a 48 8b c1 mov rax, rcx
|
|
0019d 48 8b c8 mov rcx, rax
|
|
001a0 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
|
|
001a6 88 85 18 02 00
|
|
00 mov BYTE PTR tv301[rbp], al
|
|
001ac 0f b6 85 18 02
|
|
00 00 movzx eax, BYTE PTR tv301[rbp]
|
|
001b3 88 85 19 02 00
|
|
00 mov BYTE PTR tv177[rbp], al
|
|
001b9 0f b6 95 19 02
|
|
00 00 movzx edx, BYTE PTR tv177[rbp]
|
|
001c0 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv179[rbp]
|
|
001c7 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
001cd 89 85 1c 02 00
|
|
00 mov DWORD PTR tv302[rbp], eax
|
|
001d3 8b 85 1c 02 00
|
|
00 mov eax, DWORD PTR tv302[rbp]
|
|
001d9 89 85 34 01 00
|
|
00 mov DWORD PTR $T5[rbp], eax
|
|
001df e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
001e4 89 85 54 01 00
|
|
00 mov DWORD PTR $T6[rbp], eax
|
|
001ea 48 8d 95 34 01
|
|
00 00 lea rdx, QWORD PTR $T5[rbp]
|
|
001f1 48 8d 8d 54 01
|
|
00 00 lea rcx, QWORD PTR $T6[rbp]
|
|
001f8 e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
001fd 0f b6 c0 movzx eax, al
|
|
00200 85 c0 test eax, eax
|
|
00202 74 09 je SHORT $LN11@operator
|
|
|
|
; 793 : _State |= ios_base::badbit;
|
|
|
|
00204 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
00207 83 c8 04 or eax, 4
|
|
0020a 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN11@operator:
|
|
|
|
; 794 : }
|
|
; 795 : }
|
|
|
|
0020d e9 17 ff ff ff jmp $LN2@operator
|
|
$LN10@operator:
|
|
|
|
; 796 : }
|
|
; 797 :
|
|
; 798 : if (_State == ios_base::goodbit && _Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ch))) {
|
|
|
|
00212 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
00216 0f 85 8d 00 00
|
|
00 jne $LN12@operator
|
|
0021c 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00223 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00226 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
0022a 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00231 48 03 c8 add rcx, rax
|
|
00234 48 8b c1 mov rax, rcx
|
|
00237 48 8b c8 mov rcx, rax
|
|
0023a ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
00240 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv303[rbp], rax
|
|
00247 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv303[rbp]
|
|
0024e 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv204[rbp], rax
|
|
00255 0f b6 95 58 02
|
|
00 00 movzx edx, BYTE PTR _Ch$[rbp]
|
|
0025c 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv204[rbp]
|
|
00263 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
00269 89 85 18 02 00
|
|
00 mov DWORD PTR tv304[rbp], eax
|
|
0026f 8b 85 18 02 00
|
|
00 mov eax, DWORD PTR tv304[rbp]
|
|
00275 89 85 74 01 00
|
|
00 mov DWORD PTR $T7[rbp], eax
|
|
0027b e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
00280 89 85 94 01 00
|
|
00 mov DWORD PTR $T8[rbp], eax
|
|
00286 48 8d 95 74 01
|
|
00 00 lea rdx, QWORD PTR $T7[rbp]
|
|
0028d 48 8d 8d 94 01
|
|
00 00 lea rcx, QWORD PTR $T8[rbp]
|
|
00294 e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
00299 0f b6 c0 movzx eax, al
|
|
0029c 85 c0 test eax, eax
|
|
0029e 74 09 je SHORT $LN12@operator
|
|
|
|
; 799 : _State |= ios_base::badbit;
|
|
|
|
002a0 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
002a3 83 c8 04 or eax, 4
|
|
002a6 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN12@operator:
|
|
|
|
; 800 : }
|
|
; 801 :
|
|
; 802 : for (; _State == ios_base::goodbit && 0 < _Pad; --_Pad) { // pad on right
|
|
|
|
002a9 eb 0b jmp SHORT $LN7@operator
|
|
$LN5@operator:
|
|
002ab 48 8b 45 58 mov rax, QWORD PTR _Pad$4[rbp]
|
|
002af 48 ff c8 dec rax
|
|
002b2 48 89 45 58 mov QWORD PTR _Pad$4[rbp], rax
|
|
$LN7@operator:
|
|
002b6 83 7d 04 00 cmp DWORD PTR _State$[rbp], 0
|
|
002ba 0f 85 d4 00 00
|
|
00 jne $LN6@operator
|
|
002c0 48 83 7d 58 00 cmp QWORD PTR _Pad$4[rbp], 0
|
|
002c5 0f 8e c9 00 00
|
|
00 jle $LN6@operator
|
|
|
|
; 803 : if (_Traits::eq_int_type(_Traits::eof(), _Ostr.rdbuf()->sputc(_Ostr.fill()))) {
|
|
|
|
002cb 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
002d2 48 8b 00 mov rax, QWORD PTR [rax]
|
|
002d5 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
002d9 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
002e0 48 03 c8 add rcx, rax
|
|
002e3 48 8b c1 mov rax, rcx
|
|
002e6 48 8b c8 mov rcx, rax
|
|
002e9 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ
|
|
002ef 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv305[rbp], rax
|
|
002f6 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR tv305[rbp]
|
|
002fd 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv245[rbp], rax
|
|
00304 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0030b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0030e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00312 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00319 48 03 c8 add rcx, rax
|
|
0031c 48 8b c1 mov rax, rcx
|
|
0031f 48 8b c8 mov rcx, rax
|
|
00322 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ
|
|
00328 88 85 18 02 00
|
|
00 mov BYTE PTR tv306[rbp], al
|
|
0032e 0f b6 85 18 02
|
|
00 00 movzx eax, BYTE PTR tv306[rbp]
|
|
00335 88 85 19 02 00
|
|
00 mov BYTE PTR tv243[rbp], al
|
|
0033b 0f b6 95 19 02
|
|
00 00 movzx edx, BYTE PTR tv243[rbp]
|
|
00342 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv245[rbp]
|
|
00349 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z
|
|
0034f 89 85 1c 02 00
|
|
00 mov DWORD PTR tv307[rbp], eax
|
|
00355 8b 85 1c 02 00
|
|
00 mov eax, DWORD PTR tv307[rbp]
|
|
0035b 89 85 b4 01 00
|
|
00 mov DWORD PTR $T9[rbp], eax
|
|
00361 e8 00 00 00 00 call ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ; std::_Narrow_char_traits<char,int>::eof
|
|
00366 89 85 d4 01 00
|
|
00 mov DWORD PTR $T10[rbp], eax
|
|
0036c 48 8d 95 b4 01
|
|
00 00 lea rdx, QWORD PTR $T9[rbp]
|
|
00373 48 8d 8d d4 01
|
|
00 00 lea rcx, QWORD PTR $T10[rbp]
|
|
0037a e8 00 00 00 00 call ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
0037f 0f b6 c0 movzx eax, al
|
|
00382 85 c0 test eax, eax
|
|
00384 74 09 je SHORT $LN13@operator
|
|
|
|
; 804 : _State |= ios_base::badbit;
|
|
|
|
00386 8b 45 04 mov eax, DWORD PTR _State$[rbp]
|
|
00389 83 c8 04 or eax, 4
|
|
0038c 89 45 04 mov DWORD PTR _State$[rbp], eax
|
|
$LN13@operator:
|
|
|
|
; 805 : }
|
|
; 806 : }
|
|
|
|
0038f e9 17 ff ff ff jmp $LN5@operator
|
|
$LN6@operator:
|
|
00394 eb 00 jmp SHORT $LN8@operator
|
|
$LN21@operator:
|
|
$LN8@operator:
|
|
|
|
; 807 : _CATCH_IO_(ios_base, _Ostr)
|
|
; 808 : }
|
|
; 809 :
|
|
; 810 : _Ostr.width(0);
|
|
|
|
00396 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0039d 48 8b 00 mov rax, QWORD PTR [rax]
|
|
003a0 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
003a4 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
003ab 48 03 c8 add rcx, rax
|
|
003ae 48 8b c1 mov rax, rcx
|
|
003b1 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv281[rbp], rax
|
|
003b8 33 d2 xor edx, edx
|
|
003ba 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv281[rbp]
|
|
003c1 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?width@ios_base@std@@QEAA_J_J@Z
|
|
|
|
; 811 : _Ostr.setstate(_State);
|
|
|
|
003c7 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
003ce 48 8b 00 mov rax, QWORD PTR [rax]
|
|
003d1 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
003d5 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
003dc 48 03 c8 add rcx, rax
|
|
003df 48 8b c1 mov rax, rcx
|
|
003e2 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv295[rbp], rax
|
|
003e9 45 33 c0 xor r8d, r8d
|
|
003ec 8b 55 04 mov edx, DWORD PTR _State$[rbp]
|
|
003ef 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv295[rbp]
|
|
003f6 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
|
|
; 812 : return _Ostr;
|
|
|
|
003fc 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
00403 48 89 85 f8 01
|
|
00 00 mov QWORD PTR $T11[rbp], rax
|
|
0040a 48 8d 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
0040e e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
00413 48 8b 85 f8 01
|
|
00 00 mov rax, QWORD PTR $T11[rbp]
|
|
|
|
; 813 : }
|
|
|
|
0041a 48 8b f8 mov rdi, rax
|
|
0041d 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
00421 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$rtcFrameData
|
|
00428 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0042d 48 8b c7 mov rax, rdi
|
|
00430 48 8b 8d 20 02
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00437 48 33 cd xor rcx, rbp
|
|
0043a e8 00 00 00 00 call __security_check_cookie
|
|
0043f 48 8d a5 38 02
|
|
00 00 lea rsp, QWORD PTR [rbp+568]
|
|
00446 5f pop rdi
|
|
00447 5d pop rbp
|
|
00448 c3 ret 0
|
|
??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ENDP ; std::operator<<<std::char_traits<char> >
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`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 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00018 e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
|
|
; 807 : _CATCH_IO_(ios_base, _Ostr)
|
|
|
|
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]
|
|
__catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
|
|
00014 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0001b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0001e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00029 48 03 c8 add rcx, rax
|
|
0002c 48 8b c1 mov rax, rcx
|
|
0002f 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv266[rbp], rax
|
|
00036 41 b0 01 mov r8b, 1
|
|
00039 ba 04 00 00 00 mov edx, 4
|
|
0003e 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv266[rbp]
|
|
00045 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
0004b 90 npad 1
|
|
0004c 48 8d 05 00 00
|
|
00 00 lea rax, $LN21@catch$1
|
|
00053 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00057 5f pop rdi
|
|
00058 5d pop rbp
|
|
00059 c3 ret 0
|
|
0005a cc int 3
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`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 4d 28 lea rcx, QWORD PTR _Ok$[rbp]
|
|
00018 e8 00 00 00 00 call ??1sentry@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@XZ ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
|
|
0001d 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00021 5f pop rdi
|
|
00022 5d pop rbp
|
|
00023 c3 ret 0
|
|
?dtor$0@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_State$ = 4
|
|
_Ok$ = 40
|
|
_Pad$4 = 88
|
|
$T5 = 308
|
|
$T6 = 340
|
|
$T7 = 372
|
|
$T8 = 404
|
|
$T9 = 436
|
|
$T10 = 468
|
|
$T11 = 504
|
|
tv65 = 516
|
|
tv305 = 520
|
|
tv303 = 520
|
|
tv300 = 520
|
|
tv295 = 520
|
|
tv281 = 520
|
|
tv266 = 520
|
|
tv130 = 520
|
|
tv245 = 528
|
|
tv204 = 528
|
|
tv179 = 528
|
|
tv306 = 536
|
|
tv304 = 536
|
|
tv301 = 536
|
|
tv243 = 537
|
|
tv177 = 537
|
|
tv307 = 540
|
|
tv302 = 540
|
|
__$ArrayPad$ = 544
|
|
_Ostr$ = 592
|
|
_Ch$ = 600
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
|
|
; 807 : _CATCH_IO_(ios_base, _Ostr)
|
|
|
|
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]
|
|
__catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
|
|
00014 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0001b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0001e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00022 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00029 48 03 c8 add rcx, rax
|
|
0002c 48 8b c1 mov rax, rcx
|
|
0002f 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv266[rbp], rax
|
|
00036 41 b0 01 mov r8b, 1
|
|
00039 ba 04 00 00 00 mov edx, 4
|
|
0003e 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR tv266[rbp]
|
|
00045 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z
|
|
0004b 90 npad 1
|
|
0004c 48 8d 05 00 00
|
|
00 00 lea rax, $LN21@catch$1
|
|
00053 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00057 5f pop rdi
|
|
00058 5d pop rbp
|
|
00059 c3 ret 0
|
|
0005a cc int 3
|
|
?catch$1@?0???$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z@4HA ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\iomanip
|
|
; COMDAT ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z
|
|
_TEXT SEGMENT
|
|
tv79 = 192
|
|
_Ostr$ = 240
|
|
_Manip$ = 248
|
|
??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z PROC ; std::operator<<<char,std::char_traits<char>,char>, COMDAT
|
|
|
|
; 49 : const _Fillobj<_Elem2>& _Manip) { // set fill character in output stream
|
|
|
|
$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 f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__FAD76A5B_iomanip
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 50 : static_assert(is_same_v<_Elem, _Elem2>, "wrong character type for setfill");
|
|
; 51 :
|
|
; 52 : _Ostr.fill(_Manip._Fill);
|
|
|
|
00024 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0002b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0002e 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00032 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
00039 48 03 c8 add rcx, rax
|
|
0003c 48 8b c1 mov rax, rcx
|
|
0003f 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
00046 48 8b 85 f8 00
|
|
00 00 mov rax, QWORD PTR _Manip$[rbp]
|
|
0004d 0f b6 10 movzx edx, BYTE PTR [rax]
|
|
00050 48 8b 8d c0 00
|
|
00 00 mov rcx, QWORD PTR tv79[rbp]
|
|
00057 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z
|
|
|
|
; 53 : return _Ostr;
|
|
|
|
0005d 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
|
|
; 54 : }
|
|
|
|
00064 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
0006b 5f pop rdi
|
|
0006c 5d pop rbp
|
|
0006d c3 ret 0
|
|
??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ENDP ; std::operator<<<char,std::char_traits<char>,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\iomanip
|
|
; COMDAT ??0?$_Fillobj@D@std@@QEAA@D@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Ch$ = 232
|
|
??0?$_Fillobj@D@std@@QEAA@D@Z PROC ; std::_Fillobj<char>::_Fillobj<char>, COMDAT
|
|
|
|
; 27 : _Fillobj(_Elem _Ch) : _Fill(_Ch) {}
|
|
|
|
$LN3:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
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 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__FAD76A5B_iomanip
|
|
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00023 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002a 0f b6 8d e8 00
|
|
00 00 movzx ecx, BYTE PTR _Ch$[rbp]
|
|
00031 88 08 mov BYTE PTR [rax], cl
|
|
00033 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00041 5f pop rdi
|
|
00042 5d pop rbp
|
|
00043 c3 ret 0
|
|
??0?$_Fillobj@D@std@@QEAA@D@Z ENDP ; std::_Fillobj<char>::_Fillobj<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\iomanip
|
|
; COMDAT ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z
|
|
_TEXT SEGMENT
|
|
__$ReturnUdt$ = 224
|
|
_Ch$ = 232
|
|
??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z PROC ; std::setfill<char>, COMDAT
|
|
|
|
; 34 : _NODISCARD _Fillobj<_Elem> setfill(_Elem _Ch) {
|
|
|
|
$LN3:
|
|
00000 88 54 24 10 mov BYTE PTR [rsp+16], dl
|
|
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 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__FAD76A5B_iomanip
|
|
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 35 : return _Fillobj<_Elem>(_Ch);
|
|
|
|
00023 0f b6 95 e8 00
|
|
00 00 movzx edx, BYTE PTR _Ch$[rbp]
|
|
0002a 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR __$ReturnUdt$[rbp]
|
|
00031 e8 00 00 00 00 call ??0?$_Fillobj@D@std@@QEAA@D@Z ; std::_Fillobj<char>::_Fillobj<char>
|
|
00036 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR __$ReturnUdt$[rbp]
|
|
|
|
; 36 : }
|
|
|
|
0003d 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00044 5f pop rdi
|
|
00045 5d pop rbp
|
|
00046 c3 ret 0
|
|
??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ENDP ; std::setfill<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\iomanip
|
|
; COMDAT ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z
|
|
_TEXT SEGMENT
|
|
tv79 = 192
|
|
_Ostr$ = 240
|
|
_Manip$ = 248
|
|
??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z PROC ; std::operator<<<char,std::char_traits<char>,__int64>, COMDAT
|
|
|
|
; 423 : const _Smanip<_Arg>& _Manip) { // insert by calling function with output stream and argument
|
|
|
|
$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 f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__FAD76A5B_iomanip
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 424 : (*_Manip._Pfun)(_Ostr, _Manip._Manarg);
|
|
|
|
00024 48 8b 85 f8 00
|
|
00 00 mov rax, QWORD PTR _Manip$[rbp]
|
|
0002b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0002e 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
00035 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
0003c 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003f 48 63 40 04 movsxd rax, DWORD PTR [rax+4]
|
|
00043 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _Ostr$[rbp]
|
|
0004a 48 03 c8 add rcx, rax
|
|
0004d 48 8b c1 mov rax, rcx
|
|
00050 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Manip$[rbp]
|
|
00057 48 8b 51 08 mov rdx, QWORD PTR [rcx+8]
|
|
0005b 48 8b c8 mov rcx, rax
|
|
0005e ff 95 c0 00 00
|
|
00 call QWORD PTR tv79[rbp]
|
|
|
|
; 425 : return _Ostr;
|
|
|
|
00064 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Ostr$[rbp]
|
|
|
|
; 426 : }
|
|
|
|
0006b 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00072 5f pop rdi
|
|
00073 5d pop rbp
|
|
00074 c3 ret 0
|
|
??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ENDP ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
_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\cmath
|
|
; COMDAT ??$log2@H$0A@@@YANH@Z
|
|
_TEXT SEGMENT
|
|
_Left$ = 224
|
|
??$log2@H$0A@@@YANH@Z PROC ; log2<int,0>, COMDAT
|
|
|
|
; 662 : _GENERIC_MATH1(log2)
|
|
|
|
$LN3:
|
|
00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
|
|
00004 55 push rbp
|
|
00005 57 push rdi
|
|
00006 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
0000d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00012 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__6D66DEAE_cmath
|
|
00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001e f2 0f 2a 85 e0
|
|
00 00 00 cvtsi2sd xmm0, DWORD PTR _Left$[rbp]
|
|
00026 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_log2
|
|
0002c 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00033 5f pop rdi
|
|
00034 5d pop rbp
|
|
00035 c3 ret 0
|
|
??$log2@H$0A@@@YANH@Z ENDP ; log2<int,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\xutility
|
|
; COMDAT ??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
$T2 = 228
|
|
tv79 = 248
|
|
tv77 = 256
|
|
__$ReturnUdt$ = 304
|
|
_First$ = 312
|
|
_Last$ = 320
|
|
_Val$ = 328
|
|
??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z PROC ; std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>, COMDAT
|
|
|
|
; 5340 : _NODISCARD _CONSTEXPR20 _InIt find(_InIt _First, const _InIt _Last, const _Ty& _Val) { // find first matching _Val
|
|
|
|
$LN7:
|
|
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 38 01
|
|
00 00 sub rsp, 312 ; 00000138H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 c7 85 e4 00 00
|
|
00 00 00 00 00 mov DWORD PTR $T2[rbp], 0
|
|
0002c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__7CE971A6_xutility
|
|
00033 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 5341 : _Adl_verify_range(_First, _Last);
|
|
|
|
00038 48 8b 95 40 01
|
|
00 00 mov rdx, QWORD PTR _Last$[rbp]
|
|
0003f 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00046 e8 00 00 00 00 call ??$_Adl_verify_range@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@V12@@std@@YAXAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@0@Z ; std::_Adl_verify_range<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > >
|
|
|
|
; 5342 : _Seek_wrapped(_First, _Find_unchecked(_Get_unwrapped(_First), _Get_unwrapped(_Last), _Val));
|
|
|
|
0004b 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
00052 e8 00 00 00 00 call ??$_Get_unwrapped@AEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEBV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > const &>
|
|
00057 48 89 85 f8 00
|
|
00 00 mov QWORD PTR tv79[rbp], rax
|
|
0005e 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00065 e8 00 00 00 00 call ??$_Get_unwrapped@AEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@@std@@YA?A_TAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@@Z ; std::_Get_unwrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > > &>
|
|
0006a 48 89 85 00 01
|
|
00 00 mov QWORD PTR tv77[rbp], rax
|
|
00071 4c 8b 85 48 01
|
|
00 00 mov r8, QWORD PTR _Val$[rbp]
|
|
00078 48 8b 95 f8 00
|
|
00 00 mov rdx, QWORD PTR tv79[rbp]
|
|
0007f 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR tv77[rbp]
|
|
00086 e8 00 00 00 00 call ??$_Find_unchecked@PEAKK@std@@YAPEAKQEAK0AEBK@Z ; std::_Find_unchecked<unsigned long *,unsigned long>
|
|
0008b 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
00092 48 8d 95 c8 00
|
|
00 00 lea rdx, QWORD PTR $T1[rbp]
|
|
00099 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
000a0 e8 00 00 00 00 call ??$_Seek_wrapped@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@PEAK@std@@YAXAEAV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@$$QEAPEAK@Z ; std::_Seek_wrapped<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long *>
|
|
|
|
; 5343 : return _First;
|
|
|
|
000a5 48 8b 95 38 01
|
|
00 00 mov rdx, QWORD PTR _First$[rbp]
|
|
000ac 48 8b 8d 30 01
|
|
00 00 mov rcx, QWORD PTR __$ReturnUdt$[rbp]
|
|
000b3 e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
000b8 8b 85 e4 00 00
|
|
00 mov eax, DWORD PTR $T2[rbp]
|
|
000be 83 c8 01 or eax, 1
|
|
000c1 89 85 e4 00 00
|
|
00 mov DWORD PTR $T2[rbp], eax
|
|
000c7 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
000ce e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
000d3 90 npad 1
|
|
000d4 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
000db e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
000e0 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR __$ReturnUdt$[rbp]
|
|
|
|
; 5344 : }
|
|
|
|
000e7 48 8d a5 18 01
|
|
00 00 lea rsp, QWORD PTR [rbp+280]
|
|
000ee 5f pop rdi
|
|
000ef 5d pop rbp
|
|
000f0 c3 ret 0
|
|
??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z ENDP ; std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
$T2 = 228
|
|
tv79 = 248
|
|
tv77 = 256
|
|
__$ReturnUdt$ = 304
|
|
_First$ = 312
|
|
_Last$ = 320
|
|
_Val$ = 328
|
|
?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA PROC ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`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 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
0001b e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@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???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA ENDP ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`1'::dtor$0
|
|
text$x ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
$T2 = 228
|
|
tv79 = 248
|
|
tv77 = 256
|
|
__$ReturnUdt$ = 304
|
|
_First$ = 312
|
|
_Last$ = 320
|
|
_Val$ = 328
|
|
?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA PROC ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`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 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
0001b e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@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???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA ENDP ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`1'::dtor$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
$T2 = 228
|
|
tv79 = 248
|
|
tv77 = 256
|
|
__$ReturnUdt$ = 304
|
|
_First$ = 312
|
|
_Last$ = 320
|
|
_Val$ = 328
|
|
?dtor$0@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA PROC ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`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 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
0001b e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@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???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA ENDP ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
$T2 = 228
|
|
tv79 = 248
|
|
tv77 = 256
|
|
__$ReturnUdt$ = 304
|
|
_First$ = 312
|
|
_Last$ = 320
|
|
_Val$ = 328
|
|
?dtor$1@?0???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA PROC ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`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 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
0001b e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@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???$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z@4HA ENDP ; `std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>'::`1'::dtor$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__param0$ = 232
|
|
__param1$ = 240
|
|
??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, 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 4c 8b 85 f0 00
|
|
00 00 mov r8, QWORD PTR __param1$[rbp]
|
|
00024 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR __param0$[rbp]
|
|
0002b 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00032 e8 00 00 00 00 call ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
00037 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__that$ = 232
|
|
??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, COMDAT
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR __that$[rbp]
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00032 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00039 5f pop rdi
|
|
0003a 5d pop rbp
|
|
0003b c3 ret 0
|
|
??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, 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 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001a e8 00 00 00 00 call ??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
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
|
|
??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_iterator<std::_Vector_val<std::_Simple_types<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\vector
|
|
; COMDAT ?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Unwrapped, COMDAT
|
|
|
|
; 335 : _NODISCARD _CONSTEXPR20_CONTAINER value_type* _Unwrapped() const 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
|
|
|
|
; 336 : return _Unfancy(this->_Ptr);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
|
|
0002a e8 00 00 00 00 call ??$_Unfancy@K@std@@YAPEAKPEAK@Z ; std::_Unfancy<unsigned long>
|
|
|
|
; 337 : }
|
|
|
|
0002f 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00036 5f pop rdi
|
|
00037 5d pop rbp
|
|
00038 c3 ret 0
|
|
?_Unwrapped@?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAPEAKXZ ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Unwrapped
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__that$ = 232
|
|
??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, COMDAT
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR __that$[rbp]
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ??0_Iterator_base12@std@@QEAA@AEBU01@@Z ; std::_Iterator_base12::_Iterator_base12
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00032 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR __that$[rbp]
|
|
00039 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
0003d 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
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
|
|
??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@AEBV01@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, 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 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001a e8 00 00 00 00 call ??1_Iterator_base12@std@@QEAA@XZ ; std::_Iterator_base12::~_Iterator_base12
|
|
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
|
|
??1?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::~_Vector_const_iterator<std::_Vector_val<std::_Simple_types<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\vector
|
|
; COMDAT ?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_It$ = 232
|
|
?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Seek_to, COMDAT
|
|
|
|
; 208 : _CONSTEXPR20_CONTAINER void _Seek_to(const value_type* _It) 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:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 209 : _Ptr = _Refancy<_Tptr>(const_cast<value_type*>(_It));
|
|
|
|
00024 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _It$[rbp]
|
|
0002b e8 00 00 00 00 call ??$_Refancy@PEAK$0A@@std@@YAPEAKPEAK@Z ; std::_Refancy<unsigned long *,0>
|
|
00030 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00037 48 89 41 10 mov QWORD PTR [rcx+16], rax
|
|
|
|
; 210 : }
|
|
|
|
0003b 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00042 5f pop rdi
|
|
00043 5d pop rbp
|
|
00044 c3 ret 0
|
|
?_Seek_to@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAAXPEBK@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Seek_to
|
|
_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 ?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
_First$ = 240
|
|
_Last$ = 248
|
|
?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z PROC ; std::_Verify_range, COMDAT
|
|
|
|
; 196 : const _Vector_const_iterator& _First, const _Vector_const_iterator& _Last) noexcept {
|
|
|
|
$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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
$LN4@Verify_ran:
|
|
|
|
; 197 : _STL_VERIFY(_First._Getcont() == _Last._Getcont(), "vector iterators in range are from different containers");
|
|
|
|
00024 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
0002b e8 00 00 00 00 call ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ; std::_Iterator_base12::_Getcont
|
|
00030 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv69[rbp], rax
|
|
00037 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
0003e e8 00 00 00 00 call ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ; std::_Iterator_base12::_Getcont
|
|
00043 48 8b 8d c0 00
|
|
00 00 mov rcx, QWORD PTR tv69[rbp]
|
|
0004a 48 3b c8 cmp rcx, rax
|
|
0004d 75 02 jne SHORT $LN7@Verify_ran
|
|
0004f eb 6b jmp SHORT $LN15@Verify_ran
|
|
$LN7@Verify_ran:
|
|
00051 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0DI@PBEELKIF@vector?5iterators?5in?5range?5are?5f@
|
|
00058 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
|
0005d 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
|
|
00064 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
00069 45 33 c9 xor r9d, r9d
|
|
0006c 41 b8 c5 00 00
|
|
00 mov r8d, 197 ; 000000c5H
|
|
00072 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0GH@IJJCCHP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00079 b9 02 00 00 00 mov ecx, 2
|
|
0007e ff 15 00 00 00
|
|
00 call QWORD PTR __imp__CrtDbgReport
|
|
00084 83 f8 01 cmp eax, 1
|
|
00087 75 03 jne SHORT $LN19@Verify_ran
|
|
00089 cc int 3
|
|
0008a 33 c0 xor eax, eax
|
|
$LN19@Verify_ran:
|
|
0008c 48 c7 44 24 20
|
|
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
|
00095 41 b9 c5 00 00
|
|
00 mov r9d, 197 ; 000000c5H
|
|
0009b 4c 8d 05 00 00
|
|
00 00 lea r8, OFFSET FLAT:??_C@_1MO@MBPFCBOF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
|
|
000a2 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@
|
|
000a9 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1HE@KBMFDAFB@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
000b0 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__invalid_parameter
|
|
000b6 33 c0 xor eax, eax
|
|
000b8 85 c0 test eax, eax
|
|
000ba 75 95 jne SHORT $LN7@Verify_ran
|
|
$LN15@Verify_ran:
|
|
000bc 33 c0 xor eax, eax
|
|
000be 85 c0 test eax, eax
|
|
000c0 0f 85 5e ff ff
|
|
ff jne $LN4@Verify_ran
|
|
$LN10@Verify_ran:
|
|
|
|
; 198 : _STL_VERIFY(_First._Ptr <= _Last._Ptr, "vector iterator range transposed");
|
|
|
|
000c6 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _First$[rbp]
|
|
000cd 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Last$[rbp]
|
|
000d4 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
000d8 48 39 48 10 cmp QWORD PTR [rax+16], rcx
|
|
000dc 77 02 ja SHORT $LN13@Verify_ran
|
|
000de eb 6b jmp SHORT $LN17@Verify_ran
|
|
$LN13@Verify_ran:
|
|
000e0 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0CB@LIAHLBAO@vector?5iterator?5range?5transpose@
|
|
000e7 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
|
000ec 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
|
|
000f3 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
000f8 45 33 c9 xor r9d, r9d
|
|
000fb 41 b8 c6 00 00
|
|
00 mov r8d, 198 ; 000000c6H
|
|
00101 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0GH@IJJCCHP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00108 b9 02 00 00 00 mov ecx, 2
|
|
0010d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__CrtDbgReport
|
|
00113 83 f8 01 cmp eax, 1
|
|
00116 75 03 jne SHORT $LN20@Verify_ran
|
|
00118 cc int 3
|
|
00119 33 c0 xor eax, eax
|
|
$LN20@Verify_ran:
|
|
0011b 48 c7 44 24 20
|
|
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
|
00124 41 b9 c6 00 00
|
|
00 mov r9d, 198 ; 000000c6H
|
|
0012a 4c 8d 05 00 00
|
|
00 00 lea r8, OFFSET FLAT:??_C@_1MO@MBPFCBOF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
|
|
00131 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1CG@LJCPDKEJ@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAr?$AAi?$AAf?$AAy?$AA_?$AAr?$AAa@
|
|
00138 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1EG@ODKBEHFN@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
0013f ff 15 00 00 00
|
|
00 call QWORD PTR __imp__invalid_parameter
|
|
00145 33 c0 xor eax, eax
|
|
00147 85 c0 test eax, eax
|
|
00149 75 95 jne SHORT $LN13@Verify_ran
|
|
$LN17@Verify_ran:
|
|
0014b 33 c0 xor eax, eax
|
|
0014d 85 c0 test eax, eax
|
|
0014f 0f 85 71 ff ff
|
|
ff jne $LN10@Verify_ran
|
|
|
|
; 199 : }
|
|
|
|
00155 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
0015c 5f pop rdi
|
|
0015d 5d pop rbp
|
|
0015e c3 ret 0
|
|
?_Verify_range@std@@YAXAEBV?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@1@0@Z ENDP ; std::_Verify_range
|
|
_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 ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
this$ = 240
|
|
_Right$ = 248
|
|
?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Compat, COMDAT
|
|
|
|
; 185 : _CONSTEXPR20_CONTAINER void _Compat(const _Vector_const_iterator& _Right) const noexcept {
|
|
|
|
$LN12:
|
|
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 30 lea rbp, QWORD PTR [rsp+48]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
$LN4@Compat:
|
|
|
|
; 186 : // test for compatible iterator pair
|
|
; 187 : #if _ITERATOR_DEBUG_LEVEL == 0
|
|
; 188 : (void) _Right;
|
|
; 189 : #else // ^^^ _ITERATOR_DEBUG_LEVEL == 0 ^^^ // vvv _ITERATOR_DEBUG_LEVEL != 0 vvv
|
|
; 190 : _STL_VERIFY(this->_Getcont() == _Right._Getcont(), "vector iterators incompatible");
|
|
|
|
00024 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002b e8 00 00 00 00 call ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ; std::_Iterator_base12::_Getcont
|
|
00030 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv69[rbp], rax
|
|
00037 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Right$[rbp]
|
|
0003e e8 00 00 00 00 call ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ; std::_Iterator_base12::_Getcont
|
|
00043 48 8b 8d c0 00
|
|
00 00 mov rcx, QWORD PTR tv69[rbp]
|
|
0004a 48 3b c8 cmp rcx, rax
|
|
0004d 75 02 jne SHORT $LN7@Compat
|
|
0004f eb 6b jmp SHORT $LN9@Compat
|
|
$LN7@Compat:
|
|
00051 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0BO@CAOBBIOC@vector?5iterators?5incompatible@
|
|
00058 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
|
0005d 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
|
|
00064 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
00069 45 33 c9 xor r9d, r9d
|
|
0006c 41 b8 be 00 00
|
|
00 mov r8d, 190 ; 000000beH
|
|
00072 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0GH@IJJCCHP@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00079 b9 02 00 00 00 mov ecx, 2
|
|
0007e ff 15 00 00 00
|
|
00 call QWORD PTR __imp__CrtDbgReport
|
|
00084 83 f8 01 cmp eax, 1
|
|
00087 75 03 jne SHORT $LN11@Compat
|
|
00089 cc int 3
|
|
0008a 33 c0 xor eax, eax
|
|
$LN11@Compat:
|
|
0008c 48 c7 44 24 20
|
|
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
|
00095 41 b9 be 00 00
|
|
00 mov r9d, 190 ; 000000beH
|
|
0009b 4c 8d 05 00 00
|
|
00 00 lea r8, OFFSET FLAT:??_C@_1MO@MBPFCBOF@?$AAC?$AA?3?$AA?2?$AAP?$AAr?$AAo?$AAg?$AAr?$AAa?$AAm?$AA?5?$AAF?$AAi?$AAl?$AAe@
|
|
000a2 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1NC@CDEGKPGM@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAV?$AAe?$AAc?$AAt?$AAo?$AAr?$AA_?$AAc?$AAo@
|
|
000a9 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1EA@DJDGNIII@?$AA?$CC?$AAv?$AAe?$AAc?$AAt?$AAo?$AAr?$AA?5?$AAi?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo@
|
|
000b0 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__invalid_parameter
|
|
000b6 33 c0 xor eax, eax
|
|
000b8 85 c0 test eax, eax
|
|
000ba 75 95 jne SHORT $LN7@Compat
|
|
$LN9@Compat:
|
|
000bc 33 c0 xor eax, eax
|
|
000be 85 c0 test eax, eax
|
|
000c0 0f 85 5e ff ff
|
|
ff jne $LN4@Compat
|
|
|
|
; 191 : #endif // _ITERATOR_DEBUG_LEVEL == 0
|
|
; 192 : }
|
|
|
|
000c6 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
000cd 5f pop rdi
|
|
000ce 5d pop rbp
|
|
000cf c3 ret 0
|
|
?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Compat
|
|
_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 ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
this$ = 240
|
|
_Right$ = 248
|
|
??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator!=, COMDAT
|
|
|
|
; 163 : _NODISCARD bool operator!=(const _Vector_const_iterator& _Right) const noexcept {
|
|
|
|
$LN5:
|
|
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 f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 164 : return !(*this == _Right);
|
|
|
|
00024 48 8b 95 f8 00
|
|
00 00 mov rdx, QWORD PTR _Right$[rbp]
|
|
0002b 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00032 e8 00 00 00 00 call ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator==
|
|
00037 0f b6 c0 movzx eax, al
|
|
0003a 85 c0 test eax, eax
|
|
0003c 75 0c jne SHORT $LN3@operator
|
|
0003e c7 85 c0 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv69[rbp], 1
|
|
00048 eb 0a jmp SHORT $LN4@operator
|
|
$LN3@operator:
|
|
0004a c7 85 c0 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv69[rbp], 0
|
|
$LN4@operator:
|
|
00054 0f b6 85 c0 00
|
|
00 00 movzx eax, BYTE PTR tv69[rbp]
|
|
|
|
; 165 : }
|
|
|
|
0005b 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00062 5f pop rdi
|
|
00063 5d pop rbp
|
|
00064 c3 ret 0
|
|
??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator!=
|
|
_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 ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
this$ = 240
|
|
_Right$ = 248
|
|
??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator==, COMDAT
|
|
|
|
; 152 : _NODISCARD _CONSTEXPR20_CONTAINER bool operator==(const _Vector_const_iterator& _Right) const noexcept {
|
|
|
|
$LN5:
|
|
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 f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 153 : _Compat(_Right);
|
|
|
|
00024 48 8b 95 f8 00
|
|
00 00 mov rdx, QWORD PTR _Right$[rbp]
|
|
0002b 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00032 e8 00 00 00 00 call ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBAXAEBV12@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Compat
|
|
|
|
; 154 : return _Ptr == _Right._Ptr;
|
|
|
|
00037 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003e 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Right$[rbp]
|
|
00045 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
00049 48 39 48 10 cmp QWORD PTR [rax+16], rcx
|
|
0004d 75 0c jne SHORT $LN3@operator
|
|
0004f c7 85 c0 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv69[rbp], 1
|
|
00059 eb 0a jmp SHORT $LN4@operator
|
|
$LN3@operator:
|
|
0005b c7 85 c0 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv69[rbp], 0
|
|
$LN4@operator:
|
|
00065 0f b6 85 c0 00
|
|
00 00 movzx eax, BYTE PTR tv69[rbp]
|
|
|
|
; 155 : }
|
|
|
|
0006c 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
00073 5f pop rdi
|
|
00074 5d pop rbp
|
|
00075 c3 ret 0
|
|
??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator==
|
|
_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 ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Parg$ = 232
|
|
_Pvector$ = 240
|
|
??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >, COMDAT
|
|
|
|
; 42 : _CONSTEXPR20_CONTAINER _Vector_const_iterator(_Tptr _Parg, const _Container_base* _Pvector) noexcept : _Ptr(_Parg) {
|
|
|
|
$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
|
|
00029 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00030 e8 00 00 00 00 call ??0_Iterator_base12@std@@QEAA@XZ ; std::_Iterator_base12::_Iterator_base12
|
|
00035 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003c 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Parg$[rbp]
|
|
00043 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 43 : this->_Adopt(_Pvector);
|
|
|
|
00047 48 8b 95 f0 00
|
|
00 00 mov rdx, QWORD PTR _Pvector$[rbp]
|
|
0004e 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00055 e8 00 00 00 00 call ?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z ; std::_Iterator_base12::_Adopt
|
|
|
|
; 44 : }
|
|
|
|
0005a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00061 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00068 5f pop rdi
|
|
00069 5d pop rbp
|
|
0006a c3 ret 0
|
|
??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
T$1 = 8
|
|
i$2 = 36
|
|
$T3 = 260
|
|
$T4 = 296
|
|
tv93 = 328
|
|
tv95 = 336
|
|
tv130 = 344
|
|
tv132 = 352
|
|
tv144 = 360
|
|
tv142 = 368
|
|
Block$ = 416
|
|
?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcPrintBlockCode, COMDAT
|
|
|
|
; 567 : {
|
|
|
|
$LN10:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec a8 01
|
|
00 00 sub rsp, 424 ; 000001a8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 568 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
0001f 48 8b 85 a0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00026 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00029 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
0002d eb 0b jmp SHORT $LN4@NcPrintBlo
|
|
$LN2@NcPrintBlo:
|
|
0002f 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00033 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00036 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcPrintBlo:
|
|
0003a 48 83 7d 08 00 cmp QWORD PTR T$1[rbp], 0
|
|
0003f 0f 84 03 01 00
|
|
00 je $LN3@NcPrintBlo
|
|
00045 48 8b 85 a0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0004c 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00050 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00053 48 39 45 08 cmp QWORD PTR T$1[rbp], rax
|
|
00057 0f 84 eb 00 00
|
|
00 je $LN3@NcPrintBlo
|
|
|
|
; 569 : {
|
|
; 570 : if (!(T->Flags & CODE_FLAG_IS_LABEL))
|
|
|
|
0005d 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00061 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00064 83 e0 01 and eax, 1
|
|
00067 85 c0 test eax, eax
|
|
00069 0f 85 d4 00 00
|
|
00 jne $LN8@NcPrintBlo
|
|
|
|
; 571 : {
|
|
; 572 : for (uint32_t i = 0; i < T->RawDataSize; i++)
|
|
|
|
0006f c7 45 24 00 00
|
|
00 00 mov DWORD PTR i$2[rbp], 0
|
|
00076 eb 08 jmp SHORT $LN7@NcPrintBlo
|
|
$LN5@NcPrintBlo:
|
|
00078 8b 45 24 mov eax, DWORD PTR i$2[rbp]
|
|
0007b ff c0 inc eax
|
|
0007d 89 45 24 mov DWORD PTR i$2[rbp], eax
|
|
$LN7@NcPrintBlo:
|
|
00080 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00084 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
00087 39 45 24 cmp DWORD PTR i$2[rbp], eax
|
|
0008a 0f 83 b3 00 00
|
|
00 jae $LN6@NcPrintBlo
|
|
|
|
; 573 : {
|
|
; 574 : std::cout << std::hex << std::setw(2) << std::setfill('0') << (int)T->RawData[i] << ' ';
|
|
|
|
00090 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?hex@std@@YAAEAVios_base@1@AEAV21@@Z ; std::hex
|
|
00097 48 8b 0d 00 00
|
|
00 00 mov rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
|
|
0009e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@P6AAEAVios_base@1@AEAV21@@Z@Z
|
|
000a4 48 89 85 48 01
|
|
00 00 mov QWORD PTR tv93[rbp], rax
|
|
000ab ba 02 00 00 00 mov edx, 2
|
|
000b0 48 8d 8d 28 01
|
|
00 00 lea rcx, QWORD PTR $T4[rbp]
|
|
000b7 e8 00 00 00 00 call ?setw@std@@YA?AU?$_Smanip@_J@1@_J@Z ; std::setw
|
|
000bc 48 89 85 50 01
|
|
00 00 mov QWORD PTR tv95[rbp], rax
|
|
000c3 48 8b 95 50 01
|
|
00 00 mov rdx, QWORD PTR tv95[rbp]
|
|
000ca 48 8b 8d 48 01
|
|
00 00 mov rcx, QWORD PTR tv93[rbp]
|
|
000d1 e8 00 00 00 00 call ??$?6DU?$char_traits@D@std@@_J@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Smanip@_J@0@@Z ; std::operator<<<char,std::char_traits<char>,__int64>
|
|
000d6 48 89 85 58 01
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
000dd b2 30 mov dl, 48 ; 00000030H
|
|
000df 48 8d 8d 04 01
|
|
00 00 lea rcx, QWORD PTR $T3[rbp]
|
|
000e6 e8 00 00 00 00 call ??$setfill@D@std@@YA?AU?$_Fillobj@D@0@D@Z ; std::setfill<char>
|
|
000eb 48 89 85 60 01
|
|
00 00 mov QWORD PTR tv132[rbp], rax
|
|
000f2 48 8b 95 60 01
|
|
00 00 mov rdx, QWORD PTR tv132[rbp]
|
|
000f9 48 8b 8d 58 01
|
|
00 00 mov rcx, QWORD PTR tv130[rbp]
|
|
00100 e8 00 00 00 00 call ??$?6DU?$char_traits@D@std@@D@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@AEBU?$_Fillobj@D@0@@Z ; std::operator<<<char,std::char_traits<char>,char>
|
|
00105 48 89 85 68 01
|
|
00 00 mov QWORD PTR tv144[rbp], rax
|
|
0010c 8b 45 24 mov eax, DWORD PTR i$2[rbp]
|
|
0010f 48 8b 4d 08 mov rcx, QWORD PTR T$1[rbp]
|
|
00113 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
00117 0f b6 04 01 movzx eax, BYTE PTR [rcx+rax]
|
|
0011b 89 85 70 01 00
|
|
00 mov DWORD PTR tv142[rbp], eax
|
|
00121 8b 95 70 01 00
|
|
00 mov edx, DWORD PTR tv142[rbp]
|
|
00127 48 8b 8d 68 01
|
|
00 00 mov rcx, QWORD PTR tv144[rbp]
|
|
0012e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z
|
|
00134 b2 20 mov dl, 32 ; 00000020H
|
|
00136 48 8b c8 mov rcx, rax
|
|
00139 e8 00 00 00 00 call ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z ; std::operator<<<std::char_traits<char> >
|
|
|
|
; 575 : }
|
|
|
|
0013e e9 35 ff ff ff jmp $LN5@NcPrintBlo
|
|
$LN6@NcPrintBlo:
|
|
$LN8@NcPrintBlo:
|
|
|
|
; 576 : }
|
|
; 577 : }
|
|
|
|
00143 e9 e7 fe ff ff jmp $LN2@NcPrintBlo
|
|
$LN3@NcPrintBlo:
|
|
|
|
; 578 : }
|
|
|
|
00148 48 8d a5 88 01
|
|
00 00 lea rsp, QWORD PTR [rbp+392]
|
|
0014f 5f pop rdi
|
|
00150 5d pop rbp
|
|
00151 c3 ret 0
|
|
?NcPrintBlockCode@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcPrintBlockCode
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
ConsoleHandle$ = 8
|
|
T$1 = 40
|
|
IClass$2 = 68
|
|
tv131 = 276
|
|
tv129 = 280
|
|
Block$ = 320
|
|
?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcDebugPrint, COMDAT
|
|
|
|
; 537 : {
|
|
|
|
$LN11:
|
|
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 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 538 : HANDLE ConsoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
|
|
|
0001f b9 f5 ff ff ff mov ecx, -11 ; fffffff5H
|
|
00024 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_GetStdHandle
|
|
0002a 48 89 45 08 mov QWORD PTR ConsoleHandle$[rbp], rax
|
|
|
|
; 539 : if (!ConsoleHandle)
|
|
|
|
0002e 48 83 7d 08 00 cmp QWORD PTR ConsoleHandle$[rbp], 0
|
|
00033 75 05 jne SHORT $LN5@NcDebugPri
|
|
|
|
; 540 : return;
|
|
|
|
00035 e9 03 01 00 00 jmp $LN1@NcDebugPri
|
|
$LN5@NcDebugPri:
|
|
|
|
; 541 :
|
|
; 542 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
0003a 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00041 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00044 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
00048 eb 0b jmp SHORT $LN4@NcDebugPri
|
|
$LN2@NcDebugPri:
|
|
0004a 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0004e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00051 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcDebugPri:
|
|
00055 48 83 7d 28 00 cmp QWORD PTR T$1[rbp], 0
|
|
0005a 0f 84 dd 00 00
|
|
00 je $LN3@NcDebugPri
|
|
00060 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00067 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
0006b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0006e 48 39 45 28 cmp QWORD PTR T$1[rbp], rax
|
|
00072 0f 84 c5 00 00
|
|
00 je $LN3@NcDebugPri
|
|
|
|
; 543 : {
|
|
; 544 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
00078 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0007c 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
0007f 83 e0 01 and eax, 1
|
|
00082 85 c0 test eax, eax
|
|
00084 74 26 je SHORT $LN6@NcDebugPri
|
|
|
|
; 545 : {
|
|
; 546 : SetConsoleTextAttribute(ConsoleHandle, FOREGROUND_GREEN | FOREGROUND_RED);
|
|
|
|
00086 66 ba 06 00 mov dx, 6
|
|
0008a 48 8b 4d 08 mov rcx, QWORD PTR ConsoleHandle$[rbp]
|
|
0008e ff 15 00 00 00
|
|
00 call QWORD PTR __imp_SetConsoleTextAttribute
|
|
|
|
; 547 : printf("Label: %u\n", T->Label);
|
|
|
|
00094 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
00098 8b 50 1c mov edx, DWORD PTR [rax+28]
|
|
0009b 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0L@ILJOJNOL@Label?3?5?$CFu?6@
|
|
000a2 e8 00 00 00 00 call printf
|
|
|
|
; 548 : }
|
|
|
|
000a7 e9 8c 00 00 00 jmp $LN7@NcDebugPri
|
|
$LN6@NcDebugPri:
|
|
|
|
; 549 : else
|
|
; 550 : {
|
|
; 551 : XED_ICLASS_ENUM IClass = XedDecodedInstGetIClass(&T->XedInstruction);
|
|
|
|
000ac 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
000b0 48 83 c0 30 add rax, 48 ; 00000030H
|
|
000b4 48 8b c8 mov rcx, rax
|
|
000b7 e8 00 00 00 00 call xed_decoded_inst_get_iclass
|
|
000bc 89 45 44 mov DWORD PTR IClass$2[rbp], eax
|
|
|
|
; 552 : if (T->Flags & CODE_FLAG_IS_REL_JMP)
|
|
|
|
000bf 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
000c3 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
000c6 83 e0 02 and eax, 2
|
|
000c9 85 c0 test eax, eax
|
|
000cb 74 46 je SHORT $LN8@NcDebugPri
|
|
|
|
; 553 : {
|
|
; 554 : SetConsoleTextAttribute(ConsoleHandle, FOREGROUND_GREEN | FOREGROUND_RED);
|
|
|
|
000cd 66 ba 06 00 mov dx, 6
|
|
000d1 48 8b 4d 08 mov rcx, QWORD PTR ConsoleHandle$[rbp]
|
|
000d5 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_SetConsoleTextAttribute
|
|
|
|
; 555 : printf("%s: %u\n", XedIClassEnumToString(IClass), T->Label);
|
|
|
|
000db 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
000df 8b 40 1c mov eax, DWORD PTR [rax+28]
|
|
000e2 89 85 14 01 00
|
|
00 mov DWORD PTR tv131[rbp], eax
|
|
000e8 8b 4d 44 mov ecx, DWORD PTR IClass$2[rbp]
|
|
000eb e8 00 00 00 00 call xed_iclass_enum_t2str
|
|
000f0 48 89 85 18 01
|
|
00 00 mov QWORD PTR tv129[rbp], rax
|
|
000f7 44 8b 85 14 01
|
|
00 00 mov r8d, DWORD PTR tv131[rbp]
|
|
000fe 48 8b 95 18 01
|
|
00 00 mov rdx, QWORD PTR tv129[rbp]
|
|
00105 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_07KNNCJAOA@?$CFs?3?5?$CFu?6@
|
|
0010c e8 00 00 00 00 call printf
|
|
|
|
; 556 : }
|
|
|
|
00111 eb 25 jmp SHORT $LN9@NcDebugPri
|
|
$LN8@NcDebugPri:
|
|
|
|
; 557 : else
|
|
; 558 : {
|
|
; 559 : SetConsoleTextAttribute(ConsoleHandle, FOREGROUND_GREEN | FOREGROUND_BLUE);
|
|
|
|
00113 66 ba 03 00 mov dx, 3
|
|
00117 48 8b 4d 08 mov rcx, QWORD PTR ConsoleHandle$[rbp]
|
|
0011b ff 15 00 00 00
|
|
00 call QWORD PTR __imp_SetConsoleTextAttribute
|
|
|
|
; 560 : printf("%s\n", XedIClassEnumToString(IClass));
|
|
|
|
00121 8b 4d 44 mov ecx, DWORD PTR IClass$2[rbp]
|
|
00124 e8 00 00 00 00 call xed_iclass_enum_t2str
|
|
00129 48 8b d0 mov rdx, rax
|
|
0012c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_03OFAPEBGM@?$CFs?6@
|
|
00133 e8 00 00 00 00 call printf
|
|
$LN9@NcDebugPri:
|
|
$LN7@NcDebugPri:
|
|
|
|
; 561 : }
|
|
; 562 : }
|
|
; 563 : }
|
|
|
|
00138 e9 0d ff ff ff jmp $LN2@NcDebugPri
|
|
$LN3@NcDebugPri:
|
|
$LN1@NcDebugPri:
|
|
|
|
; 564 : }
|
|
|
|
0013d 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
00144 5f pop rdi
|
|
00145 5d pop rbp
|
|
00146 c3 ret 0
|
|
?NcDebugPrint@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcDebugPrint
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
BlockEnding$ = 8
|
|
T$1 = 40
|
|
Next$2 = 72
|
|
$T3 = 296
|
|
tv78 = 312
|
|
Block$ = 352
|
|
?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcDeleteBlock, COMDAT
|
|
|
|
; 522 : {
|
|
|
|
$LN10:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 68 01
|
|
00 00 sub rsp, 360 ; 00000168H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 523 : if (!Block->Start || !Block->End)
|
|
|
|
0001f 48 8b 85 60 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00026 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
0002a 74 0e je SHORT $LN6@NcDeleteBl
|
|
0002c 48 8b 85 60 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00033 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00038 75 05 jne SHORT $LN5@NcDeleteBl
|
|
$LN6@NcDeleteBl:
|
|
|
|
; 524 : return;
|
|
|
|
0003a e9 80 00 00 00 jmp $LN1@NcDeleteBl
|
|
$LN5@NcDeleteBl:
|
|
|
|
; 525 :
|
|
; 526 : PNATIVE_CODE_LINK BlockEnding = Block->End->Next;
|
|
|
|
0003f 48 8b 85 60 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00046 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
0004a 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0004d 48 89 45 08 mov QWORD PTR BlockEnding$[rbp], rax
|
|
|
|
; 527 :
|
|
; 528 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != BlockEnding;)
|
|
|
|
00051 48 8b 85 60 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00058 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0005b 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
$LN2@NcDeleteBl:
|
|
0005f 48 83 7d 28 00 cmp QWORD PTR T$1[rbp], 0
|
|
00064 74 59 je SHORT $LN3@NcDeleteBl
|
|
00066 48 8b 45 08 mov rax, QWORD PTR BlockEnding$[rbp]
|
|
0006a 48 39 45 28 cmp QWORD PTR T$1[rbp], rax
|
|
0006e 74 4f je SHORT $LN3@NcDeleteBl
|
|
|
|
; 529 : {
|
|
; 530 : PNATIVE_CODE_LINK Next = T->Next;
|
|
|
|
00070 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
00074 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00077 48 89 45 48 mov QWORD PTR Next$2[rbp], rax
|
|
|
|
; 531 : delete T;
|
|
|
|
0007b 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0007f 48 89 85 28 01
|
|
00 00 mov QWORD PTR $T3[rbp], rax
|
|
00086 48 83 bd 28 01
|
|
00 00 00 cmp QWORD PTR $T3[rbp], 0
|
|
0008e 74 1a je SHORT $LN8@NcDeleteBl
|
|
00090 ba 01 00 00 00 mov edx, 1
|
|
00095 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR $T3[rbp]
|
|
0009c e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
|
|
000a1 48 89 85 38 01
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
000a8 eb 0b jmp SHORT $LN9@NcDeleteBl
|
|
$LN8@NcDeleteBl:
|
|
000aa 48 c7 85 38 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv78[rbp], 0
|
|
$LN9@NcDeleteBl:
|
|
|
|
; 532 : T = Next;
|
|
|
|
000b5 48 8b 45 48 mov rax, QWORD PTR Next$2[rbp]
|
|
000b9 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
|
|
; 533 : }
|
|
|
|
000bd eb a0 jmp SHORT $LN2@NcDeleteBl
|
|
$LN3@NcDeleteBl:
|
|
$LN1@NcDeleteBl:
|
|
|
|
; 534 : }
|
|
|
|
000bf 48 8d a5 48 01
|
|
00 00 lea rsp, QWORD PTR [rbp+328]
|
|
000c6 5f pop rdi
|
|
000c7 5d pop rbp
|
|
000c8 c3 ret 0
|
|
?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcDeleteBlock
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z
|
|
_TEXT SEGMENT
|
|
Buffer$ = 8
|
|
BufferOffset$ = 40
|
|
T$1 = 72
|
|
Block$ = 320
|
|
OutSize$ = 328
|
|
?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z PROC ; NcAssemble, COMDAT
|
|
|
|
; 497 : {
|
|
|
|
$LN9:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 48 01
|
|
00 00 sub rsp, 328 ; 00000148H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 498 : if (!NcFixRelJmps(Block))
|
|
|
|
00024 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
0002b e8 00 00 00 00 call ?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; NcFixRelJmps
|
|
00030 85 c0 test eax, eax
|
|
00032 75 07 jne SHORT $LN5@NcAssemble
|
|
|
|
; 499 : return NULL;
|
|
|
|
00034 33 c0 xor eax, eax
|
|
00036 e9 bc 00 00 00 jmp $LN1@NcAssemble
|
|
$LN5@NcAssemble:
|
|
|
|
; 500 :
|
|
; 501 : *OutSize = NcCalcBlockSize(Block);
|
|
|
|
0003b 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00042 e8 00 00 00 00 call ?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCalcBlockSize
|
|
00047 48 8b 8d 48 01
|
|
00 00 mov rcx, QWORD PTR OutSize$[rbp]
|
|
0004e 89 01 mov DWORD PTR [rcx], eax
|
|
|
|
; 502 :
|
|
; 503 : PUCHAR Buffer = (PUCHAR)malloc(*OutSize);
|
|
|
|
00050 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR OutSize$[rbp]
|
|
00057 8b 00 mov eax, DWORD PTR [rax]
|
|
00059 8b c8 mov ecx, eax
|
|
0005b ff 15 00 00 00
|
|
00 call QWORD PTR __imp_malloc
|
|
00061 48 89 45 08 mov QWORD PTR Buffer$[rbp], rax
|
|
|
|
; 504 : if (!Buffer)
|
|
|
|
00065 48 83 7d 08 00 cmp QWORD PTR Buffer$[rbp], 0
|
|
0006a 75 07 jne SHORT $LN6@NcAssemble
|
|
|
|
; 505 : return NULL;
|
|
|
|
0006c 33 c0 xor eax, eax
|
|
0006e e9 84 00 00 00 jmp $LN1@NcAssemble
|
|
$LN6@NcAssemble:
|
|
|
|
; 506 :
|
|
; 507 : PUCHAR BufferOffset = Buffer;
|
|
|
|
00073 48 8b 45 08 mov rax, QWORD PTR Buffer$[rbp]
|
|
00077 48 89 45 28 mov QWORD PTR BufferOffset$[rbp], rax
|
|
|
|
; 508 :
|
|
; 509 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
0007b 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00082 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00085 48 89 45 48 mov QWORD PTR T$1[rbp], rax
|
|
00089 eb 0b jmp SHORT $LN4@NcAssemble
|
|
$LN2@NcAssemble:
|
|
0008b 48 8b 45 48 mov rax, QWORD PTR T$1[rbp]
|
|
0008f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00092 48 89 45 48 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcAssemble:
|
|
00096 48 83 7d 48 00 cmp QWORD PTR T$1[rbp], 0
|
|
0009b 74 56 je SHORT $LN3@NcAssemble
|
|
0009d 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000a4 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
000a8 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000ab 48 39 45 48 cmp QWORD PTR T$1[rbp], rax
|
|
000af 74 42 je SHORT $LN3@NcAssemble
|
|
|
|
; 510 : {
|
|
; 511 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
000b1 48 8b 45 48 mov rax, QWORD PTR T$1[rbp]
|
|
000b5 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
000b8 83 e0 01 and eax, 1
|
|
000bb 85 c0 test eax, eax
|
|
000bd 74 02 je SHORT $LN7@NcAssemble
|
|
|
|
; 512 : continue;
|
|
|
|
000bf eb ca jmp SHORT $LN2@NcAssemble
|
|
$LN7@NcAssemble:
|
|
|
|
; 513 :
|
|
; 514 : RtlCopyMemory(BufferOffset, T->RawData, T->RawDataSize);
|
|
|
|
000c1 48 8b 45 48 mov rax, QWORD PTR T$1[rbp]
|
|
000c5 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
000c8 44 8b c0 mov r8d, eax
|
|
000cb 48 8b 45 48 mov rax, QWORD PTR T$1[rbp]
|
|
000cf 48 8b 50 20 mov rdx, QWORD PTR [rax+32]
|
|
000d3 48 8b 4d 28 mov rcx, QWORD PTR BufferOffset$[rbp]
|
|
000d7 e8 00 00 00 00 call memcpy
|
|
|
|
; 515 : BufferOffset += T->RawDataSize;
|
|
|
|
000dc 48 8b 45 48 mov rax, QWORD PTR T$1[rbp]
|
|
000e0 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
000e3 48 8b 4d 28 mov rcx, QWORD PTR BufferOffset$[rbp]
|
|
000e7 48 03 c8 add rcx, rax
|
|
000ea 48 8b c1 mov rax, rcx
|
|
000ed 48 89 45 28 mov QWORD PTR BufferOffset$[rbp], rax
|
|
|
|
; 516 : }
|
|
|
|
000f1 eb 98 jmp SHORT $LN2@NcAssemble
|
|
$LN3@NcAssemble:
|
|
|
|
; 517 :
|
|
; 518 : return Buffer;
|
|
|
|
000f3 48 8b 45 08 mov rax, QWORD PTR Buffer$[rbp]
|
|
$LN1@NcAssemble:
|
|
|
|
; 519 : }
|
|
|
|
000f7 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
000fe 5f pop rdi
|
|
000ff 5d pop rbp
|
|
00100 c3 ret 0
|
|
?NcAssemble@@YAPEAXPEAU_NATIVE_CODE_BLOCK@@PEAK@Z ENDP ; NcAssemble
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z
|
|
_TEXT SEGMENT
|
|
Buf$ = 8
|
|
Offset$ = 36
|
|
Link$1 = 72
|
|
PossibleSize$2 = 100
|
|
DecodeError$3 = 132
|
|
$T4 = 360
|
|
$T5 = 392
|
|
$T6 = 424
|
|
$T7 = 456
|
|
tv80 = 468
|
|
tv130 = 472
|
|
tv76 = 472
|
|
Block$ = 512
|
|
Buffer$ = 520
|
|
BufferSize$ = 528
|
|
?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z PROC ; NcDisassemble, COMDAT
|
|
|
|
; 465 : {
|
|
|
|
$LN13:
|
|
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 02
|
|
00 00 sub rsp, 520 ; 00000208H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 466 : PUCHAR Buf = (PUCHAR)Buffer;
|
|
|
|
00029 48 8b 85 08 02
|
|
00 00 mov rax, QWORD PTR Buffer$[rbp]
|
|
00030 48 89 45 08 mov QWORD PTR Buf$[rbp], rax
|
|
|
|
; 467 : ULONG Offset = 0;
|
|
|
|
00034 c7 45 24 00 00
|
|
00 00 mov DWORD PTR Offset$[rbp], 0
|
|
$LN2@NcDisassem:
|
|
|
|
; 468 :
|
|
; 469 : while (Offset < BufferSize)
|
|
|
|
0003b 8b 85 10 02 00
|
|
00 mov eax, DWORD PTR BufferSize$[rbp]
|
|
00041 39 45 24 cmp DWORD PTR Offset$[rbp], eax
|
|
00044 0f 83 b8 01 00
|
|
00 jae $LN3@NcDisassem
|
|
|
|
; 470 : {
|
|
; 471 : PNATIVE_CODE_LINK Link = new NATIVE_CODE_LINK;
|
|
|
|
0004a b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
0004f e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
00054 48 89 85 88 01
|
|
00 00 mov QWORD PTR $T5[rbp], rax
|
|
0005b 48 83 bd 88 01
|
|
00 00 00 cmp QWORD PTR $T5[rbp], 0
|
|
00063 74 15 je SHORT $LN6@NcDisassem
|
|
00065 48 8b 8d 88 01
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
0006c e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
00071 48 89 85 d8 01
|
|
00 00 mov QWORD PTR tv76[rbp], rax
|
|
00078 eb 0b jmp SHORT $LN7@NcDisassem
|
|
$LN6@NcDisassem:
|
|
0007a 48 c7 85 d8 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv76[rbp], 0
|
|
$LN7@NcDisassem:
|
|
00085 48 8b 85 d8 01
|
|
00 00 mov rax, QWORD PTR tv76[rbp]
|
|
0008c 48 89 85 68 01
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
00093 48 8b 85 68 01
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
0009a 48 89 45 48 mov QWORD PTR Link$1[rbp], rax
|
|
|
|
; 472 : Link->Flags = CODE_FLAG_IS_INST;
|
|
|
|
0009e 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
000a2 c7 40 18 04 00
|
|
00 00 mov DWORD PTR [rax+24], 4
|
|
|
|
; 473 : ULONG PossibleSize = min(15, BufferSize - Offset);
|
|
|
|
000a9 8b 45 24 mov eax, DWORD PTR Offset$[rbp]
|
|
000ac 8b 8d 10 02 00
|
|
00 mov ecx, DWORD PTR BufferSize$[rbp]
|
|
000b2 2b c8 sub ecx, eax
|
|
000b4 8b c1 mov eax, ecx
|
|
000b6 83 f8 0f cmp eax, 15
|
|
000b9 76 0c jbe SHORT $LN8@NcDisassem
|
|
000bb c7 85 d4 01 00
|
|
00 0f 00 00 00 mov DWORD PTR tv80[rbp], 15
|
|
000c5 eb 13 jmp SHORT $LN9@NcDisassem
|
|
$LN8@NcDisassem:
|
|
000c7 8b 45 24 mov eax, DWORD PTR Offset$[rbp]
|
|
000ca 8b 8d 10 02 00
|
|
00 mov ecx, DWORD PTR BufferSize$[rbp]
|
|
000d0 2b c8 sub ecx, eax
|
|
000d2 8b c1 mov eax, ecx
|
|
000d4 89 85 d4 01 00
|
|
00 mov DWORD PTR tv80[rbp], eax
|
|
$LN9@NcDisassem:
|
|
000da 8b 85 d4 01 00
|
|
00 mov eax, DWORD PTR tv80[rbp]
|
|
000e0 89 45 64 mov DWORD PTR PossibleSize$2[rbp], eax
|
|
|
|
; 474 : XED_ERROR_ENUM DecodeError = XedDecode(&Link->XedInstruction, (Buf + Offset), PossibleSize);
|
|
|
|
000e3 8b 45 24 mov eax, DWORD PTR Offset$[rbp]
|
|
000e6 48 8b 4d 08 mov rcx, QWORD PTR Buf$[rbp]
|
|
000ea 48 03 c8 add rcx, rax
|
|
000ed 48 8b c1 mov rax, rcx
|
|
000f0 48 8b 4d 48 mov rcx, QWORD PTR Link$1[rbp]
|
|
000f4 48 83 c1 30 add rcx, 48 ; 00000030H
|
|
000f8 44 8b 45 64 mov r8d, DWORD PTR PossibleSize$2[rbp]
|
|
000fc 48 8b d0 mov rdx, rax
|
|
000ff e8 00 00 00 00 call xed_decode
|
|
00104 89 85 84 00 00
|
|
00 mov DWORD PTR DecodeError$3[rbp], eax
|
|
|
|
; 475 : if (DecodeError != XED_ERROR_NONE)
|
|
|
|
0010a 83 bd 84 00 00
|
|
00 00 cmp DWORD PTR DecodeError$3[rbp], 0
|
|
00111 74 67 je SHORT $LN4@NcDisassem
|
|
|
|
; 476 : {
|
|
; 477 : printf("XedDecode failed with error %s\n", XedErrorEnumToString(DecodeError));
|
|
|
|
00113 8b 8d 84 00 00
|
|
00 mov ecx, DWORD PTR DecodeError$3[rbp]
|
|
00119 e8 00 00 00 00 call xed_error_enum_t2str
|
|
0011e 48 8b d0 mov rdx, rax
|
|
00121 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0CA@KDIENFLL@XedDecode?5failed?5with?5error?5?$CFs?6@
|
|
00128 e8 00 00 00 00 call printf
|
|
|
|
; 478 : NcDeleteBlock(Block);
|
|
|
|
0012d 48 8b 8d 00 02
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00134 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
|
|
|
|
; 479 : delete Link;
|
|
|
|
00139 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
0013d 48 89 85 a8 01
|
|
00 00 mov QWORD PTR $T6[rbp], rax
|
|
00144 48 83 bd a8 01
|
|
00 00 00 cmp QWORD PTR $T6[rbp], 0
|
|
0014c 74 1a je SHORT $LN10@NcDisassem
|
|
0014e ba 01 00 00 00 mov edx, 1
|
|
00153 48 8b 8d a8 01
|
|
00 00 mov rcx, QWORD PTR $T6[rbp]
|
|
0015a e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
|
|
0015f 48 89 85 d8 01
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
00166 eb 0b jmp SHORT $LN11@NcDisassem
|
|
$LN10@NcDisassem:
|
|
00168 48 c7 85 d8 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv130[rbp], 0
|
|
$LN11@NcDisassem:
|
|
|
|
; 480 : return FALSE;
|
|
|
|
00173 33 c0 xor eax, eax
|
|
00175 e9 99 00 00 00 jmp $LN1@NcDisassem
|
|
$LN4@NcDisassem:
|
|
|
|
; 481 : }
|
|
; 482 : Link->RawDataSize = XedDecodedInstGetLength(&Link->XedInstruction);
|
|
|
|
0017a 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
0017e 48 83 c0 30 add rax, 48 ; 00000030H
|
|
00182 48 8b c8 mov rcx, rax
|
|
00185 e8 00 00 00 00 call xed_decoded_inst_get_length
|
|
0018a 48 8b 4d 48 mov rcx, QWORD PTR Link$1[rbp]
|
|
0018e 89 41 28 mov DWORD PTR [rcx+40], eax
|
|
|
|
; 483 : Link->RawData = new UCHAR[Link->RawDataSize];
|
|
|
|
00191 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
00195 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
00198 8b c8 mov ecx, eax
|
|
0019a e8 00 00 00 00 call ??_U@YAPEAX_K@Z ; operator new[]
|
|
0019f 48 89 85 c8 01
|
|
00 00 mov QWORD PTR $T7[rbp], rax
|
|
001a6 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
001aa 48 8b 8d c8 01
|
|
00 00 mov rcx, QWORD PTR $T7[rbp]
|
|
001b1 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 484 : RtlCopyMemory(Link->RawData, (Buf + Offset), Link->RawDataSize);
|
|
|
|
001b5 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
001b9 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
001bc 8b 4d 24 mov ecx, DWORD PTR Offset$[rbp]
|
|
001bf 48 8b 55 08 mov rdx, QWORD PTR Buf$[rbp]
|
|
001c3 48 03 d1 add rdx, rcx
|
|
001c6 48 8b ca mov rcx, rdx
|
|
001c9 44 8b c0 mov r8d, eax
|
|
001cc 48 8b d1 mov rdx, rcx
|
|
001cf 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
001d3 48 8b 48 20 mov rcx, QWORD PTR [rax+32]
|
|
001d7 e8 00 00 00 00 call memcpy
|
|
|
|
; 485 :
|
|
; 486 : NcAppendToBlock(Block, Link);
|
|
|
|
001dc 48 8b 55 48 mov rdx, QWORD PTR Link$1[rbp]
|
|
001e0 48 8b 8d 00 02
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
001e7 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
; 487 :
|
|
; 488 : Offset += Link->RawDataSize;
|
|
|
|
001ec 48 8b 45 48 mov rax, QWORD PTR Link$1[rbp]
|
|
001f0 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
001f3 8b 4d 24 mov ecx, DWORD PTR Offset$[rbp]
|
|
001f6 03 c8 add ecx, eax
|
|
001f8 8b c1 mov eax, ecx
|
|
001fa 89 45 24 mov DWORD PTR Offset$[rbp], eax
|
|
|
|
; 489 : }
|
|
|
|
001fd e9 39 fe ff ff jmp $LN2@NcDisassem
|
|
$LN3@NcDisassem:
|
|
|
|
; 490 :
|
|
; 491 : NcCreateLabels(Block);
|
|
|
|
00202 48 8b 8d 00 02
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00209 e8 00 00 00 00 call ?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCreateLabels
|
|
|
|
; 492 :
|
|
; 493 : return TRUE;
|
|
|
|
0020e b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcDisassem:
|
|
|
|
; 494 : }
|
|
|
|
00213 48 8d a5 e8 01
|
|
00 00 lea rsp, QWORD PTR [rbp+488]
|
|
0021a 5f pop rdi
|
|
0021b 5d pop rbp
|
|
0021c c3 ret 0
|
|
?NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z ENDP ; NcDisassemble
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Buf$ = 8
|
|
Offset$ = 36
|
|
Link$1 = 72
|
|
PossibleSize$2 = 100
|
|
DecodeError$3 = 132
|
|
$T4 = 360
|
|
$T5 = 392
|
|
$T6 = 424
|
|
$T7 = 456
|
|
tv80 = 468
|
|
tv130 = 472
|
|
tv76 = 472
|
|
Block$ = 512
|
|
Buffer$ = 520
|
|
BufferSize$ = 528
|
|
?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA PROC ; `NcDisassemble'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 88 01
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA ENDP ; `NcDisassemble'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
Buf$ = 8
|
|
Offset$ = 36
|
|
Link$1 = 72
|
|
PossibleSize$2 = 100
|
|
DecodeError$3 = 132
|
|
$T4 = 360
|
|
$T5 = 392
|
|
$T6 = 424
|
|
$T7 = 456
|
|
tv80 = 468
|
|
tv130 = 472
|
|
tv76 = 472
|
|
Block$ = 512
|
|
Buffer$ = 520
|
|
BufferSize$ = 528
|
|
?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA PROC ; `NcDisassemble'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 88 01
|
|
00 00 mov rcx, QWORD PTR $T5[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcDisassemble@@YAHPEAU_NATIVE_CODE_BLOCK@@PEAXK@Z@4HA ENDP ; `NcDisassemble'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
T$9 = 8
|
|
BranchDisp$10 = 36
|
|
DispWidth$11 = 68
|
|
MachineState$12 = 104
|
|
EncoderInstruction$13 = 144
|
|
EncoderRequest$14 = 592
|
|
EncodeBuffer$15 = 808
|
|
ReturnedSize$16 = 852
|
|
IClass$17 = 884
|
|
$T18 = 1496
|
|
$T19 = 1576
|
|
$T20 = 1656
|
|
$T21 = 1688
|
|
$T22 = 1728
|
|
tv184 = 1780
|
|
__$ArrayPad$ = 1784
|
|
Block$ = 1824
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcFixRelJmps, COMDAT
|
|
|
|
; 385 : {
|
|
|
|
$LN21:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 56 push rsi
|
|
00007 57 push rdi
|
|
00008 48 81 ec 30 07
|
|
00 00 sub rsp, 1840 ; 00000730H
|
|
0000f 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00014 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
|
|
00019 b9 30 01 00 00 mov ecx, 304 ; 00000130H
|
|
0001e b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00023 f3 ab rep stosd
|
|
00025 48 8b 8c 24 58
|
|
07 00 00 mov rcx, QWORD PTR [rsp+1880]
|
|
0002d 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00034 48 33 c5 xor rax, rbp
|
|
00037 48 89 85 f8 06
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0003e 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00045 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 386 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next;)
|
|
|
|
0004a 48 8b 85 20 07
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00051 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00054 48 89 45 08 mov QWORD PTR T$9[rbp], rax
|
|
$LN2@NcFixRelJm:
|
|
00058 48 83 7d 08 00 cmp QWORD PTR T$9[rbp], 0
|
|
0005d 0f 84 1c 03 00
|
|
00 je $LN3@NcFixRelJm
|
|
00063 48 8b 85 20 07
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0006a 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
0006e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00071 48 39 45 08 cmp QWORD PTR T$9[rbp], rax
|
|
00075 0f 84 04 03 00
|
|
00 je $LN3@NcFixRelJm
|
|
|
|
; 387 : {
|
|
; 388 : if (T->Flags & CODE_FLAG_IS_REL_JMP)
|
|
|
|
0007b 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
0007f 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00082 83 e0 02 and eax, 2
|
|
00085 85 c0 test eax, eax
|
|
00087 0f 84 e2 02 00
|
|
00 je $LN7@NcFixRelJm
|
|
|
|
; 389 : {
|
|
; 390 : INT32 BranchDisp = 0;
|
|
|
|
0008d c7 45 24 00 00
|
|
00 00 mov DWORD PTR BranchDisp$10[rbp], 0
|
|
|
|
; 391 : if (!NcGetDeltaToLabel(T, &BranchDisp))
|
|
|
|
00094 48 8d 55 24 lea rdx, QWORD PTR BranchDisp$10[rbp]
|
|
00098 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
0009c e8 00 00 00 00 call ?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z ; NcGetDeltaToLabel
|
|
000a1 85 c0 test eax, eax
|
|
000a3 75 07 jne SHORT $LN8@NcFixRelJm
|
|
|
|
; 392 : return FALSE;
|
|
|
|
000a5 33 c0 xor eax, eax
|
|
000a7 e9 d8 02 00 00 jmp $LN1@NcFixRelJm
|
|
$LN8@NcFixRelJm:
|
|
|
|
; 393 :
|
|
; 394 : ULONG DispWidth = XedDecodedInstGetBranchDisplacementWidthBits(&T->XedInstruction);
|
|
|
|
000ac 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
000b0 48 83 c0 30 add rax, 48 ; 00000030H
|
|
000b4 48 8b c8 mov rcx, rax
|
|
000b7 e8 00 00 00 00 call xed_decoded_inst_get_branch_displacement_width_bits
|
|
000bc 89 45 44 mov DWORD PTR DispWidth$11[rbp], eax
|
|
|
|
; 395 : if (log2(abs(BranchDisp)) + 1 > DispWidth)
|
|
|
|
000bf 8b 4d 24 mov ecx, DWORD PTR BranchDisp$10[rbp]
|
|
000c2 e8 00 00 00 00 call abs
|
|
000c7 8b c8 mov ecx, eax
|
|
000c9 e8 00 00 00 00 call ??$log2@H$0A@@@YANH@Z ; log2<int,0>
|
|
000ce f2 0f 58 05 00
|
|
00 00 00 addsd xmm0, QWORD PTR __real@3ff0000000000000
|
|
000d6 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
|
|
000d9 f2 48 0f 2a c8 cvtsi2sd xmm1, rax
|
|
000de 66 0f 2f c1 comisd xmm0, xmm1
|
|
000e2 0f 86 f3 01 00
|
|
00 jbe $LN9@NcFixRelJm
|
|
|
|
; 396 : {
|
|
; 397 : //duh oh
|
|
; 398 : if (DispWidth == 32)
|
|
|
|
000e8 83 7d 44 20 cmp DWORD PTR DispWidth$11[rbp], 32 ; 00000020H
|
|
000ec 75 07 jne SHORT $LN11@NcFixRelJm
|
|
|
|
; 399 : return FALSE;
|
|
|
|
000ee 33 c0 xor eax, eax
|
|
000f0 e9 8f 02 00 00 jmp $LN1@NcFixRelJm
|
|
$LN11@NcFixRelJm:
|
|
|
|
; 400 :
|
|
; 401 : //Grow displacement width to required size
|
|
; 402 : DispWidth *= 2;
|
|
|
|
000f5 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
|
|
000f8 d1 e0 shl eax, 1
|
|
000fa 89 45 44 mov DWORD PTR DispWidth$11[rbp], eax
|
|
|
|
; 403 :
|
|
; 404 : //Check again
|
|
; 405 : if (log2(abs(BranchDisp)) + 1 > DispWidth)
|
|
|
|
000fd 8b 4d 24 mov ecx, DWORD PTR BranchDisp$10[rbp]
|
|
00100 e8 00 00 00 00 call abs
|
|
00105 8b c8 mov ecx, eax
|
|
00107 e8 00 00 00 00 call ??$log2@H$0A@@@YANH@Z ; log2<int,0>
|
|
0010c f2 0f 58 05 00
|
|
00 00 00 addsd xmm0, QWORD PTR __real@3ff0000000000000
|
|
00114 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
|
|
00117 f2 48 0f 2a c8 cvtsi2sd xmm1, rax
|
|
0011c 66 0f 2f c1 comisd xmm0, xmm1
|
|
00120 76 15 jbe SHORT $LN12@NcFixRelJm
|
|
|
|
; 406 : {
|
|
; 407 : if (DispWidth == 32)
|
|
|
|
00122 83 7d 44 20 cmp DWORD PTR DispWidth$11[rbp], 32 ; 00000020H
|
|
00126 75 07 jne SHORT $LN13@NcFixRelJm
|
|
|
|
; 408 : return FALSE;
|
|
|
|
00128 33 c0 xor eax, eax
|
|
0012a e9 55 02 00 00 jmp $LN1@NcFixRelJm
|
|
$LN13@NcFixRelJm:
|
|
|
|
; 409 :
|
|
; 410 : //Grow once more if not already at 32
|
|
; 411 : DispWidth *= 2;
|
|
|
|
0012f 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
|
|
00132 d1 e0 shl eax, 1
|
|
00134 89 45 44 mov DWORD PTR DispWidth$11[rbp], eax
|
|
$LN12@NcFixRelJm:
|
|
|
|
; 412 : }
|
|
; 413 :
|
|
; 414 : //Encode new instruction
|
|
; 415 : XED_STATE MachineState;
|
|
; 416 : MachineState.mmode = XED_MACHINE_MODE_LONG_64;
|
|
|
|
00137 c7 45 68 01 00
|
|
00 00 mov DWORD PTR MachineState$12[rbp], 1
|
|
|
|
; 417 : MachineState.stack_addr_width = XED_ADDRESS_WIDTH_64b;
|
|
|
|
0013e c7 45 6c 08 00
|
|
00 00 mov DWORD PTR MachineState$12[rbp+4], 8
|
|
|
|
; 418 : XED_ENCODER_INSTRUCTION EncoderInstruction;
|
|
; 419 : XED_ENCODER_REQUEST EncoderRequest;
|
|
; 420 : UCHAR EncodeBuffer[15];
|
|
; 421 : UINT ReturnedSize;
|
|
; 422 : XED_ICLASS_ENUM IClass = XedDecodedInstGetIClass(&T->XedInstruction);
|
|
|
|
00145 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00149 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0014d 48 8b c8 mov rcx, rax
|
|
00150 e8 00 00 00 00 call xed_decoded_inst_get_iclass
|
|
00155 89 85 74 03 00
|
|
00 mov DWORD PTR IClass$17[rbp], eax
|
|
|
|
; 423 :
|
|
; 424 : //Do the encoding
|
|
; 425 : XedInst1(&EncoderInstruction, MachineState, IClass, DispWidth, XedRelBr(0, DispWidth));
|
|
|
|
0015b 44 8b 45 44 mov r8d, DWORD PTR DispWidth$11[rbp]
|
|
0015f 33 d2 xor edx, edx
|
|
00161 48 8d 8d 28 06
|
|
00 00 lea rcx, QWORD PTR $T19[rbp]
|
|
00168 e8 00 00 00 00 call xed_relbr
|
|
0016d 48 8d 8d d8 05
|
|
00 00 lea rcx, QWORD PTR $T18[rbp]
|
|
00174 48 8b f9 mov rdi, rcx
|
|
00177 48 8b f0 mov rsi, rax
|
|
0017a b9 30 00 00 00 mov ecx, 48 ; 00000030H
|
|
0017f f3 a4 rep movsb
|
|
00181 48 8d 85 c0 06
|
|
00 00 lea rax, QWORD PTR $T22[rbp]
|
|
00188 48 8d 8d d8 05
|
|
00 00 lea rcx, QWORD PTR $T18[rbp]
|
|
0018f 48 8b f8 mov rdi, rax
|
|
00192 48 8b f1 mov rsi, rcx
|
|
00195 b9 30 00 00 00 mov ecx, 48 ; 00000030H
|
|
0019a f3 a4 rep movsb
|
|
0019c 48 8d 85 c0 06
|
|
00 00 lea rax, QWORD PTR $T22[rbp]
|
|
001a3 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
001a8 44 8b 4d 44 mov r9d, DWORD PTR DispWidth$11[rbp]
|
|
001ac 44 8b 85 74 03
|
|
00 00 mov r8d, DWORD PTR IClass$17[rbp]
|
|
001b3 48 8b 55 68 mov rdx, QWORD PTR MachineState$12[rbp]
|
|
001b7 48 8d 8d 90 00
|
|
00 00 lea rcx, QWORD PTR EncoderInstruction$13[rbp]
|
|
001be e8 00 00 00 00 call xed_inst1
|
|
|
|
; 426 : XedEncoderRequestZeroSetMode(&EncoderRequest, &MachineState);
|
|
|
|
001c3 48 8d 55 68 lea rdx, QWORD PTR MachineState$12[rbp]
|
|
001c7 48 8d 8d 50 02
|
|
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
|
|
001ce e8 00 00 00 00 call xed_encoder_request_zero_set_mode
|
|
|
|
; 427 : if (!XedConvertToEncoderRequest(&EncoderRequest, &EncoderInstruction))
|
|
|
|
001d3 48 8d 95 90 00
|
|
00 00 lea rdx, QWORD PTR EncoderInstruction$13[rbp]
|
|
001da 48 8d 8d 50 02
|
|
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
|
|
001e1 e8 00 00 00 00 call xed_convert_to_encoder_request
|
|
001e6 85 c0 test eax, eax
|
|
001e8 75 07 jne SHORT $LN14@NcFixRelJm
|
|
|
|
; 428 : return FALSE;
|
|
|
|
001ea 33 c0 xor eax, eax
|
|
001ec e9 93 01 00 00 jmp $LN1@NcFixRelJm
|
|
$LN14@NcFixRelJm:
|
|
|
|
; 429 : if (XED_ERROR_NONE != XedEncode(&EncoderRequest, EncodeBuffer, 15, &ReturnedSize))
|
|
|
|
001f1 4c 8d 8d 54 03
|
|
00 00 lea r9, QWORD PTR ReturnedSize$16[rbp]
|
|
001f8 41 b8 0f 00 00
|
|
00 mov r8d, 15
|
|
001fe 48 8d 95 28 03
|
|
00 00 lea rdx, QWORD PTR EncodeBuffer$15[rbp]
|
|
00205 48 8d 8d 50 02
|
|
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
|
|
0020c e8 00 00 00 00 call xed_encode
|
|
00211 85 c0 test eax, eax
|
|
00213 74 07 je SHORT $LN15@NcFixRelJm
|
|
|
|
; 430 : return FALSE;
|
|
|
|
00215 33 c0 xor eax, eax
|
|
00217 e9 68 01 00 00 jmp $LN1@NcFixRelJm
|
|
$LN15@NcFixRelJm:
|
|
|
|
; 431 :
|
|
; 432 : //fixup T->RawData
|
|
; 433 : delete[] T->RawData;
|
|
|
|
0021c 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00220 48 8b 40 20 mov rax, QWORD PTR [rax+32]
|
|
00224 48 89 85 78 06
|
|
00 00 mov QWORD PTR $T20[rbp], rax
|
|
0022b 48 8b 8d 78 06
|
|
00 00 mov rcx, QWORD PTR $T20[rbp]
|
|
00232 e8 00 00 00 00 call ??_V@YAXPEAX@Z ; operator delete[]
|
|
|
|
; 434 : T->RawDataSize = ReturnedSize;
|
|
|
|
00237 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
0023b 8b 8d 54 03 00
|
|
00 mov ecx, DWORD PTR ReturnedSize$16[rbp]
|
|
00241 89 48 28 mov DWORD PTR [rax+40], ecx
|
|
|
|
; 435 : T->RawData = new UCHAR[ReturnedSize];
|
|
|
|
00244 8b 85 54 03 00
|
|
00 mov eax, DWORD PTR ReturnedSize$16[rbp]
|
|
0024a 8b c8 mov ecx, eax
|
|
0024c e8 00 00 00 00 call ??_U@YAPEAX_K@Z ; operator new[]
|
|
00251 48 89 85 98 06
|
|
00 00 mov QWORD PTR $T21[rbp], rax
|
|
00258 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
0025c 48 8b 8d 98 06
|
|
00 00 mov rcx, QWORD PTR $T21[rbp]
|
|
00263 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 436 : RtlCopyMemory(T->RawData, EncodeBuffer, ReturnedSize);
|
|
|
|
00267 8b 85 54 03 00
|
|
00 mov eax, DWORD PTR ReturnedSize$16[rbp]
|
|
0026d 44 8b c0 mov r8d, eax
|
|
00270 48 8d 95 28 03
|
|
00 00 lea rdx, QWORD PTR EncodeBuffer$15[rbp]
|
|
00277 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
0027b 48 8b 48 20 mov rcx, QWORD PTR [rax+32]
|
|
0027f e8 00 00 00 00 call memcpy
|
|
|
|
; 437 :
|
|
; 438 : //Decode instruction so its proper and all that
|
|
; 439 : XedDecodedInstZeroSetMode(&T->XedInstruction, &MachineState);
|
|
|
|
00284 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00288 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0028c 48 8d 55 68 lea rdx, QWORD PTR MachineState$12[rbp]
|
|
00290 48 8b c8 mov rcx, rax
|
|
00293 e8 00 00 00 00 call xed_decoded_inst_zero_set_mode
|
|
|
|
; 440 : if (XED_ERROR_NONE != XedDecode(&T->XedInstruction, T->RawData, T->RawDataSize))
|
|
|
|
00298 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
0029c 48 83 c0 30 add rax, 48 ; 00000030H
|
|
002a0 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
002a4 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
002a8 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
002ac 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
002b0 48 8b c8 mov rcx, rax
|
|
002b3 e8 00 00 00 00 call xed_decode
|
|
002b8 85 c0 test eax, eax
|
|
002ba 74 07 je SHORT $LN16@NcFixRelJm
|
|
|
|
; 441 : return FALSE;
|
|
|
|
002bc 33 c0 xor eax, eax
|
|
002be e9 c1 00 00 00 jmp $LN1@NcFixRelJm
|
|
$LN16@NcFixRelJm:
|
|
|
|
; 442 :
|
|
; 443 : //Go back to the start and loop through all labels again because now this instruction is larger :))))
|
|
; 444 : T = Block->Start;
|
|
|
|
002c3 48 8b 85 20 07
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
002ca 48 8b 00 mov rax, QWORD PTR [rax]
|
|
002cd 48 89 45 08 mov QWORD PTR T$9[rbp], rax
|
|
|
|
; 445 : continue;
|
|
|
|
002d1 e9 82 fd ff ff jmp $LN2@NcFixRelJm
|
|
|
|
; 446 : }
|
|
|
|
002d6 e9 94 00 00 00 jmp $LN10@NcFixRelJm
|
|
$LN9@NcFixRelJm:
|
|
|
|
; 447 : else
|
|
; 448 : {
|
|
; 449 : DispWidth = XedDecodedInstGetBranchDisplacementWidth(&T->XedInstruction);
|
|
|
|
002db 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
002df 48 83 c0 30 add rax, 48 ; 00000030H
|
|
002e3 48 8b c8 mov rcx, rax
|
|
002e6 e8 00 00 00 00 call xed_decoded_inst_get_branch_displacement_width
|
|
002eb 89 45 44 mov DWORD PTR DispWidth$11[rbp], eax
|
|
|
|
; 450 : switch (DispWidth)
|
|
|
|
002ee 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
|
|
002f1 89 85 f4 06 00
|
|
00 mov DWORD PTR tv184[rbp], eax
|
|
002f7 83 bd f4 06 00
|
|
00 01 cmp DWORD PTR tv184[rbp], 1
|
|
002fe 74 14 je SHORT $LN17@NcFixRelJm
|
|
00300 83 bd f4 06 00
|
|
00 02 cmp DWORD PTR tv184[rbp], 2
|
|
00307 74 2a je SHORT $LN18@NcFixRelJm
|
|
00309 83 bd f4 06 00
|
|
00 04 cmp DWORD PTR tv184[rbp], 4
|
|
00310 74 41 je SHORT $LN19@NcFixRelJm
|
|
00312 eb 5b jmp SHORT $LN5@NcFixRelJm
|
|
$LN17@NcFixRelJm:
|
|
|
|
; 451 : {
|
|
; 452 : case 1: *(PINT8)&T->RawData[T->RawDataSize - DispWidth] = (INT8)BranchDisp; break;
|
|
|
|
00314 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00318 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
|
|
0031b 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
0031e 2b c1 sub eax, ecx
|
|
00320 8b c0 mov eax, eax
|
|
00322 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
00326 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
0032a 0f b6 55 24 movzx edx, BYTE PTR BranchDisp$10[rbp]
|
|
0032e 88 14 01 mov BYTE PTR [rcx+rax], dl
|
|
00331 eb 3c jmp SHORT $LN5@NcFixRelJm
|
|
$LN18@NcFixRelJm:
|
|
|
|
; 453 : case 2: *(PINT16)&T->RawData[T->RawDataSize - DispWidth] = (INT16)BranchDisp; break;
|
|
|
|
00333 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00337 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
|
|
0033a 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
0033d 2b c1 sub eax, ecx
|
|
0033f 8b c0 mov eax, eax
|
|
00341 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
00345 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
00349 0f b7 55 24 movzx edx, WORD PTR BranchDisp$10[rbp]
|
|
0034d 66 89 14 01 mov WORD PTR [rcx+rax], dx
|
|
00351 eb 1c jmp SHORT $LN5@NcFixRelJm
|
|
$LN19@NcFixRelJm:
|
|
|
|
; 454 : case 4: *(PINT32)&T->RawData[T->RawDataSize - DispWidth] = (INT32)BranchDisp; break;
|
|
|
|
00353 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00357 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
|
|
0035a 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
0035d 2b c1 sub eax, ecx
|
|
0035f 8b c0 mov eax, eax
|
|
00361 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
|
|
00365 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
|
|
00369 8b 55 24 mov edx, DWORD PTR BranchDisp$10[rbp]
|
|
0036c 89 14 01 mov DWORD PTR [rcx+rax], edx
|
|
$LN5@NcFixRelJm:
|
|
$LN10@NcFixRelJm:
|
|
$LN7@NcFixRelJm:
|
|
|
|
; 455 : }
|
|
; 456 : }
|
|
; 457 : }
|
|
; 458 :
|
|
; 459 : T = T->Next;
|
|
|
|
0036f 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
|
|
00373 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00376 48 89 45 08 mov QWORD PTR T$9[rbp], rax
|
|
|
|
; 460 : }
|
|
|
|
0037a e9 d9 fc ff ff jmp $LN2@NcFixRelJm
|
|
$LN3@NcFixRelJm:
|
|
|
|
; 461 : return TRUE;
|
|
|
|
0037f b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcFixRelJm:
|
|
|
|
; 462 : }
|
|
|
|
00384 48 8b f8 mov rdi, rax
|
|
00387 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
|
|
0038b 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
|
|
00392 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
00397 48 8b c7 mov rax, rdi
|
|
0039a 48 8b 8d f8 06
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
003a1 48 33 cd xor rcx, rbp
|
|
003a4 e8 00 00 00 00 call __security_check_cookie
|
|
003a9 48 8d a5 00 07
|
|
00 00 lea rsp, QWORD PTR [rbp+1792]
|
|
003b0 5f pop rdi
|
|
003b1 5e pop rsi
|
|
003b2 5d pop rbp
|
|
003b3 c3 ret 0
|
|
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcFixRelJmps
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z
|
|
_TEXT SEGMENT
|
|
Delta$ = 4
|
|
T$1 = 40
|
|
T$2 = 72
|
|
Link$ = 320
|
|
DeltaOut$ = 328
|
|
?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z PROC ; NcGetDeltaToLabel, COMDAT
|
|
|
|
; 349 : {
|
|
|
|
$LN13:
|
|
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 48 01
|
|
00 00 sub rsp, 328 ; 00000148H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 350 : INT32 Delta = 0;
|
|
|
|
00024 c7 45 04 00 00
|
|
00 00 mov DWORD PTR Delta$[rbp], 0
|
|
|
|
; 351 : //First checking backwards because I feel like thats the direction most jmps are in
|
|
; 352 : for (PNATIVE_CODE_LINK T = Link; T; T = T->Prev)
|
|
|
|
0002b 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00032 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
00036 eb 0c jmp SHORT $LN4@NcGetDelta
|
|
$LN2@NcGetDelta:
|
|
00038 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0003c 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00040 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcGetDelta:
|
|
00044 48 83 7d 28 00 cmp QWORD PTR T$1[rbp], 0
|
|
00049 74 4c je SHORT $LN3@NcGetDelta
|
|
|
|
; 353 : {
|
|
; 354 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
0004b 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0004f 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00052 83 e0 01 and eax, 1
|
|
00055 85 c0 test eax, eax
|
|
00057 74 2b je SHORT $LN8@NcGetDelta
|
|
|
|
; 355 : {
|
|
; 356 : if (T->Label == Link->Label)
|
|
|
|
00059 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0005d 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00064 8b 49 1c mov ecx, DWORD PTR [rcx+28]
|
|
00067 39 48 1c cmp DWORD PTR [rax+28], ecx
|
|
0006a 75 16 jne SHORT $LN9@NcGetDelta
|
|
|
|
; 357 : {
|
|
; 358 : *DeltaOut = Delta;
|
|
|
|
0006c 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR DeltaOut$[rbp]
|
|
00073 8b 4d 04 mov ecx, DWORD PTR Delta$[rbp]
|
|
00076 89 08 mov DWORD PTR [rax], ecx
|
|
|
|
; 359 : return TRUE;
|
|
|
|
00078 b8 01 00 00 00 mov eax, 1
|
|
0007d e9 89 00 00 00 jmp $LN1@NcGetDelta
|
|
$LN9@NcGetDelta:
|
|
|
|
; 360 : }
|
|
; 361 : continue;
|
|
|
|
00082 eb b4 jmp SHORT $LN2@NcGetDelta
|
|
$LN8@NcGetDelta:
|
|
|
|
; 362 : }
|
|
; 363 : Delta -= T->RawDataSize;
|
|
|
|
00084 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
00088 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
0008b 8b 4d 04 mov ecx, DWORD PTR Delta$[rbp]
|
|
0008e 2b c8 sub ecx, eax
|
|
00090 8b c1 mov eax, ecx
|
|
00092 89 45 04 mov DWORD PTR Delta$[rbp], eax
|
|
|
|
; 364 : }
|
|
|
|
00095 eb a1 jmp SHORT $LN2@NcGetDelta
|
|
$LN3@NcGetDelta:
|
|
|
|
; 365 :
|
|
; 366 : //Now check forwards
|
|
; 367 : Delta = 0;
|
|
|
|
00097 c7 45 04 00 00
|
|
00 00 mov DWORD PTR Delta$[rbp], 0
|
|
|
|
; 368 : for (PNATIVE_CODE_LINK T = Link->Next; T; T = T->Next)
|
|
|
|
0009e 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000a5 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000a8 48 89 45 48 mov QWORD PTR T$2[rbp], rax
|
|
000ac eb 0b jmp SHORT $LN7@NcGetDelta
|
|
$LN5@NcGetDelta:
|
|
000ae 48 8b 45 48 mov rax, QWORD PTR T$2[rbp]
|
|
000b2 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000b5 48 89 45 48 mov QWORD PTR T$2[rbp], rax
|
|
$LN7@NcGetDelta:
|
|
000b9 48 83 7d 48 00 cmp QWORD PTR T$2[rbp], 0
|
|
000be 74 49 je SHORT $LN6@NcGetDelta
|
|
|
|
; 369 : {
|
|
; 370 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
000c0 48 8b 45 48 mov rax, QWORD PTR T$2[rbp]
|
|
000c4 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
000c7 83 e0 01 and eax, 1
|
|
000ca 85 c0 test eax, eax
|
|
000cc 74 28 je SHORT $LN10@NcGetDelta
|
|
|
|
; 371 : {
|
|
; 372 : if (T->Label == Link->Label)
|
|
|
|
000ce 48 8b 45 48 mov rax, QWORD PTR T$2[rbp]
|
|
000d2 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000d9 8b 49 1c mov ecx, DWORD PTR [rcx+28]
|
|
000dc 39 48 1c cmp DWORD PTR [rax+28], ecx
|
|
000df 75 13 jne SHORT $LN11@NcGetDelta
|
|
|
|
; 373 : {
|
|
; 374 : *DeltaOut = Delta;
|
|
|
|
000e1 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR DeltaOut$[rbp]
|
|
000e8 8b 4d 04 mov ecx, DWORD PTR Delta$[rbp]
|
|
000eb 89 08 mov DWORD PTR [rax], ecx
|
|
|
|
; 375 : return TRUE;
|
|
|
|
000ed b8 01 00 00 00 mov eax, 1
|
|
000f2 eb 17 jmp SHORT $LN1@NcGetDelta
|
|
$LN11@NcGetDelta:
|
|
|
|
; 376 : }
|
|
; 377 : continue;
|
|
|
|
000f4 eb b8 jmp SHORT $LN5@NcGetDelta
|
|
$LN10@NcGetDelta:
|
|
|
|
; 378 : }
|
|
; 379 : Delta += T->RawDataSize;
|
|
|
|
000f6 48 8b 45 48 mov rax, QWORD PTR T$2[rbp]
|
|
000fa 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
000fd 8b 4d 04 mov ecx, DWORD PTR Delta$[rbp]
|
|
00100 03 c8 add ecx, eax
|
|
00102 8b c1 mov eax, ecx
|
|
00104 89 45 04 mov DWORD PTR Delta$[rbp], eax
|
|
|
|
; 380 : }
|
|
|
|
00107 eb a5 jmp SHORT $LN5@NcGetDelta
|
|
$LN6@NcGetDelta:
|
|
|
|
; 381 : return FALSE;
|
|
|
|
00109 33 c0 xor eax, eax
|
|
$LN1@NcGetDelta:
|
|
|
|
; 382 : }
|
|
|
|
0010b 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
00112 5f pop rdi
|
|
00113 5d pop rbp
|
|
00114 c3 ret 0
|
|
?NcGetDeltaToLabel@@YAHPEAU_NATIVE_CODE_LINK@@PEAH@Z ENDP ; NcGetDeltaToLabel
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z
|
|
_TEXT SEGMENT
|
|
Block$ = 224
|
|
BlockCopy$ = 232
|
|
?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z PROC ; NcDeepCopyBlock, COMDAT
|
|
|
|
; 344 : {
|
|
|
|
$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:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 345 : return NcDeepCopyPartialBlock(Block->Start, Block->End, BlockCopy);
|
|
|
|
00024 4c 8b 85 e8 00
|
|
00 00 mov r8, QWORD PTR BlockCopy$[rbp]
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00032 48 8b 50 08 mov rdx, QWORD PTR [rax+8]
|
|
00036 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0003d 48 8b 08 mov rcx, QWORD PTR [rax]
|
|
00040 e8 00 00 00 00 call ?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeepCopyPartialBlock
|
|
|
|
; 346 : }
|
|
|
|
00045 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0004c 5f pop rdi
|
|
0004d 5d pop rbp
|
|
0004e c3 ret 0
|
|
?NcDeepCopyBlock@@YAHPEAU_NATIVE_CODE_BLOCK@@0@Z ENDP ; NcDeepCopyBlock
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
<range>$L0$4 = 8
|
|
<begin>$L0$5 = 40
|
|
<end>$L0$6 = 72
|
|
L$7 = 100
|
|
CurLink$8 = 136
|
|
Temp$9 = 168
|
|
tv88 = 376
|
|
__$ArrayPad$ = 384
|
|
Start$ = 432
|
|
End$ = 440
|
|
Block$ = 448
|
|
?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcDeepCopyPartialBlock, COMDAT
|
|
|
|
; 319 : {
|
|
|
|
$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 b8 01
|
|
00 00 sub rsp, 440 ; 000001b8H
|
|
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 36 00 00 00 mov ecx, 54 ; 00000036H
|
|
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002c f3 ab rep stosd
|
|
0002e 48 8b 8c 24 d8
|
|
01 00 00 mov rcx, QWORD PTR [rsp+472]
|
|
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 80 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00047 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 320 : if (!Start || !End || !Start->Block || Start->Block != End->Block || !Block)
|
|
|
|
00053 48 83 bd b0 01
|
|
00 00 00 cmp QWORD PTR Start$[rbp], 0
|
|
0005b 74 3a je SHORT $LN9@NcDeepCopy
|
|
0005d 48 83 bd b8 01
|
|
00 00 00 cmp QWORD PTR End$[rbp], 0
|
|
00065 74 30 je SHORT $LN9@NcDeepCopy
|
|
00067 48 8b 85 b0 01
|
|
00 00 mov rax, QWORD PTR Start$[rbp]
|
|
0006e 48 83 78 10 00 cmp QWORD PTR [rax+16], 0
|
|
00073 74 22 je SHORT $LN9@NcDeepCopy
|
|
00075 48 8b 85 b0 01
|
|
00 00 mov rax, QWORD PTR Start$[rbp]
|
|
0007c 48 8b 8d b8 01
|
|
00 00 mov rcx, QWORD PTR End$[rbp]
|
|
00083 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
00087 48 39 48 10 cmp QWORD PTR [rax+16], rcx
|
|
0008b 75 0a jne SHORT $LN9@NcDeepCopy
|
|
0008d 48 83 bd c0 01
|
|
00 00 00 cmp QWORD PTR Block$[rbp], 0
|
|
00095 75 07 jne SHORT $LN8@NcDeepCopy
|
|
$LN9@NcDeepCopy:
|
|
|
|
; 321 : return FALSE;
|
|
|
|
00097 33 c0 xor eax, eax
|
|
00099 e9 27 01 00 00 jmp $LN1@NcDeepCopy
|
|
$LN8@NcDeepCopy:
|
|
|
|
; 322 :
|
|
; 323 : Block->LabelIds.clear();
|
|
|
|
0009e 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000a5 48 83 c0 10 add rax, 16
|
|
000a9 48 8b c8 mov rcx, rax
|
|
000ac e8 00 00 00 00 call ?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::clear
|
|
|
|
; 324 : Block->Start = Block->End = NULL;
|
|
|
|
000b1 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000b8 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
000c0 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000c7 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 325 :
|
|
; 326 : for (ULONG L : Start->Block->LabelIds)
|
|
|
|
000ce 48 8b 85 b0 01
|
|
00 00 mov rax, QWORD PTR Start$[rbp]
|
|
000d5 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
000d9 48 83 c0 10 add rax, 16
|
|
000dd 48 89 45 08 mov QWORD PTR <range>$L0$4[rbp], rax
|
|
000e1 48 8b 4d 08 mov rcx, QWORD PTR <range>$L0$4[rbp]
|
|
000e5 e8 00 00 00 00 call ?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_begin
|
|
000ea 48 89 45 28 mov QWORD PTR <begin>$L0$5[rbp], rax
|
|
000ee 48 8b 4d 08 mov rcx, QWORD PTR <range>$L0$4[rbp]
|
|
000f2 e8 00 00 00 00 call ?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_end
|
|
000f7 48 89 45 48 mov QWORD PTR <end>$L0$6[rbp], rax
|
|
000fb eb 0c jmp SHORT $LN4@NcDeepCopy
|
|
$LN2@NcDeepCopy:
|
|
000fd 48 8b 45 28 mov rax, QWORD PTR <begin>$L0$5[rbp]
|
|
00101 48 83 c0 04 add rax, 4
|
|
00105 48 89 45 28 mov QWORD PTR <begin>$L0$5[rbp], rax
|
|
$LN4@NcDeepCopy:
|
|
00109 48 8b 45 48 mov rax, QWORD PTR <end>$L0$6[rbp]
|
|
0010d 48 39 45 28 cmp QWORD PTR <begin>$L0$5[rbp], rax
|
|
00111 74 2d je SHORT $LN3@NcDeepCopy
|
|
00113 48 8b 45 28 mov rax, QWORD PTR <begin>$L0$5[rbp]
|
|
00117 8b 00 mov eax, DWORD PTR [rax]
|
|
00119 89 45 64 mov DWORD PTR L$7[rbp], eax
|
|
|
|
; 327 : Block->LabelIds.push_back(L);
|
|
|
|
0011c 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00123 48 83 c0 10 add rax, 16
|
|
00127 48 89 85 78 01
|
|
00 00 mov QWORD PTR tv88[rbp], rax
|
|
0012e 48 8d 55 64 lea rdx, QWORD PTR L$7[rbp]
|
|
00132 48 8b 8d 78 01
|
|
00 00 mov rcx, QWORD PTR tv88[rbp]
|
|
00139 e8 00 00 00 00 call ?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back
|
|
0013e eb bd jmp SHORT $LN2@NcDeepCopy
|
|
$LN3@NcDeepCopy:
|
|
|
|
; 328 :
|
|
; 329 : for (PNATIVE_CODE_LINK CurLink = Start; CurLink && CurLink != End->Next; CurLink = CurLink->Next)
|
|
|
|
00140 48 8b 85 b0 01
|
|
00 00 mov rax, QWORD PTR Start$[rbp]
|
|
00147 48 89 85 88 00
|
|
00 00 mov QWORD PTR CurLink$8[rbp], rax
|
|
0014e eb 11 jmp SHORT $LN7@NcDeepCopy
|
|
$LN5@NcDeepCopy:
|
|
00150 48 8b 85 88 00
|
|
00 00 mov rax, QWORD PTR CurLink$8[rbp]
|
|
00157 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0015a 48 89 85 88 00
|
|
00 00 mov QWORD PTR CurLink$8[rbp], rax
|
|
$LN7@NcDeepCopy:
|
|
00161 48 83 bd 88 00
|
|
00 00 00 cmp QWORD PTR CurLink$8[rbp], 0
|
|
00169 74 55 je SHORT $LN6@NcDeepCopy
|
|
0016b 48 8b 85 b8 01
|
|
00 00 mov rax, QWORD PTR End$[rbp]
|
|
00172 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00175 48 39 85 88 00
|
|
00 00 cmp QWORD PTR CurLink$8[rbp], rax
|
|
0017c 74 42 je SHORT $LN6@NcDeepCopy
|
|
|
|
; 330 : {
|
|
; 331 : PNATIVE_CODE_LINK Temp = NcDeepCopyLink(CurLink);
|
|
|
|
0017e 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR CurLink$8[rbp]
|
|
00185 e8 00 00 00 00 call ?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z ; NcDeepCopyLink
|
|
0018a 48 89 85 a8 00
|
|
00 00 mov QWORD PTR Temp$9[rbp], rax
|
|
|
|
; 332 : if (!Temp)
|
|
|
|
00191 48 83 bd a8 00
|
|
00 00 00 cmp QWORD PTR Temp$9[rbp], 0
|
|
00199 75 10 jne SHORT $LN10@NcDeepCopy
|
|
|
|
; 333 : {
|
|
; 334 : NcDeleteBlock(Block);
|
|
|
|
0019b 48 8b 8d c0 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
001a2 e8 00 00 00 00 call ?NcDeleteBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@@Z ; NcDeleteBlock
|
|
|
|
; 335 : return FALSE;
|
|
|
|
001a7 33 c0 xor eax, eax
|
|
001a9 eb 1a jmp SHORT $LN1@NcDeepCopy
|
|
$LN10@NcDeepCopy:
|
|
|
|
; 336 : }
|
|
; 337 : NcAppendToBlock(Block, Temp);
|
|
|
|
001ab 48 8b 95 a8 00
|
|
00 00 mov rdx, QWORD PTR Temp$9[rbp]
|
|
001b2 48 8b 8d c0 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
001b9 e8 00 00 00 00 call ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ; NcAppendToBlock
|
|
|
|
; 338 : }
|
|
|
|
001be eb 90 jmp SHORT $LN5@NcDeepCopy
|
|
$LN6@NcDeepCopy:
|
|
|
|
; 339 :
|
|
; 340 : return TRUE;
|
|
|
|
001c0 b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcDeepCopy:
|
|
|
|
; 341 : }
|
|
|
|
001c5 48 8b f8 mov rdi, rax
|
|
001c8 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
001cc 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
|
|
001d3 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
001d8 48 8b c7 mov rax, rdi
|
|
001db 48 8b 8d 80 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
001e2 48 33 cd xor rcx, rbp
|
|
001e5 e8 00 00 00 00 call __security_check_cookie
|
|
001ea 48 8d a5 98 01
|
|
00 00 lea rsp, QWORD PTR [rbp+408]
|
|
001f1 5f pop rdi
|
|
001f2 5d pop rbp
|
|
001f3 c3 ret 0
|
|
?NcDeepCopyPartialBlock@@YAHPEAU_NATIVE_CODE_LINK@@0PEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcDeepCopyPartialBlock
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z
|
|
_TEXT SEGMENT
|
|
NewLink$1 = 8
|
|
DecodeError$2 = 36
|
|
$T3 = 264
|
|
$T4 = 296
|
|
$T5 = 328
|
|
$T6 = 360
|
|
$T7 = 392
|
|
tv151 = 404
|
|
tv155 = 408
|
|
tv149 = 408
|
|
tv131 = 408
|
|
tv81 = 408
|
|
Link$ = 448
|
|
?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z PROC ; NcDeepCopyLink, COMDAT
|
|
|
|
; 298 : {
|
|
|
|
$LN14:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec d8 01
|
|
00 00 sub rsp, 472 ; 000001d8H
|
|
0000e 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 299 : if (Link->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
0001f 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00026 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00029 83 e0 01 and eax, 1
|
|
0002c 85 c0 test eax, eax
|
|
0002e 74 67 je SHORT $LN2@NcDeepCopy
|
|
|
|
; 300 : {
|
|
; 301 : return new NATIVE_CODE_LINK(Link->Label, NULL);
|
|
|
|
00030 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
00035 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
0003a 48 89 85 28 01
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
00041 48 83 bd 28 01
|
|
00 00 00 cmp QWORD PTR $T4[rbp], 0
|
|
00049 74 22 je SHORT $LN6@NcDeepCopy
|
|
0004b 45 33 c0 xor r8d, r8d
|
|
0004e 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00055 8b 50 1c mov edx, DWORD PTR [rax+28]
|
|
00058 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR $T4[rbp]
|
|
0005f e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
00064 48 89 85 98 01
|
|
00 00 mov QWORD PTR tv81[rbp], rax
|
|
0006b eb 0b jmp SHORT $LN7@NcDeepCopy
|
|
$LN6@NcDeepCopy:
|
|
0006d 48 c7 85 98 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv81[rbp], 0
|
|
$LN7@NcDeepCopy:
|
|
00078 48 8b 85 98 01
|
|
00 00 mov rax, QWORD PTR tv81[rbp]
|
|
0007f 48 89 85 08 01
|
|
00 00 mov QWORD PTR $T3[rbp], rax
|
|
00086 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR $T3[rbp]
|
|
0008d e9 3c 01 00 00 jmp $LN1@NcDeepCopy
|
|
|
|
; 302 : }
|
|
|
|
00092 e9 37 01 00 00 jmp $LN1@NcDeepCopy
|
|
$LN2@NcDeepCopy:
|
|
|
|
; 303 : else
|
|
; 304 : {
|
|
; 305 : PNATIVE_CODE_LINK NewLink = new NATIVE_CODE_LINK(Link->Flags, Link->RawData, Link->RawDataSize);
|
|
|
|
00097 b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
0009c e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
000a1 48 89 85 68 01
|
|
00 00 mov QWORD PTR $T6[rbp], rax
|
|
000a8 48 83 bd 68 01
|
|
00 00 00 cmp QWORD PTR $T6[rbp], 0
|
|
000b0 74 3d je SHORT $LN8@NcDeepCopy
|
|
000b2 c7 44 24 20 00
|
|
00 00 00 mov DWORD PTR [rsp+32], 0
|
|
000ba 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000c1 44 8b 48 28 mov r9d, DWORD PTR [rax+40]
|
|
000c5 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000cc 4c 8b 40 20 mov r8, QWORD PTR [rax+32]
|
|
000d0 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000d7 8b 50 18 mov edx, DWORD PTR [rax+24]
|
|
000da 48 8b 8d 68 01
|
|
00 00 mov rcx, QWORD PTR $T6[rbp]
|
|
000e1 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
000e6 48 89 85 98 01
|
|
00 00 mov QWORD PTR tv131[rbp], rax
|
|
000ed eb 0b jmp SHORT $LN9@NcDeepCopy
|
|
$LN8@NcDeepCopy:
|
|
000ef 48 c7 85 98 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv131[rbp], 0
|
|
$LN9@NcDeepCopy:
|
|
000fa 48 8b 85 98 01
|
|
00 00 mov rax, QWORD PTR tv131[rbp]
|
|
00101 48 89 85 48 01
|
|
00 00 mov QWORD PTR $T5[rbp], rax
|
|
00108 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR $T5[rbp]
|
|
0010f 48 89 45 08 mov QWORD PTR NewLink$1[rbp], rax
|
|
|
|
; 306 : NewLink->Label = Link->Label;
|
|
|
|
00113 48 8b 45 08 mov rax, QWORD PTR NewLink$1[rbp]
|
|
00117 48 8b 8d c0 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0011e 8b 49 1c mov ecx, DWORD PTR [rcx+28]
|
|
00121 89 48 1c mov DWORD PTR [rax+28], ecx
|
|
|
|
; 307 : XED_ERROR_ENUM DecodeError = XedDecode(&NewLink->XedInstruction, Link->RawData, Link->RawDataSize);
|
|
|
|
00124 48 8b 45 08 mov rax, QWORD PTR NewLink$1[rbp]
|
|
00128 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0012c 48 8b 8d c0 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00133 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
00137 48 8b 8d c0 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0013e 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
00142 48 8b c8 mov rcx, rax
|
|
00145 e8 00 00 00 00 call xed_decode
|
|
0014a 89 45 24 mov DWORD PTR DecodeError$2[rbp], eax
|
|
|
|
; 308 : if (DecodeError != XED_ERROR_NONE)
|
|
|
|
0014d 83 7d 24 00 cmp DWORD PTR DecodeError$2[rbp], 0
|
|
00151 74 77 je SHORT $LN4@NcDeepCopy
|
|
|
|
; 309 : {
|
|
; 310 : printf("XedDecode failed in NcDeepCopyLink: %s %u\n", XedErrorEnumToString(DecodeError), Link->RawDataSize);
|
|
|
|
00153 48 8b 85 c0 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0015a 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
0015d 89 85 94 01 00
|
|
00 mov DWORD PTR tv151[rbp], eax
|
|
00163 8b 4d 24 mov ecx, DWORD PTR DecodeError$2[rbp]
|
|
00166 e8 00 00 00 00 call xed_error_enum_t2str
|
|
0016b 48 89 85 98 01
|
|
00 00 mov QWORD PTR tv149[rbp], rax
|
|
00172 44 8b 85 94 01
|
|
00 00 mov r8d, DWORD PTR tv151[rbp]
|
|
00179 48 8b 95 98 01
|
|
00 00 mov rdx, QWORD PTR tv149[rbp]
|
|
00180 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0CL@COPJALEP@XedDecode?5failed?5in?5NcDeepCopyL@
|
|
00187 e8 00 00 00 00 call printf
|
|
|
|
; 311 : delete NewLink;
|
|
|
|
0018c 48 8b 45 08 mov rax, QWORD PTR NewLink$1[rbp]
|
|
00190 48 89 85 88 01
|
|
00 00 mov QWORD PTR $T7[rbp], rax
|
|
00197 48 83 bd 88 01
|
|
00 00 00 cmp QWORD PTR $T7[rbp], 0
|
|
0019f 74 1a je SHORT $LN10@NcDeepCopy
|
|
001a1 ba 01 00 00 00 mov edx, 1
|
|
001a6 48 8b 8d 88 01
|
|
00 00 mov rcx, QWORD PTR $T7[rbp]
|
|
001ad e8 00 00 00 00 call ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
|
|
001b2 48 89 85 98 01
|
|
00 00 mov QWORD PTR tv155[rbp], rax
|
|
001b9 eb 0b jmp SHORT $LN11@NcDeepCopy
|
|
$LN10@NcDeepCopy:
|
|
001bb 48 c7 85 98 01
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv155[rbp], 0
|
|
$LN11@NcDeepCopy:
|
|
|
|
; 312 : return NULL;
|
|
|
|
001c6 33 c0 xor eax, eax
|
|
001c8 eb 04 jmp SHORT $LN1@NcDeepCopy
|
|
$LN4@NcDeepCopy:
|
|
|
|
; 313 : }
|
|
; 314 : return NewLink;
|
|
|
|
001ca 48 8b 45 08 mov rax, QWORD PTR NewLink$1[rbp]
|
|
$LN1@NcDeepCopy:
|
|
|
|
; 315 : }
|
|
; 316 : }
|
|
|
|
001ce 48 8d a5 a8 01
|
|
00 00 lea rsp, QWORD PTR [rbp+424]
|
|
001d5 5f pop rdi
|
|
001d6 5d pop rbp
|
|
001d7 c3 ret 0
|
|
?NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z ENDP ; NcDeepCopyLink
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
NewLink$1 = 8
|
|
DecodeError$2 = 36
|
|
$T3 = 264
|
|
$T4 = 296
|
|
$T5 = 328
|
|
$T6 = 360
|
|
$T7 = 392
|
|
tv151 = 404
|
|
tv155 = 408
|
|
tv149 = 408
|
|
tv131 = 408
|
|
tv81 = 408
|
|
Link$ = 448
|
|
?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA PROC ; `NcDeepCopyLink'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR $T4[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA ENDP ; `NcDeepCopyLink'::`1'::dtor$0
|
|
text$x ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
NewLink$1 = 8
|
|
DecodeError$2 = 36
|
|
$T3 = 264
|
|
$T4 = 296
|
|
$T5 = 328
|
|
$T6 = 360
|
|
$T7 = 392
|
|
tv151 = 404
|
|
tv155 = 408
|
|
tv149 = 408
|
|
tv131 = 408
|
|
tv81 = 408
|
|
Link$ = 448
|
|
?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA PROC ; `NcDeepCopyLink'::`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 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 68 01
|
|
00 00 mov rcx, QWORD PTR $T6[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA ENDP ; `NcDeepCopyLink'::`1'::dtor$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
NewLink$1 = 8
|
|
DecodeError$2 = 36
|
|
$T3 = 264
|
|
$T4 = 296
|
|
$T5 = 328
|
|
$T6 = 360
|
|
$T7 = 392
|
|
tv151 = 404
|
|
tv155 = 408
|
|
tv149 = 408
|
|
tv131 = 408
|
|
tv81 = 408
|
|
Link$ = 448
|
|
?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA PROC ; `NcDeepCopyLink'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 28 01
|
|
00 00 mov rcx, QWORD PTR $T4[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA ENDP ; `NcDeepCopyLink'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
NewLink$1 = 8
|
|
DecodeError$2 = 36
|
|
$T3 = 264
|
|
$T4 = 296
|
|
$T5 = 328
|
|
$T6 = 360
|
|
$T7 = 392
|
|
tv151 = 404
|
|
tv155 = 408
|
|
tv149 = 408
|
|
tv131 = 408
|
|
tv81 = 408
|
|
Link$ = 448
|
|
?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA PROC ; `NcDeepCopyLink'::`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 30 lea rbp, QWORD PTR [rdx+48]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 68 01
|
|
00 00 mov rcx, QWORD PTR $T6[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$1@?0??NcDeepCopyLink@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@@Z@4HA ENDP ; `NcDeepCopyLink'::`1'::dtor$1
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z
|
|
_TEXT SEGMENT
|
|
T$ = 8
|
|
Jmp$ = 256
|
|
Delta$ = 264
|
|
?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z PROC ; NcValidateJmp, COMDAT
|
|
|
|
; 258 : {
|
|
|
|
$LN23:
|
|
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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 259 : PNATIVE_CODE_LINK T;
|
|
; 260 : if (Delta > 0)
|
|
|
|
00023 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
0002a 0f 8e a2 00 00
|
|
00 jle $LN10@NcValidate
|
|
|
|
; 261 : {
|
|
; 262 : T = Jmp->Next;
|
|
|
|
00030 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Jmp$[rbp]
|
|
00037 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003a 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
$LN21@NcValidate:
|
|
$LN2@NcValidate:
|
|
|
|
; 263 : while (Delta > 0 && T)
|
|
|
|
0003e 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
00045 7e 44 jle SHORT $LN3@NcValidate
|
|
00047 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
0004c 74 3d je SHORT $LN3@NcValidate
|
|
|
|
; 264 : {
|
|
; 265 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
0004e 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00052 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00055 83 e0 01 and eax, 1
|
|
00058 85 c0 test eax, eax
|
|
0005a 74 02 je SHORT $LN12@NcValidate
|
|
|
|
; 266 : continue;
|
|
|
|
0005c eb e0 jmp SHORT $LN2@NcValidate
|
|
$LN12@NcValidate:
|
|
|
|
; 267 : Delta -= XedDecodedInstGetLength(&T->XedInstruction);
|
|
|
|
0005e 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00062 48 83 c0 30 add rax, 48 ; 00000030H
|
|
00066 48 8b c8 mov rcx, rax
|
|
00069 e8 00 00 00 00 call xed_decoded_inst_get_length
|
|
0006e 8b 8d 08 01 00
|
|
00 mov ecx, DWORD PTR Delta$[rbp]
|
|
00074 2b c8 sub ecx, eax
|
|
00076 8b c1 mov eax, ecx
|
|
00078 89 85 08 01 00
|
|
00 mov DWORD PTR Delta$[rbp], eax
|
|
|
|
; 268 : T = T->Next;
|
|
|
|
0007e 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00082 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00085 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
|
|
; 269 : }
|
|
|
|
00089 eb b3 jmp SHORT $LN21@NcValidate
|
|
$LN3@NcValidate:
|
|
|
|
; 270 : if (Delta != 0 || !T)
|
|
|
|
0008b 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
00092 75 07 jne SHORT $LN14@NcValidate
|
|
00094 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
00099 75 07 jne SHORT $LN13@NcValidate
|
|
$LN14@NcValidate:
|
|
|
|
; 271 : return NULL;
|
|
|
|
0009b 33 c0 xor eax, eax
|
|
0009d e9 db 00 00 00 jmp $LN1@NcValidate
|
|
$LN13@NcValidate:
|
|
$LN4@NcValidate:
|
|
|
|
; 272 : while (T && (T->Flags & CODE_FLAG_IS_LABEL))
|
|
|
|
000a2 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
000a7 74 1b je SHORT $LN5@NcValidate
|
|
000a9 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
000ad 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
000b0 83 e0 01 and eax, 1
|
|
000b3 85 c0 test eax, eax
|
|
000b5 74 0d je SHORT $LN5@NcValidate
|
|
|
|
; 273 : T = T->Next;
|
|
|
|
000b7 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
000bb 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000be 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
000c2 eb de jmp SHORT $LN4@NcValidate
|
|
$LN5@NcValidate:
|
|
|
|
; 274 : return T;
|
|
|
|
000c4 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
000c8 e9 b0 00 00 00 jmp $LN1@NcValidate
|
|
|
|
; 275 : }
|
|
|
|
000cd e9 a4 00 00 00 jmp $LN11@NcValidate
|
|
$LN10@NcValidate:
|
|
|
|
; 276 : else if (Delta < 0)
|
|
|
|
000d2 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
000d9 0f 8d 97 00 00
|
|
00 jge $LN15@NcValidate
|
|
|
|
; 277 : {
|
|
; 278 : T = Jmp;
|
|
|
|
000df 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Jmp$[rbp]
|
|
000e6 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
$LN22@NcValidate:
|
|
$LN6@NcValidate:
|
|
|
|
; 279 : while (T)
|
|
|
|
000ea 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
000ef 74 49 je SHORT $LN7@NcValidate
|
|
|
|
; 280 : {
|
|
; 281 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
000f1 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
000f5 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
000f8 83 e0 01 and eax, 1
|
|
000fb 85 c0 test eax, eax
|
|
000fd 74 02 je SHORT $LN16@NcValidate
|
|
|
|
; 282 : continue;
|
|
|
|
000ff eb e9 jmp SHORT $LN6@NcValidate
|
|
$LN16@NcValidate:
|
|
|
|
; 283 : Delta += XedDecodedInstGetLength(&T->XedInstruction);
|
|
|
|
00101 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00105 48 83 c0 30 add rax, 48 ; 00000030H
|
|
00109 48 8b c8 mov rcx, rax
|
|
0010c e8 00 00 00 00 call xed_decoded_inst_get_length
|
|
00111 8b 8d 08 01 00
|
|
00 mov ecx, DWORD PTR Delta$[rbp]
|
|
00117 03 c8 add ecx, eax
|
|
00119 8b c1 mov eax, ecx
|
|
0011b 89 85 08 01 00
|
|
00 mov DWORD PTR Delta$[rbp], eax
|
|
|
|
; 284 : if (Delta >= 0)
|
|
|
|
00121 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
00128 7c 02 jl SHORT $LN17@NcValidate
|
|
|
|
; 285 : break;
|
|
|
|
0012a eb 0e jmp SHORT $LN7@NcValidate
|
|
$LN17@NcValidate:
|
|
|
|
; 286 : T = T->Prev;
|
|
|
|
0012c 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00130 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00134 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
|
|
; 287 : }
|
|
|
|
00138 eb b0 jmp SHORT $LN22@NcValidate
|
|
$LN7@NcValidate:
|
|
|
|
; 288 : if (Delta != 0 || !T)
|
|
|
|
0013a 83 bd 08 01 00
|
|
00 00 cmp DWORD PTR Delta$[rbp], 0
|
|
00141 75 07 jne SHORT $LN19@NcValidate
|
|
00143 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
00148 75 04 jne SHORT $LN18@NcValidate
|
|
$LN19@NcValidate:
|
|
|
|
; 289 : return NULL;
|
|
|
|
0014a 33 c0 xor eax, eax
|
|
0014c eb 2f jmp SHORT $LN1@NcValidate
|
|
$LN18@NcValidate:
|
|
$LN8@NcValidate:
|
|
|
|
; 290 : while (T && (T->Flags & CODE_FLAG_IS_LABEL))
|
|
|
|
0014e 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
|
|
00153 74 1b je SHORT $LN9@NcValidate
|
|
00155 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00159 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
0015c 83 e0 01 and eax, 1
|
|
0015f 85 c0 test eax, eax
|
|
00161 74 0d je SHORT $LN9@NcValidate
|
|
|
|
; 291 : T = T->Next;
|
|
|
|
00163 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00167 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0016a 48 89 45 08 mov QWORD PTR T$[rbp], rax
|
|
0016e eb de jmp SHORT $LN8@NcValidate
|
|
$LN9@NcValidate:
|
|
|
|
; 292 : return T;
|
|
|
|
00170 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
|
|
00174 eb 07 jmp SHORT $LN1@NcValidate
|
|
$LN15@NcValidate:
|
|
$LN11@NcValidate:
|
|
|
|
; 293 : }
|
|
; 294 : return Jmp;
|
|
|
|
00176 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Jmp$[rbp]
|
|
$LN1@NcValidate:
|
|
|
|
; 295 : }
|
|
|
|
0017d 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00184 5f pop rdi
|
|
00185 5d pop rbp
|
|
00186 c3 ret 0
|
|
?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z ENDP ; NcValidateJmp
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
CurrentLabelId$ = 4
|
|
T$4 = 40
|
|
Category$5 = 68
|
|
OperandCount$6 = 100
|
|
Inst$7 = 136
|
|
Operand$8 = 168
|
|
OperandType$9 = 196
|
|
BranchDisplacement$10 = 228
|
|
JmpPos$11 = 264
|
|
$T12 = 488
|
|
$T13 = 520
|
|
tv163 = 536
|
|
tv157 = 536
|
|
__$ArrayPad$ = 544
|
|
Block$ = 592
|
|
?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcCreateLabels, COMDAT
|
|
|
|
; 206 : {
|
|
|
|
$LN18:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 58 02
|
|
00 00 sub rsp, 600 ; 00000258H
|
|
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 5e 00 00 00 mov ecx, 94 ; 0000005eH
|
|
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00022 f3 ab rep stosd
|
|
00024 48 8b 8c 24 78
|
|
02 00 00 mov rcx, QWORD PTR [rsp+632]
|
|
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 20 02
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0003d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 207 : ULONG CurrentLabelId = 0;
|
|
|
|
00049 c7 45 04 00 00
|
|
00 00 mov DWORD PTR CurrentLabelId$[rbp], 0
|
|
|
|
; 208 : for (PNATIVE_CODE_LINK T = Block->Start; T; T = T->Next)
|
|
|
|
00050 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00057 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0005a 48 89 45 28 mov QWORD PTR T$4[rbp], rax
|
|
0005e eb 0b jmp SHORT $LN4@NcCreateLa
|
|
$LN2@NcCreateLa:
|
|
00060 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
00064 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00067 48 89 45 28 mov QWORD PTR T$4[rbp], rax
|
|
$LN4@NcCreateLa:
|
|
0006b 48 83 7d 28 00 cmp QWORD PTR T$4[rbp], 0
|
|
00070 0f 84 07 02 00
|
|
00 je $LN3@NcCreateLa
|
|
|
|
; 209 : {
|
|
; 210 : if (!(T->Flags & CODE_FLAG_IS_INST))
|
|
|
|
00076 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
0007a 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
0007d 83 e0 04 and eax, 4
|
|
00080 85 c0 test eax, eax
|
|
00082 75 02 jne SHORT $LN5@NcCreateLa
|
|
|
|
; 211 : continue;
|
|
|
|
00084 eb da jmp SHORT $LN2@NcCreateLa
|
|
$LN5@NcCreateLa:
|
|
|
|
; 212 :
|
|
; 213 : XED_CATEGORY_ENUM Category = XedDecodedInstGetCategory(&T->XedInstruction);
|
|
|
|
00086 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
0008a 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0008e 48 8b c8 mov rcx, rax
|
|
00091 e8 00 00 00 00 call xed_decoded_inst_get_category
|
|
00096 89 45 44 mov DWORD PTR Category$5[rbp], eax
|
|
|
|
; 214 : if (Category != XED_CATEGORY_COND_BR && Category != XED_CATEGORY_UNCOND_BR)
|
|
|
|
00099 83 7d 44 1c cmp DWORD PTR Category$5[rbp], 28
|
|
0009d 74 08 je SHORT $LN6@NcCreateLa
|
|
0009f 83 7d 44 5b cmp DWORD PTR Category$5[rbp], 91 ; 0000005bH
|
|
000a3 74 02 je SHORT $LN6@NcCreateLa
|
|
|
|
; 215 : continue;
|
|
|
|
000a5 eb b9 jmp SHORT $LN2@NcCreateLa
|
|
$LN6@NcCreateLa:
|
|
|
|
; 216 :
|
|
; 217 : ULONG OperandCount = XedDecodedInstNumOperands(&T->XedInstruction);
|
|
|
|
000a7 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
000ab 48 83 c0 30 add rax, 48 ; 00000030H
|
|
000af 48 8b c8 mov rcx, rax
|
|
000b2 e8 00 00 00 00 call xed_decoded_inst_noperands
|
|
000b7 89 45 64 mov DWORD PTR OperandCount$6[rbp], eax
|
|
|
|
; 218 : if (OperandCount < 1)
|
|
|
|
000ba 83 7d 64 01 cmp DWORD PTR OperandCount$6[rbp], 1
|
|
000be 73 02 jae SHORT $LN7@NcCreateLa
|
|
|
|
; 219 : continue;
|
|
|
|
000c0 eb 9e jmp SHORT $LN2@NcCreateLa
|
|
$LN7@NcCreateLa:
|
|
|
|
; 220 :
|
|
; 221 : CONST XED_INST* Inst = XedDecodedInstInst(&T->XedInstruction);
|
|
|
|
000c2 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
000c6 48 83 c0 30 add rax, 48 ; 00000030H
|
|
000ca 48 8b c8 mov rcx, rax
|
|
000cd e8 00 00 00 00 call xed_decoded_inst_inst
|
|
000d2 48 89 85 88 00
|
|
00 00 mov QWORD PTR Inst$7[rbp], rax
|
|
|
|
; 222 : if (!Inst)
|
|
|
|
000d9 48 83 bd 88 00
|
|
00 00 00 cmp QWORD PTR Inst$7[rbp], 0
|
|
000e1 75 05 jne SHORT $LN8@NcCreateLa
|
|
|
|
; 223 : continue;
|
|
|
|
000e3 e9 78 ff ff ff jmp $LN2@NcCreateLa
|
|
$LN8@NcCreateLa:
|
|
|
|
; 224 :
|
|
; 225 : CONST XED_OPERAND* Operand = XedInstOperand(Inst, 0);
|
|
|
|
000e8 33 d2 xor edx, edx
|
|
000ea 48 8b 8d 88 00
|
|
00 00 mov rcx, QWORD PTR Inst$7[rbp]
|
|
000f1 e8 00 00 00 00 call xed_inst_operand
|
|
000f6 48 89 85 a8 00
|
|
00 00 mov QWORD PTR Operand$8[rbp], rax
|
|
|
|
; 226 : if (!Operand)
|
|
|
|
000fd 48 83 bd a8 00
|
|
00 00 00 cmp QWORD PTR Operand$8[rbp], 0
|
|
00105 75 05 jne SHORT $LN9@NcCreateLa
|
|
|
|
; 227 : continue;
|
|
|
|
00107 e9 54 ff ff ff jmp $LN2@NcCreateLa
|
|
$LN9@NcCreateLa:
|
|
|
|
; 228 :
|
|
; 229 : XED_OPERAND_TYPE_ENUM OperandType = XedOperandType(Operand);
|
|
|
|
0010c 48 8b 8d a8 00
|
|
00 00 mov rcx, QWORD PTR Operand$8[rbp]
|
|
00113 e8 00 00 00 00 call xed_operand_type
|
|
00118 89 85 c4 00 00
|
|
00 mov DWORD PTR OperandType$9[rbp], eax
|
|
|
|
; 230 : if (OperandType != XED_OPERAND_TYPE_IMM && OperandType != XED_OPERAND_TYPE_IMM_CONST)
|
|
|
|
0011e 83 bd c4 00 00
|
|
00 02 cmp DWORD PTR OperandType$9[rbp], 2
|
|
00125 74 0e je SHORT $LN10@NcCreateLa
|
|
00127 83 bd c4 00 00
|
|
00 03 cmp DWORD PTR OperandType$9[rbp], 3
|
|
0012e 74 05 je SHORT $LN10@NcCreateLa
|
|
|
|
; 231 : continue;
|
|
|
|
00130 e9 2b ff ff ff jmp $LN2@NcCreateLa
|
|
$LN10@NcCreateLa:
|
|
|
|
; 232 :
|
|
; 233 : INT32 BranchDisplacement = XedDecodedInstGetBranchDisplacement(&T->XedInstruction);
|
|
|
|
00135 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
00139 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0013d 48 8b c8 mov rcx, rax
|
|
00140 e8 00 00 00 00 call xed_decoded_inst_get_branch_displacement
|
|
00145 89 85 e4 00 00
|
|
00 mov DWORD PTR BranchDisplacement$10[rbp], eax
|
|
|
|
; 234 : PNATIVE_CODE_LINK JmpPos = NcValidateJmp(T, BranchDisplacement);
|
|
|
|
0014b 8b 95 e4 00 00
|
|
00 mov edx, DWORD PTR BranchDisplacement$10[rbp]
|
|
00151 48 8b 4d 28 mov rcx, QWORD PTR T$4[rbp]
|
|
00155 e8 00 00 00 00 call ?NcValidateJmp@@YAPEAU_NATIVE_CODE_LINK@@PEAU1@H@Z ; NcValidateJmp
|
|
0015a 48 89 85 08 01
|
|
00 00 mov QWORD PTR JmpPos$11[rbp], rax
|
|
|
|
; 235 : if (!JmpPos)
|
|
|
|
00161 48 83 bd 08 01
|
|
00 00 00 cmp QWORD PTR JmpPos$11[rbp], 0
|
|
00169 75 25 jne SHORT $LN11@NcCreateLa
|
|
|
|
; 236 : {
|
|
; 237 : printf("Failed to validate jump. Type: %s, Displacement: %d\n", XedCategoryEnumToString(Category), BranchDisplacement);
|
|
|
|
0016b 8b 4d 44 mov ecx, DWORD PTR Category$5[rbp]
|
|
0016e e8 00 00 00 00 call xed_category_enum_t2str
|
|
00173 44 8b 85 e4 00
|
|
00 00 mov r8d, DWORD PTR BranchDisplacement$10[rbp]
|
|
0017a 48 8b d0 mov rdx, rax
|
|
0017d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0DF@KKBEBOEB@Failed?5to?5validate?5jump?4?5Type?3?5@
|
|
00184 e8 00 00 00 00 call printf
|
|
|
|
; 238 : return FALSE;
|
|
|
|
00189 33 c0 xor eax, eax
|
|
0018b e9 f2 00 00 00 jmp $LN1@NcCreateLa
|
|
$LN11@NcCreateLa:
|
|
|
|
; 239 : }
|
|
; 240 :
|
|
; 241 : if (JmpPos->Prev && (JmpPos->Prev->Flags & CODE_FLAG_IS_LABEL))
|
|
|
|
00190 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR JmpPos$11[rbp]
|
|
00197 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
0019c 74 2f je SHORT $LN12@NcCreateLa
|
|
0019e 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR JmpPos$11[rbp]
|
|
001a5 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
001a9 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
001ac 83 e0 01 and eax, 1
|
|
001af 85 c0 test eax, eax
|
|
001b1 74 1a je SHORT $LN12@NcCreateLa
|
|
|
|
; 242 : {
|
|
; 243 : T->Label = JmpPos->Prev->Label;
|
|
|
|
001b3 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR JmpPos$11[rbp]
|
|
001ba 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
001be 48 8b 4d 28 mov rcx, QWORD PTR T$4[rbp]
|
|
001c2 8b 40 1c mov eax, DWORD PTR [rax+28]
|
|
001c5 89 41 1c mov DWORD PTR [rcx+28], eax
|
|
|
|
; 244 : }
|
|
|
|
001c8 e9 9a 00 00 00 jmp $LN13@NcCreateLa
|
|
$LN12@NcCreateLa:
|
|
|
|
; 245 : else
|
|
; 246 : {
|
|
; 247 : NcInsertLinkBefore(JmpPos, new NATIVE_CODE_LINK(CurrentLabelId, Block));
|
|
|
|
001cd b9 f0 00 00 00 mov ecx, 240 ; 000000f0H
|
|
001d2 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
001d7 48 89 85 08 02
|
|
00 00 mov QWORD PTR $T13[rbp], rax
|
|
001de 48 83 bd 08 02
|
|
00 00 00 cmp QWORD PTR $T13[rbp], 0
|
|
001e6 74 1f je SHORT $LN15@NcCreateLa
|
|
001e8 4c 8b 85 50 02
|
|
00 00 mov r8, QWORD PTR Block$[rbp]
|
|
001ef 8b 55 04 mov edx, DWORD PTR CurrentLabelId$[rbp]
|
|
001f2 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR $T13[rbp]
|
|
001f9 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
001fe 48 89 85 18 02
|
|
00 00 mov QWORD PTR tv157[rbp], rax
|
|
00205 eb 0b jmp SHORT $LN16@NcCreateLa
|
|
$LN15@NcCreateLa:
|
|
00207 48 c7 85 18 02
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv157[rbp], 0
|
|
$LN16@NcCreateLa:
|
|
00212 48 8b 85 18 02
|
|
00 00 mov rax, QWORD PTR tv157[rbp]
|
|
00219 48 89 85 e8 01
|
|
00 00 mov QWORD PTR $T12[rbp], rax
|
|
00220 48 8b 95 e8 01
|
|
00 00 mov rdx, QWORD PTR $T12[rbp]
|
|
00227 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR JmpPos$11[rbp]
|
|
0022e e8 00 00 00 00 call ?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z ; NcInsertLinkBefore
|
|
|
|
; 248 : Block->LabelIds.push_back(CurrentLabelId);
|
|
|
|
00233 48 8b 85 50 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0023a 48 83 c0 10 add rax, 16
|
|
0023e 48 89 85 18 02
|
|
00 00 mov QWORD PTR tv163[rbp], rax
|
|
00245 48 8d 55 04 lea rdx, QWORD PTR CurrentLabelId$[rbp]
|
|
00249 48 8b 8d 18 02
|
|
00 00 mov rcx, QWORD PTR tv163[rbp]
|
|
00250 e8 00 00 00 00 call ?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back
|
|
|
|
; 249 : T->Label = CurrentLabelId;
|
|
|
|
00255 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
00259 8b 4d 04 mov ecx, DWORD PTR CurrentLabelId$[rbp]
|
|
0025c 89 48 1c mov DWORD PTR [rax+28], ecx
|
|
|
|
; 250 : ++CurrentLabelId;
|
|
|
|
0025f 8b 45 04 mov eax, DWORD PTR CurrentLabelId$[rbp]
|
|
00262 ff c0 inc eax
|
|
00264 89 45 04 mov DWORD PTR CurrentLabelId$[rbp], eax
|
|
$LN13@NcCreateLa:
|
|
|
|
; 251 : }
|
|
; 252 : T->Flags |= CODE_FLAG_IS_REL_JMP;
|
|
|
|
00267 48 8b 45 28 mov rax, QWORD PTR T$4[rbp]
|
|
0026b 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
0026e 83 c8 02 or eax, 2
|
|
00271 48 8b 4d 28 mov rcx, QWORD PTR T$4[rbp]
|
|
00275 89 41 18 mov DWORD PTR [rcx+24], eax
|
|
|
|
; 253 : }
|
|
|
|
00278 e9 e3 fd ff ff jmp $LN2@NcCreateLa
|
|
$LN3@NcCreateLa:
|
|
|
|
; 254 : return TRUE;
|
|
|
|
0027d b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcCreateLa:
|
|
|
|
; 255 : }
|
|
|
|
00282 48 8b f8 mov rdi, rax
|
|
00285 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
00289 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
|
|
00290 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
00295 48 8b c7 mov rax, rdi
|
|
00298 48 8b 8d 20 02
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
0029f 48 33 cd xor rcx, rbp
|
|
002a2 e8 00 00 00 00 call __security_check_cookie
|
|
002a7 48 8d a5 38 02
|
|
00 00 lea rsp, QWORD PTR [rbp+568]
|
|
002ae 5f pop rdi
|
|
002af 5d pop rbp
|
|
002b0 c3 ret 0
|
|
?NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcCreateLabels
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
CurrentLabelId$ = 4
|
|
T$4 = 40
|
|
Category$5 = 68
|
|
OperandCount$6 = 100
|
|
Inst$7 = 136
|
|
Operand$8 = 168
|
|
OperandType$9 = 196
|
|
BranchDisplacement$10 = 228
|
|
JmpPos$11 = 264
|
|
$T12 = 488
|
|
$T13 = 520
|
|
tv163 = 536
|
|
tv157 = 536
|
|
__$ArrayPad$ = 544
|
|
Block$ = 592
|
|
?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `NcCreateLabels'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR $T13[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `NcCreateLabels'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
CurrentLabelId$ = 4
|
|
T$4 = 40
|
|
Category$5 = 68
|
|
OperandCount$6 = 100
|
|
Inst$7 = 136
|
|
Operand$8 = 168
|
|
OperandType$9 = 196
|
|
BranchDisplacement$10 = 228
|
|
JmpPos$11 = 264
|
|
$T12 = 488
|
|
$T13 = 520
|
|
tv163 = 536
|
|
tv157 = 536
|
|
__$ArrayPad$ = 544
|
|
Block$ = 592
|
|
?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA PROC ; `NcCreateLabels'::`1'::dtor$0
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 83 ec 28 sub rsp, 40 ; 00000028H
|
|
00010 48 8d 6a 20 lea rbp, QWORD PTR [rdx+32]
|
|
00014 ba f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
00019 48 8b 8d 08 02
|
|
00 00 mov rcx, QWORD PTR $T13[rbp]
|
|
00020 e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
00025 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00029 5f pop rdi
|
|
0002a 5d pop rbp
|
|
0002b c3 ret 0
|
|
?dtor$0@?0??NcCreateLabels@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z@4HA ENDP ; `NcCreateLabels'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z
|
|
_TEXT SEGMENT
|
|
T$1 = 8
|
|
Link$ = 256
|
|
Block$ = 264
|
|
FixLabels$ = 272
|
|
?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z PROC ; NcInsertBlockBefore, COMDAT
|
|
|
|
; 186 : {
|
|
|
|
$LN10:
|
|
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 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 187 : if (!Link || !Link->Block || !Block || !Block->Start || !Block->End)
|
|
|
|
00029 48 83 bd 00 01
|
|
00 00 00 cmp QWORD PTR Link$[rbp], 0
|
|
00031 74 33 je SHORT $LN6@NcInsertBl
|
|
00033 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0003a 48 83 78 10 00 cmp QWORD PTR [rax+16], 0
|
|
0003f 74 25 je SHORT $LN6@NcInsertBl
|
|
00041 48 83 bd 08 01
|
|
00 00 00 cmp QWORD PTR Block$[rbp], 0
|
|
00049 74 1b je SHORT $LN6@NcInsertBl
|
|
0004b 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00052 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00056 74 0e je SHORT $LN6@NcInsertBl
|
|
00058 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0005f 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00064 75 07 jne SHORT $LN5@NcInsertBl
|
|
$LN6@NcInsertBl:
|
|
|
|
; 188 : return FALSE;
|
|
|
|
00066 33 c0 xor eax, eax
|
|
00068 e9 0e 01 00 00 jmp $LN1@NcInsertBl
|
|
$LN5@NcInsertBl:
|
|
|
|
; 189 :
|
|
; 190 : if (FixLabels && Block->LabelIds.size() && Link->Block->LabelIds.size())
|
|
|
|
0006d 83 bd 10 01 00
|
|
00 00 cmp DWORD PTR FixLabels$[rbp], 0
|
|
00074 74 4b je SHORT $LN7@NcInsertBl
|
|
00076 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0007d 48 83 c0 10 add rax, 16
|
|
00081 48 8b c8 mov rcx, rax
|
|
00084 e8 00 00 00 00 call ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
00089 48 85 c0 test rax, rax
|
|
0008c 74 33 je SHORT $LN7@NcInsertBl
|
|
0008e 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00095 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
00099 48 83 c0 10 add rax, 16
|
|
0009d 48 8b c8 mov rcx, rax
|
|
000a0 e8 00 00 00 00 call ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
000a5 48 85 c0 test rax, rax
|
|
000a8 74 17 je SHORT $LN7@NcInsertBl
|
|
|
|
; 191 : NcFixLabelsForBlocks(Link->Block, Block);
|
|
|
|
000aa 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR Block$[rbp]
|
|
000b1 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000b8 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
|
|
000bc e8 00 00 00 00 call ?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z ; NcFixLabelsForBlocks
|
|
$LN7@NcInsertBl:
|
|
|
|
; 192 :
|
|
; 193 : if (Link->Prev)
|
|
|
|
000c1 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000c8 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
000cd 74 18 je SHORT $LN8@NcInsertBl
|
|
|
|
; 194 : Link->Prev->Next = Block->Start;
|
|
|
|
000cf 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000d6 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
000da 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
000e1 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
000e4 48 89 08 mov QWORD PTR [rax], rcx
|
|
$LN8@NcInsertBl:
|
|
|
|
; 195 : Block->Start->Prev = Link->Prev;
|
|
|
|
000e7 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000ee 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000f1 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000f8 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
000fc 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 196 : Block->End->Next = Link;
|
|
|
|
00100 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00107 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
0010b 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00112 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 197 : Link->Prev = Block->End;
|
|
|
|
00115 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0011c 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00123 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00127 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 198 :
|
|
; 199 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
0012b 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00132 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00135 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
00139 eb 0b jmp SHORT $LN4@NcInsertBl
|
|
$LN2@NcInsertBl:
|
|
0013b 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
0013f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00142 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcInsertBl:
|
|
00146 48 83 7d 08 00 cmp QWORD PTR T$1[rbp], 0
|
|
0014b 74 29 je SHORT $LN3@NcInsertBl
|
|
0014d 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00154 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00158 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0015b 48 39 45 08 cmp QWORD PTR T$1[rbp], rax
|
|
0015f 74 15 je SHORT $LN3@NcInsertBl
|
|
|
|
; 200 : T->Block = Link->Block;
|
|
|
|
00161 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00165 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0016c 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
00170 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
00174 eb c5 jmp SHORT $LN2@NcInsertBl
|
|
$LN3@NcInsertBl:
|
|
|
|
; 201 :
|
|
; 202 : return TRUE;
|
|
|
|
00176 b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcInsertBl:
|
|
|
|
; 203 : }
|
|
|
|
0017b 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00182 5f pop rdi
|
|
00183 5d pop rbp
|
|
00184 c3 ret 0
|
|
?NcInsertBlockBefore@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ENDP ; NcInsertBlockBefore
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z
|
|
_TEXT SEGMENT
|
|
T$1 = 8
|
|
Link$ = 256
|
|
Block$ = 264
|
|
FixLabels$ = 272
|
|
?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z PROC ; NcInsertBlockAfter, COMDAT
|
|
|
|
; 166 : {
|
|
|
|
$LN10:
|
|
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 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 167 : if (!Link || !Link->Block || !Block || !Block->Start || !Block->End || Link->Block == Block)
|
|
|
|
00029 48 83 bd 00 01
|
|
00 00 00 cmp QWORD PTR Link$[rbp], 0
|
|
00031 74 47 je SHORT $LN6@NcInsertBl
|
|
00033 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0003a 48 83 78 10 00 cmp QWORD PTR [rax+16], 0
|
|
0003f 74 39 je SHORT $LN6@NcInsertBl
|
|
00041 48 83 bd 08 01
|
|
00 00 00 cmp QWORD PTR Block$[rbp], 0
|
|
00049 74 2f je SHORT $LN6@NcInsertBl
|
|
0004b 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00052 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00056 74 22 je SHORT $LN6@NcInsertBl
|
|
00058 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0005f 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00064 74 14 je SHORT $LN6@NcInsertBl
|
|
00066 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0006d 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00074 48 39 48 10 cmp QWORD PTR [rax+16], rcx
|
|
00078 75 07 jne SHORT $LN5@NcInsertBl
|
|
$LN6@NcInsertBl:
|
|
|
|
; 168 : return FALSE;
|
|
|
|
0007a 33 c0 xor eax, eax
|
|
0007c e9 0b 01 00 00 jmp $LN1@NcInsertBl
|
|
$LN5@NcInsertBl:
|
|
|
|
; 169 :
|
|
; 170 : if (FixLabels && Block->LabelIds.size() && Link->Block->LabelIds.size())
|
|
|
|
00081 83 bd 10 01 00
|
|
00 00 cmp DWORD PTR FixLabels$[rbp], 0
|
|
00088 74 4b je SHORT $LN7@NcInsertBl
|
|
0008a 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00091 48 83 c0 10 add rax, 16
|
|
00095 48 8b c8 mov rcx, rax
|
|
00098 e8 00 00 00 00 call ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
0009d 48 85 c0 test rax, rax
|
|
000a0 74 33 je SHORT $LN7@NcInsertBl
|
|
000a2 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000a9 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
000ad 48 83 c0 10 add rax, 16
|
|
000b1 48 8b c8 mov rcx, rax
|
|
000b4 e8 00 00 00 00 call ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
000b9 48 85 c0 test rax, rax
|
|
000bc 74 17 je SHORT $LN7@NcInsertBl
|
|
|
|
; 171 : NcFixLabelsForBlocks(Link->Block, Block);
|
|
|
|
000be 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR Block$[rbp]
|
|
000c5 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000cc 48 8b 48 10 mov rcx, QWORD PTR [rax+16]
|
|
000d0 e8 00 00 00 00 call ?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z ; NcFixLabelsForBlocks
|
|
$LN7@NcInsertBl:
|
|
|
|
; 172 :
|
|
; 173 : if (Link->Next)
|
|
|
|
000d5 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000dc 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
000e0 74 19 je SHORT $LN8@NcInsertBl
|
|
|
|
; 174 : Link->Next->Prev = Block->End;
|
|
|
|
000e2 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
000e9 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000ec 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
000f3 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
000f7 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
$LN8@NcInsertBl:
|
|
|
|
; 175 : Block->End->Next = Link->Next;
|
|
|
|
000fb 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00102 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00106 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0010d 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00110 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 176 : Block->Start->Prev = Link;
|
|
|
|
00113 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0011a 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0011d 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00124 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 177 : Link->Next = Block->Start;
|
|
|
|
00128 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0012f 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00136 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00139 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 178 :
|
|
; 179 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
0013c 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00143 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00146 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
0014a eb 0b jmp SHORT $LN4@NcInsertBl
|
|
$LN2@NcInsertBl:
|
|
0014c 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00150 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00153 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcInsertBl:
|
|
00157 48 83 7d 08 00 cmp QWORD PTR T$1[rbp], 0
|
|
0015c 74 29 je SHORT $LN3@NcInsertBl
|
|
0015e 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00165 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00169 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0016c 48 39 45 08 cmp QWORD PTR T$1[rbp], rax
|
|
00170 74 15 je SHORT $LN3@NcInsertBl
|
|
|
|
; 180 : T->Block = Link->Block;
|
|
|
|
00172 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00176 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0017d 48 8b 49 10 mov rcx, QWORD PTR [rcx+16]
|
|
00181 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
00185 eb c5 jmp SHORT $LN2@NcInsertBl
|
|
$LN3@NcInsertBl:
|
|
|
|
; 181 :
|
|
; 182 : return TRUE;
|
|
|
|
00187 b8 01 00 00 00 mov eax, 1
|
|
$LN1@NcInsertBl:
|
|
|
|
; 183 : }
|
|
|
|
0018c 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00193 5f pop rdi
|
|
00194 5d pop rbp
|
|
00195 c3 ret 0
|
|
?NcInsertBlockAfter@@YAHPEAU_NATIVE_CODE_LINK@@PEAU_NATIVE_CODE_BLOCK@@H@Z ENDP ; NcInsertBlockAfter
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z
|
|
_TEXT SEGMENT
|
|
T$1 = 8
|
|
$T2 = 228
|
|
$T3 = 264
|
|
$T4 = 312
|
|
$T5 = 344
|
|
$T6 = 392
|
|
$T7 = 424
|
|
$T8 = 472
|
|
$T9 = 516
|
|
tv178 = 532
|
|
tv176 = 536
|
|
tv89 = 536
|
|
tv181 = 544
|
|
tv138 = 552
|
|
tv133 = 560
|
|
tv183 = 568
|
|
tv92 = 576
|
|
tv188 = 584
|
|
tv161 = 592
|
|
tv153 = 600
|
|
tv193 = 608
|
|
tv159 = 616
|
|
tv165 = 624
|
|
Block1$ = 672
|
|
Block2$ = 680
|
|
?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z PROC ; NcFixLabelsForBlocks, COMDAT
|
|
|
|
; 155 : {
|
|
|
|
$LN17:
|
|
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 a8 02
|
|
00 00 sub rsp, 680 ; 000002a8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 c7 85 04 02 00
|
|
00 00 00 00 00 mov DWORD PTR $T9[rbp], 0
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 156 : for (PNATIVE_CODE_LINK T = Block2->Start; T && T != Block2->End->Next; T = T->Next)
|
|
|
|
0002e 48 8b 85 a8 02
|
|
00 00 mov rax, QWORD PTR Block2$[rbp]
|
|
00035 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00038 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
0003c eb 0b jmp SHORT $LN4@NcFixLabel
|
|
$LN2@NcFixLabel:
|
|
0003e 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00042 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00045 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcFixLabel:
|
|
00049 48 83 7d 08 00 cmp QWORD PTR T$1[rbp], 0
|
|
0004e 0f 84 11 02 00
|
|
00 je $LN3@NcFixLabel
|
|
00054 48 8b 85 a8 02
|
|
00 00 mov rax, QWORD PTR Block2$[rbp]
|
|
0005b 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
0005f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00062 48 39 45 08 cmp QWORD PTR T$1[rbp], rax
|
|
00066 0f 84 f9 01 00
|
|
00 je $LN3@NcFixLabel
|
|
|
|
; 157 : {
|
|
; 158 : if ((T->Flags & CODE_FLAG_IS_LABEL) && StdFind(Block1->LabelIds.begin(), Block1->LabelIds.end(), T->Label) != Block1->LabelIds.end())
|
|
|
|
0006c 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00070 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00073 83 e0 01 and eax, 1
|
|
00076 85 c0 test eax, eax
|
|
00078 0f 84 48 01 00
|
|
00 je $LN7@NcFixLabel
|
|
0007e 48 8d 85 08 01
|
|
00 00 lea rax, QWORD PTR $T3[rbp]
|
|
00085 48 89 85 38 01
|
|
00 00 mov QWORD PTR $T4[rbp], rax
|
|
0008c 48 8b 85 a0 02
|
|
00 00 mov rax, QWORD PTR Block1$[rbp]
|
|
00093 48 83 c0 10 add rax, 16
|
|
00097 48 89 85 18 02
|
|
00 00 mov QWORD PTR tv89[rbp], rax
|
|
0009e 48 8b 95 38 01
|
|
00 00 mov rdx, QWORD PTR $T4[rbp]
|
|
000a5 48 8b 8d 18 02
|
|
00 00 mov rcx, QWORD PTR tv89[rbp]
|
|
000ac e8 00 00 00 00 call ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
000b1 48 89 85 20 02
|
|
00 00 mov QWORD PTR tv181[rbp], rax
|
|
000b8 48 8b 85 20 02
|
|
00 00 mov rax, QWORD PTR tv181[rbp]
|
|
000bf 48 89 85 28 02
|
|
00 00 mov QWORD PTR tv138[rbp], rax
|
|
000c6 48 8d 85 58 01
|
|
00 00 lea rax, QWORD PTR $T5[rbp]
|
|
000cd 48 89 85 88 01
|
|
00 00 mov QWORD PTR $T6[rbp], rax
|
|
000d4 48 8b 85 a0 02
|
|
00 00 mov rax, QWORD PTR Block1$[rbp]
|
|
000db 48 83 c0 10 add rax, 16
|
|
000df 48 89 85 30 02
|
|
00 00 mov QWORD PTR tv133[rbp], rax
|
|
000e6 48 8b 95 88 01
|
|
00 00 mov rdx, QWORD PTR $T6[rbp]
|
|
000ed 48 8b 8d 30 02
|
|
00 00 mov rcx, QWORD PTR tv133[rbp]
|
|
000f4 e8 00 00 00 00 call ?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::begin
|
|
000f9 48 89 85 38 02
|
|
00 00 mov QWORD PTR tv183[rbp], rax
|
|
00100 48 8b 85 38 02
|
|
00 00 mov rax, QWORD PTR tv183[rbp]
|
|
00107 48 89 85 40 02
|
|
00 00 mov QWORD PTR tv92[rbp], rax
|
|
0010e 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00112 48 83 c0 1c add rax, 28
|
|
00116 4c 8b c8 mov r9, rax
|
|
00119 4c 8b 85 28 02
|
|
00 00 mov r8, QWORD PTR tv138[rbp]
|
|
00120 48 8b 95 40 02
|
|
00 00 mov rdx, QWORD PTR tv92[rbp]
|
|
00127 48 8d 8d a8 01
|
|
00 00 lea rcx, QWORD PTR $T7[rbp]
|
|
0012e e8 00 00 00 00 call ??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z ; std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>
|
|
00133 48 89 85 48 02
|
|
00 00 mov QWORD PTR tv188[rbp], rax
|
|
0013a 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR $T9[rbp]
|
|
00140 83 c8 01 or eax, 1
|
|
00143 89 85 04 02 00
|
|
00 mov DWORD PTR $T9[rbp], eax
|
|
00149 48 8b 85 48 02
|
|
00 00 mov rax, QWORD PTR tv188[rbp]
|
|
00150 48 89 85 50 02
|
|
00 00 mov QWORD PTR tv161[rbp], rax
|
|
00157 48 8b 85 a0 02
|
|
00 00 mov rax, QWORD PTR Block1$[rbp]
|
|
0015e 48 83 c0 10 add rax, 16
|
|
00162 48 89 85 58 02
|
|
00 00 mov QWORD PTR tv153[rbp], rax
|
|
00169 48 8d 95 d8 01
|
|
00 00 lea rdx, QWORD PTR $T8[rbp]
|
|
00170 48 8b 8d 58 02
|
|
00 00 mov rcx, QWORD PTR tv153[rbp]
|
|
00177 e8 00 00 00 00 call ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
0017c 48 89 85 60 02
|
|
00 00 mov QWORD PTR tv193[rbp], rax
|
|
00183 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR $T9[rbp]
|
|
00189 83 c8 02 or eax, 2
|
|
0018c 89 85 04 02 00
|
|
00 mov DWORD PTR $T9[rbp], eax
|
|
00192 48 8b 85 60 02
|
|
00 00 mov rax, QWORD PTR tv193[rbp]
|
|
00199 48 89 85 68 02
|
|
00 00 mov QWORD PTR tv159[rbp], rax
|
|
001a0 48 8b 95 68 02
|
|
00 00 mov rdx, QWORD PTR tv159[rbp]
|
|
001a7 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR tv161[rbp]
|
|
001ae e8 00 00 00 00 call ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator!=
|
|
001b3 0f b6 c0 movzx eax, al
|
|
001b6 85 c0 test eax, eax
|
|
001b8 74 0c je SHORT $LN7@NcFixLabel
|
|
001ba c7 85 70 02 00
|
|
00 01 00 00 00 mov DWORD PTR tv165[rbp], 1
|
|
001c4 eb 0a jmp SHORT $LN8@NcFixLabel
|
|
$LN7@NcFixLabel:
|
|
001c6 c7 85 70 02 00
|
|
00 00 00 00 00 mov DWORD PTR tv165[rbp], 0
|
|
$LN8@NcFixLabel:
|
|
001d0 0f b6 85 70 02
|
|
00 00 movzx eax, BYTE PTR tv165[rbp]
|
|
001d7 88 85 e4 00 00
|
|
00 mov BYTE PTR $T2[rbp], al
|
|
001dd 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR $T9[rbp]
|
|
001e3 83 e0 02 and eax, 2
|
|
001e6 85 c0 test eax, eax
|
|
001e8 74 13 je SHORT $LN15@NcFixLabel
|
|
001ea 83 a5 04 02 00
|
|
00 fd and DWORD PTR $T9[rbp], -3
|
|
001f1 48 8d 8d d8 01
|
|
00 00 lea rcx, QWORD PTR $T8[rbp]
|
|
001f8 e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
$LN15@NcFixLabel:
|
|
001fd 8b 85 04 02 00
|
|
00 mov eax, DWORD PTR $T9[rbp]
|
|
00203 83 e0 01 and eax, 1
|
|
00206 85 c0 test eax, eax
|
|
00208 74 13 je SHORT $LN16@NcFixLabel
|
|
0020a 83 a5 04 02 00
|
|
00 fe and DWORD PTR $T9[rbp], -2
|
|
00211 48 8d 8d a8 01
|
|
00 00 lea rcx, QWORD PTR $T7[rbp]
|
|
00218 e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
$LN16@NcFixLabel:
|
|
0021d 0f b6 85 e4 00
|
|
00 00 movzx eax, BYTE PTR $T2[rbp]
|
|
00224 85 c0 test eax, eax
|
|
00226 74 38 je SHORT $LN5@NcFixLabel
|
|
|
|
; 159 : {
|
|
; 160 : NcChangeLabelId(Block2, T->Label, NcGenUnusedLabelId(Block1));
|
|
|
|
00228 48 8b 8d a0 02
|
|
00 00 mov rcx, QWORD PTR Block1$[rbp]
|
|
0022f e8 00 00 00 00 call ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcGenUnusedLabelId
|
|
00234 89 85 14 02 00
|
|
00 mov DWORD PTR tv178[rbp], eax
|
|
0023a 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
0023e 8b 40 1c mov eax, DWORD PTR [rax+28]
|
|
00241 89 85 18 02 00
|
|
00 mov DWORD PTR tv176[rbp], eax
|
|
00247 44 8b 85 14 02
|
|
00 00 mov r8d, DWORD PTR tv178[rbp]
|
|
0024e 8b 95 18 02 00
|
|
00 mov edx, DWORD PTR tv176[rbp]
|
|
00254 48 8b 8d a8 02
|
|
00 00 mov rcx, QWORD PTR Block2$[rbp]
|
|
0025b e8 00 00 00 00 call ?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z ; NcChangeLabelId
|
|
$LN5@NcFixLabel:
|
|
|
|
; 161 : }
|
|
; 162 : }
|
|
|
|
00260 e9 d9 fd ff ff jmp $LN2@NcFixLabel
|
|
$LN3@NcFixLabel:
|
|
|
|
; 163 : }
|
|
|
|
00265 48 8d a5 88 02
|
|
00 00 lea rsp, QWORD PTR [rbp+648]
|
|
0026c 5f pop rdi
|
|
0026d 5d pop rbp
|
|
0026e c3 ret 0
|
|
?NcFixLabelsForBlocks@@YAXPEAU_NATIVE_CODE_BLOCK@@0@Z ENDP ; NcFixLabelsForBlocks
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
ReturnLabelId$ = 4
|
|
$T4 = 228
|
|
$T5 = 264
|
|
$T6 = 312
|
|
$T7 = 344
|
|
$T8 = 392
|
|
$T9 = 424
|
|
$T10 = 472
|
|
tv161 = 504
|
|
tv81 = 504
|
|
tv164 = 512
|
|
tv130 = 520
|
|
tv93 = 528
|
|
tv166 = 536
|
|
tv84 = 544
|
|
tv168 = 552
|
|
tv153 = 560
|
|
tv145 = 568
|
|
tv170 = 576
|
|
tv151 = 584
|
|
__$ArrayPad$ = 592
|
|
Block$ = 640
|
|
?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcGenUnusedLabelId, COMDAT
|
|
|
|
; 137 : {
|
|
|
|
$LN9:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 88 02
|
|
00 00 sub rsp, 648 ; 00000288H
|
|
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 6a 00 00 00 mov ecx, 106 ; 0000006aH
|
|
0001d b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00022 f3 ab rep stosd
|
|
00024 48 8b 8c 24 a8
|
|
02 00 00 mov rcx, QWORD PTR [rsp+680]
|
|
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 50 02
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
0003d 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00044 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 138 : ULONG ReturnLabelId = rand();
|
|
|
|
00049 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_rand
|
|
0004f 89 45 04 mov DWORD PTR ReturnLabelId$[rbp], eax
|
|
$LN2@NcGenUnuse:
|
|
|
|
; 139 : while (StdFind(Block->LabelIds.begin(), Block->LabelIds.end(), ReturnLabelId) != Block->LabelIds.end())
|
|
|
|
00052 48 8d 85 08 01
|
|
00 00 lea rax, QWORD PTR $T5[rbp]
|
|
00059 48 89 85 38 01
|
|
00 00 mov QWORD PTR $T6[rbp], rax
|
|
00060 48 8b 85 80 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00067 48 83 c0 10 add rax, 16
|
|
0006b 48 89 85 f8 01
|
|
00 00 mov QWORD PTR tv81[rbp], rax
|
|
00072 48 8b 95 38 01
|
|
00 00 mov rdx, QWORD PTR $T6[rbp]
|
|
00079 48 8b 8d f8 01
|
|
00 00 mov rcx, QWORD PTR tv81[rbp]
|
|
00080 e8 00 00 00 00 call ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
00085 48 89 85 00 02
|
|
00 00 mov QWORD PTR tv164[rbp], rax
|
|
0008c 48 8b 85 00 02
|
|
00 00 mov rax, QWORD PTR tv164[rbp]
|
|
00093 48 89 85 08 02
|
|
00 00 mov QWORD PTR tv130[rbp], rax
|
|
0009a 48 8d 85 58 01
|
|
00 00 lea rax, QWORD PTR $T7[rbp]
|
|
000a1 48 89 85 88 01
|
|
00 00 mov QWORD PTR $T8[rbp], rax
|
|
000a8 48 8b 85 80 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000af 48 83 c0 10 add rax, 16
|
|
000b3 48 89 85 10 02
|
|
00 00 mov QWORD PTR tv93[rbp], rax
|
|
000ba 48 8b 95 88 01
|
|
00 00 mov rdx, QWORD PTR $T8[rbp]
|
|
000c1 48 8b 8d 10 02
|
|
00 00 mov rcx, QWORD PTR tv93[rbp]
|
|
000c8 e8 00 00 00 00 call ?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::begin
|
|
000cd 48 89 85 18 02
|
|
00 00 mov QWORD PTR tv166[rbp], rax
|
|
000d4 48 8b 85 18 02
|
|
00 00 mov rax, QWORD PTR tv166[rbp]
|
|
000db 48 89 85 20 02
|
|
00 00 mov QWORD PTR tv84[rbp], rax
|
|
000e2 4c 8d 4d 04 lea r9, QWORD PTR ReturnLabelId$[rbp]
|
|
000e6 4c 8b 85 08 02
|
|
00 00 mov r8, QWORD PTR tv130[rbp]
|
|
000ed 48 8b 95 20 02
|
|
00 00 mov rdx, QWORD PTR tv84[rbp]
|
|
000f4 48 8d 8d a8 01
|
|
00 00 lea rcx, QWORD PTR $T9[rbp]
|
|
000fb e8 00 00 00 00 call ??$find@V?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@K@std@@YA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@0@V10@V10@AEBK@Z ; std::find<std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >,unsigned long>
|
|
00100 48 89 85 28 02
|
|
00 00 mov QWORD PTR tv168[rbp], rax
|
|
00107 48 8b 85 28 02
|
|
00 00 mov rax, QWORD PTR tv168[rbp]
|
|
0010e 48 89 85 30 02
|
|
00 00 mov QWORD PTR tv153[rbp], rax
|
|
00115 48 8b 85 80 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0011c 48 83 c0 10 add rax, 16
|
|
00120 48 89 85 38 02
|
|
00 00 mov QWORD PTR tv145[rbp], rax
|
|
00127 48 8d 95 d8 01
|
|
00 00 lea rdx, QWORD PTR $T10[rbp]
|
|
0012e 48 8b 8d 38 02
|
|
00 00 mov rcx, QWORD PTR tv145[rbp]
|
|
00135 e8 00 00 00 00 call ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
0013a 48 89 85 40 02
|
|
00 00 mov QWORD PTR tv170[rbp], rax
|
|
00141 48 8b 85 40 02
|
|
00 00 mov rax, QWORD PTR tv170[rbp]
|
|
00148 48 89 85 48 02
|
|
00 00 mov QWORD PTR tv151[rbp], rax
|
|
0014f 48 8b 95 48 02
|
|
00 00 mov rdx, QWORD PTR tv151[rbp]
|
|
00156 48 8b 8d 30 02
|
|
00 00 mov rcx, QWORD PTR tv153[rbp]
|
|
0015d e8 00 00 00 00 call ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEBA_NAEBV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned long> > >::operator!=
|
|
00162 88 85 e4 00 00
|
|
00 mov BYTE PTR $T4[rbp], al
|
|
00168 48 8d 8d d8 01
|
|
00 00 lea rcx, QWORD PTR $T10[rbp]
|
|
0016f e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
00174 48 8d 8d a8 01
|
|
00 00 lea rcx, QWORD PTR $T9[rbp]
|
|
0017b e8 00 00 00 00 call ??1?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@XZ
|
|
00180 0f b6 85 e4 00
|
|
00 00 movzx eax, BYTE PTR $T4[rbp]
|
|
00187 85 c0 test eax, eax
|
|
00189 74 0e je SHORT $LN3@NcGenUnuse
|
|
|
|
; 140 : ReturnLabelId = rand();
|
|
|
|
0018b ff 15 00 00 00
|
|
00 call QWORD PTR __imp_rand
|
|
00191 89 45 04 mov DWORD PTR ReturnLabelId$[rbp], eax
|
|
00194 e9 b9 fe ff ff jmp $LN2@NcGenUnuse
|
|
$LN3@NcGenUnuse:
|
|
|
|
; 141 : Block->LabelIds.push_back(ReturnLabelId);
|
|
|
|
00199 48 8b 85 80 02
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
001a0 48 83 c0 10 add rax, 16
|
|
001a4 48 89 85 f8 01
|
|
00 00 mov QWORD PTR tv161[rbp], rax
|
|
001ab 48 8d 55 04 lea rdx, QWORD PTR ReturnLabelId$[rbp]
|
|
001af 48 8b 8d f8 01
|
|
00 00 mov rcx, QWORD PTR tv161[rbp]
|
|
001b6 e8 00 00 00 00 call ?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back
|
|
|
|
; 142 : return ReturnLabelId;
|
|
|
|
001bb 8b 45 04 mov eax, DWORD PTR ReturnLabelId$[rbp]
|
|
|
|
; 143 : }
|
|
|
|
001be 8b f8 mov edi, eax
|
|
001c0 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
001c4 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
|
|
001cb e8 00 00 00 00 call _RTC_CheckStackVars
|
|
001d0 8b c7 mov eax, edi
|
|
001d2 48 8b 8d 50 02
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
001d9 48 33 cd xor rcx, rbp
|
|
001dc e8 00 00 00 00 call __security_check_cookie
|
|
001e1 48 8d a5 68 02
|
|
00 00 lea rsp, QWORD PTR [rbp+616]
|
|
001e8 5f pop rdi
|
|
001e9 5d pop rbp
|
|
001ea c3 ret 0
|
|
?NcGenUnusedLabelId@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcGenUnusedLabelId
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z
|
|
_TEXT SEGMENT
|
|
T$1 = 8
|
|
Block$ = 256
|
|
Original$ = 264
|
|
New$ = 272
|
|
?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z PROC ; NcChangeLabelId, COMDAT
|
|
|
|
; 146 : {
|
|
|
|
$LN8:
|
|
00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
00005 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000e 55 push rbp
|
|
0000f 57 push rdi
|
|
00010 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 147 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
00028 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0002f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00032 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
00036 eb 0b jmp SHORT $LN4@NcChangeLa
|
|
$LN2@NcChangeLa:
|
|
00038 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
0003c 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003f 48 89 45 08 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcChangeLa:
|
|
00043 48 83 7d 08 00 cmp QWORD PTR T$1[rbp], 0
|
|
00048 74 4e je SHORT $LN3@NcChangeLa
|
|
0004a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00051 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00055 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00058 48 39 45 08 cmp QWORD PTR T$1[rbp], rax
|
|
0005c 74 3a je SHORT $LN3@NcChangeLa
|
|
|
|
; 148 : {
|
|
; 149 : if (((T->Flags & CODE_FLAG_IS_LABEL) || (T->Flags & CODE_FLAG_IS_REL_JMP)) && T->Label == Original)
|
|
|
|
0005e 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00062 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00065 83 e0 01 and eax, 1
|
|
00068 85 c0 test eax, eax
|
|
0006a 75 0e jne SHORT $LN6@NcChangeLa
|
|
0006c 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
00070 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00073 83 e0 02 and eax, 2
|
|
00076 85 c0 test eax, eax
|
|
00078 74 1c je SHORT $LN5@NcChangeLa
|
|
$LN6@NcChangeLa:
|
|
0007a 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
0007e 8b 8d 08 01 00
|
|
00 mov ecx, DWORD PTR Original$[rbp]
|
|
00084 39 48 1c cmp DWORD PTR [rax+28], ecx
|
|
00087 75 0d jne SHORT $LN5@NcChangeLa
|
|
|
|
; 150 : T->Label = New;
|
|
|
|
00089 48 8b 45 08 mov rax, QWORD PTR T$1[rbp]
|
|
0008d 8b 8d 10 01 00
|
|
00 mov ecx, DWORD PTR New$[rbp]
|
|
00093 89 48 1c mov DWORD PTR [rax+28], ecx
|
|
$LN5@NcChangeLa:
|
|
|
|
; 151 : }
|
|
|
|
00096 eb a0 jmp SHORT $LN2@NcChangeLa
|
|
$LN3@NcChangeLa:
|
|
|
|
; 152 : }
|
|
|
|
00098 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0009f 5f pop rdi
|
|
000a0 5d pop rbp
|
|
000a1 c3 ret 0
|
|
?NcChangeLabelId@@YAXPEAU_NATIVE_CODE_BLOCK@@KK@Z ENDP ; NcChangeLabelId
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
TotalSize$ = 4
|
|
T$1 = 40
|
|
Block$ = 288
|
|
?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcCalcBlockSize, COMDAT
|
|
|
|
; 125 : {
|
|
|
|
$LN7:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 126 : ULONG TotalSize = 0;
|
|
|
|
0001f c7 45 04 00 00
|
|
00 00 mov DWORD PTR TotalSize$[rbp], 0
|
|
|
|
; 127 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
|
|
|
|
00026 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0002d 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00030 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
00034 eb 0b jmp SHORT $LN4@NcCalcBloc
|
|
$LN2@NcCalcBloc:
|
|
00036 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
0003a 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0003d 48 89 45 28 mov QWORD PTR T$1[rbp], rax
|
|
$LN4@NcCalcBloc:
|
|
00041 48 83 7d 28 00 cmp QWORD PTR T$1[rbp], 0
|
|
00046 74 37 je SHORT $LN3@NcCalcBloc
|
|
00048 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0004f 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00053 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00056 48 39 45 28 cmp QWORD PTR T$1[rbp], rax
|
|
0005a 74 23 je SHORT $LN3@NcCalcBloc
|
|
|
|
; 128 : {
|
|
; 129 : if (T->Flags & CODE_FLAG_IS_LABEL)
|
|
|
|
0005c 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
00060 8b 40 18 mov eax, DWORD PTR [rax+24]
|
|
00063 83 e0 01 and eax, 1
|
|
00066 85 c0 test eax, eax
|
|
00068 74 02 je SHORT $LN5@NcCalcBloc
|
|
|
|
; 130 : continue;
|
|
|
|
0006a eb ca jmp SHORT $LN2@NcCalcBloc
|
|
$LN5@NcCalcBloc:
|
|
|
|
; 131 : TotalSize += T->RawDataSize;
|
|
|
|
0006c 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
|
|
00070 8b 40 28 mov eax, DWORD PTR [rax+40]
|
|
00073 8b 4d 04 mov ecx, DWORD PTR TotalSize$[rbp]
|
|
00076 03 c8 add ecx, eax
|
|
00078 8b c1 mov eax, ecx
|
|
0007a 89 45 04 mov DWORD PTR TotalSize$[rbp], eax
|
|
|
|
; 132 : }
|
|
|
|
0007d eb b7 jmp SHORT $LN2@NcCalcBloc
|
|
$LN3@NcCalcBloc:
|
|
|
|
; 133 : return TotalSize;
|
|
|
|
0007f 8b 45 04 mov eax, DWORD PTR TotalSize$[rbp]
|
|
|
|
; 134 : }
|
|
|
|
00082 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00089 5f pop rdi
|
|
0008a 5d pop rbp
|
|
0008b c3 ret 0
|
|
?NcCalcBlockSize@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcCalcBlockSize
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z
|
|
_TEXT SEGMENT
|
|
Link$ = 224
|
|
?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z PROC ; NcUnlink, COMDAT
|
|
|
|
; 114 : {
|
|
|
|
$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 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:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 115 : if (Link)
|
|
|
|
0001f 48 83 bd e0 00
|
|
00 00 00 cmp QWORD PTR Link$[rbp], 0
|
|
00027 74 4c je SHORT $LN2@NcUnlink
|
|
|
|
; 116 : {
|
|
; 117 : if (Link->Next)
|
|
|
|
00029 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00030 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00034 74 19 je SHORT $LN3@NcUnlink
|
|
|
|
; 118 : Link->Next->Prev = Link->Prev;
|
|
|
|
00036 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0003d 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00040 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00047 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
0004b 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
$LN3@NcUnlink:
|
|
|
|
; 119 : if (Link->Prev)
|
|
|
|
0004f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00056 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
0005b 74 18 je SHORT $LN4@NcUnlink
|
|
|
|
; 120 : Link->Prev->Next = Link->Next;
|
|
|
|
0005d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00064 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00068 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
0006f 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00072 48 89 08 mov QWORD PTR [rax], rcx
|
|
$LN4@NcUnlink:
|
|
$LN2@NcUnlink:
|
|
|
|
; 121 : }
|
|
; 122 : }
|
|
|
|
00075 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0007c 5f pop rdi
|
|
0007d 5d pop rbp
|
|
0007e c3 ret 0
|
|
?NcUnlink@@YAXPEAU_NATIVE_CODE_LINK@@@Z ENDP ; NcUnlink
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z
|
|
_TEXT SEGMENT
|
|
Link1$ = 224
|
|
Link2$ = 232
|
|
?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z PROC ; NcInsertLinkBefore, COMDAT
|
|
|
|
; 102 : {
|
|
|
|
$LN5:
|
|
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:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 103 : if (Link1)
|
|
|
|
00024 48 83 bd e0 00
|
|
00 00 00 cmp QWORD PTR Link1$[rbp], 0
|
|
0002c 74 5c je SHORT $LN2@NcInsertLi
|
|
|
|
; 104 : {
|
|
; 105 : Link2->Next = Link1;
|
|
|
|
0002e 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
00035 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link1$[rbp]
|
|
0003c 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 106 : Link2->Prev = Link1->Prev;
|
|
|
|
0003f 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
00046 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link1$[rbp]
|
|
0004d 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00051 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 107 : Link1->Prev = Link2;
|
|
|
|
00055 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link1$[rbp]
|
|
0005c 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link2$[rbp]
|
|
00063 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 108 : if (Link2->Prev)
|
|
|
|
00067 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
0006e 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00073 74 15 je SHORT $LN3@NcInsertLi
|
|
|
|
; 109 : Link2->Prev->Next = Link2;
|
|
|
|
00075 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
0007c 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00080 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link2$[rbp]
|
|
00087 48 89 08 mov QWORD PTR [rax], rcx
|
|
$LN3@NcInsertLi:
|
|
$LN2@NcInsertLi:
|
|
|
|
; 110 : }
|
|
; 111 : }
|
|
|
|
0008a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00091 5f pop rdi
|
|
00092 5d pop rbp
|
|
00093 c3 ret 0
|
|
?NcInsertLinkBefore@@YAXPEAU_NATIVE_CODE_LINK@@0@Z ENDP ; NcInsertLinkBefore
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z
|
|
_TEXT SEGMENT
|
|
Link1$ = 224
|
|
Link2$ = 232
|
|
?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z PROC ; NcInsertLinkAfter, COMDAT
|
|
|
|
; 90 : {
|
|
|
|
$LN5:
|
|
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:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 91 : if (Link1)
|
|
|
|
00024 48 83 bd e0 00
|
|
00 00 00 cmp QWORD PTR Link1$[rbp], 0
|
|
0002c 74 59 je SHORT $LN2@NcInsertLi
|
|
|
|
; 92 : {
|
|
; 93 : Link2->Prev = Link1;
|
|
|
|
0002e 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
00035 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link1$[rbp]
|
|
0003c 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 94 : Link2->Next = Link1->Next;
|
|
|
|
00040 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
00047 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Link1$[rbp]
|
|
0004e 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00051 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 95 : Link1->Next = Link2;
|
|
|
|
00054 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Link1$[rbp]
|
|
0005b 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link2$[rbp]
|
|
00062 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 96 : if (Link2->Next)
|
|
|
|
00065 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
0006c 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00070 74 15 je SHORT $LN3@NcInsertLi
|
|
|
|
; 97 : Link2->Next->Prev = Link2;
|
|
|
|
00072 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link2$[rbp]
|
|
00079 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0007c 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link2$[rbp]
|
|
00083 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
$LN3@NcInsertLi:
|
|
$LN2@NcInsertLi:
|
|
|
|
; 98 : }
|
|
; 99 : }
|
|
|
|
00087 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0008e 5f pop rdi
|
|
0008f 5d pop rbp
|
|
00090 c3 ret 0
|
|
?NcInsertLinkAfter@@YAXPEAU_NATIVE_CODE_LINK@@0@Z ENDP ; NcInsertLinkAfter
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z
|
|
_TEXT SEGMENT
|
|
Block$ = 224
|
|
Link$ = 232
|
|
?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z PROC ; NcPrependToBlock, COMDAT
|
|
|
|
; 70 : {
|
|
|
|
$LN7:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 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:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 71 : if (!Link)
|
|
|
|
00024 48 83 bd e8 00
|
|
00 00 00 cmp QWORD PTR Link$[rbp], 0
|
|
0002c 75 05 jne SHORT $LN2@NcPrependT
|
|
|
|
; 72 : return;
|
|
|
|
0002e e9 9b 00 00 00 jmp $LN1@NcPrependT
|
|
$LN2@NcPrependT:
|
|
|
|
; 73 :
|
|
; 74 : Link->Block = Block;
|
|
|
|
00033 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0003a 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00041 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 75 : Link->Next = Block->Start;
|
|
|
|
00045 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0004c 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00053 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00056 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 76 : Link->Prev = NULL;
|
|
|
|
00059 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00060 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
|
|
; 77 :
|
|
; 78 : if (!Block->End || !Block->Start)
|
|
|
|
00068 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0006f 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00074 74 0d je SHORT $LN5@NcPrependT
|
|
00076 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0007d 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00081 75 25 jne SHORT $LN3@NcPrependT
|
|
$LN5@NcPrependT:
|
|
|
|
; 79 : {
|
|
; 80 : Block->Start = Block->End = Link;
|
|
|
|
00083 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0008a 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00091 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
00095 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0009c 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000a3 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 81 : }
|
|
|
|
000a6 eb 26 jmp SHORT $LN4@NcPrependT
|
|
$LN3@NcPrependT:
|
|
|
|
; 82 : else
|
|
; 83 : {
|
|
; 84 : Block->Start->Prev = Link;
|
|
|
|
000a8 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000af 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000b2 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000b9 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 85 : Block->Start = Link;
|
|
|
|
000bd 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000c4 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000cb 48 89 08 mov QWORD PTR [rax], rcx
|
|
$LN4@NcPrependT:
|
|
$LN1@NcPrependT:
|
|
|
|
; 86 : }
|
|
; 87 : }
|
|
|
|
000ce 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
000d5 5f pop rdi
|
|
000d6 5d pop rbp
|
|
000d7 c3 ret 0
|
|
?NcPrependToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ENDP ; NcPrependToBlock
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z
|
|
_TEXT SEGMENT
|
|
Block$ = 224
|
|
Link$ = 232
|
|
?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z PROC ; NcAppendToBlock, COMDAT
|
|
|
|
; 50 : {
|
|
|
|
$LN7:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec 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:__337731E1_NativeCode@cpp
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 51 : if (!Link)
|
|
|
|
00024 48 83 bd e8 00
|
|
00 00 00 cmp QWORD PTR Link$[rbp], 0
|
|
0002c 75 05 jne SHORT $LN2@NcAppendTo
|
|
|
|
; 52 : return;
|
|
|
|
0002e e9 9d 00 00 00 jmp $LN1@NcAppendTo
|
|
$LN2@NcAppendTo:
|
|
|
|
; 53 :
|
|
; 54 : Link->Block = Block;
|
|
|
|
00033 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0003a 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00041 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 55 : Link->Prev = Block->End;
|
|
|
|
00045 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
0004c 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR Block$[rbp]
|
|
00053 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00057 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 56 : Link->Next = NULL;
|
|
|
|
0005b 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR Link$[rbp]
|
|
00062 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 57 :
|
|
; 58 : if (!Block->End || !Block->Start)
|
|
|
|
00069 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
00070 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
00075 74 0d je SHORT $LN5@NcAppendTo
|
|
00077 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0007e 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00082 75 25 jne SHORT $LN3@NcAppendTo
|
|
$LN5@NcAppendTo:
|
|
|
|
; 59 : {
|
|
; 60 : Block->Start = Block->End = Link;
|
|
|
|
00084 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0008b 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
00092 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
00096 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
0009d 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000a4 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 61 : }
|
|
|
|
000a7 eb 27 jmp SHORT $LN4@NcAppendTo
|
|
$LN3@NcAppendTo:
|
|
|
|
; 62 : else
|
|
; 63 : {
|
|
; 64 : Block->End->Next = Link;
|
|
|
|
000a9 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000b0 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
000b4 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000bb 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 65 : Block->End = Link;
|
|
|
|
000be 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR Block$[rbp]
|
|
000c5 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR Link$[rbp]
|
|
000cc 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
$LN4@NcAppendTo:
|
|
$LN1@NcAppendTo:
|
|
|
|
; 66 : }
|
|
; 67 : }
|
|
|
|
000d0 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
000d7 5f pop rdi
|
|
000d8 5d pop rbp
|
|
000d9 c3 ret 0
|
|
?NcAppendToBlock@@YAXPEAU_NATIVE_CODE_BLOCK@@PEAU_NATIVE_CODE_LINK@@@Z ENDP ; NcAppendToBlock
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ??0_NATIVE_CODE_BLOCK@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0_NATIVE_CODE_BLOCK@@QEAA@XZ PROC ; _NATIVE_CODE_BLOCK::_NATIVE_CODE_BLOCK, COMDAT
|
|
|
|
; 44 : {
|
|
|
|
$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:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 83 c0 10 add rax, 16
|
|
0002a 48 8b c8 mov rcx, rax
|
|
0002d e8 00 00 00 00 call ??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::vector<unsigned long,std::allocator<unsigned long> >
|
|
|
|
; 45 : Start = End = NULL;
|
|
|
|
00032 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00039 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
00041 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00048 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 46 : LabelIds.clear();
|
|
|
|
0004f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00056 48 83 c0 10 add rax, 16
|
|
0005a 48 8b c8 mov rcx, rax
|
|
0005d e8 00 00 00 00 call ?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::clear
|
|
|
|
; 47 : }
|
|
|
|
00062 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00069 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00070 5f pop rdi
|
|
00071 5d pop rbp
|
|
00072 c3 ret 0
|
|
??0_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@@QEBAAEBV?$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@@QEBAAEBV?$allocator@K@2@XZ PROC ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Get_first, COMDAT
|
|
|
|
; 1381 : constexpr const _Ty1& _Get_first() const 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
|
|
|
|
; 1382 : return *this;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
|
|
; 1383 : }
|
|
|
|
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@@QEBAAEBV?$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\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 ??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ PROC ; std::_Vector_val<std::_Simple_types<unsigned long> >::_Vector_val<std::_Simple_types<unsigned long> >, COMDAT
|
|
|
|
; 401 : _CONSTEXPR20_CONTAINER _Vector_val() noexcept : _Myfirst(), _Mylast(), _Myend() {}
|
|
|
|
$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
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ??0_Container_base12@std@@QEAA@XZ ; std::_Container_base12::_Container_base12
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00032 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
0003a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00041 48 c7 40 10 00
|
|
00 00 00 mov QWORD PTR [rax+16], 0
|
|
00049 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00050 48 c7 40 18 00
|
|
00 00 00 mov QWORD PTR [rax+24], 0
|
|
00058 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0005f 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00066 5f pop rdi
|
|
00067 5d pop rbp
|
|
00068 c3 ret 0
|
|
??0?$_Vector_val@U?$_Simple_types@K@std@@@std@@QEAA@XZ ENDP ; std::_Vector_val<std::_Simple_types<unsigned long> >::_Vector_val<std::_Simple_types<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\vector
|
|
; COMDAT ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal, COMDAT
|
|
|
|
; 1821 : _NODISCARD _CONSTEXPR20_CONTAINER const _Alty& _Getal() const 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
|
|
|
|
; 1822 : 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@@QEBAAEBV?$allocator@K@2@XZ ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Get_first
|
|
|
|
; 1823 : }
|
|
|
|
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@@AEBAAEBV?$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 ?_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 ?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_First$ = 232
|
|
_Last$ = 240
|
|
?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range, COMDAT
|
|
|
|
; 1802 : _CONSTEXPR20_CONTAINER void _Orphan_range(pointer _First, pointer _Last) const {
|
|
|
|
$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
|
|
|
|
; 1803 : // orphan iterators within specified (inclusive) range
|
|
; 1804 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1805 : if (_STD is_constant_evaluated()) {
|
|
; 1806 : _Orphan_range_unlocked(_First, _Last);
|
|
; 1807 : } else
|
|
; 1808 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1809 : {
|
|
; 1810 : _Orphan_range_locked(_First, _Last);
|
|
|
|
00029 4c 8b 85 f0 00
|
|
00 00 mov r8, QWORD PTR _Last$[rbp]
|
|
00030 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _First$[rbp]
|
|
00037 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0003e e8 00 00 00 00 call ?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
|
|
; 1811 : }
|
|
; 1812 : }
|
|
|
|
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
|
|
?_Orphan_range@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range
|
|
_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 ?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
_TEXT SEGMENT
|
|
_Lock$ = 4
|
|
__$ArrayPad$ = 216
|
|
this$ = 256
|
|
_First$ = 264
|
|
_Last$ = 272
|
|
?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked, COMDAT
|
|
|
|
; 1797 : void _Orphan_range_locked(pointer _First, pointer _Last) const {
|
|
|
|
$LN4:
|
|
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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
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 0a 00 00 00 mov ecx, 10
|
|
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002c f3 ab rep stosd
|
|
0002e 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
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 d8 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00047 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1798 : _Lockit _Lock(_LOCK_DEBUG);
|
|
|
|
00053 ba 03 00 00 00 mov edx, 3
|
|
00058 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
0005c ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??0_Lockit@std@@QEAA@H@Z
|
|
00062 90 npad 1
|
|
|
|
; 1799 : _Orphan_range_unlocked(_First, _Last);
|
|
|
|
00063 4c 8b 85 10 01
|
|
00 00 mov r8, QWORD PTR _Last$[rbp]
|
|
0006a 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _First$[rbp]
|
|
00071 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00078 e8 00 00 00 00 call ?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_unlocked
|
|
0007d 90 npad 1
|
|
|
|
; 1800 : }
|
|
|
|
0007e 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
00082 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ
|
|
00088 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
0008c 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z$rtcFrameData
|
|
00093 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
00098 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
0009f 48 33 cd xor rcx, rbp
|
|
000a2 e8 00 00 00 00 call __security_check_cookie
|
|
000a7 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
000ae 5f pop rdi
|
|
000af 5d pop rbp
|
|
000b0 c3 ret 0
|
|
?_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Lock$ = 4
|
|
__$ArrayPad$ = 216
|
|
this$ = 256
|
|
_First$ = 264
|
|
_Last$ = 272
|
|
?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA PROC ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked'::`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 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
00018 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ
|
|
0001e 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00022 5f pop rdi
|
|
00023 5d pop rbp
|
|
00024 c3 ret 0
|
|
?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA ENDP ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
_Lock$ = 4
|
|
__$ArrayPad$ = 216
|
|
this$ = 256
|
|
_First$ = 264
|
|
_Last$ = 272
|
|
?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA PROC ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked'::`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 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
00018 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ
|
|
0001e 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00022 5f pop rdi
|
|
00023 5d pop rbp
|
|
00024 c3 ret 0
|
|
?dtor$0@?0??_Orphan_range_locked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z@4HA ENDP ; `std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_locked'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vector
|
|
; COMDAT ?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z
|
|
_TEXT SEGMENT
|
|
_Pnext$ = 8
|
|
_Pnextptr$1 = 40
|
|
_Temp$2 = 72
|
|
_Temp$3 = 104
|
|
this$ = 352
|
|
_First$ = 360
|
|
_Last$ = 368
|
|
?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_unlocked, COMDAT
|
|
|
|
; 1782 : _CONSTEXPR20_CONTAINER void _Orphan_range_unlocked(pointer _First, pointer _Last) const {
|
|
|
|
$LN8:
|
|
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 68 01
|
|
00 00 sub rsp, 360 ; 00000168H
|
|
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
|
|
|
|
; 1783 : _Iterator_base12** _Pnext = &_Mypair._Myval2._Myproxy->_Myfirstiter;
|
|
|
|
00029 48 8b 85 60 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00030 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00033 48 83 c0 08 add rax, 8
|
|
00037 48 89 45 08 mov QWORD PTR _Pnext$[rbp], rax
|
|
$LN2@Orphan_ran:
|
|
|
|
; 1784 : while (*_Pnext) {
|
|
|
|
0003b 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
0003f 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00043 74 69 je SHORT $LN3@Orphan_ran
|
|
|
|
; 1785 : const auto _Pnextptr = static_cast<const_iterator&>(**_Pnext)._Ptr;
|
|
|
|
00045 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
00049 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0004c 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
00050 48 89 45 28 mov QWORD PTR _Pnextptr$1[rbp], rax
|
|
|
|
; 1786 : if (_Pnextptr < _First || _Last < _Pnextptr) { // skip the iterator
|
|
|
|
00054 48 8b 85 68 01
|
|
00 00 mov rax, QWORD PTR _First$[rbp]
|
|
0005b 48 39 45 28 cmp QWORD PTR _Pnextptr$1[rbp], rax
|
|
0005f 72 0d jb SHORT $LN6@Orphan_ran
|
|
00061 48 8b 45 28 mov rax, QWORD PTR _Pnextptr$1[rbp]
|
|
00065 48 39 85 70 01
|
|
00 00 cmp QWORD PTR _Last$[rbp], rax
|
|
0006c 73 19 jae SHORT $LN4@Orphan_ran
|
|
$LN6@Orphan_ran:
|
|
|
|
; 1787 : const auto _Temp = *_Pnext; // TRANSITION, VSO-1269037
|
|
|
|
0006e 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
00072 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00075 48 89 45 48 mov QWORD PTR _Temp$2[rbp], rax
|
|
|
|
; 1788 : _Pnext = &_Temp->_Mynextiter;
|
|
|
|
00079 48 8b 45 48 mov rax, QWORD PTR _Temp$2[rbp]
|
|
0007d 48 83 c0 08 add rax, 8
|
|
00081 48 89 45 08 mov QWORD PTR _Pnext$[rbp], rax
|
|
|
|
; 1789 : } else { // orphan the iterator
|
|
|
|
00085 eb 25 jmp SHORT $LN5@Orphan_ran
|
|
$LN4@Orphan_ran:
|
|
|
|
; 1790 : const auto _Temp = *_Pnext; // TRANSITION, VSO-1269037
|
|
|
|
00087 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
0008b 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0008e 48 89 45 68 mov QWORD PTR _Temp$3[rbp], rax
|
|
|
|
; 1791 : _Temp->_Myproxy = nullptr;
|
|
|
|
00092 48 8b 45 68 mov rax, QWORD PTR _Temp$3[rbp]
|
|
00096 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 1792 : *_Pnext = _Temp->_Mynextiter;
|
|
|
|
0009d 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
000a1 48 8b 4d 68 mov rcx, QWORD PTR _Temp$3[rbp]
|
|
000a5 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
000a9 48 89 08 mov QWORD PTR [rax], rcx
|
|
$LN5@Orphan_ran:
|
|
|
|
; 1793 : }
|
|
; 1794 : }
|
|
|
|
000ac eb 8d jmp SHORT $LN2@Orphan_ran
|
|
$LN3@Orphan_ran:
|
|
|
|
; 1795 : }
|
|
|
|
000ae 48 8d a5 48 01
|
|
00 00 lea rsp, QWORD PTR [rbp+328]
|
|
000b5 5f pop rdi
|
|
000b6 5d pop rbp
|
|
000b7 c3 ret 0
|
|
?_Orphan_range_unlocked@?$vector@KV?$allocator@K@std@@@std@@AEBAXPEAK0@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Orphan_range_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\vector
|
|
; COMDAT ?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ
|
|
_TEXT SEGMENT
|
|
?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Xlength, COMDAT
|
|
|
|
; 1773 : [[noreturn]] static void _Xlength() {
|
|
|
|
$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:__092B7E84_vector
|
|
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1774 : _Xlength_error("vector too long");
|
|
|
|
0001b 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_0BA@FOIKENOD@vector?5too?5long@
|
|
00022 e8 00 00 00 00 call ?_Xlength_error@std@@YAXPEBD@Z ; std::_Xlength_error
|
|
$LN2@Xlength:
|
|
|
|
; 1775 : }
|
|
|
|
00027 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0002e 5f pop rdi
|
|
0002f 5d pop rbp
|
|
00030 c3 ret 0
|
|
?_Xlength@?$vector@KV?$allocator@K@std@@@std@@CAXXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Xlength
|
|
_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 ?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
_Myfirst$ = 40
|
|
_Mylast$ = 72
|
|
_Myend$ = 104
|
|
tv90 = 312
|
|
tv88 = 320
|
|
tv86 = 328
|
|
this$ = 368
|
|
_Newvec$ = 376
|
|
_Newsize$ = 384
|
|
_Newcapacity$ = 392
|
|
?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Change_array, COMDAT
|
|
|
|
; 1736 : const pointer _Newvec, const size_type _Newsize, const size_type _Newcapacity) {
|
|
|
|
$LN4:
|
|
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 78 01
|
|
00 00 sub rsp, 376 ; 00000178H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1737 : // orphan all iterators, discard old array, acquire new array
|
|
; 1738 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
0002e 48 8b 85 70 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00035 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1739 : pointer& _Myfirst = _My_data._Myfirst;
|
|
|
|
00039 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
0003d 48 83 c0 08 add rax, 8
|
|
00041 48 89 45 28 mov QWORD PTR _Myfirst$[rbp], rax
|
|
|
|
; 1740 : pointer& _Mylast = _My_data._Mylast;
|
|
|
|
00045 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00049 48 83 c0 10 add rax, 16
|
|
0004d 48 89 45 48 mov QWORD PTR _Mylast$[rbp], rax
|
|
|
|
; 1741 : pointer& _Myend = _My_data._Myend;
|
|
|
|
00051 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00055 48 83 c0 18 add rax, 24
|
|
00059 48 89 45 68 mov QWORD PTR _Myend$[rbp], rax
|
|
|
|
; 1742 :
|
|
; 1743 : _My_data._Orphan_all();
|
|
|
|
0005d 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00061 e8 00 00 00 00 call ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all
|
|
|
|
; 1744 :
|
|
; 1745 : if (_Myfirst) { // destroy and deallocate old array
|
|
|
|
00066 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
0006a 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
0006e 74 71 je SHORT $LN2@Change_arr
|
|
|
|
; 1746 : _Destroy(_Myfirst, _Mylast);
|
|
|
|
00070 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00074 4c 8b 00 mov r8, QWORD PTR [rax]
|
|
00077 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
0007b 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
0007e 48 8b 8d 70 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00085 e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
|
|
|
|
; 1747 : _Getal().deallocate(_Myfirst, static_cast<size_type>(_Myend - _Myfirst));
|
|
|
|
0008a 48 8b 8d 70 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00091 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
|
|
00096 48 89 85 38 01
|
|
00 00 mov QWORD PTR tv90[rbp], rax
|
|
0009d 48 8b 45 68 mov rax, QWORD PTR _Myend$[rbp]
|
|
000a1 48 8b 4d 28 mov rcx, QWORD PTR _Myfirst$[rbp]
|
|
000a5 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
000a8 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000ab 48 2b c1 sub rax, rcx
|
|
000ae 48 c1 f8 02 sar rax, 2
|
|
000b2 48 89 85 40 01
|
|
00 00 mov QWORD PTR tv88[rbp], rax
|
|
000b9 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
000bd 48 8b 00 mov rax, QWORD PTR [rax]
|
|
000c0 48 89 85 48 01
|
|
00 00 mov QWORD PTR tv86[rbp], rax
|
|
000c7 4c 8b 85 40 01
|
|
00 00 mov r8, QWORD PTR tv88[rbp]
|
|
000ce 48 8b 95 48 01
|
|
00 00 mov rdx, QWORD PTR tv86[rbp]
|
|
000d5 48 8b 8d 38 01
|
|
00 00 mov rcx, QWORD PTR tv90[rbp]
|
|
000dc e8 00 00 00 00 call ?deallocate@?$allocator@K@std@@QEAAXQEAK_K@Z ; std::allocator<unsigned long>::deallocate
|
|
$LN2@Change_arr:
|
|
|
|
; 1748 : }
|
|
; 1749 :
|
|
; 1750 : _Myfirst = _Newvec;
|
|
|
|
000e1 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
000e5 48 8b 8d 78 01
|
|
00 00 mov rcx, QWORD PTR _Newvec$[rbp]
|
|
000ec 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1751 : _Mylast = _Newvec + _Newsize;
|
|
|
|
000ef 48 8b 85 78 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
000f6 48 8b 8d 80 01
|
|
00 00 mov rcx, QWORD PTR _Newsize$[rbp]
|
|
000fd 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4]
|
|
00101 48 8b 4d 48 mov rcx, QWORD PTR _Mylast$[rbp]
|
|
00105 48 89 01 mov QWORD PTR [rcx], rax
|
|
|
|
; 1752 : _Myend = _Newvec + _Newcapacity;
|
|
|
|
00108 48 8b 85 78 01
|
|
00 00 mov rax, QWORD PTR _Newvec$[rbp]
|
|
0010f 48 8b 8d 88 01
|
|
00 00 mov rcx, QWORD PTR _Newcapacity$[rbp]
|
|
00116 48 8d 04 88 lea rax, QWORD PTR [rax+rcx*4]
|
|
0011a 48 8b 4d 68 mov rcx, QWORD PTR _Myend$[rbp]
|
|
0011e 48 89 01 mov QWORD PTR [rcx], rax
|
|
|
|
; 1753 : }
|
|
|
|
00121 48 8d a5 58 01
|
|
00 00 lea rsp, QWORD PTR [rbp+344]
|
|
00128 5f pop rdi
|
|
00129 5d pop rbp
|
|
0012a c3 ret 0
|
|
?_Change_array@?$vector@KV?$allocator@K@std@@@std@@AEAAXQEAK_K1@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Change_array
|
|
_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 ?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z
|
|
_TEXT SEGMENT
|
|
_Oldcapacity$ = 8
|
|
_Max$ = 40
|
|
_Geometric$ = 72
|
|
this$ = 320
|
|
_Newsize$ = 328
|
|
?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Calculate_growth, COMDAT
|
|
|
|
; 1683 : _CONSTEXPR20_CONTAINER size_type _Calculate_growth(const size_type _Newsize) const {
|
|
|
|
$LN5:
|
|
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 48 01
|
|
00 00 sub rsp, 328 ; 00000148H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1684 : // given _Oldcapacity and _Newsize, calculate geometric growth
|
|
; 1685 : const size_type _Oldcapacity = capacity();
|
|
|
|
00024 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002b e8 00 00 00 00 call ?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::capacity
|
|
00030 48 89 45 08 mov QWORD PTR _Oldcapacity$[rbp], rax
|
|
|
|
; 1686 : const auto _Max = max_size();
|
|
|
|
00034 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0003b e8 00 00 00 00 call ?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ; std::vector<unsigned long,std::allocator<unsigned long> >::max_size
|
|
00040 48 89 45 28 mov QWORD PTR _Max$[rbp], rax
|
|
|
|
; 1687 :
|
|
; 1688 : if (_Oldcapacity > _Max - _Oldcapacity / 2) {
|
|
|
|
00044 33 d2 xor edx, edx
|
|
00046 48 8b 45 08 mov rax, QWORD PTR _Oldcapacity$[rbp]
|
|
0004a b9 02 00 00 00 mov ecx, 2
|
|
0004f 48 f7 f1 div rcx
|
|
00052 48 8b 4d 28 mov rcx, QWORD PTR _Max$[rbp]
|
|
00056 48 2b c8 sub rcx, rax
|
|
00059 48 8b c1 mov rax, rcx
|
|
0005c 48 39 45 08 cmp QWORD PTR _Oldcapacity$[rbp], rax
|
|
00060 76 06 jbe SHORT $LN2@Calculate_
|
|
|
|
; 1689 : return _Max; // geometric growth would overflow
|
|
|
|
00062 48 8b 45 28 mov rax, QWORD PTR _Max$[rbp]
|
|
00066 eb 36 jmp SHORT $LN1@Calculate_
|
|
$LN2@Calculate_:
|
|
|
|
; 1690 : }
|
|
; 1691 :
|
|
; 1692 : const size_type _Geometric = _Oldcapacity + _Oldcapacity / 2;
|
|
|
|
00068 33 d2 xor edx, edx
|
|
0006a 48 8b 45 08 mov rax, QWORD PTR _Oldcapacity$[rbp]
|
|
0006e b9 02 00 00 00 mov ecx, 2
|
|
00073 48 f7 f1 div rcx
|
|
00076 48 8b 4d 08 mov rcx, QWORD PTR _Oldcapacity$[rbp]
|
|
0007a 48 03 c8 add rcx, rax
|
|
0007d 48 8b c1 mov rax, rcx
|
|
00080 48 89 45 48 mov QWORD PTR _Geometric$[rbp], rax
|
|
|
|
; 1693 :
|
|
; 1694 : if (_Geometric < _Newsize) {
|
|
|
|
00084 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR _Newsize$[rbp]
|
|
0008b 48 39 45 48 cmp QWORD PTR _Geometric$[rbp], rax
|
|
0008f 73 09 jae SHORT $LN3@Calculate_
|
|
|
|
; 1695 : return _Newsize; // geometric growth would be insufficient
|
|
|
|
00091 48 8b 85 48 01
|
|
00 00 mov rax, QWORD PTR _Newsize$[rbp]
|
|
00098 eb 04 jmp SHORT $LN1@Calculate_
|
|
$LN3@Calculate_:
|
|
|
|
; 1696 : }
|
|
; 1697 :
|
|
; 1698 : return _Geometric; // geometric growth is sufficient
|
|
|
|
0009a 48 8b 45 48 mov rax, QWORD PTR _Geometric$[rbp]
|
|
$LN1@Calculate_:
|
|
|
|
; 1699 : }
|
|
|
|
0009e 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
000a5 5f pop rdi
|
|
000a6 5d pop rbp
|
|
000a7 c3 ret 0
|
|
?_Calculate_growth@?$vector@KV?$allocator@K@std@@@std@@AEBA_K_K@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Calculate_growth
|
|
_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 ?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 196
|
|
this$ = 256
|
|
_First$ = 264
|
|
_Last$ = 272
|
|
_Dest$ = 280
|
|
?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept, COMDAT
|
|
|
|
; 1672 : _CONSTEXPR20_CONTAINER void _Umove_if_noexcept(pointer _First, pointer _Last, pointer _Dest) {
|
|
|
|
$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 18 01
|
|
00 00 sub rsp, 280 ; 00000118H
|
|
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1673 : // move_if_noexcept [_First, _Last) to raw _Dest, using allocator
|
|
; 1674 : _Umove_if_noexcept1(_First, _Last, _Dest,
|
|
|
|
0002e 48 8d 85 c4 00
|
|
00 00 lea rax, QWORD PTR $T1[rbp]
|
|
00035 48 8b f8 mov rdi, rax
|
|
00038 33 c0 xor eax, eax
|
|
0003a b9 01 00 00 00 mov ecx, 1
|
|
0003f f3 aa rep stosb
|
|
00041 0f b6 85 c4 00
|
|
00 00 movzx eax, BYTE PTR $T1[rbp]
|
|
00048 88 44 24 20 mov BYTE PTR [rsp+32], al
|
|
0004c 4c 8b 8d 18 01
|
|
00 00 mov r9, QWORD PTR _Dest$[rbp]
|
|
00053 4c 8b 85 10 01
|
|
00 00 mov r8, QWORD PTR _Last$[rbp]
|
|
0005a 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _First$[rbp]
|
|
00061 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00068 e8 00 00 00 00 call ?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept1
|
|
|
|
; 1675 : bool_constant<disjunction_v<is_nothrow_move_constructible<_Ty>, negation<is_copy_constructible<_Ty>>>>{});
|
|
; 1676 : }
|
|
|
|
0006d 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00074 5f pop rdi
|
|
00075 5d pop rbp
|
|
00076 c3 ret 0
|
|
?_Umove_if_noexcept@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept
|
|
_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 ?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_First$ = 232
|
|
_Last$ = 240
|
|
_Dest$ = 248
|
|
__formal$ = 256
|
|
?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept1, COMDAT
|
|
|
|
; 1662 : _CONSTEXPR20_CONTAINER void _Umove_if_noexcept1(pointer _First, pointer _Last, pointer _Dest, true_type) {
|
|
|
|
$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 e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1663 : // move [_First, _Last) to raw _Dest, using allocator
|
|
; 1664 : _Uninitialized_move(_First, _Last, _Dest, _Getal());
|
|
|
|
0002e 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00035 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
|
|
0003a 4c 8b c8 mov r9, rax
|
|
0003d 4c 8b 85 f8 00
|
|
00 00 mov r8, QWORD PTR _Dest$[rbp]
|
|
00044 48 8b 95 f0 00
|
|
00 00 mov rdx, QWORD PTR _Last$[rbp]
|
|
0004b 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00052 e8 00 00 00 00 call ??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
|
|
; 1665 : }
|
|
|
|
00057 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005e 5f pop rdi
|
|
0005f 5d pop rbp
|
|
00060 c3 ret 0
|
|
?_Umove_if_noexcept1@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK00U?$integral_constant@_N$00@2@@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove_if_noexcept1
|
|
_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 ?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_First$ = 232
|
|
_Last$ = 240
|
|
_Dest$ = 248
|
|
?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove, COMDAT
|
|
|
|
; 1657 : _CONSTEXPR20_CONTAINER pointer _Umove(pointer _First, pointer _Last, pointer _Dest) {
|
|
|
|
$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 e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00022 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1658 : // move [_First, _Last) to raw _Dest, using allocator
|
|
; 1659 : return _Uninitialized_move(_First, _Last, _Dest, _Getal());
|
|
|
|
0002e 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00035 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
|
|
0003a 4c 8b c8 mov r9, rax
|
|
0003d 4c 8b 85 f8 00
|
|
00 00 mov r8, QWORD PTR _Dest$[rbp]
|
|
00044 48 8b 95 f0 00
|
|
00 00 mov rdx, QWORD PTR _Last$[rbp]
|
|
0004b 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _First$[rbp]
|
|
00052 e8 00 00 00 00 call ??$_Uninitialized_move@PEAKV?$allocator@K@std@@@std@@YAPEAKQEAK0PEAKAEAV?$allocator@K@0@@Z ; std::_Uninitialized_move<unsigned long *,std::allocator<unsigned long> >
|
|
|
|
; 1660 : }
|
|
|
|
00057 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005e 5f pop rdi
|
|
0005f 5d pop rbp
|
|
00060 c3 ret 0
|
|
?_Umove@?$vector@KV?$allocator@K@std@@@std@@AEAAPEAKPEAK00@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Umove
|
|
_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 ?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
this$ = 256
|
|
?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::capacity, COMDAT
|
|
|
|
; 1557 : _NODISCARD _CONSTEXPR20_CONTAINER size_type capacity() const 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 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1558 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
0001f 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1559 : return static_cast<size_type>(_My_data._Myend - _My_data._Myfirst);
|
|
|
|
0002a 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
0002e 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00032 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00036 48 8b 40 18 mov rax, QWORD PTR [rax+24]
|
|
0003a 48 2b c1 sub rax, rcx
|
|
0003d 48 c1 f8 02 sar rax, 2
|
|
|
|
; 1560 : }
|
|
|
|
00041 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00048 5f pop rdi
|
|
00049 5d pop rbp
|
|
0004a c3 ret 0
|
|
?capacity@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::capacity
|
|
_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 ?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
$T2 = 232
|
|
this$ = 288
|
|
?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::max_size, COMDAT
|
|
|
|
; 1552 : _NODISCARD _CONSTEXPR20_CONTAINER size_type max_size() const 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 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
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
|
|
|
|
; 1553 : return (_STD min)(
|
|
|
|
0001f 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ?_Getal@?$vector@KV?$allocator@K@std@@@std@@AEBAAEBV?$allocator@K@2@XZ ; std::vector<unsigned long,std::allocator<unsigned long> >::_Getal
|
|
0002b 48 8b c8 mov rcx, rax
|
|
0002e e8 00 00 00 00 call ?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z ; std::_Default_allocator_traits<std::allocator<unsigned long> >::max_size
|
|
00033 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
0003a e8 00 00 00 00 call ?max@?$numeric_limits@_J@std@@SA_JXZ ; std::numeric_limits<__int64>::max
|
|
0003f 48 89 85 e8 00
|
|
00 00 mov QWORD PTR $T2[rbp], rax
|
|
00046 48 8d 95 c8 00
|
|
00 00 lea rdx, QWORD PTR $T1[rbp]
|
|
0004d 48 8d 8d e8 00
|
|
00 00 lea rcx, QWORD PTR $T2[rbp]
|
|
00054 e8 00 00 00 00 call ??$min@_K@std@@YAAEB_KAEB_K0@Z ; std::min<unsigned __int64>
|
|
00059 48 8b 00 mov rax, QWORD PTR [rax]
|
|
|
|
; 1554 : static_cast<size_type>((numeric_limits<difference_type>::max)()), _Alty_traits::max_size(_Getal()));
|
|
; 1555 : }
|
|
|
|
0005c 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00063 5f pop rdi
|
|
00064 5d pop rbp
|
|
00065 c3 ret 0
|
|
?max_size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::max_size
|
|
_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 ?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
this$ = 256
|
|
?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::size, COMDAT
|
|
|
|
; 1547 : _NODISCARD _CONSTEXPR20_CONTAINER size_type size() const 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 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1548 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
0001f 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1549 : return static_cast<size_type>(_My_data._Mylast - _My_data._Myfirst);
|
|
|
|
0002a 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
0002e 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00032 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
00036 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
0003a 48 2b c1 sub rax, rcx
|
|
0003d 48 c1 f8 02 sar rax, 2
|
|
|
|
; 1550 : }
|
|
|
|
00041 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00048 5f pop rdi
|
|
00049 5d pop rbp
|
|
0004a c3 ret 0
|
|
?size@?$vector@KV?$allocator@K@std@@@std@@QEBA_KXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::size
|
|
_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 ?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_end, COMDAT
|
|
|
|
; 1534 : _NODISCARD _CONSTEXPR20_CONTAINER pointer _Unchecked_end() 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
|
|
|
|
; 1535 : return _Mypair._Myval2._Mylast;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
|
|
; 1536 : }
|
|
|
|
0002a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00031 5f pop rdi
|
|
00032 5d pop rbp
|
|
00033 c3 ret 0
|
|
?_Unchecked_end@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_end
|
|
_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 ?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_begin, COMDAT
|
|
|
|
; 1526 : _NODISCARD _CONSTEXPR20_CONTAINER pointer _Unchecked_begin() 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
|
|
|
|
; 1527 : return _Mypair._Myval2._Myfirst;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
|
|
; 1528 : }
|
|
|
|
0002a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00031 5f pop rdi
|
|
00032 5d pop rbp
|
|
00033 c3 ret 0
|
|
?_Unchecked_begin@?$vector@KV?$allocator@K@std@@@std@@QEAAPEAKXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::_Unchecked_begin
|
|
_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 ?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
tv80 = 216
|
|
tv78 = 224
|
|
this$ = 272
|
|
__$ReturnUdt$ = 280
|
|
?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::end, COMDAT
|
|
|
|
; 1484 : _NODISCARD _CONSTEXPR20_CONTAINER iterator end() 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 18 01
|
|
00 00 sub rsp, 280 ; 00000118H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1485 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
00024 48 8b 85 10 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1486 : return iterator(_My_data._Mylast, _STD addressof(_My_data));
|
|
|
|
0002f 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00033 e8 00 00 00 00 call ??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z ; std::addressof<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
00038 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv80[rbp], rax
|
|
0003f 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00043 48 8b 40 10 mov rax, QWORD PTR [rax+16]
|
|
00047 48 89 85 e0 00
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
0004e 4c 8b 85 d8 00
|
|
00 00 mov r8, QWORD PTR tv80[rbp]
|
|
00055 48 8b 95 e0 00
|
|
00 00 mov rdx, QWORD PTR tv78[rbp]
|
|
0005c 48 8b 8d 18 01
|
|
00 00 mov rcx, QWORD PTR __$ReturnUdt$[rbp]
|
|
00063 e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
00068 48 8b 85 18 01
|
|
00 00 mov rax, QWORD PTR __$ReturnUdt$[rbp]
|
|
|
|
; 1487 : }
|
|
|
|
0006f 48 8d a5 f8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+248]
|
|
00076 5f pop rdi
|
|
00077 5d pop rbp
|
|
00078 c3 ret 0
|
|
?end@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::end
|
|
_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 ?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
tv80 = 216
|
|
tv78 = 224
|
|
this$ = 272
|
|
__$ReturnUdt$ = 280
|
|
?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::begin, COMDAT
|
|
|
|
; 1474 : _NODISCARD _CONSTEXPR20_CONTAINER iterator begin() 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 18 01
|
|
00 00 sub rsp, 280 ; 00000118H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1475 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
00024 48 8b 85 10 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1476 : return iterator(_My_data._Myfirst, _STD addressof(_My_data));
|
|
|
|
0002f 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00033 e8 00 00 00 00 call ??$addressof@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@YAPEAV?$_Vector_val@U?$_Simple_types@K@std@@@0@AEAV10@@Z ; std::addressof<std::_Vector_val<std::_Simple_types<unsigned long> > >
|
|
00038 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv80[rbp], rax
|
|
0003f 48 8b 45 08 mov rax, QWORD PTR _My_data$[rbp]
|
|
00043 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00047 48 89 85 e0 00
|
|
00 00 mov QWORD PTR tv78[rbp], rax
|
|
0004e 4c 8b 85 d8 00
|
|
00 00 mov r8, QWORD PTR tv80[rbp]
|
|
00055 48 8b 95 e0 00
|
|
00 00 mov rdx, QWORD PTR tv78[rbp]
|
|
0005c 48 8b 8d 18 01
|
|
00 00 mov rcx, QWORD PTR __$ReturnUdt$[rbp]
|
|
00063 e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@std@@QEAA@PEAKPEBU_Container_base12@1@@Z
|
|
00068 48 8b 85 18 01
|
|
00 00 mov rax, QWORD PTR __$ReturnUdt$[rbp]
|
|
|
|
; 1477 : }
|
|
|
|
0006f 48 8d a5 f8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+248]
|
|
00076 5f pop rdi
|
|
00077 5d pop rbp
|
|
00078 c3 ret 0
|
|
?begin@?$vector@KV?$allocator@K@std@@@std@@QEAA?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@K@std@@@std@@@2@XZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::begin
|
|
_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 ?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ
|
|
_TEXT SEGMENT
|
|
_My_data$ = 8
|
|
_Myfirst$ = 40
|
|
_Mylast$ = 72
|
|
this$ = 320
|
|
?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::clear, COMDAT
|
|
|
|
; 1449 : _CONSTEXPR20_CONTAINER void clear() noexcept { // erase all
|
|
|
|
$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 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__092B7E84_vector
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1450 : auto& _My_data = _Mypair._Myval2;
|
|
|
|
0001f 48 8b 85 40 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 89 45 08 mov QWORD PTR _My_data$[rbp], rax
|
|
|
|
; 1451 : 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
|
|
|
|
; 1452 : 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
|
|
|
|
; 1453 :
|
|
; 1454 : _My_data._Orphan_all();
|
|
|
|
00042 48 8b 4d 08 mov rcx, QWORD PTR _My_data$[rbp]
|
|
00046 e8 00 00 00 00 call ?_Orphan_all@_Container_base12@std@@QEAAXXZ ; std::_Container_base12::_Orphan_all
|
|
|
|
; 1455 : _Destroy(_Myfirst, _Mylast);
|
|
|
|
0004b 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
|
|
0004f 4c 8b 00 mov r8, QWORD PTR [rax]
|
|
00052 48 8b 45 28 mov rax, QWORD PTR _Myfirst$[rbp]
|
|
00056 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
00059 48 8b 8d 40 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00060 e8 00 00 00 00 call ?_Destroy@?$vector@KV?$allocator@K@std@@@std@@AEAAXPEAK0@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::_Destroy
|
|
|
|
; 1456 : _Mylast = _Myfirst;
|
|
|
|
00065 48 8b 45 48 mov rax, QWORD PTR _Mylast$[rbp]
|
|
00069 48 8b 4d 28 mov rcx, QWORD PTR _Myfirst$[rbp]
|
|
0006d 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00070 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1457 : }
|
|
|
|
00073 48 8d a5 28 01
|
|
00 00 lea rsp, QWORD PTR [rbp+296]
|
|
0007a 5f pop rdi
|
|
0007b 5d pop rbp
|
|
0007c c3 ret 0
|
|
?clear@?$vector@KV?$allocator@K@std@@@std@@QEAAXXZ ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::clear
|
|
_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 ?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Val$ = 232
|
|
?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z PROC ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back, COMDAT
|
|
|
|
; 755 : _CONSTEXPR20_CONTAINER void push_back(const _Ty& _Val) { // insert element at end, provide strong guarantee
|
|
|
|
$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:__092B7E84_vector
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 756 : emplace_back(_Val);
|
|
|
|
00024 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _Val$[rbp]
|
|
0002b 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00032 e8 00 00 00 00 call ??$emplace_back@AEBK@?$vector@KV?$allocator@K@std@@@std@@QEAA?A_TAEBK@Z ; std::vector<unsigned long,std::allocator<unsigned long> >::emplace_back<unsigned long const &>
|
|
|
|
; 757 : }
|
|
|
|
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
|
|
?push_back@?$vector@KV?$allocator@K@std@@@std@@QEAAXAEBK@Z ENDP ; std::vector<unsigned long,std::allocator<unsigned long> >::push_back
|
|
_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 ??0?$vector@KV?$allocator@K@std@@@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
$T1 = 196
|
|
$T2 = 228
|
|
tv83 = 248
|
|
tv69 = 248
|
|
this$ = 288
|
|
??0?$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
|
|
|
|
; 476 : : _Mypair(_Zero_then_variadic_args_t{}) {
|
|
|
|
$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 28 01
|
|
00 00 sub rsp, 296 ; 00000128H
|
|
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
|
|
0001f 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 89 85 f8 00
|
|
00 00 mov QWORD PTR tv69[rbp], rax
|
|
0002d 0f b6 95 c4 00
|
|
00 00 movzx edx, BYTE PTR $T1[rbp]
|
|
00034 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR tv69[rbp]
|
|
0003b e8 00 00 00 00 call ??$?0$$V@?$_Compressed_pair@V?$allocator@K@std@@V?$_Vector_val@U?$_Simple_types@K@std@@@2@$00@std@@QEAA@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1>::_Compressed_pair<std::allocator<unsigned long>,std::_Vector_val<std::_Simple_types<unsigned long> >,1><>
|
|
|
|
; 477 : _Mypair._Myval2._Alloc_proxy(_GET_PROXY_ALLOCATOR(_Alty, _Getal()));
|
|
|
|
00040 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00047 48 89 85 f8 00
|
|
00 00 mov QWORD PTR tv83[rbp], rax
|
|
0004e 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00055 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
|
|
0005a 48 8b d0 mov rdx, rax
|
|
0005d 48 8d 8d e4 00
|
|
00 00 lea rcx, QWORD PTR $T2[rbp]
|
|
00064 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>
|
|
00069 48 8b d0 mov rdx, rax
|
|
0006c 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR tv83[rbp]
|
|
00073 e8 00 00 00 00 call ??$_Alloc_proxy@V?$allocator@U_Container_proxy@std@@@std@@@_Container_base12@std@@QEAAX$$QEAV?$allocator@U_Container_proxy@std@@@1@@Z ; std::_Container_base12::_Alloc_proxy<std::allocator<std::_Container_proxy> >
|
|
|
|
; 478 : }
|
|
|
|
00078 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0007f 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00086 5f pop rdi
|
|
00087 5d pop rbp
|
|
00088 c3 ret 0
|
|
??0?$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 ?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z
|
|
_TEXT SEGMENT
|
|
__formal$ = 224
|
|
?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z PROC ; std::_Default_allocator_traits<std::allocator<unsigned long> >::max_size, COMDAT
|
|
|
|
; 727 : _NODISCARD static _CONSTEXPR20_DYNALLOC size_type max_size(const _Alloc&) 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
|
|
|
|
; 728 : return static_cast<size_t>(-1) / sizeof(value_type);
|
|
|
|
0001f 48 b8 ff ff ff
|
|
ff ff ff ff 3f mov rax, 4611686018427387903 ; 3fffffffffffffffH
|
|
|
|
; 729 : }
|
|
|
|
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
|
|
?max_size@?$_Default_allocator_traits@V?$allocator@K@std@@@std@@SA_KAEBV?$allocator@K@2@@Z ENDP ; std::_Default_allocator_traits<std::allocator<unsigned long> >::max_size
|
|
_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 ?allocate@?$allocator@K@std@@QEAAPEAK_K@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Count$ = 232
|
|
?allocate@?$allocator@K@std@@QEAAPEAK_K@Z PROC ; std::allocator<unsigned long>::allocate, COMDAT
|
|
|
|
; 838 : _NODISCARD _CONSTEXPR20_DYNALLOC __declspec(allocator) _Ty* allocate(_CRT_GUARDOVERFLOW const size_t _Count) {
|
|
|
|
$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
|
|
|
|
; 839 : return static_cast<_Ty*>(_Allocate<_New_alignof<_Ty>>(_Get_size_of_n<sizeof(_Ty)>(_Count)));
|
|
|
|
00024 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Count$[rbp]
|
|
0002b e8 00 00 00 00 call ??$_Get_size_of_n@$03@std@@YA_K_K@Z ; std::_Get_size_of_n<4>
|
|
00030 48 8b c8 mov rcx, rax
|
|
00033 e8 00 00 00 00 call ??$_Allocate@$0BA@U_Default_allocate_traits@std@@$0A@@std@@YAPEAX_K@Z ; std::_Allocate<16,std::_Default_allocate_traits,0>
|
|
|
|
; 840 : }
|
|
|
|
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
|
|
?allocate@?$allocator@K@std@@QEAAPEAK_K@Z ENDP ; std::allocator<unsigned long>::allocate
|
|
_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\xmemory
|
|
; COMDAT ??0?$allocator@K@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0?$allocator@K@std@@QEAA@XZ PROC ; std::allocator<unsigned long>::allocator<unsigned long>, COMDAT
|
|
|
|
; 825 : constexpr allocator() 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
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0?$allocator@K@std@@QEAA@XZ ENDP ; std::allocator<unsigned long>::allocator<unsigned long>
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__flags$ = 232
|
|
??_G_NATIVE_CODE_LINK@@QEAAPEAXI@Z PROC ; _NATIVE_CODE_LINK::`scalar deleting destructor', COMDAT
|
|
$LN4:
|
|
00000 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00004 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00009 55 push rbp
|
|
0000a 57 push rdi
|
|
0000b 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00017 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001e e8 00 00 00 00 call ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
|
|
00023 8b 85 e8 00 00
|
|
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 f0 00 00 00 mov edx, 240 ; 000000f0H
|
|
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_LINK@@QEAAPEAXI@Z ENDP ; _NATIVE_CODE_LINK::`scalar deleting destructor'
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ??1_NATIVE_CODE_LINK@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
this$ = 256
|
|
??1_NATIVE_CODE_LINK@@QEAA@XZ PROC ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK, COMDAT
|
|
|
|
; 38 : {
|
|
|
|
$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 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:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 39 : if (RawData)
|
|
|
|
0001f 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 83 78 20 00 cmp QWORD PTR [rax+32], 0
|
|
0002b 74 23 je SHORT $LN2@NATIVE_COD
|
|
|
|
; 40 : delete RawData;
|
|
|
|
0002d 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00034 48 8b 40 20 mov rax, QWORD PTR [rax+32]
|
|
00038 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
0003f ba 01 00 00 00 mov edx, 1
|
|
00044 48 8b 8d c8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
0004b e8 00 00 00 00 call ??3@YAXPEAX_K@Z ; operator delete
|
|
$LN2@NATIVE_COD:
|
|
|
|
; 41 : }
|
|
|
|
00050 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00057 5f pop rdi
|
|
00058 5d pop rbp
|
|
00059 c3 ret 0
|
|
??1_NATIVE_CODE_LINK@@QEAA@XZ ENDP ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
this$ = 256
|
|
F$ = 264
|
|
Rd$ = 272
|
|
Rds$ = 280
|
|
Decode$ = 288
|
|
??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK, COMDAT
|
|
|
|
; 25 : {
|
|
|
|
$LN6:
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
0000a 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
0000e 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00013 55 push rbp
|
|
00014 57 push rdi
|
|
00015 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
0001c 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00021 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00028 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 24 : : _NATIVE_CODE_LINK()
|
|
|
|
0002d 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00034 e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
00039 90 npad 1
|
|
|
|
; 26 : Flags = F;
|
|
|
|
0003a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00041 8b 8d 08 01 00
|
|
00 mov ecx, DWORD PTR F$[rbp]
|
|
00047 89 48 18 mov DWORD PTR [rax+24], ecx
|
|
|
|
; 27 : RawDataSize = Rds;
|
|
|
|
0004a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00051 8b 8d 18 01 00
|
|
00 mov ecx, DWORD PTR Rds$[rbp]
|
|
00057 89 48 28 mov DWORD PTR [rax+40], ecx
|
|
|
|
; 28 : RawData = new UCHAR[Rds];
|
|
|
|
0005a 8b 85 18 01 00
|
|
00 mov eax, DWORD PTR Rds$[rbp]
|
|
00060 8b c8 mov ecx, eax
|
|
00062 e8 00 00 00 00 call ??_U@YAPEAX_K@Z ; operator new[]
|
|
00067 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
0006e 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00075 48 8b 8d c8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
0007c 48 89 48 20 mov QWORD PTR [rax+32], rcx
|
|
|
|
; 29 : if (Rd)
|
|
|
|
00080 48 83 bd 10 01
|
|
00 00 00 cmp QWORD PTR Rd$[rbp], 0
|
|
00088 74 53 je SHORT $LN2@NATIVE_COD
|
|
|
|
; 30 : {
|
|
; 31 : RtlCopyMemory(RawData, Rd, Rds);
|
|
|
|
0008a 8b 85 18 01 00
|
|
00 mov eax, DWORD PTR Rds$[rbp]
|
|
00090 44 8b c0 mov r8d, eax
|
|
00093 48 8b 95 10 01
|
|
00 00 mov rdx, QWORD PTR Rd$[rbp]
|
|
0009a 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000a1 48 8b 48 20 mov rcx, QWORD PTR [rax+32]
|
|
000a5 e8 00 00 00 00 call memcpy
|
|
|
|
; 32 : if (Decode)
|
|
|
|
000aa 83 bd 20 01 00
|
|
00 00 cmp DWORD PTR Decode$[rbp], 0
|
|
000b1 74 2a je SHORT $LN2@NATIVE_COD
|
|
|
|
; 33 : XedDecode(&XedInstruction, RawData, RawDataSize);
|
|
|
|
000b3 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000ba 48 83 c0 30 add rax, 48 ; 00000030H
|
|
000be 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000c5 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
|
|
000c9 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000d0 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
|
|
000d4 48 8b c8 mov rcx, rax
|
|
000d7 e8 00 00 00 00 call xed_decode
|
|
000dc 90 npad 1
|
|
$LN2@NATIVE_COD:
|
|
|
|
; 34 : }
|
|
; 35 : }
|
|
|
|
000dd 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000e4 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
000eb 5f pop rdi
|
|
000ec 5d pop rbp
|
|
000ed c3 ret 0
|
|
??0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z ENDP ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
_TEXT ENDS
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
this$ = 256
|
|
F$ = 264
|
|
Rd$ = 272
|
|
Rds$ = 280
|
|
Decode$ = 288
|
|
?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA PROC ; `_NATIVE_CODE_LINK::_NATIVE_CODE_LINK'::`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 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA ENDP ; `_NATIVE_CODE_LINK::_NATIVE_CODE_LINK'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT text$x
|
|
text$x SEGMENT
|
|
$T1 = 200
|
|
this$ = 256
|
|
F$ = 264
|
|
Rd$ = 272
|
|
Rds$ = 280
|
|
Decode$ = 288
|
|
?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA PROC ; `_NATIVE_CODE_LINK::_NATIVE_CODE_LINK'::`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 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001b e8 00 00 00 00 call ??1_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::~_NATIVE_CODE_LINK
|
|
00020 48 83 c4 28 add rsp, 40 ; 00000028H
|
|
00024 5f pop rdi
|
|
00025 5d pop rbp
|
|
00026 c3 ret 0
|
|
?dtor$0@?0???0_NATIVE_CODE_LINK@@QEAA@KPEAXKH@Z@4HA ENDP ; `_NATIVE_CODE_LINK::_NATIVE_CODE_LINK'::`1'::dtor$0
|
|
text$x ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
LabelId$ = 232
|
|
B$ = 240
|
|
??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK, COMDAT
|
|
|
|
; 17 : {
|
|
|
|
$LN4:
|
|
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
|
|
00005 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000e 55 push rbp
|
|
0000f 57 push rdi
|
|
00010 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001c 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__337731E1_NativeCode@cpp
|
|
00023 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 16 : : _NATIVE_CODE_LINK()
|
|
|
|
00028 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002f e8 00 00 00 00 call ??0_NATIVE_CODE_LINK@@QEAA@XZ ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
|
|
; 18 : Block = B;
|
|
|
|
00034 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003b 48 8b 8d f0 00
|
|
00 00 mov rcx, QWORD PTR B$[rbp]
|
|
00042 48 89 48 10 mov QWORD PTR [rax+16], rcx
|
|
|
|
; 19 : Label = LabelId;
|
|
|
|
00046 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0004d 8b 8d e8 00 00
|
|
00 mov ecx, DWORD PTR LabelId$[rbp]
|
|
00053 89 48 1c mov DWORD PTR [rax+28], ecx
|
|
|
|
; 20 : Flags = CODE_FLAG_IS_LABEL;
|
|
|
|
00056 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0005d c7 40 18 01 00
|
|
00 00 mov DWORD PTR [rax+24], 1
|
|
|
|
; 21 : }
|
|
|
|
00064 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0006b 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00072 5f pop rdi
|
|
00073 5d pop rbp
|
|
00074 c3 ret 0
|
|
??0_NATIVE_CODE_LINK@@QEAA@KPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
|
|
; COMDAT ??0_NATIVE_CODE_LINK@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0_NATIVE_CODE_LINK@@QEAA@XZ PROC ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK, COMDAT
|
|
|
|
; 4 : {
|
|
|
|
$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:__337731E1_NativeCode@cpp
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 5 : XedDecodedInstZero(&XedInstruction);
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0002a 48 8b c8 mov rcx, rax
|
|
0002d e8 00 00 00 00 call xed_decoded_inst_zero
|
|
|
|
; 6 : XedDecodedInstSetMode(&XedInstruction, XED_MACHINE_MODE_LONG_64, XED_ADDRESS_WIDTH_64b);
|
|
|
|
00032 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00039 48 83 c0 30 add rax, 48 ; 00000030H
|
|
0003d 41 b8 08 00 00
|
|
00 mov r8d, 8
|
|
00043 ba 01 00 00 00 mov edx, 1
|
|
00048 48 8b c8 mov rcx, rax
|
|
0004b e8 00 00 00 00 call xed_decoded_inst_set_mode
|
|
|
|
; 7 : Flags = 0UL;
|
|
|
|
00050 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00057 c7 40 18 00 00
|
|
00 00 mov DWORD PTR [rax+24], 0
|
|
|
|
; 8 : Next = Prev = NULL;
|
|
|
|
0005e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00065 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
0006d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00074 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 9 : Block = NULL;
|
|
|
|
0007b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00082 48 c7 40 10 00
|
|
00 00 00 mov QWORD PTR [rax+16], 0
|
|
|
|
; 10 : Label = 0UL;
|
|
|
|
0008a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00091 c7 40 1c 00 00
|
|
00 00 mov DWORD PTR [rax+28], 0
|
|
|
|
; 11 : RawData = NULL;
|
|
|
|
00098 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0009f 48 c7 40 20 00
|
|
00 00 00 mov QWORD PTR [rax+32], 0
|
|
|
|
; 12 : RawDataSize = 0UL;
|
|
|
|
000a7 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000ae c7 40 28 00 00
|
|
00 00 mov DWORD PTR [rax+40], 0
|
|
|
|
; 13 : }
|
|
|
|
000b5 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000bc 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
000c3 5f pop rdi
|
|
000c4 5d pop rbp
|
|
000c5 c3 ret 0
|
|
??0_NATIVE_CODE_LINK@@QEAA@XZ ENDP ; _NATIVE_CODE_LINK::_NATIVE_CODE_LINK
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_get_length
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_decoded_inst_get_length PROC ; COMDAT
|
|
|
|
; 282 : xed_decoded_inst_get_length(const xed_decoded_inst_t* p) {
|
|
|
|
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:__0AA8C18B_xed-decoded-inst-api@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 283 : return p->_decoded_length;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
00026 0f b6 80 a6 00
|
|
00 00 movzx eax, BYTE PTR [rax+166]
|
|
|
|
; 284 : }
|
|
|
|
0002d 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00034 5f pop rdi
|
|
00035 5d pop rbp
|
|
00036 c3 ret 0
|
|
xed_decoded_inst_get_length ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_set_mode
|
|
_TEXT SEGMENT
|
|
dstate$ = 8
|
|
__$ArrayPad$ = 216
|
|
p$ = 256
|
|
mmode$ = 264
|
|
stack_addr_width$ = 272
|
|
xed_decoded_inst_set_mode PROC ; COMDAT
|
|
|
|
; 259 : {
|
|
|
|
00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
00005 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000e 55 push rbp
|
|
0000f 57 push rdi
|
|
00010 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00017 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0001c 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
|
00021 b9 0a 00 00 00 mov ecx, 10
|
|
00026 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002b f3 ab rep stosd
|
|
0002d 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
00035 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
0003c 48 33 c5 xor rax, rbp
|
|
0003f 48 89 85 d8 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00046 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__0AA8C18B_xed-decoded-inst-api@h
|
|
0004d e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 260 : xed_state_t dstate;
|
|
; 261 : dstate.mmode = mmode;
|
|
|
|
00052 8b 85 08 01 00
|
|
00 mov eax, DWORD PTR mmode$[rbp]
|
|
00058 89 45 08 mov DWORD PTR dstate$[rbp], eax
|
|
|
|
; 262 : dstate.stack_addr_width = stack_addr_width;
|
|
|
|
0005b 8b 85 10 01 00
|
|
00 mov eax, DWORD PTR stack_addr_width$[rbp]
|
|
00061 89 45 0c mov DWORD PTR dstate$[rbp+4], eax
|
|
|
|
; 263 : xed_operand_values_set_mode(p, &dstate);
|
|
|
|
00064 48 8d 55 08 lea rdx, QWORD PTR dstate$[rbp]
|
|
00068 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR p$[rbp]
|
|
0006f e8 00 00 00 00 call xed_operand_values_set_mode
|
|
|
|
; 264 : }
|
|
|
|
00074 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
00078 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:xed_decoded_inst_set_mode$rtcFrameData
|
|
0007f e8 00 00 00 00 call _RTC_CheckStackVars
|
|
00084 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
0008b 48 33 cd xor rcx, rbp
|
|
0008e e8 00 00 00 00 call __security_check_cookie
|
|
00093 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0009a 5f pop rdi
|
|
0009b 5d pop rbp
|
|
0009c c3 ret 0
|
|
xed_decoded_inst_set_mode ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_noperands
|
|
_TEXT SEGMENT
|
|
noperands$ = 4
|
|
p$ = 256
|
|
xed_decoded_inst_noperands PROC ; COMDAT
|
|
|
|
; 170 : xed_decoded_inst_noperands(const xed_decoded_inst_t* p) {
|
|
|
|
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:__0AA8C18B_xed-decoded-inst-api@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 171 : unsigned int noperands = xed_inst_noperands(xed_decoded_inst_inst(p));
|
|
|
|
0001f 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR p$[rbp]
|
|
00026 e8 00 00 00 00 call xed_decoded_inst_inst
|
|
0002b 48 8b c8 mov rcx, rax
|
|
0002e e8 00 00 00 00 call xed_inst_noperands
|
|
00033 89 45 04 mov DWORD PTR noperands$[rbp], eax
|
|
|
|
; 172 : return noperands;
|
|
|
|
00036 8b 45 04 mov eax, DWORD PTR noperands$[rbp]
|
|
|
|
; 173 : }
|
|
|
|
00039 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00040 5f pop rdi
|
|
00041 5d pop rbp
|
|
00042 c3 ret 0
|
|
xed_decoded_inst_noperands ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_get_iclass
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_decoded_inst_get_iclass PROC ; COMDAT
|
|
|
|
; 75 : xed_decoded_inst_get_iclass( const xed_decoded_inst_t* p){
|
|
|
|
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:__0AA8C18B_xed-decoded-inst-api@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
$LN4@xed_decode:
|
|
|
|
; 76 : xed_assert(p->_inst != 0);
|
|
|
|
0001f 33 c0 xor eax, eax
|
|
00021 85 c0 test eax, eax
|
|
00023 75 fa jne SHORT $LN4@xed_decode
|
|
|
|
; 77 : return xed_inst_iclass(p->_inst);
|
|
|
|
00025 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
0002c 48 8b 88 a8 00
|
|
00 00 mov rcx, QWORD PTR [rax+168]
|
|
00033 e8 00 00 00 00 call xed_inst_iclass
|
|
|
|
; 78 : }
|
|
|
|
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
|
|
xed_decoded_inst_get_iclass ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_get_category
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_decoded_inst_get_category PROC ; COMDAT
|
|
|
|
; 54 : xed_decoded_inst_get_category(const xed_decoded_inst_t* p) {
|
|
|
|
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:__0AA8C18B_xed-decoded-inst-api@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
$LN4@xed_decode:
|
|
|
|
; 55 : xed_assert(p->_inst != 0);
|
|
|
|
0001f 33 c0 xor eax, eax
|
|
00021 85 c0 test eax, eax
|
|
00023 75 fa jne SHORT $LN4@xed_decode
|
|
|
|
; 56 : return xed_inst_category(p->_inst);
|
|
|
|
00025 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
0002c 48 8b 88 a8 00
|
|
00 00 mov rcx, QWORD PTR [rax+168]
|
|
00033 e8 00 00 00 00 call xed_inst_category
|
|
|
|
; 57 : }
|
|
|
|
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
|
|
xed_decoded_inst_get_category ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-decoded-inst-api.h
|
|
; COMDAT xed_decoded_inst_inst
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_decoded_inst_inst PROC ; COMDAT
|
|
|
|
; 46 : xed_decoded_inst_inst( const xed_decoded_inst_t* p) {
|
|
|
|
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:__0AA8C18B_xed-decoded-inst-api@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 47 : return p->_inst;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
00026 48 8b 80 a8 00
|
|
00 00 mov rax, QWORD PTR [rax+168]
|
|
|
|
; 48 : }
|
|
|
|
0002d 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00034 5f pop rdi
|
|
00035 5d pop rbp
|
|
00036 c3 ret 0
|
|
xed_decoded_inst_inst ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-encoder-hl.h
|
|
; COMDAT xed_inst1
|
|
_TEXT SEGMENT
|
|
inst$ = 224
|
|
mode$ = 232
|
|
iclass$ = 240
|
|
effective_operand_width$ = 248
|
|
op0$ = 256
|
|
xed_inst1 PROC ; COMDAT
|
|
|
|
; 490 : xed_encoder_operand_t op0) {
|
|
|
|
00000 44 89 4c 24 20 mov DWORD PTR [rsp+32], r9d
|
|
00005 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00014 55 push rbp
|
|
00015 56 push rsi
|
|
00016 57 push rdi
|
|
00017 48 81 ec e0 00
|
|
00 00 sub rsp, 224 ; 000000e0H
|
|
0001e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00023 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1C89993E_xed-encoder-hl@h
|
|
0002a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 491 :
|
|
; 492 : inst->mode=mode;
|
|
|
|
0002f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
00036 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR mode$[rbp]
|
|
0003d 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 493 : inst->iclass = iclass;
|
|
|
|
00040 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
00047 8b 8d f0 00 00
|
|
00 mov ecx, DWORD PTR iclass$[rbp]
|
|
0004d 89 48 08 mov DWORD PTR [rax+8], ecx
|
|
|
|
; 494 : inst->effective_operand_width = effective_operand_width;
|
|
|
|
00050 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
00057 8b 8d f8 00 00
|
|
00 mov ecx, DWORD PTR effective_operand_width$[rbp]
|
|
0005d 89 48 0c mov DWORD PTR [rax+12], ecx
|
|
|
|
; 495 : inst->effective_address_width = 0;
|
|
|
|
00060 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
00067 c7 40 10 00 00
|
|
00 00 mov DWORD PTR [rax+16], 0
|
|
|
|
; 496 : inst->prefixes.i = 0;
|
|
|
|
0006e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
00075 c7 40 14 00 00
|
|
00 00 mov DWORD PTR [rax+20], 0
|
|
|
|
; 497 : inst->operands[0] = op0;
|
|
|
|
0007c b8 30 00 00 00 mov eax, 48 ; 00000030H
|
|
00081 48 6b c0 00 imul rax, rax, 0
|
|
00085 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR inst$[rbp]
|
|
0008c 48 8d 7c 01 20 lea rdi, QWORD PTR [rcx+rax+32]
|
|
00091 48 8b b5 00 01
|
|
00 00 mov rsi, QWORD PTR op0$[rbp]
|
|
00098 b9 30 00 00 00 mov ecx, 48 ; 00000030H
|
|
0009d f3 a4 rep movsb
|
|
|
|
; 498 : inst->noperands = 1;
|
|
|
|
0009f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR inst$[rbp]
|
|
000a6 c7 40 18 01 00
|
|
00 00 mov DWORD PTR [rax+24], 1
|
|
|
|
; 499 : }
|
|
|
|
000ad 48 8d a5 c0 00
|
|
00 00 lea rsp, QWORD PTR [rbp+192]
|
|
000b4 5f pop rdi
|
|
000b5 5e pop rsi
|
|
000b6 5d pop rbp
|
|
000b7 c3 ret 0
|
|
xed_inst1 ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-encoder-hl.h
|
|
; COMDAT xed_relbr
|
|
_TEXT SEGMENT
|
|
o$ = 8
|
|
__$ArrayPad$ = 264
|
|
$T4 = 304
|
|
brdisp$ = 312
|
|
width_bits$ = 320
|
|
xed_relbr PROC ; COMDAT
|
|
|
|
; 105 : xed_uint_t width_bits) {
|
|
|
|
00000 44 89 44 24 18 mov DWORD PTR [rsp+24], r8d
|
|
00005 89 54 24 10 mov DWORD PTR [rsp+16], edx
|
|
00009 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000e 55 push rbp
|
|
0000f 56 push rsi
|
|
00010 57 push rdi
|
|
00011 48 81 ec 30 01
|
|
00 00 sub rsp, 304 ; 00000130H
|
|
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 14 00 00 00 mov ecx, 20
|
|
00027 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
0002c f3 ab rep stosd
|
|
0002e 48 8b 8c 24 58
|
|
01 00 00 mov rcx, QWORD PTR [rsp+344]
|
|
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 08 01
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00047 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__1C89993E_xed-encoder-hl@h
|
|
0004e e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 106 : xed_encoder_operand_t o;
|
|
; 107 : o.type = XED_ENCODER_OPERAND_TYPE_BRDISP;
|
|
|
|
00053 c7 45 08 01 00
|
|
00 00 mov DWORD PTR o$[rbp], 1
|
|
|
|
; 108 : o.u.brdisp = brdisp;
|
|
|
|
0005a 8b 85 38 01 00
|
|
00 mov eax, DWORD PTR brdisp$[rbp]
|
|
00060 89 45 10 mov DWORD PTR o$[rbp+8], eax
|
|
|
|
; 109 : o.width_bits = width_bits;
|
|
|
|
00063 8b 85 40 01 00
|
|
00 mov eax, DWORD PTR width_bits$[rbp]
|
|
00069 89 45 30 mov DWORD PTR o$[rbp+40], eax
|
|
|
|
; 110 : return o;
|
|
|
|
0006c 48 8d 45 08 lea rax, QWORD PTR o$[rbp]
|
|
00070 48 8b bd 30 01
|
|
00 00 mov rdi, QWORD PTR $T4[rbp]
|
|
00077 48 8b f0 mov rsi, rax
|
|
0007a b9 30 00 00 00 mov ecx, 48 ; 00000030H
|
|
0007f f3 a4 rep movsb
|
|
00081 48 8b 85 30 01
|
|
00 00 mov rax, QWORD PTR $T4[rbp]
|
|
|
|
; 111 : }
|
|
|
|
00088 48 8b f8 mov rdi, rax
|
|
0008b 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
0008f 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:xed_relbr$rtcFrameData
|
|
00096 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0009b 48 8b c7 mov rax, rdi
|
|
0009e 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
000a5 48 33 cd xor rcx, rbp
|
|
000a8 e8 00 00 00 00 call __security_check_cookie
|
|
000ad 48 8d a5 10 01
|
|
00 00 lea rsp, QWORD PTR [rbp+272]
|
|
000b4 5f pop rdi
|
|
000b5 5e pop rsi
|
|
000b6 5d pop rbp
|
|
000b7 c3 ret 0
|
|
xed_relbr ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-inst.h
|
|
; COMDAT xed_inst_noperands
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_inst_noperands PROC ; COMDAT
|
|
|
|
; 312 : static XED_INLINE unsigned int xed_inst_noperands(const xed_inst_t* p) {
|
|
|
|
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:__F5B5218E_xed-inst@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 313 : return p->_noperands;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
00026 0f b6 00 movzx eax, BYTE PTR [rax]
|
|
|
|
; 314 : }
|
|
|
|
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
|
|
xed_inst_noperands ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-inst.h
|
|
; COMDAT xed_inst_category
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_inst_category PROC ; COMDAT
|
|
|
|
; 297 : static XED_INLINE xed_category_enum_t xed_inst_category(const xed_inst_t* p) {
|
|
|
|
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:__F5B5218E_xed-inst@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 298 : return xed_iform_to_category(xed_inst_iform_enum(p));
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR p$[rbp]
|
|
00026 e8 00 00 00 00 call xed_inst_iform_enum
|
|
0002b 8b c8 mov ecx, eax
|
|
0002d e8 00 00 00 00 call xed_iform_to_category
|
|
|
|
; 299 : }
|
|
|
|
00032 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00039 5f pop rdi
|
|
0003a 5d pop rbp
|
|
0003b c3 ret 0
|
|
xed_inst_category ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-inst.h
|
|
; COMDAT xed_inst_iclass
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_inst_iclass PROC ; COMDAT
|
|
|
|
; 293 : static XED_INLINE xed_iclass_enum_t xed_inst_iclass(const xed_inst_t* p) {
|
|
|
|
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:__F5B5218E_xed-inst@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 294 : return xed_iform_to_iclass(xed_inst_iform_enum(p));
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR p$[rbp]
|
|
00026 e8 00 00 00 00 call xed_inst_iform_enum
|
|
0002b 8b c8 mov ecx, eax
|
|
0002d e8 00 00 00 00 call xed_iform_to_iclass
|
|
|
|
; 295 : }
|
|
|
|
00032 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00039 5f pop rdi
|
|
0003a 5d pop rbp
|
|
0003b c3 ret 0
|
|
xed_inst_iclass ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-inst.h
|
|
; COMDAT xed_inst_iform_enum
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_inst_iform_enum PROC ; COMDAT
|
|
|
|
; 289 : static XED_INLINE xed_iform_enum_t xed_inst_iform_enum(const xed_inst_t* p) {
|
|
|
|
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:__F5B5218E_xed-inst@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 290 : return (xed_iform_enum_t)p->_iform_enum;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
00026 0f b7 40 06 movzx eax, WORD PTR [rax+6]
|
|
|
|
; 291 : }
|
|
|
|
0002a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00031 5f pop rdi
|
|
00032 5d pop rbp
|
|
00033 c3 ret 0
|
|
xed_inst_iform_enum ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-inst.h
|
|
; COMDAT xed_operand_type
|
|
_TEXT SEGMENT
|
|
p$ = 224
|
|
xed_operand_type PROC ; COMDAT
|
|
|
|
; 96 : xed_operand_type(const xed_operand_t* p) {
|
|
|
|
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:__F5B5218E_xed-inst@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 97 : return (xed_operand_type_enum_t)p->_type;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR p$[rbp]
|
|
00026 0f b6 40 04 movzx eax, BYTE PTR [rax+4]
|
|
|
|
; 98 : }
|
|
|
|
0002a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00031 5f pop rdi
|
|
00032 5d pop rbp
|
|
00033 c3 ret 0
|
|
xed_operand_type ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\build\obj\wkit\include\xed\xed-iform-map.h
|
|
; COMDAT xed_iform_to_iclass
|
|
_TEXT SEGMENT
|
|
ii$ = 8
|
|
iform$ = 256
|
|
xed_iform_to_iclass PROC ; COMDAT
|
|
|
|
; 74 : XED_INLINE xed_iclass_enum_t xed_iform_to_iclass(xed_iform_enum_t iform) {
|
|
|
|
00000 89 4c 24 08 mov DWORD PTR [rsp+8], ecx
|
|
00004 55 push rbp
|
|
00005 57 push rdi
|
|
00006 48 81 ec 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
0000d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00012 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__F79B480A_xed-iform-map@h
|
|
00019 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 75 : const xed_iform_info_t* ii = xed_iform_map(iform);
|
|
|
|
0001e 8b 8d 00 01 00
|
|
00 mov ecx, DWORD PTR iform$[rbp]
|
|
00024 e8 00 00 00 00 call xed_iform_map
|
|
00029 48 89 45 08 mov QWORD PTR ii$[rbp], rax
|
|
|
|
; 76 : if (ii)
|
|
|
|
0002d 48 83 7d 08 00 cmp QWORD PTR ii$[rbp], 0
|
|
00032 74 0d je SHORT $LN2@xed_iform_
|
|
|
|
; 77 : return (xed_iclass_enum_t) ii->iclass;
|
|
|
|
00034 48 8b 45 08 mov rax, QWORD PTR ii$[rbp]
|
|
00038 8b 00 mov eax, DWORD PTR [rax]
|
|
0003a 25 ff ff 00 00 and eax, 65535 ; 0000ffffH
|
|
0003f eb 02 jmp SHORT $LN1@xed_iform_
|
|
$LN2@xed_iform_:
|
|
|
|
; 78 : return XED_ICLASS_INVALID;
|
|
|
|
00041 33 c0 xor eax, eax
|
|
$LN1@xed_iform_:
|
|
|
|
; 79 : }
|
|
|
|
00043 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0004a 5f pop rdi
|
|
0004b 5d pop rbp
|
|
0004c c3 ret 0
|
|
xed_iform_to_iclass 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\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\ios
|
|
; COMDAT ?hex@std@@YAAEAVios_base@1@AEAV21@@Z
|
|
_TEXT SEGMENT
|
|
_Iosbase$ = 224
|
|
?hex@std@@YAAEAVios_base@1@AEAV21@@Z PROC ; std::hex, COMDAT
|
|
|
|
; 206 : inline ios_base& __CLRCALL_OR_CDECL hex(ios_base& _Iosbase) { // set basefield to hex
|
|
|
|
$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:__FD1AE8DD_ios
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 207 : _Iosbase.setf(ios_base::hex, ios_base::basefield);
|
|
|
|
0001f 41 b8 00 0e 00
|
|
00 mov r8d, 3584 ; 00000e00H
|
|
00025 ba 00 08 00 00 mov edx, 2048 ; 00000800H
|
|
0002a 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Iosbase$[rbp]
|
|
00031 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_?setf@ios_base@std@@QEAAHHH@Z
|
|
|
|
; 208 : return _Iosbase;
|
|
|
|
00037 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR _Iosbase$[rbp]
|
|
|
|
; 209 : }
|
|
|
|
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
|
|
?hex@std@@YAAEAVios_base@1@AEAV21@@Z ENDP ; std::hex
|
|
_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\xstring
|
|
; COMDAT ?eof@?$_Narrow_char_traits@DH@std@@SAHXZ
|
|
_TEXT SEGMENT
|
|
?eof@?$_Narrow_char_traits@DH@std@@SAHXZ PROC ; std::_Narrow_char_traits<char,int>::eof, COMDAT
|
|
|
|
; 477 : _NODISCARD static constexpr int_type eof() noexcept {
|
|
|
|
$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:__A9EB37C6_xstring
|
|
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 478 : return static_cast<int_type>(EOF);
|
|
|
|
0001b b8 ff ff ff ff mov eax, -1
|
|
|
|
; 479 : }
|
|
|
|
00020 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00027 5f pop rdi
|
|
00028 5d pop rbp
|
|
00029 c3 ret 0
|
|
?eof@?$_Narrow_char_traits@DH@std@@SAHXZ ENDP ; std::_Narrow_char_traits<char,int>::eof
|
|
_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\xstring
|
|
; COMDAT ?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z
|
|
_TEXT SEGMENT
|
|
tv65 = 192
|
|
_Left$ = 240
|
|
_Right$ = 248
|
|
?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z PROC ; std::_Narrow_char_traits<char,int>::eq_int_type, COMDAT
|
|
|
|
; 469 : _NODISCARD static constexpr bool eq_int_type(const int_type& _Left, const int_type& _Right) noexcept {
|
|
|
|
$LN5:
|
|
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 f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__A9EB37C6_xstring
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 470 : return _Left == _Right;
|
|
|
|
00024 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR _Left$[rbp]
|
|
0002b 48 8b 8d f8 00
|
|
00 00 mov rcx, QWORD PTR _Right$[rbp]
|
|
00032 8b 09 mov ecx, DWORD PTR [rcx]
|
|
00034 39 08 cmp DWORD PTR [rax], ecx
|
|
00036 75 0c jne SHORT $LN3@eq_int_typ
|
|
00038 c7 85 c0 00 00
|
|
00 01 00 00 00 mov DWORD PTR tv65[rbp], 1
|
|
00042 eb 0a jmp SHORT $LN4@eq_int_typ
|
|
$LN3@eq_int_typ:
|
|
00044 c7 85 c0 00 00
|
|
00 00 00 00 00 mov DWORD PTR tv65[rbp], 0
|
|
$LN4@eq_int_typ:
|
|
0004e 0f b6 85 c0 00
|
|
00 00 movzx eax, BYTE PTR tv65[rbp]
|
|
|
|
; 471 : }
|
|
|
|
00055 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
0005c 5f pop rdi
|
|
0005d 5d pop rbp
|
|
0005e c3 ret 0
|
|
?eq_int_type@?$_Narrow_char_traits@DH@std@@SA_NAEBH0@Z ENDP ; std::_Narrow_char_traits<char,int>::eq_int_type
|
|
_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\xutility
|
|
; COMDAT ??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
tv80 = 216
|
|
_Obj$ = 256
|
|
<_Args_0>$ = 264
|
|
??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z PROC ; std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>, COMDAT
|
|
|
|
; 151 : is_nothrow_constructible_v<_Ty, _Types...>) {
|
|
|
|
$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:__7CE971A6_xutility
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00024 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR _Obj$[rbp]
|
|
0002b e8 00 00 00 00 call ??$addressof@U_Container_proxy@std@@@std@@YAPEAU_Container_proxy@0@AEAU10@@Z ; std::addressof<std::_Container_proxy>
|
|
00030 48 8b c8 mov rcx, rax
|
|
00033 e8 00 00 00 00 call ??$_Voidify_iter@PEAU_Container_proxy@std@@@std@@YAPEAXPEAU_Container_proxy@0@@Z ; std::_Voidify_iter<std::_Container_proxy *>
|
|
00038 48 8b d0 mov rdx, rax
|
|
0003b b9 10 00 00 00 mov ecx, 16
|
|
00040 e8 00 00 00 00 call ??2@YAPEAX_KPEAX@Z ; operator new
|
|
00045 48 89 85 c8 00
|
|
00 00 mov QWORD PTR $T1[rbp], rax
|
|
0004c 48 8b 8d 08 01
|
|
00 00 mov rcx, QWORD PTR <_Args_0>$[rbp]
|
|
00053 e8 00 00 00 00 call ??$forward@PEAU_Container_base12@std@@@std@@YA$$QEAPEAU_Container_base12@0@AEAPEAU10@@Z ; std::forward<std::_Container_base12 *>
|
|
00058 48 8b 00 mov rax, QWORD PTR [rax]
|
|
0005b 48 89 85 d8 00
|
|
00 00 mov QWORD PTR tv80[rbp], rax
|
|
00062 48 8b 95 d8 00
|
|
00 00 mov rdx, QWORD PTR tv80[rbp]
|
|
00069 48 8b 8d c8 00
|
|
00 00 mov rcx, QWORD PTR $T1[rbp]
|
|
00070 e8 00 00 00 00 call ??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z ; std::_Container_proxy::_Container_proxy
|
|
|
|
; 152 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 153 : if (_STD is_constant_evaluated()) {
|
|
; 154 : _STD construct_at(_STD addressof(_Obj), _STD forward<_Types>(_Args)...);
|
|
; 155 : } else
|
|
; 156 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 157 : {
|
|
; 158 : ::new (_Voidify_iter(_STD addressof(_Obj))) _Ty(_STD forward<_Types>(_Args)...);
|
|
; 159 : }
|
|
; 160 : }
|
|
|
|
00075 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
0007c 5f pop rdi
|
|
0007d 5d pop rbp
|
|
0007e c3 ret 0
|
|
??$_Construct_in_place@U_Container_proxy@std@@PEAU_Container_base12@2@@std@@YAXAEAU_Container_proxy@0@$$QEAPEAU_Container_base12@0@@Z ENDP ; std::_Construct_in_place<std::_Container_proxy,std::_Container_base12 *>
|
|
_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_me_locked@_Iterator_base12@std@@AEAAXXZ
|
|
_TEXT SEGMENT
|
|
_Lock$ = 4
|
|
__$ArrayPad$ = 216
|
|
this$ = 256
|
|
?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ PROC ; std::_Iterator_base12::_Orphan_me_locked, COMDAT
|
|
|
|
; 1212 : void _Orphan_me_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
|
|
|
|
; 1213 : _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
|
|
|
|
; 1214 : _Orphan_me_unlocked();
|
|
|
|
00058 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0005f e8 00 00 00 00 call ?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ ; std::_Iterator_base12::_Orphan_me_unlocked
|
|
|
|
; 1215 : }
|
|
|
|
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_me_locked@_Iterator_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_me_locked@_Iterator_base12@std@@AEAAXXZ ENDP ; std::_Iterator_base12::_Orphan_me_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_me_unlocked@_Iterator_base12@std@@AEAAXXZ
|
|
_TEXT SEGMENT
|
|
_Pnext$ = 8
|
|
_Temp$1 = 40
|
|
this$ = 288
|
|
?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ PROC ; std::_Iterator_base12::_Orphan_me_unlocked, COMDAT
|
|
|
|
; 1200 : _CONSTEXPR20_CONTAINER void _Orphan_me_unlocked() noexcept {
|
|
|
|
$LN14:
|
|
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:__DD38B15A_xmemory
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1201 : _Iterator_base12** _Pnext = &_Myproxy->_Myfirstiter;
|
|
|
|
0001f 48 8b 85 20 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$[rbp], rax
|
|
$LN2@Orphan_me_:
|
|
|
|
; 1202 : while (*_Pnext && *_Pnext != this) {
|
|
|
|
00031 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
00035 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00039 74 29 je SHORT $LN6@Orphan_me_
|
|
0003b 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
0003f 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00046 48 39 08 cmp QWORD PTR [rax], rcx
|
|
00049 74 19 je SHORT $LN6@Orphan_me_
|
|
|
|
; 1203 : const auto _Temp = *_Pnext; // TRANSITION, VSO-1269037
|
|
|
|
0004b 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
0004f 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00052 48 89 45 28 mov QWORD PTR _Temp$1[rbp], rax
|
|
|
|
; 1204 : _Pnext = &_Temp->_Mynextiter;
|
|
|
|
00056 48 8b 45 28 mov rax, QWORD PTR _Temp$1[rbp]
|
|
0005a 48 83 c0 08 add rax, 8
|
|
0005e 48 89 45 08 mov QWORD PTR _Pnext$[rbp], rax
|
|
|
|
; 1205 : }
|
|
|
|
00062 eb cd jmp SHORT $LN2@Orphan_me_
|
|
$LN6@Orphan_me_:
|
|
|
|
; 1206 :
|
|
; 1207 : _STL_VERIFY(*_Pnext, "ITERATOR LIST CORRUPTED!");
|
|
|
|
00064 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
00068 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
0006c 74 02 je SHORT $LN9@Orphan_me_
|
|
0006e eb 6b jmp SHORT $LN11@Orphan_me_
|
|
$LN9@Orphan_me_:
|
|
00070 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0BJ@LFDBABJJ@ITERATOR?5LIST?5CORRUPTED?$CB@
|
|
00077 48 89 44 24 28 mov QWORD PTR [rsp+40], rax
|
|
0007c 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_02DKCKIIND@?$CFs@
|
|
00083 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
|
|
00088 45 33 c9 xor r9d, r9d
|
|
0008b 41 b8 b7 04 00
|
|
00 mov r8d, 1207 ; 000004b7H
|
|
00091 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0GI@KDIDHNIL@C?3?2Program?5Files?5?$CIx86?$CJ?2Microsof@
|
|
00098 b9 02 00 00 00 mov ecx, 2
|
|
0009d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__CrtDbgReport
|
|
000a3 83 f8 01 cmp eax, 1
|
|
000a6 75 03 jne SHORT $LN13@Orphan_me_
|
|
000a8 cc int 3
|
|
000a9 33 c0 xor eax, eax
|
|
$LN13@Orphan_me_:
|
|
000ab 48 c7 44 24 20
|
|
00 00 00 00 mov QWORD PTR [rsp+32], 0
|
|
000b4 41 b9 b7 04 00
|
|
00 mov r9d, 1207 ; 000004b7H
|
|
000ba 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@
|
|
000c1 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_1FG@EMKODCE@?$AAs?$AAt?$AAd?$AA?3?$AA?3?$AA_?$AAI?$AAt?$AAe?$AAr?$AAa?$AAt?$AAo?$AAr?$AA_@
|
|
000c8 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_C@_1DG@PLBPCAEM@?$AA?$CC?$AAI?$AAT?$AAE?$AAR?$AAA?$AAT?$AAO?$AAR?$AA?5?$AAL?$AAI?$AAS?$AAT?$AA?5@
|
|
000cf ff 15 00 00 00
|
|
00 call QWORD PTR __imp__invalid_parameter
|
|
000d5 33 c0 xor eax, eax
|
|
000d7 85 c0 test eax, eax
|
|
000d9 75 95 jne SHORT $LN9@Orphan_me_
|
|
$LN11@Orphan_me_:
|
|
000db 33 c0 xor eax, eax
|
|
000dd 85 c0 test eax, eax
|
|
000df 75 83 jne SHORT $LN6@Orphan_me_
|
|
|
|
; 1208 : *_Pnext = _Mynextiter;
|
|
|
|
000e1 48 8b 45 08 mov rax, QWORD PTR _Pnext$[rbp]
|
|
000e5 48 8b 8d 20 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
000ec 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
000f0 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1209 : _Myproxy = nullptr;
|
|
|
|
000f3 48 8b 85 20 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
000fa 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 1210 : }
|
|
|
|
00101 48 8d a5 08 01
|
|
00 00 lea rsp, QWORD PTR [rbp+264]
|
|
00108 5f pop rdi
|
|
00109 5d pop rbp
|
|
0010a c3 ret 0
|
|
?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ ENDP ; std::_Iterator_base12::_Orphan_me_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 ?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z
|
|
_TEXT SEGMENT
|
|
_Lock$ = 4
|
|
__$ArrayPad$ = 216
|
|
this$ = 256
|
|
_Parent_proxy$ = 264
|
|
?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z PROC ; std::_Iterator_base12::_Adopt_locked, COMDAT
|
|
|
|
; 1195 : void _Adopt_locked(_Container_proxy* _Parent_proxy) 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 08 01
|
|
00 00 sub rsp, 264 ; 00000108H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
|
|
0001d b9 0a 00 00 00 mov ecx, 10
|
|
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
|
|
00027 f3 ab rep stosd
|
|
00029 48 8b 8c 24 28
|
|
01 00 00 mov rcx, QWORD PTR [rsp+296]
|
|
00031 48 8b 05 00 00
|
|
00 00 mov rax, QWORD PTR __security_cookie
|
|
00038 48 33 c5 xor rax, rbp
|
|
0003b 48 89 85 d8 00
|
|
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
|
|
00042 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__DD38B15A_xmemory
|
|
00049 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1196 : _Lockit _Lock(_LOCK_DEBUG);
|
|
|
|
0004e ba 03 00 00 00 mov edx, 3
|
|
00053 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
00057 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??0_Lockit@std@@QEAA@H@Z
|
|
|
|
; 1197 : _Adopt_unlocked(_Parent_proxy);
|
|
|
|
0005d 48 8b 95 08 01
|
|
00 00 mov rdx, QWORD PTR _Parent_proxy$[rbp]
|
|
00064 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0006b e8 00 00 00 00 call ?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ; std::_Iterator_base12::_Adopt_unlocked
|
|
|
|
; 1198 : }
|
|
|
|
00070 48 8d 4d 04 lea rcx, QWORD PTR _Lock$[rbp]
|
|
00074 ff 15 00 00 00
|
|
00 call QWORD PTR __imp_??1_Lockit@std@@QEAA@XZ
|
|
0007a 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
|
|
0007e 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z$rtcFrameData
|
|
00085 e8 00 00 00 00 call _RTC_CheckStackVars
|
|
0008a 48 8b 8d d8 00
|
|
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
|
|
00091 48 33 cd xor rcx, rbp
|
|
00094 e8 00 00 00 00 call __security_check_cookie
|
|
00099 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
000a0 5f pop rdi
|
|
000a1 5d pop rbp
|
|
000a2 c3 ret 0
|
|
?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ENDP ; std::_Iterator_base12::_Adopt_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 ?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Parent_proxy$ = 232
|
|
?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z PROC ; std::_Iterator_base12::_Adopt_unlocked, COMDAT
|
|
|
|
; 1186 : _CONSTEXPR20_CONTAINER void _Adopt_unlocked(_Container_proxy* _Parent_proxy) 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
|
|
|
|
; 1187 : if (_Myproxy) { // adopted, remove self from list
|
|
|
|
00024 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
0002f 74 0c je SHORT $LN2@Adopt_unlo
|
|
|
|
; 1188 : _Orphan_me_unlocked();
|
|
|
|
00031 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00038 e8 00 00 00 00 call ?_Orphan_me_unlocked@_Iterator_base12@std@@AEAAXXZ ; std::_Iterator_base12::_Orphan_me_unlocked
|
|
$LN2@Adopt_unlo:
|
|
|
|
; 1189 : }
|
|
; 1190 : _Mynextiter = _Parent_proxy->_Myfirstiter;
|
|
|
|
0003d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00044 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Parent_proxy$[rbp]
|
|
0004b 48 8b 49 08 mov rcx, QWORD PTR [rcx+8]
|
|
0004f 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 1191 : _Parent_proxy->_Myfirstiter = this;
|
|
|
|
00053 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Parent_proxy$[rbp]
|
|
0005a 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00061 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 1192 : _Myproxy = _Parent_proxy;
|
|
|
|
00065 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0006c 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Parent_proxy$[rbp]
|
|
00073 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1193 : }
|
|
|
|
00076 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0007d 5f pop rdi
|
|
0007e 5d pop rbp
|
|
0007f c3 ret 0
|
|
?_Adopt_unlocked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ENDP ; std::_Iterator_base12::_Adopt_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 ?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ
|
|
_TEXT SEGMENT
|
|
tv68 = 192
|
|
this$ = 240
|
|
?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ PROC ; std::_Iterator_base12::_Getcont, COMDAT
|
|
|
|
; 1175 : _CONSTEXPR20_CONTAINER const _Container_base12* _Getcont() const noexcept {
|
|
|
|
$LN5:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
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
|
|
|
|
; 1176 : return _Myproxy ? _Myproxy->_Mycont : nullptr;
|
|
|
|
0001f 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
0002a 74 16 je SHORT $LN3@Getcont
|
|
0002c 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00033 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00036 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00039 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv68[rbp], rax
|
|
00040 eb 0b jmp SHORT $LN4@Getcont
|
|
$LN3@Getcont:
|
|
00042 48 c7 85 c0 00
|
|
00 00 00 00 00
|
|
00 mov QWORD PTR tv68[rbp], 0
|
|
$LN4@Getcont:
|
|
0004d 48 8b 85 c0 00
|
|
00 00 mov rax, QWORD PTR tv68[rbp]
|
|
|
|
; 1177 : }
|
|
|
|
00054 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
0005b 5f pop rdi
|
|
0005c 5d pop rbp
|
|
0005d c3 ret 0
|
|
?_Getcont@_Iterator_base12@std@@QEBAPEBU_Container_base12@2@XZ ENDP ; std::_Iterator_base12::_Getcont
|
|
_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_me_v2@_Iterator_base12@std@@QEAAXXZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ PROC ; std::_Iterator_base12::_Orphan_me_v2, COMDAT
|
|
|
|
; 1152 : _CONSTEXPR20_CONTAINER void _Orphan_me_v2() 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
|
|
|
|
; 1153 : if (_Myproxy) { // adopted, remove self from list
|
|
|
|
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_me_
|
|
|
|
; 1154 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1155 : if (_STD is_constant_evaluated()) {
|
|
; 1156 : _Orphan_me_unlocked();
|
|
; 1157 : } else
|
|
; 1158 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1159 : {
|
|
; 1160 : _Orphan_me_locked();
|
|
|
|
0002c 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00033 e8 00 00 00 00 call ?_Orphan_me_locked@_Iterator_base12@std@@AEAAXXZ ; std::_Iterator_base12::_Orphan_me_locked
|
|
$LN2@Orphan_me_:
|
|
|
|
; 1161 : }
|
|
; 1162 : }
|
|
; 1163 : }
|
|
|
|
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_me_v2@_Iterator_base12@std@@QEAAXXZ ENDP ; std::_Iterator_base12::_Orphan_me_v2
|
|
_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 ?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z
|
|
_TEXT SEGMENT
|
|
_Parent_proxy$1 = 8
|
|
this$ = 256
|
|
_Parent$ = 264
|
|
?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z PROC ; std::_Iterator_base12::_Adopt, COMDAT
|
|
|
|
; 1134 : _CONSTEXPR20_CONTAINER void _Adopt(const _Container_base12* _Parent) noexcept {
|
|
|
|
$LN6:
|
|
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:__DD38B15A_xmemory
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 1135 : if (_Parent) { // have a parent, do adoption
|
|
|
|
00024 48 83 bd 08 01
|
|
00 00 00 cmp QWORD PTR _Parent$[rbp], 0
|
|
0002c 74 30 je SHORT $LN2@Adopt
|
|
|
|
; 1136 : _Container_proxy* _Parent_proxy = _Parent->_Myproxy;
|
|
|
|
0002e 48 8b 85 08 01
|
|
00 00 mov rax, QWORD PTR _Parent$[rbp]
|
|
00035 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00038 48 89 45 08 mov QWORD PTR _Parent_proxy$1[rbp], rax
|
|
|
|
; 1137 : if (_Myproxy != _Parent_proxy) { // change parentage
|
|
|
|
0003c 48 8b 85 00 01
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00043 48 8b 4d 08 mov rcx, QWORD PTR _Parent_proxy$1[rbp]
|
|
00047 48 39 08 cmp QWORD PTR [rax], rcx
|
|
0004a 74 10 je SHORT $LN4@Adopt
|
|
|
|
; 1138 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1139 : if (_STD is_constant_evaluated()) {
|
|
; 1140 : _Adopt_unlocked(_Parent_proxy);
|
|
; 1141 : } else
|
|
; 1142 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1143 : {
|
|
; 1144 : _Adopt_locked(_Parent_proxy);
|
|
|
|
0004c 48 8b 55 08 mov rdx, QWORD PTR _Parent_proxy$1[rbp]
|
|
00050 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00057 e8 00 00 00 00 call ?_Adopt_locked@_Iterator_base12@std@@AEAAXPEAU_Container_proxy@2@@Z ; std::_Iterator_base12::_Adopt_locked
|
|
$LN4@Adopt:
|
|
|
|
; 1145 : }
|
|
; 1146 : }
|
|
; 1147 : } else { // no future parent, just disown current parent
|
|
|
|
0005c eb 0c jmp SHORT $LN3@Adopt
|
|
$LN2@Adopt:
|
|
|
|
; 1148 : _Orphan_me_v2();
|
|
|
|
0005e 48 8b 8d 00 01
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00065 e8 00 00 00 00 call ?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ ; std::_Iterator_base12::_Orphan_me_v2
|
|
$LN3@Adopt:
|
|
|
|
; 1149 : }
|
|
; 1150 : }
|
|
|
|
0006a 48 8d a5 e8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+232]
|
|
00071 5f pop rdi
|
|
00072 5d pop rbp
|
|
00073 c3 ret 0
|
|
?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z ENDP ; std::_Iterator_base12::_Adopt
|
|
_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 ??1_Iterator_base12@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1_Iterator_base12@std@@QEAA@XZ PROC ; std::_Iterator_base12::~_Iterator_base12, COMDAT
|
|
|
|
; 1130 : _CONSTEXPR20_CONTAINER ~_Iterator_base12() 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
|
|
|
|
; 1131 : _Orphan_me_v2();
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ ; std::_Iterator_base12::_Orphan_me_v2
|
|
|
|
; 1132 : }
|
|
|
|
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
|
|
??1_Iterator_base12@std@@QEAA@XZ ENDP ; std::_Iterator_base12::~_Iterator_base12
|
|
_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 ??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Right$ = 232
|
|
??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z PROC ; std::_Iterator_base12::operator=, COMDAT
|
|
|
|
; 1114 : _CONSTEXPR20_CONTAINER _Iterator_base12& operator=(const _Iterator_base12& _Right) noexcept {
|
|
|
|
$LN6:
|
|
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
|
|
|
|
; 1115 : if (_Myproxy != _Right._Myproxy) {
|
|
|
|
00024 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Right$[rbp]
|
|
00032 48 8b 09 mov rcx, QWORD PTR [rcx]
|
|
00035 48 39 08 cmp QWORD PTR [rax], rcx
|
|
00038 74 34 je SHORT $LN2@operator
|
|
|
|
; 1116 : if (_Right._Myproxy) {
|
|
|
|
0003a 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Right$[rbp]
|
|
00041 48 83 38 00 cmp QWORD PTR [rax], 0
|
|
00045 74 1b je SHORT $LN3@operator
|
|
|
|
; 1117 : _Adopt(_Right._Myproxy->_Mycont);
|
|
|
|
00047 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Right$[rbp]
|
|
0004e 48 8b 00 mov rax, QWORD PTR [rax]
|
|
00051 48 8b 10 mov rdx, QWORD PTR [rax]
|
|
00054 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0005b e8 00 00 00 00 call ?_Adopt@_Iterator_base12@std@@QEAAXPEBU_Container_base12@2@@Z ; std::_Iterator_base12::_Adopt
|
|
|
|
; 1118 : } else { // becoming invalid, disown current parent
|
|
|
|
00060 eb 0c jmp SHORT $LN2@operator
|
|
$LN3@operator:
|
|
|
|
; 1119 : #if _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1120 : _Orphan_me_v2();
|
|
|
|
00062 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00069 e8 00 00 00 00 call ?_Orphan_me_v2@_Iterator_base12@std@@QEAAXXZ ; std::_Iterator_base12::_Orphan_me_v2
|
|
$LN2@operator:
|
|
|
|
; 1121 : #else // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1122 : _Myproxy = nullptr;
|
|
; 1123 : #endif // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1124 : }
|
|
; 1125 : }
|
|
; 1126 : return *this;
|
|
|
|
0006e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
|
|
; 1127 : }
|
|
|
|
00075 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0007c 5f pop rdi
|
|
0007d 5d pop rbp
|
|
0007e c3 ret 0
|
|
??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z ENDP ; std::_Iterator_base12::operator=
|
|
_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 ??0_Iterator_base12@std@@QEAA@AEBU01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Right$ = 232
|
|
??0_Iterator_base12@std@@QEAA@AEBU01@@Z PROC ; std::_Iterator_base12::_Iterator_base12, COMDAT
|
|
|
|
; 1110 : _CONSTEXPR20_CONTAINER _Iterator_base12(const _Iterator_base12& _Right) 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
|
|
|
|
; 1113 :
|
|
; 1114 : _CONSTEXPR20_CONTAINER _Iterator_base12& operator=(const _Iterator_base12& _Right) noexcept {
|
|
; 1115 : if (_Myproxy != _Right._Myproxy) {
|
|
; 1116 : if (_Right._Myproxy) {
|
|
; 1117 : _Adopt(_Right._Myproxy->_Mycont);
|
|
; 1118 : } else { // becoming invalid, disown current parent
|
|
; 1119 : #if _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1120 : _Orphan_me_v2();
|
|
; 1121 : #else // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1122 : _Myproxy = nullptr;
|
|
; 1123 : #endif // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1124 : }
|
|
; 1125 : }
|
|
; 1126 : return *this;
|
|
; 1127 : }
|
|
; 1128 :
|
|
; 1129 : #if _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1130 : _CONSTEXPR20_CONTAINER ~_Iterator_base12() noexcept {
|
|
; 1131 : _Orphan_me_v2();
|
|
; 1132 : }
|
|
; 1133 :
|
|
; 1134 : _CONSTEXPR20_CONTAINER void _Adopt(const _Container_base12* _Parent) noexcept {
|
|
; 1135 : if (_Parent) { // have a parent, do adoption
|
|
; 1136 : _Container_proxy* _Parent_proxy = _Parent->_Myproxy;
|
|
; 1137 : if (_Myproxy != _Parent_proxy) { // change parentage
|
|
; 1138 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1139 : if (_STD is_constant_evaluated()) {
|
|
; 1140 : _Adopt_unlocked(_Parent_proxy);
|
|
; 1141 : } else
|
|
; 1142 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1143 : {
|
|
; 1144 : _Adopt_locked(_Parent_proxy);
|
|
; 1145 : }
|
|
; 1146 : }
|
|
; 1147 : } else { // no future parent, just disown current parent
|
|
; 1148 : _Orphan_me_v2();
|
|
; 1149 : }
|
|
; 1150 : }
|
|
; 1151 :
|
|
; 1152 : _CONSTEXPR20_CONTAINER void _Orphan_me_v2() noexcept {
|
|
; 1153 : if (_Myproxy) { // adopted, remove self from list
|
|
; 1154 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1155 : if (_STD is_constant_evaluated()) {
|
|
; 1156 : _Orphan_me_unlocked();
|
|
; 1157 : } else
|
|
; 1158 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1159 : {
|
|
; 1160 : _Orphan_me_locked();
|
|
; 1161 : }
|
|
; 1162 : }
|
|
; 1163 : }
|
|
; 1164 :
|
|
; 1165 : #else // ^^^ _ITERATOR_DEBUG_LEVEL == 2 ^^^ / vvv _ITERATOR_DEBUG_LEVEL != 2 vvv
|
|
; 1166 : _CONSTEXPR20_CONTAINER void _Adopt(const _Container_base12* _Parent) noexcept {
|
|
; 1167 : if (_Parent) { // have a parent, do adoption
|
|
; 1168 : _Myproxy = _Parent->_Myproxy;
|
|
; 1169 : } else { // no future parent, just disown current parent
|
|
; 1170 : _Myproxy = nullptr;
|
|
; 1171 : }
|
|
; 1172 : }
|
|
; 1173 : #endif // _ITERATOR_DEBUG_LEVEL != 2
|
|
; 1174 :
|
|
; 1175 : _CONSTEXPR20_CONTAINER const _Container_base12* _Getcont() const noexcept {
|
|
; 1176 : return _Myproxy ? _Myproxy->_Mycont : nullptr;
|
|
; 1177 : }
|
|
; 1178 :
|
|
; 1179 : static constexpr bool _Unwrap_when_unverified = _ITERATOR_DEBUG_LEVEL == 0;
|
|
; 1180 :
|
|
; 1181 : mutable _Container_proxy* _Myproxy = nullptr;
|
|
|
|
00024 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0002b 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 1182 : mutable _Iterator_base12* _Mynextiter = nullptr;
|
|
|
|
00032 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00039 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
|
|
; 1111 : *this = _Right;
|
|
|
|
00041 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _Right$[rbp]
|
|
00048 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0004f e8 00 00 00 00 call ??4_Iterator_base12@std@@QEAAAEAU01@AEBU01@@Z ; std::_Iterator_base12::operator=
|
|
|
|
; 1112 : }
|
|
|
|
00054 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0005b 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00062 5f pop rdi
|
|
00063 5d pop rbp
|
|
00064 c3 ret 0
|
|
??0_Iterator_base12@std@@QEAA@AEBU01@@Z ENDP ; std::_Iterator_base12::_Iterator_base12
|
|
_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 ??0_Iterator_base12@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0_Iterator_base12@std@@QEAA@XZ PROC ; std::_Iterator_base12::_Iterator_base12, COMDAT
|
|
|
|
; 1108 : _CONSTEXPR20_CONTAINER _Iterator_base12() noexcept = default; // construct orphaned iterator
|
|
|
|
$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
|
|
|
|
; 1109 :
|
|
; 1110 : _CONSTEXPR20_CONTAINER _Iterator_base12(const _Iterator_base12& _Right) noexcept {
|
|
; 1111 : *this = _Right;
|
|
; 1112 : }
|
|
; 1113 :
|
|
; 1114 : _CONSTEXPR20_CONTAINER _Iterator_base12& operator=(const _Iterator_base12& _Right) noexcept {
|
|
; 1115 : if (_Myproxy != _Right._Myproxy) {
|
|
; 1116 : if (_Right._Myproxy) {
|
|
; 1117 : _Adopt(_Right._Myproxy->_Mycont);
|
|
; 1118 : } else { // becoming invalid, disown current parent
|
|
; 1119 : #if _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1120 : _Orphan_me_v2();
|
|
; 1121 : #else // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1122 : _Myproxy = nullptr;
|
|
; 1123 : #endif // _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1124 : }
|
|
; 1125 : }
|
|
; 1126 : return *this;
|
|
; 1127 : }
|
|
; 1128 :
|
|
; 1129 : #if _ITERATOR_DEBUG_LEVEL == 2
|
|
; 1130 : _CONSTEXPR20_CONTAINER ~_Iterator_base12() noexcept {
|
|
; 1131 : _Orphan_me_v2();
|
|
; 1132 : }
|
|
; 1133 :
|
|
; 1134 : _CONSTEXPR20_CONTAINER void _Adopt(const _Container_base12* _Parent) noexcept {
|
|
; 1135 : if (_Parent) { // have a parent, do adoption
|
|
; 1136 : _Container_proxy* _Parent_proxy = _Parent->_Myproxy;
|
|
; 1137 : if (_Myproxy != _Parent_proxy) { // change parentage
|
|
; 1138 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1139 : if (_STD is_constant_evaluated()) {
|
|
; 1140 : _Adopt_unlocked(_Parent_proxy);
|
|
; 1141 : } else
|
|
; 1142 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1143 : {
|
|
; 1144 : _Adopt_locked(_Parent_proxy);
|
|
; 1145 : }
|
|
; 1146 : }
|
|
; 1147 : } else { // no future parent, just disown current parent
|
|
; 1148 : _Orphan_me_v2();
|
|
; 1149 : }
|
|
; 1150 : }
|
|
; 1151 :
|
|
; 1152 : _CONSTEXPR20_CONTAINER void _Orphan_me_v2() noexcept {
|
|
; 1153 : if (_Myproxy) { // adopted, remove self from list
|
|
; 1154 : #ifdef __cpp_lib_constexpr_dynamic_alloc
|
|
; 1155 : if (_STD is_constant_evaluated()) {
|
|
; 1156 : _Orphan_me_unlocked();
|
|
; 1157 : } else
|
|
; 1158 : #endif // __cpp_lib_constexpr_dynamic_alloc
|
|
; 1159 : {
|
|
; 1160 : _Orphan_me_locked();
|
|
; 1161 : }
|
|
; 1162 : }
|
|
; 1163 : }
|
|
; 1164 :
|
|
; 1165 : #else // ^^^ _ITERATOR_DEBUG_LEVEL == 2 ^^^ / vvv _ITERATOR_DEBUG_LEVEL != 2 vvv
|
|
; 1166 : _CONSTEXPR20_CONTAINER void _Adopt(const _Container_base12* _Parent) noexcept {
|
|
; 1167 : if (_Parent) { // have a parent, do adoption
|
|
; 1168 : _Myproxy = _Parent->_Myproxy;
|
|
; 1169 : } else { // no future parent, just disown current parent
|
|
; 1170 : _Myproxy = nullptr;
|
|
; 1171 : }
|
|
; 1172 : }
|
|
; 1173 : #endif // _ITERATOR_DEBUG_LEVEL != 2
|
|
; 1174 :
|
|
; 1175 : _CONSTEXPR20_CONTAINER const _Container_base12* _Getcont() const noexcept {
|
|
; 1176 : return _Myproxy ? _Myproxy->_Mycont : nullptr;
|
|
; 1177 : }
|
|
; 1178 :
|
|
; 1179 : static constexpr bool _Unwrap_when_unverified = _ITERATOR_DEBUG_LEVEL == 0;
|
|
; 1180 :
|
|
; 1181 : mutable _Container_proxy* _Myproxy = nullptr;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 1182 : mutable _Iterator_base12* _Mynextiter = nullptr;
|
|
|
|
0002d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00034 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
|
|
; 1108 : _CONSTEXPR20_CONTAINER _Iterator_base12() noexcept = default; // construct orphaned iterator
|
|
|
|
0003c 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0_Iterator_base12@std@@QEAA@XZ ENDP ; std::_Iterator_base12::_Iterator_base12
|
|
_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 ??0_Container_base12@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0_Container_base12@std@@QEAA@XZ PROC ; std::_Container_base12::_Container_base12, COMDAT
|
|
|
|
; 1064 : _CONSTEXPR20_CONTAINER _Container_base12() noexcept = default;
|
|
|
|
$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
|
|
|
|
; 1065 :
|
|
; 1066 : _Container_base12(const _Container_base12&) = delete;
|
|
; 1067 : _Container_base12& operator=(const _Container_base12&) = delete;
|
|
; 1068 :
|
|
; 1069 : _CONSTEXPR20_CONTAINER void _Orphan_all() noexcept;
|
|
; 1070 : _CONSTEXPR20_CONTAINER void _Swap_proxy_and_iterators(_Container_base12&) noexcept;
|
|
; 1071 :
|
|
; 1072 : template <class _Alloc>
|
|
; 1073 : _CONSTEXPR20_CONTAINER void _Alloc_proxy(_Alloc&& _Al) {
|
|
; 1074 : _Container_proxy* const _New_proxy = _Unfancy(_Al.allocate(1));
|
|
; 1075 : _Construct_in_place(*_New_proxy, this);
|
|
; 1076 : _Myproxy = _New_proxy;
|
|
; 1077 : _New_proxy->_Mycont = this;
|
|
; 1078 : }
|
|
; 1079 :
|
|
; 1080 : template <class _Alloc>
|
|
; 1081 : _CONSTEXPR20_CONTAINER void _Reload_proxy(_Alloc&& _Old_alloc, _Alloc&& _New_alloc) {
|
|
; 1082 : // pre: no iterators refer to the existing proxy
|
|
; 1083 : _Container_proxy* const _New_proxy = _Unfancy(_New_alloc.allocate(1));
|
|
; 1084 : _Construct_in_place(*_New_proxy, this);
|
|
; 1085 : _New_proxy->_Mycont = this;
|
|
; 1086 : _Delete_plain_internal(_Old_alloc, _STD exchange(_Myproxy, _New_proxy));
|
|
; 1087 : }
|
|
; 1088 :
|
|
; 1089 : _Container_proxy* _Myproxy = nullptr;
|
|
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 c7 00 00 00
|
|
00 00 mov QWORD PTR [rax], 0
|
|
|
|
; 1064 : _CONSTEXPR20_CONTAINER _Container_base12() noexcept = default;
|
|
|
|
0002d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00034 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0003b 5f pop rdi
|
|
0003c 5d pop rbp
|
|
0003d c3 ret 0
|
|
??0_Container_base12@std@@QEAA@XZ ENDP ; std::_Container_base12::_Container_base12
|
|
_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 ??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Mycont_$ = 232
|
|
??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z PROC ; std::_Container_proxy::_Container_proxy, COMDAT
|
|
|
|
; 1056 : _CONSTEXPR20_CONTAINER _Container_proxy(_Container_base12* _Mycont_) noexcept : _Mycont(_Mycont_) {}
|
|
|
|
$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 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Mycont_$[rbp]
|
|
00032 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 1057 :
|
|
; 1058 : const _Container_base12* _Mycont = nullptr;
|
|
; 1059 : mutable _Iterator_base12* _Myfirstiter = nullptr;
|
|
|
|
00035 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003c 48 c7 40 08 00
|
|
00 00 00 mov QWORD PTR [rax+8], 0
|
|
|
|
; 1056 : _CONSTEXPR20_CONTAINER _Container_proxy(_Container_base12* _Mycont_) noexcept : _Mycont(_Mycont_) {}
|
|
|
|
00044 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0_Container_proxy@std@@QEAA@PEAU_Container_base12@1@@Z ENDP ; std::_Container_proxy::_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 ?_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)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\xmemory
|
|
; COMDAT ?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z
|
|
_TEXT SEGMENT
|
|
_Bytes$ = 224
|
|
?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z PROC ; std::_Default_allocate_traits::_Allocate, COMDAT
|
|
|
|
; 84 : void* _Allocate(const size_t _Bytes) {
|
|
|
|
$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
|
|
|
|
; 85 : return ::operator new(_Bytes);
|
|
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR _Bytes$[rbp]
|
|
00026 e8 00 00 00 00 call ??2@YAPEAX_K@Z ; operator new
|
|
|
|
; 86 : }
|
|
|
|
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
|
|
?_Allocate@_Default_allocate_traits@std@@SAPEAX_K@Z ENDP ; std::_Default_allocate_traits::_Allocate
|
|
_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\exception
|
|
; COMDAT ?_Throw_bad_array_new_length@std@@YAXXZ
|
|
_TEXT SEGMENT
|
|
$T1 = 200
|
|
?_Throw_bad_array_new_length@std@@YAXXZ PROC ; std::_Throw_bad_array_new_length, COMDAT
|
|
|
|
; 320 : [[noreturn]] inline void _Throw_bad_array_new_length() {
|
|
|
|
$LN3:
|
|
00000 40 55 push rbp
|
|
00002 57 push rdi
|
|
00003 48 81 ec 18 01
|
|
00 00 sub rsp, 280 ; 00000118H
|
|
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
0000f 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__89F7010A_exception
|
|
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 321 : _THROW(bad_array_new_length{});
|
|
|
|
0001b 48 8d 8d c8 00
|
|
00 00 lea rcx, QWORD PTR $T1[rbp]
|
|
00022 e8 00 00 00 00 call ??0bad_array_new_length@std@@QEAA@XZ ; std::bad_array_new_length::bad_array_new_length
|
|
00027 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:_TI3?AVbad_array_new_length@std@@
|
|
0002e 48 8d 8d c8 00
|
|
00 00 lea rcx, QWORD PTR $T1[rbp]
|
|
00035 e8 00 00 00 00 call _CxxThrowException
|
|
$LN2@Throw_bad_:
|
|
|
|
; 322 : }
|
|
|
|
0003a 48 8d a5 f8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+248]
|
|
00041 5f pop rdi
|
|
00042 5d pop rbp
|
|
00043 c3 ret 0
|
|
?_Throw_bad_array_new_length@std@@YAXXZ ENDP ; std::_Throw_bad_array_new_length
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??_Gbad_array_new_length@std@@UEAAPEAXI@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__flags$ = 232
|
|
??_Gbad_array_new_length@std@@UEAAPEAXI@Z PROC ; std::bad_array_new_length::`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 ??1bad_array_new_length@std@@UEAA@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 18 00 00 00 mov edx, 24
|
|
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
|
|
??_Gbad_array_new_length@std@@UEAAPEAXI@Z ENDP ; std::bad_array_new_length::`scalar deleting destructor'
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??0bad_array_new_length@std@@QEAA@AEBV01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__that$ = 232
|
|
??0bad_array_new_length@std@@QEAA@AEBV01@@Z PROC ; std::bad_array_new_length::bad_array_new_length, COMDAT
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR __that$[rbp]
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ??0bad_alloc@std@@QEAA@AEBV01@@Z
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00032 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7bad_array_new_length@std@@6B@
|
|
00039 48 89 08 mov QWORD PTR [rax], rcx
|
|
0003c 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0bad_array_new_length@std@@QEAA@AEBV01@@Z ENDP ; std::bad_array_new_length::bad_array_new_length
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??1bad_array_new_length@std@@UEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1bad_array_new_length@std@@UEAA@XZ PROC ; std::bad_array_new_length::~bad_array_new_length, 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 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001a e8 00 00 00 00 call ??1bad_alloc@std@@UEAA@XZ
|
|
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
|
|
??1bad_array_new_length@std@@UEAA@XZ ENDP ; std::bad_array_new_length::~bad_array_new_length
|
|
_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\vcruntime_exception.h
|
|
; COMDAT ??0bad_array_new_length@std@@QEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??0bad_array_new_length@std@@QEAA@XZ PROC ; std::bad_array_new_length::bad_array_new_length, COMDAT
|
|
|
|
; 141 : {
|
|
|
|
$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:__BDCC0984_vcruntime_exception@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 140 : : bad_alloc("bad array new length")
|
|
|
|
0001f 48 8d 15 00 00
|
|
00 00 lea rdx, OFFSET FLAT:??_C@_0BF@KINCDENJ@bad?5array?5new?5length@
|
|
00026 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0002d e8 00 00 00 00 call ??0bad_alloc@std@@AEAA@QEBD@Z ; std::bad_alloc::bad_alloc
|
|
|
|
; 141 : {
|
|
|
|
00032 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00039 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7bad_array_new_length@std@@6B@
|
|
00040 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 142 : }
|
|
|
|
00043 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0004a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00051 5f pop rdi
|
|
00052 5d pop rbp
|
|
00053 c3 ret 0
|
|
??0bad_array_new_length@std@@QEAA@XZ ENDP ; std::bad_array_new_length::bad_array_new_length
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??_Gbad_alloc@std@@UEAAPEAXI@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__flags$ = 232
|
|
??_Gbad_alloc@std@@UEAAPEAXI@Z PROC ; std::bad_alloc::`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 ??1bad_alloc@std@@UEAA@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 18 00 00 00 mov edx, 24
|
|
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
|
|
??_Gbad_alloc@std@@UEAAPEAXI@Z ENDP ; std::bad_alloc::`scalar deleting destructor'
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??0bad_alloc@std@@QEAA@AEBV01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__that$ = 232
|
|
??0bad_alloc@std@@QEAA@AEBV01@@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
|
|
$LN3:
|
|
00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
|
|
00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
0000a 55 push rbp
|
|
0000b 57 push rdi
|
|
0000c 48 81 ec e8 00
|
|
00 00 sub rsp, 232 ; 000000e8H
|
|
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00018 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR __that$[rbp]
|
|
0001f 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00026 e8 00 00 00 00 call ??0exception@std@@QEAA@AEBV01@@Z ; std::exception::exception
|
|
0002b 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00032 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7bad_alloc@std@@6B@
|
|
00039 48 89 08 mov QWORD PTR [rax], rcx
|
|
0003c 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
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
|
|
??0bad_alloc@std@@QEAA@AEBV01@@Z ENDP ; std::bad_alloc::bad_alloc
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??1bad_alloc@std@@UEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1bad_alloc@std@@UEAA@XZ PROC ; std::bad_alloc::~bad_alloc, 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 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
0001a e8 00 00 00 00 call ??1exception@std@@UEAA@XZ ; std::exception::~exception
|
|
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
|
|
??1bad_alloc@std@@UEAA@XZ ENDP ; std::bad_alloc::~bad_alloc
|
|
_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\vcruntime_exception.h
|
|
; COMDAT ??0bad_alloc@std@@AEAA@QEBD@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Message$ = 232
|
|
??0bad_alloc@std@@AEAA@QEBD@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
|
|
|
|
; 130 : {
|
|
|
|
$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:__BDCC0984_vcruntime_exception@h
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 129 : : exception(_Message, 1)
|
|
|
|
00024 41 b8 01 00 00
|
|
00 mov r8d, 1
|
|
0002a 48 8b 95 e8 00
|
|
00 00 mov rdx, QWORD PTR _Message$[rbp]
|
|
00031 48 8b 8d e0 00
|
|
00 00 mov rcx, QWORD PTR this$[rbp]
|
|
00038 e8 00 00 00 00 call ??0exception@std@@QEAA@QEBDH@Z ; std::exception::exception
|
|
|
|
; 130 : {
|
|
|
|
0003d 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00044 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7bad_alloc@std@@6B@
|
|
0004b 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 131 : }
|
|
|
|
0004e 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00055 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0005c 5f pop rdi
|
|
0005d 5d pop rbp
|
|
0005e c3 ret 0
|
|
??0bad_alloc@std@@AEAA@QEBD@Z ENDP ; std::bad_alloc::bad_alloc
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; COMDAT ??_Gexception@std@@UEAAPEAXI@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
__flags$ = 232
|
|
??_Gexception@std@@UEAAPEAXI@Z PROC ; std::exception::`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 ??1exception@std@@UEAA@XZ ; std::exception::~exception
|
|
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 18 00 00 00 mov edx, 24
|
|
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
|
|
??_Gexception@std@@UEAAPEAXI@Z ENDP ; std::exception::`scalar deleting destructor'
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vcruntime_exception.h
|
|
; COMDAT ?what@exception@std@@UEBAPEBDXZ
|
|
_TEXT SEGMENT
|
|
tv69 = 192
|
|
this$ = 240
|
|
?what@exception@std@@UEBAPEBDXZ PROC ; std::exception::what, COMDAT
|
|
|
|
; 94 : {
|
|
|
|
$LN5:
|
|
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
|
|
00005 55 push rbp
|
|
00006 57 push rdi
|
|
00007 48 81 ec f8 00
|
|
00 00 sub rsp, 248 ; 000000f8H
|
|
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
|
|
00013 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__BDCC0984_vcruntime_exception@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 95 : return _Data._What ? _Data._What : "Unknown exception";
|
|
|
|
0001f 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 83 78 08 00 cmp QWORD PTR [rax+8], 0
|
|
0002b 74 14 je SHORT $LN3@what
|
|
0002d 48 8b 85 f0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00034 48 8b 40 08 mov rax, QWORD PTR [rax+8]
|
|
00038 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv69[rbp], rax
|
|
0003f eb 0e jmp SHORT $LN4@what
|
|
$LN3@what:
|
|
00041 48 8d 05 00 00
|
|
00 00 lea rax, OFFSET FLAT:??_C@_0BC@EOODALEL@Unknown?5exception@
|
|
00048 48 89 85 c0 00
|
|
00 00 mov QWORD PTR tv69[rbp], rax
|
|
$LN4@what:
|
|
0004f 48 8b 85 c0 00
|
|
00 00 mov rax, QWORD PTR tv69[rbp]
|
|
|
|
; 96 : }
|
|
|
|
00056 48 8d a5 d8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+216]
|
|
0005d 5f pop rdi
|
|
0005e 5d pop rbp
|
|
0005f c3 ret 0
|
|
?what@exception@std@@UEBAPEBDXZ ENDP ; std::exception::what
|
|
_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\vcruntime_exception.h
|
|
; COMDAT ??1exception@std@@UEAA@XZ
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
??1exception@std@@UEAA@XZ PROC ; std::exception::~exception, COMDAT
|
|
|
|
; 89 : {
|
|
|
|
$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:__BDCC0984_vcruntime_exception@h
|
|
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
0001f 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00026 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7exception@std@@6B@
|
|
0002d 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 90 : __std_exception_destroy(&_Data);
|
|
|
|
00030 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00037 48 83 c0 08 add rax, 8
|
|
0003b 48 8b c8 mov rcx, rax
|
|
0003e e8 00 00 00 00 call __std_exception_destroy
|
|
|
|
; 91 : }
|
|
|
|
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
|
|
??1exception@std@@UEAA@XZ ENDP ; std::exception::~exception
|
|
_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\vcruntime_exception.h
|
|
; COMDAT ??0exception@std@@QEAA@AEBV01@@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Other$ = 232
|
|
??0exception@std@@QEAA@AEBV01@@Z PROC ; std::exception::exception, COMDAT
|
|
|
|
; 72 : {
|
|
|
|
$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:__BDCC0984_vcruntime_exception@h
|
|
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 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7exception@std@@6B@
|
|
00032 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 71 : : _Data()
|
|
|
|
00035 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0003c 48 83 c0 08 add rax, 8
|
|
00040 48 8b f8 mov rdi, rax
|
|
00043 33 c0 xor eax, eax
|
|
00045 b9 10 00 00 00 mov ecx, 16
|
|
0004a f3 aa rep stosb
|
|
|
|
; 73 : __std_exception_copy(&_Other._Data, &_Data);
|
|
|
|
0004c 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00053 48 83 c0 08 add rax, 8
|
|
00057 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Other$[rbp]
|
|
0005e 48 83 c1 08 add rcx, 8
|
|
00062 48 8b d0 mov rdx, rax
|
|
00065 e8 00 00 00 00 call __std_exception_copy
|
|
|
|
; 74 : }
|
|
|
|
0006a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00071 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00078 5f pop rdi
|
|
00079 5d pop rbp
|
|
0007a c3 ret 0
|
|
??0exception@std@@QEAA@AEBV01@@Z ENDP ; std::exception::exception
|
|
_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\vcruntime_exception.h
|
|
; COMDAT ??0exception@std@@QEAA@QEBDH@Z
|
|
_TEXT SEGMENT
|
|
this$ = 224
|
|
_Message$ = 232
|
|
__formal$ = 240
|
|
??0exception@std@@QEAA@QEBDH@Z PROC ; std::exception::exception, COMDAT
|
|
|
|
; 66 : {
|
|
|
|
$LN3:
|
|
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 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:__BDCC0984_vcruntime_exception@h
|
|
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00029 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00030 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:??_7exception@std@@6B@
|
|
00037 48 89 08 mov QWORD PTR [rax], rcx
|
|
|
|
; 65 : : _Data()
|
|
|
|
0003a 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00041 48 83 c0 08 add rax, 8
|
|
00045 48 8b f8 mov rdi, rax
|
|
00048 33 c0 xor eax, eax
|
|
0004a b9 10 00 00 00 mov ecx, 16
|
|
0004f f3 aa rep stosb
|
|
|
|
; 67 : _Data._What = _Message;
|
|
|
|
00051 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
00058 48 8b 8d e8 00
|
|
00 00 mov rcx, QWORD PTR _Message$[rbp]
|
|
0005f 48 89 48 08 mov QWORD PTR [rax+8], rcx
|
|
|
|
; 68 : }
|
|
|
|
00063 48 8b 85 e0 00
|
|
00 00 mov rax, QWORD PTR this$[rbp]
|
|
0006a 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
00071 5f pop rdi
|
|
00072 5d pop rbp
|
|
00073 c3 ret 0
|
|
??0exception@std@@QEAA@QEBDH@Z ENDP ; std::exception::exception
|
|
_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\limits
|
|
; COMDAT ?max@?$numeric_limits@_J@std@@SA_JXZ
|
|
_TEXT SEGMENT
|
|
?max@?$numeric_limits@_J@std@@SA_JXZ PROC ; std::numeric_limits<__int64>::max, COMDAT
|
|
|
|
; 647 : _NODISCARD static constexpr long long(max)() noexcept {
|
|
|
|
$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:__44860E64_limits
|
|
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 648 : return LLONG_MAX;
|
|
|
|
0001b 48 b8 ff ff ff
|
|
ff ff ff ff 7f mov rax, 9223372036854775807 ; 7fffffffffffffffH
|
|
|
|
; 649 : }
|
|
|
|
00025 48 8d a5 c8 00
|
|
00 00 lea rsp, QWORD PTR [rbp+200]
|
|
0002c 5f pop rdi
|
|
0002d 5d pop rbp
|
|
0002e c3 ret 0
|
|
?max@?$numeric_limits@_J@std@@SA_JXZ ENDP ; std::numeric_limits<__int64>::max
|
|
_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:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include\vcruntime_new.h
|
|
; COMDAT ??2@YAPEAX_KPEAX@Z
|
|
_TEXT SEGMENT
|
|
_Size$ = 224
|
|
_Where$ = 232
|
|
??2@YAPEAX_KPEAX@Z PROC ; operator new, COMDAT
|
|
|
|
; 167 : {
|
|
|
|
$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:__02E23235_vcruntime_new@h
|
|
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
|
|
; 168 : (void)_Size;
|
|
; 169 : return _Where;
|
|
|
|
00024 48 8b 85 e8 00
|
|
00 00 mov rax, QWORD PTR _Where$[rbp]
|
|
|
|
; 170 : }
|
|
|
|
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
|
|
??2@YAPEAX_KPEAX@Z ENDP ; operator new
|
|
_TEXT ENDS
|
|
; Function compile flags: /Odtp /RTCsu /ZI
|
|
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.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:__337731E1_NativeCode@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\NativeCode.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:__337731E1_NativeCode@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\NativeCode.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:__337731E1_NativeCode@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\NativeCode.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:__337731E1_NativeCode@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
|