Run Code | API | Code Wall | Misc | Feedback | Login | Theme | Privacy | Patreon |
vector-constantsVolume in drive C is Windows Volume Serial Number is A00A-4B3E Directory of C:\inetpub\wwwroot\rextester\usercode\1998652734 02/09/2016 05:38 PM <DIR> . 02/09/2016 05:38 PM <DIR> .. 02/09/2016 05:38 PM 296,995 1998652734.asm 02/09/2016 05:38 PM 14,206 1998652734.cpp 02/09/2016 05:38 PM 80,094 1998652734.obj 02/09/2016 05:38 PM 45,056 a.exe 4 File(s) 436,351 bytes 2 Dir(s) 167,933,861,888 bytes free ; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23026.0 TITLE 1998652734.cpp .686P .XMM include listing.inc .model flat INCLUDELIB MSVCRT INCLUDELIB OLDNAMES PUBLIC _wmemcpy PUBLIC _wmemmove PUBLIC ??2@YAPAXIPAX@Z ; operator new PUBLIC ?copy@?$char_traits@_W@std@@SAPA_WPA_WPB_WI@Z ; std::char_traits<wchar_t>::copy PUBLIC ?move@?$char_traits@_W@std@@SAPA_WPA_WPB_WI@Z ; std::char_traits<wchar_t>::move PUBLIC ?assign@?$char_traits@_W@std@@SAXAA_WAB_W@Z ; std::char_traits<wchar_t>::assign 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@@SAXAADABD@Z ; std::char_traits<char>::assign PUBLIC ?_Adopt@_Iterator_base0@std@@QAEXPBX@Z ; std::_Iterator_base0::_Adopt 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@ABV?$allocator@D@1@@Z ; std::_Wrap_alloc<std::allocator<char> >::_Wrap_alloc<std::allocator<char> > 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@ABV?$allocator@D@1@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > PUBLIC ??0?$_String_alloc@U?$_String_base_types@DV?$allocator@D@std@@@std@@@std@@QAE@$$QAV?$allocator@D@1@@Z ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > > 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 ?_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 ??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::operator+= PUBLIC ?append@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append PUBLIC ?append@?$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> >::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 ?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBE?AV?$_String_const_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 ?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 ?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 ?reserve@?$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> >::reserve 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 ?_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 ??0?$allocator@_W@std@@QAE@XZ ; std::allocator<wchar_t>::allocator<wchar_t> PUBLIC ??0?$allocator@_W@std@@QAE@ABV01@@Z ; std::allocator<wchar_t>::allocator<wchar_t> PUBLIC ?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z ; std::allocator<wchar_t>::deallocate PUBLIC ?allocate@?$allocator@_W@std@@QAEPA_WI@Z ; std::allocator<wchar_t>::allocate PUBLIC ?max_size@?$allocator@_W@std@@QBEIXZ ; std::allocator<wchar_t>::max_size PUBLIC ?max_size@?$allocator_traits@V?$allocator@_W@std@@@std@@SAIABV?$allocator@_W@2@@Z ; std::allocator_traits<std::allocator<wchar_t> >::max_size PUBLIC ?select_on_container_copy_construction@?$allocator_traits@V?$allocator@_W@std@@@std@@SA?AV?$allocator@_W@2@ABV32@@Z ; std::allocator_traits<std::allocator<wchar_t> >::select_on_container_copy_construction PUBLIC ?select_on_container_copy_construction@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBE?AU12@U_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::select_on_container_copy_construction PUBLIC ??0?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAE@ABV?$allocator@_W@1@@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::_Wrap_alloc<std::allocator<wchar_t> > PUBLIC ?allocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEPA_WI@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::allocate PUBLIC ?deallocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPA_WI@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::deallocate PUBLIC ?max_size@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBEIU_Nil@2@@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::max_size PUBLIC ??0?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ ; std::_String_val<std::_Simple_types<wchar_t> >::_String_val<std::_Simple_types<wchar_t> > PUBLIC ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAEPA_WXZ ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr PUBLIC ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEPB_WXZ ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr PUBLIC ?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEPA_WXZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr PUBLIC ?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEPB_WXZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr PUBLIC ??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@ABV?$allocator@_W@1@@Z ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > > PUBLIC ??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@$$QAV?$allocator@_W@1@@Z ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > > PUBLIC ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal PUBLIC ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal PUBLIC ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data PUBLIC ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data PUBLIC ?_Bx@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Bx PUBLIC ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize PUBLIC ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABIXZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize PUBLIC ?_Myres@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myres PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first PUBLIC ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second PUBLIC ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second PUBLIC ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > PUBLIC ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > PUBLIC ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > PUBLIC ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign PUBLIC ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase PUBLIC ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase PUBLIC ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::begin PUBLIC ?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::size PUBLIC ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::max_size PUBLIC ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::empty PUBLIC ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Copy PUBLIC ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Eos PUBLIC ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE_NI_N@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Grow PUBLIC ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_NI@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Tidy PUBLIC ?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xlen PUBLIC ?_Xran@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xran PUBLIC ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; boost::filesystem::path_traits::convert PUBLIC ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ; boost::filesystem::path_traits::convert 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 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PB_WPBU_Container_base0@1@@Z ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > > PUBLIC ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAB_WXZ ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::operator* PUBLIC ??0path@filesystem@boost@@QAE@ABV012@@Z ; boost::filesystem::path::path PUBLIC ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ; boost::filesystem::path::string PUBLIC ??1path@filesystem@boost@@QAE@XZ ; boost::filesystem::path::~path PUBLIC ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z ; boost::filesystem::path::path<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > PUBLIC ??D?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@QBEABVpath@filesystem@3@XZ ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::operator* PUBLIC ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IAEAAViterator@path@filesystem@4@XZ ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived PUBLIC ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IBEABViterator@path@filesystem@4@XZ ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived PUBLIC ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAEAAViterator@path@filesystem@3@XZ ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator-- PUBLIC ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator-- PUBLIC ?dereference@iterator@path@filesystem@boost@@ABEABV234@XZ ; boost::filesystem::path::iterator::dereference PUBLIC ?decrement@iterator@path@filesystem@boost@@AAEXXZ ; boost::filesystem::path::iterator::decrement PUBLIC ??1iterator@path@filesystem@boost@@QAE@XZ ; boost::filesystem::path::iterator::~iterator PUBLIC ??0iterator@path@filesystem@boost@@QAE@ABV0123@@Z ; boost::filesystem::path::iterator::iterator PUBLIC ??0iterator@path@filesystem@boost@@QAE@$$QAV0123@@Z ; boost::filesystem::path::iterator::iterator PUBLIC _main PUBLIC ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z ; std::operator+<char,std::char_traits<char>,std::allocator<char> > PUBLIC ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z ; std::operator+<char,std::char_traits<char>,std::allocator<char> > PUBLIC ??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z ; boost::filesystem::path::path<char [5]> PUBLIC ?use_k32@@YA?AT__m128i@@T1@@Z ; use_k32 PUBLIC ?div255_si128@@YA?AT__m128i@@T1@@Z ; div255_si128 PUBLIC ?add16_set32@@YA?AT__m128i@@T1@@Z ; add16_set32 PUBLIC ?add32_set16@@YA?AT__m128i@@T1@@Z ; add32_set16 PUBLIC ?add32_set64x@@YA?AT__m128i@@T1@@Z ; add32_set64x PUBLIC ?add64_set64x@@YA?AT__m128i@@T1@@Z ; add64_set64x PUBLIC ?add64_set32_256@@YA?AT__m256i@@T1@@Z ; add64_set32_256 PUBLIC ?add16_set32_256@@YA?AT__m256i@@T1@@Z ; add16_set32_256 PUBLIC ?add32_set16_256@@YA?AT__m256i@@T1@@Z ; add32_set16_256 PUBLIC ?signbits_set@@YA?AT__m128@@XZ ; signbits_set PUBLIC ?signbits_shift@@YA?AT__m128@@XZ ; signbits_shift PUBLIC ?abs_mask@@YA?AT__m128@@XZ ; abs_mask PUBLIC ?abs_ps_andnot@@YA?AT__m128@@T1@@Z ; abs_ps_andnot PUBLIC ?abs_ps_and@@YA?AT__m128@@T1@@Z ; abs_ps_and PUBLIC ?sumabs@@YA?AT__m128@@PBT1@@Z ; sumabs PUBLIC ?allones_set@@YA?AT__m128i@@XZ ; allones_set PUBLIC ?allones_undef@@YA?AT__m128i@@XZ ; allones_undef PUBLIC ?allones_uninit@@YA?AT__m128i@@XZ ; allones_uninit PUBLIC ?allones_set256@@YA?AT__m256i@@XZ ; allones_set256 PUBLIC ?allones_undef256@@YA?AT__m256i@@XZ ; allones_undef256 PUBLIC ?allones_uninit256@@YA?AT__m256i@@XZ ; allones_uninit256 PUBLIC ?load2_undef@@YA?AT__m256@@PBM@Z ; load2_undef PUBLIC ?load2_set@@YA?AT__m256i@@PBT__m128i@@@Z ; load2_set PUBLIC ?load2@@YA?AT__m256@@PBM@Z ; load2 PUBLIC ?load2_C@@YA?AT__m256@@PBM@Z ; load2_C PUBLIC ??$dereference@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAABVpath@filesystem@2@ABViterator@342@@Z ; boost::iterators::iterator_core_access::dereference<boost::filesystem::path::iterator> 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 ??$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 ??$decrement@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAXAAViterator@path@filesystem@2@@Z ; boost::iterators::iterator_core_access::decrement<boost::filesystem::path::iterator> PUBLIC ??$move@AAV?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z ; std::move<std::allocator<wchar_t> &> PUBLIC ??$?0V?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@_W@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> > PUBLIC ??$?0ABV?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_W@1@@Z ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> const &> PUBLIC ??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z ; std::move<std::allocator<char> &> PUBLIC ??$?0V?$allocator@D@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@$$QAV?$allocator@D@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::allocator<char> > PUBLIC ??$?0ABV?$allocator@D@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@ABV?$allocator@D@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::allocator<char> const &> PUBLIC ??$destroy@PA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_W@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::destroy<wchar_t *> PUBLIC ??$addressof@_W@std@@YAPA_WAA_W@Z ; std::addressof<wchar_t> PUBLIC ??$construct@PA_WAAPA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_WAAPA_W@Z ; std::_Wrap_alloc<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &> 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 ??$construct@PADAAPAD@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPAPADAAPAD@Z ; std::_Wrap_alloc<std::allocator<char> >::construct<char *,char * &> PUBLIC ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> PUBLIC ??$_Deallocate@D@std@@YAXPADI@Z ; std::_Deallocate<char> PUBLIC ??$_Allocate@_W@std@@YAPA_WIPA_W_N@Z ; std::_Allocate<wchar_t> PUBLIC ??$_Allocate@D@std@@YAPADIPAD_N@Z ; std::_Allocate<char> PUBLIC ??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@@Z ; boost::filesystem::path_traits::dispatch<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > PUBLIC ??$move@AAV?$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::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &> PUBLIC ??$forward@V?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z ; std::forward<std::allocator<wchar_t> > PUBLIC ??$forward@ABV?$allocator@_W@std@@@std@@YAABV?$allocator@_W@0@ABV10@@Z ; std::forward<std::allocator<wchar_t> const &> PUBLIC ??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z ; std::forward<std::allocator<char> > PUBLIC ??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z ; std::forward<std::allocator<char> const &> PUBLIC ??$destroy@PA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_W@Z ; std::allocator_traits<std::allocator<wchar_t> >::destroy<wchar_t *> PUBLIC ??$_Addressof@_W@std@@YAPA_WAA_WU?$integral_constant@_N$0A@@0@@Z ; std::_Addressof<wchar_t> PUBLIC ??$forward@AAPA_W@std@@YAAAPA_WAAPA_W@Z ; std::forward<wchar_t * &> PUBLIC ??$construct@PA_WAAPA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_WAAPA_W@Z ; std::allocator_traits<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &> 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@PA_W@?$allocator@_W@std@@QAEXPAPA_W@Z ; std::allocator<wchar_t>::destroy<wchar_t *> PUBLIC ??$construct@PA_WAAPA_W@?$allocator@_W@std@@QAEXPAPA_WAAPA_W@Z ; std::allocator<wchar_t>::construct<wchar_t *,wchar_t * &> 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 ??_C@_04NBLAPJHK@dir?5?$AA@ ; `string' PUBLIC ??_C@_04ECFCMKAC@?4asm?$AA@ ; `string' PUBLIC ??_C@_05JKOLBOMA@type?5?$AA@ ; `string' PUBLIC ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ ; `string' PUBLIC ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ ; `string' PUBLIC __xmm@00000004000000030000000200000001 PUBLIC __xmm@80000000800000008000000080000000 PUBLIC __xmm@80818081808180818081808180818081 PUBLIC __xmm@ffffffffffffffffffffffffffffffff PUBLIC __ymm@8081808180818081808180818081808180818081808180818081808180818081 PUBLIC __ymm@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff EXTRN ??2@YAPAXI@Z:PROC ; operator new EXTRN ??3@YAXPAX@Z:PROC ; operator delete EXTRN __imp___invalid_parameter_noinfo_noreturn:PROC EXTRN __imp__system:PROC EXTRN __imp__memmove:PROC EXTRN __imp_?_Xbad_alloc@std@@YAXXZ:PROC EXTRN __imp_?_Xlength_error@std@@YAXPBD@Z:PROC EXTRN __imp_?_Xout_of_range@std@@YAXPBD@Z:PROC EXTRN ?system_category@system@boost@@YAABVerror_category@12@XZ:PROC ; boost::system::system_category EXTRN ?generic_category@system@boost@@YAABVerror_category@12@XZ:PROC ; boost::system::generic_category EXTRN ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z:PROC ; boost::filesystem::path_traits::convert EXTRN ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z:PROC ; boost::filesystem::path_traits::convert EXTRN ??_0path@filesystem@boost@@QAEAAV012@ABV012@@Z:PROC ; boost::filesystem::path::operator/= EXTRN ?remove_filename@path@filesystem@boost@@QAEAAV123@XZ:PROC ; boost::filesystem::path::remove_filename EXTRN ?replace_extension@path@filesystem@boost@@QAEAAV123@ABV123@@Z:PROC ; boost::filesystem::path::replace_extension EXTRN ?end@path@filesystem@boost@@QBE?AViterator@123@XZ:PROC ; boost::filesystem::path::end EXTRN ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ:PROC ; boost::filesystem::path::codecvt EXTRN ?m_path_iterator_decrement@path@filesystem@boost@@CAXAAViterator@123@@Z:PROC ; boost::filesystem::path::m_path_iterator_decrement EXTRN __imp__GetModuleFileNameA@12:PROC EXTRN @__security_check_cookie@4:PROC EXTRN __CxxThrowException@8:PROC EXTRN ___CxxFrameHandler3:PROC EXTRN _memcpy:PROC EXTRN ___security_cookie:DWORD EXTRN __fltused:DWORD _BSS SEGMENT ?posix_category@system@boost@@3ABVerror_category@12@B DD 01H DUP (?) ; boost::system::posix_category ?errno_ecat@system@boost@@3ABVerror_category@12@B DD 01H DUP (?) ; boost::system::errno_ecat ?native_ecat@system@boost@@3ABVerror_category@12@B DD 01H DUP (?) ; boost::system::native_ecat ALIGN 8 ?K32@@3T__m128i@@B DB 010H DUP (?) ; K32 _BSS ENDS CRT$XCU SEGMENT ?posix_category$initializer$@system@boost@@3P6AXXZA DD FLAT:??__Eposix_category@system@boost@@YAXXZ ; boost::system::posix_category$initializer$ CRT$XCU ENDS ; COMDAT __ymm@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff CONST SEGMENT __ymm@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff DB 0ffH DB 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH DB 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH DB 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH CONST ENDS ; COMDAT __ymm@8081808180818081808180818081808180818081808180818081808180818081 CONST SEGMENT __ymm@8081808180818081808180818081808180818081808180818081808180818081 DB 081H DB 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H DB 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H DB 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H CONST ENDS ; COMDAT __xmm@ffffffffffffffffffffffffffffffff CONST SEGMENT __xmm@ffffffffffffffffffffffffffffffff DB 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH DB 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH, 0ffH CONST ENDS ; COMDAT __xmm@80818081808180818081808180818081 CONST SEGMENT __xmm@80818081808180818081808180818081 DB 081H, 080H, 081H, 080H, 081H, 080H DB 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H, 081H, 080H CONST ENDS ; COMDAT __xmm@80000000800000008000000080000000 CONST SEGMENT __xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H CONST ENDS ; COMDAT __xmm@00000004000000030000000200000001 CONST SEGMENT __xmm@00000004000000030000000200000001 DB 01H, 00H, 00H, 00H, 02H, 00H, 00H DB 00H, 03H, 00H, 00H, 00H, 04H, 00H, 00H, 00H 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 ??_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@_05JKOLBOMA@type?5?$AA@ CONST SEGMENT ??_C@_05JKOLBOMA@type?5?$AA@ DB 'type ', 00H ; `string' CONST ENDS ; COMDAT ??_C@_04ECFCMKAC@?4asm?$AA@ CONST SEGMENT ??_C@_04ECFCMKAC@?4asm?$AA@ DB '.asm', 00H ; `string' CONST ENDS ; COMDAT ??_C@_04NBLAPJHK@dir?5?$AA@ CONST SEGMENT ??_C@_04NBLAPJHK@dir?5?$AA@ DB 'dir ', 00H ; `string' CONST ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z DD 0ffffffffH DD FLAT:__unwindfunclet$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z$0 DD 00H DD FLAT:__unwindfunclet$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z$1 __ehfuncinfo$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z DD 019930522H DD 02H DD FLAT:__unwindtable$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z DD 0ffffffffH DD FLAT:__unwindfunclet$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z$0 __ehfuncinfo$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z DD 019930522H DD 01H DD FLAT:__unwindtable$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __ehfuncinfo$_main DD 019930522H DD 09H DD FLAT:__unwindtable$_main DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H __unwindtable$_main DD 0ffffffffH DD FLAT:__unwindfunclet$_main$0 DD 00H DD FLAT:__unwindfunclet$_main$1 DD 01H DD FLAT:__unwindfunclet$_main$2 DD 00H DD FLAT:__unwindfunclet$_main$2 DD 03H DD FLAT:__unwindfunclet$_main$3 DD 03H DD FLAT:__unwindfunclet$_main$5 DD 05H DD FLAT:__unwindfunclet$_main$7 DD 05H DD FLAT:__unwindfunclet$_main$8 DD 07H DD FLAT:__unwindfunclet$_main$9 xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z DD 0ffffffffH DD FLAT:__unwindfunclet$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z$0 __ehfuncinfo$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z DD 019930522H DD 01H DD FLAT:__unwindtable$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z DD 0ffffffffH DD FLAT:__unwindfunclet$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z$0 __ehfuncinfo$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z DD 019930522H DD 01H DD FLAT:__unwindtable$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __unwindtable$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ DD 0ffffffffH DD FLAT:__unwindfunclet$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ$0 __ehfuncinfo$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ DD 019930522H DD 01H DD FLAT:__unwindtable$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ DD 2 DUP(00H) DD 2 DUP(00H) DD 00H DD 01H xdata$x ENDS ; COMDAT xdata$x xdata$x SEGMENT __catchsym$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$129 DD 040H DD 00H DD 00H DD FLAT:__catch$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$0 __catchsym$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$128 DD 040H DD 00H DD 00H DD FLAT:__catch$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$1 __unwindtable$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z DD 0ffffffffH DD 00H DD 0ffffffffH DD 00H DD 01H DD 00H DD 01H DD 00H __ehfuncinfo$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z DD 019930522H DD 04H DD FLAT:__unwindtable$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z DD 02H DD FLAT:__tryblocktable$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z DD 2 DUP(00H) DD 00H DD 01H __tryblocktable$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z DD 02H DD 02H DD 03H DD 01H DD FLAT:__catchsym$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$128 DD 00H DD 00H DD 03H DD 01H DD FLAT:__catchsym$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$129 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$129 DD 040H 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$128 DD 040H 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 01H __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$128 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$129 xdata$x ENDS CRT$XCU SEGMENT ?errno_ecat$initializer$@system@boost@@3P6AXXZA DD FLAT:??__Eerrno_ecat@system@boost@@YAXXZ ; boost::system::errno_ecat$initializer$ CRT$XCU ENDS CRT$XCU SEGMENT ?native_ecat$initializer$@system@boost@@3P6AXXZA DD FLAT:??__Enative_ecat@system@boost@@YAXXZ ; boost::system::native_ecat$initializer$ CRT$XCU ENDS CRT$XCU SEGMENT ?K32$initializer$@@3P6AXXZA DD FLAT:??__EK32@@YAXXZ ; K32$initializer$ CRT$XCU ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z _TEXT SEGMENT __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 ; 657 : ::new ((void *)_Ptr) _Objty(_STD forward<_Types>(_Args)...); mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN3@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN3@construct: ; 658 : } ret 8 ??$construct@PADAAPAD@?$allocator@D@std@@QAEXPAPADAAPAD@Z ENDP ; std::allocator<char>::construct<char *,char * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z PROC ; std::allocator<char>::destroy<char *>, COMDAT ; _this$ = ecx ; 664 : _Ptr->~_Uty(); ; 665 : } ret 4 ??$destroy@PAD@?$allocator@D@std@@QAEXPAPAD@Z ENDP ; std::allocator<char>::destroy<char *> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$construct@PA_WAAPA_W@?$allocator@_W@std@@QAEXPAPA_WAAPA_W@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 _<_Args_0>$ = 12 ; size = 4 ??$construct@PA_WAAPA_W@?$allocator@_W@std@@QAEXPAPA_WAAPA_W@Z PROC ; std::allocator<wchar_t>::construct<wchar_t *,wchar_t * &>, COMDAT ; _this$ = ecx ; 657 : ::new ((void *)_Ptr) _Objty(_STD forward<_Types>(_Args)...); mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN3@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN3@construct: ; 658 : } ret 8 ??$construct@PA_WAAPA_W@?$allocator@_W@std@@QAEXPAPA_WAAPA_W@Z ENDP ; std::allocator<wchar_t>::construct<wchar_t *,wchar_t * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$destroy@PA_W@?$allocator@_W@std@@QAEXPAPA_W@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 ??$destroy@PA_W@?$allocator@_W@std@@QAEXPAPA_W@Z PROC ; std::allocator<wchar_t>::destroy<wchar_t *>, COMDAT ; _this$ = ecx ; 664 : _Ptr->~_Uty(); ; 665 : } ret 4 ??$destroy@PA_W@?$allocator@_W@std@@QAEXPAPA_W@Z ENDP ; std::allocator<wchar_t>::destroy<wchar_t *> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 ; 775 : _Al.construct(_Ptr, _STD forward<_Types>(_Args)...); mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN8@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN8@construct: ; 776 : } 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: /Ogtpy ; 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 ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@AAPAD@std@@YAAAPADAAPAD@Z ENDP ; std::forward<char * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 ; 692 : return (reinterpret_cast<_Ty *>( mov eax, DWORD PTR __Val$[esp-4] ; 693 : &const_cast<char&>( ; 694 : reinterpret_cast<const volatile char&>(_Val)))); ; 695 : } ret 0 ??$_Addressof@D@std@@YAPADAADU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Addressof<char> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 ; 782 : _Al.destroy(_Ptr); ; 783 : } 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: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$construct@PA_WAAPA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_WAAPA_W@Z _TEXT SEGMENT __Al$ = 8 ; size = 4 __Ptr$ = 12 ; size = 4 _<_Args_0>$ = 16 ; size = 4 ??$construct@PA_WAAPA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_WAAPA_W@Z PROC ; std::allocator_traits<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &>, COMDAT ; 775 : _Al.construct(_Ptr, _STD forward<_Types>(_Args)...); mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN8@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN8@construct: ; 776 : } ret 0 ??$construct@PA_WAAPA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_WAAPA_W@Z ENDP ; std::allocator_traits<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$forward@AAPA_W@std@@YAAAPA_WAAPA_W@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$forward@AAPA_W@std@@YAAAPA_WAAPA_W@Z PROC ; std::forward<wchar_t * &>, COMDAT ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@AAPA_W@std@@YAAAPA_WAAPA_W@Z ENDP ; std::forward<wchar_t * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef ; COMDAT ??$_Addressof@_W@std@@YAPA_WAA_WU?$integral_constant@_N$0A@@0@@Z _TEXT SEGMENT __Val$ = 8 ; size = 4 ___formal$ = 12 ; size = 1 ??$_Addressof@_W@std@@YAPA_WAA_WU?$integral_constant@_N$0A@@0@@Z PROC ; std::_Addressof<wchar_t>, COMDAT ; 692 : return (reinterpret_cast<_Ty *>( mov eax, DWORD PTR __Val$[esp-4] ; 693 : &const_cast<char&>( ; 694 : reinterpret_cast<const volatile char&>(_Val)))); ; 695 : } ret 0 ??$_Addressof@_W@std@@YAPA_WAA_WU?$integral_constant@_N$0A@@0@@Z ENDP ; std::_Addressof<wchar_t> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$destroy@PA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_W@Z _TEXT SEGMENT __Al$ = 8 ; size = 4 __Ptr$ = 12 ; size = 4 ??$destroy@PA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_W@Z PROC ; std::allocator_traits<std::allocator<wchar_t> >::destroy<wchar_t *>, COMDAT ; 782 : _Al.destroy(_Ptr); ; 783 : } ret 0 ??$destroy@PA_W@?$allocator_traits@V?$allocator@_W@std@@@std@@SAXAAV?$allocator@_W@1@PAPA_W@Z ENDP ; std::allocator_traits<std::allocator<wchar_t> >::destroy<wchar_t *> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z PROC ; std::forward<std::allocator<char> const &>, COMDAT ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@ABV?$allocator@D@std@@@std@@YAABV?$allocator@D@0@ABV10@@Z ENDP ; std::forward<std::allocator<char> const &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z PROC ; std::forward<std::allocator<char> >, COMDAT ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@V?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z ENDP ; std::forward<std::allocator<char> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$forward@ABV?$allocator@_W@std@@@std@@YAABV?$allocator@_W@0@ABV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$forward@ABV?$allocator@_W@std@@@std@@YAABV?$allocator@_W@0@ABV10@@Z PROC ; std::forward<std::allocator<wchar_t> const &>, COMDAT ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@ABV?$allocator@_W@std@@@std@@YAABV?$allocator@_W@0@ABV10@@Z ENDP ; std::forward<std::allocator<wchar_t> const &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$forward@V?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$forward@V?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z PROC ; std::forward<std::allocator<wchar_t> >, COMDAT ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } ret 0 ??$forward@V?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z ENDP ; std::forward<std::allocator<wchar_t> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$move@AAV?$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 ??$move@AAV?$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::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>, COMDAT ; 1310 : return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1311 : } ret 0 ??$move@AAV?$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::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path_traits.hpp ; COMDAT ??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@@Z _TEXT SEGMENT _c$ = 8 ; size = 4 _to$ = 12 ; size = 4 ??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@@Z PROC ; boost::filesystem::path_traits::dispatch<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > >, COMDAT ; 254 : { push esi ; 255 : if (c.size()) mov esi, DWORD PTR _c$[esp] push edi mov edi, DWORD PTR [esi+16] test edi, edi je SHORT $LN2@dispatch ; 256 : convert(&*c.begin(), &*c.begin() + c.size(), to); mov eax, DWORD PTR [esi+20] push ebx cmp eax, 16 ; 00000010H jb SHORT $LN35@dispatch mov ebx, DWORD PTR [esi] jmp SHORT $LN36@dispatch $LN35@dispatch: mov ebx, esi $LN36@dispatch: cmp eax, 16 ; 00000010H jb SHORT $LN80@dispatch mov esi, DWORD PTR [esi] $LN80@dispatch: call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax push DWORD PTR _to$[esp+12] lea eax, DWORD PTR [ebx+edi] push eax push esi call ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H pop ebx $LN2@dispatch: ; 257 : } pop edi pop esi ret 0 ??$dispatch@V?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@path_traits@filesystem@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@4@@Z ENDP ; boost::filesystem::path_traits::dispatch<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$_Allocate@D@std@@YAPADIPAD_N@Z _TEXT SEGMENT __Count$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 __Try_aligned_allocation$ = 16 ; size = 1 ??$_Allocate@D@std@@YAPADIPAD_N@Z PROC ; std::_Allocate<char>, COMDAT ; 55 : void *_Ptr = 0; ; 56 : ; 57 : if (_Count == 0) mov eax, DWORD PTR __Count$[esp-4] test eax, eax jne SHORT $LN2@Allocate $LN1@Allocate: ; 91 : } ; 92 : return (static_cast<_Ty *>(_Ptr)); ; 93 : } ret 0 $LN2@Allocate: ; 58 : return (static_cast<_Ty *>(_Ptr)); ; 59 : ; 60 : // check overflow of multiply ; 61 : if ((size_t)(-1) / sizeof (_Ty) < _Count) cmp eax, -1 jbe SHORT $LN3@Allocate ; 62 : _Xbad_alloc(); // report no memory jmp DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ $LN3@Allocate: ; 63 : const size_t _User_size = _Count * sizeof (_Ty); ; 64 : ; 65 : #if defined(_M_IX86) || defined(_M_X64) ; 66 : if (_Try_aligned_allocation ; 67 : && _BIG_ALLOCATION_THRESHOLD <= _User_size) cmp BYTE PTR __Try_aligned_allocation$[esp-4], 0 je SHORT $LN4@Allocate cmp eax, 4096 ; 00001000H jb SHORT $LN4@Allocate ; 68 : { // allocate large block ; 69 : static_assert(sizeof (void *) < _BIG_ALLOCATION_ALIGNMENT, ; 70 : "Big allocations should at least match vector register size"); ; 71 : const size_t _Block_size = _NON_USER_SIZE + _User_size; lea ecx, DWORD PTR [eax+35] ; 72 : if (_Block_size <= _User_size) cmp ecx, eax ja SHORT $LN6@Allocate ; 73 : _Xbad_alloc(); // report no memory jmp DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ $LN6@Allocate: ; 74 : const uintptr_t _Ptr_container = ; 75 : reinterpret_cast<uintptr_t>(::operator new(_Block_size)); push ecx call ??2@YAPAXI@Z ; operator new mov ecx, eax add esp, 4 ; 76 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container != 0); test ecx, ecx jne SHORT $LN7@Allocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN7@Allocate: ; 77 : _Ptr = reinterpret_cast<void *>((_Ptr_container + _NON_USER_SIZE) lea eax, DWORD PTR [ecx+35] and eax, -32 ; ffffffe0H ; 78 : & ~(_BIG_ALLOCATION_ALIGNMENT - 1)); ; 79 : static_cast<uintptr_t *>(_Ptr)[-1] = _Ptr_container; mov DWORD PTR [eax-4], ecx ; 91 : } ; 92 : return (static_cast<_Ty *>(_Ptr)); ; 93 : } ret 0 $LN4@Allocate: ; 80 : ; 81 : #ifdef _DEBUG ; 82 : static_cast<uintptr_t *>(_Ptr)[-2] = _BIG_ALLOCATION_SENTINEL; ; 83 : #endif /* _DEBUG */ ; 84 : } ; 85 : else ; 86 : #endif /* defined(_M_IX86) || defined(_M_X64) */ ; 87 : ; 88 : { // allocate normal block ; 89 : _Ptr = ::operator new(_User_size); push eax call ??2@YAPAXI@Z ; operator new add esp, 4 ; 90 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr != 0); test eax, eax jne SHORT $LN1@Allocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn ??$_Allocate@D@std@@YAPADIPAD_N@Z ENDP ; std::_Allocate<char> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$_Allocate@_W@std@@YAPA_WIPA_W_N@Z _TEXT SEGMENT __Count$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 __Try_aligned_allocation$ = 16 ; size = 1 ??$_Allocate@_W@std@@YAPA_WIPA_W_N@Z PROC ; std::_Allocate<wchar_t>, COMDAT ; 55 : void *_Ptr = 0; ; 56 : ; 57 : if (_Count == 0) mov eax, DWORD PTR __Count$[esp-4] test eax, eax jne SHORT $LN2@Allocate $LN1@Allocate: ; 91 : } ; 92 : return (static_cast<_Ty *>(_Ptr)); ; 93 : } ret 0 $LN2@Allocate: ; 58 : return (static_cast<_Ty *>(_Ptr)); ; 59 : ; 60 : // check overflow of multiply ; 61 : if ((size_t)(-1) / sizeof (_Ty) < _Count) cmp eax, 2147483647 ; 7fffffffH jbe SHORT $LN3@Allocate ; 62 : _Xbad_alloc(); // report no memory jmp DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ $LN3@Allocate: ; 63 : const size_t _User_size = _Count * sizeof (_Ty); add eax, eax ; 64 : ; 65 : #if defined(_M_IX86) || defined(_M_X64) ; 66 : if (_Try_aligned_allocation ; 67 : && _BIG_ALLOCATION_THRESHOLD <= _User_size) cmp BYTE PTR __Try_aligned_allocation$[esp-4], 0 je SHORT $LN4@Allocate cmp eax, 4096 ; 00001000H jb SHORT $LN4@Allocate ; 68 : { // allocate large block ; 69 : static_assert(sizeof (void *) < _BIG_ALLOCATION_ALIGNMENT, ; 70 : "Big allocations should at least match vector register size"); ; 71 : const size_t _Block_size = _NON_USER_SIZE + _User_size; lea ecx, DWORD PTR [eax+35] ; 72 : if (_Block_size <= _User_size) cmp ecx, eax ja SHORT $LN6@Allocate ; 73 : _Xbad_alloc(); // report no memory jmp DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ $LN6@Allocate: ; 74 : const uintptr_t _Ptr_container = ; 75 : reinterpret_cast<uintptr_t>(::operator new(_Block_size)); push ecx call ??2@YAPAXI@Z ; operator new mov ecx, eax add esp, 4 ; 76 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container != 0); test ecx, ecx jne SHORT $LN7@Allocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN7@Allocate: ; 77 : _Ptr = reinterpret_cast<void *>((_Ptr_container + _NON_USER_SIZE) lea eax, DWORD PTR [ecx+35] and eax, -32 ; ffffffe0H ; 78 : & ~(_BIG_ALLOCATION_ALIGNMENT - 1)); ; 79 : static_cast<uintptr_t *>(_Ptr)[-1] = _Ptr_container; mov DWORD PTR [eax-4], ecx ; 91 : } ; 92 : return (static_cast<_Ty *>(_Ptr)); ; 93 : } ret 0 $LN4@Allocate: ; 80 : ; 81 : #ifdef _DEBUG ; 82 : static_cast<uintptr_t *>(_Ptr)[-2] = _BIG_ALLOCATION_SENTINEL; ; 83 : #endif /* _DEBUG */ ; 84 : } ; 85 : else ; 86 : #endif /* defined(_M_IX86) || defined(_M_X64) */ ; 87 : ; 88 : { // allocate normal block ; 89 : _Ptr = ::operator new(_User_size); push eax call ??2@YAPAXI@Z ; operator new add esp, 4 ; 90 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr != 0); test eax, eax jne SHORT $LN1@Allocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn ??$_Allocate@_W@std@@YAPA_WIPA_W_N@Z ENDP ; std::_Allocate<wchar_t> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$_Deallocate@D@std@@YAXPADI@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 __Count$ = 12 ; size = 4 ??$_Deallocate@D@std@@YAXPADI@Z PROC ; std::_Deallocate<char>, COMDAT ; 99 : #if defined(_M_IX86) || defined(_M_X64) ; 100 : _SCL_SECURE_ALWAYS_VALIDATE(_Count <= (size_t)(-1) / sizeof (_Ty)); mov eax, DWORD PTR __Count$[esp-4] cmp eax, -1 jbe SHORT $LN2@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN2@Deallocate: ; 101 : const size_t _User_size = _Count * sizeof (_Ty); ; 102 : if (_BIG_ALLOCATION_THRESHOLD <= _User_size) cmp eax, 4096 ; 00001000H jb SHORT $LN9@Deallocate ; 103 : { // deallocate large block ; 104 : const uintptr_t _Ptr_user = reinterpret_cast<uintptr_t>(_Ptr); ; 105 : _SCL_SECURE_ALWAYS_VALIDATE( mov eax, DWORD PTR __Ptr$[esp-4] test al, 31 ; 0000001fH je SHORT $LN4@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN4@Deallocate: ; 106 : (_Ptr_user & (_BIG_ALLOCATION_ALIGNMENT - 1)) == 0); ; 107 : const uintptr_t _Ptr_ptr = _Ptr_user - sizeof(void *); ; 108 : const uintptr_t _Ptr_container = ; 109 : *reinterpret_cast<uintptr_t *>(_Ptr_ptr); mov ecx, DWORD PTR [eax-4] ; 110 : ; 111 : #ifdef _DEBUG ; 112 : // If the following asserts, it likely means that we are performing ; 113 : // an aligned delete on memory coming from an unaligned allocation. ; 114 : _SCL_SECURE_ALWAYS_VALIDATE( ; 115 : reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == ; 116 : _BIG_ALLOCATION_SENTINEL); ; 117 : #endif /* _DEBUG */ ; 118 : ; 119 : // Extra paranoia on aligned allocation/deallocation ; 120 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container < _Ptr_user); cmp ecx, eax jb SHORT $LN5@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN5@Deallocate: ; 121 : ; 122 : #ifdef _DEBUG ; 123 : _SCL_SECURE_ALWAYS_VALIDATE(2 * sizeof(void *) ; 124 : <= _Ptr_user - _Ptr_container); ; 125 : ; 126 : #else /* _DEBUG */ ; 127 : _SCL_SECURE_ALWAYS_VALIDATE(sizeof(void *) sub eax, ecx cmp eax, 4 jae SHORT $LN6@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN6@Deallocate: ; 128 : <= _Ptr_user - _Ptr_container); ; 129 : #endif /* _DEBUG */ ; 130 : ; 131 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_user - _Ptr_container cmp eax, 35 ; 00000023H jbe SHORT $LN3@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN9@Deallocate: ; 132 : <= _NON_USER_SIZE); ; 133 : ; 134 : _Ptr = reinterpret_cast<_Ty *>(_Ptr_container); mov ecx, DWORD PTR __Ptr$[esp-4] $LN3@Deallocate: ; 135 : } ; 136 : #endif /* defined(_M_IX86) || defined(_M_X64) */ ; 137 : ; 138 : ::operator delete(_Ptr); push ecx call ??3@YAXPAX@Z ; operator delete pop ecx ; 139 : } ret 0 ??$_Deallocate@D@std@@YAXPADI@Z ENDP ; std::_Deallocate<char> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$_Deallocate@_W@std@@YAXPA_WI@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 __Count$ = 12 ; size = 4 ??$_Deallocate@_W@std@@YAXPA_WI@Z PROC ; std::_Deallocate<wchar_t>, COMDAT ; 99 : #if defined(_M_IX86) || defined(_M_X64) ; 100 : _SCL_SECURE_ALWAYS_VALIDATE(_Count <= (size_t)(-1) / sizeof (_Ty)); mov eax, DWORD PTR __Count$[esp-4] cmp eax, 2147483647 ; 7fffffffH jbe SHORT $LN2@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN2@Deallocate: ; 101 : const size_t _User_size = _Count * sizeof (_Ty); add eax, eax ; 102 : if (_BIG_ALLOCATION_THRESHOLD <= _User_size) cmp eax, 4096 ; 00001000H jb SHORT $LN9@Deallocate ; 103 : { // deallocate large block ; 104 : const uintptr_t _Ptr_user = reinterpret_cast<uintptr_t>(_Ptr); ; 105 : _SCL_SECURE_ALWAYS_VALIDATE( mov eax, DWORD PTR __Ptr$[esp-4] test al, 31 ; 0000001fH je SHORT $LN4@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN4@Deallocate: ; 106 : (_Ptr_user & (_BIG_ALLOCATION_ALIGNMENT - 1)) == 0); ; 107 : const uintptr_t _Ptr_ptr = _Ptr_user - sizeof(void *); ; 108 : const uintptr_t _Ptr_container = ; 109 : *reinterpret_cast<uintptr_t *>(_Ptr_ptr); mov ecx, DWORD PTR [eax-4] ; 110 : ; 111 : #ifdef _DEBUG ; 112 : // If the following asserts, it likely means that we are performing ; 113 : // an aligned delete on memory coming from an unaligned allocation. ; 114 : _SCL_SECURE_ALWAYS_VALIDATE( ; 115 : reinterpret_cast<uintptr_t *>(_Ptr_ptr)[-1] == ; 116 : _BIG_ALLOCATION_SENTINEL); ; 117 : #endif /* _DEBUG */ ; 118 : ; 119 : // Extra paranoia on aligned allocation/deallocation ; 120 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_container < _Ptr_user); cmp ecx, eax jb SHORT $LN5@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN5@Deallocate: ; 121 : ; 122 : #ifdef _DEBUG ; 123 : _SCL_SECURE_ALWAYS_VALIDATE(2 * sizeof(void *) ; 124 : <= _Ptr_user - _Ptr_container); ; 125 : ; 126 : #else /* _DEBUG */ ; 127 : _SCL_SECURE_ALWAYS_VALIDATE(sizeof(void *) sub eax, ecx cmp eax, 4 jae SHORT $LN6@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN6@Deallocate: ; 128 : <= _Ptr_user - _Ptr_container); ; 129 : #endif /* _DEBUG */ ; 130 : ; 131 : _SCL_SECURE_ALWAYS_VALIDATE(_Ptr_user - _Ptr_container cmp eax, 35 ; 00000023H jbe SHORT $LN3@Deallocate jmp DWORD PTR __imp___invalid_parameter_noinfo_noreturn $LN9@Deallocate: ; 132 : <= _NON_USER_SIZE); ; 133 : ; 134 : _Ptr = reinterpret_cast<_Ty *>(_Ptr_container); mov ecx, DWORD PTR __Ptr$[esp-4] $LN3@Deallocate: ; 135 : } ; 136 : #endif /* defined(_M_IX86) || defined(_M_X64) */ ; 137 : ; 138 : ::operator delete(_Ptr); push ecx call ??3@YAXPAX@Z ; operator delete pop ecx ; 139 : } ret 0 ??$_Deallocate@_W@std@@YAXPA_WI@Z ENDP ; std::_Deallocate<wchar_t> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 __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 ; 919 : _Mytraits::construct(*this, _Ptr, mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN13@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN13@construct: ; 920 : _STD forward<_Types>(_Args)...); ; 921 : } 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: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef ; COMDAT ??$addressof@D@std@@YAPADAAD@Z _TEXT SEGMENT __Val$ = 8 ; size = 4 ??$addressof@D@std@@YAPADAAD@Z PROC ; std::addressof<char>, COMDAT ; 700 : return (_Addressof(_Val, is_function<_Ty>())); mov eax, DWORD PTR __Val$[esp-4] ; 701 : } ret 0 ??$addressof@D@std@@YAPADAAD@Z ENDP ; std::addressof<char> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 __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 ; 927 : _Mytraits::destroy(*this, _Ptr); ; 928 : } 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: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$construct@PA_WAAPA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_WAAPA_W@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 _<_Args_0>$ = 12 ; size = 4 ??$construct@PA_WAAPA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_WAAPA_W@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &>, COMDAT ; _this$ = ecx ; 919 : _Mytraits::construct(*this, _Ptr, mov ecx, DWORD PTR __Ptr$[esp-4] test ecx, ecx je SHORT $LN13@construct mov eax, DWORD PTR _<_Args_0>$[esp-4] mov eax, DWORD PTR [eax] mov DWORD PTR [ecx], eax $LN13@construct: ; 920 : _STD forward<_Types>(_Args)...); ; 921 : } ret 8 ??$construct@PA_WAAPA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_WAAPA_W@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::construct<wchar_t *,wchar_t * &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstddef ; COMDAT ??$addressof@_W@std@@YAPA_WAA_W@Z _TEXT SEGMENT __Val$ = 8 ; size = 4 ??$addressof@_W@std@@YAPA_WAA_W@Z PROC ; std::addressof<wchar_t>, COMDAT ; 700 : return (_Addressof(_Val, is_function<_Ty>())); mov eax, DWORD PTR __Val$[esp-4] ; 701 : } ret 0 ??$addressof@_W@std@@YAPA_WAA_W@Z ENDP ; std::addressof<wchar_t> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0 ; COMDAT ??$destroy@PA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_W@Z _TEXT SEGMENT __Ptr$ = 8 ; size = 4 ??$destroy@PA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_W@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::destroy<wchar_t *>, COMDAT ; _this$ = ecx ; 927 : _Mytraits::destroy(*this, _Ptr); ; 928 : } ret 4 ??$destroy@PA_W@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPAPA_W@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::destroy<wchar_t *> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ??$?0ABV?$allocator@D@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@ABV?$allocator@D@1@@Z _TEXT SEGMENT ___formal$ = 8 ; size = 1 __Val1$ = 12 ; size = 4 ??$?0ABV?$allocator@D@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@ABV?$allocator@D@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::allocator<char> const &>, COMDAT ; _this$ = ecx ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) mov DWORD PTR [ecx+16], 0 ; 289 : } mov eax, ecx mov DWORD PTR [ecx+20], 0 ret 8 ??$?0ABV?$allocator@D@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@ABV?$allocator@D@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::allocator<char> const &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ??$?0V?$allocator@D@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@$$QAV?$allocator@D@1@@Z _TEXT SEGMENT ___formal$ = 8 ; size = 1 __Val1$ = 12 ; size = 4 ??$?0V?$allocator@D@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@$$QAV?$allocator@D@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::allocator<char> >, COMDAT ; _this$ = ecx ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) mov DWORD PTR [ecx+16], 0 ; 289 : } mov eax, ecx mov DWORD PTR [ecx+20], 0 ret 8 ??$?0V?$allocator@D@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@$$QAV?$allocator@D@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::allocator<char> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z PROC ; std::move<std::allocator<char> &>, COMDAT ; 1310 : return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1311 : } ret 0 ??$move@AAV?$allocator@D@std@@@std@@YA$$QAV?$allocator@D@0@AAV10@@Z ENDP ; std::move<std::allocator<char> &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ??$?0ABV?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_W@1@@Z _TEXT SEGMENT ___formal$ = 8 ; size = 1 __Val1$ = 12 ; size = 4 ??$?0ABV?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_W@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> const &>, COMDAT ; _this$ = ecx ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) mov DWORD PTR [ecx+16], 0 ; 289 : } mov eax, ecx mov DWORD PTR [ecx+20], 0 ret 8 ??$?0ABV?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@ABV?$allocator@_W@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> const &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ??$?0V?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@_W@1@@Z _TEXT SEGMENT ___formal$ = 8 ; size = 1 __Val1$ = 12 ; size = 4 ??$?0V?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@_W@1@@Z PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> >, COMDAT ; _this$ = ecx ; 287 : _Myval2(_STD forward<_Other2>(_Val2)...) mov DWORD PTR [ecx+16], 0 ; 289 : } mov eax, ecx mov DWORD PTR [ecx+20], 0 ret 8 ??$?0V?$allocator@_W@std@@$$V@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAE@U_One_then_variadic_args_t@1@$$QAV?$allocator@_W@1@@Z ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1><std::allocator<wchar_t> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\type_traits ; COMDAT ??$move@AAV?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z _TEXT SEGMENT __Arg$ = 8 ; size = 4 ??$move@AAV?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z PROC ; std::move<std::allocator<wchar_t> &>, COMDAT ; 1310 : return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1311 : } ret 0 ??$move@AAV?$allocator@_W@std@@@std@@YA$$QAV?$allocator@_W@0@AAV10@@Z ENDP ; std::move<std::allocator<wchar_t> &> _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ??$decrement@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAXAAViterator@path@filesystem@2@@Z _TEXT SEGMENT _f$ = 8 ; size = 4 ??$decrement@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAXAAViterator@path@filesystem@2@@Z PROC ; boost::iterators::iterator_core_access::decrement<boost::filesystem::path::iterator>, COMDAT ; 561 : f.decrement(); jmp ?m_path_iterator_decrement@path@filesystem@boost@@CAXAAViterator@123@@Z ; boost::filesystem::path::m_path_iterator_decrement ??$decrement@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAXAAViterator@path@filesystem@2@@Z ENDP ; boost::iterators::iterator_core_access::decrement<boost::filesystem::path::iterator> _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 ; 1294 : return (static_cast<_Ty&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1295 : } 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: /Ogtpy ; 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 ; 1310 : return (static_cast<typename remove_reference<_Ty>::type&&>(_Arg)); mov eax, DWORD PTR __Arg$[esp-4] ; 1311 : } 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: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ??$dereference@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAABVpath@filesystem@2@ABViterator@342@@Z _TEXT SEGMENT _f$ = 8 ; size = 4 ??$dereference@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAABVpath@filesystem@2@ABViterator@342@@Z PROC ; boost::iterators::iterator_core_access::dereference<boost::filesystem::path::iterator>, COMDAT ; 549 : return f.dereference(); mov eax, DWORD PTR _f$[esp-4] ; 550 : } ret 0 ??$dereference@Viterator@path@filesystem@boost@@@iterator_core_access@iterators@boost@@CAABVpath@filesystem@2@ABViterator@342@@Z ENDP ; boost::iterators::iterator_core_access::dereference<boost::filesystem::path::iterator> _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?load2_C@@YA?AT__m256@@PBM@Z _TEXT SEGMENT _in$ = 8 ; size = 4 ?load2_C@@YA?AT__m256@@PBM@Z PROC ; load2_C, COMDAT ; 264 : return _mm256_insertf128_ps ( mov eax, DWORD PTR _in$[esp-4] vmovups xmm0, XMMWORD PTR [eax] vinsertf128 ymm0, ymm0, XMMWORD PTR [eax+88], 1 ; 265 : _mm256_castps128_ps256(_mm_loadu_ps(in)), _mm_loadu_ps(in+22), 1); ; 266 : } ret 0 ?load2_C@@YA?AT__m256@@PBM@Z ENDP ; load2_C _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?load2@@YA?AT__m256@@PBM@Z _TEXT SEGMENT _in$ = 8 ; size = 4 ?load2@@YA?AT__m256@@PBM@Z PROC ; load2, COMDAT ; 257 : return _mm256_loadu2_m128(in+22, in+0); mov eax, DWORD PTR _in$[esp-4] vmovups xmm0, XMMWORD PTR [eax] vinsertf128 ymm0, ymm0, XMMWORD PTR [eax+88], 1 ; 258 : } ret 0 ?load2@@YA?AT__m256@@PBM@Z ENDP ; load2 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?load2_set@@YA?AT__m256i@@PBT__m128i@@@Z _TEXT SEGMENT _in$ = 8 ; size = 4 ?load2_set@@YA?AT__m256i@@PBT__m128i@@@Z PROC ; load2_set, COMDAT ; 253 : return _mm256_set_m128i(in[22], in[0]); mov eax, DWORD PTR _in$[esp-4] vmovdqu xmm0, XMMWORD PTR [eax] vinsertf128 ymm0, ymm0, XMMWORD PTR [eax+352], 1 ; 254 : } ret 0 ?load2_set@@YA?AT__m256i@@PBT__m128i@@@Z ENDP ; load2_set _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?load2_undef@@YA?AT__m256@@PBM@Z _TEXT SEGMENT _in$ = 8 ; size = 4 ?load2_undef@@YA?AT__m256@@PBM@Z PROC ; load2_undef, COMDAT ; 245 : __m256 v256 = _mm256_insertf128_ps ( mov eax, DWORD PTR _in$[esp-4] vxorps ymm0, ymm0, ymm0 vinsertf128 ymm0, ymm0, XMMWORD PTR [eax+88], 1 ; 246 : _mm256_undefined_ps(), *(__m128*)(in+22), 1); ; 247 : return v256; ; 248 : } ret 0 ?load2_undef@@YA?AT__m256@@PBM@Z ENDP ; load2_undef _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_uninit256@@YA?AT__m256i@@XZ _TEXT SEGMENT _v$ = -32 ; size = 32 ?allones_uninit256@@YA?AT__m256i@@XZ PROC ; allones_uninit256, COMDAT ; 236 : __m256i allones_uninit256(void) { push ebp mov ebp, esp and esp, -32 ; ffffffe0H sub esp, 32 ; 00000020H ; 237 : __m256i v; ; 238 : return _mm256_cmpeq_epi32(v, v); vmovdqu ymm0, YMMWORD PTR _v$[esp+32] vpcmpeqd ymm0, ymm0, ymm0 ; 239 : } mov esp, ebp pop ebp ret 0 ?allones_uninit256@@YA?AT__m256i@@XZ ENDP ; allones_uninit256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_undef256@@YA?AT__m256i@@XZ _TEXT SEGMENT ?allones_undef256@@YA?AT__m256i@@XZ PROC ; allones_undef256, COMDAT ; 231 : __m256i allones_undef256(void) { vxorps ymm0, ymm0, ymm0 ; 232 : __m256i v = _mm256_undefined_si256(); ; 233 : return _mm256_cmpeq_epi32(v, v); vpcmpeqd ymm0, ymm0, ymm0 ; 234 : } ret 0 ?allones_undef256@@YA?AT__m256i@@XZ ENDP ; allones_undef256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_set256@@YA?AT__m256i@@XZ _TEXT SEGMENT ?allones_set256@@YA?AT__m256i@@XZ PROC ; allones_set256, COMDAT ; 228 : return _mm256_set1_epi32(-1); vmovdqu ymm0, YMMWORD PTR __ymm@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ; 229 : } ret 0 ?allones_set256@@YA?AT__m256i@@XZ ENDP ; allones_set256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_uninit@@YA?AT__m128i@@XZ _TEXT SEGMENT _v128$ = -16 ; size = 16 ?allones_uninit@@YA?AT__m128i@@XZ PROC ; allones_uninit, COMDAT ; 219 : __m128i allones_uninit(void) { push ebp mov ebp, esp and esp, -16 ; fffffff0H sub esp, 16 ; 00000010H ; 220 : __m128i v128; ; 221 : return _mm_cmpeq_epi32(v128, v128); vmovdqa xmm0, XMMWORD PTR _v128$[esp+16] vpcmpeqd xmm0, xmm0, xmm0 ; 222 : } mov esp, ebp pop ebp ret 0 ?allones_uninit@@YA?AT__m128i@@XZ ENDP ; allones_uninit _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_undef@@YA?AT__m128i@@XZ _TEXT SEGMENT ?allones_undef@@YA?AT__m128i@@XZ PROC ; allones_undef, COMDAT ; 213 : __m128i allones_undef(void) { vxorps xmm0, xmm0, xmm0 ; 214 : __m128i v128 = _mm_undefined_si128(); // gcc likes to emit pxor any time there might be a false dependency ; 215 : return _mm_cmpeq_epi32(v128, v128); // gcc 5 doesn't pxor here: maybe it recognizes the cmpeq(same,same) vpcmpeqd xmm0, xmm0, xmm0 ; 216 : } ret 0 ?allones_undef@@YA?AT__m128i@@XZ ENDP ; allones_undef _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?allones_set@@YA?AT__m128i@@XZ _TEXT SEGMENT ?allones_set@@YA?AT__m128i@@XZ PROC ; allones_set, COMDAT ; 208 : return _mm_set1_epi32(-1); vmovdqa xmm0, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff ; 209 : } ret 0 ?allones_set@@YA?AT__m128i@@XZ ENDP ; allones_set _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?sumabs@@YA?AT__m128@@PBT1@@Z _TEXT SEGMENT _a$ = 8 ; size = 4 ?sumabs@@YA?AT__m128@@PBT1@@Z PROC ; sumabs, COMDAT ; 198 : __m128 sum = abs_ps_and(*a); mov eax, DWORD PTR _a$[esp-4] mov ecx, 9999 ; 0000270fH vmovdqa xmm0, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff vpsrld xmm2, xmm0, 1 vandps xmm0, xmm2, XMMWORD PTR [eax] add eax, 16 ; 00000010H npad 3 $LL4@sumabs: ; 199 : for (int i=1 ; i < 10000 ; i++) { lea eax, DWORD PTR [eax+16] ; 200 : // gcc, clang, and icc hoist the mask setup out of the loop after inlining ; 201 : sum = _mm_add_ps(sum, abs_ps_and(a[i])); // one accumulator makes addps latency the bottleneck, not throughput vandps xmm1, xmm2, XMMWORD PTR [eax-16] vaddps xmm0, xmm1, xmm0 sub ecx, 1 jne SHORT $LL4@sumabs ; 202 : } ; 203 : return sum; ; 204 : } ret 0 ?sumabs@@YA?AT__m128@@PBT1@@Z ENDP ; sumabs _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?abs_ps_and@@YA?AT__m128@@T1@@Z _TEXT SEGMENT ?abs_ps_and@@YA?AT__m128@@T1@@Z PROC ; abs_ps_and, COMDAT ; _v$ = xmm0 ; 193 : return _mm_and_ps(v, abs_mask()); vmovdqa xmm1, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff vpsrld xmm1, xmm1, 1 vandps xmm0, xmm1, xmm0 ; 194 : } ret 0 ?abs_ps_and@@YA?AT__m128@@T1@@Z ENDP ; abs_ps_and _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?abs_ps_andnot@@YA?AT__m128@@T1@@Z _TEXT SEGMENT ?abs_ps_andnot@@YA?AT__m128@@T1@@Z PROC ; abs_ps_andnot, COMDAT ; _v$ = xmm0 ; 185 : // clang inverts this to PAND with the inverse mask from mem ; 186 : // It only looks like every function seems to get its own copy of the mask: they're merged in the binary ; 187 : ; 188 : // gcc 4.8 takes two movaps instructions to implement this. Earlier gcc only used one ; 189 : return _mm_andnot_ps(signbits_shift(), v); vmovdqa xmm1, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff vpslld xmm1, xmm1, 31 ; 0000001fH vandnps xmm0, xmm1, xmm0 ; 190 : } ret 0 ?abs_ps_andnot@@YA?AT__m128@@T1@@Z ENDP ; abs_ps_andnot _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?abs_mask@@YA?AT__m128@@XZ _TEXT SEGMENT ?abs_mask@@YA?AT__m128@@XZ PROC ; abs_mask, COMDAT ; 179 : __m128i minus1 = _mm_set1_epi32(-1); ; 180 : return _mm_castsi128_ps(_mm_srli_epi32(minus1, 1)); vmovdqa xmm0, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff vpsrld xmm0, xmm0, 1 ; 181 : } ret 0 ?abs_mask@@YA?AT__m128@@XZ ENDP ; abs_mask _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?signbits_shift@@YA?AT__m128@@XZ _TEXT SEGMENT ?signbits_shift@@YA?AT__m128@@XZ PROC ; signbits_shift, COMDAT ; 174 : __m128i minus1 = _mm_set1_epi32(-1); ; 175 : return _mm_castsi128_ps(_mm_slli_epi32(minus1, 31)); vmovdqa xmm0, XMMWORD PTR __xmm@ffffffffffffffffffffffffffffffff vpslld xmm0, xmm0, 31 ; 0000001fH ; 176 : } ret 0 ?signbits_shift@@YA?AT__m128@@XZ ENDP ; signbits_shift _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?signbits_set@@YA?AT__m128@@XZ _TEXT SEGMENT ?signbits_set@@YA?AT__m128@@XZ PROC ; signbits_set, COMDAT ; 171 : return _mm_set1_ps(-0.0f); vmovaps xmm0, XMMWORD PTR __xmm@80000000800000008000000080000000 ; 172 : } ret 0 ?signbits_set@@YA?AT__m128@@XZ ENDP ; signbits_set _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add32_set16_256@@YA?AT__m256i@@T1@@Z _TEXT SEGMENT ?add32_set16_256@@YA?AT__m256i@@T1@@Z PROC ; add32_set16_256, COMDAT ; _x$ = ymm0 ; 160 : return _mm256_add_epi32(x, _mm256_set1_epi16(0x8081)); vpaddd ymm0, ymm0, YMMWORD PTR __ymm@8081808180818081808180818081808180818081808180818081808180818081 ; 161 : // clang uses vpbroadcastd, from same const as other vpbroadcastd-using functions ; 162 : } ret 0 ?add32_set16_256@@YA?AT__m256i@@T1@@Z ENDP ; add32_set16_256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add16_set32_256@@YA?AT__m256i@@T1@@Z _TEXT SEGMENT ?add16_set32_256@@YA?AT__m256i@@T1@@Z PROC ; add16_set32_256, COMDAT ; _x$ = ymm0 ; 157 : return _mm256_add_epi16(x, _mm256_set1_epi32(0x80818081)); } vpaddw ymm0, ymm0, YMMWORD PTR __ymm@8081808180818081808180818081808180818081808180818081808180818081 ret 0 ?add16_set32_256@@YA?AT__m256i@@T1@@Z ENDP ; add16_set32_256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add64_set32_256@@YA?AT__m256i@@T1@@Z _TEXT SEGMENT ?add64_set32_256@@YA?AT__m256i@@T1@@Z PROC ; add64_set32_256, COMDAT ; _x$ = ymm0 ; 154 : return _mm256_add_epi64(x, _mm256_set1_epi32(0x80818081)); } vpaddq ymm0, ymm0, YMMWORD PTR __ymm@8081808180818081808180818081808180818081808180818081808180818081 ret 0 ?add64_set32_256@@YA?AT__m256i@@T1@@Z ENDP ; add64_set32_256 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add64_set64x@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?add64_set64x@@YA?AT__m128i@@T1@@Z PROC ; add64_set64x, COMDAT ; _x$ = xmm0 ; 150 : return _mm_add_epi64(x, _mm_set1_epi64x(0x8081808180818081)); } vpaddq xmm0, xmm0, XMMWORD PTR __xmm@80818081808180818081808180818081 ret 0 ?add64_set64x@@YA?AT__m128i@@T1@@Z ENDP ; add64_set64x _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add32_set64x@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?add32_set64x@@YA?AT__m128i@@T1@@Z PROC ; add32_set64x, COMDAT ; _x$ = xmm0 ; 147 : return _mm_add_epi32(x, _mm_set1_epi64x(0x8081808180818081)); } vpaddd xmm0, xmm0, XMMWORD PTR __xmm@80818081808180818081808180818081 ret 0 ?add32_set64x@@YA?AT__m128i@@T1@@Z ENDP ; add32_set64x _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add32_set16@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?add32_set16@@YA?AT__m128i@@T1@@Z PROC ; add32_set16, COMDAT ; _x$ = xmm0 ; 143 : return _mm_add_epi32(x, _mm_set1_epi16(0x8081)); } vpaddd xmm0, xmm0, XMMWORD PTR __xmm@80818081808180818081808180818081 ret 0 ?add32_set16@@YA?AT__m128i@@T1@@Z ENDP ; add32_set16 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?add16_set32@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?add16_set32@@YA?AT__m128i@@T1@@Z PROC ; add16_set32, COMDAT ; _x$ = xmm0 ; 139 : return _mm_add_epi16(x, _mm_set1_epi32(0x80818081)); } vpaddw xmm0, xmm0, XMMWORD PTR __xmm@80818081808180818081808180818081 ret 0 ?add16_set32@@YA?AT__m128i@@T1@@Z ENDP ; add16_set32 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?div255_si128@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?div255_si128@@YA?AT__m128i@@T1@@Z PROC ; div255_si128, COMDAT ; _x$ = xmm0 ; 130 : __m128i tmp = _mm_mulhi_epi16(x, _mm_set1_epi16(0x8081)); vmovdqa xmm1, XMMWORD PTR __xmm@80818081808180818081808180818081 vpmulhw xmm1, xmm1, xmm0 ; 131 : tmp = _mm_add_epi16(tmp, x); // There's no integer FMA that's usable here vpaddw xmm1, xmm1, xmm0 ; 132 : x = _mm_srai_epi16(x, 15); // broadcast the sign bit ; 133 : tmp = _mm_srai_epi16(tmp, 7); vpsraw xmm1, xmm1, 7 vpsraw xmm0, xmm0, 15 ; 0000000fH ; 134 : return _mm_sub_epi16(tmp, x); vpsubw xmm0, xmm1, xmm0 ; 135 : } ret 0 ?div255_si128@@YA?AT__m128i@@T1@@Z ENDP ; div255_si128 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?use_k32@@YA?AT__m128i@@T1@@Z _TEXT SEGMENT ?use_k32@@YA?AT__m128i@@T1@@Z PROC ; use_k32, COMDAT ; _x$ = xmm0 ; 115 : __m128i use_k32(__m128i x) { return _mm_add_epi32( x, K32 ); } vpaddd xmm0, xmm0, XMMWORD PTR ?K32@@3T__m128i@@B ret 0 ?use_k32@@YA?AT__m128i@@T1@@Z ENDP ; use_k32 _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ??__EK32@@YAXXZ text$di SEGMENT ??__EK32@@YAXXZ PROC ; `dynamic initializer for 'K32'', COMDAT ; 113 : const __m128i K32 = _mm_setr_epi32(1, 2, 3, 4); vmovdqa xmm0, XMMWORD PTR __xmm@00000004000000030000000200000001 vmovdqa XMMWORD PTR ?K32@@3T__m128i@@B, xmm0 ret 0 ??__EK32@@YAXXZ ENDP ; `dynamic initializer for 'K32'' text$di ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z _TEXT SEGMENT _this$GSCopy$ = -48 ; size = 4 $T2 = -44 ; size = 4 _this$ = -44 ; size = 4 $T3 = -40 ; size = 24 __$ArrayPad$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 _source$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 ??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z PROC ; boost::filesystem::path::path<char [5]>, COMDAT ; _this$ = ecx ; 139 : { push ebp mov ebp, esp push -1 push __ehhandler$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z mov eax, DWORD PTR fs:0 push eax sub esp, 36 ; 00000024H mov eax, DWORD PTR ___security_cookie xor eax, ebp mov DWORD PTR __$ArrayPad$[ebp], eax push ebx push esi push edi push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax mov ebx, ecx mov DWORD PTR _this$[ebp], ebx mov edx, DWORD PTR _source$[ebp] mov DWORD PTR [ebx+16], 0 mov DWORD PTR [ebx+20], 0 mov DWORD PTR [ebx+20], 7 mov DWORD PTR [ebx+16], 0 cmp DWORD PTR [ebx+20], 8 mov DWORD PTR _this$GSCopy$[ebp], ebx jb SHORT $LN129@path mov eax, DWORD PTR [ebx] jmp SHORT $LN130@path $LN129@path: mov eax, ebx $LN130@path: xor ecx, ecx mov WORD PTR [eax], cx mov DWORD PTR __$EHRec$[ebp+8], ecx ; 140 : path_traits::dispatch(source, m_pathname); mov DWORD PTR $T3[ebp+20], 15 ; 0000000fH mov DWORD PTR $T3[ebp+16], ecx mov BYTE PTR $T3[ebp], cl cmp BYTE PTR [edx], cl je SHORT $LN273@path $LN272@path: mov ecx, edx lea esi, DWORD PTR [ecx+1] npad 4 $LL486@path: mov al, BYTE PTR [ecx] inc ecx test al, al jne SHORT $LL486@path sub ecx, esi $LN273@path: push ecx push edx lea ecx, DWORD PTR $T3[ebp] 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 mov eax, DWORD PTR $T3[ebp+16] mov BYTE PTR __$EHRec$[ebp+8], 1 mov DWORD PTR $T2[ebp], eax test eax, eax je SHORT $LN275@path cmp DWORD PTR $T3[ebp+20], 16 ; 00000010H lea edi, DWORD PTR $T3[ebp] lea esi, DWORD PTR $T3[ebp] cmovae edi, DWORD PTR $T3[ebp] cmovae esi, DWORD PTR $T3[ebp] call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax mov eax, DWORD PTR $T2[ebp] push ebx add eax, edi push eax push esi call ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H $LN275@path: mov ecx, DWORD PTR $T3[ebp+20] cmp ecx, 16 ; 00000010H jb SHORT $LN487@path inc ecx push ecx push DWORD PTR $T3[ebp] lea ecx, DWORD PTR $T3[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN487@path: ; 141 : } mov eax, ebx mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi pop ebx mov ecx, DWORD PTR __$ArrayPad$[ebp] xor ecx, ebp call @__security_check_cookie@4 mov esp, ebp pop ebp ret 8 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z$0: mov ecx, DWORD PTR _this$GSCopy$[ebp] jmp ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > __unwindfunclet$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z$1: lea ecx, DWORD PTR $T3[ebp] jmp ??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> > __ehhandler$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-52] xor ecx, eax call @__security_check_cookie@4 mov ecx, DWORD PTR [edx-4] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z jmp ___CxxFrameHandler3 text$x ENDS ??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z ENDP ; boost::filesystem::path::path<char [5]> ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z _TEXT SEGMENT $T2 = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ___$ReturnUdt$ = 8 ; size = 4 __Left$ = 12 ; size = 4 __Right$ = 16 ; size = 4 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z PROC ; std::operator+<char,std::char_traits<char>,std::allocator<char> >, COMDAT ; 2282 : { // return string + string push ebp mov ebp, esp push -1 push __ehhandler$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z mov eax, DWORD PTR fs:0 push eax push ecx push ebx push esi push edi mov eax, DWORD PTR ___security_cookie xor eax, ebp push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax mov DWORD PTR $T2[ebp], 0 ; 2283 : basic_string<_Elem, _Traits, _Alloc> _Ans; mov esi, DWORD PTR ___$ReturnUdt$[ebp] mov DWORD PTR [esi+16], 0 mov DWORD PTR [esi+20], 0 mov DWORD PTR [esi+20], 15 ; 0000000fH mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 16 ; 00000010H jb SHORT $LN123@operator mov eax, DWORD PTR [esi] jmp SHORT $LN124@operator $LN123@operator: mov eax, esi $LN124@operator: mov BYTE PTR [eax], 0 ; 2287 : return (_Ans); mov ebx, DWORD PTR __Left$[ebp] mov ecx, DWORD PTR __Right$[ebp] mov edi, DWORD PTR [esi+16] mov DWORD PTR __$EHRec$[ebp+8], 0 mov eax, DWORD PTR [ebx+16] add eax, DWORD PTR [ecx+16] mov DWORD PTR $T2[ebp], 1 cmp edi, eax ja SHORT $LN219@operator ; 2284 : _Ans.reserve(_Left.size() + _Right.size()); cmp DWORD PTR [esi+20], eax je SHORT $LN219@operator push 1 push eax mov ecx, esi 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 test al, al je SHORT $LN219@operator mov DWORD PTR [esi+16], edi cmp DWORD PTR [esi+20], 16 ; 00000010H jb SHORT $LN210@operator mov eax, DWORD PTR [esi] jmp SHORT $LN211@operator $LN210@operator: mov eax, esi $LN211@operator: mov BYTE PTR [eax+edi], 0 $LN219@operator: ; 2285 : _Ans += _Left; push -1 push 0 push ebx mov ecx, esi call ?append@?$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> >::append ; 2286 : _Ans += _Right; push -1 push 0 push DWORD PTR __Right$[ebp] mov ecx, esi call ?append@?$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> >::append ; 2287 : return (_Ans); mov eax, esi ; 2288 : } mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp ret 0 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z$0: mov eax, DWORD PTR $T2[ebp] and eax, 1 je $LN4@operator and DWORD PTR $T2[ebp], -2 ; fffffffeH mov ecx, DWORD PTR ___$ReturnUdt$[ebp] jmp ??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> > $LN4@operator: ret 0 __ehhandler$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-20] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z jmp ___CxxFrameHandler3 text$x ENDS ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z ENDP ; std::operator+<char,std::char_traits<char>,std::allocator<char> > ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z _TEXT SEGMENT $T1 = -4 ; size = 4 ___$ReturnUdt$ = 8 ; size = 4 __Left$ = 12 ; size = 4 __Right$ = 16 ; size = 4 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z PROC ; std::operator+<char,std::char_traits<char>,std::allocator<char> >, COMDAT ; 2362 : { // return string + string push ecx ; 2363 : return (_STD move(_Left.append(_Right))); mov ecx, DWORD PTR __Left$[esp] push esi push -1 push 0 push DWORD PTR __Right$[esp+12] mov DWORD PTR $T1[esp+20], 0 call ?append@?$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> >::append mov esi, DWORD PTR ___$ReturnUdt$[esp+4] mov ecx, esi push eax mov DWORD PTR [esi+20], 15 ; 0000000fH mov DWORD PTR [esi+16], 0 mov BYTE PTR [esi], 0 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 mov eax, esi pop esi ; 2364 : } pop ecx ret 0 ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z ENDP ; std::operator+<char,std::char_traits<char>,std::allocator<char> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT _main _TEXT SEGMENT _subdir$ = -44 ; size = 32 __$EHRec$ = -12 ; size = 12 _dircmd$ = 0 ; size = 24 $T2 = 24 ; size = 32 $T3 = 32 ; size = 24 $T4 = 32 ; size = 24 $T5 = 32 ; size = 24 _p$ = 56 ; size = 24 $T6 = 80 ; size = 24 $T7 = 80 ; size = 24 $T8 = 104 ; size = 24 $T9 = 104 ; size = 24 __$ArrayPad$ = 128 ; size = 4 _main PROC ; COMDAT ; 84 : int main() { push ebp lea ebp, DWORD PTR [esp-132] sub esp, 132 ; 00000084H push -1 push __ehhandler$_main mov eax, DWORD PTR fs:0 push eax sub esp, 32 ; 00000020H mov eax, DWORD PTR ___security_cookie xor eax, ebp mov DWORD PTR __$ArrayPad$[ebp], eax push esi push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax ; 85 : // string exe = my_exe(); ; 86 : //cout << exe << " (exe fullpath) has length " << strlen(exe.c_str()) << endl; ; 87 : ; 88 : string dircmd = "dir "; push 4 push OFFSET ??_C@_04NBLAPJHK@dir?5?$AA@ lea ecx, DWORD PTR _dircmd$[ebp] mov DWORD PTR _dircmd$[ebp+20], 15 ; 0000000fH mov DWORD PTR _dircmd$[ebp+16], 0 mov BYTE PTR _dircmd$[ebp], 0 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 ; 89 : boost::filesystem::path p( my_exe() ); lea eax, DWORD PTR $T9[ebp] mov DWORD PTR __$EHRec$[ebp+8], 0 push eax call ?my_exe@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ; my_exe add esp, 4 push 0 push eax lea ecx, DWORD PTR _p$[ebp] mov BYTE PTR __$EHRec$[ebp+8], 1 call ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z ; boost::filesystem::path::path<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > mov eax, DWORD PTR $T9[ebp+20] mov BYTE PTR __$EHRec$[ebp+8], 3 cmp eax, 16 ; 00000010H jb SHORT $LN154@main inc eax lea ecx, DWORD PTR $T9[ebp] push eax push DWORD PTR $T9[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN154@main: ; 90 : //boost::filesystem::path dir = p.parent_path(); ; 91 : p.remove_filename(); lea ecx, DWORD PTR _p$[ebp] mov DWORD PTR $T9[ebp+20], 15 ; 0000000fH mov DWORD PTR $T9[ebp+16], 0 mov BYTE PTR $T9[ebp], 0 call ?remove_filename@path@filesystem@boost@@QAEAAV123@XZ ; boost::filesystem::path::remove_filename ; 92 : //p.replace_extension(".asm"); ; 93 : ; 94 : system ( (dircmd + p.string()).c_str() ); lea eax, DWORD PTR $T5[ebp] push eax lea ecx, DWORD PTR _p$[ebp] call ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ; boost::filesystem::path::string push eax lea eax, DWORD PTR _dircmd$[ebp] mov BYTE PTR __$EHRec$[ebp+8], 4 push eax lea eax, DWORD PTR $T7[ebp] push eax call ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z ; std::operator+<char,std::char_traits<char>,std::allocator<char> > add esp, 12 ; 0000000cH cmp DWORD PTR [eax+20], 16 ; 00000010H jb SHORT $LN279@main mov eax, DWORD PTR [eax] $LN279@main: push eax call DWORD PTR __imp__system mov eax, DWORD PTR $T7[ebp+20] add esp, 4 cmp eax, 16 ; 00000010H jb SHORT $LN292@main inc eax lea ecx, DWORD PTR $T7[ebp] push eax push DWORD PTR $T7[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN292@main: mov eax, DWORD PTR $T5[ebp+20] mov DWORD PTR $T7[ebp+20], 15 ; 0000000fH mov DWORD PTR $T7[ebp+16], 0 mov BYTE PTR $T7[ebp], 0 mov BYTE PTR __$EHRec$[ebp+8], 3 cmp eax, 16 ; 00000010H jb SHORT $LN409@main inc eax lea ecx, DWORD PTR $T5[ebp] push eax push DWORD PTR $T5[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN409@main: ; 95 : ; 96 : auto subdir = p.end(); lea eax, DWORD PTR _subdir$[ebp] push eax lea ecx, DWORD PTR _p$[ebp] call ?end@path@filesystem@boost@@QBE?AViterator@123@XZ ; boost::filesystem::path::end ; 97 : subdir--; push 0 lea eax, DWORD PTR $T2[ebp] mov BYTE PTR __$EHRec$[ebp+8], 5 push eax lea ecx, DWORD PTR _subdir$[ebp] call ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator-- mov eax, DWORD PTR $T2[ebp+20] cmp eax, 8 jb SHORT $LN532@main inc eax push eax push DWORD PTR $T2[ebp] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN532@main: ; 98 : // cout << "subdir: " << subdir->c_str() << endl; ; 99 : p /= *subdir; lea eax, DWORD PTR _subdir$[ebp] push eax lea ecx, DWORD PTR _p$[ebp] call ??_0path@filesystem@boost@@QAEAAV012@ABV012@@Z ; boost::filesystem::path::operator/= ; 100 : p.replace_extension(".asm"); push 0 push OFFSET ??_C@_04ECFCMKAC@?4asm?$AA@ lea ecx, DWORD PTR $T4[ebp] call ??$?0$$BY04D@path@filesystem@boost@@QAE@AAY04$$CBDPAX@Z ; boost::filesystem::path::path<char [5]> lea eax, DWORD PTR $T4[ebp] mov BYTE PTR __$EHRec$[ebp+8], 6 push eax lea ecx, DWORD PTR _p$[ebp] call ?replace_extension@path@filesystem@boost@@QAEAAV123@ABV123@@Z ; boost::filesystem::path::replace_extension mov eax, DWORD PTR $T4[ebp+20] mov BYTE PTR __$EHRec$[ebp+8], 5 cmp eax, 8 jb SHORT $LN666@main inc eax push eax push DWORD PTR $T4[ebp] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN666@main: ; 101 : // cout << "p: " << p.string() << endl; ; 102 : system ( (string("type ") + p.string()).c_str() ); lea eax, DWORD PTR $T3[ebp] push eax lea ecx, DWORD PTR _p$[ebp] call ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ; boost::filesystem::path::string mov esi, eax push 5 push OFFSET ??_C@_05JKOLBOMA@type?5?$AA@ lea ecx, DWORD PTR $T8[ebp] mov BYTE PTR __$EHRec$[ebp+8], 7 mov DWORD PTR $T8[ebp+20], 15 ; 0000000fH mov DWORD PTR $T8[ebp+16], 0 mov BYTE PTR $T8[ebp], 0 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 push esi lea eax, DWORD PTR $T8[ebp] mov BYTE PTR __$EHRec$[ebp+8], 8 push eax lea eax, DWORD PTR $T6[ebp] push eax call ??$?HDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@$$QAV10@ABV10@@Z ; std::operator+<char,std::char_traits<char>,std::allocator<char> > add esp, 12 ; 0000000cH cmp DWORD PTR [eax+20], 16 ; 00000010H jb SHORT $LN931@main mov eax, DWORD PTR [eax] $LN931@main: push eax call DWORD PTR __imp__system mov eax, DWORD PTR $T6[ebp+20] add esp, 4 cmp eax, 16 ; 00000010H jb SHORT $LN944@main inc eax lea ecx, DWORD PTR $T6[ebp] push eax push DWORD PTR $T6[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN944@main: mov eax, DWORD PTR $T8[ebp+20] mov DWORD PTR $T6[ebp+20], 15 ; 0000000fH mov DWORD PTR $T6[ebp+16], 0 mov BYTE PTR $T6[ebp], 0 cmp eax, 16 ; 00000010H jb SHORT $LN1061@main inc eax lea ecx, DWORD PTR $T8[ebp] push eax push DWORD PTR $T8[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN1061@main: mov eax, DWORD PTR $T3[ebp+20] mov DWORD PTR $T8[ebp+20], 15 ; 0000000fH mov DWORD PTR $T8[ebp+16], 0 mov BYTE PTR $T8[ebp], 0 cmp eax, 16 ; 00000010H jb SHORT $LN1178@main inc eax lea ecx, DWORD PTR $T3[ebp] push eax push DWORD PTR $T3[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN1178@main: ; 103 : ; 104 : // cout << "cwd: " << my_getcwd() << endl; ; 105 : // system( (dircmd + my_exe()).c_str() ); ; 106 : ; 107 : // std::cout << "Hello, world!\n"; ; 108 : } mov eax, DWORD PTR _subdir$[ebp+20] cmp eax, 8 jb SHORT $LN1301@main inc eax push eax push DWORD PTR _subdir$[ebp] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN1301@main: xor eax, eax mov DWORD PTR _subdir$[ebp+20], 7 mov WORD PTR _subdir$[ebp], ax mov eax, DWORD PTR _p$[ebp+20] mov DWORD PTR _subdir$[ebp+16], 0 cmp eax, 8 jb SHORT $LN1427@main inc eax push eax push DWORD PTR _p$[ebp] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN1427@main: xor eax, eax mov DWORD PTR _p$[ebp+20], 7 mov WORD PTR _p$[ebp], ax mov eax, DWORD PTR _dircmd$[ebp+20] mov DWORD PTR _p$[ebp+16], 0 cmp eax, 16 ; 00000010H jb SHORT $LN1661@main inc eax lea ecx, DWORD PTR _dircmd$[ebp] push eax push DWORD PTR _dircmd$[ebp] call ?deallocate@?$_Wrap_alloc@V?$allocator@D@std@@@std@@QAEXPADI@Z ; std::_Wrap_alloc<std::allocator<char> >::deallocate $LN1661@main: xor eax, eax mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop esi mov ecx, DWORD PTR __$ArrayPad$[ebp] xor ecx, ebp call @__security_check_cookie@4 lea esp, DWORD PTR [ebp+132] pop ebp ret 0 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$_main$0: lea ecx, DWORD PTR _dircmd$[ebp] jmp ??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> > __unwindfunclet$_main$1: lea ecx, DWORD PTR $T9[ebp] jmp ??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> > __unwindfunclet$_main$2: lea ecx, DWORD PTR _p$[ebp] jmp ??1path@filesystem@boost@@QAE@XZ __unwindfunclet$_main$3: lea ecx, DWORD PTR $T5[ebp] jmp ??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> > __unwindfunclet$_main$5: lea ecx, DWORD PTR _subdir$[ebp] jmp ??1iterator@path@filesystem@boost@@QAE@XZ __unwindfunclet$_main$7: lea ecx, DWORD PTR $T4[ebp] jmp ??1path@filesystem@boost@@QAE@XZ __unwindfunclet$_main$8: lea ecx, DWORD PTR $T3[ebp] jmp ??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> > __unwindfunclet$_main$9: lea ecx, DWORD PTR $T8[ebp] jmp ??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> > __ehhandler$_main: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-40] xor ecx, eax call @__security_check_cookie@4 mov ecx, DWORD PTR [edx+140] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$_main jmp ___CxxFrameHandler3 text$x ENDS _main ENDP ; Function compile flags: /Ogtpy ; File 1998652734.cpp ; COMDAT ?my_exe@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ _TEXT SEGMENT $T1 = -268 ; size = 4 _buf$ = -264 ; size = 260 __$ArrayPad$ = -4 ; size = 4 ___$ReturnUdt$ = 8 ; size = 4 ?my_exe@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ PROC ; my_exe, COMDAT ; 14 : static string my_exe(void){ sub esp, 268 ; 0000010cH mov eax, DWORD PTR ___security_cookie xor eax, esp mov DWORD PTR __$ArrayPad$[esp+268], eax push esi mov esi, DWORD PTR ___$ReturnUdt$[esp+268] ; 15 : char buf[MAX_PATH]; ; 16 : DWORD tmp = GetModuleFileNameA( NULL, // self lea eax, DWORD PTR _buf$[esp+272] push 260 ; 00000104H push eax push 0 mov DWORD PTR $T1[esp+284], 0 call DWORD PTR __imp__GetModuleFileNameA@12 ; 17 : buf, MAX_PATH); ; 18 : return buf; mov DWORD PTR [esi+20], 15 ; 0000000fH mov DWORD PTR [esi+16], 0 mov BYTE PTR [esi], 0 cmp BYTE PTR _buf$[esp+272], 0 jne SHORT $LN137@my_exe xor ecx, ecx jmp SHORT $LN138@my_exe $LN137@my_exe: lea ecx, DWORD PTR _buf$[esp+272] lea edx, DWORD PTR [ecx+1] npad 7 $LL139@my_exe: mov al, BYTE PTR [ecx] inc ecx test al, al jne SHORT $LL139@my_exe sub ecx, edx $LN138@my_exe: push ecx lea eax, DWORD PTR _buf$[esp+276] mov ecx, esi push eax 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 ; 19 : //cout << "GMFN: " << tmp << ' ' << buf << endl; ; 20 : } mov ecx, DWORD PTR __$ArrayPad$[esp+272] mov eax, esi pop esi xor ecx, esp call @__security_check_cookie@4 add esp, 268 ; 0000010cH ret 0 ?my_exe@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ENDP ; my_exe _TEXT ENDS ; Function compile flags: /Ogtpy ; COMDAT ??0iterator@path@filesystem@boost@@QAE@$$QAV0123@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 ___that$ = 8 ; size = 4 ??0iterator@path@filesystem@boost@@QAE@$$QAV0123@@Z PROC ; boost::filesystem::path::iterator::iterator, COMDAT ; _this$ = ecx push ecx push esi mov esi, DWORD PTR ___that$[esp+4] xor eax, eax push edi mov edi, ecx push -1 push eax push esi mov DWORD PTR [edi+20], 7 mov DWORD PTR [edi+16], 0 mov DWORD PTR _this$[esp+24], edi mov WORD PTR [edi], ax call ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign mov eax, DWORD PTR [esi+24] mov DWORD PTR [edi+24], eax mov eax, DWORD PTR [esi+28] mov DWORD PTR [edi+28], eax mov eax, edi pop edi pop esi pop ecx ret 4 ??0iterator@path@filesystem@boost@@QAE@$$QAV0123@@Z ENDP ; boost::filesystem::path::iterator::iterator _TEXT ENDS ; Function compile flags: /Ogtpy ; COMDAT ??0iterator@path@filesystem@boost@@QAE@ABV0123@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 ___that$ = 8 ; size = 4 ??0iterator@path@filesystem@boost@@QAE@ABV0123@@Z PROC ; boost::filesystem::path::iterator::iterator, COMDAT ; _this$ = ecx push ecx push esi mov esi, DWORD PTR ___that$[esp+4] xor eax, eax push edi mov edi, ecx push -1 push eax push esi mov DWORD PTR [edi+20], 7 mov DWORD PTR [edi+16], 0 mov DWORD PTR _this$[esp+24], edi mov WORD PTR [edi], ax call ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign mov eax, DWORD PTR [esi+24] mov DWORD PTR [edi+24], eax mov eax, DWORD PTR [esi+28] mov DWORD PTR [edi+28], eax mov eax, edi pop edi pop esi pop ecx ret 4 ??0iterator@path@filesystem@boost@@QAE@ABV0123@@Z ENDP ; boost::filesystem::path::iterator::iterator _TEXT ENDS ; Function compile flags: /Ogtpy ; COMDAT ??1iterator@path@filesystem@boost@@QAE@XZ _TEXT SEGMENT ??1iterator@path@filesystem@boost@@QAE@XZ PROC ; boost::filesystem::path::iterator::~iterator, COMDAT ; _this$ = ecx push esi mov esi, ecx mov eax, DWORD PTR [esi+20] cmp eax, 8 jb SHORT $LN12@iterator inc eax push eax push DWORD PTR [esi] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN12@iterator: mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN118@iterator mov eax, DWORD PTR [esi] xor ecx, ecx pop esi mov WORD PTR [eax], cx ret 0 $LN118@iterator: xor eax, eax mov WORD PTR [esi], ax pop esi ret 0 ??1iterator@path@filesystem@boost@@QAE@XZ ENDP ; boost::filesystem::path::iterator::~iterator _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ?decrement@iterator@path@filesystem@boost@@AAEXXZ _TEXT SEGMENT ?decrement@iterator@path@filesystem@boost@@AAEXXZ PROC ; boost::filesystem::path::iterator::decrement, COMDAT ; _this$ = ecx ; 639 : void decrement() { m_path_iterator_decrement(*this); } push ecx call ?m_path_iterator_decrement@path@filesystem@boost@@CAXAAViterator@123@@Z ; boost::filesystem::path::m_path_iterator_decrement pop ecx ret 0 ?decrement@iterator@path@filesystem@boost@@AAEXXZ ENDP ; boost::filesystem::path::iterator::decrement _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ?dereference@iterator@path@filesystem@boost@@ABEABV234@XZ _TEXT SEGMENT ?dereference@iterator@path@filesystem@boost@@ABEABV234@XZ PROC ; boost::filesystem::path::iterator::dereference, COMDAT ; _this$ = ecx ; 629 : const path& dereference() const { return m_element; } mov eax, ecx ret 0 ?dereference@iterator@path@filesystem@boost@@ABEABV234@XZ ENDP ; boost::filesystem::path::iterator::dereference _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z _TEXT SEGMENT $T2 = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ___$ReturnUdt$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z PROC ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator--, COMDAT ; _this$ = ecx ; 703 : { push ebp mov ebp, esp push -1 push __ehhandler$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z mov eax, DWORD PTR fs:0 push eax sub esp, 8 push esi push edi mov eax, DWORD PTR ___security_cookie xor eax, ebp push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax mov edi, ecx mov DWORD PTR $T2[ebp], 0 ; 704 : Derived tmp(this->derived()); mov esi, DWORD PTR ___$ReturnUdt$[ebp] mov DWORD PTR __$EHRec$[ebp+8], 0 mov DWORD PTR [esi+16], 0 mov DWORD PTR [esi+20], 0 mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN149@operator mov eax, DWORD PTR [esi] jmp SHORT $LN150@operator $LN149@operator: mov eax, esi $LN150@operator: xor ecx, ecx push -1 push ecx mov WORD PTR [eax], cx mov ecx, esi push edi call ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign mov ecx, DWORD PTR [edi+24] mov DWORD PTR [esi+24], ecx mov ecx, DWORD PTR [edi+28] mov DWORD PTR [esi+28], ecx ; 705 : --*this; ; 706 : return tmp; push edi mov DWORD PTR __$EHRec$[ebp+8], 0 mov DWORD PTR $T2[ebp], 1 call ?m_path_iterator_decrement@path@filesystem@boost@@CAXAAViterator@123@@Z ; boost::filesystem::path::m_path_iterator_decrement add esp, 4 mov eax, esi ; 707 : } mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi mov esp, ebp pop ebp ret 8 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z$0: mov eax, DWORD PTR $T2[ebp] and eax, 1 je $LN4@operator and DWORD PTR $T2[ebp], -2 ; fffffffeH mov ecx, DWORD PTR ___$ReturnUdt$[ebp] jmp ??1iterator@path@filesystem@boost@@QAE@XZ $LN4@operator: ret 0 __ehhandler$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-20] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z jmp ___CxxFrameHandler3 text$x ENDS ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAE?AViterator@path@filesystem@3@H@Z ENDP ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator-- ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAEAAViterator@path@filesystem@3@XZ _TEXT SEGMENT ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAEAAViterator@path@filesystem@3@XZ PROC ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator--, COMDAT ; _this$ = ecx ; 697 : { push esi mov esi, ecx ; 698 : iterator_core_access::decrement(this->derived()); push esi call ?m_path_iterator_decrement@path@filesystem@boost@@CAXAAViterator@123@@Z ; boost::filesystem::path::m_path_iterator_decrement add esp, 4 ; 699 : return this->derived(); mov eax, esi pop esi ; 700 : } ret 0 ??F?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$00$0A@@detail@iterators@boost@@QAEAAViterator@path@filesystem@3@XZ ENDP ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,1,0>::operator-- _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IBEABViterator@path@filesystem@4@XZ _TEXT SEGMENT ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IBEABViterator@path@filesystem@4@XZ PROC ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived, COMDAT ; _this$ = ecx ; 680 : return *static_cast<Derived const*>(this); mov eax, ecx ; 681 : } ret 0 ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IBEABViterator@path@filesystem@4@XZ ENDP ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IAEAAViterator@path@filesystem@4@XZ _TEXT SEGMENT ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IAEAAViterator@path@filesystem@4@XZ PROC ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived, COMDAT ; _this$ = ecx ; 675 : return *static_cast<Derived*>(this); mov eax, ecx ; 676 : } ret 0 ?derived@?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@IAEAAViterator@path@filesystem@4@XZ ENDP ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::derived _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\iterator\iterator_facade.hpp ; COMDAT ??D?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@QBEABVpath@filesystem@3@XZ _TEXT SEGMENT ??D?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@QBEABVpath@filesystem@3@XZ PROC ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::operator*, COMDAT ; _this$ = ecx ; 655 : return iterator_core_access::dereference(this->derived()); mov eax, ecx ; 656 : } ret 0 ??D?$iterator_facade_base@Viterator@path@filesystem@boost@@$$CBV234@Ubidirectional_traversal_tag@iterators@4@ABV234@H$0A@$0A@@detail@iterators@boost@@QBEABVpath@filesystem@3@XZ ENDP ; boost::iterators::detail::iterator_facade_base<boost::filesystem::path::iterator,boost::filesystem::path const ,boost::iterators::bidirectional_traversal_tag,boost::filesystem::path const &,int,0,0>::operator* _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z _TEXT SEGMENT _this$ = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 $T2 = 8 ; size = 4 _source$ = 8 ; size = 4 ___formal$ = 12 ; size = 4 ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z PROC ; boost::filesystem::path::path<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >, COMDAT ; _this$ = ecx ; 139 : { push ebp mov ebp, esp push -1 push __ehhandler$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z mov eax, DWORD PTR fs:0 push eax push ecx push ebx push esi push edi mov eax, DWORD PTR ___security_cookie xor eax, ebp push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax mov esi, ecx mov DWORD PTR _this$[ebp], esi mov DWORD PTR [esi+16], 0 mov DWORD PTR [esi+20], 0 mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN128@path mov eax, DWORD PTR [esi] jmp SHORT $LN129@path $LN128@path: mov eax, esi $LN129@path: xor ecx, ecx mov WORD PTR [eax], cx ; 140 : path_traits::dispatch(source, m_pathname); mov edi, DWORD PTR _source$[ebp] mov DWORD PTR __$EHRec$[ebp+8], ecx mov eax, DWORD PTR [edi+16] mov DWORD PTR $T2[ebp], eax test eax, eax je SHORT $LN234@path mov eax, DWORD PTR [edi+20] cmp eax, 16 ; 00000010H jb SHORT $LN173@path mov ebx, DWORD PTR [edi] jmp SHORT $LN174@path $LN173@path: mov ebx, edi $LN174@path: cmp eax, 16 ; 00000010H jb SHORT $LN219@path mov edi, DWORD PTR [edi] $LN219@path: call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax mov eax, DWORD PTR $T2[ebp] push esi add eax, ebx push eax push edi call ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H $LN234@path: ; 141 : } mov eax, esi mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp ret 8 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z$0: mov ecx, DWORD PTR _this$[ebp] jmp ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > __ehhandler$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-20] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z jmp ___CxxFrameHandler3 text$x ENDS ??$?0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@path@filesystem@boost@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAX@Z ENDP ; boost::filesystem::path::path<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > ; Function compile flags: /Ogtpy ; COMDAT ??1path@filesystem@boost@@QAE@XZ _TEXT SEGMENT ??1path@filesystem@boost@@QAE@XZ PROC ; boost::filesystem::path::~path, COMDAT ; _this$ = ecx push esi mov esi, ecx mov eax, DWORD PTR [esi+20] cmp eax, 8 jb SHORT $LN9@path inc eax push eax push DWORD PTR [esi] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN9@path: mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN115@path mov eax, DWORD PTR [esi] xor ecx, ecx pop esi mov WORD PTR [eax], cx ret 0 $LN115@path: xor eax, eax mov WORD PTR [esi], ax pop esi ret 0 ??1path@filesystem@boost@@QAE@XZ ENDP ; boost::filesystem::path::~path _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ _TEXT SEGMENT $T2 = -20 ; size = 4 $T3 = -16 ; size = 4 __$EHRec$ = -12 ; size = 12 ___$ReturnUdt$ = 8 ; size = 4 ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ PROC ; boost::filesystem::path::string, COMDAT ; _this$ = ecx ; 398 : { push ebp mov ebp, esp push -1 push __ehhandler$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ mov eax, DWORD PTR fs:0 push eax sub esp, 8 push ebx push esi push edi mov eax, DWORD PTR ___security_cookie xor eax, ebp push eax lea eax, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, eax mov edi, ecx mov DWORD PTR $T2[ebp], 0 ; 399 : std::string tmp; mov esi, DWORD PTR ___$ReturnUdt$[ebp] mov DWORD PTR [esi+16], 0 mov DWORD PTR [esi+20], 0 mov DWORD PTR [esi+20], 15 ; 0000000fH mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 16 ; 00000010H jb SHORT $LN124@string mov eax, DWORD PTR [esi] jmp SHORT $LN125@string $LN124@string: mov eax, esi $LN125@string: mov BYTE PTR [eax], 0 ; 402 : tmp); ; 403 : return tmp; mov ebx, DWORD PTR [edi+16] mov DWORD PTR __$EHRec$[ebp+8], 0 mov DWORD PTR $T2[ebp], 1 test ebx, ebx je SHORT $LN227@string ; 400 : if (!m_pathname.empty()) ; 401 : path_traits::convert(&*m_pathname.begin(), &*m_pathname.begin()+m_pathname.size(), mov eax, DWORD PTR [edi+20] cmp eax, 8 jb SHORT $LN166@string mov ecx, DWORD PTR [edi] mov DWORD PTR $T3[ebp], ecx jmp SHORT $LN167@string $LN166@string: mov DWORD PTR $T3[ebp], edi $LN167@string: cmp eax, 8 jb SHORT $LN212@string mov edi, DWORD PTR [edi] $LN212@string: call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax mov eax, DWORD PTR $T3[ebp] push esi lea ecx, DWORD PTR [eax+ebx*2] push ecx push edi call ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H $LN227@string: ; 402 : tmp); ; 403 : return tmp; mov eax, esi ; 404 : } mov ecx, DWORD PTR __$EHRec$[ebp] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp ret 4 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __unwindfunclet$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ$0: mov eax, DWORD PTR $T2[ebp] and eax, 1 je $LN5@string and DWORD PTR $T2[ebp], -2 ; fffffffeH mov ecx, DWORD PTR ___$ReturnUdt$[ebp] jmp ??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@string: ret 0 __ehhandler$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-24] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ jmp ___CxxFrameHandler3 text$x ENDS ?string@path@filesystem@boost@@QBE?BV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ENDP ; boost::filesystem::path::string ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ??0path@filesystem@boost@@QAE@ABV012@@Z _TEXT SEGMENT _this$ = -4 ; size = 4 _p$ = 8 ; size = 4 ??0path@filesystem@boost@@QAE@ABV012@@Z PROC ; boost::filesystem::path::path, COMDAT ; _this$ = ecx ; 133 : path(const path& p) : m_pathname(p.m_pathname) {} push ecx push esi mov esi, ecx xor eax, eax push -1 push eax push DWORD PTR _p$[esp+12] mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 mov DWORD PTR _this$[esp+20], esi mov WORD PTR [esi], ax call ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign mov eax, esi pop esi pop ecx ret 4 ??0path@filesystem@boost@@QAE@ABV012@@Z ENDP ; boost::filesystem::path::path _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAB_WXZ _TEXT SEGMENT ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAB_WXZ PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::operator*, COMDAT ; _this$ = ecx ; 68 : #if _ITERATOR_DEBUG_LEVEL == 2 ; 69 : if (this->_Getcont() == 0 ; 70 : || this->_Ptr == 0 ; 71 : || this->_Ptr < ((_Mystr *)this->_Getcont())->_Myptr() ; 72 : || ((_Mystr *)this->_Getcont())->_Myptr() ; 73 : + ((_Mystr *)this->_Getcont())->_Mysize <= this->_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 && this->_Ptr != 0); ; 81 : _SCL_SECURE_VALIDATE_RANGE( ; 82 : ((_Mystr *)this->_Getcont())->_Myptr() <= this->_Ptr ; 83 : && this->_Ptr < ((_Mystr *)this->_Getcont())->_Myptr() ; 84 : + ((_Mystr *)this->_Getcont())->_Mysize); ; 85 : #endif /* _ITERATOR_DEBUG_LEVEL */ ; 86 : ; 87 : _Analysis_assume_(this->_Ptr != 0); ; 88 : ; 89 : return (*this->_Ptr); mov eax, DWORD PTR [ecx] ; 90 : } ret 0 ??D?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QBEAB_WXZ ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::operator* _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PB_WPBU_Container_base0@1@@Z _TEXT SEGMENT __Parg$ = 8 ; size = 4 __Pstring$ = 12 ; size = 4 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PB_WPBU_Container_base0@1@@Z PROC ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >, COMDAT ; _this$ = ecx ; 48 : { // construct with pointer _Parg ; 49 : this->_Adopt(_Pstring); ; 50 : this->_Ptr = _Parg; mov eax, DWORD PTR __Parg$[esp-4] mov DWORD PTR [ecx], eax ; 51 : } mov eax, ecx ret 8 ??0?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@std@@QAE@PB_WPBU_Container_base0@1@@Z ENDP ; std::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > >::_String_const_iterator<std::_String_val<std::_Simple_types<wchar_t> > > _TEXT ENDS ; Function compile flags: /Ogtpy ; 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 ??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 ; 68 : #if _ITERATOR_DEBUG_LEVEL == 2 ; 69 : if (this->_Getcont() == 0 ; 70 : || this->_Ptr == 0 ; 71 : || this->_Ptr < ((_Mystr *)this->_Getcont())->_Myptr() ; 72 : || ((_Mystr *)this->_Getcont())->_Myptr() ; 73 : + ((_Mystr *)this->_Getcont())->_Mysize <= this->_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 && this->_Ptr != 0); ; 81 : _SCL_SECURE_VALIDATE_RANGE( ; 82 : ((_Mystr *)this->_Getcont())->_Myptr() <= this->_Ptr ; 83 : && this->_Ptr < ((_Mystr *)this->_Getcont())->_Myptr() ; 84 : + ((_Mystr *)this->_Getcont())->_Mysize); ; 85 : #endif /* _ITERATOR_DEBUG_LEVEL */ ; 86 : ; 87 : _Analysis_assume_(this->_Ptr != 0); ; 88 : ; 89 : return (*this->_Ptr); mov eax, DWORD PTR [ecx] ; 90 : } 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: /Ogtpy ; 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 __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 ; 48 : { // construct with pointer _Parg ; 49 : this->_Adopt(_Pstring); ; 50 : this->_Ptr = _Parg; mov eax, DWORD PTR __Parg$[esp-4] mov DWORD PTR [ecx], eax ; 51 : } mov eax, ecx 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: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z _TEXT SEGMENT _from$ = 8 ; size = 4 _from_end$ = 12 ; size = 4 _to$ = 16 ; size = 4 ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z PROC ; boost::filesystem::path_traits::convert, COMDAT ; 845 : convert(from, from_end, to, path::codecvt()); call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax push DWORD PTR _to$[esp] push DWORD PTR _from_end$[esp+4] push DWORD PTR _from$[esp+8] call ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H ; 846 : } ret 0 ?convert@path_traits@filesystem@boost@@YAXPB_W0AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z ENDP ; boost::filesystem::path_traits::convert _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\filesystem\path.hpp ; COMDAT ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z _TEXT SEGMENT _from$ = 8 ; size = 4 _from_end$ = 12 ; size = 4 _to$ = 16 ; size = 4 ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z PROC ; boost::filesystem::path_traits::convert, COMDAT ; 837 : convert(from, from_end, to, path::codecvt()); call ?codecvt@path@filesystem@boost@@SAABV?$codecvt@_WDU_Mbstatet@@@std@@XZ ; boost::filesystem::path::codecvt push eax push DWORD PTR _to$[esp] push DWORD PTR _from_end$[esp+4] push DWORD PTR _from$[esp+8] call ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$codecvt@_WDU_Mbstatet@@@5@@Z ; boost::filesystem::path_traits::convert add esp, 16 ; 00000010H ; 838 : } ret 0 ?convert@path_traits@filesystem@boost@@YAXPBD0AAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ENDP ; boost::filesystem::path_traits::convert _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\system\error_code.hpp ; COMDAT ??__Enative_ecat@system@boost@@YAXXZ text$di SEGMENT ??__Enative_ecat@system@boost@@YAXXZ PROC ; boost::system::`dynamic initializer for 'native_ecat'', COMDAT ; 223 : static const error_category & native_ecat = system_category(); call ?system_category@system@boost@@YAABVerror_category@12@XZ ; boost::system::system_category mov DWORD PTR ?native_ecat@system@boost@@3ABVerror_category@12@B, eax ret 0 ??__Enative_ecat@system@boost@@YAXXZ ENDP ; boost::system::`dynamic initializer for 'native_ecat'' text$di ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\system\error_code.hpp ; COMDAT ??__Eerrno_ecat@system@boost@@YAXXZ text$di SEGMENT ??__Eerrno_ecat@system@boost@@YAXXZ PROC ; boost::system::`dynamic initializer for 'errno_ecat'', COMDAT ; 222 : static const error_category & errno_ecat = generic_category(); call ?generic_category@system@boost@@YAABVerror_category@12@XZ ; boost::system::generic_category mov DWORD PTR ?errno_ecat@system@boost@@3ABVerror_category@12@B, eax ret 0 ??__Eerrno_ecat@system@boost@@YAXXZ ENDP ; boost::system::`dynamic initializer for 'errno_ecat'' text$di ENDS ; Function compile flags: /Ogtpy ; File c:\boost_1_59_0\boost\system\error_code.hpp ; COMDAT ??__Eposix_category@system@boost@@YAXXZ text$di SEGMENT ??__Eposix_category@system@boost@@YAXXZ PROC ; boost::system::`dynamic initializer for 'posix_category'', COMDAT ; 221 : static const error_category & posix_category = generic_category(); call ?generic_category@system@boost@@YAABVerror_category@12@XZ ; boost::system::generic_category mov DWORD PTR ?posix_category@system@boost@@3ABVerror_category@12@B, eax ret 0 ??__Eposix_category@system@boost@@YAXXZ ENDP ; boost::system::`dynamic initializer for 'posix_category'' text$di ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Xran@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ _TEXT SEGMENT ?_Xran@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xran, COMDAT ; _this$ = ecx ; 2252 : _Xout_of_range("invalid string position"); push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ call DWORD PTR __imp_?_Xout_of_range@std@@YAXPBD@Z $LN4@Xran: $LN3@Xran: int 3 ?_Xran@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xran _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ _TEXT SEGMENT ?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xlen, COMDAT ; _this$ = ecx ; 2247 : _Xlength_error("string too long"); push OFFSET ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ call DWORD PTR __imp_?_Xlength_error@std@@YAXPBD@Z $LN4@Xlen: $LN3@Xlen: int 3 ?_Xlen@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEXXZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Xlen _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_NI@Z _TEXT SEGMENT __Built$ = 8 ; size = 1 __Newsize$ = 12 ; size = 4 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_NI@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Tidy, COMDAT ; _this$ = ecx ; 2230 : if (!_Built) cmp BYTE PTR __Built$[esp-4], 0 push esi push edi mov edi, DWORD PTR __Newsize$[esp+4] mov esi, ecx je SHORT $LN4@Tidy ; 2231 : ; ; 2232 : else if (this->_BUF_SIZE <= this->_Myres()) cmp DWORD PTR [esi+20], 8 jb SHORT $LN4@Tidy ; 2233 : { // copy any leftovers to small buffer and deallocate ; 2234 : pointer _Ptr = this->_Bx()._Ptr; push ebx mov ebx, DWORD PTR [esi] ; 2235 : this->_Getal().destroy(&this->_Bx()._Ptr); ; 2236 : if (0 < _Newsize) test edi, edi je SHORT $LN58@Tidy ; 2237 : _Traits::copy(this->_Bx()._Buf, lea eax, DWORD PTR [edi+edi] push eax push ebx push esi call _memcpy add esp, 12 ; 0000000cH $LN58@Tidy: ; 2238 : _STD addressof(*_Ptr), _Newsize); ; 2239 : this->_Getal().deallocate(_Ptr, this->_Myres() + 1); mov eax, DWORD PTR [esi+20] inc eax push eax push ebx call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 pop ebx $LN4@Tidy: ; 2240 : } ; 2241 : this->_Myres() = this->_BUF_SIZE - 1; mov DWORD PTR [esi+20], 7 ; 2242 : _Eos(_Newsize); mov DWORD PTR [esi+16], edi cmp DWORD PTR [esi+20], 8 jb SHORT $LN110@Tidy mov eax, DWORD PTR [esi] xor ecx, ecx mov WORD PTR [eax+edi*2], cx pop edi pop esi ; 2243 : } ret 8 ; 2242 : _Eos(_Newsize); $LN110@Tidy: xor eax, eax mov WORD PTR [esi+edi*2], ax pop edi pop esi ; 2243 : } ret 8 ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_NI@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Tidy _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE_NI_N@Z _TEXT SEGMENT __Newsize$ = 8 ; size = 4 __Trim$ = 12 ; size = 1 ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE_NI_N@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Grow, COMDAT ; _this$ = ecx ; 2205 : { // ensure buffer is big enough, trim to size if _Trim is true push esi ; 2206 : if (max_size() < _Newsize) mov esi, DWORD PTR __Newsize$[esp] cmp esi, 2147483646 ; 7ffffffeH jbe SHORT $LN2@Grow ; 2207 : _Xlen(); // result too long push OFFSET ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ call DWORD PTR __imp_?_Xlength_error@std@@YAXPBD@Z $LN104@Grow: $LN2@Grow: ; 2208 : if (this->_Myres() < _Newsize) cmp DWORD PTR [ecx+20], esi jae SHORT $LN3@Grow ; 2209 : _Copy(_Newsize, this->_Mysize()); // reallocate to grow push DWORD PTR [ecx+16] push esi call ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Copy ; 2215 : return (0 < _Newsize); // return true only if more work to do xor eax, eax cmp eax, esi pop esi sbb eax, eax neg eax ; 2216 : } ret 8 $LN3@Grow: ; 2210 : else if (_Trim && _Newsize < this->_BUF_SIZE) cmp BYTE PTR __Trim$[esp], 0 je SHORT $LN5@Grow cmp esi, 8 jae SHORT $LN5@Grow ; 2211 : _Tidy(true, // copy and deallocate if trimming to small string mov eax, DWORD PTR [ecx+16] cmp esi, eax cmovb eax, esi push eax push 1 call ?_Tidy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEX_NI@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Tidy ; 2215 : return (0 < _Newsize); // return true only if more work to do xor eax, eax cmp eax, esi pop esi sbb eax, eax neg eax ; 2216 : } ret 8 $LN5@Grow: ; 2212 : _Newsize < this->_Mysize() ? _Newsize : this->_Mysize()); ; 2213 : else if (_Newsize == 0) test esi, esi jne SHORT $LN100@Grow ; 2214 : _Eos(0); // new size is zero, just null terminate mov DWORD PTR [ecx+16], esi cmp DWORD PTR [ecx+20], 8 jb SHORT $LN91@Grow mov ecx, DWORD PTR [ecx] $LN91@Grow: xor eax, eax mov WORD PTR [ecx], ax $LN100@Grow: ; 2215 : return (0 < _Newsize); // return true only if more work to do xor eax, eax cmp eax, esi pop esi sbb eax, eax neg eax ; 2216 : } ret 8 $LN103@Grow: ?_Grow@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE_NI_N@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Grow _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z _TEXT SEGMENT __Newsize$ = 8 ; size = 4 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Eos, COMDAT ; _this$ = ecx ; 2200 : _Traits::assign(this->_Myptr()[this->_Mysize() = _Newsize], _Elem()); mov edx, DWORD PTR __Newsize$[esp-4] mov DWORD PTR [ecx+16], edx cmp DWORD PTR [ecx+20], 8 jb SHORT $LN22@Eos mov eax, DWORD PTR [ecx] xor ecx, ecx mov WORD PTR [eax+edx*2], cx ; 2201 : } ret 4 ; 2200 : _Traits::assign(this->_Myptr()[this->_Mysize() = _Newsize], _Elem()); $LN22@Eos: xor eax, eax mov WORD PTR [ecx+edx*2], ax ; 2201 : } ret 4 ?_Eos@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXI@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Eos _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z _TEXT SEGMENT __Ptr$1$ = -24 ; size = 4 __Ptr$ = -24 ; size = 4 _this$ = -20 ; size = 4 __$EHRec$ = -16 ; size = 16 __Newres$ = 8 ; size = 4 __Newsize$ = 8 ; size = 4 __Oldlen$ = 12 ; size = 4 ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Copy, COMDAT ; _this$ = ecx ; 2164 : { // copy _Oldlen elements to newly allocated buffer push ebp mov ebp, esp push -1 push __ehhandler$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z mov eax, DWORD PTR fs:0 push eax sub esp, 12 ; 0000000cH push ebx push esi push edi mov eax, DWORD PTR ___security_cookie xor eax, ebp push eax lea eax, DWORD PTR __$EHRec$[ebp+4] mov DWORD PTR fs:0, eax mov DWORD PTR __$EHRec$[ebp], esp mov esi, ecx mov DWORD PTR _this$[ebp], esi ; 2165 : size_type _Newres = _Newsize | this->_ALLOC_MASK; mov eax, DWORD PTR __Newsize$[ebp] mov edi, eax or edi, 7 ; 2166 : if (max_size() < _Newres) cmp edi, 2147483646 ; 7ffffffeH jbe SHORT $LN2@Copy ; 2167 : _Newres = _Newsize; // undo roundup if too big mov edi, eax jmp SHORT $LN108@Copy $LN2@Copy: ; 2168 : else if (this->_Myres() / 2 <= _Newres / 3) mov ebx, DWORD PTR [esi+20] mov eax, -1431655765 ; aaaaaaabH mul edi mov ecx, ebx shr ecx, 1 shr edx, 1 cmp ecx, edx jbe SHORT $LN108@Copy ; 2169 : ; ; 2170 : else if (this->_Myres() <= max_size() - this->_Myres() / 2) mov eax, 2147483646 ; 7ffffffeH ; 2171 : _Newres = this->_Myres() lea edi, DWORD PTR [ecx+ebx] sub eax, ecx cmp ebx, eax jbe SHORT $LN108@Copy ; 2172 : + this->_Myres() / 2; // grow exponentially if possible ; 2173 : else ; 2174 : _Newres = max_size(); // settle for max_size() mov edi, 2147483646 ; 7ffffffeH $LN108@Copy: ; 2175 : ; 2176 : _Elem *_Ptr; ; 2177 : _TRY_BEGIN ; 2178 : _Ptr = this->_Getal().allocate(_Newres + 1); lea eax, DWORD PTR [edi+1] mov DWORD PTR __$EHRec$[ebp+12], 0 push eax mov ecx, esi call ?allocate@?$allocator@_W@std@@QAEPA_WI@Z ; std::allocator<wchar_t>::allocate mov edx, eax jmp SHORT $LN483@Copy __catch$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$0: ; 2179 : _CATCH_ALL ; 2180 : _Newres = _Newsize; // allocation failed, undo roundup and retry mov eax, DWORD PTR __Newsize$[ebp] ; 2181 : _TRY_BEGIN ; 2182 : _Ptr = this->_Getal().allocate(_Newres + 1); mov ecx, DWORD PTR _this$[ebp] mov DWORD PTR __Newres$[ebp], eax inc eax mov DWORD PTR __$EHRec$[ebp], esp push eax mov BYTE PTR __$EHRec$[ebp+12], 2 call ?allocate@?$allocator@_W@std@@QAEPA_WI@Z ; std::allocator<wchar_t>::allocate mov DWORD PTR __Ptr$[ebp], eax ; 2186 : _CATCH_END ; 2187 : _CATCH_END mov eax, $LN480@Copy ret 0 $LN480@Copy: mov esi, DWORD PTR _this$[ebp] mov edi, DWORD PTR __Newres$[ebp] mov edx, DWORD PTR __Ptr$[ebp] $LN483@Copy: ; 2188 : ; 2189 : if (0 < _Oldlen) mov ebx, DWORD PTR __Oldlen$[ebp] mov DWORD PTR __Ptr$1$[ebp], edx test ebx, ebx je SHORT $LN282@Copy ; 2190 : _Traits::copy(_Ptr, this->_Myptr(), cmp DWORD PTR [esi+20], 8 jb SHORT $LN271@Copy mov ecx, DWORD PTR [esi] jmp SHORT $LN272@Copy $LN271@Copy: mov ecx, esi $LN272@Copy: test ebx, ebx je SHORT $LN282@Copy lea eax, DWORD PTR [ebx+ebx] push eax push ecx push edx call _memcpy add esp, 12 ; 0000000cH $LN282@Copy: ; 2191 : _Oldlen); // copy existing elements ; 2192 : _Tidy(true); mov eax, DWORD PTR [esi+20] cmp eax, 8 jb SHORT $LN288@Copy inc eax push eax push DWORD PTR [esi] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN288@Copy: mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN394@Copy mov eax, DWORD PTR [esi] jmp SHORT $LN395@Copy $LN394@Copy: mov eax, esi $LN395@Copy: xor ecx, ecx mov WORD PTR [eax], cx ; 2193 : this->_Getal().construct(&this->_Bx()._Ptr, _Ptr); mov eax, DWORD PTR __Ptr$1$[ebp] mov DWORD PTR [esi], eax ; 2194 : this->_Myres() = _Newres; mov DWORD PTR [esi+20], edi ; 2195 : _Eos(_Oldlen); mov DWORD PTR [esi+16], ebx cmp DWORD PTR [esi+20], 8 jb SHORT $LN470@Copy mov esi, eax $LN470@Copy: xor eax, eax mov WORD PTR [esi+ebx*2], ax ; 2196 : } mov ecx, DWORD PTR __$EHRec$[ebp+4] mov DWORD PTR fs:0, ecx pop ecx pop edi pop esi pop ebx mov esp, ebp pop ebp ret 8 __catch$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z$1: ; 2183 : _CATCH_ALL ; 2184 : _Tidy(true); // failed again, discard storage and reraise mov esi, DWORD PTR _this$[ebp] mov eax, DWORD PTR [esi+20] cmp eax, 8 jb SHORT $LN144@Copy inc eax push eax push DWORD PTR [esi] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN144@Copy: mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN251@Copy mov esi, DWORD PTR [esi] $LN251@Copy: xor eax, eax ; 2185 : _RERAISE; push eax push eax mov WORD PTR [esi], ax call __CxxThrowException@8 $LN484@Copy: $LN482@Copy: int 3 _TEXT ENDS ; COMDAT text$x text$x SEGMENT __ehhandler$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z: mov edx, DWORD PTR [esp+8] lea eax, DWORD PTR [edx+12] mov ecx, DWORD PTR [edx-28] xor ecx, eax call @__security_check_cookie@4 mov eax, OFFSET __ehfuncinfo$?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z jmp ___CxxFrameHandler3 text$x ENDS ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Copy ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ _TEXT SEGMENT ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::empty, COMDAT ; _this$ = ecx ; 1789 : return (this->_Mysize() == 0); xor eax, eax cmp DWORD PTR [ecx+16], eax sete al ; 1790 : } ret 0 ?empty@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE_NXZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::empty _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ _TEXT SEGMENT ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::max_size, COMDAT ; _this$ = ecx ; 1755 : size_type _Num = this->_Getal().max_size(); ; 1756 : return (_Num <= 1 ? 1 : _Num - 1); mov eax, 2147483646 ; 7ffffffeH ; 1757 : } ret 0 ?max_size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::max_size _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ _TEXT SEGMENT ?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::size, COMDAT ; _this$ = ecx ; 1750 : return (this->_Mysize()); mov eax, DWORD PTR [ecx+16] ; 1751 : } ret 0 ?size@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEIXZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::size _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ _TEXT SEGMENT ___$ReturnUdt$ = 8 ; size = 4 ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::begin, COMDAT ; _this$ = ecx ; 1601 : return (const_iterator(this->_Myptr(), &this->_Get_data())); cmp DWORD PTR [ecx+20], 8 mov eax, DWORD PTR ___$ReturnUdt$[esp-4] jb SHORT $LN19@begin mov ecx, DWORD PTR [ecx] $LN19@begin: mov DWORD PTR [eax], ecx ; 1602 : } ret 4 ?begin@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBE?AV?$_String_const_iterator@V?$_String_val@U?$_Simple_types@_W@std@@@std@@@2@XZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::begin _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z _TEXT SEGMENT __Off$ = 8 ; size = 4 __Count$ = 12 ; size = 4 ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase, COMDAT ; _this$ = ecx ; 1345 : { // erase elements [_Off, _Off + _Count) push esi mov esi, ecx ; 1346 : if (this->_Mysize() < _Off) mov ecx, DWORD PTR __Off$[esp] push edi mov edi, DWORD PTR [esi+16] cmp edi, ecx jae SHORT $LN2@erase ; 1347 : _Xran(); // _Off off end push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ call DWORD PTR __imp_?_Xout_of_range@std@@YAXPBD@Z $LN127@erase: $LN2@erase: ; 1348 : if (this->_Mysize() - _Off <= _Count) mov edx, DWORD PTR __Count$[esp+4] mov eax, edi sub eax, ecx cmp eax, edx ja SHORT $LN3@erase ; 1349 : _Eos(_Off); // erase elements [_Off, ...) mov DWORD PTR [esi+16], ecx cmp DWORD PTR [esi+20], 8 jb SHORT $LN49@erase mov eax, DWORD PTR [esi] xor edx, edx pop edi mov WORD PTR [eax+ecx*2], dx ; 1356 : } ; 1357 : return (*this); mov eax, esi pop esi ; 1358 : } ret 8 ; 1349 : _Eos(_Off); // erase elements [_Off, ...) $LN49@erase: mov eax, esi xor edx, edx pop edi pop esi mov WORD PTR [eax+ecx*2], dx ; 1358 : } ret 8 $LN3@erase: ; 1350 : else if (0 < _Count) test edx, edx je SHORT $LN123@erase ; 1351 : { // move elements down ; 1352 : value_type *_Ptr = this->_Myptr() + _Off; cmp DWORD PTR [esi+20], 8 jb SHORT $LN70@erase mov eax, DWORD PTR [esi] jmp SHORT $LN71@erase $LN70@erase: mov eax, esi $LN71@erase: ; 1353 : size_type _Newsize = this->_Mysize() - _Count; sub edi, edx push ebx lea ebx, DWORD PTR [eax+ecx*2] ; 1354 : _Traits::move(_Ptr, _Ptr + _Count, _Newsize - _Off); mov eax, edi sub eax, ecx je SHORT $LN90@erase add eax, eax push eax lea eax, DWORD PTR [ebx+edx*2] push eax push ebx call DWORD PTR __imp__memmove add esp, 12 ; 0000000cH $LN90@erase: ; 1355 : _Eos(_Newsize); mov DWORD PTR [esi+16], edi cmp DWORD PTR [esi+20], 8 pop ebx jb SHORT $LN114@erase mov eax, DWORD PTR [esi] xor ecx, ecx mov WORD PTR [eax+edi*2], cx ; 1356 : } ; 1357 : return (*this); mov eax, esi pop edi pop esi ; 1358 : } ret 8 ; 1355 : _Eos(_Newsize); $LN114@erase: mov eax, esi xor ecx, ecx mov WORD PTR [eax+edi*2], cx $LN123@erase: ; 1356 : } ; 1357 : return (*this); pop edi mov eax, esi pop esi ; 1358 : } ret 8 $LN126@erase: ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I@Z _TEXT SEGMENT __Off$ = 8 ; size = 4 ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase, COMDAT ; _this$ = ecx ; 1338 : if (this->_Mysize() < _Off) mov eax, DWORD PTR __Off$[esp-4] cmp DWORD PTR [ecx+16], eax jae SHORT $LN2@erase ; 1339 : _Xran(); // _Off off end push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ call DWORD PTR __imp_?_Xout_of_range@std@@YAXPBD@Z $LN50@erase: $LN2@erase: ; 1340 : _Eos(_Off); mov DWORD PTR [ecx+16], eax cmp DWORD PTR [ecx+20], 8 jb SHORT $LN37@erase mov edx, DWORD PTR [ecx] push esi xor esi, esi mov WORD PTR [edx+eax*2], si ; 1341 : return (*this); mov eax, ecx pop esi ; 1342 : } ret 4 ; 1340 : _Eos(_Off); $LN37@erase: mov edx, ecx push esi xor esi, esi mov WORD PTR [edx+eax*2], si ; 1341 : return (*this); mov eax, ecx pop esi ; 1342 : } ret 4 $LN49@erase: ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@I@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z _TEXT SEGMENT __Right$ = 8 ; size = 4 __Roff$ = 12 ; size = 4 __Count$ = 16 ; size = 4 ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign, COMDAT ; _this$ = ecx ; 1140 : { // assign _Right [_Roff, _Roff + _Count) push ebx ; 1141 : if (_Right.size() < _Roff) mov ebx, DWORD PTR __Right$[esp] push ebp mov ebp, DWORD PTR __Roff$[esp+4] push esi push edi mov edi, DWORD PTR [ebx+16] mov esi, ecx cmp edi, ebp jae SHORT $LN2@assign ; 1142 : _Xran(); // _Roff off end push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ call DWORD PTR __imp_?_Xout_of_range@std@@YAXPBD@Z $LN261@assign: $LN2@assign: ; 1143 : size_type _Num = _Right.size() - _Roff; sub edi, ebp ; 1144 : if (_Count < _Num) cmp DWORD PTR __Count$[esp+12], edi cmovb edi, DWORD PTR __Count$[esp+12] ; 1145 : _Num = _Count; // trim _Num to size ; 1146 : ; 1147 : if (this == &_Right) cmp esi, ebx jne SHORT $LN4@assign ; 1148 : erase((size_type)(_Roff + _Num)), erase(0, _Roff); // substring lea eax, DWORD PTR [edi+ebp] cmp DWORD PTR [esi+16], eax jae SHORT $LN36@assign push OFFSET ??_C@_0BI@CFPLBAOH@invalid?5string?5position?$AA@ call DWORD PTR __imp_?_Xout_of_range@std@@YAXPBD@Z $LN262@assign: $LN36@assign: mov DWORD PTR [esi+16], eax cmp DWORD PTR [esi+20], 8 jb SHORT $LN72@assign mov ecx, DWORD PTR [esi] $LN72@assign: xor edx, edx push ebp mov WORD PTR [ecx+eax*2], dx mov ecx, esi push edx call ?erase@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::erase pop edi ; 1154 : } ; 1155 : return (*this); mov eax, esi pop esi pop ebp pop ebx ; 1156 : } ret 12 ; 0000000cH $LN4@assign: ; 1149 : else if (_Grow(_Num)) cmp edi, 2147483646 ; 7ffffffeH jbe SHORT $LN83@assign push OFFSET ??_C@_0BA@JFNIOLAK@string?5too?5long?$AA@ call DWORD PTR __imp_?_Xlength_error@std@@YAXPBD@Z $LN263@assign: $LN83@assign: cmp DWORD PTR [esi+20], edi jae SHORT $LN84@assign push DWORD PTR [esi+16] push edi call ?_Copy@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEXII@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::_Copy test edi, edi je SHORT $LN255@assign $LN259@assign: ; 1150 : { // make room and assign new stuff ; 1151 : _Traits::copy(this->_Myptr(), cmp DWORD PTR [ebx+20], 8 jb SHORT $LN193@assign mov ebx, DWORD PTR [ebx] $LN193@assign: cmp DWORD PTR [esi+20], 8 jb SHORT $LN211@assign mov ecx, DWORD PTR [esi] jmp SHORT $LN212@assign ; 1149 : else if (_Grow(_Num)) $LN84@assign: test edi, edi jne SHORT $LN259@assign mov DWORD PTR [esi+16], edi cmp DWORD PTR [esi+20], 8 jb SHORT $LN172@assign mov eax, DWORD PTR [esi] xor ecx, ecx pop edi mov WORD PTR [eax], cx ; 1154 : } ; 1155 : return (*this); mov eax, esi pop esi pop ebp pop ebx ; 1156 : } ret 12 ; 0000000cH ; 1149 : else if (_Grow(_Num)) $LN172@assign: pop edi mov eax, esi xor ecx, ecx pop esi pop ebp pop ebx mov WORD PTR [eax], cx ; 1156 : } ret 12 ; 0000000cH ; 1150 : { // make room and assign new stuff ; 1151 : _Traits::copy(this->_Myptr(), $LN211@assign: mov ecx, esi $LN212@assign: test edi, edi je SHORT $LN222@assign lea eax, DWORD PTR [edi+edi] push eax lea eax, DWORD PTR [ebx+ebp*2] push eax push ecx call _memcpy add esp, 12 ; 0000000cH $LN222@assign: ; 1152 : _Right._Myptr() + _Roff, _Num); ; 1153 : _Eos(_Num); mov DWORD PTR [esi+16], edi cmp DWORD PTR [esi+20], 8 jb SHORT $LN246@assign mov eax, DWORD PTR [esi] xor ecx, ecx mov WORD PTR [eax+edi*2], cx ; 1154 : } ; 1155 : return (*this); mov eax, esi pop edi pop esi pop ebp pop ebx ; 1156 : } ret 12 ; 0000000cH ; 1152 : _Right._Myptr() + _Roff, _Num); ; 1153 : _Eos(_Num); $LN246@assign: mov eax, esi xor ecx, ecx mov WORD PTR [eax+edi*2], cx $LN255@assign: ; 1154 : } ; 1155 : return (*this); pop edi mov eax, esi pop esi pop ebp pop ebx ; 1156 : } ret 12 ; 0000000cH $LN260@assign: ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ _TEXT SEGMENT ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >, COMDAT ; _this$ = ecx ; 1005 : { // destroy the string push esi mov esi, ecx ; 1006 : _Tidy(true); mov eax, DWORD PTR [esi+20] cmp eax, 8 jb SHORT $LN6@basic_stri inc eax push eax push DWORD PTR [esi] call ??$_Deallocate@_W@std@@YAXPA_WI@Z ; std::_Deallocate<wchar_t> add esp, 8 $LN6@basic_stri: mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 cmp DWORD PTR [esi+20], 8 jb SHORT $LN112@basic_stri mov eax, DWORD PTR [esi] xor ecx, ecx pop esi mov WORD PTR [eax], cx ; 1007 : } ret 0 ; 1006 : _Tidy(true); $LN112@basic_stri: xor eax, eax mov WORD PTR [esi], ax pop esi ; 1007 : } ret 0 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ _TEXT SEGMENT ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >, COMDAT ; _this$ = ecx ; 783 : _Tidy(); xor eax, eax mov DWORD PTR [ecx+20], 7 mov DWORD PTR [ecx+16], 0 mov WORD PTR [ecx], ax ; 784 : } mov eax, ecx ret 0 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z _TEXT SEGMENT __Right$ = 8 ; size = 4 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z PROC ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >, COMDAT ; _this$ = ecx ; 768 : { // construct by copying _Right push esi mov esi, ecx ; 769 : _Tidy(); xor eax, eax ; 770 : assign(_Right, 0, npos); push -1 push eax push DWORD PTR __Right$[esp+8] mov DWORD PTR [esi+20], 7 mov DWORD PTR [esi+16], 0 mov WORD PTR [esi], ax call ?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign ; 771 : } mov eax, esi pop esi ret 4 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ENDP ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second, COMDAT ; _this$ = ecx ; 319 : return (_Myval2); mov eax, ecx ; 320 : } ret 0 ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second, COMDAT ; _this$ = ecx ; 314 : return (_Myval2); mov eax, ecx ; 315 : } ret 0 ?_Get_second@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_second _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first, COMDAT ; _this$ = ecx ; 299 : return (*this); mov eax, ecx ; 300 : } ret 0 ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xutility ; COMDAT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ PROC ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first, COMDAT ; _this$ = ecx ; 294 : return (*this); mov eax, ecx ; 295 : } ret 0 ?_Get_first@?$_Compressed_pair@U?$_Wrap_alloc@V?$allocator@_W@std@@@std@@V?$_String_val@U?$_Simple_types@_W@std@@@2@$00@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ENDP ; std::_Compressed_pair<std::_Wrap_alloc<std::allocator<wchar_t> >,std::_String_val<std::_Simple_types<wchar_t> >,1>::_Get_first _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Myres@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ _TEXT SEGMENT ?_Myres@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myres, COMDAT ; _this$ = ecx ; 722 : return (_Get_data()._Myres); lea eax, DWORD PTR [ecx+20] ; 723 : } ret 0 ?_Myres@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myres _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABIXZ _TEXT SEGMENT ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABIXZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize, COMDAT ; _this$ = ecx ; 717 : return (_Get_data()._Mysize); lea eax, DWORD PTR [ecx+16] ; 718 : } ret 0 ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABIXZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ _TEXT SEGMENT ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize, COMDAT ; _this$ = ecx ; 712 : return (_Get_data()._Mysize); lea eax, DWORD PTR [ecx+16] ; 713 : } ret 0 ?_Mysize@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAIXZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Mysize _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Bx@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@2@XZ _TEXT SEGMENT ?_Bx@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Bx, COMDAT ; _this$ = ecx ; 702 : return (_Get_data()._Bx); mov eax, ecx ; 703 : } ret 0 ?_Bx@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAT_Bxty@?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Bx _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data, COMDAT ; _this$ = ecx ; 695 : return (_Mypair._Get_second()); mov eax, ecx ; 696 : } ret 0 ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ _TEXT SEGMENT ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data, COMDAT ; _this$ = ecx ; 690 : return (_Mypair._Get_second()); mov eax, ecx ; 691 : } ret 0 ?_Get_data@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAV?$_String_val@U?$_Simple_types@_W@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Get_data _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ _TEXT SEGMENT ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal, COMDAT ; _this$ = ecx ; 685 : return (_Mypair._Get_first()); mov eax, ecx ; 686 : } ret 0 ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEABU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ _TEXT SEGMENT ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal, COMDAT ; _this$ = ecx ; 680 : return (_Mypair._Get_first()); mov eax, ecx ; 681 : } ret 0 ?_Getal@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEAAU?$_Wrap_alloc@V?$allocator@_W@std@@@2@XZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Getal _TEXT ENDS ; Function compile flags: /Ogtpy ; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring ; COMDAT ??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@$$QAV?$allocator@_W@1@@Z _TEXT SEGMENT __Al$ = 8 ; size = 4 ??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@$$QAV?$allocator@_W@1@@Z PROC ; s ... |
λ
.NET NoSQL database for rapid development
|