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

div64 inline asm

Language: Editor: Layout:
+ ] Compiler args + ] Show input
Compilation time: 2.76 sec, absolute running time: 1.56 sec, absolute service time: 4,46 sec 
edit mode |  history  | discussion
 Volume in drive C is Windows
 Volume Serial Number is A00A-4B3E

 Directory of C:\inetpub\wwwroot\rextester\usercode\1233569806

03/12/2016  03:36 PM    <DIR>          .
03/12/2016  03:36 PM    <DIR>          ..
03/12/2016  03:36 PM           279,604 1233569806.asm
03/12/2016  03:36 PM             1,453 1233569806.cpp
03/12/2016  03:36 PM            72,906 1233569806.obj
03/12/2016  03:36 PM            45,056 a.exe
               4 File(s)        399,019 bytes
               2 Dir(s)  151,165,267,968 bytes free
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23026.0 

	TITLE	1233569806.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	?div64@@YAHHHHPAH@Z				; div64
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'
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
_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
_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 ??_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
; 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 1233569806.cpp
;	COMDAT ?div64@@YAHHHHPAH@Z
_TEXT	SEGMENT
_tmp$ = -8						; size = 4
_quotient$ = -4						; size = 4
_hi$ = 8						; size = 4
_lo$ = 12						; size = 4
_divisor$ = 16						; size = 4
_premainder$ = 20					; size = 4
?div64@@YAHHHHPAH@Z PROC				; div64, COMDAT

; 42   : int div64(int hi, int lo, int divisor, int *premainder) {

	sub	esp, 8

; 43   :     int quotient, tmp;
; 44   :     __asm {
; 45   :         mov   edx, hi;

	mov	edx, DWORD PTR _hi$[esp+4]

; 46   :         mov   eax, lo;

	mov	eax, DWORD PTR _lo$[esp+4]

; 47   :         idiv   divisor

	idiv	DWORD PTR _divisor$[esp+4]

; 48   :         mov   quotient, eax

	mov	DWORD PTR _quotient$[esp+8], eax

; 49   :         mov   tmp, edx;

	mov	DWORD PTR _tmp$[esp+8], edx

; 50   :         // mov ecx, premainder   // Or this I guess?
; 51   :         // mov   [ecx], edx
; 52   :     }
; 53   :     *premainder = tmp;

	mov	ecx, DWORD PTR _premainder$[esp+4]
	mov	eax, DWORD PTR _tmp$[esp+8]
	mov	DWORD PTR [ecx], eax

; 54   :     return quotient;

	mov	eax, DWORD PTR _quotient$[esp+8]

; 55   : }

	add	esp, 8
	ret	0
?div64@@YAHHHHPAH@Z ENDP				; div64
_TEXT	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 1233569806.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

; 22   : {

	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

; 23   :     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

; 24   :     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:

; 25   :     //boost::filesystem::path dir = p.parent_path();
; 26   :     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

; 27   :     //p.replace_extension(".asm");
; 28   : 
; 29   :     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:

; 30   : 
; 31   :     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

; 32   :     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:

; 33   :     // cout << "subdir: " << subdir->c_str() << endl;
; 34   :     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/=

; 35   :     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:

; 36   :     // cout << "p: " << p.string() << endl;
; 37   :     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:

; 38   : }

	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 1233569806.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

; 13   : 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]

; 14   :     char buf[MAX_PATH];
; 15   :     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

; 16   :                                   buf, MAX_PATH);
; 17   :     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

; 18   :     //cout << "GMFN: " << tmp << ' ' << buf << endl;
; 19   : }

	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 ; 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> > >, COMDAT
; _this$ = ecx

; 576  : 		: _Mypair(_One_then_variadic_args_t(), _STD move(_Al))

	mov	DWORD PTR [ecx+16], 0

; 578  : 		}

	mov	eax, ecx
	mov	DWORD PTR [ecx+20], 0
	ret	4
??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@$$QAV?$allocator@_W@1@@Z ENDP ; 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> > >
_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@ABV?$allocator@_W@1@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 4
??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@ABV?$allocator@_W@1@@Z PROC ; 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> > >, COMDAT
; _this$ = ecx

; 571  : 		: _Mypair(_One_then_variadic_args_t(), _Al)

	mov	DWORD PTR [ecx+16], 0

; 573  : 		}

	mov	eax, ecx
	mov	DWORD PTR [ecx+20], 0
	ret	4
??0?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAE@ABV?$allocator@_W@1@@Z ENDP ; 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> > >
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEPB_WXZ
_TEXT	SEGMENT
?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEPB_WXZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr, COMDAT
; _this$ = ecx

; 566  : 		return (_Get_data()._Myptr());

	cmp	DWORD PTR [ecx+20], 8
	jb	SHORT $LN11@Myptr
	mov	eax, DWORD PTR [ecx]

; 567  : 		}

	ret	0

; 566  : 		return (_Get_data()._Myptr());

$LN11@Myptr:
	mov	eax, ecx

; 567  : 		}

	ret	0
?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QBEPB_WXZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEPA_WXZ
_TEXT	SEGMENT
?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEPA_WXZ PROC ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr, COMDAT
; _this$ = ecx

; 561  : 		return (_Get_data()._Myptr());

	cmp	DWORD PTR [ecx+20], 8
	jb	SHORT $LN11@Myptr
	mov	eax, DWORD PTR [ecx]

; 562  : 		}

	ret	0

; 561  : 		return (_Get_data()._Myptr());

$LN11@Myptr:
	mov	eax, ecx

; 562  : 		}

	ret	0
?_Myptr@?$_String_alloc@U?$_String_base_types@_WV?$allocator@_W@std@@@std@@@std@@QAEPA_WXZ ENDP ; std::_String_alloc<std::_String_base_types<wchar_t,std::allocator<wchar_t> > >::_Myptr
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEPB_WXZ
_TEXT	SEGMENT
?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEPB_WXZ PROC ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr, COMDAT
; _this$ = ecx

; 512  : 		return (this->_BUF_SIZE <= this->_Myres

	cmp	DWORD PTR [ecx+20], 8
	jb	SHORT $LN3@Myptr
	mov	eax, DWORD PTR [ecx]

; 513  : 			? _STD addressof(*this->_Bx._Ptr)
; 514  : 			: this->_Bx._Buf);
; 515  : 		}

	ret	0
$LN3@Myptr:

; 512  : 		return (this->_BUF_SIZE <= this->_Myres

	mov	eax, ecx

; 513  : 			? _STD addressof(*this->_Bx._Ptr)
; 514  : 			: this->_Bx._Buf);
; 515  : 		}

	ret	0
?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QBEPB_WXZ ENDP ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAEPA_WXZ
_TEXT	SEGMENT
?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAEPA_WXZ PROC ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr, COMDAT
; _this$ = ecx

; 505  : 		return (this->_BUF_SIZE <= this->_Myres

	cmp	DWORD PTR [ecx+20], 8
	jb	SHORT $LN3@Myptr
	mov	eax, DWORD PTR [ecx]

; 506  : 			? _STD addressof(*this->_Bx._Ptr)
; 507  : 			: this->_Bx._Buf);
; 508  : 		}

	ret	0
$LN3@Myptr:

; 505  : 		return (this->_BUF_SIZE <= this->_Myres

	mov	eax, ecx

; 506  : 			? _STD addressof(*this->_Bx._Ptr)
; 507  : 			: this->_Bx._Buf);
; 508  : 		}

	ret	0
?_Myptr@?$_String_val@U?$_Simple_types@_W@std@@@std@@QAEPA_WXZ ENDP ; std::_String_val<std::_Simple_types<wchar_t> >::_Myptr
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ??0?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ
_TEXT	SEGMENT
??0?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ PROC ; std::_String_val<std::_Simple_types<wchar_t> >::_String_val<std::_Simple_types<wchar_t> >, COMDAT
; _this$ = ecx

; 487  : 		{	// initialize values
; 488  : 		_Mysize = 0;

	mov	DWORD PTR [ecx+16], 0

; 489  : 		_Myres = 0;
; 490  : 		}

	mov	eax, ecx
	mov	DWORD PTR [ecx+20], 0
	ret	0
??0?$_String_val@U?$_Simple_types@_W@std@@@std@@QAE@XZ ENDP ; std::_String_val<std::_Simple_types<wchar_t> >::_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\xmemory0
;	COMDAT ?max_size@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBEIU_Nil@2@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 1
?max_size@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBEIU_Nil@2@@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::max_size, COMDAT
; _this$ = ecx

; 932  : 		return (_Mytraits::max_size(*this));

	mov	eax, 2147483647				; 7fffffffH

; 933  : 		}

	ret	4
?max_size@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBEIU_Nil@2@@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::max_size
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?deallocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPA_WI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
?deallocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPA_WI@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::deallocate, COMDAT
; _this$ = ecx

; 911  : 		_Mybase::deallocate(_Ptr, _Count);

	push	DWORD PTR __Count$[esp-4]
	push	DWORD PTR __Ptr$[esp]
	call	??$_Deallocate@_W@std@@YAXPA_WI@Z	; std::_Deallocate<wchar_t>
	add	esp, 8

; 912  : 		}

	ret	8
?deallocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEXPA_WI@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::deallocate
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?allocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEPA_WI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEPA_WI@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::allocate, COMDAT
; _this$ = ecx

; 900  : 		return (_Mybase::allocate(_Count));

	jmp	?allocate@?$allocator@_W@std@@QAEPA_WI@Z ; std::allocator<wchar_t>::allocate
?allocate@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAEPA_WI@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::allocate
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ??0?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAE@ABV?$allocator@_W@1@@Z
_TEXT	SEGMENT
__Right$ = 8						; size = 4
??0?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAE@ABV?$allocator@_W@1@@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::_Wrap_alloc<std::allocator<wchar_t> >, COMDAT
; _this$ = ecx

; 860  : 		}

	mov	eax, ecx
	ret	4
??0?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QAE@ABV?$allocator@_W@1@@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::_Wrap_alloc<std::allocator<wchar_t> >
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?select_on_container_copy_construction@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBE?AU12@U_Nil@2@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
___formal$ = 12						; size = 1
?select_on_container_copy_construction@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBE?AU12@U_Nil@2@@Z PROC ; std::_Wrap_alloc<std::allocator<wchar_t> >::select_on_container_copy_construction, COMDAT
; _this$ = ecx

; 831  : 		return (_Mytraits::select_on_container_copy_construction(*this));

	mov	eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 832  : 		}

	ret	8
?select_on_container_copy_construction@?$_Wrap_alloc@V?$allocator@_W@std@@@std@@QBE?AU12@U_Nil@2@@Z ENDP ; std::_Wrap_alloc<std::allocator<wchar_t> >::select_on_container_copy_construction
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?select_on_container_copy_construction@?$allocator_traits@V?$allocator@_W@std@@@std@@SA?AV?$allocator@_W@2@ABV32@@Z
_TEXT	SEGMENT
___$ReturnUdt$ = 8					; size = 4
__Al$ = 12						; size = 4
?select_on_container_copy_construction@?$allocator_traits@V?$allocator@_W@std@@@std@@SA?AV?$allocator@_W@2@ABV32@@Z PROC ; std::allocator_traits<std::allocator<wchar_t> >::select_on_container_copy_construction, COMDAT

; 793  : 		return (_Al);

	mov	eax, DWORD PTR ___$ReturnUdt$[esp-4]

; 794  : 		}

	ret	0
?select_on_container_copy_construction@?$allocator_traits@V?$allocator@_W@std@@@std@@SA?AV?$allocator@_W@2@ABV32@@Z ENDP ; std::allocator_traits<std::allocator<wchar_t> >::select_on_container_copy_construction
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?max_size@?$allocator_traits@V?$allocator@_W@std@@@std@@SAIABV?$allocator@_W@2@@Z
_TEXT	SEGMENT
__Al$ = 8						; size = 4
?max_size@?$allocator_traits@V?$allocator@_W@std@@@std@@SAIABV?$allocator@_W@2@@Z PROC ; std::allocator_traits<std::allocator<wchar_t> >::max_size, COMDAT

; 787  : 		return (_Al.max_size());

	mov	eax, 2147483647				; 7fffffffH

; 788  : 		}

	ret	0
?max_size@?$allocator_traits@V?$allocator@_W@std@@@std@@SAIABV?$allocator@_W@2@@Z ENDP ; std::allocator_traits<std::allocator<wchar_t> >::max_size
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?max_size@?$allocator@_W@std@@QBEIXZ
_TEXT	SEGMENT
?max_size@?$allocator@_W@std@@QBEIXZ PROC		; std::allocator<wchar_t>::max_size, COMDAT
; _this$ = ecx

; 669  : 		return ((size_t)(-1) / sizeof (_Ty));

	mov	eax, 2147483647				; 7fffffffH

; 670  : 		}

	ret	0
?max_size@?$allocator@_W@std@@QBEIXZ ENDP		; std::allocator<wchar_t>::max_size
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?allocate@?$allocator@_W@std@@QAEPA_WI@Z
_TEXT	SEGMENT
__Count$ = 8						; size = 4
?allocate@?$allocator@_W@std@@QAEPA_WI@Z PROC		; std::allocator<wchar_t>::allocate, COMDAT
; _this$ = ecx

; 645  : 		return (_Allocate(_Count, (pointer)0));

	mov	eax, DWORD PTR __Count$[esp-4]
	test	eax, eax
	jne	SHORT $LN4@allocate
$LN12@allocate:

; 646  : 		}

	ret	4

; 645  : 		return (_Allocate(_Count, (pointer)0));

$LN4@allocate:
	cmp	eax, 2147483647				; 7fffffffH
	jbe	SHORT $LN5@allocate
	call	DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ
$LN15@allocate:
$LN5@allocate:
	add	eax, eax
	cmp	eax, 4096				; 00001000H
	jb	SHORT $LN6@allocate
	lea	ecx, DWORD PTR [eax+35]
	cmp	ecx, eax
	ja	SHORT $LN8@allocate
	call	DWORD PTR __imp_?_Xbad_alloc@std@@YAXXZ
$LN16@allocate:
$LN8@allocate:
	push	ecx
	call	??2@YAPAXI@Z				; operator new
	mov	ecx, eax
	add	esp, 4
	test	ecx, ecx
	jne	SHORT $LN9@allocate
	call	DWORD PTR __imp___invalid_parameter_noinfo_noreturn
$LN17@allocate:
$LN9@allocate:
	lea	eax, DWORD PTR [ecx+35]
	and	eax, -32				; ffffffe0H
	mov	DWORD PTR [eax-4], ecx

; 646  : 		}

	ret	4
$LN6@allocate:

; 645  : 		return (_Allocate(_Count, (pointer)0));

	push	eax
	call	??2@YAPAXI@Z				; operator new
	add	esp, 4
	test	eax, eax
	jne	SHORT $LN12@allocate
	call	DWORD PTR __imp___invalid_parameter_noinfo_noreturn
$LN18@allocate:
$LN14@allocate:
	int	3
?allocate@?$allocator@_W@std@@QAEPA_WI@Z ENDP		; std::allocator<wchar_t>::allocate
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z
_TEXT	SEGMENT
__Ptr$ = 8						; size = 4
__Count$ = 12						; size = 4
?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z PROC	; std::allocator<wchar_t>::deallocate, COMDAT
; _this$ = ecx

; 640  : 		_Deallocate(_Ptr, _Count);

	push	DWORD PTR __Count$[esp-4]
	push	DWORD PTR __Ptr$[esp]
	call	??$_Deallocate@_W@std@@YAXPA_WI@Z	; std::_Deallocate<wchar_t>
	add	esp, 8

; 641  : 		}

	ret	8
?deallocate@?$allocator@_W@std@@QAEXPA_WI@Z ENDP	; std::allocator<wchar_t>::deallocate
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ??0?$allocator@_W@std@@QAE@ABV01@@Z
_TEXT	SEGMENT
___formal$ = 8						; size = 4
??0?$allocator@_W@std@@QAE@ABV01@@Z PROC		; std::allocator<wchar_t>::allocator<wchar_t>, COMDAT
; _this$ = ecx

; 624  : 		{	// construct by copying (do nothing)
; 625  : 		}

	mov	eax, ecx
	ret	4
??0?$allocator@_W@std@@QAE@ABV01@@Z ENDP		; std::allocator<wchar_t>::allocator<wchar_t>
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xmemory0
;	COMDAT ??0?$allocator@_W@std@@QAE@XZ
_TEXT	SEGMENT
??0?$allocator@_W@std@@QAE@XZ PROC			; std::allocator<wchar_t>::allocator<wchar_t>, COMDAT
; _this$ = ecx

; 620  : 		{	// construct default allocator (do nothing)
; 621  : 		}

	mov	eax, ecx
	ret	0
??0?$allocator@_W@std@@QAE@XZ ENDP			; std::allocator<wchar_t>::allocator<wchar_t>
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ
_TEXT	SEGMENT
?_Xran@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran, COMDAT
; _this$ = ecx

; 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@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xran
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ
_TEXT	SEGMENT
?_Xlen@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen, COMDAT
; _this$ = ecx

; 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@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEXXZ ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring
;	COMDAT ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z
_TEXT	SEGMENT
__Built$ = 8						; size = 1
__Newsize$ = 12						; size = 4
?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEX_NI@Z PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy, COMDAT
; _this$ = ecx

; 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], 16			; 00000010H
	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
	j

...