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.

19896 lines
692 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 ?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z ; NcCountInstructions
PUBLIC ?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCalcBlockSizeInBytes
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$?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z DD imagerel $LN8
DD imagerel $LN8+187
DD imagerel $unwind$?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD imagerel $LN7
DD imagerel $LN7+140
DD imagerel $unwind$?NcCalcBlockSizeInBytes@@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 $LN19
DD imagerel $LN19+900
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 036aH
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z DD 035063e19H
DD 010f3314H
DD 0700800eaH
DD 050066007H
DD imagerel __GSHandlerCheck
DD 0748H
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$?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z DD 025051301H
DD 010e2313H
DD 070070025H
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z DD 025051701H
DD 01122317H
DD 0700b0025H
DD 0500aH
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
; 584 : {
$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
; 585 : 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
; 586 : {
; 587 : 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
; 588 : {
; 589 : 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
; 590 : {
; 591 : 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> >
; 592 : }
0013e e9 35 ff ff ff jmp $LN5@NcPrintBlo
$LN6@NcPrintBlo:
$LN8@NcPrintBlo:
; 593 : }
; 594 : }
00143 e9 e7 fe ff ff jmp $LN2@NcPrintBlo
$LN3@NcPrintBlo:
; 595 : }
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
; 554 : {
$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
; 555 : 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
; 556 : if (!ConsoleHandle)
0002e 48 83 7d 08 00 cmp QWORD PTR ConsoleHandle$[rbp], 0
00033 75 05 jne SHORT $LN5@NcDebugPri
; 557 : return;
00035 e9 03 01 00 00 jmp $LN1@NcDebugPri
$LN5@NcDebugPri:
; 558 :
; 559 : 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
; 560 : {
; 561 : 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
; 562 : {
; 563 : 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
; 564 : 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
; 565 : }
000a7 e9 8c 00 00 00 jmp $LN7@NcDebugPri
$LN6@NcDebugPri:
; 566 : else
; 567 : {
; 568 : 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
; 569 : 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
; 570 : {
; 571 : 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
; 572 : 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
; 573 : }
00111 eb 25 jmp SHORT $LN9@NcDebugPri
$LN8@NcDebugPri:
; 574 : else
; 575 : {
; 576 : 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
; 577 : 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:
; 578 : }
; 579 : }
; 580 : }
00138 e9 0d ff ff ff jmp $LN2@NcDebugPri
$LN3@NcDebugPri:
$LN1@NcDebugPri:
; 581 : }
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
; 539 : {
$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
; 540 : 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:
; 541 : return;
0003a e9 80 00 00 00 jmp $LN1@NcDeleteBl
$LN5@NcDeleteBl:
; 542 :
; 543 : 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
; 544 :
; 545 : 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
; 546 : {
; 547 : 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
; 548 : 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:
; 549 : 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
; 550 : }
000bd eb a0 jmp SHORT $LN2@NcDeleteBl
$LN3@NcDeleteBl:
$LN1@NcDeleteBl:
; 551 : }
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
; 514 : {
$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
; 515 : 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
; 516 : return NULL;
00034 33 c0 xor eax, eax
00036 e9 bc 00 00 00 jmp $LN1@NcAssemble
$LN5@NcAssemble:
; 517 :
; 518 : *OutSize = NcCalcBlockSizeInBytes(Block);
0003b 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR Block$[rbp]
00042 e8 00 00 00 00 call ?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ; NcCalcBlockSizeInBytes
00047 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR OutSize$[rbp]
0004e 89 01 mov DWORD PTR [rcx], eax
; 519 :
; 520 : 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
; 521 : if (!Buffer)
00065 48 83 7d 08 00 cmp QWORD PTR Buffer$[rbp], 0
0006a 75 07 jne SHORT $LN6@NcAssemble
; 522 : return NULL;
0006c 33 c0 xor eax, eax
0006e e9 84 00 00 00 jmp $LN1@NcAssemble
$LN6@NcAssemble:
; 523 :
; 524 : 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
; 525 :
; 526 : 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
; 527 : {
; 528 : 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
; 529 : continue;
000bf eb ca jmp SHORT $LN2@NcAssemble
$LN7@NcAssemble:
; 530 :
; 531 : 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
; 532 : 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
; 533 : }
000f1 eb 98 jmp SHORT $LN2@NcAssemble
$LN3@NcAssemble:
; 534 :
; 535 : return Buffer;
000f3 48 8b 45 08 mov rax, QWORD PTR Buffer$[rbp]
$LN1@NcAssemble:
; 536 : }
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
; 482 : {
$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
; 483 : 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
; 484 : ULONG Offset = 0;
00034 c7 45 24 00 00
00 00 mov DWORD PTR Offset$[rbp], 0
$LN2@NcDisassem:
; 485 :
; 486 : 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
; 487 : {
; 488 : 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
; 489 : 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
; 490 : 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
; 491 : 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
; 492 : 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
; 493 : {
; 494 : 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
; 495 : 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
; 496 : 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:
; 497 : return FALSE;
00173 33 c0 xor eax, eax
00175 e9 99 00 00 00 jmp $LN1@NcDisassem
$LN4@NcDisassem:
; 498 : }
; 499 : 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
; 500 : 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
; 501 : 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
; 502 :
; 503 : 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
; 504 :
; 505 : 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
; 506 : }
001fd e9 39 fe ff ff jmp $LN2@NcDisassem
$LN3@NcDisassem:
; 507 :
; 508 : 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
; 509 :
; 510 : return TRUE;
0020e b8 01 00 00 00 mov eax, 1
$LN1@NcDisassem:
; 511 : }
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
Err$18 = 916
$T19 = 1528
$T20 = 1608
$T21 = 1688
$T22 = 1720
$T23 = 1760
tv174 = 1812
__$ArrayPad$ = 1816
Block$ = 1856
?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcFixRelJmps, COMDAT
; 399 : {
$LN19:
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 50 07
00 00 sub rsp, 1872 ; 00000750H
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 38 01 00 00 mov ecx, 312 ; 00000138H
0001e b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00023 f3 ab rep stosd
00025 48 8b 8c 24 78
07 00 00 mov rcx, QWORD PTR [rsp+1912]
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 18 07
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
; 400 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next;)
0004a 48 8b 85 40 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 ec 02 00
00 je $LN3@NcFixRelJm
00063 48 8b 85 40 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 d4 02 00
00 je $LN3@NcFixRelJm
; 401 : {
; 402 : 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 b2 02 00
00 je $LN7@NcFixRelJm
; 403 : {
; 404 : INT32 BranchDisp = 0;
0008d c7 45 24 00 00
00 00 mov DWORD PTR BranchDisp$10[rbp], 0
; 405 : 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
; 406 : return FALSE;
000a5 33 c0 xor eax, eax
000a7 e9 a8 02 00 00 jmp $LN1@NcFixRelJm
$LN8@NcFixRelJm:
; 407 :
; 408 : 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
; 409 : 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 c3 01 00
00 jbe $LN9@NcFixRelJm
; 410 : {
; 411 : //duh oh
; 412 : if (DispWidth == 32)
000e8 83 7d 44 20 cmp DWORD PTR DispWidth$11[rbp], 32 ; 00000020H
000ec 75 07 jne SHORT $LN11@NcFixRelJm
; 413 : return FALSE;
000ee 33 c0 xor eax, eax
000f0 e9 5f 02 00 00 jmp $LN1@NcFixRelJm
$LN11@NcFixRelJm:
; 414 :
; 415 : ////Grow displacement width to required size
; 416 : //DispWidth *= 2;
; 417 :
; 418 : ////Check again
; 419 : //if (log2(abs(BranchDisp)) + 1 > DispWidth)
; 420 : //{
; 421 : // if (DispWidth == 32)
; 422 : // return FALSE;
; 423 :
; 424 : // //Grow once more if not already at 32
; 425 : // DispWidth *= 2;
; 426 : //}
; 427 :
; 428 : DispWidth = 32;
000f5 c7 45 44 20 00
00 00 mov DWORD PTR DispWidth$11[rbp], 32 ; 00000020H
; 429 :
; 430 : //Encode new instruction
; 431 : XED_STATE MachineState;
; 432 : MachineState.mmode = XED_MACHINE_MODE_LONG_64;
000fc c7 45 68 01 00
00 00 mov DWORD PTR MachineState$12[rbp], 1
; 433 : MachineState.stack_addr_width = XED_ADDRESS_WIDTH_64b;
00103 c7 45 6c 08 00
00 00 mov DWORD PTR MachineState$12[rbp+4], 8
; 434 : XED_ENCODER_INSTRUCTION EncoderInstruction;
; 435 : XED_ENCODER_REQUEST EncoderRequest;
; 436 : UCHAR EncodeBuffer[15];
; 437 : UINT ReturnedSize;
; 438 : XED_ICLASS_ENUM IClass = XedDecodedInstGetIClass(&T->XedInstruction);
0010a 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
0010e 48 83 c0 30 add rax, 48 ; 00000030H
00112 48 8b c8 mov rcx, rax
00115 e8 00 00 00 00 call xed_decoded_inst_get_iclass
0011a 89 85 74 03 00
00 mov DWORD PTR IClass$17[rbp], eax
; 439 :
; 440 : //Do the encoding
; 441 : XedInst1(&EncoderInstruction, MachineState, IClass, DispWidth, XedRelBr(0, DispWidth));
00120 44 8b 45 44 mov r8d, DWORD PTR DispWidth$11[rbp]
00124 33 d2 xor edx, edx
00126 48 8d 8d 48 06
00 00 lea rcx, QWORD PTR $T20[rbp]
0012d e8 00 00 00 00 call xed_relbr
00132 48 8d 8d f8 05
00 00 lea rcx, QWORD PTR $T19[rbp]
00139 48 8b f9 mov rdi, rcx
0013c 48 8b f0 mov rsi, rax
0013f b9 30 00 00 00 mov ecx, 48 ; 00000030H
00144 f3 a4 rep movsb
00146 48 8d 85 e0 06
00 00 lea rax, QWORD PTR $T23[rbp]
0014d 48 8d 8d f8 05
00 00 lea rcx, QWORD PTR $T19[rbp]
00154 48 8b f8 mov rdi, rax
00157 48 8b f1 mov rsi, rcx
0015a b9 30 00 00 00 mov ecx, 48 ; 00000030H
0015f f3 a4 rep movsb
00161 48 8d 85 e0 06
00 00 lea rax, QWORD PTR $T23[rbp]
00168 48 89 44 24 20 mov QWORD PTR [rsp+32], rax
0016d 44 8b 4d 44 mov r9d, DWORD PTR DispWidth$11[rbp]
00171 44 8b 85 74 03
00 00 mov r8d, DWORD PTR IClass$17[rbp]
00178 48 8b 55 68 mov rdx, QWORD PTR MachineState$12[rbp]
0017c 48 8d 8d 90 00
00 00 lea rcx, QWORD PTR EncoderInstruction$13[rbp]
00183 e8 00 00 00 00 call xed_inst1
; 442 : XedEncoderRequestZeroSetMode(&EncoderRequest, &MachineState);
00188 48 8d 55 68 lea rdx, QWORD PTR MachineState$12[rbp]
0018c 48 8d 8d 50 02
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
00193 e8 00 00 00 00 call xed_encoder_request_zero_set_mode
; 443 : if (!XedConvertToEncoderRequest(&EncoderRequest, &EncoderInstruction))
00198 48 8d 95 90 00
00 00 lea rdx, QWORD PTR EncoderInstruction$13[rbp]
0019f 48 8d 8d 50 02
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
001a6 e8 00 00 00 00 call xed_convert_to_encoder_request
001ab 85 c0 test eax, eax
001ad 75 07 jne SHORT $LN12@NcFixRelJm
; 444 : return FALSE;
001af 33 c0 xor eax, eax
001b1 e9 9e 01 00 00 jmp $LN1@NcFixRelJm
$LN12@NcFixRelJm:
; 445 : XED_ERROR_ENUM Err = XedEncode(&EncoderRequest, EncodeBuffer, 15, &ReturnedSize);
001b6 4c 8d 8d 54 03
00 00 lea r9, QWORD PTR ReturnedSize$16[rbp]
001bd 41 b8 0f 00 00
00 mov r8d, 15
001c3 48 8d 95 28 03
00 00 lea rdx, QWORD PTR EncodeBuffer$15[rbp]
001ca 48 8d 8d 50 02
00 00 lea rcx, QWORD PTR EncoderRequest$14[rbp]
001d1 e8 00 00 00 00 call xed_encode
001d6 89 85 94 03 00
00 mov DWORD PTR Err$18[rbp], eax
; 446 : if (XED_ERROR_NONE != Err)
001dc 83 bd 94 03 00
00 00 cmp DWORD PTR Err$18[rbp], 0
001e3 74 07 je SHORT $LN13@NcFixRelJm
; 447 : return FALSE;
001e5 33 c0 xor eax, eax
001e7 e9 68 01 00 00 jmp $LN1@NcFixRelJm
$LN13@NcFixRelJm:
; 448 :
; 449 : //fixup T->RawData
; 450 : delete[] T->RawData;
001ec 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
001f0 48 8b 40 20 mov rax, QWORD PTR [rax+32]
001f4 48 89 85 98 06
00 00 mov QWORD PTR $T21[rbp], rax
001fb 48 8b 8d 98 06
00 00 mov rcx, QWORD PTR $T21[rbp]
00202 e8 00 00 00 00 call ??_V@YAXPEAX@Z ; operator delete[]
; 451 : T->RawDataSize = ReturnedSize;
00207 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
0020b 8b 8d 54 03 00
00 mov ecx, DWORD PTR ReturnedSize$16[rbp]
00211 89 48 28 mov DWORD PTR [rax+40], ecx
; 452 : T->RawData = new UCHAR[ReturnedSize];
00214 8b 85 54 03 00
00 mov eax, DWORD PTR ReturnedSize$16[rbp]
0021a 8b c8 mov ecx, eax
0021c e8 00 00 00 00 call ??_U@YAPEAX_K@Z ; operator new[]
00221 48 89 85 b8 06
00 00 mov QWORD PTR $T22[rbp], rax
00228 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
0022c 48 8b 8d b8 06
00 00 mov rcx, QWORD PTR $T22[rbp]
00233 48 89 48 20 mov QWORD PTR [rax+32], rcx
; 453 : RtlCopyMemory(T->RawData, EncodeBuffer, ReturnedSize);
00237 8b 85 54 03 00
00 mov eax, DWORD PTR ReturnedSize$16[rbp]
0023d 44 8b c0 mov r8d, eax
00240 48 8d 95 28 03
00 00 lea rdx, QWORD PTR EncodeBuffer$15[rbp]
00247 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
0024b 48 8b 48 20 mov rcx, QWORD PTR [rax+32]
0024f e8 00 00 00 00 call memcpy
; 454 :
; 455 : //Decode instruction so its proper and all that
; 456 : XedDecodedInstZeroSetMode(&T->XedInstruction, &MachineState);
00254 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
00258 48 83 c0 30 add rax, 48 ; 00000030H
0025c 48 8d 55 68 lea rdx, QWORD PTR MachineState$12[rbp]
00260 48 8b c8 mov rcx, rax
00263 e8 00 00 00 00 call xed_decoded_inst_zero_set_mode
; 457 : if (XED_ERROR_NONE != XedDecode(&T->XedInstruction, T->RawData, T->RawDataSize))
00268 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
0026c 48 83 c0 30 add rax, 48 ; 00000030H
00270 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
00274 44 8b 41 28 mov r8d, DWORD PTR [rcx+40]
00278 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
0027c 48 8b 51 20 mov rdx, QWORD PTR [rcx+32]
00280 48 8b c8 mov rcx, rax
00283 e8 00 00 00 00 call xed_decode
00288 85 c0 test eax, eax
0028a 74 07 je SHORT $LN14@NcFixRelJm
; 458 : return FALSE;
0028c 33 c0 xor eax, eax
0028e e9 c1 00 00 00 jmp $LN1@NcFixRelJm
$LN14@NcFixRelJm:
; 459 :
; 460 : //Go back to the start and loop through all labels again because now this instruction is larger :))))
; 461 : T = Block->Start;
00293 48 8b 85 40 07
00 00 mov rax, QWORD PTR Block$[rbp]
0029a 48 8b 00 mov rax, QWORD PTR [rax]
0029d 48 89 45 08 mov QWORD PTR T$9[rbp], rax
; 462 : continue;
002a1 e9 b2 fd ff ff jmp $LN2@NcFixRelJm
; 463 : }
002a6 e9 94 00 00 00 jmp $LN10@NcFixRelJm
$LN9@NcFixRelJm:
; 464 : else
; 465 : {
; 466 : DispWidth = XedDecodedInstGetBranchDisplacementWidth(&T->XedInstruction);
002ab 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
002af 48 83 c0 30 add rax, 48 ; 00000030H
002b3 48 8b c8 mov rcx, rax
002b6 e8 00 00 00 00 call xed_decoded_inst_get_branch_displacement_width
002bb 89 45 44 mov DWORD PTR DispWidth$11[rbp], eax
; 467 : switch (DispWidth)
002be 8b 45 44 mov eax, DWORD PTR DispWidth$11[rbp]
002c1 89 85 14 07 00
00 mov DWORD PTR tv174[rbp], eax
002c7 83 bd 14 07 00
00 01 cmp DWORD PTR tv174[rbp], 1
002ce 74 14 je SHORT $LN15@NcFixRelJm
002d0 83 bd 14 07 00
00 02 cmp DWORD PTR tv174[rbp], 2
002d7 74 2a je SHORT $LN16@NcFixRelJm
002d9 83 bd 14 07 00
00 04 cmp DWORD PTR tv174[rbp], 4
002e0 74 41 je SHORT $LN17@NcFixRelJm
002e2 eb 5b jmp SHORT $LN5@NcFixRelJm
$LN15@NcFixRelJm:
; 468 : {
; 469 : case 1: *(PINT8)&T->RawData[T->RawDataSize - DispWidth] = (INT8)BranchDisp; break;
002e4 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
002e8 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
002eb 8b 40 28 mov eax, DWORD PTR [rax+40]
002ee 2b c1 sub eax, ecx
002f0 8b c0 mov eax, eax
002f2 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
002f6 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
002fa 0f b6 55 24 movzx edx, BYTE PTR BranchDisp$10[rbp]
002fe 88 14 01 mov BYTE PTR [rcx+rax], dl
00301 eb 3c jmp SHORT $LN5@NcFixRelJm
$LN16@NcFixRelJm:
; 470 : case 2: *(PINT16)&T->RawData[T->RawDataSize - DispWidth] = (INT16)BranchDisp; break;
00303 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
00307 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
0030a 8b 40 28 mov eax, DWORD PTR [rax+40]
0030d 2b c1 sub eax, ecx
0030f 8b c0 mov eax, eax
00311 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
00315 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
00319 0f b7 55 24 movzx edx, WORD PTR BranchDisp$10[rbp]
0031d 66 89 14 01 mov WORD PTR [rcx+rax], dx
00321 eb 1c jmp SHORT $LN5@NcFixRelJm
$LN17@NcFixRelJm:
; 471 : case 4: *(PINT32)&T->RawData[T->RawDataSize - DispWidth] = (INT32)BranchDisp; break;
00323 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
00327 8b 4d 44 mov ecx, DWORD PTR DispWidth$11[rbp]
0032a 8b 40 28 mov eax, DWORD PTR [rax+40]
0032d 2b c1 sub eax, ecx
0032f 8b c0 mov eax, eax
00331 48 8b 4d 08 mov rcx, QWORD PTR T$9[rbp]
00335 48 8b 49 20 mov rcx, QWORD PTR [rcx+32]
00339 8b 55 24 mov edx, DWORD PTR BranchDisp$10[rbp]
0033c 89 14 01 mov DWORD PTR [rcx+rax], edx
$LN5@NcFixRelJm:
$LN10@NcFixRelJm:
$LN7@NcFixRelJm:
; 472 : }
; 473 : }
; 474 : }
; 475 :
; 476 : T = T->Next;
0033f 48 8b 45 08 mov rax, QWORD PTR T$9[rbp]
00343 48 8b 00 mov rax, QWORD PTR [rax]
00346 48 89 45 08 mov QWORD PTR T$9[rbp], rax
; 477 : }
0034a e9 09 fd ff ff jmp $LN2@NcFixRelJm
$LN3@NcFixRelJm:
; 478 : return TRUE;
0034f b8 01 00 00 00 mov eax, 1
$LN1@NcFixRelJm:
; 479 : }
00354 48 8b f8 mov rdi, rax
00357 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
0035b 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:?NcFixRelJmps@@YAHPEAU_NATIVE_CODE_BLOCK@@@Z$rtcFrameData
00362 e8 00 00 00 00 call _RTC_CheckStackVars
00367 48 8b c7 mov rax, rdi
0036a 48 8b 8d 18 07
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
00371 48 33 cd xor rcx, rbp
00374 e8 00 00 00 00 call __security_check_cookie
00379 48 8d a5 20 07
00 00 lea rsp, QWORD PTR [rbp+1824]
00380 5f pop rdi
00381 5e pop rsi
00382 5d pop rbp
00383 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
; 363 : {
$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
; 364 : INT32 Delta = 0;
00024 c7 45 04 00 00
00 00 mov DWORD PTR Delta$[rbp], 0
; 365 : //First checking backwards because I feel like thats the direction most jmps are in
; 366 : 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
; 367 : {
; 368 : 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
; 369 : {
; 370 : 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
; 371 : {
; 372 : *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
; 373 : return TRUE;
00078 b8 01 00 00 00 mov eax, 1
0007d e9 89 00 00 00 jmp $LN1@NcGetDelta
$LN9@NcGetDelta:
; 374 : }
; 375 : continue;
00082 eb b4 jmp SHORT $LN2@NcGetDelta
$LN8@NcGetDelta:
; 376 : }
; 377 : 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
; 378 : }
00095 eb a1 jmp SHORT $LN2@NcGetDelta
$LN3@NcGetDelta:
; 379 :
; 380 : //Now check forwards
; 381 : Delta = 0;
00097 c7 45 04 00 00
00 00 mov DWORD PTR Delta$[rbp], 0
; 382 : 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
; 383 : {
; 384 : 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
; 385 : {
; 386 : 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
; 387 : {
; 388 : *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
; 389 : return TRUE;
000ed b8 01 00 00 00 mov eax, 1
000f2 eb 17 jmp SHORT $LN1@NcGetDelta
$LN11@NcGetDelta:
; 390 : }
; 391 : continue;
000f4 eb b8 jmp SHORT $LN5@NcGetDelta
$LN10@NcGetDelta:
; 392 : }
; 393 : 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
; 394 : }
00107 eb a5 jmp SHORT $LN5@NcGetDelta
$LN6@NcGetDelta:
; 395 : return FALSE;
00109 33 c0 xor eax, eax
$LN1@NcGetDelta:
; 396 : }
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
; 358 : {
$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
; 359 : 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
; 360 : }
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
; 333 : {
$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
; 334 : 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:
; 335 : return FALSE;
00097 33 c0 xor eax, eax
00099 e9 27 01 00 00 jmp $LN1@NcDeepCopy
$LN8@NcDeepCopy:
; 336 :
; 337 : 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
; 338 : 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
; 339 :
; 340 : 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
; 341 : 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:
; 342 :
; 343 : 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
; 344 : {
; 345 : 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
; 346 : 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
; 347 : {
; 348 : 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
; 349 : return FALSE;
001a7 33 c0 xor eax, eax
001a9 eb 1a jmp SHORT $LN1@NcDeepCopy
$LN10@NcDeepCopy:
; 350 : }
; 351 : 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
; 352 : }
001be eb 90 jmp SHORT $LN5@NcDeepCopy
$LN6@NcDeepCopy:
; 353 :
; 354 : return TRUE;
001c0 b8 01 00 00 00 mov eax, 1
$LN1@NcDeepCopy:
; 355 : }
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
; 312 : {
$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
; 313 : 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
; 314 : {
; 315 : 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
; 316 : }
00092 e9 37 01 00 00 jmp $LN1@NcDeepCopy
$LN2@NcDeepCopy:
; 317 : else
; 318 : {
; 319 : 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
; 320 : 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
; 321 : 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
; 322 : if (DecodeError != XED_ERROR_NONE)
0014d 83 7d 24 00 cmp DWORD PTR DecodeError$2[rbp], 0
00151 74 77 je SHORT $LN4@NcDeepCopy
; 323 : {
; 324 : 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
; 325 : 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:
; 326 : return NULL;
001c6 33 c0 xor eax, eax
001c8 eb 04 jmp SHORT $LN1@NcDeepCopy
$LN4@NcDeepCopy:
; 327 : }
; 328 : return NewLink;
001ca 48 8b 45 08 mov rax, QWORD PTR NewLink$1[rbp]
$LN1@NcDeepCopy:
; 329 : }
; 330 : }
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
; 272 : {
$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
; 273 : PNATIVE_CODE_LINK T;
; 274 : 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
; 275 : {
; 276 : 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:
; 277 : 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
; 278 : {
; 279 : 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
; 280 : continue;
0005c eb e0 jmp SHORT $LN2@NcValidate
$LN12@NcValidate:
; 281 : 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
; 282 : 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
; 283 : }
00089 eb b3 jmp SHORT $LN21@NcValidate
$LN3@NcValidate:
; 284 : 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:
; 285 : return NULL;
0009b 33 c0 xor eax, eax
0009d e9 db 00 00 00 jmp $LN1@NcValidate
$LN13@NcValidate:
$LN4@NcValidate:
; 286 : 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
; 287 : 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:
; 288 : return T;
000c4 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
000c8 e9 b0 00 00 00 jmp $LN1@NcValidate
; 289 : }
000cd e9 a4 00 00 00 jmp $LN11@NcValidate
$LN10@NcValidate:
; 290 : 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
; 291 : {
; 292 : 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:
; 293 : while (T)
000ea 48 83 7d 08 00 cmp QWORD PTR T$[rbp], 0
000ef 74 49 je SHORT $LN7@NcValidate
; 294 : {
; 295 : 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
; 296 : continue;
000ff eb e9 jmp SHORT $LN6@NcValidate
$LN16@NcValidate:
; 297 : 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
; 298 : if (Delta >= 0)
00121 83 bd 08 01 00
00 00 cmp DWORD PTR Delta$[rbp], 0
00128 7c 02 jl SHORT $LN17@NcValidate
; 299 : break;
0012a eb 0e jmp SHORT $LN7@NcValidate
$LN17@NcValidate:
; 300 : 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
; 301 : }
00138 eb b0 jmp SHORT $LN22@NcValidate
$LN7@NcValidate:
; 302 : 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:
; 303 : return NULL;
0014a 33 c0 xor eax, eax
0014c eb 2f jmp SHORT $LN1@NcValidate
$LN18@NcValidate:
$LN8@NcValidate:
; 304 : 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
; 305 : 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:
; 306 : return T;
00170 48 8b 45 08 mov rax, QWORD PTR T$[rbp]
00174 eb 07 jmp SHORT $LN1@NcValidate
$LN15@NcValidate:
$LN11@NcValidate:
; 307 : }
; 308 : return Jmp;
00176 48 8b 85 00 01
00 00 mov rax, QWORD PTR Jmp$[rbp]
$LN1@NcValidate:
; 309 : }
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
; 220 : {
$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
; 221 : ULONG CurrentLabelId = 0;
00049 c7 45 04 00 00
00 00 mov DWORD PTR CurrentLabelId$[rbp], 0
; 222 : 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
; 223 : {
; 224 : 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
; 225 : continue;
00084 eb da jmp SHORT $LN2@NcCreateLa
$LN5@NcCreateLa:
; 226 :
; 227 : 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
; 228 : 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
; 229 : continue;
000a5 eb b9 jmp SHORT $LN2@NcCreateLa
$LN6@NcCreateLa:
; 230 :
; 231 : 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
; 232 : if (OperandCount < 1)
000ba 83 7d 64 01 cmp DWORD PTR OperandCount$6[rbp], 1
000be 73 02 jae SHORT $LN7@NcCreateLa
; 233 : continue;
000c0 eb 9e jmp SHORT $LN2@NcCreateLa
$LN7@NcCreateLa:
; 234 :
; 235 : 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
; 236 : 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
; 237 : continue;
000e3 e9 78 ff ff ff jmp $LN2@NcCreateLa
$LN8@NcCreateLa:
; 238 :
; 239 : 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
; 240 : 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
; 241 : continue;
00107 e9 54 ff ff ff jmp $LN2@NcCreateLa
$LN9@NcCreateLa:
; 242 :
; 243 : 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
; 244 : 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
; 245 : continue;
00130 e9 2b ff ff ff jmp $LN2@NcCreateLa
$LN10@NcCreateLa:
; 246 :
; 247 : 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
; 248 : 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
; 249 : 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
; 250 : {
; 251 : 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
; 252 : return FALSE;
00189 33 c0 xor eax, eax
0018b e9 f2 00 00 00 jmp $LN1@NcCreateLa
$LN11@NcCreateLa:
; 253 : }
; 254 :
; 255 : 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
; 256 : {
; 257 : 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
; 258 : }
001c8 e9 9a 00 00 00 jmp $LN13@NcCreateLa
$LN12@NcCreateLa:
; 259 : else
; 260 : {
; 261 : 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
; 262 : 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
; 263 : 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
; 264 : ++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:
; 265 : }
; 266 : 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
; 267 : }
00278 e9 e3 fd ff ff jmp $LN2@NcCreateLa
$LN3@NcCreateLa:
; 268 : return TRUE;
0027d b8 01 00 00 00 mov eax, 1
$LN1@NcCreateLa:
; 269 : }
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
; 200 : {
$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
; 201 : 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:
; 202 : return FALSE;
00066 33 c0 xor eax, eax
00068 e9 0e 01 00 00 jmp $LN1@NcInsertBl
$LN5@NcInsertBl:
; 203 :
; 204 : 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
; 205 : 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:
; 206 :
; 207 : 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
; 208 : 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:
; 209 : 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
; 210 : 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
; 211 : 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
; 212 :
; 213 : 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
; 214 : 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:
; 215 :
; 216 : return TRUE;
00176 b8 01 00 00 00 mov eax, 1
$LN1@NcInsertBl:
; 217 : }
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
; 180 : {
$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
; 181 : 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:
; 182 : return FALSE;
0007a 33 c0 xor eax, eax
0007c e9 0b 01 00 00 jmp $LN1@NcInsertBl
$LN5@NcInsertBl:
; 183 :
; 184 : 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
; 185 : 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:
; 186 :
; 187 : 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
; 188 : 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:
; 189 : 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
; 190 : 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
; 191 : 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
; 192 :
; 193 : 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
; 194 : 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:
; 195 :
; 196 : return TRUE;
00187 b8 01 00 00 00 mov eax, 1
$LN1@NcInsertBl:
; 197 : }
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
; 169 : {
$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
; 170 : 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
; 171 : {
; 172 : 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
; 173 : {
; 174 : 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:
; 175 : }
; 176 : }
00260 e9 d9 fd ff ff jmp $LN2@NcFixLabel
$LN3@NcFixLabel:
; 177 : }
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
; 151 : {
$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
; 152 : 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:
; 153 : 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
; 154 : 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:
; 155 : 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
; 156 : return ReturnLabelId;
001bb 8b 45 04 mov eax, DWORD PTR ReturnLabelId$[rbp]
; 157 : }
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
; 160 : {
$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
; 161 : 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
; 162 : {
; 163 : 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
; 164 : 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:
; 165 : }
00096 eb a0 jmp SHORT $LN2@NcChangeLa
$LN3@NcChangeLa:
; 166 : }
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 ?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z
_TEXT SEGMENT
TotalSize$ = 4
T$1 = 40
Block$ = 288
?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z PROC ; NcCalcBlockSizeInBytes, COMDAT
; 139 : {
$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
; 140 : ULONG TotalSize = 0;
0001f c7 45 04 00 00
00 00 mov DWORD PTR TotalSize$[rbp], 0
; 141 : 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
; 142 : {
; 143 : 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
; 144 : continue;
0006a eb ca jmp SHORT $LN2@NcCalcBloc
$LN5@NcCalcBloc:
; 145 : 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
; 146 : }
0007d eb b7 jmp SHORT $LN2@NcCalcBloc
$LN3@NcCalcBloc:
; 147 : return TotalSize;
0007f 8b 45 04 mov eax, DWORD PTR TotalSize$[rbp]
; 148 : }
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
?NcCalcBlockSizeInBytes@@YAKPEAU_NATIVE_CODE_BLOCK@@@Z ENDP ; NcCalcBlockSizeInBytes
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\@\Work\code-virtualizer\CodeVirtualizer\NativeCode.cpp
; COMDAT ?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z
_TEXT SEGMENT
InstructionCount$ = 4
T$1 = 40
Block$ = 288
CountCombinedAsOne$ = 296
?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z PROC ; NcCountInstructions, COMDAT
; 125 : {
$LN8:
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 28 01
00 00 sub rsp, 296 ; 00000128H
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
; 126 : ULONG InstructionCount = 0;
00023 c7 45 04 00 00
00 00 mov DWORD PTR InstructionCount$[rbp], 0
; 127 : for (PNATIVE_CODE_LINK T = Block->Start; T && T != Block->End->Next; T = T->Next)
0002a 48 8b 85 20 01
00 00 mov rax, QWORD PTR Block$[rbp]
00031 48 8b 00 mov rax, QWORD PTR [rax]
00034 48 89 45 28 mov QWORD PTR T$1[rbp], rax
00038 eb 0b jmp SHORT $LN4@NcCountIns
$LN2@NcCountIns:
0003a 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
0003e 48 8b 00 mov rax, QWORD PTR [rax]
00041 48 89 45 28 mov QWORD PTR T$1[rbp], rax
$LN4@NcCountIns:
00045 48 83 7d 28 00 cmp QWORD PTR T$1[rbp], 0
0004a 74 62 je SHORT $LN3@NcCountIns
0004c 48 8b 85 20 01
00 00 mov rax, QWORD PTR Block$[rbp]
00053 48 8b 40 08 mov rax, QWORD PTR [rax+8]
00057 48 8b 00 mov rax, QWORD PTR [rax]
0005a 48 39 45 28 cmp QWORD PTR T$1[rbp], rax
0005e 74 4e je SHORT $LN3@NcCountIns
; 128 : {
; 129 : if (T->Flags & CODE_FLAG_IS_LABEL)
00060 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
00064 8b 40 18 mov eax, DWORD PTR [rax+24]
00067 83 e0 01 and eax, 1
0006a 85 c0 test eax, eax
0006c 74 02 je SHORT $LN5@NcCountIns
; 130 : continue;
0006e eb ca jmp SHORT $LN2@NcCountIns
$LN5@NcCountIns:
; 131 : if (CountCombinedAsOne && T->Next && (T->Flags & CODE_FLAG_DO_NOT_DIVIDE) && !(T->Next->Flags & CODE_FLAG_DO_NOT_DIVIDE))
00070 83 bd 28 01 00
00 00 cmp DWORD PTR CountCombinedAsOne$[rbp], 0
00077 74 2b je SHORT $LN6@NcCountIns
00079 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
0007d 48 83 38 00 cmp QWORD PTR [rax], 0
00081 74 21 je SHORT $LN6@NcCountIns
00083 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
00087 8b 40 18 mov eax, DWORD PTR [rax+24]
0008a 83 e0 08 and eax, 8
0008d 85 c0 test eax, eax
0008f 74 13 je SHORT $LN6@NcCountIns
00091 48 8b 45 28 mov rax, QWORD PTR T$1[rbp]
00095 48 8b 00 mov rax, QWORD PTR [rax]
00098 8b 40 18 mov eax, DWORD PTR [rax+24]
0009b 83 e0 08 and eax, 8
0009e 85 c0 test eax, eax
000a0 75 02 jne SHORT $LN6@NcCountIns
; 132 : continue;
000a2 eb 96 jmp SHORT $LN2@NcCountIns
$LN6@NcCountIns:
; 133 : ++InstructionCount;
000a4 8b 45 04 mov eax, DWORD PTR InstructionCount$[rbp]
000a7 ff c0 inc eax
000a9 89 45 04 mov DWORD PTR InstructionCount$[rbp], eax
; 134 : }
000ac eb 8c jmp SHORT $LN2@NcCountIns
$LN3@NcCountIns:
; 135 : return InstructionCount;
000ae 8b 45 04 mov eax, DWORD PTR InstructionCount$[rbp]
; 136 : }
000b1 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
000b8 5f pop rdi
000b9 5d pop rbp
000ba c3 ret 0
?NcCountInstructions@@YAKPEAU_NATIVE_CODE_BLOCK@@H@Z ENDP ; NcCountInstructions
_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