Run Code  | Code Wall  | Users  | Misc  | Feedback  | About  | Login  | Theme  | Privacy 

vector-constants

Language: Editor: Layout:
+ ] Compiler args + ] Show input
Compilation time: 5.22 sec, absolute running time: 4.77 sec, absolute service time: 10,16 sec 
edit mode |  history
 Volume 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

...