| ; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23918.0 |
| |
| TITLE C:\Users\ADMINI~1\AppData\Local\Temp\2\gcc-explorer-compiler11653-3488-1xp4orl.hsemi\example.cpp |
| .686P |
| .XMM |
| include listing.inc |
| .model flat |
| |
| INCLUDELIB LIBCMT |
| INCLUDELIB OLDNAMES |
| |
| CONST SEGMENT |
| ?_Meta_map@std@@3QBDB DB 028H ; std::_Meta_map |
| DB 029H |
| DB 024H |
| DB 05eH |
| DB 02eH |
| DB 02aH |
| DB 02bH |
| DB 03fH |
| DB 05bH |
| DB 05dH |
| DB 07cH |
| DB 05cH |
| DB 02dH |
| DB 07bH |
| DB 07dH |
| DB 02cH |
| DB 03aH |
| DB 03dH |
| DB 021H |
| DB 0aH |
| DB 0dH |
| DB 08H |
| DB 00H |
| ORG $+1 |
| $SG45541 DB 'Some people, when confronted with a problem, think "I kn' |
| DB 'ow, I''ll use regular expressions." Now they have two problem' |
| DB 's.', 00H |
| ORG $+1 |
| $SG45542 DB 'REGULAR EXPRESSIONS', 00H |
| CONST ENDS |
| PUBLIC ?_Hash_seq@std@@YAIPBEI@Z ; std::_Hash_seq |
| PUBLIC ??0exception@std@@QAE@QBD@Z ; std::exception::exception |
| PUBLIC ??0exception@std@@QAE@QBDH@Z ; std::exception::exception |
| PUBLIC ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception |
| PUBLIC ??1exception@std@@UAE@XZ ; std::exception::~exception |
| PUBLIC ?what@exception@std@@UBEPBDXZ ; std::exception::what |
| PUBLIC ??_Gexception@std@@UAEPAXI@Z ; std::exception::`scalar deleting destructor' |
| PUBLIC ?max@?$numeric_limits@D@std@@SADXZ ; std::numeric_limits<char>::max |
| PUBLIC ?max@?$numeric_limits@E@std@@SAEXZ ; std::numeric_limits<unsigned char>::max |
| PUBLIC ??2@YAPAXIPAX@Z ; operator new |
| PUBLIC ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare |
| PUBLIC ?length@?$char_traits@D@std@@SAIPBD@Z ; std::char_traits<char>::length |
| PUBLIC ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| PUBLIC ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| PUBLIC ?assign@?$char_traits@D@std@@SAPADPADID@Z ; std::char_traits<char>::assign |
| PUBLIC ?assign@?$char_traits@D@std@@SAXAADABD@Z ; std::char_traits<char>::assign |
| PUBLIC ?_Orphan_all@_Container_base0@std@@QAEXXZ ; std::_Container_base0::_Orphan_all |
| PUBLIC ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt |
| PUBLIC ?_Getcont@_Iterator_base0@std@@QBEPBU_Container_base0@2@XZ ; std::_Iterator_base0::_Getcont |
| PUBLIC ?_Allocate@std@@YAPAXII_N@Z ; std::_Allocate |
| PUBLIC ?_Deallocate@std@@YAXPAXII@Z ; std::_Deallocate |
| PUBLIC ?_Init_atomic_counter@std@@YAXAAKK@Z ; std::_Init_atomic_counter |
| PUBLIC ??0?$allocator@D@std@@QAE@XZ ; std::allocator<char>::allocator<char> |
| PUBLIC ??0?$allocator@D@std@@QAE@ABV01@@Z ; std::allocator<char>::allocator<char> |
| PUBLIC ?deallocate@?$allocator@D@std@@QAEXPADI@Z ; std::allocator<char>::deallocate |
| PUBLIC ?allocate@?$allocator@D@std@@QAEPADI@Z ; std::allocator<char>::allocate |
| PUBLIC ?max_size@?$allocator@D@std@@QBEIXZ ; std::allocator<char>::max_size |
| PUBLIC ?max_size@?$allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z ; std::allocator_traits<std::allocator<char> >::max_size |
| PUBLIC ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| PUBLIC ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@$$QAU01@@Z ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| PUBLIC ??4?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEAAU01@$$QAU01@@Z ; std::_Wrap_alloc<std::allocator<char> >::operator= |
| PUBLIC ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::allocate |
| PUBLIC ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate |
| PUBLIC ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<char> >::max_size |
| PUBLIC ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> > |
| PUBLIC ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| PUBLIC ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| PUBLIC ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| PUBLIC ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| PUBLIC ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > |
| PUBLIC ?_Move_alloc@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Move_alloc |
| PUBLIC ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| PUBLIC ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| PUBLIC ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| PUBLIC ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| PUBLIC ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| PUBLIC ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| PUBLIC ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| PUBLIC ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| PUBLIC ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| PUBLIC ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| PUBLIC ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| PUBLIC ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator= |
| PUBLIC ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv |
| PUBLIC ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| PUBLIC ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append |
| PUBLIC ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| PUBLIC ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| PUBLIC ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| PUBLIC ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| PUBLIC ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| PUBLIC ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| PUBLIC ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| PUBLIC ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@1@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| PUBLIC ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| PUBLIC ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::end |
| PUBLIC ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[] |
| PUBLIC ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str |
| PUBLIC ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length |
| PUBLIC ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size |
| PUBLIC ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| PUBLIC ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| PUBLIC ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| PUBLIC ?_Traits_compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAHQBDI0I@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Traits_compare |
| PUBLIC ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| PUBLIC ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare |
| PUBLIC ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign |
| PUBLIC ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy |
| PUBLIC ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| PUBLIC ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| PUBLIC ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside |
| PUBLIC ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| PUBLIC ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| PUBLIC ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| PUBLIC ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran |
| PUBLIC ??0runtime_error@std@@QAE@PBD@Z ; std::runtime_error::runtime_error |
| PUBLIC ??1runtime_error@std@@UAE@XZ ; std::runtime_error::~runtime_error |
| PUBLIC ??0runtime_error@std@@QAE@ABV01@@Z ; std::runtime_error::runtime_error |
| PUBLIC ??_Gruntime_error@std@@UAEPAXI@Z ; std::runtime_error::`scalar deleting destructor' |
| PUBLIC ??0bad_cast@std@@QAE@XZ ; std::bad_cast::bad_cast |
| PUBLIC ??1bad_cast@std@@UAE@XZ ; std::bad_cast::~bad_cast |
| PUBLIC ??0bad_cast@std@@QAE@ABV01@@Z ; std::bad_cast::bad_cast |
| PUBLIC ??_Gbad_cast@std@@UAEPAXI@Z ; std::bad_cast::`scalar deleting destructor' |
| PUBLIC ??0_Locinfo@std@@QAE@PBD@Z ; std::_Locinfo::_Locinfo |
| PUBLIC ??1_Locinfo@std@@QAE@XZ ; std::_Locinfo::~_Locinfo |
| PUBLIC ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ ; std::_Locinfo::_Getcoll |
| PUBLIC ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ ; std::_Locinfo::_Getctype |
| PUBLIC ??0?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::_Yarn<char> |
| PUBLIC ??1?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::~_Yarn<char> |
| PUBLIC ?c_str@?$_Yarn@D@std@@QBEPBDXZ ; std::_Yarn<char>::c_str |
| PUBLIC ?_Tidy@?$_Yarn@D@std@@AAEXXZ ; std::_Yarn<char>::_Tidy |
| PUBLIC ??0?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::_Yarn<wchar_t> |
| PUBLIC ??1?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::~_Yarn<wchar_t> |
| PUBLIC ?_Tidy@?$_Yarn@_W@std@@AAEXXZ ; std::_Yarn<wchar_t>::_Tidy |
| PUBLIC ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z ; std::_LStrcoll<char> |
| PUBLIC ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z ; std::_LStrxfrm<char> |
| PUBLIC ??1_Facet_base@std@@UAE@XZ ; std::_Facet_base::~_Facet_base |
| PUBLIC ??0_Facet_base@std@@QAE@XZ ; std::_Facet_base::_Facet_base |
| PUBLIC ??_G_Facet_base@std@@UAEPAXI@Z ; std::_Facet_base::`scalar deleting destructor' |
| PUBLIC ??0id@locale@std@@QAE@I@Z ; std::locale::id::id |
| PUBLIC ??Bid@locale@std@@QAEIXZ ; std::locale::id::operator unsigned int |
| PUBLIC ?_Incref@facet@locale@std@@UAEXXZ ; std::locale::facet::_Incref |
| PUBLIC ?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ ; std::locale::facet::_Decref |
| PUBLIC ??0facet@locale@std@@IAE@I@Z ; std::locale::facet::facet |
| PUBLIC ??1facet@locale@std@@MAE@XZ ; std::locale::facet::~facet |
| PUBLIC ??_Gfacet@locale@std@@MAEPAXI@Z ; std::locale::facet::`scalar deleting destructor' |
| PUBLIC ??0locale@std@@QAE@XZ ; std::locale::locale |
| PUBLIC ??1locale@std@@QAE@XZ ; std::locale::~locale |
| PUBLIC ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::locale::name |
| PUBLIC ?c_str@locale@std@@QBEPBDXZ ; std::locale::c_str |
| PUBLIC ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ; std::locale::_Getfacet |
| PUBLIC ??0ctype_base@std@@QAE@I@Z ; std::ctype_base::ctype_base |
| PUBLIC ??1ctype_base@std@@UAE@XZ ; std::ctype_base::~ctype_base |
| PUBLIC ??_Gctype_base@std@@UAEPAXI@Z ; std::ctype_base::`scalar deleting destructor' |
| PUBLIC ?is@?$ctype@D@std@@QBE_NFD@Z ; std::ctype<char>::is |
| PUBLIC ?tolower@?$ctype@D@std@@QBEDD@Z ; std::ctype<char>::tolower |
| PUBLIC ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z ; std::ctype<char>::tolower |
| PUBLIC ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z ; std::ctype<char>::ctype<char> |
| PUBLIC ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ; std::ctype<char>::_Getcat |
| PUBLIC ??1?$ctype@D@std@@MAE@XZ ; std::ctype<char>::~ctype<char> |
| PUBLIC ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z ; std::ctype<char>::_Init |
| PUBLIC ?_Tidy@?$ctype@D@std@@IAEXXZ ; std::ctype<char>::_Tidy |
| PUBLIC ?do_tolower@?$ctype@D@std@@MBEDD@Z ; std::ctype<char>::do_tolower |
| PUBLIC ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z ; std::ctype<char>::do_tolower |
| PUBLIC ?do_toupper@?$ctype@D@std@@MBEDD@Z ; std::ctype<char>::do_toupper |
| PUBLIC ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z ; std::ctype<char>::do_toupper |
| PUBLIC ?do_widen@?$ctype@D@std@@MBEDD@Z ; std::ctype<char>::do_widen |
| PUBLIC ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z ; std::ctype<char>::do_widen |
| PUBLIC ?do_narrow@?$ctype@D@std@@MBEDDD@Z ; std::ctype<char>::do_narrow |
| PUBLIC ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z ; std::ctype<char>::do_narrow |
| PUBLIC ??_G?$ctype@D@std@@MAEPAXI@Z ; std::ctype<char>::`scalar deleting destructor' |
| PUBLIC ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> > |
| PUBLIC ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| PUBLIC ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator| |
| PUBLIC ??$_Get@D@_Cl_names@std@@QBEPBDXZ ; std::_Cl_names::_Get<char> |
| PUBLIC ?length@?$_Regex_traits@D@std@@SAIPBD@Z ; std::_Regex_traits<char>::length |
| PUBLIC ??0?$_Regex_traits@D@std@@QAE@XZ ; std::_Regex_traits<char>::_Regex_traits<char> |
| PUBLIC ?translate@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate |
| PUBLIC ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| PUBLIC ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z ; std::_Regex_traits<char>::isctype |
| PUBLIC ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ ; std::_Regex_traits<char>::_Getcoll |
| PUBLIC ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| PUBLIC ?_Cache_locale@?$_Regex_traits@D@std@@AAEXXZ ; std::_Regex_traits<char>::_Cache_locale |
| PUBLIC ??1?$_Regex_traits@D@std@@QAE@XZ ; std::_Regex_traits<char>::~_Regex_traits<char> |
| PUBLIC ?value@?$regex_traits@D@std@@QBEHDH@Z ; std::regex_traits<char>::value |
| PUBLIC ??0?$regex_traits@D@std@@QAE@XZ ; std::regex_traits<char>::regex_traits<char> |
| PUBLIC ??1?$regex_traits@D@std@@QAE@XZ ; std::regex_traits<char>::~regex_traits<char> |
| PUBLIC ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ; std::operator|= |
| PUBLIC ??_6std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ; std::operator^= |
| PUBLIC ??0_Bitmap@std@@QAE@XZ ; std::_Bitmap::_Bitmap |
| PUBLIC ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| PUBLIC ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| PUBLIC ??_G_Node_base@std@@UAEPAXI@Z ; std::_Node_base::`scalar deleting destructor' |
| PUBLIC ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ; std::_Destroy_node |
| PUBLIC ??0_Root_node@std@@QAE@XZ ; std::_Root_node::_Root_node |
| PUBLIC ??1_Root_node@std@@UAE@XZ ; std::_Root_node::~_Root_node |
| PUBLIC ??_G_Root_node@std@@UAEPAXI@Z ; std::_Root_node::`scalar deleting destructor' |
| PUBLIC ??0_Node_end_group@std@@QAE@W4_Node_type@1@W4_Node_flags@1@PAV_Node_base@1@@Z ; std::_Node_end_group::_Node_end_group |
| PUBLIC ??1_Node_end_group@std@@UAE@XZ ; std::_Node_end_group::~_Node_end_group |
| PUBLIC ??_G_Node_end_group@std@@UAEPAXI@Z ; std::_Node_end_group::`scalar deleting destructor' |
| PUBLIC ??0_Node_assert@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_assert::_Node_assert |
| PUBLIC ??1_Node_assert@std@@UAE@XZ ; std::_Node_assert::~_Node_assert |
| PUBLIC ??_G_Node_assert@std@@UAEPAXI@Z ; std::_Node_assert::`scalar deleting destructor' |
| PUBLIC ??0_Node_capture@std@@QAE@I@Z ; std::_Node_capture::_Node_capture |
| PUBLIC ??1_Node_capture@std@@UAE@XZ ; std::_Node_capture::~_Node_capture |
| PUBLIC ??_G_Node_capture@std@@UAEPAXI@Z ; std::_Node_capture::`scalar deleting destructor' |
| PUBLIC ??0_Node_back@std@@QAE@I@Z ; std::_Node_back::_Node_back |
| PUBLIC ??1_Node_back@std@@UAE@XZ ; std::_Node_back::~_Node_back |
| PUBLIC ??_G_Node_back@std@@UAEPAXI@Z ; std::_Node_back::`scalar deleting destructor' |
| PUBLIC ??0_Node_endif@std@@QAE@XZ ; std::_Node_endif::_Node_endif |
| PUBLIC ??1_Node_endif@std@@UAE@XZ ; std::_Node_endif::~_Node_endif |
| PUBLIC ??_G_Node_endif@std@@UAEPAXI@Z ; std::_Node_endif::`scalar deleting destructor' |
| PUBLIC ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z ; std::_Node_if::_Node_if |
| PUBLIC ??1_Node_if@std@@UAE@XZ ; std::_Node_if::~_Node_if |
| PUBLIC ??_G_Node_if@std@@UAEPAXI@Z ; std::_Node_if::`scalar deleting destructor' |
| PUBLIC ??0_Node_end_rep@std@@QAE@XZ ; std::_Node_end_rep::_Node_end_rep |
| PUBLIC ??1_Node_end_rep@std@@UAE@XZ ; std::_Node_end_rep::~_Node_end_rep |
| PUBLIC ??_G_Node_end_rep@std@@UAEPAXI@Z ; std::_Node_end_rep::`scalar deleting destructor' |
| PUBLIC ??0_Node_rep@std@@QAE@_NHHPAV_Node_end_rep@1@I@Z ; std::_Node_rep::_Node_rep |
| PUBLIC ??1_Node_rep@std@@UAE@XZ ; std::_Node_rep::~_Node_rep |
| PUBLIC ??_G_Node_rep@std@@UAEPAXI@Z ; std::_Node_rep::`scalar deleting destructor' |
| PUBLIC ??0?$allocator@_N@std@@QAE@XZ ; std::allocator<bool>::allocator<bool> |
| PUBLIC ?deallocate@?$allocator@I@std@@QAEXPAII@Z ; std::allocator<unsigned int>::deallocate |
| PUBLIC ?allocate@?$allocator@I@std@@QAEPAII@Z ; std::allocator<unsigned int>::allocate |
| PUBLIC ?max_size@?$allocator@I@std@@QBEIXZ ; std::allocator<unsigned int>::max_size |
| PUBLIC ?max_size@?$allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z ; std::allocator_traits<std::allocator<unsigned int> >::max_size |
| PUBLIC ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::allocate |
| PUBLIC ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate |
| PUBLIC ?max_size@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::max_size |
| PUBLIC ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all |
| PUBLIC ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| PUBLIC ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| PUBLIC ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| PUBLIC ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| PUBLIC ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| PUBLIC ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| PUBLIC ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| PUBLIC ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| PUBLIC ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| PUBLIC ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| PUBLIC ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ ; std::_Vector_val<std::_Simple_types<unsigned int> >::_Vector_val<std::_Simple_types<unsigned int> > |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| PUBLIC ??0?$vector@IV?$allocator@_N@std@@@std@@QAE@IABIABV?$allocator@_N@1@@Z ; std::vector<unsigned int,std::allocator<bool> >::vector<unsigned int,std::allocator<bool> > |
| PUBLIC ?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Construct_n |
| PUBLIC ??1?$vector@IV?$allocator@_N@std@@@std@@QAE@XZ ; std::vector<unsigned int,std::allocator<bool> >::~vector<unsigned int,std::allocator<bool> > |
| PUBLIC ?capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::capacity |
| PUBLIC ?_Unused_capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::_Unused_capacity |
| PUBLIC ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::begin |
| PUBLIC ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::end |
| PUBLIC ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter |
| PUBLIC ?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z ; std::vector<unsigned int,std::allocator<bool> >::resize |
| PUBLIC ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| PUBLIC ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| PUBLIC ??A?$vector@IV?$allocator@_N@std@@@std@@QAEAAII@Z ; std::vector<unsigned int,std::allocator<bool> >::operator[] |
| PUBLIC ?erase@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@0@Z ; std::vector<unsigned int,std::allocator<bool> >::erase |
| PUBLIC ?_Pop_back_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Pop_back_n |
| PUBLIC ?clear@?$vector@IV?$allocator@_N@std@@@std@@QAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::clear |
| PUBLIC ?_Buy@?$vector@IV?$allocator@_N@std@@@std@@IAE_NI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Buy |
| PUBLIC ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| PUBLIC ?_Grow_to@?$vector@IV?$allocator@_N@std@@@std@@IBEII@Z ; std::vector<unsigned int,std::allocator<bool> >::_Grow_to |
| PUBLIC ?_Inside@?$vector@IV?$allocator@_N@std@@@std@@IBE_NPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Inside |
| PUBLIC ?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Reallocate |
| PUBLIC ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Reserve |
| PUBLIC ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Tidy |
| PUBLIC ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Ufill |
| PUBLIC ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Xlen |
| PUBLIC ??0?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@IAB_NABV?$allocator@_N@1@@Z ; std::_Vb_val<std::allocator<bool> >::_Vb_val<std::allocator<bool> > |
| PUBLIC ??1?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@XZ ; std::_Vb_val<std::allocator<bool> >::~_Vb_val<std::allocator<bool> > |
| PUBLIC ?_Alloc_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ; std::_Vb_val<std::allocator<bool> >::_Alloc_proxy |
| PUBLIC ?_Free_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ; std::_Vb_val<std::allocator<bool> >::_Free_proxy |
| PUBLIC ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z ; std::_Vb_val<std::allocator<bool> >::_Nw |
| PUBLIC ??0?$vector@_NV?$allocator@_N@std@@@std@@QAE@IABV?$allocator@_N@1@@Z ; std::vector<bool,std::allocator<bool> >::vector<bool,std::allocator<bool> > |
| PUBLIC ??1?$vector@_NV?$allocator@_N@std@@@std@@QAE@XZ ; std::vector<bool,std::allocator<bool> >::~vector<bool,std::allocator<bool> > |
| PUBLIC ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| PUBLIC ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| PUBLIC ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z ; std::vector<bool,std::allocator<bool> >::_Make_iter |
| PUBLIC ?resize@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI_N@Z ; std::vector<bool,std::allocator<bool> >::resize |
| PUBLIC ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| PUBLIC ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::max_size |
| PUBLIC ?empty@?$vector@_NV?$allocator@_N@std@@@std@@QBE_NXZ ; std::vector<bool,std::allocator<bool> >::empty |
| PUBLIC ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z ; std::vector<bool,std::allocator<bool> >::operator[] |
| PUBLIC ?erase@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@0@Z ; std::vector<bool,std::allocator<bool> >::erase |
| PUBLIC ?_Insert_n@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@IAB_N@Z ; std::vector<bool,std::allocator<bool> >::_Insert_n |
| PUBLIC ?_Insert_x@?$vector@_NV?$allocator@_N@std@@@std@@QAEIV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@I@Z ; std::vector<bool,std::allocator<bool> >::_Insert_x |
| PUBLIC ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z ; std::vector<bool,std::allocator<bool> >::_Trim |
| PUBLIC ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ ; std::vector<bool,std::allocator<bool> >::_Xlen |
| PUBLIC ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base0@1@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_String_const_iterator<std::_String_val<std::_Simple_types<char> > > |
| PUBLIC ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| PUBLIC ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| PUBLIC ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator== |
| PUBLIC ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_Compat |
| PUBLIC ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z ; std::_Calculate_loop_simplicity |
| PUBLIC ?regexTest@@YAXXZ ; regexTest |
| PUBLIC ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> > |
| PUBLIC ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> > |
| PUBLIC ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ ; std::basic_regex<char,std::regex_traits<char> >::_Tidy |
| PUBLIC ?_Reset@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPAV_Root_node@2@@Z ; std::basic_regex<char,std::regex_traits<char> >::_Reset |
| PUBLIC ??$_Reset@PBD@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPBD0W4syntax_option_type@regex_constants@1@Uforward_iterator_tag@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::_Reset<char const *> |
| PUBLIC ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| PUBLIC ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@X@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::_Wrap_alloc<std::allocator<char> >,void> |
| PUBLIC ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z ; std::forward<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > |
| PUBLIC ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><> |
| PUBLIC ??$destroy@PAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::destroy<char *> |
| PUBLIC ??$addressof@D@std@@YAPADAAD@Z ; std::addressof<char> |
| PUBLIC ??$?8V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::operator==<std::allocator<char>,std::allocator<char> > |
| PUBLIC ??$?8DD@std@@YA_NABV?$allocator@D@0@0@Z ; std::operator==<char,char> |
| PUBLIC ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &> |
| PUBLIC ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z ; std::use_facet<std::collate<char> > |
| PUBLIC ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ; std::collate<char>::transform |
| PUBLIC ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z ; std::collate<char>::collate<char> |
| PUBLIC ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ; std::collate<char>::_Getcat |
| PUBLIC ??1?$collate@D@std@@MAE@XZ ; std::collate<char>::~collate<char> |
| PUBLIC ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z ; std::collate<char>::_Init |
| PUBLIC ?do_compare@?$collate@D@std@@MBEHPBD000@Z ; std::collate<char>::do_compare |
| PUBLIC ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ; std::collate<char>::do_transform |
| PUBLIC ?do_hash@?$collate@D@std@@MBEJPBD0@Z ; std::collate<char>::do_hash |
| PUBLIC ??_G?$collate@D@std@@MAEPAXI@Z ; std::collate<char>::`scalar deleting destructor' |
| PUBLIC ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::operator!=<std::allocator<char>,std::allocator<char> > |
| PUBLIC ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::_String_iterator<std::_String_val<std::_Simple_types<char> > > |
| PUBLIC ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| PUBLIC ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| PUBLIC ??0?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@PBD1W4syntax_option_type@regex_constants@1@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Parser<char const *,char,std::regex_traits<char> > |
| PUBLIC ?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Compile |
| PUBLIC ?_Mark_count@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QBEIXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Mark_count |
| PUBLIC ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| PUBLIC ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Is_esc |
| PUBLIC ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Trans |
| PUBLIC ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| PUBLIC ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect |
| PUBLIC ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits |
| PUBLIC ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| PUBLIC ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_HexDigits |
| PUBLIC ?_OctalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_OctalDigits |
| PUBLIC ?_Do_ex_class@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ex_class |
| PUBLIC ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClassEscape |
| PUBLIC ?_ClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassEscape |
| PUBLIC ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassAtom |
| PUBLIC ?_ClassRanges@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassRanges |
| PUBLIC ?_CharacterClass@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClass |
| PUBLIC ?_IdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_IdentityEscape |
| PUBLIC ?_IsIdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_IsIdentityEscape |
| PUBLIC ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffn |
| PUBLIC ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffnx |
| PUBLIC ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterEscape |
| PUBLIC ?_AtomEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_AtomEscape |
| PUBLIC ?_Do_capture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_capture_group |
| PUBLIC ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_noncapture_group |
| PUBLIC ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_assert_group |
| PUBLIC ?_Wrapped_disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Wrapped_disjunction |
| PUBLIC ?_Quantifier@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Quantifier |
| PUBLIC ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Alternative |
| PUBLIC ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| PUBLIC ??0?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@W4syntax_option_type@regex_constants@1@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Builder<char const *,char,std::regex_traits<char> > |
| PUBLIC ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| PUBLIC ?_Setlong@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Setlong |
| PUBLIC ?_Discard_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Discard_pattern |
| PUBLIC ?_Getmark@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Getmark |
| PUBLIC ?_Add_bol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_bol |
| PUBLIC ?_Add_eol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_eol |
| PUBLIC ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_wbound |
| PUBLIC ?_Add_dot@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_dot |
| PUBLIC ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| PUBLIC ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_class |
| PUBLIC ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| PUBLIC ?_Add_range@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXDD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_range |
| PUBLIC ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_named_class |
| PUBLIC ?_Add_equiv@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_equiv |
| PUBLIC ?_Add_coll@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_coll |
| PUBLIC ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group |
| PUBLIC ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| PUBLIC ?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_assert_group |
| PUBLIC ?_End_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_assert_group |
| PUBLIC ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_capture_group |
| PUBLIC ?_Add_backreference@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXI@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_backreference |
| PUBLIC ?_Begin_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_if |
| PUBLIC ?_Else_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@0@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Else_if |
| PUBLIC ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_rep |
| PUBLIC ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Negate |
| PUBLIC ?_Mark_final@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Mark_final |
| PUBLIC ?_End_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_pattern |
| PUBLIC ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| PUBLIC ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| PUBLIC ?_Add_str_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_str_node |
| PUBLIC ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| PUBLIC ?_Add_char_to_bitmap@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_bitmap |
| PUBLIC ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_array |
| PUBLIC ?_Add_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPAV?$_Node_class@DV?$regex_traits@D@std@@@2@F_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_elts |
| PUBLIC ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Char_to_elts |
| PUBLIC ?_Get_bmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_bmax |
| PUBLIC ?_Get_tmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_tmax |
| PUBLIC ??1?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::~_Parser<char const *,char,std::regex_traits<char> > |
| PUBLIC ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::forward<std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$destroy@PAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPAD@Z ; std::allocator_traits<std::allocator<char> >::destroy<char *> |
| PUBLIC ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<char> |
| PUBLIC ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ; std::forward<char * &> |
| PUBLIC ??$construct@PADAAPAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPADAAPAD@Z ; std::allocator_traits<std::allocator<char> >::construct<char *,char * &> |
| PUBLIC ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAI0AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??$_Unchecked@PAD@std@@YAPADPAD@Z ; std::_Unchecked<char *> |
| PUBLIC ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z ; std::_Iter_cat<char *> |
| PUBLIC ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z ; std::allocator<char>::destroy<char *> |
| PUBLIC ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z ; std::allocator<char>::construct<char *,char * &> |
| PUBLIC ??$addressof@I@std@@YAPAIAAI@Z ; std::addressof<unsigned int> |
| PUBLIC ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::destroy<unsigned int> |
| PUBLIC ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| PUBLIC ??Y?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| PUBLIC ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator== |
| PUBLIC ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator!= |
| PUBLIC ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBEXABV12@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Compat |
| PUBLIC ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| PUBLIC ??Y?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| PUBLIC ??H?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+ |
| PUBLIC ??$_Move_unchecked@PAIPAI@std@@YAPAIPAI00@Z ; std::_Move_unchecked<unsigned int *,unsigned int *> |
| PUBLIC ??$?0ABV?$allocator@_N@std@@@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > ><std::allocator<bool> const &> |
| PUBLIC ??$addressof@$$CBI@std@@YAPBIABI@Z ; std::addressof<unsigned int const > |
| PUBLIC ??$_Uninitialized_fill_n@PAIIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_fill_n<unsigned int *,unsigned int,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??$_Addressof@I@std@@YAPAIAAIU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<unsigned int> |
| PUBLIC ??$destroy@I@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAI@Z ; std::allocator_traits<std::allocator<unsigned int> >::destroy<unsigned int> |
| PUBLIC ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z ; std::_Ptr_move_cat<unsigned int,unsigned int> |
| PUBLIC ??$_Move_unchecked1@PAIPAI@std@@YAPAIPAI00U_Trivially_copyable_ptr_iterator_tag@0@@Z ; std::_Move_unchecked1<unsigned int *,unsigned int *> |
| PUBLIC ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z ; std::forward<std::allocator<bool> const &> |
| PUBLIC ??$?0ABV?$allocator@_N@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_N@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1><std::allocator<bool> const &> |
| PUBLIC ??$_Addressof@$$CBI@std@@YAPBIABIU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<unsigned int const > |
| PUBLIC ??$_Fill_memset_is_safe@PAII@std@@YA?AU?$integral_constant@_N$0A@@0@ABQAIABI@Z ; std::_Fill_memset_is_safe<unsigned int *,unsigned int> |
| PUBLIC ??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z ; std::_Uninit_alloc_fill_n1<unsigned int *,unsigned int,std::allocator<unsigned int>,std::integral_constant<bool,0> > |
| PUBLIC ??$destroy@I@?$allocator@I@std@@QAEXPAI@Z ; std::allocator<unsigned int>::destroy<unsigned int> |
| PUBLIC ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z ; std::_Copy_memmove<unsigned int *,unsigned int *> |
| PUBLIC ??$?0ABV?$allocator@_N@std@@@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::_Wrap_alloc<std::allocator<unsigned int> ><std::allocator<bool> const &> |
| PUBLIC ??$construct@IABI@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAIABI@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| PUBLIC ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ?_Advance@?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXI@Z ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Advance |
| PUBLIC ??0?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@ABV?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| PUBLIC ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| PUBLIC ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator bool |
| PUBLIC ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr |
| PUBLIC ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask |
| PUBLIC ??0?$_Node_str@D@std@@QAE@W4_Node_flags@1@@Z ; std::_Node_str<char>::_Node_str<char> |
| PUBLIC ??0?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::_Buf<char> |
| PUBLIC ??1?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::~_Buf<char> |
| PUBLIC ?_Size@?$_Buf@D@std@@QBEIXZ ; std::_Buf<char>::_Size |
| PUBLIC ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| PUBLIC ?_Del@?$_Buf@D@std@@QAEDXZ ; std::_Buf<char>::_Del |
| PUBLIC ?_Expand@?$_Buf@D@std@@AAEXI@Z ; std::_Buf<char>::_Expand |
| PUBLIC ??_G?$_Buf@D@std@@QAEPAXI@Z ; std::_Buf<char>::`scalar deleting destructor' |
| PUBLIC ??1?$_Node_str@D@std@@UAE@XZ ; std::_Node_str<char>::~_Node_str<char> |
| PUBLIC ??_G?$_Node_str@D@std@@UAEPAXI@Z ; std::_Node_str<char>::`scalar deleting destructor' |
| PUBLIC ??$?0_N@?$allocator@I@std@@QAE@ABV?$allocator@_N@1@@Z ; std::allocator<unsigned int>::allocator<unsigned int><bool> |
| PUBLIC ??$forward@ABI@std@@YAABIABI@Z ; std::forward<unsigned int const &> |
| PUBLIC ??$construct@IABI@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAIABI@Z ; std::allocator_traits<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| PUBLIC ??0?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIPBU_Container_base0@1@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??E?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| PUBLIC ??F?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| PUBLIC ??Y?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| PUBLIC ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| PUBLIC ??8?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator== |
| PUBLIC ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| PUBLIC ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Compat |
| PUBLIC ?_Dec@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Dec |
| PUBLIC ?_Inc@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Inc |
| PUBLIC ??0?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PAIPAU_Container_base0@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| PUBLIC ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| PUBLIC ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| PUBLIC ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| PUBLIC ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| PUBLIC ??Z?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-= |
| PUBLIC ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| PUBLIC ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| PUBLIC ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z ; std::_Regex_traits<char>::lookup_classname<char const *> |
| PUBLIC ??0?$_Node_class@DV?$regex_traits@D@std@@@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_class<char,std::regex_traits<char> >::_Node_class<char,std::regex_traits<char> > |
| PUBLIC ??1?$_Node_class@DV?$regex_traits@D@std@@@std@@UAE@XZ ; std::_Node_class<char,std::regex_traits<char> >::~_Node_class<char,std::regex_traits<char> > |
| PUBLIC ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z ; std::_Node_class<char,std::regex_traits<char> >::_Tidy |
| PUBLIC ??_G?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z ; std::_Node_class<char,std::regex_traits<char> >::`scalar deleting destructor' |
| PUBLIC ??$construct@IABI@?$allocator@I@std@@QAEXPAIABI@Z ; std::allocator<unsigned int>::construct<unsigned int,unsigned int const &> |
| PUBLIC ??0?$_Sequence@D@std@@QAE@I@Z ; std::_Sequence<char>::_Sequence<char> |
| PUBLIC ??1?$_Sequence@D@std@@QAE@XZ ; std::_Sequence<char>::~_Sequence<char> |
| PUBLIC ??_G?$_Sequence@D@std@@QAEPAXI@Z ; std::_Sequence<char>::`scalar deleting destructor' |
| PUBLIC ??$fill@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ; std::fill<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| PUBLIC ??$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Umove@PAI@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAI00@Z ; std::vector<unsigned int,std::allocator<bool> >::_Umove<unsigned int *> |
| PUBLIC ??$_Mark@I@_Bitmap@std@@QAEXI@Z ; std::_Bitmap::_Mark<unsigned int> |
| PUBLIC ??$_Mark@E@_Bitmap@std@@QAEXE@Z ; std::_Bitmap::_Mark<unsigned char> |
| PUBLIC ??0?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE@ABV?$_Regex_traits@D@1@@Z ; std::_Cmp_icase<std::_Regex_traits<char> >::_Cmp_icase<std::_Regex_traits<char> > |
| PUBLIC ??R?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE_NDD@Z ; std::_Cmp_icase<std::_Regex_traits<char> >::operator() |
| PUBLIC ??$equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ; std::equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| PUBLIC ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Fill_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ; std::_Fill_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| PUBLIC ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Is_checked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Copy_no_deprecate@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_no_deprecate<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Copy_backward1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ; std::_Copy_backward1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Uninitialized_move@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_move<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| PUBLIC ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *> |
| PUBLIC ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@Urandom_access_iterator_tag@0@2@Z ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| PUBLIC ??$_Fill_memset_is_safe@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YA?AU?$integral_constant@_N$0A@@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AB_N@Z ; std::_Fill_memset_is_safe<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| PUBLIC ??$_Fill_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_NU?$integral_constant@_N$0A@@0@@Z ; std::_Fill_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| PUBLIC ??$_Copy_no_deprecate1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ; std::_Copy_no_deprecate1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Copy_backward_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_backward_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z ; std::_Rechecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Unchecked@PAI@std@@YAPAIPAI@Z ; std::_Unchecked<unsigned int *> |
| PUBLIC ??$_Uninitialized_move_al_unchecked@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_move_al_unchecked<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| PUBLIC ??$_Rechecked@PAIPAI@std@@YAAAPAIAAPAIPAI@Z ; std::_Rechecked<unsigned int *,unsigned int *> |
| PUBLIC ??$transform_primary@PBD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBD0@Z ; std::_Regex_traits<char>::transform_primary<char const *> |
| PUBLIC ??$transform_primary@PAD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PAD0@Z ; std::_Regex_traits<char>::transform_primary<char *> |
| PUBLIC ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ; std::operator==<char,std::char_traits<char>,std::allocator<char> > |
| PUBLIC ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD00U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| PUBLIC ??$_Copy_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z ; std::_Ptr_copy_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Copy_backward_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ; std::_Copy_backward_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$_Uninitialized_move_al_unchecked1@II@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_move_al_unchecked1<unsigned int,unsigned int> |
| PUBLIC ??$_Insert@PBD@?$_Buf@D@std@@QAEXPBD0@Z ; std::_Buf<char>::_Insert<char const *> |
| PUBLIC ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > > |
| PUBLIC ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Orphan_all |
| PUBLIC ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| PUBLIC ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| PUBLIC ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| PUBLIC ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| PUBLIC ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| PUBLIC ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| PUBLIC ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| PUBLIC ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| PUBLIC ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| PUBLIC ??0?$_Vector_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ; std::_Vector_val<std::_Simple_types<char> >::_Vector_val<std::_Simple_types<char> > |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| PUBLIC ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ ; std::vector<char,std::allocator<char> >::~vector<char,std::allocator<char> > |
| PUBLIC ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| PUBLIC ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::size |
| PUBLIC ?max_size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::max_size |
| PUBLIC ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z ; std::vector<char,std::allocator<char> >::_Buy |
| PUBLIC ?_Destroy@?$vector@DV?$allocator@D@std@@@std@@IAEXPAD0@Z ; std::vector<char,std::allocator<char> >::_Destroy |
| PUBLIC ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ ; std::vector<char,std::allocator<char> >::_Tidy |
| PUBLIC ?_Xlen@?$vector@DV?$allocator@D@std@@@std@@IBEXXZ ; std::vector<char,std::allocator<char> >::_Xlen |
| PUBLIC ??$?0PBDX@?$vector@DV?$allocator@D@std@@@std@@QAE@PBD0@Z ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char const *,void> |
| PUBLIC ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| PUBLIC ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| PUBLIC ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| PUBLIC ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| PUBLIC ??$?0PADX@?$vector@DV?$allocator@D@std@@@std@@QAE@PAD0@Z ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char *,void> |
| PUBLIC ??$_Copy_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ; std::_Copy_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| PUBLIC ??$assign@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign<std::_String_iterator<std::_String_val<std::_Simple_types<char> > > > |
| PUBLIC ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXPAD0AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0@Z ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| PUBLIC ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0@Z ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| PUBLIC ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0U?$integral_constant@_N$00@0@@Z ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$destroy@D@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::destroy<char> |
| PUBLIC ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1><> |
| PUBLIC ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| PUBLIC ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| PUBLIC ??$destroy@D@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAD@Z ; std::allocator_traits<std::allocator<char> >::destroy<char> |
| PUBLIC ??$distance@PBD@std@@YAHPBD0@Z ; std::distance<char const *> |
| PUBLIC ??$_Ucopy@PBD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPBD0PAD@Z ; std::vector<char,std::allocator<char> >::_Ucopy<char const *> |
| PUBLIC ??$distance@PAD@std@@YAHPAD0@Z ; std::distance<char *> |
| PUBLIC ??$_Ucopy@PAD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPAD00@Z ; std::vector<char,std::allocator<char> >::_Ucopy<char *> |
| PUBLIC ??$destroy@D@?$allocator@D@std@@QAEXPAD@Z ; std::allocator<char>::destroy<char> |
| PUBLIC ??$_Distance2@PBDH@std@@YAXPBD0AAHUrandom_access_iterator_tag@0@@Z ; std::_Distance2<char const *,int> |
| PUBLIC ??$_Uninitialized_copy@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Distance2@PADH@std@@YAXPAD0AAHUrandom_access_iterator_tag@0@@Z ; std::_Distance2<char *,int> |
| PUBLIC ??$_Uninitialized_copy@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Uninitialized_copy_al_unchecked@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy_al_unchecked<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z ; std::_Rechecked<char *,char *> |
| PUBLIC ??$_Uninitialized_copy_al_unchecked@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy_al_unchecked<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| PUBLIC ??$_Ptr_copy_cat@$$CBDD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQBDABQAD@Z ; std::_Ptr_copy_cat<char const ,char> |
| PUBLIC ??$_Uninitialized_copy_al_unchecked1@$$CBDD@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_copy_al_unchecked1<char const ,char> |
| PUBLIC ??$_Ptr_copy_cat@DD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAD0@Z ; std::_Ptr_copy_cat<char,char> |
| PUBLIC ??$_Uninitialized_copy_al_unchecked1@DD@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_copy_al_unchecked1<char,char> |
| PUBLIC ??$_Copy_memmove@PBDPAD@std@@YAPADPBD0PAD@Z ; std::_Copy_memmove<char const *,char *> |
| PUBLIC ??$_Copy_memmove@PADPAD@std@@YAPADPAD00@Z ; std::_Copy_memmove<char *,char *> |
| PUBLIC ??_7exception@std@@6B@ ; std::exception::`vftable' |
| PUBLIC ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ ; `string' |
| PUBLIC ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::npos |
| PUBLIC ??_7runtime_error@std@@6B@ ; std::runtime_error::`vftable' |
| PUBLIC ??_7bad_cast@std@@6B@ ; std::bad_cast::`vftable' |
| PUBLIC ??_C@_08EPJLHIJG@bad?5cast?$AA@ ; `string' |
| PUBLIC __TI2?AVruntime_error@std@@ |
| PUBLIC __CTA2?AVruntime_error@std@@ |
| PUBLIC ??_R0?AVruntime_error@std@@@8 ; std::runtime_error `RTTI Type Descriptor' |
| PUBLIC __CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12 |
| PUBLIC ??_R0?AVexception@std@@@8 ; std::exception `RTTI Type Descriptor' |
| PUBLIC __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 |
| PUBLIC ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@ ; `string' |
| PUBLIC ??_7_Facet_base@std@@6B@ ; std::_Facet_base::`vftable' |
| PUBLIC ??_7facet@locale@std@@6B@ ; std::locale::facet::`vftable' |
| PUBLIC ??_C@_00CNPNBAHC@?$AA@ ; `string' |
| PUBLIC ??_7ctype_base@std@@6B@ ; std::ctype_base::`vftable' |
| PUBLIC ??_7?$ctype@D@std@@6B@ ; std::ctype<char>::`vftable' |
| PUBLIC ??_7_Node_base@std@@6B@ ; std::_Node_base::`vftable' |
| PUBLIC ??_7_Root_node@std@@6B@ ; std::_Root_node::`vftable' |
| PUBLIC ??_7_Node_end_group@std@@6B@ ; std::_Node_end_group::`vftable' |
| PUBLIC ??_7_Node_assert@std@@6B@ ; std::_Node_assert::`vftable' |
| PUBLIC ??_7_Node_capture@std@@6B@ ; std::_Node_capture::`vftable' |
| PUBLIC ??_7_Node_back@std@@6B@ ; std::_Node_back::`vftable' |
| PUBLIC ??_7_Node_endif@std@@6B@ ; std::_Node_endif::`vftable' |
| PUBLIC ??_7_Node_if@std@@6B@ ; std::_Node_if::`vftable' |
| PUBLIC ??_7_Node_end_rep@std@@6B@ ; std::_Node_end_rep::`vftable' |
| PUBLIC ??_7_Node_rep@std@@6B@ ; std::_Node_rep::`vftable' |
| PUBLIC ?id@?$collate@D@std@@2V0locale@2@A ; std::collate<char>::id |
| PUBLIC ??_7?$collate@D@std@@6B@ ; std::collate<char>::`vftable' |
| PUBLIC ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ ; `string' |
| PUBLIC ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ ; `string' |
| PUBLIC ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::ctype<char> >::_Psave |
| PUBLIC __TI2?AVbad_cast@std@@ |
| PUBLIC __CTA2?AVbad_cast@std@@ |
| PUBLIC ??_R0?AVbad_cast@std@@@8 ; std::bad_cast `RTTI Type Descriptor' |
| PUBLIC __CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 |
| PUBLIC ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::collate<char> >::_Psave |
| PUBLIC ??_C@_0BG@EOMJEIFA@vector?$DMbool?$DO?5too?5long?$AA@ ; `string' |
| PUBLIC ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ ; `string' |
| PUBLIC ??_7?$_Node_str@D@std@@6B@ ; std::_Node_str<char>::`vftable' |
| PUBLIC ??_7?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ ; std::_Node_class<char,std::regex_traits<char> >::`vftable' |
| PUBLIC ??_C@_05IIMHCHIO@alnum?$AA@ ; `string' |
| PUBLIC ??_C@_1M@KLMEPMCM@?$AAa?$AAl?$AAn?$AAu?$AAm?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05IAEKHIAN@alpha?$AA@ ; `string' |
| PUBLIC ??_C@_1M@DHGLHBMI@?$AAa?$AAl?$AAp?$AAh?$AAa?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05BABJKOGB@blank?$AA@ ; `string' |
| PUBLIC ??_C@_1M@EJAAJBPE@?$AAb?$AAl?$AAa?$AAn?$AAk?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05JMDPEFNK@cntrl?$AA@ ; `string' |
| PUBLIC ??_C@_1M@LMIMILA@?$AAc?$AAn?$AAt?$AAr?$AAl?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_01LPLHEDKD@d?$AA@ ; `string' |
| PUBLIC ??_C@_13GKPPEALH@?$AAd?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05ODNOIFML@digit?$AA@ ; `string' |
| PUBLIC ??_C@_1M@JDAEIBKG@?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05KCJBMLII@graph?$AA@ ; `string' |
| PUBLIC ??_C@_1M@MDKNJLLK@?$AAg?$AAr?$AAa?$AAp?$AAh?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05IPJEPLHL@lower?$AA@ ; `string' |
| PUBLIC ??_C@_1M@LGAECJJD@?$AAl?$AAo?$AAw?$AAe?$AAr?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05IJDJACGD@print?$AA@ ; `string' |
| PUBLIC ??_C@_1M@ELNLAPLA@?$AAp?$AAr?$AAi?$AAn?$AAt?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05KOBGHFJJ@punct?$AA@ ; `string' |
| PUBLIC ??_C@_1M@BPFMAOAO@?$AAp?$AAu?$AAn?$AAc?$AAt?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05OLNILLAB@space?$AA@ ; `string' |
| PUBLIC ??_C@_1M@LPGODFOM@?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_01LKDEMHDF@s?$AA@ ; `string' |
| PUBLIC ??_C@_13KHDBCPJB@?$AAs?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_05NECKJAMC@upper?$AA@ ; `string' |
| PUBLIC ??_C@_1M@PLNFCNIC@?$AAu?$AAp?$AAp?$AAe?$AAr?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_01NOFIACDB@w?$AA@ ; `string' |
| PUBLIC ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@ ; `string' |
| PUBLIC ??_C@_06BAPHGFFK@xdigit?$AA@ ; `string' |
| PUBLIC ??_C@_1O@OAFMJDHN@?$AAx?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ ; `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 ??_R4runtime_error@std@@6B@ ; std::runtime_error::`RTTI Complete Object Locator' |
| PUBLIC ??_R3runtime_error@std@@8 ; std::runtime_error::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2runtime_error@std@@8 ; std::runtime_error::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@runtime_error@std@@8 ; std::runtime_error::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4bad_cast@std@@6B@ ; std::bad_cast::`RTTI Complete Object Locator' |
| PUBLIC ??_R3bad_cast@std@@8 ; std::bad_cast::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2bad_cast@std@@8 ; std::bad_cast::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@bad_cast@std@@8 ; std::bad_cast::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Facet_base@std@@6B@ ; std::_Facet_base::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Facet_base@std@@@8 ; std::_Facet_base `RTTI Type Descriptor' |
| PUBLIC ??_R3_Facet_base@std@@8 ; std::_Facet_base::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Facet_base@std@@8 ; std::_Facet_base::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Facet_base@std@@8 ; std::_Facet_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R1A@?0A@EA@facet@locale@std@@8 ; std::locale::facet::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R0?AVfacet@locale@std@@@8 ; std::locale::facet `RTTI Type Descriptor' |
| PUBLIC ??_R3facet@locale@std@@8 ; std::locale::facet::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2facet@locale@std@@8 ; std::locale::facet::`RTTI Base Class Array' |
| PUBLIC ??_R13?0A@EA@_Crt_new_delete@std@@8 ; std::_Crt_new_delete::`RTTI Base Class Descriptor at (4,-1,0,64)' |
| PUBLIC ??_R0?AU_Crt_new_delete@std@@@8 ; std::_Crt_new_delete `RTTI Type Descriptor' |
| PUBLIC ??_R3_Crt_new_delete@std@@8 ; std::_Crt_new_delete::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Crt_new_delete@std@@8 ; std::_Crt_new_delete::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Crt_new_delete@std@@8 ; std::_Crt_new_delete::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4facet@locale@std@@6B@ ; std::locale::facet::`RTTI Complete Object Locator' |
| PUBLIC ??_R4ctype_base@std@@6B@ ; std::ctype_base::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AUctype_base@std@@@8 ; std::ctype_base `RTTI Type Descriptor' |
| PUBLIC ??_R3ctype_base@std@@8 ; std::ctype_base::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2ctype_base@std@@8 ; std::ctype_base::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@ctype_base@std@@8 ; std::ctype_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4?$ctype@D@std@@6B@ ; std::ctype<char>::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV?$ctype@D@std@@@8 ; std::ctype<char> `RTTI Type Descriptor' |
| PUBLIC ??_R3?$ctype@D@std@@8 ; std::ctype<char>::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2?$ctype@D@std@@8 ; std::ctype<char>::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@?$ctype@D@std@@8 ; std::ctype<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4?$collate@D@std@@6B@ ; std::collate<char>::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV?$collate@D@std@@@8 ; std::collate<char> `RTTI Type Descriptor' |
| PUBLIC ??_R3?$collate@D@std@@8 ; std::collate<char>::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2?$collate@D@std@@8 ; std::collate<char>::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@?$collate@D@std@@8 ; std::collate<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_base@std@@6B@ ; std::_Node_base::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_base@std@@@8 ; std::_Node_base `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_base@std@@8 ; std::_Node_base::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_base@std@@8 ; std::_Node_base::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_base@std@@8 ; std::_Node_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Root_node@std@@6B@ ; std::_Root_node::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Root_node@std@@@8 ; std::_Root_node `RTTI Type Descriptor' |
| PUBLIC ??_R3_Root_node@std@@8 ; std::_Root_node::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Root_node@std@@8 ; std::_Root_node::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Root_node@std@@8 ; std::_Root_node::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_end_group@std@@6B@ ; std::_Node_end_group::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_end_group@std@@@8 ; std::_Node_end_group `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_end_group@std@@8 ; std::_Node_end_group::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_end_group@std@@8 ; std::_Node_end_group::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_end_group@std@@8 ; std::_Node_end_group::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_assert@std@@6B@ ; std::_Node_assert::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_assert@std@@@8 ; std::_Node_assert `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_assert@std@@8 ; std::_Node_assert::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_assert@std@@8 ; std::_Node_assert::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_assert@std@@8 ; std::_Node_assert::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_capture@std@@6B@ ; std::_Node_capture::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_capture@std@@@8 ; std::_Node_capture `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_capture@std@@8 ; std::_Node_capture::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_capture@std@@8 ; std::_Node_capture::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_capture@std@@8 ; std::_Node_capture::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_back@std@@6B@ ; std::_Node_back::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_back@std@@@8 ; std::_Node_back `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_back@std@@8 ; std::_Node_back::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_back@std@@8 ; std::_Node_back::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_back@std@@8 ; std::_Node_back::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_endif@std@@6B@ ; std::_Node_endif::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_endif@std@@@8 ; std::_Node_endif `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_endif@std@@8 ; std::_Node_endif::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_endif@std@@8 ; std::_Node_endif::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_endif@std@@8 ; std::_Node_endif::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_if@std@@6B@ ; std::_Node_if::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_if@std@@@8 ; std::_Node_if `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_if@std@@8 ; std::_Node_if::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_if@std@@8 ; std::_Node_if::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_if@std@@8 ; std::_Node_if::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_rep@std@@6B@ ; std::_Node_rep::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_rep@std@@@8 ; std::_Node_rep `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_rep@std@@8 ; std::_Node_rep::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_rep@std@@8 ; std::_Node_rep::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_rep@std@@8 ; std::_Node_rep::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4_Node_end_rep@std@@6B@ ; std::_Node_end_rep::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV_Node_end_rep@std@@@8 ; std::_Node_end_rep `RTTI Type Descriptor' |
| PUBLIC ??_R3_Node_end_rep@std@@8 ; std::_Node_end_rep::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2_Node_end_rep@std@@8 ; std::_Node_end_rep::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@_Node_end_rep@std@@8 ; std::_Node_end_rep::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@@8 ; std::_Node_class<char,std::regex_traits<char> > `RTTI Type Descriptor' |
| PUBLIC ??_R3?$_Node_class@DV?$regex_traits@D@std@@@std@@8 ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2?$_Node_class@DV?$regex_traits@D@std@@@std@@8 ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@?$_Node_class@DV?$regex_traits@D@std@@@std@@8 ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| PUBLIC ??_R4?$_Node_str@D@std@@6B@ ; std::_Node_str<char>::`RTTI Complete Object Locator' |
| PUBLIC ??_R0?AV?$_Node_str@D@std@@@8 ; std::_Node_str<char> `RTTI Type Descriptor' |
| PUBLIC ??_R3?$_Node_str@D@std@@8 ; std::_Node_str<char>::`RTTI Class Hierarchy Descriptor' |
| PUBLIC ??_R2?$_Node_str@D@std@@8 ; std::_Node_str<char>::`RTTI Base Class Array' |
| PUBLIC ??_R1A@?0A@EA@?$_Node_str@D@std@@8 ; std::_Node_str<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| EXTRN __purecall:PROC |
| EXTRN ??2@YAPAXI@Z:PROC ; operator new |
| EXTRN ??3@YAXPAX@Z:PROC ; operator delete |
| EXTRN ??3@YAXPAXI@Z:PROC ; operator delete |
| EXTRN ??_V@YAXPAX@Z:PROC ; operator delete[] |
| EXTRN __invalid_parameter_noinfo_noreturn:PROC |
| EXTRN ??0_Lockit@std@@QAE@H@Z:PROC ; std::_Lockit::_Lockit |
| EXTRN ??1_Lockit@std@@QAE@XZ:PROC ; std::_Lockit::~_Lockit |
| EXTRN _free:PROC |
| EXTRN _realloc:PROC |
| EXTRN _memcmp:PROC |
| EXTRN _memcpy:PROC |
| EXTRN _memmove:PROC |
| EXTRN _memset:PROC |
| EXTRN _strchr:PROC |
| EXTRN _strlen:PROC |
| EXTRN ___std_exception_copy:PROC |
| EXTRN ___std_exception_destroy:PROC |
| EXTRN ??_Eexception@std@@UAEPAXI@Z:PROC ; std::exception::`vector deleting destructor' |
| EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc |
| EXTRN ?_Xlength_error@std@@YAXPBD@Z:PROC ; std::_Xlength_error |
| EXTRN ?_Xout_of_range@std@@YAXPBD@Z:PROC ; std::_Xout_of_range |
| EXTRN ??_Eruntime_error@std@@UAEPAXI@Z:PROC ; std::runtime_error::`vector deleting destructor' |
| EXTRN ??_Ebad_cast@std@@UAEPAXI@Z:PROC ; std::bad_cast::`vector deleting destructor' |
| EXTRN __Getcoll:PROC |
| EXTRN __Getctype:PROC |
| EXTRN __Strcoll:PROC |
| EXTRN __Strxfrm:PROC |
| EXTRN __Tolower:PROC |
| EXTRN __Toupper:PROC |
| EXTRN ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z:PROC ; std::_Locinfo::_Locinfo_ctor |
| EXTRN ?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z:PROC ; std::_Locinfo::_Locinfo_dtor |
| EXTRN ??_E_Facet_base@std@@UAEPAXI@Z:PROC ; std::_Facet_base::`vector deleting destructor' |
| EXTRN ?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z:PROC ; std::_Facet_Register |
| EXTRN ??_Efacet@locale@std@@MAEPAXI@Z:PROC ; std::locale::facet::`vector deleting destructor' |
| EXTRN ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z:PROC ; std::locale::_Init |
| EXTRN ?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ:PROC ; std::locale::_Getgloballocale |
| EXTRN ??_Ectype_base@std@@UAEPAXI@Z:PROC ; std::ctype_base::`vector deleting destructor' |
| EXTRN ??_E?$ctype@D@std@@MAEPAXI@Z:PROC ; std::ctype<char>::`vector deleting destructor' |
| EXTRN ?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z:PROC ; std::_Xregex_error |
| EXTRN ??_E_Node_base@std@@UAEPAXI@Z:PROC ; std::_Node_base::`vector deleting destructor' |
| EXTRN ??_E_Root_node@std@@UAEPAXI@Z:PROC ; std::_Root_node::`vector deleting destructor' |
| EXTRN ??_E_Node_end_group@std@@UAEPAXI@Z:PROC ; std::_Node_end_group::`vector deleting destructor' |
| EXTRN ??_E_Node_assert@std@@UAEPAXI@Z:PROC ; std::_Node_assert::`vector deleting destructor' |
| EXTRN ??_E_Node_capture@std@@UAEPAXI@Z:PROC ; std::_Node_capture::`vector deleting destructor' |
| EXTRN ??_E_Node_back@std@@UAEPAXI@Z:PROC ; std::_Node_back::`vector deleting destructor' |
| EXTRN ??_E_Node_endif@std@@UAEPAXI@Z:PROC ; std::_Node_endif::`vector deleting destructor' |
| EXTRN ??_E_Node_if@std@@UAEPAXI@Z:PROC ; std::_Node_if::`vector deleting destructor' |
| EXTRN ??_E_Node_end_rep@std@@UAEPAXI@Z:PROC ; std::_Node_end_rep::`vector deleting destructor' |
| EXTRN ??_E_Node_rep@std@@UAEPAXI@Z:PROC ; std::_Node_rep::`vector deleting destructor' |
| EXTRN ??_E?$collate@D@std@@MAEPAXI@Z:PROC ; std::collate<char>::`vector deleting destructor' |
| EXTRN ??_E?$_Node_str@D@std@@UAEPAXI@Z:PROC ; std::_Node_str<char>::`vector deleting destructor' |
| EXTRN ??_E?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z:PROC ; std::_Node_class<char,std::regex_traits<char> >::`vector deleting destructor' |
| EXTRN @__security_check_cookie@4:PROC |
| EXTRN __CxxThrowException@8:PROC |
| EXTRN ___CxxFrameHandler3:PROC |
| EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable' |
| EXTRN ?_Id_cnt@id@locale@std@@0HA:DWORD ; std::locale::id::_Id_cnt |
| EXTRN ?id@?$ctype@D@std@@2V0locale@2@A:DWORD ; std::ctype<char>::id |
| EXTRN ___security_cookie:DWORD |
| ; COMDAT ?id@?$collate@D@std@@2V0locale@2@A |
| _BSS SEGMENT |
| ?id@?$collate@D@std@@2V0locale@2@A DD 01H DUP (?) ; std::collate<char>::id |
| _BSS ENDS |
| ; COMDAT ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B |
| _BSS SEGMENT |
| ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B DD 01H DUP (?) ; std::_Facetptr<std::ctype<char> >::_Psave |
| _BSS ENDS |
| ; COMDAT ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B |
| _BSS SEGMENT |
| ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B DD 01H DUP (?) ; std::_Facetptr<std::collate<char> >::_Psave |
| _BSS ENDS |
| ; COMDAT CRT$XCU |
| CRT$XCU SEGMENT |
| ??id$initializer$@?$collate@D@std@@2P6AXXZA@@3P6AXXZA DD FLAT:??__E?id@?$collate@D@std@@2V0locale@2@A@@YAXXZ ; ??id$initializer$@?$collate@D@std@@2P6AXXZA@@3P6AXXZA |
| CRT$XCU ENDS |
| ; COMDAT ??_R1A@?0A@EA@?$_Node_str@D@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@?$_Node_str@D@std@@8 DD FLAT:??_R0?AV?$_Node_str@D@std@@@8 ; std::_Node_str<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3?$_Node_str@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2?$_Node_str@D@std@@8 |
| rdata$r SEGMENT |
| ??_R2?$_Node_str@D@std@@8 DD FLAT:??_R1A@?0A@EA@?$_Node_str@D@std@@8 ; std::_Node_str<char>::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3?$_Node_str@D@std@@8 |
| rdata$r SEGMENT |
| ??_R3?$_Node_str@D@std@@8 DD 00H ; std::_Node_str<char>::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2?$_Node_str@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV?$_Node_str@D@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV?$_Node_str@D@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_str<char> `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV?$_Node_str@D@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4?$_Node_str@D@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4?$_Node_str@D@std@@6B@ DD 00H ; std::_Node_str<char>::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV?$_Node_str@D@std@@@8 |
| DD FLAT:??_R3?$_Node_str@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@?$_Node_class@DV?$regex_traits@D@std@@@std@@8 DD FLAT:??_R0?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@@8 ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r SEGMENT |
| ??_R2?$_Node_class@DV?$regex_traits@D@std@@@std@@8 DD FLAT:??_R1A@?0A@EA@?$_Node_class@DV?$regex_traits@D@std@@@std@@8 ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r SEGMENT |
| ??_R3?$_Node_class@DV?$regex_traits@D@std@@@std@@8 DD 00H ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_class<char,std::regex_traits<char> > `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ DD 00H ; std::_Node_class<char,std::regex_traits<char> >::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV?$_Node_class@DV?$regex_traits@D@std@@@std@@@8 |
| DD FLAT:??_R3?$_Node_class@DV?$regex_traits@D@std@@@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_end_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_end_rep@std@@8 DD FLAT:??_R0?AV_Node_end_rep@std@@@8 ; std::_Node_end_rep::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_end_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_end_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_end_rep@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_end_rep@std@@8 ; std::_Node_end_rep::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_end_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_end_rep@std@@8 DD 00H ; std::_Node_end_rep::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_end_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_end_rep@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_end_rep@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_end_rep `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_end_rep@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_end_rep@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_end_rep@std@@6B@ DD 00H ; std::_Node_end_rep::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_end_rep@std@@@8 |
| DD FLAT:??_R3_Node_end_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_rep@std@@8 DD FLAT:??_R0?AV_Node_rep@std@@@8 ; std::_Node_rep::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_rep@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_rep@std@@8 ; std::_Node_rep::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_rep@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_rep@std@@8 DD 00H ; std::_Node_rep::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_rep@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_rep@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_rep `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_rep@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_rep@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_rep@std@@6B@ DD 00H ; std::_Node_rep::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_rep@std@@@8 |
| DD FLAT:??_R3_Node_rep@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_if@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_if@std@@8 DD FLAT:??_R0?AV_Node_if@std@@@8 ; std::_Node_if::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_if@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_if@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_if@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_if@std@@8 ; std::_Node_if::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_if@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_if@std@@8 DD 00H ; std::_Node_if::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_if@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_if@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_if@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_if `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_if@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_if@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_if@std@@6B@ DD 00H ; std::_Node_if::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_if@std@@@8 |
| DD FLAT:??_R3_Node_if@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_endif@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_endif@std@@8 DD FLAT:??_R0?AV_Node_endif@std@@@8 ; std::_Node_endif::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_endif@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_endif@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_endif@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_endif@std@@8 ; std::_Node_endif::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_endif@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_endif@std@@8 DD 00H ; std::_Node_endif::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_endif@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_endif@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_endif@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_endif `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_endif@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_endif@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_endif@std@@6B@ DD 00H ; std::_Node_endif::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_endif@std@@@8 |
| DD FLAT:??_R3_Node_endif@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_back@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_back@std@@8 DD FLAT:??_R0?AV_Node_back@std@@@8 ; std::_Node_back::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_back@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_back@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_back@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_back@std@@8 ; std::_Node_back::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_back@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_back@std@@8 DD 00H ; std::_Node_back::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_back@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_back@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_back@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_back `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_back@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_back@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_back@std@@6B@ DD 00H ; std::_Node_back::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_back@std@@@8 |
| DD FLAT:??_R3_Node_back@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_capture@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_capture@std@@8 DD FLAT:??_R0?AV_Node_capture@std@@@8 ; std::_Node_capture::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_capture@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_capture@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_capture@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_capture@std@@8 ; std::_Node_capture::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_capture@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_capture@std@@8 DD 00H ; std::_Node_capture::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_capture@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_capture@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_capture@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_capture `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_capture@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_capture@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_capture@std@@6B@ DD 00H ; std::_Node_capture::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_capture@std@@@8 |
| DD FLAT:??_R3_Node_capture@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_assert@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_assert@std@@8 DD FLAT:??_R0?AV_Node_assert@std@@@8 ; std::_Node_assert::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_assert@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_assert@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_assert@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_assert@std@@8 ; std::_Node_assert::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_assert@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_assert@std@@8 DD 00H ; std::_Node_assert::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_assert@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_assert@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_assert@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_assert `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_assert@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_assert@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_assert@std@@6B@ DD 00H ; std::_Node_assert::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_assert@std@@@8 |
| DD FLAT:??_R3_Node_assert@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_end_group@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_end_group@std@@8 DD FLAT:??_R0?AV_Node_end_group@std@@@8 ; std::_Node_end_group::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_end_group@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_end_group@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_end_group@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_end_group@std@@8 ; std::_Node_end_group::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_end_group@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_end_group@std@@8 DD 00H ; std::_Node_end_group::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Node_end_group@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_end_group@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_end_group@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_end_group `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_end_group@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_end_group@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_end_group@std@@6B@ DD 00H ; std::_Node_end_group::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_end_group@std@@@8 |
| DD FLAT:??_R3_Node_end_group@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Root_node@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Root_node@std@@8 DD FLAT:??_R0?AV_Root_node@std@@@8 ; std::_Root_node::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Root_node@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Root_node@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Root_node@std@@8 DD FLAT:??_R1A@?0A@EA@_Root_node@std@@8 ; std::_Root_node::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3_Root_node@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Root_node@std@@8 DD 00H ; std::_Root_node::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2_Root_node@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Root_node@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Root_node@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Root_node `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Root_node@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Root_node@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Root_node@std@@6B@ DD 00H ; std::_Root_node::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Root_node@std@@@8 |
| DD FLAT:??_R3_Root_node@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Node_base@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Node_base@std@@8 DD FLAT:??_R0?AV_Node_base@std@@@8 ; std::_Node_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 00H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Node_base@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Node_base@std@@8 DD FLAT:??_R1A@?0A@EA@_Node_base@std@@8 ; std::_Node_base::`RTTI Base Class Array' |
| rdata$r ENDS |
| ; COMDAT ??_R3_Node_base@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Node_base@std@@8 DD 00H ; std::_Node_base::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 01H |
| DD FLAT:??_R2_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Node_base@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Node_base@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Node_base `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Node_base@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Node_base@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Node_base@std@@6B@ DD 00H ; std::_Node_base::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Node_base@std@@@8 |
| DD FLAT:??_R3_Node_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@?$collate@D@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@?$collate@D@std@@8 DD FLAT:??_R0?AV?$collate@D@std@@@8 ; std::collate<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 03H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3?$collate@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2?$collate@D@std@@8 |
| rdata$r SEGMENT |
| ??_R2?$collate@D@std@@8 DD FLAT:??_R1A@?0A@EA@?$collate@D@std@@8 ; std::collate<char>::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@facet@locale@std@@8 |
| DD FLAT:??_R1A@?0A@EA@_Facet_base@std@@8 |
| DD FLAT:??_R13?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3?$collate@D@std@@8 |
| rdata$r SEGMENT |
| ??_R3?$collate@D@std@@8 DD 00H ; std::collate<char>::`RTTI Class Hierarchy Descriptor' |
| DD 01H |
| DD 04H |
| DD FLAT:??_R2?$collate@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV?$collate@D@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV?$collate@D@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::collate<char> `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV?$collate@D@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4?$collate@D@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4?$collate@D@std@@6B@ DD 00H ; std::collate<char>::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV?$collate@D@std@@@8 |
| DD FLAT:??_R3?$collate@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@?$ctype@D@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@?$ctype@D@std@@8 DD FLAT:??_R0?AV?$ctype@D@std@@@8 ; std::ctype<char>::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 04H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3?$ctype@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2?$ctype@D@std@@8 |
| rdata$r SEGMENT |
| ??_R2?$ctype@D@std@@8 DD FLAT:??_R1A@?0A@EA@?$ctype@D@std@@8 ; std::ctype<char>::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@ctype_base@std@@8 |
| DD FLAT:??_R1A@?0A@EA@facet@locale@std@@8 |
| DD FLAT:??_R1A@?0A@EA@_Facet_base@std@@8 |
| DD FLAT:??_R13?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3?$ctype@D@std@@8 |
| rdata$r SEGMENT |
| ??_R3?$ctype@D@std@@8 DD 00H ; std::ctype<char>::`RTTI Class Hierarchy Descriptor' |
| DD 01H |
| DD 05H |
| DD FLAT:??_R2?$ctype@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV?$ctype@D@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV?$ctype@D@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::ctype<char> `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV?$ctype@D@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4?$ctype@D@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4?$ctype@D@std@@6B@ DD 00H ; std::ctype<char>::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV?$ctype@D@std@@@8 |
| DD FLAT:??_R3?$ctype@D@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@ctype_base@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@ctype_base@std@@8 DD FLAT:??_R0?AUctype_base@std@@@8 ; std::ctype_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 03H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3ctype_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2ctype_base@std@@8 |
| rdata$r SEGMENT |
| ??_R2ctype_base@std@@8 DD FLAT:??_R1A@?0A@EA@ctype_base@std@@8 ; std::ctype_base::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@facet@locale@std@@8 |
| DD FLAT:??_R1A@?0A@EA@_Facet_base@std@@8 |
| DD FLAT:??_R13?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3ctype_base@std@@8 |
| rdata$r SEGMENT |
| ??_R3ctype_base@std@@8 DD 00H ; std::ctype_base::`RTTI Class Hierarchy Descriptor' |
| DD 01H |
| DD 04H |
| DD FLAT:??_R2ctype_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AUctype_base@std@@@8 |
| data$r SEGMENT |
| ??_R0?AUctype_base@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::ctype_base `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AUctype_base@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4ctype_base@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4ctype_base@std@@6B@ DD 00H ; std::ctype_base::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AUctype_base@std@@@8 |
| DD FLAT:??_R3ctype_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R4facet@locale@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4facet@locale@std@@6B@ DD 00H ; std::locale::facet::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AVfacet@locale@std@@@8 |
| DD FLAT:??_R3facet@locale@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Crt_new_delete@std@@8 DD FLAT:??_R0?AU_Crt_new_delete@std@@@8 ; std::_Crt_new_delete::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 00H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Crt_new_delete@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Crt_new_delete@std@@8 DD FLAT:??_R1A@?0A@EA@_Crt_new_delete@std@@8 ; std::_Crt_new_delete::`RTTI Base Class Array' |
| rdata$r ENDS |
| ; COMDAT ??_R3_Crt_new_delete@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Crt_new_delete@std@@8 DD 00H ; std::_Crt_new_delete::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 01H |
| DD FLAT:??_R2_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AU_Crt_new_delete@std@@@8 |
| data$r SEGMENT |
| ??_R0?AU_Crt_new_delete@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Crt_new_delete `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AU_Crt_new_delete@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R13?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r SEGMENT |
| ??_R13?0A@EA@_Crt_new_delete@std@@8 DD FLAT:??_R0?AU_Crt_new_delete@std@@@8 ; std::_Crt_new_delete::`RTTI Base Class Descriptor at (4,-1,0,64)' |
| DD 00H |
| DD 04H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2facet@locale@std@@8 |
| rdata$r SEGMENT |
| ??_R2facet@locale@std@@8 DD FLAT:??_R1A@?0A@EA@facet@locale@std@@8 ; std::locale::facet::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@_Facet_base@std@@8 |
| DD FLAT:??_R13?0A@EA@_Crt_new_delete@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3facet@locale@std@@8 |
| rdata$r SEGMENT |
| ??_R3facet@locale@std@@8 DD 00H ; std::locale::facet::`RTTI Class Hierarchy Descriptor' |
| DD 01H |
| DD 03H |
| DD FLAT:??_R2facet@locale@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AVfacet@locale@std@@@8 |
| data$r SEGMENT |
| ??_R0?AVfacet@locale@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::locale::facet `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AVfacet@locale@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@facet@locale@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@facet@locale@std@@8 DD FLAT:??_R0?AVfacet@locale@std@@@8 ; std::locale::facet::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 02H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3facet@locale@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@_Facet_base@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@_Facet_base@std@@8 DD FLAT:??_R0?AV_Facet_base@std@@@8 ; std::_Facet_base::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 00H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3_Facet_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2_Facet_base@std@@8 |
| rdata$r SEGMENT |
| ??_R2_Facet_base@std@@8 DD FLAT:??_R1A@?0A@EA@_Facet_base@std@@8 ; std::_Facet_base::`RTTI Base Class Array' |
| rdata$r ENDS |
| ; COMDAT ??_R3_Facet_base@std@@8 |
| rdata$r SEGMENT |
| ??_R3_Facet_base@std@@8 DD 00H ; std::_Facet_base::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 01H |
| DD FLAT:??_R2_Facet_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R0?AV_Facet_base@std@@@8 |
| data$r SEGMENT |
| ??_R0?AV_Facet_base@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::_Facet_base `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AV_Facet_base@std@@', 00H |
| data$r ENDS |
| ; COMDAT ??_R4_Facet_base@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4_Facet_base@std@@6B@ DD 00H ; std::_Facet_base::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AV_Facet_base@std@@@8 |
| DD FLAT:??_R3_Facet_base@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@bad_cast@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@bad_cast@std@@8 DD FLAT:??_R0?AVbad_cast@std@@@8 ; std::bad_cast::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3bad_cast@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2bad_cast@std@@8 |
| rdata$r SEGMENT |
| ??_R2bad_cast@std@@8 DD FLAT:??_R1A@?0A@EA@bad_cast@std@@8 ; std::bad_cast::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@exception@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3bad_cast@std@@8 |
| rdata$r SEGMENT |
| ??_R3bad_cast@std@@8 DD 00H ; std::bad_cast::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2bad_cast@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R4bad_cast@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4bad_cast@std@@6B@ DD 00H ; std::bad_cast::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AVbad_cast@std@@@8 |
| DD FLAT:??_R3bad_cast@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@runtime_error@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@runtime_error@std@@8 DD FLAT:??_R0?AVruntime_error@std@@@8 ; std::runtime_error::`RTTI Base Class Descriptor at (0,-1,0,64)' |
| DD 01H |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 040H |
| DD FLAT:??_R3runtime_error@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2runtime_error@std@@8 |
| rdata$r SEGMENT |
| ??_R2runtime_error@std@@8 DD FLAT:??_R1A@?0A@EA@runtime_error@std@@8 ; std::runtime_error::`RTTI Base Class Array' |
| DD FLAT:??_R1A@?0A@EA@exception@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R3runtime_error@std@@8 |
| rdata$r SEGMENT |
| ??_R3runtime_error@std@@8 DD 00H ; std::runtime_error::`RTTI Class Hierarchy Descriptor' |
| DD 00H |
| DD 02H |
| DD FLAT:??_R2runtime_error@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R4runtime_error@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4runtime_error@std@@6B@ DD 00H ; std::runtime_error::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AVruntime_error@std@@@8 |
| DD FLAT:??_R3runtime_error@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R1A@?0A@EA@exception@std@@8 |
| rdata$r SEGMENT |
| ??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_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 FLAT:??_R3exception@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R2exception@std@@8 |
| rdata$r SEGMENT |
| ??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array' |
| 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 FLAT:??_R2exception@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_R4exception@std@@6B@ |
| rdata$r SEGMENT |
| ??_R4exception@std@@6B@ DD 00H ; std::exception::`RTTI Complete Object Locator' |
| DD 00H |
| DD 00H |
| DD FLAT:??_R0?AVexception@std@@@8 |
| DD FLAT:??_R3exception@std@@8 |
| rdata$r ENDS |
| ; COMDAT ??_C@_1O@OAFMJDHN@?$AAx?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1O@OAFMJDHN@?$AAx?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ DB 'x', 00H, 'd' |
| DB 00H, 'i', 00H, 'g', 00H, 'i', 00H, 't', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_06BAPHGFFK@xdigit?$AA@ |
| CONST SEGMENT |
| ??_C@_06BAPHGFFK@xdigit?$AA@ DB 'xdigit', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@ DB 'w', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_01NOFIACDB@w?$AA@ |
| CONST SEGMENT |
| ??_C@_01NOFIACDB@w?$AA@ DB 'w', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@PLNFCNIC@?$AAu?$AAp?$AAp?$AAe?$AAr?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@PLNFCNIC@?$AAu?$AAp?$AAp?$AAe?$AAr?$AA?$AA@ DB 'u', 00H, 'p', 00H |
| DB 'p', 00H, 'e', 00H, 'r', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05NECKJAMC@upper?$AA@ |
| CONST SEGMENT |
| ??_C@_05NECKJAMC@upper?$AA@ DB 'upper', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_13KHDBCPJB@?$AAs?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_13KHDBCPJB@?$AAs?$AA?$AA@ DB 's', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_01LKDEMHDF@s?$AA@ |
| CONST SEGMENT |
| ??_C@_01LKDEMHDF@s?$AA@ DB 's', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@LPGODFOM@?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@LPGODFOM@?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?$AA@ DB 's', 00H, 'p', 00H |
| DB 'a', 00H, 'c', 00H, 'e', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05OLNILLAB@space?$AA@ |
| CONST SEGMENT |
| ??_C@_05OLNILLAB@space?$AA@ DB 'space', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@BPFMAOAO@?$AAp?$AAu?$AAn?$AAc?$AAt?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@BPFMAOAO@?$AAp?$AAu?$AAn?$AAc?$AAt?$AA?$AA@ DB 'p', 00H, 'u', 00H |
| DB 'n', 00H, 'c', 00H, 't', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05KOBGHFJJ@punct?$AA@ |
| CONST SEGMENT |
| ??_C@_05KOBGHFJJ@punct?$AA@ DB 'punct', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@ELNLAPLA@?$AAp?$AAr?$AAi?$AAn?$AAt?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@ELNLAPLA@?$AAp?$AAr?$AAi?$AAn?$AAt?$AA?$AA@ DB 'p', 00H, 'r', 00H |
| DB 'i', 00H, 'n', 00H, 't', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05IJDJACGD@print?$AA@ |
| CONST SEGMENT |
| ??_C@_05IJDJACGD@print?$AA@ DB 'print', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@LGAECJJD@?$AAl?$AAo?$AAw?$AAe?$AAr?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@LGAECJJD@?$AAl?$AAo?$AAw?$AAe?$AAr?$AA?$AA@ DB 'l', 00H, 'o', 00H |
| DB 'w', 00H, 'e', 00H, 'r', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05IPJEPLHL@lower?$AA@ |
| CONST SEGMENT |
| ??_C@_05IPJEPLHL@lower?$AA@ DB 'lower', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@MDKNJLLK@?$AAg?$AAr?$AAa?$AAp?$AAh?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@MDKNJLLK@?$AAg?$AAr?$AAa?$AAp?$AAh?$AA?$AA@ DB 'g', 00H, 'r', 00H |
| DB 'a', 00H, 'p', 00H, 'h', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05KCJBMLII@graph?$AA@ |
| CONST SEGMENT |
| ??_C@_05KCJBMLII@graph?$AA@ DB 'graph', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@JDAEIBKG@?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@JDAEIBKG@?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ DB 'd', 00H, 'i', 00H |
| DB 'g', 00H, 'i', 00H, 't', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05ODNOIFML@digit?$AA@ |
| CONST SEGMENT |
| ??_C@_05ODNOIFML@digit?$AA@ DB 'digit', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_13GKPPEALH@?$AAd?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_13GKPPEALH@?$AAd?$AA?$AA@ DB 'd', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_01LPLHEDKD@d?$AA@ |
| CONST SEGMENT |
| ??_C@_01LPLHEDKD@d?$AA@ DB 'd', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@LMIMILA@?$AAc?$AAn?$AAt?$AAr?$AAl?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@LMIMILA@?$AAc?$AAn?$AAt?$AAr?$AAl?$AA?$AA@ DB 'c', 00H, 'n', 00H |
| DB 't', 00H, 'r', 00H, 'l', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05JMDPEFNK@cntrl?$AA@ |
| CONST SEGMENT |
| ??_C@_05JMDPEFNK@cntrl?$AA@ DB 'cntrl', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@EJAAJBPE@?$AAb?$AAl?$AAa?$AAn?$AAk?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@EJAAJBPE@?$AAb?$AAl?$AAa?$AAn?$AAk?$AA?$AA@ DB 'b', 00H, 'l', 00H |
| DB 'a', 00H, 'n', 00H, 'k', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05BABJKOGB@blank?$AA@ |
| CONST SEGMENT |
| ??_C@_05BABJKOGB@blank?$AA@ DB 'blank', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@DHGLHBMI@?$AAa?$AAl?$AAp?$AAh?$AAa?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@DHGLHBMI@?$AAa?$AAl?$AAp?$AAh?$AAa?$AA?$AA@ DB 'a', 00H, 'l', 00H |
| DB 'p', 00H, 'h', 00H, 'a', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05IAEKHIAN@alpha?$AA@ |
| CONST SEGMENT |
| ??_C@_05IAEKHIAN@alpha?$AA@ DB 'alpha', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_1M@KLMEPMCM@?$AAa?$AAl?$AAn?$AAu?$AAm?$AA?$AA@ |
| CONST SEGMENT |
| ??_C@_1M@KLMEPMCM@?$AAa?$AAl?$AAn?$AAu?$AAm?$AA?$AA@ DB 'a', 00H, 'l', 00H |
| DB 'n', 00H, 'u', 00H, 'm', 00H, 00H, 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_05IIMHCHIO@alnum?$AA@ |
| CONST SEGMENT |
| ??_C@_05IIMHCHIO@alnum?$AA@ DB 'alnum', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_7?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ |
| CONST SEGMENT |
| ??_7?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ DD FLAT:??_R4?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ ; std::_Node_class<char,std::regex_traits<char> >::`vftable' |
| DD FLAT:??_E?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7?$_Node_str@D@std@@6B@ |
| CONST SEGMENT |
| ??_7?$_Node_str@D@std@@6B@ DD FLAT:??_R4?$_Node_str@D@std@@6B@ ; std::_Node_str<char>::`vftable' |
| DD FLAT:??_E?$_Node_str@D@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ |
| CONST SEGMENT |
| ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ DB 'vector<T> too long' |
| DB 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_0BG@EOMJEIFA@vector?$DMbool?$DO?5too?5long?$AA@ |
| CONST SEGMENT |
| ??_C@_0BG@EOMJEIFA@vector?$DMbool?$DO?5too?5long?$AA@ DB 'vector<bool> to' |
| DB 'o long', 00H ; `string' |
| CONST ENDS |
| ; COMDAT __CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 |
| xdata$x SEGMENT |
| __CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 DD 00H |
| DD FLAT:??_R0?AVbad_cast@std@@@8 |
| DD 00H |
| DD 0ffffffffH |
| ORG $+4 |
| DD 0cH |
| DD FLAT:??0bad_cast@std@@QAE@ABV01@@Z |
| xdata$x ENDS |
| ; COMDAT ??_R0?AVbad_cast@std@@@8 |
| data$r SEGMENT |
| ??_R0?AVbad_cast@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::bad_cast `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AVbad_cast@std@@', 00H |
| data$r ENDS |
| ; COMDAT __CTA2?AVbad_cast@std@@ |
| xdata$x SEGMENT |
| __CTA2?AVbad_cast@std@@ DD 02H |
| DD FLAT:__CT??_R0?AVbad_cast@std@@@8??0bad_cast@std@@QAE@ABV01@@Z12 |
| DD FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 |
| xdata$x ENDS |
| ; COMDAT __TI2?AVbad_cast@std@@ |
| xdata$x SEGMENT |
| __TI2?AVbad_cast@std@@ DD 00H |
| DD FLAT:??1bad_cast@std@@UAE@XZ |
| DD 00H |
| DD FLAT:__CTA2?AVbad_cast@std@@ |
| xdata$x ENDS |
| ; COMDAT ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ |
| CONST SEGMENT |
| ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ DB 'invalid string posi' |
| DB 'tion', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ |
| CONST SEGMENT |
| ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ DB 'string too long', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_7?$collate@D@std@@6B@ |
| CONST SEGMENT |
| ??_7?$collate@D@std@@6B@ DD FLAT:??_R4?$collate@D@std@@6B@ ; std::collate<char>::`vftable' |
| DD FLAT:??_E?$collate@D@std@@MAEPAXI@Z |
| DD FLAT:?_Incref@facet@locale@std@@UAEXXZ |
| DD FLAT:?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ |
| DD FLAT:?do_compare@?$collate@D@std@@MBEHPBD000@Z |
| DD FLAT:?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z |
| DD FLAT:?do_hash@?$collate@D@std@@MBEJPBD0@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_rep@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_rep@std@@6B@ DD FLAT:??_R4_Node_rep@std@@6B@ ; std::_Node_rep::`vftable' |
| DD FLAT:??_E_Node_rep@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_end_rep@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_end_rep@std@@6B@ DD FLAT:??_R4_Node_end_rep@std@@6B@ ; std::_Node_end_rep::`vftable' |
| DD FLAT:??_E_Node_end_rep@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_if@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_if@std@@6B@ DD FLAT:??_R4_Node_if@std@@6B@ ; std::_Node_if::`vftable' |
| DD FLAT:??_E_Node_if@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_endif@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_endif@std@@6B@ DD FLAT:??_R4_Node_endif@std@@6B@ ; std::_Node_endif::`vftable' |
| DD FLAT:??_E_Node_endif@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_back@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_back@std@@6B@ DD FLAT:??_R4_Node_back@std@@6B@ ; std::_Node_back::`vftable' |
| DD FLAT:??_E_Node_back@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_capture@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_capture@std@@6B@ DD FLAT:??_R4_Node_capture@std@@6B@ ; std::_Node_capture::`vftable' |
| DD FLAT:??_E_Node_capture@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_assert@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_assert@std@@6B@ DD FLAT:??_R4_Node_assert@std@@6B@ ; std::_Node_assert::`vftable' |
| DD FLAT:??_E_Node_assert@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_end_group@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_end_group@std@@6B@ DD FLAT:??_R4_Node_end_group@std@@6B@ ; std::_Node_end_group::`vftable' |
| DD FLAT:??_E_Node_end_group@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Root_node@std@@6B@ |
| CONST SEGMENT |
| ??_7_Root_node@std@@6B@ DD FLAT:??_R4_Root_node@std@@6B@ ; std::_Root_node::`vftable' |
| DD FLAT:??_E_Root_node@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7_Node_base@std@@6B@ |
| CONST SEGMENT |
| ??_7_Node_base@std@@6B@ DD FLAT:??_R4_Node_base@std@@6B@ ; std::_Node_base::`vftable' |
| DD FLAT:??_E_Node_base@std@@UAEPAXI@Z |
| CONST ENDS |
| ; COMDAT ??_7?$ctype@D@std@@6B@ |
| CONST SEGMENT |
| ??_7?$ctype@D@std@@6B@ DD FLAT:??_R4?$ctype@D@std@@6B@ ; std::ctype<char>::`vftable' |
| DD FLAT:??_E?$ctype@D@std@@MAEPAXI@Z |
| DD FLAT:?_Incref@facet@locale@std@@UAEXXZ |
| DD FLAT:?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ |
| DD FLAT:?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z |
| DD FLAT:?do_tolower@?$ctype@D@std@@MBEDD@Z |
| DD FLAT:?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z |
| DD FLAT:?do_toupper@?$ctype@D@std@@MBEDD@Z |
| DD FLAT:?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z |
| DD FLAT:?do_widen@?$ctype@D@std@@MBEDD@Z |
| DD FLAT:?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z |
| DD FLAT:?do_narrow@?$ctype@D@std@@MBEDDD@Z |
| CONST ENDS |
| ; COMDAT ??_7ctype_base@std@@6B@ |
| CONST SEGMENT |
| ??_7ctype_base@std@@6B@ DD FLAT:??_R4ctype_base@std@@6B@ ; std::ctype_base::`vftable' |
| DD FLAT:??_Ectype_base@std@@UAEPAXI@Z |
| DD FLAT:?_Incref@facet@locale@std@@UAEXXZ |
| DD FLAT:?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ |
| CONST ENDS |
| ; COMDAT ??_C@_00CNPNBAHC@?$AA@ |
| CONST SEGMENT |
| ??_C@_00CNPNBAHC@?$AA@ DB 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_7facet@locale@std@@6B@ |
| CONST SEGMENT |
| ??_7facet@locale@std@@6B@ DD FLAT:??_R4facet@locale@std@@6B@ ; std::locale::facet::`vftable' |
| DD FLAT:??_Efacet@locale@std@@MAEPAXI@Z |
| DD FLAT:?_Incref@facet@locale@std@@UAEXXZ |
| DD FLAT:?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ |
| CONST ENDS |
| ; COMDAT ??_7_Facet_base@std@@6B@ |
| CONST SEGMENT |
| ??_7_Facet_base@std@@6B@ DD FLAT:??_R4_Facet_base@std@@6B@ ; std::_Facet_base::`vftable' |
| DD FLAT:??_E_Facet_base@std@@UAEPAXI@Z |
| DD FLAT:__purecall |
| DD FLAT:__purecall |
| CONST ENDS |
| ; COMDAT ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@ |
| CONST SEGMENT |
| ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@ DB 'bad locale name', 00H ; `string' |
| CONST ENDS |
| ; COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 |
| xdata$x SEGMENT |
| __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H |
| DD FLAT:??_R0?AVexception@std@@@8 |
| DD 00H |
| DD 0ffffffffH |
| ORG $+4 |
| DD 0cH |
| DD FLAT:??0exception@std@@QAE@ABV01@@Z |
| xdata$x ENDS |
| ; COMDAT ??_R0?AVexception@std@@@8 |
| data$r SEGMENT |
| ??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::exception `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AVexception@std@@', 00H |
| data$r ENDS |
| ; COMDAT __CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12 |
| xdata$x SEGMENT |
| __CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12 DD 00H |
| DD FLAT:??_R0?AVruntime_error@std@@@8 |
| DD 00H |
| DD 0ffffffffH |
| ORG $+4 |
| DD 0cH |
| DD FLAT:??0runtime_error@std@@QAE@ABV01@@Z |
| xdata$x ENDS |
| ; COMDAT ??_R0?AVruntime_error@std@@@8 |
| data$r SEGMENT |
| ??_R0?AVruntime_error@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::runtime_error `RTTI Type Descriptor' |
| DD 00H |
| DB '.?AVruntime_error@std@@', 00H |
| data$r ENDS |
| ; COMDAT __CTA2?AVruntime_error@std@@ |
| xdata$x SEGMENT |
| __CTA2?AVruntime_error@std@@ DD 02H |
| DD FLAT:__CT??_R0?AVruntime_error@std@@@8??0runtime_error@std@@QAE@ABV01@@Z12 |
| DD FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 |
| xdata$x ENDS |
| ; COMDAT __TI2?AVruntime_error@std@@ |
| xdata$x SEGMENT |
| __TI2?AVruntime_error@std@@ DD 00H |
| DD FLAT:??1runtime_error@std@@UAE@XZ |
| DD 00H |
| DD FLAT:__CTA2?AVruntime_error@std@@ |
| xdata$x ENDS |
| ; COMDAT ??_C@_08EPJLHIJG@bad?5cast?$AA@ |
| CONST SEGMENT |
| ??_C@_08EPJLHIJG@bad?5cast?$AA@ DB 'bad cast', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_7bad_cast@std@@6B@ |
| CONST SEGMENT |
| ??_7bad_cast@std@@6B@ DD FLAT:??_R4bad_cast@std@@6B@ ; std::bad_cast::`vftable' |
| DD FLAT:??_Ebad_cast@std@@UAEPAXI@Z |
| DD FLAT:?what@exception@std@@UBEPBDXZ |
| CONST ENDS |
| ; COMDAT ??_7runtime_error@std@@6B@ |
| CONST SEGMENT |
| ??_7runtime_error@std@@6B@ DD FLAT:??_R4runtime_error@std@@6B@ ; std::runtime_error::`vftable' |
| DD FLAT:??_Eruntime_error@std@@UAEPAXI@Z |
| DD FLAT:?what@exception@std@@UBEPBDXZ |
| CONST ENDS |
| ; COMDAT ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB |
| CONST SEGMENT |
| ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB DD 0ffffffffH ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::npos |
| CONST ENDS |
| ; COMDAT ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ |
| CONST SEGMENT |
| ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ DB 'Unknown exception', 00H ; `string' |
| CONST ENDS |
| ; COMDAT ??_7exception@std@@6B@ |
| CONST SEGMENT |
| ??_7exception@std@@6B@ DD FLAT:??_R4exception@std@@6B@ ; std::exception::`vftable' |
| DD FLAT:??_Eexception@std@@UAEPAXI@Z |
| DD FLAT:?what@exception@std@@UBEPBDXZ |
| CONST ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z$0 |
| __unwindtable$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z$2 |
| __ehfuncinfo$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z |
| DD 01H |
| DD FLAT:__tryblocktable$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z$0 |
| __unwindtable$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z$2 |
| __ehfuncinfo$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z |
| DD 01H |
| DD FLAT:__tryblocktable$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z$0 |
| __unwindtable$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z$2 |
| __ehfuncinfo$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z |
| DD 01H |
| DD FLAT:__tryblocktable$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$0 |
| __unwindtable$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$2 |
| __ehfuncinfo$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z |
| DD 01H |
| DD FLAT:__tryblocktable$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$0 |
| __unwindtable$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$2 |
| __ehfuncinfo$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| DD 01H |
| DD FLAT:__tryblocktable$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$0 |
| __unwindtable$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$2 |
| __ehfuncinfo$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| DD 01H |
| DD FLAT:__tryblocktable$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$0 |
| __unwindtable$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$2 |
| __ehfuncinfo$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z |
| DD 01H |
| DD FLAT:__tryblocktable$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z$2 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z$0 |
| __unwindtable$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| __tryblocktable$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z DD 00H |
| DD 00H |
| DD 01H |
| DD 01H |
| DD FLAT:__catchsym$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z$2 |
| __ehfuncinfo$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z DD 019930522H |
| DD 02H |
| DD FLAT:__unwindtable$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z |
| DD 01H |
| DD FLAT:__tryblocktable$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| xdata$x ENDS |
| ; COMDAT xdata$x |
| xdata$x SEGMENT |
| __catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$5 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$0 |
| __catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$4 DD 00H |
| DD 00H |
| DD 00H |
| DD FLAT:__catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$1 |
| __unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z DD 0ffffffffH |
| DD 00H |
| DD 0ffffffffH |
| DD 00H |
| DD 01H |
| DD 00H |
| DD 01H |
| DD 00H |
| __ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z DD 019930522H |
| DD 04H |
| DD FLAT:__unwindtable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z |
| DD 02H |
| DD FLAT:__tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z |
| DD 2 DUP(00H) |
| DD 00H |
| DD 00H |
| __tryblocktable$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z DD 02H |
| DD 02H |
| DD 03H |
| DD 01H |
| DD FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$4 |
| DD 00H |
| DD 00H |
| DD 03H |
| DD 01H |
| DD FLAT:__catchsym$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$5 |
| xdata$x ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_memmove@PADPAD@std@@YAPADPAD00@Z |
| _TEXT SEGMENT |
| __Last_ch$ = -16 ; size = 4 |
| __Count$ = -12 ; size = 4 |
| __Dest_ch$ = -8 ; size = 4 |
| __First_ch$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ??$_Copy_memmove@PADPAD@std@@YAPADPAD00@Z PROC ; std::_Copy_memmove<char *,char *>, COMDAT |
| |
| ; 2251 : { // implement copy-like function as memmove |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 2252 : const char * const _First_ch = reinterpret_cast<const char *>(_First); |
| |
| 00006 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00009 89 45 fc mov DWORD PTR __First_ch$[ebp], eax |
| |
| ; 2253 : const char * const _Last_ch = reinterpret_cast<const char *>(_Last); |
| |
| 0000c 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000f 89 4d f0 mov DWORD PTR __Last_ch$[ebp], ecx |
| |
| ; 2254 : char * const _Dest_ch = reinterpret_cast<char *>(_Dest); |
| |
| 00012 8b 55 10 mov edx, DWORD PTR __Dest$[ebp] |
| 00015 89 55 f8 mov DWORD PTR __Dest_ch$[ebp], edx |
| |
| ; 2255 : const size_t _Count = _Last_ch - _First_ch; |
| |
| 00018 8b 45 f0 mov eax, DWORD PTR __Last_ch$[ebp] |
| 0001b 2b 45 fc sub eax, DWORD PTR __First_ch$[ebp] |
| 0001e 89 45 f4 mov DWORD PTR __Count$[ebp], eax |
| |
| ; 2256 : _CSTD memmove(_Dest_ch, _First_ch, _Count); |
| |
| 00021 8b 4d f4 mov ecx, DWORD PTR __Count$[ebp] |
| 00024 51 push ecx |
| 00025 8b 55 fc mov edx, DWORD PTR __First_ch$[ebp] |
| 00028 52 push edx |
| 00029 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 0002c 50 push eax |
| 0002d e8 00 00 00 00 call _memmove |
| 00032 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2257 : return (reinterpret_cast<_OutIt>(_Dest_ch + _Count)); |
| |
| 00035 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 00038 03 45 f4 add eax, DWORD PTR __Count$[ebp] |
| |
| ; 2258 : } |
| |
| 0003b 8b e5 mov esp, ebp |
| 0003d 5d pop ebp |
| 0003e c3 ret 0 |
| ??$_Copy_memmove@PADPAD@std@@YAPADPAD00@Z ENDP ; std::_Copy_memmove<char *,char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_memmove@PBDPAD@std@@YAPADPBD0PAD@Z |
| _TEXT SEGMENT |
| __Last_ch$ = -16 ; size = 4 |
| __Count$ = -12 ; size = 4 |
| __Dest_ch$ = -8 ; size = 4 |
| __First_ch$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ??$_Copy_memmove@PBDPAD@std@@YAPADPBD0PAD@Z PROC ; std::_Copy_memmove<char const *,char *>, COMDAT |
| |
| ; 2251 : { // implement copy-like function as memmove |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 2252 : const char * const _First_ch = reinterpret_cast<const char *>(_First); |
| |
| 00006 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00009 89 45 fc mov DWORD PTR __First_ch$[ebp], eax |
| |
| ; 2253 : const char * const _Last_ch = reinterpret_cast<const char *>(_Last); |
| |
| 0000c 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000f 89 4d f0 mov DWORD PTR __Last_ch$[ebp], ecx |
| |
| ; 2254 : char * const _Dest_ch = reinterpret_cast<char *>(_Dest); |
| |
| 00012 8b 55 10 mov edx, DWORD PTR __Dest$[ebp] |
| 00015 89 55 f8 mov DWORD PTR __Dest_ch$[ebp], edx |
| |
| ; 2255 : const size_t _Count = _Last_ch - _First_ch; |
| |
| 00018 8b 45 f0 mov eax, DWORD PTR __Last_ch$[ebp] |
| 0001b 2b 45 fc sub eax, DWORD PTR __First_ch$[ebp] |
| 0001e 89 45 f4 mov DWORD PTR __Count$[ebp], eax |
| |
| ; 2256 : _CSTD memmove(_Dest_ch, _First_ch, _Count); |
| |
| 00021 8b 4d f4 mov ecx, DWORD PTR __Count$[ebp] |
| 00024 51 push ecx |
| 00025 8b 55 fc mov edx, DWORD PTR __First_ch$[ebp] |
| 00028 52 push edx |
| 00029 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 0002c 50 push eax |
| 0002d e8 00 00 00 00 call _memmove |
| 00032 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2257 : return (reinterpret_cast<_OutIt>(_Dest_ch + _Count)); |
| |
| 00035 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 00038 03 45 f4 add eax, DWORD PTR __Count$[ebp] |
| |
| ; 2258 : } |
| |
| 0003b 8b e5 mov esp, ebp |
| 0003d 5d pop ebp |
| 0003e c3 ret 0 |
| ??$_Copy_memmove@PBDPAD@std@@YAPADPBD0PAD@Z ENDP ; std::_Copy_memmove<char const *,char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy_al_unchecked1@DD@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 4 |
| ___formal$ = 24 ; size = 1 |
| ??$_Uninitialized_copy_al_unchecked1@DD@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z PROC ; std::_Uninitialized_copy_al_unchecked1<char,char>, COMDAT |
| |
| ; 284 : { // copy [_First, _Last) to raw _Dest, using std::allocator, memmove optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 285 : return (_Copy_memmove(_First, _Last, _Dest)); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0000e 52 push edx |
| 0000f e8 00 00 00 00 call ??$_Copy_memmove@PADPAD@std@@YAPADPAD00@Z ; std::_Copy_memmove<char *,char *> |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 286 : } |
| |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$_Uninitialized_copy_al_unchecked1@DD@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ENDP ; std::_Uninitialized_copy_al_unchecked1<char,char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Ptr_copy_cat@DD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAD0@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 4 |
| ??$_Ptr_copy_cat@DD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAD0@Z PROC ; std::_Ptr_copy_cat<char,char>, COMDAT |
| |
| ; 708 : { // return pointer copy optimization category for pointers |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 709 : return {}; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 710 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Ptr_copy_cat@DD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAD0@Z ENDP ; std::_Ptr_copy_cat<char,char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy_al_unchecked1@$$CBDD@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 4 |
| ___formal$ = 24 ; size = 1 |
| ??$_Uninitialized_copy_al_unchecked1@$$CBDD@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z PROC ; std::_Uninitialized_copy_al_unchecked1<char const ,char>, COMDAT |
| |
| ; 284 : { // copy [_First, _Last) to raw _Dest, using std::allocator, memmove optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 285 : return (_Copy_memmove(_First, _Last, _Dest)); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0000e 52 push edx |
| 0000f e8 00 00 00 00 call ??$_Copy_memmove@PBDPAD@std@@YAPADPBD0PAD@Z ; std::_Copy_memmove<char const *,char *> |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 286 : } |
| |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$_Uninitialized_copy_al_unchecked1@$$CBDD@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ENDP ; std::_Uninitialized_copy_al_unchecked1<char const ,char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Ptr_copy_cat@$$CBDD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQBDABQAD@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 4 |
| ??$_Ptr_copy_cat@$$CBDD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQBDABQAD@Z PROC ; std::_Ptr_copy_cat<char const ,char>, COMDAT |
| |
| ; 708 : { // return pointer copy optimization category for pointers |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 709 : return {}; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 710 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Ptr_copy_cat@$$CBDD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQBDABQAD@Z ENDP ; std::_Ptr_copy_cat<char const ,char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy_al_unchecked@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_copy_al_unchecked@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z PROC ; std::_Uninitialized_copy_al_unchecked<char *,char *,std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 293 : { // copy [_First, _Last) to raw _Dest, using _Al, choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 294 : return (_Uninitialized_copy_al_unchecked1(_First, _Last, _Dest, _Al, |
| |
| 00004 8d 45 10 lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c 8d 55 ff lea edx, DWORD PTR $T1[ebp] |
| 0000f 52 push edx |
| 00010 e8 00 00 00 00 call ??$_Ptr_copy_cat@DD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAD0@Z ; std::_Ptr_copy_cat<char,char> |
| 00015 83 c4 0c add esp, 12 ; 0000000cH |
| 00018 8a 00 mov al, BYTE PTR [eax] |
| 0001a 0f b6 c8 movzx ecx, al |
| 0001d 51 push ecx |
| 0001e 8b 55 14 mov edx, DWORD PTR __Al$[ebp] |
| 00021 52 push edx |
| 00022 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00025 50 push eax |
| 00026 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00029 51 push ecx |
| 0002a 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0002d 52 push edx |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_copy_al_unchecked1@DD@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_copy_al_unchecked1<char,char> |
| 00033 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 295 : _Ptr_copy_cat(_First, _Dest))); |
| ; 296 : } |
| |
| 00036 8b e5 mov esp, ebp |
| 00038 5d pop ebp |
| 00039 c3 ret 0 |
| ??$_Uninitialized_copy_al_unchecked@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ENDP ; std::_Uninitialized_copy_al_unchecked<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z |
| _TEXT SEGMENT |
| __Dest$ = 8 ; size = 4 |
| __Src$ = 12 ; size = 4 |
| ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z PROC ; std::_Rechecked<char *,char *>, COMDAT |
| |
| ; 465 : { // reset checked from unchecked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 466 : _Dest = _Src; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Src$[ebp] |
| 00009 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 467 : return (_Dest); |
| |
| 0000b 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| |
| ; 468 : } |
| |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z ENDP ; std::_Rechecked<char *,char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy_al_unchecked@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_copy_al_unchecked@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z PROC ; std::_Uninitialized_copy_al_unchecked<char const *,char *,std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 293 : { // copy [_First, _Last) to raw _Dest, using _Al, choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 294 : return (_Uninitialized_copy_al_unchecked1(_First, _Last, _Dest, _Al, |
| |
| 00004 8d 45 10 lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c 8d 55 ff lea edx, DWORD PTR $T1[ebp] |
| 0000f 52 push edx |
| 00010 e8 00 00 00 00 call ??$_Ptr_copy_cat@$$CBDD@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQBDABQAD@Z ; std::_Ptr_copy_cat<char const ,char> |
| 00015 83 c4 0c add esp, 12 ; 0000000cH |
| 00018 8a 00 mov al, BYTE PTR [eax] |
| 0001a 0f b6 c8 movzx ecx, al |
| 0001d 51 push ecx |
| 0001e 8b 55 14 mov edx, DWORD PTR __Al$[ebp] |
| 00021 52 push edx |
| 00022 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00025 50 push eax |
| 00026 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00029 51 push ecx |
| 0002a 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0002d 52 push edx |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_copy_al_unchecked1@$$CBDD@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_copy_al_unchecked1<char const ,char> |
| 00033 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 295 : _Ptr_copy_cat(_First, _Dest))); |
| ; 296 : } |
| |
| 00036 8b e5 mov esp, ebp |
| 00038 5d pop ebp |
| 00039 c3 ret 0 |
| ??$_Uninitialized_copy_al_unchecked@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ENDP ; std::_Uninitialized_copy_al_unchecked<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_copy@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z PROC ; std::_Uninitialized_copy<char *,char *,std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 303 : { // copy [_First, _Last) to raw _Dest, using _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 304 : // note: only called internally from elsewhere in the STL, debug checks |
| ; 305 : // and deprecation warnings omitted |
| ; 306 : return (_Rechecked(_Dest, |
| |
| 00003 8b 45 14 mov eax, DWORD PTR __Al$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 10 mov ecx, DWORD PTR __Dest$[ebp] |
| 0000a 51 push ecx |
| 0000b e8 00 00 00 00 call ??$_Unchecked@PAD@std@@YAPADPAD@Z ; std::_Unchecked<char *> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00017 52 push edx |
| 00018 e8 00 00 00 00 call ??$_Unchecked@PAD@std@@YAPADPAD@Z ; std::_Unchecked<char *> |
| 0001d 83 c4 04 add esp, 4 |
| 00020 50 push eax |
| 00021 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00024 50 push eax |
| 00025 e8 00 00 00 00 call ??$_Unchecked@PAD@std@@YAPADPAD@Z ; std::_Unchecked<char *> |
| 0002a 83 c4 04 add esp, 4 |
| 0002d 50 push eax |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_copy_al_unchecked@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy_al_unchecked<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| 00033 83 c4 10 add esp, 16 ; 00000010H |
| 00036 50 push eax |
| 00037 8d 4d 10 lea ecx, DWORD PTR __Dest$[ebp] |
| 0003a 51 push ecx |
| 0003b e8 00 00 00 00 call ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z ; std::_Rechecked<char *,char *> |
| 00040 83 c4 08 add esp, 8 |
| 00043 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 307 : _Uninitialized_copy_al_unchecked(_Unchecked(_First), _Unchecked(_Last), |
| ; 308 : _Unchecked(_Dest), _Al))); |
| ; 309 : } |
| |
| 00045 5d pop ebp |
| 00046 c3 ret 0 |
| ??$_Uninitialized_copy@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ENDP ; std::_Uninitialized_copy<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Distance2@PADH@std@@YAXPAD0AAHUrandom_access_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Off$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 1 |
| ??$_Distance2@PADH@std@@YAXPAD0AAHUrandom_access_iterator_tag@0@@Z PROC ; std::_Distance2<char *,int>, COMDAT |
| |
| ; 1049 : { // add to _Off distance between random-access iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1050 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1051 : if (_First != _Last) |
| ; 1052 : { // check for null pointers |
| ; 1053 : _DEBUG_POINTER(_First); |
| ; 1054 : _DEBUG_POINTER(_Last); |
| ; 1055 : } |
| ; 1056 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1057 : |
| ; 1058 : _Off += _Last - _First; |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00006 2b 45 08 sub eax, DWORD PTR __First$[ebp] |
| 00009 8b 4d 10 mov ecx, DWORD PTR __Off$[ebp] |
| 0000c 03 01 add eax, DWORD PTR [ecx] |
| 0000e 8b 55 10 mov edx, DWORD PTR __Off$[ebp] |
| 00011 89 02 mov DWORD PTR [edx], eax |
| |
| ; 1059 : } |
| |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ??$_Distance2@PADH@std@@YAXPAD0AAHUrandom_access_iterator_tag@0@@Z ENDP ; std::_Distance2<char *,int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_copy@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_copy@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z PROC ; std::_Uninitialized_copy<char const *,char *,std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 303 : { // copy [_First, _Last) to raw _Dest, using _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 304 : // note: only called internally from elsewhere in the STL, debug checks |
| ; 305 : // and deprecation warnings omitted |
| ; 306 : return (_Rechecked(_Dest, |
| |
| 00003 8b 45 14 mov eax, DWORD PTR __Al$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 10 mov ecx, DWORD PTR __Dest$[ebp] |
| 0000a 51 push ecx |
| 0000b e8 00 00 00 00 call ??$_Unchecked@PAD@std@@YAPADPAD@Z ; std::_Unchecked<char *> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00017 52 push edx |
| 00018 e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 0001d 83 c4 04 add esp, 4 |
| 00020 50 push eax |
| 00021 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00024 50 push eax |
| 00025 e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 0002a 83 c4 04 add esp, 4 |
| 0002d 50 push eax |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_copy_al_unchecked@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy_al_unchecked<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| 00033 83 c4 10 add esp, 16 ; 00000010H |
| 00036 50 push eax |
| 00037 8d 4d 10 lea ecx, DWORD PTR __Dest$[ebp] |
| 0003a 51 push ecx |
| 0003b e8 00 00 00 00 call ??$_Rechecked@PADPAD@std@@YAAAPADAAPADPAD@Z ; std::_Rechecked<char *,char *> |
| 00040 83 c4 08 add esp, 8 |
| 00043 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 307 : _Uninitialized_copy_al_unchecked(_Unchecked(_First), _Unchecked(_Last), |
| ; 308 : _Unchecked(_Dest), _Al))); |
| ; 309 : } |
| |
| 00045 5d pop ebp |
| 00046 c3 ret 0 |
| ??$_Uninitialized_copy@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ENDP ; std::_Uninitialized_copy<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Distance2@PBDH@std@@YAXPBD0AAHUrandom_access_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Off$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 1 |
| ??$_Distance2@PBDH@std@@YAXPBD0AAHUrandom_access_iterator_tag@0@@Z PROC ; std::_Distance2<char const *,int>, COMDAT |
| |
| ; 1049 : { // add to _Off distance between random-access iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1050 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1051 : if (_First != _Last) |
| ; 1052 : { // check for null pointers |
| ; 1053 : _DEBUG_POINTER(_First); |
| ; 1054 : _DEBUG_POINTER(_Last); |
| ; 1055 : } |
| ; 1056 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1057 : |
| ; 1058 : _Off += _Last - _First; |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00006 2b 45 08 sub eax, DWORD PTR __First$[ebp] |
| 00009 8b 4d 10 mov ecx, DWORD PTR __Off$[ebp] |
| 0000c 03 01 add eax, DWORD PTR [ecx] |
| 0000e 8b 55 10 mov edx, DWORD PTR __Off$[ebp] |
| 00011 89 02 mov DWORD PTR [edx], eax |
| |
| ; 1059 : } |
| |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ??$_Distance2@PBDH@std@@YAXPBD0AAHUrandom_access_iterator_tag@0@@Z ENDP ; std::_Distance2<char const *,int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@D@?$allocator@D@std@@QAEXPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@D@?$allocator@D@std@@QAEXPAD@Z PROC ; std::allocator<char>::destroy<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 643 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 644 : _Ptr->~_Uty(); |
| ; 645 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ??$destroy@D@?$allocator@D@std@@QAEXPAD@Z ENDP ; std::allocator<char>::destroy<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Ucopy@PAD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPAD00@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Ptr$ = 16 ; size = 4 |
| ??$_Ucopy@PAD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPAD00@Z PROC ; std::vector<char,std::allocator<char> >::_Ucopy<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1674 : { // copy initializing [_First, _Last), using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1675 : return (_Uninitialized_copy(_First, _Last, |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 10 mov eax, DWORD PTR __Ptr$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$_Uninitialized_copy@PADPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPAD00AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy<char *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| 00021 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1676 : _Ptr, this->_Getal())); |
| ; 1677 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 0c 00 ret 12 ; 0000000cH |
| ??$_Ucopy@PAD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPAD00@Z ENDP ; std::vector<char,std::allocator<char> >::_Ucopy<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$distance@PAD@std@@YAHPAD0@Z |
| _TEXT SEGMENT |
| __Off$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$distance@PAD@std@@YAHPAD0@Z PROC ; std::distance<char *>, COMDAT |
| |
| ; 1064 : { // return distance between iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| |
| ; 1065 : typename iterator_traits<_InIt>::difference_type _Off = 0; |
| |
| 00006 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR __Off$[ebp], 0 |
| |
| ; 1066 : _Distance2(_First, _Last, _Off, _Iter_cat(_First)); |
| |
| 0000d 8d 45 08 lea eax, DWORD PTR __First$[ebp] |
| 00010 50 push eax |
| 00011 8d 4d ff lea ecx, DWORD PTR $T1[ebp] |
| 00014 51 push ecx |
| 00015 e8 00 00 00 00 call ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z ; std::_Iter_cat<char *> |
| 0001a 83 c4 08 add esp, 8 |
| 0001d 8a 10 mov dl, BYTE PTR [eax] |
| 0001f 0f b6 c2 movzx eax, dl |
| 00022 50 push eax |
| 00023 8d 4d f8 lea ecx, DWORD PTR __Off$[ebp] |
| 00026 51 push ecx |
| 00027 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 0002a 52 push edx |
| 0002b 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0002e 50 push eax |
| 0002f e8 00 00 00 00 call ??$_Distance2@PADH@std@@YAXPAD0AAHUrandom_access_iterator_tag@0@@Z ; std::_Distance2<char *,int> |
| 00034 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1067 : return (_Off); |
| |
| 00037 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| |
| ; 1068 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c3 ret 0 |
| ??$distance@PAD@std@@YAHPAD0@Z ENDP ; std::distance<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Ucopy@PBD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPBD0PAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Ptr$ = 16 ; size = 4 |
| ??$_Ucopy@PBD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPBD0PAD@Z PROC ; std::vector<char,std::allocator<char> >::_Ucopy<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1674 : { // copy initializing [_First, _Last), using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1675 : return (_Uninitialized_copy(_First, _Last, |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 10 mov eax, DWORD PTR __Ptr$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$_Uninitialized_copy@PBDPADU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAPADPBD0PADAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Uninitialized_copy<char const *,char *,std::_Wrap_alloc<std::allocator<char> > > |
| 00021 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1676 : _Ptr, this->_Getal())); |
| ; 1677 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 0c 00 ret 12 ; 0000000cH |
| ??$_Ucopy@PBD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPBD0PAD@Z ENDP ; std::vector<char,std::allocator<char> >::_Ucopy<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$distance@PBD@std@@YAHPBD0@Z |
| _TEXT SEGMENT |
| __Off$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$distance@PBD@std@@YAHPBD0@Z PROC ; std::distance<char const *>, COMDAT |
| |
| ; 1064 : { // return distance between iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| |
| ; 1065 : typename iterator_traits<_InIt>::difference_type _Off = 0; |
| |
| 00006 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR __Off$[ebp], 0 |
| |
| ; 1066 : _Distance2(_First, _Last, _Off, _Iter_cat(_First)); |
| |
| 0000d 8d 45 08 lea eax, DWORD PTR __First$[ebp] |
| 00010 50 push eax |
| 00011 8d 4d ff lea ecx, DWORD PTR $T1[ebp] |
| 00014 51 push ecx |
| 00015 e8 00 00 00 00 call ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *> |
| 0001a 83 c4 08 add esp, 8 |
| 0001d 8a 10 mov dl, BYTE PTR [eax] |
| 0001f 0f b6 c2 movzx eax, dl |
| 00022 50 push eax |
| 00023 8d 4d f8 lea ecx, DWORD PTR __Off$[ebp] |
| 00026 51 push ecx |
| 00027 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 0002a 52 push edx |
| 0002b 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0002e 50 push eax |
| 0002f e8 00 00 00 00 call ??$_Distance2@PBDH@std@@YAXPBD0AAHUrandom_access_iterator_tag@0@@Z ; std::_Distance2<char const *,int> |
| 00034 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1067 : return (_Off); |
| |
| 00037 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| |
| ; 1068 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c3 ret 0 |
| ??$distance@PBD@std@@YAHPBD0@Z ENDP ; std::distance<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@D@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAD@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| __Ptr$ = 12 ; size = 4 |
| ??$destroy@D@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAD@Z PROC ; std::allocator_traits<std::allocator<char> >::destroy<char>, COMDAT |
| |
| ; 761 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 762 : _Al.destroy(_Ptr); |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Ptr$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 0000a e8 00 00 00 00 call ??$destroy@D@?$allocator@D@std@@QAEXPAD@Z ; std::allocator<char>::destroy<char> |
| |
| ; 763 : } |
| |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ??$destroy@D@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAD@Z ENDP ; std::allocator_traits<std::allocator<char> >::destroy<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z |
| _TEXT SEGMENT |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 1 |
| ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z PROC ; std::vector<char,std::allocator<char> >::_Construct<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 817 : { // initialize with [_First, _Last), forward iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 51 push ecx |
| 00013 53 push ebx |
| 00014 56 push esi |
| 00015 57 push edi |
| 00016 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001b 33 c5 xor eax, ebp |
| 0001d 50 push eax |
| 0001e 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00021 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00027 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002a 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 818 : if (_Buy(_STD distance(_First, _Last))) |
| |
| 0002d 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00030 50 push eax |
| 00031 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00034 51 push ecx |
| 00035 e8 00 00 00 00 call ??$distance@PAD@std@@YAHPAD0@Z ; std::distance<char *> |
| 0003a 83 c4 08 add esp, 8 |
| 0003d 50 push eax |
| 0003e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z ; std::vector<char,std::allocator<char> >::_Buy |
| 00046 0f b6 d0 movzx edx, al |
| 00049 85 d2 test edx, edx |
| 0004b 74 57 je SHORT $LN4@Construct |
| |
| ; 819 : { // nonzero, fill it |
| ; 820 : _TRY_BEGIN |
| |
| 0004d c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 821 : this->_Mylast() = _Ucopy(_First, _Last, this->_Myfirst()); |
| |
| 00054 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00057 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 0005c 8b 00 mov eax, DWORD PTR [eax] |
| 0005e 50 push eax |
| 0005f 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00062 51 push ecx |
| 00063 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00066 52 push edx |
| 00067 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0006a e8 00 00 00 00 call ??$_Ucopy@PAD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPAD00@Z ; std::vector<char,std::allocator<char> >::_Ucopy<char *> |
| 0006f 8b f0 mov esi, eax |
| 00071 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00074 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00079 89 30 mov DWORD PTR [eax], esi |
| 0007b eb 17 jmp SHORT $LN5@Construct |
| __catch$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z$0: |
| |
| ; 822 : _CATCH_ALL |
| ; 823 : _Tidy(); |
| |
| 0007d 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00080 e8 00 00 00 00 call ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ ; std::vector<char,std::allocator<char> >::_Tidy |
| |
| ; 824 : _RERAISE; |
| |
| 00085 6a 00 push 0 |
| 00087 6a 00 push 0 |
| 00089 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 825 : _CATCH_END |
| |
| 0008e b8 00 00 00 00 mov eax, $LN8@Construct |
| 00093 c3 ret 0 |
| $LN5@Construct: |
| 00094 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0009b eb 07 jmp SHORT $LN4@Construct |
| $LN8@Construct: |
| 0009d c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| $LN4@Construct: |
| |
| ; 826 : } |
| ; 827 : } |
| |
| 000a4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 000a7 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 000ae 59 pop ecx |
| 000af 5f pop edi |
| 000b0 5e pop esi |
| 000b1 5b pop ebx |
| 000b2 8b e5 mov esp, ebp |
| 000b4 5d pop ebp |
| 000b5 c2 0c 00 ret 12 ; 0000000cH |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e8 mov ecx, DWORD PTR [edx-24] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z ENDP ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z |
| _TEXT SEGMENT |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 1 |
| ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z PROC ; std::vector<char,std::allocator<char> >::_Construct<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 817 : { // initialize with [_First, _Last), forward iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 51 push ecx |
| 00013 53 push ebx |
| 00014 56 push esi |
| 00015 57 push edi |
| 00016 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001b 33 c5 xor eax, ebp |
| 0001d 50 push eax |
| 0001e 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00021 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00027 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002a 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 818 : if (_Buy(_STD distance(_First, _Last))) |
| |
| 0002d 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00030 50 push eax |
| 00031 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00034 51 push ecx |
| 00035 e8 00 00 00 00 call ??$distance@PBD@std@@YAHPBD0@Z ; std::distance<char const *> |
| 0003a 83 c4 08 add esp, 8 |
| 0003d 50 push eax |
| 0003e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z ; std::vector<char,std::allocator<char> >::_Buy |
| 00046 0f b6 d0 movzx edx, al |
| 00049 85 d2 test edx, edx |
| 0004b 74 57 je SHORT $LN4@Construct |
| |
| ; 819 : { // nonzero, fill it |
| ; 820 : _TRY_BEGIN |
| |
| 0004d c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 821 : this->_Mylast() = _Ucopy(_First, _Last, this->_Myfirst()); |
| |
| 00054 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00057 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 0005c 8b 00 mov eax, DWORD PTR [eax] |
| 0005e 50 push eax |
| 0005f 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00062 51 push ecx |
| 00063 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00066 52 push edx |
| 00067 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0006a e8 00 00 00 00 call ??$_Ucopy@PBD@?$vector@DV?$allocator@D@std@@@std@@IAEPADPBD0PAD@Z ; std::vector<char,std::allocator<char> >::_Ucopy<char const *> |
| 0006f 8b f0 mov esi, eax |
| 00071 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00074 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00079 89 30 mov DWORD PTR [eax], esi |
| 0007b eb 17 jmp SHORT $LN5@Construct |
| __catch$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z$0: |
| |
| ; 822 : _CATCH_ALL |
| ; 823 : _Tidy(); |
| |
| 0007d 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00080 e8 00 00 00 00 call ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ ; std::vector<char,std::allocator<char> >::_Tidy |
| |
| ; 824 : _RERAISE; |
| |
| 00085 6a 00 push 0 |
| 00087 6a 00 push 0 |
| 00089 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 825 : _CATCH_END |
| |
| 0008e b8 00 00 00 00 mov eax, $LN8@Construct |
| 00093 c3 ret 0 |
| $LN5@Construct: |
| 00094 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0009b eb 07 jmp SHORT $LN4@Construct |
| $LN8@Construct: |
| 0009d c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| $LN4@Construct: |
| |
| ; 826 : } |
| ; 827 : } |
| |
| 000a4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 000a7 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 000ae 59 pop ecx |
| 000af 5f pop edi |
| 000b0 5e pop esi |
| 000b1 5b pop ebx |
| 000b2 8b e5 mov esp, ebp |
| 000b4 5d pop ebp |
| 000b5 c2 0c 00 ret 12 ; 0000000cH |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e8 mov ecx, DWORD PTR [edx-24] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z ENDP ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1><>, COMDAT |
| ; _this$ = ecx |
| |
| ; 279 : { // construct from forwarded values |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 278 : : _Ty1(), _Myval2(_STD forward<_Other2>(_Val2)...) |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_Vector_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ; std::_Vector_val<std::_Simple_types<char> >::_Vector_val<std::_Simple_types<char> > |
| |
| ; 280 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 04 00 ret 4 |
| ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1><> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@D@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@D@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAD@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::destroy<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 900 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 901 : _Mytraits::destroy(*this, _Ptr); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e 51 push ecx |
| 0000f e8 00 00 00 00 call ??$destroy@D@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAD@Z ; std::allocator_traits<std::allocator<char> >::destroy<char> |
| 00014 83 c4 08 add esp, 8 |
| |
| ; 902 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ??$destroy@D@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAD@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::destroy<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0U?$integral_constant@_N$00@0@@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 1 |
| ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0U?$integral_constant@_N$00@0@@Z PROC ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 949 : { // propagate on container move assignment |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 950 : _Left = _STD move(_Right); |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Right$[ebp] |
| 00006 50 push eax |
| 00007 e8 00 00 00 00 call ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| 0000c 83 c4 04 add esp, 4 |
| 0000f 50 push eax |
| 00010 8b 4d 08 mov ecx, DWORD PTR __Left$[ebp] |
| 00013 e8 00 00 00 00 call ??4?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEAAU01@$$QAU01@@Z ; std::_Wrap_alloc<std::allocator<char> >::operator= |
| |
| ; 951 : } |
| |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0U?$integral_constant@_N$00@0@@Z ENDP ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -2 ; size = 1 |
| $T2 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0@Z PROC ; std::vector<char,std::allocator<char> >::_Construct<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 795 : { // initialize with [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 796 : _Construct(_First, _Last, _Iter_cat(_First)); |
| |
| 00009 8d 45 08 lea eax, DWORD PTR __First$[ebp] |
| 0000c 50 push eax |
| 0000d 8d 4d fe lea ecx, DWORD PTR $T1[ebp] |
| 00010 51 push ecx |
| 00011 e8 00 00 00 00 call ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z ; std::_Iter_cat<char *> |
| 00016 83 c4 08 add esp, 8 |
| 00019 8a 10 mov dl, BYTE PTR [eax] |
| 0001b 88 55 ff mov BYTE PTR $T2[ebp], dl |
| 0001e 0f b6 45 ff movzx eax, BYTE PTR $T2[ebp] |
| 00022 50 push eax |
| 00023 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00026 51 push ecx |
| 00027 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0002a 52 push edx |
| 0002b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0002e e8 00 00 00 00 call ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0Uforward_iterator_tag@1@@Z ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| |
| ; 797 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 08 00 ret 8 |
| ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0@Z ENDP ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -2 ; size = 1 |
| $T2 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0@Z PROC ; std::vector<char,std::allocator<char> >::_Construct<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 795 : { // initialize with [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 796 : _Construct(_First, _Last, _Iter_cat(_First)); |
| |
| 00009 8d 45 08 lea eax, DWORD PTR __First$[ebp] |
| 0000c 50 push eax |
| 0000d 8d 4d fe lea ecx, DWORD PTR $T1[ebp] |
| 00010 51 push ecx |
| 00011 e8 00 00 00 00 call ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *> |
| 00016 83 c4 08 add esp, 8 |
| 00019 8a 10 mov dl, BYTE PTR [eax] |
| 0001b 88 55 ff mov BYTE PTR $T2[ebp], dl |
| 0001e 0f b6 45 ff movzx eax, BYTE PTR $T2[ebp] |
| 00022 50 push eax |
| 00023 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00026 51 push ecx |
| 00027 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0002a 52 push edx |
| 0002b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0002e e8 00 00 00 00 call ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0Uforward_iterator_tag@1@@Z ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| |
| ; 797 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 08 00 ret 8 |
| ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0@Z ENDP ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXPAD0AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Al$ = 16 ; size = 4 |
| ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXPAD0AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z PROC ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 163 : { // destroy [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 164 : for (; _First != _Last; ++_First) |
| |
| 00003 eb 09 jmp SHORT $LN4@Destroy_ra |
| $LN2@Destroy_ra: |
| 00005 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00008 83 c0 01 add eax, 1 |
| 0000b 89 45 08 mov DWORD PTR __First$[ebp], eax |
| $LN4@Destroy_ra: |
| 0000e 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00011 3b 4d 0c cmp ecx, DWORD PTR __Last$[ebp] |
| 00014 74 17 je SHORT $LN1@Destroy_ra |
| |
| ; 165 : _Al.destroy(_STD addressof(*_First)); |
| |
| 00016 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00019 52 push edx |
| 0001a e8 00 00 00 00 call ??$addressof@D@std@@YAPADAAD@Z ; std::addressof<char> |
| 0001f 83 c4 04 add esp, 4 |
| 00022 50 push eax |
| 00023 8b 4d 10 mov ecx, DWORD PTR __Al$[ebp] |
| 00026 e8 00 00 00 00 call ??$destroy@D@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::destroy<char> |
| 0002b eb d8 jmp SHORT $LN2@Destroy_ra |
| $LN1@Destroy_ra: |
| |
| ; 166 : } |
| |
| 0002d 5d pop ebp |
| 0002e c3 ret 0 |
| ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXPAD0AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ENDP ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z |
| _TEXT SEGMENT |
| __Tag$ = -1 ; size = 1 |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z PROC ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 960 : { // (maybe) propagate on container move assignment |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 961 : typename _Alty::propagate_on_container_move_assignment _Tag; |
| ; 962 : _Pocma(_Left, _Right, _Tag); |
| |
| 00004 0f b6 45 ff movzx eax, BYTE PTR __Tag$[ebp] |
| 00008 50 push eax |
| 00009 8b 4d 0c mov ecx, DWORD PTR __Right$[ebp] |
| 0000c 51 push ecx |
| 0000d 8b 55 08 mov edx, DWORD PTR __Left$[ebp] |
| 00010 52 push edx |
| 00011 e8 00 00 00 00 call ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0U?$integral_constant@_N$00@0@@Z ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| 00016 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 963 : } |
| |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c3 ret 0 |
| ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ENDP ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??$assign@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 4 |
| $T2 = -16 ; size = 4 |
| $T3 = -12 ; size = 4 |
| $T4 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$assign@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign<std::_String_iterator<std::_String_val<std::_Simple_types<char> > > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1197 : { // assign [_First, _Last), input iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1198 : return (replace(begin(), end(), _First, _Last)); |
| |
| 00009 8d 45 f0 lea eax, DWORD PTR $T2[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::end |
| 00015 8b 08 mov ecx, DWORD PTR [eax] |
| 00017 89 4d f8 mov DWORD PTR $T4[ebp], ecx |
| 0001a 8d 55 ec lea edx, DWORD PTR $T1[ebp] |
| 0001d 52 push edx |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00026 8b 00 mov eax, DWORD PTR [eax] |
| 00028 89 45 f4 mov DWORD PTR $T3[ebp], eax |
| 0002b 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0002e 51 push ecx |
| 0002f 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00032 52 push edx |
| 00033 8b 45 f8 mov eax, DWORD PTR $T4[ebp] |
| 00036 50 push eax |
| 00037 8b 4d f4 mov ecx, DWORD PTR $T3[ebp] |
| 0003a 51 push ecx |
| 0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003e e8 00 00 00 00 call ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@1@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| |
| ; 1199 : } |
| |
| 00043 8b e5 mov esp, ebp |
| 00045 5d pop ebp |
| 00046 c2 08 00 ret 8 |
| ??$assign@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign<std::_String_iterator<std::_String_val<std::_Simple_types<char> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| $T1 = -16 ; size = 8 |
| $T2 = -8 ; size = 8 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ___formal$ = 36 ; size = 1 |
| ??$_Copy_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z PROC ; std::_Copy_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2264 : { // copy [_First, _Last) to [_Dest, ...), arbitrary iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 2265 : for (; _First != _Last; ++_Dest, (void)++_First) |
| |
| 00006 eb 10 jmp SHORT $LN4@Copy_unche |
| $LN2@Copy_unche: |
| 00008 8d 4d 1c lea ecx, DWORD PTR __Dest$[ebp] |
| 0000b e8 00 00 00 00 call ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| 00010 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 00013 e8 00 00 00 00 call ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| $LN4@Copy_unche: |
| 00018 8d 45 14 lea eax, DWORD PTR __Last$[ebp] |
| 0001b 50 push eax |
| 0001c 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0001f e8 00 00 00 00 call ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| 00024 0f b6 c8 movzx ecx, al |
| 00027 85 c9 test ecx, ecx |
| 00029 74 22 je SHORT $LN3@Copy_unche |
| |
| ; 2266 : *_Dest = *_First; |
| |
| 0002b 8d 55 f8 lea edx, DWORD PTR $T2[ebp] |
| 0002e 52 push edx |
| 0002f 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 00032 e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 00037 50 push eax |
| 00038 8d 45 f0 lea eax, DWORD PTR $T1[ebp] |
| 0003b 50 push eax |
| 0003c 8d 4d 1c lea ecx, DWORD PTR __Dest$[ebp] |
| 0003f e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 00044 8b c8 mov ecx, eax |
| 00046 e8 00 00 00 00 call ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| 0004b eb bb jmp SHORT $LN2@Copy_unche |
| $LN3@Copy_unche: |
| |
| ; 2267 : return (_Dest); |
| |
| 0004d 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00050 8b 55 1c mov edx, DWORD PTR __Dest$[ebp] |
| 00053 89 11 mov DWORD PTR [ecx], edx |
| 00055 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 00058 89 41 04 mov DWORD PTR [ecx+4], eax |
| 0005b 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2268 : } |
| |
| 0005e 8b e5 mov esp, ebp |
| 00060 5d pop ebp |
| 00061 c3 ret 0 |
| ??$_Copy_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ENDP ; std::_Copy_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$?0PADX@?$vector@DV?$allocator@D@std@@@std@@QAE@PAD0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$?0PADX@?$vector@DV?$allocator@D@std@@@std@@QAE@PAD0@Z PROC ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char *,void>, COMDAT |
| ; _this$ = ecx |
| |
| ; 780 : { // construct from [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 779 : : _Mybase() |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > > |
| |
| ; 781 : _Construct(_First, _Last); |
| |
| 0000f 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00012 50 push eax |
| 00013 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00016 51 push ecx |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ??$_Construct@PAD@?$vector@DV?$allocator@D@std@@@std@@QAEXPAD0@Z ; std::vector<char,std::allocator<char> >::_Construct<char *> |
| |
| ; 782 : } |
| |
| 0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00022 8b e5 mov esp, ebp |
| 00024 5d pop ebp |
| 00025 c2 08 00 ret 8 |
| ??$?0PADX@?$vector@DV?$allocator@D@std@@@std@@QAE@PAD0@Z ENDP ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char *,void> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator*, COMDAT |
| ; _this$ = ecx |
| |
| ; 324 : { // return designated object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 325 : return ((reference)**(_Mybase *)this); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| |
| ; 326 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pvector$ = 12 ; size = 4 |
| ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 307 : { // construct with pointer _Parg |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 306 : : _Mybase(_Parg, _Pvector) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Pvector$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Parg$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| |
| ; 308 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 08 00 ret 8 |
| ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator*, COMDAT |
| ; _this$ = ecx |
| |
| ; 65 : { // return designated object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 66 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 67 : if (this->_Getcont() == 0 |
| ; 68 : || _Ptr == 0 |
| ; 69 : || _Ptr < ((_Myvec *)this->_Getcont())->_Myfirst |
| ; 70 : || ((_Myvec *)this->_Getcont())->_Mylast <= _Ptr) |
| ; 71 : { // report error |
| ; 72 : _DEBUG_ERROR("vector iterator not dereferencable"); |
| ; 73 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 74 : } |
| ; 75 : |
| ; 76 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 77 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0); |
| ; 78 : _SCL_SECURE_VALIDATE_RANGE( |
| ; 79 : _Ptr != _Tptr() |
| ; 80 : && ((_Myvec *)this->_Getcont())->_Myfirst <= _Ptr |
| ; 81 : && _Ptr < ((_Myvec *)this->_Getcont())->_Mylast); |
| ; 82 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 83 : |
| ; 84 : _Analysis_assume_(_Ptr != _Tptr()); |
| ; 85 : |
| ; 86 : return (*_Ptr); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 87 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??D?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pvector$ = 12 ; size = 4 |
| ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 47 : { // construct with pointer _Parg |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 46 : : _Ptr(_Parg) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Parg$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 48 : this->_Adopt(_Pvector); |
| |
| 0000f 8b 55 0c mov edx, DWORD PTR __Pvector$[ebp] |
| 00012 52 push edx |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt |
| |
| ; 49 : } |
| |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c2 08 00 ret 8 |
| ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$?0PBDX@?$vector@DV?$allocator@D@std@@@std@@QAE@PBD0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$?0PBDX@?$vector@DV?$allocator@D@std@@@std@@QAE@PBD0@Z PROC ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char const *,void>, COMDAT |
| ; _this$ = ecx |
| |
| ; 780 : { // construct from [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 779 : : _Mybase() |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > > |
| |
| ; 781 : _Construct(_First, _Last); |
| |
| 0000f 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00012 50 push eax |
| 00013 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00016 51 push ecx |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ??$_Construct@PBD@?$vector@DV?$allocator@D@std@@@std@@QAEXPBD0@Z ; std::vector<char,std::allocator<char> >::_Construct<char const *> |
| |
| ; 782 : } |
| |
| 0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00022 8b e5 mov esp, ebp |
| 00024 5d pop ebp |
| 00025 c2 08 00 ret 8 |
| ??$?0PBDX@?$vector@DV?$allocator@D@std@@@std@@QAE@PBD0@Z ENDP ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char const *,void> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Xlen@?$vector@DV?$allocator@D@std@@@std@@IBEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Xlen@?$vector@DV?$allocator@D@std@@@std@@IBEXXZ PROC ; std::vector<char,std::allocator<char> >::_Xlen, COMDAT |
| ; _this$ = ecx |
| |
| ; 1787 : { // report a length_error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1788 : _Xlength_error("vector<T> too long"); |
| |
| 00007 68 00 00 00 00 push OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ |
| 0000c e8 00 00 00 00 call ?_Xlength_error@std@@YAXPBD@Z ; std::_Xlength_error |
| $LN2@Xlen: |
| |
| ; 1789 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Xlen@?$vector@DV?$allocator@D@std@@@std@@IBEXXZ ENDP ; std::vector<char,std::allocator<char> >::_Xlen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ PROC ; std::vector<char,std::allocator<char> >::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1659 : { // free all storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1660 : if (this->_Myfirst() != pointer()) |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00010 83 38 00 cmp DWORD PTR [eax], 0 |
| 00013 0f 84 81 00 00 |
| 00 je $LN1@Tidy |
| |
| ; 1661 : { // something to free, destroy and deallocate it |
| ; 1662 : this->_Orphan_all(); |
| |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Orphan_all |
| |
| ; 1663 : _Destroy(this->_Myfirst(), this->_Mylast()); |
| |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00029 8b 00 mov eax, DWORD PTR [eax] |
| 0002b 50 push eax |
| 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002f e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00034 8b 08 mov ecx, DWORD PTR [eax] |
| 00036 51 push ecx |
| 00037 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003a e8 00 00 00 00 call ?_Destroy@?$vector@DV?$allocator@D@std@@@std@@IAEXPAD0@Z ; std::vector<char,std::allocator<char> >::_Destroy |
| |
| ; 1664 : this->_Getal().deallocate(this->_Myfirst(), |
| |
| 0003f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00042 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| 00047 8b f0 mov esi, eax |
| 00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004c e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00051 8b 16 mov edx, DWORD PTR [esi] |
| 00053 2b 10 sub edx, DWORD PTR [eax] |
| 00055 52 push edx |
| 00056 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00059 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 0005e 8b 00 mov eax, DWORD PTR [eax] |
| 00060 50 push eax |
| 00061 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00064 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 00069 8b c8 mov ecx, eax |
| 0006b e8 00 00 00 00 call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate |
| |
| ; 1665 : this->_Myend() - this->_Myfirst()); |
| ; 1666 : this->_Myfirst() = pointer(); |
| |
| 00070 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00073 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00078 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1667 : this->_Mylast() = pointer(); |
| |
| 0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00081 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00086 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1668 : this->_Myend() = pointer(); |
| |
| 0008c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008f e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| 00094 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| $LN1@Tidy: |
| |
| ; 1669 : } |
| ; 1670 : } |
| |
| 0009a 5e pop esi |
| 0009b 8b e5 mov esp, ebp |
| 0009d 5d pop ebp |
| 0009e c3 ret 0 |
| ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ ENDP ; std::vector<char,std::allocator<char> >::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Destroy@?$vector@DV?$allocator@D@std@@@std@@IAEXPAD0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?_Destroy@?$vector@DV?$allocator@D@std@@@std@@IAEXPAD0@Z PROC ; std::vector<char,std::allocator<char> >::_Destroy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1603 : { // destroy [_First, _Last) using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1604 : _Destroy_range(_First, _Last, this->_Getal()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00017 51 push ecx |
| 00018 e8 00 00 00 00 call ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXPAD0AAU?$_Wrap_alloc@V?$allocator@D@std@@@0@@Z ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<char> > > |
| 0001d 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1605 : } |
| |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c2 08 00 ret 8 |
| ?_Destroy@?$vector@DV?$allocator@D@std@@@std@@IAEXPAD0@Z ENDP ; std::vector<char,std::allocator<char> >::_Destroy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Capacity$ = 8 ; size = 4 |
| ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z PROC ; std::vector<char,std::allocator<char> >::_Buy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1584 : { // allocate array with _Capacity elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1585 : this->_Myfirst() = pointer(); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00010 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1586 : this->_Mylast() = pointer(); |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 0001e c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1587 : this->_Myend() = pointer(); |
| |
| 00024 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00027 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| 0002c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1588 : |
| ; 1589 : if (_Capacity == 0) |
| |
| 00032 83 7d 08 00 cmp DWORD PTR __Capacity$[ebp], 0 |
| 00036 75 06 jne SHORT $LN2@Buy |
| |
| ; 1590 : return (false); |
| |
| 00038 32 c0 xor al, al |
| 0003a eb 67 jmp SHORT $LN6@Buy |
| 0003c eb 63 jmp SHORT $LN3@Buy |
| $LN2@Buy: |
| |
| ; 1591 : else if (max_size() < _Capacity) |
| |
| 0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ?max_size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::max_size |
| 00046 3b 45 08 cmp eax, DWORD PTR __Capacity$[ebp] |
| 00049 73 0a jae SHORT $LN4@Buy |
| |
| ; 1592 : _Xlen(); // result too long |
| |
| 0004b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004e e8 00 00 00 00 call ?_Xlen@?$vector@DV?$allocator@D@std@@@std@@IBEXXZ ; std::vector<char,std::allocator<char> >::_Xlen |
| |
| ; 1593 : else |
| |
| 00053 eb 4c jmp SHORT $LN3@Buy |
| $LN4@Buy: |
| |
| ; 1594 : { // nonempty array, allocate storage |
| ; 1595 : this->_Myfirst() = this->_Getal().allocate(_Capacity); |
| |
| 00055 8b 45 08 mov eax, DWORD PTR __Capacity$[ebp] |
| 00058 50 push eax |
| 00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005c e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 00061 8b c8 mov ecx, eax |
| 00063 e8 00 00 00 00 call ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::allocate |
| 00068 8b f0 mov esi, eax |
| 0006a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006d e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00072 89 30 mov DWORD PTR [eax], esi |
| |
| ; 1596 : this->_Mylast() = this->_Myfirst(); |
| |
| 00074 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00077 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 0007c 8b f0 mov esi, eax |
| 0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00081 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00086 8b 0e mov ecx, DWORD PTR [esi] |
| 00088 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 1597 : this->_Myend() = this->_Myfirst() + _Capacity; |
| |
| 0008a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008d e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00092 8b 30 mov esi, DWORD PTR [eax] |
| 00094 03 75 08 add esi, DWORD PTR __Capacity$[ebp] |
| 00097 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009a e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| 0009f 89 30 mov DWORD PTR [eax], esi |
| $LN3@Buy: |
| |
| ; 1598 : } |
| ; 1599 : return (true); |
| |
| 000a1 b0 01 mov al, 1 |
| $LN6@Buy: |
| |
| ; 1600 : } |
| |
| 000a3 5e pop esi |
| 000a4 8b e5 mov esp, ebp |
| 000a6 5d pop ebp |
| 000a7 c2 04 00 ret 4 |
| ?_Buy@?$vector@DV?$allocator@D@std@@@std@@IAE_NI@Z ENDP ; std::vector<char,std::allocator<char> >::_Buy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?max_size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| ?max_size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ PROC ; std::vector<char,std::allocator<char> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1187 : { // return maximum possible length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1188 : return (this->_Getal().max_size()); |
| |
| 00009 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| 00016 8b c8 mov ecx, eax |
| 00018 e8 00 00 00 00 call ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<char> >::max_size |
| |
| ; 1189 : } |
| |
| 0001d 8b e5 mov esp, ebp |
| 0001f 5d pop ebp |
| 00020 c3 ret 0 |
| ?max_size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ENDP ; std::vector<char,std::allocator<char> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ PROC ; std::vector<char,std::allocator<char> >::size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1182 : { // return length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1183 : return (this->_Mylast() - this->_Myfirst()); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| 00010 8b f0 mov esi, eax |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 0001a 8b 0e mov ecx, DWORD PTR [esi] |
| 0001c 2b 08 sub ecx, DWORD PTR [eax] |
| 0001e 8b c1 mov eax, ecx |
| |
| ; 1184 : } |
| |
| 00020 5e pop esi |
| 00021 8b e5 mov esp, ebp |
| 00023 5d pop ebp |
| 00024 c3 ret 0 |
| ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ENDP ; std::vector<char,std::allocator<char> >::size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ PROC ; std::vector<char,std::allocator<char> >::begin, COMDAT |
| ; _this$ = ecx |
| |
| ; 1060 : { // return iterator for beginning of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1061 : return (iterator(this->_Myfirst(), &this->_Get_data())); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 50 push eax |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| 00018 8b 00 mov eax, DWORD PTR [eax] |
| 0001a 50 push eax |
| 0001b 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0001e e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > > |
| 00023 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1062 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ENDP ; std::vector<char,std::allocator<char> >::begin |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ PROC ; std::vector<char,std::allocator<char> >::~vector<char,std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 978 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 979 : _Tidy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Tidy@?$vector@DV?$allocator@D@std@@@std@@IAEXXZ ; std::vector<char,std::allocator<char> >::_Tidy |
| |
| ; 980 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ ENDP ; std::vector<char,std::allocator<char> >::~vector<char,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 318 : { // return const reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 319 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 320 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 313 : { // return reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 314 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 315 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 298 : { // return const reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 299 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 300 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 293 : { // return reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 294 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 295 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_val@U?$_Simple_types@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Vector_val@U?$_Simple_types@D@std@@@std@@QAE@XZ PROC ; std::_Vector_val<std::_Simple_types<char> >::_Vector_val<std::_Simple_types<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 478 : _Vector_val() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 479 : { // initialize values |
| ; 480 : _Myfirst = pointer(); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 481 : _Mylast = pointer(); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c7 41 04 00 00 |
| 00 00 mov DWORD PTR [ecx+4], 0 |
| |
| ; 482 : _Myend = pointer(); |
| |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d c7 42 08 00 00 |
| 00 00 mov DWORD PTR [edx+8], 0 |
| |
| ; 483 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ??0?$_Vector_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<std::_Simple_types<char> >::_Vector_val<std::_Simple_types<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend, COMDAT |
| ; _this$ = ecx |
| |
| ; 665 : { // return reference to _Myend |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 666 : return (_Get_data()._Myend); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 08 add eax, 8 |
| |
| ; 667 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myend |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast, COMDAT |
| ; _this$ = ecx |
| |
| ; 660 : { // return const reference to _Mylast |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 661 : return (_Get_data()._Mylast); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 04 add eax, 4 |
| |
| ; 662 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast, COMDAT |
| ; _this$ = ecx |
| |
| ; 655 : { // return reference to _Mylast |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 656 : return (_Get_data()._Mylast); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 04 add eax, 4 |
| |
| ; 657 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Mylast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst, COMDAT |
| ; _this$ = ecx |
| |
| ; 650 : { // return const reference to _Myfirst |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 651 : return (_Get_data()._Myfirst); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| |
| ; 652 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABQADXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst, COMDAT |
| ; _this$ = ecx |
| |
| ; 645 : { // return reference to _Myfirst |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 646 : return (_Get_data()._Myfirst); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| |
| ; 647 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAPADXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Myfirst |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 640 : { // return const reference to _Vector_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 641 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| |
| ; 642 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 635 : { // return reference to _Vector_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 636 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_second |
| |
| ; 637 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 630 : { // return const reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 631 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| |
| ; 632 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 625 : { // return reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 626 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Get_first |
| |
| ; 627 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Orphan_all, COMDAT |
| ; _this$ = ecx |
| |
| ; 615 : { // orphan all iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 616 : _Get_data()._Orphan_all(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 8b c8 mov ecx, eax |
| 00011 e8 00 00 00 00 call ?_Orphan_all@_Container_base0@std@@QAEXXZ ; std::_Container_base0::_Orphan_all |
| |
| ; 617 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Orphan_all |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 514 : { // default construct allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 513 : : _Mypair(_Zero_then_variadic_args_t()) |
| |
| 00009 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_Vector_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_Vector_val<std::_Simple_types<char> >,1><> |
| |
| ; 515 : } |
| |
| 00016 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c3 ret 0 |
| ??0?$_Vector_alloc@U?$_Vec_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > >::_Vector_alloc<std::_Vec_base_types<char,std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$_Insert@PBD@?$_Buf@D@std@@QAEXPBD0@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv67 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ??$_Insert@PBD@?$_Buf@D@std@@QAEXPBD0@Z PROC ; std::_Buf<char>::_Insert<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1668 : { // append multiple characters |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| $LN2@Insert: |
| |
| ; 1669 : while (_First != _Last) |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0000c 3b 45 0c cmp eax, DWORD PTR __Last$[ebp] |
| 0000f 74 20 je SHORT $LN1@Insert |
| |
| ; 1670 : _Insert(*_First++); |
| |
| 00011 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00014 8a 11 mov dl, BYTE PTR [ecx] |
| 00016 88 55 ff mov BYTE PTR tv67[ebp], dl |
| 00019 0f b6 45 ff movzx eax, BYTE PTR tv67[ebp] |
| 0001d 50 push eax |
| 0001e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| 00026 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00029 83 c1 01 add ecx, 1 |
| 0002c 89 4d 08 mov DWORD PTR __First$[ebp], ecx |
| 0002f eb d8 jmp SHORT $LN2@Insert |
| $LN1@Insert: |
| |
| ; 1671 : } |
| |
| 00031 8b e5 mov esp, ebp |
| 00033 5d pop ebp |
| 00034 c2 08 00 ret 8 |
| ??$_Insert@PBD@?$_Buf@D@std@@QAEXPBD0@Z ENDP ; std::_Buf<char>::_Insert<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_move_al_unchecked1@II@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 4 |
| ___formal$ = 24 ; size = 1 |
| ??$_Uninitialized_move_al_unchecked1@II@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z PROC ; std::_Uninitialized_move_al_unchecked1<unsigned int,unsigned int>, COMDAT |
| |
| ; 336 : { // move [_First, _Last) to raw _Dest, using std::allocator, memmove optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 337 : return (_Copy_memmove(_First, _Last, _Dest)); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0000e 52 push edx |
| 0000f e8 00 00 00 00 call ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z ; std::_Copy_memmove<unsigned int *,unsigned int *> |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 338 : } |
| |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$_Uninitialized_move_al_unchecked1@II@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ENDP ; std::_Uninitialized_move_al_unchecked1<unsigned int,unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_backward_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| $T1 = -16 ; size = 8 |
| $T2 = -8 ; size = 8 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ___formal$ = 36 ; size = 1 |
| ??$_Copy_backward_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z PROC ; std::_Copy_backward_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2510 : { // copy [_First, _Last) backwards to [..., _Dest), no special optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| $LN2@Copy_backw: |
| |
| ; 2511 : while (_First != _Last) |
| |
| 00006 8d 45 14 lea eax, DWORD PTR __Last$[ebp] |
| 00009 50 push eax |
| 0000a 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0000d e8 00 00 00 00 call ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| 00012 0f b6 c8 movzx ecx, al |
| 00015 85 c9 test ecx, ecx |
| 00017 74 30 je SHORT $LN3@Copy_backw |
| |
| ; 2512 : *--_Dest = *--_Last; |
| |
| 00019 8d 55 f8 lea edx, DWORD PTR $T2[ebp] |
| 0001c 52 push edx |
| 0001d 8d 4d 14 lea ecx, DWORD PTR __Last$[ebp] |
| 00020 e8 00 00 00 00 call ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| 00025 8b c8 mov ecx, eax |
| 00027 e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 0002c 50 push eax |
| 0002d 8d 45 f0 lea eax, DWORD PTR $T1[ebp] |
| 00030 50 push eax |
| 00031 8d 4d 1c lea ecx, DWORD PTR __Dest$[ebp] |
| 00034 e8 00 00 00 00 call ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| 00039 8b c8 mov ecx, eax |
| 0003b e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 00040 8b c8 mov ecx, eax |
| 00042 e8 00 00 00 00 call ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| 00047 eb bd jmp SHORT $LN2@Copy_backw |
| $LN3@Copy_backw: |
| |
| ; 2513 : return (_Dest); |
| |
| 00049 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0004c 8b 55 1c mov edx, DWORD PTR __Dest$[ebp] |
| 0004f 89 11 mov DWORD PTR [ecx], edx |
| 00051 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 00054 89 41 04 mov DWORD PTR [ecx+4], eax |
| 00057 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2514 : } |
| |
| 0005a 8b e5 mov esp, ebp |
| 0005c 5d pop ebp |
| 0005d c3 ret 0 |
| ??$_Copy_backward_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ENDP ; std::_Copy_backward_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___formal$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z PROC ; std::_Ptr_copy_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 698 : { // return pointer copy optimization category for arbitrary iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 699 : return {}; |
| |
| 00004 33 c0 xor eax, eax |
| 00006 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00009 8a 45 ff mov al, BYTE PTR $T1[ebp] |
| |
| ; 700 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z ENDP ; std::_Ptr_copy_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ??$_Copy_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z PROC ; std::_Copy_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2282 : { // copy [_First, _Last) to [_Dest, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2283 : // note: _Copy_unchecked is called directly elsewhere in the STL |
| ; 2284 : return (_Copy_unchecked1(_First, _Last, |
| |
| 00004 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z ; std::_Ptr_copy_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00011 83 c4 08 add esp, 8 |
| 00014 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00017 0f b6 55 ff movzx edx, BYTE PTR $T1[ebp] |
| 0001b 52 push edx |
| 0001c 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 0001f 50 push eax |
| 00020 8b 4d 1c mov ecx, DWORD PTR __Dest$[ebp] |
| 00023 51 push ecx |
| 00024 8b 55 18 mov edx, DWORD PTR __Last$[ebp+4] |
| 00027 52 push edx |
| 00028 8b 45 14 mov eax, DWORD PTR __Last$[ebp] |
| 0002b 50 push eax |
| 0002c 8b 4d 10 mov ecx, DWORD PTR __First$[ebp+4] |
| 0002f 51 push ecx |
| 00030 8b 55 0c mov edx, DWORD PTR __First$[ebp] |
| 00033 52 push edx |
| 00034 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00037 50 push eax |
| 00038 e8 00 00 00 00 call ??$_Copy_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ; std::_Copy_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 0003d 83 c4 20 add esp, 32 ; 00000020H |
| 00040 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2285 : _Dest, _Ptr_copy_cat(_First, _Dest))); |
| ; 2286 : } |
| |
| 00043 8b e5 mov esp, ebp |
| 00045 5d pop ebp |
| 00046 c3 ret 0 |
| ??$_Copy_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ENDP ; std::_Copy_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD00U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z |
| _TEXT SEGMENT |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Pred$ = 20 ; size = 4 |
| ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD00U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z PROC ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > >, COMDAT |
| |
| ; 2845 : { // compare [_First1, _Last1) to [_First2, ...) using _Pred |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 2846 : for (; _First1 != _Last1; ++_First1, (void)++_First2) |
| |
| 00003 eb 12 jmp SHORT $LN4@Equal |
| $LN2@Equal: |
| 00005 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 00008 83 c0 01 add eax, 1 |
| 0000b 89 45 08 mov DWORD PTR __First1$[ebp], eax |
| 0000e 8b 4d 10 mov ecx, DWORD PTR __First2$[ebp] |
| 00011 83 c1 01 add ecx, 1 |
| 00014 89 4d 10 mov DWORD PTR __First2$[ebp], ecx |
| $LN4@Equal: |
| 00017 8b 55 08 mov edx, DWORD PTR __First1$[ebp] |
| 0001a 3b 55 0c cmp edx, DWORD PTR __Last1$[ebp] |
| 0001d 74 23 je SHORT $LN3@Equal |
| |
| ; 2847 : if (!_Pred(*_First1, *_First2)) |
| |
| 0001f 8b 45 10 mov eax, DWORD PTR __First2$[ebp] |
| 00022 0f b6 08 movzx ecx, BYTE PTR [eax] |
| 00025 51 push ecx |
| 00026 8b 55 08 mov edx, DWORD PTR __First1$[ebp] |
| 00029 0f b6 02 movzx eax, BYTE PTR [edx] |
| 0002c 50 push eax |
| 0002d 8d 4d 14 lea ecx, DWORD PTR __Pred$[ebp] |
| 00030 e8 00 00 00 00 call ??R?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE_NDD@Z ; std::_Cmp_icase<std::_Regex_traits<char> >::operator() |
| 00035 0f b6 c8 movzx ecx, al |
| 00038 85 c9 test ecx, ecx |
| 0003a 75 04 jne SHORT $LN5@Equal |
| |
| ; 2848 : return (false); |
| |
| 0003c 32 c0 xor al, al |
| 0003e eb 04 jmp SHORT $LN1@Equal |
| $LN5@Equal: |
| |
| ; 2849 : return (true); |
| |
| 00040 eb c3 jmp SHORT $LN2@Equal |
| $LN3@Equal: |
| 00042 b0 01 mov al, 1 |
| $LN1@Equal: |
| |
| ; 2850 : } |
| |
| 00044 5d pop ebp |
| 00045 c3 ret 0 |
| ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD00U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ENDP ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z |
| _TEXT SEGMENT |
| tv68 = -4 ; size = 4 |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z PROC ; std::operator==<char,std::char_traits<char>,std::allocator<char> >, COMDAT |
| |
| ; 2454 : { // test for string equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2455 : return (_Left.compare(_Right) == 0); |
| |
| 00004 8b 45 0c mov eax, DWORD PTR __Right$[ebp] |
| 00007 50 push eax |
| 00008 8b 4d 08 mov ecx, DWORD PTR __Left$[ebp] |
| 0000b e8 00 00 00 00 call ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare |
| 00010 85 c0 test eax, eax |
| 00012 75 09 jne SHORT $LN3@operator |
| 00014 c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv68[ebp], 1 |
| 0001b eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 0001d c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv68[ebp], 0 |
| $LN4@operator: |
| 00024 8a 45 fc mov al, BYTE PTR tv68[ebp] |
| |
| ; 2456 : } |
| |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ENDP ; std::operator==<char,std::char_traits<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$transform_primary@PAD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PAD0@Z |
| _TEXT SEGMENT |
| $T1 = -84 ; size = 4 |
| $T2 = -80 ; size = 4 |
| $T3 = -76 ; size = 4 |
| $T4 = -72 ; size = 4 |
| __Temp$5 = -68 ; size = 12 |
| _this$ = -56 ; size = 4 |
| $T6 = -52 ; size = 24 |
| __Res$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 4 |
| __Last$ = 16 ; size = 4 |
| ??$transform_primary@PAD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PAD0@Z PROC ; std::_Regex_traits<char>::transform_primary<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 320 : { // apply locale-specific case-insensitive transformation |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 54 sub esp, 84 ; 00000054H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 56 push esi |
| 00011 89 4d c8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 321 : string_type _Res; |
| |
| 00014 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 322 : |
| ; 323 : if (_First != _Last) |
| |
| 0001c 8b 45 0c mov eax, DWORD PTR __First$[ebp] |
| 0001f 3b 45 10 cmp eax, DWORD PTR __Last$[ebp] |
| 00022 0f 84 b3 00 00 |
| 00 je $LN2@transform_ |
| |
| ; 324 : { // non-empty string, transform it |
| ; 325 : vector<_Elem> _Temp(_First, _Last); |
| |
| 00028 8b 4d 10 mov ecx, DWORD PTR __Last$[ebp] |
| 0002b 51 push ecx |
| 0002c 8b 55 0c mov edx, DWORD PTR __First$[ebp] |
| 0002f 52 push edx |
| 00030 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00033 e8 00 00 00 00 call ??$?0PADX@?$vector@DV?$allocator@D@std@@@std@@QAE@PAD0@Z ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char *,void> |
| |
| ; 326 : |
| ; 327 : _Getctype()->tolower(&*_Temp.begin(), |
| |
| 00038 8d 45 b8 lea eax, DWORD PTR $T4[ebp] |
| 0003b 50 push eax |
| 0003c 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 0003f e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00044 8b c8 mov ecx, eax |
| 00046 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0004b 8b f0 mov esi, eax |
| 0004d 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00050 e8 00 00 00 00 call ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::size |
| 00055 03 f0 add esi, eax |
| 00057 56 push esi |
| 00058 8d 4d b4 lea ecx, DWORD PTR $T3[ebp] |
| 0005b 51 push ecx |
| 0005c 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 0005f e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00064 8b c8 mov ecx, eax |
| 00066 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0006b 50 push eax |
| 0006c 8b 4d c8 mov ecx, DWORD PTR _this$[ebp] |
| 0006f e8 00 00 00 00 call ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| 00074 8b c8 mov ecx, eax |
| 00076 e8 00 00 00 00 call ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z ; std::ctype<char>::tolower |
| |
| ; 328 : &*_Temp.begin() + _Temp.size()); |
| ; 329 : _Res = _Getcoll()->transform(&*_Temp.begin(), |
| |
| 0007b 8d 55 b0 lea edx, DWORD PTR $T2[ebp] |
| 0007e 52 push edx |
| 0007f 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00082 e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00087 8b c8 mov ecx, eax |
| 00089 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0008e 8b f0 mov esi, eax |
| 00090 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00093 e8 00 00 00 00 call ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::size |
| 00098 03 f0 add esi, eax |
| 0009a 56 push esi |
| 0009b 8d 45 ac lea eax, DWORD PTR $T1[ebp] |
| 0009e 50 push eax |
| 0009f 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 000a2 e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 000a7 8b c8 mov ecx, eax |
| 000a9 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 000ae 50 push eax |
| 000af 8d 4d cc lea ecx, DWORD PTR $T6[ebp] |
| 000b2 51 push ecx |
| 000b3 8b 4d c8 mov ecx, DWORD PTR _this$[ebp] |
| 000b6 e8 00 00 00 00 call ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ ; std::_Regex_traits<char>::_Getcoll |
| 000bb 8b c8 mov ecx, eax |
| 000bd e8 00 00 00 00 call ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ; std::collate<char>::transform |
| 000c2 50 push eax |
| 000c3 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 000c6 e8 00 00 00 00 call ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator= |
| 000cb 8d 4d cc lea ecx, DWORD PTR $T6[ebp] |
| 000ce e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 330 : &*_Temp.begin() + _Temp.size()); |
| ; 331 : } |
| |
| 000d3 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 000d6 e8 00 00 00 00 call ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ ; std::vector<char,std::allocator<char> >::~vector<char,std::allocator<char> > |
| $LN2@transform_: |
| |
| ; 332 : return (_Res); |
| |
| 000db 8d 55 e4 lea edx, DWORD PTR __Res$[ebp] |
| 000de 52 push edx |
| 000df 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 000e2 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000e7 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 000ea e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000ef 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 333 : } |
| |
| 000f2 5e pop esi |
| 000f3 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 000f6 33 cd xor ecx, ebp |
| 000f8 e8 00 00 00 00 call @__security_check_cookie@4 |
| 000fd 8b e5 mov esp, ebp |
| 000ff 5d pop ebp |
| 00100 c2 0c 00 ret 12 ; 0000000cH |
| ??$transform_primary@PAD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PAD0@Z ENDP ; std::_Regex_traits<char>::transform_primary<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$transform_primary@PBD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBD0@Z |
| _TEXT SEGMENT |
| $T1 = -84 ; size = 4 |
| $T2 = -80 ; size = 4 |
| $T3 = -76 ; size = 4 |
| $T4 = -72 ; size = 4 |
| __Temp$5 = -68 ; size = 12 |
| _this$ = -56 ; size = 4 |
| $T6 = -52 ; size = 24 |
| __Res$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 4 |
| __Last$ = 16 ; size = 4 |
| ??$transform_primary@PBD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBD0@Z PROC ; std::_Regex_traits<char>::transform_primary<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 320 : { // apply locale-specific case-insensitive transformation |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 54 sub esp, 84 ; 00000054H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 56 push esi |
| 00011 89 4d c8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 321 : string_type _Res; |
| |
| 00014 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 322 : |
| ; 323 : if (_First != _Last) |
| |
| 0001c 8b 45 0c mov eax, DWORD PTR __First$[ebp] |
| 0001f 3b 45 10 cmp eax, DWORD PTR __Last$[ebp] |
| 00022 0f 84 b3 00 00 |
| 00 je $LN2@transform_ |
| |
| ; 324 : { // non-empty string, transform it |
| ; 325 : vector<_Elem> _Temp(_First, _Last); |
| |
| 00028 8b 4d 10 mov ecx, DWORD PTR __Last$[ebp] |
| 0002b 51 push ecx |
| 0002c 8b 55 0c mov edx, DWORD PTR __First$[ebp] |
| 0002f 52 push edx |
| 00030 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00033 e8 00 00 00 00 call ??$?0PBDX@?$vector@DV?$allocator@D@std@@@std@@QAE@PBD0@Z ; std::vector<char,std::allocator<char> >::vector<char,std::allocator<char> ><char const *,void> |
| |
| ; 326 : |
| ; 327 : _Getctype()->tolower(&*_Temp.begin(), |
| |
| 00038 8d 45 b8 lea eax, DWORD PTR $T4[ebp] |
| 0003b 50 push eax |
| 0003c 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 0003f e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00044 8b c8 mov ecx, eax |
| 00046 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0004b 8b f0 mov esi, eax |
| 0004d 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00050 e8 00 00 00 00 call ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::size |
| 00055 03 f0 add esi, eax |
| 00057 56 push esi |
| 00058 8d 4d b4 lea ecx, DWORD PTR $T3[ebp] |
| 0005b 51 push ecx |
| 0005c 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 0005f e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00064 8b c8 mov ecx, eax |
| 00066 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0006b 50 push eax |
| 0006c 8b 4d c8 mov ecx, DWORD PTR _this$[ebp] |
| 0006f e8 00 00 00 00 call ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| 00074 8b c8 mov ecx, eax |
| 00076 e8 00 00 00 00 call ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z ; std::ctype<char>::tolower |
| |
| ; 328 : &*_Temp.begin() + _Temp.size()); |
| ; 329 : _Res = _Getcoll()->transform(&*_Temp.begin(), |
| |
| 0007b 8d 55 b0 lea edx, DWORD PTR $T2[ebp] |
| 0007e 52 push edx |
| 0007f 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00082 e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 00087 8b c8 mov ecx, eax |
| 00089 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 0008e 8b f0 mov esi, eax |
| 00090 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 00093 e8 00 00 00 00 call ?size@?$vector@DV?$allocator@D@std@@@std@@QBEIXZ ; std::vector<char,std::allocator<char> >::size |
| 00098 03 f0 add esi, eax |
| 0009a 56 push esi |
| 0009b 8d 45 ac lea eax, DWORD PTR $T1[ebp] |
| 0009e 50 push eax |
| 0009f 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 000a2 e8 00 00 00 00 call ?begin@?$vector@DV?$allocator@D@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::vector<char,std::allocator<char> >::begin |
| 000a7 8b c8 mov ecx, eax |
| 000a9 e8 00 00 00 00 call ??D?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<char> > >::operator* |
| 000ae 50 push eax |
| 000af 8d 4d cc lea ecx, DWORD PTR $T6[ebp] |
| 000b2 51 push ecx |
| 000b3 8b 4d c8 mov ecx, DWORD PTR _this$[ebp] |
| 000b6 e8 00 00 00 00 call ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ ; std::_Regex_traits<char>::_Getcoll |
| 000bb 8b c8 mov ecx, eax |
| 000bd e8 00 00 00 00 call ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ; std::collate<char>::transform |
| 000c2 50 push eax |
| 000c3 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 000c6 e8 00 00 00 00 call ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator= |
| 000cb 8d 4d cc lea ecx, DWORD PTR $T6[ebp] |
| 000ce e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 330 : &*_Temp.begin() + _Temp.size()); |
| ; 331 : } |
| |
| 000d3 8d 4d bc lea ecx, DWORD PTR __Temp$5[ebp] |
| 000d6 e8 00 00 00 00 call ??1?$vector@DV?$allocator@D@std@@@std@@QAE@XZ ; std::vector<char,std::allocator<char> >::~vector<char,std::allocator<char> > |
| $LN2@transform_: |
| |
| ; 332 : return (_Res); |
| |
| 000db 8d 55 e4 lea edx, DWORD PTR __Res$[ebp] |
| 000de 52 push edx |
| 000df 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 000e2 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000e7 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 000ea e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000ef 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 333 : } |
| |
| 000f2 5e pop esi |
| 000f3 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 000f6 33 cd xor ecx, ebp |
| 000f8 e8 00 00 00 00 call @__security_check_cookie@4 |
| 000fd 8b e5 mov esp, ebp |
| 000ff 5d pop ebp |
| 00100 c2 0c 00 ret 12 ; 0000000cH |
| ??$transform_primary@PBD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBD0@Z ENDP ; std::_Regex_traits<char>::transform_primary<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Rechecked@PAIPAI@std@@YAAAPAIAAPAIPAI@Z |
| _TEXT SEGMENT |
| __Dest$ = 8 ; size = 4 |
| __Src$ = 12 ; size = 4 |
| ??$_Rechecked@PAIPAI@std@@YAAAPAIAAPAIPAI@Z PROC ; std::_Rechecked<unsigned int *,unsigned int *>, COMDAT |
| |
| ; 465 : { // reset checked from unchecked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 466 : _Dest = _Src; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Src$[ebp] |
| 00009 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 467 : return (_Dest); |
| |
| 0000b 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| |
| ; 468 : } |
| |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Rechecked@PAIPAI@std@@YAAAPAIAAPAIPAI@Z ENDP ; std::_Rechecked<unsigned int *,unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_move_al_unchecked@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_move_al_unchecked@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z PROC ; std::_Uninitialized_move_al_unchecked<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| |
| ; 345 : { // move [_First, _Last) to raw _Dest, using _Al, choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 346 : return (_Uninitialized_move_al_unchecked1(_First, _Last, _Dest, _Al, |
| |
| 00004 8d 45 10 lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c 8d 55 ff lea edx, DWORD PTR $T1[ebp] |
| 0000f 52 push edx |
| 00010 e8 00 00 00 00 call ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z ; std::_Ptr_move_cat<unsigned int,unsigned int> |
| 00015 83 c4 0c add esp, 12 ; 0000000cH |
| 00018 8a 00 mov al, BYTE PTR [eax] |
| 0001a 0f b6 c8 movzx ecx, al |
| 0001d 51 push ecx |
| 0001e 8b 55 14 mov edx, DWORD PTR __Al$[ebp] |
| 00021 52 push edx |
| 00022 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00025 50 push eax |
| 00026 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00029 51 push ecx |
| 0002a 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0002d 52 push edx |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_move_al_unchecked1@II@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U_Really_trivial_ptr_iterator_tag@0@@Z ; std::_Uninitialized_move_al_unchecked1<unsigned int,unsigned int> |
| 00033 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 347 : _Ptr_move_cat(_First, _Dest))); |
| ; 348 : } |
| |
| 00036 8b e5 mov esp, ebp |
| 00038 5d pop ebp |
| 00039 c3 ret 0 |
| ??$_Uninitialized_move_al_unchecked@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ENDP ; std::_Uninitialized_move_al_unchecked<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Unchecked@PAI@std@@YAPAIPAI@Z |
| _TEXT SEGMENT |
| __Src$ = 8 ; size = 4 |
| ??$_Unchecked@PAI@std@@YAPAIPAI@Z PROC ; std::_Unchecked<unsigned int *>, COMDAT |
| |
| ; 438 : { // construct unchecked from checked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 439 : return (_Src); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Src$[ebp] |
| |
| ; 440 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Unchecked@PAI@std@@YAPAIPAI@Z ENDP ; std::_Unchecked<unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z |
| _TEXT SEGMENT |
| __Dest$ = 8 ; size = 4 |
| __Src$ = 12 ; size = 8 |
| ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z PROC ; std::_Rechecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 465 : { // reset checked from unchecked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 466 : _Dest = _Src; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Src$[ebp] |
| 00009 89 08 mov DWORD PTR [eax], ecx |
| 0000b 8b 55 10 mov edx, DWORD PTR __Src$[ebp+4] |
| 0000e 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 467 : return (_Dest); |
| |
| 00011 8b 45 08 mov eax, DWORD PTR __Dest$[ebp] |
| |
| ; 468 : } |
| |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z ENDP ; std::_Rechecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_backward_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ??$_Copy_backward_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z PROC ; std::_Copy_backward_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2528 : { // copy [_First, _Last) backwards to [..., _Dest), choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2529 : return (_Copy_backward_unchecked1(_First, _Last, |
| |
| 00004 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Ptr_copy_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AU_General_ptr_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0@Z ; std::_Ptr_copy_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00011 83 c4 08 add esp, 8 |
| 00014 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00017 0f b6 55 ff movzx edx, BYTE PTR $T1[ebp] |
| 0001b 52 push edx |
| 0001c 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 0001f 50 push eax |
| 00020 8b 4d 1c mov ecx, DWORD PTR __Dest$[ebp] |
| 00023 51 push ecx |
| 00024 8b 55 18 mov edx, DWORD PTR __Last$[ebp+4] |
| 00027 52 push edx |
| 00028 8b 45 14 mov eax, DWORD PTR __Last$[ebp] |
| 0002b 50 push eax |
| 0002c 8b 4d 10 mov ecx, DWORD PTR __First$[ebp+4] |
| 0002f 51 push ecx |
| 00030 8b 55 0c mov edx, DWORD PTR __First$[ebp] |
| 00033 52 push edx |
| 00034 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00037 50 push eax |
| 00038 e8 00 00 00 00 call ??$_Copy_backward_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00U_General_ptr_iterator_tag@0@@Z ; std::_Copy_backward_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 0003d 83 c4 20 add esp, 32 ; 00000020H |
| 00040 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2530 : _Dest, _Ptr_copy_cat(_First, _Dest))); |
| ; 2531 : } |
| |
| 00043 8b e5 mov esp, ebp |
| 00045 5d pop ebp |
| 00046 c3 ret 0 |
| ??$_Copy_backward_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ENDP ; std::_Copy_backward_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_no_deprecate1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z |
| _TEXT SEGMENT |
| $T1 = -24 ; size = 8 |
| $T2 = -16 ; size = 8 |
| $T3 = -8 ; size = 8 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ___formal$ = 36 ; size = 1 |
| ___formal$ = 40 ; size = 1 |
| ??$_Copy_no_deprecate1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z PROC ; std::_Copy_no_deprecate1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2301 : { // copy [_First, _Last) to [_Dest, ...), random-access iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 18 sub esp, 24 ; 00000018H |
| |
| ; 2302 : static_cast<void>(_Dest + (_Last - _First)); // checks range |
| |
| 00006 8d 45 0c lea eax, DWORD PTR __First$[ebp] |
| 00009 50 push eax |
| 0000a 8d 4d 14 lea ecx, DWORD PTR __Last$[ebp] |
| 0000d e8 00 00 00 00 call ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 00012 50 push eax |
| 00013 8d 4d f8 lea ecx, DWORD PTR $T3[ebp] |
| 00016 51 push ecx |
| 00017 8d 4d 1c lea ecx, DWORD PTR __Dest$[ebp] |
| 0001a e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| |
| ; 2303 : return (_Rechecked(_Dest, |
| |
| 0001f 8b 55 20 mov edx, DWORD PTR __Dest$[ebp+4] |
| 00022 52 push edx |
| 00023 8b 45 1c mov eax, DWORD PTR __Dest$[ebp] |
| 00026 50 push eax |
| 00027 8d 4d f0 lea ecx, DWORD PTR $T2[ebp] |
| 0002a 51 push ecx |
| 0002b e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00030 83 c4 0c add esp, 12 ; 0000000cH |
| 00033 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00036 52 push edx |
| 00037 8b 00 mov eax, DWORD PTR [eax] |
| 00039 50 push eax |
| 0003a 8b 4d 18 mov ecx, DWORD PTR __Last$[ebp+4] |
| 0003d 51 push ecx |
| 0003e 8b 55 14 mov edx, DWORD PTR __Last$[ebp] |
| 00041 52 push edx |
| 00042 8b 45 10 mov eax, DWORD PTR __First$[ebp+4] |
| 00045 50 push eax |
| 00046 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 00049 51 push ecx |
| 0004a 8d 55 e8 lea edx, DWORD PTR $T1[ebp] |
| 0004d 52 push edx |
| 0004e e8 00 00 00 00 call ??$_Copy_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00053 83 c4 1c add esp, 28 ; 0000001cH |
| 00056 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00059 51 push ecx |
| 0005a 8b 10 mov edx, DWORD PTR [eax] |
| 0005c 52 push edx |
| 0005d 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00060 50 push eax |
| 00061 e8 00 00 00 00 call ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z ; std::_Rechecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00066 83 c4 0c add esp, 12 ; 0000000cH |
| 00069 8b 08 mov ecx, DWORD PTR [eax] |
| 0006b 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 0006e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00071 89 08 mov DWORD PTR [eax], ecx |
| 00073 89 50 04 mov DWORD PTR [eax+4], edx |
| 00076 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2304 : _Copy_unchecked(_First, _Last, _Unchecked(_Dest)))); |
| ; 2305 : } |
| |
| 00079 8b e5 mov esp, ebp |
| 0007b 5d pop ebp |
| 0007c c3 ret 0 |
| ??$_Copy_no_deprecate1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ENDP ; std::_Copy_no_deprecate1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Fill_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_NU?$integral_constant@_N$0A@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -8 ; size = 8 |
| __First$ = 8 ; size = 8 |
| __Last$ = 16 ; size = 8 |
| __Val$ = 24 ; size = 4 |
| ___formal$ = 28 ; size = 1 |
| ??$_Fill_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_NU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Fill_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool>, COMDAT |
| |
| ; 2753 : { // copy _Val through [_First, _Last), no special optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| |
| ; 2754 : for (; _First != _Last; ++_First) |
| |
| 00006 eb 08 jmp SHORT $LN4@Fill_unche |
| $LN2@Fill_unche: |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b e8 00 00 00 00 call ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| $LN4@Fill_unche: |
| 00010 8d 45 10 lea eax, DWORD PTR __Last$[ebp] |
| 00013 50 push eax |
| 00014 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 00017 e8 00 00 00 00 call ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| 0001c 0f b6 c8 movzx ecx, al |
| 0001f 85 c9 test ecx, ecx |
| 00021 74 1c je SHORT $LN1@Fill_unche |
| |
| ; 2755 : *_First = _Val; |
| |
| 00023 8b 55 18 mov edx, DWORD PTR __Val$[ebp] |
| 00026 0f b6 02 movzx eax, BYTE PTR [edx] |
| 00029 50 push eax |
| 0002a 8d 4d f8 lea ecx, DWORD PTR $T1[ebp] |
| 0002d 51 push ecx |
| 0002e 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 00031 e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 00036 8b c8 mov ecx, eax |
| 00038 e8 00 00 00 00 call ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| 0003d eb c9 jmp SHORT $LN2@Fill_unche |
| $LN1@Fill_unche: |
| |
| ; 2756 : } |
| |
| 0003f 8b e5 mov esp, ebp |
| 00041 5d pop ebp |
| 00042 c3 ret 0 |
| ??$_Fill_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_NU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Fill_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Fill_memset_is_safe@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YA?AU?$integral_constant@_N$0A@@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AB_N@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___formal$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Fill_memset_is_safe@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YA?AU?$integral_constant@_N$0A@@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AB_N@Z PROC ; std::_Fill_memset_is_safe<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool>, COMDAT |
| |
| ; 2746 : { // type deduction for _Fill_memset_is_safe_helper |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2747 : return {}; |
| |
| 00004 33 c0 xor eax, eax |
| 00006 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00009 8a 45 ff mov al, BYTE PTR $T1[ebp] |
| |
| ; 2748 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Fill_memset_is_safe@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YA?AU?$integral_constant@_N$0A@@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AB_N@Z ENDP ; std::_Fill_memset_is_safe<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@Urandom_access_iterator_tag@0@2@Z |
| _TEXT SEGMENT |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| __Pred$ = 24 ; size = 4 |
| ___formal$ = 28 ; size = 1 |
| ___formal$ = 32 ; size = 1 |
| ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@Urandom_access_iterator_tag@0@2@Z PROC ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > >, COMDAT |
| |
| ; 2979 : { // compare [_First1, _Last1) to [_First2, _Last2) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 2980 : // using _Pred, random-access iterators |
| ; 2981 : if (_Last1 - _First1 != _Last2 - _First2) |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Last1$[ebp] |
| 00006 2b 45 08 sub eax, DWORD PTR __First1$[ebp] |
| 00009 8b 4d 14 mov ecx, DWORD PTR __Last2$[ebp] |
| 0000c 2b 4d 10 sub ecx, DWORD PTR __First2$[ebp] |
| 0000f 3b c1 cmp eax, ecx |
| 00011 74 04 je SHORT $LN2@Equal |
| |
| ; 2982 : return (false); |
| |
| 00013 32 c0 xor al, al |
| 00015 eb 18 jmp SHORT $LN1@Equal |
| $LN2@Equal: |
| |
| ; 2983 : _DEBUG_POINTER_IF(_First1 != _Last1, _Pred); |
| ; 2984 : return (_Equal(_First1, _Last1, _First2, _Pred)); |
| |
| 00017 8b 55 18 mov edx, DWORD PTR __Pred$[ebp] |
| 0001a 52 push edx |
| 0001b 8b 45 10 mov eax, DWORD PTR __First2$[ebp] |
| 0001e 50 push eax |
| 0001f 8b 4d 0c mov ecx, DWORD PTR __Last1$[ebp] |
| 00022 51 push ecx |
| 00023 8b 55 08 mov edx, DWORD PTR __First1$[ebp] |
| 00026 52 push edx |
| 00027 e8 00 00 00 00 call ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD00U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| 0002c 83 c4 10 add esp, 16 ; 00000010H |
| $LN1@Equal: |
| |
| ; 2985 : } |
| |
| 0002f 5d pop ebp |
| 00030 c3 ret 0 |
| ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@Urandom_access_iterator_tag@0@2@Z ENDP ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z PROC ; std::_Iter_cat<char const *>, COMDAT |
| |
| ; 639 : { // return category from iterator argument |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 640 : return {}; |
| |
| 00003 33 c0 xor eax, eax |
| 00005 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00008 88 01 mov BYTE PTR [ecx], al |
| 0000a 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 641 : } |
| |
| 0000d 5d pop ebp |
| 0000e c3 ret 0 |
| ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ENDP ; std::_Iter_cat<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Unchecked@PBD@std@@YAPBDPBD@Z |
| _TEXT SEGMENT |
| __Src$ = 8 ; size = 4 |
| ??$_Unchecked@PBD@std@@YAPBDPBD@Z PROC ; std::_Unchecked<char const *>, COMDAT |
| |
| ; 438 : { // construct unchecked from checked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 439 : return (_Src); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Src$[ebp] |
| |
| ; 440 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Unchecked@PBD@std@@YAPBDPBD@Z ENDP ; std::_Unchecked<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_move@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_move@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z PROC ; std::_Uninitialized_move<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| |
| ; 355 : { // move [_First, _Last) to raw _Dest, using _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 356 : // note: only called internally from elsewhere in the STL, debug checks |
| ; 357 : // and deprecation warnings omitted |
| ; 358 : return (_Rechecked(_Dest, |
| |
| 00003 8b 45 14 mov eax, DWORD PTR __Al$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 10 mov ecx, DWORD PTR __Dest$[ebp] |
| 0000a 51 push ecx |
| 0000b e8 00 00 00 00 call ??$_Unchecked@PAI@std@@YAPAIPAI@Z ; std::_Unchecked<unsigned int *> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00017 52 push edx |
| 00018 e8 00 00 00 00 call ??$_Unchecked@PAI@std@@YAPAIPAI@Z ; std::_Unchecked<unsigned int *> |
| 0001d 83 c4 04 add esp, 4 |
| 00020 50 push eax |
| 00021 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00024 50 push eax |
| 00025 e8 00 00 00 00 call ??$_Unchecked@PAI@std@@YAPAIPAI@Z ; std::_Unchecked<unsigned int *> |
| 0002a 83 c4 04 add esp, 4 |
| 0002d 50 push eax |
| 0002e e8 00 00 00 00 call ??$_Uninitialized_move_al_unchecked@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_move_al_unchecked<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 00033 83 c4 10 add esp, 16 ; 00000010H |
| 00036 50 push eax |
| 00037 8d 4d 10 lea ecx, DWORD PTR __Dest$[ebp] |
| 0003a 51 push ecx |
| 0003b e8 00 00 00 00 call ??$_Rechecked@PAIPAI@std@@YAAAPAIAAPAIPAI@Z ; std::_Rechecked<unsigned int *,unsigned int *> |
| 00040 83 c4 08 add esp, 8 |
| 00043 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 359 : _Uninitialized_move_al_unchecked(_Unchecked(_First), _Unchecked(_Last), |
| ; 360 : _Unchecked(_Dest), _Al))); |
| ; 361 : } |
| |
| 00045 5d pop ebp |
| 00046 c3 ret 0 |
| ??$_Uninitialized_move@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ENDP ; std::_Uninitialized_move<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_backward1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z |
| _TEXT SEGMENT |
| $T1 = -24 ; size = 8 |
| $T2 = -16 ; size = 8 |
| $T3 = -8 ; size = 8 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ___formal$ = 36 ; size = 1 |
| ___formal$ = 40 ; size = 1 |
| ??$_Copy_backward1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z PROC ; std::_Copy_backward1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2546 : { // copy [_First, _Last) backwards to [..., _Dest), random-access iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 18 sub esp, 24 ; 00000018H |
| |
| ; 2547 : static_cast<void>(_Dest - (_Last - _First)); // checks range |
| |
| 00006 8d 45 0c lea eax, DWORD PTR __First$[ebp] |
| 00009 50 push eax |
| 0000a 8d 4d 14 lea ecx, DWORD PTR __Last$[ebp] |
| 0000d e8 00 00 00 00 call ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 00012 50 push eax |
| 00013 8d 4d f8 lea ecx, DWORD PTR $T3[ebp] |
| 00016 51 push ecx |
| 00017 8d 4d 1c lea ecx, DWORD PTR __Dest$[ebp] |
| 0001a e8 00 00 00 00 call ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| |
| ; 2548 : return (_Rechecked(_Dest, |
| |
| 0001f 8b 55 20 mov edx, DWORD PTR __Dest$[ebp+4] |
| 00022 52 push edx |
| 00023 8b 45 1c mov eax, DWORD PTR __Dest$[ebp] |
| 00026 50 push eax |
| 00027 8d 4d f0 lea ecx, DWORD PTR $T2[ebp] |
| 0002a 51 push ecx |
| 0002b e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00030 83 c4 0c add esp, 12 ; 0000000cH |
| 00033 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00036 52 push edx |
| 00037 8b 00 mov eax, DWORD PTR [eax] |
| 00039 50 push eax |
| 0003a 8b 4d 18 mov ecx, DWORD PTR __Last$[ebp+4] |
| 0003d 51 push ecx |
| 0003e 8b 55 14 mov edx, DWORD PTR __Last$[ebp] |
| 00041 52 push edx |
| 00042 8b 45 10 mov eax, DWORD PTR __First$[ebp+4] |
| 00045 50 push eax |
| 00046 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 00049 51 push ecx |
| 0004a 8d 55 e8 lea edx, DWORD PTR $T1[ebp] |
| 0004d 52 push edx |
| 0004e e8 00 00 00 00 call ??$_Copy_backward_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_backward_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00053 83 c4 1c add esp, 28 ; 0000001cH |
| 00056 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00059 51 push ecx |
| 0005a 8b 10 mov edx, DWORD PTR [eax] |
| 0005c 52 push edx |
| 0005d 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00060 50 push eax |
| 00061 e8 00 00 00 00 call ??$_Rechecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YAAAV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AAV10@V10@@Z ; std::_Rechecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00066 83 c4 0c add esp, 12 ; 0000000cH |
| 00069 8b 08 mov ecx, DWORD PTR [eax] |
| 0006b 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 0006e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00071 89 08 mov DWORD PTR [eax], ecx |
| 00073 89 50 04 mov DWORD PTR [eax+4], edx |
| 00076 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2549 : _Copy_backward_unchecked(_First, _Last, _Unchecked(_Dest)))); |
| ; 2550 : } |
| |
| 00079 8b e5 mov esp, ebp |
| 0007b 5d pop ebp |
| 0007c c3 ret 0 |
| ??$_Copy_backward1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ENDP ; std::_Copy_backward1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z PROC ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 639 : { // return category from iterator argument |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 640 : return {}; |
| |
| 00003 33 c0 xor eax, eax |
| 00005 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00008 88 01 mov BYTE PTR [ecx], al |
| 0000a 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 641 : } |
| |
| 0000d 5d pop ebp |
| 0000e c3 ret 0 |
| ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ENDP ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Deprecate@_Unchecked_iterators@?1???$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z |
| _TEXT SEGMENT |
| ___formal$ = 8 ; size = 1 |
| ?_Deprecate@_Unchecked_iterators@?1???$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z PROC ; `std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate, COMDAT |
| |
| ; 2557 : _DEPRECATE_UNCHECKED(copy_backward, _Dest); |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 5d pop ebp |
| 00004 c3 ret 0 |
| ?_Deprecate@_Unchecked_iterators@?1???$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z ENDP ; `std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_no_deprecate@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 8 |
| $T2 = -12 ; size = 8 |
| $T3 = -2 ; size = 1 |
| $T4 = -1 ; size = 1 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ??$_Copy_no_deprecate@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z PROC ; std::_Copy_no_deprecate<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2311 : { // copy [_First, _Last) to [_Dest, ...), no _SCL_INSECURE_DEPRECATE warnings |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| |
| ; 2312 : _DEBUG_RANGE_PTR(_First, _Last, _Dest); |
| ; 2313 : return (_Copy_no_deprecate1(_Unchecked(_First), _Unchecked(_Last), |
| |
| 00006 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00009 50 push eax |
| 0000a 8d 4d ff lea ecx, DWORD PTR $T4[ebp] |
| 0000d 51 push ecx |
| 0000e e8 00 00 00 00 call ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00013 83 c4 08 add esp, 8 |
| 00016 8a 10 mov dl, BYTE PTR [eax] |
| 00018 0f b6 c2 movzx eax, dl |
| 0001b 50 push eax |
| 0001c 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0001f 51 push ecx |
| 00020 8d 55 fe lea edx, DWORD PTR $T3[ebp] |
| 00023 52 push edx |
| 00024 e8 00 00 00 00 call ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00029 83 c4 08 add esp, 8 |
| 0002c 8a 00 mov al, BYTE PTR [eax] |
| 0002e 0f b6 c8 movzx ecx, al |
| 00031 51 push ecx |
| 00032 8b 55 20 mov edx, DWORD PTR __Dest$[ebp+4] |
| 00035 52 push edx |
| 00036 8b 45 1c mov eax, DWORD PTR __Dest$[ebp] |
| 00039 50 push eax |
| 0003a 8b 4d 18 mov ecx, DWORD PTR __Last$[ebp+4] |
| 0003d 51 push ecx |
| 0003e 8b 55 14 mov edx, DWORD PTR __Last$[ebp] |
| 00041 52 push edx |
| 00042 8d 45 f4 lea eax, DWORD PTR $T2[ebp] |
| 00045 50 push eax |
| 00046 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 0004b 83 c4 0c add esp, 12 ; 0000000cH |
| 0004e 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00051 51 push ecx |
| 00052 8b 10 mov edx, DWORD PTR [eax] |
| 00054 52 push edx |
| 00055 8b 45 10 mov eax, DWORD PTR __First$[ebp+4] |
| 00058 50 push eax |
| 00059 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 0005c 51 push ecx |
| 0005d 8d 55 ec lea edx, DWORD PTR $T1[ebp] |
| 00060 52 push edx |
| 00061 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00066 83 c4 0c add esp, 12 ; 0000000cH |
| 00069 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0006c 51 push ecx |
| 0006d 8b 10 mov edx, DWORD PTR [eax] |
| 0006f 52 push edx |
| 00070 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00073 50 push eax |
| 00074 e8 00 00 00 00 call ??$_Copy_no_deprecate1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ; std::_Copy_no_deprecate1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00079 83 c4 24 add esp, 36 ; 00000024H |
| 0007c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2314 : _Dest, _Iter_cat(_First), _Iter_cat(_Dest))); |
| ; 2315 : } |
| |
| 0007f 8b e5 mov esp, ebp |
| 00081 5d pop ebp |
| 00082 c3 ret 0 |
| ??$_Copy_no_deprecate@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ENDP ; std::_Copy_no_deprecate<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___formal$ = 8 ; size = 8 |
| ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z PROC ; std::_Is_checked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 431 : { // return type is true_type if iterator is checked |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 432 : return {}; |
| |
| 00004 33 c0 xor eax, eax |
| 00006 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00009 8a 45 ff mov al, BYTE PTR $T1[ebp] |
| |
| ; 433 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ENDP ; std::_Is_checked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Deprecate@_Unchecked_iterators@?1???$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z |
| _TEXT SEGMENT |
| ___formal$ = 8 ; size = 1 |
| ?_Deprecate@_Unchecked_iterators@?1???$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z PROC ; `std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate, COMDAT |
| |
| ; 2322 : _DEPRECATE_UNCHECKED(copy, _Dest); |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 5d pop ebp |
| 00004 c3 ret 0 |
| ?_Deprecate@_Unchecked_iterators@?1???$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z ENDP ; `std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Fill_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 8 |
| __Last$ = 16 ; size = 8 |
| __Val$ = 24 ; size = 4 |
| ??$_Fill_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z PROC ; std::_Fill_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool>, COMDAT |
| |
| ; 2768 : { // copy _Val through [_First, _Last), choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2769 : _Fill_unchecked1(_First, _Last, _Val, _Fill_memset_is_safe(_First, _Val)); |
| |
| 00004 8b 45 18 mov eax, DWORD PTR __Val$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Fill_memset_is_safe@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YA?AU?$integral_constant@_N$0A@@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@AB_N@Z ; std::_Fill_memset_is_safe<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| 00011 83 c4 08 add esp, 8 |
| 00014 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00017 0f b6 55 ff movzx edx, BYTE PTR $T1[ebp] |
| 0001b 52 push edx |
| 0001c 8b 45 18 mov eax, DWORD PTR __Val$[ebp] |
| 0001f 50 push eax |
| 00020 8b 4d 14 mov ecx, DWORD PTR __Last$[ebp+4] |
| 00023 51 push ecx |
| 00024 8b 55 10 mov edx, DWORD PTR __Last$[ebp] |
| 00027 52 push edx |
| 00028 8b 45 0c mov eax, DWORD PTR __First$[ebp+4] |
| 0002b 50 push eax |
| 0002c 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 0002f 51 push ecx |
| 00030 e8 00 00 00 00 call ??$_Fill_unchecked1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_NU?$integral_constant@_N$0A@@0@@Z ; std::_Fill_unchecked1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| 00035 83 c4 18 add esp, 24 ; 00000018H |
| |
| ; 2770 : } |
| |
| 00038 8b e5 mov esp, ebp |
| 0003a 5d pop ebp |
| 0003b c3 ret 0 |
| ??$_Fill_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ENDP ; std::_Fill_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Src$ = 12 ; size = 8 |
| ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z PROC ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 438 : { // construct unchecked from checked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 439 : return (_Src); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Src$[ebp] |
| 00009 89 08 mov DWORD PTR [eax], ecx |
| 0000b 8b 55 10 mov edx, DWORD PTR __Src$[ebp+4] |
| 0000e 89 50 04 mov DWORD PTR [eax+4], edx |
| 00011 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 440 : } |
| |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ENDP ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -2 ; size = 1 |
| $T2 = -1 ; size = 1 |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| __Pred$ = 24 ; size = 4 |
| ??$equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z PROC ; std::equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > >, COMDAT |
| |
| ; 2992 : { // compare [_First1, _Last1) to [_First2, _Last2) using _Pred |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2993 : _DEBUG_RANGE(_First1, _Last1); |
| ; 2994 : _DEBUG_RANGE(_First2, _Last2); |
| ; 2995 : return (_Equal(_Unchecked(_First1), _Unchecked(_Last1), |
| |
| 00004 8d 45 10 lea eax, DWORD PTR __First2$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d ff lea ecx, DWORD PTR $T2[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *> |
| 00011 83 c4 08 add esp, 8 |
| 00014 8a 10 mov dl, BYTE PTR [eax] |
| 00016 0f b6 c2 movzx eax, dl |
| 00019 50 push eax |
| 0001a 8d 4d 08 lea ecx, DWORD PTR __First1$[ebp] |
| 0001d 51 push ecx |
| 0001e 8d 55 fe lea edx, DWORD PTR $T1[ebp] |
| 00021 52 push edx |
| 00022 e8 00 00 00 00 call ??$_Iter_cat@PBD@std@@YA?AUrandom_access_iterator_tag@0@ABQBD@Z ; std::_Iter_cat<char const *> |
| 00027 83 c4 08 add esp, 8 |
| 0002a 8a 00 mov al, BYTE PTR [eax] |
| 0002c 0f b6 c8 movzx ecx, al |
| 0002f 51 push ecx |
| 00030 8b 55 18 mov edx, DWORD PTR __Pred$[ebp] |
| 00033 52 push edx |
| 00034 8b 45 14 mov eax, DWORD PTR __Last2$[ebp] |
| 00037 50 push eax |
| 00038 e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 0003d 83 c4 04 add esp, 4 |
| 00040 50 push eax |
| 00041 8b 4d 10 mov ecx, DWORD PTR __First2$[ebp] |
| 00044 51 push ecx |
| 00045 e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 0004a 83 c4 04 add esp, 4 |
| 0004d 50 push eax |
| 0004e 8b 55 0c mov edx, DWORD PTR __Last1$[ebp] |
| 00051 52 push edx |
| 00052 e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 00057 83 c4 04 add esp, 4 |
| 0005a 50 push eax |
| 0005b 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 0005e 50 push eax |
| 0005f e8 00 00 00 00 call ??$_Unchecked@PBD@std@@YAPBDPBD@Z ; std::_Unchecked<char const *> |
| 00064 83 c4 04 add esp, 4 |
| 00067 50 push eax |
| 00068 e8 00 00 00 00 call ??$_Equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@Urandom_access_iterator_tag@0@2@Z ; std::_Equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| 0006d 83 c4 1c add esp, 28 ; 0000001cH |
| |
| ; 2996 : _Unchecked(_First2), _Unchecked(_Last2), _Pred, |
| ; 2997 : _Iter_cat(_First1), _Iter_cat(_First2))); |
| ; 2998 : } |
| |
| 00070 8b e5 mov esp, ebp |
| 00072 5d pop ebp |
| 00073 c3 ret 0 |
| ??$equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ENDP ; std::equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??R?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE_NDD@Z |
| _TEXT SEGMENT |
| tv75 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __E1$ = 8 ; size = 1 |
| __E2$ = 12 ; size = 1 |
| ??R?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE_NDD@Z PROC ; std::_Cmp_icase<std::_Regex_traits<char> >::operator(), COMDAT |
| ; _this$ = ecx |
| |
| ; 211 : { // return true if equal |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 56 push esi |
| 00007 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 212 : return (_Traits.translate_nocase(_E1) |
| |
| 0000a 0f b6 45 08 movzx eax, BYTE PTR __E1$[ebp] |
| 0000e 50 push eax |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 8b 09 mov ecx, DWORD PTR [ecx] |
| 00014 e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00019 0f be f0 movsx esi, al |
| 0001c 0f b6 55 0c movzx edx, BYTE PTR __E2$[ebp] |
| 00020 52 push edx |
| 00021 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00024 8b 08 mov ecx, DWORD PTR [eax] |
| 00026 e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 0002b 0f be c8 movsx ecx, al |
| 0002e 3b f1 cmp esi, ecx |
| 00030 75 09 jne SHORT $LN3@operator |
| 00032 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv75[ebp], 1 |
| 00039 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 0003b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv75[ebp], 0 |
| $LN4@operator: |
| 00042 8a 45 f8 mov al, BYTE PTR tv75[ebp] |
| |
| ; 213 : == _Traits.translate_nocase(_E2)); |
| ; 214 : } |
| |
| 00045 5e pop esi |
| 00046 8b e5 mov esp, ebp |
| 00048 5d pop ebp |
| 00049 c2 08 00 ret 8 |
| ??R?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE_NDD@Z ENDP ; std::_Cmp_icase<std::_Regex_traits<char> >::operator() |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE@ABV?$_Regex_traits@D@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Tr$ = 8 ; size = 4 |
| ??0?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE@ABV?$_Regex_traits@D@1@@Z PROC ; std::_Cmp_icase<std::_Regex_traits<char> >::_Cmp_icase<std::_Regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 207 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 206 : : _Traits(_Tr) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Tr$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 208 : } |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c2 04 00 ret 4 |
| ??0?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE@ABV?$_Regex_traits@D@1@@Z ENDP ; std::_Cmp_icase<std::_Regex_traits<char> >::_Cmp_icase<std::_Regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$_Mark@E@_Bitmap@std@@QAEXE@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| __Wide$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ??$_Mark@E@_Bitmap@std@@QAEXE@Z PROC ; std::_Bitmap::_Mark<unsigned char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1698 : { // mark character _Ch |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1699 : static_assert(is_unsigned<_Elem>::value, "_Elem must be unsigned"); |
| ; 1700 : unsigned int _Wide = _Ch; |
| |
| 00009 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0000d 89 45 fc mov DWORD PTR __Wide$[ebp], eax |
| |
| ; 1701 : _Chrs[_Wide >> _Bmp_shift] |= (1 << (_Wide & _Bmp_mask)); |
| |
| 00010 8b 55 fc mov edx, DWORD PTR __Wide$[ebp] |
| 00013 c1 ea 03 shr edx, 3 |
| 00016 8b 4d fc mov ecx, DWORD PTR __Wide$[ebp] |
| 00019 83 e1 07 and ecx, 7 |
| 0001c b8 01 00 00 00 mov eax, 1 |
| 00021 d3 e0 shl eax, cl |
| 00023 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00026 0f b6 14 11 movzx edx, BYTE PTR [ecx+edx] |
| 0002a 0b d0 or edx, eax |
| 0002c 8b 45 fc mov eax, DWORD PTR __Wide$[ebp] |
| 0002f c1 e8 03 shr eax, 3 |
| 00032 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00035 88 14 01 mov BYTE PTR [ecx+eax], dl |
| |
| ; 1702 : } |
| |
| 00038 8b e5 mov esp, ebp |
| 0003a 5d pop ebp |
| 0003b c2 04 00 ret 4 |
| ??$_Mark@E@_Bitmap@std@@QAEXE@Z ENDP ; std::_Bitmap::_Mark<unsigned char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$_Mark@I@_Bitmap@std@@QAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| __Wide$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 4 |
| ??$_Mark@I@_Bitmap@std@@QAEXI@Z PROC ; std::_Bitmap::_Mark<unsigned int>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1698 : { // mark character _Ch |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1699 : static_assert(is_unsigned<_Elem>::value, "_Elem must be unsigned"); |
| ; 1700 : unsigned int _Wide = _Ch; |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Ch$[ebp] |
| 0000c 89 45 fc mov DWORD PTR __Wide$[ebp], eax |
| |
| ; 1701 : _Chrs[_Wide >> _Bmp_shift] |= (1 << (_Wide & _Bmp_mask)); |
| |
| 0000f 8b 55 fc mov edx, DWORD PTR __Wide$[ebp] |
| 00012 c1 ea 03 shr edx, 3 |
| 00015 8b 4d fc mov ecx, DWORD PTR __Wide$[ebp] |
| 00018 83 e1 07 and ecx, 7 |
| 0001b b8 01 00 00 00 mov eax, 1 |
| 00020 d3 e0 shl eax, cl |
| 00022 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00025 0f b6 14 11 movzx edx, BYTE PTR [ecx+edx] |
| 00029 0b d0 or edx, eax |
| 0002b 8b 45 fc mov eax, DWORD PTR __Wide$[ebp] |
| 0002e c1 e8 03 shr eax, 3 |
| 00031 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00034 88 14 01 mov BYTE PTR [ecx+eax], dl |
| |
| ; 1702 : } |
| |
| 00037 8b e5 mov esp, ebp |
| 00039 5d pop ebp |
| 0003a c2 04 00 ret 4 |
| ??$_Mark@I@_Bitmap@std@@QAEXI@Z ENDP ; std::_Bitmap::_Mark<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$_Umove@PAI@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAI00@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Ptr$ = 16 ; size = 4 |
| ??$_Umove@PAI@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAI00@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Umove<unsigned int *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1681 : { // move initializing [_First, _Last), using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1682 : return (_Uninitialized_move(_First, _Last, |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 10 mov eax, DWORD PTR __Ptr$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$_Uninitialized_move@PAIPAIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAPAIPAI00AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_move<unsigned int *,unsigned int *,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 00021 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1683 : _Ptr, this->_Getal())); |
| ; 1684 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 0c 00 ret 12 ; 0000000cH |
| ??$_Umove@PAI@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAI00@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Umove<unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 8 |
| $T2 = -12 ; size = 8 |
| $T3 = -3 ; size = 1 |
| $T4 = -2 ; size = 1 |
| $T5 = -1 ; size = 1 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ??$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z PROC ; std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2556 : { // copy [_First, _Last) backwards to [..., _Dest) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| |
| ; 2557 : _DEPRECATE_UNCHECKED(copy_backward, _Dest); |
| |
| 00006 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 00009 50 push eax |
| 0000a 8b 4d 1c mov ecx, DWORD PTR __Dest$[ebp] |
| 0000d 51 push ecx |
| 0000e e8 00 00 00 00 call ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Is_checked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00013 83 c4 08 add esp, 8 |
| 00016 88 45 ff mov BYTE PTR $T5[ebp], al |
| 00019 0f b6 55 ff movzx edx, BYTE PTR $T5[ebp] |
| 0001d 52 push edx |
| 0001e e8 00 00 00 00 call ?_Deprecate@_Unchecked_iterators@?1???$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z ; `std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate |
| 00023 83 c4 04 add esp, 4 |
| |
| ; 2558 : _DEBUG_RANGE_PTR(_First, _Last, _Dest); |
| ; 2559 : return (_Copy_backward1(_Unchecked(_First), _Unchecked(_Last), |
| |
| 00026 8d 45 1c lea eax, DWORD PTR __Dest$[ebp] |
| 00029 50 push eax |
| 0002a 8d 4d fe lea ecx, DWORD PTR $T4[ebp] |
| 0002d 51 push ecx |
| 0002e e8 00 00 00 00 call ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00033 83 c4 08 add esp, 8 |
| 00036 8a 10 mov dl, BYTE PTR [eax] |
| 00038 0f b6 c2 movzx eax, dl |
| 0003b 50 push eax |
| 0003c 8d 4d 0c lea ecx, DWORD PTR __First$[ebp] |
| 0003f 51 push ecx |
| 00040 8d 55 fd lea edx, DWORD PTR $T3[ebp] |
| 00043 52 push edx |
| 00044 e8 00 00 00 00 call ??$_Iter_cat@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AUrandom_access_iterator_tag@0@ABV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Iter_cat<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00049 83 c4 08 add esp, 8 |
| 0004c 8a 00 mov al, BYTE PTR [eax] |
| 0004e 0f b6 c8 movzx ecx, al |
| 00051 51 push ecx |
| 00052 8b 55 20 mov edx, DWORD PTR __Dest$[ebp+4] |
| 00055 52 push edx |
| 00056 8b 45 1c mov eax, DWORD PTR __Dest$[ebp] |
| 00059 50 push eax |
| 0005a 8b 4d 18 mov ecx, DWORD PTR __Last$[ebp+4] |
| 0005d 51 push ecx |
| 0005e 8b 55 14 mov edx, DWORD PTR __Last$[ebp] |
| 00061 52 push edx |
| 00062 8d 45 f4 lea eax, DWORD PTR $T2[ebp] |
| 00065 50 push eax |
| 00066 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 0006b 83 c4 0c add esp, 12 ; 0000000cH |
| 0006e 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00071 51 push ecx |
| 00072 8b 10 mov edx, DWORD PTR [eax] |
| 00074 52 push edx |
| 00075 8b 45 10 mov eax, DWORD PTR __First$[ebp+4] |
| 00078 50 push eax |
| 00079 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 0007c 51 push ecx |
| 0007d 8d 55 ec lea edx, DWORD PTR $T1[ebp] |
| 00080 52 push edx |
| 00081 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00086 83 c4 0c add esp, 12 ; 0000000cH |
| 00089 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0008c 51 push ecx |
| 0008d 8b 10 mov edx, DWORD PTR [eax] |
| 0008f 52 push edx |
| 00090 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00093 50 push eax |
| 00094 e8 00 00 00 00 call ??$_Copy_backward1@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00Urandom_access_iterator_tag@0@1@Z ; std::_Copy_backward1<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00099 83 c4 24 add esp, 36 ; 00000024H |
| 0009c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2560 : _Dest, _Iter_cat(_First), _Iter_cat(_Dest))); |
| ; 2561 : } |
| |
| 0009f 8b e5 mov esp, ebp |
| 000a1 5d pop ebp |
| 000a2 c3 ret 0 |
| ??$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ENDP ; std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 8 |
| __Last$ = 20 ; size = 8 |
| __Dest$ = 28 ; size = 8 |
| ??$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z PROC ; std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >, COMDAT |
| |
| ; 2321 : { // copy [_First, _Last) to [_Dest, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2322 : _DEPRECATE_UNCHECKED(copy, _Dest); |
| |
| 00004 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 00007 50 push eax |
| 00008 8b 4d 1c mov ecx, DWORD PTR __Dest$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Is_checked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AU?$integral_constant@_N$00@0@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@@Z ; std::_Is_checked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00011 83 c4 08 add esp, 8 |
| 00014 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00017 0f b6 55 ff movzx edx, BYTE PTR $T1[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ?_Deprecate@_Unchecked_iterators@?1???$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V32@00@Z@SAXU?$integral_constant@_N$00@2@@Z ; `std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > >'::`2'::_Unchecked_iterators::_Deprecate |
| 00021 83 c4 04 add esp, 4 |
| |
| ; 2323 : return (_Copy_no_deprecate(_First, _Last, _Dest)); |
| |
| 00024 8b 45 20 mov eax, DWORD PTR __Dest$[ebp+4] |
| 00027 50 push eax |
| 00028 8b 4d 1c mov ecx, DWORD PTR __Dest$[ebp] |
| 0002b 51 push ecx |
| 0002c 8b 55 18 mov edx, DWORD PTR __Last$[ebp+4] |
| 0002f 52 push edx |
| 00030 8b 45 14 mov eax, DWORD PTR __Last$[ebp] |
| 00033 50 push eax |
| 00034 8b 4d 10 mov ecx, DWORD PTR __First$[ebp+4] |
| 00037 51 push ecx |
| 00038 8b 55 0c mov edx, DWORD PTR __First$[ebp] |
| 0003b 52 push edx |
| 0003c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 0003f 50 push eax |
| 00040 e8 00 00 00 00 call ??$_Copy_no_deprecate@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::_Copy_no_deprecate<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00045 83 c4 1c add esp, 28 ; 0000001cH |
| 00048 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2324 : } |
| |
| 0004b 8b e5 mov esp, ebp |
| 0004d 5d pop ebp |
| 0004e c3 ret 0 |
| ??$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ENDP ; std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$fill@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z |
| _TEXT SEGMENT |
| $T1 = -16 ; size = 8 |
| $T2 = -8 ; size = 8 |
| __First$ = 8 ; size = 8 |
| __Last$ = 16 ; size = 8 |
| __Val$ = 24 ; size = 4 |
| ??$fill@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z PROC ; std::fill<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool>, COMDAT |
| |
| ; 2775 : { // copy _Val through [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 2776 : _DEBUG_RANGE(_First, _Last); |
| ; 2777 : _Fill_unchecked(_Unchecked(_First), _Unchecked(_Last), _Val); |
| |
| 00006 8b 45 18 mov eax, DWORD PTR __Val$[ebp] |
| 00009 50 push eax |
| 0000a 8b 4d 14 mov ecx, DWORD PTR __Last$[ebp+4] |
| 0000d 51 push ecx |
| 0000e 8b 55 10 mov edx, DWORD PTR __Last$[ebp] |
| 00011 52 push edx |
| 00012 8d 45 f8 lea eax, DWORD PTR $T2[ebp] |
| 00015 50 push eax |
| 00016 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 0001b 83 c4 0c add esp, 12 ; 0000000cH |
| 0001e 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00021 51 push ecx |
| 00022 8b 10 mov edx, DWORD PTR [eax] |
| 00024 52 push edx |
| 00025 8b 45 0c mov eax, DWORD PTR __First$[ebp+4] |
| 00028 50 push eax |
| 00029 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 0002c 51 push ecx |
| 0002d 8d 55 f0 lea edx, DWORD PTR $T1[ebp] |
| 00030 52 push edx |
| 00031 e8 00 00 00 00 call ??$_Unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@@Z ; std::_Unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00036 83 c4 0c add esp, 12 ; 0000000cH |
| 00039 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0003c 51 push ecx |
| 0003d 8b 10 mov edx, DWORD PTR [eax] |
| 0003f 52 push edx |
| 00040 e8 00 00 00 00 call ??$_Fill_unchecked@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ; std::_Fill_unchecked<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| 00045 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 2778 : } |
| |
| 00048 8b e5 mov esp, ebp |
| 0004a 5d pop ebp |
| 0004b c3 ret 0 |
| ??$fill@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ENDP ; std::fill<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$_Sequence@D@std@@QAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$_Sequence@D@std@@QAEPAXI@Z PROC ; std::_Sequence<char>::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Sequence@D@std@@QAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 14 push 20 ; 00000014H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$_Sequence@D@std@@QAEPAXI@Z ENDP ; std::_Sequence<char>::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1?$_Sequence@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Sequence@D@std@@QAE@XZ PROC ; std::_Sequence<char>::~_Sequence<char>, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 04 add ecx, 4 |
| 0000d e8 00 00 00 00 call ??1?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::~_Buf<char> |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??1?$_Sequence@D@std@@QAE@XZ ENDP ; std::_Sequence<char>::~_Sequence<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Sequence@D@std@@QAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Len$ = 8 ; size = 4 |
| ??0?$_Sequence@D@std@@QAE@I@Z PROC ; std::_Sequence<char>::_Sequence<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1722 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1721 : : _Sz(_Len) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Len$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 1722 : { // construct |
| |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 83 c1 04 add ecx, 4 |
| 00015 e8 00 00 00 00 call ??0?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::_Buf<char> |
| |
| ; 1723 : } |
| |
| 0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001d 8b e5 mov esp, ebp |
| 0001f 5d pop ebp |
| 00020 c2 04 00 ret 4 |
| ??0?$_Sequence@D@std@@QAE@I@Z ENDP ; std::_Sequence<char>::_Sequence<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@IABI@?$allocator@I@std@@QAEXPAIABI@Z |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv73 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| _<_Args_0>$ = 12 ; size = 4 |
| ??$construct@IABI@?$allocator@I@std@@QAEXPAIABI@Z PROC ; std::allocator<unsigned int>::construct<unsigned int,unsigned int const &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 636 : { // construct _Objty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 637 : ::new ((void *)_Ptr) _Objty(_STD forward<_Types>(_Args)...); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000c 50 push eax |
| 0000d 6a 04 push 4 |
| 0000f e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new |
| 00014 83 c4 08 add esp, 8 |
| 00017 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 0001a 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001e 74 1b je SHORT $LN3@construct |
| 00020 8b 4d 0c mov ecx, DWORD PTR _<_Args_0>$[ebp] |
| 00023 51 push ecx |
| 00024 e8 00 00 00 00 call ??$forward@ABI@std@@YAABIABI@Z ; std::forward<unsigned int const &> |
| 00029 83 c4 04 add esp, 4 |
| 0002c 8b 55 fc mov edx, DWORD PTR $T1[ebp] |
| 0002f 8b 00 mov eax, DWORD PTR [eax] |
| 00031 89 02 mov DWORD PTR [edx], eax |
| 00033 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00036 89 4d f8 mov DWORD PTR tv73[ebp], ecx |
| 00039 eb 07 jmp SHORT $LN1@construct |
| $LN3@construct: |
| 0003b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| $LN1@construct: |
| |
| ; 638 : } |
| |
| 00042 8b e5 mov esp, ebp |
| 00044 5d pop ebp |
| 00045 c2 08 00 ret 8 |
| ??$construct@IABI@?$allocator@I@std@@QAEXPAIABI@Z ENDP ; std::allocator<unsigned int>::construct<unsigned int,unsigned int const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z PROC ; std::_Node_class<char,std::regex_traits<char> >::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Node_class@DV?$regex_traits@D@std@@@std@@UAE@XZ ; std::_Node_class<char,std::regex_traits<char> >::~_Node_class<char,std::regex_traits<char> > |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 2c push 44 ; 0000002cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$_Node_class@DV?$regex_traits@D@std@@@std@@UAEPAXI@Z ENDP ; std::_Node_class<char,std::regex_traits<char> >::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z |
| _TEXT SEGMENT |
| _this$ = -20 ; size = 4 |
| tv70 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| __Temp$2 = -8 ; size = 4 |
| $T3 = -4 ; size = 4 |
| __Head$ = 8 ; size = 4 |
| ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z PROC ; std::_Node_class<char,std::regex_traits<char> >::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1874 : { // clean up a list of sequences |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| $LN2@Tidy: |
| |
| ; 1875 : while (_Head) |
| |
| 00009 83 7d 08 00 cmp DWORD PTR __Head$[ebp], 0 |
| 0000d 74 39 je SHORT $LN1@Tidy |
| |
| ; 1876 : { // delete the head of the list |
| ; 1877 : _Sequence<_Elem> *_Temp = _Head; |
| |
| 0000f 8b 45 08 mov eax, DWORD PTR __Head$[ebp] |
| 00012 89 45 f8 mov DWORD PTR __Temp$2[ebp], eax |
| |
| ; 1878 : _Head = _Head->_Next; |
| |
| 00015 8b 4d 08 mov ecx, DWORD PTR __Head$[ebp] |
| 00018 8b 51 10 mov edx, DWORD PTR [ecx+16] |
| 0001b 89 55 08 mov DWORD PTR __Head$[ebp], edx |
| |
| ; 1879 : delete _Temp; |
| |
| 0001e 8b 45 f8 mov eax, DWORD PTR __Temp$2[ebp] |
| 00021 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 00024 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 00027 89 4d fc mov DWORD PTR $T3[ebp], ecx |
| 0002a 83 7d fc 00 cmp DWORD PTR $T3[ebp], 0 |
| 0002e 74 0f je SHORT $LN5@Tidy |
| 00030 6a 01 push 1 |
| 00032 8b 4d fc mov ecx, DWORD PTR $T3[ebp] |
| 00035 e8 00 00 00 00 call ??_G?$_Sequence@D@std@@QAEPAXI@Z |
| 0003a 89 45 f0 mov DWORD PTR tv70[ebp], eax |
| 0003d eb 07 jmp SHORT $LN6@Tidy |
| $LN5@Tidy: |
| 0003f c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv70[ebp], 0 |
| $LN6@Tidy: |
| |
| ; 1880 : } |
| |
| 00046 eb c1 jmp SHORT $LN2@Tidy |
| $LN1@Tidy: |
| |
| ; 1881 : } |
| |
| 00048 8b e5 mov esp, ebp |
| 0004a 5d pop ebp |
| 0004b c2 04 00 ret 4 |
| ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z ENDP ; std::_Node_class<char,std::regex_traits<char> >::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1?$_Node_class@DV?$regex_traits@D@std@@@std@@UAE@XZ |
| _TEXT SEGMENT |
| tv91 = -32 ; size = 4 |
| $T1 = -28 ; size = 4 |
| tv85 = -24 ; size = 4 |
| $T2 = -20 ; size = 4 |
| $T3 = -16 ; size = 4 |
| $T4 = -12 ; size = 4 |
| $T5 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ??1?$_Node_class@DV?$regex_traits@D@std@@@std@@UAE@XZ PROC ; std::_Node_class<char,std::regex_traits<char> >::~_Node_class<char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1865 : { // destroy |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 20 sub esp, 32 ; 00000020H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ |
| |
| ; 1866 : _Tidy(_Coll); |
| |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 14 mov edx, DWORD PTR [ecx+20] |
| 00018 52 push edx |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z ; std::_Node_class<char,std::regex_traits<char> >::_Tidy |
| |
| ; 1867 : delete _Small; |
| |
| 00021 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00024 8b 48 18 mov ecx, DWORD PTR [eax+24] |
| 00027 89 4d f0 mov DWORD PTR $T3[ebp], ecx |
| 0002a 6a 20 push 32 ; 00000020H |
| 0002c 8b 55 f0 mov edx, DWORD PTR $T3[ebp] |
| 0002f 52 push edx |
| 00030 e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00035 83 c4 08 add esp, 8 |
| |
| ; 1868 : delete _Large; |
| |
| 00038 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003b 8b 48 1c mov ecx, DWORD PTR [eax+28] |
| 0003e 89 4d ec mov DWORD PTR $T2[ebp], ecx |
| 00041 8b 55 ec mov edx, DWORD PTR $T2[ebp] |
| 00044 89 55 f8 mov DWORD PTR $T5[ebp], edx |
| 00047 83 7d f8 00 cmp DWORD PTR $T5[ebp], 0 |
| 0004b 74 0f je SHORT $LN3@Node_class |
| 0004d 6a 01 push 1 |
| 0004f 8b 4d f8 mov ecx, DWORD PTR $T5[ebp] |
| 00052 e8 00 00 00 00 call ??_G?$_Buf@D@std@@QAEPAXI@Z |
| 00057 89 45 e8 mov DWORD PTR tv85[ebp], eax |
| 0005a eb 07 jmp SHORT $LN4@Node_class |
| $LN3@Node_class: |
| 0005c c7 45 e8 00 00 |
| 00 00 mov DWORD PTR tv85[ebp], 0 |
| $LN4@Node_class: |
| |
| ; 1869 : delete _Ranges; |
| |
| 00063 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00066 8b 48 20 mov ecx, DWORD PTR [eax+32] |
| 00069 89 4d e4 mov DWORD PTR $T1[ebp], ecx |
| 0006c 8b 55 e4 mov edx, DWORD PTR $T1[ebp] |
| 0006f 89 55 f4 mov DWORD PTR $T4[ebp], edx |
| 00072 83 7d f4 00 cmp DWORD PTR $T4[ebp], 0 |
| 00076 74 0f je SHORT $LN5@Node_class |
| 00078 6a 01 push 1 |
| 0007a 8b 4d f4 mov ecx, DWORD PTR $T4[ebp] |
| 0007d e8 00 00 00 00 call ??_G?$_Buf@D@std@@QAEPAXI@Z |
| 00082 89 45 e0 mov DWORD PTR tv91[ebp], eax |
| 00085 eb 07 jmp SHORT $LN6@Node_class |
| $LN5@Node_class: |
| 00087 c7 45 e0 00 00 |
| 00 00 mov DWORD PTR tv91[ebp], 0 |
| $LN6@Node_class: |
| |
| ; 1870 : _Tidy(_Equiv); |
| |
| 0008e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00091 8b 48 28 mov ecx, DWORD PTR [eax+40] |
| 00094 51 push ecx |
| 00095 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00098 e8 00 00 00 00 call ?_Tidy@?$_Node_class@DV?$regex_traits@D@std@@@std@@QAEXPAU?$_Sequence@D@2@@Z ; std::_Node_class<char,std::regex_traits<char> >::_Tidy |
| |
| ; 1871 : } |
| |
| 0009d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a0 e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 000a5 8b e5 mov esp, ebp |
| 000a7 5d pop ebp |
| 000a8 c3 ret 0 |
| ??1?$_Node_class@DV?$regex_traits@D@std@@@std@@UAE@XZ ENDP ; std::_Node_class<char,std::regex_traits<char> >::~_Node_class<char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Node_class@DV?$regex_traits@D@std@@@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ty$ = 8 ; size = 4 |
| __Fl$ = 12 ; size = 4 |
| ??0?$_Node_class@DV?$regex_traits@D@std@@@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z PROC ; std::_Node_class<char,std::regex_traits<char> >::_Node_class<char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1861 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1859 : : _Node_base(_Ty, _Fl), _Coll(0), _Small(0), _Large(0), _Ranges(0), |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Fl$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ty$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1861 : { // construct |
| |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a c7 02 00 00 00 |
| 00 mov DWORD PTR [edx], OFFSET ??_7?$_Node_class@DV?$regex_traits@D@std@@@std@@6B@ |
| |
| ; 1859 : : _Node_base(_Ty, _Fl), _Coll(0), _Small(0), _Large(0), _Ranges(0), |
| |
| 00020 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00023 c7 40 14 00 00 |
| 00 00 mov DWORD PTR [eax+20], 0 |
| 0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002d c7 41 18 00 00 |
| 00 00 mov DWORD PTR [ecx+24], 0 |
| 00034 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00037 c7 42 1c 00 00 |
| 00 00 mov DWORD PTR [edx+28], 0 |
| 0003e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00041 c7 40 20 00 00 |
| 00 00 mov DWORD PTR [eax+32], 0 |
| |
| ; 1860 : _Classes((typename _RxTraits::char_class_type)0), _Equiv(0) |
| |
| 00048 33 c9 xor ecx, ecx |
| 0004a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0004d 66 89 4a 24 mov WORD PTR [edx+36], cx |
| 00051 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00054 c7 40 28 00 00 |
| 00 00 mov DWORD PTR [eax+40], 0 |
| |
| ; 1862 : } |
| |
| 0005b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0005e 8b e5 mov esp, ebp |
| 00060 5d pop ebp |
| 00061 c2 08 00 ret 8 |
| ??0?$_Node_class@DV?$regex_traits@D@std@@@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ENDP ; std::_Node_class<char,std::regex_traits<char> >::_Node_class<char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z |
| _TEXT SEGMENT |
| $T1 = -276 ; size = 4 |
| _this$ = -272 ; size = 4 |
| __Ix$ = -268 ; size = 4 |
| __Mask$ = -264 ; size = 2 |
| __Names$ = -260 ; size = 256 |
| __$ArrayPad$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Icase$ = 16 ; size = 1 |
| ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z PROC ; std::_Regex_traits<char>::lookup_classname<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 347 : { // map [_First, _Last) to character class mask value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 81 ec 14 01 00 |
| 00 sub esp, 276 ; 00000114H |
| 00009 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000e 33 c5 xor eax, ebp |
| 00010 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00013 89 8d f0 fe ff |
| ff mov DWORD PTR _this$[ebp], ecx |
| |
| ; 348 : #define _REGEX_CHAR_CLASS_NAME(n, c) \ |
| ; 349 : {n, L ## n, sizeof (n) / sizeof (n[0]) - 1, c} |
| ; 350 : const _Cl_names _Names[] = |
| ; 351 : { // map class names to numeric constants |
| ; 352 : _REGEX_CHAR_CLASS_NAME("alnum", _Ch_alnum), |
| |
| 00019 c7 85 fc fe ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp], OFFSET ??_C@_05IIMHCHIO@alnum?$AA@ |
| 00023 c7 85 00 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+4], OFFSET ??_C@_1M@KLMEPMCM@?$AAa?$AAl?$AAn?$AAu?$AAm?$AA?$AA@ |
| 0002d c7 85 04 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+8], 5 |
| 00037 b8 07 01 00 00 mov eax, 263 ; 00000107H |
| 0003c 66 89 85 08 ff |
| ff ff mov WORD PTR __Names$[ebp+12], ax |
| |
| ; 353 : _REGEX_CHAR_CLASS_NAME("alpha", _Ch_alpha), |
| |
| 00043 c7 85 0c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+16], OFFSET ??_C@_05IAEKHIAN@alpha?$AA@ |
| 0004d c7 85 10 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+20], OFFSET ??_C@_1M@DHGLHBMI@?$AAa?$AAl?$AAp?$AAh?$AAa?$AA?$AA@ |
| 00057 c7 85 14 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+24], 5 |
| 00061 b9 03 01 00 00 mov ecx, 259 ; 00000103H |
| 00066 66 89 8d 18 ff |
| ff ff mov WORD PTR __Names$[ebp+28], cx |
| |
| ; 354 : _REGEX_CHAR_CLASS_NAME("blank", _Ch_blank), |
| |
| 0006d c7 85 1c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+32], OFFSET ??_C@_05BABJKOGB@blank?$AA@ |
| 00077 c7 85 20 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+36], OFFSET ??_C@_1M@EJAAJBPE@?$AAb?$AAl?$AAa?$AAn?$AAk?$AA?$AA@ |
| 00081 c7 85 24 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+40], 5 |
| 0008b ba 48 00 00 00 mov edx, 72 ; 00000048H |
| 00090 66 89 95 28 ff |
| ff ff mov WORD PTR __Names$[ebp+44], dx |
| |
| ; 355 : _REGEX_CHAR_CLASS_NAME("cntrl", _Ch_cntrl), |
| |
| 00097 c7 85 2c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+48], OFFSET ??_C@_05JMDPEFNK@cntrl?$AA@ |
| 000a1 c7 85 30 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+52], OFFSET ??_C@_1M@LMIMILA@?$AAc?$AAn?$AAt?$AAr?$AAl?$AA?$AA@ |
| 000ab c7 85 34 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+56], 5 |
| 000b5 b8 20 00 00 00 mov eax, 32 ; 00000020H |
| 000ba 66 89 85 38 ff |
| ff ff mov WORD PTR __Names$[ebp+60], ax |
| |
| ; 356 : _REGEX_CHAR_CLASS_NAME("d", _Ch_digit), |
| |
| 000c1 c7 85 3c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+64], OFFSET ??_C@_01LPLHEDKD@d?$AA@ |
| 000cb c7 85 40 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+68], OFFSET ??_C@_13GKPPEALH@?$AAd?$AA?$AA@ |
| 000d5 c7 85 44 ff ff |
| ff 01 00 00 00 mov DWORD PTR __Names$[ebp+72], 1 |
| 000df b9 04 00 00 00 mov ecx, 4 |
| 000e4 66 89 8d 48 ff |
| ff ff mov WORD PTR __Names$[ebp+76], cx |
| |
| ; 357 : _REGEX_CHAR_CLASS_NAME("digit", _Ch_digit), |
| |
| 000eb c7 85 4c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+80], OFFSET ??_C@_05ODNOIFML@digit?$AA@ |
| 000f5 c7 85 50 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+84], OFFSET ??_C@_1M@JDAEIBKG@?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ |
| 000ff c7 85 54 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+88], 5 |
| 00109 ba 04 00 00 00 mov edx, 4 |
| 0010e 66 89 95 58 ff |
| ff ff mov WORD PTR __Names$[ebp+92], dx |
| |
| ; 358 : _REGEX_CHAR_CLASS_NAME("graph", _Ch_graph), |
| |
| 00115 c7 85 5c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+96], OFFSET ??_C@_05KCJBMLII@graph?$AA@ |
| 0011f c7 85 60 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+100], OFFSET ??_C@_1M@MDKNJLLK@?$AAg?$AAr?$AAa?$AAp?$AAh?$AA?$AA@ |
| 00129 c7 85 64 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+104], 5 |
| 00133 b8 17 01 00 00 mov eax, 279 ; 00000117H |
| 00138 66 89 85 68 ff |
| ff ff mov WORD PTR __Names$[ebp+108], ax |
| |
| ; 359 : _REGEX_CHAR_CLASS_NAME("lower", _Ch_lower), |
| |
| 0013f c7 85 6c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+112], OFFSET ??_C@_05IPJEPLHL@lower?$AA@ |
| 00149 c7 85 70 ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+116], OFFSET ??_C@_1M@LGAECJJD@?$AAl?$AAo?$AAw?$AAe?$AAr?$AA?$AA@ |
| 00153 c7 85 74 ff ff |
| ff 05 00 00 00 mov DWORD PTR __Names$[ebp+120], 5 |
| 0015d b9 02 00 00 00 mov ecx, 2 |
| 00162 66 89 8d 78 ff |
| ff ff mov WORD PTR __Names$[ebp+124], cx |
| |
| ; 360 : _REGEX_CHAR_CLASS_NAME("print", _Ch_print), |
| |
| 00169 c7 85 7c ff ff |
| ff 00 00 00 00 mov DWORD PTR __Names$[ebp+128], OFFSET ??_C@_05IJDJACGD@print?$AA@ |
| 00173 c7 45 80 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+132], OFFSET ??_C@_1M@ELNLAPLA@?$AAp?$AAr?$AAi?$AAn?$AAt?$AA?$AA@ |
| 0017a c7 45 84 05 00 |
| 00 00 mov DWORD PTR __Names$[ebp+136], 5 |
| 00181 ba d7 01 00 00 mov edx, 471 ; 000001d7H |
| 00186 66 89 55 88 mov WORD PTR __Names$[ebp+140], dx |
| |
| ; 361 : _REGEX_CHAR_CLASS_NAME("punct", _Ch_punct), |
| |
| 0018a c7 45 8c 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+144], OFFSET ??_C@_05KOBGHFJJ@punct?$AA@ |
| 00191 c7 45 90 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+148], OFFSET ??_C@_1M@BPFMAOAO@?$AAp?$AAu?$AAn?$AAc?$AAt?$AA?$AA@ |
| 00198 c7 45 94 05 00 |
| 00 00 mov DWORD PTR __Names$[ebp+152], 5 |
| 0019f b8 10 00 00 00 mov eax, 16 ; 00000010H |
| 001a4 66 89 45 98 mov WORD PTR __Names$[ebp+156], ax |
| |
| ; 362 : _REGEX_CHAR_CLASS_NAME("space", _Ch_space), |
| |
| 001a8 c7 45 9c 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+160], OFFSET ??_C@_05OLNILLAB@space?$AA@ |
| 001af c7 45 a0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+164], OFFSET ??_C@_1M@LPGODFOM@?$AAs?$AAp?$AAa?$AAc?$AAe?$AA?$AA@ |
| 001b6 c7 45 a4 05 00 |
| 00 00 mov DWORD PTR __Names$[ebp+168], 5 |
| 001bd b9 48 00 00 00 mov ecx, 72 ; 00000048H |
| 001c2 66 89 4d a8 mov WORD PTR __Names$[ebp+172], cx |
| |
| ; 363 : _REGEX_CHAR_CLASS_NAME("s", _Ch_space), |
| |
| 001c6 c7 45 ac 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+176], OFFSET ??_C@_01LKDEMHDF@s?$AA@ |
| 001cd c7 45 b0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+180], OFFSET ??_C@_13KHDBCPJB@?$AAs?$AA?$AA@ |
| 001d4 c7 45 b4 01 00 |
| 00 00 mov DWORD PTR __Names$[ebp+184], 1 |
| 001db ba 48 00 00 00 mov edx, 72 ; 00000048H |
| 001e0 66 89 55 b8 mov WORD PTR __Names$[ebp+188], dx |
| |
| ; 364 : _REGEX_CHAR_CLASS_NAME("upper", _Ch_upper), |
| |
| 001e4 c7 45 bc 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+192], OFFSET ??_C@_05NECKJAMC@upper?$AA@ |
| 001eb c7 45 c0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+196], OFFSET ??_C@_1M@PLNFCNIC@?$AAu?$AAp?$AAp?$AAe?$AAr?$AA?$AA@ |
| 001f2 c7 45 c4 05 00 |
| 00 00 mov DWORD PTR __Names$[ebp+200], 5 |
| 001f9 b8 01 00 00 00 mov eax, 1 |
| 001fe 66 89 45 c8 mov WORD PTR __Names$[ebp+204], ax |
| |
| ; 365 : _REGEX_CHAR_CLASS_NAME("w", (ctype_base::mask)(-1)), |
| |
| 00202 c7 45 cc 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+208], OFFSET ??_C@_01NOFIACDB@w?$AA@ |
| 00209 c7 45 d0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+212], OFFSET ??_C@_13CIFDLIMG@?$AAw?$AA?$AA@ |
| 00210 c7 45 d4 01 00 |
| 00 00 mov DWORD PTR __Names$[ebp+216], 1 |
| 00217 83 c9 ff or ecx, -1 |
| 0021a 66 89 4d d8 mov WORD PTR __Names$[ebp+220], cx |
| |
| ; 366 : _REGEX_CHAR_CLASS_NAME("xdigit", _Ch_xdigit), |
| |
| 0021e c7 45 dc 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+224], OFFSET ??_C@_06BAPHGFFK@xdigit?$AA@ |
| 00225 c7 45 e0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+228], OFFSET ??_C@_1O@OAFMJDHN@?$AAx?$AAd?$AAi?$AAg?$AAi?$AAt?$AA?$AA@ |
| 0022c c7 45 e4 06 00 |
| 00 00 mov DWORD PTR __Names$[ebp+232], 6 |
| 00233 ba 80 00 00 00 mov edx, 128 ; 00000080H |
| 00238 66 89 55 e8 mov WORD PTR __Names$[ebp+236], dx |
| |
| ; 367 : {0, 0, 0}, |
| |
| 0023c c7 45 ec 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+240], 0 |
| 00243 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+244], 0 |
| 0024a c7 45 f4 00 00 |
| 00 00 mov DWORD PTR __Names$[ebp+248], 0 |
| 00251 33 c0 xor eax, eax |
| 00253 89 45 f8 mov DWORD PTR __Names$[ebp+252], eax |
| |
| ; 368 : }; |
| ; 369 : #undef _REGEX_CHAR_CLASS_NAME |
| ; 370 : |
| ; 371 : _DEBUG_RANGE(_First, _Last); |
| ; 372 : unsigned int _Ix = 0; |
| |
| 00256 c7 85 f4 fe ff |
| ff 00 00 00 00 mov DWORD PTR __Ix$[ebp], 0 |
| |
| ; 373 : for (; _Names[_Ix]._Get<_Elem>(); ++_Ix) |
| |
| 00260 eb 0f jmp SHORT $LN4@lookup_cla |
| $LN2@lookup_cla: |
| 00262 8b 8d f4 fe ff |
| ff mov ecx, DWORD PTR __Ix$[ebp] |
| 00268 83 c1 01 add ecx, 1 |
| 0026b 89 8d f4 fe ff |
| ff mov DWORD PTR __Ix$[ebp], ecx |
| $LN4@lookup_cla: |
| 00271 8b 95 f4 fe ff |
| ff mov edx, DWORD PTR __Ix$[ebp] |
| 00277 c1 e2 04 shl edx, 4 |
| 0027a 8d 8c 15 fc fe |
| ff ff lea ecx, DWORD PTR __Names$[ebp+edx] |
| 00281 e8 00 00 00 00 call ??$_Get@D@_Cl_names@std@@QBEPBDXZ ; std::_Cl_names::_Get<char> |
| 00286 85 c0 test eax, eax |
| 00288 74 6f je SHORT $LN3@lookup_cla |
| |
| ; 374 : if (_STD equal(_First, _Last, |
| |
| 0028a 8b 85 f0 fe ff |
| ff mov eax, DWORD PTR _this$[ebp] |
| 00290 50 push eax |
| 00291 8d 8d ec fe ff |
| ff lea ecx, DWORD PTR $T1[ebp] |
| 00297 e8 00 00 00 00 call ??0?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@QAE@ABV?$_Regex_traits@D@1@@Z ; std::_Cmp_icase<std::_Regex_traits<char> >::_Cmp_icase<std::_Regex_traits<char> > |
| 0029c 8b 08 mov ecx, DWORD PTR [eax] |
| 0029e 51 push ecx |
| 0029f 8b 95 f4 fe ff |
| ff mov edx, DWORD PTR __Ix$[ebp] |
| 002a5 c1 e2 04 shl edx, 4 |
| 002a8 8d 8c 15 fc fe |
| ff ff lea ecx, DWORD PTR __Names$[ebp+edx] |
| 002af e8 00 00 00 00 call ??$_Get@D@_Cl_names@std@@QBEPBDXZ ; std::_Cl_names::_Get<char> |
| 002b4 8b 8d f4 fe ff |
| ff mov ecx, DWORD PTR __Ix$[ebp] |
| 002ba c1 e1 04 shl ecx, 4 |
| 002bd 03 84 0d 04 ff |
| ff ff add eax, DWORD PTR __Names$[ebp+ecx+8] |
| 002c4 50 push eax |
| 002c5 8b 95 f4 fe ff |
| ff mov edx, DWORD PTR __Ix$[ebp] |
| 002cb c1 e2 04 shl edx, 4 |
| 002ce 8d 8c 15 fc fe |
| ff ff lea ecx, DWORD PTR __Names$[ebp+edx] |
| 002d5 e8 00 00 00 00 call ??$_Get@D@_Cl_names@std@@QBEPBDXZ ; std::_Cl_names::_Get<char> |
| 002da 50 push eax |
| 002db 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 002de 50 push eax |
| 002df 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 002e2 51 push ecx |
| 002e3 e8 00 00 00 00 call ??$equal@PBDPBDU?$_Cmp_icase@V?$_Regex_traits@D@std@@@std@@@std@@YA_NPBD000U?$_Cmp_icase@V?$_Regex_traits@D@std@@@0@@Z ; std::equal<char const *,char const *,std::_Cmp_icase<std::_Regex_traits<char> > > |
| 002e8 83 c4 14 add esp, 20 ; 00000014H |
| 002eb 0f b6 d0 movzx edx, al |
| 002ee 85 d2 test edx, edx |
| 002f0 74 02 je SHORT $LN5@lookup_cla |
| |
| ; 375 : _Names[_Ix]._Get<_Elem>(), |
| ; 376 : _Names[_Ix]._Get<_Elem>() + _Names[_Ix]._Len, |
| ; 377 : _Cmp_icase<_Regex_traits<_Elem> >(*this))) |
| ; 378 : break; |
| |
| 002f2 eb 05 jmp SHORT $LN3@lookup_cla |
| $LN5@lookup_cla: |
| |
| ; 379 : |
| ; 380 : char_class_type _Mask = (char_class_type)0; |
| |
| 002f4 e9 69 ff ff ff jmp $LN2@lookup_cla |
| $LN3@lookup_cla: |
| 002f9 33 c0 xor eax, eax |
| 002fb 66 89 85 f8 fe |
| ff ff mov WORD PTR __Mask$[ebp], ax |
| |
| ; 381 : if (_Names[_Ix]._Get<_Elem>() != 0) |
| |
| 00302 8b 8d f4 fe ff |
| ff mov ecx, DWORD PTR __Ix$[ebp] |
| 00308 c1 e1 04 shl ecx, 4 |
| 0030b 8d 8c 0d fc fe |
| ff ff lea ecx, DWORD PTR __Names$[ebp+ecx] |
| 00312 e8 00 00 00 00 call ??$_Get@D@_Cl_names@std@@QBEPBDXZ ; std::_Cl_names::_Get<char> |
| 00317 85 c0 test eax, eax |
| 00319 74 18 je SHORT $LN6@lookup_cla |
| |
| ; 382 : _Mask = _Names[_Ix]._Ctype; |
| |
| 0031b 8b 95 f4 fe ff |
| ff mov edx, DWORD PTR __Ix$[ebp] |
| 00321 c1 e2 04 shl edx, 4 |
| 00324 66 8b 84 15 08 |
| ff ff ff mov ax, WORD PTR __Names$[ebp+edx+12] |
| 0032c 66 89 85 f8 fe |
| ff ff mov WORD PTR __Mask$[ebp], ax |
| $LN6@lookup_cla: |
| |
| ; 383 : if (_Icase && _Mask & (_Ch_lower | _Ch_upper)) |
| |
| 00333 0f b6 4d 10 movzx ecx, BYTE PTR __Icase$[ebp] |
| 00337 85 c9 test ecx, ecx |
| 00339 74 1d je SHORT $LN7@lookup_cla |
| 0033b 0f bf 95 f8 fe |
| ff ff movsx edx, WORD PTR __Mask$[ebp] |
| 00342 83 e2 03 and edx, 3 |
| 00345 74 11 je SHORT $LN7@lookup_cla |
| |
| ; 384 : _Mask |= _Ch_lower | _Ch_upper; |
| |
| 00347 0f bf 85 f8 fe |
| ff ff movsx eax, WORD PTR __Mask$[ebp] |
| 0034e 83 c8 03 or eax, 3 |
| 00351 66 89 85 f8 fe |
| ff ff mov WORD PTR __Mask$[ebp], ax |
| $LN7@lookup_cla: |
| |
| ; 385 : return (_Mask); |
| |
| 00358 66 8b 85 f8 fe |
| ff ff mov ax, WORD PTR __Mask$[ebp] |
| |
| ; 386 : } |
| |
| 0035f 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 00362 33 cd xor ecx, ebp |
| 00364 e8 00 00 00 00 call @__security_check_cookie@4 |
| 00369 8b e5 mov esp, ebp |
| 0036b 5d pop ebp |
| 0036c c2 0c 00 ret 12 ; 0000000cH |
| ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z ENDP ; std::_Regex_traits<char>::lookup_classname<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-, COMDAT |
| ; _this$ = ecx |
| |
| ; 2322 : { // return difference of iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2323 : return (*(_Mybase *)this - _Right); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| |
| ; 2324 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z |
| _TEXT SEGMENT |
| __Tmp$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Off$ = 12 ; size = 4 |
| ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-, COMDAT |
| ; _this$ = ecx |
| |
| ; 2316 : { // return this - integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2317 : _Mytype _Tmp = *this; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00011 89 4d f4 mov DWORD PTR __Tmp$[ebp], ecx |
| 00014 89 55 f8 mov DWORD PTR __Tmp$[ebp+4], edx |
| |
| ; 2318 : return (_Tmp -= _Off); |
| |
| 00017 8b 45 0c mov eax, DWORD PTR __Off$[ebp] |
| 0001a 50 push eax |
| 0001b 8d 4d f4 lea ecx, DWORD PTR __Tmp$[ebp] |
| 0001e e8 00 00 00 00 call ??Z?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-= |
| 00023 8b 08 mov ecx, DWORD PTR [eax] |
| 00025 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00028 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 0002b 89 08 mov DWORD PTR [eax], ecx |
| 0002d 89 50 04 mov DWORD PTR [eax+4], edx |
| 00030 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2319 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 08 00 ret 8 |
| ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??Z?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??Z?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-=, COMDAT |
| ; _this$ = ecx |
| |
| ; 2311 : { // decrement by integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2312 : return (*this += -_Off); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000a f7 d8 neg eax |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| |
| ; 2313 : } |
| |
| 00015 8b e5 mov esp, ebp |
| 00017 5d pop ebp |
| 00018 c2 04 00 ret 4 |
| ??Z?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z |
| _TEXT SEGMENT |
| __Tmp$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Off$ = 12 ; size = 4 |
| ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+, COMDAT |
| ; _this$ = ecx |
| |
| ; 2305 : { // return this + integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2306 : _Mytype _Tmp = *this; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00011 89 4d f4 mov DWORD PTR __Tmp$[ebp], ecx |
| 00014 89 55 f8 mov DWORD PTR __Tmp$[ebp+4], edx |
| |
| ; 2307 : return (_Tmp += _Off); |
| |
| 00017 8b 45 0c mov eax, DWORD PTR __Off$[ebp] |
| 0001a 50 push eax |
| 0001b 8d 4d f4 lea ecx, DWORD PTR __Tmp$[ebp] |
| 0001e e8 00 00 00 00 call ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| 00023 8b 08 mov ecx, DWORD PTR [eax] |
| 00025 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00028 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 0002b 89 08 mov DWORD PTR [eax], ecx |
| 0002d 89 50 04 mov DWORD PTR [eax+4], edx |
| 00030 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2308 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 08 00 ret 8 |
| ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+=, COMDAT |
| ; _this$ = ecx |
| |
| ; 2299 : { // increment by integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2300 : *(_Mybase *)this += _Off; |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??Y?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| |
| ; 2301 : return (*this); |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2302 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c2 04 00 ret 4 |
| ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator--, COMDAT |
| ; _this$ = ecx |
| |
| ; 2286 : { // predecrement |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2287 : --*(_Mybase *)this; |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??F?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| |
| ; 2288 : return (*this); |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2289 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??F?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++, COMDAT |
| ; _this$ = ecx |
| |
| ; 2273 : { // preincrement |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2274 : ++*(_Mybase *)this; |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??E?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| |
| ; 2275 : return (*this); |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2276 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??E?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator*, COMDAT |
| ; _this$ = ecx |
| |
| ; 2268 : { // return (reference to) designated object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2269 : return (_Reft(*this)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0000e e8 00 00 00 00 call ??0?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@ABV?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 00013 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2270 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c2 04 00 ret 4 |
| ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PAIPAU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Mypvbool$ = 12 ; size = 4 |
| ??0?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PAIPAU_Container_base0@1@@Z PROC ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2264 : { // construct with offset and pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2263 : : _Mybase(_Ptr, _Mypvbool) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Mypvbool$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIPBU_Container_base0@1@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| |
| ; 2265 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 08 00 ret 8 |
| ??0?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PAIPAU_Container_base0@1@@Z ENDP ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Inc@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Inc@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Inc, COMDAT |
| ; _this$ = ecx |
| |
| ; 2202 : { // increment bit position |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2203 : if (this->_Myoff < _VBITS - 1) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 78 04 1f cmp DWORD PTR [eax+4], 31 ; 0000001fH |
| 0000e 73 11 jae SHORT $LN2@Inc |
| |
| ; 2204 : ++this->_Myoff; |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00016 83 c2 01 add edx, 1 |
| 00019 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001c 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 2205 : else |
| |
| 0001f eb 17 jmp SHORT $LN1@Inc |
| $LN2@Inc: |
| |
| ; 2206 : { // move to next word |
| ; 2207 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 2208 : if (this->_Getcont() == 0 || 0 < this->_Valid(1)) |
| ; 2209 : { // report error |
| ; 2210 : _DEBUG_ERROR("vector<bool> iterator not incrementable"); |
| ; 2211 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 2212 : } |
| ; 2213 : |
| ; 2214 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 2215 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0); |
| ; 2216 : _SCL_SECURE_VALIDATE_RANGE(this->_Valid(1) <= 0); |
| ; 2217 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 2218 : |
| ; 2219 : this->_Myoff = 0; |
| |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 c7 41 04 00 00 |
| 00 00 mov DWORD PTR [ecx+4], 0 |
| |
| ; 2220 : ++this->_Myptr; |
| |
| 0002b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002e 8b 02 mov eax, DWORD PTR [edx] |
| 00030 83 c0 04 add eax, 4 |
| 00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00036 89 01 mov DWORD PTR [ecx], eax |
| $LN1@Inc: |
| |
| ; 2221 : } |
| ; 2222 : } |
| |
| 00038 8b e5 mov esp, ebp |
| 0003a 5d pop ebp |
| 0003b c3 ret 0 |
| ?_Inc@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Inc |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Dec@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Dec@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Dec, COMDAT |
| ; _this$ = ecx |
| |
| ; 2179 : { // decrement bit position |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2180 : if (this->_Myoff != 0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 78 04 00 cmp DWORD PTR [eax+4], 0 |
| 0000e 74 11 je SHORT $LN2@Dec |
| |
| ; 2181 : --this->_Myoff; |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00016 83 ea 01 sub edx, 1 |
| 00019 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001c 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 2182 : else |
| |
| 0001f eb 17 jmp SHORT $LN1@Dec |
| $LN2@Dec: |
| |
| ; 2183 : { // move to previous word |
| ; 2184 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 2185 : if (this->_Getcont() == 0 || 0 < this->_Valid((size_type)-1)) |
| ; 2186 : { // report error |
| ; 2187 : _DEBUG_ERROR("vector<bool> iterator not decrementable"); |
| ; 2188 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 2189 : } |
| ; 2190 : |
| ; 2191 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 2192 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0); |
| ; 2193 : _SCL_SECURE_VALIDATE_RANGE(this->_Valid((size_type)-1) <= 0); |
| ; 2194 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 2195 : |
| ; 2196 : this->_Myoff = _VBITS - 1; |
| |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 c7 41 04 1f 00 |
| 00 00 mov DWORD PTR [ecx+4], 31 ; 0000001fH |
| |
| ; 2197 : --this->_Myptr; |
| |
| 0002b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002e 8b 02 mov eax, DWORD PTR [edx] |
| 00030 83 e8 04 sub eax, 4 |
| 00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00036 89 01 mov DWORD PTR [ecx], eax |
| $LN1@Dec: |
| |
| ; 2198 : } |
| ; 2199 : } |
| |
| 00038 8b e5 mov esp, ebp |
| 0003a 5d pop ebp |
| 0003b c3 ret 0 |
| ?_Dec@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Dec |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Compat, COMDAT |
| ; _this$ = ecx |
| |
| ; 2174 : { // test for compatible iterator pair |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2175 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Compat |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv69 = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!=, COMDAT |
| ; _this$ = ecx |
| |
| ; 2132 : { // test for iterator inequality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2133 : return (!(*this == _Right)); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ??8?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator== |
| 00015 0f b6 c8 movzx ecx, al |
| 00018 85 c9 test ecx, ecx |
| 0001a 75 09 jne SHORT $LN3@operator |
| 0001c c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00023 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 00025 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@operator: |
| 0002c 8a 45 fc mov al, BYTE PTR tv69[ebp] |
| |
| ; 2134 : } |
| |
| 0002f 8b e5 mov esp, ebp |
| 00031 5d pop ebp |
| 00032 c2 04 00 ret 4 |
| ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??8?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z |
| _TEXT SEGMENT |
| tv88 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??8?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator==, COMDAT |
| ; _this$ = ecx |
| |
| ; 2125 : { // test for iterator equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2126 : _Compat(_Right); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Compat |
| |
| ; 2127 : return (this->_Myptr == _Right._Myptr |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 0001b 8b 01 mov eax, DWORD PTR [ecx] |
| 0001d 3b 02 cmp eax, DWORD PTR [edx] |
| 0001f 75 17 jne SHORT $LN3@operator |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 00027 8b 41 04 mov eax, DWORD PTR [ecx+4] |
| 0002a 3b 42 04 cmp eax, DWORD PTR [edx+4] |
| 0002d 75 09 jne SHORT $LN3@operator |
| 0002f c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv88[ebp], 1 |
| 00036 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 00038 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv88[ebp], 0 |
| $LN4@operator: |
| 0003f 8a 45 f8 mov al, BYTE PTR tv88[ebp] |
| |
| ; 2128 : && this->_Myoff == _Right._Myoff); |
| ; 2129 : } |
| |
| 00042 8b e5 mov esp, ebp |
| 00044 5d pop ebp |
| 00045 c2 04 00 ret 4 |
| ??8?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator== |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-, COMDAT |
| ; _this$ = ecx |
| |
| ; 2112 : { // return difference of iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2113 : _Compat(_Right); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Compat@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEXABV12@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Compat |
| |
| ; 2114 : return (_VBITS * (this->_Myptr - _Right._Myptr) |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 00019 8b 01 mov eax, DWORD PTR [ecx] |
| 0001b 2b 02 sub eax, DWORD PTR [edx] |
| 0001d c1 f8 02 sar eax, 2 |
| 00020 c1 e0 05 shl eax, 5 |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 03 41 04 add eax, DWORD PTR [ecx+4] |
| 00029 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 0002c 2b 42 04 sub eax, DWORD PTR [edx+4] |
| |
| ; 2115 : + (difference_type)this->_Myoff |
| ; 2116 : - (difference_type)_Right._Myoff); |
| ; 2117 : } |
| |
| 0002f 8b e5 mov esp, ebp |
| 00031 5d pop ebp |
| 00032 c2 04 00 ret 4 |
| ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??Y?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??Y?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+=, COMDAT |
| ; _this$ = ecx |
| |
| ; 2077 : { // increment by integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2078 : if (_Off < 0 && this->_Myoff < 0 - (size_type)_Off) |
| |
| 00007 83 7d 08 00 cmp DWORD PTR __Off$[ebp], 0 |
| 0000b 7d 52 jge SHORT $LN2@operator |
| 0000d 33 c0 xor eax, eax |
| 0000f 2b 45 08 sub eax, DWORD PTR __Off$[ebp] |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 39 41 04 cmp DWORD PTR [ecx+4], eax |
| 00018 73 45 jae SHORT $LN2@operator |
| |
| ; 2079 : { /* add negative increment */ |
| ; 2080 : this->_Myoff += _Off; |
| |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 00020 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 89 41 04 mov DWORD PTR [ecx+4], eax |
| |
| ; 2081 : this->_Myptr -= 1 + ((size_type)(-1) - this->_Myoff) / _VBITS; |
| |
| 00029 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002c 83 c8 ff or eax, -1 |
| 0002f 2b 42 04 sub eax, DWORD PTR [edx+4] |
| 00032 c1 e8 05 shr eax, 5 |
| 00035 8d 0c 85 04 00 |
| 00 00 lea ecx, DWORD PTR [eax*4+4] |
| 0003c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0003f 8b 02 mov eax, DWORD PTR [edx] |
| 00041 2b c1 sub eax, ecx |
| 00043 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00046 89 01 mov DWORD PTR [ecx], eax |
| |
| ; 2082 : this->_Myoff %= _VBITS; |
| |
| 00048 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0004b 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 0004e 33 d2 xor edx, edx |
| 00050 b9 20 00 00 00 mov ecx, 32 ; 00000020H |
| 00055 f7 f1 div ecx |
| 00057 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0005a 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 2083 : } |
| ; 2084 : else |
| |
| 0005d eb 3a jmp SHORT $LN3@operator |
| $LN2@operator: |
| |
| ; 2085 : { /* add non-negative increment */ |
| ; 2086 : this->_Myoff += _Off; |
| |
| 0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00062 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00065 03 55 08 add edx, DWORD PTR __Off$[ebp] |
| 00068 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0006b 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 2087 : this->_Myptr += this->_Myoff / _VBITS; |
| |
| 0006e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00071 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00074 c1 ea 05 shr edx, 5 |
| 00077 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0007a 8b 08 mov ecx, DWORD PTR [eax] |
| 0007c 8d 14 91 lea edx, DWORD PTR [ecx+edx*4] |
| 0007f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00082 89 10 mov DWORD PTR [eax], edx |
| |
| ; 2088 : this->_Myoff %= _VBITS; |
| |
| 00084 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00087 8b 41 04 mov eax, DWORD PTR [ecx+4] |
| 0008a 33 d2 xor edx, edx |
| 0008c b9 20 00 00 00 mov ecx, 32 ; 00000020H |
| 00091 f7 f1 div ecx |
| 00093 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00096 89 50 04 mov DWORD PTR [eax+4], edx |
| $LN3@operator: |
| |
| ; 2089 : } |
| ; 2090 : return (*this); |
| |
| 00099 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2091 : } |
| |
| 0009c 8b e5 mov esp, ebp |
| 0009e 5d pop ebp |
| 0009f c2 04 00 ret 4 |
| ??Y?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??F?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??F?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator--, COMDAT |
| ; _this$ = ecx |
| |
| ; 2064 : { // predecrement |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2065 : _Dec(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Dec@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Dec |
| |
| ; 2066 : return (*this); |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2067 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??F?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator-- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??E?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??E?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++, COMDAT |
| ; _this$ = ecx |
| |
| ; 2051 : { // preincrement |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2052 : _Inc(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Inc@?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXXZ ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Inc |
| |
| ; 2053 : return (*this); |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 2054 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??E?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@XZ ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator++ |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Mypvbool$ = 12 ; size = 4 |
| ??0?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIPBU_Container_base0@1@@Z PROC ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2042 : { // construct with offset and pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2041 : : _Mybase(_Ptr, 0, _Mypvbool) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Mypvbool$[ebp] |
| 0000a 50 push eax |
| 0000b 6a 00 push 0 |
| 0000d 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00010 51 push ecx |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 e8 00 00 00 00 call ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| |
| ; 2043 : } |
| |
| 00019 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001c 8b e5 mov esp, ebp |
| 0001e 5d pop ebp |
| 0001f c2 08 00 ret 8 |
| ??0?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIPBU_Container_base0@1@@Z ENDP ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@IABI@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAIABI@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| __Ptr$ = 12 ; size = 4 |
| _<_Args_0>$ = 16 ; size = 4 |
| ??$construct@IABI@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAIABI@Z PROC ; std::allocator_traits<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &>, COMDAT |
| |
| ; 754 : { // construct _Objty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 755 : _Al.construct(_Ptr, _STD forward<_Types>(_Args)...); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR _<_Args_0>$[ebp] |
| 00006 50 push eax |
| 00007 e8 00 00 00 00 call ??$forward@ABI@std@@YAABIABI@Z ; std::forward<unsigned int const &> |
| 0000c 83 c4 04 add esp, 4 |
| 0000f 50 push eax |
| 00010 8b 4d 0c mov ecx, DWORD PTR __Ptr$[ebp] |
| 00013 51 push ecx |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 00017 e8 00 00 00 00 call ??$construct@IABI@?$allocator@I@std@@QAEXPAIABI@Z ; std::allocator<unsigned int>::construct<unsigned int,unsigned int const &> |
| |
| ; 756 : } |
| |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??$construct@IABI@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAIABI@Z ENDP ; std::allocator_traits<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$forward@ABI@std@@YAABIABI@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$forward@ABI@std@@YAABIABI@Z PROC ; std::forward<unsigned int const &>, COMDAT |
| |
| ; 1298 : { // forward an lvalue as either an lvalue or an rvalue |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1299 : return (static_cast<_Ty&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1300 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$forward@ABI@std@@YAABIABI@Z ENDP ; std::forward<unsigned int const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$?0_N@?$allocator@I@std@@QAE@ABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ??$?0_N@?$allocator@I@std@@QAE@ABV?$allocator@_N@1@@Z PROC ; std::allocator<unsigned int>::allocator<unsigned int><bool>, COMDAT |
| ; _this$ = ecx |
| |
| ; 609 : { // construct from a related allocator (do nothing) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 610 : } |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c2 04 00 ret 4 |
| ??$?0_N@?$allocator@I@std@@QAE@ABV?$allocator@_N@1@@Z ENDP ; std::allocator<unsigned int>::allocator<unsigned int><bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$_Node_str@D@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$_Node_str@D@std@@UAEPAXI@Z PROC ; std::_Node_str<char>::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Node_str@D@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 20 push 32 ; 00000020H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$_Node_str@D@std@@UAEPAXI@Z ENDP ; std::_Node_str<char>::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1?$_Node_str@D@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Node_str@D@std@@UAE@XZ PROC ; std::_Node_str<char>::~_Node_str<char>, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 14 add ecx, 20 ; 00000014H |
| 0000d e8 00 00 00 00 call ??1?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::~_Buf<char> |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??1?$_Node_str@D@std@@UAE@XZ ENDP ; std::_Node_str<char>::~_Node_str<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$_Buf@D@std@@QAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$_Buf@D@std@@QAEPAXI@Z PROC ; std::_Buf<char>::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::~_Buf<char> |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 0c push 12 ; 0000000cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$_Buf@D@std@@QAEPAXI@Z ENDP ; std::_Buf<char>::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Expand@?$_Buf@D@std@@AAEXI@Z |
| _TEXT SEGMENT |
| __Tmp$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Len$ = 8 ; size = 4 |
| ?_Expand@?$_Buf@D@std@@AAEXI@Z PROC ; std::_Buf<char>::_Expand, COMDAT |
| ; _this$ = ecx |
| |
| ; 1675 : { // expand buffer to hold _Len characters |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1676 : _Elem *_Tmp = (_Elem *)realloc(_Chrs, _Len * sizeof (_Elem)); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Len$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 8b 51 08 mov edx, DWORD PTR [ecx+8] |
| 00013 52 push edx |
| 00014 e8 00 00 00 00 call _realloc |
| 00019 83 c4 08 add esp, 8 |
| 0001c 89 45 f8 mov DWORD PTR __Tmp$[ebp], eax |
| |
| ; 1677 : if (!_Tmp) |
| |
| 0001f 83 7d f8 00 cmp DWORD PTR __Tmp$[ebp], 0 |
| 00023 75 05 jne SHORT $LN2@Expand |
| |
| ; 1678 : _Xbad_alloc(); |
| |
| 00025 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc |
| $LN2@Expand: |
| |
| ; 1679 : _Chrs = _Tmp; |
| |
| 0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002d 8b 4d f8 mov ecx, DWORD PTR __Tmp$[ebp] |
| 00030 89 48 08 mov DWORD PTR [eax+8], ecx |
| |
| ; 1680 : _Sz = _Len; |
| |
| 00033 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00036 8b 45 08 mov eax, DWORD PTR __Len$[ebp] |
| 00039 89 02 mov DWORD PTR [edx], eax |
| $LN3@Expand: |
| |
| ; 1681 : } |
| |
| 0003b 8b e5 mov esp, ebp |
| 0003d 5d pop ebp |
| 0003e c2 04 00 ret 4 |
| ?_Expand@?$_Buf@D@std@@AAEXI@Z ENDP ; std::_Buf<char>::_Expand |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Del@?$_Buf@D@std@@QAEDXZ |
| _TEXT SEGMENT |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Del@?$_Buf@D@std@@QAEDXZ PROC ; std::_Buf<char>::_Del, COMDAT |
| ; _this$ = ecx |
| |
| ; 1662 : { // remove and return last character |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1663 : return (_Chrs[--_Nchrs]); |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 83 e9 01 sub ecx, 1 |
| 00012 89 4d f8 mov DWORD PTR tv69[ebp], ecx |
| 00015 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00018 8b 45 f8 mov eax, DWORD PTR tv69[ebp] |
| 0001b 89 42 04 mov DWORD PTR [edx+4], eax |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 8b 51 08 mov edx, DWORD PTR [ecx+8] |
| 00024 8b 45 f8 mov eax, DWORD PTR tv69[ebp] |
| 00027 8a 04 02 mov al, BYTE PTR [edx+eax] |
| |
| ; 1664 : } |
| |
| 0002a 8b e5 mov esp, ebp |
| 0002c 5d pop ebp |
| 0002d c3 ret 0 |
| ?_Del@?$_Buf@D@std@@QAEDXZ ENDP ; std::_Buf<char>::_Del |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Insert@?$_Buf@D@std@@QAEXD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Insert@?$_Buf@D@std@@QAEXD@Z PROC ; std::_Buf<char>::_Insert, COMDAT |
| ; _this$ = ecx |
| |
| ; 1655 : { // append _Ch |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1656 : if (_Sz <= _Nchrs) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000d 8b 10 mov edx, DWORD PTR [eax] |
| 0000f 3b 51 04 cmp edx, DWORD PTR [ecx+4] |
| 00012 77 12 ja SHORT $LN2@Insert |
| |
| ; 1657 : _Expand(_Nchrs + _Buf_incr); |
| |
| 00014 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00017 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0001a 83 c1 10 add ecx, 16 ; 00000010H |
| 0001d 51 push ecx |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Expand@?$_Buf@D@std@@AAEXI@Z ; std::_Buf<char>::_Expand |
| $LN2@Insert: |
| |
| ; 1658 : _Chrs[_Nchrs++] = _Ch; |
| |
| 00026 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00029 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002f 8b 51 08 mov edx, DWORD PTR [ecx+8] |
| 00032 8a 4d 08 mov cl, BYTE PTR __Ch$[ebp] |
| 00035 88 0c 02 mov BYTE PTR [edx+eax], cl |
| 00038 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0003b 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 0003e 83 c0 01 add eax, 1 |
| 00041 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00044 89 41 04 mov DWORD PTR [ecx+4], eax |
| |
| ; 1659 : } |
| |
| 00047 8b e5 mov esp, ebp |
| 00049 5d pop ebp |
| 0004a c2 04 00 ret 4 |
| ?_Insert@?$_Buf@D@std@@QAEXD@Z ENDP ; std::_Buf<char>::_Insert |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Size@?$_Buf@D@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Size@?$_Buf@D@std@@QBEIXZ PROC ; std::_Buf<char>::_Size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1632 : { // return number of characters held in buffer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1633 : return (_Nchrs); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 04 mov eax, DWORD PTR [eax+4] |
| |
| ; 1634 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?_Size@?$_Buf@D@std@@QBEIXZ ENDP ; std::_Buf<char>::_Size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1?$_Buf@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Buf@D@std@@QAE@XZ PROC ; std::_Buf<char>::~_Buf<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1627 : { // destroy |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1628 : free(_Chrs); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 0000d 51 push ecx |
| 0000e e8 00 00 00 00 call _free |
| 00013 83 c4 04 add esp, 4 |
| |
| ; 1629 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ??1?$_Buf@D@std@@QAE@XZ ENDP ; std::_Buf<char>::~_Buf<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Buf@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Buf@D@std@@QAE@XZ PROC ; std::_Buf<char>::_Buf<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1623 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1622 : : _Sz(0), _Nchrs(0), _Chrs(0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c7 41 04 00 00 |
| 00 00 mov DWORD PTR [ecx+4], 0 |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d c7 42 08 00 00 |
| 00 00 mov DWORD PTR [edx+8], 0 |
| |
| ; 1624 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ??0?$_Buf@D@std@@QAE@XZ ENDP ; std::_Buf<char>::_Buf<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Node_str@D@std@@QAE@W4_Node_flags@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Fl$ = 8 ; size = 4 |
| ??0?$_Node_str@D@std@@QAE@W4_Node_flags@1@@Z PROC ; std::_Node_str<char>::_Node_str<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 1845 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1844 : : _Node_base(_N_str, _Fl) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Fl$[ebp] |
| 0000a 50 push eax |
| 0000b 6a 06 push 6 |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1845 : { // construct |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7?$_Node_str@D@std@@6B@ |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 83 c1 14 add ecx, 20 ; 00000014H |
| 00024 e8 00 00 00 00 call ??0?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::_Buf<char> |
| |
| ; 1846 : } |
| |
| 00029 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002c 8b e5 mov esp, ebp |
| 0002e 5d pop ebp |
| 0002f c2 04 00 ret 4 |
| ??0?$_Node_str@D@std@@QAE@W4_Node_flags@1@@Z ENDP ; std::_Node_str<char>::_Node_str<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask, COMDAT |
| ; _this$ = ecx |
| |
| ; 2003 : { // convert offset to mask |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2004 : return ((_Vbase)(1) << this->_Myoff); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a ba 01 00 00 00 mov edx, 1 |
| 0000f 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00012 d3 e2 shl edx, cl |
| 00014 8b c2 mov eax, edx |
| |
| ; 2005 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr, COMDAT |
| ; _this$ = ecx |
| |
| ; 1983 : { // get pointer to base word |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1984 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1985 : if (this->_Getcont() == 0 |
| ; 1986 : || this->_Myptr == 0 |
| ; 1987 : || 0 <= this->_Valid(0)) |
| ; 1988 : { // report error |
| ; 1989 : _DEBUG_ERROR("vector<bool> iterator not dereferencable"); |
| ; 1990 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 1991 : } |
| ; 1992 : |
| ; 1993 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 1994 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0 && this->_Myptr != 0); |
| ; 1995 : _SCL_SECURE_VALIDATE_RANGE(this->_Valid(0) < 0); |
| ; 1996 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 1997 : |
| ; 1998 : return (this->_Myptr); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 1999 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ |
| _TEXT SEGMENT |
| tv70 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator bool, COMDAT |
| ; _this$ = ecx |
| |
| ; 1978 : { // test if bit is set |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 56 push esi |
| 00007 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1979 : return ((*_Getptr() & _Mask()) != 0); |
| |
| 0000a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000d e8 00 00 00 00 call ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr |
| 00012 8b f0 mov esi, eax |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask |
| 0001c 23 06 and eax, DWORD PTR [esi] |
| 0001e 74 09 je SHORT $LN3@operator |
| 00020 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv70[ebp], 1 |
| 00027 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 00029 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv70[ebp], 0 |
| $LN4@operator: |
| 00030 8a 45 f8 mov al, BYTE PTR tv70[ebp] |
| |
| ; 1980 : } |
| |
| 00033 5e pop esi |
| 00034 8b e5 mov esp, ebp |
| 00036 5d pop ebp |
| 00037 c3 ret 0 |
| ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator bool |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z |
| _TEXT SEGMENT |
| tv77 = -12 ; size = 4 |
| tv70 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Val$ = 8 ; size = 1 |
| ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator=, COMDAT |
| ; _this$ = ecx |
| |
| ; 1964 : { // assign _Val to bit |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1965 : if (_Val) |
| |
| 00009 0f b6 45 08 movzx eax, BYTE PTR __Val$[ebp] |
| 0000d 85 c0 test eax, eax |
| 0000f 74 1f je SHORT $LN2@operator |
| |
| ; 1966 : *(_Vbase *)_Getptr() |= _Mask(); |
| |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 e8 00 00 00 00 call ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr |
| 00019 89 45 f8 mov DWORD PTR tv70[ebp], eax |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask |
| 00024 8b 4d f8 mov ecx, DWORD PTR tv70[ebp] |
| 00027 0b 01 or eax, DWORD PTR [ecx] |
| 00029 8b 55 f8 mov edx, DWORD PTR tv70[ebp] |
| 0002c 89 02 mov DWORD PTR [edx], eax |
| |
| ; 1967 : else |
| |
| 0002e eb 1f jmp SHORT $LN3@operator |
| $LN2@operator: |
| |
| ; 1968 : *(_Vbase *)_Getptr() &= (~_Mask()); // STET |
| |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 e8 00 00 00 00 call ?_Getptr@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEPBIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Getptr |
| 00038 89 45 f4 mov DWORD PTR tv77[ebp], eax |
| 0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003e e8 00 00 00 00 call ?_Mask@?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@IBEIXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Mask |
| 00043 f7 d0 not eax |
| 00045 8b 4d f4 mov ecx, DWORD PTR tv77[ebp] |
| 00048 23 01 and eax, DWORD PTR [ecx] |
| 0004a 8b 55 f4 mov edx, DWORD PTR tv77[ebp] |
| 0004d 89 02 mov DWORD PTR [edx], eax |
| $LN3@operator: |
| |
| ; 1969 : return (*this); |
| |
| 0004f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 1970 : } |
| |
| 00052 8b e5 mov esp, ebp |
| 00054 5d pop ebp |
| 00055 c2 04 00 ret 4 |
| ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator=, COMDAT |
| ; _this$ = ecx |
| |
| ; 1959 : { // assign _Vb_reference _Right to bit |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1960 : return (*this = bool(_Right)); |
| |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000a e8 00 00 00 00 call ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator bool |
| 0000f 0f b6 c0 movzx eax, al |
| 00012 50 push eax |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| |
| ; 1961 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c2 04 00 ret 4 |
| ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@ABV01@@Z ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@ABV?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??0?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@ABV?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z PROC ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1955 : { // construct with base |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1954 : : _Mybase(_Right._Myptr, _Right._Myoff, _Right._Getcont()) |
| |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getcont@_Iterator_base0@std@@QBEPBU_Container_base0@2@XZ ; std::_Iterator_base0::_Getcont |
| 0000f 50 push eax |
| 00010 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 00013 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00016 51 push ecx |
| 00017 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 0001a 8b 02 mov eax, DWORD PTR [edx] |
| 0001c 50 push eax |
| 0001d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00020 e8 00 00 00 00 call ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| |
| ; 1956 : } |
| |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??0?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@ABV?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ENDP ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Advance@?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ?_Advance@?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXI@Z PROC ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Advance, COMDAT |
| ; _this$ = ecx |
| |
| ; 1914 : { // advance iterator by _Off |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1915 : _Myoff += _Off; |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000d 03 4d 08 add ecx, DWORD PTR __Off$[ebp] |
| 00010 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00013 89 4a 04 mov DWORD PTR [edx+4], ecx |
| |
| ; 1916 : _Myptr += _Myoff / _VBITS; |
| |
| 00016 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00019 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0001c c1 e9 05 shr ecx, 5 |
| 0001f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00022 8b 02 mov eax, DWORD PTR [edx] |
| 00024 8d 0c 88 lea ecx, DWORD PTR [eax+ecx*4] |
| 00027 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002a 89 0a mov DWORD PTR [edx], ecx |
| |
| ; 1917 : _Myoff %= _VBITS; |
| |
| 0002c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002f 8b 40 04 mov eax, DWORD PTR [eax+4] |
| 00032 33 d2 xor edx, edx |
| 00034 b9 20 00 00 00 mov ecx, 32 ; 00000020H |
| 00039 f7 f1 div ecx |
| 0003b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003e 89 50 04 mov DWORD PTR [eax+4], edx |
| |
| ; 1918 : } |
| |
| 00041 8b e5 mov esp, ebp |
| 00043 5d pop ebp |
| 00044 c2 04 00 ret 4 |
| ?_Advance@?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXI@Z ENDP ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Advance |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Off$ = 12 ; size = 4 |
| __Mypvbool$ = 16 ; size = 4 |
| ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z PROC ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1909 : { // construct with offset and pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1908 : : _Myptr(_Ptr), _Myoff(_Off) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| 0000f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00012 8b 45 0c mov eax, DWORD PTR __Off$[ebp] |
| 00015 89 42 04 mov DWORD PTR [edx+4], eax |
| |
| ; 1910 : this->_Adopt(_Mypvbool); |
| |
| 00018 8b 4d 10 mov ecx, DWORD PTR __Mypvbool$[ebp] |
| 0001b 51 push ecx |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt |
| |
| ; 1911 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c2 0c 00 ret 12 ; 0000000cH |
| ??0?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PBIIPBU_Container_base0@1@@Z ENDP ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@IABI@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAIABI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| _<_Args_0>$ = 12 ; size = 4 |
| ??$construct@IABI@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAIABI@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 892 : { // construct _Ty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 893 : _Mytraits::construct(*this, _Ptr, |
| |
| 00007 8b 45 0c mov eax, DWORD PTR _<_Args_0>$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$forward@ABI@std@@YAABIABI@Z ; std::forward<unsigned int const &> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$construct@IABI@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAIABI@Z ; std::allocator_traits<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| 00021 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 894 : _STD forward<_Types>(_Args)...); |
| ; 895 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 08 00 ret 8 |
| ??$construct@IABI@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAIABI@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$?0ABV?$allocator@_N@std@@@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAE@ABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??$?0ABV?$allocator@_N@std@@@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAE@ABV?$allocator@_N@1@@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::_Wrap_alloc<std::allocator<unsigned int> ><std::allocator<bool> const &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 850 : { // construct from a related allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 849 : : _Mybase(_STD forward<_Other>(_Right)) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z ; std::forward<std::allocator<bool> const &> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ??$?0_N@?$allocator@I@std@@QAE@ABV?$allocator@_N@1@@Z ; std::allocator<unsigned int>::allocator<unsigned int><bool> |
| |
| ; 851 : } |
| |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??$?0ABV?$allocator@_N@std@@@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::_Wrap_alloc<std::allocator<unsigned int> ><std::allocator<bool> const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z |
| _TEXT SEGMENT |
| __Last_ch$ = -16 ; size = 4 |
| __Count$ = -12 ; size = 4 |
| __Dest_ch$ = -8 ; size = 4 |
| __First_ch$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z PROC ; std::_Copy_memmove<unsigned int *,unsigned int *>, COMDAT |
| |
| ; 2251 : { // implement copy-like function as memmove |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 2252 : const char * const _First_ch = reinterpret_cast<const char *>(_First); |
| |
| 00006 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00009 89 45 fc mov DWORD PTR __First_ch$[ebp], eax |
| |
| ; 2253 : const char * const _Last_ch = reinterpret_cast<const char *>(_Last); |
| |
| 0000c 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000f 89 4d f0 mov DWORD PTR __Last_ch$[ebp], ecx |
| |
| ; 2254 : char * const _Dest_ch = reinterpret_cast<char *>(_Dest); |
| |
| 00012 8b 55 10 mov edx, DWORD PTR __Dest$[ebp] |
| 00015 89 55 f8 mov DWORD PTR __Dest_ch$[ebp], edx |
| |
| ; 2255 : const size_t _Count = _Last_ch - _First_ch; |
| |
| 00018 8b 45 f0 mov eax, DWORD PTR __Last_ch$[ebp] |
| 0001b 2b 45 fc sub eax, DWORD PTR __First_ch$[ebp] |
| 0001e 89 45 f4 mov DWORD PTR __Count$[ebp], eax |
| |
| ; 2256 : _CSTD memmove(_Dest_ch, _First_ch, _Count); |
| |
| 00021 8b 4d f4 mov ecx, DWORD PTR __Count$[ebp] |
| 00024 51 push ecx |
| 00025 8b 55 fc mov edx, DWORD PTR __First_ch$[ebp] |
| 00028 52 push edx |
| 00029 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 0002c 50 push eax |
| 0002d e8 00 00 00 00 call _memmove |
| 00032 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2257 : return (reinterpret_cast<_OutIt>(_Dest_ch + _Count)); |
| |
| 00035 8b 45 f8 mov eax, DWORD PTR __Dest_ch$[ebp] |
| 00038 03 45 f4 add eax, DWORD PTR __Count$[ebp] |
| |
| ; 2258 : } |
| |
| 0003b 8b e5 mov esp, ebp |
| 0003d 5d pop ebp |
| 0003e c3 ret 0 |
| ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z ENDP ; std::_Copy_memmove<unsigned int *,unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@I@?$allocator@I@std@@QAEXPAI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@I@?$allocator@I@std@@QAEXPAI@Z PROC ; std::allocator<unsigned int>::destroy<unsigned int>, COMDAT |
| ; _this$ = ecx |
| |
| ; 643 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 644 : _Ptr->~_Uty(); |
| ; 645 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ??$destroy@I@?$allocator@I@std@@QAEXPAI@Z ENDP ; std::allocator<unsigned int>::destroy<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z |
| _TEXT SEGMENT |
| __Next$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __First$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Pval$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ___formal$ = 24 ; size = 1 |
| ??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z PROC ; std::_Uninit_alloc_fill_n1<unsigned int *,unsigned int,std::allocator<unsigned int>,std::integral_constant<bool,0> >, COMDAT |
| |
| ; 477 : { // copy _Count copies of *_Pval to raw _First, using _Al, no special optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 51 push ecx |
| 00013 53 push ebx |
| 00014 56 push esi |
| 00015 57 push edi |
| 00016 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001b 33 c5 xor eax, ebp |
| 0001d 50 push eax |
| 0001e 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00021 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00027 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| |
| ; 478 : _FwdIt _Next = _First; |
| |
| 0002a 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0002d 89 45 ec mov DWORD PTR __Next$[ebp], eax |
| |
| ; 479 : |
| ; 480 : _TRY_BEGIN |
| |
| 00030 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 481 : for (; 0 < _Count; --_Count, (void)++_First) |
| |
| 00037 eb 12 jmp SHORT $LN4@Uninit_all |
| $LN2@Uninit_all: |
| 00039 8b 4d 0c mov ecx, DWORD PTR __Count$[ebp] |
| 0003c 83 e9 01 sub ecx, 1 |
| 0003f 89 4d 0c mov DWORD PTR __Count$[ebp], ecx |
| 00042 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00045 83 c2 04 add edx, 4 |
| 00048 89 55 08 mov DWORD PTR __First$[ebp], edx |
| $LN4@Uninit_all: |
| 0004b 83 7d 0c 00 cmp DWORD PTR __Count$[ebp], 0 |
| 0004f 76 12 jbe SHORT $LN3@Uninit_all |
| |
| ; 482 : _Al.construct(_First, *_Pval); |
| |
| 00051 8b 45 10 mov eax, DWORD PTR __Pval$[ebp] |
| 00054 50 push eax |
| 00055 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00058 51 push ecx |
| 00059 8b 4d 14 mov ecx, DWORD PTR __Al$[ebp] |
| 0005c e8 00 00 00 00 call ??$construct@IABI@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAIABI@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::construct<unsigned int,unsigned int const &> |
| 00061 eb d6 jmp SHORT $LN2@Uninit_all |
| $LN3@Uninit_all: |
| 00063 eb 30 jmp SHORT $LN10@Uninit_all |
| __catch$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z$0: |
| |
| ; 483 : _CATCH_ALL |
| ; 484 : for (; _Next != _First; ++_Next) |
| |
| 00065 eb 09 jmp SHORT $LN7@Uninit_all |
| $LN5@Uninit_all: |
| 00067 8b 55 ec mov edx, DWORD PTR __Next$[ebp] |
| 0006a 83 c2 04 add edx, 4 |
| 0006d 89 55 ec mov DWORD PTR __Next$[ebp], edx |
| $LN7@Uninit_all: |
| 00070 8b 45 ec mov eax, DWORD PTR __Next$[ebp] |
| 00073 3b 45 08 cmp eax, DWORD PTR __First$[ebp] |
| 00076 74 0e je SHORT $LN6@Uninit_all |
| |
| ; 485 : _Al.destroy(_Next); |
| |
| 00078 8b 4d ec mov ecx, DWORD PTR __Next$[ebp] |
| 0007b 51 push ecx |
| 0007c 8b 4d 14 mov ecx, DWORD PTR __Al$[ebp] |
| 0007f e8 00 00 00 00 call ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::destroy<unsigned int> |
| 00084 eb e1 jmp SHORT $LN5@Uninit_all |
| $LN6@Uninit_all: |
| |
| ; 486 : _RERAISE; |
| |
| 00086 6a 00 push 0 |
| 00088 6a 00 push 0 |
| 0008a e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 487 : _CATCH_END |
| |
| 0008f b8 00 00 00 00 mov eax, $LN13@Uninit_all |
| 00094 c3 ret 0 |
| $LN10@Uninit_all: |
| 00095 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0009c eb 07 jmp SHORT $LN9@Uninit_all |
| $LN13@Uninit_all: |
| 0009e c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| $LN9@Uninit_all: |
| |
| ; 488 : } |
| |
| 000a5 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 000a8 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 000af 59 pop ecx |
| 000b0 5f pop edi |
| 000b1 5e pop esi |
| 000b2 5b pop ebx |
| 000b3 8b e5 mov esp, ebp |
| 000b5 5d pop ebp |
| 000b6 c3 ret 0 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e8 mov ecx, DWORD PTR [edx-24] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Uninit_alloc_fill_n1<unsigned int *,unsigned int,std::allocator<unsigned int>,std::integral_constant<bool,0> > |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Fill_memset_is_safe@PAII@std@@YA?AU?$integral_constant@_N$0A@@0@ABQAIABI@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| ___formal$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Fill_memset_is_safe@PAII@std@@YA?AU?$integral_constant@_N$0A@@0@ABQAIABI@Z PROC ; std::_Fill_memset_is_safe<unsigned int *,unsigned int>, COMDAT |
| |
| ; 2746 : { // type deduction for _Fill_memset_is_safe_helper |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2747 : return {}; |
| |
| 00004 33 c0 xor eax, eax |
| 00006 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00009 8a 45 ff mov al, BYTE PTR $T1[ebp] |
| |
| ; 2748 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Fill_memset_is_safe@PAII@std@@YA?AU?$integral_constant@_N$0A@@0@ABQAIABI@Z ENDP ; std::_Fill_memset_is_safe<unsigned int *,unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$_Addressof@$$CBI@std@@YAPBIABIU?$integral_constant@_N$0A@@0@@Z |
| _TEXT SEGMENT |
| __Val$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 1 |
| ??$_Addressof@$$CBI@std@@YAPBIABIU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Addressof<unsigned int const >, COMDAT |
| |
| ; 707 : { // return address of object _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 708 : return (reinterpret_cast<_Ty *>( |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Val$[ebp] |
| |
| ; 709 : &const_cast<char&>( |
| ; 710 : reinterpret_cast<const volatile char&>(_Val)))); |
| ; 711 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Addressof@$$CBI@std@@YAPBIABIU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Addressof<unsigned int const > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$?0ABV?$allocator@_N@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| __Val1$ = 12 ; size = 4 |
| ??$?0ABV?$allocator@_N@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_N@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1><std::allocator<bool> const &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 288 : { // construct from forwarded values |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 286 : : _Ty1(_STD forward<_Other1>(_Val1)), |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Val1$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z ; std::forward<std::allocator<bool> const &> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ??$?0ABV?$allocator@_N@std@@@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::_Wrap_alloc<std::allocator<unsigned int> ><std::allocator<bool> const &> |
| |
| ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ ; std::_Vector_val<std::_Simple_types<unsigned int> >::_Vector_val<std::_Simple_types<unsigned int> > |
| |
| ; 289 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c2 08 00 ret 8 |
| ??$?0ABV?$allocator@_N@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_N@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1><std::allocator<bool> const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z PROC ; std::forward<std::allocator<bool> const &>, COMDAT |
| |
| ; 1298 : { // forward an lvalue as either an lvalue or an rvalue |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1299 : return (static_cast<_Ty&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1300 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z ENDP ; std::forward<std::allocator<bool> const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Move_unchecked1@PAIPAI@std@@YAPAIPAI00U_Trivially_copyable_ptr_iterator_tag@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 1 |
| ??$_Move_unchecked1@PAIPAI@std@@YAPAIPAI00U_Trivially_copyable_ptr_iterator_tag@0@@Z PROC ; std::_Move_unchecked1<unsigned int *,unsigned int *>, COMDAT |
| |
| ; 2578 : { // move [_First, _Last) to [_Dest, ...), memmove optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 2579 : return (_Copy_memmove(_First, _Last, _Dest)); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR __Dest$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0000e 52 push edx |
| 0000f e8 00 00 00 00 call ??$_Copy_memmove@PAIPAI@std@@YAPAIPAI00@Z ; std::_Copy_memmove<unsigned int *,unsigned int *> |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2580 : } |
| |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$_Move_unchecked1@PAIPAI@std@@YAPAIPAI00U_Trivially_copyable_ptr_iterator_tag@0@@Z ENDP ; std::_Move_unchecked1<unsigned int *,unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 4 |
| ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z PROC ; std::_Ptr_move_cat<unsigned int,unsigned int>, COMDAT |
| |
| ; 725 : { // return pointer move optimization category for pointers |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 726 : return {}; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 727 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z ENDP ; std::_Ptr_move_cat<unsigned int,unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@I@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAI@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| __Ptr$ = 12 ; size = 4 |
| ??$destroy@I@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAI@Z PROC ; std::allocator_traits<std::allocator<unsigned int> >::destroy<unsigned int>, COMDAT |
| |
| ; 761 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 762 : _Al.destroy(_Ptr); |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Ptr$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 0000a e8 00 00 00 00 call ??$destroy@I@?$allocator@I@std@@QAEXPAI@Z ; std::allocator<unsigned int>::destroy<unsigned int> |
| |
| ; 763 : } |
| |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ??$destroy@I@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAI@Z ENDP ; std::allocator_traits<std::allocator<unsigned int> >::destroy<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$_Addressof@I@std@@YAPAIAAIU?$integral_constant@_N$0A@@0@@Z |
| _TEXT SEGMENT |
| __Val$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 1 |
| ??$_Addressof@I@std@@YAPAIAAIU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Addressof<unsigned int>, COMDAT |
| |
| ; 707 : { // return address of object _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 708 : return (reinterpret_cast<_Ty *>( |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Val$[ebp] |
| |
| ; 709 : &const_cast<char&>( |
| ; 710 : reinterpret_cast<const volatile char&>(_Val)))); |
| ; 711 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Addressof@I@std@@YAPAIAAIU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Addressof<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory |
| ; COMDAT ??$_Uninitialized_fill_n@PAIIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Pval$ = 16 ; size = 4 |
| __Al$ = 20 ; size = 4 |
| ??$_Uninitialized_fill_n@PAIIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z PROC ; std::_Uninitialized_fill_n<unsigned int *,unsigned int,std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| |
| ; 505 : { // copy _Count copies of *_Pval to raw _First, using _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 506 : _Uninit_alloc_fill_n1(_First, _Count, _Pval, _Al, _Fill_memset_is_safe(_First, *_Pval)); |
| |
| 00004 8b 45 10 mov eax, DWORD PTR __Pval$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$_Fill_memset_is_safe@PAII@std@@YA?AU?$integral_constant@_N$0A@@0@ABQAIABI@Z ; std::_Fill_memset_is_safe<unsigned int *,unsigned int> |
| 00011 83 c4 08 add esp, 8 |
| 00014 88 45 ff mov BYTE PTR $T1[ebp], al |
| 00017 0f b6 55 ff movzx edx, BYTE PTR $T1[ebp] |
| 0001b 52 push edx |
| 0001c 8b 45 14 mov eax, DWORD PTR __Al$[ebp] |
| 0001f 50 push eax |
| 00020 8b 4d 10 mov ecx, DWORD PTR __Pval$[ebp] |
| 00023 51 push ecx |
| 00024 8b 55 0c mov edx, DWORD PTR __Count$[ebp] |
| 00027 52 push edx |
| 00028 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0002b 50 push eax |
| 0002c e8 00 00 00 00 call ??$_Uninit_alloc_fill_n1@PAIIV?$allocator@I@std@@U?$integral_constant@_N$0A@@2@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@U?$integral_constant@_N$0A@@0@@Z ; std::_Uninit_alloc_fill_n1<unsigned int *,unsigned int,std::allocator<unsigned int>,std::integral_constant<bool,0> > |
| 00031 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 507 : } |
| |
| 00034 8b e5 mov esp, ebp |
| 00036 5d pop ebp |
| 00037 c3 ret 0 |
| ??$_Uninitialized_fill_n@PAIIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ENDP ; std::_Uninitialized_fill_n<unsigned int *,unsigned int,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$addressof@$$CBI@std@@YAPBIABI@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __Val$ = 8 ; size = 4 |
| ??$addressof@$$CBI@std@@YAPBIABI@Z PROC ; std::addressof<unsigned int const >, COMDAT |
| |
| ; 715 : { // return address of _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 716 : return (_Addressof(_Val, is_function<_Ty>())); |
| |
| 00004 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 00008 50 push eax |
| 00009 8b 4d 08 mov ecx, DWORD PTR __Val$[ebp] |
| 0000c 51 push ecx |
| 0000d e8 00 00 00 00 call ??$_Addressof@$$CBI@std@@YAPBIABIU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<unsigned int const > |
| 00012 83 c4 08 add esp, 8 |
| |
| ; 717 : } |
| |
| 00015 8b e5 mov esp, ebp |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$addressof@$$CBI@std@@YAPBIABI@Z ENDP ; std::addressof<unsigned int const > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??$?0ABV?$allocator@_N@std@@@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAE@ABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __Al$ = 8 ; size = 4 |
| ??$?0ABV?$allocator@_N@std@@@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAE@ABV?$allocator@_N@1@@Z PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > ><std::allocator<bool> const &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 521 : { // construct allocator from _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 519 : : _Mypair(_One_then_variadic_args_t(), |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Al$[ebp] |
| 0000c 50 push eax |
| 0000d e8 00 00 00 00 call ??$forward@ABV?$allocator@_N@std@@@std@@YAABV?$allocator@_N@0@ABV10@@Z ; std::forward<std::allocator<bool> const &> |
| 00012 83 c4 04 add esp, 4 |
| 00015 50 push eax |
| 00016 0f b6 4d ff movzx ecx, BYTE PTR $T1[ebp] |
| 0001a 51 push ecx |
| 0001b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ??$?0ABV?$allocator@_N@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_N@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1><std::allocator<bool> const &> |
| |
| ; 522 : } |
| |
| 00023 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ??$?0ABV?$allocator@_N@std@@@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > ><std::allocator<bool> const &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Move_unchecked@PAIPAI@std@@YAPAIPAI00@Z |
| _TEXT SEGMENT |
| $T1 = -2 ; size = 1 |
| $T2 = -1 ; size = 1 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ??$_Move_unchecked@PAIPAI@std@@YAPAIPAI00@Z PROC ; std::_Move_unchecked<unsigned int *,unsigned int *>, COMDAT |
| |
| ; 2586 : { // move [_First, _Last) to [_Dest, ...), choose optimization |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 2587 : return (_Move_unchecked1(_First, _Last, |
| |
| 00004 8d 45 10 lea eax, DWORD PTR __Dest$[ebp] |
| 00007 50 push eax |
| 00008 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0000b 51 push ecx |
| 0000c 8d 55 ff lea edx, DWORD PTR $T2[ebp] |
| 0000f 52 push edx |
| 00010 e8 00 00 00 00 call ??$_Ptr_move_cat@II@std@@YA?AU_Really_trivial_ptr_iterator_tag@0@ABQAI0@Z ; std::_Ptr_move_cat<unsigned int,unsigned int> |
| 00015 83 c4 0c add esp, 12 ; 0000000cH |
| 00018 0f b6 45 fe movzx eax, BYTE PTR $T1[ebp] |
| 0001c 50 push eax |
| 0001d 8b 4d 10 mov ecx, DWORD PTR __Dest$[ebp] |
| 00020 51 push ecx |
| 00021 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00024 52 push edx |
| 00025 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00028 50 push eax |
| 00029 e8 00 00 00 00 call ??$_Move_unchecked1@PAIPAI@std@@YAPAIPAI00U_Trivially_copyable_ptr_iterator_tag@0@@Z ; std::_Move_unchecked1<unsigned int *,unsigned int *> |
| 0002e 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 2588 : _Dest, _Ptr_move_cat(_First, _Dest))); |
| ; 2589 : } |
| |
| 00031 8b e5 mov esp, ebp |
| 00033 5d pop ebp |
| 00034 c3 ret 0 |
| ??$_Move_unchecked@PAIPAI@std@@YAPAIPAI00@Z ENDP ; std::_Move_unchecked<unsigned int *,unsigned int *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??H?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE?AV01@H@Z |
| _TEXT SEGMENT |
| __Tmp$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Off$ = 12 ; size = 4 |
| ??H?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE?AV01@H@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+, COMDAT |
| ; _this$ = ecx |
| |
| ; 366 : { // return this + integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 367 : _Myiter _Tmp = *this; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 89 4d f8 mov DWORD PTR __Tmp$[ebp], ecx |
| |
| ; 368 : return (_Tmp += _Off); |
| |
| 00011 8b 55 0c mov edx, DWORD PTR __Off$[ebp] |
| 00014 52 push edx |
| 00015 8d 4d f8 lea ecx, DWORD PTR __Tmp$[ebp] |
| 00018 e8 00 00 00 00 call ??Y?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| 0001d 8b 00 mov eax, DWORD PTR [eax] |
| 0001f 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00022 89 01 mov DWORD PTR [ecx], eax |
| 00024 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 369 : } |
| |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c2 08 00 ret 8 |
| ??H?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE?AV01@H@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+ |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??Y?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??Y?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+=, COMDAT |
| ; _this$ = ecx |
| |
| ; 360 : { // increment by integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 361 : *(_Mybase *)this += _Off; |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??Y?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| |
| ; 362 : return (*this); |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 363 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c2 04 00 ret 4 |
| ??Y?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pvector$ = 12 ; size = 4 |
| ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z PROC ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 307 : { // construct with pointer _Parg |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 306 : : _Mybase(_Parg, _Pvector) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Pvector$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Parg$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| |
| ; 308 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 08 00 ret 8 |
| ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ENDP ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBEXABV12@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBEXABV12@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Compat, COMDAT |
| ; _this$ = ecx |
| |
| ; 255 : { // test for compatible iterator pair |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 256 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBEXABV12@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Compat |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv69 = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator!=, COMDAT |
| ; _this$ = ecx |
| |
| ; 212 : { // test for iterator inequality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 213 : return (!(*this == _Right)); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator== |
| 00015 0f b6 c8 movzx ecx, al |
| 00018 85 c9 test ecx, ecx |
| 0001a 75 09 jne SHORT $LN3@operator |
| 0001c c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00023 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 00025 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@operator: |
| 0002c 8a 45 fc mov al, BYTE PTR tv69[ebp] |
| |
| ; 214 : } |
| |
| 0002f 8b e5 mov esp, ebp |
| 00031 5d pop ebp |
| 00032 c2 04 00 ret 4 |
| ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator!= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z |
| _TEXT SEGMENT |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator==, COMDAT |
| ; _this$ = ecx |
| |
| ; 206 : { // test for iterator equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 207 : _Compat(_Right); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Compat@?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBEXABV12@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Compat |
| |
| ; 208 : return (_Ptr == _Right._Ptr); |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 0001b 8b 01 mov eax, DWORD PTR [ecx] |
| 0001d 3b 02 cmp eax, DWORD PTR [edx] |
| 0001f 75 09 jne SHORT $LN3@operator |
| 00021 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00028 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 0002a c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@operator: |
| 00031 8a 45 f8 mov al, BYTE PTR tv69[ebp] |
| |
| ; 209 : } |
| |
| 00034 8b e5 mov esp, ebp |
| 00036 5d pop ebp |
| 00037 c2 04 00 ret 4 |
| ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator== |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??Y?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??Y?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+=, COMDAT |
| ; _this$ = ecx |
| |
| ; 153 : { // increment by integer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 154 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 155 : if (_Off != 0 && (this->_Getcont() == 0 |
| ; 156 : || _Ptr + _Off < ((_Myvec *)this->_Getcont())->_Myfirst |
| ; 157 : || ((_Myvec *)this->_Getcont())->_Mylast < _Ptr + _Off)) |
| ; 158 : { |
| ; 159 : _DEBUG_ERROR("vector iterator + offset out of range"); |
| ; 160 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 161 : } |
| ; 162 : |
| ; 163 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 164 : if (_Off != 0) |
| ; 165 : { |
| ; 166 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0); |
| ; 167 : _SCL_SECURE_VALIDATE_RANGE( |
| ; 168 : ((_Myvec *)this->_Getcont())->_Myfirst <= _Ptr + _Off |
| ; 169 : && _Ptr + _Off <= ((_Myvec *)this->_Getcont())->_Mylast); |
| ; 170 : } |
| ; 171 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 172 : |
| ; 173 : _Ptr += _Off; |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 08 mov ecx, DWORD PTR [eax] |
| 0000c 8b 55 08 mov edx, DWORD PTR __Off$[ebp] |
| 0000f 8d 04 91 lea eax, DWORD PTR [ecx+edx*4] |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 89 01 mov DWORD PTR [ecx], eax |
| |
| ; 174 : return (*this); |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 175 : } |
| |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 04 00 ret 4 |
| ??Y?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAEAAV01@H@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pvector$ = 12 ; size = 4 |
| ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z PROC ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 47 : { // construct with pointer _Parg |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 46 : : _Ptr(_Parg) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Parg$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 48 : this->_Adopt(_Pvector); |
| |
| 0000f 8b 55 0c mov edx, DWORD PTR __Pvector$[ebp] |
| 00012 52 push edx |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt |
| |
| ; 49 : } |
| |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c2 08 00 ret 8 |
| ??0?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ENDP ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::destroy<unsigned int>, COMDAT |
| ; _this$ = ecx |
| |
| ; 900 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 901 : _Mytraits::destroy(*this, _Ptr); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e 51 push ecx |
| 0000f e8 00 00 00 00 call ??$destroy@I@?$allocator_traits@V?$allocator@I@std@@@std@@SAXAAV?$allocator@I@1@PAI@Z ; std::allocator_traits<std::allocator<unsigned int> >::destroy<unsigned int> |
| 00014 83 c4 08 add esp, 8 |
| |
| ; 902 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::destroy<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$addressof@I@std@@YAPAIAAI@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __Val$ = 8 ; size = 4 |
| ??$addressof@I@std@@YAPAIAAI@Z PROC ; std::addressof<unsigned int>, COMDAT |
| |
| ; 715 : { // return address of _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 716 : return (_Addressof(_Val, is_function<_Ty>())); |
| |
| 00004 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 00008 50 push eax |
| 00009 8b 4d 08 mov ecx, DWORD PTR __Val$[ebp] |
| 0000c 51 push ecx |
| 0000d e8 00 00 00 00 call ??$_Addressof@I@std@@YAPAIAAIU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<unsigned int> |
| 00012 83 c4 08 add esp, 8 |
| |
| ; 717 : } |
| |
| 00015 8b e5 mov esp, ebp |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$addressof@I@std@@YAPAIAAI@Z ENDP ; std::addressof<unsigned int> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv73 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| _<_Args_0>$ = 12 ; size = 4 |
| ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z PROC ; std::allocator<char>::construct<char *,char * &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 636 : { // construct _Objty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 637 : ::new ((void *)_Ptr) _Objty(_STD forward<_Types>(_Args)...); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000c 50 push eax |
| 0000d 6a 04 push 4 |
| 0000f e8 00 00 00 00 call ??2@YAPAXIPAX@Z ; operator new |
| 00014 83 c4 08 add esp, 8 |
| 00017 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 0001a 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001e 74 1b je SHORT $LN3@construct |
| 00020 8b 4d 0c mov ecx, DWORD PTR _<_Args_0>$[ebp] |
| 00023 51 push ecx |
| 00024 e8 00 00 00 00 call ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ; std::forward<char * &> |
| 00029 83 c4 04 add esp, 4 |
| 0002c 8b 55 fc mov edx, DWORD PTR $T1[ebp] |
| 0002f 8b 00 mov eax, DWORD PTR [eax] |
| 00031 89 02 mov DWORD PTR [edx], eax |
| 00033 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00036 89 4d f8 mov DWORD PTR tv73[ebp], ecx |
| 00039 eb 07 jmp SHORT $LN1@construct |
| $LN3@construct: |
| 0003b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| $LN1@construct: |
| |
| ; 638 : } |
| |
| 00042 8b e5 mov esp, ebp |
| 00044 5d pop ebp |
| 00045 c2 08 00 ret 8 |
| ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z ENDP ; std::allocator<char>::construct<char *,char * &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z PROC ; std::allocator<char>::destroy<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 643 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 644 : _Ptr->~_Uty(); |
| ; 645 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z ENDP ; std::allocator<char>::destroy<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z |
| _TEXT SEGMENT |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z PROC ; std::_Iter_cat<char *>, COMDAT |
| |
| ; 639 : { // return category from iterator argument |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 640 : return {}; |
| |
| 00003 33 c0 xor eax, eax |
| 00005 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00008 88 01 mov BYTE PTR [ecx], al |
| 0000a 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 641 : } |
| |
| 0000d 5d pop ebp |
| 0000e c3 ret 0 |
| ??$_Iter_cat@PAD@std@@YA?AUrandom_access_iterator_tag@0@ABQAD@Z ENDP ; std::_Iter_cat<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$_Unchecked@PAD@std@@YAPADPAD@Z |
| _TEXT SEGMENT |
| __Src$ = 8 ; size = 4 |
| ??$_Unchecked@PAD@std@@YAPADPAD@Z PROC ; std::_Unchecked<char *>, COMDAT |
| |
| ; 438 : { // construct unchecked from checked, generic |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 439 : return (_Src); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Src$[ebp] |
| |
| ; 440 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Unchecked@PAD@std@@YAPADPAD@Z ENDP ; std::_Unchecked<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ??__E?id@?$collate@D@std@@2V0locale@2@A@@YAXXZ |
| text$di SEGMENT |
| ??__E?id@?$collate@D@std@@2V0locale@2@A@@YAXXZ PROC ; `dynamic initializer for 'std::collate<char>::id'', COMDAT |
| |
| ; 134 : __PURE_APPDOMAIN_GLOBAL locale::id collate<_Elem>::id; |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a 00 push 0 |
| 00005 b9 00 00 00 00 mov ecx, OFFSET ?id@?$collate@D@std@@2V0locale@2@A ; std::collate<char>::id |
| 0000a e8 00 00 00 00 call ??0id@locale@std@@QAE@I@Z ; std::locale::id::id |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ??__E?id@?$collate@D@std@@2V0locale@2@A@@YAXXZ ENDP ; `dynamic initializer for 'std::collate<char>::id'' |
| text$di ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAI0AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Al$ = 16 ; size = 4 |
| ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAI0AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z PROC ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<unsigned int> > >, COMDAT |
| |
| ; 163 : { // destroy [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 164 : for (; _First != _Last; ++_First) |
| |
| 00003 eb 09 jmp SHORT $LN4@Destroy_ra |
| $LN2@Destroy_ra: |
| 00005 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00008 83 c0 04 add eax, 4 |
| 0000b 89 45 08 mov DWORD PTR __First$[ebp], eax |
| $LN4@Destroy_ra: |
| 0000e 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00011 3b 4d 0c cmp ecx, DWORD PTR __Last$[ebp] |
| 00014 74 17 je SHORT $LN1@Destroy_ra |
| |
| ; 165 : _Al.destroy(_STD addressof(*_First)); |
| |
| 00016 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00019 52 push edx |
| 0001a e8 00 00 00 00 call ??$addressof@I@std@@YAPAIAAI@Z ; std::addressof<unsigned int> |
| 0001f 83 c4 04 add esp, 4 |
| 00022 50 push eax |
| 00023 8b 4d 10 mov ecx, DWORD PTR __Al$[ebp] |
| 00026 e8 00 00 00 00 call ??$destroy@I@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAI@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::destroy<unsigned int> |
| 0002b eb d8 jmp SHORT $LN2@Destroy_ra |
| $LN1@Destroy_ra: |
| |
| ; 166 : } |
| |
| 0002d 5d pop ebp |
| 0002e c3 ret 0 |
| ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAI0AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ENDP ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@PADAAPAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPADAAPAD@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| __Ptr$ = 12 ; size = 4 |
| _<_Args_0>$ = 16 ; size = 4 |
| ??$construct@PADAAPAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPADAAPAD@Z PROC ; std::allocator_traits<std::allocator<char> >::construct<char *,char * &>, COMDAT |
| |
| ; 754 : { // construct _Objty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 755 : _Al.construct(_Ptr, _STD forward<_Types>(_Args)...); |
| |
| 00003 8b 45 10 mov eax, DWORD PTR _<_Args_0>$[ebp] |
| 00006 50 push eax |
| 00007 e8 00 00 00 00 call ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ; std::forward<char * &> |
| 0000c 83 c4 04 add esp, 4 |
| 0000f 50 push eax |
| 00010 8b 4d 0c mov ecx, DWORD PTR __Ptr$[ebp] |
| 00013 51 push ecx |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 00017 e8 00 00 00 00 call ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z ; std::allocator<char>::construct<char *,char * &> |
| |
| ; 756 : } |
| |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??$construct@PADAAPAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPADAAPAD@Z ENDP ; std::allocator_traits<std::allocator<char> >::construct<char *,char * &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$forward@AAPAD@std@@YAAAPADAAPAD@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$forward@AAPAD@std@@YAAAPADAAPAD@Z PROC ; std::forward<char * &>, COMDAT |
| |
| ; 1298 : { // forward an lvalue as either an lvalue or an rvalue |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1299 : return (static_cast<_Ty&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1300 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ENDP ; std::forward<char * &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z |
| _TEXT SEGMENT |
| __Val$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 1 |
| ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Addressof<char>, COMDAT |
| |
| ; 707 : { // return address of object _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 708 : return (reinterpret_cast<_Ty *>( |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Val$[ebp] |
| |
| ; 709 : &const_cast<char&>( |
| ; 710 : reinterpret_cast<const volatile char&>(_Val)))); |
| ; 711 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Addressof<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@PAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPAD@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| __Ptr$ = 12 ; size = 4 |
| ??$destroy@PAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPAD@Z PROC ; std::allocator_traits<std::allocator<char> >::destroy<char *>, COMDAT |
| |
| ; 761 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 762 : _Al.destroy(_Ptr); |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Ptr$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 0000a e8 00 00 00 00 call ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z ; std::allocator<char>::destroy<char *> |
| |
| ; 763 : } |
| |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ??$destroy@PAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPAD@Z ENDP ; std::allocator_traits<std::allocator<char> >::destroy<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| __Val1$ = 12 ; size = 4 |
| ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 288 : { // construct from forwarded values |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 286 : : _Ty1(_STD forward<_Other1>(_Val1)), |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Val1$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::forward<std::_Wrap_alloc<std::allocator<char> > > |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@$$QAU01@@Z ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| |
| ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> > |
| |
| ; 289 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c2 08 00 ret 8 |
| ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z PROC ; std::forward<std::_Wrap_alloc<std::allocator<char> > >, COMDAT |
| |
| ; 1298 : { // forward an lvalue as either an lvalue or an rvalue |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1299 : return (static_cast<_Ty&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1300 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ENDP ; std::forward<std::_Wrap_alloc<std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@XZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::~_Parser<char const *,char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 14 add ecx, 20 ; 00000014H |
| 0000d e8 00 00 00 00 call ??1?$vector@_NV?$allocator@_N@std@@@std@@QAE@XZ ; std::vector<bool,std::allocator<bool> >::~vector<bool,std::allocator<bool> > |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??1?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@XZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::~_Parser<char const *,char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Get_tmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_tmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_tmax, COMDAT |
| ; _this$ = ecx |
| |
| ; 3998 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3999 : return (static_cast<unsigned int>(_Tmax)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 14 mov eax, DWORD PTR [eax+20] |
| |
| ; 4000 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?_Get_tmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_tmax |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Get_bmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_bmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_bmax, COMDAT |
| ; _this$ = ecx |
| |
| ; 3990 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3991 : return (static_cast<unsigned int>(_Bmax)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 10 mov eax, DWORD PTR [eax+16] |
| |
| ; 3992 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?_Get_bmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_bmax |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z |
| _TEXT SEGMENT |
| _this$ = -16 ; size = 4 |
| __Node$1 = -12 ; size = 4 |
| tv80 = -8 ; size = 4 |
| $T2 = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Diff$ = 16 ; size = 4 |
| __Cur$ = 20 ; size = 4 |
| ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Char_to_elts, COMDAT |
| ; _this$ = ecx |
| |
| ; 3974 : { // add collation element to element sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d f0 mov DWORD PTR _this$[ebp], ecx |
| $LN2@Char_to_el: |
| |
| ; 3975 : while (*_Cur && (unsigned int)_Diff < (*_Cur)->_Sz) |
| |
| 00009 8b 45 14 mov eax, DWORD PTR __Cur$[ebp] |
| 0000c 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000f 74 19 je SHORT $LN3@Char_to_el |
| 00011 8b 4d 14 mov ecx, DWORD PTR __Cur$[ebp] |
| 00014 8b 11 mov edx, DWORD PTR [ecx] |
| 00016 8b 45 10 mov eax, DWORD PTR __Diff$[ebp] |
| 00019 3b 02 cmp eax, DWORD PTR [edx] |
| 0001b 73 0d jae SHORT $LN3@Char_to_el |
| |
| ; 3976 : _Cur = &(*_Cur)->_Next; |
| |
| 0001d 8b 4d 14 mov ecx, DWORD PTR __Cur$[ebp] |
| 00020 8b 11 mov edx, DWORD PTR [ecx] |
| 00022 83 c2 10 add edx, 16 ; 00000010H |
| 00025 89 55 14 mov DWORD PTR __Cur$[ebp], edx |
| 00028 eb df jmp SHORT $LN2@Char_to_el |
| $LN3@Char_to_el: |
| |
| ; 3977 : if (!(*_Cur) || (unsigned int)_Diff != (*_Cur)->_Sz) |
| |
| 0002a 8b 45 14 mov eax, DWORD PTR __Cur$[ebp] |
| 0002d 83 38 00 cmp DWORD PTR [eax], 0 |
| 00030 74 0c je SHORT $LN5@Char_to_el |
| 00032 8b 4d 14 mov ecx, DWORD PTR __Cur$[ebp] |
| 00035 8b 11 mov edx, DWORD PTR [ecx] |
| 00037 8b 45 10 mov eax, DWORD PTR __Diff$[ebp] |
| 0003a 3b 02 cmp eax, DWORD PTR [edx] |
| 0003c 74 46 je SHORT $LN4@Char_to_el |
| $LN5@Char_to_el: |
| |
| ; 3978 : { // add new sequence holding elements of the same length |
| ; 3979 : _Sequence<_Elem> *_Node = *_Cur; |
| |
| 0003e 8b 4d 14 mov ecx, DWORD PTR __Cur$[ebp] |
| 00041 8b 11 mov edx, DWORD PTR [ecx] |
| 00043 89 55 f4 mov DWORD PTR __Node$1[ebp], edx |
| |
| ; 3980 : *_Cur = new _Sequence<_Elem>((unsigned int)_Diff); |
| |
| 00046 6a 14 push 20 ; 00000014H |
| 00048 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 0004d 83 c4 04 add esp, 4 |
| 00050 89 45 fc mov DWORD PTR $T2[ebp], eax |
| 00053 83 7d fc 00 cmp DWORD PTR $T2[ebp], 0 |
| 00057 74 11 je SHORT $LN7@Char_to_el |
| 00059 8b 45 10 mov eax, DWORD PTR __Diff$[ebp] |
| 0005c 50 push eax |
| 0005d 8b 4d fc mov ecx, DWORD PTR $T2[ebp] |
| 00060 e8 00 00 00 00 call ??0?$_Sequence@D@std@@QAE@I@Z ; std::_Sequence<char>::_Sequence<char> |
| 00065 89 45 f8 mov DWORD PTR tv80[ebp], eax |
| 00068 eb 07 jmp SHORT $LN8@Char_to_el |
| $LN7@Char_to_el: |
| 0006a c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv80[ebp], 0 |
| $LN8@Char_to_el: |
| 00071 8b 4d 14 mov ecx, DWORD PTR __Cur$[ebp] |
| 00074 8b 55 f8 mov edx, DWORD PTR tv80[ebp] |
| 00077 89 11 mov DWORD PTR [ecx], edx |
| |
| ; 3981 : (*_Cur)->_Next = _Node; |
| |
| 00079 8b 45 14 mov eax, DWORD PTR __Cur$[ebp] |
| 0007c 8b 08 mov ecx, DWORD PTR [eax] |
| 0007e 8b 55 f4 mov edx, DWORD PTR __Node$1[ebp] |
| 00081 89 51 10 mov DWORD PTR [ecx+16], edx |
| $LN4@Char_to_el: |
| |
| ; 3982 : } |
| ; 3983 : (*_Cur)->_Data._Insert(_First, _Last); |
| |
| 00084 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00087 50 push eax |
| 00088 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 0008b 51 push ecx |
| 0008c 8b 55 14 mov edx, DWORD PTR __Cur$[ebp] |
| 0008f 8b 0a mov ecx, DWORD PTR [edx] |
| 00091 83 c1 04 add ecx, 4 |
| 00094 e8 00 00 00 00 call ??$_Insert@PBD@?$_Buf@D@std@@QAEXPBD0@Z ; std::_Buf<char>::_Insert<char const *> |
| |
| ; 3984 : } |
| |
| 00099 8b e5 mov esp, ebp |
| 0009b 5d pop ebp |
| 0009c c2 10 00 ret 16 ; 00000010H |
| ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Char_to_elts |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPAV?$_Node_class@DV?$regex_traits@D@std@@@2@F_N@Z |
| _TEXT SEGMENT |
| _this$ = -20 ; size = 4 |
| tv89 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| __Ch$2 = -8 ; size = 4 |
| __Matches$3 = -1 ; size = 1 |
| __Node$ = 8 ; size = 4 |
| __Cl$ = 12 ; size = 2 |
| __Negate$ = 16 ; size = 1 |
| ?_Add_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPAV?$_Node_class@DV?$regex_traits@D@std@@@2@F_N@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_elts, COMDAT |
| ; _this$ = ecx |
| |
| ; 3940 : { // add characters in named class to set |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3941 : for (unsigned int _Ch = 0; _Ch < _Bmp_max; ++_Ch) |
| |
| 00009 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR __Ch$2[ebp], 0 |
| 00010 eb 09 jmp SHORT $LN4@Add_elts |
| $LN2@Add_elts: |
| 00012 8b 45 f8 mov eax, DWORD PTR __Ch$2[ebp] |
| 00015 83 c0 01 add eax, 1 |
| 00018 89 45 f8 mov DWORD PTR __Ch$2[ebp], eax |
| $LN4@Add_elts: |
| 0001b 81 7d f8 00 01 |
| 00 00 cmp DWORD PTR __Ch$2[ebp], 256 ; 00000100H |
| 00022 73 6e jae SHORT $LN1@Add_elts |
| |
| ; 3942 : { // add elements or their inverse |
| ; 3943 : bool _Matches = _Traits.isctype(static_cast<_Elem>(_Ch), _Cl); |
| |
| 00024 0f b7 4d 0c movzx ecx, WORD PTR __Cl$[ebp] |
| 00028 51 push ecx |
| 00029 0f b6 55 f8 movzx edx, BYTE PTR __Ch$2[ebp] |
| 0002d 52 push edx |
| 0002e 8b 45 ec mov eax, DWORD PTR _this$[ebp] |
| 00031 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 00034 e8 00 00 00 00 call ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z ; std::_Regex_traits<char>::isctype |
| 00039 88 45 ff mov BYTE PTR __Matches$3[ebp], al |
| |
| ; 3944 : if (_Matches != _Negate) |
| |
| 0003c 0f b6 4d ff movzx ecx, BYTE PTR __Matches$3[ebp] |
| 00040 0f b6 55 10 movzx edx, BYTE PTR __Negate$[ebp] |
| 00044 3b ca cmp ecx, edx |
| 00046 74 48 je SHORT $LN5@Add_elts |
| |
| ; 3945 : { // add contents of named class to accelerator table |
| ; 3946 : if (!_Node->_Small) |
| |
| 00048 8b 45 08 mov eax, DWORD PTR __Node$[ebp] |
| 0004b 83 78 18 00 cmp DWORD PTR [eax+24], 0 |
| 0004f 75 30 jne SHORT $LN6@Add_elts |
| |
| ; 3947 : _Node->_Small = new _Bitmap; |
| |
| 00051 6a 20 push 32 ; 00000020H |
| 00053 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00058 83 c4 04 add esp, 4 |
| 0005b 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 0005e 83 7d f4 00 cmp DWORD PTR $T1[ebp], 0 |
| 00062 74 0d je SHORT $LN8@Add_elts |
| 00064 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 00067 e8 00 00 00 00 call ??0_Bitmap@std@@QAE@XZ ; std::_Bitmap::_Bitmap |
| 0006c 89 45 f0 mov DWORD PTR tv89[ebp], eax |
| 0006f eb 07 jmp SHORT $LN9@Add_elts |
| $LN8@Add_elts: |
| 00071 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv89[ebp], 0 |
| $LN9@Add_elts: |
| 00078 8b 4d 08 mov ecx, DWORD PTR __Node$[ebp] |
| 0007b 8b 55 f0 mov edx, DWORD PTR tv89[ebp] |
| 0007e 89 51 18 mov DWORD PTR [ecx+24], edx |
| $LN6@Add_elts: |
| |
| ; 3948 : _Node->_Small->_Mark(_Ch); |
| |
| 00081 8b 45 f8 mov eax, DWORD PTR __Ch$2[ebp] |
| 00084 50 push eax |
| 00085 8b 4d 08 mov ecx, DWORD PTR __Node$[ebp] |
| 00088 8b 49 18 mov ecx, DWORD PTR [ecx+24] |
| 0008b e8 00 00 00 00 call ??$_Mark@I@_Bitmap@std@@QAEXI@Z ; std::_Bitmap::_Mark<unsigned int> |
| $LN5@Add_elts: |
| |
| ; 3949 : } |
| ; 3950 : } |
| |
| 00090 eb 80 jmp SHORT $LN2@Add_elts |
| $LN1@Add_elts: |
| |
| ; 3951 : } |
| |
| 00092 8b e5 mov esp, ebp |
| 00094 5d pop ebp |
| 00095 c2 0c 00 ret 12 ; 0000000cH |
| ?_Add_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPAV?$_Node_class@DV?$regex_traits@D@std@@@2@F_N@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_elts |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z |
| _TEXT SEGMENT |
| tv93 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| __Node$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_array, COMDAT |
| ; _this$ = ecx |
| |
| ; 3877 : { // append character to character array |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3878 : if (_Flags & regex_constants::icase) |
| |
| 00009 68 00 01 00 00 push 256 ; 00000100H |
| 0000e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00011 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 00014 51 push ecx |
| 00015 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 0001a 83 c4 08 add esp, 8 |
| 0001d 85 c0 test eax, eax |
| 0001f 74 13 je SHORT $LN2@Add_char_t |
| |
| ; 3879 : _Ch = _Traits.translate_nocase(_Ch); |
| |
| 00021 0f b6 55 08 movzx edx, BYTE PTR __Ch$[ebp] |
| 00025 52 push edx |
| 00026 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00029 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0002c e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00031 88 45 08 mov BYTE PTR __Ch$[ebp], al |
| $LN2@Add_char_t: |
| |
| ; 3880 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 3881 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00037 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 0003a 89 55 f8 mov DWORD PTR __Node$[ebp], edx |
| |
| ; 3882 : if (!_Node->_Large) |
| |
| 0003d 8b 45 f8 mov eax, DWORD PTR __Node$[ebp] |
| 00040 83 78 1c 00 cmp DWORD PTR [eax+28], 0 |
| 00044 75 30 jne SHORT $LN3@Add_char_t |
| |
| ; 3883 : _Node->_Large = new _Buf<_Elem>; |
| |
| 00046 6a 0c push 12 ; 0000000cH |
| 00048 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 0004d 83 c4 04 add esp, 4 |
| 00050 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 00053 83 7d f4 00 cmp DWORD PTR $T1[ebp], 0 |
| 00057 74 0d je SHORT $LN5@Add_char_t |
| 00059 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 0005c e8 00 00 00 00 call ??0?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::_Buf<char> |
| 00061 89 45 f0 mov DWORD PTR tv93[ebp], eax |
| 00064 eb 07 jmp SHORT $LN6@Add_char_t |
| $LN5@Add_char_t: |
| 00066 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv93[ebp], 0 |
| $LN6@Add_char_t: |
| 0006d 8b 4d f8 mov ecx, DWORD PTR __Node$[ebp] |
| 00070 8b 55 f0 mov edx, DWORD PTR tv93[ebp] |
| 00073 89 51 1c mov DWORD PTR [ecx+28], edx |
| $LN3@Add_char_t: |
| |
| ; 3884 : _Node->_Large->_Insert(_Ch); |
| |
| 00076 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0007a 50 push eax |
| 0007b 8b 4d f8 mov ecx, DWORD PTR __Node$[ebp] |
| 0007e 8b 49 1c mov ecx, DWORD PTR [ecx+28] |
| 00081 e8 00 00 00 00 call ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| |
| ; 3885 : } |
| |
| 00086 8b e5 mov esp, ebp |
| 00088 5d pop ebp |
| 00089 c2 04 00 ret 4 |
| ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_array |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_char_to_bitmap@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z |
| _TEXT SEGMENT |
| tv93 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| __Node$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Add_char_to_bitmap@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_bitmap, COMDAT |
| ; _this$ = ecx |
| |
| ; 3862 : { // add character to accelerator table |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3863 : if (_Flags & regex_constants::icase) |
| |
| 00009 68 00 01 00 00 push 256 ; 00000100H |
| 0000e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00011 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 00014 51 push ecx |
| 00015 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 0001a 83 c4 08 add esp, 8 |
| 0001d 85 c0 test eax, eax |
| 0001f 74 13 je SHORT $LN2@Add_char_t |
| |
| ; 3864 : _Ch = _Traits.translate_nocase(_Ch); |
| |
| 00021 0f b6 55 08 movzx edx, BYTE PTR __Ch$[ebp] |
| 00025 52 push edx |
| 00026 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00029 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0002c e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00031 88 45 08 mov BYTE PTR __Ch$[ebp], al |
| $LN2@Add_char_t: |
| |
| ; 3865 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 3866 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00037 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 0003a 89 55 f8 mov DWORD PTR __Node$[ebp], edx |
| |
| ; 3867 : |
| ; 3868 : if (!_Node->_Small) |
| |
| 0003d 8b 45 f8 mov eax, DWORD PTR __Node$[ebp] |
| 00040 83 78 18 00 cmp DWORD PTR [eax+24], 0 |
| 00044 75 30 jne SHORT $LN3@Add_char_t |
| |
| ; 3869 : _Node->_Small = new _Bitmap; |
| |
| 00046 6a 20 push 32 ; 00000020H |
| 00048 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 0004d 83 c4 04 add esp, 4 |
| 00050 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 00053 83 7d f4 00 cmp DWORD PTR $T1[ebp], 0 |
| 00057 74 0d je SHORT $LN5@Add_char_t |
| 00059 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 0005c e8 00 00 00 00 call ??0_Bitmap@std@@QAE@XZ ; std::_Bitmap::_Bitmap |
| 00061 89 45 f0 mov DWORD PTR tv93[ebp], eax |
| 00064 eb 07 jmp SHORT $LN6@Add_char_t |
| $LN5@Add_char_t: |
| 00066 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv93[ebp], 0 |
| $LN6@Add_char_t: |
| 0006d 8b 4d f8 mov ecx, DWORD PTR __Node$[ebp] |
| 00070 8b 55 f0 mov edx, DWORD PTR tv93[ebp] |
| 00073 89 51 18 mov DWORD PTR [ecx+24], edx |
| $LN3@Add_char_t: |
| |
| ; 3870 : _Node->_Small->_Mark(static_cast<typename _RxTraits::_Uelem>(_Ch)); |
| |
| 00076 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0007a 50 push eax |
| 0007b 8b 4d f8 mov ecx, DWORD PTR __Node$[ebp] |
| 0007e 8b 49 18 mov ecx, DWORD PTR [ecx+24] |
| 00081 e8 00 00 00 00 call ??$_Mark@E@_Bitmap@std@@QAEXE@Z ; std::_Bitmap::_Mark<unsigned char> |
| |
| ; 3871 : } |
| |
| 00086 8b e5 mov esp, ebp |
| 00088 5d pop ebp |
| 00089 c2 04 00 ret 4 |
| ?_Add_char_to_bitmap@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_bitmap |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv70 = -4 ; size = 4 |
| __Nx$ = 8 ; size = 4 |
| ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr, COMDAT |
| ; _this$ = ecx |
| |
| ; 3746 : { // test for beginning of expression or subexpression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3747 : return (_Nx->_Kind == _N_begin |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0000c 83 78 04 14 cmp DWORD PTR [eax+4], 20 ; 00000014H |
| 00010 74 1b je SHORT $LN3@Beg_expr |
| 00012 8b 4d 08 mov ecx, DWORD PTR __Nx$[ebp] |
| 00015 83 79 04 08 cmp DWORD PTR [ecx+4], 8 |
| 00019 74 12 je SHORT $LN3@Beg_expr |
| 0001b 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 0001e 83 7a 04 0d cmp DWORD PTR [edx+4], 13 ; 0000000dH |
| 00022 74 09 je SHORT $LN3@Beg_expr |
| 00024 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv70[ebp], 0 |
| 0002b eb 07 jmp SHORT $LN4@Beg_expr |
| $LN3@Beg_expr: |
| 0002d c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv70[ebp], 1 |
| $LN4@Beg_expr: |
| 00034 8a 45 fc mov al, BYTE PTR tv70[ebp] |
| |
| ; 3748 : || _Nx->_Kind == _N_group |
| ; 3749 : || _Nx->_Kind == _N_capture); |
| ; 3750 : } |
| |
| 00037 8b e5 mov esp, ebp |
| 00039 5d pop ebp |
| 0003a c2 04 00 ret 4 |
| ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_str_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv78 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| ?_Add_str_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_str_node, COMDAT |
| ; _this$ = ecx |
| |
| ; 3831 : { // add string node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3832 : _Link_node(new _Node_str<_Elem>); |
| |
| 00009 6a 20 push 32 ; 00000020H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 0f je SHORT $LN3@Add_str_no |
| 0001c 6a 00 push 0 |
| 0001e 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00021 e8 00 00 00 00 call ??0?$_Node_str@D@std@@QAE@W4_Node_flags@1@@Z ; std::_Node_str<char>::_Node_str<char> |
| 00026 89 45 f8 mov DWORD PTR tv78[ebp], eax |
| 00029 eb 07 jmp SHORT $LN4@Add_str_no |
| $LN3@Add_str_no: |
| 0002b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv78[ebp], 0 |
| $LN4@Add_str_no: |
| 00032 8b 45 f8 mov eax, DWORD PTR tv78[ebp] |
| 00035 50 push eax |
| 00036 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00039 e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 3833 : } |
| |
| 0003e 8b e5 mov esp, ebp |
| 00040 5d pop ebp |
| 00041 c3 ret 0 |
| ?_Add_str_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_str_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv76 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| __Kind$ = 8 ; size = 4 |
| ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node, COMDAT |
| ; _this$ = ecx |
| |
| ; 3783 : { // allocate and link simple node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3784 : return (_Link_node(new _Node_base(_Kind))); |
| |
| 00009 6a 14 push 20 ; 00000014H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 13 je SHORT $LN3@New_node |
| 0001c 6a 00 push 0 |
| 0001e 8b 45 08 mov eax, DWORD PTR __Kind$[ebp] |
| 00021 50 push eax |
| 00022 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00025 e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| 0002a 89 45 f8 mov DWORD PTR tv76[ebp], eax |
| 0002d eb 07 jmp SHORT $LN4@New_node |
| $LN3@New_node: |
| 0002f c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv76[ebp], 0 |
| $LN4@New_node: |
| 00036 8b 4d f8 mov ecx, DWORD PTR tv76[ebp] |
| 00039 51 push ecx |
| 0003a 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0003d e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 3785 : } |
| |
| 00042 8b e5 mov esp, ebp |
| 00044 5d pop ebp |
| 00045 c2 04 00 ret 4 |
| ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Nx$ = 8 ; size = 4 |
| ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node, COMDAT |
| ; _this$ = ecx |
| |
| ; 3766 : { // insert _Nx at current location |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3767 : _Nx->_Prev = _Current; |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0000a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000d 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00010 89 50 10 mov DWORD PTR [eax+16], edx |
| |
| ; 3768 : if (_Current->_Next) |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00019 83 79 0c 00 cmp DWORD PTR [ecx+12], 0 |
| 0001d 74 1e je SHORT $LN2@Link_node |
| |
| ; 3769 : { // set back pointer |
| ; 3770 : _Nx->_Next = _Current->_Next; |
| |
| 0001f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00022 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 00025 8b 4d 08 mov ecx, DWORD PTR __Nx$[ebp] |
| 00028 8b 50 0c mov edx, DWORD PTR [eax+12] |
| 0002b 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 3771 : _Current->_Next->_Prev = _Nx; |
| |
| 0002e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00031 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00034 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00037 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0003a 89 42 10 mov DWORD PTR [edx+16], eax |
| $LN2@Link_node: |
| |
| ; 3772 : } |
| ; 3773 : _Current->_Next = _Nx; |
| |
| 0003d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00040 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00043 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 00046 89 42 0c mov DWORD PTR [edx+12], eax |
| |
| ; 3774 : _Current = _Nx; |
| |
| 00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004c 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 0004f 89 51 04 mov DWORD PTR [ecx+4], edx |
| |
| ; 3775 : return (_Nx); |
| |
| 00052 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| |
| ; 3776 : } |
| |
| 00055 8b e5 mov esp, ebp |
| 00057 5d pop ebp |
| 00058 c2 04 00 ret 4 |
| ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_End_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_End_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_pattern, COMDAT |
| ; _this$ = ecx |
| |
| ; 4185 : { // wrap up |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4186 : _New_node(_N_end); |
| |
| 00007 6a 15 push 21 ; 00000015H |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 4187 : return (_Root); |
| |
| 00011 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00014 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 4188 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_End_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_pattern |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Mark_final@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mark_final@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Mark_final, COMDAT |
| ; _this$ = ecx |
| |
| ; 3729 : { // set flag |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3730 : _Current->_Flags |= _Fl_final; |
| |
| 00007 6a 04 push 4 |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 83 c1 08 add ecx, 8 |
| 00012 51 push ecx |
| 00013 e8 00 00 00 00 call ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ; std::operator|= |
| 00018 83 c4 08 add esp, 8 |
| |
| ; 3731 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c3 ret 0 |
| ?_Mark_final@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Mark_final |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Negate, COMDAT |
| ; _this$ = ecx |
| |
| ; 3721 : { // set flag |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3722 : _Current->_Flags ^= _Fl_negate; |
| |
| 00007 6a 01 push 1 |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 83 c1 08 add ecx, 8 |
| 00012 51 push ecx |
| 00013 e8 00 00 00 00 call ??_6std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ; std::operator^= |
| 00018 83 c4 08 add esp, 8 |
| |
| ; 3723 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c3 ret 0 |
| ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Negate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z |
| _TEXT SEGMENT |
| tv143 = -40 ; size = 4 |
| __Node$1 = -36 ; size = 4 |
| tv149 = -32 ; size = 4 |
| $T2 = -28 ; size = 4 |
| tv95 = -24 ; size = 4 |
| $T3 = -20 ; size = 4 |
| __Node0$ = -16 ; size = 4 |
| __Nx$ = -12 ; size = 4 |
| __Pos$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Min$ = 8 ; size = 4 |
| __Max$ = 12 ; size = 4 |
| __Greedy$ = 16 ; size = 1 |
| ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_rep, COMDAT |
| ; _this$ = ecx |
| |
| ; 4159 : { // add repeat node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 28 sub esp, 40 ; 00000028H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4160 : if (_Current->_Kind == _N_str |
| ; 4161 : && ((_Node_str<_Elem> *)_Current)->_Data._Size() != 1) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 83 79 04 06 cmp DWORD PTR [ecx+4], 6 |
| 00013 75 33 jne SHORT $LN2@Add_rep |
| 00015 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00018 8b 4a 04 mov ecx, DWORD PTR [edx+4] |
| 0001b 83 c1 14 add ecx, 20 ; 00000014H |
| 0001e e8 00 00 00 00 call ?_Size@?$_Buf@D@std@@QBEIXZ ; std::_Buf<char>::_Size |
| 00023 83 f8 01 cmp eax, 1 |
| 00026 74 20 je SHORT $LN2@Add_rep |
| |
| ; 4162 : { // move final character to new string node |
| ; 4163 : _Node_str<_Elem> *_Node = (_Node_str<_Elem> *)_Current; |
| |
| 00028 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002b 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0002e 89 4d dc mov DWORD PTR __Node$1[ebp], ecx |
| |
| ; 4164 : _Add_char(_Node->_Data._Del()); |
| |
| 00031 8b 4d dc mov ecx, DWORD PTR __Node$1[ebp] |
| 00034 83 c1 14 add ecx, 20 ; 00000014H |
| 00037 e8 00 00 00 00 call ?_Del@?$_Buf@D@std@@QAEDXZ ; std::_Buf<char>::_Del |
| 0003c 0f b6 d0 movzx edx, al |
| 0003f 52 push edx |
| 00040 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00043 e8 00 00 00 00 call ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| $LN2@Add_rep: |
| |
| ; 4165 : } |
| ; 4166 : _Node_base *_Pos = _Current; |
| |
| 00048 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0004b 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0004e 89 4d f8 mov DWORD PTR __Pos$[ebp], ecx |
| |
| ; 4167 : _Node_end_rep *_Node0 = new _Node_end_rep(); |
| |
| 00051 6a 18 push 24 ; 00000018H |
| 00053 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00058 83 c4 04 add esp, 4 |
| 0005b 89 45 ec mov DWORD PTR $T3[ebp], eax |
| 0005e 83 7d ec 00 cmp DWORD PTR $T3[ebp], 0 |
| 00062 74 0d je SHORT $LN6@Add_rep |
| 00064 8b 4d ec mov ecx, DWORD PTR $T3[ebp] |
| 00067 e8 00 00 00 00 call ??0_Node_end_rep@std@@QAE@XZ ; std::_Node_end_rep::_Node_end_rep |
| 0006c 89 45 e8 mov DWORD PTR tv95[ebp], eax |
| 0006f eb 07 jmp SHORT $LN7@Add_rep |
| $LN6@Add_rep: |
| 00071 c7 45 e8 00 00 |
| 00 00 mov DWORD PTR tv95[ebp], 0 |
| $LN7@Add_rep: |
| 00078 8b 55 e8 mov edx, DWORD PTR tv95[ebp] |
| 0007b 89 55 f0 mov DWORD PTR __Node0$[ebp], edx |
| |
| ; 4168 : _Node_rep *_Nx = |
| ; 4169 : new _Node_rep(_Greedy, _Min, _Max, _Node0, _Root->_Loops++); |
| |
| 0007e 6a 28 push 40 ; 00000028H |
| 00080 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00085 83 c4 04 add esp, 4 |
| 00088 89 45 e4 mov DWORD PTR $T2[ebp], eax |
| 0008b 83 7d e4 00 cmp DWORD PTR $T2[ebp], 0 |
| 0008f 74 40 je SHORT $LN8@Add_rep |
| 00091 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00094 8b 08 mov ecx, DWORD PTR [eax] |
| 00096 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 00099 89 55 d8 mov DWORD PTR tv143[ebp], edx |
| 0009c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0009f 8b 08 mov ecx, DWORD PTR [eax] |
| 000a1 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 000a4 83 c2 01 add edx, 1 |
| 000a7 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000aa 8b 08 mov ecx, DWORD PTR [eax] |
| 000ac 89 51 18 mov DWORD PTR [ecx+24], edx |
| 000af 8b 55 d8 mov edx, DWORD PTR tv143[ebp] |
| 000b2 52 push edx |
| 000b3 8b 45 f0 mov eax, DWORD PTR __Node0$[ebp] |
| 000b6 50 push eax |
| 000b7 8b 4d 0c mov ecx, DWORD PTR __Max$[ebp] |
| 000ba 51 push ecx |
| 000bb 8b 55 08 mov edx, DWORD PTR __Min$[ebp] |
| 000be 52 push edx |
| 000bf 0f b6 45 10 movzx eax, BYTE PTR __Greedy$[ebp] |
| 000c3 50 push eax |
| 000c4 8b 4d e4 mov ecx, DWORD PTR $T2[ebp] |
| 000c7 e8 00 00 00 00 call ??0_Node_rep@std@@QAE@_NHHPAV_Node_end_rep@1@I@Z ; std::_Node_rep::_Node_rep |
| 000cc 89 45 e0 mov DWORD PTR tv149[ebp], eax |
| 000cf eb 07 jmp SHORT $LN9@Add_rep |
| $LN8@Add_rep: |
| 000d1 c7 45 e0 00 00 |
| 00 00 mov DWORD PTR tv149[ebp], 0 |
| $LN9@Add_rep: |
| 000d8 8b 4d e0 mov ecx, DWORD PTR tv149[ebp] |
| 000db 89 4d f4 mov DWORD PTR __Nx$[ebp], ecx |
| |
| ; 4170 : _Node0->_Begin_rep = _Nx; |
| |
| 000de 8b 55 f0 mov edx, DWORD PTR __Node0$[ebp] |
| 000e1 8b 45 f4 mov eax, DWORD PTR __Nx$[ebp] |
| 000e4 89 42 14 mov DWORD PTR [edx+20], eax |
| |
| ; 4171 : _Link_node(_Node0); |
| |
| 000e7 8b 4d f0 mov ecx, DWORD PTR __Node0$[ebp] |
| 000ea 51 push ecx |
| 000eb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ee e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4172 : if (_Pos->_Kind == _N_end_group |
| ; 4173 : || _Pos->_Kind == _N_end_capture) |
| |
| 000f3 8b 55 f8 mov edx, DWORD PTR __Pos$[ebp] |
| 000f6 83 7a 04 09 cmp DWORD PTR [edx+4], 9 |
| 000fa 74 09 je SHORT $LN4@Add_rep |
| 000fc 8b 45 f8 mov eax, DWORD PTR __Pos$[ebp] |
| 000ff 83 78 04 0e cmp DWORD PTR [eax+4], 14 ; 0000000eH |
| 00103 75 09 jne SHORT $LN3@Add_rep |
| $LN4@Add_rep: |
| |
| ; 4174 : _Pos = ((_Node_end_group *)_Pos)->_Back; |
| |
| 00105 8b 4d f8 mov ecx, DWORD PTR __Pos$[ebp] |
| 00108 8b 51 14 mov edx, DWORD PTR [ecx+20] |
| 0010b 89 55 f8 mov DWORD PTR __Pos$[ebp], edx |
| $LN3@Add_rep: |
| |
| ; 4175 : _Pos->_Prev->_Next = _Nx; |
| |
| 0010e 8b 45 f8 mov eax, DWORD PTR __Pos$[ebp] |
| 00111 8b 48 10 mov ecx, DWORD PTR [eax+16] |
| 00114 8b 55 f4 mov edx, DWORD PTR __Nx$[ebp] |
| 00117 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 4176 : _Nx->_Prev = _Pos->_Prev; |
| |
| 0011a 8b 45 f4 mov eax, DWORD PTR __Nx$[ebp] |
| 0011d 8b 4d f8 mov ecx, DWORD PTR __Pos$[ebp] |
| 00120 8b 51 10 mov edx, DWORD PTR [ecx+16] |
| 00123 89 50 10 mov DWORD PTR [eax+16], edx |
| |
| ; 4177 : _Pos->_Prev = _Nx; |
| |
| 00126 8b 45 f8 mov eax, DWORD PTR __Pos$[ebp] |
| 00129 8b 4d f4 mov ecx, DWORD PTR __Nx$[ebp] |
| 0012c 89 48 10 mov DWORD PTR [eax+16], ecx |
| |
| ; 4178 : _Nx->_Next = _Pos; |
| |
| 0012f 8b 55 f4 mov edx, DWORD PTR __Nx$[ebp] |
| 00132 8b 45 f8 mov eax, DWORD PTR __Pos$[ebp] |
| 00135 89 42 0c mov DWORD PTR [edx+12], eax |
| |
| ; 4179 : } |
| |
| 00138 8b e5 mov esp, ebp |
| 0013a 5d pop ebp |
| 0013b c2 0c 00 ret 12 ; 0000000cH |
| ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_rep |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Else_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@0@Z |
| _TEXT SEGMENT |
| __Last$ = -24 ; size = 4 |
| __First$ = -20 ; size = 4 |
| tv88 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| __Parent$ = -4 ; size = 4 |
| __Start$ = 8 ; size = 4 |
| __End$ = 12 ; size = 4 |
| ?_Else_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@0@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Else_if, COMDAT |
| ; _this$ = ecx |
| |
| ; 4139 : { // add else node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 18 sub esp, 24 ; 00000018H |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4140 : _Node_if *_Parent = (_Node_if *)_Start->_Next; |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Start$[ebp] |
| 0000c 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0000f 89 4d fc mov DWORD PTR __Parent$[ebp], ecx |
| |
| ; 4141 : _Node_base *_First = _End->_Next; |
| |
| 00012 8b 55 0c mov edx, DWORD PTR __End$[ebp] |
| 00015 8b 42 0c mov eax, DWORD PTR [edx+12] |
| 00018 89 45 ec mov DWORD PTR __First$[ebp], eax |
| |
| ; 4142 : _End->_Next = 0; |
| |
| 0001b 8b 4d 0c mov ecx, DWORD PTR __End$[ebp] |
| 0001e c7 41 0c 00 00 |
| 00 00 mov DWORD PTR [ecx+12], 0 |
| |
| ; 4143 : _Node_base *_Last = _Current; |
| |
| 00025 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00028 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 0002b 89 45 e8 mov DWORD PTR __Last$[ebp], eax |
| |
| ; 4144 : _Current = _End; |
| |
| 0002e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00031 8b 55 0c mov edx, DWORD PTR __End$[ebp] |
| 00034 89 51 04 mov DWORD PTR [ecx+4], edx |
| |
| ; 4145 : _End->_Next = 0; |
| |
| 00037 8b 45 0c mov eax, DWORD PTR __End$[ebp] |
| 0003a c7 40 0c 00 00 |
| 00 00 mov DWORD PTR [eax+12], 0 |
| |
| ; 4146 : _Last->_Next = _End; |
| |
| 00041 8b 4d e8 mov ecx, DWORD PTR __Last$[ebp] |
| 00044 8b 55 0c mov edx, DWORD PTR __End$[ebp] |
| 00047 89 51 0c mov DWORD PTR [ecx+12], edx |
| $LN2@Else_if: |
| |
| ; 4147 : while (_Parent->_Child) |
| |
| 0004a 8b 45 fc mov eax, DWORD PTR __Parent$[ebp] |
| 0004d 83 78 18 00 cmp DWORD PTR [eax+24], 0 |
| 00051 74 0b je SHORT $LN3@Else_if |
| |
| ; 4148 : _Parent = _Parent->_Child; |
| |
| 00053 8b 4d fc mov ecx, DWORD PTR __Parent$[ebp] |
| 00056 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 00059 89 55 fc mov DWORD PTR __Parent$[ebp], edx |
| 0005c eb ec jmp SHORT $LN2@Else_if |
| $LN3@Else_if: |
| |
| ; 4149 : _Parent->_Child = new _Node_if(_End); |
| |
| 0005e 6a 1c push 28 ; 0000001cH |
| 00060 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00065 83 c4 04 add esp, 4 |
| 00068 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 0006b 83 7d f4 00 cmp DWORD PTR $T1[ebp], 0 |
| 0006f 74 11 je SHORT $LN5@Else_if |
| 00071 8b 45 0c mov eax, DWORD PTR __End$[ebp] |
| 00074 50 push eax |
| 00075 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 00078 e8 00 00 00 00 call ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z ; std::_Node_if::_Node_if |
| 0007d 89 45 f0 mov DWORD PTR tv88[ebp], eax |
| 00080 eb 07 jmp SHORT $LN6@Else_if |
| $LN5@Else_if: |
| 00082 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv88[ebp], 0 |
| $LN6@Else_if: |
| 00089 8b 4d fc mov ecx, DWORD PTR __Parent$[ebp] |
| 0008c 8b 55 f0 mov edx, DWORD PTR tv88[ebp] |
| 0008f 89 51 18 mov DWORD PTR [ecx+24], edx |
| |
| ; 4150 : _Parent->_Child->_Next = _First; |
| |
| 00092 8b 45 fc mov eax, DWORD PTR __Parent$[ebp] |
| 00095 8b 48 18 mov ecx, DWORD PTR [eax+24] |
| 00098 8b 55 ec mov edx, DWORD PTR __First$[ebp] |
| 0009b 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 4151 : _First->_Prev = _Parent->_Child; |
| |
| 0009e 8b 45 ec mov eax, DWORD PTR __First$[ebp] |
| 000a1 8b 4d fc mov ecx, DWORD PTR __Parent$[ebp] |
| 000a4 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 000a7 89 50 10 mov DWORD PTR [eax+16], edx |
| |
| ; 4152 : } |
| |
| 000aa 8b e5 mov esp, ebp |
| 000ac 5d pop ebp |
| 000ad c2 08 00 ret 8 |
| ?_Else_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@0@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Else_if |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Begin_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@PAV32@@Z |
| _TEXT SEGMENT |
| _this$ = -32 ; size = 4 |
| tv88 = -28 ; size = 4 |
| $T1 = -24 ; size = 4 |
| tv75 = -20 ; size = 4 |
| $T2 = -16 ; size = 4 |
| __Res$ = -12 ; size = 4 |
| __Node1$ = -8 ; size = 4 |
| __Pos$ = -4 ; size = 4 |
| __Start$ = 8 ; size = 4 |
| ?_Begin_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@PAV32@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_if, COMDAT |
| ; _this$ = ecx |
| |
| ; 4119 : { // add if node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 20 sub esp, 32 ; 00000020H |
| 00006 89 4d e0 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4120 : /* append endif node */ |
| ; 4121 : _Node_base *_Res = new _Node_endif; |
| |
| 00009 6a 14 push 20 ; 00000014H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 f0 mov DWORD PTR $T2[ebp], eax |
| 00016 83 7d f0 00 cmp DWORD PTR $T2[ebp], 0 |
| 0001a 74 0d je SHORT $LN3@Begin_if |
| 0001c 8b 4d f0 mov ecx, DWORD PTR $T2[ebp] |
| 0001f e8 00 00 00 00 call ??0_Node_endif@std@@QAE@XZ ; std::_Node_endif::_Node_endif |
| 00024 89 45 ec mov DWORD PTR tv75[ebp], eax |
| 00027 eb 07 jmp SHORT $LN4@Begin_if |
| $LN3@Begin_if: |
| 00029 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv75[ebp], 0 |
| $LN4@Begin_if: |
| 00030 8b 45 ec mov eax, DWORD PTR tv75[ebp] |
| 00033 89 45 f4 mov DWORD PTR __Res$[ebp], eax |
| |
| ; 4122 : _Link_node(_Res); |
| |
| 00036 8b 4d f4 mov ecx, DWORD PTR __Res$[ebp] |
| 00039 51 push ecx |
| 0003a 8b 4d e0 mov ecx, DWORD PTR _this$[ebp] |
| 0003d e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4123 : |
| ; 4124 : /* insert if_node */ |
| ; 4125 : _Node_if *_Node1 = new _Node_if(_Res); |
| |
| 00042 6a 1c push 28 ; 0000001cH |
| 00044 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00049 83 c4 04 add esp, 4 |
| 0004c 89 45 e8 mov DWORD PTR $T1[ebp], eax |
| 0004f 83 7d e8 00 cmp DWORD PTR $T1[ebp], 0 |
| 00053 74 11 je SHORT $LN5@Begin_if |
| 00055 8b 55 f4 mov edx, DWORD PTR __Res$[ebp] |
| 00058 52 push edx |
| 00059 8b 4d e8 mov ecx, DWORD PTR $T1[ebp] |
| 0005c e8 00 00 00 00 call ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z ; std::_Node_if::_Node_if |
| 00061 89 45 e4 mov DWORD PTR tv88[ebp], eax |
| 00064 eb 07 jmp SHORT $LN6@Begin_if |
| $LN5@Begin_if: |
| 00066 c7 45 e4 00 00 |
| 00 00 mov DWORD PTR tv88[ebp], 0 |
| $LN6@Begin_if: |
| 0006d 8b 45 e4 mov eax, DWORD PTR tv88[ebp] |
| 00070 89 45 f8 mov DWORD PTR __Node1$[ebp], eax |
| |
| ; 4126 : _Node_base *_Pos = _Start->_Next; |
| |
| 00073 8b 4d 08 mov ecx, DWORD PTR __Start$[ebp] |
| 00076 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00079 89 55 fc mov DWORD PTR __Pos$[ebp], edx |
| |
| ; 4127 : _Node1->_Prev = _Pos->_Prev; |
| |
| 0007c 8b 45 f8 mov eax, DWORD PTR __Node1$[ebp] |
| 0007f 8b 4d fc mov ecx, DWORD PTR __Pos$[ebp] |
| 00082 8b 51 10 mov edx, DWORD PTR [ecx+16] |
| 00085 89 50 10 mov DWORD PTR [eax+16], edx |
| |
| ; 4128 : _Pos->_Prev->_Next = _Node1; |
| |
| 00088 8b 45 fc mov eax, DWORD PTR __Pos$[ebp] |
| 0008b 8b 48 10 mov ecx, DWORD PTR [eax+16] |
| 0008e 8b 55 f8 mov edx, DWORD PTR __Node1$[ebp] |
| 00091 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 4129 : _Node1->_Next = _Pos; |
| |
| 00094 8b 45 f8 mov eax, DWORD PTR __Node1$[ebp] |
| 00097 8b 4d fc mov ecx, DWORD PTR __Pos$[ebp] |
| 0009a 89 48 0c mov DWORD PTR [eax+12], ecx |
| |
| ; 4130 : _Pos->_Prev = _Node1; |
| |
| 0009d 8b 55 fc mov edx, DWORD PTR __Pos$[ebp] |
| 000a0 8b 45 f8 mov eax, DWORD PTR __Node1$[ebp] |
| 000a3 89 42 10 mov DWORD PTR [edx+16], eax |
| |
| ; 4131 : return (_Res); |
| |
| 000a6 8b 45 f4 mov eax, DWORD PTR __Res$[ebp] |
| |
| ; 4132 : } |
| |
| 000a9 8b e5 mov esp, ebp |
| 000ab 5d pop ebp |
| 000ac c2 04 00 ret 4 |
| ?_Begin_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@PAV32@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_if |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_backreference@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv78 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| __Idx$ = 8 ; size = 4 |
| ?_Add_backreference@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXI@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_backreference, COMDAT |
| ; _this$ = ecx |
| |
| ; 4110 : { // add back reference node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4111 : _Link_node(new _Node_back(_Idx)); |
| |
| 00009 6a 18 push 24 ; 00000018H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 11 je SHORT $LN3@Add_backre |
| 0001c 8b 45 08 mov eax, DWORD PTR __Idx$[ebp] |
| 0001f 50 push eax |
| 00020 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00023 e8 00 00 00 00 call ??0_Node_back@std@@QAE@I@Z ; std::_Node_back::_Node_back |
| 00028 89 45 f8 mov DWORD PTR tv78[ebp], eax |
| 0002b eb 07 jmp SHORT $LN4@Add_backre |
| $LN3@Add_backre: |
| 0002d c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv78[ebp], 0 |
| $LN4@Add_backre: |
| 00034 8b 4d f8 mov ecx, DWORD PTR tv78[ebp] |
| 00037 51 push ecx |
| 00038 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0003b e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4112 : } |
| |
| 00040 8b e5 mov esp, ebp |
| 00042 5d pop ebp |
| 00043 c2 04 00 ret 4 |
| ?_Add_backreference@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXI@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_backreference |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv78 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| __Idx$ = 8 ; size = 4 |
| ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_capture_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 4101 : { // add capture group node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4102 : return (_Link_node(new _Node_capture(_Idx))); |
| |
| 00009 6a 18 push 24 ; 00000018H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 11 je SHORT $LN3@Begin_capt |
| 0001c 8b 45 08 mov eax, DWORD PTR __Idx$[ebp] |
| 0001f 50 push eax |
| 00020 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00023 e8 00 00 00 00 call ??0_Node_capture@std@@QAE@I@Z ; std::_Node_capture::_Node_capture |
| 00028 89 45 f8 mov DWORD PTR tv78[ebp], eax |
| 0002b eb 07 jmp SHORT $LN4@Begin_capt |
| $LN3@Begin_capt: |
| 0002d c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv78[ebp], 0 |
| $LN4@Begin_capt: |
| 00034 8b 4d f8 mov ecx, DWORD PTR tv78[ebp] |
| 00037 51 push ecx |
| 00038 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0003b e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4103 : } |
| |
| 00040 8b e5 mov esp, ebp |
| 00042 5d pop ebp |
| 00043 c2 04 00 ret 4 |
| ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_capture_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_End_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Nx$ = 8 ; size = 4 |
| ?_End_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_assert_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 4091 : { // add end of assert node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4092 : _End_group(_Nx); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| |
| ; 4093 : _Current = _Nx; |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 00019 89 51 04 mov DWORD PTR [ecx+4], edx |
| |
| ; 4094 : } |
| |
| 0001c 8b e5 mov esp, ebp |
| 0001e 5d pop ebp |
| 0001f c2 04 00 ret 4 |
| ?_End_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_assert_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z |
| _TEXT SEGMENT |
| tv131 = -60 ; size = 4 |
| $T2 = -56 ; size = 4 |
| _this$ = -52 ; size = 4 |
| tv88 = -48 ; size = 4 |
| $T3 = -44 ; size = 4 |
| tv77 = -40 ; size = 4 |
| $T4 = -36 ; size = 4 |
| tv75 = -32 ; size = 4 |
| __Node2$ = -28 ; size = 4 |
| $T5 = -24 ; size = 4 |
| __Node1$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __Neg$ = 8 ; size = 1 |
| ?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_assert_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 4067 : { // add assert node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 83 ec 2c sub esp, 44 ; 0000002cH |
| 00015 53 push ebx |
| 00016 56 push esi |
| 00017 57 push edi |
| 00018 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001d 33 c5 xor eax, ebp |
| 0001f 50 push eax |
| 00020 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00023 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00029 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002c 89 4d cc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4068 : _Node_assert *_Node1 = new _Node_assert(_Neg |
| |
| 0002f 6a 18 push 24 ; 00000018H |
| 00031 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00036 83 c4 04 add esp, 4 |
| 00039 89 45 dc mov DWORD PTR $T4[ebp], eax |
| 0003c 83 7d dc 00 cmp DWORD PTR $T4[ebp], 0 |
| 00040 74 2b je SHORT $LN6@Begin_asse |
| 00042 0f b6 45 08 movzx eax, BYTE PTR __Neg$[ebp] |
| 00046 85 c0 test eax, eax |
| 00048 74 09 je SHORT $LN4@Begin_asse |
| 0004a c7 45 e0 0b 00 |
| 00 00 mov DWORD PTR tv75[ebp], 11 ; 0000000bH |
| 00051 eb 07 jmp SHORT $LN5@Begin_asse |
| $LN4@Begin_asse: |
| 00053 c7 45 e0 0a 00 |
| 00 00 mov DWORD PTR tv75[ebp], 10 ; 0000000aH |
| $LN5@Begin_asse: |
| 0005a 6a 00 push 0 |
| 0005c 8b 4d e0 mov ecx, DWORD PTR tv75[ebp] |
| 0005f 51 push ecx |
| 00060 8b 4d dc mov ecx, DWORD PTR $T4[ebp] |
| 00063 e8 00 00 00 00 call ??0_Node_assert@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_assert::_Node_assert |
| 00068 89 45 d8 mov DWORD PTR tv77[ebp], eax |
| 0006b eb 07 jmp SHORT $LN7@Begin_asse |
| $LN6@Begin_asse: |
| 0006d c7 45 d8 00 00 |
| 00 00 mov DWORD PTR tv77[ebp], 0 |
| $LN7@Begin_asse: |
| 00074 8b 55 d8 mov edx, DWORD PTR tv77[ebp] |
| 00077 89 55 ec mov DWORD PTR __Node1$[ebp], edx |
| |
| ; 4069 : ? _N_neg_assert : _N_assert); |
| ; 4070 : |
| ; 4071 : _Node_base *_Node2; |
| ; 4072 : _TRY_BEGIN |
| |
| 0007a c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 4073 : _Node2 = new _Node_base(_N_nop); |
| |
| 00081 6a 14 push 20 ; 00000014H |
| 00083 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00088 83 c4 04 add esp, 4 |
| 0008b 89 45 d4 mov DWORD PTR $T3[ebp], eax |
| 0008e 83 7d d4 00 cmp DWORD PTR $T3[ebp], 0 |
| 00092 74 11 je SHORT $LN8@Begin_asse |
| 00094 6a 00 push 0 |
| 00096 6a 01 push 1 |
| 00098 8b 4d d4 mov ecx, DWORD PTR $T3[ebp] |
| 0009b e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| 000a0 89 45 d0 mov DWORD PTR tv88[ebp], eax |
| 000a3 eb 07 jmp SHORT $LN9@Begin_asse |
| $LN8@Begin_asse: |
| 000a5 c7 45 d0 00 00 |
| 00 00 mov DWORD PTR tv88[ebp], 0 |
| $LN9@Begin_asse: |
| 000ac 8b 45 d0 mov eax, DWORD PTR tv88[ebp] |
| 000af 89 45 e4 mov DWORD PTR __Node2$[ebp], eax |
| 000b2 eb 3b jmp SHORT $LN12@Begin_asse |
| __catch$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$0: |
| |
| ; 4074 : _CATCH_ALL |
| ; 4075 : delete _Node1; |
| |
| 000b4 8b 4d ec mov ecx, DWORD PTR __Node1$[ebp] |
| 000b7 89 4d c8 mov DWORD PTR $T2[ebp], ecx |
| 000ba 8b 55 c8 mov edx, DWORD PTR $T2[ebp] |
| 000bd 89 55 e8 mov DWORD PTR $T5[ebp], edx |
| 000c0 83 7d e8 00 cmp DWORD PTR $T5[ebp], 0 |
| 000c4 74 13 je SHORT $LN10@Begin_asse |
| 000c6 6a 01 push 1 |
| 000c8 8b 45 e8 mov eax, DWORD PTR $T5[ebp] |
| 000cb 8b 10 mov edx, DWORD PTR [eax] |
| 000cd 8b 4d e8 mov ecx, DWORD PTR $T5[ebp] |
| 000d0 8b 02 mov eax, DWORD PTR [edx] |
| 000d2 ff d0 call eax |
| 000d4 89 45 c4 mov DWORD PTR tv131[ebp], eax |
| 000d7 eb 07 jmp SHORT $LN11@Begin_asse |
| $LN10@Begin_asse: |
| 000d9 c7 45 c4 00 00 |
| 00 00 mov DWORD PTR tv131[ebp], 0 |
| $LN11@Begin_asse: |
| |
| ; 4076 : _RERAISE; |
| |
| 000e0 6a 00 push 0 |
| 000e2 6a 00 push 0 |
| 000e4 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 4077 : _CATCH_END |
| |
| 000e9 b8 00 00 00 00 mov eax, $LN15@Begin_asse |
| 000ee c3 ret 0 |
| $LN12@Begin_asse: |
| 000ef c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 000f6 eb 07 jmp SHORT __tryend$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$1 |
| $LN15@Begin_asse: |
| 000f8 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| __tryend$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z$1: |
| |
| ; 4078 : |
| ; 4079 : _Link_node(_Node1); |
| |
| 000ff 8b 4d ec mov ecx, DWORD PTR __Node1$[ebp] |
| 00102 51 push ecx |
| 00103 8b 4d cc mov ecx, DWORD PTR _this$[ebp] |
| 00106 e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4080 : _Node1->_Child = _Node2; |
| |
| 0010b 8b 55 ec mov edx, DWORD PTR __Node1$[ebp] |
| 0010e 8b 45 e4 mov eax, DWORD PTR __Node2$[ebp] |
| 00111 89 42 14 mov DWORD PTR [edx+20], eax |
| |
| ; 4081 : _Node2->_Prev = _Node1; |
| |
| 00114 8b 4d e4 mov ecx, DWORD PTR __Node2$[ebp] |
| 00117 8b 55 ec mov edx, DWORD PTR __Node1$[ebp] |
| 0011a 89 51 10 mov DWORD PTR [ecx+16], edx |
| |
| ; 4082 : _Current = _Node2; |
| |
| 0011d 8b 45 cc mov eax, DWORD PTR _this$[ebp] |
| 00120 8b 4d e4 mov ecx, DWORD PTR __Node2$[ebp] |
| 00123 89 48 04 mov DWORD PTR [eax+4], ecx |
| |
| ; 4083 : return (_Node1); |
| |
| 00126 8b 45 ec mov eax, DWORD PTR __Node1$[ebp] |
| $LN3@Begin_asse: |
| |
| ; 4084 : } |
| |
| 00129 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 0012c 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 00133 59 pop ecx |
| 00134 5f pop edi |
| 00135 5e pop esi |
| 00136 5b pop ebx |
| 00137 8b e5 mov esp, ebp |
| 00139 5d pop ebp |
| 0013a c2 04 00 ret 4 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a c0 mov ecx, DWORD PTR [edx-64] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_assert_group |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z |
| _TEXT SEGMENT |
| _this$ = -28 ; size = 4 |
| __Elt$ = -24 ; size = 4 |
| tv89 = -20 ; size = 4 |
| $T1 = -16 ; size = 4 |
| tv72 = -12 ; size = 4 |
| tv71 = -8 ; size = 4 |
| tv70 = -4 ; size = 4 |
| __Back$ = 8 ; size = 4 |
| ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 4054 : { // add end of group node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 1c sub esp, 28 ; 0000001cH |
| 00006 89 4d e4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4055 : _Node_type _Elt = _Back->_Kind == _N_group ? _N_end_group |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Back$[ebp] |
| 0000c 83 78 04 08 cmp DWORD PTR [eax+4], 8 |
| 00010 75 09 jne SHORT $LN7@End_group |
| 00012 c7 45 f4 09 00 |
| 00 00 mov DWORD PTR tv72[ebp], 9 |
| 00019 eb 37 jmp SHORT $LN8@End_group |
| $LN7@End_group: |
| 0001b 8b 4d 08 mov ecx, DWORD PTR __Back$[ebp] |
| 0001e 83 79 04 0a cmp DWORD PTR [ecx+4], 10 ; 0000000aH |
| 00022 75 09 jne SHORT $LN5@End_group |
| 00024 c7 45 f8 0c 00 |
| 00 00 mov DWORD PTR tv71[ebp], 12 ; 0000000cH |
| 0002b eb 1f jmp SHORT $LN6@End_group |
| $LN5@End_group: |
| 0002d 8b 55 08 mov edx, DWORD PTR __Back$[ebp] |
| 00030 83 7a 04 0b cmp DWORD PTR [edx+4], 11 ; 0000000bH |
| 00034 75 09 jne SHORT $LN3@End_group |
| 00036 c7 45 fc 0c 00 |
| 00 00 mov DWORD PTR tv70[ebp], 12 ; 0000000cH |
| 0003d eb 07 jmp SHORT $LN4@End_group |
| $LN3@End_group: |
| 0003f c7 45 fc 0e 00 |
| 00 00 mov DWORD PTR tv70[ebp], 14 ; 0000000eH |
| $LN4@End_group: |
| 00046 8b 45 fc mov eax, DWORD PTR tv70[ebp] |
| 00049 89 45 f8 mov DWORD PTR tv71[ebp], eax |
| $LN6@End_group: |
| 0004c 8b 4d f8 mov ecx, DWORD PTR tv71[ebp] |
| 0004f 89 4d f4 mov DWORD PTR tv72[ebp], ecx |
| $LN8@End_group: |
| 00052 8b 55 f4 mov edx, DWORD PTR tv72[ebp] |
| 00055 89 55 e8 mov DWORD PTR __Elt$[ebp], edx |
| |
| ; 4056 : : _Back->_Kind == _N_assert ? _N_end_assert |
| ; 4057 : : _Back->_Kind == _N_neg_assert ? _N_end_assert |
| ; 4058 : : _N_end_capture; |
| ; 4059 : _Link_node(new _Node_end_group(_Elt, _Fl_none, _Back)); |
| |
| 00058 6a 18 push 24 ; 00000018H |
| 0005a e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 0005f 83 c4 04 add esp, 4 |
| 00062 89 45 f0 mov DWORD PTR $T1[ebp], eax |
| 00065 83 7d f0 00 cmp DWORD PTR $T1[ebp], 0 |
| 00069 74 17 je SHORT $LN9@End_group |
| 0006b 8b 45 08 mov eax, DWORD PTR __Back$[ebp] |
| 0006e 50 push eax |
| 0006f 6a 00 push 0 |
| 00071 8b 4d e8 mov ecx, DWORD PTR __Elt$[ebp] |
| 00074 51 push ecx |
| 00075 8b 4d f0 mov ecx, DWORD PTR $T1[ebp] |
| 00078 e8 00 00 00 00 call ??0_Node_end_group@std@@QAE@W4_Node_type@1@W4_Node_flags@1@PAV_Node_base@1@@Z ; std::_Node_end_group::_Node_end_group |
| 0007d 89 45 ec mov DWORD PTR tv89[ebp], eax |
| 00080 eb 07 jmp SHORT $LN10@End_group |
| $LN9@End_group: |
| 00082 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv89[ebp], 0 |
| $LN10@End_group: |
| 00089 8b 55 ec mov edx, DWORD PTR tv89[ebp] |
| 0008c 52 push edx |
| 0008d 8b 4d e4 mov ecx, DWORD PTR _this$[ebp] |
| 00090 e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 4060 : } |
| |
| 00095 8b e5 mov esp, ebp |
| 00097 5d pop ebp |
| 00098 c2 04 00 ret 4 |
| ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 4045 : { // add group node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4046 : return (_New_node(_N_group)); |
| |
| 00007 6a 08 push 8 |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 4047 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_coll@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z |
| _TEXT SEGMENT |
| __Cur$ = -12 ; size = 4 |
| __Node$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Diff$ = 16 ; size = 4 |
| ?_Add_coll@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_coll, COMDAT |
| ; _this$ = ecx |
| |
| ; 4034 : { // add collation element to bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4035 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 4036 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 89 4d f8 mov DWORD PTR __Node$[ebp], ecx |
| |
| ; 4037 : _Sequence<_Elem> **_Cur = &_Node->_Coll; |
| |
| 00012 8b 55 f8 mov edx, DWORD PTR __Node$[ebp] |
| 00015 83 c2 14 add edx, 20 ; 00000014H |
| 00018 89 55 f4 mov DWORD PTR __Cur$[ebp], edx |
| |
| ; 4038 : _Char_to_elts(_First, _Last, _Diff, _Cur); |
| |
| 0001b 8b 45 f4 mov eax, DWORD PTR __Cur$[ebp] |
| 0001e 50 push eax |
| 0001f 8b 4d 10 mov ecx, DWORD PTR __Diff$[ebp] |
| 00022 51 push ecx |
| 00023 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00026 52 push edx |
| 00027 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0002a 50 push eax |
| 0002b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002e e8 00 00 00 00 call ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Char_to_elts |
| |
| ; 4039 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 0c 00 ret 12 ; 0000000cH |
| ?_Add_coll@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_coll |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_equiv@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z |
| _TEXT SEGMENT |
| __Cur$1 = -80 ; size = 4 |
| tv143 = -76 ; size = 4 |
| $T2 = -72 ; size = 4 |
| _this$ = -68 ; size = 4 |
| __Node$ = -64 ; size = 4 |
| __Ch$3 = -60 ; size = 4 |
| __Ex$4 = -55 ; size = 1 |
| $T5 = -53 ; size = 1 |
| $T6 = -52 ; size = 24 |
| __Str$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Diff$ = 16 ; size = 4 |
| ?_Add_equiv@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_equiv, COMDAT |
| ; _this$ = ecx |
| |
| ; 4007 : { // add elements of equivalence class to bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 50 sub esp, 80 ; 00000050H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 89 4d bc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4008 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 4009 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 00013 8b 45 bc mov eax, DWORD PTR _this$[ebp] |
| 00016 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00019 89 4d c0 mov DWORD PTR __Node$[ebp], ecx |
| |
| ; 4010 : typename _RxTraits::string_type _Str = |
| ; 4011 : _Traits.transform_primary(_First, _Last); |
| |
| 0001c 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 0001f 52 push edx |
| 00020 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00023 50 push eax |
| 00024 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 00027 51 push ecx |
| 00028 8b 55 bc mov edx, DWORD PTR _this$[ebp] |
| 0002b 8b 4a 0c mov ecx, DWORD PTR [edx+12] |
| 0002e e8 00 00 00 00 call ??$transform_primary@PBD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PBD0@Z ; std::_Regex_traits<char>::transform_primary<char const *> |
| |
| ; 4012 : for (unsigned int _Ch = 0; _Ch < _Bmp_max; ++_Ch) |
| |
| 00033 c7 45 c4 00 00 |
| 00 00 mov DWORD PTR __Ch$3[ebp], 0 |
| 0003a eb 09 jmp SHORT $LN4@Add_equiv |
| $LN2@Add_equiv: |
| 0003c 8b 45 c4 mov eax, DWORD PTR __Ch$3[ebp] |
| 0003f 83 c0 01 add eax, 1 |
| 00042 89 45 c4 mov DWORD PTR __Ch$3[ebp], eax |
| $LN4@Add_equiv: |
| 00045 81 7d c4 00 01 |
| 00 00 cmp DWORD PTR __Ch$3[ebp], 256 ; 00000100H |
| 0004c 0f 83 8a 00 00 |
| 00 jae $LN3@Add_equiv |
| |
| ; 4013 : { // add elements |
| ; 4014 : _Elem _Ex = (_Elem)_Ch; |
| |
| 00052 8a 4d c4 mov cl, BYTE PTR __Ch$3[ebp] |
| 00055 88 4d c9 mov BYTE PTR __Ex$4[ebp], cl |
| |
| ; 4015 : if (_Traits.transform_primary(&_Ex, &_Ex + 1) == _Str) |
| |
| 00058 8d 55 e4 lea edx, DWORD PTR __Str$[ebp] |
| 0005b 52 push edx |
| 0005c 8d 45 ca lea eax, DWORD PTR __Ex$4[ebp+1] |
| 0005f 50 push eax |
| 00060 8d 4d c9 lea ecx, DWORD PTR __Ex$4[ebp] |
| 00063 51 push ecx |
| 00064 8d 55 cc lea edx, DWORD PTR $T6[ebp] |
| 00067 52 push edx |
| 00068 8b 45 bc mov eax, DWORD PTR _this$[ebp] |
| 0006b 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0006e e8 00 00 00 00 call ??$transform_primary@PAD@?$_Regex_traits@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@PAD0@Z ; std::_Regex_traits<char>::transform_primary<char *> |
| 00073 50 push eax |
| 00074 e8 00 00 00 00 call ??$?8DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z ; std::operator==<char,std::char_traits<char>,std::allocator<char> > |
| 00079 83 c4 08 add esp, 8 |
| 0007c 88 45 cb mov BYTE PTR $T5[ebp], al |
| 0007f 8d 4d cc lea ecx, DWORD PTR $T6[ebp] |
| 00082 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 00087 0f b6 4d cb movzx ecx, BYTE PTR $T5[ebp] |
| 0008b 85 c9 test ecx, ecx |
| 0008d 74 48 je SHORT $LN5@Add_equiv |
| |
| ; 4016 : { // insert equivalent character into bitmap |
| ; 4017 : if (!_Node->_Small) |
| |
| 0008f 8b 55 c0 mov edx, DWORD PTR __Node$[ebp] |
| 00092 83 7a 18 00 cmp DWORD PTR [edx+24], 0 |
| 00096 75 30 jne SHORT $LN6@Add_equiv |
| |
| ; 4018 : _Node->_Small = new _Bitmap; |
| |
| 00098 6a 20 push 32 ; 00000020H |
| 0009a e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 0009f 83 c4 04 add esp, 4 |
| 000a2 89 45 b8 mov DWORD PTR $T2[ebp], eax |
| 000a5 83 7d b8 00 cmp DWORD PTR $T2[ebp], 0 |
| 000a9 74 0d je SHORT $LN9@Add_equiv |
| 000ab 8b 4d b8 mov ecx, DWORD PTR $T2[ebp] |
| 000ae e8 00 00 00 00 call ??0_Bitmap@std@@QAE@XZ ; std::_Bitmap::_Bitmap |
| 000b3 89 45 b4 mov DWORD PTR tv143[ebp], eax |
| 000b6 eb 07 jmp SHORT $LN10@Add_equiv |
| $LN9@Add_equiv: |
| 000b8 c7 45 b4 00 00 |
| 00 00 mov DWORD PTR tv143[ebp], 0 |
| $LN10@Add_equiv: |
| 000bf 8b 45 c0 mov eax, DWORD PTR __Node$[ebp] |
| 000c2 8b 4d b4 mov ecx, DWORD PTR tv143[ebp] |
| 000c5 89 48 18 mov DWORD PTR [eax+24], ecx |
| $LN6@Add_equiv: |
| |
| ; 4019 : _Node->_Small->_Mark(_Ch); |
| |
| 000c8 8b 55 c4 mov edx, DWORD PTR __Ch$3[ebp] |
| 000cb 52 push edx |
| 000cc 8b 45 c0 mov eax, DWORD PTR __Node$[ebp] |
| 000cf 8b 48 18 mov ecx, DWORD PTR [eax+24] |
| 000d2 e8 00 00 00 00 call ??$_Mark@I@_Bitmap@std@@QAEXI@Z ; std::_Bitmap::_Mark<unsigned int> |
| $LN5@Add_equiv: |
| |
| ; 4020 : } |
| ; 4021 : } |
| |
| 000d7 e9 60 ff ff ff jmp $LN2@Add_equiv |
| $LN3@Add_equiv: |
| |
| ; 4022 : if (_Bmp_max < static_cast<unsigned int>((numeric_limits<_Elem>::max)())) |
| |
| 000dc e8 00 00 00 00 call ?max@?$numeric_limits@D@std@@SADXZ ; std::numeric_limits<char>::max |
| 000e1 0f be c8 movsx ecx, al |
| 000e4 81 f9 00 01 00 |
| 00 cmp ecx, 256 ; 00000100H |
| 000ea 76 21 jbe SHORT $LN7@Add_equiv |
| |
| ; 4023 : { // map range |
| ; 4024 : _Sequence<_Elem> **_Cur = &_Node->_Equiv; |
| |
| 000ec 8b 55 c0 mov edx, DWORD PTR __Node$[ebp] |
| 000ef 83 c2 28 add edx, 40 ; 00000028H |
| 000f2 89 55 b0 mov DWORD PTR __Cur$1[ebp], edx |
| |
| ; 4025 : _Char_to_elts(_First, _Last, _Diff, _Cur); |
| |
| 000f5 8b 45 b0 mov eax, DWORD PTR __Cur$1[ebp] |
| 000f8 50 push eax |
| 000f9 8b 4d 10 mov ecx, DWORD PTR __Diff$[ebp] |
| 000fc 51 push ecx |
| 000fd 8b 55 0c mov edx, DWORD PTR __Last$[ebp] |
| 00100 52 push edx |
| 00101 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00104 50 push eax |
| 00105 8b 4d bc mov ecx, DWORD PTR _this$[ebp] |
| 00108 e8 00 00 00 00 call ?_Char_to_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPBD0HPAPAU?$_Sequence@D@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Char_to_elts |
| $LN7@Add_equiv: |
| |
| ; 4026 : } |
| ; 4027 : } |
| |
| 0010d 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 00110 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 00115 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 00118 33 cd xor ecx, ebp |
| 0011a e8 00 00 00 00 call @__security_check_cookie@4 |
| 0011f 8b e5 mov esp, ebp |
| 00121 5d pop ebp |
| 00122 c2 0c 00 ret 12 ; 0000000cH |
| ?_Add_equiv@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_equiv |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| __Node$ = -4 ; size = 4 |
| __Cl$ = 8 ; size = 2 |
| __Negate$ = 12 ; size = 1 |
| ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_named_class, COMDAT |
| ; _this$ = ecx |
| |
| ; 3959 : { // add contents of named class to bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3960 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 3961 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 00009 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 89 4d fc mov DWORD PTR __Node$[ebp], ecx |
| |
| ; 3962 : _Add_elts(_Node, _Cl, _Negate); |
| |
| 00012 0f b6 55 0c movzx edx, BYTE PTR __Negate$[ebp] |
| 00016 52 push edx |
| 00017 0f b7 45 08 movzx eax, WORD PTR __Cl$[ebp] |
| 0001b 50 push eax |
| 0001c 8b 4d fc mov ecx, DWORD PTR __Node$[ebp] |
| 0001f 51 push ecx |
| 00020 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00023 e8 00 00 00 00 call ?_Add_elts@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXPAV?$_Node_class@DV?$regex_traits@D@std@@@2@F_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_elts |
| |
| ; 3963 : if (_Bmp_max < static_cast<unsigned int>((numeric_limits<_Elem>::max)())) |
| |
| 00028 e8 00 00 00 00 call ?max@?$numeric_limits@D@std@@SADXZ ; std::numeric_limits<char>::max |
| 0002d 0f be d0 movsx edx, al |
| 00030 81 fa 00 01 00 |
| 00 cmp edx, 256 ; 00000100H |
| 00036 76 14 jbe SHORT $LN1@Add_named_ |
| |
| ; 3964 : _Node->_Classes = |
| |
| 00038 8b 45 fc mov eax, DWORD PTR __Node$[ebp] |
| 0003b 0f bf 48 24 movsx ecx, WORD PTR [eax+36] |
| 0003f 0f bf 55 08 movsx edx, WORD PTR __Cl$[ebp] |
| 00043 0b ca or ecx, edx |
| 00045 8b 45 fc mov eax, DWORD PTR __Node$[ebp] |
| 00048 66 89 48 24 mov WORD PTR [eax+36], cx |
| $LN1@Add_named_: |
| |
| ; 3965 : (_Regex_traits_base::char_class_type)(_Node->_Classes | _Cl); |
| ; 3966 : } |
| |
| 0004c 8b e5 mov esp, ebp |
| 0004e 5d pop ebp |
| 0004f c2 08 00 ret 8 |
| ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_named_class |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_range@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXDD@Z |
| _TEXT SEGMENT |
| tv166 = -32 ; size = 4 |
| $T1 = -28 ; size = 4 |
| tv142 = -24 ; size = 4 |
| $T2 = -20 ; size = 4 |
| __Node$ = -16 ; size = 4 |
| _this$ = -12 ; size = 4 |
| __E1$ = -8 ; size = 4 |
| __E0$ = -4 ; size = 4 |
| __E0x$ = 8 ; size = 1 |
| __E1x$ = 12 ; size = 1 |
| ?_Add_range@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXDD@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_range, COMDAT |
| ; _this$ = ecx |
| |
| ; 3903 : { // add character range to set |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 20 sub esp, 32 ; 00000020H |
| 00006 56 push esi |
| 00007 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3904 : unsigned int _E0 = (typename _RxTraits::_Uelem)_E0x; |
| |
| 0000a 0f b6 45 08 movzx eax, BYTE PTR __E0x$[ebp] |
| 0000e 89 45 fc mov DWORD PTR __E0$[ebp], eax |
| |
| ; 3905 : unsigned int _E1 = (typename _RxTraits::_Uelem)_E1x; |
| |
| 00011 0f b6 4d 0c movzx ecx, BYTE PTR __E1x$[ebp] |
| 00015 89 4d f8 mov DWORD PTR __E1$[ebp], ecx |
| |
| ; 3906 : if (_Flags & regex_constants::icase) |
| |
| 00018 68 00 01 00 00 push 256 ; 00000100H |
| 0001d 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00020 8b 42 08 mov eax, DWORD PTR [edx+8] |
| 00023 50 push eax |
| 00024 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00029 83 c4 08 add esp, 8 |
| 0002c 85 c0 test eax, eax |
| 0002e 74 2c je SHORT $LN8@Add_range |
| |
| ; 3907 : { // change to lowercase range |
| ; 3908 : _E0 = _Traits.translate_nocase((_Elem)_E0); |
| |
| 00030 0f b6 4d fc movzx ecx, BYTE PTR __E0$[ebp] |
| 00034 51 push ecx |
| 00035 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00038 8b 4a 0c mov ecx, DWORD PTR [edx+12] |
| 0003b e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00040 0f be c0 movsx eax, al |
| 00043 89 45 fc mov DWORD PTR __E0$[ebp], eax |
| |
| ; 3909 : _E1 = _Traits.translate_nocase((_Elem)_E1); |
| |
| 00046 0f b6 4d f8 movzx ecx, BYTE PTR __E1$[ebp] |
| 0004a 51 push ecx |
| 0004b 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 0004e 8b 4a 0c mov ecx, DWORD PTR [edx+12] |
| 00051 e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00056 0f be c0 movsx eax, al |
| 00059 89 45 f8 mov DWORD PTR __E1$[ebp], eax |
| $LN8@Add_range: |
| |
| ; 3910 : } |
| ; 3911 : _Node_class<_Elem, _RxTraits> *_Node = |
| ; 3912 : (_Node_class<_Elem, _RxTraits> *)_Current; |
| |
| 0005c 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0005f 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00062 89 55 f0 mov DWORD PTR __Node$[ebp], edx |
| |
| ; 3913 : for (; _E0 <= _E1 && _E1 < _Get_bmax(); ++_E0) |
| |
| 00065 eb 09 jmp SHORT $LN4@Add_range |
| $LN2@Add_range: |
| 00067 8b 45 fc mov eax, DWORD PTR __E0$[ebp] |
| 0006a 83 c0 01 add eax, 1 |
| 0006d 89 45 fc mov DWORD PTR __E0$[ebp], eax |
| $LN4@Add_range: |
| 00070 8b 4d fc mov ecx, DWORD PTR __E0$[ebp] |
| 00073 3b 4d f8 cmp ecx, DWORD PTR __E1$[ebp] |
| 00076 77 57 ja SHORT $LN3@Add_range |
| 00078 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0007b e8 00 00 00 00 call ?_Get_bmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_bmax |
| 00080 39 45 f8 cmp DWORD PTR __E1$[ebp], eax |
| 00083 73 4a jae SHORT $LN3@Add_range |
| |
| ; 3914 : { // set a bit |
| ; 3915 : if (!_Node->_Small) |
| |
| 00085 8b 55 f0 mov edx, DWORD PTR __Node$[ebp] |
| 00088 83 7a 18 00 cmp DWORD PTR [edx+24], 0 |
| 0008c 75 30 jne SHORT $LN9@Add_range |
| |
| ; 3916 : _Node->_Small = new _Bitmap; |
| |
| 0008e 6a 20 push 32 ; 00000020H |
| 00090 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00095 83 c4 04 add esp, 4 |
| 00098 89 45 ec mov DWORD PTR $T2[ebp], eax |
| 0009b 83 7d ec 00 cmp DWORD PTR $T2[ebp], 0 |
| 0009f 74 0d je SHORT $LN16@Add_range |
| 000a1 8b 4d ec mov ecx, DWORD PTR $T2[ebp] |
| 000a4 e8 00 00 00 00 call ??0_Bitmap@std@@QAE@XZ ; std::_Bitmap::_Bitmap |
| 000a9 89 45 e8 mov DWORD PTR tv142[ebp], eax |
| 000ac eb 07 jmp SHORT $LN17@Add_range |
| $LN16@Add_range: |
| 000ae c7 45 e8 00 00 |
| 00 00 mov DWORD PTR tv142[ebp], 0 |
| $LN17@Add_range: |
| 000b5 8b 45 f0 mov eax, DWORD PTR __Node$[ebp] |
| 000b8 8b 4d e8 mov ecx, DWORD PTR tv142[ebp] |
| 000bb 89 48 18 mov DWORD PTR [eax+24], ecx |
| $LN9@Add_range: |
| |
| ; 3917 : _Node->_Small->_Mark(_E0); |
| |
| 000be 8b 55 fc mov edx, DWORD PTR __E0$[ebp] |
| 000c1 52 push edx |
| 000c2 8b 45 f0 mov eax, DWORD PTR __Node$[ebp] |
| 000c5 8b 48 18 mov ecx, DWORD PTR [eax+24] |
| 000c8 e8 00 00 00 00 call ??$_Mark@I@_Bitmap@std@@QAEXI@Z ; std::_Bitmap::_Mark<unsigned int> |
| |
| ; 3918 : } |
| |
| 000cd eb 98 jmp SHORT $LN2@Add_range |
| $LN3@Add_range: |
| |
| ; 3919 : if (_E1 < _E0) |
| |
| 000cf 8b 4d f8 mov ecx, DWORD PTR __E1$[ebp] |
| 000d2 3b 4d fc cmp ecx, DWORD PTR __E0$[ebp] |
| 000d5 73 05 jae SHORT $LN10@Add_range |
| 000d7 e9 8f 00 00 00 jmp $LN1@Add_range |
| $LN10@Add_range: |
| |
| ; 3920 : ; |
| ; 3921 : else if (_E1 - _E0 < _Get_tmax()) |
| |
| 000dc 8b 75 f8 mov esi, DWORD PTR __E1$[ebp] |
| 000df 2b 75 fc sub esi, DWORD PTR __E0$[ebp] |
| 000e2 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000e5 e8 00 00 00 00 call ?_Get_tmax@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABEIXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Get_tmax |
| 000ea 3b f0 cmp esi, eax |
| 000ec 73 24 jae SHORT $LN12@Add_range |
| |
| ; 3922 : for (; _E0 <= _E1; ++_E0) |
| |
| 000ee eb 09 jmp SHORT $LN7@Add_range |
| $LN5@Add_range: |
| 000f0 8b 55 fc mov edx, DWORD PTR __E0$[ebp] |
| 000f3 83 c2 01 add edx, 1 |
| 000f6 89 55 fc mov DWORD PTR __E0$[ebp], edx |
| $LN7@Add_range: |
| 000f9 8b 45 fc mov eax, DWORD PTR __E0$[ebp] |
| 000fc 3b 45 f8 cmp eax, DWORD PTR __E1$[ebp] |
| 000ff 77 0f ja SHORT $LN6@Add_range |
| |
| ; 3923 : _Add_char_to_array((_Elem)_E0); |
| |
| 00101 0f b6 4d fc movzx ecx, BYTE PTR __E0$[ebp] |
| 00105 51 push ecx |
| 00106 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00109 e8 00 00 00 00 call ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_array |
| 0010e eb e0 jmp SHORT $LN5@Add_range |
| $LN6@Add_range: |
| |
| ; 3924 : else |
| |
| 00110 eb 59 jmp SHORT $LN1@Add_range |
| $LN12@Add_range: |
| |
| ; 3925 : { // store remaining range as pair |
| ; 3926 : if (!_Node->_Ranges) |
| |
| 00112 8b 55 f0 mov edx, DWORD PTR __Node$[ebp] |
| 00115 83 7a 20 00 cmp DWORD PTR [edx+32], 0 |
| 00119 75 30 jne SHORT $LN14@Add_range |
| |
| ; 3927 : _Node->_Ranges = new _Buf<_Elem>; |
| |
| 0011b 6a 0c push 12 ; 0000000cH |
| 0011d e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00122 83 c4 04 add esp, 4 |
| 00125 89 45 e4 mov DWORD PTR $T1[ebp], eax |
| 00128 83 7d e4 00 cmp DWORD PTR $T1[ebp], 0 |
| 0012c 74 0d je SHORT $LN18@Add_range |
| 0012e 8b 4d e4 mov ecx, DWORD PTR $T1[ebp] |
| 00131 e8 00 00 00 00 call ??0?$_Buf@D@std@@QAE@XZ ; std::_Buf<char>::_Buf<char> |
| 00136 89 45 e0 mov DWORD PTR tv166[ebp], eax |
| 00139 eb 07 jmp SHORT $LN19@Add_range |
| $LN18@Add_range: |
| 0013b c7 45 e0 00 00 |
| 00 00 mov DWORD PTR tv166[ebp], 0 |
| $LN19@Add_range: |
| 00142 8b 45 f0 mov eax, DWORD PTR __Node$[ebp] |
| 00145 8b 4d e0 mov ecx, DWORD PTR tv166[ebp] |
| 00148 89 48 20 mov DWORD PTR [eax+32], ecx |
| $LN14@Add_range: |
| |
| ; 3928 : _Node->_Ranges->_Insert((_Elem)_E0); |
| |
| 0014b 0f b6 55 fc movzx edx, BYTE PTR __E0$[ebp] |
| 0014f 52 push edx |
| 00150 8b 45 f0 mov eax, DWORD PTR __Node$[ebp] |
| 00153 8b 48 20 mov ecx, DWORD PTR [eax+32] |
| 00156 e8 00 00 00 00 call ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| |
| ; 3929 : _Node->_Ranges->_Insert((_Elem)_E1); |
| |
| 0015b 0f b6 4d f8 movzx ecx, BYTE PTR __E1$[ebp] |
| 0015f 51 push ecx |
| 00160 8b 55 f0 mov edx, DWORD PTR __Node$[ebp] |
| 00163 8b 4a 20 mov ecx, DWORD PTR [edx+32] |
| 00166 e8 00 00 00 00 call ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| $LN1@Add_range: |
| |
| ; 3930 : } |
| ; 3931 : } |
| |
| 0016b 5e pop esi |
| 0016c 8b e5 mov esp, ebp |
| 0016e 5d pop ebp |
| 0016f c2 08 00 ret 8 |
| ?_Add_range@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXDD@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_range |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class, COMDAT |
| ; _this$ = ecx |
| |
| ; 3891 : { // add character to bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3892 : if (static_cast<typename _RxTraits::_Uelem>(_Ch) < _Bmp_max) |
| |
| 00007 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0000b 3d 00 01 00 00 cmp eax, 256 ; 00000100H |
| 00010 73 0f jae SHORT $LN2@Add_char_t |
| |
| ; 3893 : _Add_char_to_bitmap(_Ch); |
| |
| 00012 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 00016 51 push ecx |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ?_Add_char_to_bitmap@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_bitmap |
| |
| ; 3894 : else |
| |
| 0001f eb 0d jmp SHORT $LN1@Add_char_t |
| $LN2@Add_char_t: |
| |
| ; 3895 : _Add_char_to_array(_Ch); |
| |
| 00021 0f b6 55 08 movzx edx, BYTE PTR __Ch$[ebp] |
| 00025 52 push edx |
| 00026 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00029 e8 00 00 00 00 call ?_Add_char_to_array@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_array |
| $LN1@Add_char_t: |
| |
| ; 3896 : } |
| |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c2 04 00 ret 4 |
| ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv79 = -8 ; size = 4 |
| $T1 = -4 ; size = 4 |
| ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_class, COMDAT |
| ; _this$ = ecx |
| |
| ; 3854 : { // add bracket expression node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3855 : _Link_node(new _Node_class<_Elem, _RxTraits>); |
| |
| 00009 6a 2c push 44 ; 0000002cH |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 fc mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d fc 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 11 je SHORT $LN3@Add_class |
| 0001c 6a 00 push 0 |
| 0001e 6a 07 push 7 |
| 00020 8b 4d fc mov ecx, DWORD PTR $T1[ebp] |
| 00023 e8 00 00 00 00 call ??0?$_Node_class@DV?$regex_traits@D@std@@@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_class<char,std::regex_traits<char> >::_Node_class<char,std::regex_traits<char> > |
| 00028 89 45 f8 mov DWORD PTR tv79[ebp], eax |
| 0002b eb 07 jmp SHORT $LN4@Add_class |
| $LN3@Add_class: |
| 0002d c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv79[ebp], 0 |
| $LN4@Add_class: |
| 00034 8b 45 f8 mov eax, DWORD PTR tv79[ebp] |
| 00037 50 push eax |
| 00038 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0003b e8 00 00 00 00 call ?_Link_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Link_node |
| |
| ; 3856 : } |
| |
| 00040 8b e5 mov esp, ebp |
| 00042 5d pop ebp |
| 00043 c3 ret 0 |
| ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_class |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z |
| _TEXT SEGMENT |
| __Node$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char, COMDAT |
| ; _this$ = ecx |
| |
| ; 3839 : { // append character |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3840 : if (_Current->_Kind != _N_str || _Current->_Flags & _Fl_final) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 83 79 04 06 cmp DWORD PTR [ecx+4], 6 |
| 00013 75 0e jne SHORT $LN3@Add_char |
| 00015 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00018 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 0001b 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 0001e 83 e1 04 and ecx, 4 |
| 00021 74 08 je SHORT $LN2@Add_char |
| $LN3@Add_char: |
| |
| ; 3841 : _Add_str_node(); |
| |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 e8 00 00 00 00 call ?_Add_str_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_str_node |
| $LN2@Add_char: |
| |
| ; 3842 : if (_Flags & regex_constants::icase) |
| |
| 0002b 68 00 01 00 00 push 256 ; 00000100H |
| 00030 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00033 8b 42 08 mov eax, DWORD PTR [edx+8] |
| 00036 50 push eax |
| 00037 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 0003c 83 c4 08 add esp, 8 |
| 0003f 85 c0 test eax, eax |
| 00041 74 15 je SHORT $LN4@Add_char |
| |
| ; 3843 : _Ch = _Traits.translate_nocase(_Ch); |
| |
| 00043 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 00047 51 push ecx |
| 00048 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0004b 8b 4a 0c mov ecx, DWORD PTR [edx+12] |
| 0004e e8 00 00 00 00 call ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate_nocase |
| 00053 88 45 08 mov BYTE PTR __Ch$[ebp], al |
| 00056 eb 2b jmp SHORT $LN5@Add_char |
| $LN4@Add_char: |
| |
| ; 3844 : else if (_Flags & regex_constants::collate) |
| |
| 00058 68 00 08 00 00 push 2048 ; 00000800H |
| 0005d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00060 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 00063 51 push ecx |
| 00064 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00069 83 c4 08 add esp, 8 |
| 0006c 85 c0 test eax, eax |
| 0006e 74 13 je SHORT $LN5@Add_char |
| |
| ; 3845 : _Ch = _Traits.translate(_Ch); |
| |
| 00070 0f b6 55 08 movzx edx, BYTE PTR __Ch$[ebp] |
| 00074 52 push edx |
| 00075 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00078 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0007b e8 00 00 00 00 call ?translate@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate |
| 00080 88 45 08 mov BYTE PTR __Ch$[ebp], al |
| $LN5@Add_char: |
| |
| ; 3846 : _Node_str<_Elem> *_Node = (_Node_str<_Elem> *)_Current; |
| |
| 00083 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00086 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00089 89 55 f8 mov DWORD PTR __Node$[ebp], edx |
| |
| ; 3847 : _Node->_Data._Insert(_Ch); |
| |
| 0008c 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 00090 50 push eax |
| 00091 8b 4d f8 mov ecx, DWORD PTR __Node$[ebp] |
| 00094 83 c1 14 add ecx, 20 ; 00000014H |
| 00097 e8 00 00 00 00 call ?_Insert@?$_Buf@D@std@@QAEXD@Z ; std::_Buf<char>::_Insert |
| |
| ; 3848 : } |
| |
| 0009c 8b e5 mov esp, ebp |
| 0009e 5d pop ebp |
| 0009f c2 04 00 ret 4 |
| ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_dot@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Add_dot@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_dot, COMDAT |
| ; _this$ = ecx |
| |
| ; 3823 : { // add dot node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3824 : _New_node(_N_dot); |
| |
| 00007 6a 05 push 5 |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 3825 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Add_dot@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_dot |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_wbound, COMDAT |
| ; _this$ = ecx |
| |
| ; 3815 : { // add wbound node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3816 : _New_node(_N_wbound); |
| |
| 00007 6a 04 push 4 |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 3817 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_wbound |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_eol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Add_eol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_eol, COMDAT |
| ; _this$ = ecx |
| |
| ; 3807 : { // add eol node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3808 : _New_node(_N_eol); |
| |
| 00007 6a 03 push 3 |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 3809 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Add_eol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_eol |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Add_bol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Add_bol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_bol, COMDAT |
| ; _this$ = ecx |
| |
| ; 3799 : { // add bol node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3800 : _New_node(_N_bol); |
| |
| 00007 6a 02 push 2 |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_New_node@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@AAEPAV_Node_base@2@W4_Node_type@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_New_node |
| |
| ; 3801 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Add_bol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_bol |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Getmark@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBEPAV_Node_base@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getmark@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBEPAV_Node_base@2@XZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Getmark, COMDAT |
| ; _this$ = ecx |
| |
| ; 3737 : { // return current node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3738 : return (_Current); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 04 mov eax, DWORD PTR [eax+4] |
| |
| ; 3739 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?_Getmark@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBEPAV_Node_base@2@XZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Getmark |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Discard_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Discard_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Discard_pattern, COMDAT |
| ; _this$ = ecx |
| |
| ; 4194 : { // free memory |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4195 : _Destroy_node(_Root); |
| |
| 00007 6a 00 push 0 |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 51 push ecx |
| 0000f e8 00 00 00 00 call ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ; std::_Destroy_node |
| 00014 83 c4 08 add esp, 8 |
| |
| ; 4196 : _Root = 0; |
| |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a c7 02 00 00 00 |
| 00 mov DWORD PTR [edx], 0 |
| |
| ; 4197 : } |
| |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c3 ret 0 |
| ?_Discard_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Discard_pattern |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Setlong@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Setlong@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Setlong, COMDAT |
| ; _this$ = ecx |
| |
| ; 3713 : { // set flag |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3714 : _Root->_Flags |= _Fl_longest; |
| |
| 00007 6a 08 push 8 |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 83 c1 08 add ecx, 8 |
| 00011 51 push ecx |
| 00012 e8 00 00 00 00 call ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ; std::operator|= |
| 00017 83 c4 08 add esp, 8 |
| |
| ; 3715 : } |
| |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ?_Setlong@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Setlong |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ |
| _TEXT SEGMENT |
| tv80 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr, COMDAT |
| ; _this$ = ecx |
| |
| ; 3756 : { // test for beginning of expression or subexpression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3757 : return (_Beg_expr(_Current) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 51 push ecx |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| 00018 0f b6 d0 movzx edx, al |
| 0001b 85 d2 test edx, edx |
| 0001d 75 2e jne SHORT $LN4@Beg_expr |
| 0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00022 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00025 83 79 04 02 cmp DWORD PTR [ecx+4], 2 |
| 00029 75 19 jne SHORT $LN3@Beg_expr |
| 0002b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002e 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 00031 8b 48 10 mov ecx, DWORD PTR [eax+16] |
| 00034 51 push ecx |
| 00035 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00038 e8 00 00 00 00 call ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@ABE_NPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| 0003d 0f b6 d0 movzx edx, al |
| 00040 85 d2 test edx, edx |
| 00042 75 09 jne SHORT $LN4@Beg_expr |
| $LN3@Beg_expr: |
| 00044 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv80[ebp], 0 |
| 0004b eb 07 jmp SHORT $LN5@Beg_expr |
| $LN4@Beg_expr: |
| 0004d c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv80[ebp], 1 |
| $LN5@Beg_expr: |
| 00054 8a 45 f8 mov al, BYTE PTR tv80[ebp] |
| |
| ; 3758 : || (_Current->_Kind == _N_bol && _Beg_expr(_Current->_Prev))); |
| ; 3759 : } |
| |
| 00057 8b e5 mov esp, ebp |
| 00059 5d pop ebp |
| 0005a c3 ret 0 |
| ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@W4syntax_option_type@regex_constants@1@@Z |
| _TEXT SEGMENT |
| tv93 = -20 ; size = 4 |
| tv87 = -16 ; size = 4 |
| tv73 = -12 ; size = 4 |
| $T1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Tr$ = 8 ; size = 4 |
| __Fx$ = 12 ; size = 4 |
| ??0?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@W4syntax_option_type@regex_constants@1@@Z PROC ; std::_Builder<char const *,char,std::regex_traits<char> >::_Builder<char const *,char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 3706 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3700 : : _Root(new _Root_node), |
| |
| 00009 6a 24 push 36 ; 00000024H |
| 0000b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00010 83 c4 04 add esp, 4 |
| 00013 89 45 f8 mov DWORD PTR $T1[ebp], eax |
| 00016 83 7d f8 00 cmp DWORD PTR $T1[ebp], 0 |
| 0001a 74 0d je SHORT $LN3@Builder |
| 0001c 8b 4d f8 mov ecx, DWORD PTR $T1[ebp] |
| 0001f e8 00 00 00 00 call ??0_Root_node@std@@QAE@XZ ; std::_Root_node::_Root_node |
| 00024 89 45 f4 mov DWORD PTR tv73[ebp], eax |
| 00027 eb 07 jmp SHORT $LN4@Builder |
| $LN3@Builder: |
| 00029 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| $LN4@Builder: |
| 00030 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00033 8b 4d f4 mov ecx, DWORD PTR tv73[ebp] |
| 00036 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 3701 : _Current(_Root), |
| |
| 00038 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0003b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003e 8b 08 mov ecx, DWORD PTR [eax] |
| 00040 89 4a 04 mov DWORD PTR [edx+4], ecx |
| |
| ; 3702 : _Flags(_Fx), |
| |
| 00043 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00046 8b 45 0c mov eax, DWORD PTR __Fx$[ebp] |
| 00049 89 42 08 mov DWORD PTR [edx+8], eax |
| |
| ; 3703 : _Traits(_Tr), |
| |
| 0004c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004f 8b 55 08 mov edx, DWORD PTR __Tr$[ebp] |
| 00052 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 3704 : _Bmax(static_cast<int>(_Fx & regex_constants::collate ? 0U : _Bmp_max)), |
| |
| 00055 68 00 08 00 00 push 2048 ; 00000800H |
| 0005a 8b 45 0c mov eax, DWORD PTR __Fx$[ebp] |
| 0005d 50 push eax |
| 0005e e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00063 83 c4 08 add esp, 8 |
| 00066 85 c0 test eax, eax |
| 00068 74 09 je SHORT $LN5@Builder |
| 0006a c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv87[ebp], 0 |
| 00071 eb 07 jmp SHORT $LN6@Builder |
| $LN5@Builder: |
| 00073 c7 45 f0 00 01 |
| 00 00 mov DWORD PTR tv87[ebp], 256 ; 00000100H |
| $LN6@Builder: |
| 0007a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007d 8b 55 f0 mov edx, DWORD PTR tv87[ebp] |
| 00080 89 51 10 mov DWORD PTR [ecx+16], edx |
| |
| ; 3705 : _Tmax(static_cast<int>(_Fx & regex_constants::collate ? 0U : _ARRAY_THRESHOLD)) |
| |
| 00083 68 00 08 00 00 push 2048 ; 00000800H |
| 00088 8b 45 0c mov eax, DWORD PTR __Fx$[ebp] |
| 0008b 50 push eax |
| 0008c e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00091 83 c4 08 add esp, 8 |
| 00094 85 c0 test eax, eax |
| 00096 74 09 je SHORT $LN7@Builder |
| 00098 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv93[ebp], 0 |
| 0009f eb 07 jmp SHORT $LN8@Builder |
| $LN7@Builder: |
| 000a1 c7 45 ec 04 00 |
| 00 00 mov DWORD PTR tv93[ebp], 4 |
| $LN8@Builder: |
| 000a8 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ab 8b 55 ec mov edx, DWORD PTR tv93[ebp] |
| 000ae 89 51 14 mov DWORD PTR [ecx+20], edx |
| |
| ; 3707 : } |
| |
| 000b1 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000b4 8b e5 mov esp, ebp |
| 000b6 5d pop ebp |
| 000b7 c2 08 00 ret 8 |
| ??0?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@W4syntax_option_type@regex_constants@1@@Z ENDP ; std::_Builder<char const *,char,std::regex_traits<char> >::_Builder<char const *,char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| __Pos2$ = -20 ; size = 4 |
| __Pos3$1 = -16 ; size = 4 |
| __Pos3$2 = -12 ; size = 4 |
| __Pos1$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction, COMDAT |
| ; _this$ = ecx |
| |
| ; 5719 : { // check for valid disjunction |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5720 : _Node_base *_Pos1 = _Nfa._Getmark(); |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c 83 c1 24 add ecx, 36 ; 00000024H |
| 0000f e8 00 00 00 00 call ?_Getmark@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Getmark |
| 00014 89 45 f8 mov DWORD PTR __Pos1$[ebp], eax |
| |
| ; 5721 : if (_Alternative()) |
| |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Alternative |
| 0001f 0f b6 c0 movzx eax, al |
| 00022 85 c0 test eax, eax |
| 00024 74 02 je SHORT $LN4@Disjunctio |
| 00026 eb 2d jmp SHORT $LN5@Disjunctio |
| $LN4@Disjunctio: |
| |
| ; 5722 : ; |
| ; 5723 : else if (_Mchar != _Meta_bar) |
| |
| 00028 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002b 83 79 4c 7c cmp DWORD PTR [ecx+76], 124 ; 0000007cH |
| 0002f 74 07 je SHORT $LN6@Disjunctio |
| |
| ; 5724 : return; // zero-length alternative not followed by '|' |
| |
| 00031 e9 83 00 00 00 jmp $LN1@Disjunctio |
| |
| ; 5725 : else |
| |
| 00036 eb 1d jmp SHORT $LN5@Disjunctio |
| $LN6@Disjunctio: |
| |
| ; 5726 : { // zero-length leading alternative |
| ; 5727 : _Node_base *_Pos3 = _Nfa._Begin_group(); |
| |
| 00038 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003b 83 c1 24 add ecx, 36 ; 00000024H |
| 0003e e8 00 00 00 00 call ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group |
| 00043 89 45 f4 mov DWORD PTR __Pos3$2[ebp], eax |
| |
| ; 5728 : _Nfa._End_group(_Pos3); |
| |
| 00046 8b 55 f4 mov edx, DWORD PTR __Pos3$2[ebp] |
| 00049 52 push edx |
| 0004a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004d 83 c1 24 add ecx, 36 ; 00000024H |
| 00050 e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| $LN5@Disjunctio: |
| |
| ; 5729 : } |
| ; 5730 : |
| ; 5731 : _Node_base *_Pos2 = _Nfa._Begin_if(_Pos1); |
| |
| 00055 8b 45 f8 mov eax, DWORD PTR __Pos1$[ebp] |
| 00058 50 push eax |
| 00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005c 83 c1 24 add ecx, 36 ; 00000024H |
| 0005f e8 00 00 00 00 call ?_Begin_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@PAV32@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_if |
| 00064 89 45 ec mov DWORD PTR __Pos2$[ebp], eax |
| $LN2@Disjunctio: |
| |
| ; 5732 : while (_Mchar == _Meta_bar) |
| |
| 00067 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006a 83 79 4c 7c cmp DWORD PTR [ecx+76], 124 ; 0000007cH |
| 0006e 75 49 jne SHORT $LN1@Disjunctio |
| |
| ; 5733 : { // append terms as long as we keep finding | characters |
| ; 5734 : _Next(); |
| |
| 00070 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00073 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5735 : if (!_Alternative()) |
| |
| 00078 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007b e8 00 00 00 00 call ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Alternative |
| 00080 0f b6 d0 movzx edx, al |
| 00083 85 d2 test edx, edx |
| 00085 75 1d jne SHORT $LN8@Disjunctio |
| |
| ; 5736 : { // zero-length trailing alternative |
| ; 5737 : _Node_base *_Pos3 = _Nfa._Begin_group(); |
| |
| 00087 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008a 83 c1 24 add ecx, 36 ; 00000024H |
| 0008d e8 00 00 00 00 call ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group |
| 00092 89 45 f0 mov DWORD PTR __Pos3$1[ebp], eax |
| |
| ; 5738 : _Nfa._End_group(_Pos3); |
| |
| 00095 8b 45 f0 mov eax, DWORD PTR __Pos3$1[ebp] |
| 00098 50 push eax |
| 00099 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009c 83 c1 24 add ecx, 36 ; 00000024H |
| 0009f e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| $LN8@Disjunctio: |
| |
| ; 5739 : } |
| ; 5740 : _Nfa._Else_if(_Pos1, _Pos2); |
| |
| 000a4 8b 4d ec mov ecx, DWORD PTR __Pos2$[ebp] |
| 000a7 51 push ecx |
| 000a8 8b 55 f8 mov edx, DWORD PTR __Pos1$[ebp] |
| 000ab 52 push edx |
| 000ac 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000af 83 c1 24 add ecx, 36 ; 00000024H |
| 000b2 e8 00 00 00 00 call ?_Else_if@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@0@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Else_if |
| |
| ; 5741 : } |
| |
| 000b7 eb ae jmp SHORT $LN2@Disjunctio |
| $LN1@Disjunctio: |
| |
| ; 5742 : } |
| |
| 000b9 8b e5 mov esp, ebp |
| 000bb 5d pop ebp |
| 000bc c3 ret 0 |
| ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| __Found$ = -2 ; size = 1 |
| __Quant$1 = -1 ; size = 1 |
| ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Alternative, COMDAT |
| ; _this$ = ecx |
| |
| ; 5637 : { // check for valid alternative |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5638 : bool _Found = false; |
| |
| 00009 c6 45 fe 00 mov BYTE PTR __Found$[ebp], 0 |
| $LN4@Alternativ: |
| |
| ; 5639 : for (; ; ) |
| ; 5640 : { // concatenate valid elements |
| ; 5641 : bool _Quant = true; |
| |
| 0000d c6 45 ff 01 mov BYTE PTR __Quant$1[ebp], 1 |
| |
| ; 5642 : if (_Mchar == _Meta_eos || _Mchar == _Meta_bar |
| ; 5643 : || (_Mchar == _Meta_rpar && _Disj_count != 0)) |
| |
| 00011 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00014 83 78 4c ff cmp DWORD PTR [eax+76], -1 |
| 00018 74 1b je SHORT $LN7@Alternativ |
| 0001a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0001d 83 79 4c 7c cmp DWORD PTR [ecx+76], 124 ; 0000007cH |
| 00021 74 12 je SHORT $LN7@Alternativ |
| 00023 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00026 83 7a 4c 29 cmp DWORD PTR [edx+76], 41 ; 00000029H |
| 0002a 75 16 jne SHORT $LN5@Alternativ |
| 0002c 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0002f 83 78 10 00 cmp DWORD PTR [eax+16], 0 |
| 00033 74 0d je SHORT $LN5@Alternativ |
| $LN7@Alternativ: |
| |
| ; 5644 : return (_Found); |
| |
| 00035 8a 45 fe mov al, BYTE PTR __Found$[ebp] |
| 00038 e9 27 02 00 00 jmp $LN1@Alternativ |
| 0003d e9 09 02 00 00 jmp $LN6@Alternativ |
| $LN5@Alternativ: |
| |
| ; 5645 : else if (_Mchar == _Meta_rpar && !(_L_flags & _L_paren_bal)) |
| |
| 00042 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00045 83 79 4c 29 cmp DWORD PTR [ecx+76], 41 ; 00000029H |
| 00049 75 1c jne SHORT $LN8@Alternativ |
| 0004b 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0004e 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00051 25 00 00 00 10 and eax, 268435456 ; 10000000H |
| 00056 75 0f jne SHORT $LN8@Alternativ |
| |
| ; 5646 : _Error(regex_constants::error_paren); |
| |
| 00058 6a 05 push 5 |
| 0005a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0005d e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 00062 e9 e4 01 00 00 jmp $LN6@Alternativ |
| $LN8@Alternativ: |
| |
| ; 5647 : else if (_Mchar == _Meta_dot) |
| |
| 00067 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0006a 83 79 4c 2e cmp DWORD PTR [ecx+76], 46 ; 0000002eH |
| 0006e 75 18 jne SHORT $LN10@Alternativ |
| |
| ; 5648 : { // add dot node |
| ; 5649 : _Nfa._Add_dot(); |
| |
| 00070 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00073 83 c1 24 add ecx, 36 ; 00000024H |
| 00076 e8 00 00 00 00 call ?_Add_dot@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_dot |
| |
| ; 5650 : _Next(); |
| |
| 0007b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0007e e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| 00083 e9 c3 01 00 00 jmp $LN6@Alternativ |
| $LN10@Alternativ: |
| |
| ; 5651 : } |
| ; 5652 : else if (_Mchar == _Meta_esc) |
| |
| 00088 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0008b 83 7a 4c 5c cmp DWORD PTR [edx+76], 92 ; 0000005cH |
| 0008f 0f 85 86 00 00 |
| 00 jne $LN12@Alternativ |
| |
| ; 5653 : { // check for valid escape sequence |
| ; 5654 : _Next(); |
| |
| 00095 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00098 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5655 : if ((_L_flags & _L_asrt_wrd) && _Char == _Esc_word) |
| |
| 0009d 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 000a0 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 000a3 81 e1 80 00 00 |
| 00 and ecx, 128 ; 00000080H |
| 000a9 74 25 je SHORT $LN14@Alternativ |
| 000ab 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 000ae 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 000b2 83 f8 62 cmp eax, 98 ; 00000062H |
| 000b5 75 19 jne SHORT $LN14@Alternativ |
| |
| ; 5656 : { // add word assert |
| ; 5657 : _Nfa._Add_wbound(); |
| |
| 000b7 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000ba 83 c1 24 add ecx, 36 ; 00000024H |
| 000bd e8 00 00 00 00 call ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_wbound |
| |
| ; 5658 : _Next(); |
| |
| 000c2 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000c5 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5659 : _Quant = false; |
| |
| 000ca c6 45 ff 00 mov BYTE PTR __Quant$1[ebp], 0 |
| 000ce eb 46 jmp SHORT $LN15@Alternativ |
| $LN14@Alternativ: |
| |
| ; 5660 : } |
| ; 5661 : else if ((_L_flags & _L_asrt_wrd) && _Char == _Esc_not_word) |
| |
| 000d0 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000d3 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 000d6 81 e2 80 00 00 |
| 00 and edx, 128 ; 00000080H |
| 000dc 74 30 je SHORT $LN16@Alternativ |
| 000de 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 000e1 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 000e5 83 f9 42 cmp ecx, 66 ; 00000042H |
| 000e8 75 24 jne SHORT $LN16@Alternativ |
| |
| ; 5662 : { // add not-word assert |
| ; 5663 : _Nfa._Add_wbound(); |
| |
| 000ea 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000ed 83 c1 24 add ecx, 36 ; 00000024H |
| 000f0 e8 00 00 00 00 call ?_Add_wbound@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_wbound |
| |
| ; 5664 : _Nfa._Negate(); |
| |
| 000f5 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000f8 83 c1 24 add ecx, 36 ; 00000024H |
| 000fb e8 00 00 00 00 call ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Negate |
| |
| ; 5665 : _Next(); |
| |
| 00100 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00103 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5666 : _Quant = false; |
| |
| 00108 c6 45 ff 00 mov BYTE PTR __Quant$1[ebp], 0 |
| |
| ; 5667 : } |
| ; 5668 : else |
| |
| 0010c eb 08 jmp SHORT $LN15@Alternativ |
| $LN16@Alternativ: |
| |
| ; 5669 : _AtomEscape(); |
| |
| 0010e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00111 e8 00 00 00 00 call ?_AtomEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_AtomEscape |
| $LN15@Alternativ: |
| 00116 e9 30 01 00 00 jmp $LN6@Alternativ |
| $LN12@Alternativ: |
| |
| ; 5670 : } |
| ; 5671 : else if (_Mchar == _Meta_lsq) |
| |
| 0011b 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0011e 83 7a 4c 5b cmp DWORD PTR [edx+76], 91 ; 0000005bH |
| 00122 75 21 jne SHORT $LN18@Alternativ |
| |
| ; 5672 : { // add bracket expression |
| ; 5673 : _Next(); |
| |
| 00124 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00127 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5674 : _CharacterClass(); |
| |
| 0012c 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0012f e8 00 00 00 00 call ?_CharacterClass@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClass |
| |
| ; 5675 : _Expect(_Meta_rsq, regex_constants::error_brack); |
| |
| 00134 6a 04 push 4 |
| 00136 6a 5d push 93 ; 0000005dH |
| 00138 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0013b e8 00 00 00 00 call ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect |
| 00140 e9 06 01 00 00 jmp $LN6@Alternativ |
| $LN18@Alternativ: |
| |
| ; 5676 : } |
| ; 5677 : else if (_Mchar == _Meta_lpar) |
| |
| 00145 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00148 83 78 4c 28 cmp DWORD PTR [eax+76], 40 ; 00000028H |
| 0014c 75 24 jne SHORT $LN20@Alternativ |
| |
| ; 5678 : { // check for valid group |
| ; 5679 : _Next(); |
| |
| 0014e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00151 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5680 : _Quant = _Wrapped_disjunction(); |
| |
| 00156 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00159 e8 00 00 00 00 call ?_Wrapped_disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Wrapped_disjunction |
| 0015e 88 45 ff mov BYTE PTR __Quant$1[ebp], al |
| |
| ; 5681 : _Expect(_Meta_rpar, regex_constants::error_paren); |
| |
| 00161 6a 05 push 5 |
| 00163 6a 29 push 41 ; 00000029H |
| 00165 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00168 e8 00 00 00 00 call ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect |
| 0016d e9 d9 00 00 00 jmp $LN6@Alternativ |
| $LN20@Alternativ: |
| |
| ; 5682 : } |
| ; 5683 : else if (_Mchar == _Meta_caret) |
| |
| 00172 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00175 83 79 4c 5e cmp DWORD PTR [ecx+76], 94 ; 0000005eH |
| 00179 75 1c jne SHORT $LN22@Alternativ |
| |
| ; 5684 : { // add bol node |
| ; 5685 : _Nfa._Add_bol(); |
| |
| 0017b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0017e 83 c1 24 add ecx, 36 ; 00000024H |
| 00181 e8 00 00 00 00 call ?_Add_bol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_bol |
| |
| ; 5686 : _Next(); |
| |
| 00186 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00189 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5687 : _Quant = false; |
| |
| 0018e c6 45 ff 00 mov BYTE PTR __Quant$1[ebp], 0 |
| 00192 e9 b4 00 00 00 jmp $LN6@Alternativ |
| $LN22@Alternativ: |
| |
| ; 5688 : } |
| ; 5689 : else if (_Mchar == _Meta_dlr) |
| |
| 00197 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0019a 83 7a 4c 24 cmp DWORD PTR [edx+76], 36 ; 00000024H |
| 0019e 75 1c jne SHORT $LN24@Alternativ |
| |
| ; 5690 : { // add eol node |
| ; 5691 : _Nfa._Add_eol(); |
| |
| 001a0 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 001a3 83 c1 24 add ecx, 36 ; 00000024H |
| 001a6 e8 00 00 00 00 call ?_Add_eol@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_eol |
| |
| ; 5692 : _Next(); |
| |
| 001ab 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 001ae e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5693 : _Quant = false; |
| |
| 001b3 c6 45 ff 00 mov BYTE PTR __Quant$1[ebp], 0 |
| |
| ; 5694 : } |
| ; 5695 : else if (_Mchar == _Meta_star |
| |
| 001b7 e9 8f 00 00 00 jmp $LN6@Alternativ |
| $LN24@Alternativ: |
| |
| ; 5696 : || _Mchar == _Meta_plus |
| ; 5697 : || _Mchar == _Meta_query |
| ; 5698 : || _Mchar == _Meta_lbr) |
| |
| 001bc 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 001bf 83 78 4c 2a cmp DWORD PTR [eax+76], 42 ; 0000002aH |
| 001c3 74 1b je SHORT $LN28@Alternativ |
| 001c5 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 001c8 83 79 4c 2b cmp DWORD PTR [ecx+76], 43 ; 0000002bH |
| 001cc 74 12 je SHORT $LN28@Alternativ |
| 001ce 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 001d1 83 7a 4c 3f cmp DWORD PTR [edx+76], 63 ; 0000003fH |
| 001d5 74 09 je SHORT $LN28@Alternativ |
| 001d7 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 001da 83 78 4c 7b cmp DWORD PTR [eax+76], 123 ; 0000007bH |
| 001de 75 0c jne SHORT $LN26@Alternativ |
| $LN28@Alternativ: |
| |
| ; 5699 : _Error(regex_constants::error_badrepeat); |
| |
| 001e0 6a 0a push 10 ; 0000000aH |
| 001e2 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 001e5 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 001ea eb 5f jmp SHORT $LN6@Alternativ |
| $LN26@Alternativ: |
| |
| ; 5700 : else if (_Mchar == _Meta_rbr && !(_L_flags & _L_paren_bal)) |
| |
| 001ec 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 001ef 83 79 4c 7d cmp DWORD PTR [ecx+76], 125 ; 0000007dH |
| 001f3 75 19 jne SHORT $LN29@Alternativ |
| 001f5 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 001f8 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 001fb 25 00 00 00 10 and eax, 268435456 ; 10000000H |
| 00200 75 0c jne SHORT $LN29@Alternativ |
| |
| ; 5701 : _Error(regex_constants::error_brace); |
| |
| 00202 6a 06 push 6 |
| 00204 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00207 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 0020c eb 3d jmp SHORT $LN6@Alternativ |
| $LN29@Alternativ: |
| |
| ; 5702 : else if (_Mchar == _Meta_rsq && !(_L_flags & _L_paren_bal)) |
| |
| 0020e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00211 83 79 4c 5d cmp DWORD PTR [ecx+76], 93 ; 0000005dH |
| 00215 75 19 jne SHORT $LN31@Alternativ |
| 00217 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0021a 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 0021d 25 00 00 00 10 and eax, 268435456 ; 10000000H |
| 00222 75 0c jne SHORT $LN31@Alternativ |
| |
| ; 5703 : _Error(regex_constants::error_brack); |
| |
| 00224 6a 04 push 4 |
| 00226 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00229 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5704 : else |
| |
| 0022e eb 1b jmp SHORT $LN6@Alternativ |
| $LN31@Alternativ: |
| |
| ; 5705 : { // add character |
| ; 5706 : _Nfa._Add_char(_Char); |
| |
| 00230 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00233 0f b6 51 48 movzx edx, BYTE PTR [ecx+72] |
| 00237 52 push edx |
| 00238 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0023b 83 c1 24 add ecx, 36 ; 00000024H |
| 0023e e8 00 00 00 00 call ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| |
| ; 5707 : _Next(); |
| |
| 00243 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00246 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| $LN6@Alternativ: |
| |
| ; 5708 : } |
| ; 5709 : if (_Quant) |
| |
| 0024b 0f b6 45 ff movzx eax, BYTE PTR __Quant$1[ebp] |
| 0024f 85 c0 test eax, eax |
| 00251 74 08 je SHORT $LN33@Alternativ |
| |
| ; 5710 : _Quantifier(); |
| |
| 00253 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00256 e8 00 00 00 00 call ?_Quantifier@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Quantifier |
| $LN33@Alternativ: |
| |
| ; 5711 : _Found = true; |
| |
| 0025b c6 45 fe 01 mov BYTE PTR __Found$[ebp], 1 |
| |
| ; 5712 : } |
| |
| 0025f e9 a9 fd ff ff jmp $LN4@Alternativ |
| $LN1@Alternativ: |
| |
| ; 5713 : } |
| |
| 00264 8b e5 mov esp, ebp |
| 00266 5d pop ebp |
| 00267 c3 ret 0 |
| ?_Alternative@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Alternative |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Quantifier@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| __Min$ = -12 ; size = 4 |
| __Max$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Quantifier@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Quantifier, COMDAT |
| ; _this$ = ecx |
| |
| ; 5590 : { // check for quantifier following atom |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5591 : int _Min = 0; |
| |
| 00009 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR __Min$[ebp], 0 |
| |
| ; 5592 : int _Max = -1; |
| |
| 00010 c7 45 f8 ff ff |
| ff ff mov DWORD PTR __Max$[ebp], -1 |
| |
| ; 5593 : if (_Mchar == _Meta_star) |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 83 78 4c 2a cmp DWORD PTR [eax+76], 42 ; 0000002aH |
| 0001e 75 05 jne SHORT $LN2@Quantifier |
| 00020 e9 ce 00 00 00 jmp $LN3@Quantifier |
| $LN2@Quantifier: |
| |
| ; 5594 : ; |
| ; 5595 : else if (_Mchar == _Meta_plus) |
| |
| 00025 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00028 83 79 4c 2b cmp DWORD PTR [ecx+76], 43 ; 0000002bH |
| 0002c 75 0c jne SHORT $LN4@Quantifier |
| |
| ; 5596 : _Min = 1; |
| |
| 0002e c7 45 f4 01 00 |
| 00 00 mov DWORD PTR __Min$[ebp], 1 |
| 00035 e9 b9 00 00 00 jmp $LN3@Quantifier |
| $LN4@Quantifier: |
| |
| ; 5597 : else if (_Mchar == _Meta_query) |
| |
| 0003a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0003d 83 7a 4c 3f cmp DWORD PTR [edx+76], 63 ; 0000003fH |
| 00041 75 0c jne SHORT $LN6@Quantifier |
| |
| ; 5598 : _Max = 1; |
| |
| 00043 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR __Max$[ebp], 1 |
| 0004a e9 a4 00 00 00 jmp $LN3@Quantifier |
| $LN6@Quantifier: |
| |
| ; 5599 : else if (_Mchar == _Meta_lbr) |
| |
| 0004f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00052 83 78 4c 7b cmp DWORD PTR [eax+76], 123 ; 0000007bH |
| 00056 0f 85 95 00 00 |
| 00 jne $LN8@Quantifier |
| |
| ; 5600 : { // check for valid bracketed value |
| ; 5601 : _Next(); |
| |
| 0005c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005f e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5602 : if (!_DecimalDigits()) |
| |
| 00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00067 e8 00 00 00 00 call ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| 0006c 0f b6 c8 movzx ecx, al |
| 0006f 85 c9 test ecx, ecx |
| 00071 75 0a jne SHORT $LN10@Quantifier |
| |
| ; 5603 : _Error(regex_constants::error_badbrace); |
| |
| 00073 6a 07 push 7 |
| 00075 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00078 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN10@Quantifier: |
| |
| ; 5604 : _Min = _Val; |
| |
| 0007d 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00080 8b 42 44 mov eax, DWORD PTR [edx+68] |
| 00083 89 45 f4 mov DWORD PTR __Min$[ebp], eax |
| |
| ; 5605 : if (_Mchar != _Meta_comma) |
| |
| 00086 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00089 83 79 4c 2c cmp DWORD PTR [ecx+76], 44 ; 0000002cH |
| 0008d 74 08 je SHORT $LN11@Quantifier |
| |
| ; 5606 : _Max = _Min; |
| |
| 0008f 8b 55 f4 mov edx, DWORD PTR __Min$[ebp] |
| 00092 89 55 f8 mov DWORD PTR __Max$[ebp], edx |
| |
| ; 5607 : else |
| |
| 00095 eb 37 jmp SHORT $LN12@Quantifier |
| $LN11@Quantifier: |
| |
| ; 5608 : { // check for decimal constant following comma |
| ; 5609 : _Next(); |
| |
| 00097 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009a e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5610 : if (_Mchar == _Meta_rbr) |
| |
| 0009f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000a2 83 78 4c 7d cmp DWORD PTR [eax+76], 125 ; 0000007dH |
| 000a6 75 02 jne SHORT $LN13@Quantifier |
| 000a8 eb 24 jmp SHORT $LN12@Quantifier |
| $LN13@Quantifier: |
| |
| ; 5611 : ; |
| ; 5612 : else if (!_DecimalDigits()) |
| |
| 000aa 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ad e8 00 00 00 00 call ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| 000b2 0f b6 c8 movzx ecx, al |
| 000b5 85 c9 test ecx, ecx |
| 000b7 75 0c jne SHORT $LN15@Quantifier |
| |
| ; 5613 : _Error(regex_constants::error_badbrace); |
| |
| 000b9 6a 07 push 7 |
| 000bb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000be e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5614 : else |
| |
| 000c3 eb 09 jmp SHORT $LN12@Quantifier |
| $LN15@Quantifier: |
| |
| ; 5615 : _Max = _Val; |
| |
| 000c5 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000c8 8b 42 44 mov eax, DWORD PTR [edx+68] |
| 000cb 89 45 f8 mov DWORD PTR __Max$[ebp], eax |
| $LN12@Quantifier: |
| |
| ; 5616 : } |
| ; 5617 : if (_Mchar != _Meta_rbr || (_Max != -1 && _Max < _Min)) |
| |
| 000ce 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000d1 83 79 4c 7d cmp DWORD PTR [ecx+76], 125 ; 0000007dH |
| 000d5 75 0e jne SHORT $LN18@Quantifier |
| 000d7 83 7d f8 ff cmp DWORD PTR __Max$[ebp], -1 |
| 000db 74 12 je SHORT $LN17@Quantifier |
| 000dd 8b 55 f8 mov edx, DWORD PTR __Max$[ebp] |
| 000e0 3b 55 f4 cmp edx, DWORD PTR __Min$[ebp] |
| 000e3 7d 0a jge SHORT $LN17@Quantifier |
| $LN18@Quantifier: |
| |
| ; 5618 : _Error(regex_constants::error_badbrace); |
| |
| 000e5 6a 07 push 7 |
| 000e7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ea e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN17@Quantifier: |
| |
| ; 5619 : } |
| ; 5620 : else |
| |
| 000ef eb 02 jmp SHORT $LN3@Quantifier |
| $LN8@Quantifier: |
| |
| ; 5621 : return; |
| |
| 000f1 eb 5e jmp SHORT $LN1@Quantifier |
| $LN3@Quantifier: |
| |
| ; 5622 : _Nfa._Mark_final(); |
| |
| 000f3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f6 83 c1 24 add ecx, 36 ; 00000024H |
| 000f9 e8 00 00 00 00 call ?_Mark_final@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Mark_final |
| |
| ; 5623 : _Next(); |
| |
| 000fe 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00101 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5624 : if ((_L_flags & _L_ngr_rep) && _Mchar == _Meta_query) |
| |
| 00106 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00109 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0010c 81 e1 00 04 00 |
| 00 and ecx, 1024 ; 00000400H |
| 00112 74 28 je SHORT $LN19@Quantifier |
| 00114 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00117 83 7a 4c 3f cmp DWORD PTR [edx+76], 63 ; 0000003fH |
| 0011b 75 1f jne SHORT $LN19@Quantifier |
| |
| ; 5625 : { // add non-greedy repeat node |
| ; 5626 : _Next(); |
| |
| 0011d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00120 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5627 : _Nfa._Add_rep(_Min, _Max, false); |
| |
| 00125 6a 00 push 0 |
| 00127 8b 45 f8 mov eax, DWORD PTR __Max$[ebp] |
| 0012a 50 push eax |
| 0012b 8b 4d f4 mov ecx, DWORD PTR __Min$[ebp] |
| 0012e 51 push ecx |
| 0012f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00132 83 c1 24 add ecx, 36 ; 00000024H |
| 00135 e8 00 00 00 00 call ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_rep |
| |
| ; 5628 : } |
| ; 5629 : else |
| |
| 0013a eb 15 jmp SHORT $LN1@Quantifier |
| $LN19@Quantifier: |
| |
| ; 5630 : _Nfa._Add_rep(_Min, _Max, true); |
| |
| 0013c 6a 01 push 1 |
| 0013e 8b 55 f8 mov edx, DWORD PTR __Max$[ebp] |
| 00141 52 push edx |
| 00142 8b 45 f4 mov eax, DWORD PTR __Min$[ebp] |
| 00145 50 push eax |
| 00146 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00149 83 c1 24 add ecx, 36 ; 00000024H |
| 0014c e8 00 00 00 00 call ?_Add_rep@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXHH_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_rep |
| $LN1@Quantifier: |
| |
| ; 5631 : } |
| |
| 00151 8b e5 mov esp, ebp |
| 00153 5d pop ebp |
| 00154 c3 ret 0 |
| ?_Quantifier@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Quantifier |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Wrapped_disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| __Ch$1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Wrapped_disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Wrapped_disjunction, COMDAT |
| ; _this$ = ecx |
| |
| ; 5382 : { // add disjunction inside group |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5383 : ++_Disj_count; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 10 mov ecx, DWORD PTR [eax+16] |
| 0000f 83 c1 01 add ecx, 1 |
| 00012 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00015 89 4a 10 mov DWORD PTR [edx+16], ecx |
| |
| ; 5384 : if (!(_L_flags & _L_empty_grp) && _Mchar == _Meta_rpar) |
| |
| 00018 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001b 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0001e 81 e1 00 00 00 |
| 08 and ecx, 134217728 ; 08000000H |
| 00024 75 18 jne SHORT $LN2@Wrapped_di |
| 00026 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00029 83 7a 4c 29 cmp DWORD PTR [edx+76], 41 ; 00000029H |
| 0002d 75 0f jne SHORT $LN2@Wrapped_di |
| |
| ; 5385 : _Error(regex_constants::error_paren); |
| |
| 0002f 6a 05 push 5 |
| 00031 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00034 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 00039 e9 c1 00 00 00 jmp $LN3@Wrapped_di |
| $LN2@Wrapped_di: |
| |
| ; 5386 : else if ((_L_flags & _L_nc_grp) && _Mchar == _Meta_query) |
| |
| 0003e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00041 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 00044 83 e1 20 and ecx, 32 ; 00000020H |
| 00047 0f 84 88 00 00 |
| 00 je $LN4@Wrapped_di |
| 0004d 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00050 83 7a 4c 3f cmp DWORD PTR [edx+76], 63 ; 0000003fH |
| 00054 75 7f jne SHORT $LN4@Wrapped_di |
| |
| ; 5387 : { // check for valid ECMAScript (?x ... ) group |
| ; 5388 : _Next(); |
| |
| 00056 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00059 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5389 : _Meta_type _Ch =_Mchar; |
| |
| 0005e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00061 8b 48 4c mov ecx, DWORD PTR [eax+76] |
| 00064 89 4d f8 mov DWORD PTR __Ch$1[ebp], ecx |
| |
| ; 5390 : _Next(); |
| |
| 00067 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006a e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5391 : if (_Ch == _Meta_colon) |
| |
| 0006f 83 7d f8 3a cmp DWORD PTR __Ch$1[ebp], 58 ; 0000003aH |
| 00073 75 0a jne SHORT $LN6@Wrapped_di |
| |
| ; 5392 : _Do_noncapture_group(); |
| |
| 00075 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00078 e8 00 00 00 00 call ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_noncapture_group |
| 0007d eb 54 jmp SHORT $LN7@Wrapped_di |
| $LN6@Wrapped_di: |
| |
| ; 5393 : else if (_Ch == _Meta_exc) |
| |
| 0007f 83 7d f8 21 cmp DWORD PTR __Ch$1[ebp], 33 ; 00000021H |
| 00083 75 1f jne SHORT $LN8@Wrapped_di |
| |
| ; 5394 : { // process assert group, negating |
| ; 5395 : _Do_assert_group(true); |
| |
| 00085 6a 01 push 1 |
| 00087 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008a e8 00 00 00 00 call ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_assert_group |
| |
| ; 5396 : --_Disj_count; |
| |
| 0008f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00092 8b 42 10 mov eax, DWORD PTR [edx+16] |
| 00095 83 e8 01 sub eax, 1 |
| 00098 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009b 89 41 10 mov DWORD PTR [ecx+16], eax |
| |
| ; 5397 : return (false); |
| |
| 0009e 32 c0 xor al, al |
| 000a0 eb 6e jmp SHORT $LN1@Wrapped_di |
| 000a2 eb 2f jmp SHORT $LN7@Wrapped_di |
| $LN8@Wrapped_di: |
| |
| ; 5398 : } |
| ; 5399 : else if (_Ch == _Meta_equal) |
| |
| 000a4 83 7d f8 3d cmp DWORD PTR __Ch$1[ebp], 61 ; 0000003dH |
| 000a8 75 1f jne SHORT $LN10@Wrapped_di |
| |
| ; 5400 : { // process assert group |
| ; 5401 : _Do_assert_group(false); |
| |
| 000aa 6a 00 push 0 |
| 000ac 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000af e8 00 00 00 00 call ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_assert_group |
| |
| ; 5402 : --_Disj_count; |
| |
| 000b4 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000b7 8b 42 10 mov eax, DWORD PTR [edx+16] |
| 000ba 83 e8 01 sub eax, 1 |
| 000bd 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000c0 89 41 10 mov DWORD PTR [ecx+16], eax |
| |
| ; 5403 : return (false); |
| |
| 000c3 32 c0 xor al, al |
| 000c5 eb 49 jmp SHORT $LN1@Wrapped_di |
| |
| ; 5404 : } |
| ; 5405 : else |
| |
| 000c7 eb 0a jmp SHORT $LN7@Wrapped_di |
| $LN10@Wrapped_di: |
| |
| ; 5406 : _Error(regex_constants::error_syntax); |
| |
| 000c9 6a 0e push 14 ; 0000000eH |
| 000cb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ce e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN7@Wrapped_di: |
| 000d3 eb 2a jmp SHORT $LN3@Wrapped_di |
| $LN4@Wrapped_di: |
| |
| ; 5407 : } |
| ; 5408 : else if (_Flags & regex_constants::nosubs) |
| |
| 000d5 68 00 02 00 00 push 512 ; 00000200H |
| 000da 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000dd 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 000e0 50 push eax |
| 000e1 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000e6 83 c4 08 add esp, 8 |
| 000e9 85 c0 test eax, eax |
| 000eb 74 0a je SHORT $LN12@Wrapped_di |
| |
| ; 5409 : _Do_noncapture_group(); |
| |
| 000ed 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f0 e8 00 00 00 00 call ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_noncapture_group |
| |
| ; 5410 : else |
| |
| 000f5 eb 08 jmp SHORT $LN3@Wrapped_di |
| $LN12@Wrapped_di: |
| |
| ; 5411 : _Do_capture_group(); |
| |
| 000f7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000fa e8 00 00 00 00 call ?_Do_capture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_capture_group |
| $LN3@Wrapped_di: |
| |
| ; 5412 : --_Disj_count; |
| |
| 000ff 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00102 8b 51 10 mov edx, DWORD PTR [ecx+16] |
| 00105 83 ea 01 sub edx, 1 |
| 00108 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0010b 89 50 10 mov DWORD PTR [eax+16], edx |
| |
| ; 5413 : return (true); |
| |
| 0010e b0 01 mov al, 1 |
| $LN1@Wrapped_di: |
| |
| ; 5414 : } |
| |
| 00110 8b e5 mov esp, ebp |
| 00112 5d pop ebp |
| 00113 c3 ret 0 |
| ?_Wrapped_disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Wrapped_disjunction |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z |
| _TEXT SEGMENT |
| __Pos1$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Neg$ = 8 ; size = 1 |
| ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_assert_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 5372 : { // add assert group |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5373 : _Node_base *_Pos1 = _Nfa._Begin_assert_group(_Neg); |
| |
| 00009 0f b6 45 08 movzx eax, BYTE PTR __Neg$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 83 c1 24 add ecx, 36 ; 00000024H |
| 00014 e8 00 00 00 00 call ?_Begin_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_assert_group |
| 00019 89 45 f8 mov DWORD PTR __Pos1$[ebp], eax |
| |
| ; 5374 : _Disjunction(); |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| |
| ; 5375 : _Nfa._End_assert_group(_Pos1); |
| |
| 00024 8b 4d f8 mov ecx, DWORD PTR __Pos1$[ebp] |
| 00027 51 push ecx |
| 00028 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002b 83 c1 24 add ecx, 36 ; 00000024H |
| 0002e e8 00 00 00 00 call ?_End_assert_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_assert_group |
| |
| ; 5376 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c2 04 00 ret 4 |
| ?_Do_assert_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEX_N@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_assert_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| __Pos1$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_noncapture_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 5362 : { // add non-capture group |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5363 : _Node_base *_Pos1 = _Nfa._Begin_group(); |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c 83 c1 24 add ecx, 36 ; 00000024H |
| 0000f e8 00 00 00 00 call ?_Begin_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_group |
| 00014 89 45 f8 mov DWORD PTR __Pos1$[ebp], eax |
| |
| ; 5364 : _Disjunction(); |
| |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| |
| ; 5365 : _Nfa._End_group(_Pos1); |
| |
| 0001f 8b 45 f8 mov eax, DWORD PTR __Pos1$[ebp] |
| 00022 50 push eax |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 83 c1 24 add ecx, 36 ; 00000024H |
| 00029 e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| |
| ; 5366 : } |
| |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c3 ret 0 |
| ?_Do_noncapture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_noncapture_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_capture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 8 |
| __Pos1$ = -12 ; size = 4 |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Do_capture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_capture_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 5348 : { // add capture group |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5349 : // if (_MAX_GRP <= ++_Grp_idx) |
| ; 5350 : // _Error(regex_constants::error_complexity); |
| ; 5351 : _Node_base *_Pos1 = _Nfa._Begin_capture_group(++_Grp_idx); |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0000f 83 c1 01 add ecx, 1 |
| 00012 89 4d f8 mov DWORD PTR tv69[ebp], ecx |
| 00015 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00018 8b 45 f8 mov eax, DWORD PTR tv69[ebp] |
| 0001b 89 42 0c mov DWORD PTR [edx+12], eax |
| 0001e 8b 4d f8 mov ecx, DWORD PTR tv69[ebp] |
| 00021 51 push ecx |
| 00022 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00025 83 c1 24 add ecx, 36 ; 00000024H |
| 00028 e8 00 00 00 00 call ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_capture_group |
| 0002d 89 45 f4 mov DWORD PTR __Pos1$[ebp], eax |
| |
| ; 5352 : _Disjunction(); |
| |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 e8 00 00 00 00 call ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| |
| ; 5353 : _Nfa._End_group(_Pos1); |
| |
| 00038 8b 55 f4 mov edx, DWORD PTR __Pos1$[ebp] |
| 0003b 52 push edx |
| 0003c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003f 83 c1 24 add ecx, 36 ; 00000024H |
| 00042 e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| |
| ; 5354 : _Finished_grps.resize(_Grp_idx + 1); |
| |
| 00047 6a 00 push 0 |
| 00049 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0004c 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0004f 83 c1 01 add ecx, 1 |
| 00052 51 push ecx |
| 00053 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00056 83 c1 14 add ecx, 20 ; 00000014H |
| 00059 e8 00 00 00 00 call ?resize@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI_N@Z ; std::vector<bool,std::allocator<bool> >::resize |
| |
| ; 5355 : _Finished_grps[((_Node_capture *)_Pos1)->_Idx] = true; |
| |
| 0005e 6a 01 push 1 |
| 00060 8b 55 f4 mov edx, DWORD PTR __Pos1$[ebp] |
| 00063 8b 42 14 mov eax, DWORD PTR [edx+20] |
| 00066 50 push eax |
| 00067 8d 4d ec lea ecx, DWORD PTR $T1[ebp] |
| 0006a 51 push ecx |
| 0006b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006e 83 c1 14 add ecx, 20 ; 00000014H |
| 00071 e8 00 00 00 00 call ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z ; std::vector<bool,std::allocator<bool> >::operator[] |
| 00076 8b c8 mov ecx, eax |
| 00078 e8 00 00 00 00 call ??4?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@_N@Z ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator= |
| |
| ; 5356 : } |
| |
| 0007d 8b e5 mov esp, ebp |
| 0007f 5d pop ebp |
| 00080 c3 ret 0 |
| ?_Do_capture_group@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_capture_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_AtomEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ?_AtomEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_AtomEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5562 : { // check for valid atom escape |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5563 : if ((_L_flags & _L_bckr) && _DecimalDigits()) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0000f 81 e1 00 01 00 |
| 00 and ecx, 256 ; 00000100H |
| 00015 0f 84 c6 00 00 |
| 00 je $LN2@AtomEscape |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| 00023 0f b6 d0 movzx edx, al |
| 00026 85 d2 test edx, edx |
| 00028 0f 84 b3 00 00 |
| 00 je $LN2@AtomEscape |
| |
| ; 5564 : { // check for valid back reference |
| ; 5565 : if (_Val == 0) |
| |
| 0002e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00031 83 78 44 00 cmp DWORD PTR [eax+68], 0 |
| 00035 75 2f jne SHORT $LN4@AtomEscape |
| |
| ; 5566 : { // handle \0 |
| ; 5567 : if (!(_L_flags & _L_bzr_chr)) |
| |
| 00037 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003a 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 0003d 81 e2 00 00 10 |
| 00 and edx, 1048576 ; 00100000H |
| 00043 75 0c jne SHORT $LN6@AtomEscape |
| |
| ; 5568 : _Error(regex_constants::error_escape); |
| |
| 00045 6a 02 push 2 |
| 00047 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004a e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5569 : else |
| |
| 0004f eb 13 jmp SHORT $LN7@AtomEscape |
| $LN6@AtomEscape: |
| |
| ; 5570 : _Nfa._Add_char((_Elem)_Val); |
| |
| 00051 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00054 0f b6 48 44 movzx ecx, BYTE PTR [eax+68] |
| 00058 51 push ecx |
| 00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005c 83 c1 24 add ecx, 36 ; 00000024H |
| 0005f e8 00 00 00 00 call ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| $LN7@AtomEscape: |
| |
| ; 5571 : } |
| ; 5572 : else if (((_L_flags & _L_lim_bckr) && _BRE_MAX_GRP < _Val) |
| |
| 00064 eb 79 jmp SHORT $LN5@AtomEscape |
| $LN4@AtomEscape: |
| |
| ; 5573 : || _Grp_idx < _Val |
| ; 5574 : || _Finished_grps.size() <= static_cast<size_t>(_Val) |
| ; 5575 : || !_Finished_grps[_Val]) |
| |
| 00066 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00069 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 0006c 25 00 02 00 00 and eax, 512 ; 00000200H |
| 00071 74 09 je SHORT $LN11@AtomEscape |
| 00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00076 83 79 44 09 cmp DWORD PTR [ecx+68], 9 |
| 0007a 77 45 ja SHORT $LN10@AtomEscape |
| $LN11@AtomEscape: |
| 0007c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0007f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00082 8b 4a 0c mov ecx, DWORD PTR [edx+12] |
| 00085 3b 48 44 cmp ecx, DWORD PTR [eax+68] |
| 00088 7c 37 jl SHORT $LN10@AtomEscape |
| 0008a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008d 83 c1 14 add ecx, 20 ; 00000014H |
| 00090 e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 00095 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00098 3b 42 44 cmp eax, DWORD PTR [edx+68] |
| 0009b 76 24 jbe SHORT $LN10@AtomEscape |
| 0009d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000a0 8b 48 44 mov ecx, DWORD PTR [eax+68] |
| 000a3 51 push ecx |
| 000a4 8d 55 f4 lea edx, DWORD PTR $T1[ebp] |
| 000a7 52 push edx |
| 000a8 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ab 83 c1 14 add ecx, 20 ; 00000014H |
| 000ae e8 00 00 00 00 call ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z ; std::vector<bool,std::allocator<bool> >::operator[] |
| 000b3 8b c8 mov ecx, eax |
| 000b5 e8 00 00 00 00 call ??B?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NXZ ; std::_Vb_reference<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator bool |
| 000ba 0f b6 c0 movzx eax, al |
| 000bd 85 c0 test eax, eax |
| 000bf 75 0c jne SHORT $LN8@AtomEscape |
| $LN10@AtomEscape: |
| |
| ; 5576 : _Error(regex_constants::error_backref); |
| |
| 000c1 6a 03 push 3 |
| 000c3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000c6 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5577 : else |
| |
| 000cb eb 12 jmp SHORT $LN5@AtomEscape |
| $LN8@AtomEscape: |
| |
| ; 5578 : _Nfa._Add_backreference(_Val); |
| |
| 000cd 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000d0 8b 51 44 mov edx, DWORD PTR [ecx+68] |
| 000d3 52 push edx |
| 000d4 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000d7 83 c1 24 add ecx, 36 ; 00000024H |
| 000da e8 00 00 00 00 call ?_Add_backreference@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXI@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_backreference |
| $LN5@AtomEscape: |
| 000df eb 4d jmp SHORT $LN1@AtomEscape |
| $LN2@AtomEscape: |
| |
| ; 5579 : } |
| ; 5580 : else if (_CharacterEscape()) |
| |
| 000e1 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000e4 e8 00 00 00 00 call ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterEscape |
| 000e9 0f b6 c0 movzx eax, al |
| 000ec 85 c0 test eax, eax |
| 000ee 74 15 je SHORT $LN12@AtomEscape |
| |
| ; 5581 : _Nfa._Add_char((_Elem)_Val); |
| |
| 000f0 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f3 0f b6 51 44 movzx edx, BYTE PTR [ecx+68] |
| 000f7 52 push edx |
| 000f8 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000fb 83 c1 24 add ecx, 36 ; 00000024H |
| 000fe e8 00 00 00 00 call ?_Add_char@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char |
| 00103 eb 29 jmp SHORT $LN1@AtomEscape |
| $LN12@AtomEscape: |
| |
| ; 5582 : else if (!(_L_flags & _L_esc_wsd) || !_CharacterClassEscape(true)) |
| |
| 00105 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00108 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0010b 81 e1 00 00 02 |
| 00 and ecx, 131072 ; 00020000H |
| 00111 74 11 je SHORT $LN15@AtomEscape |
| 00113 6a 01 push 1 |
| 00115 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00118 e8 00 00 00 00 call ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClassEscape |
| 0011d 0f b6 d0 movzx edx, al |
| 00120 85 d2 test edx, edx |
| 00122 75 0a jne SHORT $LN1@AtomEscape |
| $LN15@AtomEscape: |
| |
| ; 5583 : _Error(regex_constants::error_escape); |
| |
| 00124 6a 02 push 2 |
| 00126 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00129 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN1@AtomEscape: |
| |
| ; 5584 : } |
| |
| 0012e 8b e5 mov esp, ebp |
| 00130 5d pop ebp |
| 00131 c3 ret 0 |
| ?_AtomEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_AtomEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5518 : { // check for valid character escape |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5519 : if (_Mchar == _Meta_eos) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 78 4c ff cmp DWORD PTR [eax+76], -1 |
| 0000e 75 0a jne SHORT $LN2@CharacterE |
| |
| ; 5520 : _Error(regex_constants::error_escape); |
| |
| 00010 6a 02 push 2 |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN2@CharacterE: |
| |
| ; 5521 : |
| ; 5522 : if ((_L_flags & _L_esc_ffn && _Do_ffn(_Char)) |
| ; 5523 : || (_L_flags & _L_esc_ffnx && _Do_ffnx(_Char))) |
| |
| 0001a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001d 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00020 81 e2 00 00 01 |
| 00 and edx, 65536 ; 00010000H |
| 00026 74 17 je SHORT $LN6@CharacterE |
| 00028 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002b 0f b6 48 48 movzx ecx, BYTE PTR [eax+72] |
| 0002f 51 push ecx |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 e8 00 00 00 00 call ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffn |
| 00038 0f b6 d0 movzx edx, al |
| 0003b 85 d2 test edx, edx |
| 0003d 75 25 jne SHORT $LN5@CharacterE |
| $LN6@CharacterE: |
| 0003f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00042 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 00045 81 e1 00 80 00 |
| 00 and ecx, 32768 ; 00008000H |
| 0004b 74 24 je SHORT $LN3@CharacterE |
| 0004d 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00050 0f b6 42 48 movzx eax, BYTE PTR [edx+72] |
| 00054 50 push eax |
| 00055 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00058 e8 00 00 00 00 call ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffnx |
| 0005d 0f b6 c8 movzx ecx, al |
| 00060 85 c9 test ecx, ecx |
| 00062 74 0d je SHORT $LN3@CharacterE |
| $LN5@CharacterE: |
| |
| ; 5524 : _Next(); |
| |
| 00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00067 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| 0006c e9 0c 01 00 00 jmp $LN4@CharacterE |
| $LN3@CharacterE: |
| |
| ; 5525 : else if (_Char == _Esc_ctrl && (_L_flags & _L_esc_ctrl)) |
| |
| 00071 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00074 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 00078 83 f8 63 cmp eax, 99 ; 00000063H |
| 0007b 75 69 jne SHORT $LN7@CharacterE |
| 0007d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00080 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00083 81 e2 00 00 04 |
| 00 and edx, 262144 ; 00040000H |
| 00089 74 5b je SHORT $LN7@CharacterE |
| |
| ; 5526 : { // handle control escape sequence |
| ; 5527 : _Next(); |
| |
| 0008b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008e e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5528 : if (!_Traits.isctype(_Char, _RxTraits::_Ch_alpha)) |
| |
| 00093 68 03 01 00 00 push 259 ; 00000103H |
| 00098 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0009b 0f b6 48 48 movzx ecx, BYTE PTR [eax+72] |
| 0009f 51 push ecx |
| 000a0 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000a3 8b 4a 3c mov ecx, DWORD PTR [edx+60] |
| 000a6 e8 00 00 00 00 call ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z ; std::_Regex_traits<char>::isctype |
| 000ab 0f b6 c0 movzx eax, al |
| 000ae 85 c0 test eax, eax |
| 000b0 75 0a jne SHORT $LN9@CharacterE |
| |
| ; 5529 : _Error(regex_constants::error_escape); |
| |
| 000b2 6a 02 push 2 |
| 000b4 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b7 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN9@CharacterE: |
| |
| ; 5530 : _Val = (char)(_Char % 32); |
| |
| 000bc 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000bf 0f be 51 48 movsx edx, BYTE PTR [ecx+72] |
| 000c3 81 e2 1f 00 00 |
| 80 and edx, -2147483617 ; 8000001fH |
| 000c9 79 05 jns SHORT $LN19@CharacterE |
| 000cb 4a dec edx |
| 000cc 83 ca e0 or edx, -32 ; ffffffe0H |
| 000cf 42 inc edx |
| $LN19@CharacterE: |
| 000d0 0f be c2 movsx eax, dl |
| 000d3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000d6 89 41 44 mov DWORD PTR [ecx+68], eax |
| |
| ; 5531 : _Next(); |
| |
| 000d9 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000dc e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| 000e1 e9 97 00 00 00 jmp $LN4@CharacterE |
| $LN7@CharacterE: |
| |
| ; 5532 : } |
| ; 5533 : else if (_Char == _Esc_hex && (_L_flags & _L_esc_hex)) |
| |
| 000e6 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000e9 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 000ed 83 f8 78 cmp eax, 120 ; 00000078H |
| 000f0 75 22 jne SHORT $LN10@CharacterE |
| 000f2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f5 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 000f8 81 e2 00 10 00 |
| 00 and edx, 4096 ; 00001000H |
| 000fe 74 14 je SHORT $LN10@CharacterE |
| |
| ; 5534 : { // handle hexadecimal escape sequence |
| ; 5535 : _Next(); |
| |
| 00100 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00103 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5536 : _HexDigits(2); |
| |
| 00108 6a 02 push 2 |
| 0010a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0010d e8 00 00 00 00 call ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_HexDigits |
| 00112 eb 69 jmp SHORT $LN4@CharacterE |
| $LN10@CharacterE: |
| |
| ; 5537 : } |
| ; 5538 : else if (_Char == _Esc_uni && (_L_flags & _L_esc_uni)) |
| |
| 00114 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00117 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 0011b 83 f9 75 cmp ecx, 117 ; 00000075H |
| 0011e 75 21 jne SHORT $LN12@CharacterE |
| 00120 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00123 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00126 25 00 08 00 00 and eax, 2048 ; 00000800H |
| 0012b 74 14 je SHORT $LN12@CharacterE |
| |
| ; 5539 : { // handle unicode escape sequence |
| ; 5540 : _Next(); |
| |
| 0012d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00130 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5541 : _HexDigits(4); |
| |
| 00135 6a 04 push 4 |
| 00137 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0013a e8 00 00 00 00 call ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_HexDigits |
| 0013f eb 3c jmp SHORT $LN4@CharacterE |
| $LN12@CharacterE: |
| |
| ; 5542 : } |
| ; 5543 : else if ((_L_flags & _L_esc_oct) && _OctalDigits()) |
| |
| 00141 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00144 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00147 81 e2 00 20 00 |
| 00 and edx, 8192 ; 00002000H |
| 0014d 74 24 je SHORT $LN14@CharacterE |
| 0014f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00152 e8 00 00 00 00 call ?_OctalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_OctalDigits |
| 00157 0f b6 c0 movzx eax, al |
| 0015a 85 c0 test eax, eax |
| 0015c 74 15 je SHORT $LN14@CharacterE |
| |
| ; 5544 : { // handle octal escape sequence |
| ; 5545 : if (_Val == 0) |
| |
| 0015e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00161 83 79 44 00 cmp DWORD PTR [ecx+68], 0 |
| 00165 75 0a jne SHORT $LN16@CharacterE |
| |
| ; 5546 : _Error(regex_constants::error_escape); |
| |
| 00167 6a 02 push 2 |
| 00169 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0016c e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN16@CharacterE: |
| |
| ; 5547 : } |
| ; 5548 : else |
| |
| 00171 eb 0a jmp SHORT $LN4@CharacterE |
| $LN14@CharacterE: |
| |
| ; 5549 : return (_IdentityEscape()); |
| |
| 00173 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00176 e8 00 00 00 00 call ?_IdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_IdentityEscape |
| 0017b eb 29 jmp SHORT $LN1@CharacterE |
| $LN4@CharacterE: |
| |
| ; 5550 : |
| ; 5551 : if ((numeric_limits<typename _RxTraits::_Uelem>::max)() |
| ; 5552 : < (unsigned int)_Val) |
| |
| 0017d e8 00 00 00 00 call ?max@?$numeric_limits@E@std@@SAEXZ ; std::numeric_limits<unsigned char>::max |
| 00182 0f b6 d0 movzx edx, al |
| 00185 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00188 3b 50 44 cmp edx, DWORD PTR [eax+68] |
| 0018b 73 0a jae SHORT $LN17@CharacterE |
| |
| ; 5553 : _Error(regex_constants::error_escape); |
| |
| 0018d 6a 02 push 2 |
| 0018f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00192 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN17@CharacterE: |
| |
| ; 5554 : _Val = (_Elem)_Val; |
| |
| 00197 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0019a 0f be 51 44 movsx edx, BYTE PTR [ecx+68] |
| 0019e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 001a1 89 50 44 mov DWORD PTR [eax+68], edx |
| |
| ; 5555 : return (true); |
| |
| 001a4 b0 01 mov al, 1 |
| $LN1@CharacterE: |
| |
| ; 5556 : } |
| |
| 001a6 8b e5 mov esp, ebp |
| 001a8 5d pop ebp |
| 001a9 c3 ret 0 |
| ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffnx, COMDAT |
| ; _this$ = ecx |
| |
| ; 5504 : { // check for the remaining file format escape characters |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5505 : if (_Ch == _Esc_ctrl_a) |
| |
| 00007 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0000b 83 f8 61 cmp eax, 97 ; 00000061H |
| 0000e 75 0c jne SHORT $LN2@Do_ffnx |
| |
| ; 5506 : _Val = '\a'; |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c7 41 44 07 00 |
| 00 00 mov DWORD PTR [ecx+68], 7 |
| 0001a eb 19 jmp SHORT $LN3@Do_ffnx |
| $LN2@Do_ffnx: |
| |
| ; 5507 : else if (_Ch == _Esc_ctrl_b) |
| |
| 0001c 0f be 55 08 movsx edx, BYTE PTR __Ch$[ebp] |
| 00020 83 fa 62 cmp edx, 98 ; 00000062H |
| 00023 75 0c jne SHORT $LN4@Do_ffnx |
| |
| ; 5508 : _Val = '\b'; |
| |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 c7 40 44 08 00 |
| 00 00 mov DWORD PTR [eax+68], 8 |
| |
| ; 5509 : else |
| |
| 0002f eb 04 jmp SHORT $LN3@Do_ffnx |
| $LN4@Do_ffnx: |
| |
| ; 5510 : return (false); |
| |
| 00031 32 c0 xor al, al |
| 00033 eb 02 jmp SHORT $LN1@Do_ffnx |
| $LN3@Do_ffnx: |
| |
| ; 5511 : return (true); |
| |
| 00035 b0 01 mov al, 1 |
| $LN1@Do_ffnx: |
| |
| ; 5512 : } |
| |
| 00037 8b e5 mov esp, ebp |
| 00039 5d pop ebp |
| 0003a c2 04 00 ret 4 |
| ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffnx |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffn, COMDAT |
| ; _this$ = ecx |
| |
| ; 5484 : { // check for limited file format escape characters |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5485 : if (_Ch == _Esc_ctrl_f) |
| |
| 00007 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0000b 83 f8 66 cmp eax, 102 ; 00000066H |
| 0000e 75 0c jne SHORT $LN2@Do_ffn |
| |
| ; 5486 : _Val = '\f'; |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c7 41 44 0c 00 |
| 00 00 mov DWORD PTR [ecx+68], 12 ; 0000000cH |
| 0001a eb 58 jmp SHORT $LN3@Do_ffn |
| $LN2@Do_ffn: |
| |
| ; 5487 : else if (_Ch == _Esc_ctrl_n) |
| |
| 0001c 0f be 55 08 movsx edx, BYTE PTR __Ch$[ebp] |
| 00020 83 fa 6e cmp edx, 110 ; 0000006eH |
| 00023 75 0c jne SHORT $LN4@Do_ffn |
| |
| ; 5488 : _Val = '\n'; |
| |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 c7 40 44 0a 00 |
| 00 00 mov DWORD PTR [eax+68], 10 ; 0000000aH |
| 0002f eb 43 jmp SHORT $LN3@Do_ffn |
| $LN4@Do_ffn: |
| |
| ; 5489 : else if (_Ch == _Esc_ctrl_r) |
| |
| 00031 0f be 4d 08 movsx ecx, BYTE PTR __Ch$[ebp] |
| 00035 83 f9 72 cmp ecx, 114 ; 00000072H |
| 00038 75 0c jne SHORT $LN6@Do_ffn |
| |
| ; 5490 : _Val = '\r'; |
| |
| 0003a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0003d c7 42 44 0d 00 |
| 00 00 mov DWORD PTR [edx+68], 13 ; 0000000dH |
| 00044 eb 2e jmp SHORT $LN3@Do_ffn |
| $LN6@Do_ffn: |
| |
| ; 5491 : else if (_Ch == _Esc_ctrl_t) |
| |
| 00046 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0004a 83 f8 74 cmp eax, 116 ; 00000074H |
| 0004d 75 0c jne SHORT $LN8@Do_ffn |
| |
| ; 5492 : _Val = '\t'; |
| |
| 0004f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00052 c7 41 44 09 00 |
| 00 00 mov DWORD PTR [ecx+68], 9 |
| 00059 eb 19 jmp SHORT $LN3@Do_ffn |
| $LN8@Do_ffn: |
| |
| ; 5493 : else if (_Ch == _Esc_ctrl_v) |
| |
| 0005b 0f be 55 08 movsx edx, BYTE PTR __Ch$[ebp] |
| 0005f 83 fa 76 cmp edx, 118 ; 00000076H |
| 00062 75 0c jne SHORT $LN10@Do_ffn |
| |
| ; 5494 : _Val = '\v'; |
| |
| 00064 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00067 c7 40 44 0b 00 |
| 00 00 mov DWORD PTR [eax+68], 11 ; 0000000bH |
| |
| ; 5495 : else |
| |
| 0006e eb 04 jmp SHORT $LN3@Do_ffn |
| $LN10@Do_ffn: |
| |
| ; 5496 : return (false); |
| |
| 00070 32 c0 xor al, al |
| 00072 eb 02 jmp SHORT $LN1@Do_ffn |
| $LN3@Do_ffn: |
| |
| ; 5497 : return (true); |
| |
| 00074 b0 01 mov al, 1 |
| $LN1@Do_ffn: |
| |
| ; 5498 : } |
| |
| 00076 8b e5 mov esp, ebp |
| 00078 5d pop ebp |
| 00079 c2 04 00 ret 4 |
| ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffn |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_IsIdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ |
| _TEXT SEGMENT |
| tv83 = -20 ; size = 4 |
| tv78 = -16 ; size = 4 |
| tv74 = -12 ; size = 4 |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_IsIdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_IsIdentityEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5420 : { // check for valid identity escape |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5421 : if (_L_flags & _L_ident_ECMA) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0000f 81 e1 00 00 40 |
| 00 and ecx, 4194304 ; 00400000H |
| 00015 74 32 je SHORT $LN6@IsIdentity |
| |
| ; 5422 : // ECMAScript identity escape characters |
| ; 5423 : switch (_Char) |
| |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 0001e 89 45 f8 mov DWORD PTR tv69[ebp], eax |
| 00021 8b 4d f8 mov ecx, DWORD PTR tv69[ebp] |
| 00024 83 e9 44 sub ecx, 68 ; 00000044H |
| 00027 89 4d f8 mov DWORD PTR tv69[ebp], ecx |
| 0002a 83 7d f8 33 cmp DWORD PTR tv69[ebp], 51 ; 00000033H |
| 0002e 77 15 ja SHORT $LN8@IsIdentity |
| 00030 8b 55 f8 mov edx, DWORD PTR tv69[ebp] |
| 00033 0f b6 82 00 00 |
| 00 00 movzx eax, BYTE PTR $LN18@IsIdentity[edx] |
| 0003a ff 24 85 00 00 |
| 00 00 jmp DWORD PTR $LN20@IsIdentity[eax*4] |
| $LN7@IsIdentity: |
| |
| ; 5424 : { |
| ; 5425 : case 'c': // ASCII control character |
| ; 5426 : case 'd': // digit |
| ; 5427 : case 'D': |
| ; 5428 : case 's': // whitespace |
| ; 5429 : case 'S': |
| ; 5430 : case 'w': // word character |
| ; 5431 : case 'W': |
| ; 5432 : return (false); |
| |
| 00041 32 c0 xor al, al |
| 00043 eb 79 jmp SHORT $LN1@IsIdentity |
| $LN8@IsIdentity: |
| |
| ; 5433 : default: |
| ; 5434 : return (true); |
| |
| 00045 b0 01 mov al, 1 |
| 00047 eb 75 jmp SHORT $LN1@IsIdentity |
| $LN6@IsIdentity: |
| |
| ; 5435 : } |
| ; 5436 : |
| ; 5437 : switch (_Char) |
| |
| 00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004c 0f be 51 48 movsx edx, BYTE PTR [ecx+72] |
| 00050 89 55 f4 mov DWORD PTR tv74[ebp], edx |
| 00053 8b 45 f4 mov eax, DWORD PTR tv74[ebp] |
| 00056 83 e8 22 sub eax, 34 ; 00000022H |
| 00059 89 45 f4 mov DWORD PTR tv74[ebp], eax |
| 0005c 83 7d f4 5b cmp DWORD PTR tv74[ebp], 91 ; 0000005bH |
| 00060 77 5a ja SHORT $LN12@IsIdentity |
| 00062 8b 4d f4 mov ecx, DWORD PTR tv74[ebp] |
| 00065 0f b6 91 00 00 |
| 00 00 movzx edx, BYTE PTR $LN19@IsIdentity[ecx] |
| 0006c ff 24 95 00 00 |
| 00 00 jmp DWORD PTR $LN21@IsIdentity[edx*4] |
| $LN9@IsIdentity: |
| |
| ; 5438 : { |
| ; 5439 : case _Meta_dot: |
| ; 5440 : case _Meta_lsq: |
| ; 5441 : case _Meta_esc: |
| ; 5442 : case _Meta_star: |
| ; 5443 : case _Meta_bar: |
| ; 5444 : case _Meta_caret: |
| ; 5445 : case _Meta_dlr: |
| ; 5446 : // BRE, ERE, awk identity escape characters |
| ; 5447 : return (true); |
| |
| 00073 b0 01 mov al, 1 |
| 00075 eb 47 jmp SHORT $LN1@IsIdentity |
| $LN10@IsIdentity: |
| |
| ; 5448 : case _Meta_lpar: |
| ; 5449 : case _Meta_rpar: |
| ; 5450 : case _Meta_plus: |
| ; 5451 : case _Meta_query: |
| ; 5452 : case _Meta_lbr: |
| ; 5453 : case _Meta_rbr: |
| ; 5454 : // additional ERE identity escape characters |
| ; 5455 : return ((_L_flags & _L_ident_ERE) != 0); |
| |
| 00077 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0007a 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0007d 81 e1 00 00 80 |
| 00 and ecx, 8388608 ; 00800000H |
| 00083 74 09 je SHORT $LN14@IsIdentity |
| 00085 c7 45 f0 01 00 |
| 00 00 mov DWORD PTR tv78[ebp], 1 |
| 0008c eb 07 jmp SHORT $LN15@IsIdentity |
| $LN14@IsIdentity: |
| 0008e c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv78[ebp], 0 |
| $LN15@IsIdentity: |
| 00095 8a 45 f0 mov al, BYTE PTR tv78[ebp] |
| 00098 eb 24 jmp SHORT $LN1@IsIdentity |
| $LN11@IsIdentity: |
| |
| ; 5456 : case '"': |
| ; 5457 : case '/': |
| ; 5458 : // additional awk identity escape characters |
| ; 5459 : return ((_L_flags & _L_ident_awk) != 0); |
| |
| 0009a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0009d 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 000a0 25 00 00 00 01 and eax, 16777216 ; 01000000H |
| 000a5 74 09 je SHORT $LN16@IsIdentity |
| 000a7 c7 45 ec 01 00 |
| 00 00 mov DWORD PTR tv83[ebp], 1 |
| 000ae eb 07 jmp SHORT $LN17@IsIdentity |
| $LN16@IsIdentity: |
| 000b0 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv83[ebp], 0 |
| $LN17@IsIdentity: |
| 000b7 8a 45 ec mov al, BYTE PTR tv83[ebp] |
| 000ba eb 02 jmp SHORT $LN1@IsIdentity |
| $LN12@IsIdentity: |
| |
| ; 5460 : default: |
| ; 5461 : return (false); |
| |
| 000bc 32 c0 xor al, al |
| $LN1@IsIdentity: |
| |
| ; 5462 : } |
| ; 5463 : } |
| |
| 000be 8b e5 mov esp, ebp |
| 000c0 5d pop ebp |
| 000c1 c3 ret 0 |
| 000c2 66 90 npad 2 |
| $LN20@IsIdentity: |
| 000c4 00 00 00 00 DD $LN7@IsIdentity |
| 000c8 00 00 00 00 DD $LN8@IsIdentity |
| $LN18@IsIdentity: |
| 000cc 00 DB 0 |
| 000cd 01 DB 1 |
| 000ce 01 DB 1 |
| 000cf 01 DB 1 |
| 000d0 01 DB 1 |
| 000d1 01 DB 1 |
| 000d2 01 DB 1 |
| 000d3 01 DB 1 |
| 000d4 01 DB 1 |
| 000d5 01 DB 1 |
| 000d6 01 DB 1 |
| 000d7 01 DB 1 |
| 000d8 01 DB 1 |
| 000d9 01 DB 1 |
| 000da 01 DB 1 |
| 000db 00 DB 0 |
| 000dc 01 DB 1 |
| 000dd 01 DB 1 |
| 000de 01 DB 1 |
| 000df 00 DB 0 |
| 000e0 01 DB 1 |
| 000e1 01 DB 1 |
| 000e2 01 DB 1 |
| 000e3 01 DB 1 |
| 000e4 01 DB 1 |
| 000e5 01 DB 1 |
| 000e6 01 DB 1 |
| 000e7 01 DB 1 |
| 000e8 01 DB 1 |
| 000e9 01 DB 1 |
| 000ea 01 DB 1 |
| 000eb 00 DB 0 |
| 000ec 00 DB 0 |
| 000ed 01 DB 1 |
| 000ee 01 DB 1 |
| 000ef 01 DB 1 |
| 000f0 01 DB 1 |
| 000f1 01 DB 1 |
| 000f2 01 DB 1 |
| 000f3 01 DB 1 |
| 000f4 01 DB 1 |
| 000f5 01 DB 1 |
| 000f6 01 DB 1 |
| 000f7 01 DB 1 |
| 000f8 01 DB 1 |
| 000f9 01 DB 1 |
| 000fa 01 DB 1 |
| 000fb 00 DB 0 |
| 000fc 01 DB 1 |
| 000fd 01 DB 1 |
| 000fe 01 DB 1 |
| 000ff 00 DB 0 |
| $LN21@IsIdentity: |
| 00100 00 00 00 00 DD $LN11@IsIdentity |
| 00104 00 00 00 00 DD $LN9@IsIdentity |
| 00108 00 00 00 00 DD $LN10@IsIdentity |
| 0010c 00 00 00 00 DD $LN12@IsIdentity |
| $LN19@IsIdentity: |
| 00110 00 DB 0 |
| 00111 03 DB 3 |
| 00112 01 DB 1 |
| 00113 03 DB 3 |
| 00114 03 DB 3 |
| 00115 03 DB 3 |
| 00116 02 DB 2 |
| 00117 02 DB 2 |
| 00118 01 DB 1 |
| 00119 02 DB 2 |
| 0011a 03 DB 3 |
| 0011b 03 DB 3 |
| 0011c 01 DB 1 |
| 0011d 00 DB 0 |
| 0011e 03 DB 3 |
| 0011f 03 DB 3 |
| 00120 03 DB 3 |
| 00121 03 DB 3 |
| 00122 03 DB 3 |
| 00123 03 DB 3 |
| 00124 03 DB 3 |
| 00125 03 DB 3 |
| 00126 03 DB 3 |
| 00127 03 DB 3 |
| 00128 03 DB 3 |
| 00129 03 DB 3 |
| 0012a 03 DB 3 |
| 0012b 03 DB 3 |
| 0012c 03 DB 3 |
| 0012d 02 DB 2 |
| 0012e 03 DB 3 |
| 0012f 03 DB 3 |
| 00130 03 DB 3 |
| 00131 03 DB 3 |
| 00132 03 DB 3 |
| 00133 03 DB 3 |
| 00134 03 DB 3 |
| 00135 03 DB 3 |
| 00136 03 DB 3 |
| 00137 03 DB 3 |
| 00138 03 DB 3 |
| 00139 03 DB 3 |
| 0013a 03 DB 3 |
| 0013b 03 DB 3 |
| 0013c 03 DB 3 |
| 0013d 03 DB 3 |
| 0013e 03 DB 3 |
| 0013f 03 DB 3 |
| 00140 03 DB 3 |
| 00141 03 DB 3 |
| 00142 03 DB 3 |
| 00143 03 DB 3 |
| 00144 03 DB 3 |
| 00145 03 DB 3 |
| 00146 03 DB 3 |
| 00147 03 DB 3 |
| 00148 03 DB 3 |
| 00149 01 DB 1 |
| 0014a 01 DB 1 |
| 0014b 03 DB 3 |
| 0014c 01 DB 1 |
| 0014d 03 DB 3 |
| 0014e 03 DB 3 |
| 0014f 03 DB 3 |
| 00150 03 DB 3 |
| 00151 03 DB 3 |
| 00152 03 DB 3 |
| 00153 03 DB 3 |
| 00154 03 DB 3 |
| 00155 03 DB 3 |
| 00156 03 DB 3 |
| 00157 03 DB 3 |
| 00158 03 DB 3 |
| 00159 03 DB 3 |
| 0015a 03 DB 3 |
| 0015b 03 DB 3 |
| 0015c 03 DB 3 |
| 0015d 03 DB 3 |
| 0015e 03 DB 3 |
| 0015f 03 DB 3 |
| 00160 03 DB 3 |
| 00161 03 DB 3 |
| 00162 03 DB 3 |
| 00163 03 DB 3 |
| 00164 03 DB 3 |
| 00165 03 DB 3 |
| 00166 03 DB 3 |
| 00167 03 DB 3 |
| 00168 03 DB 3 |
| 00169 02 DB 2 |
| 0016a 01 DB 1 |
| 0016b 02 DB 2 |
| ?_IsIdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_IsIdentityEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_IdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_IdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_IdentityEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5469 : { // check whether an escape is valid, and process it if so |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5470 : if (_IsIdentityEscape()) |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_IsIdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_IsIdentityEscape |
| 0000f 0f b6 c0 movzx eax, al |
| 00012 85 c0 test eax, eax |
| 00014 74 1b je SHORT $LN2@IdentityEs |
| |
| ; 5471 : { |
| ; 5472 : _Val = _Char; |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 0f be 51 48 movsx edx, BYTE PTR [ecx+72] |
| 0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00020 89 50 44 mov DWORD PTR [eax+68], edx |
| |
| ; 5473 : _Next(); |
| |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5474 : return (true); |
| |
| 0002b b0 01 mov al, 1 |
| 0002d eb 04 jmp SHORT $LN1@IdentityEs |
| |
| ; 5475 : } |
| ; 5476 : else |
| |
| 0002f eb 02 jmp SHORT $LN1@IdentityEs |
| $LN2@IdentityEs: |
| |
| ; 5477 : return (false); |
| |
| 00031 32 c0 xor al, al |
| $LN1@IdentityEs: |
| |
| ; 5478 : } |
| |
| 00033 8b e5 mov esp, ebp |
| 00035 5d pop ebp |
| 00036 c3 ret 0 |
| ?_IdentityEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_IdentityEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_CharacterClass@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_CharacterClass@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClass, COMDAT |
| ; _this$ = ecx |
| |
| ; 5329 : { // add bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5330 : _Nfa._Add_class(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 24 add ecx, 36 ; 00000024H |
| 0000d e8 00 00 00 00 call ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_class |
| |
| ; 5331 : if (_Mchar == _Meta_caret) |
| |
| 00012 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00015 83 78 4c 5e cmp DWORD PTR [eax+76], 94 ; 0000005eH |
| 00019 75 13 jne SHORT $LN2@CharacterC |
| |
| ; 5332 : { // negate bracket expression |
| ; 5333 : _Nfa._Negate(); |
| |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e 83 c1 24 add ecx, 36 ; 00000024H |
| 00021 e8 00 00 00 00 call ?_Negate@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Negate |
| |
| ; 5334 : _Next(); |
| |
| 00026 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00029 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| $LN2@CharacterC: |
| |
| ; 5335 : } |
| ; 5336 : if ((_L_flags & _L_brk_rstr) && _Mchar == _Meta_rsq) |
| |
| 0002e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00031 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00034 81 e2 00 00 00 |
| 20 and edx, 536870912 ; 20000000H |
| 0003a 74 1e je SHORT $LN3@CharacterC |
| 0003c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003f 83 78 4c 5d cmp DWORD PTR [eax+76], 93 ; 0000005dH |
| 00043 75 15 jne SHORT $LN3@CharacterC |
| |
| ; 5337 : { // insert initial ] when not special |
| ; 5338 : _Nfa._Add_char_to_class(_Meta_rsq); |
| |
| 00045 6a 5d push 93 ; 0000005dH |
| 00047 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004a 83 c1 24 add ecx, 36 ; 00000024H |
| 0004d e8 00 00 00 00 call ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| |
| ; 5339 : _Next(); |
| |
| 00052 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00055 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| $LN3@CharacterC: |
| |
| ; 5340 : } |
| ; 5341 : _ClassRanges(); |
| |
| 0005a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005d e8 00 00 00 00 call ?_ClassRanges@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassRanges |
| |
| ; 5342 : } |
| |
| 00062 8b e5 mov esp, ebp |
| 00064 5d pop ebp |
| 00065 c3 ret 0 |
| ?_CharacterClass@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClass |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_ClassRanges@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| __Ret$ = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| __Chr1$1 = -1 ; size = 1 |
| ?_ClassRanges@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassRanges, COMDAT |
| ; _this$ = ecx |
| |
| ; 5287 : { // check for valid class ranges |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| $LN4@ClassRange: |
| |
| ; 5288 : _Prs_ret _Ret; |
| ; 5289 : |
| ; 5290 : for (; ; ) |
| ; 5291 : { // process characters through end of bracket expression |
| ; 5292 : if ((_Ret = _ClassAtom()) == _Prs_none) |
| |
| 00009 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassAtom |
| 00011 89 45 f4 mov DWORD PTR __Ret$[ebp], eax |
| 00014 83 7d f4 00 cmp DWORD PTR __Ret$[ebp], 0 |
| 00018 75 0a jne SHORT $LN5@ClassRange |
| |
| ; 5293 : return; |
| |
| 0001a e9 30 01 00 00 jmp $LN1@ClassRange |
| 0001f e9 26 01 00 00 jmp $LN6@ClassRange |
| $LN5@ClassRange: |
| |
| ; 5294 : else if (_Ret == _Prs_set) |
| |
| 00024 83 7d f4 02 cmp DWORD PTR __Ret$[ebp], 2 |
| 00028 75 05 jne SHORT $LN7@ClassRange |
| 0002a e9 1b 01 00 00 jmp $LN6@ClassRange |
| $LN7@ClassRange: |
| |
| ; 5295 : ; |
| ; 5296 : else if (_Val == 0 && !(_L_flags & _L_bzr_chr)) |
| |
| 0002f 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00032 83 78 44 00 cmp DWORD PTR [eax+68], 0 |
| 00036 75 1d jne SHORT $LN9@ClassRange |
| 00038 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0003b 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 0003e 81 e2 00 00 10 |
| 00 and edx, 1048576 ; 00100000H |
| 00044 75 0f jne SHORT $LN9@ClassRange |
| |
| ; 5297 : _Error(regex_constants::error_escape); |
| |
| 00046 6a 02 push 2 |
| 00048 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0004b e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 00050 e9 f5 00 00 00 jmp $LN6@ClassRange |
| $LN9@ClassRange: |
| |
| ; 5298 : else if (_Mchar == _Meta_dash) |
| |
| 00055 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00058 83 78 4c 2d cmp DWORD PTR [eax+76], 45 ; 0000002dH |
| 0005c 0f 85 d5 00 00 |
| 00 jne $LN11@ClassRange |
| |
| ; 5299 : { // check for valid range |
| ; 5300 : _Next(); |
| |
| 00062 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00065 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5301 : _Elem _Chr1 = (_Elem)_Val; |
| |
| 0006a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0006d 8a 51 44 mov dl, BYTE PTR [ecx+68] |
| 00070 88 55 ff mov BYTE PTR __Chr1$1[ebp], dl |
| |
| ; 5302 : if ((_Ret = _ClassAtom()) == _Prs_none) |
| |
| 00073 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00076 e8 00 00 00 00 call ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassAtom |
| 0007b 89 45 f4 mov DWORD PTR __Ret$[ebp], eax |
| 0007e 83 7d f4 00 cmp DWORD PTR __Ret$[ebp], 0 |
| 00082 75 27 jne SHORT $LN13@ClassRange |
| |
| ; 5303 : { // treat - as ordinary character |
| ; 5304 : _Nfa._Add_char_to_class((_Elem)_Val); |
| |
| 00084 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00087 0f b6 48 44 movzx ecx, BYTE PTR [eax+68] |
| 0008b 51 push ecx |
| 0008c 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0008f 83 c1 24 add ecx, 36 ; 00000024H |
| 00092 e8 00 00 00 00 call ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| |
| ; 5305 : _Nfa._Add_char_to_class(_Meta_dash); |
| |
| 00097 6a 2d push 45 ; 0000002dH |
| 00099 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0009c 83 c1 24 add ecx, 36 ; 00000024H |
| 0009f e8 00 00 00 00 call ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| |
| ; 5306 : return; |
| |
| 000a4 e9 a6 00 00 00 jmp $LN1@ClassRange |
| 000a9 eb 59 jmp SHORT $LN14@ClassRange |
| $LN13@ClassRange: |
| |
| ; 5307 : } |
| ; 5308 : else if (_Ret == _Prs_set) |
| |
| 000ab 83 7d f4 02 cmp DWORD PTR __Ret$[ebp], 2 |
| 000af 75 0c jne SHORT $LN15@ClassRange |
| |
| ; 5309 : _Error(regex_constants::error_range); // set follows dash |
| |
| 000b1 6a 08 push 8 |
| 000b3 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000b6 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 000bb eb 47 jmp SHORT $LN14@ClassRange |
| $LN15@ClassRange: |
| |
| ; 5310 : else if (_Flags & regex_constants::collate) |
| |
| 000bd 68 00 08 00 00 push 2048 ; 00000800H |
| 000c2 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 000c5 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 000c8 50 push eax |
| 000c9 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000ce 83 c4 08 add esp, 8 |
| 000d1 85 c0 test eax, eax |
| 000d3 74 2f je SHORT $LN14@ClassRange |
| |
| ; 5311 : { // translate ends of range |
| ; 5312 : _Val = _Traits.translate((_Elem)_Val); |
| |
| 000d5 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000d8 0f b6 51 44 movzx edx, BYTE PTR [ecx+68] |
| 000dc 52 push edx |
| 000dd 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 000e0 8b 48 3c mov ecx, DWORD PTR [eax+60] |
| 000e3 e8 00 00 00 00 call ?translate@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate |
| 000e8 0f be c8 movsx ecx, al |
| 000eb 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 000ee 89 4a 44 mov DWORD PTR [edx+68], ecx |
| |
| ; 5313 : _Chr1 = _Traits.translate(_Chr1); |
| |
| 000f1 0f b6 45 ff movzx eax, BYTE PTR __Chr1$1[ebp] |
| 000f5 50 push eax |
| 000f6 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000f9 8b 49 3c mov ecx, DWORD PTR [ecx+60] |
| 000fc e8 00 00 00 00 call ?translate@?$_Regex_traits@D@std@@QBEDD@Z ; std::_Regex_traits<char>::translate |
| 00101 88 45 ff mov BYTE PTR __Chr1$1[ebp], al |
| $LN14@ClassRange: |
| |
| ; 5314 : } |
| ; 5315 : if ((typename _RxTraits::_Uelem)_Val |
| ; 5316 : < (typename _RxTraits::_Uelem)_Chr1) |
| |
| 00104 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00107 0f b6 42 44 movzx eax, BYTE PTR [edx+68] |
| 0010b 0f b6 4d ff movzx ecx, BYTE PTR __Chr1$1[ebp] |
| 0010f 3b c1 cmp eax, ecx |
| 00111 7d 0a jge SHORT $LN18@ClassRange |
| |
| ; 5317 : _Error(regex_constants::error_range); |
| |
| 00113 6a 08 push 8 |
| 00115 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00118 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN18@ClassRange: |
| |
| ; 5318 : _Nfa._Add_range(_Chr1, (_Elem)_Val); |
| |
| 0011d 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00120 0f b6 42 44 movzx eax, BYTE PTR [edx+68] |
| 00124 50 push eax |
| 00125 0f b6 4d ff movzx ecx, BYTE PTR __Chr1$1[ebp] |
| 00129 51 push ecx |
| 0012a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0012d 83 c1 24 add ecx, 36 ; 00000024H |
| 00130 e8 00 00 00 00 call ?_Add_range@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXDD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_range |
| |
| ; 5319 : } |
| ; 5320 : else |
| |
| 00135 eb 13 jmp SHORT $LN6@ClassRange |
| $LN11@ClassRange: |
| |
| ; 5321 : _Nfa._Add_char_to_class((_Elem)_Val); |
| |
| 00137 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0013a 0f b6 42 44 movzx eax, BYTE PTR [edx+68] |
| 0013e 50 push eax |
| 0013f 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00142 83 c1 24 add ecx, 36 ; 00000024H |
| 00145 e8 00 00 00 00 call ?_Add_char_to_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXD@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_char_to_class |
| $LN6@ClassRange: |
| |
| ; 5322 : } |
| |
| 0014a e9 ba fe ff ff jmp $LN4@ClassRange |
| $LN1@ClassRange: |
| |
| ; 5323 : } |
| |
| 0014f 8b e5 mov esp, ebp |
| 00151 5d pop ebp |
| 00152 c3 ret 0 |
| ?_ClassRanges@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassRanges |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ |
| _TEXT SEGMENT |
| __St$1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassAtom, COMDAT |
| ; _this$ = ecx |
| |
| ; 5240 : { // check for class atom |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5241 : if (_Mchar == _Meta_esc) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 4c 5c cmp DWORD PTR [eax+76], 92 ; 0000005cH |
| 00010 0f 85 9b 00 00 |
| 00 jne $LN2@ClassAtom |
| |
| ; 5242 : { // check for valid escape sequence |
| ; 5243 : _Next(); |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5244 : if (_L_flags & _L_grp_esc) |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00024 81 e2 00 00 20 |
| 00 and edx, 2097152 ; 00200000H |
| 0002a 74 11 je SHORT $LN4@ClassAtom |
| |
| ; 5245 : return (_ClassEscape(false)); |
| |
| 0002c 6a 00 push 0 |
| 0002e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00031 e8 00 00 00 00 call ?_ClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassEscape |
| 00036 e9 0d 01 00 00 jmp $LN1@ClassAtom |
| |
| ; 5246 : else if ((_L_flags & _L_esc_ffn && _Do_ffn(_Char)) |
| |
| 0003b eb 5b jmp SHORT $LN5@ClassAtom |
| $LN4@ClassAtom: |
| |
| ; 5247 : || (_L_flags & _L_esc_ffnx && _Do_ffnx(_Char))) |
| |
| 0003d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00040 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 00043 81 e1 00 00 01 |
| 00 and ecx, 65536 ; 00010000H |
| 00049 74 17 je SHORT $LN8@ClassAtom |
| 0004b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0004e 0f b6 42 48 movzx eax, BYTE PTR [edx+72] |
| 00052 50 push eax |
| 00053 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00056 e8 00 00 00 00 call ?_Do_ffn@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffn |
| 0005b 0f b6 c8 movzx ecx, al |
| 0005e 85 c9 test ecx, ecx |
| 00060 75 24 jne SHORT $LN7@ClassAtom |
| $LN8@ClassAtom: |
| 00062 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00065 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00068 25 00 80 00 00 and eax, 32768 ; 00008000H |
| 0006d 74 29 je SHORT $LN5@ClassAtom |
| 0006f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00072 0f b6 51 48 movzx edx, BYTE PTR [ecx+72] |
| 00076 52 push edx |
| 00077 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007a e8 00 00 00 00 call ?_Do_ffnx@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_ND@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ffnx |
| 0007f 0f b6 c0 movzx eax, al |
| 00082 85 c0 test eax, eax |
| 00084 74 12 je SHORT $LN5@ClassAtom |
| $LN7@ClassAtom: |
| |
| ; 5248 : { // advance to next character |
| ; 5249 : _Next(); |
| |
| 00086 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00089 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5250 : return (_Prs_chr); |
| |
| 0008e b8 01 00 00 00 mov eax, 1 |
| 00093 e9 b0 00 00 00 jmp $LN1@ClassAtom |
| $LN5@ClassAtom: |
| |
| ; 5251 : } |
| ; 5252 : _Val = _Meta_esc; |
| |
| 00098 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009b c7 41 44 5c 00 |
| 00 00 mov DWORD PTR [ecx+68], 92 ; 0000005cH |
| |
| ; 5253 : return (_Prs_chr); |
| |
| 000a2 b8 01 00 00 00 mov eax, 1 |
| 000a7 e9 9c 00 00 00 jmp $LN1@ClassAtom |
| 000ac e9 97 00 00 00 jmp $LN1@ClassAtom |
| $LN2@ClassAtom: |
| |
| ; 5254 : } |
| ; 5255 : else if (_Mchar == _Meta_lsq) |
| |
| 000b1 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000b4 83 7a 4c 5b cmp DWORD PTR [edx+76], 91 ; 0000005bH |
| 000b8 75 5c jne SHORT $LN9@ClassAtom |
| |
| ; 5256 : { // check for valid delimited expression |
| ; 5257 : _Next(); |
| |
| 000ba 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000bd e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5258 : if (_Mchar == _Meta_colon |
| ; 5259 : || _Mchar == _Meta_equal |
| ; 5260 : || _Mchar == _Meta_dot) |
| |
| 000c2 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000c5 83 78 4c 3a cmp DWORD PTR [eax+76], 58 ; 0000003aH |
| 000c9 74 12 je SHORT $LN13@ClassAtom |
| 000cb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ce 83 79 4c 3d cmp DWORD PTR [ecx+76], 61 ; 0000003dH |
| 000d2 74 09 je SHORT $LN13@ClassAtom |
| 000d4 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000d7 83 7a 4c 2e cmp DWORD PTR [edx+76], 46 ; 0000002eH |
| 000db 75 26 jne SHORT $LN11@ClassAtom |
| $LN13@ClassAtom: |
| |
| ; 5261 : { // handle delimited expression |
| ; 5262 : _Meta_type _St = _Mchar; |
| |
| 000dd 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000e0 8b 48 4c mov ecx, DWORD PTR [eax+76] |
| 000e3 89 4d f8 mov DWORD PTR __St$1[ebp], ecx |
| |
| ; 5263 : _Next(); |
| |
| 000e6 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000e9 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5264 : _Do_ex_class(_St); |
| |
| 000ee 8b 55 f8 mov edx, DWORD PTR __St$1[ebp] |
| 000f1 52 push edx |
| 000f2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f5 e8 00 00 00 00 call ?_Do_ex_class@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ex_class |
| |
| ; 5265 : return (_Prs_set); |
| |
| 000fa b8 02 00 00 00 mov eax, 2 |
| 000ff eb 47 jmp SHORT $LN1@ClassAtom |
| |
| ; 5266 : } |
| ; 5267 : else |
| |
| 00101 eb 11 jmp SHORT $LN12@ClassAtom |
| $LN11@ClassAtom: |
| |
| ; 5268 : { // handle ordinary [ |
| ; 5269 : _Val = _Meta_lsq; |
| |
| 00103 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00106 c7 40 44 5b 00 |
| 00 00 mov DWORD PTR [eax+68], 91 ; 0000005bH |
| |
| ; 5270 : return (_Prs_chr); |
| |
| 0010d b8 01 00 00 00 mov eax, 1 |
| 00112 eb 34 jmp SHORT $LN1@ClassAtom |
| $LN12@ClassAtom: |
| |
| ; 5271 : } |
| |
| 00114 eb 32 jmp SHORT $LN1@ClassAtom |
| $LN9@ClassAtom: |
| |
| ; 5272 : } |
| ; 5273 : else if (_Mchar == _Meta_rsq || _Mchar == _Meta_eos) |
| |
| 00116 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00119 83 79 4c 5d cmp DWORD PTR [ecx+76], 93 ; 0000005dH |
| 0011d 74 09 je SHORT $LN16@ClassAtom |
| 0011f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00122 83 7a 4c ff cmp DWORD PTR [edx+76], -1 |
| 00126 75 06 jne SHORT $LN14@ClassAtom |
| $LN16@ClassAtom: |
| |
| ; 5274 : return (_Prs_none); |
| |
| 00128 33 c0 xor eax, eax |
| 0012a eb 1c jmp SHORT $LN1@ClassAtom |
| |
| ; 5275 : else |
| |
| 0012c eb 1a jmp SHORT $LN1@ClassAtom |
| $LN14@ClassAtom: |
| |
| ; 5276 : { // handle ordinary character |
| ; 5277 : _Val = _Char; |
| |
| 0012e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00131 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 00135 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00138 89 4a 44 mov DWORD PTR [edx+68], ecx |
| |
| ; 5278 : _Next(); |
| |
| 0013b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0013e e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5279 : return (_Prs_chr); |
| |
| 00143 b8 01 00 00 00 mov eax, 1 |
| $LN1@ClassAtom: |
| |
| ; 5280 : } |
| ; 5281 : } |
| |
| 00148 8b e5 mov esp, ebp |
| 0014a 5d pop ebp |
| 0014b c3 ret 0 |
| ?_ClassAtom@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@XZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassAtom |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_ClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@_N@Z |
| _TEXT SEGMENT |
| tv92 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Addit$ = 8 ; size = 1 |
| ?_ClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@_N@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5217 : { // check for class escape |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5218 : if ((_L_flags & _L_esc_bsl) |
| ; 5219 : && _Char == _Esc_bsl) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 0000f 81 e1 00 40 00 |
| 00 and ecx, 16384 ; 00004000H |
| 00015 74 27 je SHORT $LN2@ClassEscap |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 0001e 83 f8 5c cmp eax, 92 ; 0000005cH |
| 00021 75 1b jne SHORT $LN2@ClassEscap |
| |
| ; 5220 : { // handle escape backslash if allowed |
| ; 5221 : _Val = _Esc_bsl; |
| |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 c7 41 44 5c 00 |
| 00 00 mov DWORD PTR [ecx+68], 92 ; 0000005cH |
| |
| ; 5222 : _Next(); |
| |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5223 : return (_Prs_chr); |
| |
| 00035 b8 01 00 00 00 mov eax, 1 |
| 0003a eb 77 jmp SHORT $LN1@ClassEscap |
| 0003c eb 53 jmp SHORT $LN3@ClassEscap |
| $LN2@ClassEscap: |
| |
| ; 5224 : } |
| ; 5225 : else if ((_L_flags & _L_esc_wsd) && _CharacterClassEscape(_Addit)) |
| |
| 0003e 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00041 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00044 25 00 00 02 00 and eax, 131072 ; 00020000H |
| 00049 74 1d je SHORT $LN4@ClassEscap |
| 0004b 0f b6 4d 08 movzx ecx, BYTE PTR __Addit$[ebp] |
| 0004f 51 push ecx |
| 00050 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00053 e8 00 00 00 00 call ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClassEscape |
| 00058 0f b6 d0 movzx edx, al |
| 0005b 85 d2 test edx, edx |
| 0005d 74 09 je SHORT $LN4@ClassEscap |
| |
| ; 5226 : return (_Prs_set); |
| |
| 0005f b8 02 00 00 00 mov eax, 2 |
| 00064 eb 4d jmp SHORT $LN1@ClassEscap |
| 00066 eb 29 jmp SHORT $LN3@ClassEscap |
| $LN4@ClassEscap: |
| |
| ; 5227 : else if (_DecimalDigits()) |
| |
| 00068 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006b e8 00 00 00 00 call ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| 00070 0f b6 c0 movzx eax, al |
| 00073 85 c0 test eax, eax |
| 00075 74 1a je SHORT $LN3@ClassEscap |
| |
| ; 5228 : { // check for invalid value |
| ; 5229 : if (_Val != 0) |
| |
| 00077 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007a 83 79 44 00 cmp DWORD PTR [ecx+68], 0 |
| 0007e 74 0a je SHORT $LN7@ClassEscap |
| |
| ; 5230 : _Error(regex_constants::error_escape); |
| |
| 00080 6a 02 push 2 |
| 00082 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00085 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN7@ClassEscap: |
| |
| ; 5231 : return (_Prs_chr); |
| |
| 0008a b8 01 00 00 00 mov eax, 1 |
| 0008f eb 22 jmp SHORT $LN1@ClassEscap |
| $LN3@ClassEscap: |
| |
| ; 5232 : } |
| ; 5233 : return (_CharacterEscape() ? _Prs_chr : _Prs_none); |
| |
| 00091 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00094 e8 00 00 00 00 call ?_CharacterEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterEscape |
| 00099 0f b6 d0 movzx edx, al |
| 0009c 85 d2 test edx, edx |
| 0009e 74 09 je SHORT $LN9@ClassEscap |
| 000a0 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv92[ebp], 1 |
| 000a7 eb 07 jmp SHORT $LN10@ClassEscap |
| $LN9@ClassEscap: |
| 000a9 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv92[ebp], 0 |
| $LN10@ClassEscap: |
| 000b0 8b 45 f8 mov eax, DWORD PTR tv92[ebp] |
| $LN1@ClassEscap: |
| |
| ; 5234 : } |
| |
| 000b3 8b e5 mov esp, ebp |
| 000b5 5d pop ebp |
| 000b6 c2 04 00 ret 4 |
| ?_ClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE?AW4_Prs_ret@2@_N@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_ClassEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z |
| _TEXT SEGMENT |
| __Ch0$ = -16 ; size = 4 |
| _this$ = -12 ; size = 4 |
| __Cls$ = -8 ; size = 2 |
| tv79 = -1 ; size = 1 |
| __Addit$ = 8 ; size = 1 |
| ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClassEscape, COMDAT |
| ; _this$ = ecx |
| |
| ; 5197 : { // check for character class escape |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5198 : typename _RxTraits::char_class_type _Cls; |
| ; 5199 : _FwdIt _Ch0 = _Pat; |
| |
| 00009 8b 45 f4 mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 89 4d f0 mov DWORD PTR __Ch0$[ebp], ecx |
| |
| ; 5200 : if (_Ch0 == _End |
| ; 5201 : || (_Cls = _Traits.lookup_classname(_Pat, ++_Ch0, |
| |
| 00011 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00014 8b 45 f0 mov eax, DWORD PTR __Ch0$[ebp] |
| 00017 3b 42 08 cmp eax, DWORD PTR [edx+8] |
| 0001a 74 51 je SHORT $LN3@CharacterC |
| 0001c 68 00 01 00 00 push 256 ; 00000100H |
| 00021 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00024 8b 51 40 mov edx, DWORD PTR [ecx+64] |
| 00027 52 push edx |
| 00028 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 0002d 83 c4 08 add esp, 8 |
| 00030 85 c0 test eax, eax |
| 00032 74 06 je SHORT $LN6@CharacterC |
| 00034 c6 45 ff 01 mov BYTE PTR tv79[ebp], 1 |
| 00038 eb 04 jmp SHORT $LN7@CharacterC |
| $LN6@CharacterC: |
| 0003a c6 45 ff 00 mov BYTE PTR tv79[ebp], 0 |
| $LN7@CharacterC: |
| 0003e 8b 45 f0 mov eax, DWORD PTR __Ch0$[ebp] |
| 00041 83 c0 01 add eax, 1 |
| 00044 89 45 f0 mov DWORD PTR __Ch0$[ebp], eax |
| 00047 0f b6 4d ff movzx ecx, BYTE PTR tv79[ebp] |
| 0004b 51 push ecx |
| 0004c 8b 55 f0 mov edx, DWORD PTR __Ch0$[ebp] |
| 0004f 52 push edx |
| 00050 8b 45 f4 mov eax, DWORD PTR _this$[ebp] |
| 00053 8b 08 mov ecx, DWORD PTR [eax] |
| 00055 51 push ecx |
| 00056 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00059 8b 4a 3c mov ecx, DWORD PTR [edx+60] |
| 0005c e8 00 00 00 00 call ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z ; std::_Regex_traits<char>::lookup_classname<char const *> |
| 00061 66 89 45 f8 mov WORD PTR __Cls$[ebp], ax |
| 00065 0f bf 45 f8 movsx eax, WORD PTR __Cls$[ebp] |
| 00069 85 c0 test eax, eax |
| 0006b 75 04 jne SHORT $LN2@CharacterC |
| $LN3@CharacterC: |
| |
| ; 5202 : (_Flags & regex_constants::icase) != 0)) == 0) |
| ; 5203 : return (false); |
| |
| 0006d 32 c0 xor al, al |
| 0006f eb 46 jmp SHORT $LN1@CharacterC |
| $LN2@CharacterC: |
| |
| ; 5204 : |
| ; 5205 : if (_Addit) |
| |
| 00071 0f b6 4d 08 movzx ecx, BYTE PTR __Addit$[ebp] |
| 00075 85 c9 test ecx, ecx |
| 00077 74 0b je SHORT $LN4@CharacterC |
| |
| ; 5206 : _Nfa._Add_class(); |
| |
| 00079 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0007c 83 c1 24 add ecx, 36 ; 00000024H |
| 0007f e8 00 00 00 00 call ?_Add_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_class |
| $LN4@CharacterC: |
| |
| ; 5207 : _Nfa._Add_named_class(_Cls, |
| |
| 00084 6a 01 push 1 |
| 00086 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00089 0f b6 42 48 movzx eax, BYTE PTR [edx+72] |
| 0008d 50 push eax |
| 0008e 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00091 8b 49 3c mov ecx, DWORD PTR [ecx+60] |
| 00094 e8 00 00 00 00 call ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z ; std::_Regex_traits<char>::isctype |
| 00099 0f b6 d0 movzx edx, al |
| 0009c 52 push edx |
| 0009d 0f b7 45 f8 movzx eax, WORD PTR __Cls$[ebp] |
| 000a1 50 push eax |
| 000a2 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000a5 83 c1 24 add ecx, 36 ; 00000024H |
| 000a8 e8 00 00 00 00 call ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_named_class |
| |
| ; 5208 : _Traits.isctype(_Char, _RxTraits::_Ch_upper)); |
| ; 5209 : _Next(); |
| |
| 000ad 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000b0 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5210 : return (true); |
| |
| 000b5 b0 01 mov al, 1 |
| $LN1@CharacterC: |
| |
| ; 5211 : } |
| |
| 000b7 8b e5 mov esp, ebp |
| 000b9 5d pop ebp |
| 000ba c2 04 00 ret 4 |
| ?_CharacterClassEscape@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_N_N@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_CharacterClassEscape |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_ex_class@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@@Z |
| _TEXT SEGMENT |
| __Errtype$ = -36 ; size = 4 |
| tv69 = -32 ; size = 4 |
| tv68 = -28 ; size = 4 |
| tv67 = -24 ; size = 4 |
| __Diff$ = -20 ; size = 4 |
| __Beg$ = -16 ; size = 4 |
| _this$ = -12 ; size = 4 |
| __Cls$1 = -8 ; size = 2 |
| tv130 = -1 ; size = 1 |
| __End_arg$ = 8 ; size = 4 |
| ?_Do_ex_class@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ex_class, COMDAT |
| ; _this$ = ecx |
| |
| ; 5149 : { // handle delimited expressions within bracket expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5150 : regex_constants::error_type _Errtype = |
| ; 5151 : (_End_arg == _Meta_colon ? regex_constants::error_ctype |
| |
| 00009 83 7d 08 3a cmp DWORD PTR __End_arg$[ebp], 58 ; 0000003aH |
| 0000d 75 09 jne SHORT $LN21@Do_ex_clas |
| 0000f c7 45 e0 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00016 eb 31 jmp SHORT $LN22@Do_ex_clas |
| $LN21@Do_ex_clas: |
| 00018 83 7d 08 3d cmp DWORD PTR __End_arg$[ebp], 61 ; 0000003dH |
| 0001c 75 09 jne SHORT $LN19@Do_ex_clas |
| 0001e c7 45 e4 00 00 |
| 00 00 mov DWORD PTR tv68[ebp], 0 |
| 00025 eb 1c jmp SHORT $LN20@Do_ex_clas |
| $LN19@Do_ex_clas: |
| 00027 83 7d 08 2e cmp DWORD PTR __End_arg$[ebp], 46 ; 0000002eH |
| 0002b 75 09 jne SHORT $LN17@Do_ex_clas |
| 0002d c7 45 e8 00 00 |
| 00 00 mov DWORD PTR tv67[ebp], 0 |
| 00034 eb 07 jmp SHORT $LN18@Do_ex_clas |
| $LN17@Do_ex_clas: |
| 00036 c7 45 e8 0e 00 |
| 00 00 mov DWORD PTR tv67[ebp], 14 ; 0000000eH |
| $LN18@Do_ex_clas: |
| 0003d 8b 45 e8 mov eax, DWORD PTR tv67[ebp] |
| 00040 89 45 e4 mov DWORD PTR tv68[ebp], eax |
| $LN20@Do_ex_clas: |
| 00043 8b 4d e4 mov ecx, DWORD PTR tv68[ebp] |
| 00046 89 4d e0 mov DWORD PTR tv69[ebp], ecx |
| $LN22@Do_ex_clas: |
| 00049 8b 55 e0 mov edx, DWORD PTR tv69[ebp] |
| 0004c 89 55 dc mov DWORD PTR __Errtype$[ebp], edx |
| |
| ; 5152 : : _End_arg == _Meta_equal ? regex_constants::error_collate |
| ; 5153 : : _End_arg == _Meta_dot ? regex_constants::error_collate |
| ; 5154 : : regex_constants::error_syntax); |
| ; 5155 : _FwdIt _Beg = _Pat; |
| |
| 0004f 8b 45 f4 mov eax, DWORD PTR _this$[ebp] |
| 00052 8b 08 mov ecx, DWORD PTR [eax] |
| 00054 89 4d f0 mov DWORD PTR __Beg$[ebp], ecx |
| |
| ; 5156 : _REGEX_DIFFT(_FwdIt) _Diff = 0; |
| |
| 00057 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR __Diff$[ebp], 0 |
| $LN2@Do_ex_clas: |
| |
| ; 5157 : |
| ; 5158 : while (_Mchar != _Meta_colon && _Mchar != _Meta_equal |
| ; 5159 : && _Mchar != _Meta_dot && _Mchar != _Meta_eos) |
| |
| 0005e 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 00061 83 7a 4c 3a cmp DWORD PTR [edx+76], 58 ; 0000003aH |
| 00065 74 2e je SHORT $LN3@Do_ex_clas |
| 00067 8b 45 f4 mov eax, DWORD PTR _this$[ebp] |
| 0006a 83 78 4c 3d cmp DWORD PTR [eax+76], 61 ; 0000003dH |
| 0006e 74 25 je SHORT $LN3@Do_ex_clas |
| 00070 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00073 83 79 4c 2e cmp DWORD PTR [ecx+76], 46 ; 0000002eH |
| 00077 74 1c je SHORT $LN3@Do_ex_clas |
| 00079 8b 55 f4 mov edx, DWORD PTR _this$[ebp] |
| 0007c 83 7a 4c ff cmp DWORD PTR [edx+76], -1 |
| 00080 74 13 je SHORT $LN3@Do_ex_clas |
| |
| ; 5160 : { // advance to end delimiter |
| ; 5161 : _Next(); |
| |
| 00082 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00085 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5162 : ++_Diff; |
| |
| 0008a 8b 45 ec mov eax, DWORD PTR __Diff$[ebp] |
| 0008d 83 c0 01 add eax, 1 |
| 00090 89 45 ec mov DWORD PTR __Diff$[ebp], eax |
| |
| ; 5163 : } |
| |
| 00093 eb c9 jmp SHORT $LN2@Do_ex_clas |
| $LN3@Do_ex_clas: |
| |
| ; 5164 : if (_Mchar != _End_arg) |
| |
| 00095 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00098 8b 51 4c mov edx, DWORD PTR [ecx+76] |
| 0009b 3b 55 08 cmp edx, DWORD PTR __End_arg$[ebp] |
| 0009e 74 11 je SHORT $LN4@Do_ex_clas |
| |
| ; 5165 : _Error(_Errtype); |
| |
| 000a0 8b 45 dc mov eax, DWORD PTR __Errtype$[ebp] |
| 000a3 50 push eax |
| 000a4 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000a7 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| 000ac e9 d8 00 00 00 jmp $LN5@Do_ex_clas |
| $LN4@Do_ex_clas: |
| |
| ; 5166 : else if (_End_arg == _Meta_colon) |
| |
| 000b1 83 7d 08 3a cmp DWORD PTR __End_arg$[ebp], 58 ; 0000003aH |
| 000b5 75 66 jne SHORT $LN6@Do_ex_clas |
| |
| ; 5167 : { // handle named character class |
| ; 5168 : typename _RxTraits::char_class_type _Cls = |
| ; 5169 : _Traits.lookup_classname(_Beg, _Pat, |
| |
| 000b7 68 00 01 00 00 push 256 ; 00000100H |
| 000bc 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000bf 8b 51 40 mov edx, DWORD PTR [ecx+64] |
| 000c2 52 push edx |
| 000c3 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000c8 83 c4 08 add esp, 8 |
| 000cb 85 c0 test eax, eax |
| 000cd 74 06 je SHORT $LN23@Do_ex_clas |
| 000cf c6 45 ff 01 mov BYTE PTR tv130[ebp], 1 |
| 000d3 eb 04 jmp SHORT $LN24@Do_ex_clas |
| $LN23@Do_ex_clas: |
| 000d5 c6 45 ff 00 mov BYTE PTR tv130[ebp], 0 |
| $LN24@Do_ex_clas: |
| 000d9 0f b6 45 ff movzx eax, BYTE PTR tv130[ebp] |
| 000dd 50 push eax |
| 000de 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000e1 8b 11 mov edx, DWORD PTR [ecx] |
| 000e3 52 push edx |
| 000e4 8b 45 f0 mov eax, DWORD PTR __Beg$[ebp] |
| 000e7 50 push eax |
| 000e8 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 000eb 8b 49 3c mov ecx, DWORD PTR [ecx+60] |
| 000ee e8 00 00 00 00 call ??$lookup_classname@PBD@?$_Regex_traits@D@std@@QBEFPBD0_N@Z ; std::_Regex_traits<char>::lookup_classname<char const *> |
| 000f3 66 89 45 f8 mov WORD PTR __Cls$1[ebp], ax |
| |
| ; 5170 : (_Flags & regex_constants::icase) != 0); |
| ; 5171 : if (!_Cls) |
| |
| 000f7 0f bf 55 f8 movsx edx, WORD PTR __Cls$1[ebp] |
| 000fb 85 d2 test edx, edx |
| 000fd 75 0a jne SHORT $LN8@Do_ex_clas |
| |
| ; 5172 : _Error(regex_constants::error_ctype); |
| |
| 000ff 6a 01 push 1 |
| 00101 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00104 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN8@Do_ex_clas: |
| |
| ; 5173 : _Nfa._Add_named_class(_Cls); |
| |
| 00109 6a 00 push 0 |
| 0010b 0f b7 45 f8 movzx eax, WORD PTR __Cls$1[ebp] |
| 0010f 50 push eax |
| 00110 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00113 83 c1 24 add ecx, 36 ; 00000024H |
| 00116 e8 00 00 00 00 call ?_Add_named_class@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXF_N@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_named_class |
| 0011b eb 6c jmp SHORT $LN5@Do_ex_clas |
| $LN6@Do_ex_clas: |
| |
| ; 5174 : } |
| ; 5175 : else if (_End_arg == _Meta_equal) |
| |
| 0011d 83 7d 08 3d cmp DWORD PTR __End_arg$[ebp], 61 ; 0000003dH |
| 00121 75 31 jne SHORT $LN9@Do_ex_clas |
| |
| ; 5176 : { // process = |
| ; 5177 : if (_Beg == _Pat) |
| |
| 00123 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00126 8b 55 f0 mov edx, DWORD PTR __Beg$[ebp] |
| 00129 3b 11 cmp edx, DWORD PTR [ecx] |
| 0012b 75 0c jne SHORT $LN11@Do_ex_clas |
| |
| ; 5178 : _Error(regex_constants::error_collate); |
| |
| 0012d 6a 00 push 0 |
| 0012f 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00132 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5179 : else |
| |
| 00137 eb 19 jmp SHORT $LN12@Do_ex_clas |
| $LN11@Do_ex_clas: |
| |
| ; 5180 : _Nfa._Add_equiv(_Beg, _Pat, _Diff); |
| |
| 00139 8b 45 ec mov eax, DWORD PTR __Diff$[ebp] |
| 0013c 50 push eax |
| 0013d 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00140 8b 11 mov edx, DWORD PTR [ecx] |
| 00142 52 push edx |
| 00143 8b 45 f0 mov eax, DWORD PTR __Beg$[ebp] |
| 00146 50 push eax |
| 00147 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0014a 83 c1 24 add ecx, 36 ; 00000024H |
| 0014d e8 00 00 00 00 call ?_Add_equiv@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_equiv |
| $LN12@Do_ex_clas: |
| 00152 eb 35 jmp SHORT $LN5@Do_ex_clas |
| $LN9@Do_ex_clas: |
| |
| ; 5181 : } |
| ; 5182 : else if (_End_arg == _Meta_dot) |
| |
| 00154 83 7d 08 2e cmp DWORD PTR __End_arg$[ebp], 46 ; 0000002eH |
| 00158 75 2f jne SHORT $LN5@Do_ex_clas |
| |
| ; 5183 : { // process . |
| ; 5184 : if (_Beg == _Pat) |
| |
| 0015a 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0015d 8b 55 f0 mov edx, DWORD PTR __Beg$[ebp] |
| 00160 3b 11 cmp edx, DWORD PTR [ecx] |
| 00162 75 0c jne SHORT $LN14@Do_ex_clas |
| |
| ; 5185 : _Error(regex_constants::error_collate); |
| |
| 00164 6a 00 push 0 |
| 00166 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00169 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| |
| ; 5186 : else |
| |
| 0016e eb 19 jmp SHORT $LN5@Do_ex_clas |
| $LN14@Do_ex_clas: |
| |
| ; 5187 : _Nfa._Add_coll(_Beg, _Pat, _Diff); |
| |
| 00170 8b 45 ec mov eax, DWORD PTR __Diff$[ebp] |
| 00173 50 push eax |
| 00174 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00177 8b 11 mov edx, DWORD PTR [ecx] |
| 00179 52 push edx |
| 0017a 8b 45 f0 mov eax, DWORD PTR __Beg$[ebp] |
| 0017d 50 push eax |
| 0017e 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 00181 83 c1 24 add ecx, 36 ; 00000024H |
| 00184 e8 00 00 00 00 call ?_Add_coll@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPBD0H@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Add_coll |
| $LN5@Do_ex_clas: |
| |
| ; 5188 : } |
| ; 5189 : _Next(); |
| |
| 00189 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0018c e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5190 : _Expect(_Meta_rsq, _Errtype); |
| |
| 00191 8b 4d dc mov ecx, DWORD PTR __Errtype$[ebp] |
| 00194 51 push ecx |
| 00195 6a 5d push 93 ; 0000005dH |
| 00197 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0019a e8 00 00 00 00 call ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect |
| |
| ; 5191 : } |
| |
| 0019f 8b e5 mov esp, ebp |
| 001a1 5d pop ebp |
| 001a2 c2 04 00 ret 4 |
| ?_Do_ex_class@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_ex_class |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_OctalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv69 = -4 ; size = 4 |
| ?_OctalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_OctalDigits, COMDAT |
| ; _this$ = ecx |
| |
| ; 5141 : { // check for up to 3 octal digits |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5142 : return (_Do_digits(8, 3) != 3); |
| |
| 00009 6a 03 push 3 |
| 0000b 6a 08 push 8 |
| 0000d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits |
| 00015 83 f8 03 cmp eax, 3 |
| 00018 74 09 je SHORT $LN3@OctalDigit |
| 0001a c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00021 eb 07 jmp SHORT $LN4@OctalDigit |
| $LN3@OctalDigit: |
| 00023 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@OctalDigit: |
| 0002a 8a 45 fc mov al, BYTE PTR tv69[ebp] |
| |
| ; 5143 : } |
| |
| 0002d 8b e5 mov esp, ebp |
| 0002f 5d pop ebp |
| 00030 c3 ret 0 |
| ?_OctalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_OctalDigits |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_HexDigits, COMDAT |
| ; _this$ = ecx |
| |
| ; 5132 : { // check for _Count hex digits |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5133 : if (_Do_digits(16, _Count) != 0) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0000a 50 push eax |
| 0000b 6a 10 push 16 ; 00000010H |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits |
| 00015 85 c0 test eax, eax |
| 00017 74 0a je SHORT $LN1@HexDigits |
| |
| ; 5134 : _Error(regex_constants::error_escape); |
| |
| 00019 6a 02 push 2 |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN1@HexDigits: |
| |
| ; 5135 : } |
| |
| 00023 8b e5 mov esp, ebp |
| 00025 5d pop ebp |
| 00026 c2 04 00 ret 4 |
| ?_HexDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXH@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_HexDigits |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv69 = -4 ; size = 4 |
| ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits, COMDAT |
| ; _this$ = ecx |
| |
| ; 5124 : { // check for decimal value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5125 : return (_Do_digits(10, INT_MAX) != INT_MAX); |
| |
| 00009 68 ff ff ff 7f push 2147483647 ; 7fffffffH |
| 0000e 6a 0a push 10 ; 0000000aH |
| 00010 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits |
| 00018 3d ff ff ff 7f cmp eax, 2147483647 ; 7fffffffH |
| 0001d 74 09 je SHORT $LN3@DecimalDig |
| 0001f c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00026 eb 07 jmp SHORT $LN4@DecimalDig |
| $LN3@DecimalDig: |
| 00028 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@DecimalDig: |
| 0002f 8a 45 fc mov al, BYTE PTR tv69[ebp] |
| |
| ; 5126 : } |
| |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c3 ret 0 |
| ?_DecimalDigits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_DecimalDigits |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z |
| _TEXT SEGMENT |
| __Chv$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Base$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits, COMDAT |
| ; _this$ = ecx |
| |
| ; 5107 : { // translate digits to numeric value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5108 : int _Chv; |
| ; 5109 : _Val = 0; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c c7 40 44 00 00 |
| 00 00 mov DWORD PTR [eax+68], 0 |
| $LN2@Do_digits: |
| |
| ; 5110 : while (_Count != 0 && (_Chv = _Traits.value(_Char, _Base)) != -1) |
| |
| 00013 83 7d 0c 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00017 74 52 je SHORT $LN3@Do_digits |
| 00019 8b 4d 08 mov ecx, DWORD PTR __Base$[ebp] |
| 0001c 51 push ecx |
| 0001d 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00020 0f b6 42 48 movzx eax, BYTE PTR [edx+72] |
| 00024 50 push eax |
| 00025 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00028 8b 49 3c mov ecx, DWORD PTR [ecx+60] |
| 0002b e8 00 00 00 00 call ?value@?$regex_traits@D@std@@QBEHDH@Z ; std::regex_traits<char>::value |
| 00030 89 45 f8 mov DWORD PTR __Chv$[ebp], eax |
| 00033 83 7d f8 ff cmp DWORD PTR __Chv$[ebp], -1 |
| 00037 74 32 je SHORT $LN3@Do_digits |
| |
| ; 5111 : { // append next digit |
| ; 5112 : --_Count; |
| |
| 00039 8b 55 0c mov edx, DWORD PTR __Count$[ebp] |
| 0003c 83 ea 01 sub edx, 1 |
| 0003f 89 55 0c mov DWORD PTR __Count$[ebp], edx |
| |
| ; 5113 : _Val *= _Base; |
| |
| 00042 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00045 8b 48 44 mov ecx, DWORD PTR [eax+68] |
| 00048 0f af 4d 08 imul ecx, DWORD PTR __Base$[ebp] |
| 0004c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0004f 89 4a 44 mov DWORD PTR [edx+68], ecx |
| |
| ; 5114 : _Val += _Chv; |
| |
| 00052 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00055 8b 48 44 mov ecx, DWORD PTR [eax+68] |
| 00058 03 4d f8 add ecx, DWORD PTR __Chv$[ebp] |
| 0005b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0005e 89 4a 44 mov DWORD PTR [edx+68], ecx |
| |
| ; 5115 : _Next(); |
| |
| 00061 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00064 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5116 : } |
| |
| 00069 eb a8 jmp SHORT $LN2@Do_digits |
| $LN3@Do_digits: |
| |
| ; 5117 : return (_Count); |
| |
| 0006b 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| |
| ; 5118 : } |
| |
| 0006e 8b e5 mov esp, ebp |
| 00070 5d pop ebp |
| 00071 c2 08 00 ret 8 |
| ?_Do_digits@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEHHH@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Do_digits |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __St$ = 8 ; size = 4 |
| __Code$ = 12 ; size = 4 |
| ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect, COMDAT |
| ; _this$ = ecx |
| |
| ; 5096 : { // check whether current meta-character is _St |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5097 : if (_Mchar != _St) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 48 4c mov ecx, DWORD PTR [eax+76] |
| 0000d 3b 4d 08 cmp ecx, DWORD PTR __St$[ebp] |
| 00010 74 0c je SHORT $LN2@Expect |
| |
| ; 5098 : _Error(_Code); |
| |
| 00012 8b 55 0c mov edx, DWORD PTR __Code$[ebp] |
| 00015 52 push edx |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN2@Expect: |
| |
| ; 5099 : _Next(); |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| |
| ; 5100 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 08 00 ret 8 |
| ?_Expect@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4_Meta_type@2@W4error_type@regex_constants@2@@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Expect |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next, COMDAT |
| ; _this$ = ecx |
| |
| ; 5081 : { // advance to next input character |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5082 : if (_Pat != _End) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000d 8b 10 mov edx, DWORD PTR [eax] |
| 0000f 3b 51 08 cmp edx, DWORD PTR [ecx+8] |
| 00012 74 36 je SHORT $LN2@Next |
| |
| ; 5083 : { // advance |
| ; 5084 : if (*_Pat == _Meta_esc && _Is_esc()) |
| |
| 00014 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00017 8b 08 mov ecx, DWORD PTR [eax] |
| 00019 0f be 11 movsx edx, BYTE PTR [ecx] |
| 0001c 83 fa 5c cmp edx, 92 ; 0000005cH |
| 0001f 75 1c jne SHORT $LN3@Next |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 e8 00 00 00 00 call ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Is_esc |
| 00029 0f b6 c0 movzx eax, al |
| 0002c 85 c0 test eax, eax |
| 0002e 74 0d je SHORT $LN3@Next |
| |
| ; 5085 : ++_Pat; |
| |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 8b 11 mov edx, DWORD PTR [ecx] |
| 00035 83 c2 01 add edx, 1 |
| 00038 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003b 89 10 mov DWORD PTR [eax], edx |
| $LN3@Next: |
| |
| ; 5086 : ++_Pat; |
| |
| 0003d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00040 8b 11 mov edx, DWORD PTR [ecx] |
| 00042 83 c2 01 add edx, 1 |
| 00045 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00048 89 10 mov DWORD PTR [eax], edx |
| $LN2@Next: |
| |
| ; 5087 : } |
| ; 5088 : _Trans(); |
| |
| 0004a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004d e8 00 00 00 00 call ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Trans |
| |
| ; 5089 : } |
| |
| 00052 8b e5 mov esp, ebp |
| 00054 5d pop ebp |
| 00055 c3 ret 0 |
| ?_Next@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Next |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| tv81 = -20 ; size = 4 |
| __Ch0$1 = -16 ; size = 4 |
| __Ch0$2 = -12 ; size = 4 |
| tv84 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Trans, COMDAT |
| ; _this$ = ecx |
| |
| ; 5007 : { // map character to meta-character |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5008 : if (_Pat == _End) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000f 8b 10 mov edx, DWORD PTR [eax] |
| 00011 3b 51 08 cmp edx, DWORD PTR [ecx+8] |
| 00014 75 13 jne SHORT $LN4@Trans |
| |
| ; 5009 : _Mchar = _Meta_eos, _Char = (_Elem)_Meta_eos; |
| |
| 00016 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00019 c7 40 4c ff ff |
| ff ff mov DWORD PTR [eax+76], -1 |
| 00020 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00023 c6 41 48 ff mov BYTE PTR [ecx+72], -1 |
| |
| ; 5010 : else |
| |
| 00027 eb 42 jmp SHORT $LN5@Trans |
| $LN4@Trans: |
| |
| ; 5011 : { // map current character |
| ; 5012 : _Char = *_Pat; |
| |
| 00029 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002c 8b 02 mov eax, DWORD PTR [edx] |
| 0002e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00031 8a 10 mov dl, BYTE PTR [eax] |
| 00033 88 51 48 mov BYTE PTR [ecx+72], dl |
| |
| ; 5013 : _Mchar = _CSTD strchr(_Meta_map, _Char) != 0 |
| |
| 00036 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00039 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 0003d 51 push ecx |
| 0003e 68 00 00 00 00 push OFFSET ?_Meta_map@std@@3QBDB |
| 00043 e8 00 00 00 00 call _strchr |
| 00048 83 c4 08 add esp, 8 |
| 0004b 85 c0 test eax, eax |
| 0004d 74 0c je SHORT $LN25@Trans |
| 0004f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00052 0f be 42 48 movsx eax, BYTE PTR [edx+72] |
| 00056 89 45 ec mov DWORD PTR tv81[ebp], eax |
| 00059 eb 07 jmp SHORT $LN26@Trans |
| $LN25@Trans: |
| 0005b c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv81[ebp], 0 |
| $LN26@Trans: |
| 00062 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00065 8b 55 ec mov edx, DWORD PTR tv81[ebp] |
| 00068 89 51 4c mov DWORD PTR [ecx+76], edx |
| $LN5@Trans: |
| |
| ; 5014 : ? (_Meta_type)_Char : _Meta_chr; |
| ; 5015 : } |
| ; 5016 : switch (_Char) |
| |
| 0006b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0006e 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 00072 89 4d f8 mov DWORD PTR tv84[ebp], ecx |
| 00075 8b 55 f8 mov edx, DWORD PTR tv84[ebp] |
| 00078 83 ea 0a sub edx, 10 ; 0000000aH |
| 0007b 89 55 f8 mov DWORD PTR tv84[ebp], edx |
| 0007e 83 7d f8 73 cmp DWORD PTR tv84[ebp], 115 ; 00000073H |
| 00082 0f 87 6b 01 00 |
| 00 ja $LN1@Trans |
| 00088 8b 45 f8 mov eax, DWORD PTR tv84[ebp] |
| 0008b 0f b6 88 00 00 |
| 00 00 movzx ecx, BYTE PTR $LN27@Trans[eax] |
| 00092 ff 24 8d 00 00 |
| 00 00 jmp DWORD PTR $LN28@Trans[ecx*4] |
| $LN6@Trans: |
| |
| ; 5017 : { // handle special cases |
| ; 5018 : case _Meta_esc: |
| ; 5019 : if (_Is_esc()) |
| |
| 00099 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009c e8 00 00 00 00 call ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Is_esc |
| 000a1 0f b6 d0 movzx edx, al |
| 000a4 85 d2 test edx, edx |
| 000a6 74 29 je SHORT $LN7@Trans |
| |
| ; 5020 : { // replace escape sequence |
| ; 5021 : _FwdIt _Ch0 = _Pat; |
| |
| 000a8 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000ab 8b 08 mov ecx, DWORD PTR [eax] |
| 000ad 89 4d f0 mov DWORD PTR __Ch0$1[ebp], ecx |
| |
| ; 5022 : _Mchar = _Meta_type(_Char = *++_Ch0); |
| |
| 000b0 8b 55 f0 mov edx, DWORD PTR __Ch0$1[ebp] |
| 000b3 83 c2 01 add edx, 1 |
| 000b6 89 55 f0 mov DWORD PTR __Ch0$1[ebp], edx |
| 000b9 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000bc 8b 4d f0 mov ecx, DWORD PTR __Ch0$1[ebp] |
| 000bf 8a 11 mov dl, BYTE PTR [ecx] |
| 000c1 88 50 48 mov BYTE PTR [eax+72], dl |
| 000c4 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000c7 0f be 48 48 movsx ecx, BYTE PTR [eax+72] |
| 000cb 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000ce 89 4a 4c mov DWORD PTR [edx+76], ecx |
| $LN7@Trans: |
| |
| ; 5023 : } |
| ; 5024 : break; |
| |
| 000d1 e9 1d 01 00 00 jmp $LN1@Trans |
| $LN8@Trans: |
| |
| ; 5025 : |
| ; 5026 : case _Meta_nl: |
| ; 5027 : if ((_L_flags & _L_alt_nl) && _Disj_count == 0) |
| |
| 000d6 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000d9 8b 48 50 mov ecx, DWORD PTR [eax+80] |
| 000dc 83 e1 04 and ecx, 4 |
| 000df 74 13 je SHORT $LN9@Trans |
| 000e1 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 000e4 83 7a 10 00 cmp DWORD PTR [edx+16], 0 |
| 000e8 75 0a jne SHORT $LN9@Trans |
| |
| ; 5028 : _Mchar = _Meta_bar; |
| |
| 000ea 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000ed c7 40 4c 7c 00 |
| 00 00 mov DWORD PTR [eax+76], 124 ; 0000007cH |
| $LN9@Trans: |
| |
| ; 5029 : break; |
| |
| 000f4 e9 fa 00 00 00 jmp $LN1@Trans |
| $LN10@Trans: |
| |
| ; 5030 : |
| ; 5031 : case _Meta_lpar: |
| ; 5032 : case _Meta_rpar: |
| ; 5033 : if (!(_L_flags & _L_nex_grp)) |
| |
| 000f9 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000fc 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 000ff 83 e2 08 and edx, 8 |
| 00102 75 0a jne SHORT $LN11@Trans |
| |
| ; 5034 : _Mchar = _Meta_chr; |
| |
| 00104 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00107 c7 40 4c 00 00 |
| 00 00 mov DWORD PTR [eax+76], 0 |
| $LN11@Trans: |
| |
| ; 5035 : break; |
| |
| 0010e e9 e0 00 00 00 jmp $LN1@Trans |
| $LN12@Trans: |
| |
| ; 5036 : |
| ; 5037 : case _Meta_lbr: |
| ; 5038 : case _Meta_rbr: |
| ; 5039 : if (!(_L_flags & _L_nex_rep)) |
| |
| 00113 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00116 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00119 83 e2 10 and edx, 16 ; 00000010H |
| 0011c 75 0a jne SHORT $LN13@Trans |
| |
| ; 5040 : _Mchar = _Meta_chr; |
| |
| 0011e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00121 c7 40 4c 00 00 |
| 00 00 mov DWORD PTR [eax+76], 0 |
| $LN13@Trans: |
| |
| ; 5041 : break; |
| |
| 00128 e9 c6 00 00 00 jmp $LN1@Trans |
| $LN14@Trans: |
| |
| ; 5042 : |
| ; 5043 : case _Meta_star: |
| ; 5044 : if ((_L_flags & _L_star_beg) |
| ; 5045 : && _Nfa._Beg_expr()) |
| |
| 0012d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00130 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 00133 81 e2 00 00 00 |
| 04 and edx, 67108864 ; 04000000H |
| 00139 74 1c je SHORT $LN15@Trans |
| 0013b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0013e 83 c1 24 add ecx, 36 ; 00000024H |
| 00141 e8 00 00 00 00 call ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| 00146 0f b6 c0 movzx eax, al |
| 00149 85 c0 test eax, eax |
| 0014b 74 0a je SHORT $LN15@Trans |
| |
| ; 5046 : _Mchar = _Meta_chr; |
| |
| 0014d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00150 c7 41 4c 00 00 |
| 00 00 mov DWORD PTR [ecx+76], 0 |
| $LN15@Trans: |
| |
| ; 5047 : break; |
| |
| 00157 e9 97 00 00 00 jmp $LN1@Trans |
| $LN16@Trans: |
| |
| ; 5048 : |
| ; 5049 : case _Meta_caret: |
| ; 5050 : if ((_L_flags & _L_anch_rstr) |
| ; 5051 : && !_Nfa._Beg_expr()) |
| |
| 0015c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0015f 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00162 25 00 00 00 02 and eax, 33554432 ; 02000000H |
| 00167 74 1c je SHORT $LN17@Trans |
| 00169 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0016c 83 c1 24 add ecx, 36 ; 00000024H |
| 0016f e8 00 00 00 00 call ?_Beg_expr@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QBE_NXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Beg_expr |
| 00174 0f b6 c8 movzx ecx, al |
| 00177 85 c9 test ecx, ecx |
| 00179 75 0a jne SHORT $LN17@Trans |
| |
| ; 5052 : _Mchar = _Meta_chr; |
| |
| 0017b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0017e c7 42 4c 00 00 |
| 00 00 mov DWORD PTR [edx+76], 0 |
| $LN17@Trans: |
| |
| ; 5053 : break; |
| |
| 00185 eb 6c jmp SHORT $LN1@Trans |
| $LN18@Trans: |
| |
| ; 5054 : |
| ; 5055 : case _Meta_dlr: |
| ; 5056 : { // check if $ is special |
| ; 5057 : _FwdIt _Ch0 = _Pat; |
| |
| 00187 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0018a 8b 08 mov ecx, DWORD PTR [eax] |
| 0018c 89 4d f4 mov DWORD PTR __Ch0$2[ebp], ecx |
| |
| ; 5058 : if ((_L_flags & _L_anch_rstr) |
| ; 5059 : && ++_Ch0 != _End && *_Ch0 != _Meta_nl) |
| |
| 0018f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00192 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00195 25 00 00 00 02 and eax, 33554432 ; 02000000H |
| 0019a 74 29 je SHORT $LN19@Trans |
| 0019c 8b 4d f4 mov ecx, DWORD PTR __Ch0$2[ebp] |
| 0019f 83 c1 01 add ecx, 1 |
| 001a2 89 4d f4 mov DWORD PTR __Ch0$2[ebp], ecx |
| 001a5 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 001a8 8b 45 f4 mov eax, DWORD PTR __Ch0$2[ebp] |
| 001ab 3b 42 08 cmp eax, DWORD PTR [edx+8] |
| 001ae 74 15 je SHORT $LN19@Trans |
| 001b0 8b 4d f4 mov ecx, DWORD PTR __Ch0$2[ebp] |
| 001b3 0f be 11 movsx edx, BYTE PTR [ecx] |
| 001b6 83 fa 0a cmp edx, 10 ; 0000000aH |
| 001b9 74 0a je SHORT $LN19@Trans |
| |
| ; 5060 : _Mchar = _Meta_chr; |
| |
| 001bb 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 001be c7 40 4c 00 00 |
| 00 00 mov DWORD PTR [eax+76], 0 |
| $LN19@Trans: |
| |
| ; 5061 : break; |
| |
| 001c5 eb 2c jmp SHORT $LN1@Trans |
| $LN20@Trans: |
| |
| ; 5062 : } |
| ; 5063 : |
| ; 5064 : case _Meta_plus: |
| ; 5065 : case _Meta_query: |
| ; 5066 : if (!(_L_flags & _L_ext_rep)) |
| |
| 001c7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001ca 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 001cd 83 e2 01 and edx, 1 |
| 001d0 75 0a jne SHORT $LN21@Trans |
| |
| ; 5067 : _Mchar = _Meta_chr; |
| |
| 001d2 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 001d5 c7 40 4c 00 00 |
| 00 00 mov DWORD PTR [eax+76], 0 |
| $LN21@Trans: |
| |
| ; 5068 : break; |
| |
| 001dc eb 15 jmp SHORT $LN1@Trans |
| $LN22@Trans: |
| |
| ; 5069 : |
| ; 5070 : case _Meta_bar: |
| ; 5071 : if (!(_L_flags & _L_alt_pipe)) |
| |
| 001de 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001e1 8b 51 50 mov edx, DWORD PTR [ecx+80] |
| 001e4 83 e2 02 and edx, 2 |
| 001e7 75 0a jne SHORT $LN1@Trans |
| |
| ; 5072 : _Mchar = _Meta_chr; |
| |
| 001e9 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 001ec c7 40 4c 00 00 |
| 00 00 mov DWORD PTR [eax+76], 0 |
| $LN1@Trans: |
| |
| ; 5073 : break; |
| ; 5074 : } |
| ; 5075 : } |
| |
| 001f3 8b e5 mov esp, ebp |
| 001f5 5d pop ebp |
| 001f6 c3 ret 0 |
| 001f7 90 npad 1 |
| $LN28@Trans: |
| 001f8 00 00 00 00 DD $LN8@Trans |
| 001fc 00 00 00 00 DD $LN18@Trans |
| 00200 00 00 00 00 DD $LN10@Trans |
| 00204 00 00 00 00 DD $LN14@Trans |
| 00208 00 00 00 00 DD $LN20@Trans |
| 0020c 00 00 00 00 DD $LN6@Trans |
| 00210 00 00 00 00 DD $LN16@Trans |
| 00214 00 00 00 00 DD $LN12@Trans |
| 00218 00 00 00 00 DD $LN22@Trans |
| 0021c 00 00 00 00 DD $LN1@Trans |
| $LN27@Trans: |
| 00220 00 DB 0 |
| 00221 09 DB 9 |
| 00222 09 DB 9 |
| 00223 09 DB 9 |
| 00224 09 DB 9 |
| 00225 09 DB 9 |
| 00226 09 DB 9 |
| 00227 09 DB 9 |
| 00228 09 DB 9 |
| 00229 09 DB 9 |
| 0022a 09 DB 9 |
| 0022b 09 DB 9 |
| 0022c 09 DB 9 |
| 0022d 09 DB 9 |
| 0022e 09 DB 9 |
| 0022f 09 DB 9 |
| 00230 09 DB 9 |
| 00231 09 DB 9 |
| 00232 09 DB 9 |
| 00233 09 DB 9 |
| 00234 09 DB 9 |
| 00235 09 DB 9 |
| 00236 09 DB 9 |
| 00237 09 DB 9 |
| 00238 09 DB 9 |
| 00239 09 DB 9 |
| 0023a 01 DB 1 |
| 0023b 09 DB 9 |
| 0023c 09 DB 9 |
| 0023d 09 DB 9 |
| 0023e 02 DB 2 |
| 0023f 02 DB 2 |
| 00240 03 DB 3 |
| 00241 04 DB 4 |
| 00242 09 DB 9 |
| 00243 09 DB 9 |
| 00244 09 DB 9 |
| 00245 09 DB 9 |
| 00246 09 DB 9 |
| 00247 09 DB 9 |
| 00248 09 DB 9 |
| 00249 09 DB 9 |
| 0024a 09 DB 9 |
| 0024b 09 DB 9 |
| 0024c 09 DB 9 |
| 0024d 09 DB 9 |
| 0024e 09 DB 9 |
| 0024f 09 DB 9 |
| 00250 09 DB 9 |
| 00251 09 DB 9 |
| 00252 09 DB 9 |
| 00253 09 DB 9 |
| 00254 09 DB 9 |
| 00255 04 DB 4 |
| 00256 09 DB 9 |
| 00257 09 DB 9 |
| 00258 09 DB 9 |
| 00259 09 DB 9 |
| 0025a 09 DB 9 |
| 0025b 09 DB 9 |
| 0025c 09 DB 9 |
| 0025d 09 DB 9 |
| 0025e 09 DB 9 |
| 0025f 09 DB 9 |
| 00260 09 DB 9 |
| 00261 09 DB 9 |
| 00262 09 DB 9 |
| 00263 09 DB 9 |
| 00264 09 DB 9 |
| 00265 09 DB 9 |
| 00266 09 DB 9 |
| 00267 09 DB 9 |
| 00268 09 DB 9 |
| 00269 09 DB 9 |
| 0026a 09 DB 9 |
| 0026b 09 DB 9 |
| 0026c 09 DB 9 |
| 0026d 09 DB 9 |
| 0026e 09 DB 9 |
| 0026f 09 DB 9 |
| 00270 09 DB 9 |
| 00271 09 DB 9 |
| 00272 05 DB 5 |
| 00273 09 DB 9 |
| 00274 06 DB 6 |
| 00275 09 DB 9 |
| 00276 09 DB 9 |
| 00277 09 DB 9 |
| 00278 09 DB 9 |
| 00279 09 DB 9 |
| 0027a 09 DB 9 |
| 0027b 09 DB 9 |
| 0027c 09 DB 9 |
| 0027d 09 DB 9 |
| 0027e 09 DB 9 |
| 0027f 09 DB 9 |
| 00280 09 DB 9 |
| 00281 09 DB 9 |
| 00282 09 DB 9 |
| 00283 09 DB 9 |
| 00284 09 DB 9 |
| 00285 09 DB 9 |
| 00286 09 DB 9 |
| 00287 09 DB 9 |
| 00288 09 DB 9 |
| 00289 09 DB 9 |
| 0028a 09 DB 9 |
| 0028b 09 DB 9 |
| 0028c 09 DB 9 |
| 0028d 09 DB 9 |
| 0028e 09 DB 9 |
| 0028f 09 DB 9 |
| 00290 09 DB 9 |
| 00291 07 DB 7 |
| 00292 08 DB 8 |
| 00293 07 DB 7 |
| ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Trans |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ |
| _TEXT SEGMENT |
| tv82 = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| __Ch0$ = -4 ; size = 4 |
| ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Is_esc, COMDAT |
| ; _this$ = ecx |
| |
| ; 4985 : { // assumes _Pat != _End |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4986 : _FwdIt _Ch0 = _Pat; |
| |
| 00009 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 08 mov ecx, DWORD PTR [eax] |
| 0000e 89 4d fc mov DWORD PTR __Ch0$[ebp], ecx |
| |
| ; 4987 : return (++_Ch0 != _End |
| |
| 00011 8b 55 fc mov edx, DWORD PTR __Ch0$[ebp] |
| 00014 83 c2 01 add edx, 1 |
| 00017 89 55 fc mov DWORD PTR __Ch0$[ebp], edx |
| 0001a 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0001d 8b 4d fc mov ecx, DWORD PTR __Ch0$[ebp] |
| 00020 3b 48 08 cmp ecx, DWORD PTR [eax+8] |
| 00023 74 4b je SHORT $LN6@Is_esc |
| 00025 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00028 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 0002b 83 e0 08 and eax, 8 |
| 0002e 75 16 jne SHORT $LN4@Is_esc |
| 00030 8b 4d fc mov ecx, DWORD PTR __Ch0$[ebp] |
| 00033 0f be 11 movsx edx, BYTE PTR [ecx] |
| 00036 83 fa 28 cmp edx, 40 ; 00000028H |
| 00039 74 2c je SHORT $LN5@Is_esc |
| 0003b 8b 45 fc mov eax, DWORD PTR __Ch0$[ebp] |
| 0003e 0f be 08 movsx ecx, BYTE PTR [eax] |
| 00041 83 f9 29 cmp ecx, 41 ; 00000029H |
| 00044 74 21 je SHORT $LN5@Is_esc |
| $LN4@Is_esc: |
| 00046 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00049 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 0004c 83 e0 10 and eax, 16 ; 00000010H |
| 0004f 75 1f jne SHORT $LN6@Is_esc |
| 00051 8b 4d fc mov ecx, DWORD PTR __Ch0$[ebp] |
| 00054 0f be 11 movsx edx, BYTE PTR [ecx] |
| 00057 83 fa 7b cmp edx, 123 ; 0000007bH |
| 0005a 74 0b je SHORT $LN5@Is_esc |
| 0005c 8b 45 fc mov eax, DWORD PTR __Ch0$[ebp] |
| 0005f 0f be 08 movsx ecx, BYTE PTR [eax] |
| 00062 83 f9 7d cmp ecx, 125 ; 0000007dH |
| 00065 75 09 jne SHORT $LN6@Is_esc |
| $LN5@Is_esc: |
| 00067 c7 45 f4 01 00 |
| 00 00 mov DWORD PTR tv82[ebp], 1 |
| 0006e eb 07 jmp SHORT $LN8@Is_esc |
| $LN6@Is_esc: |
| 00070 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv82[ebp], 0 |
| $LN8@Is_esc: |
| 00077 8a 45 f4 mov al, BYTE PTR tv82[ebp] |
| |
| ; 4988 : && ((!(_L_flags & _L_nex_grp) |
| ; 4989 : && (*_Ch0 == _Meta_lpar || *_Ch0 == _Meta_rpar)) |
| ; 4990 : || (!(_L_flags & _L_nex_rep) |
| ; 4991 : && (*_Ch0 == _Meta_lbr || *_Ch0 == _Meta_rbr)))); |
| ; 4992 : } |
| |
| 0007a 8b e5 mov esp, ebp |
| 0007c 5d pop ebp |
| 0007d c3 ret 0 |
| ?_Is_esc@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@ABE_NXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Is_esc |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Code$ = 8 ; size = 4 |
| ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error, COMDAT |
| ; _this$ = ecx |
| |
| ; 4977 : { // handle error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 4978 : _Xregex_error(_Code); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Code$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z ; std::_Xregex_error |
| $LN2@Error: |
| |
| ; 4979 : } |
| |
| 00010 8b e5 mov esp, ebp |
| 00012 5d pop ebp |
| 00013 c2 04 00 ret 4 |
| ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Mark_count@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mark_count@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QBEIXZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Mark_count, COMDAT |
| ; _this$ = ecx |
| |
| ; 2231 : { // return number of capture groups |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2232 : return (_Grp_idx + 1); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 0c mov eax, DWORD PTR [eax+12] |
| 0000d 83 c0 01 add eax, 1 |
| |
| ; 2233 : } |
| |
| 00010 8b e5 mov esp, ebp |
| 00012 5d pop ebp |
| 00013 c3 ret 0 |
| ?_Mark_count@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QBEIXZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Mark_count |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| _TEXT SEGMENT |
| __Pos1$2 = -28 ; size = 4 |
| __Res$ = -24 ; size = 4 |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| ?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Compile, COMDAT |
| ; _this$ = ecx |
| |
| ; 5795 : { // compile regular expression |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 83 ec 0c sub esp, 12 ; 0000000cH |
| 00015 53 push ebx |
| 00016 56 push esi |
| 00017 57 push edi |
| 00018 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001d 33 c5 xor eax, ebp |
| 0001f 50 push eax |
| 00020 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00023 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00029 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002c 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5796 : _Root_node *_Res = 0; |
| |
| 0002f c7 45 e8 00 00 |
| 00 00 mov DWORD PTR __Res$[ebp], 0 |
| |
| ; 5797 : _TRY_BEGIN |
| |
| 00036 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 5798 : _Node_base *_Pos1 = _Nfa._Begin_capture_group(0); |
| |
| 0003d 6a 00 push 0 |
| 0003f 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00042 83 c1 24 add ecx, 36 ; 00000024H |
| 00045 e8 00 00 00 00 call ?_Begin_capture_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Node_base@2@I@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Begin_capture_group |
| 0004a 89 45 e4 mov DWORD PTR __Pos1$2[ebp], eax |
| |
| ; 5799 : _Disjunction(); |
| |
| 0004d 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00050 e8 00 00 00 00 call ?_Disjunction@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Disjunction |
| |
| ; 5800 : if (_Pat != _End) |
| |
| 00055 8b 45 ec mov eax, DWORD PTR _this$[ebp] |
| 00058 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0005b 8b 10 mov edx, DWORD PTR [eax] |
| 0005d 3b 51 08 cmp edx, DWORD PTR [ecx+8] |
| 00060 74 0a je SHORT $LN3@Compile |
| |
| ; 5801 : _Error(regex_constants::error_syntax); |
| |
| 00062 6a 0e push 14 ; 0000000eH |
| 00064 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00067 e8 00 00 00 00 call ?_Error@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXW4error_type@regex_constants@2@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Error |
| $LN3@Compile: |
| |
| ; 5802 : _Nfa._End_group(_Pos1); |
| |
| 0006c 8b 45 e4 mov eax, DWORD PTR __Pos1$2[ebp] |
| 0006f 50 push eax |
| 00070 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00073 83 c1 24 add ecx, 36 ; 00000024H |
| 00076 e8 00 00 00 00 call ?_End_group@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXPAV_Node_base@2@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_group |
| |
| ; 5803 : _Res = _Nfa._End_pattern(); |
| |
| 0007b 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0007e 83 c1 24 add ecx, 36 ; 00000024H |
| 00081 e8 00 00 00 00 call ?_End_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_End_pattern |
| 00086 89 45 e8 mov DWORD PTR __Res$[ebp], eax |
| |
| ; 5804 : _Res->_Fl = _Flags; |
| |
| 00089 8b 4d e8 mov ecx, DWORD PTR __Res$[ebp] |
| 0008c 8b 55 ec mov edx, DWORD PTR _this$[ebp] |
| 0008f 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 00092 89 41 14 mov DWORD PTR [ecx+20], eax |
| |
| ; 5805 : _Res->_Marks = _Mark_count(); |
| |
| 00095 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00098 e8 00 00 00 00 call ?_Mark_count@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QBEIXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Mark_count |
| 0009d 8b 4d e8 mov ecx, DWORD PTR __Res$[ebp] |
| 000a0 89 41 1c mov DWORD PTR [ecx+28], eax |
| |
| ; 5806 : _Calculate_loop_simplicity(_Res, 0, 0); |
| |
| 000a3 6a 00 push 0 |
| 000a5 6a 00 push 0 |
| 000a7 8b 55 e8 mov edx, DWORD PTR __Res$[ebp] |
| 000aa 52 push edx |
| 000ab e8 00 00 00 00 call ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z ; std::_Calculate_loop_simplicity |
| 000b0 83 c4 0c add esp, 12 ; 0000000cH |
| 000b3 eb 1a jmp SHORT $LN5@Compile |
| __catch$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$0: |
| |
| ; 5807 : _CATCH_ALL |
| ; 5808 : _Nfa._Discard_pattern(); |
| |
| 000b5 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000b8 83 c1 24 add ecx, 36 ; 00000024H |
| 000bb e8 00 00 00 00 call ?_Discard_pattern@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Discard_pattern |
| |
| ; 5809 : _RERAISE; |
| |
| 000c0 6a 00 push 0 |
| 000c2 6a 00 push 0 |
| 000c4 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 5810 : _CATCH_END |
| |
| 000c9 b8 00 00 00 00 mov eax, $LN8@Compile |
| 000ce c3 ret 0 |
| $LN5@Compile: |
| 000cf c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 000d6 eb 07 jmp SHORT __tryend$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$1 |
| $LN8@Compile: |
| 000d8 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| __tryend$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ$1: |
| |
| ; 5811 : return (_Res); |
| |
| 000df 8b 45 e8 mov eax, DWORD PTR __Res$[ebp] |
| $LN4@Compile: |
| |
| ; 5812 : } |
| |
| 000e2 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 000e5 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 000ec 59 pop ecx |
| 000ed 5f pop edi |
| 000ee 5e pop esi |
| 000ef 5b pop ebx |
| 000f0 8b e5 mov esp, ebp |
| 000f2 5d pop ebp |
| 000f3 c3 ret 0 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e0 mov ecx, DWORD PTR [edx-32] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Compile |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@PBD1W4syntax_option_type@regex_constants@1@@Z |
| _TEXT SEGMENT |
| tv157 = -32 ; size = 4 |
| tv156 = -28 ; size = 4 |
| tv155 = -24 ; size = 4 |
| tv154 = -20 ; size = 4 |
| tv153 = -16 ; size = 4 |
| tv152 = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __Tr$ = 8 ; size = 4 |
| __Pfirst$ = 12 ; size = 4 |
| __Plast$ = 16 ; size = 4 |
| __Fx$ = 20 ; size = 4 |
| ??0?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@PBD1W4syntax_option_type@regex_constants@1@@Z PROC ; std::_Parser<char const *,char,std::regex_traits<char> >::_Parser<char const *,char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 5824 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 20 sub esp, 32 ; 00000020H |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 5821 : : _Pat(_Pfirst), _Begin(_Pfirst), _End(_Plast), |
| |
| 00009 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 4d 0c mov ecx, DWORD PTR __Pfirst$[ebp] |
| 0000f 89 08 mov DWORD PTR [eax], ecx |
| 00011 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00014 8b 45 0c mov eax, DWORD PTR __Pfirst$[ebp] |
| 00017 89 42 04 mov DWORD PTR [edx+4], eax |
| 0001a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0001d 8b 55 10 mov edx, DWORD PTR __Plast$[ebp] |
| 00020 89 51 08 mov DWORD PTR [ecx+8], edx |
| |
| ; 5822 : _Grp_idx(0), _Disj_count(0), _Finished_grps(0), |
| |
| 00023 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00026 c7 40 0c 00 00 |
| 00 00 mov DWORD PTR [eax+12], 0 |
| 0002d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00030 c7 41 10 00 00 |
| 00 00 mov DWORD PTR [ecx+16], 0 |
| 00037 8d 4d ff lea ecx, DWORD PTR $T1[ebp] |
| 0003a e8 00 00 00 00 call ??0?$allocator@_N@std@@QAE@XZ ; std::allocator<bool>::allocator<bool> |
| 0003f 50 push eax |
| 00040 6a 00 push 0 |
| 00042 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00045 83 c1 14 add ecx, 20 ; 00000014H |
| 00048 e8 00 00 00 00 call ??0?$vector@_NV?$allocator@_N@std@@@std@@QAE@IABV?$allocator@_N@1@@Z ; std::vector<bool,std::allocator<bool> >::vector<bool,std::allocator<bool> > |
| |
| ; 5823 : _Nfa(_Tr, _Fx), _Traits(_Tr), _Flags(_Fx) |
| |
| 0004d 8b 55 14 mov edx, DWORD PTR __Fx$[ebp] |
| 00050 52 push edx |
| 00051 8b 45 08 mov eax, DWORD PTR __Tr$[ebp] |
| 00054 50 push eax |
| 00055 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00058 83 c1 24 add ecx, 36 ; 00000024H |
| 0005b e8 00 00 00 00 call ??0?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@W4syntax_option_type@regex_constants@1@@Z ; std::_Builder<char const *,char,std::regex_traits<char> >::_Builder<char const *,char,std::regex_traits<char> > |
| 00060 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00063 8b 55 08 mov edx, DWORD PTR __Tr$[ebp] |
| 00066 89 51 3c mov DWORD PTR [ecx+60], edx |
| 00069 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0006c 8b 4d 14 mov ecx, DWORD PTR __Fx$[ebp] |
| 0006f 89 48 40 mov DWORD PTR [eax+64], ecx |
| |
| ; 5825 : using namespace regex_constants; |
| ; 5826 : _L_flags = (_Flags & _Gmask) == ECMAScript |
| |
| 00072 6a 3f push 63 ; 0000003fH |
| 00074 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00077 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 0007a 50 push eax |
| 0007b e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00080 83 c4 08 add esp, 8 |
| 00083 83 f8 01 cmp eax, 1 |
| 00086 0f 84 de 00 00 |
| 00 je $LN4@Parser |
| 0008c 6a 3f push 63 ; 0000003fH |
| 0008e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00091 8b 51 40 mov edx, DWORD PTR [ecx+64] |
| 00094 52 push edx |
| 00095 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 0009a 83 c4 08 add esp, 8 |
| 0009d 85 c0 test eax, eax |
| 0009f 0f 84 c5 00 00 |
| 00 je $LN4@Parser |
| 000a5 6a 3f push 63 ; 0000003fH |
| 000a7 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 000aa 8b 48 40 mov ecx, DWORD PTR [eax+64] |
| 000ad 51 push ecx |
| 000ae e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000b3 83 c4 08 add esp, 8 |
| 000b6 83 f8 02 cmp eax, 2 |
| 000b9 75 0c jne SHORT $LN13@Parser |
| 000bb c7 45 e4 00 03 |
| 00 6e mov DWORD PTR tv156[ebp], 1845494528 ; 6e000300H |
| 000c2 e9 9b 00 00 00 jmp $LN14@Parser |
| $LN13@Parser: |
| 000c7 6a 3f push 63 ; 0000003fH |
| 000c9 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 000cc 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 000cf 50 push eax |
| 000d0 e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000d5 83 c4 08 add esp, 8 |
| 000d8 83 f8 04 cmp eax, 4 |
| 000db 75 09 jne SHORT $LN11@Parser |
| 000dd c7 45 e8 1b 00 |
| 80 70 mov DWORD PTR tv155[ebp], 1887436827 ; 7080001bH |
| 000e4 eb 76 jmp SHORT $LN12@Parser |
| $LN11@Parser: |
| 000e6 6a 3f push 63 ; 0000003fH |
| 000e8 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 000eb 8b 51 40 mov edx, DWORD PTR [ecx+64] |
| 000ee 52 push edx |
| 000ef e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 000f4 83 c4 08 add esp, 8 |
| 000f7 83 f8 08 cmp eax, 8 |
| 000fa 75 09 jne SHORT $LN9@Parser |
| 000fc c7 45 ec 1b a0 |
| 81 71 mov DWORD PTR tv154[ebp], 1904320539 ; 7181a01bH |
| 00103 eb 51 jmp SHORT $LN10@Parser |
| $LN9@Parser: |
| 00105 6a 3f push 63 ; 0000003fH |
| 00107 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0010a 8b 48 40 mov ecx, DWORD PTR [eax+64] |
| 0010d 51 push ecx |
| 0010e e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00113 83 c4 08 add esp, 8 |
| 00116 83 f8 10 cmp eax, 16 ; 00000010H |
| 00119 75 09 jne SHORT $LN7@Parser |
| 0011b c7 45 f0 04 03 |
| 08 6e mov DWORD PTR tv153[ebp], 1846018820 ; 6e080304H |
| 00122 eb 2c jmp SHORT $LN8@Parser |
| $LN7@Parser: |
| 00124 6a 3f push 63 ; 0000003fH |
| 00126 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 00129 8b 42 40 mov eax, DWORD PTR [edx+64] |
| 0012c 50 push eax |
| 0012d e8 00 00 00 00 call ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator& |
| 00132 83 c4 08 add esp, 8 |
| 00135 83 f8 20 cmp eax, 32 ; 00000020H |
| 00138 75 09 jne SHORT $LN5@Parser |
| 0013a c7 45 f4 1f 00 |
| 88 70 mov DWORD PTR tv152[ebp], 1887961119 ; 7088001fH |
| 00141 eb 07 jmp SHORT $LN6@Parser |
| $LN5@Parser: |
| 00143 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv152[ebp], 0 |
| $LN6@Parser: |
| 0014a 8b 4d f4 mov ecx, DWORD PTR tv152[ebp] |
| 0014d 89 4d f0 mov DWORD PTR tv153[ebp], ecx |
| $LN8@Parser: |
| 00150 8b 55 f0 mov edx, DWORD PTR tv153[ebp] |
| 00153 89 55 ec mov DWORD PTR tv154[ebp], edx |
| $LN10@Parser: |
| 00156 8b 45 ec mov eax, DWORD PTR tv154[ebp] |
| 00159 89 45 e8 mov DWORD PTR tv155[ebp], eax |
| $LN12@Parser: |
| 0015c 8b 4d e8 mov ecx, DWORD PTR tv155[ebp] |
| 0015f 89 4d e4 mov DWORD PTR tv156[ebp], ecx |
| $LN14@Parser: |
| 00162 8b 55 e4 mov edx, DWORD PTR tv156[ebp] |
| 00165 89 55 e0 mov DWORD PTR tv157[ebp], edx |
| 00168 eb 07 jmp SHORT $LN15@Parser |
| $LN4@Parser: |
| 0016a c7 45 e0 fb 5d |
| 77 08 mov DWORD PTR tv157[ebp], 142040571 ; 08775dfbH |
| $LN15@Parser: |
| 00171 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00174 8b 4d e0 mov ecx, DWORD PTR tv157[ebp] |
| 00177 89 48 50 mov DWORD PTR [eax+80], ecx |
| |
| ; 5827 : || (_Flags & _Gmask) == 0 ? _ECMA_flags |
| ; 5828 : : (_Flags & _Gmask) == basic ? _Basic_flags |
| ; 5829 : : (_Flags & _Gmask) == extended ? _Extended_flags |
| ; 5830 : : (_Flags & _Gmask) == awk ? _Awk_flags |
| ; 5831 : : (_Flags & _Gmask) == grep ? _Grep_flags |
| ; 5832 : : (_Flags & _Gmask) == egrep ? _Egrep_flags |
| ; 5833 : : 0; |
| ; 5834 : if (_L_flags & _L_mtch_long) |
| |
| 0017a 8b 55 f8 mov edx, DWORD PTR _this$[ebp] |
| 0017d 8b 42 50 mov eax, DWORD PTR [edx+80] |
| 00180 25 00 00 00 40 and eax, 1073741824 ; 40000000H |
| 00185 74 0b je SHORT $LN2@Parser |
| |
| ; 5835 : _Nfa._Setlong(); |
| |
| 00187 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0018a 83 c1 24 add ecx, 36 ; 00000024H |
| 0018d e8 00 00 00 00 call ?_Setlong@?$_Builder@PBDDV?$regex_traits@D@std@@@std@@QAEXXZ ; std::_Builder<char const *,char,std::regex_traits<char> >::_Setlong |
| $LN2@Parser: |
| |
| ; 5836 : _Trans(); |
| |
| 00192 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00195 e8 00 00 00 00 call ?_Trans@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@AAEXXZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Trans |
| |
| ; 5837 : } |
| |
| 0019a 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0019d 8b e5 mov esp, ebp |
| 0019f 5d pop ebp |
| 001a0 c2 10 00 ret 16 ; 00000010H |
| ??0?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@PBD1W4syntax_option_type@regex_constants@1@@Z ENDP ; std::_Parser<char const *,char,std::regex_traits<char> >::_Parser<char const *,char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z PROC ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator-, COMDAT |
| ; _this$ = ecx |
| |
| ; 390 : { // return difference of iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 391 : return (*(_Mybase *)this - _Right); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| |
| ; 392 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z ENDP ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ PROC ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator*, COMDAT |
| ; _this$ = ecx |
| |
| ; 331 : { // return designated object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 332 : return ((reference)**(_Mybase *)this); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| |
| ; 333 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ENDP ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pstring$ = 12 ; size = 4 |
| ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z PROC ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::_String_iterator<std::_String_val<std::_Simple_types<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 314 : { // construct with pointer _Parg |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 313 : : _Mybase(_Parg, _Pstring) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Pstring$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Parg$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base0@1@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_String_const_iterator<std::_String_val<std::_Simple_types<char> > > |
| |
| ; 315 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 08 00 ret 8 |
| ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ENDP ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::_String_iterator<std::_String_val<std::_Simple_types<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z |
| _TEXT SEGMENT |
| tv69 = -4 ; size = 4 |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z PROC ; std::operator!=<std::allocator<char>,std::allocator<char> >, COMDAT |
| |
| ; 923 : { // test for allocator inequality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 924 : return (!(_Left == _Right)); |
| |
| 00004 8b 45 0c mov eax, DWORD PTR __Right$[ebp] |
| 00007 50 push eax |
| 00008 8b 4d 08 mov ecx, DWORD PTR __Left$[ebp] |
| 0000b 51 push ecx |
| 0000c e8 00 00 00 00 call ??$?8V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::operator==<std::allocator<char>,std::allocator<char> > |
| 00011 83 c4 08 add esp, 8 |
| 00014 0f b6 d0 movzx edx, al |
| 00017 85 d2 test edx, edx |
| 00019 75 09 jne SHORT $LN3@operator |
| 0001b c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00022 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 00024 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@operator: |
| 0002b 8a 45 fc mov al, BYTE PTR tv69[ebp] |
| |
| ; 925 : } |
| |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c3 ret 0 |
| ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ENDP ; std::operator!=<std::allocator<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$collate@D@std@@MAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$collate@D@std@@MAEPAXI@Z PROC ; std::collate<char>::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$collate@D@std@@MAE@XZ ; std::collate<char>::~collate<char> |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 10 push 16 ; 00000010H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$collate@D@std@@MAEPAXI@Z ENDP ; std::collate<char>::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?do_hash@?$collate@D@std@@MBEJPBD0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?do_hash@?$collate@D@std@@MBEJPBD0@Z PROC ; std::collate<char>::do_hash, COMDAT |
| ; _this$ = ecx |
| |
| ; 122 : { // compute hash code for [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 123 : _DEBUG_RANGE(_First, _Last); |
| ; 124 : return ((long)_Hash_seq((const unsigned char *)_First, |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 0000a 2b 45 08 sub eax, DWORD PTR __First$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00011 51 push ecx |
| 00012 e8 00 00 00 00 call ?_Hash_seq@std@@YAIPBEI@Z ; std::_Hash_seq |
| 00017 83 c4 08 add esp, 8 |
| |
| ; 125 : (_Last - _First) * sizeof (_Elem))); |
| ; 126 : } |
| |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 08 00 ret 8 |
| ?do_hash@?$collate@D@std@@MBEJPBD0@Z ENDP ; std::collate<char>::do_hash |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z |
| _TEXT SEGMENT |
| $T1 = -44 ; size = 4 |
| $T2 = -40 ; size = 4 |
| _this$ = -36 ; size = 4 |
| __Count$ = -32 ; size = 4 |
| __Str$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 4 |
| __Last$ = 16 ; size = 4 |
| ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z PROC ; std::collate<char>::do_transform, COMDAT |
| ; _this$ = ecx |
| |
| ; 103 : { // transform [_First, _Last) to key string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 2c sub esp, 44 ; 0000002cH |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 56 push esi |
| 00011 89 4d dc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 104 : _DEBUG_RANGE(_First, _Last); |
| ; 105 : size_t _Count; |
| ; 106 : string_type _Str; |
| |
| 00014 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 107 : |
| ; 108 : for (_Count = _Last - _First; 0 < _Count; ) |
| |
| 0001c 8b 45 10 mov eax, DWORD PTR __Last$[ebp] |
| 0001f 2b 45 0c sub eax, DWORD PTR __First$[ebp] |
| 00022 89 45 e0 mov DWORD PTR __Count$[ebp], eax |
| $LN4@do_transfo: |
| 00025 83 7d e0 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00029 76 6b jbe SHORT $LN3@do_transfo |
| |
| ; 109 : { // grow string if locale-specific strxfrm fails |
| ; 110 : _Str.resize(_Count); |
| |
| 0002b 8b 4d e0 mov ecx, DWORD PTR __Count$[ebp] |
| 0002e 51 push ecx |
| 0002f 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 00032 e8 00 00 00 00 call ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| |
| ; 111 : if ((_Count = _LStrxfrm(&*_Str.begin(), |
| ; 112 : &*_Str.begin() + _Str.size(), |
| ; 113 : _First, _Last, &_Coll)) <= _Str.size()) |
| |
| 00037 8b 55 dc mov edx, DWORD PTR _this$[ebp] |
| 0003a 83 c2 08 add edx, 8 |
| 0003d 52 push edx |
| 0003e 8b 45 10 mov eax, DWORD PTR __Last$[ebp] |
| 00041 50 push eax |
| 00042 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 00045 51 push ecx |
| 00046 8d 55 d8 lea edx, DWORD PTR $T2[ebp] |
| 00049 52 push edx |
| 0004a 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 0004d e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00052 8b c8 mov ecx, eax |
| 00054 e8 00 00 00 00 call ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| 00059 8b f0 mov esi, eax |
| 0005b 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 0005e e8 00 00 00 00 call ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size |
| 00063 03 f0 add esi, eax |
| 00065 56 push esi |
| 00066 8d 45 d4 lea eax, DWORD PTR $T1[ebp] |
| 00069 50 push eax |
| 0006a 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 0006d e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00072 8b c8 mov ecx, eax |
| 00074 e8 00 00 00 00 call ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| 00079 50 push eax |
| 0007a e8 00 00 00 00 call ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z ; std::_LStrxfrm<char> |
| 0007f 83 c4 14 add esp, 20 ; 00000014H |
| 00082 89 45 e0 mov DWORD PTR __Count$[ebp], eax |
| 00085 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 00088 e8 00 00 00 00 call ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size |
| 0008d 39 45 e0 cmp DWORD PTR __Count$[ebp], eax |
| 00090 77 02 ja SHORT $LN5@do_transfo |
| |
| ; 114 : break; |
| |
| 00092 eb 02 jmp SHORT $LN3@do_transfo |
| $LN5@do_transfo: |
| |
| ; 115 : } |
| |
| 00094 eb 8f jmp SHORT $LN4@do_transfo |
| $LN3@do_transfo: |
| |
| ; 116 : _Str.resize(_Count); |
| |
| 00096 8b 4d e0 mov ecx, DWORD PTR __Count$[ebp] |
| 00099 51 push ecx |
| 0009a 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 0009d e8 00 00 00 00 call ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| |
| ; 117 : return (_Str); |
| |
| 000a2 8d 55 e4 lea edx, DWORD PTR __Str$[ebp] |
| 000a5 52 push edx |
| 000a6 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 000a9 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000ae 8d 4d e4 lea ecx, DWORD PTR __Str$[ebp] |
| 000b1 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 000b6 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 118 : } |
| |
| 000b9 5e pop esi |
| 000ba 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 000bd 33 cd xor ecx, ebp |
| 000bf e8 00 00 00 00 call @__security_check_cookie@4 |
| 000c4 8b e5 mov esp, ebp |
| 000c6 5d pop ebp |
| 000c7 c2 0c 00 ret 12 ; 0000000cH |
| ?do_transform@?$collate@D@std@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ENDP ; std::collate<char>::do_transform |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?do_compare@?$collate@D@std@@MBEHPBD000@Z |
| _TEXT SEGMENT |
| _this$ = -16 ; size = 4 |
| tv74 = -12 ; size = 4 |
| tv73 = -8 ; size = 4 |
| __Ans$ = -4 ; size = 4 |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| ?do_compare@?$collate@D@std@@MBEHPBD000@Z PROC ; std::collate<char>::do_compare, COMDAT |
| ; _this$ = ecx |
| |
| ; 94 : { // compare [_First1, _Last1) to [_First2, _Last2) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d f0 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 95 : _DEBUG_RANGE(_First1, _Last1); |
| ; 96 : _DEBUG_RANGE(_First2, _Last2); |
| ; 97 : int _Ans = _LStrcoll(_First1, _Last1, _First2, _Last2, &_Coll); |
| |
| 00009 8b 45 f0 mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 c0 08 add eax, 8 |
| 0000f 50 push eax |
| 00010 8b 4d 14 mov ecx, DWORD PTR __Last2$[ebp] |
| 00013 51 push ecx |
| 00014 8b 55 10 mov edx, DWORD PTR __First2$[ebp] |
| 00017 52 push edx |
| 00018 8b 45 0c mov eax, DWORD PTR __Last1$[ebp] |
| 0001b 50 push eax |
| 0001c 8b 4d 08 mov ecx, DWORD PTR __First1$[ebp] |
| 0001f 51 push ecx |
| 00020 e8 00 00 00 00 call ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z ; std::_LStrcoll<char> |
| 00025 83 c4 14 add esp, 20 ; 00000014H |
| 00028 89 45 fc mov DWORD PTR __Ans$[ebp], eax |
| |
| ; 98 : return (_Ans < 0 ? -1 : _Ans == 0 ? 0 : +1); |
| |
| 0002b 83 7d fc 00 cmp DWORD PTR __Ans$[ebp], 0 |
| 0002f 7d 09 jge SHORT $LN5@do_compare |
| 00031 c7 45 f4 ff ff |
| ff ff mov DWORD PTR tv74[ebp], -1 |
| 00038 eb 1c jmp SHORT $LN6@do_compare |
| $LN5@do_compare: |
| 0003a 83 7d fc 00 cmp DWORD PTR __Ans$[ebp], 0 |
| 0003e 75 09 jne SHORT $LN3@do_compare |
| 00040 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| 00047 eb 07 jmp SHORT $LN4@do_compare |
| $LN3@do_compare: |
| 00049 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv73[ebp], 1 |
| $LN4@do_compare: |
| 00050 8b 55 f8 mov edx, DWORD PTR tv73[ebp] |
| 00053 89 55 f4 mov DWORD PTR tv74[ebp], edx |
| $LN6@do_compare: |
| 00056 8b 45 f4 mov eax, DWORD PTR tv74[ebp] |
| |
| ; 99 : } |
| |
| 00059 8b e5 mov esp, ebp |
| 0005b 5d pop ebp |
| 0005c c2 10 00 ret 16 ; 00000010H |
| ?do_compare@?$collate@D@std@@MBEHPBD000@Z ENDP ; std::collate<char>::do_compare |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| __Lobj$ = 8 ; size = 4 |
| ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z PROC ; std::collate<char>::_Init, COMDAT |
| ; _this$ = ecx |
| |
| ; 88 : { // initialize from _Lobj |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 89 : _Coll = _Lobj._Getcoll(); |
| |
| 00009 8d 45 f4 lea eax, DWORD PTR $T1[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 08 mov ecx, DWORD PTR __Lobj$[ebp] |
| 00010 e8 00 00 00 00 call ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ ; std::_Locinfo::_Getcoll |
| 00015 8b 08 mov ecx, DWORD PTR [eax] |
| 00017 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001d 89 48 08 mov DWORD PTR [eax+8], ecx |
| 00020 89 50 0c mov DWORD PTR [eax+12], edx |
| |
| ; 90 : } |
| |
| 00023 8b e5 mov esp, ebp |
| 00025 5d pop ebp |
| 00026 c2 04 00 ret 4 |
| ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z ENDP ; std::collate<char>::_Init |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ??1?$collate@D@std@@MAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$collate@D@std@@MAE@XZ PROC ; std::collate<char>::~collate<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 74 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7?$collate@D@std@@6B@ |
| |
| ; 75 : _CSTD free(_Coll._LocaleName); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00016 52 push edx |
| 00017 e8 00 00 00 00 call _free |
| 0001c 83 c4 04 add esp, 4 |
| |
| ; 76 : } |
| |
| 0001f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00022 e8 00 00 00 00 call ??1facet@locale@std@@MAE@XZ ; std::locale::facet::~facet |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ??1?$collate@D@std@@MAE@XZ ENDP ; std::collate<char>::~collate<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z |
| _TEXT SEGMENT |
| $T1 = -92 ; size = 52 |
| tv91 = -40 ; size = 4 |
| $T2 = -36 ; size = 4 |
| $T3 = -32 ; size = 4 |
| $T4 = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| __Ppf$ = 8 ; size = 4 |
| __Ploc$ = 12 ; size = 4 |
| ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z PROC ; std::collate<char>::_Getcat, COMDAT |
| |
| ; 65 : { // return locale category mask and construct standard facet |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 5c sub esp, 92 ; 0000005cH |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 c7 45 e0 00 00 |
| 00 00 mov DWORD PTR $T3[ebp], 0 |
| |
| ; 66 : if (_Ppf != 0 && *_Ppf == 0) |
| |
| 00017 83 7d 08 00 cmp DWORD PTR __Ppf$[ebp], 0 |
| 0001b 0f 84 86 00 00 |
| 00 je $LN2@Getcat |
| 00021 8b 45 08 mov eax, DWORD PTR __Ppf$[ebp] |
| 00024 83 38 00 cmp DWORD PTR [eax], 0 |
| 00027 75 7e jne SHORT $LN2@Getcat |
| |
| ; 67 : *_Ppf = new collate<_Elem>( |
| |
| 00029 6a 10 push 16 ; 00000010H |
| 0002b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00030 83 c4 04 add esp, 4 |
| 00033 89 45 dc mov DWORD PTR $T2[ebp], eax |
| 00036 83 7d dc 00 cmp DWORD PTR $T2[ebp], 0 |
| 0003a 74 34 je SHORT $LN4@Getcat |
| 0003c 6a 00 push 0 |
| 0003e 8d 4d e4 lea ecx, DWORD PTR $T4[ebp] |
| 00041 51 push ecx |
| 00042 8b 4d 0c mov ecx, DWORD PTR __Ploc$[ebp] |
| 00045 e8 00 00 00 00 call ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ; std::locale::name |
| 0004a 83 4d e0 01 or DWORD PTR $T3[ebp], 1 |
| 0004e 8b c8 mov ecx, eax |
| 00050 e8 00 00 00 00 call ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str |
| 00055 50 push eax |
| 00056 8d 4d a4 lea ecx, DWORD PTR $T1[ebp] |
| 00059 e8 00 00 00 00 call ??0_Locinfo@std@@QAE@PBD@Z ; std::_Locinfo::_Locinfo |
| 0005e 83 4d e0 02 or DWORD PTR $T3[ebp], 2 |
| 00062 50 push eax |
| 00063 8b 4d dc mov ecx, DWORD PTR $T2[ebp] |
| 00066 e8 00 00 00 00 call ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z ; std::collate<char>::collate<char> |
| 0006b 89 45 d8 mov DWORD PTR tv91[ebp], eax |
| 0006e eb 07 jmp SHORT $LN5@Getcat |
| $LN4@Getcat: |
| 00070 c7 45 d8 00 00 |
| 00 00 mov DWORD PTR tv91[ebp], 0 |
| $LN5@Getcat: |
| 00077 8b 55 08 mov edx, DWORD PTR __Ppf$[ebp] |
| 0007a 8b 45 d8 mov eax, DWORD PTR tv91[ebp] |
| 0007d 89 02 mov DWORD PTR [edx], eax |
| 0007f 8b 4d e0 mov ecx, DWORD PTR $T3[ebp] |
| 00082 83 e1 02 and ecx, 2 |
| 00085 74 0c je SHORT $LN6@Getcat |
| 00087 83 65 e0 fd and DWORD PTR $T3[ebp], -3 ; fffffffdH |
| 0008b 8d 4d a4 lea ecx, DWORD PTR $T1[ebp] |
| 0008e e8 00 00 00 00 call ??1_Locinfo@std@@QAE@XZ ; std::_Locinfo::~_Locinfo |
| $LN6@Getcat: |
| 00093 8b 55 e0 mov edx, DWORD PTR $T3[ebp] |
| 00096 83 e2 01 and edx, 1 |
| 00099 74 0c je SHORT $LN2@Getcat |
| 0009b 83 65 e0 fe and DWORD PTR $T3[ebp], -2 ; fffffffeH |
| 0009f 8d 4d e4 lea ecx, DWORD PTR $T4[ebp] |
| 000a2 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| $LN2@Getcat: |
| |
| ; 68 : _Locinfo(_Ploc->name().c_str())); |
| ; 69 : return (_X_COLLATE); |
| |
| 000a7 b8 01 00 00 00 mov eax, 1 |
| |
| ; 70 : } |
| |
| 000ac 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 000af 33 cd xor ecx, ebp |
| 000b1 e8 00 00 00 00 call @__security_check_cookie@4 |
| 000b6 8b e5 mov esp, ebp |
| 000b8 5d pop ebp |
| 000b9 c3 ret 0 |
| ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ENDP ; std::collate<char>::_Getcat |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Lobj$ = 8 ; size = 4 |
| __Refs$ = 12 ; size = 4 |
| ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z PROC ; std::collate<char>::collate<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 59 : { // construct from specified locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 58 : : locale::facet(_Refs) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Refs$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0facet@locale@std@@IAE@I@Z ; std::locale::facet::facet |
| |
| ; 59 : { // construct from specified locale |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7?$collate@D@std@@6B@ |
| |
| ; 60 : _Init(_Lobj); |
| |
| 0001c 8b 55 08 mov edx, DWORD PTR __Lobj$[ebp] |
| 0001f 52 push edx |
| 00020 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00023 e8 00 00 00 00 call ?_Init@?$collate@D@std@@IAEXABV_Locinfo@2@@Z ; std::collate<char>::_Init |
| |
| ; 61 : } |
| |
| 00028 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002b 8b e5 mov esp, ebp |
| 0002d 5d pop ebp |
| 0002e c2 08 00 ret 8 |
| ??0?$collate@D@std@@QAE@ABV_Locinfo@1@I@Z ENDP ; std::collate<char>::collate<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\locale |
| ; COMDAT ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First$ = 12 ; size = 4 |
| __Last$ = 16 ; size = 4 |
| ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z PROC ; std::collate<char>::transform, COMDAT |
| ; _this$ = ecx |
| |
| ; 38 : { // transform [_First, _Last) to key string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 39 : return (do_transform(_First, _Last)); |
| |
| 00007 8b 45 10 mov eax, DWORD PTR __Last$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 0c mov ecx, DWORD PTR __First$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 55 08 mov edx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00012 52 push edx |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 8b 10 mov edx, DWORD PTR [eax] |
| 00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001b 8b 42 10 mov eax, DWORD PTR [edx+16] |
| 0001e ff d0 call eax |
| 00020 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 40 : } |
| |
| 00023 8b e5 mov esp, ebp |
| 00025 5d pop ebp |
| 00026 c2 0c 00 ret 12 ; 0000000cH |
| ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ENDP ; std::collate<char>::transform |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z |
| _TEXT SEGMENT |
| $T1 = -36 ; size = 12 |
| $T2 = -24 ; size = 4 |
| __Lock$3 = -20 ; size = 4 |
| __Id$4 = -16 ; size = 4 |
| __Pfmod$5 = -12 ; size = 4 |
| __Pf$6 = -8 ; size = 4 |
| __Psave$7 = -4 ; size = 4 |
| __Loc$ = 8 ; size = 4 |
| ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z PROC ; std::use_facet<std::collate<char> >, COMDAT |
| |
| ; 553 : { // get facet reference from locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| |
| ; 554 : #if _NO_LOCALES |
| ; 555 : static _Wrap_facet<_Facet> _Wfac; |
| ; 556 : return (*(_Facet *)&_Wfac); |
| ; 557 : |
| ; 558 : #else /* _NO_LOCALES */ |
| ; 559 : _BEGIN_LOCK(_LOCK_LOCALE) // the thread lock, make get atomic |
| |
| 00006 6a 00 push 0 |
| 00008 8d 4d ec lea ecx, DWORD PTR __Lock$3[ebp] |
| 0000b e8 00 00 00 00 call ??0_Lockit@std@@QAE@H@Z ; std::_Lockit::_Lockit |
| |
| ; 560 : const locale::facet *_Psave = |
| ; 561 : _Facetptr<_Facet>::_Psave; // static pointer to lazy facet |
| |
| 00010 a1 00 00 00 00 mov eax, DWORD PTR ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::collate<char> >::_Psave |
| 00015 89 45 fc mov DWORD PTR __Psave$7[ebp], eax |
| |
| ; 562 : |
| ; 563 : size_t _Id = _Facet::id; |
| |
| 00018 b9 00 00 00 00 mov ecx, OFFSET ?id@?$collate@D@std@@2V0locale@2@A ; std::collate<char>::id |
| 0001d e8 00 00 00 00 call ??Bid@locale@std@@QAEIXZ ; std::locale::id::operator unsigned int |
| 00022 89 45 f0 mov DWORD PTR __Id$4[ebp], eax |
| |
| ; 564 : const locale::facet *_Pf = _Loc._Getfacet(_Id); |
| |
| 00025 8b 4d f0 mov ecx, DWORD PTR __Id$4[ebp] |
| 00028 51 push ecx |
| 00029 8b 4d 08 mov ecx, DWORD PTR __Loc$[ebp] |
| 0002c e8 00 00 00 00 call ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ; std::locale::_Getfacet |
| 00031 89 45 f8 mov DWORD PTR __Pf$6[ebp], eax |
| |
| ; 565 : |
| ; 566 : if (_Pf != 0) |
| |
| 00034 83 7d f8 00 cmp DWORD PTR __Pf$6[ebp], 0 |
| 00038 74 02 je SHORT $LN2@use_facet |
| 0003a eb 69 jmp SHORT $LN3@use_facet |
| $LN2@use_facet: |
| |
| ; 567 : ; // got facet from locale |
| ; 568 : else if (_Psave != 0) |
| |
| 0003c 83 7d fc 00 cmp DWORD PTR __Psave$7[ebp], 0 |
| 00040 74 08 je SHORT $LN4@use_facet |
| |
| ; 569 : _Pf = _Psave; // lazy facet already allocated |
| |
| 00042 8b 55 fc mov edx, DWORD PTR __Psave$7[ebp] |
| 00045 89 55 f8 mov DWORD PTR __Pf$6[ebp], edx |
| 00048 eb 5b jmp SHORT $LN3@use_facet |
| $LN4@use_facet: |
| |
| ; 570 : else if (_Facet::_Getcat(&_Psave, &_Loc) == (size_t)(-1)) |
| |
| 0004a 8b 45 08 mov eax, DWORD PTR __Loc$[ebp] |
| 0004d 50 push eax |
| 0004e 8d 4d fc lea ecx, DWORD PTR __Psave$7[ebp] |
| 00051 51 push ecx |
| 00052 e8 00 00 00 00 call ?_Getcat@?$collate@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ; std::collate<char>::_Getcat |
| 00057 83 c4 08 add esp, 8 |
| 0005a 83 f8 ff cmp eax, -1 |
| 0005d 75 18 jne SHORT $LN6@use_facet |
| |
| ; 571 : |
| ; 572 : #if _HAS_EXCEPTIONS |
| ; 573 : |
| ; 574 : _THROW_NCEE(_XSTD bad_cast, _EMPTY_ARGUMENT); // lazy disallowed |
| |
| 0005f 8d 4d dc lea ecx, DWORD PTR $T1[ebp] |
| 00062 e8 00 00 00 00 call ??0bad_cast@std@@QAE@XZ ; std::bad_cast::bad_cast |
| 00067 68 00 00 00 00 push OFFSET __TI2?AVbad_cast@std@@ |
| 0006c 8d 55 dc lea edx, DWORD PTR $T1[ebp] |
| 0006f 52 push edx |
| 00070 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 575 : |
| ; 576 : #else /* _HAS_EXCEPTIONS */ |
| ; 577 : abort(); // lazy disallowed |
| ; 578 : #endif /* _HAS_EXCEPTIONS */ |
| ; 579 : |
| ; 580 : else |
| |
| 00075 eb 2e jmp SHORT $LN3@use_facet |
| $LN6@use_facet: |
| |
| ; 581 : { // queue up lazy facet for destruction |
| ; 582 : _Pf = _Psave; |
| |
| 00077 8b 45 fc mov eax, DWORD PTR __Psave$7[ebp] |
| 0007a 89 45 f8 mov DWORD PTR __Pf$6[ebp], eax |
| |
| ; 583 : _Facetptr<_Facet>::_Psave = _Psave; |
| |
| 0007d 8b 4d fc mov ecx, DWORD PTR __Psave$7[ebp] |
| 00080 89 0d 00 00 00 |
| 00 mov DWORD PTR ?_Psave@?$_Facetptr@V?$collate@D@std@@@std@@2PBVfacet@locale@2@B, ecx ; std::_Facetptr<std::collate<char> >::_Psave |
| |
| ; 584 : |
| ; 585 : locale::facet *_Pfmod = (_Facet *)_Psave; |
| |
| 00086 8b 55 fc mov edx, DWORD PTR __Psave$7[ebp] |
| 00089 89 55 f4 mov DWORD PTR __Pfmod$5[ebp], edx |
| |
| ; 586 : _Pfmod->_Incref(); |
| |
| 0008c 8b 45 f4 mov eax, DWORD PTR __Pfmod$5[ebp] |
| 0008f 8b 10 mov edx, DWORD PTR [eax] |
| 00091 8b 4d f4 mov ecx, DWORD PTR __Pfmod$5[ebp] |
| 00094 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 00097 ff d0 call eax |
| |
| ; 587 : |
| ; 588 : #if defined(_M_CEE) |
| ; 589 : _Facet_Register_m(_Pfmod); |
| ; 590 : |
| ; 591 : #else /* defined(_M_CEE) */ |
| ; 592 : _Facet_Register(_Pfmod); |
| |
| 00099 8b 4d f4 mov ecx, DWORD PTR __Pfmod$5[ebp] |
| 0009c 51 push ecx |
| 0009d e8 00 00 00 00 call ?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z ; std::_Facet_Register |
| 000a2 83 c4 04 add esp, 4 |
| $LN3@use_facet: |
| |
| ; 593 : #endif /* defined(_M_CEE) */ |
| ; 594 : } |
| ; 595 : |
| ; 596 : return ((const _Facet&)(*_Pf)); // should be dynamic_cast |
| |
| 000a5 8b 55 f8 mov edx, DWORD PTR __Pf$6[ebp] |
| 000a8 89 55 e8 mov DWORD PTR $T2[ebp], edx |
| 000ab 8d 4d ec lea ecx, DWORD PTR __Lock$3[ebp] |
| 000ae e8 00 00 00 00 call ??1_Lockit@std@@QAE@XZ ; std::_Lockit::~_Lockit |
| 000b3 8b 45 e8 mov eax, DWORD PTR $T2[ebp] |
| $LN8@use_facet: |
| |
| ; 597 : _END_LOCK() |
| ; 598 : #endif /* _NO_LOCALES */ |
| ; 599 : } // end of use_facet body |
| |
| 000b6 8b e5 mov esp, ebp |
| 000b8 5d pop ebp |
| 000b9 c3 ret 0 |
| ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z ENDP ; std::use_facet<std::collate<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| _<_Args_0>$ = 12 ; size = 4 |
| ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &>, COMDAT |
| ; _this$ = ecx |
| |
| ; 892 : { // construct _Ty(_Types...) at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 893 : _Mytraits::construct(*this, _Ptr, |
| |
| 00007 8b 45 0c mov eax, DWORD PTR _<_Args_0>$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ; std::forward<char * &> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$construct@PADAAPAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPADAAPAD@Z ; std::allocator_traits<std::allocator<char> >::construct<char *,char * &> |
| 00021 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 894 : _STD forward<_Types>(_Args)...); |
| ; 895 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 08 00 ret 8 |
| ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$?8DD@std@@YA_NABV?$allocator@D@0@0@Z |
| _TEXT SEGMENT |
| ___formal$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??$?8DD@std@@YA_NABV?$allocator@D@0@0@Z PROC ; std::operator==<char,char>, COMDAT |
| |
| ; 693 : { // test for allocator equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 694 : return (true); |
| |
| 00003 b0 01 mov al, 1 |
| |
| ; 695 : } |
| |
| 00005 5d pop ebp |
| 00006 c3 ret 0 |
| ??$?8DD@std@@YA_NABV?$allocator@D@0@0@Z ENDP ; std::operator==<char,char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$?8V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??$?8V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z PROC ; std::operator==<std::allocator<char>,std::allocator<char> >, COMDAT |
| |
| ; 914 : { // test for allocator equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 915 : return (static_cast<const _Ty&>(_Left) |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Right$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Left$[ebp] |
| 0000a 51 push ecx |
| 0000b e8 00 00 00 00 call ??$?8DD@std@@YA_NABV?$allocator@D@0@0@Z ; std::operator==<char,char> |
| 00010 83 c4 08 add esp, 8 |
| |
| ; 916 : == static_cast<const _Other&>(_Right)); |
| ; 917 : } |
| |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ??$?8V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ENDP ; std::operator==<std::allocator<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ??$addressof@D@std@@YAPADAAD@Z |
| _TEXT SEGMENT |
| $T1 = -1 ; size = 1 |
| __Val$ = 8 ; size = 4 |
| ??$addressof@D@std@@YAPADAAD@Z PROC ; std::addressof<char>, COMDAT |
| |
| ; 715 : { // return address of _Val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 716 : return (_Addressof(_Val, is_function<_Ty>())); |
| |
| 00004 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 00008 50 push eax |
| 00009 8b 4d 08 mov ecx, DWORD PTR __Val$[ebp] |
| 0000c 51 push ecx |
| 0000d e8 00 00 00 00 call ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<char> |
| 00012 83 c4 08 add esp, 8 |
| |
| ; 717 : } |
| |
| 00015 8b e5 mov esp, ebp |
| 00017 5d pop ebp |
| 00018 c3 ret 0 |
| ??$addressof@D@std@@YAPADAAD@Z ENDP ; std::addressof<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??$destroy@PAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??$destroy@PAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPAD@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::destroy<char *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 900 : { // destroy object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 901 : _Mytraits::destroy(*this, _Ptr); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e 51 push ecx |
| 0000f e8 00 00 00 00 call ??$destroy@PAD@?$allocator_traits@V?$allocator@D@std@@@std@@SAXAAV?$allocator@D@1@PAPAD@Z ; std::allocator_traits<std::allocator<char> >::destroy<char *> |
| 00014 83 c4 08 add esp, 8 |
| |
| ; 902 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ??$destroy@PAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPAD@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::destroy<char *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><>, COMDAT |
| ; _this$ = ecx |
| |
| ; 279 : { // construct from forwarded values |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 278 : : _Ty1(), _Myval2(_STD forward<_Other2>(_Val2)...) |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> > |
| |
| ; 280 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c2 04 00 ret 4 |
| ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z PROC ; std::forward<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, COMDAT |
| |
| ; 1298 : { // forward an lvalue as either an lvalue or an rvalue |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1299 : return (static_cast<_Ty&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1300 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z ENDP ; std::forward<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@X@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __Al$ = 8 ; size = 4 |
| ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@X@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::_Wrap_alloc<std::allocator<char> >,void>, COMDAT |
| ; _this$ = ecx |
| |
| ; 580 : { // construct allocator from _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 578 : : _Mypair(_One_then_variadic_args_t(), |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Al$[ebp] |
| 0000c 50 push eax |
| 0000d e8 00 00 00 00 call ??$forward@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::forward<std::_Wrap_alloc<std::allocator<char> > > |
| 00012 83 c4 04 add esp, 4 |
| 00015 50 push eax |
| 00016 0f b6 4d ff movzx ecx, BYTE PTR $T1[ebp] |
| 0001a 51 push ecx |
| 0001b 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><std::_Wrap_alloc<std::allocator<char> > > |
| |
| ; 581 : } |
| |
| 00023 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@X@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::_Wrap_alloc<std::allocator<char> >,void> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits |
| ; COMDAT ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z |
| _TEXT SEGMENT |
| __Arg$ = 8 ; size = 4 |
| ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z PROC ; std::move<std::_Wrap_alloc<std::allocator<char> > &>, COMDAT |
| |
| ; 1314 : { // forward _Arg as movable |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1315 : return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Arg$[ebp] |
| |
| ; 1316 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ENDP ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$_Reset@PBD@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPBD0W4syntax_option_type@regex_constants@1@Uforward_iterator_tag@1@@Z |
| _TEXT SEGMENT |
| __Prs$ = -92 ; size = 84 |
| __Rx$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Flags$ = 16 ; size = 4 |
| ___formal$ = 20 ; size = 1 |
| ??$_Reset@PBD@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPBD0W4syntax_option_type@regex_constants@1@Uforward_iterator_tag@1@@Z PROC ; std::basic_regex<char,std::regex_traits<char> >::_Reset<char const *>, COMDAT |
| ; _this$ = ecx |
| |
| ; 2634 : { // build regular expression from forward iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 5c sub esp, 92 ; 0000005cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2635 : #if _ENHANCED_REGEX_VISUALIZER |
| ; 2636 : _Visualization.assign(_First, _Last); |
| ; 2637 : #endif /* _ENHANCED_REGEX_VISUALIZER */ |
| ; 2638 : |
| ; 2639 : _Parser<_FwdIt, _Elem, _RxTraits> |
| ; 2640 : _Prs(_Traits, _First, _Last, _Flags); |
| |
| 00009 8b 45 10 mov eax, DWORD PTR __Flags$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 0c mov ecx, DWORD PTR __Last$[ebp] |
| 00010 51 push ecx |
| 00011 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00014 52 push edx |
| 00015 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00018 83 c0 04 add eax, 4 |
| 0001b 50 push eax |
| 0001c 8d 4d a4 lea ecx, DWORD PTR __Prs$[ebp] |
| 0001f e8 00 00 00 00 call ??0?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@ABV?$regex_traits@D@1@PBD1W4syntax_option_type@regex_constants@1@@Z ; std::_Parser<char const *,char,std::regex_traits<char> >::_Parser<char const *,char,std::regex_traits<char> > |
| |
| ; 2641 : _Root_node *_Rx = _Prs._Compile(); |
| |
| 00024 8d 4d a4 lea ecx, DWORD PTR __Prs$[ebp] |
| 00027 e8 00 00 00 00 call ?_Compile@?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAEPAV_Root_node@2@XZ ; std::_Parser<char const *,char,std::regex_traits<char> >::_Compile |
| 0002c 89 45 f8 mov DWORD PTR __Rx$[ebp], eax |
| |
| ; 2642 : _Reset(_Rx); |
| |
| 0002f 8b 4d f8 mov ecx, DWORD PTR __Rx$[ebp] |
| 00032 51 push ecx |
| 00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00036 e8 00 00 00 00 call ?_Reset@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPAV_Root_node@2@@Z ; std::basic_regex<char,std::regex_traits<char> >::_Reset |
| |
| ; 2643 : } |
| |
| 0003b 8d 4d a4 lea ecx, DWORD PTR __Prs$[ebp] |
| 0003e e8 00 00 00 00 call ??1?$_Parser@PBDDV?$regex_traits@D@std@@@std@@QAE@XZ |
| 00043 8b e5 mov esp, ebp |
| 00045 5d pop ebp |
| 00046 c2 10 00 ret 16 ; 00000010H |
| ??$_Reset@PBD@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPBD0W4syntax_option_type@regex_constants@1@Uforward_iterator_tag@1@@Z ENDP ; std::basic_regex<char,std::regex_traits<char> >::_Reset<char const *> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Reset@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPAV_Root_node@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Rx$ = 8 ; size = 4 |
| ?_Reset@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPAV_Root_node@2@@Z PROC ; std::basic_regex<char,std::regex_traits<char> >::_Reset, COMDAT |
| ; _this$ = ecx |
| |
| ; 2646 : { // build regular expression holding root node _Rx |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2647 : if (_Rx != 0) |
| |
| 00007 83 7d 08 00 cmp DWORD PTR __Rx$[ebp], 0 |
| 0000b 74 09 je SHORT $LN2@Reset |
| |
| ; 2648 : _MT_INCR(reinterpret_cast<_Atomic_counter_t&>(_Rx->_Refs)); |
| |
| 0000d 8b 45 08 mov eax, DWORD PTR __Rx$[ebp] |
| 00010 83 c0 20 add eax, 32 ; 00000020H |
| 00013 f0 ff 00 lock inc DWORD PTR [eax] |
| $LN2@Reset: |
| |
| ; 2649 : _Tidy(); |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ ; std::basic_regex<char,std::regex_traits<char> >::_Tidy |
| |
| ; 2650 : _Rep = _Rx; |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 8b 55 08 mov edx, DWORD PTR __Rx$[ebp] |
| 00024 89 11 mov DWORD PTR [ecx], edx |
| |
| ; 2651 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ?_Reset@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPAV_Root_node@2@@Z ENDP ; std::basic_regex<char,std::regex_traits<char> >::_Reset |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ PROC ; std::basic_regex<char,std::regex_traits<char> >::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2614 : { // free all storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2615 : if (_Rep != 0 && _MT_DECR( |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000d 74 22 je SHORT $LN2@Tidy |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 8b 11 mov edx, DWORD PTR [ecx] |
| 00014 83 c2 20 add edx, 32 ; 00000020H |
| 00017 83 c8 ff or eax, -1 |
| 0001a f0 0f c1 02 lock xadd DWORD PTR [edx], eax |
| 0001e 48 dec eax |
| 0001f 75 10 jne SHORT $LN2@Tidy |
| |
| ; 2616 : reinterpret_cast<_Atomic_counter_t&>(_Rep->_Refs)) == 0) |
| ; 2617 : _Destroy_node(_Rep); |
| |
| 00021 6a 00 push 0 |
| 00023 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00026 8b 11 mov edx, DWORD PTR [ecx] |
| 00028 52 push edx |
| 00029 e8 00 00 00 00 call ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ; std::_Destroy_node |
| 0002e 83 c4 08 add esp, 8 |
| $LN2@Tidy: |
| |
| ; 2618 : _Rep = 0; |
| |
| 00031 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00034 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 2619 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c3 ret 0 |
| ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ ENDP ; std::basic_regex<char,std::regex_traits<char> >::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ PROC ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2485 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2486 : _Tidy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Tidy@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXXZ ; std::basic_regex<char,std::regex_traits<char> >::_Tidy |
| |
| ; 2487 : } |
| |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 83 c1 04 add ecx, 4 |
| 00015 e8 00 00 00 00 call ??1?$regex_traits@D@std@@QAE@XZ |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ ENDP ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -2 ; size = 1 |
| $T2 = -1 ; size = 1 |
| __Ptr$ = 8 ; size = 4 |
| __Flags$ = 12 ; size = 4 |
| ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z PROC ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2374 : { // construct from null terminated character sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2373 : : _Rep(0) |
| |
| 00009 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0000c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 2374 : { // construct from null terminated character sequence |
| |
| 00012 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00015 83 c1 04 add ecx, 4 |
| 00018 e8 00 00 00 00 call ??0?$regex_traits@D@std@@QAE@XZ |
| |
| ; 2375 : _Reset(_Ptr, _Ptr + _RxTraits::length(_Ptr), |
| |
| 0001d 33 c9 xor ecx, ecx |
| 0001f 88 4d ff mov BYTE PTR $T2[ebp], cl |
| 00022 8a 55 ff mov dl, BYTE PTR $T2[ebp] |
| 00025 88 55 fe mov BYTE PTR $T1[ebp], dl |
| 00028 0f b6 45 fe movzx eax, BYTE PTR $T1[ebp] |
| 0002c 50 push eax |
| 0002d 8b 4d 0c mov ecx, DWORD PTR __Flags$[ebp] |
| 00030 51 push ecx |
| 00031 8b 55 08 mov edx, DWORD PTR __Ptr$[ebp] |
| 00034 52 push edx |
| 00035 e8 00 00 00 00 call ?length@?$_Regex_traits@D@std@@SAIPBD@Z ; std::_Regex_traits<char>::length |
| 0003a 83 c4 04 add esp, 4 |
| 0003d 03 45 08 add eax, DWORD PTR __Ptr$[ebp] |
| 00040 50 push eax |
| 00041 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 00044 50 push eax |
| 00045 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00048 e8 00 00 00 00 call ??$_Reset@PBD@?$basic_regex@DV?$regex_traits@D@std@@@std@@AAEXPBD0W4syntax_option_type@regex_constants@1@Uforward_iterator_tag@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::_Reset<char const *> |
| |
| ; 2376 : _Flags, random_access_iterator_tag()); |
| ; 2377 : } |
| |
| 0004d 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00050 8b e5 mov esp, ebp |
| 00052 5d pop ebp |
| 00053 c2 08 00 ret 8 |
| ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z ENDP ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\users\administrator\appdata\local\temp\2\gcc-explorer-compiler11653-3488-1xp4orl.hsemi\example.cpp |
| _TEXT SEGMENT |
| _self_regex$ = -48 ; size = 20 |
| _s$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| ?regexTest@@YAXXZ PROC ; regexTest |
| |
| ; 5 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 30 sub esp, 48 ; 00000030H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| |
| ; 6 : std::string s = "Some people, when confronted with a problem, think " |
| |
| 00010 68 00 00 00 00 push OFFSET $SG45541 |
| 00015 8d 4d e4 lea ecx, DWORD PTR _s$[ebp] |
| 00018 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| |
| ; 7 : "\"I know, I'll use regular expressions.\" " |
| ; 8 : "Now they have two problems."; |
| ; 9 : std::regex self_regex("REGULAR EXPRESSIONS", |
| |
| 0001d 68 00 01 00 00 push 256 ; 00000100H |
| 00022 6a 01 push 1 |
| 00024 e8 00 00 00 00 call ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ; std::regex_constants::operator| |
| 00029 83 c4 08 add esp, 8 |
| 0002c 50 push eax |
| 0002d 68 00 00 00 00 push OFFSET $SG45542 |
| 00032 8d 4d d0 lea ecx, DWORD PTR _self_regex$[ebp] |
| 00035 e8 00 00 00 00 call ??0?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@PBDW4syntax_option_type@regex_constants@1@@Z ; std::basic_regex<char,std::regex_traits<char> >::basic_regex<char,std::regex_traits<char> > |
| |
| ; 10 : std::regex_constants::ECMAScript | std::regex_constants::icase); |
| ; 11 : } |
| |
| 0003a 8d 4d d0 lea ecx, DWORD PTR _self_regex$[ebp] |
| 0003d e8 00 00 00 00 call ??1?$basic_regex@DV?$regex_traits@D@std@@@std@@QAE@XZ ; std::basic_regex<char,std::regex_traits<char> >::~basic_regex<char,std::regex_traits<char> > |
| 00042 8d 4d e4 lea ecx, DWORD PTR _s$[ebp] |
| 00045 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 0004a 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 0004d 33 cd xor ecx, ebp |
| 0004f e8 00 00 00 00 call @__security_check_cookie@4 |
| 00054 8b e5 mov esp, ebp |
| 00056 5d pop ebp |
| 00057 c3 ret 0 |
| ?regexTest@@YAXXZ ENDP ; regexTest |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z |
| _TEXT SEGMENT |
| tv68 = -8 ; size = 4 |
| __Branch$1 = -4 ; size = 4 |
| __Nx$ = 8 ; size = 4 |
| __Ne$ = 12 ; size = 4 |
| __Outer_rep$ = 16 ; size = 4 |
| ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z PROC ; std::_Calculate_loop_simplicity, COMDAT |
| |
| ; 5745 : { // walks regex NFA, calculates values of _Node_rep::_Simple_loop |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| |
| ; 5746 : for (; _Nx != _Ne && _Nx != 0; _Nx = _Nx->_Next) |
| |
| 00006 eb 09 jmp SHORT $LN4@Calculate_ |
| $LN2@Calculate_: |
| 00008 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0000b 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 0000e 89 4d 08 mov DWORD PTR __Nx$[ebp], ecx |
| $LN4@Calculate_: |
| 00011 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 00014 3b 55 0c cmp edx, DWORD PTR __Ne$[ebp] |
| 00017 0f 84 e2 00 00 |
| 00 je $LN1@Calculate_ |
| 0001d 83 7d 08 00 cmp DWORD PTR __Nx$[ebp], 0 |
| 00021 0f 84 d8 00 00 |
| 00 je $LN1@Calculate_ |
| |
| ; 5747 : { |
| ; 5748 : switch (_Nx->_Kind) |
| |
| 00027 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 0002a 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0002d 89 4d f8 mov DWORD PTR tv68[ebp], ecx |
| 00030 8b 55 f8 mov edx, DWORD PTR tv68[ebp] |
| 00033 83 ea 0a sub edx, 10 ; 0000000aH |
| 00036 89 55 f8 mov DWORD PTR tv68[ebp], edx |
| 00039 83 7d f8 09 cmp DWORD PTR tv68[ebp], 9 |
| 0003d 0f 87 b7 00 00 |
| 00 ja $LN5@Calculate_ |
| 00043 8b 45 f8 mov eax, DWORD PTR tv68[ebp] |
| 00046 0f b6 88 00 00 |
| 00 00 movzx ecx, BYTE PTR $LN21@Calculate_[eax] |
| 0004d ff 24 8d 00 00 |
| 00 00 jmp DWORD PTR $LN22@Calculate_[ecx*4] |
| $LN10@Calculate_: |
| |
| ; 5749 : { |
| ; 5750 : case _N_if: |
| ; 5751 : // _Node_if inside a _Node_rep makes the rep not simple |
| ; 5752 : if (_Outer_rep != 0) |
| |
| 00054 83 7d 10 00 cmp DWORD PTR __Outer_rep$[ebp], 0 |
| 00058 74 0a je SHORT $LN11@Calculate_ |
| |
| ; 5753 : _Outer_rep->_Simple_loop = 0; |
| |
| 0005a 8b 55 10 mov edx, DWORD PTR __Outer_rep$[ebp] |
| 0005d c7 42 24 00 00 |
| 00 00 mov DWORD PTR [edx+36], 0 |
| $LN11@Calculate_: |
| |
| ; 5754 : // visit each branch of the if |
| ; 5755 : for (_Node_if *_Branch = static_cast<_Node_if *>(_Nx)->_Child; |
| |
| 00064 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 00067 8b 48 18 mov ecx, DWORD PTR [eax+24] |
| 0006a 89 4d fc mov DWORD PTR __Branch$1[ebp], ecx |
| 0006d eb 09 jmp SHORT $LN9@Calculate_ |
| $LN7@Calculate_: |
| |
| ; 5757 : _Branch = _Branch->_Child) |
| |
| 0006f 8b 55 fc mov edx, DWORD PTR __Branch$1[ebp] |
| 00072 8b 42 18 mov eax, DWORD PTR [edx+24] |
| 00075 89 45 fc mov DWORD PTR __Branch$1[ebp], eax |
| $LN9@Calculate_: |
| |
| ; 5756 : _Branch != 0; |
| |
| 00078 83 7d fc 00 cmp DWORD PTR __Branch$1[ebp], 0 |
| 0007c 74 1c je SHORT $LN8@Calculate_ |
| |
| ; 5758 : _Calculate_loop_simplicity(_Branch->_Next, _Branch->_Endif, _Outer_rep); |
| |
| 0007e 8b 4d 10 mov ecx, DWORD PTR __Outer_rep$[ebp] |
| 00081 51 push ecx |
| 00082 8b 55 fc mov edx, DWORD PTR __Branch$1[ebp] |
| 00085 8b 42 14 mov eax, DWORD PTR [edx+20] |
| 00088 50 push eax |
| 00089 8b 4d fc mov ecx, DWORD PTR __Branch$1[ebp] |
| 0008c 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 0008f 52 push edx |
| 00090 e8 00 00 00 00 call ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z ; std::_Calculate_loop_simplicity |
| 00095 83 c4 0c add esp, 12 ; 0000000cH |
| 00098 eb d5 jmp SHORT $LN7@Calculate_ |
| $LN8@Calculate_: |
| |
| ; 5759 : break; |
| |
| 0009a eb 5e jmp SHORT $LN5@Calculate_ |
| $LN12@Calculate_: |
| |
| ; 5760 : case _N_assert: |
| ; 5761 : case _N_neg_assert: |
| ; 5762 : // visit the assertion body |
| ; 5763 : // note _Outer_rep being reset: the assertion regex is completely independent |
| ; 5764 : _Calculate_loop_simplicity(static_cast<_Node_assert *>(_Nx)->_Child, 0, 0); |
| |
| 0009c 6a 00 push 0 |
| 0009e 6a 00 push 0 |
| 000a0 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 000a3 8b 48 14 mov ecx, DWORD PTR [eax+20] |
| 000a6 51 push ecx |
| 000a7 e8 00 00 00 00 call ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z ; std::_Calculate_loop_simplicity |
| 000ac 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 5765 : break; |
| |
| 000af eb 49 jmp SHORT $LN5@Calculate_ |
| $LN13@Calculate_: |
| |
| ; 5766 : case _N_rep: |
| ; 5767 : // _Node_rep inside another _Node_rep makes both not simple |
| ; 5768 : if (_Outer_rep == 0) |
| |
| 000b1 83 7d 10 00 cmp DWORD PTR __Outer_rep$[ebp], 0 |
| 000b5 75 08 jne SHORT $LN14@Calculate_ |
| |
| ; 5769 : _Outer_rep = static_cast<_Node_rep *>(_Nx); |
| |
| 000b7 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 000ba 89 55 10 mov DWORD PTR __Outer_rep$[ebp], edx |
| |
| ; 5770 : else |
| |
| 000bd eb 14 jmp SHORT $LN15@Calculate_ |
| $LN14@Calculate_: |
| |
| ; 5771 : { |
| ; 5772 : _Outer_rep->_Simple_loop = 0; |
| |
| 000bf 8b 45 10 mov eax, DWORD PTR __Outer_rep$[ebp] |
| 000c2 c7 40 24 00 00 |
| 00 00 mov DWORD PTR [eax+36], 0 |
| |
| ; 5773 : static_cast<_Node_rep *>(_Nx)->_Simple_loop = 0; |
| |
| 000c9 8b 4d 08 mov ecx, DWORD PTR __Nx$[ebp] |
| 000cc c7 41 24 00 00 |
| 00 00 mov DWORD PTR [ecx+36], 0 |
| $LN15@Calculate_: |
| |
| ; 5774 : } |
| ; 5775 : break; |
| |
| 000d3 eb 25 jmp SHORT $LN5@Calculate_ |
| $LN16@Calculate_: |
| |
| ; 5776 : case _N_end_rep: |
| ; 5777 : if (_Outer_rep == static_cast<_Node_end_rep *>(_Nx)->_Begin_rep) |
| |
| 000d5 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 000d8 8b 45 10 mov eax, DWORD PTR __Outer_rep$[ebp] |
| 000db 3b 42 14 cmp eax, DWORD PTR [edx+20] |
| 000de 75 1a jne SHORT $LN5@Calculate_ |
| |
| ; 5778 : { |
| ; 5779 : // if the _Node_rep is still undetermined when we reach its end, it is simple |
| ; 5780 : if (_Outer_rep->_Simple_loop == -1) |
| |
| 000e0 8b 4d 10 mov ecx, DWORD PTR __Outer_rep$[ebp] |
| 000e3 83 79 24 ff cmp DWORD PTR [ecx+36], -1 |
| 000e7 75 0a jne SHORT $LN18@Calculate_ |
| |
| ; 5781 : _Outer_rep->_Simple_loop = 1; |
| |
| 000e9 8b 55 10 mov edx, DWORD PTR __Outer_rep$[ebp] |
| 000ec c7 42 24 01 00 |
| 00 00 mov DWORD PTR [edx+36], 1 |
| $LN18@Calculate_: |
| |
| ; 5782 : _Outer_rep = 0; |
| |
| 000f3 c7 45 10 00 00 |
| 00 00 mov DWORD PTR __Outer_rep$[ebp], 0 |
| $LN5@Calculate_: |
| |
| ; 5783 : } |
| ; 5784 : break; |
| ; 5785 : default: |
| ; 5786 : break; |
| ; 5787 : } |
| ; 5788 : } |
| |
| 000fa e9 09 ff ff ff jmp $LN2@Calculate_ |
| $LN1@Calculate_: |
| |
| ; 5789 : } |
| |
| 000ff 8b e5 mov esp, ebp |
| 00101 5d pop ebp |
| 00102 c3 ret 0 |
| 00103 90 npad 1 |
| $LN22@Calculate_: |
| 00104 00 00 00 00 DD $LN12@Calculate_ |
| 00108 00 00 00 00 DD $LN10@Calculate_ |
| 0010c 00 00 00 00 DD $LN13@Calculate_ |
| 00110 00 00 00 00 DD $LN16@Calculate_ |
| 00114 00 00 00 00 DD $LN5@Calculate_ |
| $LN21@Calculate_: |
| 00118 00 DB 0 |
| 00119 00 DB 0 |
| 0011a 04 DB 4 |
| 0011b 04 DB 4 |
| 0011c 04 DB 4 |
| 0011d 04 DB 4 |
| 0011e 01 DB 1 |
| 0011f 04 DB 4 |
| 00120 02 DB 2 |
| 00121 03 DB 3 |
| ?_Calculate_loop_simplicity@std@@YAXPAV_Node_base@1@0PAV_Node_rep@1@@Z ENDP ; std::_Calculate_loop_simplicity |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_Compat, COMDAT |
| ; _this$ = ecx |
| |
| ; 261 : { // test for compatible iterator pair |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 262 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_Compat |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z |
| _TEXT SEGMENT |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator==, COMDAT |
| ; _this$ = ecx |
| |
| ; 212 : { // test for iterator equality |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 213 : _Compat(_Right); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_Compat |
| |
| ; 214 : return (_Ptr == _Right._Ptr); |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 0001b 8b 01 mov eax, DWORD PTR [ecx] |
| 0001d 3b 02 cmp eax, DWORD PTR [edx] |
| 0001f 75 09 jne SHORT $LN3@operator |
| 00021 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv69[ebp], 1 |
| 00028 eb 07 jmp SHORT $LN4@operator |
| $LN3@operator: |
| 0002a c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| $LN4@operator: |
| 00031 8a 45 f8 mov al, BYTE PTR tv69[ebp] |
| |
| ; 215 : } |
| |
| 00034 8b e5 mov esp, ebp |
| 00036 5d pop ebp |
| 00037 c2 04 00 ret 4 |
| ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator== |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator-, COMDAT |
| ; _this$ = ecx |
| |
| ; 201 : { // return difference of iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 202 : _Compat(_Right); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Compat@?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEXABV12@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_Compat |
| |
| ; 203 : return (_Ptr - _Right._Ptr); |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 00019 8b 01 mov eax, DWORD PTR [ecx] |
| 0001b 2b 02 sub eax, DWORD PTR [edx] |
| |
| ; 204 : } |
| |
| 0001d 8b e5 mov esp, ebp |
| 0001f 5d pop ebp |
| 00020 c2 04 00 ret 4 |
| ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator*, COMDAT |
| ; _this$ = ecx |
| |
| ; 67 : { // return designated object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 68 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 69 : if (this->_Getcont() == 0 |
| ; 70 : || _Ptr == 0 |
| ; 71 : || _Ptr < ((_Mystr *)this->_Getcont())->_Myptr() |
| ; 72 : || ((_Mystr *)this->_Getcont())->_Myptr() |
| ; 73 : + ((_Mystr *)this->_Getcont())->_Mysize <= _Ptr) |
| ; 74 : { // report error |
| ; 75 : _DEBUG_ERROR("string iterator not dereferencable"); |
| ; 76 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 77 : } |
| ; 78 : |
| ; 79 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 80 : _SCL_SECURE_VALIDATE(this->_Getcont() != 0 && _Ptr != 0); |
| ; 81 : _SCL_SECURE_VALIDATE_RANGE( |
| ; 82 : ((_Mystr *)this->_Getcont())->_Myptr() <= _Ptr |
| ; 83 : && _Ptr < ((_Mystr *)this->_Getcont())->_Myptr() |
| ; 84 : + ((_Mystr *)this->_Getcont())->_Mysize); |
| ; 85 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 86 : |
| ; 87 : _Analysis_assume_(_Ptr != 0); |
| ; 88 : |
| ; 89 : return (*_Ptr); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 90 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEABDXZ ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base0@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Parg$ = 8 ; size = 4 |
| __Pstring$ = 12 ; size = 4 |
| ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base0@1@@Z PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 47 : _String_const_iterator(pointer _Parg, const _Container_base *_Pstring) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 48 : { // construct with pointer _Parg |
| ; 49 : this->_Adopt(_Pstring); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Pstring$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt |
| |
| ; 50 : _Ptr = _Parg; |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 8b 55 08 mov edx, DWORD PTR __Parg$[ebp] |
| 00019 89 11 mov DWORD PTR [ecx], edx |
| |
| ; 51 : } |
| |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c2 08 00 ret 8 |
| ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PBDPBU_Container_base0@1@@Z ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::_String_const_iterator<std::_String_val<std::_Simple_types<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ PROC ; std::vector<bool,std::allocator<bool> >::_Xlen, COMDAT |
| ; _this$ = ecx |
| |
| ; 3042 : { // report a length_error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3043 : _Xlength_error("vector<bool> too long"); |
| |
| 00007 68 00 00 00 00 push OFFSET ??_C@_0BG@EOMJEIFA@vector?$DMbool?$DO?5too?5long?$AA@ |
| 0000c e8 00 00 00 00 call ?_Xlength_error@std@@YAXPBD@Z ; std::_Xlength_error |
| $LN2@Xlen: |
| |
| ; 3044 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ ENDP ; std::vector<bool,std::allocator<bool> >::_Xlen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| $T1 = -36 ; size = 4 |
| $T2 = -32 ; size = 4 |
| $T3 = -28 ; size = 4 |
| $T4 = -24 ; size = 4 |
| $T5 = -20 ; size = 4 |
| $T6 = -16 ; size = 4 |
| tv167 = -12 ; size = 4 |
| __Words$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Size$ = 8 ; size = 4 |
| ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z PROC ; std::vector<bool,std::allocator<bool> >::_Trim, COMDAT |
| ; _this$ = ecx |
| |
| ; 3027 : { // trim base vector to exact length in bits |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3028 : if (max_size() < _Size) |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::max_size |
| 00011 3b 45 08 cmp eax, DWORD PTR __Size$[ebp] |
| 00014 73 08 jae SHORT $LN2@Trim |
| |
| ; 3029 : _Xlen(); // result too long |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ ; std::vector<bool,std::allocator<bool> >::_Xlen |
| $LN2@Trim: |
| |
| ; 3030 : size_type _Words = this->_Nw(_Size); |
| |
| 0001e 8b 45 08 mov eax, DWORD PTR __Size$[ebp] |
| 00021 50 push eax |
| 00022 e8 00 00 00 00 call ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z ; std::_Vb_val<std::allocator<bool> >::_Nw |
| 00027 83 c4 04 add esp, 4 |
| 0002a 89 45 f8 mov DWORD PTR __Words$[ebp], eax |
| |
| ; 3031 : |
| ; 3032 : if (_Words < this->_Myvec.size()) |
| |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00035 39 45 f8 cmp DWORD PTR __Words$[ebp], eax |
| 00038 73 45 jae SHORT $LN3@Trim |
| |
| ; 3033 : this->_Myvec.erase(this->_Myvec.begin() + _Words, |
| |
| 0003a 8d 4d e8 lea ecx, DWORD PTR $T4[ebp] |
| 0003d 51 push ecx |
| 0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::end |
| 00046 8b 10 mov edx, DWORD PTR [eax] |
| 00048 89 55 f0 mov DWORD PTR $T6[ebp], edx |
| 0004b 8b 45 f8 mov eax, DWORD PTR __Words$[ebp] |
| 0004e 50 push eax |
| 0004f 8d 4d e4 lea ecx, DWORD PTR $T3[ebp] |
| 00052 51 push ecx |
| 00053 8d 55 e0 lea edx, DWORD PTR $T2[ebp] |
| 00056 52 push edx |
| 00057 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005a e8 00 00 00 00 call ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::begin |
| 0005f 8b c8 mov ecx, eax |
| 00061 e8 00 00 00 00 call ??H?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator+ |
| 00066 8b 00 mov eax, DWORD PTR [eax] |
| 00068 89 45 ec mov DWORD PTR $T5[ebp], eax |
| 0006b 8b 4d f0 mov ecx, DWORD PTR $T6[ebp] |
| 0006e 51 push ecx |
| 0006f 8b 55 ec mov edx, DWORD PTR $T5[ebp] |
| 00072 52 push edx |
| 00073 8d 45 dc lea eax, DWORD PTR $T1[ebp] |
| 00076 50 push eax |
| 00077 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007a e8 00 00 00 00 call ?erase@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@0@Z ; std::vector<unsigned int,std::allocator<bool> >::erase |
| $LN3@Trim: |
| |
| ; 3034 : this->_Myvec.end()); |
| ; 3035 : this->_Mysize = _Size; |
| |
| 0007f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00082 8b 55 08 mov edx, DWORD PTR __Size$[ebp] |
| 00085 89 51 0c mov DWORD PTR [ecx+12], edx |
| |
| ; 3036 : _Size %= _VBITS; |
| |
| 00088 8b 45 08 mov eax, DWORD PTR __Size$[ebp] |
| 0008b 33 d2 xor edx, edx |
| 0008d b9 20 00 00 00 mov ecx, 32 ; 00000020H |
| 00092 f7 f1 div ecx |
| 00094 89 55 08 mov DWORD PTR __Size$[ebp], edx |
| |
| ; 3037 : if (0 < _Size) |
| |
| 00097 83 7d 08 00 cmp DWORD PTR __Size$[ebp], 0 |
| 0009b 76 29 jbe SHORT $LN5@Trim |
| |
| ; 3038 : this->_Myvec[_Words - 1] &= ((_Vbase)(1) << _Size) - 1; |
| |
| 0009d 8b 55 f8 mov edx, DWORD PTR __Words$[ebp] |
| 000a0 83 ea 01 sub edx, 1 |
| 000a3 52 push edx |
| 000a4 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a7 e8 00 00 00 00 call ??A?$vector@IV?$allocator@_N@std@@@std@@QAEAAII@Z ; std::vector<unsigned int,std::allocator<bool> >::operator[] |
| 000ac 89 45 f4 mov DWORD PTR tv167[ebp], eax |
| 000af b8 01 00 00 00 mov eax, 1 |
| 000b4 8b 4d 08 mov ecx, DWORD PTR __Size$[ebp] |
| 000b7 d3 e0 shl eax, cl |
| 000b9 83 e8 01 sub eax, 1 |
| 000bc 8b 4d f4 mov ecx, DWORD PTR tv167[ebp] |
| 000bf 23 01 and eax, DWORD PTR [ecx] |
| 000c1 8b 55 f4 mov edx, DWORD PTR tv167[ebp] |
| 000c4 89 02 mov DWORD PTR [edx], eax |
| $LN5@Trim: |
| |
| ; 3039 : } |
| |
| 000c6 8b e5 mov esp, ebp |
| 000c8 5d pop ebp |
| 000c9 c2 04 00 ret 4 |
| ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z ENDP ; std::vector<bool,std::allocator<bool> >::_Trim |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Insert_x@?$vector@_NV?$allocator@_N@std@@@std@@QAEIV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@I@Z |
| _TEXT SEGMENT |
| $T1 = -60 ; size = 8 |
| $T2 = -52 ; size = 8 |
| $T3 = -44 ; size = 8 |
| $T4 = -36 ; size = 8 |
| $T5 = -28 ; size = 8 |
| __Oldend$6 = -20 ; size = 8 |
| $T7 = -12 ; size = 4 |
| __Off$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Where$ = 8 ; size = 8 |
| __Count$ = 16 ; size = 4 |
| ?_Insert_x@?$vector@_NV?$allocator@_N@std@@@std@@QAEIV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@I@Z PROC ; std::vector<bool,std::allocator<bool> >::_Insert_x, COMDAT |
| ; _this$ = ecx |
| |
| ; 2964 : { // make room to insert _Count elements at _Where |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 3c sub esp, 60 ; 0000003cH |
| 00006 56 push esi |
| 00007 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2965 : size_type _Off = _Where - begin(); |
| |
| 0000a 8d 45 e4 lea eax, DWORD PTR $T5[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 00016 50 push eax |
| 00017 8d 4d 08 lea ecx, DWORD PTR __Where$[ebp] |
| 0001a e8 00 00 00 00 call ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 0001f 89 45 f8 mov DWORD PTR __Off$[ebp], eax |
| |
| ; 2966 : |
| ; 2967 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 2968 : if (end() < _Where) |
| ; 2969 : _DEBUG_ERROR("vector<bool> insert iterator outside range"); |
| ; 2970 : bool _Realloc = capacity() - size() < _Count; |
| ; 2971 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 2972 : |
| ; 2973 : if (_Count == 0) |
| |
| 00022 83 7d 10 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00026 75 05 jne SHORT $LN2@Insert_x |
| 00028 e9 d2 00 00 00 jmp $LN3@Insert_x |
| $LN2@Insert_x: |
| |
| ; 2974 : ; |
| ; 2975 : else if (max_size() - size() < _Count) |
| |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::max_size |
| 00035 8b f0 mov esi, eax |
| 00037 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003a e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 0003f 2b f0 sub esi, eax |
| 00041 3b 75 10 cmp esi, DWORD PTR __Count$[ebp] |
| 00044 73 0d jae SHORT $LN4@Insert_x |
| |
| ; 2976 : _Xlen(); // result too long |
| |
| 00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00049 e8 00 00 00 00 call ?_Xlen@?$vector@_NV?$allocator@_N@std@@@std@@QBEXXZ ; std::vector<bool,std::allocator<bool> >::_Xlen |
| |
| ; 2977 : else |
| |
| 0004e e9 ac 00 00 00 jmp $LN3@Insert_x |
| $LN4@Insert_x: |
| |
| ; 2978 : { // worth doing |
| ; 2979 : this->_Myvec.resize(this->_Nw(size() + _Count), 0); |
| |
| 00053 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR $T7[ebp], 0 |
| 0005a 8d 4d f4 lea ecx, DWORD PTR $T7[ebp] |
| 0005d 51 push ecx |
| 0005e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00061 e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 00066 03 45 10 add eax, DWORD PTR __Count$[ebp] |
| 00069 50 push eax |
| 0006a e8 00 00 00 00 call ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z ; std::_Vb_val<std::allocator<bool> >::_Nw |
| 0006f 83 c4 04 add esp, 4 |
| 00072 50 push eax |
| 00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00076 e8 00 00 00 00 call ?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z ; std::vector<unsigned int,std::allocator<bool> >::resize |
| |
| ; 2980 : if (empty()) |
| |
| 0007b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007e e8 00 00 00 00 call ?empty@?$vector@_NV?$allocator@_N@std@@@std@@QBE_NXZ ; std::vector<bool,std::allocator<bool> >::empty |
| 00083 0f b6 d0 movzx edx, al |
| 00086 85 d2 test edx, edx |
| 00088 74 11 je SHORT $LN6@Insert_x |
| |
| ; 2981 : this->_Mysize += _Count; |
| |
| 0008a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0008d 8b 48 0c mov ecx, DWORD PTR [eax+12] |
| 00090 03 4d 10 add ecx, DWORD PTR __Count$[ebp] |
| 00093 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00096 89 4a 0c mov DWORD PTR [edx+12], ecx |
| |
| ; 2982 : else |
| |
| 00099 eb 64 jmp SHORT $LN3@Insert_x |
| $LN6@Insert_x: |
| |
| ; 2983 : { // make room and copy down suffix |
| ; 2984 : iterator _Oldend = end(); |
| |
| 0009b 8d 45 ec lea eax, DWORD PTR __Oldend$6[ebp] |
| 0009e 50 push eax |
| 0009f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a2 e8 00 00 00 00 call ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| |
| ; 2985 : this->_Mysize += _Count; |
| |
| 000a7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000aa 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 000ad 03 55 10 add edx, DWORD PTR __Count$[ebp] |
| 000b0 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 000b3 89 50 0c mov DWORD PTR [eax+12], edx |
| |
| ; 2986 : _STD copy_backward(begin() + _Off, _Oldend, end()); |
| |
| 000b6 8d 4d dc lea ecx, DWORD PTR $T4[ebp] |
| 000b9 51 push ecx |
| 000ba 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000bd e8 00 00 00 00 call ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| 000c2 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 000c5 52 push edx |
| 000c6 8b 00 mov eax, DWORD PTR [eax] |
| 000c8 50 push eax |
| 000c9 8b 4d f0 mov ecx, DWORD PTR __Oldend$6[ebp+4] |
| 000cc 51 push ecx |
| 000cd 8b 55 ec mov edx, DWORD PTR __Oldend$6[ebp] |
| 000d0 52 push edx |
| 000d1 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| 000d4 50 push eax |
| 000d5 8d 4d d4 lea ecx, DWORD PTR $T3[ebp] |
| 000d8 51 push ecx |
| 000d9 8d 55 cc lea edx, DWORD PTR $T2[ebp] |
| 000dc 52 push edx |
| 000dd 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000e0 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 000e5 8b c8 mov ecx, eax |
| 000e7 e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 000ec 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 000ef 51 push ecx |
| 000f0 8b 10 mov edx, DWORD PTR [eax] |
| 000f2 52 push edx |
| 000f3 8d 45 c4 lea eax, DWORD PTR $T1[ebp] |
| 000f6 50 push eax |
| 000f7 e8 00 00 00 00 call ??$copy_backward@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::copy_backward<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 000fc 83 c4 1c add esp, 28 ; 0000001cH |
| $LN3@Insert_x: |
| |
| ; 2987 : } |
| ; 2988 : |
| ; 2989 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 2990 : _Orphan_range(_Realloc ? 0 : _Off, this->_Mysize); |
| ; 2991 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 2992 : } |
| ; 2993 : return (_Off); |
| |
| 000ff 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| $LN8@Insert_x: |
| |
| ; 2994 : } |
| |
| 00102 5e pop esi |
| 00103 8b e5 mov esp, ebp |
| 00105 5d pop ebp |
| 00106 c2 0c 00 ret 12 ; 0000000cH |
| ?_Insert_x@?$vector@_NV?$allocator@_N@std@@@std@@QAEIV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@I@Z ENDP ; std::vector<bool,std::allocator<bool> >::_Insert_x |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Insert_n@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@IAB_N@Z |
| _TEXT SEGMENT |
| $T1 = -48 ; size = 8 |
| $T2 = -40 ; size = 8 |
| $T3 = -32 ; size = 8 |
| $T4 = -24 ; size = 8 |
| $T5 = -16 ; size = 8 |
| __Off$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Where$ = 12 ; size = 8 |
| __Count$ = 20 ; size = 4 |
| __Val$ = 24 ; size = 4 |
| ?_Insert_n@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@IAB_N@Z PROC ; std::vector<bool,std::allocator<bool> >::_Insert_n, COMDAT |
| ; _this$ = ecx |
| |
| ; 2957 : { // insert _Count * _Val at _Where |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 30 sub esp, 48 ; 00000030H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2958 : size_type _Off = _Insert_x(_Where, _Count); |
| |
| 00009 8b 45 14 mov eax, DWORD PTR __Count$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 10 mov ecx, DWORD PTR __Where$[ebp+4] |
| 00010 51 push ecx |
| 00011 8b 55 0c mov edx, DWORD PTR __Where$[ebp] |
| 00014 52 push edx |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 e8 00 00 00 00 call ?_Insert_x@?$vector@_NV?$allocator@_N@std@@@std@@QAEIV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@I@Z ; std::vector<bool,std::allocator<bool> >::_Insert_x |
| 0001d 89 45 f8 mov DWORD PTR __Off$[ebp], eax |
| |
| ; 2959 : _STD fill(begin() + _Off, begin() + (_Off + _Count), _Val); |
| |
| 00020 8b 45 18 mov eax, DWORD PTR __Val$[ebp] |
| 00023 50 push eax |
| 00024 8b 4d f8 mov ecx, DWORD PTR __Off$[ebp] |
| 00027 03 4d 14 add ecx, DWORD PTR __Count$[ebp] |
| 0002a 51 push ecx |
| 0002b 8d 55 f0 lea edx, DWORD PTR $T5[ebp] |
| 0002e 52 push edx |
| 0002f 8d 45 e8 lea eax, DWORD PTR $T4[ebp] |
| 00032 50 push eax |
| 00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00036 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 0003b 8b c8 mov ecx, eax |
| 0003d e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 00042 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00045 51 push ecx |
| 00046 8b 10 mov edx, DWORD PTR [eax] |
| 00048 52 push edx |
| 00049 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| 0004c 50 push eax |
| 0004d 8d 4d e0 lea ecx, DWORD PTR $T3[ebp] |
| 00050 51 push ecx |
| 00051 8d 55 d8 lea edx, DWORD PTR $T2[ebp] |
| 00054 52 push edx |
| 00055 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00058 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 0005d 8b c8 mov ecx, eax |
| 0005f e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 00064 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00067 51 push ecx |
| 00068 8b 10 mov edx, DWORD PTR [eax] |
| 0006a 52 push edx |
| 0006b e8 00 00 00 00 call ??$fill@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@_N@std@@YAXV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@0AB_N@Z ; std::fill<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,bool> |
| 00070 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 2960 : return (begin() + _Off); |
| |
| 00073 8b 45 f8 mov eax, DWORD PTR __Off$[ebp] |
| 00076 50 push eax |
| 00077 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0007a 51 push ecx |
| 0007b 8d 55 d0 lea edx, DWORD PTR $T1[ebp] |
| 0007e 52 push edx |
| 0007f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00082 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 00087 8b c8 mov ecx, eax |
| 00089 e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 0008e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2961 : } |
| |
| 00091 8b e5 mov esp, ebp |
| 00093 5d pop ebp |
| 00094 c2 14 00 ret 20 ; 00000014H |
| ?_Insert_n@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@IAB_N@Z ENDP ; std::vector<bool,std::allocator<bool> >::_Insert_n |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?erase@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@0@Z |
| _TEXT SEGMENT |
| $T1 = -64 ; size = 8 |
| $T2 = -56 ; size = 8 |
| $T3 = -48 ; size = 8 |
| $T4 = -40 ; size = 8 |
| __Next$5 = -32 ; size = 8 |
| __Last$ = -24 ; size = 8 |
| __First$ = -16 ; size = 8 |
| __Off$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First_arg$ = 12 ; size = 8 |
| __Last_arg$ = 20 ; size = 8 |
| ?erase@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@0@Z PROC ; std::vector<bool,std::allocator<bool> >::erase, COMDAT |
| ; _this$ = ecx |
| |
| ; 2876 : { // erase [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 40 sub esp, 64 ; 00000040H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2877 : iterator _First = _Make_iter(_First_arg); |
| |
| 00009 8b 45 10 mov eax, DWORD PTR __First_arg$[ebp+4] |
| 0000c 50 push eax |
| 0000d 8b 4d 0c mov ecx, DWORD PTR __First_arg$[ebp] |
| 00010 51 push ecx |
| 00011 8d 55 f0 lea edx, DWORD PTR __First$[ebp] |
| 00014 52 push edx |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 e8 00 00 00 00 call ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z ; std::vector<bool,std::allocator<bool> >::_Make_iter |
| |
| ; 2878 : iterator _Last = _Make_iter(_Last_arg); |
| |
| 0001d 8b 45 18 mov eax, DWORD PTR __Last_arg$[ebp+4] |
| 00020 50 push eax |
| 00021 8b 4d 14 mov ecx, DWORD PTR __Last_arg$[ebp] |
| 00024 51 push ecx |
| 00025 8d 55 e8 lea edx, DWORD PTR __Last$[ebp] |
| 00028 52 push edx |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c e8 00 00 00 00 call ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z ; std::vector<bool,std::allocator<bool> >::_Make_iter |
| |
| ; 2879 : size_type _Off = _First - begin(); |
| |
| 00031 8d 45 d8 lea eax, DWORD PTR $T4[ebp] |
| 00034 50 push eax |
| 00035 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00038 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 0003d 50 push eax |
| 0003e 8d 4d f0 lea ecx, DWORD PTR __First$[ebp] |
| 00041 e8 00 00 00 00 call ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 00046 89 45 f8 mov DWORD PTR __Off$[ebp], eax |
| |
| ; 2880 : |
| ; 2881 : if (_First != _Last) |
| |
| 00049 8d 4d e8 lea ecx, DWORD PTR __Last$[ebp] |
| 0004c 51 push ecx |
| 0004d 8d 4d f0 lea ecx, DWORD PTR __First$[ebp] |
| 00050 e8 00 00 00 00 call ??9?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator!= |
| 00055 0f b6 d0 movzx edx, al |
| 00058 85 d2 test edx, edx |
| 0005a 74 4d je SHORT $LN2@erase |
| |
| ; 2882 : { // worth doing, copy down over hole |
| ; 2883 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 2884 : if (_Last < _First || end() < _Last) |
| ; 2885 : _DEBUG_ERROR("vector<bool> erase iterator outside range"); |
| ; 2886 : iterator _Next = _STD copy(_Last, end(), _First); |
| ; 2887 : size_type _Newsize = _Next - begin(); |
| ; 2888 : _Orphan_range(_Newsize, this->_Mysize); |
| ; 2889 : _Trim(_Newsize); |
| ; 2890 : |
| ; 2891 : #else /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 2892 : iterator _Next = _STD copy(_Last, end(), _First); |
| |
| 0005c 8b 45 f4 mov eax, DWORD PTR __First$[ebp+4] |
| 0005f 50 push eax |
| 00060 8b 4d f0 mov ecx, DWORD PTR __First$[ebp] |
| 00063 51 push ecx |
| 00064 8d 55 d0 lea edx, DWORD PTR $T3[ebp] |
| 00067 52 push edx |
| 00068 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006b e8 00 00 00 00 call ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| 00070 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00073 51 push ecx |
| 00074 8b 10 mov edx, DWORD PTR [eax] |
| 00076 52 push edx |
| 00077 8b 45 ec mov eax, DWORD PTR __Last$[ebp+4] |
| 0007a 50 push eax |
| 0007b 8b 4d e8 mov ecx, DWORD PTR __Last$[ebp] |
| 0007e 51 push ecx |
| 0007f 8d 55 e0 lea edx, DWORD PTR __Next$5[ebp] |
| 00082 52 push edx |
| 00083 e8 00 00 00 00 call ??$copy@V?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@V12@@std@@YA?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@0@V10@00@Z ; std::copy<std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >,std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > > |
| 00088 83 c4 1c add esp, 28 ; 0000001cH |
| |
| ; 2893 : _Trim(_Next - begin()); |
| |
| 0008b 8d 45 c8 lea eax, DWORD PTR $T2[ebp] |
| 0008e 50 push eax |
| 0008f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00092 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 00097 50 push eax |
| 00098 8d 4d e0 lea ecx, DWORD PTR __Next$5[ebp] |
| 0009b e8 00 00 00 00 call ??G?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 000a0 50 push eax |
| 000a1 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a4 e8 00 00 00 00 call ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z ; std::vector<bool,std::allocator<bool> >::_Trim |
| $LN2@erase: |
| |
| ; 2894 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 2895 : } |
| ; 2896 : return (begin() + _Off); |
| |
| 000a9 8b 4d f8 mov ecx, DWORD PTR __Off$[ebp] |
| 000ac 51 push ecx |
| 000ad 8b 55 08 mov edx, DWORD PTR ___$ReturnUdt$[ebp] |
| 000b0 52 push edx |
| 000b1 8d 45 c0 lea eax, DWORD PTR $T1[ebp] |
| 000b4 50 push eax |
| 000b5 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b8 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 000bd 8b c8 mov ecx, eax |
| 000bf e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 000c4 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2897 : } |
| |
| 000c7 8b e5 mov esp, ebp |
| 000c9 5d pop ebp |
| 000ca c2 14 00 ret 20 ; 00000014H |
| ?erase@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@0@Z ENDP ; std::vector<bool,std::allocator<bool> >::erase |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z |
| _TEXT SEGMENT |
| __It$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Off$ = 12 ; size = 4 |
| ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z PROC ; std::vector<bool,std::allocator<bool> >::operator[], COMDAT |
| ; _this$ = ecx |
| |
| ; 2759 : { // subscript mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2760 : iterator _It = begin(); |
| |
| 00009 8d 45 f4 lea eax, DWORD PTR __It$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| |
| ; 2761 : _It._Advance(_Off); |
| |
| 00015 8b 4d 0c mov ecx, DWORD PTR __Off$[ebp] |
| 00018 51 push ecx |
| 00019 8d 4d f4 lea ecx, DWORD PTR __It$[ebp] |
| 0001c e8 00 00 00 00 call ?_Advance@?$_Vb_iter_base@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEXI@Z ; std::_Vb_iter_base<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Advance |
| |
| ; 2762 : return (*_It); |
| |
| 00021 8b 55 08 mov edx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00024 52 push edx |
| 00025 8d 4d f4 lea ecx, DWORD PTR __It$[ebp] |
| 00028 e8 00 00 00 00 call ??D?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@XZ ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator* |
| 0002d 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2763 : } |
| |
| 00030 8b e5 mov esp, ebp |
| 00032 5d pop ebp |
| 00033 c2 08 00 ret 8 |
| ??A?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_reference@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@1@I@Z ENDP ; std::vector<bool,std::allocator<bool> >::operator[] |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?empty@?$vector@_NV?$allocator@_N@std@@@std@@QBE_NXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv67 = -4 ; size = 4 |
| ?empty@?$vector@_NV?$allocator@_N@std@@@std@@QBE_NXZ PROC ; std::vector<bool,std::allocator<bool> >::empty, COMDAT |
| ; _this$ = ecx |
| |
| ; 2728 : { // test if sequence is empty |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2729 : return (size() == 0); |
| |
| 00009 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 00011 85 c0 test eax, eax |
| 00013 75 09 jne SHORT $LN3@empty |
| 00015 c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv67[ebp], 1 |
| 0001c eb 07 jmp SHORT $LN4@empty |
| $LN3@empty: |
| 0001e c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv67[ebp], 0 |
| $LN4@empty: |
| 00025 8a 45 fc mov al, BYTE PTR tv67[ebp] |
| |
| ; 2730 : } |
| |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c3 ret 0 |
| ?empty@?$vector@_NV?$allocator@_N@std@@@std@@QBE_NXZ ENDP ; std::vector<bool,std::allocator<bool> >::empty |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -12 ; size = 4 |
| tv73 = -8 ; size = 4 |
| __Maxsize$ = -4 ; size = 4 |
| ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<bool,std::allocator<bool> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 2721 : { // return maximum possible length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f4 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2722 : const size_type _Maxsize = this->_Myvec.max_size(); |
| |
| 00009 8b 4d f4 mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| 00011 89 45 fc mov DWORD PTR __Maxsize$[ebp], eax |
| |
| ; 2723 : return (_Maxsize < (size_type)(-1) / _VBITS |
| |
| 00014 81 7d fc ff ff |
| ff 07 cmp DWORD PTR __Maxsize$[ebp], 134217727 ; 07ffffffH |
| 0001b 73 0b jae SHORT $LN3@max_size |
| 0001d 8b 45 fc mov eax, DWORD PTR __Maxsize$[ebp] |
| 00020 c1 e0 05 shl eax, 5 |
| 00023 89 45 f8 mov DWORD PTR tv73[ebp], eax |
| 00026 eb 07 jmp SHORT $LN4@max_size |
| $LN3@max_size: |
| 00028 c7 45 f8 ff ff |
| ff ff mov DWORD PTR tv73[ebp], -1 |
| $LN4@max_size: |
| 0002f 8b 45 f8 mov eax, DWORD PTR tv73[ebp] |
| |
| ; 2724 : ? _Maxsize * _VBITS : (size_type)(-1)); |
| ; 2725 : } |
| |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c3 ret 0 |
| ?max_size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<bool,std::allocator<bool> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<bool,std::allocator<bool> >::size, COMDAT |
| ; _this$ = ecx |
| |
| ; 2716 : { // return length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2717 : return (this->_Mysize); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 0c mov eax, DWORD PTR [eax+12] |
| |
| ; 2718 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<bool,std::allocator<bool> >::size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?resize@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI_N@Z |
| _TEXT SEGMENT |
| $T1 = -76 ; size = 8 |
| $T2 = -68 ; size = 8 |
| $T3 = -60 ; size = 8 |
| $T4 = -52 ; size = 8 |
| $T5 = -44 ; size = 8 |
| $T6 = -36 ; size = 8 |
| $T7 = -28 ; size = 8 |
| $T8 = -20 ; size = 8 |
| $T9 = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| __Newsize$ = 8 ; size = 4 |
| __Val$ = 12 ; size = 1 |
| ?resize@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI_N@Z PROC ; std::vector<bool,std::allocator<bool> >::resize, COMDAT |
| ; _this$ = ecx |
| |
| ; 2708 : { // determine new length, padding with _Val elements as needed |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 4c sub esp, 76 ; 0000004cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2709 : if (size() < _Newsize) |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 00011 3b 45 08 cmp eax, DWORD PTR __Newsize$[ebp] |
| 00014 73 3f jae SHORT $LN2@resize |
| |
| ; 2710 : _Insert_n(end(), _Newsize - size(), _Val); |
| |
| 00016 8d 45 dc lea eax, DWORD PTR $T6[ebp] |
| 00019 50 push eax |
| 0001a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001d e8 00 00 00 00 call ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| 00022 8b 08 mov ecx, DWORD PTR [eax] |
| 00024 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00027 89 4d f4 mov DWORD PTR $T9[ebp], ecx |
| 0002a 89 55 f8 mov DWORD PTR $T9[ebp+4], edx |
| 0002d 8d 45 0c lea eax, DWORD PTR __Val$[ebp] |
| 00030 50 push eax |
| 00031 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00034 e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 00039 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 0003c 2b c8 sub ecx, eax |
| 0003e 51 push ecx |
| 0003f 8b 55 f8 mov edx, DWORD PTR $T9[ebp+4] |
| 00042 52 push edx |
| 00043 8b 45 f4 mov eax, DWORD PTR $T9[ebp] |
| 00046 50 push eax |
| 00047 8d 4d d4 lea ecx, DWORD PTR $T5[ebp] |
| 0004a 51 push ecx |
| 0004b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004e e8 00 00 00 00 call ?_Insert_n@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@IAB_N@Z ; std::vector<bool,std::allocator<bool> >::_Insert_n |
| 00053 eb 66 jmp SHORT $LN1@resize |
| $LN2@resize: |
| |
| ; 2711 : else if (_Newsize < size()) |
| |
| 00055 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00058 e8 00 00 00 00 call ?size@?$vector@_NV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<bool,std::allocator<bool> >::size |
| 0005d 39 45 08 cmp DWORD PTR __Newsize$[ebp], eax |
| 00060 73 59 jae SHORT $LN1@resize |
| |
| ; 2712 : erase(begin() + _Newsize, end()); |
| |
| 00062 8d 55 cc lea edx, DWORD PTR $T4[ebp] |
| 00065 52 push edx |
| 00066 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00069 e8 00 00 00 00 call ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::end |
| 0006e 8b 08 mov ecx, DWORD PTR [eax] |
| 00070 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00073 89 4d ec mov DWORD PTR $T8[ebp], ecx |
| 00076 89 55 f0 mov DWORD PTR $T8[ebp+4], edx |
| 00079 8b 45 08 mov eax, DWORD PTR __Newsize$[ebp] |
| 0007c 50 push eax |
| 0007d 8d 4d c4 lea ecx, DWORD PTR $T3[ebp] |
| 00080 51 push ecx |
| 00081 8d 55 bc lea edx, DWORD PTR $T2[ebp] |
| 00084 52 push edx |
| 00085 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00088 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 0008d 8b c8 mov ecx, eax |
| 0008f e8 00 00 00 00 call ??H?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBE?AV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+ |
| 00094 8b 08 mov ecx, DWORD PTR [eax] |
| 00096 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00099 89 4d e4 mov DWORD PTR $T7[ebp], ecx |
| 0009c 89 55 e8 mov DWORD PTR $T7[ebp+4], edx |
| 0009f 8b 45 f0 mov eax, DWORD PTR $T8[ebp+4] |
| 000a2 50 push eax |
| 000a3 8b 4d ec mov ecx, DWORD PTR $T8[ebp] |
| 000a6 51 push ecx |
| 000a7 8b 55 e8 mov edx, DWORD PTR $T7[ebp+4] |
| 000aa 52 push edx |
| 000ab 8b 45 e4 mov eax, DWORD PTR $T7[ebp] |
| 000ae 50 push eax |
| 000af 8d 4d b4 lea ecx, DWORD PTR $T1[ebp] |
| 000b2 51 push ecx |
| 000b3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b6 e8 00 00 00 00 call ?erase@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@0@Z ; std::vector<bool,std::allocator<bool> >::erase |
| $LN1@resize: |
| |
| ; 2713 : } |
| |
| 000bb 8b e5 mov esp, ebp |
| 000bd 5d pop ebp |
| 000be c2 08 00 ret 8 |
| ?resize@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI_N@Z ENDP ; std::vector<bool,std::allocator<bool> >::resize |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 8 |
| __Tmp$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Where$ = 12 ; size = 8 |
| ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z PROC ; std::vector<bool,std::allocator<bool> >::_Make_iter, COMDAT |
| ; _this$ = ecx |
| |
| ; 2680 : { // make iterator from const_iterator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2681 : iterator _Tmp = begin(); |
| |
| 00009 8d 45 f4 lea eax, DWORD PTR __Tmp$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| |
| ; 2682 : if (0 < this->_Mysize) |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 83 79 0c 00 cmp DWORD PTR [ecx+12], 0 |
| 0001c 76 1e jbe SHORT $LN2@Make_iter |
| |
| ; 2683 : _Tmp += _Where - begin(); |
| |
| 0001e 8d 55 ec lea edx, DWORD PTR $T1[ebp] |
| 00021 52 push edx |
| 00022 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00025 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| 0002a 50 push eax |
| 0002b 8d 4d 0c lea ecx, DWORD PTR __Where$[ebp] |
| 0002e e8 00 00 00 00 call ??G?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QBEHABV01@@Z ; std::_Vb_const_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator- |
| 00033 50 push eax |
| 00034 8d 4d f4 lea ecx, DWORD PTR __Tmp$[ebp] |
| 00037 e8 00 00 00 00 call ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| $LN2@Make_iter: |
| |
| ; 2684 : return (_Tmp); |
| |
| 0003c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 0003f 8b 4d f4 mov ecx, DWORD PTR __Tmp$[ebp] |
| 00042 89 08 mov DWORD PTR [eax], ecx |
| 00044 8b 55 f8 mov edx, DWORD PTR __Tmp$[ebp+4] |
| 00047 89 50 04 mov DWORD PTR [eax+4], edx |
| 0004a 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2685 : } |
| |
| 0004d 8b e5 mov esp, ebp |
| 0004f 5d pop ebp |
| 00050 c2 0c 00 ret 12 ; 0000000cH |
| ?_Make_iter@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@V?$_Vb_const_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@@Z ENDP ; std::vector<bool,std::allocator<bool> >::_Make_iter |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| __Tmp$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ PROC ; std::vector<bool,std::allocator<bool> >::end, COMDAT |
| ; _this$ = ecx |
| |
| ; 2635 : { // return iterator for end of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2636 : iterator _Tmp = begin(); |
| |
| 00009 8d 45 f4 lea eax, DWORD PTR __Tmp$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ; std::vector<bool,std::allocator<bool> >::begin |
| |
| ; 2637 : if (0 < this->_Mysize) |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 83 79 0c 00 cmp DWORD PTR [ecx+12], 0 |
| 0001c 76 0f jbe SHORT $LN2@end |
| |
| ; 2638 : _Tmp += this->_Mysize; |
| |
| 0001e 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00021 8b 42 0c mov eax, DWORD PTR [edx+12] |
| 00024 50 push eax |
| 00025 8d 4d f4 lea ecx, DWORD PTR __Tmp$[ebp] |
| 00028 e8 00 00 00 00 call ??Y?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAEAAV01@H@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::operator+= |
| $LN2@end: |
| |
| ; 2639 : return (_Tmp); |
| |
| 0002d 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00030 8b 55 f4 mov edx, DWORD PTR __Tmp$[ebp] |
| 00033 89 11 mov DWORD PTR [ecx], edx |
| 00035 8b 45 f8 mov eax, DWORD PTR __Tmp$[ebp+4] |
| 00038 89 41 04 mov DWORD PTR [ecx+4], eax |
| 0003b 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2640 : } |
| |
| 0003e 8b e5 mov esp, ebp |
| 00040 5d pop ebp |
| 00041 c2 04 00 ret 4 |
| ?end@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ENDP ; std::vector<bool,std::allocator<bool> >::end |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ PROC ; std::vector<bool,std::allocator<bool> >::begin, COMDAT |
| ; _this$ = ecx |
| |
| ; 2625 : { // return iterator for beginning of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2626 : return (iterator((_Vbase *)this->_Myvec._Myfirst(), this)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00013 8b 08 mov ecx, DWORD PTR [eax] |
| 00015 51 push ecx |
| 00016 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00019 e8 00 00 00 00 call ??0?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@QAE@PAIPAU_Container_base0@1@@Z ; std::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > >::_Vb_iterator<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 0001e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 2627 : } |
| |
| 00021 8b e5 mov esp, ebp |
| 00023 5d pop ebp |
| 00024 c2 04 00 ret 4 |
| ?begin@?$vector@_NV?$allocator@_N@std@@@std@@QAE?AV?$_Vb_iterator@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@2@XZ ENDP ; std::vector<bool,std::allocator<bool> >::begin |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??1?$vector@_NV?$allocator@_N@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$vector@_NV?$allocator@_N@std@@@std@@QAE@XZ PROC ; std::vector<bool,std::allocator<bool> >::~vector<bool,std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2604 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2605 : } |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@XZ ; std::_Vb_val<std::allocator<bool> >::~_Vb_val<std::allocator<bool> > |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$vector@_NV?$allocator@_N@std@@@std@@QAE@XZ ENDP ; std::vector<bool,std::allocator<bool> >::~vector<bool,std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$vector@_NV?$allocator@_N@std@@@std@@QAE@IABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __Count$ = 8 ; size = 4 |
| __Al$ = 12 ; size = 4 |
| ??0?$vector@_NV?$allocator@_N@std@@@std@@QAE@IABV?$allocator@_N@1@@Z PROC ; std::vector<bool,std::allocator<bool> >::vector<bool,std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2496 : { // construct from _Count * false, optional allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2495 : : _Mybase(_Count, false, _Al) |
| |
| 00009 c6 45 ff 00 mov BYTE PTR $T1[ebp], 0 |
| 0000d 8b 45 0c mov eax, DWORD PTR __Al$[ebp] |
| 00010 50 push eax |
| 00011 8d 4d ff lea ecx, DWORD PTR $T1[ebp] |
| 00014 51 push ecx |
| 00015 8b 55 08 mov edx, DWORD PTR __Count$[ebp] |
| 00018 52 push edx |
| 00019 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ??0?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@IAB_NABV?$allocator@_N@1@@Z ; std::_Vb_val<std::allocator<bool> >::_Vb_val<std::allocator<bool> > |
| |
| ; 2497 : _Trim(_Count); |
| |
| 00021 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00024 50 push eax |
| 00025 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00028 e8 00 00 00 00 call ?_Trim@?$vector@_NV?$allocator@_N@std@@@std@@QAEXI@Z ; std::vector<bool,std::allocator<bool> >::_Trim |
| |
| ; 2498 : } |
| |
| 0002d 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00030 8b e5 mov esp, ebp |
| 00032 5d pop ebp |
| 00033 c2 08 00 ret 8 |
| ??0?$vector@_NV?$allocator@_N@std@@@std@@QAE@IABV?$allocator@_N@1@@Z ENDP ; std::vector<bool,std::allocator<bool> >::vector<bool,std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z |
| _TEXT SEGMENT |
| __Count$ = 8 ; size = 4 |
| ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z PROC ; std::_Vb_val<std::allocator<bool> >::_Nw, COMDAT |
| |
| ; 2444 : { // return number of base words from number of bits |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 2445 : return ((_Count + _VBITS - 1) / _VBITS); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00006 83 c0 1f add eax, 31 ; 0000001fH |
| 00009 c1 e8 05 shr eax, 5 |
| |
| ; 2446 : } |
| |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z ENDP ; std::_Vb_val<std::allocator<bool> >::_Nw |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Free_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Free_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ PROC ; std::_Vb_val<std::allocator<bool> >::_Free_proxy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2414 : { // do nothing |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2415 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c3 ret 0 |
| ?_Free_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ENDP ; std::_Vb_val<std::allocator<bool> >::_Free_proxy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Alloc_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Alloc_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ PROC ; std::_Vb_val<std::allocator<bool> >::_Alloc_proxy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2410 : { // do nothing |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2411 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c3 ret 0 |
| ?_Alloc_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ENDP ; std::_Vb_val<std::allocator<bool> >::_Alloc_proxy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??1?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@XZ PROC ; std::_Vb_val<std::allocator<bool> >::~_Vb_val<std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2400 : { // destroy proxy |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2401 : _Free_proxy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Free_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ; std::_Vb_val<std::allocator<bool> >::_Free_proxy |
| |
| ; 2402 : } |
| |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??1?$vector@IV?$allocator@_N@std@@@std@@QAE@XZ ; std::vector<unsigned int,std::allocator<bool> >::~vector<unsigned int,std::allocator<bool> > |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c3 ret 0 |
| ??1?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@XZ ENDP ; std::_Vb_val<std::allocator<bool> >::~_Vb_val<std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@IAB_NABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 4 |
| tv70 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| __Val$ = 12 ; size = 4 |
| __Al$ = 16 ; size = 4 |
| ??0?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@IAB_NABV?$allocator@_N@1@@Z PROC ; std::_Vb_val<std::allocator<bool> >::_Vb_val<std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 2364 : { // construct _Count * _Val elements with allocator _Al |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2363 : : _Myvec(_Nw(_Count), (_Vbase)(_Val ? -1 : 0), _Al) |
| |
| 00009 8b 45 0c mov eax, DWORD PTR __Val$[ebp] |
| 0000c 0f b6 08 movzx ecx, BYTE PTR [eax] |
| 0000f 85 c9 test ecx, ecx |
| 00011 74 09 je SHORT $LN3@Vb_val |
| 00013 c7 45 f8 ff ff |
| ff ff mov DWORD PTR tv70[ebp], -1 |
| 0001a eb 07 jmp SHORT $LN4@Vb_val |
| $LN3@Vb_val: |
| 0001c c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv70[ebp], 0 |
| $LN4@Vb_val: |
| 00023 8b 55 f8 mov edx, DWORD PTR tv70[ebp] |
| 00026 89 55 f4 mov DWORD PTR $T1[ebp], edx |
| 00029 8b 45 10 mov eax, DWORD PTR __Al$[ebp] |
| 0002c 50 push eax |
| 0002d 8d 4d f4 lea ecx, DWORD PTR $T1[ebp] |
| 00030 51 push ecx |
| 00031 8b 55 08 mov edx, DWORD PTR __Count$[ebp] |
| 00034 52 push edx |
| 00035 e8 00 00 00 00 call ?_Nw@?$_Vb_val@V?$allocator@_N@std@@@std@@SAII@Z ; std::_Vb_val<std::allocator<bool> >::_Nw |
| 0003a 83 c4 04 add esp, 4 |
| 0003d 50 push eax |
| 0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ??0?$vector@IV?$allocator@_N@std@@@std@@QAE@IABIABV?$allocator@_N@1@@Z ; std::vector<unsigned int,std::allocator<bool> >::vector<unsigned int,std::allocator<bool> > |
| |
| ; 2365 : _Alloc_proxy(); |
| |
| 00046 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00049 e8 00 00 00 00 call ?_Alloc_proxy@?$_Vb_val@V?$allocator@_N@std@@@std@@QAEXXZ ; std::_Vb_val<std::allocator<bool> >::_Alloc_proxy |
| |
| ; 2366 : _Mysize = 0; |
| |
| 0004e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00051 c7 40 0c 00 00 |
| 00 00 mov DWORD PTR [eax+12], 0 |
| |
| ; 2367 : } |
| |
| 00058 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0005b 8b e5 mov esp, ebp |
| 0005d 5d pop ebp |
| 0005e c2 0c 00 ret 12 ; 0000000cH |
| ??0?$_Vb_val@V?$allocator@_N@std@@@std@@QAE@IAB_NABV?$allocator@_N@1@@Z ENDP ; std::_Vb_val<std::allocator<bool> >::_Vb_val<std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::_Xlen, COMDAT |
| ; _this$ = ecx |
| |
| ; 1787 : { // report a length_error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1788 : _Xlength_error("vector<T> too long"); |
| |
| 00007 68 00 00 00 00 push OFFSET ??_C@_0BD@OLBABOEK@vector?$DMT?$DO?5too?5long?$AA@ |
| 0000c e8 00 00 00 00 call ?_Xlength_error@std@@YAXPBD@Z ; std::_Xlength_error |
| $LN2@Xlen: |
| |
| ; 1789 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Xlen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Pval$ = 16 ; size = 4 |
| ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Ufill, COMDAT |
| ; _this$ = ecx |
| |
| ; 1781 : { // copy initializing _Count * _Val, using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1782 : _Uninitialized_fill_n(_Ptr, _Count, _Pval, this->_Getal()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 10 mov eax, DWORD PTR __Pval$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 0c mov ecx, DWORD PTR __Count$[ebp] |
| 00017 51 push ecx |
| 00018 8b 55 08 mov edx, DWORD PTR __Ptr$[ebp] |
| 0001b 52 push edx |
| 0001c e8 00 00 00 00 call ??$_Uninitialized_fill_n@PAIIU?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAIIPBIAAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Uninitialized_fill_n<unsigned int *,unsigned int,std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 00021 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 1783 : return (_Ptr + _Count); |
| |
| 00024 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 00027 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0002a 8d 04 81 lea eax, DWORD PTR [ecx+eax*4] |
| |
| ; 1784 : } |
| |
| 0002d 8b e5 mov esp, ebp |
| 0002f 5d pop ebp |
| 00030 c2 0c 00 ret 12 ; 0000000cH |
| ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Ufill |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1659 : { // free all storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1660 : if (this->_Myfirst() != pointer()) |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00010 83 38 00 cmp DWORD PTR [eax], 0 |
| 00013 0f 84 84 00 00 |
| 00 je $LN1@Tidy |
| |
| ; 1661 : { // something to free, destroy and deallocate it |
| ; 1662 : this->_Orphan_all(); |
| |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all |
| |
| ; 1663 : _Destroy(this->_Myfirst(), this->_Mylast()); |
| |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00029 8b 00 mov eax, DWORD PTR [eax] |
| 0002b 50 push eax |
| 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002f e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00034 8b 08 mov ecx, DWORD PTR [eax] |
| 00036 51 push ecx |
| 00037 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003a e8 00 00 00 00 call ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| |
| ; 1664 : this->_Getal().deallocate(this->_Myfirst(), |
| |
| 0003f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00042 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 00047 8b f0 mov esi, eax |
| 00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004c e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00051 8b 16 mov edx, DWORD PTR [esi] |
| 00053 2b 10 sub edx, DWORD PTR [eax] |
| 00055 c1 fa 02 sar edx, 2 |
| 00058 52 push edx |
| 00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005c e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00061 8b 00 mov eax, DWORD PTR [eax] |
| 00063 50 push eax |
| 00064 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00067 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 0006c 8b c8 mov ecx, eax |
| 0006e e8 00 00 00 00 call ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate |
| |
| ; 1665 : this->_Myend() - this->_Myfirst()); |
| ; 1666 : this->_Myfirst() = pointer(); |
| |
| 00073 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00076 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 0007b c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1667 : this->_Mylast() = pointer(); |
| |
| 00081 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00084 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00089 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1668 : this->_Myend() = pointer(); |
| |
| 0008f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00092 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 00097 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| $LN1@Tidy: |
| |
| ; 1669 : } |
| ; 1670 : } |
| |
| 0009d 5e pop esi |
| 0009e 8b e5 mov esp, ebp |
| 000a0 5d pop ebp |
| 000a1 c3 ret 0 |
| ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Reserve, COMDAT |
| ; _this$ = ecx |
| |
| ; 1649 : { // ensure room for _Count new elements, grow exponentially |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1650 : if (_Unused_capacity() < _Count) |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Unused_capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::_Unused_capacity |
| 00010 3b 45 08 cmp eax, DWORD PTR __Count$[ebp] |
| 00013 73 3e jae SHORT $LN4@Reserve |
| |
| ; 1651 : { // need more room, try to get it |
| ; 1652 : if (max_size() - size() < _Count) |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 e8 00 00 00 00 call ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| 0001d 8b f0 mov esi, eax |
| 0001f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00022 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00027 2b f0 sub esi, eax |
| 00029 3b 75 08 cmp esi, DWORD PTR __Count$[ebp] |
| 0002c 73 08 jae SHORT $LN3@Reserve |
| |
| ; 1653 : _Xlen(); |
| |
| 0002e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00031 e8 00 00 00 00 call ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Xlen |
| $LN3@Reserve: |
| |
| ; 1654 : _Reallocate(_Grow_to(size() + _Count)); |
| |
| 00036 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00039 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 0003e 03 45 08 add eax, DWORD PTR __Count$[ebp] |
| 00041 50 push eax |
| 00042 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00045 e8 00 00 00 00 call ?_Grow_to@?$vector@IV?$allocator@_N@std@@@std@@IBEII@Z ; std::vector<unsigned int,std::allocator<bool> >::_Grow_to |
| 0004a 50 push eax |
| 0004b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004e e8 00 00 00 00 call ?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Reallocate |
| $LN4@Reserve: |
| |
| ; 1655 : } |
| ; 1656 : } |
| |
| 00053 5e pop esi |
| 00054 8b e5 mov esp, ebp |
| 00056 5d pop ebp |
| 00057 c2 04 00 ret 4 |
| ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Reserve |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| _TEXT SEGMENT |
| __Size$ = -28 ; size = 4 |
| __Ptr$ = -24 ; size = 4 |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __Count$ = 8 ; size = 4 |
| ?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Reallocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 1624 : { // move to array of exactly _Count elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 83 ec 0c sub esp, 12 ; 0000000cH |
| 00015 53 push ebx |
| 00016 56 push esi |
| 00017 57 push edi |
| 00018 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001d 33 c5 xor eax, ebp |
| 0001f 50 push eax |
| 00020 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00023 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00029 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002c 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1625 : pointer _Ptr = this->_Getal().allocate(_Count); |
| |
| 0002f 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00032 50 push eax |
| 00033 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00036 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 0003b 8b c8 mov ecx, eax |
| 0003d e8 00 00 00 00 call ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::allocate |
| 00042 89 45 e8 mov DWORD PTR __Ptr$[ebp], eax |
| |
| ; 1626 : |
| ; 1627 : _TRY_BEGIN |
| |
| 00045 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 1628 : _Umove(this->_Myfirst(), this->_Mylast(), _Ptr); |
| |
| 0004c 8b 4d e8 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0004f 51 push ecx |
| 00050 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00053 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00058 8b 10 mov edx, DWORD PTR [eax] |
| 0005a 52 push edx |
| 0005b 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0005e e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00063 8b 00 mov eax, DWORD PTR [eax] |
| 00065 50 push eax |
| 00066 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00069 e8 00 00 00 00 call ??$_Umove@PAI@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAI00@Z ; std::vector<unsigned int,std::allocator<bool> >::_Umove<unsigned int *> |
| 0006e eb 26 jmp SHORT $LN5@Reallocate |
| __catch$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$0: |
| |
| ; 1629 : _CATCH_ALL |
| ; 1630 : this->_Getal().deallocate(_Ptr, _Count); |
| |
| 00070 8b 4d 08 mov ecx, DWORD PTR __Count$[ebp] |
| 00073 51 push ecx |
| 00074 8b 55 e8 mov edx, DWORD PTR __Ptr$[ebp] |
| 00077 52 push edx |
| 00078 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0007b e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 00080 8b c8 mov ecx, eax |
| 00082 e8 00 00 00 00 call ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate |
| |
| ; 1631 : _RERAISE; |
| |
| 00087 6a 00 push 0 |
| 00089 6a 00 push 0 |
| 0008b e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 1632 : _CATCH_END |
| |
| 00090 b8 00 00 00 00 mov eax, $LN8@Reallocate |
| 00095 c3 ret 0 |
| $LN5@Reallocate: |
| 00096 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0009d eb 07 jmp SHORT __tryend$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$1 |
| $LN8@Reallocate: |
| 0009f c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| __tryend$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z$1: |
| |
| ; 1633 : |
| ; 1634 : size_type _Size = size(); |
| |
| 000a6 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000a9 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 000ae 89 45 e4 mov DWORD PTR __Size$[ebp], eax |
| |
| ; 1635 : if (this->_Myfirst() != pointer()) |
| |
| 000b1 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000b4 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 000b9 83 38 00 cmp DWORD PTR [eax], 0 |
| 000bc 74 52 je SHORT $LN3@Reallocate |
| |
| ; 1636 : { // destroy and deallocate old array |
| ; 1637 : _Destroy(this->_Myfirst(), this->_Mylast()); |
| |
| 000be 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000c1 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 000c6 8b 00 mov eax, DWORD PTR [eax] |
| 000c8 50 push eax |
| 000c9 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000cc e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 000d1 8b 08 mov ecx, DWORD PTR [eax] |
| 000d3 51 push ecx |
| 000d4 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000d7 e8 00 00 00 00 call ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| |
| ; 1638 : this->_Getal().deallocate(this->_Myfirst(), |
| |
| 000dc 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000df e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 000e4 8b f0 mov esi, eax |
| 000e6 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000e9 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 000ee 8b 16 mov edx, DWORD PTR [esi] |
| 000f0 2b 10 sub edx, DWORD PTR [eax] |
| 000f2 c1 fa 02 sar edx, 2 |
| 000f5 52 push edx |
| 000f6 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000f9 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 000fe 8b 00 mov eax, DWORD PTR [eax] |
| 00100 50 push eax |
| 00101 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00104 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 00109 8b c8 mov ecx, eax |
| 0010b e8 00 00 00 00 call ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate |
| $LN3@Reallocate: |
| |
| ; 1639 : this->_Myend() - this->_Myfirst()); |
| ; 1640 : } |
| ; 1641 : |
| ; 1642 : this->_Orphan_all(); |
| |
| 00110 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00113 e8 00 00 00 00 call ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all |
| |
| ; 1643 : this->_Myend() = _Ptr + _Count; |
| |
| 00118 8b 4d 08 mov ecx, DWORD PTR __Count$[ebp] |
| 0011b 8b 55 e8 mov edx, DWORD PTR __Ptr$[ebp] |
| 0011e 8d 34 8a lea esi, DWORD PTR [edx+ecx*4] |
| 00121 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00124 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 00129 89 30 mov DWORD PTR [eax], esi |
| |
| ; 1644 : this->_Mylast() = _Ptr + _Size; |
| |
| 0012b 8b 45 e4 mov eax, DWORD PTR __Size$[ebp] |
| 0012e 8b 4d e8 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00131 8d 34 81 lea esi, DWORD PTR [ecx+eax*4] |
| 00134 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00137 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0013c 89 30 mov DWORD PTR [eax], esi |
| |
| ; 1645 : this->_Myfirst() = _Ptr; |
| |
| 0013e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00141 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00146 8b 55 e8 mov edx, DWORD PTR __Ptr$[ebp] |
| 00149 89 10 mov DWORD PTR [eax], edx |
| $LN4@Reallocate: |
| |
| ; 1646 : } |
| |
| 0014b 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 0014e 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 00155 59 pop ecx |
| 00156 5f pop edi |
| 00157 5e pop esi |
| 00158 5b pop ebx |
| 00159 8b e5 mov esp, ebp |
| 0015b 5d pop ebp |
| 0015c c2 04 00 ret 4 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e0 mov ecx, DWORD PTR [edx-32] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?_Reallocate@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Reallocate |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Inside@?$vector@IV?$allocator@_N@std@@@std@@IBE_NPBI@Z |
| _TEXT SEGMENT |
| tv78 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ?_Inside@?$vector@IV?$allocator@_N@std@@@std@@IBE_NPBI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Inside, COMDAT |
| ; _this$ = ecx |
| |
| ; 1619 : { // test if _Ptr points inside vector |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1620 : return (_Ptr < this->_Mylast() && this->_Myfirst() <= _Ptr); |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00011 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00014 3b 08 cmp ecx, DWORD PTR [eax] |
| 00016 73 18 jae SHORT $LN3@Inside |
| 00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00020 8b 10 mov edx, DWORD PTR [eax] |
| 00022 3b 55 08 cmp edx, DWORD PTR __Ptr$[ebp] |
| 00025 77 09 ja SHORT $LN3@Inside |
| 00027 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv78[ebp], 1 |
| 0002e eb 07 jmp SHORT $LN4@Inside |
| $LN3@Inside: |
| 00030 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv78[ebp], 0 |
| $LN4@Inside: |
| 00037 8a 45 f8 mov al, BYTE PTR tv78[ebp] |
| |
| ; 1621 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c2 04 00 ret 4 |
| ?_Inside@?$vector@IV?$allocator@_N@std@@@std@@IBE_NPBI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Inside |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Grow_to@?$vector@IV?$allocator@_N@std@@@std@@IBEII@Z |
| _TEXT SEGMENT |
| tv73 = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| __Capacity$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?_Grow_to@?$vector@IV?$allocator@_N@std@@@std@@IBEII@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Grow_to, COMDAT |
| ; _this$ = ecx |
| |
| ; 1608 : { // grow by 50% or at least to _Count |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1609 : size_type _Capacity = capacity(); |
| |
| 00009 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::capacity |
| 00011 89 45 fc mov DWORD PTR __Capacity$[ebp], eax |
| |
| ; 1610 : |
| ; 1611 : _Capacity = max_size() - _Capacity / 2 < _Capacity |
| |
| 00014 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| 0001c 8b 4d fc mov ecx, DWORD PTR __Capacity$[ebp] |
| 0001f d1 e9 shr ecx, 1 |
| 00021 2b c1 sub eax, ecx |
| 00023 3b 45 fc cmp eax, DWORD PTR __Capacity$[ebp] |
| 00026 73 09 jae SHORT $LN4@Grow_to |
| 00028 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| 0002f eb 0b jmp SHORT $LN5@Grow_to |
| $LN4@Grow_to: |
| 00031 8b 55 fc mov edx, DWORD PTR __Capacity$[ebp] |
| 00034 d1 ea shr edx, 1 |
| 00036 03 55 fc add edx, DWORD PTR __Capacity$[ebp] |
| 00039 89 55 f4 mov DWORD PTR tv73[ebp], edx |
| $LN5@Grow_to: |
| 0003c 8b 45 f4 mov eax, DWORD PTR tv73[ebp] |
| 0003f 89 45 fc mov DWORD PTR __Capacity$[ebp], eax |
| |
| ; 1612 : ? 0 : _Capacity + _Capacity / 2; // try to grow by 50% |
| ; 1613 : if (_Capacity < _Count) |
| |
| 00042 8b 4d fc mov ecx, DWORD PTR __Capacity$[ebp] |
| 00045 3b 4d 08 cmp ecx, DWORD PTR __Count$[ebp] |
| 00048 73 06 jae SHORT $LN2@Grow_to |
| |
| ; 1614 : _Capacity = _Count; |
| |
| 0004a 8b 55 08 mov edx, DWORD PTR __Count$[ebp] |
| 0004d 89 55 fc mov DWORD PTR __Capacity$[ebp], edx |
| $LN2@Grow_to: |
| |
| ; 1615 : return (_Capacity); |
| |
| 00050 8b 45 fc mov eax, DWORD PTR __Capacity$[ebp] |
| |
| ; 1616 : } |
| |
| 00053 8b e5 mov esp, ebp |
| 00055 5d pop ebp |
| 00056 c2 04 00 ret 4 |
| ?_Grow_to@?$vector@IV?$allocator@_N@std@@@std@@IBEII@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Grow_to |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Destroy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1603 : { // destroy [_First, _Last) using allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1604 : _Destroy_range(_First, _Last, this->_Getal()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 0000f 50 push eax |
| 00010 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00017 51 push ecx |
| 00018 e8 00 00 00 00 call ??$_Destroy_range@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@@std@@YAXPAI0AAU?$_Wrap_alloc@V?$allocator@I@std@@@0@@Z ; std::_Destroy_range<std::_Wrap_alloc<std::allocator<unsigned int> > > |
| 0001d 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1605 : } |
| |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c2 08 00 ret 8 |
| ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Buy@?$vector@IV?$allocator@_N@std@@@std@@IAE_NI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Capacity$ = 8 ; size = 4 |
| ?_Buy@?$vector@IV?$allocator@_N@std@@@std@@IAE_NI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Buy, COMDAT |
| ; _this$ = ecx |
| |
| ; 1584 : { // allocate array with _Capacity elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1585 : this->_Myfirst() = pointer(); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00010 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1586 : this->_Mylast() = pointer(); |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0001e c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1587 : this->_Myend() = pointer(); |
| |
| 00024 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00027 e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 0002c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 1588 : |
| ; 1589 : if (_Capacity == 0) |
| |
| 00032 83 7d 08 00 cmp DWORD PTR __Capacity$[ebp], 0 |
| 00036 75 06 jne SHORT $LN2@Buy |
| |
| ; 1590 : return (false); |
| |
| 00038 32 c0 xor al, al |
| 0003a eb 6a jmp SHORT $LN6@Buy |
| 0003c eb 66 jmp SHORT $LN3@Buy |
| $LN2@Buy: |
| |
| ; 1591 : else if (max_size() < _Capacity) |
| |
| 0003e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00041 e8 00 00 00 00 call ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| 00046 3b 45 08 cmp eax, DWORD PTR __Capacity$[ebp] |
| 00049 73 0a jae SHORT $LN4@Buy |
| |
| ; 1592 : _Xlen(); // result too long |
| |
| 0004b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004e e8 00 00 00 00 call ?_Xlen@?$vector@IV?$allocator@_N@std@@@std@@IBEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Xlen |
| |
| ; 1593 : else |
| |
| 00053 eb 4f jmp SHORT $LN3@Buy |
| $LN4@Buy: |
| |
| ; 1594 : { // nonempty array, allocate storage |
| ; 1595 : this->_Myfirst() = this->_Getal().allocate(_Capacity); |
| |
| 00055 8b 45 08 mov eax, DWORD PTR __Capacity$[ebp] |
| 00058 50 push eax |
| 00059 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005c e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 00061 8b c8 mov ecx, eax |
| 00063 e8 00 00 00 00 call ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::allocate |
| 00068 8b f0 mov esi, eax |
| 0006a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006d e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00072 89 30 mov DWORD PTR [eax], esi |
| |
| ; 1596 : this->_Mylast() = this->_Myfirst(); |
| |
| 00074 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00077 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 0007c 8b f0 mov esi, eax |
| 0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00081 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00086 8b 0e mov ecx, DWORD PTR [esi] |
| 00088 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 1597 : this->_Myend() = this->_Myfirst() + _Capacity; |
| |
| 0008a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008d e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00092 8b 10 mov edx, DWORD PTR [eax] |
| 00094 8b 45 08 mov eax, DWORD PTR __Capacity$[ebp] |
| 00097 8d 34 82 lea esi, DWORD PTR [edx+eax*4] |
| 0009a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009d e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 000a2 89 30 mov DWORD PTR [eax], esi |
| $LN3@Buy: |
| |
| ; 1598 : } |
| ; 1599 : return (true); |
| |
| 000a4 b0 01 mov al, 1 |
| $LN6@Buy: |
| |
| ; 1600 : } |
| |
| 000a6 5e pop esi |
| 000a7 8b e5 mov esp, ebp |
| 000a9 5d pop ebp |
| 000aa c2 04 00 ret 4 |
| ?_Buy@?$vector@IV?$allocator@_N@std@@@std@@IAE_NI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Buy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?clear@?$vector@IV?$allocator@_N@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?clear@?$vector@IV?$allocator@_N@std@@@std@@QAEXXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::clear, COMDAT |
| ; _this$ = ecx |
| |
| ; 1543 : { // erase all |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1544 : this->_Orphan_all(); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all |
| |
| ; 1545 : _Destroy(this->_Myfirst(), this->_Mylast()); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00018 8b 00 mov eax, DWORD PTR [eax] |
| 0001a 50 push eax |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00023 8b 08 mov ecx, DWORD PTR [eax] |
| 00025 51 push ecx |
| 00026 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00029 e8 00 00 00 00 call ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| |
| ; 1546 : this->_Mylast() = this->_Myfirst(); |
| |
| 0002e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00031 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00036 8b f0 mov esi, eax |
| 00038 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003b e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00040 8b 16 mov edx, DWORD PTR [esi] |
| 00042 89 10 mov DWORD PTR [eax], edx |
| |
| ; 1547 : } |
| |
| 00044 5e pop esi |
| 00045 8b e5 mov esp, ebp |
| 00047 5d pop ebp |
| 00048 c3 ret 0 |
| ?clear@?$vector@IV?$allocator@_N@std@@@std@@QAEXXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::clear |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Pop_back_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| __Ptr$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?_Pop_back_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Pop_back_n, COMDAT |
| ; _this$ = ecx |
| |
| ; 1531 : { // erase _Count elements at end |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1532 : pointer _Ptr = this->_Mylast() - _Count; |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00011 8b 4d 08 mov ecx, DWORD PTR __Count$[ebp] |
| 00014 c1 e1 02 shl ecx, 2 |
| 00017 8b 10 mov edx, DWORD PTR [eax] |
| 00019 2b d1 sub edx, ecx |
| 0001b 89 55 f8 mov DWORD PTR __Ptr$[ebp], edx |
| |
| ; 1533 : |
| ; 1534 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1535 : _Orphan_range(_Ptr, this->_Mylast()); |
| ; 1536 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1537 : |
| ; 1538 : _Destroy(_Ptr, this->_Mylast()); |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00026 8b 00 mov eax, DWORD PTR [eax] |
| 00028 50 push eax |
| 00029 8b 4d f8 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0002c 51 push ecx |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| |
| ; 1539 : this->_Mylast() = _Ptr; |
| |
| 00035 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00038 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0003d 8b 55 f8 mov edx, DWORD PTR __Ptr$[ebp] |
| 00040 89 10 mov DWORD PTR [eax], edx |
| |
| ; 1540 : } |
| |
| 00042 8b e5 mov esp, ebp |
| 00044 5d pop ebp |
| 00045 c2 04 00 ret 4 |
| ?_Pop_back_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Pop_back_n |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?erase@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@0@Z |
| _TEXT SEGMENT |
| $T1 = -24 ; size = 4 |
| $T2 = -20 ; size = 4 |
| __Ptr$3 = -16 ; size = 4 |
| __Last$4 = -12 ; size = 4 |
| __First$5 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __First_arg$ = 12 ; size = 4 |
| __Last_arg$ = 16 ; size = 4 |
| ?erase@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@0@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::erase, COMDAT |
| ; _this$ = ecx |
| |
| ; 1499 : { // erase [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 18 sub esp, 24 ; 00000018H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1500 : if (_First_arg == begin() && _Last_arg == end()) |
| |
| 00009 8d 45 ec lea eax, DWORD PTR $T2[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::begin |
| 00015 50 push eax |
| 00016 8d 4d 0c lea ecx, DWORD PTR __First_arg$[ebp] |
| 00019 e8 00 00 00 00 call ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator== |
| 0001e 0f b6 c8 movzx ecx, al |
| 00021 85 c9 test ecx, ecx |
| 00023 74 29 je SHORT $LN2@erase |
| 00025 8d 55 e8 lea edx, DWORD PTR $T1[ebp] |
| 00028 52 push edx |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c e8 00 00 00 00 call ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ; std::vector<unsigned int,std::allocator<bool> >::end |
| 00031 50 push eax |
| 00032 8d 4d 10 lea ecx, DWORD PTR __Last_arg$[ebp] |
| 00035 e8 00 00 00 00 call ??8?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator== |
| 0003a 0f b6 c0 movzx eax, al |
| 0003d 85 c0 test eax, eax |
| 0003f 74 0d je SHORT $LN2@erase |
| |
| ; 1501 : clear(); |
| |
| 00041 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00044 e8 00 00 00 00 call ?clear@?$vector@IV?$allocator@_N@std@@@std@@QAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::clear |
| 00049 e9 88 00 00 00 jmp $LN3@erase |
| $LN2@erase: |
| |
| ; 1502 : else if (_First_arg != _Last_arg) |
| |
| 0004e 8d 4d 10 lea ecx, DWORD PTR __Last_arg$[ebp] |
| 00051 51 push ecx |
| 00052 8d 4d 0c lea ecx, DWORD PTR __First_arg$[ebp] |
| 00055 e8 00 00 00 00 call ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator!= |
| 0005a 0f b6 d0 movzx edx, al |
| 0005d 85 d2 test edx, edx |
| 0005f 74 75 je SHORT $LN3@erase |
| |
| ; 1503 : { // clear partial |
| ; 1504 : iterator _First = _Make_iter(_First_arg); |
| |
| 00061 8b 45 0c mov eax, DWORD PTR __First_arg$[ebp] |
| 00064 50 push eax |
| 00065 8d 4d f8 lea ecx, DWORD PTR __First$5[ebp] |
| 00068 51 push ecx |
| 00069 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006c e8 00 00 00 00 call ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter |
| |
| ; 1505 : iterator _Last = _Make_iter(_Last_arg); |
| |
| 00071 8b 55 10 mov edx, DWORD PTR __Last_arg$[ebp] |
| 00074 52 push edx |
| 00075 8d 45 f4 lea eax, DWORD PTR __Last$4[ebp] |
| 00078 50 push eax |
| 00079 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007c e8 00 00 00 00 call ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter |
| |
| ; 1506 : |
| ; 1507 : if (_First != _Last) |
| |
| 00081 8d 4d f4 lea ecx, DWORD PTR __Last$4[ebp] |
| 00084 51 push ecx |
| 00085 8d 4d f8 lea ecx, DWORD PTR __First$5[ebp] |
| 00088 e8 00 00 00 00 call ??9?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QBE_NABV01@@Z ; std::_Vector_const_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::operator!= |
| 0008d 0f b6 d0 movzx edx, al |
| 00090 85 d2 test edx, edx |
| 00092 74 42 je SHORT $LN3@erase |
| |
| ; 1508 : { // worth doing, copy down over hole |
| ; 1509 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1510 : if (_Last < _First || _VICONT(_First) != &this->_Get_data() |
| ; 1511 : || _VIPTR(_First) < this->_Myfirst() |
| ; 1512 : || this->_Mylast() < _VIPTR(_Last)) |
| ; 1513 : _DEBUG_ERROR("vector erase iterator outside range"); |
| ; 1514 : pointer _Ptr = _Move_unchecked(_VIPTR(_Last), this->_Mylast(), |
| ; 1515 : _VIPTR(_First)); |
| ; 1516 : _Orphan_range(_VIPTR(_First), this->_Mylast()); |
| ; 1517 : |
| ; 1518 : #else /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1519 : pointer _Ptr = _Move_unchecked(_VIPTR(_Last), this->_Mylast(), |
| |
| 00094 8b 45 f8 mov eax, DWORD PTR __First$5[ebp] |
| 00097 50 push eax |
| 00098 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009b e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 000a0 8b 08 mov ecx, DWORD PTR [eax] |
| 000a2 51 push ecx |
| 000a3 8b 55 f4 mov edx, DWORD PTR __Last$4[ebp] |
| 000a6 52 push edx |
| 000a7 e8 00 00 00 00 call ??$_Move_unchecked@PAIPAI@std@@YAPAIPAI00@Z ; std::_Move_unchecked<unsigned int *,unsigned int *> |
| 000ac 83 c4 0c add esp, 12 ; 0000000cH |
| 000af 89 45 f0 mov DWORD PTR __Ptr$3[ebp], eax |
| |
| ; 1520 : _VIPTR(_First)); |
| ; 1521 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1522 : |
| ; 1523 : _Destroy(_Ptr, this->_Mylast()); |
| |
| 000b2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b5 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 000ba 8b 00 mov eax, DWORD PTR [eax] |
| 000bc 50 push eax |
| 000bd 8b 4d f0 mov ecx, DWORD PTR __Ptr$3[ebp] |
| 000c0 51 push ecx |
| 000c1 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000c4 e8 00 00 00 00 call ?_Destroy@?$vector@IV?$allocator@_N@std@@@std@@IAEXPAI0@Z ; std::vector<unsigned int,std::allocator<bool> >::_Destroy |
| |
| ; 1524 : this->_Mylast() = _Ptr; |
| |
| 000c9 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000cc e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 000d1 8b 55 f0 mov edx, DWORD PTR __Ptr$3[ebp] |
| 000d4 89 10 mov DWORD PTR [eax], edx |
| $LN3@erase: |
| |
| ; 1525 : } |
| ; 1526 : } |
| ; 1527 : return (_Make_iter(_First_arg)); |
| |
| 000d6 8b 45 0c mov eax, DWORD PTR __First_arg$[ebp] |
| 000d9 50 push eax |
| 000da 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 000dd 51 push ecx |
| 000de 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000e1 e8 00 00 00 00 call ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter |
| 000e6 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1528 : } |
| |
| 000e9 8b e5 mov esp, ebp |
| 000eb 5d pop ebp |
| 000ec c2 0c 00 ret 12 ; 0000000cH |
| ?erase@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@0@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::erase |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??A?$vector@IV?$allocator@_N@std@@@std@@QAEAAII@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Pos$ = 8 ; size = 4 |
| ??A?$vector@IV?$allocator@_N@std@@@std@@QAEAAII@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::operator[], COMDAT |
| ; _this$ = ecx |
| |
| ; 1232 : { // subscript mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1233 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1234 : if (size() <= _Pos) |
| ; 1235 : { // report error |
| ; 1236 : _DEBUG_ERROR("vector subscript out of range"); |
| ; 1237 : _SCL_SECURE_OUT_OF_RANGE; |
| ; 1238 : } |
| ; 1239 : |
| ; 1240 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 1241 : _SCL_SECURE_VALIDATE_RANGE(_Pos < size()); |
| ; 1242 : #endif /* _ITERATOR_DEBUG_LEVEL */ |
| ; 1243 : |
| ; 1244 : return (*(this->_Myfirst() + _Pos)); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 0000f 8b 00 mov eax, DWORD PTR [eax] |
| 00011 8b 4d 08 mov ecx, DWORD PTR __Pos$[ebp] |
| 00014 8d 04 88 lea eax, DWORD PTR [eax+ecx*4] |
| |
| ; 1245 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ??A?$vector@IV?$allocator@_N@std@@@std@@QAEAAII@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::operator[] |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1187 : { // return maximum possible length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1188 : return (this->_Getal().max_size()); |
| |
| 00009 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| 00016 8b c8 mov ecx, eax |
| 00018 e8 00 00 00 00 call ?max_size@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<unsigned int> >::max_size |
| |
| ; 1189 : } |
| |
| 0001d 8b e5 mov esp, ebp |
| 0001f 5d pop ebp |
| 00020 c3 ret 0 |
| ?max_size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1182 : { // return length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1183 : return (this->_Mylast() - this->_Myfirst()); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00010 8b f0 mov esi, eax |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 0001a 8b 0e mov ecx, DWORD PTR [esi] |
| 0001c 2b 08 sub ecx, DWORD PTR [eax] |
| 0001e c1 f9 02 sar ecx, 2 |
| 00021 8b c1 mov eax, ecx |
| |
| ; 1184 : } |
| |
| 00023 5e pop esi |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c3 ret 0 |
| ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z |
| _TEXT SEGMENT |
| __Idx$2 = -32 ; size = 4 |
| tv170 = -28 ; size = 4 |
| __Ptr$3 = -24 ; size = 4 |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __Newsize$ = 8 ; size = 4 |
| __Val$ = 12 ; size = 4 |
| ?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::resize, COMDAT |
| ; _this$ = ecx |
| |
| ; 1154 : { // determine new length, padding with _Val elements as needed |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 83 ec 10 sub esp, 16 ; 00000010H |
| 00015 53 push ebx |
| 00016 56 push esi |
| 00017 57 push edi |
| 00018 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001d 33 c5 xor eax, ebp |
| 0001f 50 push eax |
| 00020 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00023 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00029 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002c 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1155 : if (_Newsize < size()) |
| |
| 0002f 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00032 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00037 39 45 08 cmp DWORD PTR __Newsize$[ebp], eax |
| 0003a 73 19 jae SHORT $LN2@resize |
| |
| ; 1156 : _Pop_back_n(size() - _Newsize); |
| |
| 0003c 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0003f e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00044 2b 45 08 sub eax, DWORD PTR __Newsize$[ebp] |
| 00047 50 push eax |
| 00048 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0004b e8 00 00 00 00 call ?_Pop_back_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Pop_back_n |
| 00050 e9 15 01 00 00 jmp $LN8@resize |
| $LN2@resize: |
| |
| ; 1157 : else if (size() < _Newsize) |
| |
| 00055 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00058 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 0005d 3b 45 08 cmp eax, DWORD PTR __Newsize$[ebp] |
| 00060 0f 83 04 01 00 |
| 00 jae $LN8@resize |
| |
| ; 1158 : { // pad as needed |
| ; 1159 : const value_type *_Ptr = _STD addressof(_Val); |
| |
| 00066 8b 45 0c mov eax, DWORD PTR __Val$[ebp] |
| 00069 50 push eax |
| 0006a e8 00 00 00 00 call ??$addressof@$$CBI@std@@YAPBIABI@Z ; std::addressof<unsigned int const > |
| 0006f 83 c4 04 add esp, 4 |
| 00072 89 45 e8 mov DWORD PTR __Ptr$3[ebp], eax |
| |
| ; 1160 : |
| ; 1161 : if (_Inside(_Ptr)) |
| |
| 00075 8b 4d e8 mov ecx, DWORD PTR __Ptr$3[ebp] |
| 00078 51 push ecx |
| 00079 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0007c e8 00 00 00 00 call ?_Inside@?$vector@IV?$allocator@_N@std@@@std@@IBE_NPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Inside |
| 00081 0f b6 d0 movzx edx, al |
| 00084 85 d2 test edx, edx |
| 00086 74 52 je SHORT $LN5@resize |
| |
| ; 1162 : { // padding is inside vector, recompute _Ptr after reserve |
| ; 1163 : const difference_type _Idx = _Ptr |
| ; 1164 : - _STD addressof(*this->_Myfirst()); |
| |
| 00088 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0008b e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00090 8b 00 mov eax, DWORD PTR [eax] |
| 00092 50 push eax |
| 00093 e8 00 00 00 00 call ??$addressof@I@std@@YAPAIAAI@Z ; std::addressof<unsigned int> |
| 00098 83 c4 04 add esp, 4 |
| 0009b 8b 4d e8 mov ecx, DWORD PTR __Ptr$3[ebp] |
| 0009e 2b c8 sub ecx, eax |
| 000a0 c1 f9 02 sar ecx, 2 |
| 000a3 89 4d e0 mov DWORD PTR __Idx$2[ebp], ecx |
| |
| ; 1165 : _Reserve(_Newsize - size()); |
| |
| 000a6 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000a9 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 000ae 8b 55 08 mov edx, DWORD PTR __Newsize$[ebp] |
| 000b1 2b d0 sub edx, eax |
| 000b3 52 push edx |
| 000b4 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000b7 e8 00 00 00 00 call ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Reserve |
| |
| ; 1166 : _Ptr = _STD addressof(*this->_Myfirst()) + _Idx; |
| |
| 000bc 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000bf e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 000c4 8b 00 mov eax, DWORD PTR [eax] |
| 000c6 50 push eax |
| 000c7 e8 00 00 00 00 call ??$addressof@I@std@@YAPAIAAI@Z ; std::addressof<unsigned int> |
| 000cc 83 c4 04 add esp, 4 |
| 000cf 8b 4d e0 mov ecx, DWORD PTR __Idx$2[ebp] |
| 000d2 8d 14 88 lea edx, DWORD PTR [eax+ecx*4] |
| 000d5 89 55 e8 mov DWORD PTR __Ptr$3[ebp], edx |
| |
| ; 1167 : } |
| ; 1168 : else |
| |
| 000d8 eb 16 jmp SHORT $LN6@resize |
| $LN5@resize: |
| |
| ; 1169 : _Reserve(_Newsize - size()); |
| |
| 000da 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000dd e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 000e2 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 000e5 2b c8 sub ecx, eax |
| 000e7 51 push ecx |
| 000e8 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000eb e8 00 00 00 00 call ?_Reserve@?$vector@IV?$allocator@_N@std@@@std@@IAEXI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Reserve |
| $LN6@resize: |
| |
| ; 1170 : |
| ; 1171 : _TRY_BEGIN |
| |
| 000f0 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 1172 : _Ufill(this->_Mylast(), _Newsize - size(), _Ptr); |
| |
| 000f7 8b 55 e8 mov edx, DWORD PTR __Ptr$3[ebp] |
| 000fa 52 push edx |
| 000fb 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000fe e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00103 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 00106 2b c8 sub ecx, eax |
| 00108 51 push ecx |
| 00109 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0010c e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00111 8b 10 mov edx, DWORD PTR [eax] |
| 00113 52 push edx |
| 00114 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00117 e8 00 00 00 00 call ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Ufill |
| 0011c eb 17 jmp SHORT $LN9@resize |
| __catch$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$0: |
| |
| ; 1173 : _CATCH_ALL |
| ; 1174 : _Tidy(); |
| |
| 0011e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00121 e8 00 00 00 00 call ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Tidy |
| |
| ; 1175 : _RERAISE; |
| |
| 00126 6a 00 push 0 |
| 00128 6a 00 push 0 |
| 0012a e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 1176 : _CATCH_END |
| |
| 0012f b8 00 00 00 00 mov eax, $LN12@resize |
| 00134 c3 ret 0 |
| $LN9@resize: |
| 00135 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0013c eb 07 jmp SHORT __tryend$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$1 |
| $LN12@resize: |
| 0013e c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| __tryend$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z$1: |
| |
| ; 1177 : this->_Mylast() += _Newsize - size(); |
| |
| 00145 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00148 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0014d 89 45 e4 mov DWORD PTR tv170[ebp], eax |
| 00150 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00153 e8 00 00 00 00 call ?size@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ; std::vector<unsigned int,std::allocator<bool> >::size |
| 00158 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 0015b 2b c8 sub ecx, eax |
| 0015d 8b 55 e4 mov edx, DWORD PTR tv170[ebp] |
| 00160 8b 02 mov eax, DWORD PTR [edx] |
| 00162 8d 0c 88 lea ecx, DWORD PTR [eax+ecx*4] |
| 00165 8b 55 e4 mov edx, DWORD PTR tv170[ebp] |
| 00168 89 0a mov DWORD PTR [edx], ecx |
| $LN8@resize: |
| |
| ; 1178 : } |
| ; 1179 : } |
| |
| 0016a 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 0016d 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 00174 59 pop ecx |
| 00175 5f pop edi |
| 00176 5e pop esi |
| 00177 5b pop ebx |
| 00178 8b e5 mov esp, ebp |
| 0017a 5d pop ebp |
| 0017b c2 08 00 ret 8 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a dc mov ecx, DWORD PTR [edx-36] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?resize@?$vector@IV?$allocator@_N@std@@@std@@QAEXIABI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::resize |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| __Where$ = 12 ; size = 4 |
| ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter, COMDAT |
| ; _this$ = ecx |
| |
| ; 1080 : { // make iterator from const_iterator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1081 : return (iterator(_Where._Ptr, &this->_Get_data())); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 50 push eax |
| 00010 8b 45 0c mov eax, DWORD PTR __Where$[ebp] |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| 0001c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1082 : } |
| |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 08 00 ret 8 |
| ?_Make_iter@?$vector@IV?$allocator@_N@std@@@std@@QBE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@V?$_Vector_const_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Make_iter |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ PROC ; std::vector<unsigned int,std::allocator<bool> >::end, COMDAT |
| ; _this$ = ecx |
| |
| ; 1070 : { // return iterator for end of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1071 : return (iterator(this->_Mylast(), &this->_Get_data())); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 50 push eax |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 00018 8b 00 mov eax, DWORD PTR [eax] |
| 0001a 50 push eax |
| 0001b 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0001e e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| 00023 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1072 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ?end@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::end |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ PROC ; std::vector<unsigned int,std::allocator<bool> >::begin, COMDAT |
| ; _this$ = ecx |
| |
| ; 1060 : { // return iterator for beginning of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1061 : return (iterator(this->_Myfirst(), &this->_Get_data())); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 50 push eax |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00018 8b 00 mov eax, DWORD PTR [eax] |
| 0001a 50 push eax |
| 0001b 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0001e e8 00 00 00 00 call ??0?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@std@@QAE@PAIPBU_Container_base0@1@@Z ; std::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > >::_Vector_iterator<std::_Vector_val<std::_Simple_types<unsigned int> > > |
| 00023 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1062 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c2 04 00 ret 4 |
| ?begin@?$vector@IV?$allocator@_N@std@@@std@@QAE?AV?$_Vector_iterator@V?$_Vector_val@U?$_Simple_types@I@std@@@std@@@2@XZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::begin |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Unused_capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Unused_capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::_Unused_capacity, COMDAT |
| ; _this$ = ecx |
| |
| ; 1050 : { // micro-optimization for capacity() - size() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1051 : return (this->_Myend() - this->_Mylast()); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 00010 8b f0 mov esi, eax |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0001a 8b 0e mov ecx, DWORD PTR [esi] |
| 0001c 2b 08 sub ecx, DWORD PTR [eax] |
| 0001e c1 f9 02 sar ecx, 2 |
| 00021 8b c1 mov eax, ecx |
| |
| ; 1052 : } |
| |
| 00023 5e pop esi |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c3 ret 0 |
| ?_Unused_capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Unused_capacity |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ PROC ; std::vector<unsigned int,std::allocator<bool> >::capacity, COMDAT |
| ; _this$ = ecx |
| |
| ; 1045 : { // return current length of allocated storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1046 : return (this->_Myend() - this->_Myfirst()); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| 00010 8b f0 mov esi, eax |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 0001a 8b 0e mov ecx, DWORD PTR [esi] |
| 0001c 2b 08 sub ecx, DWORD PTR [eax] |
| 0001e c1 f9 02 sar ecx, 2 |
| 00021 8b c1 mov eax, ecx |
| |
| ; 1047 : } |
| |
| 00023 5e pop esi |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c3 ret 0 |
| ?capacity@?$vector@IV?$allocator@_N@std@@@std@@QBEIXZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::capacity |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??1?$vector@IV?$allocator@_N@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$vector@IV?$allocator@_N@std@@@std@@QAE@XZ PROC ; std::vector<unsigned int,std::allocator<bool> >::~vector<unsigned int,std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 978 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 979 : _Tidy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Tidy |
| |
| ; 980 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$vector@IV?$allocator@_N@std@@@std@@QAE@XZ ENDP ; std::vector<unsigned int,std::allocator<bool> >::~vector<unsigned int,std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z |
| _TEXT SEGMENT |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __Count$ = 8 ; size = 4 |
| __Pval$ = 12 ; size = 4 |
| ?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::_Construct_n, COMDAT |
| ; _this$ = ecx |
| |
| ; 830 : { // construct from _Count * *_Pval |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 51 push ecx |
| 00013 53 push ebx |
| 00014 56 push esi |
| 00015 57 push edi |
| 00016 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001b 33 c5 xor eax, ebp |
| 0001d 50 push eax |
| 0001e 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00021 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00027 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002a 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 831 : if (_Buy(_Count)) |
| |
| 0002d 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00030 50 push eax |
| 00031 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00034 e8 00 00 00 00 call ?_Buy@?$vector@IV?$allocator@_N@std@@@std@@IAE_NI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Buy |
| 00039 0f b6 c8 movzx ecx, al |
| 0003c 85 c9 test ecx, ecx |
| 0003e 74 57 je SHORT $LN4@Construct_ |
| |
| ; 832 : { // nonzero, fill it |
| ; 833 : _TRY_BEGIN |
| |
| 00040 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 834 : this->_Mylast() = _Ufill(this->_Myfirst(), _Count, _Pval); |
| |
| 00047 8b 55 0c mov edx, DWORD PTR __Pval$[ebp] |
| 0004a 52 push edx |
| 0004b 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0004e 50 push eax |
| 0004f 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00052 e8 00 00 00 00 call ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| 00057 8b 08 mov ecx, DWORD PTR [eax] |
| 00059 51 push ecx |
| 0005a 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0005d e8 00 00 00 00 call ?_Ufill@?$vector@IV?$allocator@_N@std@@@std@@IAEPAIPAIIPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Ufill |
| 00062 8b f0 mov esi, eax |
| 00064 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00067 e8 00 00 00 00 call ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| 0006c 89 30 mov DWORD PTR [eax], esi |
| 0006e eb 17 jmp SHORT $LN5@Construct_ |
| __catch$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z$0: |
| |
| ; 835 : _CATCH_ALL |
| ; 836 : _Tidy(); |
| |
| 00070 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00073 e8 00 00 00 00 call ?_Tidy@?$vector@IV?$allocator@_N@std@@@std@@IAEXXZ ; std::vector<unsigned int,std::allocator<bool> >::_Tidy |
| |
| ; 837 : _RERAISE; |
| |
| 00078 6a 00 push 0 |
| 0007a 6a 00 push 0 |
| 0007c e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 838 : _CATCH_END |
| |
| 00081 b8 00 00 00 00 mov eax, $LN8@Construct_ |
| 00086 c3 ret 0 |
| $LN5@Construct_: |
| 00087 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0008e eb 07 jmp SHORT $LN4@Construct_ |
| $LN8@Construct_: |
| 00090 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| $LN4@Construct_: |
| |
| ; 839 : } |
| ; 840 : } |
| |
| 00097 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 0009a 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 000a1 59 pop ecx |
| 000a2 5f pop edi |
| 000a3 5e pop esi |
| 000a4 5b pop ebx |
| 000a5 8b e5 mov esp, ebp |
| 000a7 5d pop ebp |
| 000a8 c2 08 00 ret 8 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e8 mov ecx, DWORD PTR [edx-24] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::_Construct_n |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$vector@IV?$allocator@_N@std@@@std@@QAE@IABIABV?$allocator@_N@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| __Val$ = 12 ; size = 4 |
| __Al$ = 16 ; size = 4 |
| ??0?$vector@IV?$allocator@_N@std@@@std@@QAE@IABIABV?$allocator@_N@1@@Z PROC ; std::vector<unsigned int,std::allocator<bool> >::vector<unsigned int,std::allocator<bool> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 742 : { // construct from _Count * _Val, allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 741 : : _Mybase(_Al) |
| |
| 00007 8b 45 10 mov eax, DWORD PTR __Al$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??$?0ABV?$allocator@_N@std@@@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAE@ABV?$allocator@_N@1@@Z ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > ><std::allocator<bool> const &> |
| |
| ; 743 : _Construct_n(_Count, _STD addressof(_Val)); |
| |
| 00013 8b 4d 0c mov ecx, DWORD PTR __Val$[ebp] |
| 00016 51 push ecx |
| 00017 e8 00 00 00 00 call ??$addressof@$$CBI@std@@YAPBIABI@Z ; std::addressof<unsigned int const > |
| 0001c 83 c4 04 add esp, 4 |
| 0001f 50 push eax |
| 00020 8b 55 08 mov edx, DWORD PTR __Count$[ebp] |
| 00023 52 push edx |
| 00024 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00027 e8 00 00 00 00 call ?_Construct_n@?$vector@IV?$allocator@_N@std@@@std@@QAEXIPBI@Z ; std::vector<unsigned int,std::allocator<bool> >::_Construct_n |
| |
| ; 744 : } |
| |
| 0002c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002f 8b e5 mov esp, ebp |
| 00031 5d pop ebp |
| 00032 c2 0c 00 ret 12 ; 0000000cH |
| ??0?$vector@IV?$allocator@_N@std@@@std@@QAE@IABIABV?$allocator@_N@1@@Z ENDP ; std::vector<unsigned int,std::allocator<bool> >::vector<unsigned int,std::allocator<bool> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 318 : { // return const reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 319 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 320 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 313 : { // return reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 314 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 315 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 298 : { // return const reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 299 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 300 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 293 : { // return reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 294 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 295 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ PROC ; std::_Vector_val<std::_Simple_types<unsigned int> >::_Vector_val<std::_Simple_types<unsigned int> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 478 : _Vector_val() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 479 : { // initialize values |
| ; 480 : _Myfirst = pointer(); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 481 : _Mylast = pointer(); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c7 41 04 00 00 |
| 00 00 mov DWORD PTR [ecx+4], 0 |
| |
| ; 482 : _Myend = pointer(); |
| |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d c7 42 08 00 00 |
| 00 00 mov DWORD PTR [edx+8], 0 |
| |
| ; 483 : } |
| |
| 00024 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ??0?$_Vector_val@U?$_Simple_types@I@std@@@std@@QAE@XZ ENDP ; std::_Vector_val<std::_Simple_types<unsigned int> >::_Vector_val<std::_Simple_types<unsigned int> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend, COMDAT |
| ; _this$ = ecx |
| |
| ; 670 : { // return const reference to _Myend |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 671 : return (_Get_data()._Myend); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 83 c0 08 add eax, 8 |
| |
| ; 672 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend, COMDAT |
| ; _this$ = ecx |
| |
| ; 665 : { // return reference to _Myend |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 666 : return (_Get_data()._Myend); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 83 c0 08 add eax, 8 |
| |
| ; 667 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Myend@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myend |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast, COMDAT |
| ; _this$ = ecx |
| |
| ; 660 : { // return const reference to _Mylast |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 661 : return (_Get_data()._Mylast); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 83 c0 04 add eax, 4 |
| |
| ; 662 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast, COMDAT |
| ; _this$ = ecx |
| |
| ; 655 : { // return reference to _Mylast |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 656 : return (_Get_data()._Mylast); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 83 c0 04 add eax, 4 |
| |
| ; 657 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mylast@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Mylast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst, COMDAT |
| ; _this$ = ecx |
| |
| ; 650 : { // return const reference to _Myfirst |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 651 : return (_Get_data()._Myfirst); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| |
| ; 652 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABQAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst, COMDAT |
| ; _this$ = ecx |
| |
| ; 645 : { // return reference to _Myfirst |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 646 : return (_Get_data()._Myfirst); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| |
| ; 647 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Myfirst@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAPAIXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Myfirst |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 640 : { // return const reference to _Vector_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 641 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| |
| ; 642 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 635 : { // return reference to _Vector_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 636 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_second |
| |
| ; 637 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 630 : { // return const reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 631 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| |
| ; 632 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 625 : { // return reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 626 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@I@std@@@std@@V?$_Vector_val@U?$_Simple_types@I@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<unsigned int> >,std::_Vector_val<std::_Simple_types<unsigned int> >,1>::_Get_first |
| |
| ; 627 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@I@std@@@2@XZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vector |
| ; COMDAT ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ PROC ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all, COMDAT |
| ; _this$ = ecx |
| |
| ; 615 : { // orphan all iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 616 : _Get_data()._Orphan_all(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEAAV?$_Vector_val@U?$_Simple_types@I@std@@@2@XZ ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Get_data |
| 0000f 8b c8 mov ecx, eax |
| 00011 e8 00 00 00 00 call ?_Orphan_all@_Container_base0@std@@QAEXXZ ; std::_Container_base0::_Orphan_all |
| |
| ; 617 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_Orphan_all@?$_Vector_alloc@U?$_Vec_base_types@IV?$allocator@_N@std@@@std@@@std@@QAEXXZ ENDP ; std::_Vector_alloc<std::_Vec_base_types<unsigned int,std::allocator<bool> > >::_Orphan_all |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QBEIU_Nil@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| ?max_size@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QBEIU_Nil@2@@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 905 : { // get maximum size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 906 : return (_Mytraits::max_size(*this)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ?max_size@?$allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z ; std::allocator_traits<std::allocator<unsigned int> >::max_size |
| 00010 83 c4 04 add esp, 4 |
| |
| ; 907 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ?max_size@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QBEIU_Nil@2@@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 884 : { // deallocate object at _Ptr, ignore size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 885 : _Mybase::deallocate(_Ptr, _Count); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ?deallocate@?$allocator@I@std@@QAEXPAII@Z ; std::allocator<unsigned int>::deallocate |
| |
| ; 886 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 08 00 ret 8 |
| ?deallocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEXPAII@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::deallocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z PROC ; std::_Wrap_alloc<std::allocator<unsigned int> >::allocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 873 : { // allocate array of _Count elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 874 : return (_Mybase::allocate(_Count)); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?allocate@?$allocator@I@std@@QAEPAII@Z ; std::allocator<unsigned int>::allocate |
| |
| ; 875 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ?allocate@?$_Wrap_alloc@V?$allocator@I@std@@@std@@QAEPAII@Z ENDP ; std::_Wrap_alloc<std::allocator<unsigned int> >::allocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| ?max_size@?$allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z PROC ; std::allocator_traits<std::allocator<unsigned int> >::max_size, COMDAT |
| |
| ; 766 : { // get maximum size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 767 : return (_Al.max_size()); |
| |
| 00003 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 00006 e8 00 00 00 00 call ?max_size@?$allocator@I@std@@QBEIXZ ; std::allocator<unsigned int>::max_size |
| |
| ; 768 : } |
| |
| 0000b 5d pop ebp |
| 0000c c3 ret 0 |
| ?max_size@?$allocator_traits@V?$allocator@I@std@@@std@@SAIABV?$allocator@I@2@@Z ENDP ; std::allocator_traits<std::allocator<unsigned int> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$allocator@I@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?max_size@?$allocator@I@std@@QBEIXZ PROC ; std::allocator<unsigned int>::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 648 : { // estimate maximum array size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 649 : return ((size_t)(-1) / sizeof (_Ty)); |
| |
| 00007 b8 ff ff ff 3f mov eax, 1073741823 ; 3fffffffH |
| |
| ; 650 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ?max_size@?$allocator@I@std@@QBEIXZ ENDP ; std::allocator<unsigned int>::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?allocate@?$allocator@I@std@@QAEPAII@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?allocate@?$allocator@I@std@@QAEPAII@Z PROC ; std::allocator<unsigned int>::allocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 624 : { // allocate array of _Count elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 625 : return (static_cast<pointer>(_Allocate(_Count, sizeof (_Ty)))); |
| |
| 00007 6a 01 push 1 |
| 00009 6a 04 push 4 |
| 0000b 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0000e 50 push eax |
| 0000f e8 00 00 00 00 call ?_Allocate@std@@YAPAXII_N@Z ; std::_Allocate |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 626 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ?allocate@?$allocator@I@std@@QAEPAII@Z ENDP ; std::allocator<unsigned int>::allocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?deallocate@?$allocator@I@std@@QAEXPAII@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?deallocate@?$allocator@I@std@@QAEXPAII@Z PROC ; std::allocator<unsigned int>::deallocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 619 : { // deallocate object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 620 : _Deallocate(_Ptr, _Count, sizeof (_Ty)); |
| |
| 00007 6a 04 push 4 |
| 00009 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00010 51 push ecx |
| 00011 e8 00 00 00 00 call ?_Deallocate@std@@YAXPAXII@Z ; std::_Deallocate |
| 00016 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 621 : } |
| |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c2 08 00 ret 8 |
| ?deallocate@?$allocator@I@std@@QAEXPAII@Z ENDP ; std::allocator<unsigned int>::deallocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??0?$allocator@_N@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$allocator@_N@std@@QAE@XZ PROC ; std::allocator<bool>::allocator<bool>, COMDAT |
| ; _this$ = ecx |
| |
| ; 599 : allocator() _THROW0() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 600 : { // construct default allocator (do nothing) |
| ; 601 : } |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ??0?$allocator@_N@std@@QAE@XZ ENDP ; std::allocator<bool>::allocator<bool> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_rep@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_rep@std@@UAEPAXI@Z PROC ; std::_Node_rep::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_rep@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 28 push 40 ; 00000028H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_rep@std@@UAEPAXI@Z ENDP ; std::_Node_rep::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_rep@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_rep@std@@UAE@XZ PROC ; std::_Node_rep::~_Node_rep, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_rep@std@@UAE@XZ ENDP ; std::_Node_rep::~_Node_rep |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_rep@std@@QAE@_NHHPAV_Node_end_rep@1@I@Z |
| _TEXT SEGMENT |
| tv72 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Greedy$ = 8 ; size = 1 |
| __Mn$ = 12 ; size = 4 |
| __Mx$ = 16 ; size = 4 |
| __End$ = 20 ; size = 4 |
| __Number$ = 24 ; size = 4 |
| ??0_Node_rep@std@@QAE@_NHHPAV_Node_end_rep@1@I@Z PROC ; std::_Node_rep::_Node_rep, COMDAT |
| ; _this$ = ecx |
| |
| ; 1967 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1961 : : _Node_base(_N_rep, _Greedy ? _Fl_greedy : _Fl_none), |
| |
| 00009 0f b6 45 08 movzx eax, BYTE PTR __Greedy$[ebp] |
| 0000d 85 c0 test eax, eax |
| 0000f 74 09 je SHORT $LN3@Node_rep |
| 00011 c7 45 f8 02 00 |
| 00 00 mov DWORD PTR tv72[ebp], 2 |
| 00018 eb 07 jmp SHORT $LN4@Node_rep |
| $LN3@Node_rep: |
| 0001a c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv72[ebp], 0 |
| $LN4@Node_rep: |
| 00021 8b 4d f8 mov ecx, DWORD PTR tv72[ebp] |
| 00024 51 push ecx |
| 00025 6a 12 push 18 ; 00000012H |
| 00027 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002a e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1967 : { // construct |
| |
| 0002f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00032 c7 02 00 00 00 |
| 00 mov DWORD PTR [edx], OFFSET ??_7_Node_rep@std@@6B@ |
| |
| ; 1962 : _Min(_Mn), |
| |
| 00038 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003b 8b 4d 0c mov ecx, DWORD PTR __Mn$[ebp] |
| 0003e 89 48 14 mov DWORD PTR [eax+20], ecx |
| |
| ; 1963 : _Max(_Mx), |
| |
| 00041 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00044 8b 45 10 mov eax, DWORD PTR __Mx$[ebp] |
| 00047 89 42 18 mov DWORD PTR [edx+24], eax |
| |
| ; 1964 : _End_rep(_End), |
| |
| 0004a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004d 8b 55 14 mov edx, DWORD PTR __End$[ebp] |
| 00050 89 51 1c mov DWORD PTR [ecx+28], edx |
| |
| ; 1965 : _Loop_number(_Number), |
| |
| 00053 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00056 8b 4d 18 mov ecx, DWORD PTR __Number$[ebp] |
| 00059 89 48 20 mov DWORD PTR [eax+32], ecx |
| |
| ; 1966 : _Simple_loop(-1) |
| |
| 0005c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0005f c7 42 24 ff ff |
| ff ff mov DWORD PTR [edx+36], -1 |
| |
| ; 1968 : } |
| |
| 00066 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00069 8b e5 mov esp, ebp |
| 0006b 5d pop ebp |
| 0006c c2 14 00 ret 20 ; 00000014H |
| ??0_Node_rep@std@@QAE@_NHHPAV_Node_end_rep@1@I@Z ENDP ; std::_Node_rep::_Node_rep |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_end_rep@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_end_rep@std@@UAEPAXI@Z PROC ; std::_Node_end_rep::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_end_rep@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_end_rep@std@@UAEPAXI@Z ENDP ; std::_Node_end_rep::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_end_rep@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_end_rep@std@@UAE@XZ PROC ; std::_Node_end_rep::~_Node_end_rep, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_end_rep@std@@UAE@XZ ENDP ; std::_Node_end_rep::~_Node_end_rep |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_end_rep@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0_Node_end_rep@std@@QAE@XZ PROC ; std::_Node_end_rep::_Node_end_rep, COMDAT |
| ; _this$ = ecx |
| |
| ; 1938 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1936 : : _Node_base(_N_end_rep), |
| |
| 00007 6a 00 push 0 |
| 00009 6a 13 push 19 ; 00000013H |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1938 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_end_rep@std@@6B@ |
| |
| ; 1937 : _Begin_rep(0) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f c7 41 14 00 00 |
| 00 00 mov DWORD PTR [ecx+20], 0 |
| |
| ; 1939 : } |
| |
| 00026 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00029 8b e5 mov esp, ebp |
| 0002b 5d pop ebp |
| 0002c c3 ret 0 |
| ??0_Node_end_rep@std@@QAE@XZ ENDP ; std::_Node_end_rep::_Node_end_rep |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_if@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_if@std@@UAEPAXI@Z PROC ; std::_Node_if::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_if@std@@UAE@XZ ; std::_Node_if::~_Node_if |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 1c push 28 ; 0000001cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_if@std@@UAEPAXI@Z ENDP ; std::_Node_if::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1_Node_if@std@@UAE@XZ |
| _TEXT SEGMENT |
| __Tmp$1 = -12 ; size = 4 |
| _this$ = -8 ; size = 4 |
| __Cur$ = -4 ; size = 4 |
| ??1_Node_if@std@@UAE@XZ PROC ; std::_Node_if::~_Node_if, COMDAT |
| ; _this$ = ecx |
| |
| ; 1913 : { // destroy branches of if node |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| 00009 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 0000c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_if@std@@6B@ |
| |
| ; 1914 : _Node_if *_Cur = _Child; |
| |
| 00012 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 00018 89 55 fc mov DWORD PTR __Cur$[ebp], edx |
| $LN2@Node_if: |
| |
| ; 1915 : while (_Cur) |
| |
| 0001b 83 7d fc 00 cmp DWORD PTR __Cur$[ebp], 0 |
| 0001f 74 2e je SHORT $LN1@Node_if |
| |
| ; 1916 : { // destroy branch |
| ; 1917 : _Node_if *_Tmp = _Cur; |
| |
| 00021 8b 45 fc mov eax, DWORD PTR __Cur$[ebp] |
| 00024 89 45 f4 mov DWORD PTR __Tmp$1[ebp], eax |
| |
| ; 1918 : _Cur = _Cur->_Child; |
| |
| 00027 8b 4d fc mov ecx, DWORD PTR __Cur$[ebp] |
| 0002a 8b 51 18 mov edx, DWORD PTR [ecx+24] |
| 0002d 89 55 fc mov DWORD PTR __Cur$[ebp], edx |
| |
| ; 1919 : _Tmp->_Child = 0; |
| |
| 00030 8b 45 f4 mov eax, DWORD PTR __Tmp$1[ebp] |
| 00033 c7 40 18 00 00 |
| 00 00 mov DWORD PTR [eax+24], 0 |
| |
| ; 1920 : _Destroy_node(_Tmp, _Endif); |
| |
| 0003a 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0003d 8b 51 14 mov edx, DWORD PTR [ecx+20] |
| 00040 52 push edx |
| 00041 8b 45 f4 mov eax, DWORD PTR __Tmp$1[ebp] |
| 00044 50 push eax |
| 00045 e8 00 00 00 00 call ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ; std::_Destroy_node |
| 0004a 83 c4 08 add esp, 8 |
| |
| ; 1921 : } |
| |
| 0004d eb cc jmp SHORT $LN2@Node_if |
| $LN1@Node_if: |
| |
| ; 1922 : } |
| |
| 0004f 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00052 e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 00057 8b e5 mov esp, ebp |
| 00059 5d pop ebp |
| 0005a c3 ret 0 |
| ??1_Node_if@std@@UAE@XZ ENDP ; std::_Node_if::~_Node_if |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __End$ = 8 ; size = 4 |
| ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z PROC ; std::_Node_if::_Node_if, COMDAT |
| ; _this$ = ecx |
| |
| ; 1909 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1908 : : _Node_base(_N_if, _Fl_none), _Endif((_Node_endif *)_End), _Child(0) |
| |
| 00007 6a 00 push 0 |
| 00009 6a 10 push 16 ; 00000010H |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1909 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_if@std@@6B@ |
| |
| ; 1908 : : _Node_base(_N_if, _Fl_none), _Endif((_Node_endif *)_End), _Child(0) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f 8b 55 08 mov edx, DWORD PTR __End$[ebp] |
| 00022 89 51 14 mov DWORD PTR [ecx+20], edx |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 c7 40 18 00 00 |
| 00 00 mov DWORD PTR [eax+24], 0 |
| |
| ; 1910 : } |
| |
| 0002f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c2 04 00 ret 4 |
| ??0_Node_if@std@@QAE@PAV_Node_base@1@@Z ENDP ; std::_Node_if::_Node_if |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_endif@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_endif@std@@UAEPAXI@Z PROC ; std::_Node_endif::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_endif@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 14 push 20 ; 00000014H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_endif@std@@UAEPAXI@Z ENDP ; std::_Node_endif::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_endif@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_endif@std@@UAE@XZ PROC ; std::_Node_endif::~_Node_endif, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_endif@std@@UAE@XZ ENDP ; std::_Node_endif::~_Node_endif |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_endif@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0_Node_endif@std@@QAE@XZ PROC ; std::_Node_endif::_Node_endif, COMDAT |
| ; _this$ = ecx |
| |
| ; 1898 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1897 : : _Node_base(_N_endif, _Fl_none) |
| |
| 00007 6a 00 push 0 |
| 00009 6a 11 push 17 ; 00000011H |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1898 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_endif@std@@6B@ |
| |
| ; 1899 : } |
| |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c3 ret 0 |
| ??0_Node_endif@std@@QAE@XZ ENDP ; std::_Node_endif::_Node_endif |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_back@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_back@std@@UAEPAXI@Z PROC ; std::_Node_back::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_back@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_back@std@@UAEPAXI@Z ENDP ; std::_Node_back::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_back@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_back@std@@UAE@XZ PROC ; std::_Node_back::~_Node_back, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_back@std@@UAE@XZ ENDP ; std::_Node_back::~_Node_back |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_back@std@@QAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ix$ = 8 ; size = 4 |
| ??0_Node_back@std@@QAE@I@Z PROC ; std::_Node_back::_Node_back, COMDAT |
| ; _this$ = ecx |
| |
| ; 1831 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1830 : : _Node_base(_N_back, _Fl_none), _Idx(_Ix) |
| |
| 00007 6a 00 push 0 |
| 00009 6a 0f push 15 ; 0000000fH |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1831 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_back@std@@6B@ |
| |
| ; 1830 : : _Node_base(_N_back, _Fl_none), _Idx(_Ix) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f 8b 55 08 mov edx, DWORD PTR __Ix$[ebp] |
| 00022 89 51 14 mov DWORD PTR [ecx+20], edx |
| |
| ; 1832 : } |
| |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??0_Node_back@std@@QAE@I@Z ENDP ; std::_Node_back::_Node_back |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_capture@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_capture@std@@UAEPAXI@Z PROC ; std::_Node_capture::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_capture@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_capture@std@@UAEPAXI@Z ENDP ; std::_Node_capture::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_capture@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_capture@std@@UAE@XZ PROC ; std::_Node_capture::~_Node_capture, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_capture@std@@UAE@XZ ENDP ; std::_Node_capture::~_Node_capture |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_capture@std@@QAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ix$ = 8 ; size = 4 |
| ??0_Node_capture@std@@QAE@I@Z PROC ; std::_Node_capture::_Node_capture, COMDAT |
| ; _this$ = ecx |
| |
| ; 1818 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1817 : : _Node_base(_N_capture, _Fl_none), _Idx(_Ix) |
| |
| 00007 6a 00 push 0 |
| 00009 6a 0d push 13 ; 0000000dH |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1818 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_capture@std@@6B@ |
| |
| ; 1817 : : _Node_base(_N_capture, _Fl_none), _Idx(_Ix) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f 8b 55 08 mov edx, DWORD PTR __Ix$[ebp] |
| 00022 89 51 14 mov DWORD PTR [ecx+20], edx |
| |
| ; 1819 : } |
| |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??0_Node_capture@std@@QAE@I@Z ENDP ; std::_Node_capture::_Node_capture |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_assert@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_assert@std@@UAEPAXI@Z PROC ; std::_Node_assert::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_assert@std@@UAE@XZ ; std::_Node_assert::~_Node_assert |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_assert@std@@UAEPAXI@Z ENDP ; std::_Node_assert::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1_Node_assert@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_assert@std@@UAE@XZ PROC ; std::_Node_assert::~_Node_assert, COMDAT |
| ; _this$ = ecx |
| |
| ; 1804 : { // destroy branch |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_assert@std@@6B@ |
| |
| ; 1805 : _Destroy_node(_Child); |
| |
| 00010 6a 00 push 0 |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 14 mov edx, DWORD PTR [ecx+20] |
| 00018 52 push edx |
| 00019 e8 00 00 00 00 call ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ; std::_Destroy_node |
| 0001e 83 c4 08 add esp, 8 |
| |
| ; 1806 : } |
| |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 00029 8b e5 mov esp, ebp |
| 0002b 5d pop ebp |
| 0002c c3 ret 0 |
| ??1_Node_assert@std@@UAE@XZ ENDP ; std::_Node_assert::~_Node_assert |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_assert@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ty$ = 8 ; size = 4 |
| __Fl$ = 12 ; size = 4 |
| ??0_Node_assert@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z PROC ; std::_Node_assert::_Node_assert, COMDAT |
| ; _this$ = ecx |
| |
| ; 1800 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1799 : : _Node_base(_Ty, _Fl), _Child(0) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Fl$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ty$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1800 : { // construct |
| |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a c7 02 00 00 00 |
| 00 mov DWORD PTR [edx], OFFSET ??_7_Node_assert@std@@6B@ |
| |
| ; 1799 : : _Node_base(_Ty, _Fl), _Child(0) |
| |
| 00020 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00023 c7 40 14 00 00 |
| 00 00 mov DWORD PTR [eax+20], 0 |
| |
| ; 1801 : } |
| |
| 0002a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002d 8b e5 mov esp, ebp |
| 0002f 5d pop ebp |
| 00030 c2 08 00 ret 8 |
| ??0_Node_assert@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ENDP ; std::_Node_assert::_Node_assert |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_end_group@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_end_group@std@@UAEPAXI@Z PROC ; std::_Node_end_group::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_end_group@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_end_group@std@@UAEPAXI@Z ENDP ; std::_Node_end_group::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Node_end_group@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_end_group@std@@UAE@XZ PROC ; std::_Node_end_group::~_Node_end_group, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Node_end_group@std@@UAE@XZ ENDP ; std::_Node_end_group::~_Node_end_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_end_group@std@@QAE@W4_Node_type@1@W4_Node_flags@1@PAV_Node_base@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ty$ = 8 ; size = 4 |
| __Fl$ = 12 ; size = 4 |
| __Bx$ = 16 ; size = 4 |
| ??0_Node_end_group@std@@QAE@W4_Node_type@1@W4_Node_flags@1@PAV_Node_base@1@@Z PROC ; std::_Node_end_group::_Node_end_group, COMDAT |
| ; _this$ = ecx |
| |
| ; 1787 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1786 : : _Node_base(_Ty, _Fl), _Back(_Bx) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Fl$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ty$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1787 : { // construct |
| |
| 00017 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001a c7 02 00 00 00 |
| 00 mov DWORD PTR [edx], OFFSET ??_7_Node_end_group@std@@6B@ |
| |
| ; 1786 : : _Node_base(_Ty, _Fl), _Back(_Bx) |
| |
| 00020 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00023 8b 4d 10 mov ecx, DWORD PTR __Bx$[ebp] |
| 00026 89 48 14 mov DWORD PTR [eax+20], ecx |
| |
| ; 1788 : } |
| |
| 00029 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002c 8b e5 mov esp, ebp |
| 0002e 5d pop ebp |
| 0002f c2 0c 00 ret 12 ; 0000000cH |
| ??0_Node_end_group@std@@QAE@W4_Node_type@1@W4_Node_flags@1@PAV_Node_base@1@@Z ENDP ; std::_Node_end_group::_Node_end_group |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Root_node@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Root_node@std@@UAEPAXI@Z PROC ; std::_Root_node::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Root_node@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 24 push 36 ; 00000024H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Root_node@std@@UAEPAXI@Z ENDP ; std::_Root_node::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1_Root_node@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Root_node@std@@UAE@XZ PROC ; std::_Root_node::~_Root_node, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1_Root_node@std@@UAE@XZ ENDP ; std::_Root_node::~_Root_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Root_node@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0_Root_node@std@@QAE@XZ PROC ; std::_Root_node::_Root_node, COMDAT |
| ; _this$ = ecx |
| |
| ; 1769 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1768 : : _Node_base(_N_begin), _Loops(0), _Marks(0), _Refs(0) |
| |
| 00007 6a 00 push 0 |
| 00009 6a 14 push 20 ; 00000014H |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ; std::_Node_base::_Node_base |
| |
| ; 1769 : { // construct |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00016 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Root_node@std@@6B@ |
| |
| ; 1768 : : _Node_base(_N_begin), _Loops(0), _Marks(0), _Refs(0) |
| |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f c7 41 18 00 00 |
| 00 00 mov DWORD PTR [ecx+24], 0 |
| 00026 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00029 c7 42 1c 00 00 |
| 00 00 mov DWORD PTR [edx+28], 0 |
| 00030 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00033 c7 40 20 00 00 |
| 00 00 mov DWORD PTR [eax+32], 0 |
| |
| ; 1770 : static_assert(sizeof (_Refs) == sizeof (_Atomic_counter_t), |
| ; 1771 : "invalid _Refs size"); |
| ; 1772 : } |
| |
| 0003a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003d 8b e5 mov esp, ebp |
| 0003f 5d pop ebp |
| 00040 c3 ret 0 |
| ??0_Root_node@std@@QAE@XZ ENDP ; std::_Root_node::_Root_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z |
| _TEXT SEGMENT |
| tv74 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| __Tmp$2 = -8 ; size = 4 |
| $T3 = -4 ; size = 4 |
| __Nx$ = 8 ; size = 4 |
| __Ne$ = 12 ; size = 4 |
| ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z PROC ; std::_Destroy_node, COMDAT |
| |
| ; 1752 : { // destroy sublist of nodes |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| $LN2@Destroy_no: |
| |
| ; 1753 : while (_Nx != _Ne && _Nx != 0) |
| |
| 00006 8b 45 08 mov eax, DWORD PTR __Nx$[ebp] |
| 00009 3b 45 0c cmp eax, DWORD PTR __Ne$[ebp] |
| 0000c 74 4d je SHORT $LN1@Destroy_no |
| 0000e 83 7d 08 00 cmp DWORD PTR __Nx$[ebp], 0 |
| 00012 74 47 je SHORT $LN1@Destroy_no |
| |
| ; 1754 : { // destroy node |
| ; 1755 : _Node_base *_Tmp = _Nx; |
| |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Nx$[ebp] |
| 00017 89 4d f8 mov DWORD PTR __Tmp$2[ebp], ecx |
| |
| ; 1756 : _Nx = _Nx->_Next; |
| |
| 0001a 8b 55 08 mov edx, DWORD PTR __Nx$[ebp] |
| 0001d 8b 42 0c mov eax, DWORD PTR [edx+12] |
| 00020 89 45 08 mov DWORD PTR __Nx$[ebp], eax |
| |
| ; 1757 : _Tmp->_Next = 0; |
| |
| 00023 8b 4d f8 mov ecx, DWORD PTR __Tmp$2[ebp] |
| 00026 c7 41 0c 00 00 |
| 00 00 mov DWORD PTR [ecx+12], 0 |
| |
| ; 1758 : delete _Tmp; |
| |
| 0002d 8b 55 f8 mov edx, DWORD PTR __Tmp$2[ebp] |
| 00030 89 55 f4 mov DWORD PTR $T1[ebp], edx |
| 00033 8b 45 f4 mov eax, DWORD PTR $T1[ebp] |
| 00036 89 45 fc mov DWORD PTR $T3[ebp], eax |
| 00039 83 7d fc 00 cmp DWORD PTR $T3[ebp], 0 |
| 0003d 74 13 je SHORT $LN5@Destroy_no |
| 0003f 6a 01 push 1 |
| 00041 8b 4d fc mov ecx, DWORD PTR $T3[ebp] |
| 00044 8b 11 mov edx, DWORD PTR [ecx] |
| 00046 8b 4d fc mov ecx, DWORD PTR $T3[ebp] |
| 00049 8b 02 mov eax, DWORD PTR [edx] |
| 0004b ff d0 call eax |
| 0004d 89 45 f0 mov DWORD PTR tv74[ebp], eax |
| 00050 eb 07 jmp SHORT $LN6@Destroy_no |
| $LN5@Destroy_no: |
| 00052 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv74[ebp], 0 |
| $LN6@Destroy_no: |
| |
| ; 1759 : } |
| |
| 00059 eb ab jmp SHORT $LN2@Destroy_no |
| $LN1@Destroy_no: |
| |
| ; 1760 : } |
| |
| 0005b 8b e5 mov esp, ebp |
| 0005d 5d pop ebp |
| 0005e c3 ret 0 |
| ?_Destroy_node@std@@YAXPAV_Node_base@1@0@Z ENDP ; std::_Destroy_node |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Node_base@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Node_base@std@@UAEPAXI@Z PROC ; std::_Node_base::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Node_base@std@@UAE@XZ ; std::_Node_base::~_Node_base |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 14 push 20 ; 00000014H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Node_base@std@@UAEPAXI@Z ENDP ; std::_Node_base::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??1_Node_base@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Node_base@std@@UAE@XZ PROC ; std::_Node_base::~_Node_base, COMDAT |
| ; _this$ = ecx |
| |
| ; 1745 : { // destroy |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_base@std@@6B@ |
| |
| ; 1746 : } |
| |
| 00010 8b e5 mov esp, ebp |
| 00012 5d pop ebp |
| 00013 c3 ret 0 |
| ??1_Node_base@std@@UAE@XZ ENDP ; std::_Node_base::~_Node_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ty$ = 8 ; size = 4 |
| __Fl$ = 12 ; size = 4 |
| ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z PROC ; std::_Node_base::_Node_base, COMDAT |
| ; _this$ = ecx |
| |
| ; 1736 : { // construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Node_base@std@@6B@ |
| |
| ; 1735 : : _Kind(_Ty), _Flags(_Fl), _Next(0), _Prev(0) |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 8b 55 08 mov edx, DWORD PTR __Ty$[ebp] |
| 00016 89 51 04 mov DWORD PTR [ecx+4], edx |
| 00019 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001c 8b 4d 0c mov ecx, DWORD PTR __Fl$[ebp] |
| 0001f 89 48 08 mov DWORD PTR [eax+8], ecx |
| 00022 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00025 c7 42 0c 00 00 |
| 00 00 mov DWORD PTR [edx+12], 0 |
| 0002c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002f c7 40 10 00 00 |
| 00 00 mov DWORD PTR [eax+16], 0 |
| |
| ; 1737 : } |
| |
| 00036 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00039 8b e5 mov esp, ebp |
| 0003b 5d pop ebp |
| 0003c c2 08 00 ret 8 |
| ??0_Node_base@std@@QAE@W4_Node_type@1@W4_Node_flags@1@@Z ENDP ; std::_Node_base::_Node_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0_Bitmap@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0_Bitmap@std@@QAE@XZ PROC ; std::_Bitmap::_Bitmap, COMDAT |
| ; _this$ = ecx |
| |
| ; 1691 : _Bitmap() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1692 : { // construct |
| ; 1693 : _CSTD memset(_Chrs, '\0', _Bmp_size); |
| |
| 00007 6a 20 push 32 ; 00000020H |
| 00009 6a 00 push 0 |
| 0000b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000e 50 push eax |
| 0000f e8 00 00 00 00 call _memset |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1694 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??0_Bitmap@std@@QAE@XZ ENDP ; std::_Bitmap::_Bitmap |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??_6std@@YA?AW4_Node_flags@0@AAW410@W410@@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??_6std@@YA?AW4_Node_flags@0@AAW410@W410@@Z PROC ; std::operator^=, COMDAT |
| |
| ; 1587 : { // bitwise xor |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1588 : return (_Left = _Node_flags((int)_Left ^ _Right)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00006 8b 08 mov ecx, DWORD PTR [eax] |
| 00008 33 4d 0c xor ecx, DWORD PTR __Right$[ebp] |
| 0000b 8b 55 08 mov edx, DWORD PTR __Left$[ebp] |
| 0000e 89 0a mov DWORD PTR [edx], ecx |
| 00010 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00013 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 1589 : } |
| |
| 00015 5d pop ebp |
| 00016 c3 ret 0 |
| ??_6std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ENDP ; std::operator^= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z PROC ; std::operator|=, COMDAT |
| |
| ; 1582 : { // bitwise or |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 1583 : return (_Left = _Node_flags((int)_Left | _Right)); |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00006 8b 08 mov ecx, DWORD PTR [eax] |
| 00008 0b 4d 0c or ecx, DWORD PTR __Right$[ebp] |
| 0000b 8b 55 08 mov edx, DWORD PTR __Left$[ebp] |
| 0000e 89 0a mov DWORD PTR [edx], ecx |
| 00010 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00013 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 1584 : } |
| |
| 00015 5d pop ebp |
| 00016 c3 ret 0 |
| ??_5std@@YA?AW4_Node_flags@0@AAW410@W410@@Z ENDP ; std::operator|= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1?$regex_traits@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$regex_traits@D@std@@QAE@XZ PROC ; std::regex_traits<char>::~regex_traits<char>, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$_Regex_traits@D@std@@QAE@XZ |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$regex_traits@D@std@@QAE@XZ ENDP ; std::regex_traits<char>::~regex_traits<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??0?$regex_traits@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$regex_traits@D@std@@QAE@XZ PROC ; std::regex_traits<char>::regex_traits<char>, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_Regex_traits@D@std@@QAE@XZ ; std::_Regex_traits<char>::_Regex_traits<char> |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??0?$regex_traits@D@std@@QAE@XZ ENDP ; std::regex_traits<char>::regex_traits<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?value@?$regex_traits@D@std@@QBEHDH@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| __Base$ = 12 ; size = 4 |
| ?value@?$regex_traits@D@std@@QBEHDH@Z PROC ; std::regex_traits<char>::value, COMDAT |
| ; _this$ = ecx |
| |
| ; 436 : { // map character value to numeric value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 437 : if ((_Base != 8 && '0' <= _Ch && _Ch <= '9') |
| ; 438 : || (_Base == 8 && '0' <= _Ch && _Ch <= '7')) |
| |
| 00007 83 7d 0c 08 cmp DWORD PTR __Base$[ebp], 8 |
| 0000b 74 12 je SHORT $LN5@value |
| 0000d 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 00011 83 f8 30 cmp eax, 48 ; 00000030H |
| 00014 7c 09 jl SHORT $LN5@value |
| 00016 0f be 4d 08 movsx ecx, BYTE PTR __Ch$[ebp] |
| 0001a 83 f9 39 cmp ecx, 57 ; 00000039H |
| 0001d 7e 18 jle SHORT $LN4@value |
| $LN5@value: |
| 0001f 83 7d 0c 08 cmp DWORD PTR __Base$[ebp], 8 |
| 00023 75 1d jne SHORT $LN2@value |
| 00025 0f be 55 08 movsx edx, BYTE PTR __Ch$[ebp] |
| 00029 83 fa 30 cmp edx, 48 ; 00000030H |
| 0002c 7c 14 jl SHORT $LN2@value |
| 0002e 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 00032 83 f8 37 cmp eax, 55 ; 00000037H |
| 00035 7f 0b jg SHORT $LN2@value |
| $LN4@value: |
| |
| ; 439 : return (_Ch - '0'); |
| |
| 00037 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0003b 83 e8 30 sub eax, 48 ; 00000030H |
| 0003e eb 45 jmp SHORT $LN1@value |
| 00040 eb 40 jmp SHORT $LN3@value |
| $LN2@value: |
| |
| ; 440 : else if (_Base != 16) |
| |
| 00042 83 7d 0c 10 cmp DWORD PTR __Base$[ebp], 16 ; 00000010H |
| 00046 74 02 je SHORT $LN6@value |
| 00048 eb 38 jmp SHORT $LN3@value |
| $LN6@value: |
| |
| ; 441 : ; |
| ; 442 : else if ('a' <= _Ch && _Ch <= 'f') |
| |
| 0004a 0f be 4d 08 movsx ecx, BYTE PTR __Ch$[ebp] |
| 0004e 83 f9 61 cmp ecx, 97 ; 00000061H |
| 00051 7c 14 jl SHORT $LN8@value |
| 00053 0f be 55 08 movsx edx, BYTE PTR __Ch$[ebp] |
| 00057 83 fa 66 cmp edx, 102 ; 00000066H |
| 0005a 7f 0b jg SHORT $LN8@value |
| |
| ; 443 : return (_Ch - 'a' + 10); |
| |
| 0005c 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 00060 83 e8 57 sub eax, 87 ; 00000057H |
| 00063 eb 20 jmp SHORT $LN1@value |
| 00065 eb 1b jmp SHORT $LN3@value |
| $LN8@value: |
| |
| ; 444 : else if ('A' <= _Ch && _Ch <= 'F') |
| |
| 00067 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0006b 83 f8 41 cmp eax, 65 ; 00000041H |
| 0006e 7c 12 jl SHORT $LN3@value |
| 00070 0f be 4d 08 movsx ecx, BYTE PTR __Ch$[ebp] |
| 00074 83 f9 46 cmp ecx, 70 ; 00000046H |
| 00077 7f 09 jg SHORT $LN3@value |
| |
| ; 445 : return (_Ch - 'A' + 10); |
| |
| 00079 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 0007d 83 e8 37 sub eax, 55 ; 00000037H |
| 00080 eb 03 jmp SHORT $LN1@value |
| $LN3@value: |
| |
| ; 446 : return (-1); |
| |
| 00082 83 c8 ff or eax, -1 |
| $LN1@value: |
| |
| ; 447 : } |
| |
| 00085 8b e5 mov esp, ebp |
| 00087 5d pop ebp |
| 00088 c2 08 00 ret 8 |
| ?value@?$regex_traits@D@std@@QBEHDH@Z ENDP ; std::regex_traits<char>::value |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1?$_Regex_traits@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Regex_traits@D@std@@QAE@XZ PROC ; std::_Regex_traits<char>::~_Regex_traits<char>, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 08 add ecx, 8 |
| 0000d e8 00 00 00 00 call ??1locale@std@@QAE@XZ ; std::locale::~locale |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??1?$_Regex_traits@D@std@@QAE@XZ ENDP ; std::_Regex_traits<char>::~_Regex_traits<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Cache_locale@?$_Regex_traits@D@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Cache_locale@?$_Regex_traits@D@std@@AAEXXZ PROC ; std::_Regex_traits<char>::_Cache_locale, COMDAT |
| ; _this$ = ecx |
| |
| ; 419 : { // populate _Pcoll and _Pctype with _Loc locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 420 : _Pcoll = &_USE(_Loc, collate<_Elem>); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 c0 08 add eax, 8 |
| 0000d 50 push eax |
| 0000e e8 00 00 00 00 call ??$use_facet@V?$collate@D@std@@@std@@YAABV?$collate@D@0@ABVlocale@0@@Z ; std::use_facet<std::collate<char> > |
| 00013 83 c4 04 add esp, 4 |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 89 01 mov DWORD PTR [ecx], eax |
| |
| ; 421 : _Pctype = &_USE(_Loc, ctype<_Elem>); |
| |
| 0001b 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001e 83 c2 08 add edx, 8 |
| 00021 52 push edx |
| 00022 e8 00 00 00 00 call ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ; std::use_facet<std::ctype<char> > |
| 00027 83 c4 04 add esp, 4 |
| 0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002d 89 41 04 mov DWORD PTR [ecx+4], eax |
| |
| ; 422 : } |
| |
| 00030 8b e5 mov esp, ebp |
| 00032 5d pop ebp |
| 00033 c3 ret 0 |
| ?_Cache_locale@?$_Regex_traits@D@std@@AAEXXZ ENDP ; std::_Regex_traits<char>::_Cache_locale |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ PROC ; std::_Regex_traits<char>::_Getctype, COMDAT |
| ; _this$ = ecx |
| |
| ; 413 : { // get ctype facet pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 414 : return (_Pctype); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 40 04 mov eax, DWORD PTR [eax+4] |
| |
| ; 415 : } |
| |
| 0000d 8b e5 mov esp, ebp |
| 0000f 5d pop ebp |
| 00010 c3 ret 0 |
| ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ENDP ; std::_Regex_traits<char>::_Getctype |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ PROC ; std::_Regex_traits<char>::_Getcoll, COMDAT |
| ; _this$ = ecx |
| |
| ; 408 : { // get collate facet pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 409 : return (_Pcoll); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 410 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ ENDP ; std::_Regex_traits<char>::_Getcoll |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z |
| _TEXT SEGMENT |
| tv82 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| __Fx$ = 12 ; size = 2 |
| ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z PROC ; std::_Regex_traits<char>::isctype, COMDAT |
| ; _this$ = ecx |
| |
| ; 336 : { // return true if _Ch is in character class _Fx |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 337 : if (_Fx != (char_class_type)(-1)) |
| |
| 00009 0f bf 45 0c movsx eax, WORD PTR __Fx$[ebp] |
| 0000d 83 f8 ff cmp eax, -1 |
| 00010 74 1d je SHORT $LN2@isctype |
| |
| ; 338 : return (_Getctype()->is(_Fx, _Ch)); |
| |
| 00012 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 00016 51 push ecx |
| 00017 0f b7 55 0c movzx edx, WORD PTR __Fx$[ebp] |
| 0001b 52 push edx |
| 0001c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001f e8 00 00 00 00 call ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| 00024 8b c8 mov ecx, eax |
| 00026 e8 00 00 00 00 call ?is@?$ctype@D@std@@QBE_NFD@Z ; std::ctype<char>::is |
| 0002b eb 3e jmp SHORT $LN1@isctype |
| |
| ; 339 : else |
| |
| 0002d eb 3c jmp SHORT $LN1@isctype |
| $LN2@isctype: |
| |
| ; 340 : return (_Ch == '_' // assumes L'_' == '_' |
| |
| 0002f 0f be 45 08 movsx eax, BYTE PTR __Ch$[ebp] |
| 00033 83 f8 5f cmp eax, 95 ; 0000005fH |
| 00036 74 29 je SHORT $LN5@isctype |
| 00038 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 0003c 51 push ecx |
| 0003d 68 07 01 00 00 push 263 ; 00000107H |
| 00042 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00045 e8 00 00 00 00 call ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| 0004a 8b c8 mov ecx, eax |
| 0004c e8 00 00 00 00 call ?is@?$ctype@D@std@@QBE_NFD@Z ; std::ctype<char>::is |
| 00051 0f b6 d0 movzx edx, al |
| 00054 85 d2 test edx, edx |
| 00056 75 09 jne SHORT $LN5@isctype |
| 00058 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv82[ebp], 0 |
| 0005f eb 07 jmp SHORT $LN6@isctype |
| $LN5@isctype: |
| 00061 c7 45 f8 01 00 |
| 00 00 mov DWORD PTR tv82[ebp], 1 |
| $LN6@isctype: |
| 00068 8a 45 f8 mov al, BYTE PTR tv82[ebp] |
| $LN1@isctype: |
| |
| ; 341 : || _Getctype()->is(_Ch_alnum, _Ch)); |
| ; 342 : } |
| |
| 0006b 8b e5 mov esp, ebp |
| 0006d 5d pop ebp |
| 0006e c2 08 00 ret 8 |
| ?isctype@?$_Regex_traits@D@std@@QBE_NDF@Z ENDP ; std::_Regex_traits<char>::isctype |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z PROC ; std::_Regex_traits<char>::translate_nocase, COMDAT |
| ; _this$ = ecx |
| |
| ; 308 : { // provide case-insensitive mapping |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 309 : return (_Getctype()->tolower(_Ch)); |
| |
| 00007 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0000b 50 push eax |
| 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000f e8 00 00 00 00 call ?_Getctype@?$_Regex_traits@D@std@@QBEPBV?$ctype@D@2@XZ ; std::_Regex_traits<char>::_Getctype |
| 00014 8b c8 mov ecx, eax |
| 00016 e8 00 00 00 00 call ?tolower@?$ctype@D@std@@QBEDD@Z ; std::ctype<char>::tolower |
| |
| ; 310 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c2 04 00 ret 4 |
| ?translate_nocase@?$_Regex_traits@D@std@@QBEDD@Z ENDP ; std::_Regex_traits<char>::translate_nocase |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?translate@?$_Regex_traits@D@std@@QBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -36 ; size = 4 |
| $T1 = -30 ; size = 1 |
| tv79 = -29 ; size = 1 |
| __Res$ = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?translate@?$_Regex_traits@D@std@@QBEDD@Z PROC ; std::_Regex_traits<char>::translate, COMDAT |
| ; _this$ = ecx |
| |
| ; 302 : { // provide locale-sensitive mapping |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 89 4d dc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 303 : string_type _Res = _Getcoll()->transform(&_Ch, &_Ch + 1); |
| |
| 00013 8d 45 09 lea eax, DWORD PTR __Ch$[ebp+1] |
| 00016 50 push eax |
| 00017 8d 4d 08 lea ecx, DWORD PTR __Ch$[ebp] |
| 0001a 51 push ecx |
| 0001b 8d 55 e4 lea edx, DWORD PTR __Res$[ebp] |
| 0001e 52 push edx |
| 0001f 8b 4d dc mov ecx, DWORD PTR _this$[ebp] |
| 00022 e8 00 00 00 00 call ?_Getcoll@?$_Regex_traits@D@std@@QBEPBV?$collate@D@2@XZ ; std::_Regex_traits<char>::_Getcoll |
| 00027 8b c8 mov ecx, eax |
| 00029 e8 00 00 00 00 call ?transform@?$collate@D@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z ; std::collate<char>::transform |
| |
| ; 304 : return (_Res.length() == 1 ? _Res[0] : _Ch); |
| |
| 0002e 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 00031 e8 00 00 00 00 call ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length |
| 00036 83 f8 01 cmp eax, 1 |
| 00039 75 11 jne SHORT $LN3@translate |
| 0003b 6a 00 push 0 |
| 0003d 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 00040 e8 00 00 00 00 call ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[] |
| 00045 8a 00 mov al, BYTE PTR [eax] |
| 00047 88 45 e3 mov BYTE PTR tv79[ebp], al |
| 0004a eb 06 jmp SHORT $LN4@translate |
| $LN3@translate: |
| 0004c 8a 4d 08 mov cl, BYTE PTR __Ch$[ebp] |
| 0004f 88 4d e3 mov BYTE PTR tv79[ebp], cl |
| $LN4@translate: |
| 00052 8a 55 e3 mov dl, BYTE PTR tv79[ebp] |
| 00055 88 55 e2 mov BYTE PTR $T1[ebp], dl |
| 00058 8d 4d e4 lea ecx, DWORD PTR __Res$[ebp] |
| 0005b e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 00060 8a 45 e2 mov al, BYTE PTR $T1[ebp] |
| |
| ; 305 : } |
| |
| 00063 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 00066 33 cd xor ecx, ebp |
| 00068 e8 00 00 00 00 call @__security_check_cookie@4 |
| 0006d 8b e5 mov esp, ebp |
| 0006f 5d pop ebp |
| 00070 c2 04 00 ret 4 |
| ?translate@?$_Regex_traits@D@std@@QBEDD@Z ENDP ; std::_Regex_traits<char>::translate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??0?$_Regex_traits@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Regex_traits@D@std@@QAE@XZ PROC ; std::_Regex_traits<char>::_Regex_traits<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 283 : _Regex_traits() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 284 : { // default construct |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a 83 c1 08 add ecx, 8 |
| 0000d e8 00 00 00 00 call ??0locale@std@@QAE@XZ ; std::locale::locale |
| |
| ; 285 : _Cache_locale(); |
| |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 e8 00 00 00 00 call ?_Cache_locale@?$_Regex_traits@D@std@@AAEXXZ ; std::_Regex_traits<char>::_Cache_locale |
| |
| ; 286 : } |
| |
| 0001a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001d 8b e5 mov esp, ebp |
| 0001f 5d pop ebp |
| 00020 c3 ret 0 |
| ??0?$_Regex_traits@D@std@@QAE@XZ ENDP ; std::_Regex_traits<char>::_Regex_traits<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ?length@?$_Regex_traits@D@std@@SAIPBD@Z |
| _TEXT SEGMENT |
| __Str$ = 8 ; size = 4 |
| ?length@?$_Regex_traits@D@std@@SAIPBD@Z PROC ; std::_Regex_traits<char>::length, COMDAT |
| |
| ; 276 : { // return length of _Str |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 277 : if (_Str == 0) |
| |
| 00003 83 7d 08 00 cmp DWORD PTR __Str$[ebp], 0 |
| 00007 75 07 jne SHORT $LN2@length |
| |
| ; 278 : _Xregex_error( |
| |
| 00009 6a 0d push 13 ; 0000000dH |
| 0000b e8 00 00 00 00 call ?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z ; std::_Xregex_error |
| $LN2@length: |
| |
| ; 279 : regex_constants::error_parse); // to quiet diagnostics |
| ; 280 : return (char_traits<_Elem>::length(_Str)); |
| |
| 00010 8b 45 08 mov eax, DWORD PTR __Str$[ebp] |
| 00013 50 push eax |
| 00014 e8 00 00 00 00 call ?length@?$char_traits@D@std@@SAIPBD@Z ; std::char_traits<char>::length |
| 00019 83 c4 04 add esp, 4 |
| $LN3@length: |
| |
| ; 281 : } |
| |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ?length@?$_Regex_traits@D@std@@SAIPBD@Z ENDP ; std::_Regex_traits<char>::length |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??$_Get@D@_Cl_names@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??$_Get@D@_Cl_names@std@@QBEPBDXZ PROC ; std::_Cl_names::_Get<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 180 : { // get narrow pointer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 181 : return (_Narrow); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 182 : } |
| |
| 0000c 8b e5 mov esp, ebp |
| 0000e 5d pop ebp |
| 0000f c3 ret 0 |
| ??$_Get@D@_Cl_names@std@@QBEPBDXZ ENDP ; std::_Cl_names::_Get<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z PROC ; std::regex_constants::operator|, COMDAT |
| |
| ; 118 : _BITMASK_OPS(syntax_option_type) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00006 0b 45 0c or eax, DWORD PTR __Right$[ebp] |
| 00009 5d pop ebp |
| 0000a c3 ret 0 |
| ??Uregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ENDP ; std::regex_constants::operator| |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\regex |
| ; COMDAT ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z PROC ; std::regex_constants::operator&, COMDAT |
| |
| ; 118 : _BITMASK_OPS(syntax_option_type) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00006 23 45 0c and eax, DWORD PTR __Right$[ebp] |
| 00009 5d pop ebp |
| 0000a c3 ret 0 |
| ??Iregex_constants@std@@YA?AW4syntax_option_type@01@W4201@0@Z ENDP ; std::regex_constants::operator& |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z |
| _TEXT SEGMENT |
| $T1 = -36 ; size = 12 |
| $T2 = -24 ; size = 4 |
| __Lock$3 = -20 ; size = 4 |
| __Id$4 = -16 ; size = 4 |
| __Pfmod$5 = -12 ; size = 4 |
| __Pf$6 = -8 ; size = 4 |
| __Psave$7 = -4 ; size = 4 |
| __Loc$ = 8 ; size = 4 |
| ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z PROC ; std::use_facet<std::ctype<char> >, COMDAT |
| |
| ; 553 : { // get facet reference from locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| |
| ; 554 : #if _NO_LOCALES |
| ; 555 : static _Wrap_facet<_Facet> _Wfac; |
| ; 556 : return (*(_Facet *)&_Wfac); |
| ; 557 : |
| ; 558 : #else /* _NO_LOCALES */ |
| ; 559 : _BEGIN_LOCK(_LOCK_LOCALE) // the thread lock, make get atomic |
| |
| 00006 6a 00 push 0 |
| 00008 8d 4d ec lea ecx, DWORD PTR __Lock$3[ebp] |
| 0000b e8 00 00 00 00 call ??0_Lockit@std@@QAE@H@Z ; std::_Lockit::_Lockit |
| |
| ; 560 : const locale::facet *_Psave = |
| ; 561 : _Facetptr<_Facet>::_Psave; // static pointer to lazy facet |
| |
| 00010 a1 00 00 00 00 mov eax, DWORD PTR ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B ; std::_Facetptr<std::ctype<char> >::_Psave |
| 00015 89 45 fc mov DWORD PTR __Psave$7[ebp], eax |
| |
| ; 562 : |
| ; 563 : size_t _Id = _Facet::id; |
| |
| 00018 b9 00 00 00 00 mov ecx, OFFSET ?id@?$ctype@D@std@@2V0locale@2@A ; std::ctype<char>::id |
| 0001d e8 00 00 00 00 call ??Bid@locale@std@@QAEIXZ ; std::locale::id::operator unsigned int |
| 00022 89 45 f0 mov DWORD PTR __Id$4[ebp], eax |
| |
| ; 564 : const locale::facet *_Pf = _Loc._Getfacet(_Id); |
| |
| 00025 8b 4d f0 mov ecx, DWORD PTR __Id$4[ebp] |
| 00028 51 push ecx |
| 00029 8b 4d 08 mov ecx, DWORD PTR __Loc$[ebp] |
| 0002c e8 00 00 00 00 call ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ; std::locale::_Getfacet |
| 00031 89 45 f8 mov DWORD PTR __Pf$6[ebp], eax |
| |
| ; 565 : |
| ; 566 : if (_Pf != 0) |
| |
| 00034 83 7d f8 00 cmp DWORD PTR __Pf$6[ebp], 0 |
| 00038 74 02 je SHORT $LN2@use_facet |
| 0003a eb 69 jmp SHORT $LN3@use_facet |
| $LN2@use_facet: |
| |
| ; 567 : ; // got facet from locale |
| ; 568 : else if (_Psave != 0) |
| |
| 0003c 83 7d fc 00 cmp DWORD PTR __Psave$7[ebp], 0 |
| 00040 74 08 je SHORT $LN4@use_facet |
| |
| ; 569 : _Pf = _Psave; // lazy facet already allocated |
| |
| 00042 8b 55 fc mov edx, DWORD PTR __Psave$7[ebp] |
| 00045 89 55 f8 mov DWORD PTR __Pf$6[ebp], edx |
| 00048 eb 5b jmp SHORT $LN3@use_facet |
| $LN4@use_facet: |
| |
| ; 570 : else if (_Facet::_Getcat(&_Psave, &_Loc) == (size_t)(-1)) |
| |
| 0004a 8b 45 08 mov eax, DWORD PTR __Loc$[ebp] |
| 0004d 50 push eax |
| 0004e 8d 4d fc lea ecx, DWORD PTR __Psave$7[ebp] |
| 00051 51 push ecx |
| 00052 e8 00 00 00 00 call ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ; std::ctype<char>::_Getcat |
| 00057 83 c4 08 add esp, 8 |
| 0005a 83 f8 ff cmp eax, -1 |
| 0005d 75 18 jne SHORT $LN6@use_facet |
| |
| ; 571 : |
| ; 572 : #if _HAS_EXCEPTIONS |
| ; 573 : |
| ; 574 : _THROW_NCEE(_XSTD bad_cast, _EMPTY_ARGUMENT); // lazy disallowed |
| |
| 0005f 8d 4d dc lea ecx, DWORD PTR $T1[ebp] |
| 00062 e8 00 00 00 00 call ??0bad_cast@std@@QAE@XZ ; std::bad_cast::bad_cast |
| 00067 68 00 00 00 00 push OFFSET __TI2?AVbad_cast@std@@ |
| 0006c 8d 55 dc lea edx, DWORD PTR $T1[ebp] |
| 0006f 52 push edx |
| 00070 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 575 : |
| ; 576 : #else /* _HAS_EXCEPTIONS */ |
| ; 577 : abort(); // lazy disallowed |
| ; 578 : #endif /* _HAS_EXCEPTIONS */ |
| ; 579 : |
| ; 580 : else |
| |
| 00075 eb 2e jmp SHORT $LN3@use_facet |
| $LN6@use_facet: |
| |
| ; 581 : { // queue up lazy facet for destruction |
| ; 582 : _Pf = _Psave; |
| |
| 00077 8b 45 fc mov eax, DWORD PTR __Psave$7[ebp] |
| 0007a 89 45 f8 mov DWORD PTR __Pf$6[ebp], eax |
| |
| ; 583 : _Facetptr<_Facet>::_Psave = _Psave; |
| |
| 0007d 8b 4d fc mov ecx, DWORD PTR __Psave$7[ebp] |
| 00080 89 0d 00 00 00 |
| 00 mov DWORD PTR ?_Psave@?$_Facetptr@V?$ctype@D@std@@@std@@2PBVfacet@locale@2@B, ecx ; std::_Facetptr<std::ctype<char> >::_Psave |
| |
| ; 584 : |
| ; 585 : locale::facet *_Pfmod = (_Facet *)_Psave; |
| |
| 00086 8b 55 fc mov edx, DWORD PTR __Psave$7[ebp] |
| 00089 89 55 f4 mov DWORD PTR __Pfmod$5[ebp], edx |
| |
| ; 586 : _Pfmod->_Incref(); |
| |
| 0008c 8b 45 f4 mov eax, DWORD PTR __Pfmod$5[ebp] |
| 0008f 8b 10 mov edx, DWORD PTR [eax] |
| 00091 8b 4d f4 mov ecx, DWORD PTR __Pfmod$5[ebp] |
| 00094 8b 42 04 mov eax, DWORD PTR [edx+4] |
| 00097 ff d0 call eax |
| |
| ; 587 : |
| ; 588 : #if defined(_M_CEE) |
| ; 589 : _Facet_Register_m(_Pfmod); |
| ; 590 : |
| ; 591 : #else /* defined(_M_CEE) */ |
| ; 592 : _Facet_Register(_Pfmod); |
| |
| 00099 8b 4d f4 mov ecx, DWORD PTR __Pfmod$5[ebp] |
| 0009c 51 push ecx |
| 0009d e8 00 00 00 00 call ?_Facet_Register@std@@YAXPAV_Facet_base@1@@Z ; std::_Facet_Register |
| 000a2 83 c4 04 add esp, 4 |
| $LN3@use_facet: |
| |
| ; 593 : #endif /* defined(_M_CEE) */ |
| ; 594 : } |
| ; 595 : |
| ; 596 : return ((const _Facet&)(*_Pf)); // should be dynamic_cast |
| |
| 000a5 8b 55 f8 mov edx, DWORD PTR __Pf$6[ebp] |
| 000a8 89 55 e8 mov DWORD PTR $T2[ebp], edx |
| 000ab 8d 4d ec lea ecx, DWORD PTR __Lock$3[ebp] |
| 000ae e8 00 00 00 00 call ??1_Lockit@std@@QAE@XZ ; std::_Lockit::~_Lockit |
| 000b3 8b 45 e8 mov eax, DWORD PTR $T2[ebp] |
| $LN8@use_facet: |
| |
| ; 597 : _END_LOCK() |
| ; 598 : #endif /* _NO_LOCALES */ |
| ; 599 : } // end of use_facet body |
| |
| 000b6 8b e5 mov esp, ebp |
| 000b8 5d pop ebp |
| 000b9 c3 ret 0 |
| ??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z ENDP ; std::use_facet<std::ctype<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G?$ctype@D@std@@MAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G?$ctype@D@std@@MAEPAXI@Z PROC ; std::ctype<char>::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1?$ctype@D@std@@MAE@XZ ; std::ctype<char>::~ctype<char> |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 18 push 24 ; 00000018H |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G?$ctype@D@std@@MAEPAXI@Z ENDP ; std::ctype<char>::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ___formal$ = 16 ; size = 1 |
| __Dest$ = 20 ; size = 4 |
| ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z PROC ; std::ctype<char>::do_narrow, COMDAT |
| ; _this$ = ecx |
| |
| ; 2558 : { // narrow elements in [_First, _Last) to chars |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2559 : _DEBUG_RANGE_PTR(_First, _Last, _Dest); |
| ; 2560 : _CSTD memcpy(_Dest, _First, _Last - _First); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 0000a 2b 45 08 sub eax, DWORD PTR __First$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00011 51 push ecx |
| 00012 8b 55 14 mov edx, DWORD PTR __Dest$[ebp] |
| 00015 52 push edx |
| 00016 e8 00 00 00 00 call _memcpy |
| 0001b 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2561 : return (_Last); |
| |
| 0001e 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| |
| ; 2562 : } |
| |
| 00021 8b e5 mov esp, ebp |
| 00023 5d pop ebp |
| 00024 c2 10 00 ret 16 ; 00000010H |
| ?do_narrow@?$ctype@D@std@@MBEPBDPBD0DPAD@Z ENDP ; std::ctype<char>::do_narrow |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_narrow@?$ctype@D@std@@MBEDDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ___formal$ = 12 ; size = 1 |
| ?do_narrow@?$ctype@D@std@@MBEDDD@Z PROC ; std::ctype<char>::do_narrow, COMDAT |
| ; _this$ = ecx |
| |
| ; 2552 : { // narrow char |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2553 : return (_Ch); |
| |
| 00007 8a 45 08 mov al, BYTE PTR __Ch$[ebp] |
| |
| ; 2554 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c2 08 00 ret 8 |
| ?do_narrow@?$ctype@D@std@@MBEDDD@Z ENDP ; std::ctype<char>::do_narrow |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __Dest$ = 16 ; size = 4 |
| ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z PROC ; std::ctype<char>::do_widen, COMDAT |
| ; _this$ = ecx |
| |
| ; 2545 : { // widen chars in [_First, _Last) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2546 : _DEBUG_RANGE_PTR(_First, _Last, _Dest); |
| ; 2547 : _CSTD memcpy(_Dest, _First, _Last - _First); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 0000a 2b 45 08 sub eax, DWORD PTR __First$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00011 51 push ecx |
| 00012 8b 55 10 mov edx, DWORD PTR __Dest$[ebp] |
| 00015 52 push edx |
| 00016 e8 00 00 00 00 call _memcpy |
| 0001b 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 2548 : return (_Last); |
| |
| 0001e 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| |
| ; 2549 : } |
| |
| 00021 8b e5 mov esp, ebp |
| 00023 5d pop ebp |
| 00024 c2 0c 00 ret 12 ; 0000000cH |
| ?do_widen@?$ctype@D@std@@MBEPBDPBD0PAD@Z ENDP ; std::ctype<char>::do_widen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_widen@?$ctype@D@std@@MBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Byte$ = 8 ; size = 1 |
| ?do_widen@?$ctype@D@std@@MBEDD@Z PROC ; std::ctype<char>::do_widen, COMDAT |
| ; _this$ = ecx |
| |
| ; 2539 : { // widen char |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2540 : return (_Byte); |
| |
| 00007 8a 45 08 mov al, BYTE PTR __Byte$[ebp] |
| |
| ; 2541 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c2 04 00 ret 4 |
| ?do_widen@?$ctype@D@std@@MBEDD@Z ENDP ; std::ctype<char>::do_widen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z PROC ; std::ctype<char>::do_toupper, COMDAT |
| ; _this$ = ecx |
| |
| ; 2531 : { // convert [_First, _Last) in place to upper case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2532 : _DEBUG_RANGE((const _Elem *)_First, _Last); |
| ; 2533 : for (; _First != _Last; ++_First) |
| |
| 00007 eb 09 jmp SHORT $LN4@do_toupper |
| $LN2@do_toupper: |
| 00009 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0000c 83 c0 01 add eax, 1 |
| 0000f 89 45 08 mov DWORD PTR __First$[ebp], eax |
| $LN4@do_toupper: |
| 00012 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00015 3b 4d 0c cmp ecx, DWORD PTR __Last$[ebp] |
| 00018 74 1d je SHORT $LN3@do_toupper |
| |
| ; 2534 : *_First = (_Elem)_Toupper((unsigned char)*_First, &_Ctype); |
| |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d 83 c2 08 add edx, 8 |
| 00020 52 push edx |
| 00021 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00024 0f b6 08 movzx ecx, BYTE PTR [eax] |
| 00027 51 push ecx |
| 00028 e8 00 00 00 00 call __Toupper |
| 0002d 83 c4 08 add esp, 8 |
| 00030 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00033 88 02 mov BYTE PTR [edx], al |
| 00035 eb d2 jmp SHORT $LN2@do_toupper |
| $LN3@do_toupper: |
| |
| ; 2535 : return ((const _Elem *)_First); |
| |
| 00037 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| |
| ; 2536 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c2 08 00 ret 8 |
| ?do_toupper@?$ctype@D@std@@MBEPBDPADPBD@Z ENDP ; std::ctype<char>::do_toupper |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_toupper@?$ctype@D@std@@MBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?do_toupper@?$ctype@D@std@@MBEDD@Z PROC ; std::ctype<char>::do_toupper, COMDAT |
| ; _this$ = ecx |
| |
| ; 2525 : { // convert element to upper case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2526 : return ((_Elem)_Toupper((unsigned char)_Ch, &_Ctype)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 c0 08 add eax, 8 |
| 0000d 50 push eax |
| 0000e 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 00012 51 push ecx |
| 00013 e8 00 00 00 00 call __Toupper |
| 00018 83 c4 08 add esp, 8 |
| |
| ; 2527 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c2 04 00 ret 4 |
| ?do_toupper@?$ctype@D@std@@MBEDD@Z ENDP ; std::ctype<char>::do_toupper |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z PROC ; std::ctype<char>::do_tolower, COMDAT |
| ; _this$ = ecx |
| |
| ; 2517 : { // convert [_First, _Last) in place to lower case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2518 : _DEBUG_RANGE((const _Elem *)_First, _Last); |
| ; 2519 : for (; _First != _Last; ++_First) |
| |
| 00007 eb 09 jmp SHORT $LN4@do_tolower |
| $LN2@do_tolower: |
| 00009 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 0000c 83 c0 01 add eax, 1 |
| 0000f 89 45 08 mov DWORD PTR __First$[ebp], eax |
| $LN4@do_tolower: |
| 00012 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 00015 3b 4d 0c cmp ecx, DWORD PTR __Last$[ebp] |
| 00018 74 1d je SHORT $LN3@do_tolower |
| |
| ; 2520 : *_First = (_Elem)_Tolower((unsigned char)*_First, &_Ctype); |
| |
| 0001a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001d 83 c2 08 add edx, 8 |
| 00020 52 push edx |
| 00021 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00024 0f b6 08 movzx ecx, BYTE PTR [eax] |
| 00027 51 push ecx |
| 00028 e8 00 00 00 00 call __Tolower |
| 0002d 83 c4 08 add esp, 8 |
| 00030 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00033 88 02 mov BYTE PTR [edx], al |
| 00035 eb d2 jmp SHORT $LN2@do_tolower |
| $LN3@do_tolower: |
| |
| ; 2521 : return ((const _Elem *)_First); |
| |
| 00037 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| |
| ; 2522 : } |
| |
| 0003a 8b e5 mov esp, ebp |
| 0003c 5d pop ebp |
| 0003d c2 08 00 ret 8 |
| ?do_tolower@?$ctype@D@std@@MBEPBDPADPBD@Z ENDP ; std::ctype<char>::do_tolower |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?do_tolower@?$ctype@D@std@@MBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?do_tolower@?$ctype@D@std@@MBEDD@Z PROC ; std::ctype<char>::do_tolower, COMDAT |
| ; _this$ = ecx |
| |
| ; 2511 : { // convert element to lower case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2512 : return ((_Elem)_Tolower((unsigned char)_Ch, &_Ctype)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 c0 08 add eax, 8 |
| 0000d 50 push eax |
| 0000e 0f b6 4d 08 movzx ecx, BYTE PTR __Ch$[ebp] |
| 00012 51 push ecx |
| 00013 e8 00 00 00 00 call __Tolower |
| 00018 83 c4 08 add esp, 8 |
| |
| ; 2513 : } |
| |
| 0001b 8b e5 mov esp, ebp |
| 0001d 5d pop ebp |
| 0001e c2 04 00 ret 4 |
| ?do_tolower@?$ctype@D@std@@MBEDD@Z ENDP ; std::ctype<char>::do_tolower |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Tidy@?$ctype@D@std@@IAEXXZ |
| _TEXT SEGMENT |
| $T1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$ctype@D@std@@IAEXXZ PROC ; std::ctype<char>::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2501 : { // free any allocated storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2502 : if (0 < _Ctype._Delfl) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 10 00 cmp DWORD PTR [eax+16], 0 |
| 00010 7e 11 jle SHORT $LN2@Tidy |
| |
| ; 2503 : _CSTD free((void *)_Ctype._Table); |
| |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00018 52 push edx |
| 00019 e8 00 00 00 00 call _free |
| 0001e 83 c4 04 add esp, 4 |
| 00021 eb 1e jmp SHORT $LN3@Tidy |
| $LN2@Tidy: |
| |
| ; 2504 : else if (_Ctype._Delfl < 0) |
| |
| 00023 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00026 83 78 10 00 cmp DWORD PTR [eax+16], 0 |
| 0002a 7d 15 jge SHORT $LN3@Tidy |
| |
| ; 2505 : delete[] _Ctype._Table; |
| |
| 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002f 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00032 89 55 f8 mov DWORD PTR $T1[ebp], edx |
| 00035 8b 45 f8 mov eax, DWORD PTR $T1[ebp] |
| 00038 50 push eax |
| 00039 e8 00 00 00 00 call ??_V@YAXPAX@Z ; operator delete[] |
| 0003e 83 c4 04 add esp, 4 |
| $LN3@Tidy: |
| |
| ; 2506 : |
| ; 2507 : _CSTD free(_Ctype._LocaleName); |
| |
| 00041 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00044 8b 51 14 mov edx, DWORD PTR [ecx+20] |
| 00047 52 push edx |
| 00048 e8 00 00 00 00 call _free |
| 0004d 83 c4 04 add esp, 4 |
| |
| ; 2508 : } |
| |
| 00050 8b e5 mov esp, ebp |
| 00052 5d pop ebp |
| 00053 c3 ret 0 |
| ?_Tidy@?$ctype@D@std@@IAEXXZ ENDP ; std::ctype<char>::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z |
| _TEXT SEGMENT |
| $T1 = -20 ; size = 16 |
| _this$ = -4 ; size = 4 |
| __Lobj$ = 8 ; size = 4 |
| ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z PROC ; std::ctype<char>::_Init, COMDAT |
| ; _this$ = ecx |
| |
| ; 2496 : { // initialize from _Lobj |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2497 : _Ctype = _Lobj._Getctype(); |
| |
| 00009 8d 45 ec lea eax, DWORD PTR $T1[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 08 mov ecx, DWORD PTR __Lobj$[ebp] |
| 00010 e8 00 00 00 00 call ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ ; std::_Locinfo::_Getctype |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 83 c1 08 add ecx, 8 |
| 0001b 8b 10 mov edx, DWORD PTR [eax] |
| 0001d 89 11 mov DWORD PTR [ecx], edx |
| 0001f 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 00022 89 51 04 mov DWORD PTR [ecx+4], edx |
| 00025 8b 50 08 mov edx, DWORD PTR [eax+8] |
| 00028 89 51 08 mov DWORD PTR [ecx+8], edx |
| 0002b 8b 40 0c mov eax, DWORD PTR [eax+12] |
| 0002e 89 41 0c mov DWORD PTR [ecx+12], eax |
| |
| ; 2498 : } |
| |
| 00031 8b e5 mov esp, ebp |
| 00033 5d pop ebp |
| 00034 c2 04 00 ret 4 |
| ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z ENDP ; std::ctype<char>::_Init |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??1?$ctype@D@std@@MAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$ctype@D@std@@MAE@XZ PROC ; std::ctype<char>::~ctype<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 2491 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7?$ctype@D@std@@6B@ |
| |
| ; 2492 : _Tidy(); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Tidy@?$ctype@D@std@@IAEXXZ ; std::ctype<char>::_Tidy |
| |
| ; 2493 : } |
| |
| 00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001b e8 00 00 00 00 call ??1ctype_base@std@@UAE@XZ ; std::ctype_base::~ctype_base |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c3 ret 0 |
| ??1?$ctype@D@std@@MAE@XZ ENDP ; std::ctype<char>::~ctype<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z |
| _TEXT SEGMENT |
| $T1 = -64 ; size = 52 |
| tv86 = -12 ; size = 4 |
| $T2 = -8 ; size = 4 |
| $T3 = -4 ; size = 4 |
| __Ppf$ = 8 ; size = 4 |
| __Ploc$ = 12 ; size = 4 |
| ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z PROC ; std::ctype<char>::_Getcat, COMDAT |
| |
| ; 2468 : { // return locale category mask and construct standard facet |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 40 sub esp, 64 ; 00000040H |
| 00006 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR $T3[ebp], 0 |
| |
| ; 2469 : if (_Ppf != 0 && *_Ppf == 0) |
| |
| 0000d 83 7d 08 00 cmp DWORD PTR __Ppf$[ebp], 0 |
| 00011 74 63 je SHORT $LN2@Getcat |
| 00013 8b 45 08 mov eax, DWORD PTR __Ppf$[ebp] |
| 00016 83 38 00 cmp DWORD PTR [eax], 0 |
| 00019 75 5b jne SHORT $LN2@Getcat |
| |
| ; 2470 : *_Ppf = new ctype<_Elem>( |
| |
| 0001b 6a 18 push 24 ; 00000018H |
| 0001d e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00022 83 c4 04 add esp, 4 |
| 00025 89 45 f8 mov DWORD PTR $T2[ebp], eax |
| 00028 83 7d f8 00 cmp DWORD PTR $T2[ebp], 0 |
| 0002c 74 25 je SHORT $LN4@Getcat |
| 0002e 6a 00 push 0 |
| 00030 8b 4d 0c mov ecx, DWORD PTR __Ploc$[ebp] |
| 00033 e8 00 00 00 00 call ?c_str@locale@std@@QBEPBDXZ ; std::locale::c_str |
| 00038 50 push eax |
| 00039 8d 4d c0 lea ecx, DWORD PTR $T1[ebp] |
| 0003c e8 00 00 00 00 call ??0_Locinfo@std@@QAE@PBD@Z ; std::_Locinfo::_Locinfo |
| 00041 83 4d fc 01 or DWORD PTR $T3[ebp], 1 |
| 00045 50 push eax |
| 00046 8b 4d f8 mov ecx, DWORD PTR $T2[ebp] |
| 00049 e8 00 00 00 00 call ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z ; std::ctype<char>::ctype<char> |
| 0004e 89 45 f4 mov DWORD PTR tv86[ebp], eax |
| 00051 eb 07 jmp SHORT $LN5@Getcat |
| $LN4@Getcat: |
| 00053 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv86[ebp], 0 |
| $LN5@Getcat: |
| 0005a 8b 4d 08 mov ecx, DWORD PTR __Ppf$[ebp] |
| 0005d 8b 55 f4 mov edx, DWORD PTR tv86[ebp] |
| 00060 89 11 mov DWORD PTR [ecx], edx |
| 00062 8b 45 fc mov eax, DWORD PTR $T3[ebp] |
| 00065 83 e0 01 and eax, 1 |
| 00068 74 0c je SHORT $LN2@Getcat |
| 0006a 83 65 fc fe and DWORD PTR $T3[ebp], -2 ; fffffffeH |
| 0006e 8d 4d c0 lea ecx, DWORD PTR $T1[ebp] |
| 00071 e8 00 00 00 00 call ??1_Locinfo@std@@QAE@XZ ; std::_Locinfo::~_Locinfo |
| $LN2@Getcat: |
| |
| ; 2471 : _Locinfo(_Ploc->c_str())); |
| ; 2472 : return (_X_CTYPE); |
| |
| 00076 b8 02 00 00 00 mov eax, 2 |
| |
| ; 2473 : } |
| |
| 0007b 8b e5 mov esp, ebp |
| 0007d 5d pop ebp |
| 0007e c3 ret 0 |
| ?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z ENDP ; std::ctype<char>::_Getcat |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Lobj$ = 8 ; size = 4 |
| __Refs$ = 12 ; size = 4 |
| ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z PROC ; std::ctype<char>::ctype<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 2462 : { // construct from current locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2461 : : ctype_base(_Refs) |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Refs$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0ctype_base@std@@QAE@I@Z ; std::ctype_base::ctype_base |
| |
| ; 2462 : { // construct from current locale |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7?$ctype@D@std@@6B@ |
| |
| ; 2463 : _Init(_Lobj); |
| |
| 0001c 8b 55 08 mov edx, DWORD PTR __Lobj$[ebp] |
| 0001f 52 push edx |
| 00020 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00023 e8 00 00 00 00 call ?_Init@?$ctype@D@std@@IAEXABV_Locinfo@2@@Z ; std::ctype<char>::_Init |
| |
| ; 2464 : } |
| |
| 00028 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002b 8b e5 mov esp, ebp |
| 0002d 5d pop ebp |
| 0002e c2 08 00 ret 8 |
| ??0?$ctype@D@std@@QAE@ABV_Locinfo@1@I@Z ENDP ; std::ctype<char>::ctype<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z PROC ; std::ctype<char>::tolower, COMDAT |
| ; _this$ = ecx |
| |
| ; 2400 : { // convert [_First, _Last) in place to lower case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2401 : return (do_tolower(_First, _Last)); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Last$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __First$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00012 8b 02 mov eax, DWORD PTR [edx] |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 8b 50 0c mov edx, DWORD PTR [eax+12] |
| 0001a ff d2 call edx |
| |
| ; 2402 : } |
| |
| 0001c 8b e5 mov esp, ebp |
| 0001e 5d pop ebp |
| 0001f c2 08 00 ret 8 |
| ?tolower@?$ctype@D@std@@QBEPBDPADPBD@Z ENDP ; std::ctype<char>::tolower |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?tolower@?$ctype@D@std@@QBEDD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ch$ = 8 ; size = 1 |
| ?tolower@?$ctype@D@std@@QBEDD@Z PROC ; std::ctype<char>::tolower, COMDAT |
| ; _this$ = ecx |
| |
| ; 2395 : { // convert element to lower case |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2396 : return (do_tolower(_Ch)); |
| |
| 00007 0f b6 45 08 movzx eax, BYTE PTR __Ch$[ebp] |
| 0000b 50 push eax |
| 0000c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000f 8b 11 mov edx, DWORD PTR [ecx] |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 8b 42 10 mov eax, DWORD PTR [edx+16] |
| 00017 ff d0 call eax |
| |
| ; 2397 : } |
| |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c2 04 00 ret 4 |
| ?tolower@?$ctype@D@std@@QBEDD@Z ENDP ; std::ctype<char>::tolower |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?is@?$ctype@D@std@@QBE_NFD@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| tv73 = -4 ; size = 4 |
| __Maskval$ = 8 ; size = 2 |
| __Ch$ = 12 ; size = 1 |
| ?is@?$ctype@D@std@@QBE_NFD@Z PROC ; std::ctype<char>::is, COMDAT |
| ; _this$ = ecx |
| |
| ; 2363 : { // test if element fits any mask classifications |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2364 : return ((_Ctype._Table[(unsigned char)_Ch] & _Maskval) != 0); |
| |
| 00009 0f b6 45 0c movzx eax, BYTE PTR __Ch$[ebp] |
| 0000d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00010 8b 51 0c mov edx, DWORD PTR [ecx+12] |
| 00013 0f bf 04 42 movsx eax, WORD PTR [edx+eax*2] |
| 00017 0f bf 4d 08 movsx ecx, WORD PTR __Maskval$[ebp] |
| 0001b 23 c1 and eax, ecx |
| 0001d 74 09 je SHORT $LN3@is |
| 0001f c7 45 fc 01 00 |
| 00 00 mov DWORD PTR tv73[ebp], 1 |
| 00026 eb 07 jmp SHORT $LN4@is |
| $LN3@is: |
| 00028 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv73[ebp], 0 |
| $LN4@is: |
| 0002f 8a 45 fc mov al, BYTE PTR tv73[ebp] |
| |
| ; 2365 : } |
| |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c2 08 00 ret 8 |
| ?is@?$ctype@D@std@@QBE_NFD@Z ENDP ; std::ctype<char>::is |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_Gctype_base@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_Gctype_base@std@@UAEPAXI@Z PROC ; std::ctype_base::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1ctype_base@std@@UAE@XZ ; std::ctype_base::~ctype_base |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 08 push 8 |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_Gctype_base@std@@UAEPAXI@Z ENDP ; std::ctype_base::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??1ctype_base@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1ctype_base@std@@UAE@XZ PROC ; std::ctype_base::~ctype_base, COMDAT |
| ; _this$ = ecx |
| |
| ; 2107 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7ctype_base@std@@6B@ |
| |
| ; 2108 : } |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ??1facet@locale@std@@MAE@XZ ; std::locale::facet::~facet |
| 00018 8b e5 mov esp, ebp |
| 0001a 5d pop ebp |
| 0001b c3 ret 0 |
| ??1ctype_base@std@@UAE@XZ ENDP ; std::ctype_base::~ctype_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??0ctype_base@std@@QAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Refs$ = 8 ; size = 4 |
| ??0ctype_base@std@@QAE@I@Z PROC ; std::ctype_base::ctype_base, COMDAT |
| ; _this$ = ecx |
| |
| ; 2103 : { // default constructor |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2102 : : locale::facet(_Refs) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Refs$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0facet@locale@std@@IAE@I@Z ; std::locale::facet::facet |
| |
| ; 2103 : { // default constructor |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7ctype_base@std@@6B@ |
| |
| ; 2104 : } |
| |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??0ctype_base@std@@QAE@I@Z ENDP ; std::ctype_base::ctype_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z |
| _TEXT SEGMENT |
| tv83 = -20 ; size = 4 |
| __Ptr0$1 = -16 ; size = 4 |
| __Facptr$ = -12 ; size = 4 |
| tv71 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Id$ = 8 ; size = 4 |
| ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z PROC ; std::locale::_Getfacet, COMDAT |
| ; _this$ = ecx |
| |
| ; 458 : { // look up a facet in locale object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 14 sub esp, 20 ; 00000014H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 459 : const facet *_Facptr = _Id < _Ptr->_Facetcount |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0000f 8b 55 08 mov edx, DWORD PTR __Id$[ebp] |
| 00012 3b 51 0c cmp edx, DWORD PTR [ecx+12] |
| 00015 73 14 jae SHORT $LN6@Getfacet |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 0001d 8b 51 08 mov edx, DWORD PTR [ecx+8] |
| 00020 8b 45 08 mov eax, DWORD PTR __Id$[ebp] |
| 00023 8b 0c 82 mov ecx, DWORD PTR [edx+eax*4] |
| 00026 89 4d f8 mov DWORD PTR tv71[ebp], ecx |
| 00029 eb 07 jmp SHORT $LN7@Getfacet |
| $LN6@Getfacet: |
| 0002b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv71[ebp], 0 |
| $LN7@Getfacet: |
| 00032 8b 55 f8 mov edx, DWORD PTR tv71[ebp] |
| 00035 89 55 f4 mov DWORD PTR __Facptr$[ebp], edx |
| |
| ; 460 : ? _Ptr->_Facetvec[_Id] : 0; // null if id off end |
| ; 461 : if (_Facptr != 0 || !_Ptr->_Xparent) |
| |
| 00038 83 7d f4 00 cmp DWORD PTR __Facptr$[ebp], 0 |
| 0003c 75 0e jne SHORT $LN4@Getfacet |
| 0003e 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00041 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00044 0f b6 51 14 movzx edx, BYTE PTR [ecx+20] |
| 00048 85 d2 test edx, edx |
| 0004a 75 07 jne SHORT $LN2@Getfacet |
| $LN4@Getfacet: |
| |
| ; 462 : return (_Facptr); // found facet or not transparent |
| |
| 0004c 8b 45 f4 mov eax, DWORD PTR __Facptr$[ebp] |
| 0004f eb 30 jmp SHORT $LN1@Getfacet |
| |
| ; 463 : else |
| |
| 00051 eb 2e jmp SHORT $LN1@Getfacet |
| $LN2@Getfacet: |
| |
| ; 464 : { // look in current locale |
| ; 465 : locale::_Locimp *_Ptr0 = _Getgloballocale(); |
| |
| 00053 e8 00 00 00 00 call ?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ ; std::locale::_Getgloballocale |
| 00058 89 45 f0 mov DWORD PTR __Ptr0$1[ebp], eax |
| |
| ; 466 : return (_Id < _Ptr0->_Facetcount |
| |
| 0005b 8b 45 f0 mov eax, DWORD PTR __Ptr0$1[ebp] |
| 0005e 8b 4d 08 mov ecx, DWORD PTR __Id$[ebp] |
| 00061 3b 48 0c cmp ecx, DWORD PTR [eax+12] |
| 00064 73 11 jae SHORT $LN8@Getfacet |
| 00066 8b 55 f0 mov edx, DWORD PTR __Ptr0$1[ebp] |
| 00069 8b 42 08 mov eax, DWORD PTR [edx+8] |
| 0006c 8b 4d 08 mov ecx, DWORD PTR __Id$[ebp] |
| 0006f 8b 14 88 mov edx, DWORD PTR [eax+ecx*4] |
| 00072 89 55 ec mov DWORD PTR tv83[ebp], edx |
| 00075 eb 07 jmp SHORT $LN9@Getfacet |
| $LN8@Getfacet: |
| 00077 c7 45 ec 00 00 |
| 00 00 mov DWORD PTR tv83[ebp], 0 |
| $LN9@Getfacet: |
| 0007e 8b 45 ec mov eax, DWORD PTR tv83[ebp] |
| $LN1@Getfacet: |
| |
| ; 467 : ? _Ptr0->_Facetvec[_Id] // get from current locale |
| ; 468 : : 0); // no entry in current locale |
| ; 469 : } |
| ; 470 : } |
| |
| 00081 8b e5 mov esp, ebp |
| 00083 5d pop ebp |
| 00084 c2 04 00 ret 4 |
| ?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z ENDP ; std::locale::_Getfacet |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?c_str@locale@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| tv70 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?c_str@locale@std@@QBEPBDXZ PROC ; std::locale::c_str, COMDAT |
| ; _this$ = ecx |
| |
| ; 453 : { // return locale name as NTBS |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 454 : return (_Ptr == 0 ? "" : _Ptr->_Name.c_str()); |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 04 00 cmp DWORD PTR [eax+4], 0 |
| 00010 75 09 jne SHORT $LN3@c_str |
| 00012 c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv70[ebp], OFFSET ??_C@_00CNPNBAHC@?$AA@ |
| 00019 eb 11 jmp SHORT $LN4@c_str |
| $LN3@c_str: |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e 8b 49 04 mov ecx, DWORD PTR [ecx+4] |
| 00021 83 c1 18 add ecx, 24 ; 00000018H |
| 00024 e8 00 00 00 00 call ?c_str@?$_Yarn@D@std@@QBEPBDXZ ; std::_Yarn<char>::c_str |
| 00029 89 45 f8 mov DWORD PTR tv70[ebp], eax |
| $LN4@c_str: |
| 0002c 8b 45 f8 mov eax, DWORD PTR tv70[ebp] |
| |
| ; 455 : } |
| |
| 0002f 8b e5 mov esp, ebp |
| 00031 5d pop ebp |
| 00032 c3 ret 0 |
| ?c_str@locale@std@@QBEPBDXZ ENDP ; std::locale::c_str |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ |
| _TEXT SEGMENT |
| $T1 = -68 ; size = 4 |
| tv81 = -64 ; size = 4 |
| _this$ = -60 ; size = 4 |
| $T2 = -56 ; size = 4 |
| $T3 = -52 ; size = 24 |
| $T4 = -28 ; size = 24 |
| __$ArrayPad$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ PROC ; std::locale::name, COMDAT |
| ; _this$ = ecx |
| |
| ; 448 : { // return locale name |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 44 sub esp, 68 ; 00000044H |
| 00006 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0000b 33 c5 xor eax, ebp |
| 0000d 89 45 fc mov DWORD PTR __$ArrayPad$[ebp], eax |
| 00010 89 4d c4 mov DWORD PTR _this$[ebp], ecx |
| 00013 c7 45 c8 00 00 |
| 00 00 mov DWORD PTR $T2[ebp], 0 |
| |
| ; 449 : return (_Ptr == 0 ? string() : _Ptr->_Name.c_str()); |
| |
| 0001a 8b 45 c4 mov eax, DWORD PTR _this$[ebp] |
| 0001d 83 78 04 00 cmp DWORD PTR [eax+4], 0 |
| 00021 75 11 jne SHORT $LN3@name |
| 00023 8d 4d cc lea ecx, DWORD PTR $T3[ebp] |
| 00026 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 0002b 83 4d c8 01 or DWORD PTR $T2[ebp], 1 |
| 0002f 89 45 c0 mov DWORD PTR tv81[ebp], eax |
| 00032 eb 1e jmp SHORT $LN4@name |
| $LN3@name: |
| 00034 8b 4d c4 mov ecx, DWORD PTR _this$[ebp] |
| 00037 8b 49 04 mov ecx, DWORD PTR [ecx+4] |
| 0003a 83 c1 18 add ecx, 24 ; 00000018H |
| 0003d e8 00 00 00 00 call ?c_str@?$_Yarn@D@std@@QBEPBDXZ ; std::_Yarn<char>::c_str |
| 00042 50 push eax |
| 00043 8d 4d e4 lea ecx, DWORD PTR $T4[ebp] |
| 00046 e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 0004b 83 4d c8 02 or DWORD PTR $T2[ebp], 2 |
| 0004f 89 45 c0 mov DWORD PTR tv81[ebp], eax |
| $LN4@name: |
| 00052 8b 55 c0 mov edx, DWORD PTR tv81[ebp] |
| 00055 89 55 bc mov DWORD PTR $T1[ebp], edx |
| 00058 8b 45 bc mov eax, DWORD PTR $T1[ebp] |
| 0005b 50 push eax |
| 0005c 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0005f e8 00 00 00 00 call ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| 00064 8b 4d c8 mov ecx, DWORD PTR $T2[ebp] |
| 00067 83 e1 02 and ecx, 2 |
| 0006a 74 0c je SHORT $LN5@name |
| 0006c 83 65 c8 fd and DWORD PTR $T2[ebp], -3 ; fffffffdH |
| 00070 8d 4d e4 lea ecx, DWORD PTR $T4[ebp] |
| 00073 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| $LN5@name: |
| 00078 8b 55 c8 mov edx, DWORD PTR $T2[ebp] |
| 0007b 83 e2 01 and edx, 1 |
| 0007e 74 0c je SHORT $LN6@name |
| 00080 83 65 c8 fe and DWORD PTR $T2[ebp], -2 ; fffffffeH |
| 00084 8d 4d cc lea ecx, DWORD PTR $T3[ebp] |
| 00087 e8 00 00 00 00 call ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| $LN6@name: |
| 0008c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 450 : } |
| |
| 0008f 8b 4d fc mov ecx, DWORD PTR __$ArrayPad$[ebp] |
| 00092 33 cd xor ecx, ebp |
| 00094 e8 00 00 00 00 call @__security_check_cookie@4 |
| 00099 8b e5 mov esp, ebp |
| 0009b 5d pop ebp |
| 0009c c2 04 00 ret 4 |
| ?name@locale@std@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@XZ ENDP ; std::locale::name |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??1locale@std@@QAE@XZ |
| _TEXT SEGMENT |
| tv84 = -16 ; size = 4 |
| $T1 = -12 ; size = 4 |
| $T2 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ??1locale@std@@QAE@XZ PROC ; std::locale::~locale, COMDAT |
| ; _this$ = ecx |
| |
| ; 430 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 431 : if (_Ptr != 0) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 04 00 cmp DWORD PTR [eax+4], 0 |
| 00010 74 3c je SHORT $LN1@locale |
| |
| ; 432 : delete _Ptr->_Decref(); |
| |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00018 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001b 8b 12 mov edx, DWORD PTR [edx] |
| 0001d 8b 48 04 mov ecx, DWORD PTR [eax+4] |
| 00020 8b 42 08 mov eax, DWORD PTR [edx+8] |
| 00023 ff d0 call eax |
| 00025 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 00028 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 0002b 89 4d f8 mov DWORD PTR $T2[ebp], ecx |
| 0002e 83 7d f8 00 cmp DWORD PTR $T2[ebp], 0 |
| 00032 74 13 je SHORT $LN4@locale |
| 00034 6a 01 push 1 |
| 00036 8b 55 f8 mov edx, DWORD PTR $T2[ebp] |
| 00039 8b 02 mov eax, DWORD PTR [edx] |
| 0003b 8b 4d f8 mov ecx, DWORD PTR $T2[ebp] |
| 0003e 8b 10 mov edx, DWORD PTR [eax] |
| 00040 ff d2 call edx |
| 00042 89 45 f0 mov DWORD PTR tv84[ebp], eax |
| 00045 eb 07 jmp SHORT $LN1@locale |
| $LN4@locale: |
| 00047 c7 45 f0 00 00 |
| 00 00 mov DWORD PTR tv84[ebp], 0 |
| $LN1@locale: |
| |
| ; 433 : } |
| |
| 0004e 8b e5 mov esp, ebp |
| 00050 5d pop ebp |
| 00051 c3 ret 0 |
| ??1locale@std@@QAE@XZ ENDP ; std::locale::~locale |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??0locale@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0locale@std@@QAE@XZ PROC ; std::locale::locale, COMDAT |
| ; _this$ = ecx |
| |
| ; 331 : { // construct from current locale |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 330 : : _Ptr(_Init(true)) |
| |
| 00007 6a 01 push 1 |
| 00009 e8 00 00 00 00 call ?_Init@locale@std@@CAPAV_Locimp@12@_N@Z ; std::locale::_Init |
| 0000e 83 c4 04 add esp, 4 |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 89 41 04 mov DWORD PTR [ecx+4], eax |
| |
| ; 332 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??0locale@std@@QAE@XZ ENDP ; std::locale::locale |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_Gfacet@locale@std@@MAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_Gfacet@locale@std@@MAEPAXI@Z PROC ; std::locale::facet::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1facet@locale@std@@MAE@XZ ; std::locale::facet::~facet |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 08 push 8 |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_Gfacet@locale@std@@MAEPAXI@Z ENDP ; std::locale::facet::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??1facet@locale@std@@MAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1facet@locale@std@@MAE@XZ PROC ; std::locale::facet::~facet, COMDAT |
| ; _this$ = ecx |
| |
| ; 171 : { // ensure that derived classes can be destroyed properly |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7facet@locale@std@@6B@ |
| |
| ; 172 : } |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ??1_Facet_base@std@@UAE@XZ ; std::_Facet_base::~_Facet_base |
| 00018 8b e5 mov esp, ebp |
| 0001a 5d pop ebp |
| 0001b c3 ret 0 |
| ??1facet@locale@std@@MAE@XZ ENDP ; std::locale::facet::~facet |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??0facet@locale@std@@IAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Initrefs$ = 8 ; size = 4 |
| ??0facet@locale@std@@IAE@I@Z PROC ; std::locale::facet::facet, COMDAT |
| ; _this$ = ecx |
| |
| ; 165 : explicit __CLR_OR_THIS_CALL facet(size_t _Initrefs = 0) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 166 : { // construct with initial reference count |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0_Facet_base@std@@QAE@XZ |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00012 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7facet@locale@std@@6B@ |
| |
| ; 167 : _Init_atomic_counter(_Myrefs, (_Atomic_integral_t)_Initrefs); |
| |
| 00018 8b 4d 08 mov ecx, DWORD PTR __Initrefs$[ebp] |
| 0001b 51 push ecx |
| 0001c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0001f 83 c2 04 add edx, 4 |
| 00022 52 push edx |
| 00023 e8 00 00 00 00 call ?_Init_atomic_counter@std@@YAXAAKK@Z ; std::_Init_atomic_counter |
| 00028 83 c4 08 add esp, 8 |
| |
| ; 168 : } |
| |
| 0002b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c2 04 00 ret 4 |
| ??0facet@locale@std@@IAE@I@Z ENDP ; std::locale::facet::facet |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ PROC ; std::locale::facet::_Decref, COMDAT |
| ; _this$ = ecx |
| |
| ; 154 : { // decrement use count |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 155 : if (_MT_DECR(_Myrefs) == 0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 c0 04 add eax, 4 |
| 0000d 83 c9 ff or ecx, -1 |
| 00010 f0 0f c1 08 lock xadd DWORD PTR [eax], ecx |
| 00014 49 dec ecx |
| 00015 75 07 jne SHORT $LN2@Decref |
| |
| ; 156 : return (this); |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a eb 04 jmp SHORT $LN1@Decref |
| |
| ; 157 : else |
| |
| 0001c eb 02 jmp SHORT $LN1@Decref |
| $LN2@Decref: |
| |
| ; 158 : return (0); |
| |
| 0001e 33 c0 xor eax, eax |
| $LN1@Decref: |
| |
| ; 159 : } |
| |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c3 ret 0 |
| ?_Decref@facet@locale@std@@UAEPAV_Facet_base@3@XZ ENDP ; std::locale::facet::_Decref |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ?_Incref@facet@locale@std@@UAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Incref@facet@locale@std@@UAEXXZ PROC ; std::locale::facet::_Incref, COMDAT |
| ; _this$ = ecx |
| |
| ; 149 : { // increment use count |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 150 : _MT_INCR(_Myrefs); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 c0 04 add eax, 4 |
| 0000d f0 ff 00 lock inc DWORD PTR [eax] |
| |
| ; 151 : } |
| |
| 00010 8b e5 mov esp, ebp |
| 00012 5d pop ebp |
| 00013 c3 ret 0 |
| ?_Incref@facet@locale@std@@UAEXXZ ENDP ; std::locale::facet::_Incref |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??Bid@locale@std@@QAEIXZ |
| _TEXT SEGMENT |
| __Lock$1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ??Bid@locale@std@@QAEIXZ PROC ; std::locale::id::operator unsigned int, COMDAT |
| ; _this$ = ecx |
| |
| ; 114 : { // get stamp, with lazy allocation |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 115 : if (_Id == 0) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000f 75 34 jne SHORT $LN2@operator |
| |
| ; 116 : { // still zero, allocate stamp |
| ; 117 : _BEGIN_LOCK(_LOCK_LOCALE) |
| |
| 00011 6a 00 push 0 |
| 00013 8d 4d f8 lea ecx, DWORD PTR __Lock$1[ebp] |
| 00016 e8 00 00 00 00 call ??0_Lockit@std@@QAE@H@Z ; std::_Lockit::_Lockit |
| |
| ; 118 : if (_Id == 0) |
| |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e 83 39 00 cmp DWORD PTR [ecx], 0 |
| 00021 75 1a jne SHORT $LN3@operator |
| |
| ; 119 : _Id = ++_Id_cnt; |
| |
| 00023 8b 15 00 00 00 |
| 00 mov edx, DWORD PTR ?_Id_cnt@id@locale@std@@0HA ; std::locale::id::_Id_cnt |
| 00029 83 c2 01 add edx, 1 |
| 0002c 89 15 00 00 00 |
| 00 mov DWORD PTR ?_Id_cnt@id@locale@std@@0HA, edx ; std::locale::id::_Id_cnt |
| 00032 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00035 8b 0d 00 00 00 |
| 00 mov ecx, DWORD PTR ?_Id_cnt@id@locale@std@@0HA ; std::locale::id::_Id_cnt |
| 0003b 89 08 mov DWORD PTR [eax], ecx |
| $LN3@operator: |
| |
| ; 120 : _END_LOCK() |
| |
| 0003d 8d 4d f8 lea ecx, DWORD PTR __Lock$1[ebp] |
| 00040 e8 00 00 00 00 call ??1_Lockit@std@@QAE@XZ ; std::_Lockit::~_Lockit |
| $LN2@operator: |
| |
| ; 121 : } |
| ; 122 : return (_Id); |
| |
| 00045 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00048 8b 02 mov eax, DWORD PTR [edx] |
| |
| ; 123 : } |
| |
| 0004a 8b e5 mov esp, ebp |
| 0004c 5d pop ebp |
| 0004d c3 ret 0 |
| ??Bid@locale@std@@QAEIXZ ENDP ; std::locale::id::operator unsigned int |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocale |
| ; COMDAT ??0id@locale@std@@QAE@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Val$ = 8 ; size = 4 |
| ??0id@locale@std@@QAE@I@Z PROC ; std::locale::id::id, COMDAT |
| ; _this$ = ecx |
| |
| ; 110 : { // construct with specified stamp value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 109 : : _Id(_Val) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b 4d 08 mov ecx, DWORD PTR __Val$[ebp] |
| 0000d 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 111 : } |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c2 04 00 ret 4 |
| ??0id@locale@std@@QAE@I@Z ENDP ; std::locale::id::id |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_G_Facet_base@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_G_Facet_base@std@@UAEPAXI@Z PROC ; std::_Facet_base::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1_Facet_base@std@@UAE@XZ ; std::_Facet_base::~_Facet_base |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 04 push 4 |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_G_Facet_base@std@@UAEPAXI@Z ENDP ; std::_Facet_base::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??0_Facet_base@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0_Facet_base@std@@QAE@XZ PROC ; std::_Facet_base::_Facet_base, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Facet_base@std@@6B@ |
| 00010 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c3 ret 0 |
| ??0_Facet_base@std@@QAE@XZ ENDP ; std::_Facet_base::_Facet_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xfacet |
| ; COMDAT ??1_Facet_base@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Facet_base@std@@UAE@XZ PROC ; std::_Facet_base::~_Facet_base, COMDAT |
| ; _this$ = ecx |
| |
| ; 24 : { // ensure that derived classes can be destroyed properly |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7_Facet_base@std@@6B@ |
| |
| ; 25 : } |
| |
| 00010 8b e5 mov esp, ebp |
| 00012 5d pop ebp |
| 00013 c3 ret 0 |
| ??1_Facet_base@std@@UAE@XZ ENDP ; std::_Facet_base::~_Facet_base |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z |
| _TEXT SEGMENT |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| __Vector$ = 24 ; size = 4 |
| ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z PROC ; std::_LStrxfrm<char>, COMDAT |
| |
| ; 284 : { // perform locale-specific transform of chars [_First1, _Last1) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 285 : return (_Strxfrm(_First1, _Last1, _First2, _Last2, _Vector)); |
| |
| 00003 8b 45 18 mov eax, DWORD PTR __Vector$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 14 mov ecx, DWORD PTR __Last2$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 10 mov edx, DWORD PTR __First2$[ebp] |
| 0000e 52 push edx |
| 0000f 8b 45 0c mov eax, DWORD PTR __Last1$[ebp] |
| 00012 50 push eax |
| 00013 8b 4d 08 mov ecx, DWORD PTR __First1$[ebp] |
| 00016 51 push ecx |
| 00017 e8 00 00 00 00 call __Strxfrm |
| 0001c 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 286 : } |
| |
| 0001f 5d pop ebp |
| 00020 c3 ret 0 |
| ??$_LStrxfrm@D@std@@YAIPAD0PBD1PBU_Collvec@@@Z ENDP ; std::_LStrxfrm<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z |
| _TEXT SEGMENT |
| __First1$ = 8 ; size = 4 |
| __Last1$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| __Vector$ = 24 ; size = 4 |
| ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z PROC ; std::_LStrcoll<char>, COMDAT |
| |
| ; 254 : { // perform locale-specific comparison of char sequences |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 255 : return (_Strcoll(_First1, _Last1, _First2, _Last2, _Vector)); |
| |
| 00003 8b 45 18 mov eax, DWORD PTR __Vector$[ebp] |
| 00006 50 push eax |
| 00007 8b 4d 14 mov ecx, DWORD PTR __Last2$[ebp] |
| 0000a 51 push ecx |
| 0000b 8b 55 10 mov edx, DWORD PTR __First2$[ebp] |
| 0000e 52 push edx |
| 0000f 8b 45 0c mov eax, DWORD PTR __Last1$[ebp] |
| 00012 50 push eax |
| 00013 8b 4d 08 mov ecx, DWORD PTR __First1$[ebp] |
| 00016 51 push ecx |
| 00017 e8 00 00 00 00 call __Strcoll |
| 0001c 83 c4 14 add esp, 20 ; 00000014H |
| |
| ; 256 : } |
| |
| 0001f 5d pop ebp |
| 00020 c3 ret 0 |
| ??$_LStrcoll@D@std@@YAHPBD000PBU_Collvec@@@Z ENDP ; std::_LStrcoll<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Tidy@?$_Yarn@_W@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$_Yarn@_W@std@@AAEXXZ PROC ; std::_Yarn<wchar_t>::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 3688 : { // discard any string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3689 : if (_Myptr != 0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000d 74 0e je SHORT $LN2@Tidy |
| |
| ; 3690 : |
| ; 3691 : #ifdef _DEBUG |
| ; 3692 : _free_dbg(_Myptr, _CRT_BLOCK); |
| ; 3693 : |
| ; 3694 : #else /* _DEBUG */ |
| ; 3695 : _CSTD free(_Myptr); |
| |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 8b 11 mov edx, DWORD PTR [ecx] |
| 00014 52 push edx |
| 00015 e8 00 00 00 00 call _free |
| 0001a 83 c4 04 add esp, 4 |
| $LN2@Tidy: |
| |
| ; 3696 : #endif /* _DEBUG */ |
| ; 3697 : |
| ; 3698 : _Myptr = 0; |
| |
| 0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00020 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 3699 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c3 ret 0 |
| ?_Tidy@?$_Yarn@_W@std@@AAEXXZ ENDP ; std::_Yarn<wchar_t>::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??1?$_Yarn@_W@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Yarn@_W@std@@QAE@XZ PROC ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>, COMDAT |
| ; _this$ = ecx |
| |
| ; 3662 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3663 : _Tidy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Tidy@?$_Yarn@_W@std@@AAEXXZ ; std::_Yarn<wchar_t>::_Tidy |
| |
| ; 3664 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$_Yarn@_W@std@@QAE@XZ ENDP ; std::_Yarn<wchar_t>::~_Yarn<wchar_t> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??0?$_Yarn@_W@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Yarn@_W@std@@QAE@XZ PROC ; std::_Yarn<wchar_t>::_Yarn<wchar_t>, COMDAT |
| ; _this$ = ecx |
| |
| ; 3613 : { // default construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3612 : : _Myptr(0), _Nul(0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| 00010 33 c9 xor ecx, ecx |
| 00012 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00015 66 89 4a 04 mov WORD PTR [edx+4], cx |
| |
| ; 3614 : } |
| |
| 00019 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001c 8b e5 mov esp, ebp |
| 0001e 5d pop ebp |
| 0001f c3 ret 0 |
| ??0?$_Yarn@_W@std@@QAE@XZ ENDP ; std::_Yarn<wchar_t>::_Yarn<wchar_t> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Tidy@?$_Yarn@D@std@@AAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Tidy@?$_Yarn@D@std@@AAEXXZ PROC ; std::_Yarn<char>::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 3688 : { // discard any string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3689 : if (_Myptr != 0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000d 74 0e je SHORT $LN2@Tidy |
| |
| ; 3690 : |
| ; 3691 : #ifdef _DEBUG |
| ; 3692 : _free_dbg(_Myptr, _CRT_BLOCK); |
| ; 3693 : |
| ; 3694 : #else /* _DEBUG */ |
| ; 3695 : _CSTD free(_Myptr); |
| |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 8b 11 mov edx, DWORD PTR [ecx] |
| 00014 52 push edx |
| 00015 e8 00 00 00 00 call _free |
| 0001a 83 c4 04 add esp, 4 |
| $LN2@Tidy: |
| |
| ; 3696 : #endif /* _DEBUG */ |
| ; 3697 : |
| ; 3698 : _Myptr = 0; |
| |
| 0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00020 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| |
| ; 3699 : } |
| |
| 00026 8b e5 mov esp, ebp |
| 00028 5d pop ebp |
| 00029 c3 ret 0 |
| ?_Tidy@?$_Yarn@D@std@@AAEXXZ ENDP ; std::_Yarn<char>::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?c_str@?$_Yarn@D@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| tv68 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?c_str@?$_Yarn@D@std@@QBEPBDXZ PROC ; std::_Yarn<char>::c_str, COMDAT |
| ; _this$ = ecx |
| |
| ; 3672 : { // return NTBS |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3673 : return (_Myptr != 0 ? _Myptr : &_Nul); |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 38 00 cmp DWORD PTR [eax], 0 |
| 0000f 74 0a je SHORT $LN3@c_str |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 8b 11 mov edx, DWORD PTR [ecx] |
| 00016 89 55 f8 mov DWORD PTR tv68[ebp], edx |
| 00019 eb 09 jmp SHORT $LN4@c_str |
| $LN3@c_str: |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 83 c0 04 add eax, 4 |
| 00021 89 45 f8 mov DWORD PTR tv68[ebp], eax |
| $LN4@c_str: |
| 00024 8b 45 f8 mov eax, DWORD PTR tv68[ebp] |
| |
| ; 3674 : } |
| |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ?c_str@?$_Yarn@D@std@@QBEPBDXZ ENDP ; std::_Yarn<char>::c_str |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??1?$_Yarn@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$_Yarn@D@std@@QAE@XZ PROC ; std::_Yarn<char>::~_Yarn<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 3662 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3663 : _Tidy(); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Tidy@?$_Yarn@D@std@@AAEXXZ ; std::_Yarn<char>::_Tidy |
| |
| ; 3664 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1?$_Yarn@D@std@@QAE@XZ ENDP ; std::_Yarn<char>::~_Yarn<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ??0?$_Yarn@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Yarn@D@std@@QAE@XZ PROC ; std::_Yarn<char>::_Yarn<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 3613 : { // default construct |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 3612 : : _Myptr(0), _Nul(0) |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 c6 41 04 00 mov BYTE PTR [ecx+4], 0 |
| |
| ; 3614 : } |
| |
| 00017 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001a 8b e5 mov esp, ebp |
| 0001c 5d pop ebp |
| 0001d c3 ret 0 |
| ??0?$_Yarn@D@std@@QAE@XZ ENDP ; std::_Yarn<char>::_Yarn<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ |
| _TEXT SEGMENT |
| $T1 = -36 ; size = 16 |
| $T2 = -20 ; size = 16 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ PROC ; std::_Locinfo::_Getctype, COMDAT |
| ; _this$ = ecx |
| |
| ; 116 : { // return ctype stuff |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 24 sub esp, 36 ; 00000024H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 117 : return (::_Getctype()); |
| |
| 00009 8d 45 dc lea eax, DWORD PTR $T1[ebp] |
| 0000c 50 push eax |
| 0000d e8 00 00 00 00 call __Getctype |
| 00012 83 c4 04 add esp, 4 |
| 00015 8b 08 mov ecx, DWORD PTR [eax] |
| 00017 89 4d ec mov DWORD PTR $T2[ebp], ecx |
| 0001a 8b 50 04 mov edx, DWORD PTR [eax+4] |
| 0001d 89 55 f0 mov DWORD PTR $T2[ebp+4], edx |
| 00020 8b 48 08 mov ecx, DWORD PTR [eax+8] |
| 00023 89 4d f4 mov DWORD PTR $T2[ebp+8], ecx |
| 00026 8b 50 0c mov edx, DWORD PTR [eax+12] |
| 00029 89 55 f8 mov DWORD PTR $T2[ebp+12], edx |
| 0002c 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 0002f 8b 4d ec mov ecx, DWORD PTR $T2[ebp] |
| 00032 89 08 mov DWORD PTR [eax], ecx |
| 00034 8b 55 f0 mov edx, DWORD PTR $T2[ebp+4] |
| 00037 89 50 04 mov DWORD PTR [eax+4], edx |
| 0003a 8b 4d f4 mov ecx, DWORD PTR $T2[ebp+8] |
| 0003d 89 48 08 mov DWORD PTR [eax+8], ecx |
| 00040 8b 55 f8 mov edx, DWORD PTR $T2[ebp+12] |
| 00043 89 50 0c mov DWORD PTR [eax+12], edx |
| 00046 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 118 : } |
| |
| 00049 8b e5 mov esp, ebp |
| 0004b 5d pop ebp |
| 0004c c2 04 00 ret 4 |
| ?_Getctype@_Locinfo@std@@QBE?AU_Ctypevec@@XZ ENDP ; std::_Locinfo::_Getctype |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ PROC ; std::_Locinfo::_Getcoll, COMDAT |
| ; _this$ = ecx |
| |
| ; 111 : { // return collation stuff |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 112 : return (::_Getcoll()); |
| |
| 00009 e8 00 00 00 00 call __Getcoll |
| 0000e 89 45 f4 mov DWORD PTR $T1[ebp], eax |
| 00011 89 55 f8 mov DWORD PTR $T1[ebp+4], edx |
| 00014 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| 00017 8b 4d f4 mov ecx, DWORD PTR $T1[ebp] |
| 0001a 89 08 mov DWORD PTR [eax], ecx |
| 0001c 8b 55 f8 mov edx, DWORD PTR $T1[ebp+4] |
| 0001f 89 50 04 mov DWORD PTR [eax+4], edx |
| 00022 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 113 : } |
| |
| 00025 8b e5 mov esp, ebp |
| 00027 5d pop ebp |
| 00028 c2 04 00 ret 4 |
| ?_Getcoll@_Locinfo@std@@QBE?AU_Collvec@@XZ ENDP ; std::_Locinfo::_Getcoll |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ??1_Locinfo@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1_Locinfo@std@@QAE@XZ PROC ; std::_Locinfo::~_Locinfo, COMDAT |
| ; _this$ = ecx |
| |
| ; 94 : { // destroy the object |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 95 : _Locinfo_dtor(this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z ; std::_Locinfo::_Locinfo_dtor |
| 00010 83 c4 04 add esp, 4 |
| |
| ; 96 : } |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 83 c1 2c add ecx, 44 ; 0000002cH |
| 00019 e8 00 00 00 00 call ??1?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::~_Yarn<char> |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 83 c1 24 add ecx, 36 ; 00000024H |
| 00024 e8 00 00 00 00 call ??1?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::~_Yarn<char> |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c 83 c1 1c add ecx, 28 ; 0000001cH |
| 0002f e8 00 00 00 00 call ??1?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::~_Yarn<wchar_t> |
| 00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00037 83 c1 14 add ecx, 20 ; 00000014H |
| 0003a e8 00 00 00 00 call ??1?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::~_Yarn<wchar_t> |
| 0003f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00042 83 c1 0c add ecx, 12 ; 0000000cH |
| 00045 e8 00 00 00 00 call ??1?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::~_Yarn<char> |
| 0004a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004d 83 c1 04 add ecx, 4 |
| 00050 e8 00 00 00 00 call ??1?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::~_Yarn<char> |
| 00055 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00058 e8 00 00 00 00 call ??1_Lockit@std@@QAE@XZ ; std::_Lockit::~_Lockit |
| 0005d 8b e5 mov esp, ebp |
| 0005f 5d pop ebp |
| 00060 c3 ret 0 |
| ??1_Locinfo@std@@QAE@XZ ENDP ; std::_Locinfo::~_Locinfo |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xlocinfo |
| ; COMDAT ??0_Locinfo@std@@QAE@PBD@Z |
| _TEXT SEGMENT |
| $T1 = -16 ; size = 12 |
| _this$ = -4 ; size = 4 |
| __Pch$ = 8 ; size = 4 |
| ??0_Locinfo@std@@QAE@PBD@Z PROC ; std::_Locinfo::_Locinfo, COMDAT |
| ; _this$ = ecx |
| |
| ; 76 : { // construct from NTBS |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 73 : : _Lock(_LOCK_LOCALE) |
| |
| 00009 6a 00 push 0 |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0_Lockit@std@@QAE@H@Z ; std::_Lockit::_Lockit |
| |
| ; 76 : { // construct from NTBS |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 83 c1 04 add ecx, 4 |
| 00019 e8 00 00 00 00 call ??0?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::_Yarn<char> |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 83 c1 0c add ecx, 12 ; 0000000cH |
| 00024 e8 00 00 00 00 call ??0?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::_Yarn<char> |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c 83 c1 14 add ecx, 20 ; 00000014H |
| 0002f e8 00 00 00 00 call ??0?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::_Yarn<wchar_t> |
| 00034 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00037 83 c1 1c add ecx, 28 ; 0000001cH |
| 0003a e8 00 00 00 00 call ??0?$_Yarn@_W@std@@QAE@XZ ; std::_Yarn<wchar_t>::_Yarn<wchar_t> |
| 0003f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00042 83 c1 24 add ecx, 36 ; 00000024H |
| 00045 e8 00 00 00 00 call ??0?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::_Yarn<char> |
| 0004a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004d 83 c1 2c add ecx, 44 ; 0000002cH |
| 00050 e8 00 00 00 00 call ??0?$_Yarn@D@std@@QAE@XZ ; std::_Yarn<char>::_Yarn<char> |
| |
| ; 77 : if (_Pch == 0) |
| |
| 00055 83 7d 08 00 cmp DWORD PTR __Pch$[ebp], 0 |
| 00059 75 1b jne SHORT $LN2@Locinfo |
| |
| ; 78 : _THROW_NCEE(runtime_error, "bad locale name"); |
| |
| 0005b 68 00 00 00 00 push OFFSET ??_C@_0BA@ELKIONDK@bad?5locale?5name?$AA@ |
| 00060 8d 4d f0 lea ecx, DWORD PTR $T1[ebp] |
| 00063 e8 00 00 00 00 call ??0runtime_error@std@@QAE@PBD@Z ; std::runtime_error::runtime_error |
| 00068 68 00 00 00 00 push OFFSET __TI2?AVruntime_error@std@@ |
| 0006d 8d 45 f0 lea eax, DWORD PTR $T1[ebp] |
| 00070 50 push eax |
| 00071 e8 00 00 00 00 call __CxxThrowException@8 |
| $LN2@Locinfo: |
| |
| ; 79 : _Locinfo_ctor(this, _Pch); |
| |
| 00076 8b 4d 08 mov ecx, DWORD PTR __Pch$[ebp] |
| 00079 51 push ecx |
| 0007a 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0007d 52 push edx |
| 0007e e8 00 00 00 00 call ?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z ; std::_Locinfo::_Locinfo_ctor |
| 00083 83 c4 08 add esp, 8 |
| |
| ; 80 : } |
| |
| 00086 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| $LN3@Locinfo: |
| 00089 8b e5 mov esp, ebp |
| 0008b 5d pop ebp |
| 0008c c2 04 00 ret 4 |
| ??0_Locinfo@std@@QAE@PBD@Z ENDP ; std::_Locinfo::_Locinfo |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_Gbad_cast@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_Gbad_cast@std@@UAEPAXI@Z PROC ; std::bad_cast::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1bad_cast@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 0c push 12 ; 0000000cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_Gbad_cast@std@@UAEPAXI@Z ENDP ; std::bad_cast::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??0bad_cast@std@@QAE@ABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___that$ = 8 ; size = 4 |
| ??0bad_cast@std@@QAE@ABV01@@Z PROC ; std::bad_cast::bad_cast, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 08 mov eax, DWORD PTR ___that$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7bad_cast@std@@6B@ |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??0bad_cast@std@@QAE@ABV01@@Z ENDP ; std::bad_cast::bad_cast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1bad_cast@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1bad_cast@std@@UAE@XZ PROC ; std::bad_cast::~bad_cast, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1exception@std@@UAE@XZ ; std::exception::~exception |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1bad_cast@std@@UAE@XZ ENDP ; std::bad_cast::~bad_cast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_typeinfo.h |
| ; COMDAT ??0bad_cast@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0bad_cast@std@@QAE@XZ PROC ; std::bad_cast::bad_cast, COMDAT |
| ; _this$ = ecx |
| |
| ; 125 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 124 : : exception("bad cast", 1) |
| |
| 00007 6a 01 push 1 |
| 00009 68 00 00 00 00 push OFFSET ??_C@_08EPJLHIJG@bad?5cast?$AA@ |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ??0exception@std@@QAE@QBDH@Z ; std::exception::exception |
| |
| ; 125 : { |
| |
| 00016 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00019 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7bad_cast@std@@6B@ |
| |
| ; 126 : } |
| |
| 0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00022 8b e5 mov esp, ebp |
| 00024 5d pop ebp |
| 00025 c3 ret 0 |
| ??0bad_cast@std@@QAE@XZ ENDP ; std::bad_cast::bad_cast |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_Gruntime_error@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_Gruntime_error@std@@UAEPAXI@Z PROC ; std::runtime_error::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1runtime_error@std@@UAE@XZ |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 0c push 12 ; 0000000cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_Gruntime_error@std@@UAEPAXI@Z ENDP ; std::runtime_error::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??0runtime_error@std@@QAE@ABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___that$ = 8 ; size = 4 |
| ??0runtime_error@std@@QAE@ABV01@@Z PROC ; std::runtime_error::runtime_error, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 08 mov eax, DWORD PTR ___that$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7runtime_error@std@@6B@ |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??0runtime_error@std@@QAE@ABV01@@Z ENDP ; std::runtime_error::runtime_error |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??1runtime_error@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1runtime_error@std@@UAE@XZ PROC ; std::runtime_error::~runtime_error, COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1exception@std@@UAE@XZ ; std::exception::~exception |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ??1runtime_error@std@@UAE@XZ ENDP ; std::runtime_error::~runtime_error |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdexcept |
| ; COMDAT ??0runtime_error@std@@QAE@PBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Message$ = 8 ; size = 4 |
| ??0runtime_error@std@@QAE@PBD@Z PROC ; std::runtime_error::runtime_error, COMDAT |
| ; _this$ = ecx |
| |
| ; 168 : { // construct from message string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 167 : : _Mybase(_Message) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Message$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ??0exception@std@@QAE@QBD@Z ; std::exception::exception |
| |
| ; 168 : { // construct from message string |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 c7 01 00 00 00 |
| 00 mov DWORD PTR [ecx], OFFSET ??_7runtime_error@std@@6B@ |
| |
| ; 169 : } |
| |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??0runtime_error@std@@QAE@PBD@Z ENDP ; std::runtime_error::runtime_error |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran, COMDAT |
| ; _this$ = ecx |
| |
| ; 2277 : { // report an out_of_range error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2278 : _Xout_of_range("invalid string position"); |
| |
| 00007 68 00 00 00 00 push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ |
| 0000c e8 00 00 00 00 call ?_Xout_of_range@std@@YAXPBD@Z ; std::_Xout_of_range |
| $LN2@Xran: |
| |
| ; 2279 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset, COMDAT |
| ; _this$ = ecx |
| |
| ; 2265 : { // checks whether _Off is in the bounds of [0, this->size()] |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2266 : if (this->_Mysize() < _Off) |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0000f 8b 00 mov eax, DWORD PTR [eax] |
| 00011 3b 45 08 cmp eax, DWORD PTR __Off$[ebp] |
| 00014 73 08 jae SHORT $LN3@Check_offs |
| |
| ; 2267 : _Xran(); |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran |
| $LN3@Check_offs: |
| |
| ; 2268 : } |
| |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c2 04 00 ret 4 |
| ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen, COMDAT |
| ; _this$ = ecx |
| |
| ; 2260 : { // report a length_error |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2261 : _Xlength_error("string too long"); |
| |
| 00007 68 00 00 00 00 push OFFSET ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ |
| 0000c e8 00 00 00 00 call ?_Xlength_error@std@@YAXPBD@Z ; std::_Xlength_error |
| $LN2@Xlen: |
| |
| ; 2262 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z |
| _TEXT SEGMENT |
| __Ptr$1 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Built$ = 8 ; size = 1 |
| __Newsize$ = 12 ; size = 4 |
| ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2243 : { // initialize buffer, deallocating any storage |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2244 : if (!_Built) |
| |
| 00009 0f b6 45 08 movzx eax, BYTE PTR __Built$[ebp] |
| 0000d 85 c0 test eax, eax |
| 0000f 75 02 jne SHORT $LN2@Tidy |
| 00011 eb 7b jmp SHORT $LN3@Tidy |
| $LN2@Tidy: |
| |
| ; 2245 : ; |
| ; 2246 : else if (this->_BUF_SIZE <= this->_Myres()) |
| |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 0001b 83 38 10 cmp DWORD PTR [eax], 16 ; 00000010H |
| 0001e 72 6e jb SHORT $LN3@Tidy |
| |
| ; 2247 : { // copy any leftovers to small buffer and deallocate |
| ; 2248 : pointer _Ptr = this->_Bx()._Ptr; |
| |
| 00020 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00023 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00028 8b 08 mov ecx, DWORD PTR [eax] |
| 0002a 89 4d f8 mov DWORD PTR __Ptr$1[ebp], ecx |
| |
| ; 2249 : this->_Getal().destroy(&this->_Bx()._Ptr); |
| |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00035 50 push eax |
| 00036 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00039 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 0003e 8b c8 mov ecx, eax |
| 00040 e8 00 00 00 00 call ??$destroy@PAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::destroy<char *> |
| |
| ; 2250 : if (0 < _Newsize) |
| |
| 00045 83 7d 0c 00 cmp DWORD PTR __Newsize$[ebp], 0 |
| 00049 76 22 jbe SHORT $LN5@Tidy |
| |
| ; 2251 : _Traits::copy(this->_Bx()._Buf, |
| |
| 0004b 8b 55 0c mov edx, DWORD PTR __Newsize$[ebp] |
| 0004e 52 push edx |
| 0004f 8b 45 f8 mov eax, DWORD PTR __Ptr$1[ebp] |
| 00052 50 push eax |
| 00053 e8 00 00 00 00 call ??$addressof@D@std@@YAPADAAD@Z ; std::addressof<char> |
| 00058 83 c4 04 add esp, 4 |
| 0005b 50 push eax |
| 0005c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005f e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00064 50 push eax |
| 00065 e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 0006a 83 c4 0c add esp, 12 ; 0000000cH |
| $LN5@Tidy: |
| |
| ; 2252 : _STD addressof(*_Ptr), _Newsize); |
| ; 2253 : this->_Getal().deallocate(_Ptr, this->_Myres() + 1); |
| |
| 0006d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00070 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00075 8b 08 mov ecx, DWORD PTR [eax] |
| 00077 83 c1 01 add ecx, 1 |
| 0007a 51 push ecx |
| 0007b 8b 55 f8 mov edx, DWORD PTR __Ptr$1[ebp] |
| 0007e 52 push edx |
| 0007f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00082 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00087 8b c8 mov ecx, eax |
| 00089 e8 00 00 00 00 call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate |
| $LN3@Tidy: |
| |
| ; 2254 : } |
| ; 2255 : this->_Myres() = this->_BUF_SIZE - 1; |
| |
| 0008e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00091 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00096 c7 00 0f 00 00 |
| 00 mov DWORD PTR [eax], 15 ; 0000000fH |
| |
| ; 2256 : _Eos(_Newsize); |
| |
| 0009c 8b 45 0c mov eax, DWORD PTR __Newsize$[ebp] |
| 0009f 50 push eax |
| 000a0 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a3 e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| |
| ; 2257 : } |
| |
| 000a8 8b e5 mov esp, ebp |
| 000aa 5d pop ebp |
| 000ab c2 08 00 ret 8 |
| ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside, COMDAT |
| ; _this$ = ecx |
| |
| ; 2233 : { // test if _Ptr points inside string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2234 : if (_Ptr == 0 || _Ptr < this->_Myptr() |
| ; 2235 : || this->_Myptr() + this->_Mysize() <= _Ptr) |
| |
| 00008 83 7d 08 00 cmp DWORD PTR __Ptr$[ebp], 0 |
| 0000c 74 26 je SHORT $LN4@Inside |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00016 39 45 08 cmp DWORD PTR __Ptr$[ebp], eax |
| 00019 72 19 jb SHORT $LN4@Inside |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00023 8b f0 mov esi, eax |
| 00025 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00028 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0002d 03 30 add esi, DWORD PTR [eax] |
| 0002f 3b 75 08 cmp esi, DWORD PTR __Ptr$[ebp] |
| 00032 77 06 ja SHORT $LN2@Inside |
| $LN4@Inside: |
| |
| ; 2236 : return (false); // don't ask |
| |
| 00034 32 c0 xor al, al |
| 00036 eb 04 jmp SHORT $LN1@Inside |
| |
| ; 2237 : else |
| |
| 00038 eb 02 jmp SHORT $LN1@Inside |
| $LN2@Inside: |
| |
| ; 2238 : return (true); |
| |
| 0003a b0 01 mov al, 1 |
| $LN1@Inside: |
| |
| ; 2239 : } |
| |
| 0003c 5e pop esi |
| 0003d 8b e5 mov esp, ebp |
| 0003f 5d pop ebp |
| 00040 c2 04 00 ret 4 |
| ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z |
| _TEXT SEGMENT |
| tv140 = -12 ; size = 4 |
| tv133 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Newsize$ = 8 ; size = 4 |
| __Trim$ = 12 ; size = 1 |
| ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow, COMDAT |
| ; _this$ = ecx |
| |
| ; 2219 : { // ensure buffer is big enough, trim to size if _Trim is true |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2220 : if (max_size() < _Newsize) |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| 00011 3b 45 08 cmp eax, DWORD PTR __Newsize$[ebp] |
| 00014 73 08 jae SHORT $LN2@Grow |
| |
| ; 2221 : _Xlen(); // result too long |
| |
| 00016 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00019 e8 00 00 00 00 call ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| $LN2@Grow: |
| |
| ; 2222 : if (this->_Myres() < _Newsize) |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00026 8b 00 mov eax, DWORD PTR [eax] |
| 00028 3b 45 08 cmp eax, DWORD PTR __Newsize$[ebp] |
| 0002b 73 19 jae SHORT $LN3@Grow |
| |
| ; 2223 : _Copy(_Newsize, this->_Mysize()); // reallocate to grow |
| |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00035 8b 08 mov ecx, DWORD PTR [eax] |
| 00037 51 push ecx |
| 00038 8b 55 08 mov edx, DWORD PTR __Newsize$[ebp] |
| 0003b 52 push edx |
| 0003c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003f e8 00 00 00 00 call ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy |
| 00044 eb 52 jmp SHORT $LN4@Grow |
| $LN3@Grow: |
| |
| ; 2224 : else if (_Trim && _Newsize < this->_BUF_SIZE) |
| |
| 00046 0f b6 45 0c movzx eax, BYTE PTR __Trim$[ebp] |
| 0004a 85 c0 test eax, eax |
| 0004c 74 3a je SHORT $LN5@Grow |
| 0004e 83 7d 08 10 cmp DWORD PTR __Newsize$[ebp], 16 ; 00000010H |
| 00052 73 34 jae SHORT $LN5@Grow |
| |
| ; 2225 : _Tidy(true, // copy and deallocate if trimming to small string |
| |
| 00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00057 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0005c 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 0005f 3b 08 cmp ecx, DWORD PTR [eax] |
| 00061 73 08 jae SHORT $LN9@Grow |
| 00063 8b 55 08 mov edx, DWORD PTR __Newsize$[ebp] |
| 00066 89 55 f8 mov DWORD PTR tv133[ebp], edx |
| 00069 eb 0d jmp SHORT $LN10@Grow |
| $LN9@Grow: |
| 0006b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006e e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00073 8b 00 mov eax, DWORD PTR [eax] |
| 00075 89 45 f8 mov DWORD PTR tv133[ebp], eax |
| $LN10@Grow: |
| 00078 8b 4d f8 mov ecx, DWORD PTR tv133[ebp] |
| 0007b 51 push ecx |
| 0007c 6a 01 push 1 |
| 0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00081 e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| 00086 eb 10 jmp SHORT $LN4@Grow |
| $LN5@Grow: |
| |
| ; 2226 : _Newsize < this->_Mysize() ? _Newsize : this->_Mysize()); |
| ; 2227 : else if (_Newsize == 0) |
| |
| 00088 83 7d 08 00 cmp DWORD PTR __Newsize$[ebp], 0 |
| 0008c 75 0a jne SHORT $LN4@Grow |
| |
| ; 2228 : _Eos(0); // new size is zero, just null terminate |
| |
| 0008e 6a 00 push 0 |
| 00090 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00093 e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN4@Grow: |
| |
| ; 2229 : return (0 < _Newsize); // return true only if more work to do |
| |
| 00098 83 7d 08 00 cmp DWORD PTR __Newsize$[ebp], 0 |
| 0009c 76 09 jbe SHORT $LN11@Grow |
| 0009e c7 45 f4 01 00 |
| 00 00 mov DWORD PTR tv140[ebp], 1 |
| 000a5 eb 07 jmp SHORT $LN12@Grow |
| $LN11@Grow: |
| 000a7 c7 45 f4 00 00 |
| 00 00 mov DWORD PTR tv140[ebp], 0 |
| $LN12@Grow: |
| 000ae 8a 45 f4 mov al, BYTE PTR tv140[ebp] |
| $LN8@Grow: |
| |
| ; 2230 : } |
| |
| 000b1 8b e5 mov esp, ebp |
| 000b3 5d pop ebp |
| 000b4 c2 08 00 ret 8 |
| ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| __Newsize$ = 8 ; size = 4 |
| ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos, COMDAT |
| ; _this$ = ecx |
| |
| ; 2213 : { // set new length and null terminator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2214 : _Traits::assign(this->_Myptr()[this->_Mysize() = _Newsize], _Elem()); |
| |
| 00009 c6 45 ff 00 mov BYTE PTR $T1[ebp], 0 |
| 0000d 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00015 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 00018 89 08 mov DWORD PTR [eax], ecx |
| 0001a 8d 55 ff lea edx, DWORD PTR $T1[ebp] |
| 0001d 52 push edx |
| 0001e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00026 03 45 08 add eax, DWORD PTR __Newsize$[ebp] |
| 00029 50 push eax |
| 0002a e8 00 00 00 00 call ?assign@?$char_traits@D@std@@SAXAADABD@Z ; std::char_traits<char>::assign |
| 0002f 83 c4 08 add esp, 8 |
| |
| ; 2215 : } |
| |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c2 04 00 ret 4 |
| ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z |
| _TEXT SEGMENT |
| __Ptr$ = -28 ; size = 4 |
| __Newres$ = -24 ; size = 4 |
| _this$ = -20 ; size = 4 |
| __$EHRec$ = -16 ; size = 16 |
| __Newsize$ = 8 ; size = 4 |
| __Oldlen$ = 12 ; size = 4 |
| ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy, COMDAT |
| ; _this$ = ecx |
| |
| ; 2178 : { // copy _Oldlen elements to newly allocated buffer |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 6a ff push -1 |
| 00005 68 00 00 00 00 push __ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z |
| 0000a 64 a1 00 00 00 |
| 00 mov eax, DWORD PTR fs:0 |
| 00010 50 push eax |
| 00011 51 push ecx |
| 00012 83 ec 0c sub esp, 12 ; 0000000cH |
| 00015 53 push ebx |
| 00016 56 push esi |
| 00017 57 push edi |
| 00018 a1 00 00 00 00 mov eax, DWORD PTR ___security_cookie |
| 0001d 33 c5 xor eax, ebp |
| 0001f 50 push eax |
| 00020 8d 45 f4 lea eax, DWORD PTR __$EHRec$[ebp+4] |
| 00023 64 a3 00 00 00 |
| 00 mov DWORD PTR fs:0, eax |
| 00029 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| 0002c 89 4d ec mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2179 : size_type _Newres = _Newsize | this->_ALLOC_MASK; |
| |
| 0002f 8b 45 08 mov eax, DWORD PTR __Newsize$[ebp] |
| 00032 83 c8 0f or eax, 15 ; 0000000fH |
| 00035 89 45 e8 mov DWORD PTR __Newres$[ebp], eax |
| |
| ; 2180 : if (max_size() < _Newres) |
| |
| 00038 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0003b e8 00 00 00 00 call ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| 00040 3b 45 e8 cmp eax, DWORD PTR __Newres$[ebp] |
| 00043 73 08 jae SHORT $LN2@Copy |
| |
| ; 2181 : _Newres = _Newsize; // undo roundup if too big |
| |
| 00045 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 00048 89 4d e8 mov DWORD PTR __Newres$[ebp], ecx |
| 0004b eb 6c jmp SHORT $LN3@Copy |
| $LN2@Copy: |
| |
| ; 2182 : else if (this->_Myres() / 2 <= _Newres / 3) |
| |
| 0004d 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00050 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00055 8b 08 mov ecx, DWORD PTR [eax] |
| 00057 d1 e9 shr ecx, 1 |
| 00059 8b 45 e8 mov eax, DWORD PTR __Newres$[ebp] |
| 0005c 33 d2 xor edx, edx |
| 0005e be 03 00 00 00 mov esi, 3 |
| 00063 f7 f6 div esi |
| 00065 3b c8 cmp ecx, eax |
| 00067 77 02 ja SHORT $LN4@Copy |
| 00069 eb 4e jmp SHORT $LN3@Copy |
| $LN4@Copy: |
| |
| ; 2183 : ; |
| ; 2184 : else if (this->_Myres() <= max_size() - this->_Myres() / 2) |
| |
| 0006b 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0006e e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00073 8b f0 mov esi, eax |
| 00075 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00078 e8 00 00 00 00 call ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| 0007d 8b f8 mov edi, eax |
| 0007f 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00082 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00087 8b 10 mov edx, DWORD PTR [eax] |
| 00089 d1 ea shr edx, 1 |
| 0008b 2b fa sub edi, edx |
| 0008d 39 3e cmp DWORD PTR [esi], edi |
| 0008f 77 1d ja SHORT $LN6@Copy |
| |
| ; 2185 : _Newres = this->_Myres() |
| |
| 00091 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00094 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00099 8b f0 mov esi, eax |
| 0009b 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0009e e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 000a3 8b 00 mov eax, DWORD PTR [eax] |
| 000a5 d1 e8 shr eax, 1 |
| 000a7 03 06 add eax, DWORD PTR [esi] |
| 000a9 89 45 e8 mov DWORD PTR __Newres$[ebp], eax |
| |
| ; 2186 : + this->_Myres() / 2; // grow exponentially if possible |
| ; 2187 : else |
| |
| 000ac eb 0b jmp SHORT $LN3@Copy |
| $LN6@Copy: |
| |
| ; 2188 : _Newres = max_size(); // settle for max_size() |
| |
| 000ae 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000b1 e8 00 00 00 00 call ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| 000b6 89 45 e8 mov DWORD PTR __Newres$[ebp], eax |
| $LN3@Copy: |
| |
| ; 2189 : |
| ; 2190 : _Elem *_Ptr; |
| ; 2191 : _TRY_BEGIN |
| |
| 000b9 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 0 |
| |
| ; 2192 : _Ptr = this->_Getal().allocate(_Newres + 1); |
| |
| 000c0 8b 4d e8 mov ecx, DWORD PTR __Newres$[ebp] |
| 000c3 83 c1 01 add ecx, 1 |
| 000c6 51 push ecx |
| 000c7 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000ca e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 000cf 8b c8 mov ecx, eax |
| 000d1 e8 00 00 00 00 call ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::allocate |
| 000d6 89 45 e4 mov DWORD PTR __Ptr$[ebp], eax |
| 000d9 eb 59 jmp SHORT $LN12@Copy |
| __catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$0: |
| |
| ; 2193 : _CATCH_ALL |
| |
| 000db 89 65 f0 mov DWORD PTR __$EHRec$[ebp], esp |
| |
| ; 2194 : _Newres = _Newsize; // allocation failed, undo roundup and retry |
| |
| 000de 8b 55 08 mov edx, DWORD PTR __Newsize$[ebp] |
| 000e1 89 55 e8 mov DWORD PTR __Newres$[ebp], edx |
| |
| ; 2195 : _TRY_BEGIN |
| |
| 000e4 c6 45 fc 02 mov BYTE PTR __$EHRec$[ebp+12], 2 |
| |
| ; 2196 : _Ptr = this->_Getal().allocate(_Newres + 1); |
| |
| 000e8 8b 45 e8 mov eax, DWORD PTR __Newres$[ebp] |
| 000eb 83 c0 01 add eax, 1 |
| 000ee 50 push eax |
| 000ef 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 000f2 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 000f7 8b c8 mov ecx, eax |
| 000f9 e8 00 00 00 00 call ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::allocate |
| 000fe 89 45 e4 mov DWORD PTR __Ptr$[ebp], eax |
| 00101 eb 1b jmp SHORT $LN14@Copy |
| __catch$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$1: |
| |
| ; 2197 : _CATCH_ALL |
| ; 2198 : _Tidy(true); // failed again, discard storage and reraise |
| |
| 00103 6a 00 push 0 |
| 00105 6a 01 push 1 |
| 00107 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0010a e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 2199 : _RERAISE; |
| |
| 0010f 6a 00 push 0 |
| 00111 6a 00 push 0 |
| 00113 e8 00 00 00 00 call __CxxThrowException@8 |
| |
| ; 2200 : _CATCH_END |
| |
| 00118 b8 00 00 00 00 mov eax, $LN17@Copy |
| 0011d c3 ret 0 |
| $LN14@Copy: |
| 0011e c7 45 fc 01 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 1 |
| 00125 eb 07 jmp SHORT __tryend$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$2 |
| $LN17@Copy: |
| 00127 c7 45 fc 01 00 |
| 00 00 mov DWORD PTR __$EHRec$[ebp+12], 1 |
| __tryend$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$2: |
| |
| ; 2201 : _CATCH_END |
| |
| 0012e b8 00 00 00 00 mov eax, $LN19@Copy |
| 00133 c3 ret 0 |
| $LN12@Copy: |
| 00134 c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| 0013b eb 07 jmp SHORT __tryend$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$3 |
| $LN19@Copy: |
| 0013d c7 45 fc ff ff |
| ff ff mov DWORD PTR __$EHRec$[ebp+12], -1 |
| __tryend$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z$3: |
| |
| ; 2202 : |
| ; 2203 : if (0 < _Oldlen) |
| |
| 00144 83 7d 0c 00 cmp DWORD PTR __Oldlen$[ebp], 0 |
| 00148 76 19 jbe SHORT $LN10@Copy |
| |
| ; 2204 : _Traits::copy(_Ptr, this->_Myptr(), |
| |
| 0014a 8b 4d 0c mov ecx, DWORD PTR __Oldlen$[ebp] |
| 0014d 51 push ecx |
| 0014e 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00151 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00156 50 push eax |
| 00157 8b 55 e4 mov edx, DWORD PTR __Ptr$[ebp] |
| 0015a 52 push edx |
| 0015b e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 00160 83 c4 0c add esp, 12 ; 0000000cH |
| $LN10@Copy: |
| |
| ; 2205 : _Oldlen); // copy existing elements |
| ; 2206 : _Tidy(true); |
| |
| 00163 6a 00 push 0 |
| 00165 6a 01 push 1 |
| 00167 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0016a e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 2207 : this->_Getal().construct(&this->_Bx()._Ptr, _Ptr); |
| |
| 0016f 8d 45 e4 lea eax, DWORD PTR __Ptr$[ebp] |
| 00172 50 push eax |
| 00173 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 00176 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 0017b 50 push eax |
| 0017c 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0017f e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00184 8b c8 mov ecx, eax |
| 00186 e8 00 00 00 00 call ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &> |
| |
| ; 2208 : this->_Myres() = _Newres; |
| |
| 0018b 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0018e e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00193 8b 4d e8 mov ecx, DWORD PTR __Newres$[ebp] |
| 00196 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 2209 : _Eos(_Oldlen); |
| |
| 00198 8b 55 0c mov edx, DWORD PTR __Oldlen$[ebp] |
| 0019b 52 push edx |
| 0019c 8b 4d ec mov ecx, DWORD PTR _this$[ebp] |
| 0019f e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN11@Copy: |
| |
| ; 2210 : } |
| |
| 001a4 8b 4d f4 mov ecx, DWORD PTR __$EHRec$[ebp+4] |
| 001a7 64 89 0d 00 00 |
| 00 00 mov DWORD PTR fs:0, ecx |
| 001ae 59 pop ecx |
| 001af 5f pop edi |
| 001b0 5e pop esi |
| 001b1 5b pop ebx |
| 001b2 8b e5 mov esp, ebp |
| 001b4 5d pop ebp |
| 001b5 c2 08 00 ret 8 |
| _TEXT ENDS |
| ; COMDAT text$x |
| text$x SEGMENT |
| __ehhandler$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z: |
| 00000 8b 54 24 08 mov edx, DWORD PTR [esp+8] |
| 00004 8d 42 0c lea eax, DWORD PTR [edx+12] |
| 00007 8b 4a e0 mov ecx, DWORD PTR [edx-32] |
| 0000a 33 c8 xor ecx, eax |
| 0000c e8 00 00 00 00 call @__security_check_cookie@4 |
| 00011 b8 00 00 00 00 mov eax, OFFSET __ehfuncinfo$?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z |
| 00016 e9 00 00 00 00 jmp ___CxxFrameHandler3 |
| text$x ENDS |
| ?_Copy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXII@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Copy |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXIID@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Ch$ = 16 ; size = 1 |
| ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXIID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign, COMDAT |
| ; _this$ = ecx |
| |
| ; 2170 : { // assign _Count copies of _Ch beginning at _Off |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2171 : if (_Count == 1) |
| |
| 00007 83 7d 0c 01 cmp DWORD PTR __Count$[ebp], 1 |
| 0000b 75 1a jne SHORT $LN2@Chassign |
| |
| ; 2172 : _Traits::assign(*(this->_Myptr() + _Off), _Ch); |
| |
| 0000d 8d 45 10 lea eax, DWORD PTR __Ch$[ebp] |
| 00010 50 push eax |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00019 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 0001c 50 push eax |
| 0001d e8 00 00 00 00 call ?assign@?$char_traits@D@std@@SAXAADABD@Z ; std::char_traits<char>::assign |
| 00022 83 c4 08 add esp, 8 |
| |
| ; 2173 : else |
| |
| 00025 eb 1d jmp SHORT $LN1@Chassign |
| $LN2@Chassign: |
| |
| ; 2174 : _Traits::assign(this->_Myptr() + _Off, _Count, _Ch); |
| |
| 00027 0f b6 4d 10 movzx ecx, BYTE PTR __Ch$[ebp] |
| 0002b 51 push ecx |
| 0002c 8b 55 0c mov edx, DWORD PTR __Count$[ebp] |
| 0002f 52 push edx |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00038 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 0003b 50 push eax |
| 0003c e8 00 00 00 00 call ?assign@?$char_traits@D@std@@SAPADPADID@Z ; std::char_traits<char>::assign |
| 00041 83 c4 0c add esp, 12 ; 0000000cH |
| $LN1@Chassign: |
| |
| ; 2175 : } |
| |
| 00044 8b e5 mov esp, ebp |
| 00046 5d pop ebp |
| 00047 c2 0c 00 ret 12 ; 0000000cH |
| ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXIID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare, COMDAT |
| ; _this$ = ecx |
| |
| ; 2117 : { // compare [0, _Mysize()) with _Right |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2118 : return (_Traits_compare(this->_Myptr(), this->_Mysize(), |
| |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0000f 8b 00 mov eax, DWORD PTR [eax] |
| 00011 50 push eax |
| 00012 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00015 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0001a 50 push eax |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00023 8b 08 mov ecx, DWORD PTR [eax] |
| 00025 51 push ecx |
| 00026 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00029 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0002e 50 push eax |
| 0002f e8 00 00 00 00 call ?_Traits_compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAHQBDI0I@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Traits_compare |
| 00034 83 c4 10 add esp, 16 ; 00000010H |
| |
| ; 2119 : _Right._Myptr(), _Right._Mysize())); |
| ; 2120 : } |
| |
| 00037 8b e5 mov esp, ebp |
| 00039 5d pop ebp |
| 0003a c2 04 00 ret 4 |
| ?compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEHABV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::compare |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| __Max_effective_size$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| __Size$ = 12 ; size = 4 |
| ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 2108 : { // trims _Size to the longest it can be assuming a string starting at _Off |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 2109 : const size_type _Max_effective_size = this->_Mysize() - _Off; |
| |
| 00009 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00011 8b 00 mov eax, DWORD PTR [eax] |
| 00013 2b 45 08 sub eax, DWORD PTR __Off$[ebp] |
| 00016 89 45 fc mov DWORD PTR __Max_effective_size$[ebp], eax |
| |
| ; 2110 : if (_Size <= _Max_effective_size) |
| |
| 00019 8b 4d 0c mov ecx, DWORD PTR __Size$[ebp] |
| 0001c 3b 4d fc cmp ecx, DWORD PTR __Max_effective_size$[ebp] |
| 0001f 77 07 ja SHORT $LN2@Clamp_suff |
| |
| ; 2111 : return (_Size); |
| |
| 00021 8b 45 0c mov eax, DWORD PTR __Size$[ebp] |
| 00024 eb 05 jmp SHORT $LN1@Clamp_suff |
| |
| ; 2112 : else |
| |
| 00026 eb 03 jmp SHORT $LN1@Clamp_suff |
| $LN2@Clamp_suff: |
| |
| ; 2113 : return (_Max_effective_size); |
| |
| 00028 8b 45 fc mov eax, DWORD PTR __Max_effective_size$[ebp] |
| $LN1@Clamp_suff: |
| |
| ; 2114 : } |
| |
| 0002b 8b e5 mov esp, ebp |
| 0002d 5d pop ebp |
| 0002e c2 08 00 ret 8 |
| ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Traits_compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAHQBDI0I@Z |
| _TEXT SEGMENT |
| __Min_size$ = -12 ; size = 4 |
| __Ans$ = -8 ; size = 4 |
| tv65 = -4 ; size = 4 |
| __Left$ = 8 ; size = 4 |
| __Left_size$ = 12 ; size = 4 |
| __Right$ = 16 ; size = 4 |
| __Right_size$ = 20 ; size = 4 |
| ?_Traits_compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAHQBDI0I@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Traits_compare, COMDAT |
| |
| ; 2091 : { // compare [_Left, _Left + _Left_size) to [_Right, _Right + _Right_size) using _Traits |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| |
| ; 2092 : const size_type _Min_size = _Left_size < _Right_size ? _Left_size : _Right_size; |
| |
| 00006 8b 45 0c mov eax, DWORD PTR __Left_size$[ebp] |
| 00009 3b 45 14 cmp eax, DWORD PTR __Right_size$[ebp] |
| 0000c 73 08 jae SHORT $LN6@Traits_com |
| 0000e 8b 4d 0c mov ecx, DWORD PTR __Left_size$[ebp] |
| 00011 89 4d fc mov DWORD PTR tv65[ebp], ecx |
| 00014 eb 06 jmp SHORT $LN7@Traits_com |
| $LN6@Traits_com: |
| 00016 8b 55 14 mov edx, DWORD PTR __Right_size$[ebp] |
| 00019 89 55 fc mov DWORD PTR tv65[ebp], edx |
| $LN7@Traits_com: |
| 0001c 8b 45 fc mov eax, DWORD PTR tv65[ebp] |
| 0001f 89 45 f4 mov DWORD PTR __Min_size$[ebp], eax |
| |
| ; 2093 : const int _Ans = _Traits::compare(_Left, _Right, _Min_size); |
| |
| 00022 8b 4d f4 mov ecx, DWORD PTR __Min_size$[ebp] |
| 00025 51 push ecx |
| 00026 8b 55 10 mov edx, DWORD PTR __Right$[ebp] |
| 00029 52 push edx |
| 0002a 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 0002d 50 push eax |
| 0002e e8 00 00 00 00 call ?compare@?$char_traits@D@std@@SAHPBD0I@Z ; std::char_traits<char>::compare |
| 00033 83 c4 0c add esp, 12 ; 0000000cH |
| 00036 89 45 f8 mov DWORD PTR __Ans$[ebp], eax |
| |
| ; 2094 : |
| ; 2095 : if (_Ans != 0) |
| |
| 00039 83 7d f8 00 cmp DWORD PTR __Ans$[ebp], 0 |
| 0003d 74 05 je SHORT $LN2@Traits_com |
| |
| ; 2096 : return (_Ans); |
| |
| 0003f 8b 45 f8 mov eax, DWORD PTR __Ans$[ebp] |
| 00042 eb 1e jmp SHORT $LN1@Traits_com |
| $LN2@Traits_com: |
| |
| ; 2097 : |
| ; 2098 : if (_Left_size < _Right_size) |
| |
| 00044 8b 4d 0c mov ecx, DWORD PTR __Left_size$[ebp] |
| 00047 3b 4d 14 cmp ecx, DWORD PTR __Right_size$[ebp] |
| 0004a 73 05 jae SHORT $LN3@Traits_com |
| |
| ; 2099 : return (-1); |
| |
| 0004c 83 c8 ff or eax, -1 |
| 0004f eb 11 jmp SHORT $LN1@Traits_com |
| $LN3@Traits_com: |
| |
| ; 2100 : |
| ; 2101 : if (_Left_size > _Right_size) |
| |
| 00051 8b 55 0c mov edx, DWORD PTR __Left_size$[ebp] |
| 00054 3b 55 14 cmp edx, DWORD PTR __Right_size$[ebp] |
| 00057 76 07 jbe SHORT $LN4@Traits_com |
| |
| ; 2102 : return (1); |
| |
| 00059 b8 01 00 00 00 mov eax, 1 |
| 0005e eb 02 jmp SHORT $LN1@Traits_com |
| $LN4@Traits_com: |
| |
| ; 2103 : |
| ; 2104 : return (0); |
| |
| 00060 33 c0 xor eax, eax |
| $LN1@Traits_com: |
| |
| ; 2105 : } |
| |
| 00062 8b e5 mov esp, ebp |
| 00064 5d pop ebp |
| 00065 c3 ret 0 |
| ?_Traits_compare@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@SAHQBDI0I@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Traits_compare |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Newsize$ = 8 ; size = 4 |
| __Ch$ = 12 ; size = 1 |
| ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize, COMDAT |
| ; _this$ = ecx |
| |
| ; 1757 : { // determine new length, padding with _Ch elements as needed |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1758 : if (_Newsize <= this->_Mysize()) |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0000f 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 00012 3b 08 cmp ecx, DWORD PTR [eax] |
| 00014 77 0e ja SHORT $LN2@resize |
| |
| ; 1759 : _Eos(_Newsize); |
| |
| 00016 8b 55 08 mov edx, DWORD PTR __Newsize$[ebp] |
| 00019 52 push edx |
| 0001a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001d e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| |
| ; 1760 : else |
| |
| 00022 eb 1b jmp SHORT $LN1@resize |
| $LN2@resize: |
| |
| ; 1761 : append(_Newsize - this->_Mysize(), _Ch); |
| |
| 00024 0f b6 45 0c movzx eax, BYTE PTR __Ch$[ebp] |
| 00028 50 push eax |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00031 8b 4d 08 mov ecx, DWORD PTR __Newsize$[ebp] |
| 00034 2b 08 sub ecx, DWORD PTR [eax] |
| 00036 51 push ecx |
| 00037 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003a e8 00 00 00 00 call ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append |
| $LN1@resize: |
| |
| ; 1762 : } |
| |
| 0003f 8b e5 mov esp, ebp |
| 00041 5d pop ebp |
| 00042 c2 08 00 ret 8 |
| ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Newsize$ = 8 ; size = 4 |
| ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize, COMDAT |
| ; _this$ = ecx |
| |
| ; 1752 : { // determine new length, padding with null elements as needed |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1753 : resize(_Newsize, _Elem()); |
| |
| 00007 6a 00 push 0 |
| 00009 8b 45 08 mov eax, DWORD PTR __Newsize$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| |
| ; 1754 : } |
| |
| 00015 8b e5 mov esp, ebp |
| 00017 5d pop ebp |
| 00018 c2 04 00 ret 4 |
| ?resize@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::resize |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -16 ; size = 4 |
| tv75 = -12 ; size = 4 |
| __Num$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1746 : { // return maximum possible length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| 00006 89 4d f0 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1747 : const size_type _Num = this->_Getal().max_size(); |
| |
| 00009 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d f0 mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00016 8b c8 mov ecx, eax |
| 00018 e8 00 00 00 00 call ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<char> >::max_size |
| 0001d 89 45 f8 mov DWORD PTR __Num$[ebp], eax |
| |
| ; 1748 : return (_Num <= 1 ? 1 : _Num - 1); |
| |
| 00020 83 7d f8 01 cmp DWORD PTR __Num$[ebp], 1 |
| 00024 77 09 ja SHORT $LN3@max_size |
| 00026 c7 45 f4 01 00 |
| 00 00 mov DWORD PTR tv75[ebp], 1 |
| 0002d eb 09 jmp SHORT $LN4@max_size |
| $LN3@max_size: |
| 0002f 8b 4d f8 mov ecx, DWORD PTR __Num$[ebp] |
| 00032 83 e9 01 sub ecx, 1 |
| 00035 89 4d f4 mov DWORD PTR tv75[ebp], ecx |
| $LN4@max_size: |
| 00038 8b 45 f4 mov eax, DWORD PTR tv75[ebp] |
| |
| ; 1749 : } |
| |
| 0003b 8b e5 mov esp, ebp |
| 0003d 5d pop ebp |
| 0003e c3 ret 0 |
| ?max_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size, COMDAT |
| ; _this$ = ecx |
| |
| ; 1741 : { // return length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1742 : return (this->_Mysize()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0000f 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 1743 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length, COMDAT |
| ; _this$ = ecx |
| |
| ; 1736 : { // return length of sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1737 : return (this->_Mysize()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0000f 8b 00 mov eax, DWORD PTR [eax] |
| |
| ; 1738 : } |
| |
| 00011 8b e5 mov esp, ebp |
| 00013 5d pop ebp |
| 00014 c3 ret 0 |
| ?length@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::length |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str, COMDAT |
| ; _this$ = ecx |
| |
| ; 1726 : { // return pointer to null-terminated nonmutable array |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1727 : return (this->_Myptr()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| |
| ; 1728 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[], COMDAT |
| ; _this$ = ecx |
| |
| ; 1670 : { // subscript mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1671 : #if _ITERATOR_DEBUG_LEVEL == 2 |
| ; 1672 : if (this->_Mysize() < _Off) // sic |
| ; 1673 : _DEBUG_ERROR("string subscript out of range"); |
| ; 1674 : |
| ; 1675 : #elif _ITERATOR_DEBUG_LEVEL == 1 |
| ; 1676 : _SCL_SECURE_VALIDATE_RANGE(_Off <= this->_Mysize()); // sic |
| ; 1677 : #endif /* _ITERATOR_DEBUG_LEVEL == 2 */ |
| ; 1678 : |
| ; 1679 : return (this->_Myptr()[_Off]); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0000f 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| |
| ; 1680 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c2 04 00 ret 4 |
| ??A?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAADI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator[] |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::end, COMDAT |
| ; _this$ = ecx |
| |
| ; 1599 : { // return iterator for end of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1600 : return (iterator(this->_Myptr() + this->_Mysize(), &this->_Get_data())); |
| |
| 00008 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000b e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 00010 50 push eax |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00019 8b f0 mov esi, eax |
| 0001b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001e e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00023 03 30 add esi, DWORD PTR [eax] |
| 00025 56 push esi |
| 00026 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 00029 e8 00 00 00 00 call ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::_String_iterator<std::_String_val<std::_Simple_types<char> > > |
| 0002e 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1601 : } |
| |
| 00031 5e pop esi |
| 00032 8b e5 mov esp, ebp |
| 00034 5d pop ebp |
| 00035 c2 04 00 ret 4 |
| ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::end |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___$ReturnUdt$ = 8 ; size = 4 |
| ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin, COMDAT |
| ; _this$ = ecx |
| |
| ; 1589 : { // return iterator for beginning of mutable sequence |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1590 : return (iterator(this->_Myptr(), &this->_Get_data())); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 50 push eax |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00018 50 push eax |
| 00019 8b 4d 08 mov ecx, DWORD PTR ___$ReturnUdt$[ebp] |
| 0001c e8 00 00 00 00 call ??0?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QAE@PADPBU_Container_base0@1@@Z ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::_String_iterator<std::_String_val<std::_Simple_types<char> > > |
| 00021 8b 45 08 mov eax, DWORD PTR ___$ReturnUdt$[ebp] |
| |
| ; 1591 : } |
| |
| 00024 8b e5 mov esp, ebp |
| 00026 5d pop ebp |
| 00027 c2 04 00 ret 4 |
| ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@1@Z |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 4 |
| $T2 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Last$ = 12 ; size = 4 |
| __First2$ = 16 ; size = 4 |
| __Last2$ = 20 ; size = 4 |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@1@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace, COMDAT |
| ; _this$ = ecx |
| |
| ; 1579 : { // replace [_First, _Last) with [_First2, _Last2), const_iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1580 : if (_First2 == _Last2) |
| |
| 00009 8d 45 14 lea eax, DWORD PTR __Last2$[ebp] |
| 0000c 50 push eax |
| 0000d 8d 4d 10 lea ecx, DWORD PTR __First2$[ebp] |
| 00010 e8 00 00 00 00 call ??8?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBE_NABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator== |
| 00015 0f b6 c8 movzx ecx, al |
| 00018 85 c9 test ecx, ecx |
| 0001a 74 2d je SHORT $LN2@replace |
| |
| ; 1581 : erase(_First - begin(), _Last - _First); |
| |
| 0001c 8d 55 08 lea edx, DWORD PTR __First$[ebp] |
| 0001f 52 push edx |
| 00020 8d 4d 0c lea ecx, DWORD PTR __Last$[ebp] |
| 00023 e8 00 00 00 00 call ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| 00028 50 push eax |
| 00029 8d 45 f8 lea eax, DWORD PTR $T2[ebp] |
| 0002c 50 push eax |
| 0002d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00030 e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00035 50 push eax |
| 00036 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 00039 e8 00 00 00 00 call ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| 0003e 50 push eax |
| 0003f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00042 e8 00 00 00 00 call ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| |
| ; 1582 : else |
| |
| 00047 eb 41 jmp SHORT $LN3@replace |
| $LN2@replace: |
| |
| ; 1583 : replace(_First - begin(), _Last - _First, |
| |
| 00049 8d 4d 10 lea ecx, DWORD PTR __First2$[ebp] |
| 0004c 51 push ecx |
| 0004d 8d 4d 14 lea ecx, DWORD PTR __Last2$[ebp] |
| 00050 e8 00 00 00 00 call ??G?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@@Z ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| 00055 50 push eax |
| 00056 8d 4d 10 lea ecx, DWORD PTR __First2$[ebp] |
| 00059 e8 00 00 00 00 call ??D?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEAADXZ ; std::_String_iterator<std::_String_val<std::_Simple_types<char> > >::operator* |
| 0005e 50 push eax |
| 0005f 8d 55 08 lea edx, DWORD PTR __First$[ebp] |
| 00062 52 push edx |
| 00063 8d 4d 0c lea ecx, DWORD PTR __Last$[ebp] |
| 00066 e8 00 00 00 00 call ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| 0006b 50 push eax |
| 0006c 8d 45 f4 lea eax, DWORD PTR $T1[ebp] |
| 0006f 50 push eax |
| 00070 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00073 e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00078 50 push eax |
| 00079 8d 4d 08 lea ecx, DWORD PTR __First$[ebp] |
| 0007c e8 00 00 00 00 call ??G?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@QBEHABV01@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<char> > >::operator- |
| 00081 50 push eax |
| 00082 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00085 e8 00 00 00 00 call ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| $LN3@replace: |
| |
| ; 1584 : &*_First2, _Last2 - _First2); |
| ; 1585 : return (*this); |
| |
| 0008a 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 1586 : } |
| |
| 0008d 8b e5 mov esp, ebp |
| 0008f 5d pop ebp |
| 00090 c2 10 00 ret 16 ; 00000010H |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_const_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@0V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@1@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z |
| _TEXT SEGMENT |
| __Num$ = -12 ; size = 4 |
| __Nm$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| __N0$ = 12 ; size = 4 |
| __Ptr$ = 16 ; size = 4 |
| __Count$ = 20 ; size = 4 |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace, COMDAT |
| ; _this$ = ecx |
| |
| ; 1448 : { // replace [_Off, _Off + _N0) with [_Ptr, _Ptr + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 56 push esi |
| 00007 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1449 : _DEBUG_POINTER_IF(_Count != 0, _Ptr); |
| ; 1450 : if (_Inside(_Ptr)) |
| |
| 0000a 8b 45 10 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside |
| 00016 0f b6 c8 movzx ecx, al |
| 00019 85 c9 test ecx, ecx |
| 0001b 74 2b je SHORT $LN2@replace |
| |
| ; 1451 : return (replace(_Off, _N0, *this, |
| |
| 0001d 8b 55 14 mov edx, DWORD PTR __Count$[ebp] |
| 00020 52 push edx |
| 00021 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00024 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00029 8b 4d 10 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0002c 2b c8 sub ecx, eax |
| 0002e 51 push ecx |
| 0002f 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00032 52 push edx |
| 00033 8b 45 0c mov eax, DWORD PTR __N0$[ebp] |
| 00036 50 push eax |
| 00037 8b 4d 08 mov ecx, DWORD PTR __Off$[ebp] |
| 0003a 51 push ecx |
| 0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003e e8 00 00 00 00 call ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| 00043 e9 14 01 00 00 jmp $LN8@replace |
| $LN2@replace: |
| |
| ; 1452 : _Ptr - this->_Myptr(), |
| ; 1453 : _Count)); // substring, replace carefully |
| ; 1454 : _Check_offset(_Off); |
| |
| 00048 8b 55 08 mov edx, DWORD PTR __Off$[ebp] |
| 0004b 52 push edx |
| 0004c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004f e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1455 : _N0 = _Clamp_suffix_size(_Off, _N0); |
| |
| 00054 8b 45 0c mov eax, DWORD PTR __N0$[ebp] |
| 00057 50 push eax |
| 00058 8b 4d 08 mov ecx, DWORD PTR __Off$[ebp] |
| 0005b 51 push ecx |
| 0005c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005f e8 00 00 00 00 call ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| 00064 89 45 0c mov DWORD PTR __N0$[ebp], eax |
| |
| ; 1456 : if (npos - _Count <= this->_Mysize() - _N0) |
| |
| 00067 83 ce ff or esi, -1 |
| 0006a 2b 75 14 sub esi, DWORD PTR __Count$[ebp] |
| 0006d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00070 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00075 8b 10 mov edx, DWORD PTR [eax] |
| 00077 2b 55 0c sub edx, DWORD PTR __N0$[ebp] |
| 0007a 3b f2 cmp esi, edx |
| 0007c 77 08 ja SHORT $LN3@replace |
| |
| ; 1457 : _Xlen(); // result too long |
| |
| 0007e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00081 e8 00 00 00 00 call ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| $LN3@replace: |
| |
| ; 1458 : size_type _Nm = this->_Mysize() - _N0 - _Off; |
| |
| 00086 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00089 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0008e 8b 00 mov eax, DWORD PTR [eax] |
| 00090 2b 45 0c sub eax, DWORD PTR __N0$[ebp] |
| 00093 2b 45 08 sub eax, DWORD PTR __Off$[ebp] |
| 00096 89 45 f8 mov DWORD PTR __Nm$[ebp], eax |
| |
| ; 1459 : |
| ; 1460 : if (_Count < _N0) |
| |
| 00099 8b 4d 14 mov ecx, DWORD PTR __Count$[ebp] |
| 0009c 3b 4d 0c cmp ecx, DWORD PTR __N0$[ebp] |
| 0009f 73 2a jae SHORT $LN4@replace |
| |
| ; 1461 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 000a1 8b 55 f8 mov edx, DWORD PTR __Nm$[ebp] |
| 000a4 52 push edx |
| 000a5 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a8 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000ad 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 000b0 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 000b3 50 push eax |
| 000b4 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b7 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000bc 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 000bf 03 45 14 add eax, DWORD PTR __Count$[ebp] |
| 000c2 50 push eax |
| 000c3 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 000c8 83 c4 0c add esp, 12 ; 0000000cH |
| $LN4@replace: |
| |
| ; 1462 : this->_Myptr() + _Off + _N0, |
| ; 1463 : _Nm); // smaller hole, move tail up |
| ; 1464 : const size_type _Num = this->_Mysize() + _Count - _N0; |
| |
| 000cb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ce e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 000d3 8b 00 mov eax, DWORD PTR [eax] |
| 000d5 03 45 14 add eax, DWORD PTR __Count$[ebp] |
| 000d8 2b 45 0c sub eax, DWORD PTR __N0$[ebp] |
| 000db 89 45 f4 mov DWORD PTR __Num$[ebp], eax |
| |
| ; 1465 : if ((0 < _Count || 0 < _N0) |
| ; 1466 : && _Grow(_Num)) |
| |
| 000de 83 7d 14 00 cmp DWORD PTR __Count$[ebp], 0 |
| 000e2 77 06 ja SHORT $LN6@replace |
| 000e4 83 7d 0c 00 cmp DWORD PTR __N0$[ebp], 0 |
| 000e8 76 6f jbe SHORT $LN5@replace |
| $LN6@replace: |
| 000ea 6a 00 push 0 |
| 000ec 8b 4d f4 mov ecx, DWORD PTR __Num$[ebp] |
| 000ef 51 push ecx |
| 000f0 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f3 e8 00 00 00 00 call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| 000f8 0f b6 d0 movzx edx, al |
| 000fb 85 d2 test edx, edx |
| 000fd 74 5a je SHORT $LN5@replace |
| |
| ; 1467 : { // make room and rearrange |
| ; 1468 : if (_N0 < _Count) |
| |
| 000ff 8b 45 0c mov eax, DWORD PTR __N0$[ebp] |
| 00102 3b 45 14 cmp eax, DWORD PTR __Count$[ebp] |
| 00105 73 2a jae SHORT $LN7@replace |
| |
| ; 1469 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 00107 8b 4d f8 mov ecx, DWORD PTR __Nm$[ebp] |
| 0010a 51 push ecx |
| 0010b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0010e e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00113 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00116 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 00119 50 push eax |
| 0011a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0011d e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00122 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00125 03 45 14 add eax, DWORD PTR __Count$[ebp] |
| 00128 50 push eax |
| 00129 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0012e 83 c4 0c add esp, 12 ; 0000000cH |
| $LN7@replace: |
| |
| ; 1470 : this->_Myptr() + _Off + _N0, _Nm); // move tail down |
| ; 1471 : _Traits::copy(this->_Myptr() + _Off, _Ptr, _Count); // fill hole |
| |
| 00131 8b 55 14 mov edx, DWORD PTR __Count$[ebp] |
| 00134 52 push edx |
| 00135 8b 45 10 mov eax, DWORD PTR __Ptr$[ebp] |
| 00138 50 push eax |
| 00139 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0013c e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00141 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00144 50 push eax |
| 00145 e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 0014a 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1472 : _Eos(_Num); |
| |
| 0014d 8b 4d f4 mov ecx, DWORD PTR __Num$[ebp] |
| 00150 51 push ecx |
| 00151 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00154 e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN5@replace: |
| |
| ; 1473 : } |
| ; 1474 : return (*this); |
| |
| 00159 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| $LN8@replace: |
| |
| ; 1475 : } |
| |
| 0015c 5e pop esi |
| 0015d 8b e5 mov esp, ebp |
| 0015f 5d pop ebp |
| 00160 c2 10 00 ret 16 ; 00000010H |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIPBDI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z |
| _TEXT SEGMENT |
| __Newsize$ = -12 ; size = 4 |
| __Nm$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| __N0$ = 12 ; size = 4 |
| __Right$ = 16 ; size = 4 |
| __Roff$ = 20 ; size = 4 |
| __Count$ = 24 ; size = 4 |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace, COMDAT |
| ; _this$ = ecx |
| |
| ; 1384 : { // replace [_Off, _Off + _N0) with _Right [_Roff, _Roff + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 56 push esi |
| 00007 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1385 : _Check_offset(_Off); |
| |
| 0000a 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1386 : _Right._Check_offset(_Roff); |
| |
| 00016 8b 4d 14 mov ecx, DWORD PTR __Roff$[ebp] |
| 00019 51 push ecx |
| 0001a 8b 4d 10 mov ecx, DWORD PTR __Right$[ebp] |
| 0001d e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1387 : _N0 = _Clamp_suffix_size(_Off, _N0); |
| |
| 00022 8b 55 0c mov edx, DWORD PTR __N0$[ebp] |
| 00025 52 push edx |
| 00026 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 00029 50 push eax |
| 0002a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002d e8 00 00 00 00 call ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| 00032 89 45 0c mov DWORD PTR __N0$[ebp], eax |
| |
| ; 1388 : _Count = _Right._Clamp_suffix_size(_Roff, _Count); |
| |
| 00035 8b 4d 18 mov ecx, DWORD PTR __Count$[ebp] |
| 00038 51 push ecx |
| 00039 8b 55 14 mov edx, DWORD PTR __Roff$[ebp] |
| 0003c 52 push edx |
| 0003d 8b 4d 10 mov ecx, DWORD PTR __Right$[ebp] |
| 00040 e8 00 00 00 00 call ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| 00045 89 45 18 mov DWORD PTR __Count$[ebp], eax |
| |
| ; 1389 : if (npos - _Count <= this->_Mysize() - _N0) |
| |
| 00048 83 ce ff or esi, -1 |
| 0004b 2b 75 18 sub esi, DWORD PTR __Count$[ebp] |
| 0004e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00051 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00056 8b 00 mov eax, DWORD PTR [eax] |
| 00058 2b 45 0c sub eax, DWORD PTR __N0$[ebp] |
| 0005b 3b f0 cmp esi, eax |
| 0005d 77 08 ja SHORT $LN2@replace |
| |
| ; 1390 : _Xlen(); // result too long |
| |
| 0005f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00062 e8 00 00 00 00 call ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| $LN2@replace: |
| |
| ; 1391 : |
| ; 1392 : const size_type _Nm = this->_Mysize() - _N0 - _Off; // length of kept tail |
| |
| 00067 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006a e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0006f 8b 08 mov ecx, DWORD PTR [eax] |
| 00071 2b 4d 0c sub ecx, DWORD PTR __N0$[ebp] |
| 00074 2b 4d 08 sub ecx, DWORD PTR __Off$[ebp] |
| 00077 89 4d f8 mov DWORD PTR __Nm$[ebp], ecx |
| |
| ; 1393 : const size_type _Newsize = this->_Mysize() + _Count - _N0; |
| |
| 0007a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007d e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00082 8b 10 mov edx, DWORD PTR [eax] |
| 00084 03 55 18 add edx, DWORD PTR __Count$[ebp] |
| 00087 2b 55 0c sub edx, DWORD PTR __N0$[ebp] |
| 0008a 89 55 f4 mov DWORD PTR __Newsize$[ebp], edx |
| |
| ; 1394 : if (this->_Mysize() < _Newsize) |
| |
| 0008d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00090 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00095 8b 00 mov eax, DWORD PTR [eax] |
| 00097 3b 45 f4 cmp eax, DWORD PTR __Newsize$[ebp] |
| 0009a 73 0e jae SHORT $LN3@replace |
| |
| ; 1395 : _Grow(_Newsize); |
| |
| 0009c 6a 00 push 0 |
| 0009e 8b 4d f4 mov ecx, DWORD PTR __Newsize$[ebp] |
| 000a1 51 push ecx |
| 000a2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000a5 e8 00 00 00 00 call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| $LN3@replace: |
| |
| ; 1396 : |
| ; 1397 : if (_Count == _N0) |
| |
| 000aa 8b 55 18 mov edx, DWORD PTR __Count$[ebp] |
| 000ad 3b 55 0c cmp edx, DWORD PTR __N0$[ebp] |
| 000b0 75 29 jne SHORT $LN4@replace |
| |
| ; 1398 : { // only one movement required, so _Traits::move handles any overlap |
| ; 1399 : _Traits::move(this->_Myptr() + _Off, |
| |
| 000b2 8b 45 18 mov eax, DWORD PTR __Count$[ebp] |
| 000b5 50 push eax |
| 000b6 8b 4d 10 mov ecx, DWORD PTR __Right$[ebp] |
| 000b9 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000be 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 000c1 50 push eax |
| 000c2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000c5 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000ca 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 000cd 50 push eax |
| 000ce e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 000d3 83 c4 0c add esp, 12 ; 0000000cH |
| 000d6 e9 ef 01 00 00 jmp $LN5@replace |
| $LN4@replace: |
| |
| ; 1400 : _Right._Myptr() + _Roff, _Count); // fill hole |
| ; 1401 : } |
| ; 1402 : else if (this != &_Right) |
| |
| 000db 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000de 3b 4d 10 cmp ecx, DWORD PTR __Right$[ebp] |
| 000e1 74 53 je SHORT $LN6@replace |
| |
| ; 1403 : { // no overlap, just move down and copy in new stuff |
| ; 1404 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 000e3 8b 55 f8 mov edx, DWORD PTR __Nm$[ebp] |
| 000e6 52 push edx |
| 000e7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000ea e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000ef 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 000f2 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 000f5 50 push eax |
| 000f6 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000f9 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 000fe 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00101 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 00104 50 push eax |
| 00105 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0010a 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1405 : this->_Myptr() + _Off + _N0, _Nm); // empty hole |
| ; 1406 : _Traits::copy(this->_Myptr() + _Off, |
| |
| 0010d 8b 45 18 mov eax, DWORD PTR __Count$[ebp] |
| 00110 50 push eax |
| 00111 8b 4d 10 mov ecx, DWORD PTR __Right$[ebp] |
| 00114 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00119 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 0011c 50 push eax |
| 0011d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00120 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00125 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00128 50 push eax |
| 00129 e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 0012e 83 c4 0c add esp, 12 ; 0000000cH |
| 00131 e9 94 01 00 00 jmp $LN5@replace |
| $LN6@replace: |
| |
| ; 1407 : _Right._Myptr() + _Roff, _Count); // fill hole |
| ; 1408 : } |
| ; 1409 : else if (_Count < _N0) |
| |
| 00136 8b 4d 18 mov ecx, DWORD PTR __Count$[ebp] |
| 00139 3b 4d 0c cmp ecx, DWORD PTR __N0$[ebp] |
| 0013c 73 53 jae SHORT $LN8@replace |
| |
| ; 1410 : { // hole doesn't get larger, just copy in substring |
| ; 1411 : _Traits::move(this->_Myptr() + _Off, |
| |
| 0013e 8b 55 18 mov edx, DWORD PTR __Count$[ebp] |
| 00141 52 push edx |
| 00142 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00145 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0014a 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 0014d 50 push eax |
| 0014e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00151 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00156 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00159 50 push eax |
| 0015a e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0015f 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1412 : this->_Myptr() + _Roff, _Count); // fill hole |
| ; 1413 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 00162 8b 45 f8 mov eax, DWORD PTR __Nm$[ebp] |
| 00165 50 push eax |
| 00166 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00169 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0016e 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00171 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 00174 50 push eax |
| 00175 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00178 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0017d 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00180 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 00183 50 push eax |
| 00184 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 00189 83 c4 0c add esp, 12 ; 0000000cH |
| 0018c e9 39 01 00 00 jmp $LN5@replace |
| $LN8@replace: |
| |
| ; 1414 : this->_Myptr() + _Off + _N0, _Nm); // move tail down |
| ; 1415 : } |
| ; 1416 : else if (_Roff <= _Off) |
| |
| 00191 8b 4d 14 mov ecx, DWORD PTR __Roff$[ebp] |
| 00194 3b 4d 08 cmp ecx, DWORD PTR __Off$[ebp] |
| 00197 77 53 ja SHORT $LN10@replace |
| |
| ; 1417 : { // hole gets larger, substring begins before hole |
| ; 1418 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 00199 8b 55 f8 mov edx, DWORD PTR __Nm$[ebp] |
| 0019c 52 push edx |
| 0019d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001a0 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 001a5 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 001a8 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 001ab 50 push eax |
| 001ac 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001af e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 001b4 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 001b7 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 001ba 50 push eax |
| 001bb e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 001c0 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1419 : this->_Myptr() + _Off + _N0, _Nm); // move tail down |
| ; 1420 : _Traits::move(this->_Myptr() + _Off, |
| |
| 001c3 8b 45 18 mov eax, DWORD PTR __Count$[ebp] |
| 001c6 50 push eax |
| 001c7 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001ca e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 001cf 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 001d2 50 push eax |
| 001d3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001d6 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 001db 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 001de 50 push eax |
| 001df e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 001e4 83 c4 0c add esp, 12 ; 0000000cH |
| 001e7 e9 de 00 00 00 jmp $LN5@replace |
| $LN10@replace: |
| |
| ; 1421 : this->_Myptr() + _Roff, _Count); // fill hole |
| ; 1422 : } |
| ; 1423 : else if (_Off + _N0 <= _Roff) |
| |
| 001ec 8b 4d 08 mov ecx, DWORD PTR __Off$[ebp] |
| 001ef 03 4d 0c add ecx, DWORD PTR __N0$[ebp] |
| 001f2 3b 4d 14 cmp ecx, DWORD PTR __Roff$[ebp] |
| 001f5 77 58 ja SHORT $LN12@replace |
| |
| ; 1424 : { // hole gets larger, substring begins after hole |
| ; 1425 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 001f7 8b 55 f8 mov edx, DWORD PTR __Nm$[ebp] |
| 001fa 52 push edx |
| 001fb 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 001fe e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00203 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00206 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 00209 50 push eax |
| 0020a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0020d e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00212 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00215 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 00218 50 push eax |
| 00219 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0021e 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1426 : this->_Myptr() + _Off + _N0, _Nm); // move tail down |
| ; 1427 : _Traits::move(this->_Myptr() + _Off, |
| |
| 00221 8b 45 18 mov eax, DWORD PTR __Count$[ebp] |
| 00224 50 push eax |
| 00225 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00228 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0022d 8b 4d 14 mov ecx, DWORD PTR __Roff$[ebp] |
| 00230 03 4d 18 add ecx, DWORD PTR __Count$[ebp] |
| 00233 2b 4d 0c sub ecx, DWORD PTR __N0$[ebp] |
| 00236 03 c1 add eax, ecx |
| 00238 50 push eax |
| 00239 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0023c e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00241 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00244 50 push eax |
| 00245 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0024a 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1428 : this->_Myptr() + (_Roff + _Count - _N0), |
| ; 1429 : _Count); // fill hole |
| ; 1430 : } |
| ; 1431 : else |
| |
| 0024d eb 7b jmp SHORT $LN5@replace |
| $LN12@replace: |
| |
| ; 1432 : { // hole gets larger, substring begins in hole |
| ; 1433 : _Traits::move(this->_Myptr() + _Off, |
| |
| 0024f 8b 55 0c mov edx, DWORD PTR __N0$[ebp] |
| 00252 52 push edx |
| 00253 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00256 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0025b 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 0025e 50 push eax |
| 0025f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00262 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00267 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 0026a 50 push eax |
| 0026b e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 00270 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1434 : this->_Myptr() + _Roff, _N0); // fill old hole |
| ; 1435 : _Traits::move(this->_Myptr() + _Off + _Count, |
| |
| 00273 8b 45 f8 mov eax, DWORD PTR __Nm$[ebp] |
| 00276 50 push eax |
| 00277 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0027a e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0027f 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00282 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 00285 50 push eax |
| 00286 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00289 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0028e 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00291 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 00294 50 push eax |
| 00295 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0029a 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1436 : this->_Myptr() + _Off + _N0, _Nm); // move tail down |
| ; 1437 : _Traits::move(this->_Myptr() + _Off + _N0, |
| |
| 0029d 8b 4d 18 mov ecx, DWORD PTR __Count$[ebp] |
| 002a0 2b 4d 0c sub ecx, DWORD PTR __N0$[ebp] |
| 002a3 51 push ecx |
| 002a4 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 002a7 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 002ac 03 45 14 add eax, DWORD PTR __Roff$[ebp] |
| 002af 03 45 18 add eax, DWORD PTR __Count$[ebp] |
| 002b2 50 push eax |
| 002b3 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 002b6 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 002bb 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 002be 03 45 0c add eax, DWORD PTR __N0$[ebp] |
| 002c1 50 push eax |
| 002c2 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 002c7 83 c4 0c add esp, 12 ; 0000000cH |
| $LN5@replace: |
| |
| ; 1438 : this->_Myptr() + _Roff + _Count, |
| ; 1439 : _Count - _N0); // fill rest of new hole |
| ; 1440 : } |
| ; 1441 : |
| ; 1442 : _Eos(_Newsize); |
| |
| 002ca 8b 55 f4 mov edx, DWORD PTR __Newsize$[ebp] |
| 002cd 52 push edx |
| 002ce 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 002d1 e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| |
| ; 1443 : return (*this); |
| |
| 002d6 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| $LN14@replace: |
| |
| ; 1444 : } |
| |
| 002d9 5e pop esi |
| 002da 8b e5 mov esp, ebp |
| 002dc 5d pop ebp |
| 002dd c2 14 00 ret 20 ; 00000014H |
| ?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@IIABV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z |
| _TEXT SEGMENT |
| __Newsize$1 = -12 ; size = 4 |
| __Ptr$2 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase, COMDAT |
| ; _this$ = ecx |
| |
| ; 1342 : { // erase elements [_Off, _Off + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1343 : _Check_offset(_Off); |
| |
| 00009 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00010 e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1344 : if (this->_Mysize() - _Off <= _Count) |
| |
| 00015 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00018 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0001d 8b 08 mov ecx, DWORD PTR [eax] |
| 0001f 2b 4d 08 sub ecx, DWORD PTR __Off$[ebp] |
| 00022 3b 4d 0c cmp ecx, DWORD PTR __Count$[ebp] |
| 00025 77 0e ja SHORT $LN2@erase |
| |
| ; 1345 : _Eos(_Off); // erase elements [_Off, ...) |
| |
| 00027 8b 55 08 mov edx, DWORD PTR __Off$[ebp] |
| 0002a 52 push edx |
| 0002b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002e e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| 00033 eb 4a jmp SHORT $LN3@erase |
| $LN2@erase: |
| |
| ; 1346 : else if (0 < _Count) |
| |
| 00035 83 7d 0c 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00039 76 44 jbe SHORT $LN3@erase |
| |
| ; 1347 : { // move elements down |
| ; 1348 : value_type *_Ptr = this->_Myptr() + _Off; |
| |
| 0003b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003e e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00043 03 45 08 add eax, DWORD PTR __Off$[ebp] |
| 00046 89 45 f8 mov DWORD PTR __Ptr$2[ebp], eax |
| |
| ; 1349 : size_type _Newsize = this->_Mysize() - _Count; |
| |
| 00049 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004c e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00051 8b 00 mov eax, DWORD PTR [eax] |
| 00053 2b 45 0c sub eax, DWORD PTR __Count$[ebp] |
| 00056 89 45 f4 mov DWORD PTR __Newsize$1[ebp], eax |
| |
| ; 1350 : _Traits::move(_Ptr, _Ptr + _Count, _Newsize - _Off); |
| |
| 00059 8b 4d f4 mov ecx, DWORD PTR __Newsize$1[ebp] |
| 0005c 2b 4d 08 sub ecx, DWORD PTR __Off$[ebp] |
| 0005f 51 push ecx |
| 00060 8b 55 f8 mov edx, DWORD PTR __Ptr$2[ebp] |
| 00063 03 55 0c add edx, DWORD PTR __Count$[ebp] |
| 00066 52 push edx |
| 00067 8b 45 f8 mov eax, DWORD PTR __Ptr$2[ebp] |
| 0006a 50 push eax |
| 0006b e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 00070 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1351 : _Eos(_Newsize); |
| |
| 00073 8b 4d f4 mov ecx, DWORD PTR __Newsize$1[ebp] |
| 00076 51 push ecx |
| 00077 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007a e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN3@erase: |
| |
| ; 1352 : } |
| ; 1353 : return (*this); |
| |
| 0007f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 1354 : } |
| |
| 00082 8b e5 mov esp, ebp |
| 00084 5d pop ebp |
| 00085 c2 08 00 ret 8 |
| ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Off$ = 8 ; size = 4 |
| ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase, COMDAT |
| ; _this$ = ecx |
| |
| ; 1335 : { // erase elements [_Off, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1336 : _Check_offset(_Off); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Off$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1337 : _Eos(_Off); |
| |
| 00013 8b 4d 08 mov ecx, DWORD PTR __Off$[ebp] |
| 00016 51 push ecx |
| 00017 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001a e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| |
| ; 1338 : return (*this); |
| |
| 0001f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 1339 : } |
| |
| 00022 8b e5 mov esp, ebp |
| 00024 5d pop ebp |
| 00025 c2 04 00 ret 4 |
| ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT |
| ; _this$ = ecx |
| |
| ; 1175 : { // assign [_Ptr, <null>) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1176 : _DEBUG_POINTER(_Ptr); |
| ; 1177 : return (assign(_Ptr, _Traits::length(_Ptr))); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ?length@?$char_traits@D@std@@SAIPBD@Z ; std::char_traits<char>::length |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00017 51 push ecx |
| 00018 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001b e8 00 00 00 00 call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| |
| ; 1178 : } |
| |
| 00020 8b e5 mov esp, ebp |
| 00022 5d pop ebp |
| 00023 c2 04 00 ret 4 |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT |
| ; _this$ = ecx |
| |
| ; 1160 : { // assign [_Ptr, _Ptr + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1161 : _DEBUG_POINTER_IF(_Count != 0, _Ptr); |
| ; 1162 : if (_Inside(_Ptr)) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Inside@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NPBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Inside |
| 00013 0f b6 c8 movzx ecx, al |
| 00016 85 c9 test ecx, ecx |
| 00018 74 20 je SHORT $LN2@assign |
| |
| ; 1163 : return (assign(*this, |
| |
| 0001a 8b 55 0c mov edx, DWORD PTR __Count$[ebp] |
| 0001d 52 push edx |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 00026 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00029 2b c8 sub ecx, eax |
| 0002b 51 push ecx |
| 0002c 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 0002f 52 push edx |
| 00030 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00033 e8 00 00 00 00 call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| 00038 eb 3d jmp SHORT $LN1@assign |
| $LN2@assign: |
| |
| ; 1164 : _Ptr - this->_Myptr(), _Count)); // substring |
| ; 1165 : |
| ; 1166 : if (_Grow(_Count)) |
| |
| 0003a 6a 00 push 0 |
| 0003c 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0003f 50 push eax |
| 00040 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00043 e8 00 00 00 00 call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| 00048 0f b6 c8 movzx ecx, al |
| 0004b 85 c9 test ecx, ecx |
| 0004d 74 25 je SHORT $LN3@assign |
| |
| ; 1167 : { // make room and assign new stuff |
| ; 1168 : _Traits::copy(this->_Myptr(), _Ptr, _Count); |
| |
| 0004f 8b 55 0c mov edx, DWORD PTR __Count$[ebp] |
| 00052 52 push edx |
| 00053 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 00056 50 push eax |
| 00057 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005a e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0005f 50 push eax |
| 00060 e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 00065 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1169 : _Eos(_Count); |
| |
| 00068 8b 4d 0c mov ecx, DWORD PTR __Count$[ebp] |
| 0006b 51 push ecx |
| 0006c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0006f e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN3@assign: |
| |
| ; 1170 : } |
| ; 1171 : return (*this); |
| |
| 00074 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| $LN1@assign: |
| |
| ; 1172 : } |
| |
| 00077 8b e5 mov esp, ebp |
| 00079 5d pop ebp |
| 0007a c2 08 00 ret 8 |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBDI@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| __Roff$ = 12 ; size = 4 |
| __Count$ = 16 ; size = 4 |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT |
| ; _this$ = ecx |
| |
| ; 1144 : { // assign _Right [_Roff, _Roff + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1145 : _Right._Check_offset(_Roff); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Roff$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000e e8 00 00 00 00 call ?_Check_offset@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Check_offset |
| |
| ; 1146 : _Count = _Right._Clamp_suffix_size(_Roff, _Count); |
| |
| 00013 8b 4d 10 mov ecx, DWORD PTR __Count$[ebp] |
| 00016 51 push ecx |
| 00017 8b 55 0c mov edx, DWORD PTR __Roff$[ebp] |
| 0001a 52 push edx |
| 0001b 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0001e e8 00 00 00 00 call ?_Clamp_suffix_size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIII@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Clamp_suffix_size |
| 00023 89 45 10 mov DWORD PTR __Count$[ebp], eax |
| |
| ; 1147 : |
| ; 1148 : if (this == &_Right) |
| |
| 00026 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00029 3b 45 08 cmp eax, DWORD PTR __Right$[ebp] |
| 0002c 75 1f jne SHORT $LN2@assign |
| |
| ; 1149 : erase((size_type)(_Roff + _Count)), erase(0, _Roff); // substring |
| |
| 0002e 8b 4d 0c mov ecx, DWORD PTR __Roff$[ebp] |
| 00031 03 4d 10 add ecx, DWORD PTR __Count$[ebp] |
| 00034 51 push ecx |
| 00035 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00038 e8 00 00 00 00 call ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@I@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| 0003d 8b 55 0c mov edx, DWORD PTR __Roff$[ebp] |
| 00040 52 push edx |
| 00041 6a 00 push 0 |
| 00043 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00046 e8 00 00 00 00 call ?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::erase |
| 0004b eb 42 jmp SHORT $LN3@assign |
| $LN2@assign: |
| |
| ; 1150 : else if (_Grow(_Count)) |
| |
| 0004d 6a 00 push 0 |
| 0004f 8b 45 10 mov eax, DWORD PTR __Count$[ebp] |
| 00052 50 push eax |
| 00053 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00056 e8 00 00 00 00 call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| 0005b 0f b6 c8 movzx ecx, al |
| 0005e 85 c9 test ecx, ecx |
| 00060 74 2d je SHORT $LN3@assign |
| |
| ; 1151 : { // make room and assign new stuff |
| ; 1152 : _Traits::copy(this->_Myptr(), |
| |
| 00062 8b 55 10 mov edx, DWORD PTR __Count$[ebp] |
| 00065 52 push edx |
| 00066 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00069 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0006e 03 45 0c add eax, DWORD PTR __Roff$[ebp] |
| 00071 50 push eax |
| 00072 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00075 e8 00 00 00 00 call ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| 0007a 50 push eax |
| 0007b e8 00 00 00 00 call ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::copy |
| 00080 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 1153 : _Right._Myptr() + _Roff, _Count); |
| ; 1154 : _Eos(_Count); |
| |
| 00083 8b 45 10 mov eax, DWORD PTR __Count$[ebp] |
| 00086 50 push eax |
| 00087 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0008a e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN3@assign: |
| |
| ; 1155 : } |
| ; 1156 : return (*this); |
| |
| 0008f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 1157 : } |
| |
| 00092 8b e5 mov esp, ebp |
| 00094 5d pop ebp |
| 00095 c2 0c 00 ret 12 ; 0000000cH |
| ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z |
| _TEXT SEGMENT |
| __Num$ = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| __Ch$ = 12 ; size = 1 |
| ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT |
| ; _this$ = ecx |
| |
| ; 1106 : { // append _Count * _Ch |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1107 : if (npos - this->_Mysize() <= _Count) |
| |
| 00009 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000c e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00011 8b 0d 00 00 00 |
| 00 mov ecx, DWORD PTR ?npos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@2IB ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::npos |
| 00017 2b 08 sub ecx, DWORD PTR [eax] |
| 00019 3b 4d 08 cmp ecx, DWORD PTR __Count$[ebp] |
| 0001c 77 08 ja SHORT $LN2@append |
| |
| ; 1108 : _Xlen(); // result too long |
| |
| 0001e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00021 e8 00 00 00 00 call ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen |
| $LN2@append: |
| |
| ; 1109 : |
| ; 1110 : const size_type _Num = this->_Mysize() + _Count; |
| |
| 00026 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00029 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0002e 8b 10 mov edx, DWORD PTR [eax] |
| 00030 03 55 08 add edx, DWORD PTR __Count$[ebp] |
| 00033 89 55 f8 mov DWORD PTR __Num$[ebp], edx |
| |
| ; 1111 : if (0 < _Count && _Grow(_Num)) |
| |
| 00036 83 7d 08 00 cmp DWORD PTR __Count$[ebp], 0 |
| 0003a 76 3d jbe SHORT $LN3@append |
| 0003c 6a 00 push 0 |
| 0003e 8b 45 f8 mov eax, DWORD PTR __Num$[ebp] |
| 00041 50 push eax |
| 00042 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00045 e8 00 00 00 00 call ?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE_NI_N@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Grow |
| 0004a 0f b6 c8 movzx ecx, al |
| 0004d 85 c9 test ecx, ecx |
| 0004f 74 28 je SHORT $LN3@append |
| |
| ; 1112 : { // make room and append new stuff using assign |
| ; 1113 : _Chassign(this->_Mysize(), _Count, _Ch); |
| |
| 00051 0f b6 55 0c movzx edx, BYTE PTR __Ch$[ebp] |
| 00055 52 push edx |
| 00056 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00059 50 push eax |
| 0005a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0005d e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00062 8b 08 mov ecx, DWORD PTR [eax] |
| 00064 51 push ecx |
| 00065 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00068 e8 00 00 00 00 call ?_Chassign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXIID@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Chassign |
| |
| ; 1114 : _Eos(_Num); |
| |
| 0006d 8b 55 f8 mov edx, DWORD PTR __Num$[ebp] |
| 00070 52 push edx |
| 00071 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00074 e8 00 00 00 00 call ?_Eos@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Eos |
| $LN3@append: |
| |
| ; 1115 : } |
| ; 1116 : return (*this); |
| |
| 00079 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| $LN4@append: |
| |
| ; 1117 : } |
| |
| 0007c 8b e5 mov esp, ebp |
| 0007e 5d pop ebp |
| 0007f c2 08 00 ret 8 |
| ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ID@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 1011 : { // destroy the string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 1012 : _Tidy(true); |
| |
| 00007 6a 00 push 0 |
| 00009 6a 01 push 1 |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 1013 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c3 ret 0 |
| ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv, COMDAT |
| ; _this$ = ecx |
| |
| ; 956 : { // assign by moving _Right |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 56 push esi |
| 00005 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 957 : if (_Right._Myres() < this->_BUF_SIZE) |
| |
| 00008 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000b e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00010 83 38 10 cmp DWORD PTR [eax], 16 ; 00000010H |
| 00013 73 2a jae SHORT $LN2@Assign_rv |
| |
| ; 958 : _Traits::move(this->_Bx()._Buf, _Right._Bx()._Buf, |
| |
| 00015 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00018 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 0001d 8b 00 mov eax, DWORD PTR [eax] |
| 0001f 83 c0 01 add eax, 1 |
| 00022 50 push eax |
| 00023 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00026 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 0002b 50 push eax |
| 0002c 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002f e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00034 50 push eax |
| 00035 e8 00 00 00 00 call ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ; std::char_traits<char>::move |
| 0003a 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 959 : _Right._Mysize() + 1); |
| ; 960 : else |
| |
| 0003d eb 2f jmp SHORT $LN3@Assign_rv |
| $LN2@Assign_rv: |
| |
| ; 961 : { // copy pointer |
| ; 962 : this->_Getal().construct(&this->_Bx()._Ptr, _Right._Bx()._Ptr); |
| |
| 0003f 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00042 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00047 50 push eax |
| 00048 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0004b e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00050 50 push eax |
| 00051 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00054 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00059 8b c8 mov ecx, eax |
| 0005b e8 00 00 00 00 call ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &> |
| |
| ; 963 : _Right._Bx()._Ptr = pointer(); |
| |
| 00060 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00063 e8 00 00 00 00 call ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| 00068 c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], 0 |
| $LN3@Assign_rv: |
| |
| ; 964 : } |
| ; 965 : this->_Mysize() = _Right._Mysize(); |
| |
| 0006e 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00071 e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00076 8b f0 mov esi, eax |
| 00078 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0007b e8 00 00 00 00 call ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| 00080 8b 0e mov ecx, DWORD PTR [esi] |
| 00082 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 966 : this->_Myres() = _Right._Myres(); |
| |
| 00084 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00087 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 0008c 8b f0 mov esi, eax |
| 0008e 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00091 e8 00 00 00 00 call ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| 00096 8b 16 mov edx, DWORD PTR [esi] |
| 00098 89 10 mov DWORD PTR [eax], edx |
| |
| ; 967 : _Right._Tidy(); |
| |
| 0009a 6a 00 push 0 |
| 0009c 6a 00 push 0 |
| 0009e 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 000a1 e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 968 : } |
| |
| 000a6 5e pop esi |
| 000a7 8b e5 mov esp, ebp |
| 000a9 5d pop ebp |
| 000aa c2 04 00 ret 4 |
| ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z |
| _TEXT SEGMENT |
| $T1 = -12 ; size = 4 |
| $T2 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator=, COMDAT |
| ; _this$ = ecx |
| |
| ; 923 : { // assign by moving _Right |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 924 : if (this != &_Right) |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 3b 45 08 cmp eax, DWORD PTR __Right$[ebp] |
| 0000f 0f 84 a5 00 00 |
| 00 je $LN2@operator |
| |
| ; 925 : { // different, assign it |
| ; 926 : _Tidy(true); |
| |
| 00015 6a 00 push 0 |
| 00017 6a 01 push 1 |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 927 : |
| ; 928 : if (_Alty::propagate_on_container_move_assignment::value |
| ; 929 : && this->_Getal() != _Right._Getal()) |
| |
| 00021 b9 01 00 00 00 mov ecx, 1 |
| 00026 85 c9 test ecx, ecx |
| 00028 74 32 je SHORT $LN3@operator |
| 0002a 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0002d e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00032 50 push eax |
| 00033 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00036 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 0003b 50 push eax |
| 0003c e8 00 00 00 00 call ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::operator!=<std::allocator<char>,std::allocator<char> > |
| 00041 83 c4 08 add esp, 8 |
| 00044 0f b6 d0 movzx edx, al |
| 00047 85 d2 test edx, edx |
| 00049 74 11 je SHORT $LN3@operator |
| |
| ; 930 : this->_Move_alloc(_Right._Getal()); |
| |
| 0004b 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0004e e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00053 50 push eax |
| 00054 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00057 e8 00 00 00 00 call ?_Move_alloc@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Move_alloc |
| $LN3@operator: |
| |
| ; 931 : |
| ; 932 : if (this->_Getal() != _Right._Getal()) |
| |
| 0005c 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0005f e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00064 50 push eax |
| 00065 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00068 e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 0006d 50 push eax |
| 0006e e8 00 00 00 00 call ??$?9V?$allocator@D@std@@V01@@std@@YA_NABU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::operator!=<std::allocator<char>,std::allocator<char> > |
| 00073 83 c4 08 add esp, 8 |
| 00076 0f b6 c0 movzx eax, al |
| 00079 85 c0 test eax, eax |
| 0007b 74 28 je SHORT $LN4@operator |
| |
| ; 933 : assign(_Right.begin(), _Right.end()); |
| |
| 0007d 8d 4d f8 lea ecx, DWORD PTR $T2[ebp] |
| 00080 51 push ecx |
| 00081 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00084 e8 00 00 00 00 call ?end@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::end |
| 00089 8b 10 mov edx, DWORD PTR [eax] |
| 0008b 52 push edx |
| 0008c 8d 45 f4 lea eax, DWORD PTR $T1[ebp] |
| 0008f 50 push eax |
| 00090 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 00093 e8 00 00 00 00 call ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@2@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::begin |
| 00098 8b 08 mov ecx, DWORD PTR [eax] |
| 0009a 51 push ecx |
| 0009b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0009e e8 00 00 00 00 call ??$assign@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@std@@@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@V?$_String_iterator@V?$_String_val@U?$_Simple_types@D@std@@@std@@@1@0@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign<std::_String_iterator<std::_String_val<std::_Simple_types<char> > > > |
| |
| ; 934 : else |
| |
| 000a3 eb 15 jmp SHORT $LN2@operator |
| $LN4@operator: |
| |
| ; 935 : _Assign_rv(_STD forward<_Myt>(_Right)); |
| |
| 000a5 8b 55 08 mov edx, DWORD PTR __Right$[ebp] |
| 000a8 52 push edx |
| 000a9 e8 00 00 00 00 call ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z ; std::forward<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > |
| 000ae 83 c4 04 add esp, 4 |
| 000b1 50 push eax |
| 000b2 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 000b5 e8 00 00 00 00 call ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv |
| $LN2@operator: |
| |
| ; 936 : } |
| ; 937 : return (*this); |
| |
| 000ba 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 938 : } |
| |
| 000bd 8b e5 mov esp, ebp |
| 000bf 5d pop ebp |
| 000c0 c2 04 00 ret 4 |
| ??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@$$QAV01@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 906 : { // construct by moving _Right |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 905 : : _Mybase(_STD move(_Right._Getal())) |
| |
| 00007 8b 4d 08 mov ecx, DWORD PTR __Right$[ebp] |
| 0000a e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 0000f 50 push eax |
| 00010 e8 00 00 00 00 call ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| 00015 83 c4 04 add esp, 4 |
| 00018 50 push eax |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c e8 00 00 00 00 call ??$?0U?$_Wrap_alloc@V?$allocator@D@std@@@std@@X@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@1@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::_Wrap_alloc<std::allocator<char> >,void> |
| |
| ; 907 : _Tidy(); |
| |
| 00021 6a 00 push 0 |
| 00023 6a 00 push 0 |
| 00025 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00028 e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 908 : _Assign_rv(_STD forward<_Myt>(_Right)); |
| |
| 0002d 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 00030 50 push eax |
| 00031 e8 00 00 00 00 call ??$forward@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@std@@YA$$QAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@AAV10@@Z ; std::forward<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > |
| 00036 83 c4 04 add esp, 4 |
| 00039 50 push eax |
| 0003a 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0003d e8 00 00 00 00 call ?_Assign_rv@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX$$QAV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv |
| |
| ; 909 : } |
| |
| 00042 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00045 8b e5 mov esp, ebp |
| 00047 5d pop ebp |
| 00048 c2 04 00 ret 4 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@$$QAV01@@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 830 : { // construct from [_Ptr, <null>) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 829 : : _Mybase() |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > |
| |
| ; 831 : _Tidy(); |
| |
| 0000f 6a 00 push 0 |
| 00011 6a 00 push 0 |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 832 : assign(_Ptr); |
| |
| 0001b 8b 45 08 mov eax, DWORD PTR __Ptr$[ebp] |
| 0001e 50 push eax |
| 0001f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00022 e8 00 00 00 00 call ?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign |
| |
| ; 833 : } |
| |
| 00027 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0002a 8b e5 mov esp, ebp |
| 0002c 5d pop ebp |
| 0002d c2 04 00 ret 4 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 788 : { // construct empty string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 787 : : _Mybase() |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > |
| |
| ; 789 : _Tidy(); |
| |
| 0000f 6a 00 push 0 |
| 00011 6a 00 push 0 |
| 00013 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00016 e8 00 00 00 00 call ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy |
| |
| ; 790 : } |
| |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c3 ret 0 |
| ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 318 : { // return const reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 319 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 320 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT |
| ; _this$ = ecx |
| |
| ; 313 : { // return reference to second |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 314 : return (_Myval2); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 315 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 298 : { // return const reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 299 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 300 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT |
| ; _this$ = ecx |
| |
| ; 293 : { // return reference to first |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 294 : return (*this); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 295 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres, COMDAT |
| ; _this$ = ecx |
| |
| ; 727 : { // return reference to _Myres |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 728 : return (_Get_data()._Myres); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 14 add eax, 20 ; 00000014H |
| |
| ; 729 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Myres@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myres |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize, COMDAT |
| ; _this$ = ecx |
| |
| ; 722 : { // return const reference to _Mysize |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 723 : return (_Get_data()._Mysize); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 10 add eax, 16 ; 00000010H |
| |
| ; 724 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABIXZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize, COMDAT |
| ; _this$ = ecx |
| |
| ; 717 : { // return reference to _Mysize |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 718 : return (_Get_data()._Mysize); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 83 c0 10 add eax, 16 ; 00000010H |
| |
| ; 719 : } |
| |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ?_Mysize@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAIXZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Mysize |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx, COMDAT |
| ; _this$ = ecx |
| |
| ; 707 : { // return reference to _Bx |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 708 : return (_Get_data()._Bx); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| |
| ; 709 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Bx@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Bx |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 700 : { // return const reference to _String_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 701 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| |
| ; 702 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data, COMDAT |
| ; _this$ = ecx |
| |
| ; 695 : { // return reference to _String_val |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 696 : return (_Mypair._Get_second()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_second |
| |
| ; 697 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 690 : { // return const reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 691 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| |
| ; 692 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal, COMDAT |
| ; _this$ = ecx |
| |
| ; 685 : { // return reference to allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 686 : return (_Mypair._Get_first()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Get_first |
| |
| ; 687 : } |
| |
| 0000f 8b e5 mov esp, ebp |
| 00011 5d pop ebp |
| 00012 c3 ret 0 |
| ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Move_alloc@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Al$ = 8 ; size = 4 |
| ?_Move_alloc@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@@Z PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Move_alloc, COMDAT |
| ; _this$ = ecx |
| |
| ; 589 : { // replace old allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 590 : _Pocma(_Getal(), _Al); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Al$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?_Getal@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal |
| 00013 50 push eax |
| 00014 e8 00 00 00 00 call ??$_Pocma@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YAXAAU?$_Wrap_alloc@V?$allocator@D@std@@@0@0@Z ; std::_Pocma<std::_Wrap_alloc<std::allocator<char> > > |
| 00019 83 c4 08 add esp, 8 |
| |
| ; 591 : } |
| |
| 0001c 8b e5 mov esp, ebp |
| 0001e 5d pop ebp |
| 0001f c2 04 00 ret 4 |
| ?_Move_alloc@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEXAAU?$_Wrap_alloc@V?$allocator@D@std@@@2@@Z ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Move_alloc |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -8 ; size = 4 |
| $T1 = -1 ; size = 1 |
| ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >, COMDAT |
| ; _this$ = ecx |
| |
| ; 572 : { // default construct allocator |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d f8 mov DWORD PTR _this$[ebp], ecx |
| |
| ; 571 : : _Mypair(_Zero_then_variadic_args_t()) |
| |
| 00009 0f b6 45 ff movzx eax, BYTE PTR $T1[ebp] |
| 0000d 50 push eax |
| 0000e 8b 4d f8 mov ecx, DWORD PTR _this$[ebp] |
| 00011 e8 00 00 00 00 call ??$?0$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@D@std@@@std@@V?$_String_val@U?$_Simple_types@D@std@@@2@$00@std@@QAE@U_Zero_then_variadic_args_t@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<char> >,std::_String_val<std::_Simple_types<char> >,1><> |
| |
| ; 573 : } |
| |
| 00016 8b 45 f8 mov eax, DWORD PTR _this$[ebp] |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c3 ret 0 |
| ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@XZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr, COMDAT |
| ; _this$ = ecx |
| |
| ; 565 : { // determine current pointer to buffer for nonmutable string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 566 : return (_Get_data()._Myptr()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 8b c8 mov ecx, eax |
| 00011 e8 00 00 00 00 call ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| |
| ; 567 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QBEPBDXZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr, COMDAT |
| ; _this$ = ecx |
| |
| ; 560 : { // determine current pointer to buffer for mutable string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 561 : return (_Get_data()._Myptr()); |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ?_Get_data@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@D@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data |
| 0000f 8b c8 mov ecx, eax |
| 00011 e8 00 00 00 00 call ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| |
| ; 562 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?_Myptr@?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAEPADXZ ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Myptr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ |
| _TEXT SEGMENT |
| tv72 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ PROC ; std::_String_val<std::_Simple_types<char> >::_Myptr, COMDAT |
| ; _this$ = ecx |
| |
| ; 511 : { // determine current pointer to buffer for nonmutable string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 512 : return (this->_BUF_SIZE <= this->_Myres |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 14 10 cmp DWORD PTR [eax+20], 16 ; 00000010H |
| 00010 72 13 jb SHORT $LN3@Myptr |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 11 mov edx, DWORD PTR [ecx] |
| 00017 52 push edx |
| 00018 e8 00 00 00 00 call ??$addressof@D@std@@YAPADAAD@Z ; std::addressof<char> |
| 0001d 83 c4 04 add esp, 4 |
| 00020 89 45 f8 mov DWORD PTR tv72[ebp], eax |
| 00023 eb 06 jmp SHORT $LN4@Myptr |
| $LN3@Myptr: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 89 45 f8 mov DWORD PTR tv72[ebp], eax |
| $LN4@Myptr: |
| 0002b 8b 45 f8 mov eax, DWORD PTR tv72[ebp] |
| |
| ; 513 : ? _STD addressof(*this->_Bx._Ptr) |
| ; 514 : : this->_Bx._Buf); |
| ; 515 : } |
| |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c3 ret 0 |
| ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QBEPBDXZ ENDP ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ |
| _TEXT SEGMENT |
| tv72 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ PROC ; std::_String_val<std::_Simple_types<char> >::_Myptr, COMDAT |
| ; _this$ = ecx |
| |
| ; 504 : { // determine current pointer to buffer for mutable string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 505 : return (this->_BUF_SIZE <= this->_Myres |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 14 10 cmp DWORD PTR [eax+20], 16 ; 00000010H |
| 00010 72 13 jb SHORT $LN3@Myptr |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 11 mov edx, DWORD PTR [ecx] |
| 00017 52 push edx |
| 00018 e8 00 00 00 00 call ??$addressof@D@std@@YAPADAAD@Z ; std::addressof<char> |
| 0001d 83 c4 04 add esp, 4 |
| 00020 89 45 f8 mov DWORD PTR tv72[ebp], eax |
| 00023 eb 06 jmp SHORT $LN4@Myptr |
| $LN3@Myptr: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 89 45 f8 mov DWORD PTR tv72[ebp], eax |
| $LN4@Myptr: |
| 0002b 8b 45 f8 mov eax, DWORD PTR tv72[ebp] |
| |
| ; 506 : ? _STD addressof(*this->_Bx._Ptr) |
| ; 507 : : this->_Bx._Buf); |
| ; 508 : } |
| |
| 0002e 8b e5 mov esp, ebp |
| 00030 5d pop ebp |
| 00031 c3 ret 0 |
| ?_Myptr@?$_String_val@U?$_Simple_types@D@std@@@std@@QAEPADXZ ENDP ; std::_String_val<std::_Simple_types<char> >::_Myptr |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring |
| ; COMDAT ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ PROC ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 486 : _String_val() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 487 : { // initialize values |
| ; 488 : _Mysize = 0; |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 40 10 00 00 |
| 00 00 mov DWORD PTR [eax+16], 0 |
| |
| ; 489 : _Myres = 0; |
| |
| 00011 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00014 c7 41 14 00 00 |
| 00 00 mov DWORD PTR [ecx+20], 0 |
| |
| ; 490 : } |
| |
| 0001b 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001e 8b e5 mov esp, ebp |
| 00020 5d pop ebp |
| 00021 c3 ret 0 |
| ??0?$_String_val@U?$_Simple_types@D@std@@@std@@QAE@XZ ENDP ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 1 |
| ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 905 : { // get maximum size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 906 : return (_Mytraits::max_size(*this)); |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ?max_size@?$allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z ; std::allocator_traits<std::allocator<char> >::max_size |
| 00010 83 c4 04 add esp, 4 |
| |
| ; 907 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ?max_size@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QBEIU_Nil@2@@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::deallocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 884 : { // deallocate object at _Ptr, ignore size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 885 : _Mybase::deallocate(_Ptr, _Count); |
| |
| 00007 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0000e 51 push ecx |
| 0000f 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00012 e8 00 00 00 00 call ?deallocate@?$allocator@D@std@@QAEXPADI@Z ; std::allocator<char>::deallocate |
| |
| ; 886 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 08 00 ret 8 |
| ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::deallocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::allocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 873 : { // allocate array of _Count elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 874 : return (_Mybase::allocate(_Count)); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0000a 50 push eax |
| 0000b 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000e e8 00 00 00 00 call ?allocate@?$allocator@D@std@@QAEPADI@Z ; std::allocator<char>::allocate |
| |
| ; 875 : } |
| |
| 00013 8b e5 mov esp, ebp |
| 00015 5d pop ebp |
| 00016 c2 04 00 ret 4 |
| ?allocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEPADI@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::allocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??4?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEAAU01@$$QAU01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??4?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEAAU01@$$QAU01@@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::operator=, COMDAT |
| ; _this$ = ecx |
| |
| ; 860 : { // assign by moving |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 861 : _Mybase::operator=(_STD move(_Right)); |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| 00010 83 c4 04 add esp, 4 |
| |
| ; 862 : return (*this); |
| |
| 00013 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| |
| ; 863 : } |
| |
| 00016 8b e5 mov esp, ebp |
| 00018 5d pop ebp |
| 00019 c2 04 00 ret 4 |
| ??4?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEAAU01@$$QAU01@@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::operator= |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@$$QAU01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Right$ = 8 ; size = 4 |
| ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@$$QAU01@@Z PROC ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 844 : { // construct by moving |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 843 : : _Mybase(_STD move(_Right)) |
| |
| 00007 8b 45 08 mov eax, DWORD PTR __Right$[ebp] |
| 0000a 50 push eax |
| 0000b e8 00 00 00 00 call ??$move@AAU?$_Wrap_alloc@V?$allocator@D@std@@@std@@@std@@YA$$QAU?$_Wrap_alloc@V?$allocator@D@std@@@0@AAU10@@Z ; std::move<std::_Wrap_alloc<std::allocator<char> > &> |
| 00010 83 c4 04 add esp, 4 |
| 00013 50 push eax |
| 00014 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00017 e8 00 00 00 00 call ??0?$allocator@D@std@@QAE@ABV01@@Z ; std::allocator<char>::allocator<char> |
| |
| ; 845 : } |
| |
| 0001c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c2 04 00 ret 4 |
| ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@$$QAU01@@Z ENDP ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ PROC ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> >, COMDAT |
| ; _this$ = ecx |
| |
| ; 834 : { // construct default allocator (do nothing) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 833 : : _Mybase() |
| |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??0?$allocator@D@std@@QAE@XZ ; std::allocator<char>::allocator<char> |
| |
| ; 835 : } |
| |
| 0000f 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00012 8b e5 mov esp, ebp |
| 00014 5d pop ebp |
| 00015 c3 ret 0 |
| ??0?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAE@XZ ENDP ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z |
| _TEXT SEGMENT |
| __Al$ = 8 ; size = 4 |
| ?max_size@?$allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z PROC ; std::allocator_traits<std::allocator<char> >::max_size, COMDAT |
| |
| ; 766 : { // get maximum size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 767 : return (_Al.max_size()); |
| |
| 00003 8b 4d 08 mov ecx, DWORD PTR __Al$[ebp] |
| 00006 e8 00 00 00 00 call ?max_size@?$allocator@D@std@@QBEIXZ ; std::allocator<char>::max_size |
| |
| ; 768 : } |
| |
| 0000b 5d pop ebp |
| 0000c c3 ret 0 |
| ?max_size@?$allocator_traits@V?$allocator@D@std@@@std@@SAIABV?$allocator@D@2@@Z ENDP ; std::allocator_traits<std::allocator<char> >::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?max_size@?$allocator@D@std@@QBEIXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?max_size@?$allocator@D@std@@QBEIXZ PROC ; std::allocator<char>::max_size, COMDAT |
| ; _this$ = ecx |
| |
| ; 648 : { // estimate maximum array size |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 649 : return ((size_t)(-1) / sizeof (_Ty)); |
| |
| 00007 83 c8 ff or eax, -1 |
| |
| ; 650 : } |
| |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ?max_size@?$allocator@D@std@@QBEIXZ ENDP ; std::allocator<char>::max_size |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?allocate@?$allocator@D@std@@QAEPADI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| ?allocate@?$allocator@D@std@@QAEPADI@Z PROC ; std::allocator<char>::allocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 624 : { // allocate array of _Count elements |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 625 : return (static_cast<pointer>(_Allocate(_Count, sizeof (_Ty)))); |
| |
| 00007 6a 01 push 1 |
| 00009 6a 01 push 1 |
| 0000b 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 0000e 50 push eax |
| 0000f e8 00 00 00 00 call ?_Allocate@std@@YAPAXII_N@Z ; std::_Allocate |
| 00014 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 626 : } |
| |
| 00017 8b e5 mov esp, ebp |
| 00019 5d pop ebp |
| 0001a c2 04 00 ret 4 |
| ?allocate@?$allocator@D@std@@QAEPADI@Z ENDP ; std::allocator<char>::allocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?deallocate@?$allocator@D@std@@QAEXPADI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?deallocate@?$allocator@D@std@@QAEXPADI@Z PROC ; std::allocator<char>::deallocate, COMDAT |
| ; _this$ = ecx |
| |
| ; 619 : { // deallocate object at _Ptr |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 620 : _Deallocate(_Ptr, _Count, sizeof (_Ty)); |
| |
| 00007 6a 01 push 1 |
| 00009 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0000c 50 push eax |
| 0000d 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00010 51 push ecx |
| 00011 e8 00 00 00 00 call ?_Deallocate@std@@YAXPAXII@Z ; std::_Deallocate |
| 00016 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 621 : } |
| |
| 00019 8b e5 mov esp, ebp |
| 0001b 5d pop ebp |
| 0001c c2 08 00 ret 8 |
| ?deallocate@?$allocator@D@std@@QAEXPADI@Z ENDP ; std::allocator<char>::deallocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??0?$allocator@D@std@@QAE@ABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ??0?$allocator@D@std@@QAE@ABV01@@Z PROC ; std::allocator<char>::allocator<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 603 : allocator(const allocator<_Ty>&) _THROW0() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 604 : { // construct by copying (do nothing) |
| ; 605 : } |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c2 04 00 ret 4 |
| ??0?$allocator@D@std@@QAE@ABV01@@Z ENDP ; std::allocator<char>::allocator<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ??0?$allocator@D@std@@QAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??0?$allocator@D@std@@QAE@XZ PROC ; std::allocator<char>::allocator<char>, COMDAT |
| ; _this$ = ecx |
| |
| ; 599 : allocator() _THROW0() |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 600 : { // construct default allocator (do nothing) |
| ; 601 : } |
| |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a 8b e5 mov esp, ebp |
| 0000c 5d pop ebp |
| 0000d c3 ret 0 |
| ??0?$allocator@D@std@@QAE@XZ ENDP ; std::allocator<char>::allocator<char> |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xatomic0.h |
| ; COMDAT ?_Init_atomic_counter@std@@YAXAAKK@Z |
| _TEXT SEGMENT |
| __Counter$ = 8 ; size = 4 |
| __Value$ = 12 ; size = 4 |
| ?_Init_atomic_counter@std@@YAXAAKK@Z PROC ; std::_Init_atomic_counter, COMDAT |
| |
| ; 62 : { // non-atomically initialize counter |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 63 : _Counter = _Value; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Counter$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Value$[ebp] |
| 00009 89 08 mov DWORD PTR [eax], ecx |
| |
| ; 64 : } |
| |
| 0000b 5d pop ebp |
| 0000c c3 ret 0 |
| ?_Init_atomic_counter@std@@YAXAAKK@Z ENDP ; std::_Init_atomic_counter |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?_Deallocate@std@@YAXPAXII@Z |
| _TEXT SEGMENT |
| __Ptr_ptr$1 = -16 ; size = 4 |
| __User_size$ = -12 ; size = 4 |
| __Ptr_container$2 = -8 ; size = 4 |
| __Ptr_user$3 = -4 ; size = 4 |
| __Ptr$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Sz$ = 16 ; size = 4 |
| ?_Deallocate@std@@YAXPAXII@Z PROC ; std::_Deallocate, COMDAT |
| |
| ; 92 : { // deallocate storage for _Count elements of size _Sz |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 93 : #if defined(_M_IX86) || defined(_M_X64) |
| ; 94 : _SCL_SECURE_ALWAYS_VALIDATE(_Count <= (size_t)(-1) / _Sz); |
| |
| 00006 83 c8 ff or eax, -1 |
| 00009 33 d2 xor edx, edx |
| 0000b f7 75 10 div DWORD PTR __Sz$[ebp] |
| 0000e 39 45 0c cmp DWORD PTR __Count$[ebp], eax |
| 00011 76 05 jbe SHORT $LN2@Deallocate |
| 00013 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN2@Deallocate: |
| |
| ; 95 : const size_t _User_size = _Count * _Sz; |
| |
| 00018 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 0001b 0f af 45 10 imul eax, DWORD PTR __Sz$[ebp] |
| 0001f 89 45 f4 mov DWORD PTR __User_size$[ebp], eax |
| |
| ; 96 : if (_BIG_ALLOCATION_THRESHOLD <= _User_size) |
| |
| 00022 81 7d f4 00 10 |
| 00 00 cmp DWORD PTR __User_size$[ebp], 4096 ; 00001000H |
| 00029 72 57 jb SHORT $LN3@Deallocate |
| |
| ; 97 : { // deallocate large block |
| ; 98 : const uintptr_t _Ptr_user = reinterpret_cast<uintptr_t>(_Ptr); |
| |
| 0002b 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 0002e 89 4d fc mov DWORD PTR __Ptr_user$3[ebp], ecx |
| |
| ; 99 : _SCL_SECURE_ALWAYS_VALIDATE( |
| |
| 00031 8b 55 fc mov edx, DWORD PTR __Ptr_user$3[ebp] |
| 00034 83 e2 1f and edx, 31 ; 0000001fH |
| 00037 74 05 je SHORT $LN4@Deallocate |
| 00039 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN4@Deallocate: |
| |
| ; 100 : (_Ptr_user & (_BIG_ALLOCATION_ALIGNMENT - 1)) == 0); |
| ; 101 : const uintptr_t _Ptr_ptr = _Ptr_user - sizeof(void *); |
| |
| 0003e 8b 45 fc mov eax, DWORD PTR __Ptr_user$3[ebp] |
| 00041 83 e8 04 sub eax, 4 |
| 00044 89 45 f0 mov DWORD PTR __Ptr_ptr$1[ebp], eax |
| |
| ; 102 : const uintptr_t _Ptr_container = |
| ; 103 : *reinterpret_cast<uintptr_t *>(_Ptr_ptr); |
| |
| 00047 8b 4d f0 mov ecx, DWORD PTR __Ptr_ptr$1[ebp] |
| 0004a 8b 11 mov edx, DWORD PTR [ecx] |
| 0004c 89 55 f8 mov DWORD PTR __Ptr_container$2[ebp], edx |
| |
| ; 104 : |
| ; 105 : #ifdef _DEBUG |
| ; 106 : // If the following asserts, it likely means that we are performing |
| ; 107 : // an aligned delete on memory coming from an unaligned allocation. |
| ; 108 : _SCL_SECURE_ALWAYS_VALIDATE( |
| ; 109 : reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == |
| ; 110 : _BIG_ALLOCATION_SENTINEL); |
| ; 111 : #endif /* _DEBUG */ |
| ; 112 : |
| ; 113 : // Extra paranoia on aligned allocation/deallocation |
| ; 114 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container < _Ptr_user); |
| |
| 0004f 8b 45 f8 mov eax, DWORD PTR __Ptr_container$2[ebp] |
| 00052 3b 45 fc cmp eax, DWORD PTR __Ptr_user$3[ebp] |
| 00055 72 05 jb SHORT $LN5@Deallocate |
| 00057 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN5@Deallocate: |
| |
| ; 115 : |
| ; 116 : #ifdef _DEBUG |
| ; 117 : _SCL_SECURE_ALWAYS_VALIDATE(2 * sizeof(void *) |
| ; 118 : <= _Ptr_user - _Ptr_container); |
| ; 119 : |
| ; 120 : #else /* _DEBUG */ |
| ; 121 : _SCL_SECURE_ALWAYS_VALIDATE(sizeof(void *) |
| |
| 0005c 8b 4d fc mov ecx, DWORD PTR __Ptr_user$3[ebp] |
| 0005f 2b 4d f8 sub ecx, DWORD PTR __Ptr_container$2[ebp] |
| 00062 83 f9 04 cmp ecx, 4 |
| 00065 73 05 jae SHORT $LN6@Deallocate |
| 00067 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN6@Deallocate: |
| |
| ; 122 : <= _Ptr_user - _Ptr_container); |
| ; 123 : #endif /* _DEBUG */ |
| ; 124 : |
| ; 125 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_user - _Ptr_container |
| |
| 0006c 8b 55 fc mov edx, DWORD PTR __Ptr_user$3[ebp] |
| 0006f 2b 55 f8 sub edx, DWORD PTR __Ptr_container$2[ebp] |
| 00072 83 fa 23 cmp edx, 35 ; 00000023H |
| 00075 76 05 jbe SHORT $LN7@Deallocate |
| 00077 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN7@Deallocate: |
| |
| ; 126 : <= _NON_USER_SIZE); |
| ; 127 : |
| ; 128 : _Ptr = reinterpret_cast<void *>(_Ptr_container); |
| |
| 0007c 8b 45 f8 mov eax, DWORD PTR __Ptr_container$2[ebp] |
| 0007f 89 45 08 mov DWORD PTR __Ptr$[ebp], eax |
| $LN3@Deallocate: |
| |
| ; 129 : } |
| ; 130 : #endif /* defined(_M_IX86) || defined(_M_X64) */ |
| ; 131 : |
| ; 132 : ::operator delete(_Ptr); |
| |
| 00082 8b 4d 08 mov ecx, DWORD PTR __Ptr$[ebp] |
| 00085 51 push ecx |
| 00086 e8 00 00 00 00 call ??3@YAXPAX@Z ; operator delete |
| 0008b 83 c4 04 add esp, 4 |
| $LN8@Deallocate: |
| |
| ; 133 : } |
| |
| 0008e 8b e5 mov esp, ebp |
| 00090 5d pop ebp |
| 00091 c3 ret 0 |
| ?_Deallocate@std@@YAXPAXII@Z ENDP ; std::_Deallocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 |
| ; COMDAT ?_Allocate@std@@YAPAXII_N@Z |
| _TEXT SEGMENT |
| __Block_size$1 = -16 ; size = 4 |
| __Ptr_container$2 = -12 ; size = 4 |
| __User_size$ = -8 ; size = 4 |
| __Ptr$ = -4 ; size = 4 |
| __Count$ = 8 ; size = 4 |
| __Sz$ = 12 ; size = 4 |
| __Try_aligned_allocation$ = 16 ; size = 1 |
| ?_Allocate@std@@YAPAXII_N@Z PROC ; std::_Allocate, COMDAT |
| |
| ; 48 : { // allocate storage for _Count elements of size _Sz |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 49 : void *_Ptr = 0; |
| |
| 00006 c7 45 fc 00 00 |
| 00 00 mov DWORD PTR __Ptr$[ebp], 0 |
| |
| ; 50 : |
| ; 51 : if (_Count == 0) |
| |
| 0000d 83 7d 08 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00011 75 08 jne SHORT $LN2@Allocate |
| |
| ; 52 : return (_Ptr); |
| |
| 00013 8b 45 fc mov eax, DWORD PTR __Ptr$[ebp] |
| 00016 e9 99 00 00 00 jmp $LN9@Allocate |
| $LN2@Allocate: |
| |
| ; 53 : |
| ; 54 : // check overflow of multiply |
| ; 55 : if ((size_t)(-1) / _Sz < _Count) |
| |
| 0001b 83 c8 ff or eax, -1 |
| 0001e 33 d2 xor edx, edx |
| 00020 f7 75 0c div DWORD PTR __Sz$[ebp] |
| 00023 3b 45 08 cmp eax, DWORD PTR __Count$[ebp] |
| 00026 73 05 jae SHORT $LN3@Allocate |
| |
| ; 56 : _Xbad_alloc(); // report no memory |
| |
| 00028 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc |
| $LN3@Allocate: |
| |
| ; 57 : const size_t _User_size = _Count * _Sz; |
| |
| 0002d 8b 45 08 mov eax, DWORD PTR __Count$[ebp] |
| 00030 0f af 45 0c imul eax, DWORD PTR __Sz$[ebp] |
| 00034 89 45 f8 mov DWORD PTR __User_size$[ebp], eax |
| |
| ; 58 : |
| ; 59 : #if defined(_M_IX86) || defined(_M_X64) |
| ; 60 : if (_Try_aligned_allocation |
| ; 61 : && _BIG_ALLOCATION_THRESHOLD <= _User_size) |
| |
| 00037 0f b6 4d 10 movzx ecx, BYTE PTR __Try_aligned_allocation$[ebp] |
| 0003b 85 c9 test ecx, ecx |
| 0003d 74 58 je SHORT $LN4@Allocate |
| 0003f 81 7d f8 00 10 |
| 00 00 cmp DWORD PTR __User_size$[ebp], 4096 ; 00001000H |
| 00046 72 4f jb SHORT $LN4@Allocate |
| |
| ; 62 : { // allocate large block |
| ; 63 : static_assert(sizeof (void *) < _BIG_ALLOCATION_ALIGNMENT, |
| ; 64 : "Big allocations should at least match vector register size"); |
| ; 65 : const size_t _Block_size = _NON_USER_SIZE + _User_size; |
| |
| 00048 8b 55 f8 mov edx, DWORD PTR __User_size$[ebp] |
| 0004b 83 c2 23 add edx, 35 ; 00000023H |
| 0004e 89 55 f0 mov DWORD PTR __Block_size$1[ebp], edx |
| |
| ; 66 : if (_Block_size <= _User_size) |
| |
| 00051 8b 45 f0 mov eax, DWORD PTR __Block_size$1[ebp] |
| 00054 3b 45 f8 cmp eax, DWORD PTR __User_size$[ebp] |
| 00057 77 05 ja SHORT $LN6@Allocate |
| |
| ; 67 : _Xbad_alloc(); // report no memory |
| |
| 00059 e8 00 00 00 00 call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc |
| $LN6@Allocate: |
| |
| ; 68 : const uintptr_t _Ptr_container = |
| ; 69 : reinterpret_cast<uintptr_t>(::operator new(_Block_size)); |
| |
| 0005e 8b 4d f0 mov ecx, DWORD PTR __Block_size$1[ebp] |
| 00061 51 push ecx |
| 00062 e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 00067 83 c4 04 add esp, 4 |
| 0006a 89 45 f4 mov DWORD PTR __Ptr_container$2[ebp], eax |
| |
| ; 70 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container != 0); |
| |
| 0006d 83 7d f4 00 cmp DWORD PTR __Ptr_container$2[ebp], 0 |
| 00071 75 05 jne SHORT $LN7@Allocate |
| 00073 e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN7@Allocate: |
| |
| ; 71 : _Ptr = reinterpret_cast<void *>((_Ptr_container + _NON_USER_SIZE) |
| |
| 00078 8b 55 f4 mov edx, DWORD PTR __Ptr_container$2[ebp] |
| 0007b 83 c2 23 add edx, 35 ; 00000023H |
| 0007e 83 e2 e0 and edx, -32 ; ffffffe0H |
| 00081 89 55 fc mov DWORD PTR __Ptr$[ebp], edx |
| |
| ; 72 : & ~(_BIG_ALLOCATION_ALIGNMENT - 1)); |
| ; 73 : static_cast<uintptr_t *>(_Ptr)[-1] = _Ptr_container; |
| |
| 00084 b8 04 00 00 00 mov eax, 4 |
| 00089 6b c8 ff imul ecx, eax, -1 |
| 0008c 8b 55 fc mov edx, DWORD PTR __Ptr$[ebp] |
| 0008f 8b 45 f4 mov eax, DWORD PTR __Ptr_container$2[ebp] |
| 00092 89 04 0a mov DWORD PTR [edx+ecx], eax |
| |
| ; 74 : |
| ; 75 : #ifdef _DEBUG |
| ; 76 : static_cast<uintptr_t *>(_Ptr)[-2] = _BIG_ALLOCATION_SENTINEL; |
| ; 77 : #endif /* _DEBUG */ |
| ; 78 : } |
| ; 79 : else |
| |
| 00095 eb 1a jmp SHORT $LN5@Allocate |
| $LN4@Allocate: |
| |
| ; 80 : #endif /* defined(_M_IX86) || defined(_M_X64) */ |
| ; 81 : |
| ; 82 : { // allocate normal block |
| ; 83 : _Ptr = ::operator new(_User_size); |
| |
| 00097 8b 4d f8 mov ecx, DWORD PTR __User_size$[ebp] |
| 0009a 51 push ecx |
| 0009b e8 00 00 00 00 call ??2@YAPAXI@Z ; operator new |
| 000a0 83 c4 04 add esp, 4 |
| 000a3 89 45 fc mov DWORD PTR __Ptr$[ebp], eax |
| |
| ; 84 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr != 0); |
| |
| 000a6 83 7d fc 00 cmp DWORD PTR __Ptr$[ebp], 0 |
| 000aa 75 05 jne SHORT $LN5@Allocate |
| 000ac e8 00 00 00 00 call __invalid_parameter_noinfo_noreturn |
| $LN5@Allocate: |
| |
| ; 85 : } |
| ; 86 : return (_Ptr); |
| |
| 000b1 8b 45 fc mov eax, DWORD PTR __Ptr$[ebp] |
| $LN9@Allocate: |
| |
| ; 87 : } |
| |
| 000b4 8b e5 mov esp, ebp |
| 000b6 5d pop ebp |
| 000b7 c3 ret 0 |
| ?_Allocate@std@@YAPAXII_N@Z ENDP ; std::_Allocate |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Getcont@_Iterator_base0@std@@QBEPBU_Container_base0@2@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Getcont@_Iterator_base0@std@@QBEPBU_Container_base0@2@XZ PROC ; std::_Iterator_base0::_Getcont, COMDAT |
| ; _this$ = ecx |
| |
| ; 58 : { // get owning container |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 59 : return (0); |
| |
| 00007 33 c0 xor eax, eax |
| |
| ; 60 : } |
| |
| 00009 8b e5 mov esp, ebp |
| 0000b 5d pop ebp |
| 0000c c3 ret 0 |
| ?_Getcont@_Iterator_base0@std@@QBEPBU_Container_base0@2@XZ ENDP ; std::_Iterator_base0::_Getcont |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___formal$ = 8 ; size = 4 |
| ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z PROC ; std::_Iterator_base0::_Adopt, COMDAT |
| ; _this$ = ecx |
| |
| ; 54 : { // adopt this iterator by parent |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 55 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c2 04 00 ret 4 |
| ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ENDP ; std::_Iterator_base0::_Adopt |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility |
| ; COMDAT ?_Orphan_all@_Container_base0@std@@QAEXXZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ?_Orphan_all@_Container_base0@std@@QAEXXZ PROC ; std::_Container_base0::_Orphan_all, COMDAT |
| ; _this$ = ecx |
| |
| ; 43 : { // orphan all iterators |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 44 : } |
| |
| 00007 8b e5 mov esp, ebp |
| 00009 5d pop ebp |
| 0000a c3 ret 0 |
| ?_Orphan_all@_Container_base0@std@@QAEXXZ ENDP ; std::_Container_base0::_Orphan_all |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?assign@?$char_traits@D@std@@SAXAADABD@Z |
| _TEXT SEGMENT |
| __Left$ = 8 ; size = 4 |
| __Right$ = 12 ; size = 4 |
| ?assign@?$char_traits@D@std@@SAXAADABD@Z PROC ; std::char_traits<char>::assign, COMDAT |
| |
| ; 564 : { // assign an element |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 565 : _Left = _Right; |
| |
| 00003 8b 45 08 mov eax, DWORD PTR __Left$[ebp] |
| 00006 8b 4d 0c mov ecx, DWORD PTR __Right$[ebp] |
| 00009 8a 11 mov dl, BYTE PTR [ecx] |
| 0000b 88 10 mov BYTE PTR [eax], dl |
| |
| ; 566 : } |
| |
| 0000d 5d pop ebp |
| 0000e c3 ret 0 |
| ?assign@?$char_traits@D@std@@SAXAADABD@Z ENDP ; std::char_traits<char>::assign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?assign@?$char_traits@D@std@@SAPADPADID@Z |
| _TEXT SEGMENT |
| __First$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| __Ch$ = 16 ; size = 1 |
| ?assign@?$char_traits@D@std@@SAPADPADID@Z PROC ; std::char_traits<char>::assign, COMDAT |
| |
| ; 559 : { // assign _Count * _Ch to [_First, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 560 : return ((_Elem *)_CSTD memset(_First, _Ch, _Count)); |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Count$[ebp] |
| 00006 50 push eax |
| 00007 0f be 4d 10 movsx ecx, BYTE PTR __Ch$[ebp] |
| 0000b 51 push ecx |
| 0000c 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0000f 52 push edx |
| 00010 e8 00 00 00 00 call _memset |
| 00015 83 c4 0c add esp, 12 ; 0000000cH |
| |
| ; 561 : } |
| |
| 00018 5d pop ebp |
| 00019 c3 ret 0 |
| ?assign@?$char_traits@D@std@@SAPADPADID@Z ENDP ; std::char_traits<char>::assign |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?move@?$char_traits@D@std@@SAPADPADPBDI@Z |
| _TEXT SEGMENT |
| tv69 = -4 ; size = 4 |
| __First1$ = 8 ; size = 4 |
| __First2$ = 12 ; size = 4 |
| __Count$ = 16 ; size = 4 |
| ?move@?$char_traits@D@std@@SAPADPADPBDI@Z PROC ; std::char_traits<char>::move, COMDAT |
| |
| ; 552 : { // copy [_First2, _First2 + _Count) to [_First1, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 553 : return (_Count == 0 ? _First1 |
| |
| 00004 83 7d 10 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00008 75 08 jne SHORT $LN3@move |
| 0000a 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 0000d 89 45 fc mov DWORD PTR tv69[ebp], eax |
| 00010 eb 17 jmp SHORT $LN4@move |
| $LN3@move: |
| 00012 8b 4d 10 mov ecx, DWORD PTR __Count$[ebp] |
| 00015 51 push ecx |
| 00016 8b 55 0c mov edx, DWORD PTR __First2$[ebp] |
| 00019 52 push edx |
| 0001a 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 0001d 50 push eax |
| 0001e e8 00 00 00 00 call _memmove |
| 00023 83 c4 0c add esp, 12 ; 0000000cH |
| 00026 89 45 fc mov DWORD PTR tv69[ebp], eax |
| $LN4@move: |
| 00029 8b 45 fc mov eax, DWORD PTR tv69[ebp] |
| |
| ; 554 : : (_Elem *)_CSTD memmove(_First1, _First2, _Count)); |
| ; 555 : } |
| |
| 0002c 8b e5 mov esp, ebp |
| 0002e 5d pop ebp |
| 0002f c3 ret 0 |
| ?move@?$char_traits@D@std@@SAPADPADPBDI@Z ENDP ; std::char_traits<char>::move |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z |
| _TEXT SEGMENT |
| tv69 = -4 ; size = 4 |
| __First1$ = 8 ; size = 4 |
| __First2$ = 12 ; size = 4 |
| __Count$ = 16 ; size = 4 |
| ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z PROC ; std::char_traits<char>::copy, COMDAT |
| |
| ; 529 : { // copy [_First2, _First2 + _Count) to [_First1, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 530 : return (_Count == 0 ? _First1 |
| |
| 00004 83 7d 10 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00008 75 08 jne SHORT $LN3@copy |
| 0000a 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 0000d 89 45 fc mov DWORD PTR tv69[ebp], eax |
| 00010 eb 17 jmp SHORT $LN4@copy |
| $LN3@copy: |
| 00012 8b 4d 10 mov ecx, DWORD PTR __Count$[ebp] |
| 00015 51 push ecx |
| 00016 8b 55 0c mov edx, DWORD PTR __First2$[ebp] |
| 00019 52 push edx |
| 0001a 8b 45 08 mov eax, DWORD PTR __First1$[ebp] |
| 0001d 50 push eax |
| 0001e e8 00 00 00 00 call _memcpy |
| 00023 83 c4 0c add esp, 12 ; 0000000cH |
| 00026 89 45 fc mov DWORD PTR tv69[ebp], eax |
| $LN4@copy: |
| 00029 8b 45 fc mov eax, DWORD PTR tv69[ebp] |
| |
| ; 531 : : (_Elem *)_CSTD memcpy(_First1, _First2, _Count)); |
| ; 532 : } |
| |
| 0002c 8b e5 mov esp, ebp |
| 0002e 5d pop ebp |
| 0002f c3 ret 0 |
| ?copy@?$char_traits@D@std@@SAPADPADPBDI@Z ENDP ; std::char_traits<char>::copy |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?length@?$char_traits@D@std@@SAIPBD@Z |
| _TEXT SEGMENT |
| tv68 = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| ?length@?$char_traits@D@std@@SAIPBD@Z PROC ; std::char_traits<char>::length, COMDAT |
| |
| ; 522 : { // find length of null-terminated string |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 523 : return (*_First == 0 ? 0 |
| |
| 00004 8b 45 08 mov eax, DWORD PTR __First$[ebp] |
| 00007 0f be 08 movsx ecx, BYTE PTR [eax] |
| 0000a 85 c9 test ecx, ecx |
| 0000c 75 09 jne SHORT $LN3@length |
| 0000e c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv68[ebp], 0 |
| 00015 eb 0f jmp SHORT $LN4@length |
| $LN3@length: |
| 00017 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 0001a 52 push edx |
| 0001b e8 00 00 00 00 call _strlen |
| 00020 83 c4 04 add esp, 4 |
| 00023 89 45 fc mov DWORD PTR tv68[ebp], eax |
| $LN4@length: |
| 00026 8b 45 fc mov eax, DWORD PTR tv68[ebp] |
| |
| ; 524 : : _CSTD strlen(_First)); |
| ; 525 : } |
| |
| 00029 8b e5 mov esp, ebp |
| 0002b 5d pop ebp |
| 0002c c3 ret 0 |
| ?length@?$char_traits@D@std@@SAIPBD@Z ENDP ; std::char_traits<char>::length |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd |
| ; COMDAT ?compare@?$char_traits@D@std@@SAHPBD0I@Z |
| _TEXT SEGMENT |
| tv69 = -4 ; size = 4 |
| __First1$ = 8 ; size = 4 |
| __First2$ = 12 ; size = 4 |
| __Count$ = 16 ; size = 4 |
| ?compare@?$char_traits@D@std@@SAHPBD0I@Z PROC ; std::char_traits<char>::compare, COMDAT |
| |
| ; 516 : { // compare [_First1, _First1 + _Count) with [_First2, ...) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| |
| ; 517 : return (_Count == 0 ? 0 |
| |
| 00004 83 7d 10 00 cmp DWORD PTR __Count$[ebp], 0 |
| 00008 75 09 jne SHORT $LN3@compare |
| 0000a c7 45 fc 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], 0 |
| 00011 eb 17 jmp SHORT $LN4@compare |
| $LN3@compare: |
| 00013 8b 45 10 mov eax, DWORD PTR __Count$[ebp] |
| 00016 50 push eax |
| 00017 8b 4d 0c mov ecx, DWORD PTR __First2$[ebp] |
| 0001a 51 push ecx |
| 0001b 8b 55 08 mov edx, DWORD PTR __First1$[ebp] |
| 0001e 52 push edx |
| 0001f e8 00 00 00 00 call _memcmp |
| 00024 83 c4 0c add esp, 12 ; 0000000cH |
| 00027 89 45 fc mov DWORD PTR tv69[ebp], eax |
| $LN4@compare: |
| 0002a 8b 45 fc mov eax, DWORD PTR tv69[ebp] |
| |
| ; 518 : : _CSTD memcmp(_First1, _First2, _Count)); |
| ; 519 : } |
| |
| 0002d 8b e5 mov esp, ebp |
| 0002f 5d pop ebp |
| 00030 c3 ret 0 |
| ?compare@?$char_traits@D@std@@SAHPBD0I@Z ENDP ; std::char_traits<char>::compare |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_new.h |
| ; COMDAT ??2@YAPAXIPAX@Z |
| _TEXT SEGMENT |
| __Size$ = 8 ; size = 4 |
| __Where$ = 12 ; size = 4 |
| ??2@YAPAXIPAX@Z PROC ; operator new, COMDAT |
| |
| ; 87 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 88 : (void)_Size; |
| ; 89 : return _Where; |
| |
| 00003 8b 45 0c mov eax, DWORD PTR __Where$[ebp] |
| |
| ; 90 : } |
| |
| 00006 5d pop ebp |
| 00007 c3 ret 0 |
| ??2@YAPAXIPAX@Z ENDP ; operator new |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\limits |
| ; COMDAT ?max@?$numeric_limits@E@std@@SAEXZ |
| _TEXT SEGMENT |
| ?max@?$numeric_limits@E@std@@SAEXZ PROC ; std::numeric_limits<unsigned char>::max, COMDAT |
| |
| ; 448 : { // return maximum value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 449 : return (UCHAR_MAX); |
| |
| 00003 0c ff or al, 255 ; 000000ffH |
| |
| ; 450 : } |
| |
| 00005 5d pop ebp |
| 00006 c3 ret 0 |
| ?max@?$numeric_limits@E@std@@SAEXZ ENDP ; std::numeric_limits<unsigned char>::max |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\limits |
| ; COMDAT ?max@?$numeric_limits@D@std@@SADXZ |
| _TEXT SEGMENT |
| ?max@?$numeric_limits@D@std@@SADXZ PROC ; std::numeric_limits<char>::max, COMDAT |
| |
| ; 216 : { // return maximum value |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| |
| ; 217 : return (CHAR_MAX); |
| |
| 00003 b0 7f mov al, 127 ; 0000007fH |
| |
| ; 218 : } |
| |
| 00005 5d pop ebp |
| 00006 c3 ret 0 |
| ?max@?$numeric_limits@D@std@@SADXZ ENDP ; std::numeric_limits<char>::max |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; COMDAT ??_Gexception@std@@UAEPAXI@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ___flags$ = 8 ; size = 4 |
| ??_Gexception@std@@UAEPAXI@Z PROC ; std::exception::`scalar deleting destructor', COMDAT |
| ; _this$ = ecx |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0000a e8 00 00 00 00 call ??1exception@std@@UAE@XZ ; std::exception::~exception |
| 0000f 8b 45 08 mov eax, DWORD PTR ___flags$[ebp] |
| 00012 83 e0 01 and eax, 1 |
| 00015 74 0e je SHORT $LN2@scalar |
| 00017 6a 0c push 12 ; 0000000cH |
| 00019 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0001c 51 push ecx |
| 0001d e8 00 00 00 00 call ??3@YAXPAXI@Z ; operator delete |
| 00022 83 c4 08 add esp, 8 |
| $LN2@scalar: |
| 00025 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00028 8b e5 mov esp, ebp |
| 0002a 5d pop ebp |
| 0002b c2 04 00 ret 4 |
| ??_Gexception@std@@UAEPAXI@Z ENDP ; std::exception::`scalar deleting destructor' |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_exception.h |
| ; COMDAT ?what@exception@std@@UBEPBDXZ |
| _TEXT SEGMENT |
| tv69 = -8 ; size = 4 |
| _this$ = -4 ; size = 4 |
| ?what@exception@std@@UBEPBDXZ PROC ; std::exception::what, COMDAT |
| ; _this$ = ecx |
| |
| ; 88 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 08 sub esp, 8 |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| |
| ; 89 : return _Data._What ? _Data._What : "Unknown exception"; |
| |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c 83 78 04 00 cmp DWORD PTR [eax+4], 0 |
| 00010 74 0b je SHORT $LN3@what |
| 00012 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00015 8b 51 04 mov edx, DWORD PTR [ecx+4] |
| 00018 89 55 f8 mov DWORD PTR tv69[ebp], edx |
| 0001b eb 07 jmp SHORT $LN4@what |
| $LN3@what: |
| 0001d c7 45 f8 00 00 |
| 00 00 mov DWORD PTR tv69[ebp], OFFSET ??_C@_0BC@EOODALEL@Unknown?5exception?$AA@ |
| $LN4@what: |
| 00024 8b 45 f8 mov eax, DWORD PTR tv69[ebp] |
| |
| ; 90 : } |
| |
| 00027 8b e5 mov esp, ebp |
| 00029 5d pop ebp |
| 0002a c3 ret 0 |
| ?what@exception@std@@UBEPBDXZ ENDP ; std::exception::what |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_exception.h |
| ; COMDAT ??1exception@std@@UAE@XZ |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| ??1exception@std@@UAE@XZ PROC ; std::exception::~exception, COMDAT |
| ; _this$ = ecx |
| |
| ; 83 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7exception@std@@6B@ |
| |
| ; 84 : __std_exception_destroy(&_Data); |
| |
| 00010 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 00013 83 c1 04 add ecx, 4 |
| 00016 51 push ecx |
| 00017 e8 00 00 00 00 call ___std_exception_destroy |
| 0001c 83 c4 04 add esp, 4 |
| |
| ; 85 : } |
| |
| 0001f 8b e5 mov esp, ebp |
| 00021 5d pop ebp |
| 00022 c3 ret 0 |
| ??1exception@std@@UAE@XZ ENDP ; std::exception::~exception |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_exception.h |
| ; COMDAT ??0exception@std@@QAE@ABV01@@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Other$ = 8 ; size = 4 |
| ??0exception@std@@QAE@ABV01@@Z PROC ; std::exception::exception, COMDAT |
| ; _this$ = ecx |
| |
| ; 66 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7exception@std@@6B@ |
| |
| ; 65 : : _Data() |
| |
| 00010 33 c9 xor ecx, ecx |
| 00012 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00015 83 c2 04 add edx, 4 |
| 00018 89 0a mov DWORD PTR [edx], ecx |
| 0001a 89 4a 04 mov DWORD PTR [edx+4], ecx |
| |
| ; 67 : __std_exception_copy(&_Other._Data, &_Data); |
| |
| 0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00020 83 c0 04 add eax, 4 |
| 00023 50 push eax |
| 00024 8b 4d 08 mov ecx, DWORD PTR __Other$[ebp] |
| 00027 83 c1 04 add ecx, 4 |
| 0002a 51 push ecx |
| 0002b e8 00 00 00 00 call ___std_exception_copy |
| 00030 83 c4 08 add esp, 8 |
| |
| ; 68 : } |
| |
| 00033 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00036 8b e5 mov esp, ebp |
| 00038 5d pop ebp |
| 00039 c2 04 00 ret 4 |
| ??0exception@std@@QAE@ABV01@@Z ENDP ; std::exception::exception |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_exception.h |
| ; COMDAT ??0exception@std@@QAE@QBDH@Z |
| _TEXT SEGMENT |
| _this$ = -4 ; size = 4 |
| __Message$ = 8 ; size = 4 |
| ___formal$ = 12 ; size = 4 |
| ??0exception@std@@QAE@QBDH@Z PROC ; std::exception::exception, COMDAT |
| ; _this$ = ecx |
| |
| ; 60 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 51 push ecx |
| 00004 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00007 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000a c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7exception@std@@6B@ |
| |
| ; 59 : : _Data() |
| |
| 00010 33 c9 xor ecx, ecx |
| 00012 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00015 83 c2 04 add edx, 4 |
| 00018 89 0a mov DWORD PTR [edx], ecx |
| 0001a 89 4a 04 mov DWORD PTR [edx+4], ecx |
| |
| ; 61 : _Data._What = _Message; |
| |
| 0001d 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00020 8b 4d 08 mov ecx, DWORD PTR __Message$[ebp] |
| 00023 89 48 04 mov DWORD PTR [eax+4], ecx |
| |
| ; 62 : } |
| |
| 00026 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 00029 8b e5 mov esp, ebp |
| 0002b 5d pop ebp |
| 0002c c2 08 00 ret 8 |
| ??0exception@std@@QAE@QBDH@Z ENDP ; std::exception::exception |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\vcruntime_exception.h |
| ; COMDAT ??0exception@std@@QAE@QBD@Z |
| _TEXT SEGMENT |
| __InitData$ = -12 ; size = 8 |
| _this$ = -4 ; size = 4 |
| __Message$ = 8 ; size = 4 |
| ??0exception@std@@QAE@QBD@Z PROC ; std::exception::exception, COMDAT |
| ; _this$ = ecx |
| |
| ; 53 : { |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 0c sub esp, 12 ; 0000000cH |
| 00006 89 4d fc mov DWORD PTR _this$[ebp], ecx |
| 00009 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0000c c7 00 00 00 00 |
| 00 mov DWORD PTR [eax], OFFSET ??_7exception@std@@6B@ |
| |
| ; 52 : : _Data() |
| |
| 00012 33 c9 xor ecx, ecx |
| 00014 8b 55 fc mov edx, DWORD PTR _this$[ebp] |
| 00017 83 c2 04 add edx, 4 |
| 0001a 89 0a mov DWORD PTR [edx], ecx |
| 0001c 89 4a 04 mov DWORD PTR [edx+4], ecx |
| |
| ; 54 : __std_exception_data _InitData = { _Message, true }; |
| |
| 0001f 8b 45 08 mov eax, DWORD PTR __Message$[ebp] |
| 00022 89 45 f4 mov DWORD PTR __InitData$[ebp], eax |
| 00025 c6 45 f8 01 mov BYTE PTR __InitData$[ebp+4], 1 |
| |
| ; 55 : __std_exception_copy(&_InitData, &_Data); |
| |
| 00029 8b 4d fc mov ecx, DWORD PTR _this$[ebp] |
| 0002c 83 c1 04 add ecx, 4 |
| 0002f 51 push ecx |
| 00030 8d 55 f4 lea edx, DWORD PTR __InitData$[ebp] |
| 00033 52 push edx |
| 00034 e8 00 00 00 00 call ___std_exception_copy |
| 00039 83 c4 08 add esp, 8 |
| |
| ; 56 : } |
| |
| 0003c 8b 45 fc mov eax, DWORD PTR _this$[ebp] |
| 0003f 8b e5 mov esp, ebp |
| 00041 5d pop ebp |
| 00042 c2 04 00 ret 4 |
| ??0exception@std@@QAE@QBD@Z ENDP ; std::exception::exception |
| _TEXT ENDS |
| ; Function compile flags: /Odtp |
| ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef |
| ; COMDAT ?_Hash_seq@std@@YAIPBEI@Z |
| _TEXT SEGMENT |
| __FNV_prime$ = -16 ; size = 4 |
| __FNV_offset_basis$ = -12 ; size = 4 |
| __Next$1 = -8 ; size = 4 |
| __Val$ = -4 ; size = 4 |
| __First$ = 8 ; size = 4 |
| __Count$ = 12 ; size = 4 |
| ?_Hash_seq@std@@YAIPBEI@Z PROC ; std::_Hash_seq, COMDAT |
| |
| ; 336 : { // FNV-1a hash function for bytes in [_First, _First + _Count) |
| |
| 00000 55 push ebp |
| 00001 8b ec mov ebp, esp |
| 00003 83 ec 10 sub esp, 16 ; 00000010H |
| |
| ; 337 : #if defined(_WIN64) |
| ; 338 : static_assert(sizeof(size_t) == 8, "This code is for 64-bit size_t."); |
| ; 339 : const size_t _FNV_offset_basis = 14695981039346656037ULL; |
| ; 340 : const size_t _FNV_prime = 1099511628211ULL; |
| ; 341 : |
| ; 342 : #else /* defined(_WIN64) */ |
| ; 343 : static_assert(sizeof(size_t) == 4, "This code is for 32-bit size_t."); |
| ; 344 : const size_t _FNV_offset_basis = 2166136261U; |
| |
| 00006 c7 45 f4 c5 9d |
| 1c 81 mov DWORD PTR __FNV_offset_basis$[ebp], -2128831035 ; 811c9dc5H |
| |
| ; 345 : const size_t _FNV_prime = 16777619U; |
| |
| 0000d c7 45 f0 93 01 |
| 00 01 mov DWORD PTR __FNV_prime$[ebp], 16777619 ; 01000193H |
| |
| ; 346 : #endif /* defined(_WIN64) */ |
| ; 347 : |
| ; 348 : size_t _Val = _FNV_offset_basis; |
| |
| 00014 c7 45 fc c5 9d |
| 1c 81 mov DWORD PTR __Val$[ebp], -2128831035 ; 811c9dc5H |
| |
| ; 349 : for (size_t _Next = 0; _Next < _Count; ++_Next) |
| |
| 0001b c7 45 f8 00 00 |
| 00 00 mov DWORD PTR __Next$1[ebp], 0 |
| 00022 eb 09 jmp SHORT $LN4@Hash_seq |
| $LN2@Hash_seq: |
| 00024 8b 45 f8 mov eax, DWORD PTR __Next$1[ebp] |
| 00027 83 c0 01 add eax, 1 |
| 0002a 89 45 f8 mov DWORD PTR __Next$1[ebp], eax |
| $LN4@Hash_seq: |
| 0002d 8b 4d f8 mov ecx, DWORD PTR __Next$1[ebp] |
| 00030 3b 4d 0c cmp ecx, DWORD PTR __Count$[ebp] |
| 00033 73 1b jae SHORT $LN3@Hash_seq |
| |
| ; 350 : { // fold in another byte |
| ; 351 : _Val ^= (size_t)_First[_Next]; |
| |
| 00035 8b 55 08 mov edx, DWORD PTR __First$[ebp] |
| 00038 03 55 f8 add edx, DWORD PTR __Next$1[ebp] |
| 0003b 0f b6 02 movzx eax, BYTE PTR [edx] |
| 0003e 33 45 fc xor eax, DWORD PTR __Val$[ebp] |
| 00041 89 45 fc mov DWORD PTR __Val$[ebp], eax |
| |
| ; 352 : _Val *= _FNV_prime; |
| |
| 00044 69 4d fc 93 01 |
| 00 01 imul ecx, DWORD PTR __Val$[ebp], 16777619 |
| 0004b 89 4d fc mov DWORD PTR __Val$[ebp], ecx |
| |
| ; 353 : } |
| |
| 0004e eb d4 jmp SHORT $LN2@Hash_seq |
| $LN3@Hash_seq: |
| |
| ; 354 : return (_Val); |
| |
| 00050 8b 45 fc mov eax, DWORD PTR __Val$[ebp] |
| |
| ; 355 : } |
| |
| 00053 8b e5 mov esp, ebp |
| 00055 5d pop ebp |
| 00056 c3 ret 0 |
| ?_Hash_seq@std@@YAIPBEI@Z ENDP ; std::_Hash_seq |
| _TEXT ENDS |
| END |