Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. i$1 = 32
  2. j$2 = 36
  3. str$ = 40
  4. argc$ = 64
  5. argv$ = 72
  6. main PROC
  7. $LN12:
  8.   mov QWORD PTR [rsp+16], rdx
  9.   mov DWORD PTR [rsp+8], ecx
  10.   sub rsp, 56 ; 00000038H
  11.   mov eax, 8
  12.   imul rax, rax, 1
  13.   mov rcx, QWORD PTR argv$[rsp]
  14.   mov rax, QWORD PTR [rcx+rax]
  15.   mov QWORD PTR str$[rsp], rax
  16.   mov rcx, QWORD PTR str$[rsp]
  17.   call strlen
  18.   dec rax
  19.   mov DWORD PTR i$1[rsp], eax
  20.   jmp SHORT $LN4@main
  21. $LN2@main:
  22.   mov eax, DWORD PTR i$1[rsp]
  23.   dec eax
  24.   mov DWORD PTR i$1[rsp], eax
  25. $LN4@main:
  26.   cmp DWORD PTR i$1[rsp], 0
  27.   jl SHORT $LN3@main
  28.   mov eax, DWORD PTR i$1[rsp]
  29.   mov DWORD PTR j$2[rsp], eax
  30.   jmp SHORT $LN7@main
  31. $LN5@main:
  32.   mov eax, DWORD PTR j$2[rsp]
  33.   dec eax
  34.   mov DWORD PTR j$2[rsp], eax
  35. $LN7@main:
  36.   cmp DWORD PTR j$2[rsp], 0
  37.   jle SHORT $LN6@main
  38.   movsxd rax, DWORD PTR i$1[rsp]
  39.   mov rcx, QWORD PTR str$[rsp]
  40.   movzx edx, BYTE PTR [rcx+rax]
  41.   lea rcx, OFFSET FLAT:std::basic_ostream<char,std::char_traits<char> > std::cout ; std::cout
  42.   call std::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &,char) ; std::operator<<<std::char_traits<char> >
  43.   jmp SHORT $LN5@main
  44. $LN6@main:
  45.   movsxd rax, DWORD PTR i$1[rsp]
  46.   mov rcx, QWORD PTR str$[rsp]
  47.   movzx edx, BYTE PTR [rcx+rax]
  48.   lea rcx, OFFSET FLAT:std::basic_ostream<char,std::char_traits<char> > std::cout ; std::cout
  49.   call std::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &,char) ; std::operator<<<std::char_traits<char> >
  50.   lea rdx, OFFSET FLAT:std::basic_ostream<char,std::char_traits<char> > & std::endl<char,std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &) ; std::endl<char,std::char_traits<char> >
  51.   lea rcx, OFFSET FLAT:std::basic_ostream<char,std::char_traits<char> > std::cout ; std::cout
  52.   call std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::operator<<(std::basic_ostream<char,std::char_traits<char> > & (__cdecl*)(std::basic_ostream<char,std::char_traits<char> > &)) ; std::basic_ostream<char,std::char_traits<char> >::operator<<
  53.   jmp SHORT $LN2@main
  54. $LN3@main:
  55. $LN10@main:
  56.   call _getch
  57.   cmp eax, 37 ; 00000025H
  58.   jne SHORT $LN10@main
  59.   xor eax, eax
  60.   add rsp, 56 ; 00000038H
  61.   ret 0
  62. main ENDP
  63.  
  64. tv73 = 32
  65. this$ = 64
  66. _State$ = 72
  67. _Reraise$ = 80
  68. void std::basic_ios<char,std::char_traits<char> >::clear(int,bool) PROC ; std::basic_ios<char,std::char_traits<char> >::clear, COMDAT
  69. $LN5:
  70.   mov BYTE PTR [rsp+24], r8b
  71.   mov DWORD PTR [rsp+16], edx
  72.   mov QWORD PTR [rsp+8], rcx
  73.   sub rsp, 56 ; 00000038H
  74.   mov rax, QWORD PTR this$[rsp]
  75.   cmp QWORD PTR [rax+72], 0
  76.   jne SHORT $LN3@clear
  77.   mov eax, DWORD PTR _State$[rsp]
  78.   or eax, 4
  79.   mov DWORD PTR tv73[rsp], eax
  80.   jmp SHORT $LN4@clear
  81. $LN3@clear:
  82.   mov eax, DWORD PTR _State$[rsp]
  83.   mov DWORD PTR tv73[rsp], eax
  84. $LN4@clear:
  85.   movzx r8d, BYTE PTR _Reraise$[rsp]
  86.   mov edx, DWORD PTR tv73[rsp]
  87.   mov rcx, QWORD PTR this$[rsp]
  88.   call void std::ios_base::clear(int,bool) ; std::ios_base::clear
  89.   add rsp, 56 ; 00000038H
  90.   ret 0
  91. void std::basic_ios<char,std::char_traits<char> >::clear(int,bool) ENDP ; std::basic_ios<char,std::char_traits<char> >::clear
  92.  
  93. this$ = 48
  94. _State$ = 56
  95. _Reraise$ = 64
  96. void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) PROC ; std::basic_ios<char,std::char_traits<char> >::setstate, COMDAT
  97. $LN3:
  98.   mov BYTE PTR [rsp+24], r8b
  99.   mov DWORD PTR [rsp+16], edx
  100.   mov QWORD PTR [rsp+8], rcx
  101.   sub rsp, 40 ; 00000028H
  102.   mov rcx, QWORD PTR this$[rsp]
  103.   call int std::ios_base::rdstate(void)const  ; std::ios_base::rdstate
  104.   or eax, DWORD PTR _State$[rsp]
  105.   movzx r8d, BYTE PTR _Reraise$[rsp]
  106.   mov edx, eax
  107.   mov rcx, QWORD PTR this$[rsp]
  108.   call void std::basic_ios<char,std::char_traits<char> >::clear(int,bool) ; std::basic_ios<char,std::char_traits<char> >::clear
  109.   add rsp, 40 ; 00000028H
  110.   ret 0
  111. void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ENDP ; std::basic_ios<char,std::char_traits<char> >::setstate
  112.  
  113. this$ = 8
  114. std::basic_ostream<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::tie(void)const  PROC ; std::basic_ios<char,std::char_traits<char> >::tie, COMDAT
  115.   mov QWORD PTR [rsp+8], rcx
  116.   mov rax, QWORD PTR this$[rsp]
  117.   mov rax, QWORD PTR [rax+80]
  118.   ret 0
  119. std::basic_ostream<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::tie(void)const  ENDP ; std::basic_ios<char,std::char_traits<char> >::tie
  120.  
  121. this$ = 8
  122. std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  PROC ; std::basic_ios<char,std::char_traits<char> >::rdbuf, COMDAT
  123.   mov QWORD PTR [rsp+8], rcx
  124.   mov rax, QWORD PTR this$[rsp]
  125.   mov rax, QWORD PTR [rax+72]
  126.   ret 0
  127. std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ENDP ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  128.  
  129. this$ = 8
  130. char std::basic_ios<char,std::char_traits<char> >::fill(void)const  PROC ; std::basic_ios<char,std::char_traits<char> >::fill, COMDAT
  131.   mov QWORD PTR [rsp+8], rcx
  132.   mov rax, QWORD PTR this$[rsp]
  133.   movzx eax, BYTE PTR [rax+88]
  134.   ret 0
  135. char std::basic_ios<char,std::char_traits<char> >::fill(void)const  ENDP ; std::basic_ios<char,std::char_traits<char> >::fill
  136.  
  137. $T1 = 32
  138. tv80 = 40
  139. tv79 = 48
  140. $T2 = 56
  141. $T3 = 64
  142. this$ = 96
  143. _Byte$ = 104
  144. char std::basic_ios<char,std::char_traits<char> >::widen(char)const  PROC ; std::basic_ios<char,std::char_traits<char> >::widen, COMDAT
  145. $LN4:
  146.   mov BYTE PTR [rsp+16], dl
  147.   mov QWORD PTR [rsp+8], rcx
  148.   sub rsp, 88 ; 00000058H
  149.   mov QWORD PTR $T2[rsp], -2
  150.   lea rdx, QWORD PTR $T3[rsp]
  151.   mov rcx, QWORD PTR this$[rsp]
  152.   call std::locale std::ios_base::getloc(void)const  ; std::ios_base::getloc
  153.   mov QWORD PTR tv80[rsp], rax
  154.   mov rax, QWORD PTR tv80[rsp]
  155.   mov QWORD PTR tv79[rsp], rax
  156.   mov rcx, QWORD PTR tv79[rsp]
  157.   call std::ctype<char> const & std::use_facet<std::ctype<char> >(std::locale const &) ; std::use_facet<std::ctype<char> >
  158.   movzx edx, BYTE PTR _Byte$[rsp]
  159.   mov rcx, rax
  160.   call char std::ctype<char>::widen(char)const  ; std::ctype<char>::widen
  161.   mov BYTE PTR $T1[rsp], al
  162.   lea rcx, QWORD PTR $T3[rsp]
  163.   call std::locale::~locale(void) ; std::locale::~locale
  164.   movzx eax, BYTE PTR $T1[rsp]
  165.   add rsp, 88 ; 00000058H
  166.   ret 0
  167. char std::basic_ios<char,std::char_traits<char> >::widen(char)const  ENDP ; std::basic_ios<char,std::char_traits<char> >::widen
  168. $T1 = 32
  169. tv80 = 40
  170. tv79 = 48
  171. $T2 = 56
  172. $T3 = 64
  173. this$ = 96
  174. _Byte$ = 104
  175. int `char std::basic_ios<char,std::char_traits<char> >::widen(char)const '::`1'::dtor$0 PROC ; `std::basic_ios<char,std::char_traits<char> >::widen'::`1'::dtor$0
  176.   push rbp
  177.   sub rsp, 32 ; 00000020H
  178.   mov rbp, rdx
  179.   lea rcx, QWORD PTR $T3[rbp]
  180.   call std::locale::~locale(void) ; std::locale::~locale
  181.   add rsp, 32 ; 00000020H
  182.   pop rbp
  183.   ret 0
  184. int `char std::basic_ios<char,std::char_traits<char> >::widen(char)const '::`1'::dtor$0 ENDP ; `std::basic_ios<char,std::char_traits<char> >::widen'::`1'::dtor$0
  185.  
  186. _First$ = 48
  187. static unsigned __int64 std::char_traits<char>::length(char const * const) PROC ; std::char_traits<char>::length, COMDAT
  188. $LN3:
  189.   mov QWORD PTR [rsp+8], rcx
  190.   sub rsp, 40 ; 00000028H
  191.   mov rcx, QWORD PTR _First$[rsp]
  192.   call strlen
  193.   add rsp, 40 ; 00000028H
  194.   ret 0
  195. static unsigned __int64 std::char_traits<char>::length(char const * const) ENDP ; std::char_traits<char>::length
  196.  
  197. _First1$ = 48
  198. _First2$ = 56
  199. _Count$ = 64
  200. static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) PROC ; std::char_traits<char>::copy, COMDAT
  201. $LN3:
  202.   mov QWORD PTR [rsp+24], r8
  203.   mov QWORD PTR [rsp+16], rdx
  204.   mov QWORD PTR [rsp+8], rcx
  205.   sub rsp, 40 ; 00000028H
  206.   mov r8, QWORD PTR _Count$[rsp]
  207.   mov rdx, QWORD PTR _First2$[rsp]
  208.   mov rcx, QWORD PTR _First1$[rsp]
  209.   call memcpy
  210.   add rsp, 40 ; 00000028H
  211.   ret 0
  212. static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ENDP ; std::char_traits<char>::copy
  213.  
  214. _First1$ = 48
  215. _First2$ = 56
  216. _Count$ = 64
  217. static char * std::char_traits<char>::move(char * const,char const * const,unsigned __int64) PROC ; std::char_traits<char>::move, COMDAT
  218. $LN3:
  219.   mov QWORD PTR [rsp+24], r8
  220.   mov QWORD PTR [rsp+16], rdx
  221.   mov QWORD PTR [rsp+8], rcx
  222.   sub rsp, 40 ; 00000028H
  223.   mov r8, QWORD PTR _Count$[rsp]
  224.   mov rdx, QWORD PTR _First2$[rsp]
  225.   mov rcx, QWORD PTR _First1$[rsp]
  226.   call memmove
  227.   add rsp, 40 ; 00000028H
  228.   ret 0
  229. static char * std::char_traits<char>::move(char * const,char const * const,unsigned __int64) ENDP ; std::char_traits<char>::move
  230.  
  231. _Left$ = 8
  232. _Right$ = 16
  233. static void std::char_traits<char>::assign(char &,char const &) PROC ; std::char_traits<char>::assign, COMDAT
  234.   mov QWORD PTR [rsp+16], rdx
  235.   mov QWORD PTR [rsp+8], rcx
  236.   mov rax, QWORD PTR _Left$[rsp]
  237.   mov rcx, QWORD PTR _Right$[rsp]
  238.   movzx ecx, BYTE PTR [rcx]
  239.   mov BYTE PTR [rax], cl
  240.   ret 0
  241. static void std::char_traits<char>::assign(char &,char const &) ENDP ; std::char_traits<char>::assign
  242.  
  243. _Ch$ = 8
  244. static int std::char_traits<char>::to_int_type(char const &) PROC ; std::char_traits<char>::to_int_type, COMDAT
  245.   mov QWORD PTR [rsp+8], rcx
  246.   mov rax, QWORD PTR _Ch$[rsp]
  247.   movzx eax, BYTE PTR [rax]
  248.   ret 0
  249. static int std::char_traits<char>::to_int_type(char const &) ENDP ; std::char_traits<char>::to_int_type
  250.  
  251. tv65 = 0
  252. _Left$ = 32
  253. _Right$ = 40
  254. static bool std::char_traits<char>::eq_int_type(int const &,int const &) PROC ; std::char_traits<char>::eq_int_type, COMDAT
  255. $LN5:
  256.   mov QWORD PTR [rsp+16], rdx
  257.   mov QWORD PTR [rsp+8], rcx
  258.   sub rsp, 24
  259.   mov rax, QWORD PTR _Left$[rsp]
  260.   mov rcx, QWORD PTR _Right$[rsp]
  261.   mov ecx, DWORD PTR [rcx]
  262.   cmp DWORD PTR [rax], ecx
  263.   jne SHORT $LN3@eq_int_typ
  264.   mov DWORD PTR tv65[rsp], 1
  265.   jmp SHORT $LN4@eq_int_typ
  266. $LN3@eq_int_typ:
  267.   mov DWORD PTR tv65[rsp], 0
  268. $LN4@eq_int_typ:
  269.   movzx eax, BYTE PTR tv65[rsp]
  270.   add rsp, 24
  271.   ret 0
  272. static bool std::char_traits<char>::eq_int_type(int const &,int const &) ENDP ; std::char_traits<char>::eq_int_type
  273.  
  274. static int std::char_traits<char>::eof(void) PROC ; std::char_traits<char>::eof, COMDAT
  275.   mov eax, -1
  276.   ret 0
  277. static int std::char_traits<char>::eof(void) ENDP ; std::char_traits<char>::eof
  278.  
  279. static __int64 std::numeric_limits<__int64>::max(void) PROC ; std::numeric_limits<__int64>::max, COMDAT
  280.   mov rax, 9223372036854775807 ; 7fffffffffffffffH
  281.   ret 0
  282. static __int64 std::numeric_limits<__int64>::max(void) ENDP ; std::numeric_limits<__int64>::max
  283.  
  284. $T1 = 32
  285. $T2 = 40
  286. tv70 = 48
  287. this$ = 80
  288. _Ptr$ = 88
  289. void std::default_delete<std::_Facet_base>::operator()(std::_Facet_base *)const  PROC ; std::default_delete<std::_Facet_base>::operator(), COMDAT
  290. $LN5:
  291.   mov QWORD PTR [rsp+16], rdx
  292.   mov QWORD PTR [rsp+8], rcx
  293.   sub rsp, 72 ; 00000048H
  294.   mov rax, QWORD PTR _Ptr$[rsp]
  295.   mov QWORD PTR $T2[rsp], rax
  296.   mov rax, QWORD PTR $T2[rsp]
  297.   mov QWORD PTR $T1[rsp], rax
  298.   cmp QWORD PTR $T1[rsp], 0
  299.   je SHORT $LN3@operator
  300.   mov rax, QWORD PTR $T1[rsp]
  301.   mov rax, QWORD PTR [rax]
  302.   mov edx, 1
  303.   mov rcx, QWORD PTR $T1[rsp]
  304.   call QWORD PTR [rax]
  305.   mov QWORD PTR tv70[rsp], rax
  306.   jmp SHORT $LN4@operator
  307. $LN3@operator:
  308.   mov QWORD PTR tv70[rsp], 0
  309. $LN4@operator:
  310.   add rsp, 72 ; 00000048H
  311.   ret 0
  312. void std::default_delete<std::_Facet_base>::operator()(std::_Facet_base *)const  ENDP ; std::default_delete<std::_Facet_base>::operator()
  313.  
  314. $T1 = 32
  315. this$ = 64
  316. _Ptr$ = 72
  317. std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>(std::_Facet_base *) PROC ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>, COMDAT
  318. $LN3:
  319.   mov QWORD PTR [rsp+16], rdx
  320.   mov QWORD PTR [rsp+8], rcx
  321.   sub rsp, 56 ; 00000038H
  322.   mov rax, QWORD PTR this$[rsp]
  323.   lea r8, QWORD PTR _Ptr$[rsp]
  324.   movzx edx, BYTE PTR $T1[rsp]
  325.   mov rcx, rax
  326.   call std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>(std::_Zero_then_variadic_args_t,std::_Facet_base * &) ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>
  327.   mov rax, QWORD PTR this$[rsp]
  328.   add rsp, 56 ; 00000038H
  329.   ret 0
  330. std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>(std::_Facet_base *) ENDP ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>
  331.  
  332. this$ = 48
  333. std::default_delete<std::_Facet_base> & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter(void) PROC ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter, COMDAT
  334. $LN3:
  335.   mov QWORD PTR [rsp+8], rcx
  336.   sub rsp, 40 ; 00000028H
  337.   mov rax, QWORD PTR this$[rsp]
  338.   mov rcx, rax
  339.   call std::default_delete<std::_Facet_base> & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first(void) ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first
  340.   add rsp, 40 ; 00000028H
  341.   ret 0
  342. std::default_delete<std::_Facet_base> & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter(void) ENDP ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter
  343.  
  344. this$ = 48
  345. std::_Facet_base * & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void) PROC ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr, COMDAT
  346. $LN3:
  347.   mov QWORD PTR [rsp+8], rcx
  348.   sub rsp, 40 ; 00000028H
  349.   mov rax, QWORD PTR this$[rsp]
  350.   mov rcx, rax
  351.   call std::_Facet_base * & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void) ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second
  352.   add rsp, 40 ; 00000028H
  353.   ret 0
  354. std::_Facet_base * & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void) ENDP ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr
  355.  
  356. this$ = 48
  357. std::_Facet_base * const & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void)const  PROC ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr, COMDAT
  358. $LN3:
  359.   mov QWORD PTR [rsp+8], rcx
  360.   sub rsp, 40 ; 00000028H
  361.   mov rax, QWORD PTR this$[rsp]
  362.   mov rcx, rax
  363.   call std::_Facet_base * const & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void)const  ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second
  364.   add rsp, 40 ; 00000028H
  365.   ret 0
  366. std::_Facet_base * const & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void)const  ENDP ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr
  367.  
  368. $T1 = 32
  369. this$ = 64
  370. _Ptr$ = 72
  371. std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>(std::_Facet_base *) PROC ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>, COMDAT
  372. $LN3:
  373.   mov QWORD PTR [rsp+16], rdx
  374.   mov QWORD PTR [rsp+8], rcx
  375.   sub rsp, 56 ; 00000038H
  376.   mov QWORD PTR $T1[rsp], -2
  377.   mov rdx, QWORD PTR _Ptr$[rsp]
  378.   mov rcx, QWORD PTR this$[rsp]
  379.   call std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>(std::_Facet_base *) ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::_Facet_base *>
  380.   npad 1
  381.   mov rax, QWORD PTR this$[rsp]
  382.   add rsp, 56 ; 00000038H
  383.   ret 0
  384. std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>(std::_Facet_base *) ENDP ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>
  385.  
  386. tv75 = 32
  387. this$ = 64
  388. std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >(void) PROC ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >, COMDAT
  389. $LN4:
  390.   mov QWORD PTR [rsp+8], rcx
  391.   sub rsp, 56 ; 00000038H
  392.   mov rcx, QWORD PTR this$[rsp]
  393.   call std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get(void)const  ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get
  394.   test rax, rax
  395.   je SHORT $LN2@unique_ptr
  396.   mov rcx, QWORD PTR this$[rsp]
  397.   call std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get(void)const  ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get
  398.   mov QWORD PTR tv75[rsp], rax
  399.   mov rcx, QWORD PTR this$[rsp]
  400.   call std::default_delete<std::_Facet_base> & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter(void) ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::get_deleter
  401.   mov rcx, QWORD PTR tv75[rsp]
  402.   mov rdx, rcx
  403.   mov rcx, rax
  404.   call void std::default_delete<std::_Facet_base>::operator()(std::_Facet_base *)const  ; std::default_delete<std::_Facet_base>::operator()
  405. $LN2@unique_ptr:
  406.   add rsp, 56 ; 00000038H
  407.   ret 0
  408. std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >(void) ENDP ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >
  409.  
  410. this$ = 48
  411. std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get(void)const  PROC ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get, COMDAT
  412. $LN3:
  413.   mov QWORD PTR [rsp+8], rcx
  414.   sub rsp, 40 ; 00000028H
  415.   mov rcx, QWORD PTR this$[rsp]
  416.   call std::_Facet_base * const & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void)const  ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr
  417.   mov rax, QWORD PTR [rax]
  418.   add rsp, 40 ; 00000028H
  419.   ret 0
  420. std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get(void)const  ENDP ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get
  421.  
  422. _Ans$ = 32
  423. this$ = 64
  424. std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release(void) PROC ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release, COMDAT
  425. $LN3:
  426.   mov QWORD PTR [rsp+8], rcx
  427.   sub rsp, 56 ; 00000038H
  428.   mov rcx, QWORD PTR this$[rsp]
  429.   call std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get(void)const  ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::get
  430.   mov QWORD PTR _Ans$[rsp], rax
  431.   mov rcx, QWORD PTR this$[rsp]
  432.   call std::_Facet_base * & std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr(void) ; std::_Unique_ptr_base<std::_Facet_base,std::default_delete<std::_Facet_base> >::_Myptr
  433.   mov QWORD PTR [rax], 0
  434.   mov rax, QWORD PTR _Ans$[rsp]
  435.   add rsp, 56 ; 00000038H
  436.   ret 0
  437. std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release(void) ENDP ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release
  438.  
  439. tv73 = 32
  440. tv88 = 40
  441. tv95 = 48
  442. this$ = 80
  443. _Ostr$ = 88
  444. std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base(std::basic_ostream<char,std::char_traits<char> > &) PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base, COMDAT
  445. $LN4:
  446.   mov QWORD PTR [rsp+16], rdx
  447.   mov QWORD PTR [rsp+8], rcx
  448.   sub rsp, 72 ; 00000048H
  449.   mov rax, QWORD PTR this$[rsp]
  450.   mov rcx, QWORD PTR _Ostr$[rsp]
  451.   mov QWORD PTR [rax], rcx
  452.   mov rax, QWORD PTR this$[rsp]
  453.   mov rax, QWORD PTR [rax]
  454.   mov QWORD PTR tv73[rsp], rax
  455.   mov rax, QWORD PTR tv73[rsp]
  456.   mov rax, QWORD PTR [rax]
  457.   movsxd rax, DWORD PTR [rax+4]
  458.   mov rcx, QWORD PTR tv73[rsp]
  459.   add rcx, rax
  460.   mov rax, rcx
  461.   mov rcx, rax
  462.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  463.   test rax, rax
  464.   je SHORT $LN2@Sentry_bas
  465.   mov rax, QWORD PTR this$[rsp]
  466.   mov rax, QWORD PTR [rax]
  467.   mov QWORD PTR tv88[rsp], rax
  468.   mov rax, QWORD PTR tv88[rsp]
  469.   mov rax, QWORD PTR [rax]
  470.   movsxd rax, DWORD PTR [rax+4]
  471.   mov rcx, QWORD PTR tv88[rsp]
  472.   add rcx, rax
  473.   mov rax, rcx
  474.   mov rcx, rax
  475.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  476.   mov QWORD PTR tv95[rsp], rax
  477.   mov rax, QWORD PTR tv95[rsp]
  478.   mov rax, QWORD PTR [rax]
  479.   mov rcx, QWORD PTR tv95[rsp]
  480.   call QWORD PTR [rax+8]
  481. $LN2@Sentry_bas:
  482.   mov rax, QWORD PTR this$[rsp]
  483.   add rsp, 72 ; 00000048H
  484.   ret 0
  485. std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base(std::basic_ostream<char,std::char_traits<char> > &) ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
  486.  
  487. tv72 = 32
  488. tv87 = 40
  489. tv94 = 48
  490. $T1 = 56
  491. this$ = 80
  492. std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base(void) PROC ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base, COMDAT
  493. $LN4:
  494.   mov QWORD PTR [rsp+8], rcx
  495.   sub rsp, 72 ; 00000048H
  496.   mov QWORD PTR $T1[rsp], -2
  497.   mov rax, QWORD PTR this$[rsp]
  498.   mov rax, QWORD PTR [rax]
  499.   mov QWORD PTR tv72[rsp], rax
  500.   mov rax, QWORD PTR tv72[rsp]
  501.   mov rax, QWORD PTR [rax]
  502.   movsxd rax, DWORD PTR [rax+4]
  503.   mov rcx, QWORD PTR tv72[rsp]
  504.   add rcx, rax
  505.   mov rax, rcx
  506.   mov rcx, rax
  507.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  508.   npad 1
  509.   test rax, rax
  510.   je SHORT $LN2@Sentry_bas
  511.   mov rax, QWORD PTR this$[rsp]
  512.   mov rax, QWORD PTR [rax]
  513.   mov QWORD PTR tv87[rsp], rax
  514.   mov rax, QWORD PTR tv87[rsp]
  515.   mov rax, QWORD PTR [rax]
  516.   movsxd rax, DWORD PTR [rax+4]
  517.   mov rcx, QWORD PTR tv87[rsp]
  518.   add rcx, rax
  519.   mov rax, rcx
  520.   mov rcx, rax
  521.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  522.   npad 1
  523.   mov QWORD PTR tv94[rsp], rax
  524.   mov rax, QWORD PTR tv94[rsp]
  525.   mov rax, QWORD PTR [rax]
  526.   mov rcx, QWORD PTR tv94[rsp]
  527.   call QWORD PTR [rax+16]
  528.   npad 1
  529. $LN2@Sentry_bas:
  530.   add rsp, 72 ; 00000048H
  531.   ret 0
  532. std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base(void) ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
  533.  
  534. $T1 = 32
  535. this$ = 64
  536. _Ostr$ = 72
  537. std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(std::basic_ostream<char,std::char_traits<char> > &) PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry, COMDAT
  538. $LN5:
  539.   mov QWORD PTR [rsp+16], rdx
  540.   mov QWORD PTR [rsp+8], rcx
  541.   sub rsp, 56 ; 00000038H
  542.   mov QWORD PTR $T1[rsp], -2
  543.   mov rdx, QWORD PTR _Ostr$[rsp]
  544.   mov rcx, QWORD PTR this$[rsp]
  545.   call std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base(std::basic_ostream<char,std::char_traits<char> > &) ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::_Sentry_base
  546.   npad 1
  547.   mov rax, QWORD PTR _Ostr$[rsp]
  548.   mov rax, QWORD PTR [rax]
  549.   movsxd rax, DWORD PTR [rax+4]
  550.   mov rcx, QWORD PTR _Ostr$[rsp]
  551.   add rcx, rax
  552.   mov rax, rcx
  553.   mov rcx, rax
  554.   call bool std::ios_base::good(void)const  ; std::ios_base::good
  555.   movzx eax, al
  556.   test eax, eax
  557.   je SHORT $LN2@sentry
  558.   mov rax, QWORD PTR _Ostr$[rsp]
  559.   mov rax, QWORD PTR [rax]
  560.   movsxd rax, DWORD PTR [rax+4]
  561.   mov rcx, QWORD PTR _Ostr$[rsp]
  562.   add rcx, rax
  563.   mov rax, rcx
  564.   mov rcx, rax
  565.   call std::basic_ostream<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::tie(void)const  ; std::basic_ios<char,std::char_traits<char> >::tie
  566.   test rax, rax
  567.   je SHORT $LN2@sentry
  568.   mov rax, QWORD PTR _Ostr$[rsp]
  569.   mov rax, QWORD PTR [rax]
  570.   movsxd rax, DWORD PTR [rax+4]
  571.   mov rcx, QWORD PTR _Ostr$[rsp]
  572.   add rcx, rax
  573.   mov rax, rcx
  574.   mov rcx, rax
  575.   call std::basic_ostream<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::tie(void)const  ; std::basic_ios<char,std::char_traits<char> >::tie
  576.   cmp rax, QWORD PTR _Ostr$[rsp]
  577.   je SHORT $LN2@sentry
  578.   mov rax, QWORD PTR _Ostr$[rsp]
  579.   mov rax, QWORD PTR [rax]
  580.   movsxd rax, DWORD PTR [rax+4]
  581.   mov rcx, QWORD PTR _Ostr$[rsp]
  582.   add rcx, rax
  583.   mov rax, rcx
  584.   mov rcx, rax
  585.   call std::basic_ostream<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::tie(void)const  ; std::basic_ios<char,std::char_traits<char> >::tie
  586.   mov rcx, rax
  587.   call std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::flush(void) ; std::basic_ostream<char,std::char_traits<char> >::flush
  588. $LN2@sentry:
  589.   mov rax, QWORD PTR _Ostr$[rsp]
  590.   mov rax, QWORD PTR [rax]
  591.   movsxd rax, DWORD PTR [rax+4]
  592.   mov rcx, QWORD PTR _Ostr$[rsp]
  593.   add rcx, rax
  594.   mov rax, rcx
  595.   mov rcx, rax
  596.   call bool std::ios_base::good(void)const  ; std::ios_base::good
  597.   mov rcx, QWORD PTR this$[rsp]
  598.   mov BYTE PTR [rcx+8], al
  599.   mov rax, QWORD PTR this$[rsp]
  600.   add rsp, 56 ; 00000038H
  601.   ret 0
  602. std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(std::basic_ostream<char,std::char_traits<char> > &) ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
  603. $T1 = 32
  604. this$ = 64
  605. _Ostr$ = 72
  606. int `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(basic_ostream<char,std::char_traits<char> >::sentry &)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
  607.   push rbp
  608.   sub rsp, 32 ; 00000020H
  609.   mov rbp, rdx
  610.   mov rcx, QWORD PTR this$[rbp]
  611.   call std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base(void) ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
  612.   add rsp, 32 ; 00000020H
  613.   pop rbp
  614.   ret 0
  615. int `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(basic_ostream<char,std::char_traits<char> >::sentry &)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
  616.  
  617. $T1 = 32
  618. this$ = 64
  619. std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry, COMDAT
  620. $LN4:
  621.   mov QWORD PTR [rsp+8], rcx
  622.   sub rsp, 56 ; 00000038H
  623.   mov QWORD PTR $T1[rsp], -2
  624.   call bool std::uncaught_exception(void) ; std::uncaught_exception
  625.   npad 1
  626.   movzx eax, al
  627.   test eax, eax
  628.   jne SHORT $LN2@sentry
  629.   mov rax, QWORD PTR this$[rsp]
  630.   mov rcx, QWORD PTR [rax]
  631.   call void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void) ; std::basic_ostream<char,std::char_traits<char> >::_Osfx
  632.   npad 1
  633. $LN2@sentry:
  634.   mov rcx, QWORD PTR this$[rsp]
  635.   call std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base(void) ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
  636.   npad 1
  637.   add rsp, 56 ; 00000038H
  638.   ret 0
  639. std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  640.  
  641. this$ = 8
  642. std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool(void)const  PROC ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool, COMDAT
  643.   mov QWORD PTR [rsp+8], rcx
  644.   mov rax, QWORD PTR this$[rsp]
  645.   movzx eax, BYTE PTR [rax+8]
  646.   ret 0
  647. std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool(void)const  ENDP ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
  648.  
  649. tv153 = 32
  650. tv154 = 36
  651. tv156 = 40
  652. tv155 = 48
  653. $T1 = 56
  654. this$ = 80
  655. void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void) PROC ; std::basic_ostream<char,std::char_traits<char> >::_Osfx, COMDAT
  656. $LN11:
  657.   mov QWORD PTR [rsp+8], rcx
  658.   sub rsp, 72 ; 00000048H
  659.   mov QWORD PTR $T1[rsp], -2
  660.   mov rax, QWORD PTR this$[rsp]
  661.   mov rax, QWORD PTR [rax]
  662.   movsxd rax, DWORD PTR [rax+4]
  663.   mov rcx, QWORD PTR this$[rsp]
  664.   add rcx, rax
  665.   mov rax, rcx
  666.   mov rcx, rax
  667.   call bool std::ios_base::good(void)const  ; std::ios_base::good
  668.   mov BYTE PTR tv153[rsp], al
  669.   movzx eax, BYTE PTR tv153[rsp]
  670.   test eax, eax
  671.   je $LN3@Osfx
  672.   mov rax, QWORD PTR this$[rsp]
  673.   mov rax, QWORD PTR [rax]
  674.   movsxd rax, DWORD PTR [rax+4]
  675.   mov rcx, QWORD PTR this$[rsp]
  676.   add rcx, rax
  677.   mov rax, rcx
  678.   mov rcx, rax
  679.   call int std::ios_base::flags(void)const  ; std::ios_base::flags
  680.   mov DWORD PTR tv154[rsp], eax
  681.   mov eax, DWORD PTR tv154[rsp]
  682.   and eax, 2
  683.   test eax, eax
  684.   je SHORT $LN3@Osfx
  685.   mov rax, QWORD PTR this$[rsp]
  686.   mov rax, QWORD PTR [rax]
  687.   movsxd rax, DWORD PTR [rax+4]
  688.   mov rcx, QWORD PTR this$[rsp]
  689.   add rcx, rax
  690.   mov rax, rcx
  691.   mov rcx, rax
  692.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  693.   mov QWORD PTR tv155[rsp], rax
  694.   mov rcx, QWORD PTR tv155[rsp]
  695.   call int std::basic_streambuf<char,std::char_traits<char> >::pubsync(void) ; std::basic_streambuf<char,std::char_traits<char> >::pubsync
  696.   mov DWORD PTR tv156[rsp], eax
  697.   cmp DWORD PTR tv156[rsp], -1
  698.   jne SHORT $LN3@Osfx
  699.   mov rax, QWORD PTR this$[rsp]
  700.   mov rax, QWORD PTR [rax]
  701.   movsxd rax, DWORD PTR [rax+4]
  702.   mov rcx, QWORD PTR this$[rsp]
  703.   add rcx, rax
  704.   mov rax, rcx
  705.   xor r8d, r8d
  706.   mov edx, 4
  707.   mov rcx, rax
  708.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  709.   npad 1
  710. $LN3@Osfx:
  711.   jmp SHORT $LN8@Osfx
  712. $LN9@Osfx:
  713. $LN8@Osfx:
  714.   add rsp, 72 ; 00000048H
  715.   ret 0
  716. void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void) ENDP ; std::basic_ostream<char,std::char_traits<char> >::_Osfx
  717. tv153 = 32
  718. tv154 = 36
  719. tv156 = 40
  720. tv155 = 48
  721. $T1 = 56
  722. this$ = 80
  723. int `void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void)'::`1'::catch$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::_Osfx'::`1'::catch$0
  724.   mov QWORD PTR [rsp+16], rdx
  725.   push rbp
  726.   sub rsp, 32 ; 00000020H
  727.   mov rbp, rdx
  728. __catch$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ$0:
  729.   lea rax, $LN9@catch$0
  730.   add rsp, 32 ; 00000020H
  731.   pop rbp
  732.   ret 0
  733.   int 3
  734. int `void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void)'::`1'::catch$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::_Osfx'::`1'::catch$0
  735.  
  736. this$ = 48
  737. _Pfn$ = 56
  738. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::operator<<(std::basic_ostream<char,std::char_traits<char> > & (__cdecl*)(std::basic_ostream<char,std::char_traits<char> > &)) PROC ; std::basic_ostream<char,std::char_traits<char> >::operator<<, COMDAT
  739. $LN3:
  740.   mov QWORD PTR [rsp+16], rdx
  741.   mov QWORD PTR [rsp+8], rcx
  742.   sub rsp, 40 ; 00000028H
  743.   mov rcx, QWORD PTR this$[rsp]
  744.   call QWORD PTR _Pfn$[rsp]
  745.   add rsp, 40 ; 00000028H
  746.   ret 0
  747. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::operator<<(std::basic_ostream<char,std::char_traits<char> > & (__cdecl*)(std::basic_ostream<char,std::char_traits<char> > &)) ENDP ; std::basic_ostream<char,std::char_traits<char> >::operator<<
  748.  
  749. _State$ = 32
  750. tv156 = 36
  751. $T1 = 40
  752. $T2 = 44
  753. tv65 = 48
  754. $T3 = 56
  755. $T4 = 64
  756. _Ok$ = 72
  757. this$ = 112
  758. _Ch$ = 120
  759. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::put(char) PROC ; std::basic_ostream<char,std::char_traits<char> >::put, COMDAT
  760. $LN13:
  761.   mov BYTE PTR [rsp+16], dl
  762.   mov QWORD PTR [rsp+8], rcx
  763.   sub rsp, 104 ; 00000068H
  764.   mov QWORD PTR $T4[rsp], -2
  765.   mov DWORD PTR _State$[rsp], 0
  766.   mov rdx, QWORD PTR this$[rsp]
  767.   lea rcx, QWORD PTR _Ok$[rsp]
  768.   call std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(std::basic_ostream<char,std::char_traits<char> > &) ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
  769.   npad 1
  770.   lea rcx, QWORD PTR _Ok$[rsp]
  771.   call std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool(void)const  ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
  772.   movzx eax, al
  773.   test eax, eax
  774.   jne SHORT $LN2@put
  775.   mov eax, DWORD PTR _State$[rsp]
  776.   or eax, 4
  777.   mov DWORD PTR _State$[rsp], eax
  778.   jmp SHORT $LN3@put
  779. $LN2@put:
  780.   mov rax, QWORD PTR this$[rsp]
  781.   mov rax, QWORD PTR [rax]
  782.   movsxd rax, DWORD PTR [rax+4]
  783.   mov rcx, QWORD PTR this$[rsp]
  784.   add rcx, rax
  785.   mov rax, rcx
  786.   mov rcx, rax
  787.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  788.   mov QWORD PTR tv65[rsp], rax
  789.   movzx edx, BYTE PTR _Ch$[rsp]
  790.   mov rcx, QWORD PTR tv65[rsp]
  791.   call int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) ; std::basic_streambuf<char,std::char_traits<char> >::sputc
  792.   mov DWORD PTR tv156[rsp], eax
  793.   mov eax, DWORD PTR tv156[rsp]
  794.   mov DWORD PTR $T1[rsp], eax
  795.   call static int std::char_traits<char>::eof(void) ; std::char_traits<char>::eof
  796.   mov DWORD PTR $T2[rsp], eax
  797.   lea rdx, QWORD PTR $T1[rsp]
  798.   lea rcx, QWORD PTR $T2[rsp]
  799.   call static bool std::char_traits<char>::eq_int_type(int const &,int const &) ; std::char_traits<char>::eq_int_type
  800.   movzx eax, al
  801.   test eax, eax
  802.   je SHORT $LN5@put
  803.   mov eax, DWORD PTR _State$[rsp]
  804.   or eax, 4
  805.   mov DWORD PTR _State$[rsp], eax
  806. $LN5@put:
  807.   jmp SHORT $LN3@put
  808. $LN11@put:
  809. $LN3@put:
  810.   mov rax, QWORD PTR this$[rsp]
  811.   mov rax, QWORD PTR [rax]
  812.   movsxd rax, DWORD PTR [rax+4]
  813.   mov rcx, QWORD PTR this$[rsp]
  814.   add rcx, rax
  815.   mov rax, rcx
  816.   xor r8d, r8d
  817.   mov edx, DWORD PTR _State$[rsp]
  818.   mov rcx, rax
  819.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  820.   mov rax, QWORD PTR this$[rsp]
  821.   mov QWORD PTR $T3[rsp], rax
  822.   lea rcx, QWORD PTR _Ok$[rsp]
  823.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  824.   mov rax, QWORD PTR $T3[rsp]
  825.   add rsp, 104 ; 00000068H
  826.   ret 0
  827. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::put(char) ENDP ; std::basic_ostream<char,std::char_traits<char> >::put
  828. _State$ = 32
  829. tv156 = 36
  830. $T1 = 40
  831. $T2 = 44
  832. tv65 = 48
  833. $T3 = 56
  834. $T4 = 64
  835. _Ok$ = 72
  836. this$ = 112
  837. _Ch$ = 120
  838. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::dtor$0
  839.   push rbp
  840.   sub rsp, 32 ; 00000020H
  841.   mov rbp, rdx
  842.   lea rcx, QWORD PTR _Ok$[rbp]
  843.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  844.   add rsp, 32 ; 00000020H
  845.   pop rbp
  846.   ret 0
  847. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::dtor$0
  848. _State$ = 32
  849. tv156 = 36
  850. $T1 = 40
  851. $T2 = 44
  852. tv65 = 48
  853. $T3 = 56
  854. $T4 = 64
  855. _Ok$ = 72
  856. this$ = 112
  857. _Ch$ = 120
  858. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::catch$1 PROC ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::catch$1
  859.   mov QWORD PTR [rsp+16], rdx
  860.   push rbp
  861.   sub rsp, 32 ; 00000020H
  862.   mov rbp, rdx
  863. __catch$?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z$0:
  864.   mov rax, QWORD PTR this$[rbp]
  865.   mov rax, QWORD PTR [rax]
  866.   movsxd rax, DWORD PTR [rax+4]
  867.   mov rcx, QWORD PTR this$[rbp]
  868.   add rcx, rax
  869.   mov rax, rcx
  870.   mov r8b, 1
  871.   mov edx, 4
  872.   mov rcx, rax
  873.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  874.   npad 1
  875.   lea rax, $LN11@catch$1
  876.   add rsp, 32 ; 00000020H
  877.   pop rbp
  878.   ret 0
  879.   int 3
  880. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::catch$1 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::catch$1
  881.  
  882. $T1 = 32
  883. _Ok$2 = 40
  884. this$ = 80
  885. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::flush(void) PROC ; std::basic_ostream<char,std::char_traits<char> >::flush, COMDAT
  886. $LN6:
  887.   mov QWORD PTR [rsp+8], rcx
  888.   sub rsp, 72 ; 00000048H
  889.   mov QWORD PTR $T1[rsp], -2
  890.   mov rax, QWORD PTR this$[rsp]
  891.   mov rax, QWORD PTR [rax]
  892.   movsxd rax, DWORD PTR [rax+4]
  893.   mov rcx, QWORD PTR this$[rsp]
  894.   add rcx, rax
  895.   mov rax, rcx
  896.   mov rcx, rax
  897.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  898.   test rax, rax
  899.   je SHORT $LN2@flush
  900.   mov rdx, QWORD PTR this$[rsp]
  901.   lea rcx, QWORD PTR _Ok$2[rsp]
  902.   call std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(std::basic_ostream<char,std::char_traits<char> > &) ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
  903.   npad 1
  904.   lea rcx, QWORD PTR _Ok$2[rsp]
  905.   call std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool(void)const  ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
  906.   movzx eax, al
  907.   test eax, eax
  908.   je SHORT $LN3@flush
  909.   mov rax, QWORD PTR this$[rsp]
  910.   mov rax, QWORD PTR [rax]
  911.   movsxd rax, DWORD PTR [rax+4]
  912.   mov rcx, QWORD PTR this$[rsp]
  913.   add rcx, rax
  914.   mov rax, rcx
  915.   mov rcx, rax
  916.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  917.   mov rcx, rax
  918.   call int std::basic_streambuf<char,std::char_traits<char> >::pubsync(void) ; std::basic_streambuf<char,std::char_traits<char> >::pubsync
  919.   cmp eax, -1
  920.   jne SHORT $LN3@flush
  921.   mov rax, QWORD PTR this$[rsp]
  922.   mov rax, QWORD PTR [rax]
  923.   movsxd rax, DWORD PTR [rax+4]
  924.   mov rcx, QWORD PTR this$[rsp]
  925.   add rcx, rax
  926.   mov rax, rcx
  927.   xor r8d, r8d
  928.   mov edx, 4
  929.   mov rcx, rax
  930.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  931.   npad 1
  932. $LN3@flush:
  933.   lea rcx, QWORD PTR _Ok$2[rsp]
  934.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  935. $LN2@flush:
  936.   mov rax, QWORD PTR this$[rsp]
  937.   add rsp, 72 ; 00000048H
  938.   ret 0
  939. std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::flush(void) ENDP ; std::basic_ostream<char,std::char_traits<char> >::flush
  940. $T1 = 32
  941. _Ok$2 = 40
  942. this$ = 80
  943. int `basic_ostream<char,std::char_traits<char> >::flush & std::basic_ostream<char,std::char_traits<char> >::flush(void)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::flush'::`1'::dtor$0
  944.   push rbp
  945.   sub rsp, 32 ; 00000020H
  946.   mov rbp, rdx
  947.   lea rcx, QWORD PTR _Ok$2[rbp]
  948.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  949.   add rsp, 32 ; 00000020H
  950.   pop rbp
  951.   ret 0
  952. int `basic_ostream<char,std::char_traits<char> >::flush & std::basic_ostream<char,std::char_traits<char> >::flush(void)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::flush'::`1'::dtor$0
  953.  
  954. _State$ = 32
  955. tv283 = 36
  956. tv288 = 37
  957. _Pad$1 = 40
  958. tv65 = 48
  959. tv285 = 52
  960. $T2 = 56
  961. $T3 = 60
  962. tv287 = 64
  963. $T4 = 68
  964. $T5 = 72
  965. tv290 = 76
  966. $T6 = 80
  967. $T7 = 84
  968. tv130 = 88
  969. tv284 = 96
  970. tv286 = 104
  971. tv289 = 112
  972. $T8 = 120
  973. _Ok$ = 128
  974. $T9 = 144
  975. _Ostr$ = 176
  976. _Ch$ = 184
  977. std::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &,char) PROC ; std::operator<<<std::char_traits<char> >, COMDAT
  978. $LN23:
  979.   mov BYTE PTR [rsp+16], dl
  980.   mov QWORD PTR [rsp+8], rcx
  981.   sub rsp, 168 ; 000000a8H
  982.   mov QWORD PTR $T9[rsp], -2
  983.   mov DWORD PTR _State$[rsp], 0
  984.   mov rdx, QWORD PTR _Ostr$[rsp]
  985.   lea rcx, QWORD PTR _Ok$[rsp]
  986.   call std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(std::basic_ostream<char,std::char_traits<char> > &) ; std::basic_ostream<char,std::char_traits<char> >::sentry::sentry
  987.   npad 1
  988.   lea rcx, QWORD PTR _Ok$[rsp]
  989.   call std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool(void)const  ; std::basic_ostream<char,std::char_traits<char> >::sentry::operator bool
  990.   movzx eax, al
  991.   test eax, eax
  992.   je $LN8@operator
  993.   mov rax, QWORD PTR _Ostr$[rsp]
  994.   mov rax, QWORD PTR [rax]
  995.   movsxd rax, DWORD PTR [rax+4]
  996.   mov rcx, QWORD PTR _Ostr$[rsp]
  997.   add rcx, rax
  998.   mov rax, rcx
  999.   mov rcx, rax
  1000.   call __int64 std::ios_base::width(void)const  ; std::ios_base::width
  1001.   cmp rax, 1
  1002.   jg SHORT $LN15@operator
  1003.   mov QWORD PTR tv130[rsp], 0
  1004.   jmp SHORT $LN16@operator
  1005. $LN15@operator:
  1006.   mov rax, QWORD PTR _Ostr$[rsp]
  1007.   mov rax, QWORD PTR [rax]
  1008.   movsxd rax, DWORD PTR [rax+4]
  1009.   mov rcx, QWORD PTR _Ostr$[rsp]
  1010.   add rcx, rax
  1011.   mov rax, rcx
  1012.   mov rcx, rax
  1013.   call __int64 std::ios_base::width(void)const  ; std::ios_base::width
  1014.   dec rax
  1015.   mov QWORD PTR tv130[rsp], rax
  1016. $LN16@operator:
  1017.   mov rax, QWORD PTR tv130[rsp]
  1018.   mov QWORD PTR _Pad$1[rsp], rax
  1019.   mov rax, QWORD PTR _Ostr$[rsp]
  1020.   mov rax, QWORD PTR [rax]
  1021.   movsxd rax, DWORD PTR [rax+4]
  1022.   mov rcx, QWORD PTR _Ostr$[rsp]
  1023.   add rcx, rax
  1024.   mov rax, rcx
  1025.   mov rcx, rax
  1026.   call int std::ios_base::flags(void)const  ; std::ios_base::flags
  1027.   mov DWORD PTR tv65[rsp], eax
  1028.   mov eax, DWORD PTR tv65[rsp]
  1029.   and eax, 448 ; 000001c0H
  1030.   cmp eax, 64 ; 00000040H
  1031.   je $LN10@operator
  1032.   jmp SHORT $LN4@operator
  1033. $LN2@operator:
  1034.   mov rax, QWORD PTR _Pad$1[rsp]
  1035.   dec rax
  1036.   mov QWORD PTR _Pad$1[rsp], rax
  1037. $LN4@operator:
  1038.   cmp DWORD PTR _State$[rsp], 0
  1039.   jne $LN10@operator
  1040.   cmp QWORD PTR _Pad$1[rsp], 0
  1041.   jle $LN10@operator
  1042.   mov rax, QWORD PTR _Ostr$[rsp]
  1043.   mov rax, QWORD PTR [rax]
  1044.   movsxd rax, DWORD PTR [rax+4]
  1045.   mov rcx, QWORD PTR _Ostr$[rsp]
  1046.   add rcx, rax
  1047.   mov rax, rcx
  1048.   mov rcx, rax
  1049.   call char std::basic_ios<char,std::char_traits<char> >::fill(void)const  ; std::basic_ios<char,std::char_traits<char> >::fill
  1050.   mov BYTE PTR tv283[rsp], al
  1051.   mov rax, QWORD PTR _Ostr$[rsp]
  1052.   mov rax, QWORD PTR [rax]
  1053.   movsxd rax, DWORD PTR [rax+4]
  1054.   mov rcx, QWORD PTR _Ostr$[rsp]
  1055.   add rcx, rax
  1056.   mov rax, rcx
  1057.   mov rcx, rax
  1058.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  1059.   mov QWORD PTR tv284[rsp], rax
  1060.   movzx edx, BYTE PTR tv283[rsp]
  1061.   mov rcx, QWORD PTR tv284[rsp]
  1062.   call int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) ; std::basic_streambuf<char,std::char_traits<char> >::sputc
  1063.   mov DWORD PTR tv285[rsp], eax
  1064.   mov eax, DWORD PTR tv285[rsp]
  1065.   mov DWORD PTR $T2[rsp], eax
  1066.   call static int std::char_traits<char>::eof(void) ; std::char_traits<char>::eof
  1067.   mov DWORD PTR $T3[rsp], eax
  1068.   lea rdx, QWORD PTR $T2[rsp]
  1069.   lea rcx, QWORD PTR $T3[rsp]
  1070.   call static bool std::char_traits<char>::eq_int_type(int const &,int const &) ; std::char_traits<char>::eq_int_type
  1071.   movzx eax, al
  1072.   test eax, eax
  1073.   je SHORT $LN11@operator
  1074.   mov eax, DWORD PTR _State$[rsp]
  1075.   or eax, 4
  1076.   mov DWORD PTR _State$[rsp], eax
  1077. $LN11@operator:
  1078.   jmp $LN2@operator
  1079. $LN10@operator:
  1080.   cmp DWORD PTR _State$[rsp], 0
  1081.   jne SHORT $LN12@operator
  1082.   mov rax, QWORD PTR _Ostr$[rsp]
  1083.   mov rax, QWORD PTR [rax]
  1084.   movsxd rax, DWORD PTR [rax+4]
  1085.   mov rcx, QWORD PTR _Ostr$[rsp]
  1086.   add rcx, rax
  1087.   mov rax, rcx
  1088.   mov rcx, rax
  1089.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  1090.   mov QWORD PTR tv286[rsp], rax
  1091.   movzx edx, BYTE PTR _Ch$[rsp]
  1092.   mov rcx, QWORD PTR tv286[rsp]
  1093.   call int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) ; std::basic_streambuf<char,std::char_traits<char> >::sputc
  1094.   mov DWORD PTR tv287[rsp], eax
  1095.   mov eax, DWORD PTR tv287[rsp]
  1096.   mov DWORD PTR $T4[rsp], eax
  1097.   call static int std::char_traits<char>::eof(void) ; std::char_traits<char>::eof
  1098.   mov DWORD PTR $T5[rsp], eax
  1099.   lea rdx, QWORD PTR $T4[rsp]
  1100.   lea rcx, QWORD PTR $T5[rsp]
  1101.   call static bool std::char_traits<char>::eq_int_type(int const &,int const &) ; std::char_traits<char>::eq_int_type
  1102.   movzx eax, al
  1103.   test eax, eax
  1104.   je SHORT $LN12@operator
  1105.   mov eax, DWORD PTR _State$[rsp]
  1106.   or eax, 4
  1107.   mov DWORD PTR _State$[rsp], eax
  1108. $LN12@operator:
  1109.   jmp SHORT $LN7@operator
  1110. $LN5@operator:
  1111.   mov rax, QWORD PTR _Pad$1[rsp]
  1112.   dec rax
  1113.   mov QWORD PTR _Pad$1[rsp], rax
  1114. $LN7@operator:
  1115.   cmp DWORD PTR _State$[rsp], 0
  1116.   jne $LN6@operator
  1117.   cmp QWORD PTR _Pad$1[rsp], 0
  1118.   jle $LN6@operator
  1119.   mov rax, QWORD PTR _Ostr$[rsp]
  1120.   mov rax, QWORD PTR [rax]
  1121.   movsxd rax, DWORD PTR [rax+4]
  1122.   mov rcx, QWORD PTR _Ostr$[rsp]
  1123.   add rcx, rax
  1124.   mov rax, rcx
  1125.   mov rcx, rax
  1126.   call char std::basic_ios<char,std::char_traits<char> >::fill(void)const  ; std::basic_ios<char,std::char_traits<char> >::fill
  1127.   mov BYTE PTR tv288[rsp], al
  1128.   mov rax, QWORD PTR _Ostr$[rsp]
  1129.   mov rax, QWORD PTR [rax]
  1130.   movsxd rax, DWORD PTR [rax+4]
  1131.   mov rcx, QWORD PTR _Ostr$[rsp]
  1132.   add rcx, rax
  1133.   mov rax, rcx
  1134.   mov rcx, rax
  1135.   call std::basic_streambuf<char,std::char_traits<char> > * std::basic_ios<char,std::char_traits<char> >::rdbuf(void)const  ; std::basic_ios<char,std::char_traits<char> >::rdbuf
  1136.   mov QWORD PTR tv289[rsp], rax
  1137.   movzx edx, BYTE PTR tv288[rsp]
  1138.   mov rcx, QWORD PTR tv289[rsp]
  1139.   call int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) ; std::basic_streambuf<char,std::char_traits<char> >::sputc
  1140.   mov DWORD PTR tv290[rsp], eax
  1141.   mov eax, DWORD PTR tv290[rsp]
  1142.   mov DWORD PTR $T6[rsp], eax
  1143.   call static int std::char_traits<char>::eof(void) ; std::char_traits<char>::eof
  1144.   mov DWORD PTR $T7[rsp], eax
  1145.   lea rdx, QWORD PTR $T6[rsp]
  1146.   lea rcx, QWORD PTR $T7[rsp]
  1147.   call static bool std::char_traits<char>::eq_int_type(int const &,int const &) ; std::char_traits<char>::eq_int_type
  1148.   movzx eax, al
  1149.   test eax, eax
  1150.   je SHORT $LN13@operator
  1151.   mov eax, DWORD PTR _State$[rsp]
  1152.   or eax, 4
  1153.   mov DWORD PTR _State$[rsp], eax
  1154. $LN13@operator:
  1155.   jmp $LN5@operator
  1156. $LN6@operator:
  1157.   jmp SHORT $LN8@operator
  1158. $LN21@operator:
  1159. $LN8@operator:
  1160.   mov rax, QWORD PTR _Ostr$[rsp]
  1161.   mov rax, QWORD PTR [rax]
  1162.   movsxd rax, DWORD PTR [rax+4]
  1163.   mov rcx, QWORD PTR _Ostr$[rsp]
  1164.   add rcx, rax
  1165.   mov rax, rcx
  1166.   xor edx, edx
  1167.   mov rcx, rax
  1168.   call __int64 std::ios_base::width(__int64) ; std::ios_base::width
  1169.   mov rax, QWORD PTR _Ostr$[rsp]
  1170.   mov rax, QWORD PTR [rax]
  1171.   movsxd rax, DWORD PTR [rax+4]
  1172.   mov rcx, QWORD PTR _Ostr$[rsp]
  1173.   add rcx, rax
  1174.   mov rax, rcx
  1175.   xor r8d, r8d
  1176.   mov edx, DWORD PTR _State$[rsp]
  1177.   mov rcx, rax
  1178.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  1179.   mov rax, QWORD PTR _Ostr$[rsp]
  1180.   mov QWORD PTR $T8[rsp], rax
  1181.   lea rcx, QWORD PTR _Ok$[rsp]
  1182.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  1183.   mov rax, QWORD PTR $T8[rsp]
  1184.   add rsp, 168 ; 000000a8H
  1185.   ret 0
  1186. std::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &,char) ENDP ; std::operator<<<std::char_traits<char> >
  1187. _State$ = 32
  1188. tv283 = 36
  1189. tv288 = 37
  1190. _Pad$1 = 40
  1191. tv65 = 48
  1192. tv285 = 52
  1193. $T2 = 56
  1194. $T3 = 60
  1195. tv287 = 64
  1196. $T4 = 68
  1197. $T5 = 72
  1198. tv290 = 76
  1199. $T6 = 80
  1200. $T7 = 84
  1201. tv130 = 88
  1202. tv284 = 96
  1203. tv286 = 104
  1204. tv289 = 112
  1205. $T8 = 120
  1206. _Ok$ = 128
  1207. $T9 = 144
  1208. _Ostr$ = 176
  1209. _Ch$ = 184
  1210. int `dtor$0::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(dtor$0::std &,char)'::`1'::dtor$0 PROC ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
  1211.   push rbp
  1212.   sub rsp, 32 ; 00000020H
  1213.   mov rbp, rdx
  1214.   lea rcx, QWORD PTR _Ok$[rbp]
  1215.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  1216.   add rsp, 32 ; 00000020H
  1217.   pop rbp
  1218.   ret 0
  1219. int `dtor$0::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(dtor$0::std &,char)'::`1'::dtor$0 ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
  1220. _State$ = 32
  1221. tv283 = 36
  1222. tv288 = 37
  1223. _Pad$1 = 40
  1224. tv65 = 48
  1225. tv285 = 52
  1226. $T2 = 56
  1227. $T3 = 60
  1228. tv287 = 64
  1229. $T4 = 68
  1230. $T5 = 72
  1231. tv290 = 76
  1232. $T6 = 80
  1233. $T7 = 84
  1234. tv130 = 88
  1235. tv284 = 96
  1236. tv286 = 104
  1237. tv289 = 112
  1238. $T8 = 120
  1239. _Ok$ = 128
  1240. $T9 = 144
  1241. _Ostr$ = 176
  1242. _Ch$ = 184
  1243. int `catch$1::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(catch$1::std &,char)'::`1'::catch$1 PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
  1244.   mov QWORD PTR [rsp+16], rdx
  1245.   push rbp
  1246.   sub rsp, 32 ; 00000020H
  1247.   mov rbp, rdx
  1248. __catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
  1249.   mov rax, QWORD PTR _Ostr$[rbp]
  1250.   mov rax, QWORD PTR [rax]
  1251.   movsxd rax, DWORD PTR [rax+4]
  1252.   mov rcx, QWORD PTR _Ostr$[rbp]
  1253.   add rcx, rax
  1254.   mov rax, rcx
  1255.   mov r8b, 1
  1256.   mov edx, 4
  1257.   mov rcx, rax
  1258.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  1259.   npad 1
  1260.   lea rax, $LN21@catch$1
  1261.   add rsp, 32 ; 00000020H
  1262.   pop rbp
  1263.   ret 0
  1264.   int 3
  1265. int `catch$1::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(catch$1::std &,char)'::`1'::catch$1 ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
  1266.  
  1267. _Ostr$ = 48
  1268. std::basic_ostream<char,std::char_traits<char> > & std::endl<char,std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &) PROC ; std::endl<char,std::char_traits<char> >, COMDAT
  1269. $LN3:
  1270.   mov QWORD PTR [rsp+8], rcx
  1271.   sub rsp, 40 ; 00000028H
  1272.   mov rax, QWORD PTR _Ostr$[rsp]
  1273.   mov rax, QWORD PTR [rax]
  1274.   movsxd rax, DWORD PTR [rax+4]
  1275.   mov rcx, QWORD PTR _Ostr$[rsp]
  1276.   add rcx, rax
  1277.   mov rax, rcx
  1278.   mov dl, 10
  1279.   mov rcx, rax
  1280.   call char std::basic_ios<char,std::char_traits<char> >::widen(char)const  ; std::basic_ios<char,std::char_traits<char> >::widen
  1281.   movzx edx, al
  1282.   mov rcx, QWORD PTR _Ostr$[rsp]
  1283.   call std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::put(char) ; std::basic_ostream<char,std::char_traits<char> >::put
  1284.   mov rcx, QWORD PTR _Ostr$[rsp]
  1285.   call std::basic_ostream<char,std::char_traits<char> > & std::basic_ostream<char,std::char_traits<char> >::flush(void) ; std::basic_ostream<char,std::char_traits<char> >::flush
  1286.   mov rax, QWORD PTR _Ostr$[rsp]
  1287.   add rsp, 40 ; 00000028H
  1288.   ret 0
  1289. std::basic_ostream<char,std::char_traits<char> > & std::endl<char,std::char_traits<char> >(std::basic_ostream<char,std::char_traits<char> > &) ENDP ; std::endl<char,std::char_traits<char> >
  1290.  
  1291. this$ = 48
  1292. _Message$ = 56
  1293. std::runtime_error::runtime_error(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) PROC ; std::runtime_error::runtime_error, COMDAT
  1294. $LN4:
  1295.   mov QWORD PTR [rsp+16], rdx
  1296.   mov QWORD PTR [rsp+8], rcx
  1297.   sub rsp, 40 ; 00000028H
  1298.   mov rcx, QWORD PTR _Message$[rsp]
  1299.   call char const * std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  1300.   mov rdx, rax
  1301.   mov rcx, QWORD PTR this$[rsp]
  1302.   call std::exception::exception(char const * const) ; std::exception::exception
  1303.   mov rax, QWORD PTR this$[rsp]
  1304.   lea rcx, OFFSET FLAT:const std::runtime_error::`vftable'
  1305.  mov QWORD PTR [rax], rcx
  1306.  mov rax, QWORD PTR this$[rsp]
  1307.  add rsp, 40 ; 00000028H
  1308.  ret 0
  1309. std::runtime_error::runtime_error(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ENDP ; std::runtime_error::runtime_error
  1310.  
  1311. this$ = 48
  1312. _Message$ = 56
  1313. std::runtime_error::runtime_error(char const *) PROC ; std::runtime_error::runtime_error, COMDAT
  1314. $LN4:
  1315.  mov QWORD PTR [rsp+16], rdx
  1316.  mov QWORD PTR [rsp+8], rcx
  1317.  sub rsp, 40 ; 00000028H
  1318.  mov rdx, QWORD PTR _Message$[rsp]
  1319.  mov rcx, QWORD PTR this$[rsp]
  1320.  call std::exception::exception(char const * const) ; std::exception::exception
  1321.  mov rax, QWORD PTR this$[rsp]
  1322.  lea rcx, OFFSET FLAT:const std::runtime_error::`vftable'
  1323.   mov QWORD PTR [rax], rcx
  1324.   mov rax, QWORD PTR this$[rsp]
  1325.   add rsp, 40 ; 00000028H
  1326.   ret 0
  1327. std::runtime_error::runtime_error(char const *) ENDP ; std::runtime_error::runtime_error
  1328.  
  1329. this$ = 48
  1330. int std::basic_streambuf<char,std::char_traits<char> >::pubsync(void) PROC ; std::basic_streambuf<char,std::char_traits<char> >::pubsync, COMDAT
  1331. $LN3:
  1332.   mov QWORD PTR [rsp+8], rcx
  1333.   sub rsp, 40 ; 00000028H
  1334.   mov rax, QWORD PTR this$[rsp]
  1335.   mov rax, QWORD PTR [rax]
  1336.   mov rcx, QWORD PTR this$[rsp]
  1337.   call QWORD PTR [rax+104]
  1338.   add rsp, 40 ; 00000028H
  1339.   ret 0
  1340. int std::basic_streambuf<char,std::char_traits<char> >::pubsync(void) ENDP ; std::basic_streambuf<char,std::char_traits<char> >::pubsync
  1341.  
  1342. tv78 = 32
  1343. $T1 = 40
  1344. tv79 = 48
  1345. this$ = 80
  1346. _Ch$ = 88
  1347. int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) PROC ; std::basic_streambuf<char,std::char_traits<char> >::sputc, COMDAT
  1348. $LN5:
  1349.   mov BYTE PTR [rsp+16], dl
  1350.   mov QWORD PTR [rsp+8], rcx
  1351.   sub rsp, 72 ; 00000048H
  1352.   mov rcx, QWORD PTR this$[rsp]
  1353.   call __int64 std::basic_streambuf<char,std::char_traits<char> >::_Pnavail(void)const  ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail
  1354.   test rax, rax
  1355.   jle SHORT $LN3@sputc
  1356.   mov rcx, QWORD PTR this$[rsp]
  1357.   call char * std::basic_streambuf<char,std::char_traits<char> >::_Pninc(void) ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc
  1358.   mov QWORD PTR $T1[rsp], rax
  1359.   mov rax, QWORD PTR $T1[rsp]
  1360.   movzx ecx, BYTE PTR _Ch$[rsp]
  1361.   mov BYTE PTR [rax], cl
  1362.   mov rcx, QWORD PTR $T1[rsp]
  1363.   call static int std::char_traits<char>::to_int_type(char const &) ; std::char_traits<char>::to_int_type
  1364.   mov DWORD PTR tv78[rsp], eax
  1365.   jmp SHORT $LN4@sputc
  1366. $LN3@sputc:
  1367.   lea rcx, QWORD PTR _Ch$[rsp]
  1368.   call static int std::char_traits<char>::to_int_type(char const &) ; std::char_traits<char>::to_int_type
  1369.   mov rcx, QWORD PTR this$[rsp]
  1370.   mov rcx, QWORD PTR [rcx]
  1371.   mov QWORD PTR tv79[rsp], rcx
  1372.   mov edx, eax
  1373.   mov rcx, QWORD PTR this$[rsp]
  1374.   mov rax, QWORD PTR tv79[rsp]
  1375.   call QWORD PTR [rax+24]
  1376.   mov DWORD PTR tv78[rsp], eax
  1377. $LN4@sputc:
  1378.   mov eax, DWORD PTR tv78[rsp]
  1379.   add rsp, 72 ; 00000048H
  1380.   ret 0
  1381. int std::basic_streambuf<char,std::char_traits<char> >::sputc(char) ENDP ; std::basic_streambuf<char,std::char_traits<char> >::sputc
  1382.  
  1383. tv76 = 0
  1384. this$ = 32
  1385. char * std::basic_streambuf<char,std::char_traits<char> >::_Pninc(void) PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc, COMDAT
  1386. $LN3:
  1387.   mov QWORD PTR [rsp+8], rcx
  1388.   sub rsp, 24
  1389.   mov rax, QWORD PTR this$[rsp]
  1390.   mov rax, QWORD PTR [rax+88]
  1391.   mov eax, DWORD PTR [rax]
  1392.   dec eax
  1393.   mov rcx, QWORD PTR this$[rsp]
  1394.   mov rcx, QWORD PTR [rcx+88]
  1395.   mov DWORD PTR [rcx], eax
  1396.   mov rax, QWORD PTR this$[rsp]
  1397.   mov rax, QWORD PTR [rax+64]
  1398.   mov rax, QWORD PTR [rax]
  1399.   mov QWORD PTR tv76[rsp], rax
  1400.   mov rax, QWORD PTR this$[rsp]
  1401.   mov rax, QWORD PTR [rax+64]
  1402.   mov rax, QWORD PTR [rax]
  1403.   inc rax
  1404.   mov rcx, QWORD PTR this$[rsp]
  1405.   mov rcx, QWORD PTR [rcx+64]
  1406.   mov QWORD PTR [rcx], rax
  1407.   mov rax, QWORD PTR tv76[rsp]
  1408.   add rsp, 24
  1409.   ret 0
  1410. char * std::basic_streambuf<char,std::char_traits<char> >::_Pninc(void) ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Pninc
  1411.  
  1412. tv69 = 0
  1413. this$ = 32
  1414. __int64 std::basic_streambuf<char,std::char_traits<char> >::_Pnavail(void)const  PROC ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail, COMDAT
  1415. $LN5:
  1416.   mov QWORD PTR [rsp+8], rcx
  1417.   sub rsp, 24
  1418.   mov rax, QWORD PTR this$[rsp]
  1419.   mov rax, QWORD PTR [rax+64]
  1420.   cmp QWORD PTR [rax], 0
  1421.   je SHORT $LN3@Pnavail
  1422.   mov rax, QWORD PTR this$[rsp]
  1423.   mov rax, QWORD PTR [rax+88]
  1424.   mov eax, DWORD PTR [rax]
  1425.   mov DWORD PTR tv69[rsp], eax
  1426.   jmp SHORT $LN4@Pnavail
  1427. $LN3@Pnavail:
  1428.   mov DWORD PTR tv69[rsp], 0
  1429. $LN4@Pnavail:
  1430.   movsxd rax, DWORD PTR tv69[rsp]
  1431.   add rsp, 24
  1432.   ret 0
  1433. __int64 std::basic_streambuf<char,std::char_traits<char> >::_Pnavail(void)const  ENDP ; std::basic_streambuf<char,std::char_traits<char> >::_Pnavail
  1434.  
  1435. this$ = 8
  1436. std::error_category::error_category(void) PROC ; std::error_category::error_category, COMDAT
  1437.   mov QWORD PTR [rsp+8], rcx
  1438.   mov rax, QWORD PTR this$[rsp]
  1439.   mov rcx, QWORD PTR this$[rsp]
  1440.   mov QWORD PTR [rax+8], rcx
  1441.   mov rax, QWORD PTR this$[rsp]
  1442.   ret 0
  1443. std::error_category::error_category(void) ENDP ; std::error_category::error_category
  1444.  
  1445. this$ = 8
  1446. virtual std::error_category::~error_category(void) PROC ; std::error_category::~error_category, COMDAT
  1447.   mov QWORD PTR [rsp+8], rcx
  1448.   ret 0
  1449. virtual std::error_category::~error_category(void) ENDP ; std::error_category::~error_category
  1450.  
  1451. tv67 = 0
  1452. this$ = 32
  1453. _Right$ = 40
  1454. bool std::error_category::operator==(std::error_category const &)const  PROC ; std::error_category::operator==, COMDAT
  1455. $LN5:
  1456.   mov QWORD PTR [rsp+16], rdx
  1457.   mov QWORD PTR [rsp+8], rcx
  1458.   sub rsp, 24
  1459.   mov rax, QWORD PTR this$[rsp]
  1460.   mov rcx, QWORD PTR _Right$[rsp]
  1461.   mov rcx, QWORD PTR [rcx+8]
  1462.   cmp QWORD PTR [rax+8], rcx
  1463.   jne SHORT $LN3@operator
  1464.   mov DWORD PTR tv67[rsp], 1
  1465.   jmp SHORT $LN4@operator
  1466. $LN3@operator:
  1467.   mov DWORD PTR tv67[rsp], 0
  1468. $LN4@operator:
  1469.   movzx eax, BYTE PTR tv67[rsp]
  1470.   add rsp, 24
  1471.   ret 0
  1472. bool std::error_category::operator==(std::error_category const &)const  ENDP ; std::error_category::operator==
  1473.  
  1474. this$ = 8
  1475. _Val$ = 16
  1476. _Cat$ = 24
  1477. std::error_code::error_code(int,std::error_category const &) PROC ; std::error_code::error_code, COMDAT
  1478.   mov QWORD PTR [rsp+24], r8
  1479.   mov DWORD PTR [rsp+16], edx
  1480.   mov QWORD PTR [rsp+8], rcx
  1481.   mov rax, QWORD PTR this$[rsp]
  1482.   mov ecx, DWORD PTR _Val$[rsp]
  1483.   mov DWORD PTR [rax], ecx
  1484.   mov rax, QWORD PTR this$[rsp]
  1485.   mov rcx, QWORD PTR _Cat$[rsp]
  1486.   mov QWORD PTR [rax+8], rcx
  1487.   mov rax, QWORD PTR this$[rsp]
  1488.   ret 0
  1489. std::error_code::error_code(int,std::error_category const &) ENDP ; std::error_code::error_code
  1490.  
  1491. this$ = 8
  1492. int std::error_code::value(void)const  PROC ; std::error_code::value, COMDAT
  1493.   mov QWORD PTR [rsp+8], rcx
  1494.   mov rax, QWORD PTR this$[rsp]
  1495.   mov eax, DWORD PTR [rax]
  1496.   ret 0
  1497. int std::error_code::value(void)const  ENDP ; std::error_code::value
  1498.  
  1499. this$ = 8
  1500. std::error_category const & std::error_code::category(void)const  PROC ; std::error_code::category, COMDAT
  1501.   mov QWORD PTR [rsp+8], rcx
  1502.   mov rax, QWORD PTR this$[rsp]
  1503.   mov rax, QWORD PTR [rax+8]
  1504.   ret 0
  1505. std::error_category const & std::error_code::category(void)const  ENDP ; std::error_code::category
  1506.  
  1507. $T1 = 32
  1508. tv67 = 40
  1509. tv70 = 48
  1510. this$ = 80
  1511. __$ReturnUdt$ = 88
  1512. std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::error_code::message(void)const  PROC ; std::error_code::message, COMDAT
  1513. $LN5:
  1514.   mov QWORD PTR [rsp+16], rdx
  1515.   mov QWORD PTR [rsp+8], rcx
  1516.   sub rsp, 72 ; 00000048H
  1517.   mov DWORD PTR $T1[rsp], 0
  1518.   mov rcx, QWORD PTR this$[rsp]
  1519.   call std::error_category const & std::error_code::category(void)const  ; std::error_code::category
  1520.   mov QWORD PTR tv67[rsp], rax
  1521.   mov rcx, QWORD PTR this$[rsp]
  1522.   call int std::error_code::value(void)const  ; std::error_code::value
  1523.   mov rcx, QWORD PTR tv67[rsp]
  1524.   mov rcx, QWORD PTR [rcx]
  1525.   mov QWORD PTR tv70[rsp], rcx
  1526.   mov r8d, eax
  1527.   mov rdx, QWORD PTR __$ReturnUdt$[rsp]
  1528.   mov rcx, QWORD PTR tv67[rsp]
  1529.   mov rax, QWORD PTR tv70[rsp]
  1530.   call QWORD PTR [rax+16]
  1531.   mov eax, DWORD PTR $T1[rsp]
  1532.   or eax, 1
  1533.   mov DWORD PTR $T1[rsp], eax
  1534.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  1535.   add rsp, 72 ; 00000048H
  1536.   ret 0
  1537. std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::error_code::message(void)const  ENDP ; std::error_code::message
  1538.  
  1539. this$ = 8
  1540. _Val$ = 16
  1541. _Cat$ = 24
  1542. std::error_condition::error_condition(int,std::error_category const &) PROC ; std::error_condition::error_condition, COMDAT
  1543.   mov QWORD PTR [rsp+24], r8
  1544.   mov DWORD PTR [rsp+16], edx
  1545.   mov QWORD PTR [rsp+8], rcx
  1546.   mov rax, QWORD PTR this$[rsp]
  1547.   mov ecx, DWORD PTR _Val$[rsp]
  1548.   mov DWORD PTR [rax], ecx
  1549.   mov rax, QWORD PTR this$[rsp]
  1550.   mov rcx, QWORD PTR _Cat$[rsp]
  1551.   mov QWORD PTR [rax+8], rcx
  1552.   mov rax, QWORD PTR this$[rsp]
  1553.   ret 0
  1554. std::error_condition::error_condition(int,std::error_category const &) ENDP ; std::error_condition::error_condition
  1555.  
  1556. this$ = 8
  1557. int std::error_condition::value(void)const  PROC ; std::error_condition::value, COMDAT
  1558.   mov QWORD PTR [rsp+8], rcx
  1559.   mov rax, QWORD PTR this$[rsp]
  1560.   mov eax, DWORD PTR [rax]
  1561.   ret 0
  1562. int std::error_condition::value(void)const  ENDP ; std::error_condition::value
  1563.  
  1564. this$ = 8
  1565. std::error_category const & std::error_condition::category(void)const  PROC ; std::error_condition::category, COMDAT
  1566.   mov QWORD PTR [rsp+8], rcx
  1567.   mov rax, QWORD PTR this$[rsp]
  1568.   mov rax, QWORD PTR [rax+8]
  1569.   ret 0
  1570. std::error_category const & std::error_condition::category(void)const  ENDP ; std::error_condition::category
  1571.  
  1572. tv78 = 32
  1573. tv72 = 36
  1574. tv69 = 40
  1575. _Left$ = 64
  1576. _Right$ = 72
  1577. bool std::operator==(std::error_condition const &,std::error_condition const &) PROC ; std::operator==, COMDAT
  1578. $LN5:
  1579.   mov QWORD PTR [rsp+16], rdx
  1580.   mov QWORD PTR [rsp+8], rcx
  1581.   sub rsp, 56 ; 00000038H
  1582.   mov rcx, QWORD PTR _Right$[rsp]
  1583.   call std::error_category const & std::error_condition::category(void)const  ; std::error_condition::category
  1584.   mov QWORD PTR tv69[rsp], rax
  1585.   mov rcx, QWORD PTR _Left$[rsp]
  1586.   call std::error_category const & std::error_condition::category(void)const  ; std::error_condition::category
  1587.   mov rcx, QWORD PTR tv69[rsp]
  1588.   mov rdx, rcx
  1589.   mov rcx, rax
  1590.   call bool std::error_category::operator==(std::error_category const &)const  ; std::error_category::operator==
  1591.   movzx eax, al
  1592.   test eax, eax
  1593.   je SHORT $LN3@operator
  1594.   mov rcx, QWORD PTR _Left$[rsp]
  1595.   call int std::error_condition::value(void)const  ; std::error_condition::value
  1596.   mov DWORD PTR tv72[rsp], eax
  1597.   mov rcx, QWORD PTR _Right$[rsp]
  1598.   call int std::error_condition::value(void)const  ; std::error_condition::value
  1599.   mov ecx, DWORD PTR tv72[rsp]
  1600.   cmp ecx, eax
  1601.   jne SHORT $LN3@operator
  1602.   mov DWORD PTR tv78[rsp], 1
  1603.   jmp SHORT $LN4@operator
  1604. $LN3@operator:
  1605.   mov DWORD PTR tv78[rsp], 0
  1606. $LN4@operator:
  1607.   movzx eax, BYTE PTR tv78[rsp]
  1608.   add rsp, 56 ; 00000038H
  1609.   ret 0
  1610. bool std::operator==(std::error_condition const &,std::error_condition const &) ENDP ; std::operator==
  1611.  
  1612. this$ = 48
  1613. __$ReturnUdt$ = 56
  1614. _Errval$ = 64
  1615. virtual std::error_condition std::error_category::default_error_condition(int)const  PROC ; std::error_category::default_error_condition, COMDAT
  1616. $LN3:
  1617.   mov DWORD PTR [rsp+24], r8d
  1618.   mov QWORD PTR [rsp+16], rdx
  1619.   mov QWORD PTR [rsp+8], rcx
  1620.   sub rsp, 40 ; 00000028H
  1621.   mov r8, QWORD PTR this$[rsp]
  1622.   mov edx, DWORD PTR _Errval$[rsp]
  1623.   mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  1624.   call std::error_condition::error_condition(int,std::error_category const &) ; std::error_condition::error_condition
  1625.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  1626.   add rsp, 40 ; 00000028H
  1627.   ret 0
  1628. virtual std::error_condition std::error_category::default_error_condition(int)const  ENDP ; std::error_category::default_error_condition
  1629.  
  1630. $T1 = 32
  1631. this$ = 64
  1632. _Errval$ = 72
  1633. _Cond$ = 80
  1634. virtual bool std::error_category::equivalent(int,std::error_condition const &)const  PROC ; std::error_category::equivalent, COMDAT
  1635. $LN3:
  1636.   mov QWORD PTR [rsp+24], r8
  1637.   mov DWORD PTR [rsp+16], edx
  1638.   mov QWORD PTR [rsp+8], rcx
  1639.   sub rsp, 56 ; 00000038H
  1640.   mov rax, QWORD PTR this$[rsp]
  1641.   mov rax, QWORD PTR [rax]
  1642.   mov r8d, DWORD PTR _Errval$[rsp]
  1643.   lea rdx, QWORD PTR $T1[rsp]
  1644.   mov rcx, QWORD PTR this$[rsp]
  1645.   call QWORD PTR [rax+24]
  1646.   mov rdx, QWORD PTR _Cond$[rsp]
  1647.   mov rcx, rax
  1648.   call bool std::operator==(std::error_condition const &,std::error_condition const &) ; std::operator==
  1649.   add rsp, 56 ; 00000038H
  1650.   ret 0
  1651. virtual bool std::error_category::equivalent(int,std::error_condition const &)const  ENDP ; std::error_category::equivalent
  1652.  
  1653. tv74 = 32
  1654. this$ = 64
  1655. _Code$ = 72
  1656. _Errval$ = 80
  1657. virtual bool std::error_category::equivalent(std::error_code const &,int)const  PROC ; std::error_category::equivalent, COMDAT
  1658. $LN5:
  1659.   mov DWORD PTR [rsp+24], r8d
  1660.   mov QWORD PTR [rsp+16], rdx
  1661.   mov QWORD PTR [rsp+8], rcx
  1662.   sub rsp, 56 ; 00000038H
  1663.   mov rcx, QWORD PTR _Code$[rsp]
  1664.   call std::error_category const & std::error_code::category(void)const  ; std::error_code::category
  1665.   mov rdx, rax
  1666.   mov rcx, QWORD PTR this$[rsp]
  1667.   call bool std::error_category::operator==(std::error_category const &)const  ; std::error_category::operator==
  1668.   movzx eax, al
  1669.   test eax, eax
  1670.   je SHORT $LN3@equivalent
  1671.   mov rcx, QWORD PTR _Code$[rsp]
  1672.   call int std::error_code::value(void)const  ; std::error_code::value
  1673.   cmp eax, DWORD PTR _Errval$[rsp]
  1674.   jne SHORT $LN3@equivalent
  1675.   mov DWORD PTR tv74[rsp], 1
  1676.   jmp SHORT $LN4@equivalent
  1677. $LN3@equivalent:
  1678.   mov DWORD PTR tv74[rsp], 0
  1679. $LN4@equivalent:
  1680.   movzx eax, BYTE PTR tv74[rsp]
  1681.   add rsp, 56 ; 00000038H
  1682.   ret 0
  1683. virtual bool std::error_category::equivalent(std::error_code const &,int)const  ENDP ; std::error_category::equivalent
  1684.  
  1685. __$ReturnUdt$ = 48
  1686. _Errno$ = 56
  1687. std::error_code std::make_error_code(std::io_errc) PROC ; std::make_error_code, COMDAT
  1688. $LN3:
  1689.   mov DWORD PTR [rsp+16], edx
  1690.   mov QWORD PTR [rsp+8], rcx
  1691.   sub rsp, 40 ; 00000028H
  1692.   call std::error_category const & std::iostream_category(void) ; std::iostream_category
  1693.   mov r8, rax
  1694.   mov edx, DWORD PTR _Errno$[rsp]
  1695.   mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  1696.   call std::error_code::error_code(int,std::error_category const &) ; std::error_code::error_code
  1697.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  1698.   add rsp, 40 ; 00000028H
  1699.   ret 0
  1700. std::error_code std::make_error_code(std::io_errc) ENDP ; std::make_error_code
  1701.  
  1702. $T1 = 32
  1703. tv79 = 40
  1704. tv84 = 48
  1705. $T2 = 56
  1706. $T3 = 64
  1707. __$ArrayPad$ = 96
  1708. __$ReturnUdt$ = 128
  1709. _Errcode$ = 136
  1710. _Message$ = 144
  1711. static std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> >) PROC ; std::_System_error::_Makestr, COMDAT
  1712. $LN8:
  1713.   mov QWORD PTR [rsp+24], r8
  1714.   mov QWORD PTR [rsp+16], rdx
  1715.   mov QWORD PTR [rsp+8], rcx
  1716.   sub rsp, 120 ; 00000078H
  1717.   mov QWORD PTR $T2[rsp], -2
  1718.   mov rax, QWORD PTR __security_cookie
  1719.   xor rax, rsp
  1720.   mov QWORD PTR __$ArrayPad$[rsp], rax
  1721.   mov DWORD PTR $T1[rsp], 0
  1722.   mov rcx, QWORD PTR _Message$[rsp]
  1723.   call bool std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty
  1724.   movzx eax, al
  1725.   test eax, eax
  1726.   jne SHORT $LN2@Makestr
  1727.   lea rdx, OFFSET FLAT:`string'
  1728.  mov rcx, QWORD PTR _Message$[rsp]
  1729.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  1730. $LN2@Makestr:
  1731.  lea rdx, QWORD PTR $T3[rsp]
  1732.  mov rcx, QWORD PTR _Errcode$[rsp]
  1733.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::error_code::message(void)const  ; std::error_code::message
  1734.  mov QWORD PTR tv79[rsp], rax
  1735.  mov rax, QWORD PTR tv79[rsp]
  1736.  mov QWORD PTR tv84[rsp], rax
  1737.  mov rdx, QWORD PTR tv84[rsp]
  1738.  mov rcx, QWORD PTR _Message$[rsp]
  1739.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  1740.  npad 1
  1741.  lea rcx, QWORD PTR $T3[rsp]
  1742.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1743.  mov rdx, QWORD PTR _Message$[rsp]
  1744.  mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  1745.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  1746.  mov eax, DWORD PTR $T1[rsp]
  1747.  or eax, 1
  1748.  mov DWORD PTR $T1[rsp], eax
  1749.  mov rcx, QWORD PTR _Message$[rsp]
  1750.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1751.  mov rax, QWORD PTR __$ReturnUdt$[rsp]
  1752.  mov rcx, QWORD PTR __$ArrayPad$[rsp]
  1753.  xor rcx, rsp
  1754.  call __security_check_cookie
  1755.  add rsp, 120 ; 00000078H
  1756.  ret 0
  1757. static std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> >) ENDP ; std::_System_error::_Makestr
  1758. $T1 = 32
  1759. tv79 = 40
  1760. tv84 = 48
  1761. $T2 = 56
  1762. $T3 = 64
  1763. __$ArrayPad$ = 96
  1764. __$ReturnUdt$ = 128
  1765. _Errcode$ = 136
  1766. _Message$ = 144
  1767. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$0 PROC ; `std::_System_error::_Makestr'::`1'::dtor$0
  1768.  push rbp
  1769.  sub rsp, 32 ; 00000020H
  1770.  mov rbp, rdx
  1771.  mov rcx, QWORD PTR _Message$[rbp]
  1772.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1773.  add rsp, 32 ; 00000020H
  1774.  pop rbp
  1775.  ret 0
  1776. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$0 ENDP ; `std::_System_error::_Makestr'::`1'::dtor$0
  1777. $T1 = 32
  1778. tv79 = 40
  1779. tv84 = 48
  1780. $T2 = 56
  1781. $T3 = 64
  1782. __$ArrayPad$ = 96
  1783. __$ReturnUdt$ = 128
  1784. _Errcode$ = 136
  1785. _Message$ = 144
  1786. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$1 PROC ; `std::_System_error::_Makestr'::`1'::dtor$1
  1787.  push rbp
  1788.  sub rsp, 32 ; 00000020H
  1789.  mov rbp, rdx
  1790.  lea rcx, QWORD PTR $T3[rbp]
  1791.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1792.  add rsp, 32 ; 00000020H
  1793.  pop rbp
  1794.  ret 0
  1795. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$1 ENDP ; `std::_System_error::_Makestr'::`1'::dtor$1
  1796.  
  1797. $T1 = 32
  1798. tv131 = 40
  1799. tv69 = 48
  1800. tv133 = 56
  1801. $T2 = 64
  1802. $T3 = 80
  1803. $T4 = 96
  1804. $T5 = 128
  1805. __$ArrayPad$ = 160
  1806. this$ = 208
  1807. _Errcode$ = 216
  1808. _Message$ = 224
  1809. std::_System_error::_System_error(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) PROC ; std::_System_error::_System_error, COMDAT
  1810. $LN6:
  1811.  mov QWORD PTR [rsp+24], r8
  1812.  mov QWORD PTR [rsp+16], rdx
  1813.  mov QWORD PTR [rsp+8], rcx
  1814.  push rsi
  1815.  push rdi
  1816.  sub rsp, 184 ; 000000b8H
  1817.  mov QWORD PTR $T2[rsp], -2
  1818.  mov rax, QWORD PTR __security_cookie
  1819.  xor rax, rsp
  1820.  mov QWORD PTR __$ArrayPad$[rsp], rax
  1821.  lea rax, QWORD PTR $T4[rsp]
  1822.  mov QWORD PTR $T1[rsp], rax
  1823.  mov rdx, QWORD PTR _Message$[rsp]
  1824.  mov rcx, QWORD PTR $T1[rsp]
  1825.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  1826.  mov QWORD PTR tv131[rsp], rax
  1827.  lea rax, QWORD PTR $T3[rsp]
  1828.  mov rdi, rax
  1829.  mov rsi, QWORD PTR _Errcode$[rsp]
  1830.  mov ecx, 16
  1831.  rep movsb
  1832.  mov r8, QWORD PTR tv131[rsp]
  1833.  lea rdx, QWORD PTR $T3[rsp]
  1834.  lea rcx, QWORD PTR $T5[rsp]
  1835.  call static std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> >) ; std::_System_error::_Makestr
  1836.  mov QWORD PTR tv69[rsp], rax
  1837.  mov rax, QWORD PTR tv69[rsp]
  1838.  mov QWORD PTR tv133[rsp], rax
  1839.  mov rdx, QWORD PTR tv133[rsp]
  1840.  mov rcx, QWORD PTR this$[rsp]
  1841.  call std::runtime_error::runtime_error(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ; std::runtime_error::runtime_error
  1842.  npad 1
  1843.  lea rcx, QWORD PTR $T5[rsp]
  1844.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1845.  mov rax, QWORD PTR this$[rsp]
  1846.  lea rcx, OFFSET FLAT:const std::_System_error::`vftable'
  1847.   mov QWORD PTR [rax], rcx
  1848.   mov rax, QWORD PTR this$[rsp]
  1849.   lea rdi, QWORD PTR [rax+24]
  1850.   mov rsi, QWORD PTR _Errcode$[rsp]
  1851.   mov ecx, 16
  1852.   rep movsb
  1853.   mov rax, QWORD PTR this$[rsp]
  1854.   mov rcx, QWORD PTR __$ArrayPad$[rsp]
  1855.   xor rcx, rsp
  1856.   call __security_check_cookie
  1857.   add rsp, 184 ; 000000b8H
  1858.   pop rdi
  1859.   pop rsi
  1860.   ret 0
  1861. std::_System_error::_System_error(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ENDP ; std::_System_error::_System_error
  1862. $T1 = 32
  1863. tv131 = 40
  1864. tv69 = 48
  1865. tv133 = 56
  1866. $T2 = 64
  1867. $T3 = 80
  1868. $T4 = 96
  1869. $T5 = 128
  1870. __$ArrayPad$ = 160
  1871. this$ = 208
  1872. _Errcode$ = 216
  1873. _Message$ = 224
  1874. int `std::_System_error::_System_error(_System_error::error_code,_System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)'::`1'::dtor$1 PROC ; `std::_System_error::_System_error'::`1'::dtor$1
  1875.   push rbp
  1876.   sub rsp, 32 ; 00000020H
  1877.   mov rbp, rdx
  1878.   lea rcx, QWORD PTR $T5[rbp]
  1879.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1880.   add rsp, 32 ; 00000020H
  1881.   pop rbp
  1882.   ret 0
  1883. int `std::_System_error::_System_error(_System_error::error_code,_System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)'::`1'::dtor$1 ENDP ; `std::_System_error::_System_error'::`1'::dtor$1
  1884.  
  1885. $T1 = 32
  1886. $T2 = 48
  1887. $T3 = 64
  1888. __$ArrayPad$ = 96
  1889. this$ = 144
  1890. _Errcode$ = 152
  1891. _Message$ = 160
  1892. std::system_error::system_error(std::error_code,char const *) PROC ; std::system_error::system_error, COMDAT
  1893. $LN5:
  1894.   mov QWORD PTR [rsp+24], r8
  1895.   mov QWORD PTR [rsp+16], rdx
  1896.   mov QWORD PTR [rsp+8], rcx
  1897.   push rsi
  1898.   push rdi
  1899.   sub rsp, 120 ; 00000078H
  1900.   mov QWORD PTR $T1[rsp], -2
  1901.   mov rax, QWORD PTR __security_cookie
  1902.   xor rax, rsp
  1903.   mov QWORD PTR __$ArrayPad$[rsp], rax
  1904.   mov rdx, QWORD PTR _Message$[rsp]
  1905.   lea rcx, QWORD PTR $T3[rsp]
  1906.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  1907.   npad 1
  1908.   lea rax, QWORD PTR $T2[rsp]
  1909.   mov rdi, rax
  1910.   mov rsi, QWORD PTR _Errcode$[rsp]
  1911.   mov ecx, 16
  1912.   rep movsb
  1913.   lea r8, QWORD PTR $T3[rsp]
  1914.   lea rdx, QWORD PTR $T2[rsp]
  1915.   mov rcx, QWORD PTR this$[rsp]
  1916.   call std::_System_error::_System_error(std::error_code,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ; std::_System_error::_System_error
  1917.   npad 1
  1918.   lea rcx, QWORD PTR $T3[rsp]
  1919.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1920.   mov rax, QWORD PTR this$[rsp]
  1921.   lea rcx, OFFSET FLAT:const std::system_error::`vftable'
  1922.  mov QWORD PTR [rax], rcx
  1923.  mov rax, QWORD PTR this$[rsp]
  1924.  mov rcx, QWORD PTR __$ArrayPad$[rsp]
  1925.  xor rcx, rsp
  1926.  call __security_check_cookie
  1927.  add rsp, 120 ; 00000078H
  1928.  pop rdi
  1929.  pop rsi
  1930.  ret 0
  1931. std::system_error::system_error(std::error_code,char const *) ENDP ; std::system_error::system_error
  1932. $T1 = 32
  1933. $T2 = 48
  1934. $T3 = 64
  1935. __$ArrayPad$ = 96
  1936. this$ = 144
  1937. _Errcode$ = 152
  1938. _Message$ = 160
  1939. int `std::system_error::system_error(system_error::error_code,char const *)'::`1'::dtor$0 PROC ; `std::system_error::system_error'::`1'::dtor$0
  1940.  push rbp
  1941.  sub rsp, 32 ; 00000020H
  1942.  mov rbp, rdx
  1943.  lea rcx, QWORD PTR $T3[rbp]
  1944.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  1945.  add rsp, 32 ; 00000020H
  1946.  pop rbp
  1947.  ret 0
  1948. int `std::system_error::system_error(system_error::error_code,char const *)'::`1'::dtor$0 ENDP ; `std::system_error::system_error'::`1'::dtor$0
  1949.  
  1950. this$ = 48
  1951. std::_Generic_error_category::_Generic_error_category(void) PROC ; std::_Generic_error_category::_Generic_error_category, COMDAT
  1952. $LN3:
  1953.  mov QWORD PTR [rsp+8], rcx
  1954.  sub rsp, 40 ; 00000028H
  1955.  mov rcx, QWORD PTR this$[rsp]
  1956.  call std::error_category::error_category(void) ; std::error_category::error_category
  1957.  mov rax, QWORD PTR this$[rsp]
  1958.  lea rcx, OFFSET FLAT:const std::_Generic_error_category::`vftable'
  1959.   mov QWORD PTR [rax], rcx
  1960.   mov rax, QWORD PTR this$[rsp]
  1961.   mov QWORD PTR [rax+8], 3
  1962.   mov rax, QWORD PTR this$[rsp]
  1963.   add rsp, 40 ; 00000028H
  1964.   ret 0
  1965. std::_Generic_error_category::_Generic_error_category(void) ENDP ; std::_Generic_error_category::_Generic_error_category
  1966.  
  1967. this$ = 8
  1968. virtual char const * std::_Generic_error_category::name(void)const  PROC ; std::_Generic_error_category::name, COMDAT
  1969.   mov QWORD PTR [rsp+8], rcx
  1970.   lea rax, OFFSET FLAT:`string'
  1971.  ret 0
  1972. virtual char const * std::_Generic_error_category::name(void)const  ENDP ; std::_Generic_error_category::name
  1973.  
  1974. $T1 = 32
  1975. this$ = 64
  1976. __$ReturnUdt$ = 72
  1977. _Errcode$ = 80
  1978. virtual std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_Generic_error_category::message(int)const  PROC ; std::_Generic_error_category::message, COMDAT
  1979. $LN5:
  1980.  mov DWORD PTR [rsp+24], r8d
  1981.  mov QWORD PTR [rsp+16], rdx
  1982.  mov QWORD PTR [rsp+8], rcx
  1983.  sub rsp, 56 ; 00000038H
  1984.  mov DWORD PTR $T1[rsp], 0
  1985.  mov ecx, DWORD PTR _Errcode$[rsp]
  1986.  call char const * std::_Syserror_map(int) ; std::_Syserror_map
  1987.  mov rdx, rax
  1988.  mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  1989.  call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  1990.  mov eax, DWORD PTR $T1[rsp]
  1991.  or eax, 1
  1992.  mov DWORD PTR $T1[rsp], eax
  1993.  mov rax, QWORD PTR __$ReturnUdt$[rsp]
  1994.  add rsp, 56 ; 00000038H
  1995.  ret 0
  1996. virtual std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_Generic_error_category::message(int)const  ENDP ; std::_Generic_error_category::message
  1997.  
  1998. this$ = 48
  1999. std::_Iostream_error_category::_Iostream_error_category(void) PROC ; std::_Iostream_error_category::_Iostream_error_category, COMDAT
  2000. $LN3:
  2001.  mov QWORD PTR [rsp+8], rcx
  2002.  sub rsp, 40 ; 00000028H
  2003.  mov rcx, QWORD PTR this$[rsp]
  2004.  call std::_Generic_error_category::_Generic_error_category(void) ; std::_Generic_error_category::_Generic_error_category
  2005.  mov rax, QWORD PTR this$[rsp]
  2006.  lea rcx, OFFSET FLAT:const std::_Iostream_error_category::`vftable'
  2007.   mov QWORD PTR [rax], rcx
  2008.   mov rax, QWORD PTR this$[rsp]
  2009.   mov QWORD PTR [rax+8], 5
  2010.   mov rax, QWORD PTR this$[rsp]
  2011.   add rsp, 40 ; 00000028H
  2012.   ret 0
  2013. std::_Iostream_error_category::_Iostream_error_category(void) ENDP ; std::_Iostream_error_category::_Iostream_error_category
  2014.  
  2015. this$ = 8
  2016. virtual char const * std::_Iostream_error_category::name(void)const  PROC ; std::_Iostream_error_category::name, COMDAT
  2017.   mov QWORD PTR [rsp+8], rcx
  2018.   lea rax, OFFSET FLAT:`string'
  2019.  ret 0
  2020. virtual char const * std::_Iostream_error_category::name(void)const  ENDP ; std::_Iostream_error_category::name
  2021.  
  2022. $T1 = 32
  2023. this$ = 64
  2024. __$ReturnUdt$ = 72
  2025. _Errcode$ = 80
  2026. virtual std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_Iostream_error_category::message(int)const  PROC ; std::_Iostream_error_category::message, COMDAT
  2027. $LN7:
  2028.  mov DWORD PTR [rsp+24], r8d
  2029.  mov QWORD PTR [rsp+16], rdx
  2030.  mov QWORD PTR [rsp+8], rcx
  2031.  sub rsp, 56 ; 00000038H
  2032.  mov DWORD PTR $T1[rsp], 0
  2033.  cmp DWORD PTR _Errcode$[rsp], 1
  2034.  jne SHORT $LN2@message
  2035.  lea rdx, OFFSET FLAT:`string'
  2036.   mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  2037.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  2038.   mov eax, DWORD PTR $T1[rsp]
  2039.   or eax, 1
  2040.   mov DWORD PTR $T1[rsp], eax
  2041.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  2042.   jmp SHORT $LN1@message
  2043.   jmp SHORT $LN1@message
  2044. $LN2@message:
  2045.   mov r8d, DWORD PTR _Errcode$[rsp]
  2046.   mov rdx, QWORD PTR __$ReturnUdt$[rsp]
  2047.   mov rcx, QWORD PTR this$[rsp]
  2048.   call virtual std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_Generic_error_category::message(int)const  ; std::_Generic_error_category::message
  2049.   mov eax, DWORD PTR $T1[rsp]
  2050.   or eax, 1
  2051.   mov DWORD PTR $T1[rsp], eax
  2052.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  2053. $LN1@message:
  2054.   add rsp, 56 ; 00000038H
  2055.   ret 0
  2056. virtual std::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_Iostream_error_category::message(int)const  ENDP ; std::_Iostream_error_category::message
  2057.  
  2058. $T1 = 32
  2059. __formal$ = 64
  2060. _Storage_ptr$ = 72
  2061. __formal$ = 80
  2062. int std::_Immortalize_impl<std::_Iostream_error_category>(void *,void *,void * *) PROC ; std::_Immortalize_impl<std::_Iostream_error_category>, COMDAT
  2063. $LN3:
  2064.   mov QWORD PTR [rsp+24], r8
  2065.   mov QWORD PTR [rsp+16], rdx
  2066.   mov QWORD PTR [rsp+8], rcx
  2067.   sub rsp, 56 ; 00000038H
  2068.   mov rdx, QWORD PTR _Storage_ptr$[rsp]
  2069.   mov ecx, 16
  2070.   call void * operator new(unsigned __int64,void *) ; operator new
  2071.   mov QWORD PTR $T1[rsp], rax
  2072.   mov rcx, QWORD PTR $T1[rsp]
  2073.   call std::_Iostream_error_category::_Iostream_error_category(void) ; std::_Iostream_error_category::_Iostream_error_category
  2074.   mov eax, 1
  2075.   add rsp, 56 ; 00000038H
  2076.   ret 0
  2077. int std::_Immortalize_impl<std::_Iostream_error_category>(void *,void *,void * *) ENDP ; std::_Immortalize_impl<std::_Iostream_error_category>
  2078.  
  2079. std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void) PROC ; std::_Immortalize<std::_Iostream_error_category>, COMDAT
  2080. $LN4:
  2081.   sub rsp, 40 ; 00000028H
  2082.   lea r8, OFFSET FLAT:std::_Align_type<double,16> `std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void)'::`2'::_Storage ; `std::_Immortalize<std::_Iostream_error_category>'::`2'::_Storage
  2083.   lea rdx, OFFSET FLAT:int std::_Immortalize_impl<std::_Iostream_error_category>(void *,void *,void * *) ; std::_Immortalize_impl<std::_Iostream_error_category>
  2084.   lea rcx, OFFSET FLAT:void * `std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void)'::`2'::_Flag ; `std::_Immortalize<std::_Iostream_error_category>'::`2'::_Flag
  2085.   call int std::_Execute_once(std::once_flag &,int (__cdecl*)(void *,void *,void * *),void *) ; std::_Execute_once
  2086.   test eax, eax
  2087.   jne SHORT $LN2@Immortaliz
  2088.   call terminate
  2089. $LN2@Immortaliz:
  2090.   lea rax, OFFSET FLAT:std::_Align_type<double,16> `std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void)'::`2'::_Storage ; `std::_Immortalize<std::_Iostream_error_category>'::`2'::_Storage
  2091. $LN3@Immortaliz:
  2092.   add rsp, 40 ; 00000028H
  2093.   ret 0
  2094. std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void) ENDP ; std::_Immortalize<std::_Iostream_error_category>
  2095.  
  2096. $T1 = 32
  2097. std::error_category const & std::iostream_category(void) PROC ; std::iostream_category, COMDAT
  2098. $LN3:
  2099.   sub rsp, 56 ; 00000038H
  2100.   mov QWORD PTR $T1[rsp], -2
  2101.   call std::_Iostream_error_category & std::_Immortalize<std::_Iostream_error_category>(void) ; std::_Immortalize<std::_Iostream_error_category>
  2102.   npad 1
  2103.   add rsp, 56 ; 00000038H
  2104.   ret 0
  2105. std::error_category const & std::iostream_category(void) ENDP ; std::iostream_category
  2106.  
  2107. _Arg$ = 8
  2108. std::_Facet_base * & std::forward<std::_Facet_base * &>(std::_Facet_base * &) PROC ; std::forward<std::_Facet_base * &>, COMDAT
  2109.   mov QWORD PTR [rsp+8], rcx
  2110.   mov rax, QWORD PTR _Arg$[rsp]
  2111.   ret 0
  2112. std::_Facet_base * & std::forward<std::_Facet_base * &>(std::_Facet_base * &) ENDP ; std::forward<std::_Facet_base * &>
  2113.  
  2114. _Arg$ = 8
  2115. char * const & std::forward<char * const &>(char * const &) PROC ; std::forward<char * const &>, COMDAT
  2116.   mov QWORD PTR [rsp+8], rcx
  2117.   mov rax, QWORD PTR _Arg$[rsp]
  2118.   ret 0
  2119. char * const & std::forward<char * const &>(char * const &) ENDP ; std::forward<char * const &>
  2120.  
  2121. _Arg$ = 8
  2122. std::allocator<char> && std::forward<std::allocator<char> >(std::allocator<char> &) PROC ; std::forward<std::allocator<char> >, COMDAT
  2123.   mov QWORD PTR [rsp+8], rcx
  2124.   mov rax, QWORD PTR _Arg$[rsp]
  2125.   ret 0
  2126. std::allocator<char> && std::forward<std::allocator<char> >(std::allocator<char> &) ENDP ; std::forward<std::allocator<char> >
  2127.  
  2128. _Arg$ = 8
  2129. std::allocator<char> && std::move<std::allocator<char> &>(std::allocator<char> &) PROC ; std::move<std::allocator<char> &>, COMDAT
  2130.   mov QWORD PTR [rsp+8], rcx
  2131.   mov rax, QWORD PTR _Arg$[rsp]
  2132.   ret 0
  2133. std::allocator<char> && std::move<std::allocator<char> &>(std::allocator<char> &) ENDP ; std::move<std::allocator<char> &>
  2134.  
  2135. _Arg$ = 8
  2136. std::basic_string<char,std::char_traits<char>,std::allocator<char> > && std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) PROC ; std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>, COMDAT
  2137.   mov QWORD PTR [rsp+8], rcx
  2138.   mov rax, QWORD PTR _Arg$[rsp]
  2139.   ret 0
  2140. std::basic_string<char,std::char_traits<char>,std::allocator<char> > && std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) ENDP ; std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>
  2141.  
  2142. tv65 = 0
  2143. $T1 = 8
  2144. _Left$ = 32
  2145. _Right$ = 40
  2146. unsigned __int64 const & std::_Min_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) PROC ; std::_Min_value<unsigned __int64>, COMDAT
  2147. $LN5:
  2148.   mov QWORD PTR [rsp+16], rdx
  2149.   mov QWORD PTR [rsp+8], rcx
  2150.   sub rsp, 24
  2151.   mov rax, QWORD PTR _Right$[rsp]
  2152.   mov rcx, QWORD PTR _Left$[rsp]
  2153.   mov rcx, QWORD PTR [rcx]
  2154.   cmp QWORD PTR [rax], rcx
  2155.   jae SHORT $LN3@Min_value
  2156.   mov rax, QWORD PTR _Right$[rsp]
  2157.   mov QWORD PTR tv65[rsp], rax
  2158.   jmp SHORT $LN4@Min_value
  2159. $LN3@Min_value:
  2160.   mov rax, QWORD PTR _Left$[rsp]
  2161.   mov QWORD PTR tv65[rsp], rax
  2162. $LN4@Min_value:
  2163.   mov rax, QWORD PTR tv65[rsp]
  2164.   mov QWORD PTR $T1[rsp], rax
  2165.   mov rax, QWORD PTR $T1[rsp]
  2166.   add rsp, 24
  2167.   ret 0
  2168. unsigned __int64 const & std::_Min_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ENDP ; std::_Min_value<unsigned __int64>
  2169.  
  2170. tv65 = 0
  2171. $T1 = 8
  2172. _Left$ = 32
  2173. _Right$ = 40
  2174. unsigned __int64 const & std::_Max_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) PROC ; std::_Max_value<unsigned __int64>, COMDAT
  2175. $LN5:
  2176.   mov QWORD PTR [rsp+16], rdx
  2177.   mov QWORD PTR [rsp+8], rcx
  2178.   sub rsp, 24
  2179.   mov rax, QWORD PTR _Left$[rsp]
  2180.   mov rcx, QWORD PTR _Right$[rsp]
  2181.   mov rcx, QWORD PTR [rcx]
  2182.   cmp QWORD PTR [rax], rcx
  2183.   jae SHORT $LN3@Max_value
  2184.   mov rax, QWORD PTR _Right$[rsp]
  2185.   mov QWORD PTR tv65[rsp], rax
  2186.   jmp SHORT $LN4@Max_value
  2187. $LN3@Max_value:
  2188.   mov rax, QWORD PTR _Left$[rsp]
  2189.   mov QWORD PTR tv65[rsp], rax
  2190. $LN4@Max_value:
  2191.   mov rax, QWORD PTR tv65[rsp]
  2192.   mov QWORD PTR $T1[rsp], rax
  2193.   mov rax, QWORD PTR $T1[rsp]
  2194.   add rsp, 24
  2195.   ret 0
  2196. unsigned __int64 const & std::_Max_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ENDP ; std::_Max_value<unsigned __int64>
  2197.  
  2198. _InitData$ = 32
  2199. this$ = 64
  2200. _Message$ = 72
  2201. std::exception::exception(char const * const) PROC ; std::exception::exception, COMDAT
  2202. $LN3:
  2203.   mov QWORD PTR [rsp+16], rdx
  2204.   mov QWORD PTR [rsp+8], rcx
  2205.   push rdi
  2206.   sub rsp, 48 ; 00000030H
  2207.   mov rax, QWORD PTR this$[rsp]
  2208.   lea rcx, OFFSET FLAT:const std::exception::`vftable'
  2209.  mov QWORD PTR [rax], rcx
  2210.  mov rax, QWORD PTR this$[rsp]
  2211.  add rax, 8
  2212.  mov rdi, rax
  2213.  xor eax, eax
  2214.  mov ecx, 16
  2215.  rep stosb
  2216.  mov rax, QWORD PTR _Message$[rsp]
  2217.  mov QWORD PTR _InitData$[rsp], rax
  2218.  mov BYTE PTR _InitData$[rsp+8], 1
  2219.  mov rax, QWORD PTR this$[rsp]
  2220.  add rax, 8
  2221.  mov rdx, rax
  2222.  lea rcx, QWORD PTR _InitData$[rsp]
  2223.  call __std_exception_copy
  2224.  mov rax, QWORD PTR this$[rsp]
  2225.  add rsp, 48 ; 00000030H
  2226.  pop rdi
  2227.  ret 0
  2228. std::exception::exception(char const * const) ENDP ; std::exception::exception
  2229.  
  2230. this$ = 16
  2231. _Message$ = 24
  2232. __formal$ = 32
  2233. std::exception::exception(char const * const,int) PROC ; std::exception::exception, COMDAT
  2234. $LN3:
  2235.  mov DWORD PTR [rsp+24], r8d
  2236.  mov QWORD PTR [rsp+16], rdx
  2237.  mov QWORD PTR [rsp+8], rcx
  2238.  push rdi
  2239.  mov rax, QWORD PTR this$[rsp]
  2240.  lea rcx, OFFSET FLAT:const std::exception::`vftable'
  2241.   mov QWORD PTR [rax], rcx
  2242.   mov rax, QWORD PTR this$[rsp]
  2243.   add rax, 8
  2244.   mov rdi, rax
  2245.   xor eax, eax
  2246.   mov ecx, 16
  2247.   rep stosb
  2248.   mov rax, QWORD PTR this$[rsp]
  2249.   mov rcx, QWORD PTR _Message$[rsp]
  2250.   mov QWORD PTR [rax+8], rcx
  2251.   mov rax, QWORD PTR this$[rsp]
  2252.   pop rdi
  2253.   ret 0
  2254. std::exception::exception(char const * const,int) ENDP ; std::exception::exception
  2255.  
  2256. this$ = 48
  2257. _Other$ = 56
  2258. std::exception::exception(std::exception const &) PROC ; std::exception::exception, COMDAT
  2259. $LN3:
  2260.   mov QWORD PTR [rsp+16], rdx
  2261.   mov QWORD PTR [rsp+8], rcx
  2262.   push rdi
  2263.   sub rsp, 32 ; 00000020H
  2264.   mov rax, QWORD PTR this$[rsp]
  2265.   lea rcx, OFFSET FLAT:const std::exception::`vftable'
  2266.  mov QWORD PTR [rax], rcx
  2267.  mov rax, QWORD PTR this$[rsp]
  2268.  add rax, 8
  2269.  mov rdi, rax
  2270.  xor eax, eax
  2271.  mov ecx, 16
  2272.  rep stosb
  2273.  mov rax, QWORD PTR this$[rsp]
  2274.  add rax, 8
  2275.  mov rcx, QWORD PTR _Other$[rsp]
  2276.  add rcx, 8
  2277.  mov rdx, rax
  2278.  call __std_exception_copy
  2279.  mov rax, QWORD PTR this$[rsp]
  2280.  add rsp, 32 ; 00000020H
  2281.  pop rdi
  2282.  ret 0
  2283. std::exception::exception(std::exception const &) ENDP ; std::exception::exception
  2284.  
  2285. this$ = 48
  2286. virtual std::exception::~exception(void) PROC ; std::exception::~exception, COMDAT
  2287. $LN3:
  2288.  mov QWORD PTR [rsp+8], rcx
  2289.  sub rsp, 40 ; 00000028H
  2290.  mov rax, QWORD PTR this$[rsp]
  2291.  lea rcx, OFFSET FLAT:const std::exception::`vftable'
  2292.   mov QWORD PTR [rax], rcx
  2293.   mov rax, QWORD PTR this$[rsp]
  2294.   add rax, 8
  2295.   mov rcx, rax
  2296.   call __std_exception_destroy
  2297.   add rsp, 40 ; 00000028H
  2298.   ret 0
  2299. virtual std::exception::~exception(void) ENDP ; std::exception::~exception
  2300.  
  2301. tv69 = 0
  2302. this$ = 32
  2303. virtual char const * std::exception::what(void)const  PROC ; std::exception::what, COMDAT
  2304. $LN5:
  2305.   mov QWORD PTR [rsp+8], rcx
  2306.   sub rsp, 24
  2307.   mov rax, QWORD PTR this$[rsp]
  2308.   cmp QWORD PTR [rax+8], 0
  2309.   je SHORT $LN3@what
  2310.   mov rax, QWORD PTR this$[rsp]
  2311.   mov rax, QWORD PTR [rax+8]
  2312.   mov QWORD PTR tv69[rsp], rax
  2313.   jmp SHORT $LN4@what
  2314. $LN3@what:
  2315.   lea rax, OFFSET FLAT:`string'
  2316.  mov QWORD PTR tv69[rsp], rax
  2317. $LN4@what:
  2318.  mov rax, QWORD PTR tv69[rsp]
  2319.  add rsp, 24
  2320.  ret 0
  2321. virtual char const * std::exception::what(void)const  ENDP ; std::exception::what
  2322.  
  2323. _Size$ = 8
  2324. _Where$ = 16
  2325. void * operator new(unsigned __int64,void *) PROC ; operator new, COMDAT
  2326.  mov QWORD PTR [rsp+16], rdx
  2327.  mov QWORD PTR [rsp+8], rcx
  2328.  mov rax, QWORD PTR _Where$[rsp]
  2329.  ret 0
  2330. void * operator new(unsigned __int64,void *) ENDP ; operator new
  2331.  
  2332. this$ = 48
  2333. std::bad_cast::bad_cast(void) PROC ; std::bad_cast::bad_cast, COMDAT
  2334. $LN3:
  2335.  mov QWORD PTR [rsp+8], rcx
  2336.  sub rsp, 40 ; 00000028H
  2337.  mov r8d, 1
  2338.  lea rdx, OFFSET FLAT:`string'
  2339.   mov rcx, QWORD PTR this$[rsp]
  2340.   call std::exception::exception(char const * const,int) ; std::exception::exception
  2341.   mov rax, QWORD PTR this$[rsp]
  2342.   lea rcx, OFFSET FLAT:const std::bad_cast::`vftable'
  2343.  mov QWORD PTR [rax], rcx
  2344.  mov rax, QWORD PTR this$[rsp]
  2345.  add rsp, 40 ; 00000028H
  2346.  ret 0
  2347. std::bad_cast::bad_cast(void) ENDP ; std::bad_cast::bad_cast
  2348.  
  2349. this$ = 8
  2350. virtual std::_Facet_base::~_Facet_base(void) PROC ; std::_Facet_base::~_Facet_base, COMDAT
  2351.  mov QWORD PTR [rsp+8], rcx
  2352.  mov rax, QWORD PTR this$[rsp]
  2353.  lea rcx, OFFSET FLAT:const std::_Facet_base::`vftable'
  2354.   mov QWORD PTR [rax], rcx
  2355.   ret 0
  2356. virtual std::_Facet_base::~_Facet_base(void) ENDP ; std::_Facet_base::~_Facet_base
  2357.  
  2358. $T1 = 32
  2359. this$ = 80
  2360. _Message$ = 88
  2361. _Errcode$ = 96
  2362. std::ios_base::failure::failure(char const *,std::error_code const &) PROC ; std::ios_base::failure::failure, COMDAT
  2363. $LN4:
  2364.   mov QWORD PTR [rsp+24], r8
  2365.   mov QWORD PTR [rsp+16], rdx
  2366.   mov QWORD PTR [rsp+8], rcx
  2367.   push rsi
  2368.   push rdi
  2369.   sub rsp, 56 ; 00000038H
  2370.   lea rax, QWORD PTR $T1[rsp]
  2371.   mov rdi, rax
  2372.   mov rsi, QWORD PTR _Errcode$[rsp]
  2373.   mov ecx, 16
  2374.   rep movsb
  2375.   mov r8, QWORD PTR _Message$[rsp]
  2376.   lea rdx, QWORD PTR $T1[rsp]
  2377.   mov rcx, QWORD PTR this$[rsp]
  2378.   call std::system_error::system_error(std::error_code,char const *) ; std::system_error::system_error
  2379.   mov rax, QWORD PTR this$[rsp]
  2380.   lea rcx, OFFSET FLAT:const std::ios_base::failure::`vftable'
  2381.  mov QWORD PTR [rax], rcx
  2382.  mov rax, QWORD PTR this$[rsp]
  2383.  add rsp, 56 ; 00000038H
  2384.  pop rdi
  2385.  pop rsi
  2386.  ret 0
  2387. std::ios_base::failure::failure(char const *,std::error_code const &) ENDP ; std::ios_base::failure::failure
  2388.  
  2389. _Filtered$ = 32
  2390. _Msg$1 = 40
  2391. $T2 = 48
  2392. $T3 = 64
  2393. this$ = 128
  2394. _State$ = 136
  2395. _Reraise$ = 144
  2396. void std::ios_base::clear(int,bool) PROC ; std::ios_base::clear, COMDAT
  2397. $LN9:
  2398.  mov BYTE PTR [rsp+24], r8b
  2399.  mov DWORD PTR [rsp+16], edx
  2400.  mov QWORD PTR [rsp+8], rcx
  2401.  sub rsp, 120 ; 00000078H
  2402.  mov eax, DWORD PTR _State$[rsp]
  2403.  and eax, 23
  2404.  mov DWORD PTR _State$[rsp], eax
  2405.  mov rax, QWORD PTR this$[rsp]
  2406.  mov ecx, DWORD PTR _State$[rsp]
  2407.  mov DWORD PTR [rax+16], ecx
  2408.  mov rax, QWORD PTR this$[rsp]
  2409.  mov eax, DWORD PTR [rax+20]
  2410.  mov ecx, DWORD PTR _State$[rsp]
  2411.  and ecx, eax
  2412.  mov eax, ecx
  2413.  mov DWORD PTR _Filtered$[rsp], eax
  2414.  cmp DWORD PTR _Filtered$[rsp], 0
  2415.  je $LN2@clear
  2416.  movzx eax, BYTE PTR _Reraise$[rsp]
  2417.  test eax, eax
  2418.  je SHORT $LN3@clear
  2419.  xor edx, edx
  2420.  xor ecx, ecx
  2421.  call _CxxThrowException
  2422. $LN3@clear:
  2423.  mov eax, DWORD PTR _Filtered$[rsp]
  2424.  and eax, 4
  2425.  test eax, eax
  2426.  je SHORT $LN4@clear
  2427.  lea rax, OFFSET FLAT:`string'
  2428.   mov QWORD PTR _Msg$1[rsp], rax
  2429.   jmp SHORT $LN5@clear
  2430. $LN4@clear:
  2431.   mov eax, DWORD PTR _Filtered$[rsp]
  2432.   and eax, 2
  2433.   test eax, eax
  2434.   je SHORT $LN6@clear
  2435.   lea rax, OFFSET FLAT:`string'
  2436.  mov QWORD PTR _Msg$1[rsp], rax
  2437.  jmp SHORT $LN7@clear
  2438. $LN6@clear:
  2439.  lea rax, OFFSET FLAT:`string'
  2440.   mov QWORD PTR _Msg$1[rsp], rax
  2441. $LN7@clear:
  2442. $LN5@clear:
  2443.   mov edx, 1
  2444.   lea rcx, QWORD PTR $T2[rsp]
  2445.   call std::error_code std::make_error_code(std::io_errc) ; std::make_error_code
  2446.   mov r8, rax
  2447.   mov rdx, QWORD PTR _Msg$1[rsp]
  2448.   lea rcx, QWORD PTR $T3[rsp]
  2449.   call std::ios_base::failure::failure(char const *,std::error_code const &) ; std::ios_base::failure::failure
  2450.   lea rdx, OFFSET FLAT:_TI5 ?? std::ios_base::AVfailure
  2451.   lea rcx, QWORD PTR $T3[rsp]
  2452.   call _CxxThrowException
  2453. $LN2@clear:
  2454. $LN8@clear:
  2455.   add rsp, 120 ; 00000078H
  2456.   ret 0
  2457. void std::ios_base::clear(int,bool) ENDP ; std::ios_base::clear
  2458.  
  2459. this$ = 8
  2460. int std::ios_base::rdstate(void)const  PROC ; std::ios_base::rdstate, COMDAT
  2461.   mov QWORD PTR [rsp+8], rcx
  2462.   mov rax, QWORD PTR this$[rsp]
  2463.   mov eax, DWORD PTR [rax+16]
  2464.   ret 0
  2465. int std::ios_base::rdstate(void)const  ENDP ; std::ios_base::rdstate
  2466.  
  2467. tv67 = 32
  2468. this$ = 64
  2469. bool std::ios_base::good(void)const  PROC ; std::ios_base::good, COMDAT
  2470. $LN5:
  2471.   mov QWORD PTR [rsp+8], rcx
  2472.   sub rsp, 56 ; 00000038H
  2473.   mov rcx, QWORD PTR this$[rsp]
  2474.   call int std::ios_base::rdstate(void)const  ; std::ios_base::rdstate
  2475.   test eax, eax
  2476.   jne SHORT $LN3@good
  2477.   mov DWORD PTR tv67[rsp], 1
  2478.   jmp SHORT $LN4@good
  2479. $LN3@good:
  2480.   mov DWORD PTR tv67[rsp], 0
  2481. $LN4@good:
  2482.   movzx eax, BYTE PTR tv67[rsp]
  2483.   add rsp, 56 ; 00000038H
  2484.   ret 0
  2485. bool std::ios_base::good(void)const  ENDP ; std::ios_base::good
  2486.  
  2487. this$ = 8
  2488. int std::ios_base::flags(void)const  PROC ; std::ios_base::flags, COMDAT
  2489.   mov QWORD PTR [rsp+8], rcx
  2490.   mov rax, QWORD PTR this$[rsp]
  2491.   mov eax, DWORD PTR [rax+24]
  2492.   ret 0
  2493. int std::ios_base::flags(void)const  ENDP ; std::ios_base::flags
  2494.  
  2495. this$ = 8
  2496. __int64 std::ios_base::width(void)const  PROC ; std::ios_base::width, COMDAT
  2497.   mov QWORD PTR [rsp+8], rcx
  2498.   mov rax, QWORD PTR this$[rsp]
  2499.   mov rax, QWORD PTR [rax+40]
  2500.   ret 0
  2501. __int64 std::ios_base::width(void)const  ENDP ; std::ios_base::width
  2502.  
  2503. _Oldwidth$ = 0
  2504. this$ = 32
  2505. _Newwidth$ = 40
  2506. __int64 std::ios_base::width(__int64) PROC ; std::ios_base::width, COMDAT
  2507. $LN3:
  2508.   mov QWORD PTR [rsp+16], rdx
  2509.   mov QWORD PTR [rsp+8], rcx
  2510.   sub rsp, 24
  2511.   mov rax, QWORD PTR this$[rsp]
  2512.   mov rax, QWORD PTR [rax+40]
  2513.   mov QWORD PTR _Oldwidth$[rsp], rax
  2514.   mov rax, QWORD PTR this$[rsp]
  2515.   mov rcx, QWORD PTR _Newwidth$[rsp]
  2516.   mov QWORD PTR [rax+40], rcx
  2517.   mov rax, QWORD PTR _Oldwidth$[rsp]
  2518.   add rsp, 24
  2519.   ret 0
  2520. __int64 std::ios_base::width(__int64) ENDP ; std::ios_base::width
  2521.  
  2522. $T1 = 32
  2523. this$ = 64
  2524. __$ReturnUdt$ = 72
  2525. std::locale std::ios_base::getloc(void)const  PROC ; std::ios_base::getloc, COMDAT
  2526. $LN5:
  2527.   mov QWORD PTR [rsp+16], rdx
  2528.   mov QWORD PTR [rsp+8], rcx
  2529.   sub rsp, 56 ; 00000038H
  2530.   mov DWORD PTR $T1[rsp], 0
  2531.   mov rax, QWORD PTR this$[rsp]
  2532.   mov rdx, QWORD PTR [rax+64]
  2533.   mov rcx, QWORD PTR __$ReturnUdt$[rsp]
  2534.   call std::locale::locale(std::locale const &) ; std::locale::locale
  2535.   mov eax, DWORD PTR $T1[rsp]
  2536.   or eax, 1
  2537.   mov DWORD PTR $T1[rsp], eax
  2538.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  2539.   add rsp, 56 ; 00000038H
  2540.   ret 0
  2541. std::locale std::ios_base::getloc(void)const  ENDP ; std::ios_base::getloc
  2542.  
  2543. _Lock$1 = 32
  2544. this$ = 64
  2545. std::locale::id::operator unsigned __int64(void) PROC ; std::locale::id::operator unsigned __int64, COMDAT
  2546. $LN6:
  2547.   mov QWORD PTR [rsp+8], rcx
  2548.   sub rsp, 56 ; 00000038H
  2549.   mov rax, QWORD PTR this$[rsp]
  2550.   cmp QWORD PTR [rax], 0
  2551.   jne SHORT $LN2@operator
  2552.   xor edx, edx
  2553.   lea rcx, QWORD PTR _Lock$1[rsp]
  2554.   call std::_Lockit::_Lockit(int) ; std::_Lockit::_Lockit
  2555.   mov rax, QWORD PTR this$[rsp]
  2556.   cmp QWORD PTR [rax], 0
  2557.   jne SHORT $LN3@operator
  2558.   mov eax, DWORD PTR static int std::locale::id::_Id_cnt ; std::locale::id::_Id_cnt
  2559.   inc eax
  2560.   mov DWORD PTR static int std::locale::id::_Id_cnt, eax ; std::locale::id::_Id_cnt
  2561.   movsxd rax, DWORD PTR static int std::locale::id::_Id_cnt ; std::locale::id::_Id_cnt
  2562.   mov rcx, QWORD PTR this$[rsp]
  2563.   mov QWORD PTR [rcx], rax
  2564. $LN3@operator:
  2565.   lea rcx, QWORD PTR _Lock$1[rsp]
  2566.   call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  2567. $LN2@operator:
  2568.   mov rax, QWORD PTR this$[rsp]
  2569.   mov rax, QWORD PTR [rax]
  2570.   add rsp, 56 ; 00000038H
  2571.   ret 0
  2572. std::locale::id::operator unsigned __int64(void) ENDP ; std::locale::id::operator unsigned __int64
  2573.  
  2574. this$ = 8
  2575. virtual void std::locale::facet::_Incref(void) PROC ; std::locale::facet::_Incref, COMDAT
  2576.   mov QWORD PTR [rsp+8], rcx
  2577.   mov rax, QWORD PTR this$[rsp]
  2578.   add rax, 8
  2579.   lock inc DWORD PTR [rax]
  2580.   ret 0
  2581. virtual void std::locale::facet::_Incref(void) ENDP ; std::locale::facet::_Incref
  2582.  
  2583. this$ = 8
  2584. virtual std::_Facet_base * std::locale::facet::_Decref(void) PROC ; std::locale::facet::_Decref, COMDAT
  2585.   mov QWORD PTR [rsp+8], rcx
  2586.   mov rax, QWORD PTR this$[rsp]
  2587.   add rax, 8
  2588.   mov ecx, -1
  2589.   lock xadd DWORD PTR [rax], ecx
  2590.   dec ecx
  2591.   mov eax, ecx
  2592.   test eax, eax
  2593.   jne SHORT $LN2@Decref
  2594.   mov rax, QWORD PTR this$[rsp]
  2595.   jmp SHORT $LN1@Decref
  2596. $LN2@Decref:
  2597.   xor eax, eax
  2598. $LN1@Decref:
  2599.   ret 0
  2600. virtual std::_Facet_base * std::locale::facet::_Decref(void) ENDP ; std::locale::facet::_Decref
  2601.  
  2602. this$ = 48
  2603. _Initrefs$ = 56
  2604. std::locale::facet::facet(unsigned __int64) PROC ; std::locale::facet::facet, COMDAT
  2605. $LN4:
  2606.   mov QWORD PTR [rsp+16], rdx
  2607.   mov QWORD PTR [rsp+8], rcx
  2608.   sub rsp, 40 ; 00000028H
  2609.   mov rcx, QWORD PTR this$[rsp]
  2610.   call std::_Facet_base::_Facet_base(void)
  2611.   mov rax, QWORD PTR this$[rsp]
  2612.   lea rcx, OFFSET FLAT:const std::locale::facet::`vftable'
  2613.  mov QWORD PTR [rax], rcx
  2614.  mov rax, QWORD PTR this$[rsp]
  2615.  mov ecx, DWORD PTR _Initrefs$[rsp]
  2616.  mov DWORD PTR [rax+8], ecx
  2617.  mov rax, QWORD PTR this$[rsp]
  2618.  add rsp, 40 ; 00000028H
  2619.  ret 0
  2620. std::locale::facet::facet(unsigned __int64) ENDP ; std::locale::facet::facet
  2621.  
  2622. this$ = 48
  2623. virtual std::locale::facet::~facet(void) PROC ; std::locale::facet::~facet, COMDAT
  2624. $LN3:
  2625.  mov QWORD PTR [rsp+8], rcx
  2626.  sub rsp, 40 ; 00000028H
  2627.  mov rax, QWORD PTR this$[rsp]
  2628.  lea rcx, OFFSET FLAT:const std::locale::facet::`vftable'
  2629.   mov QWORD PTR [rax], rcx
  2630.   mov rcx, QWORD PTR this$[rsp]
  2631.   call virtual std::_Facet_base::~_Facet_base(void) ; std::_Facet_base::~_Facet_base
  2632.   add rsp, 40 ; 00000028H
  2633.   ret 0
  2634. virtual std::locale::facet::~facet(void) ENDP ; std::locale::facet::~facet
  2635.  
  2636. $T1 = 32
  2637. this$ = 64
  2638. _Right$ = 72
  2639. std::locale::locale(std::locale const &) PROC ; std::locale::locale, COMDAT
  2640. $LN3:
  2641.   mov QWORD PTR [rsp+16], rdx
  2642.   mov QWORD PTR [rsp+8], rcx
  2643.   sub rsp, 56 ; 00000038H
  2644.   mov QWORD PTR $T1[rsp], -2
  2645.   mov rax, QWORD PTR this$[rsp]
  2646.   mov rcx, QWORD PTR _Right$[rsp]
  2647.   mov rcx, QWORD PTR [rcx+8]
  2648.   mov QWORD PTR [rax+8], rcx
  2649.   mov rax, QWORD PTR this$[rsp]
  2650.   mov rax, QWORD PTR [rax+8]
  2651.   mov rcx, QWORD PTR this$[rsp]
  2652.   mov rcx, QWORD PTR [rcx+8]
  2653.   mov rax, QWORD PTR [rax]
  2654.   call QWORD PTR [rax+8]
  2655.   npad 1
  2656.   mov rax, QWORD PTR this$[rsp]
  2657.   add rsp, 56 ; 00000038H
  2658.   ret 0
  2659. std::locale::locale(std::locale const &) ENDP ; std::locale::locale
  2660.  
  2661. $T1 = 32
  2662. $T2 = 40
  2663. tv84 = 48
  2664. $T3 = 56
  2665. this$ = 80
  2666. std::locale::~locale(void) PROC ; std::locale::~locale, COMDAT
  2667. $LN6:
  2668.   mov QWORD PTR [rsp+8], rcx
  2669.   sub rsp, 72 ; 00000048H
  2670.   mov QWORD PTR $T3[rsp], -2
  2671.   mov rax, QWORD PTR this$[rsp]
  2672.   cmp QWORD PTR [rax+8], 0
  2673.   je SHORT $LN2@locale
  2674.   mov rax, QWORD PTR this$[rsp]
  2675.   mov rax, QWORD PTR [rax+8]
  2676.   mov rcx, QWORD PTR this$[rsp]
  2677.   mov rcx, QWORD PTR [rcx+8]
  2678.   mov rax, QWORD PTR [rax]
  2679.   call QWORD PTR [rax+16]
  2680.   npad 1
  2681.   mov QWORD PTR $T2[rsp], rax
  2682.   mov rax, QWORD PTR $T2[rsp]
  2683.   mov QWORD PTR $T1[rsp], rax
  2684.   cmp QWORD PTR $T1[rsp], 0
  2685.   je SHORT $LN4@locale
  2686.   mov rax, QWORD PTR $T1[rsp]
  2687.   mov rax, QWORD PTR [rax]
  2688.   mov edx, 1
  2689.   mov rcx, QWORD PTR $T1[rsp]
  2690.   call QWORD PTR [rax]
  2691.   npad 1
  2692.   mov QWORD PTR tv84[rsp], rax
  2693.   jmp SHORT $LN2@locale
  2694. $LN4@locale:
  2695.   mov QWORD PTR tv84[rsp], 0
  2696. $LN2@locale:
  2697.   add rsp, 72 ; 00000048H
  2698.   ret 0
  2699. std::locale::~locale(void) ENDP ; std::locale::~locale
  2700.  
  2701. tv70 = 32
  2702. this$ = 64
  2703. char const * std::locale::c_str(void)const  PROC ; std::locale::c_str, COMDAT
  2704. $LN5:
  2705.   mov QWORD PTR [rsp+8], rcx
  2706.   sub rsp, 56 ; 00000038H
  2707.   mov rax, QWORD PTR this$[rsp]
  2708.   cmp QWORD PTR [rax+8], 0
  2709.   jne SHORT $LN3@c_str
  2710.   lea rax, OFFSET FLAT:`string'
  2711.  mov QWORD PTR tv70[rsp], rax
  2712.  jmp SHORT $LN4@c_str
  2713. $LN3@c_str:
  2714.  mov rax, QWORD PTR this$[rsp]
  2715.  mov rax, QWORD PTR [rax+8]
  2716.  add rax, 40 ; 00000028H
  2717.  mov rcx, rax
  2718.  call char const * std::_Yarn<char>::c_str(void)const  ; std::_Yarn<char>::c_str
  2719.  mov QWORD PTR tv70[rsp], rax
  2720. $LN4@c_str:
  2721.  mov rax, QWORD PTR tv70[rsp]
  2722.  add rsp, 56 ; 00000038H
  2723.  ret 0
  2724. char const * std::locale::c_str(void)const  ENDP ; std::locale::c_str
  2725.  
  2726. tv71 = 32
  2727. _Facptr$ = 40
  2728. _Ptr0$1 = 48
  2729. tv83 = 56
  2730. this$ = 80
  2731. _Id$ = 88
  2732. std::locale::facet const * std::locale::_Getfacet(unsigned __int64)const  PROC ; std::locale::_Getfacet, COMDAT
  2733. $LN10:
  2734.  mov QWORD PTR [rsp+16], rdx
  2735.  mov QWORD PTR [rsp+8], rcx
  2736.  sub rsp, 72 ; 00000048H
  2737.  mov rax, QWORD PTR this$[rsp]
  2738.  mov rax, QWORD PTR [rax+8]
  2739.  mov rax, QWORD PTR [rax+24]
  2740.  cmp QWORD PTR _Id$[rsp], rax
  2741.  jae SHORT $LN6@Getfacet
  2742.  mov rax, QWORD PTR this$[rsp]
  2743.  mov rax, QWORD PTR [rax+8]
  2744.  mov rax, QWORD PTR [rax+16]
  2745.  mov rcx, QWORD PTR _Id$[rsp]
  2746.  mov rax, QWORD PTR [rax+rcx*8]
  2747.  mov QWORD PTR tv71[rsp], rax
  2748.  jmp SHORT $LN7@Getfacet
  2749. $LN6@Getfacet:
  2750.  mov QWORD PTR tv71[rsp], 0
  2751. $LN7@Getfacet:
  2752.  mov rax, QWORD PTR tv71[rsp]
  2753.  mov QWORD PTR _Facptr$[rsp], rax
  2754.  cmp QWORD PTR _Facptr$[rsp], 0
  2755.  jne SHORT $LN4@Getfacet
  2756.  mov rax, QWORD PTR this$[rsp]
  2757.  mov rax, QWORD PTR [rax+8]
  2758.  movzx eax, BYTE PTR [rax+36]
  2759.  test eax, eax
  2760.  jne SHORT $LN2@Getfacet
  2761. $LN4@Getfacet:
  2762.  mov rax, QWORD PTR _Facptr$[rsp]
  2763.  jmp SHORT $LN1@Getfacet
  2764.  jmp SHORT $LN3@Getfacet
  2765. $LN2@Getfacet:
  2766.  call static std::locale::_Locimp * std::locale::_Getgloballocale(void) ; std::locale::_Getgloballocale
  2767.  mov QWORD PTR _Ptr0$1[rsp], rax
  2768.  mov rax, QWORD PTR _Ptr0$1[rsp]
  2769.  mov rax, QWORD PTR [rax+24]
  2770.  cmp QWORD PTR _Id$[rsp], rax
  2771.  jae SHORT $LN8@Getfacet
  2772.  mov rax, QWORD PTR _Ptr0$1[rsp]
  2773.  mov rax, QWORD PTR [rax+16]
  2774.  mov rcx, QWORD PTR _Id$[rsp]
  2775.  mov rax, QWORD PTR [rax+rcx*8]
  2776.  mov QWORD PTR tv83[rsp], rax
  2777.  jmp SHORT $LN9@Getfacet
  2778. $LN8@Getfacet:
  2779.  mov QWORD PTR tv83[rsp], 0
  2780. $LN9@Getfacet:
  2781.  mov rax, QWORD PTR tv83[rsp]
  2782. $LN3@Getfacet:
  2783. $LN1@Getfacet:
  2784.  add rsp, 72 ; 00000048H
  2785.  ret 0
  2786. std::locale::facet const * std::locale::_Getfacet(unsigned __int64)const  ENDP ; std::locale::_Getfacet
  2787.  
  2788. _Psave$1 = 32
  2789. _Pfmod$2 = 40
  2790. _Pf$3 = 48
  2791. _Lock$4 = 56
  2792. _Psave_guard$5 = 64
  2793. _Id$6 = 72
  2794. $T7 = 80
  2795. $T8 = 88
  2796. $T9 = 96
  2797. _Loc$ = 144
  2798. std::ctype<char> const & std::use_facet<std::ctype<char> >(std::locale const &) PROC ; std::use_facet<std::ctype<char> >, COMDAT
  2799. $LN11:
  2800.  mov QWORD PTR [rsp+8], rcx
  2801.  sub rsp, 136 ; 00000088H
  2802.  mov QWORD PTR $T8[rsp], -2
  2803.  xor edx, edx
  2804.  lea rcx, QWORD PTR _Lock$4[rsp]
  2805.  call std::_Lockit::_Lockit(int) ; std::_Lockit::_Lockit
  2806.  npad 1
  2807.  mov rax, QWORD PTR static std::locale::facet const * const std::_Facetptr<std::ctype<char> >::_Psave ; std::_Facetptr<std::ctype<char> >::_Psave
  2808.  mov QWORD PTR _Psave$1[rsp], rax
  2809.  lea rcx, OFFSET FLAT:static std::locale::id std::ctype<char>::id ; std::ctype<char>::id
  2810.  call std::locale::id::operator unsigned __int64(void) ; std::locale::id::operator unsigned __int64
  2811.  mov QWORD PTR _Id$6[rsp], rax
  2812.  mov rdx, QWORD PTR _Id$6[rsp]
  2813.  mov rcx, QWORD PTR _Loc$[rsp]
  2814.  call std::locale::facet const * std::locale::_Getfacet(unsigned __int64)const  ; std::locale::_Getfacet
  2815.  mov QWORD PTR _Pf$3[rsp], rax
  2816.  cmp QWORD PTR _Pf$3[rsp], 0
  2817.  jne $LN2@use_facet
  2818.  cmp QWORD PTR _Psave$1[rsp], 0
  2819.  je SHORT $LN3@use_facet
  2820.  mov rax, QWORD PTR _Psave$1[rsp]
  2821.  mov QWORD PTR _Pf$3[rsp], rax
  2822.  jmp $LN2@use_facet
  2823. $LN3@use_facet:
  2824.  mov rdx, QWORD PTR _Loc$[rsp]
  2825.  lea rcx, QWORD PTR _Psave$1[rsp]
  2826.  call static unsigned __int64 std::ctype<char>::_Getcat(std::locale::facet const * *,std::locale const *) ; std::ctype<char>::_Getcat
  2827.  cmp rax, -1
  2828.  jne SHORT $LN5@use_facet
  2829.  lea rcx, QWORD PTR $T9[rsp]
  2830.  call std::bad_cast::bad_cast(void) ; std::bad_cast::bad_cast
  2831.  lea rdx, OFFSET FLAT:_TI2 ?? std::AVbad_cast
  2832.  lea rcx, QWORD PTR $T9[rsp]
  2833.  call _CxxThrowException
  2834.  npad 1
  2835.  jmp SHORT $LN2@use_facet
  2836. $LN5@use_facet:
  2837.  mov rax, QWORD PTR _Psave$1[rsp]
  2838.  mov QWORD PTR _Pfmod$2[rsp], rax
  2839.  mov rdx, QWORD PTR _Pfmod$2[rsp]
  2840.  lea rcx, QWORD PTR _Psave_guard$5[rsp]
  2841.  call std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>(std::_Facet_base *) ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> ><std::default_delete<std::_Facet_base>,0>
  2842.  npad 1
  2843.  mov rcx, QWORD PTR _Pfmod$2[rsp]
  2844.  call void std::_Facet_Register(std::_Facet_base *) ; std::_Facet_Register
  2845.  mov rax, QWORD PTR _Pfmod$2[rsp]
  2846.  mov rax, QWORD PTR [rax]
  2847.  mov rcx, QWORD PTR _Pfmod$2[rsp]
  2848.  call QWORD PTR [rax+8]
  2849.  mov rax, QWORD PTR _Psave$1[rsp]
  2850.  mov QWORD PTR static std::locale::facet const * const std::_Facetptr<std::ctype<char> >::_Psave, rax ; std::_Facetptr<std::ctype<char> >::_Psave
  2851.  mov rax, QWORD PTR _Psave$1[rsp]
  2852.  mov QWORD PTR _Pf$3[rsp], rax
  2853.  lea rcx, QWORD PTR _Psave_guard$5[rsp]
  2854.  call std::_Facet_base * std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release(void) ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::release
  2855.  npad 1
  2856.  lea rcx, QWORD PTR _Psave_guard$5[rsp]
  2857.  call std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >(void) ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >
  2858. $LN2@use_facet:
  2859.  mov rax, QWORD PTR _Pf$3[rsp]
  2860.  mov QWORD PTR $T7[rsp], rax
  2861.  lea rcx, QWORD PTR _Lock$4[rsp]
  2862.  call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  2863.  mov rax, QWORD PTR $T7[rsp]
  2864.  add rsp, 136 ; 00000088H
  2865.  ret 0
  2866. $LN10@use_facet:
  2867. std::ctype<char> const & std::use_facet<std::ctype<char> >(std::locale const &) ENDP ; std::use_facet<std::ctype<char> >
  2868. _Psave$1 = 32
  2869. _Pfmod$2 = 40
  2870. _Pf$3 = 48
  2871. _Lock$4 = 56
  2872. _Psave_guard$5 = 64
  2873. _Id$6 = 72
  2874. $T7 = 80
  2875. $T8 = 88
  2876. $T9 = 96
  2877. _Loc$ = 144
  2878. int `dtor$0::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$0::locale const &)'::`1'::dtor$0 PROC ; `std::use_facet<std::ctype<char> >'::`1'::dtor$0
  2879.  push rbp
  2880.  sub rsp, 32 ; 00000020H
  2881.  mov rbp, rdx
  2882.  lea rcx, QWORD PTR _Lock$4[rbp]
  2883.  call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  2884.  add rsp, 32 ; 00000020H
  2885.  pop rbp
  2886.  ret 0
  2887. int `dtor$0::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$0::locale const &)'::`1'::dtor$0 ENDP ; `std::use_facet<std::ctype<char> >'::`1'::dtor$0
  2888. _Psave$1 = 32
  2889. _Pfmod$2 = 40
  2890. _Pf$3 = 48
  2891. _Lock$4 = 56
  2892. _Psave_guard$5 = 64
  2893. _Id$6 = 72
  2894. $T7 = 80
  2895. $T8 = 88
  2896. $T9 = 96
  2897. _Loc$ = 144
  2898. int `dtor$1::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$1::locale const &)'::`1'::dtor$1 PROC ; `std::use_facet<std::ctype<char> >'::`1'::dtor$1
  2899.  push rbp
  2900.  sub rsp, 32 ; 00000020H
  2901.  mov rbp, rdx
  2902.  lea rcx, QWORD PTR _Psave_guard$5[rbp]
  2903.  call std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >(void) ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >
  2904.  add rsp, 32 ; 00000020H
  2905.  pop rbp
  2906.  ret 0
  2907. int `dtor$1::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$1::locale const &)'::`1'::dtor$1 ENDP ; `std::use_facet<std::ctype<char> >'::`1'::dtor$1
  2908.  
  2909. this$ = 48
  2910. _Refs$ = 56
  2911. std::ctype_base::ctype_base(unsigned __int64) PROC ; std::ctype_base::ctype_base, COMDAT
  2912. $LN4:
  2913.  mov QWORD PTR [rsp+16], rdx
  2914.  mov QWORD PTR [rsp+8], rcx
  2915.  sub rsp, 40 ; 00000028H
  2916.  mov rdx, QWORD PTR _Refs$[rsp]
  2917.  mov rcx, QWORD PTR this$[rsp]
  2918.  call std::locale::facet::facet(unsigned __int64) ; std::locale::facet::facet
  2919.  mov rax, QWORD PTR this$[rsp]
  2920.  lea rcx, OFFSET FLAT:const std::ctype_base::`vftable'
  2921.   mov QWORD PTR [rax], rcx
  2922.   mov rax, QWORD PTR this$[rsp]
  2923.   add rsp, 40 ; 00000028H
  2924.   ret 0
  2925. std::ctype_base::ctype_base(unsigned __int64) ENDP ; std::ctype_base::ctype_base
  2926.  
  2927. this$ = 48
  2928. virtual std::ctype_base::~ctype_base(void) PROC ; std::ctype_base::~ctype_base, COMDAT
  2929. $LN3:
  2930.   mov QWORD PTR [rsp+8], rcx
  2931.   sub rsp, 40 ; 00000028H
  2932.   mov rax, QWORD PTR this$[rsp]
  2933.   lea rcx, OFFSET FLAT:const std::ctype_base::`vftable'
  2934.  mov QWORD PTR [rax], rcx
  2935.  mov rcx, QWORD PTR this$[rsp]
  2936.  call virtual std::locale::facet::~facet(void) ; std::locale::facet::~facet
  2937.  add rsp, 40 ; 00000028H
  2938.  ret 0
  2939. virtual std::ctype_base::~ctype_base(void) ENDP ; std::ctype_base::~ctype_base
  2940.  
  2941. this$ = 48
  2942. _Byte$ = 56
  2943. char std::ctype<char>::widen(char)const  PROC ; std::ctype<char>::widen, COMDAT
  2944. $LN3:
  2945.  mov BYTE PTR [rsp+16], dl
  2946.  mov QWORD PTR [rsp+8], rcx
  2947.  sub rsp, 40 ; 00000028H
  2948.  mov rax, QWORD PTR this$[rsp]
  2949.  mov rax, QWORD PTR [rax]
  2950.  movzx edx, BYTE PTR _Byte$[rsp]
  2951.  mov rcx, QWORD PTR this$[rsp]
  2952.  call QWORD PTR [rax+64]
  2953.  add rsp, 40 ; 00000028H
  2954.  ret 0
  2955. char std::ctype<char>::widen(char)const  ENDP ; std::ctype<char>::widen
  2956.  
  2957. $T1 = 32
  2958. this$ = 64
  2959. _Lobj$ = 72
  2960. _Refs$ = 80
  2961. std::ctype<char>::ctype<char>(std::_Locinfo const &,unsigned __int64) PROC ; std::ctype<char>::ctype<char>, COMDAT
  2962. $LN4:
  2963.  mov QWORD PTR [rsp+24], r8
  2964.  mov QWORD PTR [rsp+16], rdx
  2965.  mov QWORD PTR [rsp+8], rcx
  2966.  sub rsp, 56 ; 00000038H
  2967.  mov QWORD PTR $T1[rsp], -2
  2968.  mov rdx, QWORD PTR _Refs$[rsp]
  2969.  mov rcx, QWORD PTR this$[rsp]
  2970.  call std::ctype_base::ctype_base(unsigned __int64) ; std::ctype_base::ctype_base
  2971.  npad 1
  2972.  mov rax, QWORD PTR this$[rsp]
  2973.  lea rcx, OFFSET FLAT:const std::ctype<char>::`vftable'
  2974.   mov QWORD PTR [rax], rcx
  2975.   mov rdx, QWORD PTR _Lobj$[rsp]
  2976.   mov rcx, QWORD PTR this$[rsp]
  2977.   call void std::ctype<char>::_Init(std::_Locinfo const &) ; std::ctype<char>::_Init
  2978.   npad 1
  2979.   mov rax, QWORD PTR this$[rsp]
  2980.   add rsp, 56 ; 00000038H
  2981.   ret 0
  2982. std::ctype<char>::ctype<char>(std::_Locinfo const &,unsigned __int64) ENDP ; std::ctype<char>::ctype<char>
  2983. $T1 = 32
  2984. this$ = 64
  2985. _Lobj$ = 72
  2986. _Refs$ = 80
  2987. int `std::ctype<char>::ctype<char>(ctype<char>::_Locinfo const &,unsigned __int64)'::`1'::dtor$0 PROC ; `std::ctype<char>::ctype<char>'::`1'::dtor$0
  2988.   push rbp
  2989.   sub rsp, 32 ; 00000020H
  2990.   mov rbp, rdx
  2991.   mov rcx, QWORD PTR this$[rbp]
  2992.   call virtual std::ctype_base::~ctype_base(void) ; std::ctype_base::~ctype_base
  2993.   add rsp, 32 ; 00000020H
  2994.   pop rbp
  2995.   ret 0
  2996. int `std::ctype<char>::ctype<char>(ctype<char>::_Locinfo const &,unsigned __int64)'::`1'::dtor$0 ENDP ; `std::ctype<char>::ctype<char>'::`1'::dtor$0
  2997.  
  2998. $T1 = 32
  2999. $T2 = 40
  3000. tv89 = 48
  3001. tv132 = 56
  3002. tv128 = 64
  3003. $T3 = 72
  3004. $T4 = 80
  3005. $T5 = 88
  3006. _Ppf$ = 208
  3007. _Ploc$ = 216
  3008. static unsigned __int64 std::ctype<char>::_Getcat(std::locale::facet const * *,std::locale const *) PROC ; std::ctype<char>::_Getcat, COMDAT
  3009. $LN10:
  3010.   mov QWORD PTR [rsp+16], rdx
  3011.   mov QWORD PTR [rsp+8], rcx
  3012.   sub rsp, 200 ; 000000c8H
  3013.   mov QWORD PTR $T4[rsp], -2
  3014.   mov DWORD PTR $T1[rsp], 0
  3015.   cmp QWORD PTR _Ppf$[rsp], 0
  3016.   je $LN2@Getcat
  3017.   mov rax, QWORD PTR _Ppf$[rsp]
  3018.   cmp QWORD PTR [rax], 0
  3019.   jne $LN2@Getcat
  3020.   mov ecx, 48 ; 00000030H
  3021.   call void * operator new(unsigned __int64) ; operator new
  3022.   mov QWORD PTR $T2[rsp], rax
  3023.   cmp QWORD PTR $T2[rsp], 0
  3024.   je SHORT $LN4@Getcat
  3025.   mov rcx, QWORD PTR _Ploc$[rsp]
  3026.   call char const * std::locale::c_str(void)const  ; std::locale::c_str
  3027.   mov rdx, rax
  3028.   lea rcx, QWORD PTR $T5[rsp]
  3029.   call std::_Locinfo::_Locinfo(char const *) ; std::_Locinfo::_Locinfo
  3030.   mov QWORD PTR tv132[rsp], rax
  3031.   mov rax, QWORD PTR tv132[rsp]
  3032.   mov QWORD PTR tv128[rsp], rax
  3033.   mov eax, DWORD PTR $T1[rsp]
  3034.   or eax, 1
  3035.   mov DWORD PTR $T1[rsp], eax
  3036.   xor r8d, r8d
  3037.   mov rdx, QWORD PTR tv128[rsp]
  3038.   mov rcx, QWORD PTR $T2[rsp]
  3039.   call std::ctype<char>::ctype<char>(std::_Locinfo const &,unsigned __int64) ; std::ctype<char>::ctype<char>
  3040.   mov QWORD PTR tv89[rsp], rax
  3041.   jmp SHORT $LN5@Getcat
  3042. $LN4@Getcat:
  3043.   mov QWORD PTR tv89[rsp], 0
  3044. $LN5@Getcat:
  3045.   mov rax, QWORD PTR tv89[rsp]
  3046.   mov QWORD PTR $T3[rsp], rax
  3047.   mov rax, QWORD PTR _Ppf$[rsp]
  3048.   mov rcx, QWORD PTR $T3[rsp]
  3049.   mov QWORD PTR [rax], rcx
  3050.   mov eax, DWORD PTR $T1[rsp]
  3051.   and eax, 1
  3052.   test eax, eax
  3053.   je SHORT $LN2@Getcat
  3054.   and DWORD PTR $T1[rsp], -2
  3055.   lea rcx, QWORD PTR $T5[rsp]
  3056.   call std::_Locinfo::~_Locinfo(void) ; std::_Locinfo::~_Locinfo
  3057. $LN2@Getcat:
  3058.   mov eax, 2
  3059.   add rsp, 200 ; 000000c8H
  3060.   ret 0
  3061. static unsigned __int64 std::ctype<char>::_Getcat(std::locale::facet const * *,std::locale const *) ENDP ; std::ctype<char>::_Getcat
  3062. $T1 = 32
  3063. $T2 = 40
  3064. tv89 = 48
  3065. tv132 = 56
  3066. tv128 = 64
  3067. $T3 = 72
  3068. $T4 = 80
  3069. $T5 = 88
  3070. _Ppf$ = 208
  3071. _Ploc$ = 216
  3072. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$0 PROC ; `std::ctype<char>::_Getcat'::`1'::dtor$0
  3073.   push rbp
  3074.   sub rsp, 32 ; 00000020H
  3075.   mov rbp, rdx
  3076.   mov edx, 48 ; 00000030H
  3077.   mov rcx, QWORD PTR $T2[rbp]
  3078.   call void operator delete(void *,unsigned __int64) ; operator delete
  3079.   add rsp, 32 ; 00000020H
  3080.   pop rbp
  3081.   ret 0
  3082. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$0 ENDP ; `std::ctype<char>::_Getcat'::`1'::dtor$0
  3083. $T1 = 32
  3084. $T2 = 40
  3085. tv89 = 48
  3086. tv132 = 56
  3087. tv128 = 64
  3088. $T3 = 72
  3089. $T4 = 80
  3090. $T5 = 88
  3091. _Ppf$ = 208
  3092. _Ploc$ = 216
  3093. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$1 PROC ; `std::ctype<char>::_Getcat'::`1'::dtor$1
  3094.   push rbp
  3095.   sub rsp, 32 ; 00000020H
  3096.   mov rbp, rdx
  3097.   mov eax, DWORD PTR $T1[rbp]
  3098.   and eax, 1
  3099.   test eax, eax
  3100.   je SHORT $LN8@dtor$1
  3101.   and DWORD PTR $T1[rbp], -2
  3102.   lea rcx, QWORD PTR $T5[rbp]
  3103.   call std::_Locinfo::~_Locinfo(void) ; std::_Locinfo::~_Locinfo
  3104. $LN8@dtor$1:
  3105.   add rsp, 32 ; 00000020H
  3106.   pop rbp
  3107.   ret 0
  3108. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$1 ENDP ; `std::ctype<char>::_Getcat'::`1'::dtor$1
  3109.  
  3110. $T1 = 32
  3111. this$ = 64
  3112. virtual std::ctype<char>::~ctype<char>(void) PROC ; std::ctype<char>::~ctype<char>, COMDAT
  3113. $LN3:
  3114.   mov QWORD PTR [rsp+8], rcx
  3115.   sub rsp, 56 ; 00000038H
  3116.   mov QWORD PTR $T1[rsp], -2
  3117.   mov rax, QWORD PTR this$[rsp]
  3118.   lea rcx, OFFSET FLAT:const std::ctype<char>::`vftable'
  3119.  mov QWORD PTR [rax], rcx
  3120.  mov rcx, QWORD PTR this$[rsp]
  3121.  call void std::ctype<char>::_Tidy(void) ; std::ctype<char>::_Tidy
  3122.  npad 1
  3123.  mov rcx, QWORD PTR this$[rsp]
  3124.  call virtual std::ctype_base::~ctype_base(void) ; std::ctype_base::~ctype_base
  3125.  npad 1
  3126.  add rsp, 56 ; 00000038H
  3127.  ret 0
  3128. virtual std::ctype<char>::~ctype<char>(void) ENDP ; std::ctype<char>::~ctype<char>
  3129.  
  3130. $T1 = 32
  3131. this$ = 96
  3132. _Lobj$ = 104
  3133. void std::ctype<char>::_Init(std::_Locinfo const &) PROC ; std::ctype<char>::_Init, COMDAT
  3134. $LN3:
  3135.  mov QWORD PTR [rsp+16], rdx
  3136.  mov QWORD PTR [rsp+8], rcx
  3137.  push rsi
  3138.  push rdi
  3139.  sub rsp, 72 ; 00000048H
  3140.  lea rdx, QWORD PTR $T1[rsp]
  3141.  mov rcx, QWORD PTR _Lobj$[rsp]
  3142.  call _Ctypevec std::_Locinfo::_Getctype(void)const  ; std::_Locinfo::_Getctype
  3143.  mov rcx, QWORD PTR this$[rsp]
  3144.  lea rdi, QWORD PTR [rcx+16]
  3145.  mov rsi, rax
  3146.  mov ecx, 32 ; 00000020H
  3147.  rep movsb
  3148.  add rsp, 72 ; 00000048H
  3149.  pop rdi
  3150.  pop rsi
  3151.  ret 0
  3152. void std::ctype<char>::_Init(std::_Locinfo const &) ENDP ; std::ctype<char>::_Init
  3153.  
  3154. $T1 = 32
  3155. this$ = 64
  3156. void std::ctype<char>::_Tidy(void) PROC ; std::ctype<char>::_Tidy, COMDAT
  3157. $LN6:
  3158.  mov QWORD PTR [rsp+8], rcx
  3159.  sub rsp, 56 ; 00000038H
  3160.  mov rax, QWORD PTR this$[rsp]
  3161.  cmp DWORD PTR [rax+32], 0
  3162.  jle SHORT $LN2@Tidy
  3163.  mov rax, QWORD PTR this$[rsp]
  3164.  mov rcx, QWORD PTR [rax+24]
  3165.  call free
  3166.  jmp SHORT $LN3@Tidy
  3167. $LN2@Tidy:
  3168.  mov rax, QWORD PTR this$[rsp]
  3169.  cmp DWORD PTR [rax+32], 0
  3170.  jge SHORT $LN4@Tidy
  3171.  mov rax, QWORD PTR this$[rsp]
  3172.  mov rax, QWORD PTR [rax+24]
  3173.  mov QWORD PTR $T1[rsp], rax
  3174.  mov rcx, QWORD PTR $T1[rsp]
  3175.  call void operator delete[](void *) ; operator delete[]
  3176. $LN4@Tidy:
  3177. $LN3@Tidy:
  3178.  mov rax, QWORD PTR this$[rsp]
  3179.  mov rcx, QWORD PTR [rax+40]
  3180.  call free
  3181.  add rsp, 56 ; 00000038H
  3182.  ret 0
  3183. void std::ctype<char>::_Tidy(void) ENDP ; std::ctype<char>::_Tidy
  3184.  
  3185. this$ = 48
  3186. _Ch$ = 56
  3187. virtual char std::ctype<char>::do_tolower(char)const  PROC ; std::ctype<char>::do_tolower, COMDAT
  3188. $LN3:
  3189.  mov BYTE PTR [rsp+16], dl
  3190.  mov QWORD PTR [rsp+8], rcx
  3191.  sub rsp, 40 ; 00000028H
  3192.  mov rax, QWORD PTR this$[rsp]
  3193.  add rax, 16
  3194.  movzx ecx, BYTE PTR _Ch$[rsp]
  3195.  mov rdx, rax
  3196.  call _Tolower
  3197.  add rsp, 40 ; 00000028H
  3198.  ret 0
  3199. virtual char std::ctype<char>::do_tolower(char)const  ENDP ; std::ctype<char>::do_tolower
  3200.  
  3201. $T1 = 32
  3202. this$ = 64
  3203. _First$ = 72
  3204. _Last$ = 80
  3205. virtual char const * std::ctype<char>::do_tolower(char *,char const *)const  PROC ; std::ctype<char>::do_tolower, COMDAT
  3206. $LN6:
  3207.  mov QWORD PTR [rsp+24], r8
  3208.  mov QWORD PTR [rsp+16], rdx
  3209.  mov QWORD PTR [rsp+8], rcx
  3210.  sub rsp, 56 ; 00000038H
  3211.  mov rax, QWORD PTR _First$[rsp]
  3212.  mov QWORD PTR $T1[rsp], rax
  3213.  lea rdx, QWORD PTR _Last$[rsp]
  3214.  lea rcx, QWORD PTR $T1[rsp]
  3215.  call void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) ; std::_Adl_verify_range<char const *,char const *>
  3216.  jmp SHORT $LN4@do_tolower
  3217. $LN2@do_tolower:
  3218.  mov rax, QWORD PTR _First$[rsp]
  3219.  inc rax
  3220.  mov QWORD PTR _First$[rsp], rax
  3221. $LN4@do_tolower:
  3222.  mov rax, QWORD PTR _Last$[rsp]
  3223.  cmp QWORD PTR _First$[rsp], rax
  3224.  je SHORT $LN3@do_tolower
  3225.  mov rax, QWORD PTR this$[rsp]
  3226.  add rax, 16
  3227.  mov rcx, QWORD PTR _First$[rsp]
  3228.  movzx ecx, BYTE PTR [rcx]
  3229.  mov rdx, rax
  3230.  call _Tolower
  3231.  mov rcx, QWORD PTR _First$[rsp]
  3232.  mov BYTE PTR [rcx], al
  3233.  jmp SHORT $LN2@do_tolower
  3234. $LN3@do_tolower:
  3235.  mov rax, QWORD PTR _First$[rsp]
  3236.  add rsp, 56 ; 00000038H
  3237.  ret 0
  3238. virtual char const * std::ctype<char>::do_tolower(char *,char const *)const  ENDP ; std::ctype<char>::do_tolower
  3239.  
  3240. this$ = 48
  3241. _Ch$ = 56
  3242. virtual char std::ctype<char>::do_toupper(char)const  PROC ; std::ctype<char>::do_toupper, COMDAT
  3243. $LN3:
  3244.  mov BYTE PTR [rsp+16], dl
  3245.  mov QWORD PTR [rsp+8], rcx
  3246.  sub rsp, 40 ; 00000028H
  3247.  mov rax, QWORD PTR this$[rsp]
  3248.  add rax, 16
  3249.  movzx ecx, BYTE PTR _Ch$[rsp]
  3250.  mov rdx, rax
  3251.  call _Toupper
  3252.  add rsp, 40 ; 00000028H
  3253.  ret 0
  3254. virtual char std::ctype<char>::do_toupper(char)const  ENDP ; std::ctype<char>::do_toupper
  3255.  
  3256. $T1 = 32
  3257. this$ = 64
  3258. _First$ = 72
  3259. _Last$ = 80
  3260. virtual char const * std::ctype<char>::do_toupper(char *,char const *)const  PROC ; std::ctype<char>::do_toupper, COMDAT
  3261. $LN6:
  3262.  mov QWORD PTR [rsp+24], r8
  3263.  mov QWORD PTR [rsp+16], rdx
  3264.  mov QWORD PTR [rsp+8], rcx
  3265.  sub rsp, 56 ; 00000038H
  3266.  mov rax, QWORD PTR _First$[rsp]
  3267.  mov QWORD PTR $T1[rsp], rax
  3268.  lea rdx, QWORD PTR _Last$[rsp]
  3269.  lea rcx, QWORD PTR $T1[rsp]
  3270.  call void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) ; std::_Adl_verify_range<char const *,char const *>
  3271.  jmp SHORT $LN4@do_toupper
  3272. $LN2@do_toupper:
  3273.  mov rax, QWORD PTR _First$[rsp]
  3274.  inc rax
  3275.  mov QWORD PTR _First$[rsp], rax
  3276. $LN4@do_toupper:
  3277.  mov rax, QWORD PTR _Last$[rsp]
  3278.  cmp QWORD PTR _First$[rsp], rax
  3279.  je SHORT $LN3@do_toupper
  3280.  mov rax, QWORD PTR this$[rsp]
  3281.  add rax, 16
  3282.  mov rcx, QWORD PTR _First$[rsp]
  3283.  movzx ecx, BYTE PTR [rcx]
  3284.  mov rdx, rax
  3285.  call _Toupper
  3286.  mov rcx, QWORD PTR _First$[rsp]
  3287.  mov BYTE PTR [rcx], al
  3288.  jmp SHORT $LN2@do_toupper
  3289. $LN3@do_toupper:
  3290.  mov rax, QWORD PTR _First$[rsp]
  3291.  add rsp, 56 ; 00000038H
  3292.  ret 0
  3293. virtual char const * std::ctype<char>::do_toupper(char *,char const *)const  ENDP ; std::ctype<char>::do_toupper
  3294.  
  3295. this$ = 8
  3296. _Byte$ = 16
  3297. virtual char std::ctype<char>::do_widen(char)const  PROC ; std::ctype<char>::do_widen, COMDAT
  3298.  mov BYTE PTR [rsp+16], dl
  3299.  mov QWORD PTR [rsp+8], rcx
  3300.  movzx eax, BYTE PTR _Byte$[rsp]
  3301.  ret 0
  3302. virtual char std::ctype<char>::do_widen(char)const  ENDP ; std::ctype<char>::do_widen
  3303.  
  3304. this$ = 48
  3305. _First$ = 56
  3306. _Last$ = 64
  3307. _Dest$ = 72
  3308. virtual char const * std::ctype<char>::do_widen(char const *,char const *,char *)const  PROC ; std::ctype<char>::do_widen, COMDAT
  3309. $LN3:
  3310.  mov QWORD PTR [rsp+32], r9
  3311.  mov QWORD PTR [rsp+24], r8
  3312.  mov QWORD PTR [rsp+16], rdx
  3313.  mov QWORD PTR [rsp+8], rcx
  3314.  sub rsp, 40 ; 00000028H
  3315.  lea rdx, QWORD PTR _Last$[rsp]
  3316.  lea rcx, QWORD PTR _First$[rsp]
  3317.  call void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) ; std::_Adl_verify_range<char const *,char const *>
  3318.  mov rax, QWORD PTR _First$[rsp]
  3319.  mov rcx, QWORD PTR _Last$[rsp]
  3320.  sub rcx, rax
  3321.  mov rax, rcx
  3322.  mov r8, rax
  3323.  mov rdx, QWORD PTR _First$[rsp]
  3324.  mov rcx, QWORD PTR _Dest$[rsp]
  3325.  call memcpy
  3326.  mov rax, QWORD PTR _Last$[rsp]
  3327.  add rsp, 40 ; 00000028H
  3328.  ret 0
  3329. virtual char const * std::ctype<char>::do_widen(char const *,char const *,char *)const  ENDP ; std::ctype<char>::do_widen
  3330.  
  3331. this$ = 8
  3332. _Ch$ = 16
  3333. __formal$ = 24
  3334. virtual char std::ctype<char>::do_narrow(char,char)const  PROC ; std::ctype<char>::do_narrow, COMDAT
  3335.  mov BYTE PTR [rsp+24], r8b
  3336.  mov BYTE PTR [rsp+16], dl
  3337.  mov QWORD PTR [rsp+8], rcx
  3338.  movzx eax, BYTE PTR _Ch$[rsp]
  3339.  ret 0
  3340. virtual char std::ctype<char>::do_narrow(char,char)const  ENDP ; std::ctype<char>::do_narrow
  3341.  
  3342. this$ = 48
  3343. _First$ = 56
  3344. _Last$ = 64
  3345. __formal$ = 72
  3346. _Dest$ = 80
  3347. virtual char const * std::ctype<char>::do_narrow(char const *,char const *,char,char *)const  PROC ; std::ctype<char>::do_narrow, COMDAT
  3348. $LN3:
  3349.  mov BYTE PTR [rsp+32], r9b
  3350.  mov QWORD PTR [rsp+24], r8
  3351.  mov QWORD PTR [rsp+16], rdx
  3352.  mov QWORD PTR [rsp+8], rcx
  3353.  sub rsp, 40 ; 00000028H
  3354.  lea rdx, QWORD PTR _Last$[rsp]
  3355.  lea rcx, QWORD PTR _First$[rsp]
  3356.  call void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) ; std::_Adl_verify_range<char const *,char const *>
  3357.  mov rax, QWORD PTR _First$[rsp]
  3358.  mov rcx, QWORD PTR _Last$[rsp]
  3359.  sub rcx, rax
  3360.  mov rax, rcx
  3361.  mov r8, rax
  3362.  mov rdx, QWORD PTR _First$[rsp]
  3363.  mov rcx, QWORD PTR _Dest$[rsp]
  3364.  call memcpy
  3365.  mov rax, QWORD PTR _Last$[rsp]
  3366.  add rsp, 40 ; 00000028H
  3367.  ret 0
  3368. virtual char const * std::ctype<char>::do_narrow(char const *,char const *,char,char *)const  ENDP ; std::ctype<char>::do_narrow
  3369.  
  3370. $T1 = 32
  3371. $T2 = 40
  3372. this$ = 80
  3373. _Pch$ = 88
  3374. std::_Locinfo::_Locinfo(char const *) PROC ; std::_Locinfo::_Locinfo, COMDAT
  3375. $LN12:
  3376.  mov QWORD PTR [rsp+16], rdx
  3377.  mov QWORD PTR [rsp+8], rcx
  3378.  sub rsp, 72 ; 00000048H
  3379.  mov QWORD PTR $T1[rsp], -2
  3380.  mov rax, QWORD PTR this$[rsp]
  3381.  xor edx, edx
  3382.  mov rcx, rax
  3383.  call std::_Lockit::_Lockit(int) ; std::_Lockit::_Lockit
  3384.  npad 1
  3385.  mov rax, QWORD PTR this$[rsp]
  3386.  add rax, 8
  3387.  mov rcx, rax
  3388.  call std::_Yarn<char>::_Yarn<char>(void) ; std::_Yarn<char>::_Yarn<char>
  3389.  npad 1
  3390.  mov rax, QWORD PTR this$[rsp]
  3391.  add rax, 24
  3392.  mov rcx, rax
  3393.  call std::_Yarn<char>::_Yarn<char>(void) ; std::_Yarn<char>::_Yarn<char>
  3394.  npad 1
  3395.  mov rax, QWORD PTR this$[rsp]
  3396.  add rax, 40 ; 00000028H
  3397.  mov rcx, rax
  3398.  call std::_Yarn<wchar_t>::_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::_Yarn<wchar_t>
  3399.  npad 1
  3400.  mov rax, QWORD PTR this$[rsp]
  3401.  add rax, 56 ; 00000038H
  3402.  mov rcx, rax
  3403.  call std::_Yarn<wchar_t>::_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::_Yarn<wchar_t>
  3404.  npad 1
  3405.  mov rax, QWORD PTR this$[rsp]
  3406.  add rax, 72 ; 00000048H
  3407.  mov rcx, rax
  3408.  call std::_Yarn<char>::_Yarn<char>(void) ; std::_Yarn<char>::_Yarn<char>
  3409.  npad 1
  3410.  mov rax, QWORD PTR this$[rsp]
  3411.  add rax, 88 ; 00000058H
  3412.  mov rcx, rax
  3413.  call std::_Yarn<char>::_Yarn<char>(void) ; std::_Yarn<char>::_Yarn<char>
  3414.  npad 1
  3415.  cmp QWORD PTR _Pch$[rsp], 0
  3416.  jne SHORT $LN2@Locinfo
  3417.  lea rdx, OFFSET FLAT:`string'
  3418.   lea rcx, QWORD PTR $T2[rsp]
  3419.   call std::runtime_error::runtime_error(char const *) ; std::runtime_error::runtime_error
  3420.   lea rdx, OFFSET FLAT:_TI2 ?? std::AVruntime_error
  3421.   lea rcx, QWORD PTR $T2[rsp]
  3422.   call _CxxThrowException
  3423. $LN2@Locinfo:
  3424.   mov rdx, QWORD PTR _Pch$[rsp]
  3425.   mov rcx, QWORD PTR this$[rsp]
  3426.   call static void std::_Locinfo::_Locinfo_ctor(std::_Locinfo *,char const *) ; std::_Locinfo::_Locinfo_ctor
  3427.   npad 1
  3428.   mov rax, QWORD PTR this$[rsp]
  3429.   add rsp, 72 ; 00000048H
  3430.   ret 0
  3431. $LN11@Locinfo:
  3432. std::_Locinfo::_Locinfo(char const *) ENDP ; std::_Locinfo::_Locinfo
  3433. $T1 = 32
  3434. $T2 = 40
  3435. this$ = 80
  3436. _Pch$ = 88
  3437. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$0 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$0
  3438.   push rbp
  3439.   sub rsp, 32 ; 00000020H
  3440.   mov rbp, rdx
  3441.   mov rcx, QWORD PTR this$[rbp]
  3442.   call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  3443.   add rsp, 32 ; 00000020H
  3444.   pop rbp
  3445.   ret 0
  3446. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$0 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$0
  3447. $T1 = 32
  3448. $T2 = 40
  3449. this$ = 80
  3450. _Pch$ = 88
  3451. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$1 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$1
  3452.   push rbp
  3453.   sub rsp, 32 ; 00000020H
  3454.   mov rbp, rdx
  3455.   mov rcx, QWORD PTR this$[rbp]
  3456.   add rcx, 8
  3457.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3458.   add rsp, 32 ; 00000020H
  3459.   pop rbp
  3460.   ret 0
  3461. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$1 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$1
  3462. $T1 = 32
  3463. $T2 = 40
  3464. this$ = 80
  3465. _Pch$ = 88
  3466. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$2 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$2
  3467.   push rbp
  3468.   sub rsp, 32 ; 00000020H
  3469.   mov rbp, rdx
  3470.   mov rcx, QWORD PTR this$[rbp]
  3471.   add rcx, 24
  3472.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3473.   add rsp, 32 ; 00000020H
  3474.   pop rbp
  3475.   ret 0
  3476. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$2 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$2
  3477. $T1 = 32
  3478. $T2 = 40
  3479. this$ = 80
  3480. _Pch$ = 88
  3481. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$3 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$3
  3482.   push rbp
  3483.   sub rsp, 32 ; 00000020H
  3484.   mov rbp, rdx
  3485.   mov rcx, QWORD PTR this$[rbp]
  3486.   add rcx, 40 ; 00000028H
  3487.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  3488.   add rsp, 32 ; 00000020H
  3489.   pop rbp
  3490.   ret 0
  3491. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$3 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$3
  3492. $T1 = 32
  3493. $T2 = 40
  3494. this$ = 80
  3495. _Pch$ = 88
  3496. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$4 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$4
  3497.   push rbp
  3498.   sub rsp, 32 ; 00000020H
  3499.   mov rbp, rdx
  3500.   mov rcx, QWORD PTR this$[rbp]
  3501.   add rcx, 56 ; 00000038H
  3502.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  3503.   add rsp, 32 ; 00000020H
  3504.   pop rbp
  3505.   ret 0
  3506. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$4 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$4
  3507. $T1 = 32
  3508. $T2 = 40
  3509. this$ = 80
  3510. _Pch$ = 88
  3511. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$5 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$5
  3512.   push rbp
  3513.   sub rsp, 32 ; 00000020H
  3514.   mov rbp, rdx
  3515.   mov rcx, QWORD PTR this$[rbp]
  3516.   add rcx, 72 ; 00000048H
  3517.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3518.   add rsp, 32 ; 00000020H
  3519.   pop rbp
  3520.   ret 0
  3521. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$5 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$5
  3522. $T1 = 32
  3523. $T2 = 40
  3524. this$ = 80
  3525. _Pch$ = 88
  3526. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$6 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$6
  3527.   push rbp
  3528.   sub rsp, 32 ; 00000020H
  3529.   mov rbp, rdx
  3530.   mov rcx, QWORD PTR this$[rbp]
  3531.   add rcx, 88 ; 00000058H
  3532.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3533.   add rsp, 32 ; 00000020H
  3534.   pop rbp
  3535.   ret 0
  3536. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$6 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$6
  3537.  
  3538. $T1 = 32
  3539. this$ = 64
  3540. std::_Locinfo::~_Locinfo(void) PROC ; std::_Locinfo::~_Locinfo, COMDAT
  3541. $LN3:
  3542.   mov QWORD PTR [rsp+8], rcx
  3543.   sub rsp, 56 ; 00000038H
  3544.   mov QWORD PTR $T1[rsp], -2
  3545.   mov rcx, QWORD PTR this$[rsp]
  3546.   call static void std::_Locinfo::_Locinfo_dtor(std::_Locinfo *) ; std::_Locinfo::_Locinfo_dtor
  3547.   npad 1
  3548.   mov rax, QWORD PTR this$[rsp]
  3549.   add rax, 88 ; 00000058H
  3550.   mov rcx, rax
  3551.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3552.   npad 1
  3553.   mov rax, QWORD PTR this$[rsp]
  3554.   add rax, 72 ; 00000048H
  3555.   mov rcx, rax
  3556.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3557.   npad 1
  3558.   mov rax, QWORD PTR this$[rsp]
  3559.   add rax, 56 ; 00000038H
  3560.   mov rcx, rax
  3561.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  3562.   npad 1
  3563.   mov rax, QWORD PTR this$[rsp]
  3564.   add rax, 40 ; 00000028H
  3565.   mov rcx, rax
  3566.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  3567.   npad 1
  3568.   mov rax, QWORD PTR this$[rsp]
  3569.   add rax, 24
  3570.   mov rcx, rax
  3571.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3572.   npad 1
  3573.   mov rax, QWORD PTR this$[rsp]
  3574.   add rax, 8
  3575.   mov rcx, rax
  3576.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  3577.   npad 1
  3578.   mov rax, QWORD PTR this$[rsp]
  3579.   mov rcx, rax
  3580.   call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  3581.   npad 1
  3582.   add rsp, 56 ; 00000038H
  3583.   ret 0
  3584. std::_Locinfo::~_Locinfo(void) ENDP ; std::_Locinfo::~_Locinfo
  3585.  
  3586. $T1 = 32
  3587. $T2 = 64
  3588. this$ = 128
  3589. __$ReturnUdt$ = 136
  3590. _Ctypevec std::_Locinfo::_Getctype(void)const  PROC ; std::_Locinfo::_Getctype, COMDAT
  3591. $LN3:
  3592.   mov QWORD PTR [rsp+16], rdx
  3593.   mov QWORD PTR [rsp+8], rcx
  3594.   push rsi
  3595.   push rdi
  3596.   sub rsp, 104 ; 00000068H
  3597.   lea rcx, QWORD PTR $T2[rsp]
  3598.   call _Getctype
  3599.   lea rcx, QWORD PTR $T1[rsp]
  3600.   mov rdi, rcx
  3601.   mov rsi, rax
  3602.   mov ecx, 32 ; 00000020H
  3603.   rep movsb
  3604.   lea rax, QWORD PTR $T1[rsp]
  3605.   mov rdi, QWORD PTR __$ReturnUdt$[rsp]
  3606.   mov rsi, rax
  3607.   mov ecx, 32 ; 00000020H
  3608.   rep movsb
  3609.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  3610.   add rsp, 104 ; 00000068H
  3611.   pop rdi
  3612.   pop rsi
  3613.   ret 0
  3614. _Ctypevec std::_Locinfo::_Getctype(void)const  ENDP ; std::_Locinfo::_Getctype
  3615.  
  3616. _Count$ = 8
  3617. unsigned __int64 std::_Get_size_of_n<1>(unsigned __int64) PROC ; std::_Get_size_of_n<1>, COMDAT
  3618.   mov QWORD PTR [rsp+8], rcx
  3619.   mov rax, QWORD PTR _Count$[rsp]
  3620.   ret 0
  3621. unsigned __int64 std::_Get_size_of_n<1>(unsigned __int64) ENDP ; std::_Get_size_of_n<1>
  3622.  
  3623. _Bytes$ = 48
  3624. static void * std::_Default_allocate_traits::_Allocate(unsigned __int64) PROC ; std::_Default_allocate_traits::_Allocate, COMDAT
  3625. $LN3:
  3626.   mov QWORD PTR [rsp+8], rcx
  3627.   sub rsp, 40 ; 00000028H
  3628.   mov rcx, QWORD PTR _Bytes$[rsp]
  3629.   call void * operator new(unsigned __int64) ; operator new
  3630.   add rsp, 40 ; 00000028H
  3631.   ret 0
  3632. static void * std::_Default_allocate_traits::_Allocate(unsigned __int64) ENDP ; std::_Default_allocate_traits::_Allocate
  3633.  
  3634. _Block_size$ = 32
  3635. _Ptr_container$ = 40
  3636. _Ptr$ = 48
  3637. _Bytes$ = 80
  3638. void * std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>(unsigned __int64) PROC ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>, COMDAT
  3639. $LN12:
  3640.   mov QWORD PTR [rsp+8], rcx
  3641.   sub rsp, 72 ; 00000048H
  3642.   mov rax, QWORD PTR _Bytes$[rsp]
  3643.   add rax, 39 ; 00000027H
  3644.   mov QWORD PTR _Block_size$[rsp], rax
  3645.   mov rax, QWORD PTR _Bytes$[rsp]
  3646.   cmp QWORD PTR _Block_size$[rsp], rax
  3647.   ja SHORT $LN8@Allocate_m
  3648.   mov QWORD PTR _Block_size$[rsp], -1
  3649. $LN8@Allocate_m:
  3650.   mov rcx, QWORD PTR _Block_size$[rsp]
  3651.   call static void * std::_Default_allocate_traits::_Allocate(unsigned __int64) ; std::_Default_allocate_traits::_Allocate
  3652.   mov QWORD PTR _Ptr_container$[rsp], rax
  3653. $LN4@Allocate_m:
  3654.   cmp QWORD PTR _Ptr_container$[rsp], 0
  3655.   je SHORT $LN9@Allocate_m
  3656.   jmp SHORT $LN10@Allocate_m
  3657. $LN9@Allocate_m:
  3658. $LN7@Allocate_m:
  3659.   call _invalid_parameter_noinfo_noreturn
  3660.   xor eax, eax
  3661.   test eax, eax
  3662.   jne SHORT $LN7@Allocate_m
  3663. $LN10@Allocate_m:
  3664.   xor eax, eax
  3665.   test eax, eax
  3666.   jne SHORT $LN4@Allocate_m
  3667.   mov rax, QWORD PTR _Ptr_container$[rsp]
  3668.   add rax, 39 ; 00000027H
  3669.   and rax, -32 ; ffffffffffffffe0H
  3670.   mov QWORD PTR _Ptr$[rsp], rax
  3671.   mov eax, 8
  3672.   imul rax, rax, -1
  3673.   mov rcx, QWORD PTR _Ptr$[rsp]
  3674.   mov rdx, QWORD PTR _Ptr_container$[rsp]
  3675.   mov QWORD PTR [rcx+rax], rdx
  3676.   mov rax, QWORD PTR _Ptr$[rsp]
  3677. $LN11@Allocate_m:
  3678.   add rsp, 72 ; 00000048H
  3679.   ret 0
  3680. void * std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>(unsigned __int64) ENDP ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>
  3681.  
  3682. _Back_shift$ = 32
  3683. _Ptr_container$ = 40
  3684. _Ptr_user$ = 48
  3685. _Min_back_shift$ = 56
  3686. _Ptr$ = 80
  3687. _Bytes$ = 88
  3688. void std::_Adjust_manually_vector_aligned(void * &,unsigned __int64 &) PROC ; std::_Adjust_manually_vector_aligned, COMDAT
  3689. $LN11:
  3690.   mov QWORD PTR [rsp+16], rdx
  3691.   mov QWORD PTR [rsp+8], rcx
  3692.   sub rsp, 72 ; 00000048H
  3693.   mov rax, QWORD PTR _Bytes$[rsp]
  3694.   mov rax, QWORD PTR [rax]
  3695.   add rax, 39 ; 00000027H
  3696.   mov rcx, QWORD PTR _Bytes$[rsp]
  3697.   mov QWORD PTR [rcx], rax
  3698.   mov rax, QWORD PTR _Ptr$[rsp]
  3699.   mov rax, QWORD PTR [rax]
  3700.   mov QWORD PTR _Ptr_user$[rsp], rax
  3701.   mov eax, 8
  3702.   imul rax, rax, -1
  3703.   mov rcx, QWORD PTR _Ptr_user$[rsp]
  3704.   mov rax, QWORD PTR [rcx+rax]
  3705.   mov QWORD PTR _Ptr_container$[rsp], rax
  3706.   mov QWORD PTR _Min_back_shift$[rsp], 8
  3707.   mov rax, QWORD PTR _Ptr$[rsp]
  3708.   mov rcx, QWORD PTR _Ptr_container$[rsp]
  3709.   mov rax, QWORD PTR [rax]
  3710.   sub rax, rcx
  3711.   mov QWORD PTR _Back_shift$[rsp], rax
  3712. $LN4@Adjust_man:
  3713.   cmp QWORD PTR _Back_shift$[rsp], 8
  3714.   jb SHORT $LN8@Adjust_man
  3715.   cmp QWORD PTR _Back_shift$[rsp], 39 ; 00000027H
  3716.   ja SHORT $LN8@Adjust_man
  3717.   jmp SHORT $LN9@Adjust_man
  3718. $LN8@Adjust_man:
  3719. $LN7@Adjust_man:
  3720.   call _invalid_parameter_noinfo_noreturn
  3721.   xor eax, eax
  3722.   test eax, eax
  3723.   jne SHORT $LN7@Adjust_man
  3724. $LN9@Adjust_man:
  3725.   xor eax, eax
  3726.   test eax, eax
  3727.   jne SHORT $LN4@Adjust_man
  3728.   mov rax, QWORD PTR _Ptr$[rsp]
  3729.   mov rcx, QWORD PTR _Ptr_container$[rsp]
  3730.   mov QWORD PTR [rax], rcx
  3731. $LN10@Adjust_man:
  3732.   add rsp, 72 ; 00000048H
  3733.   ret 0
  3734. void std::_Adjust_manually_vector_aligned(void * &,unsigned __int64 &) ENDP ; std::_Adjust_manually_vector_aligned
  3735.  
  3736. _Bytes$ = 48
  3737. void * std::_Allocate<16,std::_Default_allocate_traits,0>(unsigned __int64) PROC ; std::_Allocate<16,std::_Default_allocate_traits,0>, COMDAT
  3738. $LN5:
  3739.   mov QWORD PTR [rsp+8], rcx
  3740.   sub rsp, 40 ; 00000028H
  3741.   cmp QWORD PTR _Bytes$[rsp], 4096 ; 00001000H
  3742.   jb SHORT $LN2@Allocate
  3743.   mov rcx, QWORD PTR _Bytes$[rsp]
  3744.   call void * std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>(unsigned __int64) ; std::_Allocate_manually_vector_aligned<std::_Default_allocate_traits>
  3745.   jmp SHORT $LN1@Allocate
  3746. $LN2@Allocate:
  3747.   cmp QWORD PTR _Bytes$[rsp], 0
  3748.   je SHORT $LN3@Allocate
  3749.   mov rcx, QWORD PTR _Bytes$[rsp]
  3750.   call static void * std::_Default_allocate_traits::_Allocate(unsigned __int64) ; std::_Default_allocate_traits::_Allocate
  3751.   jmp SHORT $LN1@Allocate
  3752. $LN3@Allocate:
  3753.   xor eax, eax
  3754. $LN1@Allocate:
  3755.   add rsp, 40 ; 00000028H
  3756.   ret 0
  3757. void * std::_Allocate<16,std::_Default_allocate_traits,0>(unsigned __int64) ENDP ; std::_Allocate<16,std::_Default_allocate_traits,0>
  3758.  
  3759. _Ptr$ = 48
  3760. _Bytes$ = 56
  3761. void std::_Deallocate<16,0>(void *,unsigned __int64) PROC ; std::_Deallocate<16,0>, COMDAT
  3762. $LN4:
  3763.   mov QWORD PTR [rsp+16], rdx
  3764.   mov QWORD PTR [rsp+8], rcx
  3765.   sub rsp, 40 ; 00000028H
  3766.   cmp QWORD PTR _Bytes$[rsp], 4096 ; 00001000H
  3767.   jb SHORT $LN2@Deallocate
  3768.   lea rdx, QWORD PTR _Bytes$[rsp]
  3769.   lea rcx, QWORD PTR _Ptr$[rsp]
  3770.   call void std::_Adjust_manually_vector_aligned(void * &,unsigned __int64 &) ; std::_Adjust_manually_vector_aligned
  3771. $LN2@Deallocate:
  3772.   mov rdx, QWORD PTR _Bytes$[rsp]
  3773.   mov rcx, QWORD PTR _Ptr$[rsp]
  3774.   call void operator delete(void *,unsigned __int64) ; operator delete
  3775.   add rsp, 40 ; 00000028H
  3776.   ret 0
  3777. void std::_Deallocate<16,0>(void *,unsigned __int64) ENDP ; std::_Deallocate<16,0>
  3778.  
  3779. $T1 = 32
  3780. __formal$ = 64
  3781. _Ptr$ = 72
  3782. <_Args_0>$ = 80
  3783. static void std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>(std::allocator<char> &,char * * const,char * const &) PROC ; std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>, COMDAT
  3784. $LN3:
  3785.   mov QWORD PTR [rsp+24], r8
  3786.   mov QWORD PTR [rsp+16], rdx
  3787.   mov QWORD PTR [rsp+8], rcx
  3788.   sub rsp, 56 ; 00000038H
  3789.   mov rdx, QWORD PTR _Ptr$[rsp]
  3790.   mov ecx, 8
  3791.   call void * operator new(unsigned __int64,void *) ; operator new
  3792.   mov QWORD PTR $T1[rsp], rax
  3793.   mov rcx, QWORD PTR <_Args_0>$[rsp]
  3794.   call char * const & std::forward<char * const &>(char * const &) ; std::forward<char * const &>
  3795.   mov rcx, QWORD PTR $T1[rsp]
  3796.   mov rax, QWORD PTR [rax]
  3797.   mov QWORD PTR [rcx], rax
  3798.   add rsp, 56 ; 00000038H
  3799.   ret 0
  3800. static void std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>(std::allocator<char> &,char * * const,char * const &) ENDP ; std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>
  3801.  
  3802. __formal$ = 8
  3803. _Ptr$ = 16
  3804. static void std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>(std::allocator<char> &,char * * const) PROC ; std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>, COMDAT
  3805.   mov QWORD PTR [rsp+16], rdx
  3806.   mov QWORD PTR [rsp+8], rcx
  3807.   ret 0
  3808. static void std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>(std::allocator<char> &,char * * const) ENDP ; std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>
  3809.  
  3810. __formal$ = 8
  3811. static unsigned __int64 std::_Default_allocator_traits<std::allocator<char> >::max_size(std::allocator<char> const &) PROC ; std::_Default_allocator_traits<std::allocator<char> >::max_size, COMDAT
  3812.   mov QWORD PTR [rsp+8], rcx
  3813.   mov rax, -1
  3814.   ret 0
  3815. static unsigned __int64 std::_Default_allocator_traits<std::allocator<char> >::max_size(std::allocator<char> const &) ENDP ; std::_Default_allocator_traits<std::allocator<char> >::max_size
  3816.  
  3817. __$ReturnUdt$ = 8
  3818. _Al$ = 16
  3819. static std::allocator<char> std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction(std::allocator<char> const &) PROC ; std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction, COMDAT
  3820.   mov QWORD PTR [rsp+16], rdx
  3821.   mov QWORD PTR [rsp+8], rcx
  3822.   mov rax, QWORD PTR __$ReturnUdt$[rsp]
  3823.   ret 0
  3824. static std::allocator<char> std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction(std::allocator<char> const &) ENDP ; std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction
  3825.  
  3826. this$ = 8
  3827. std::allocator<char>::allocator<char>(void) PROC ; std::allocator<char>::allocator<char>, COMDAT
  3828.   mov QWORD PTR [rsp+8], rcx
  3829.   mov rax, QWORD PTR this$[rsp]
  3830.   ret 0
  3831. std::allocator<char>::allocator<char>(void) ENDP ; std::allocator<char>::allocator<char>
  3832.  
  3833. this$ = 48
  3834. _Ptr$ = 56
  3835. _Count$ = 64
  3836. void std::allocator<char>::deallocate(char * const,unsigned __int64) PROC ; std::allocator<char>::deallocate, COMDAT
  3837. $LN3:
  3838.   mov QWORD PTR [rsp+24], r8
  3839.   mov QWORD PTR [rsp+16], rdx
  3840.   mov QWORD PTR [rsp+8], rcx
  3841.   sub rsp, 40 ; 00000028H
  3842.   mov rdx, QWORD PTR _Count$[rsp]
  3843.   mov rcx, QWORD PTR _Ptr$[rsp]
  3844.   call void std::_Deallocate<16,0>(void *,unsigned __int64) ; std::_Deallocate<16,0>
  3845.   add rsp, 40 ; 00000028H
  3846.   ret 0
  3847. void std::allocator<char>::deallocate(char * const,unsigned __int64) ENDP ; std::allocator<char>::deallocate
  3848.  
  3849. this$ = 48
  3850. _Count$ = 56
  3851. char * std::allocator<char>::allocate(unsigned __int64) PROC ; std::allocator<char>::allocate, COMDAT
  3852. $LN3:
  3853.   mov QWORD PTR [rsp+16], rdx
  3854.   mov QWORD PTR [rsp+8], rcx
  3855.   sub rsp, 40 ; 00000028H
  3856.   mov rcx, QWORD PTR _Count$[rsp]
  3857.   call unsigned __int64 std::_Get_size_of_n<1>(unsigned __int64) ; std::_Get_size_of_n<1>
  3858.   mov rcx, rax
  3859.   call void * std::_Allocate<16,std::_Default_allocate_traits,0>(unsigned __int64) ; std::_Allocate<16,std::_Default_allocate_traits,0>
  3860.   add rsp, 40 ; 00000028H
  3861.   ret 0
  3862. char * std::allocator<char>::allocate(unsigned __int64) ENDP ; std::allocator<char>::allocate
  3863.  
  3864. _Len$ = 8
  3865. unsigned __int64 std::_Convert_size<unsigned __int64>(unsigned __int64) PROC ; std::_Convert_size<unsigned __int64>, COMDAT
  3866.   mov QWORD PTR [rsp+8], rcx
  3867.   mov rax, QWORD PTR _Len$[rsp]
  3868.   ret 0
  3869. unsigned __int64 std::_Convert_size<unsigned __int64>(unsigned __int64) ENDP ; std::_Convert_size<unsigned __int64>
  3870.  
  3871. _Val$ = 8
  3872. char * * std::addressof<char *>(char * &) PROC ; std::addressof<char *>, COMDAT
  3873.   mov QWORD PTR [rsp+8], rcx
  3874.   mov rax, QWORD PTR _Val$[rsp]
  3875.   ret 0
  3876. char * * std::addressof<char *>(char * &) ENDP ; std::addressof<char *>
  3877.  
  3878. _Val$ = 8
  3879. std::_String_val<std::_Simple_types<char> > * std::addressof<std::_String_val<std::_Simple_types<char> > >(std::_String_val<std::_Simple_types<char> > &) PROC ; std::addressof<std::_String_val<std::_Simple_types<char> > >, COMDAT
  3880.   mov QWORD PTR [rsp+8], rcx
  3881.   mov rax, QWORD PTR _Val$[rsp]
  3882.   ret 0
  3883. std::_String_val<std::_Simple_types<char> > * std::addressof<std::_String_val<std::_Simple_types<char> > >(std::_String_val<std::_Simple_types<char> > &) ENDP ; std::addressof<std::_String_val<std::_Simple_types<char> > >
  3884.  
  3885. _Ptr$ = 8
  3886. char * std::_Unfancy<char>(char *) PROC ; std::_Unfancy<char>, COMDAT
  3887.   mov QWORD PTR [rsp+8], rcx
  3888.   mov rax, QWORD PTR _Ptr$[rsp]
  3889.   ret 0
  3890. char * std::_Unfancy<char>(char *) ENDP ; std::_Unfancy<char>
  3891.  
  3892. this$ = 48
  3893. std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >(void) PROC ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >, COMDAT
  3894. $LN4:
  3895.   mov QWORD PTR [rsp+8], rcx
  3896.   sub rsp, 40 ; 00000028H
  3897.   mov rax, QWORD PTR this$[rsp]
  3898.   mov rcx, rax
  3899.   call std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty(void) ; std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty
  3900.   mov rax, QWORD PTR this$[rsp]
  3901.   mov QWORD PTR [rax+16], 0
  3902.   mov rax, QWORD PTR this$[rsp]
  3903.   mov QWORD PTR [rax+24], 0
  3904.   mov rax, QWORD PTR this$[rsp]
  3905.   add rsp, 40 ; 00000028H
  3906.   ret 0
  3907. std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >(void) ENDP ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >
  3908.  
  3909. _Result$ = 32
  3910. this$ = 64
  3911. char * std::_String_val<std::_Simple_types<char> >::_Myptr(void) PROC ; std::_String_val<std::_Simple_types<char> >::_Myptr, COMDAT
  3912. $LN4:
  3913.   mov QWORD PTR [rsp+8], rcx
  3914.   sub rsp, 56 ; 00000038H
  3915.   mov rax, QWORD PTR this$[rsp]
  3916.   mov QWORD PTR _Result$[rsp], rax
  3917.   mov rcx, QWORD PTR this$[rsp]
  3918.   call bool std::_String_val<std::_Simple_types<char> >::_Large_string_engaged(void)const  ; std::_String_val<std::_Simple_types<char> >::_Large_string_engaged
  3919.   movzx eax, al
  3920.   test eax, eax
  3921.   je SHORT $LN2@Myptr
  3922.   mov rax, QWORD PTR this$[rsp]
  3923.   mov rcx, QWORD PTR [rax]
  3924.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  3925.   mov QWORD PTR _Result$[rsp], rax
  3926. $LN2@Myptr:
  3927.   mov rax, QWORD PTR _Result$[rsp]
  3928.   add rsp, 56 ; 00000038H
  3929.   ret 0
  3930. char * std::_String_val<std::_Simple_types<char> >::_Myptr(void) ENDP ; std::_String_val<std::_Simple_types<char> >::_Myptr
  3931.  
  3932. _Result$ = 32
  3933. this$ = 64
  3934. char const * std::_String_val<std::_Simple_types<char> >::_Myptr(void)const  PROC ; std::_String_val<std::_Simple_types<char> >::_Myptr, COMDAT
  3935. $LN4:
  3936.   mov QWORD PTR [rsp+8], rcx
  3937.   sub rsp, 56 ; 00000038H
  3938.   mov rax, QWORD PTR this$[rsp]
  3939.   mov QWORD PTR _Result$[rsp], rax
  3940.   mov rcx, QWORD PTR this$[rsp]
  3941.   call bool std::_String_val<std::_Simple_types<char> >::_Large_string_engaged(void)const  ; std::_String_val<std::_Simple_types<char> >::_Large_string_engaged
  3942.   movzx eax, al
  3943.   test eax, eax
  3944.   je SHORT $LN2@Myptr
  3945.   mov rax, QWORD PTR this$[rsp]
  3946.   mov rcx, QWORD PTR [rax]
  3947.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  3948.   mov QWORD PTR _Result$[rsp], rax
  3949. $LN2@Myptr:
  3950.   mov rax, QWORD PTR _Result$[rsp]
  3951.   add rsp, 56 ; 00000038H
  3952.   ret 0
  3953. char const * std::_String_val<std::_Simple_types<char> >::_Myptr(void)const  ENDP ; std::_String_val<std::_Simple_types<char> >::_Myptr
  3954.  
  3955. tv66 = 0
  3956. this$ = 32
  3957. bool std::_String_val<std::_Simple_types<char> >::_Large_string_engaged(void)const  PROC ; std::_String_val<std::_Simple_types<char> >::_Large_string_engaged, COMDAT
  3958. $LN5:
  3959.   mov QWORD PTR [rsp+8], rcx
  3960.   sub rsp, 24
  3961.   mov rax, QWORD PTR this$[rsp]
  3962.   cmp QWORD PTR [rax+24], 16
  3963.   jb SHORT $LN3@Large_stri
  3964.   mov DWORD PTR tv66[rsp], 1
  3965.   jmp SHORT $LN4@Large_stri
  3966. $LN3@Large_stri:
  3967.   mov DWORD PTR tv66[rsp], 0
  3968. $LN4@Large_stri:
  3969.   movzx eax, BYTE PTR tv66[rsp]
  3970.   add rsp, 24
  3971.   ret 0
  3972. bool std::_String_val<std::_Simple_types<char> >::_Large_string_engaged(void)const  ENDP ; std::_String_val<std::_Simple_types<char> >::_Large_string_engaged
  3973.  
  3974. this$ = 8
  3975. std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty(void) PROC ; std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty, COMDAT
  3976.   mov QWORD PTR [rsp+8], rcx
  3977.   mov rax, QWORD PTR this$[rsp]
  3978.   ret 0
  3979. std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty(void) ENDP ; std::_String_val<std::_Simple_types<char> >::_Bxty::_Bxty
  3980.  
  3981. this$ = 8
  3982. std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty(void) PROC ; std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty, COMDAT
  3983.   mov QWORD PTR [rsp+8], rcx
  3984.   ret 0
  3985. std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty(void) ENDP ; std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty
  3986.  
  3987. $T1 = 32
  3988. this$ = 64
  3989. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >, COMDAT
  3990. $LN4:
  3991.   mov QWORD PTR [rsp+8], rcx
  3992.   sub rsp, 56 ; 00000038H
  3993.   mov rax, QWORD PTR this$[rsp]
  3994.   movzx edx, BYTE PTR $T1[rsp]
  3995.   mov rcx, rax
  3996.   call std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>(std::_Zero_then_variadic_args_t) ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>
  3997.   mov rax, QWORD PTR this$[rsp]
  3998.   add rsp, 56 ; 00000038H
  3999.   ret 0
  4000. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >
  4001.  
  4002. $T1 = 32
  4003. this$ = 64
  4004. _Al$ = 72
  4005. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>(std::allocator<char> &&) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>, COMDAT
  4006. $LN4:
  4007.   mov QWORD PTR [rsp+16], rdx
  4008.   mov QWORD PTR [rsp+8], rcx
  4009.   sub rsp, 56 ; 00000038H
  4010.   mov rcx, QWORD PTR _Al$[rsp]
  4011.   call std::allocator<char> && std::forward<std::allocator<char> >(std::allocator<char> &) ; std::forward<std::allocator<char> >
  4012.   mov rcx, QWORD PTR this$[rsp]
  4013.   mov r8, rax
  4014.   movzx edx, BYTE PTR $T1[rsp]
  4015.   call std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >(std::_One_then_variadic_args_t,std::allocator<char> &&) ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >
  4016.   mov rax, QWORD PTR this$[rsp]
  4017.   add rsp, 56 ; 00000038H
  4018.   ret 0
  4019. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>(std::allocator<char> &&) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>
  4020.  
  4021. this$ = 48
  4022. void std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all(void) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all, COMDAT
  4023. $LN3:
  4024.   mov QWORD PTR [rsp+8], rcx
  4025.   sub rsp, 40 ; 00000028H
  4026.   mov rcx, QWORD PTR this$[rsp]
  4027.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4028.   mov rcx, rax
  4029.   call void std::_Container_base0::_Orphan_all(void) ; std::_Container_base0::_Orphan_all
  4030.   add rsp, 40 ; 00000028H
  4031.   ret 0
  4032. void std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all(void) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all
  4033.  
  4034. this$ = 48
  4035. std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal, COMDAT
  4036. $LN3:
  4037.   mov QWORD PTR [rsp+8], rcx
  4038.   sub rsp, 40 ; 00000028H
  4039.   mov rax, QWORD PTR this$[rsp]
  4040.   mov rcx, rax
  4041.   call std::allocator<char> & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void) ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first
  4042.   add rsp, 40 ; 00000028H
  4043.   ret 0
  4044. std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4045.  
  4046. this$ = 48
  4047. std::allocator<char> const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void)const  PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal, COMDAT
  4048. $LN3:
  4049.   mov QWORD PTR [rsp+8], rcx
  4050.   sub rsp, 40 ; 00000028H
  4051.   mov rax, QWORD PTR this$[rsp]
  4052.   mov rcx, rax
  4053.   call std::allocator<char> const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void)const  ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first
  4054.   add rsp, 40 ; 00000028H
  4055.   ret 0
  4056. std::allocator<char> const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void)const  ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4057.  
  4058. this$ = 48
  4059. std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data, COMDAT
  4060. $LN3:
  4061.   mov QWORD PTR [rsp+8], rcx
  4062.   sub rsp, 40 ; 00000028H
  4063.   mov rax, QWORD PTR this$[rsp]
  4064.   mov rcx, rax
  4065.   call std::_String_val<std::_Simple_types<char> > & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void) ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second
  4066.   add rsp, 40 ; 00000028H
  4067.   ret 0
  4068. std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4069.  
  4070. this$ = 48
  4071. std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data, COMDAT
  4072. $LN3:
  4073.   mov QWORD PTR [rsp+8], rcx
  4074.   sub rsp, 40 ; 00000028H
  4075.   mov rax, QWORD PTR this$[rsp]
  4076.   mov rcx, rax
  4077.   call std::_String_val<std::_Simple_types<char> > const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void)const  ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second
  4078.   add rsp, 40 ; 00000028H
  4079.   ret 0
  4080. std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4081.  
  4082. $T1 = 32
  4083. $T2 = 40
  4084. this$ = 64
  4085. _Right$ = 72
  4086. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
  4087. $LN4:
  4088.   mov QWORD PTR [rsp+16], rdx
  4089.   mov QWORD PTR [rsp+8], rcx
  4090.   sub rsp, 56 ; 00000038H
  4091.   mov QWORD PTR $T2[rsp], -2
  4092.   mov rcx, QWORD PTR _Right$[rsp]
  4093.   call std::allocator<char> const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4094.   mov rdx, rax
  4095.   lea rcx, QWORD PTR $T1[rsp]
  4096.   call static std::allocator<char> std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction(std::allocator<char> const &) ; std::_Default_allocator_traits<std::allocator<char> >::select_on_container_copy_construction
  4097.   mov rdx, rax
  4098.   mov rcx, QWORD PTR this$[rsp]
  4099.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>(std::allocator<char> &&) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>
  4100.   npad 1
  4101.   mov rdx, QWORD PTR _Right$[rsp]
  4102.   mov rcx, QWORD PTR this$[rsp]
  4103.   call void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents
  4104.   npad 1
  4105.   mov rax, QWORD PTR this$[rsp]
  4106.   add rsp, 56 ; 00000038H
  4107.   ret 0
  4108. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  4109. $T1 = 32
  4110. $T2 = 40
  4111. this$ = 64
  4112. _Right$ = 72
  4113. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(basic_string<char,std::char_traits<char>,std::allocator<char> >::dtor$0 const &)'::`1'::dtor$0 PROC ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  4114.   push rbp
  4115.   sub rsp, 32 ; 00000020H
  4116.   mov rbp, rdx
  4117.   mov rcx, QWORD PTR this$[rbp]
  4118.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void)
  4119.   add rsp, 32 ; 00000020H
  4120.   pop rbp
  4121.   ret 0
  4122. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(basic_string<char,std::char_traits<char>,std::allocator<char> >::dtor$0 const &)'::`1'::dtor$0 ENDP ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  4123.  
  4124. $T1 = 32
  4125. this$ = 64
  4126. _Ptr$ = 72
  4127. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
  4128. $LN4:
  4129.   mov QWORD PTR [rsp+16], rdx
  4130.   mov QWORD PTR [rsp+8], rcx
  4131.   sub rsp, 56 ; 00000038H
  4132.   mov QWORD PTR $T1[rsp], -2
  4133.   mov rcx, QWORD PTR this$[rsp]
  4134.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > >
  4135.   npad 1
  4136.   mov rcx, QWORD PTR this$[rsp]
  4137.   call void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init
  4138.   mov rdx, QWORD PTR _Ptr$[rsp]
  4139.   mov rcx, QWORD PTR this$[rsp]
  4140.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  4141.   npad 1
  4142.   mov rax, QWORD PTR this$[rsp]
  4143.   add rsp, 56 ; 00000038H
  4144.   ret 0
  4145. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  4146. $T1 = 32
  4147. this$ = 64
  4148. _Ptr$ = 72
  4149. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const)'::`1'::dtor$0 PROC ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  4150.   push rbp
  4151.   sub rsp, 32 ; 00000020H
  4152.   mov rbp, rdx
  4153.   mov rcx, QWORD PTR this$[rbp]
  4154.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void)
  4155.   add rsp, 32 ; 00000020H
  4156.   pop rbp
  4157.   ret 0
  4158. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const)'::`1'::dtor$0 ENDP ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  4159.  
  4160. $T1 = 32
  4161. $T2 = 40
  4162. this$ = 64
  4163. _Right$ = 72
  4164. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
  4165. $LN3:
  4166.   mov QWORD PTR [rsp+16], rdx
  4167.   mov QWORD PTR [rsp+8], rcx
  4168.   push rdi
  4169.   sub rsp, 48 ; 00000030H
  4170.   mov QWORD PTR $T2[rsp], -2
  4171.   mov rcx, QWORD PTR _Right$[rsp]
  4172.   call std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4173.   npad 1
  4174.   mov rcx, rax
  4175.   call std::allocator<char> && std::move<std::allocator<char> &>(std::allocator<char> &) ; std::move<std::allocator<char> &>
  4176.   npad 1
  4177.   mov rdx, rax
  4178.   mov rcx, QWORD PTR this$[rsp]
  4179.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>(std::allocator<char> &&) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_String_alloc<std::_String_base_types<char,std::allocator<char> > ><std::allocator<char>,void>
  4180.   npad 1
  4181.   lea rax, QWORD PTR $T1[rsp]
  4182.   mov rdi, rax
  4183.   xor eax, eax
  4184.   mov ecx, 1
  4185.   rep stosb
  4186.   mov rcx, QWORD PTR _Right$[rsp]
  4187.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > && std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) ; std::move<std::basic_string<char,std::char_traits<char>,std::allocator<char> > &>
  4188.   npad 1
  4189.   movzx r8d, BYTE PTR $T1[rsp]
  4190.   mov rdx, rax
  4191.   mov rcx, QWORD PTR this$[rsp]
  4192.   call void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&,std::integral_constant<bool,1>) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal
  4193.   npad 1
  4194.   mov rax, QWORD PTR this$[rsp]
  4195.   add rsp, 48 ; 00000030H
  4196.   pop rdi
  4197.   ret 0
  4198. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  4199.  
  4200. _Right_data$ = 32
  4201. _Right_data_mem$ = 40
  4202. _My_data_mem$ = 48
  4203. $T1 = 56
  4204. this$ = 80
  4205. _Right$ = 88
  4206. __formal$ = 96
  4207. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&,std::integral_constant<bool,1>) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal, COMDAT
  4208. $LN3:
  4209.   mov BYTE PTR [rsp+24], r8b
  4210.   mov QWORD PTR [rsp+16], rdx
  4211.   mov QWORD PTR [rsp+8], rcx
  4212.   sub rsp, 72 ; 00000048H
  4213.   mov QWORD PTR $T1[rsp], -2
  4214.   mov rcx, QWORD PTR _Right$[rsp]
  4215.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4216.   npad 1
  4217.   mov QWORD PTR _Right_data$[rsp], rax
  4218.   mov rcx, QWORD PTR this$[rsp]
  4219.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4220.   npad 1
  4221.   mov rcx, rax
  4222.   call std::_String_val<std::_Simple_types<char> > * std::addressof<std::_String_val<std::_Simple_types<char> > >(std::_String_val<std::_Simple_types<char> > &) ; std::addressof<std::_String_val<std::_Simple_types<char> > >
  4223.   npad 1
  4224.   mov QWORD PTR _My_data_mem$[rsp], rax
  4225.   mov rcx, QWORD PTR _Right_data$[rsp]
  4226.   call std::_String_val<std::_Simple_types<char> > * std::addressof<std::_String_val<std::_Simple_types<char> > >(std::_String_val<std::_Simple_types<char> > &) ; std::addressof<std::_String_val<std::_Simple_types<char> > >
  4227.   npad 1
  4228.   mov QWORD PTR _Right_data_mem$[rsp], rax
  4229.   mov r8d, 32 ; 00000020H
  4230.   mov rdx, QWORD PTR _Right_data_mem$[rsp]
  4231.   mov rcx, QWORD PTR _My_data_mem$[rsp]
  4232.   call memcpy
  4233.   npad 1
  4234.   mov rcx, QWORD PTR _Right$[rsp]
  4235.   call void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init
  4236.   npad 1
  4237.   add rsp, 72 ; 00000048H
  4238.   ret 0
  4239. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal(std::basic_string<char,std::char_traits<char>,std::allocator<char> > &&,std::integral_constant<bool,1>) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Assign_rv_contents_with_alloc_always_equal
  4240.  
  4241. _My_data$ = 32
  4242. _Right_size$ = 40
  4243. _Right_data$ = 48
  4244. _Al$ = 56
  4245. _New_array$ = 64
  4246. _Right_ptr$ = 72
  4247. _New_capacity$ = 80
  4248. $T1 = 88
  4249. $T2 = 96
  4250. tv146 = 104
  4251. this$ = 128
  4252. _Right$ = 136
  4253. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents, COMDAT
  4254. $LN4:
  4255.   mov QWORD PTR [rsp+16], rdx
  4256.   mov QWORD PTR [rsp+8], rcx
  4257.   sub rsp, 120 ; 00000078H
  4258.   mov rcx, QWORD PTR this$[rsp]
  4259.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4260.   mov QWORD PTR _My_data$[rsp], rax
  4261.   mov rcx, QWORD PTR _Right$[rsp]
  4262.   call std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4263.   mov QWORD PTR _Right_data$[rsp], rax
  4264.   mov rax, QWORD PTR _Right_data$[rsp]
  4265.   mov rax, QWORD PTR [rax+16]
  4266.   mov QWORD PTR _Right_size$[rsp], rax
  4267.   mov rcx, QWORD PTR _Right_data$[rsp]
  4268.   call char const * std::_String_val<std::_Simple_types<char> >::_Myptr(void)const  ; std::_String_val<std::_Simple_types<char> >::_Myptr
  4269.   mov QWORD PTR _Right_ptr$[rsp], rax
  4270.   cmp QWORD PTR _Right_size$[rsp], 16
  4271.   jae SHORT $LN2@Construct_
  4272.   mov rax, QWORD PTR _My_data$[rsp]
  4273.   mov r8d, 16
  4274.   mov rdx, QWORD PTR _Right_ptr$[rsp]
  4275.   mov rcx, rax
  4276.   call static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::copy
  4277.   mov rax, QWORD PTR _My_data$[rsp]
  4278.   mov rcx, QWORD PTR _Right_size$[rsp]
  4279.   mov QWORD PTR [rax+16], rcx
  4280.   mov rax, QWORD PTR _My_data$[rsp]
  4281.   mov QWORD PTR [rax+24], 15
  4282.   jmp $LN1@Construct_
  4283. $LN2@Construct_:
  4284.   mov rcx, QWORD PTR this$[rsp]
  4285.   call std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4286.   mov QWORD PTR _Al$[rsp], rax
  4287.   mov rcx, QWORD PTR this$[rsp]
  4288.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
  4289.   mov QWORD PTR $T1[rsp], rax
  4290.   mov rax, QWORD PTR _Right_size$[rsp]
  4291.   or rax, 15
  4292.   mov QWORD PTR $T2[rsp], rax
  4293.   lea rdx, QWORD PTR $T1[rsp]
  4294.   lea rcx, QWORD PTR $T2[rsp]
  4295.   call unsigned __int64 const & std::_Min_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ; std::_Min_value<unsigned __int64>
  4296.   mov rax, QWORD PTR [rax]
  4297.   mov QWORD PTR _New_capacity$[rsp], rax
  4298.   mov rax, QWORD PTR _New_capacity$[rsp]
  4299.   inc rax
  4300.   mov rdx, rax
  4301.   mov rcx, QWORD PTR _Al$[rsp]
  4302.   call char * std::allocator<char>::allocate(unsigned __int64) ; std::allocator<char>::allocate
  4303.   mov QWORD PTR _New_array$[rsp], rax
  4304.   mov rax, QWORD PTR _My_data$[rsp]
  4305.   mov rcx, rax
  4306.   call char * * std::addressof<char *>(char * &) ; std::addressof<char *>
  4307.   lea r8, QWORD PTR _New_array$[rsp]
  4308.   mov rdx, rax
  4309.   mov rcx, QWORD PTR _Al$[rsp]
  4310.   call static void std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>(std::allocator<char> &,char * * const,char * const &) ; std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>
  4311.   mov rax, QWORD PTR _Right_size$[rsp]
  4312.   inc rax
  4313.   mov QWORD PTR tv146[rsp], rax
  4314.   mov rcx, QWORD PTR _New_array$[rsp]
  4315.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  4316.   mov rcx, QWORD PTR tv146[rsp]
  4317.   mov r8, rcx
  4318.   mov rdx, QWORD PTR _Right_ptr$[rsp]
  4319.   mov rcx, rax
  4320.   call static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::copy
  4321.   mov rax, QWORD PTR _My_data$[rsp]
  4322.   mov rcx, QWORD PTR _Right_size$[rsp]
  4323.   mov QWORD PTR [rax+16], rcx
  4324.   mov rax, QWORD PTR _My_data$[rsp]
  4325.   mov rcx, QWORD PTR _New_capacity$[rsp]
  4326.   mov QWORD PTR [rax+24], rcx
  4327. $LN1@Construct_:
  4328.   add rsp, 120 ; 00000078H
  4329.   ret 0
  4330. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Construct_lv_contents
  4331.  
  4332. $T1 = 32
  4333. this$ = 64
  4334. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >, COMDAT
  4335. $LN3:
  4336.   mov QWORD PTR [rsp+8], rcx
  4337.   sub rsp, 56 ; 00000038H
  4338.   mov QWORD PTR $T1[rsp], -2
  4339.   mov rcx, QWORD PTR this$[rsp]
  4340.   call void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate
  4341.   npad 1
  4342.   mov rcx, QWORD PTR this$[rsp]
  4343.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void)
  4344.   npad 1
  4345.   add rsp, 56 ; 00000038H
  4346.   ret 0
  4347. std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  4348.  
  4349. _Right_data$ = 32
  4350. this$ = 64
  4351. _Right$ = 72
  4352. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT
  4353. $LN3:
  4354.   mov QWORD PTR [rsp+16], rdx
  4355.   mov QWORD PTR [rsp+8], rcx
  4356.   sub rsp, 56 ; 00000038H
  4357.   mov rcx, QWORD PTR _Right$[rsp]
  4358.   call std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4359.   mov QWORD PTR _Right_data$[rsp], rax
  4360.   mov rcx, QWORD PTR _Right_data$[rsp]
  4361.   call char const * std::_String_val<std::_Simple_types<char> >::_Myptr(void)const  ; std::_String_val<std::_Simple_types<char> >::_Myptr
  4362.   mov rcx, QWORD PTR _Right_data$[rsp]
  4363.   mov r8, QWORD PTR [rcx+16]
  4364.   mov rdx, rax
  4365.   mov rcx, QWORD PTR this$[rsp]
  4366.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const,unsigned __int64) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  4367.   add rsp, 56 ; 00000038H
  4368.   ret 0
  4369. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  4370.  
  4371. $T1 = 48
  4372. $T2 = 49
  4373. _My_data$ = 56
  4374. _Old_size$ = 64
  4375. _Old_ptr$3 = 72
  4376. this$ = 96
  4377. _Ptr$ = 104
  4378. _Count$ = 112
  4379. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const,unsigned __int64) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT
  4380. $LN4:
  4381.   mov QWORD PTR [rsp+24], r8
  4382.   mov QWORD PTR [rsp+16], rdx
  4383.   mov QWORD PTR [rsp+8], rcx
  4384.   push rdi
  4385.   sub rsp, 80 ; 00000050H
  4386.   mov rcx, QWORD PTR this$[rsp]
  4387.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4388.   mov QWORD PTR _My_data$[rsp], rax
  4389.   mov rax, QWORD PTR _My_data$[rsp]
  4390.   mov rax, QWORD PTR [rax+16]
  4391.   mov QWORD PTR _Old_size$[rsp], rax
  4392.   mov rax, QWORD PTR _My_data$[rsp]
  4393.   mov rcx, QWORD PTR _Old_size$[rsp]
  4394.   mov rax, QWORD PTR [rax+24]
  4395.   sub rax, rcx
  4396.   cmp QWORD PTR _Count$[rsp], rax
  4397.   ja SHORT $LN2@append
  4398.   mov rax, QWORD PTR _Count$[rsp]
  4399.   mov rcx, QWORD PTR _Old_size$[rsp]
  4400.   add rcx, rax
  4401.   mov rax, rcx
  4402.   mov rcx, QWORD PTR _My_data$[rsp]
  4403.   mov QWORD PTR [rcx+16], rax
  4404.   mov rcx, QWORD PTR _My_data$[rsp]
  4405.   call char * std::_String_val<std::_Simple_types<char> >::_Myptr(void) ; std::_String_val<std::_Simple_types<char> >::_Myptr
  4406.   mov QWORD PTR _Old_ptr$3[rsp], rax
  4407.   mov rax, QWORD PTR _Old_size$[rsp]
  4408.   mov rcx, QWORD PTR _Old_ptr$3[rsp]
  4409.   add rcx, rax
  4410.   mov rax, rcx
  4411.   mov r8, QWORD PTR _Count$[rsp]
  4412.   mov rdx, QWORD PTR _Ptr$[rsp]
  4413.   mov rcx, rax
  4414.   call static char * std::char_traits<char>::move(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::move
  4415.   mov BYTE PTR $T1[rsp], 0
  4416.   mov rax, QWORD PTR _Count$[rsp]
  4417.   mov rcx, QWORD PTR _Old_size$[rsp]
  4418.   add rcx, rax
  4419.   mov rax, rcx
  4420.   mov rcx, QWORD PTR _Old_ptr$3[rsp]
  4421.   add rcx, rax
  4422.   mov rax, rcx
  4423.   lea rdx, QWORD PTR $T1[rsp]
  4424.   mov rcx, rax
  4425.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  4426.   mov rax, QWORD PTR this$[rsp]
  4427.   jmp SHORT $LN1@append
  4428. $LN2@append:
  4429.   lea rax, QWORD PTR $T2[rsp]
  4430.   mov rdi, rax
  4431.   xor eax, eax
  4432.   mov ecx, 1
  4433.   rep stosb
  4434.   mov rax, QWORD PTR _Count$[rsp]
  4435.   mov QWORD PTR [rsp+32], rax
  4436.   mov r9, QWORD PTR _Ptr$[rsp]
  4437.   movzx r8d, BYTE PTR $T2[rsp]
  4438.   mov rdx, QWORD PTR _Count$[rsp]
  4439.   mov rcx, QWORD PTR this$[rsp]
  4440.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>(unsigned __int64,<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>
  4441. $LN1@append:
  4442.   add rsp, 80 ; 00000050H
  4443.   pop rdi
  4444.   ret 0
  4445. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const,unsigned __int64) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  4446.  
  4447. $T1 = 32
  4448. this$ = 64
  4449. _New_ptr$ = 72
  4450. _Old_ptr$ = 80
  4451. _Old_size$ = 88
  4452. _Ptr$ = 96
  4453. _Count$ = 104
  4454. void <lambda_65e615be2a453ca0576c979606f46740>::operator()(char * const,char const * const,unsigned __int64,char const * const,unsigned __int64)const  PROC ; <lambda_65e615be2a453ca0576c979606f46740>::operator(), COMDAT
  4455.   mov QWORD PTR [rsp+32], r9
  4456.   mov QWORD PTR [rsp+24], r8
  4457.   mov QWORD PTR [rsp+16], rdx
  4458.   mov QWORD PTR [rsp+8], rcx
  4459.   sub rsp, 56 ; 00000038H
  4460.   mov r8, QWORD PTR _Old_size$[rsp]
  4461.   mov rdx, QWORD PTR _Old_ptr$[rsp]
  4462.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4463.   call static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::copy
  4464.   mov rax, QWORD PTR _Old_size$[rsp]
  4465.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4466.   add rcx, rax
  4467.   mov rax, rcx
  4468.   mov r8, QWORD PTR _Count$[rsp]
  4469.   mov rdx, QWORD PTR _Ptr$[rsp]
  4470.   mov rcx, rax
  4471.   call static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::copy
  4472.   mov BYTE PTR $T1[rsp], 0
  4473.   mov rax, QWORD PTR _Count$[rsp]
  4474.   mov rcx, QWORD PTR _Old_size$[rsp]
  4475.   add rcx, rax
  4476.   mov rax, rcx
  4477.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4478.   add rcx, rax
  4479.   mov rax, rcx
  4480.   lea rdx, QWORD PTR $T1[rsp]
  4481.   mov rcx, rax
  4482.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  4483.   add rsp, 56 ; 00000038H
  4484.   ret 0
  4485. void <lambda_65e615be2a453ca0576c979606f46740>::operator()(char * const,char const * const,unsigned __int64,char const * const,unsigned __int64)const  ENDP ; <lambda_65e615be2a453ca0576c979606f46740>::operator()
  4486.  
  4487. this$ = 48
  4488. _Ptr$ = 56
  4489. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append, COMDAT
  4490. $LN3:
  4491.   mov QWORD PTR [rsp+16], rdx
  4492.   mov QWORD PTR [rsp+8], rcx
  4493.   sub rsp, 40 ; 00000028H
  4494.   mov rcx, QWORD PTR _Ptr$[rsp]
  4495.   call static unsigned __int64 std::char_traits<char>::length(char const * const) ; std::char_traits<char>::length
  4496.   mov rcx, rax
  4497.   call unsigned __int64 std::_Convert_size<unsigned __int64>(unsigned __int64) ; std::_Convert_size<unsigned __int64>
  4498.   mov r8, rax
  4499.   mov rdx, QWORD PTR _Ptr$[rsp]
  4500.   mov rcx, QWORD PTR this$[rsp]
  4501.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const,unsigned __int64) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  4502.   add rsp, 40 ; 00000028H
  4503.   ret 0
  4504. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append(char const * const) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::append
  4505.  
  4506. $T1 = 32
  4507. $T2 = 33
  4508. _My_data$ = 40
  4509. _Old_ptr$3 = 48
  4510. this$ = 80
  4511. _Ptr$ = 88
  4512. _Count$ = 96
  4513. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const,unsigned __int64) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
  4514. $LN4:
  4515.   mov QWORD PTR [rsp+24], r8
  4516.   mov QWORD PTR [rsp+16], rdx
  4517.   mov QWORD PTR [rsp+8], rcx
  4518.   push rdi
  4519.   sub rsp, 64 ; 00000040H
  4520.   mov rcx, QWORD PTR this$[rsp]
  4521.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4522.   mov QWORD PTR _My_data$[rsp], rax
  4523.   mov rax, QWORD PTR _My_data$[rsp]
  4524.   mov rax, QWORD PTR [rax+24]
  4525.   cmp QWORD PTR _Count$[rsp], rax
  4526.   ja SHORT $LN2@assign
  4527.   mov rcx, QWORD PTR _My_data$[rsp]
  4528.   call char * std::_String_val<std::_Simple_types<char> >::_Myptr(void) ; std::_String_val<std::_Simple_types<char> >::_Myptr
  4529.   mov QWORD PTR _Old_ptr$3[rsp], rax
  4530.   mov rax, QWORD PTR _My_data$[rsp]
  4531.   mov rcx, QWORD PTR _Count$[rsp]
  4532.   mov QWORD PTR [rax+16], rcx
  4533.   mov r8, QWORD PTR _Count$[rsp]
  4534.   mov rdx, QWORD PTR _Ptr$[rsp]
  4535.   mov rcx, QWORD PTR _Old_ptr$3[rsp]
  4536.   call static char * std::char_traits<char>::move(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::move
  4537.   mov BYTE PTR $T1[rsp], 0
  4538.   mov rax, QWORD PTR _Count$[rsp]
  4539.   mov rcx, QWORD PTR _Old_ptr$3[rsp]
  4540.   add rcx, rax
  4541.   mov rax, rcx
  4542.   lea rdx, QWORD PTR $T1[rsp]
  4543.   mov rcx, rax
  4544.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  4545.   mov rax, QWORD PTR this$[rsp]
  4546.   jmp SHORT $LN1@assign
  4547. $LN2@assign:
  4548.   lea rax, QWORD PTR $T2[rsp]
  4549.   mov rdi, rax
  4550.   xor eax, eax
  4551.   mov ecx, 1
  4552.   rep stosb
  4553.   mov r9, QWORD PTR _Ptr$[rsp]
  4554.   movzx r8d, BYTE PTR $T2[rsp]
  4555.   mov rdx, QWORD PTR _Count$[rsp]
  4556.   mov rcx, QWORD PTR this$[rsp]
  4557.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>(unsigned __int64,<lambda_66f57f934f28d61049862f64df852ff0>,char const *) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>
  4558. $LN1@assign:
  4559.   add rsp, 64 ; 00000040H
  4560.   pop rdi
  4561.   ret 0
  4562. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const,unsigned __int64) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  4563.  
  4564. $T1 = 32
  4565. this$ = 64
  4566. _New_ptr$ = 72
  4567. _Count$ = 80
  4568. _Ptr$ = 88
  4569. void <lambda_66f57f934f28d61049862f64df852ff0>::operator()(char * const,unsigned __int64,char const * const)const  PROC ; <lambda_66f57f934f28d61049862f64df852ff0>::operator(), COMDAT
  4570.   mov QWORD PTR [rsp+32], r9
  4571.   mov QWORD PTR [rsp+24], r8
  4572.   mov QWORD PTR [rsp+16], rdx
  4573.   mov QWORD PTR [rsp+8], rcx
  4574.   sub rsp, 56 ; 00000038H
  4575.   mov r8, QWORD PTR _Count$[rsp]
  4576.   mov rdx, QWORD PTR _Ptr$[rsp]
  4577.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4578.   call static char * std::char_traits<char>::copy(char * const,char const * const,unsigned __int64) ; std::char_traits<char>::copy
  4579.   mov BYTE PTR $T1[rsp], 0
  4580.   mov rax, QWORD PTR _Count$[rsp]
  4581.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4582.   add rcx, rax
  4583.   mov rax, rcx
  4584.   lea rdx, QWORD PTR $T1[rsp]
  4585.   mov rcx, rax
  4586.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  4587.   add rsp, 56 ; 00000038H
  4588.   ret 0
  4589. void <lambda_66f57f934f28d61049862f64df852ff0>::operator()(char * const,unsigned __int64,char const * const)const  ENDP ; <lambda_66f57f934f28d61049862f64df852ff0>::operator()
  4590.  
  4591. this$ = 48
  4592. _Ptr$ = 56
  4593. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign, COMDAT
  4594. $LN3:
  4595.   mov QWORD PTR [rsp+16], rdx
  4596.   mov QWORD PTR [rsp+8], rcx
  4597.   sub rsp, 40 ; 00000028H
  4598.   mov rcx, QWORD PTR _Ptr$[rsp]
  4599.   call static unsigned __int64 std::char_traits<char>::length(char const * const) ; std::char_traits<char>::length
  4600.   mov rcx, rax
  4601.   call unsigned __int64 std::_Convert_size<unsigned __int64>(unsigned __int64) ; std::_Convert_size<unsigned __int64>
  4602.   mov r8, rax
  4603.   mov rdx, QWORD PTR _Ptr$[rsp]
  4604.   mov rcx, QWORD PTR this$[rsp]
  4605.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const,unsigned __int64) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  4606.   add rsp, 40 ; 00000028H
  4607.   ret 0
  4608. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign(char const * const) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::assign
  4609.  
  4610. $T1 = 32
  4611. this$ = 64
  4612. char const * std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str(void)const  PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str, COMDAT
  4613. $LN3:
  4614.   mov QWORD PTR [rsp+8], rcx
  4615.   sub rsp, 56 ; 00000038H
  4616.   mov QWORD PTR $T1[rsp], -2
  4617.   mov rcx, QWORD PTR this$[rsp]
  4618.   call std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4619.   npad 1
  4620.   mov rcx, rax
  4621.   call char const * std::_String_val<std::_Simple_types<char> >::_Myptr(void)const  ; std::_String_val<std::_Simple_types<char> >::_Myptr
  4622.   npad 1
  4623.   add rsp, 56 ; 00000038H
  4624.   ret 0
  4625. char const * std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str(void)const  ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  4626.  
  4627. this$ = 48
  4628. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size(void)const  PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size, COMDAT
  4629. $LN3:
  4630.   mov QWORD PTR [rsp+8], rcx
  4631.   sub rsp, 40 ; 00000028H
  4632.   mov rcx, QWORD PTR this$[rsp]
  4633.   call std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4634.   mov rax, QWORD PTR [rax+16]
  4635.   add rsp, 40 ; 00000028H
  4636.   ret 0
  4637. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size(void)const  ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
  4638.  
  4639. $T1 = 32
  4640. _Alloc_max$ = 40
  4641. _Storage_max$ = 48
  4642. $T2 = 56
  4643. $T3 = 64
  4644. this$ = 96
  4645. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size, COMDAT
  4646. $LN3:
  4647.   mov QWORD PTR [rsp+8], rcx
  4648.   sub rsp, 88 ; 00000058H
  4649.   mov rcx, QWORD PTR this$[rsp]
  4650.   call std::allocator<char> const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4651.   mov rcx, rax
  4652.   call static unsigned __int64 std::_Default_allocator_traits<std::allocator<char> >::max_size(std::allocator<char> const &) ; std::_Default_allocator_traits<std::allocator<char> >::max_size
  4653.   mov QWORD PTR _Alloc_max$[rsp], rax
  4654.   mov QWORD PTR $T1[rsp], 16
  4655.   lea rdx, QWORD PTR $T1[rsp]
  4656.   lea rcx, QWORD PTR _Alloc_max$[rsp]
  4657.   call unsigned __int64 const & std::_Max_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ; std::_Max_value<unsigned __int64>
  4658.   mov rax, QWORD PTR [rax]
  4659.   mov QWORD PTR _Storage_max$[rsp], rax
  4660.   mov rax, QWORD PTR _Storage_max$[rsp]
  4661.   dec rax
  4662.   mov QWORD PTR $T2[rsp], rax
  4663.   call static __int64 std::numeric_limits<__int64>::max(void) ; std::numeric_limits<__int64>::max
  4664.   mov QWORD PTR $T3[rsp], rax
  4665.   lea rdx, QWORD PTR $T2[rsp]
  4666.   lea rcx, QWORD PTR $T3[rsp]
  4667.   call unsigned __int64 const & std::_Min_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ; std::_Min_value<unsigned __int64>
  4668.   mov rax, QWORD PTR [rax]
  4669.   add rsp, 88 ; 00000058H
  4670.   ret 0
  4671. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
  4672.  
  4673. tv67 = 32
  4674. this$ = 64
  4675. bool std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty(void)const  PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty, COMDAT
  4676. $LN5:
  4677.   mov QWORD PTR [rsp+8], rcx
  4678.   sub rsp, 56 ; 00000038H
  4679.   mov rcx, QWORD PTR this$[rsp]
  4680.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::size
  4681.   test rax, rax
  4682.   jne SHORT $LN3@empty
  4683.   mov DWORD PTR tv67[rsp], 1
  4684.   jmp SHORT $LN4@empty
  4685. $LN3@empty:
  4686.   mov DWORD PTR tv67[rsp], 0
  4687. $LN4@empty:
  4688.   movzx eax, BYTE PTR tv67[rsp]
  4689.   add rsp, 56 ; 00000038H
  4690.   ret 0
  4691. bool std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty(void)const  ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::empty
  4692.  
  4693. _Max$ = 32
  4694. _Old$ = 40
  4695. _Masked$ = 48
  4696. _My_data$ = 56
  4697. $T1 = 64
  4698. this$ = 96
  4699. _Requested$ = 104
  4700. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth(unsigned __int64)const  PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth, COMDAT
  4701. $LN5:
  4702.   mov QWORD PTR [rsp+16], rdx
  4703.   mov QWORD PTR [rsp+8], rcx
  4704.   sub rsp, 88 ; 00000058H
  4705.   mov rcx, QWORD PTR this$[rsp]
  4706.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
  4707.   mov QWORD PTR _Max$[rsp], rax
  4708.   mov rcx, QWORD PTR this$[rsp]
  4709.   call std::_String_val<std::_Simple_types<char> > const & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void)const  ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4710.   mov QWORD PTR _My_data$[rsp], rax
  4711.   mov rax, QWORD PTR _Requested$[rsp]
  4712.   or rax, 15
  4713.   mov QWORD PTR _Masked$[rsp], rax
  4714.   mov rax, QWORD PTR _Max$[rsp]
  4715.   cmp QWORD PTR _Masked$[rsp], rax
  4716.   jbe SHORT $LN2@Calculate_
  4717.   mov rax, QWORD PTR _Max$[rsp]
  4718.   jmp SHORT $LN1@Calculate_
  4719. $LN2@Calculate_:
  4720.   mov rax, QWORD PTR _My_data$[rsp]
  4721.   mov rax, QWORD PTR [rax+24]
  4722.   mov QWORD PTR _Old$[rsp], rax
  4723.   xor edx, edx
  4724.   mov rax, QWORD PTR _Old$[rsp]
  4725.   mov ecx, 2
  4726.   div rcx
  4727.   mov rcx, QWORD PTR _Max$[rsp]
  4728.   sub rcx, rax
  4729.   mov rax, rcx
  4730.   cmp QWORD PTR _Old$[rsp], rax
  4731.   jbe SHORT $LN3@Calculate_
  4732.   mov rax, QWORD PTR _Max$[rsp]
  4733.   jmp SHORT $LN1@Calculate_
  4734. $LN3@Calculate_:
  4735.   xor edx, edx
  4736.   mov rax, QWORD PTR _Old$[rsp]
  4737.   mov ecx, 2
  4738.   div rcx
  4739.   mov rcx, QWORD PTR _Old$[rsp]
  4740.   add rcx, rax
  4741.   mov rax, rcx
  4742.   mov QWORD PTR $T1[rsp], rax
  4743.   lea rdx, QWORD PTR $T1[rsp]
  4744.   lea rcx, QWORD PTR _Masked$[rsp]
  4745.   call unsigned __int64 const & std::_Max_value<unsigned __int64>(unsigned __int64 const &,unsigned __int64 const &) ; std::_Max_value<unsigned __int64>
  4746.   mov rax, QWORD PTR [rax]
  4747. $LN1@Calculate_:
  4748.   add rsp, 88 ; 00000058H
  4749.   ret 0
  4750. unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth(unsigned __int64)const  ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth
  4751.  
  4752. _My_data$ = 32
  4753. _New_ptr$ = 40
  4754. _Al$ = 48
  4755. _New_capacity$ = 56
  4756. _Old_capacity$ = 64
  4757. this$ = 96
  4758. _New_size$ = 104
  4759. _Fn$ = 112
  4760. <_Args_0>$ = 120
  4761. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>(unsigned __int64,<lambda_66f57f934f28d61049862f64df852ff0>,char const *) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>, COMDAT
  4762.   mov QWORD PTR [rsp+32], r9
  4763.   mov BYTE PTR [rsp+24], r8b
  4764.   mov QWORD PTR [rsp+16], rdx
  4765.   mov QWORD PTR [rsp+8], rcx
  4766.   sub rsp, 88 ; 00000058H
  4767.   mov rcx, QWORD PTR this$[rsp]
  4768.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
  4769.   cmp QWORD PTR _New_size$[rsp], rax
  4770.   jbe SHORT $LN2@Reallocate
  4771.   call static void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen
  4772. $LN2@Reallocate:
  4773.   mov rcx, QWORD PTR this$[rsp]
  4774.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4775.   mov QWORD PTR _My_data$[rsp], rax
  4776.   mov rax, QWORD PTR _My_data$[rsp]
  4777.   mov rax, QWORD PTR [rax+24]
  4778.   mov QWORD PTR _Old_capacity$[rsp], rax
  4779.   mov rdx, QWORD PTR _New_size$[rsp]
  4780.   mov rcx, QWORD PTR this$[rsp]
  4781.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth(unsigned __int64)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth
  4782.   mov QWORD PTR _New_capacity$[rsp], rax
  4783.   mov rcx, QWORD PTR this$[rsp]
  4784.   call std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4785.   mov QWORD PTR _Al$[rsp], rax
  4786.   mov rax, QWORD PTR _New_capacity$[rsp]
  4787.   inc rax
  4788.   mov rdx, rax
  4789.   mov rcx, QWORD PTR _Al$[rsp]
  4790.   call char * std::allocator<char>::allocate(unsigned __int64) ; std::allocator<char>::allocate
  4791.   mov QWORD PTR _New_ptr$[rsp], rax
  4792.   mov rcx, QWORD PTR _My_data$[rsp]
  4793.   call void std::_Container_base0::_Orphan_all(void) ; std::_Container_base0::_Orphan_all
  4794.   mov rax, QWORD PTR _My_data$[rsp]
  4795.   mov rcx, QWORD PTR _New_size$[rsp]
  4796.   mov QWORD PTR [rax+16], rcx
  4797.   mov rax, QWORD PTR _My_data$[rsp]
  4798.   mov rcx, QWORD PTR _New_capacity$[rsp]
  4799.   mov QWORD PTR [rax+24], rcx
  4800.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4801.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  4802.   mov r9, QWORD PTR <_Args_0>$[rsp]
  4803.   mov r8, QWORD PTR _New_size$[rsp]
  4804.   mov rdx, rax
  4805.   lea rcx, QWORD PTR _Fn$[rsp]
  4806.   call void <lambda_66f57f934f28d61049862f64df852ff0>::operator()(char * const,unsigned __int64,char const * const)const  ; <lambda_66f57f934f28d61049862f64df852ff0>::operator()
  4807.   cmp QWORD PTR _Old_capacity$[rsp], 16
  4808.   jb SHORT $LN3@Reallocate
  4809.   mov rax, QWORD PTR _Old_capacity$[rsp]
  4810.   inc rax
  4811.   mov r8, rax
  4812.   mov rax, QWORD PTR _My_data$[rsp]
  4813.   mov rdx, QWORD PTR [rax]
  4814.   mov rcx, QWORD PTR _Al$[rsp]
  4815.   call void std::allocator<char>::deallocate(char * const,unsigned __int64) ; std::allocator<char>::deallocate
  4816.   mov rax, QWORD PTR _My_data$[rsp]
  4817.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4818.   mov QWORD PTR [rax], rcx
  4819.   jmp SHORT $LN4@Reallocate
  4820. $LN3@Reallocate:
  4821.   mov rax, QWORD PTR _My_data$[rsp]
  4822.   mov rcx, rax
  4823.   call char * * std::addressof<char *>(char * &) ; std::addressof<char *>
  4824.   lea r8, QWORD PTR _New_ptr$[rsp]
  4825.   mov rdx, rax
  4826.   mov rcx, QWORD PTR _Al$[rsp]
  4827.   call static void std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>(std::allocator<char> &,char * * const,char * const &) ; std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>
  4828. $LN4@Reallocate:
  4829.   mov rax, QWORD PTR this$[rsp]
  4830. $LN5@Reallocate:
  4831.   add rsp, 88 ; 00000058H
  4832.   ret 0
  4833. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>(unsigned __int64,<lambda_66f57f934f28d61049862f64df852ff0>,char const *) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_for<<lambda_66f57f934f28d61049862f64df852ff0>,char const *>
  4834.  
  4835. _My_data$ = 48
  4836. _Old_size$ = 56
  4837. _New_ptr$ = 64
  4838. _Al$ = 72
  4839. _New_size$ = 80
  4840. _New_capacity$ = 88
  4841. _Old_capacity$ = 96
  4842. _Old_ptr$1 = 104
  4843. _Raw_new$ = 112
  4844. this$ = 144
  4845. _Size_increase$ = 152
  4846. _Fn$ = 160
  4847. <_Args_0>$ = 168
  4848. <_Args_1>$ = 176
  4849. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>(unsigned __int64,<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>, COMDAT
  4850.   mov QWORD PTR [rsp+32], r9
  4851.   mov BYTE PTR [rsp+24], r8b
  4852.   mov QWORD PTR [rsp+16], rdx
  4853.   mov QWORD PTR [rsp+8], rcx
  4854.   sub rsp, 136 ; 00000088H
  4855.   mov rcx, QWORD PTR this$[rsp]
  4856.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4857.   mov QWORD PTR _My_data$[rsp], rax
  4858.   mov rax, QWORD PTR _My_data$[rsp]
  4859.   mov rax, QWORD PTR [rax+16]
  4860.   mov QWORD PTR _Old_size$[rsp], rax
  4861.   mov rcx, QWORD PTR this$[rsp]
  4862.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size(void)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::max_size
  4863.   sub rax, QWORD PTR _Old_size$[rsp]
  4864.   cmp rax, QWORD PTR _Size_increase$[rsp]
  4865.   jae SHORT $LN2@Reallocate
  4866.   call static void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen
  4867. $LN2@Reallocate:
  4868.   mov rax, QWORD PTR _Size_increase$[rsp]
  4869.   mov rcx, QWORD PTR _Old_size$[rsp]
  4870.   add rcx, rax
  4871.   mov rax, rcx
  4872.   mov QWORD PTR _New_size$[rsp], rax
  4873.   mov rax, QWORD PTR _My_data$[rsp]
  4874.   mov rax, QWORD PTR [rax+24]
  4875.   mov QWORD PTR _Old_capacity$[rsp], rax
  4876.   mov rdx, QWORD PTR _New_size$[rsp]
  4877.   mov rcx, QWORD PTR this$[rsp]
  4878.   call unsigned __int64 std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth(unsigned __int64)const  ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Calculate_growth
  4879.   mov QWORD PTR _New_capacity$[rsp], rax
  4880.   mov rcx, QWORD PTR this$[rsp]
  4881.   call std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  4882.   mov QWORD PTR _Al$[rsp], rax
  4883.   mov rax, QWORD PTR _New_capacity$[rsp]
  4884.   inc rax
  4885.   mov rdx, rax
  4886.   mov rcx, QWORD PTR _Al$[rsp]
  4887.   call char * std::allocator<char>::allocate(unsigned __int64) ; std::allocator<char>::allocate
  4888.   mov QWORD PTR _New_ptr$[rsp], rax
  4889.   mov rcx, QWORD PTR _My_data$[rsp]
  4890.   call void std::_Container_base0::_Orphan_all(void) ; std::_Container_base0::_Orphan_all
  4891.   mov rax, QWORD PTR _My_data$[rsp]
  4892.   mov rcx, QWORD PTR _New_size$[rsp]
  4893.   mov QWORD PTR [rax+16], rcx
  4894.   mov rax, QWORD PTR _My_data$[rsp]
  4895.   mov rcx, QWORD PTR _New_capacity$[rsp]
  4896.   mov QWORD PTR [rax+24], rcx
  4897.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4898.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  4899.   mov QWORD PTR _Raw_new$[rsp], rax
  4900.   cmp QWORD PTR _Old_capacity$[rsp], 16
  4901.   jb SHORT $LN3@Reallocate
  4902.   mov rax, QWORD PTR _My_data$[rsp]
  4903.   mov rax, QWORD PTR [rax]
  4904.   mov QWORD PTR _Old_ptr$1[rsp], rax
  4905.   mov rcx, QWORD PTR _Old_ptr$1[rsp]
  4906.   call char * std::_Unfancy<char>(char *) ; std::_Unfancy<char>
  4907.   mov rcx, QWORD PTR <_Args_1>$[rsp]
  4908.   mov QWORD PTR [rsp+40], rcx
  4909.   mov rcx, QWORD PTR <_Args_0>$[rsp]
  4910.   mov QWORD PTR [rsp+32], rcx
  4911.   mov r9, QWORD PTR _Old_size$[rsp]
  4912.   mov r8, rax
  4913.   mov rdx, QWORD PTR _Raw_new$[rsp]
  4914.   lea rcx, QWORD PTR _Fn$[rsp]
  4915.   call void <lambda_65e615be2a453ca0576c979606f46740>::operator()(char * const,char const * const,unsigned __int64,char const * const,unsigned __int64)const  ; <lambda_65e615be2a453ca0576c979606f46740>::operator()
  4916.   mov rax, QWORD PTR _Old_capacity$[rsp]
  4917.   inc rax
  4918.   mov r8, rax
  4919.   mov rdx, QWORD PTR _Old_ptr$1[rsp]
  4920.   mov rcx, QWORD PTR _Al$[rsp]
  4921.   call void std::allocator<char>::deallocate(char * const,unsigned __int64) ; std::allocator<char>::deallocate
  4922.   mov rax, QWORD PTR _My_data$[rsp]
  4923.   mov rcx, QWORD PTR _New_ptr$[rsp]
  4924.   mov QWORD PTR [rax], rcx
  4925.   jmp SHORT $LN4@Reallocate
  4926. $LN3@Reallocate:
  4927.   mov rax, QWORD PTR _My_data$[rsp]
  4928.   mov rcx, QWORD PTR <_Args_1>$[rsp]
  4929.   mov QWORD PTR [rsp+40], rcx
  4930.   mov rcx, QWORD PTR <_Args_0>$[rsp]
  4931.   mov QWORD PTR [rsp+32], rcx
  4932.   mov r9, QWORD PTR _Old_size$[rsp]
  4933.   mov r8, rax
  4934.   mov rdx, QWORD PTR _Raw_new$[rsp]
  4935.   lea rcx, QWORD PTR _Fn$[rsp]
  4936.   call void <lambda_65e615be2a453ca0576c979606f46740>::operator()(char * const,char const * const,unsigned __int64,char const * const,unsigned __int64)const  ; <lambda_65e615be2a453ca0576c979606f46740>::operator()
  4937.   mov rax, QWORD PTR _My_data$[rsp]
  4938.   mov rcx, rax
  4939.   call char * * std::addressof<char *>(char * &) ; std::addressof<char *>
  4940.   lea r8, QWORD PTR _New_ptr$[rsp]
  4941.   mov rdx, rax
  4942.   mov rcx, QWORD PTR _Al$[rsp]
  4943.   call static void std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>(std::allocator<char> &,char * * const,char * const &) ; std::_Default_allocator_traits<std::allocator<char> >::construct<char *,char * const &>
  4944. $LN4@Reallocate:
  4945.   mov rax, QWORD PTR this$[rsp]
  4946. $LN5@Reallocate:
  4947.   add rsp, 136 ; 00000088H
  4948.   ret 0
  4949. std::basic_string<char,std::char_traits<char>,std::allocator<char> > & std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>(unsigned __int64,<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Reallocate_grow_by<<lambda_65e615be2a453ca0576c979606f46740>,char const *,unsigned __int64>
  4950.  
  4951. $T1 = 32
  4952. _My_data$ = 40
  4953. this$ = 64
  4954. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init(void) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init, COMDAT
  4955. $LN3:
  4956.   mov QWORD PTR [rsp+8], rcx
  4957.   sub rsp, 56 ; 00000038H
  4958.   mov rcx, QWORD PTR this$[rsp]
  4959.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4960.   mov QWORD PTR _My_data$[rsp], rax
  4961.   mov rax, QWORD PTR _My_data$[rsp]
  4962.   mov QWORD PTR [rax+16], 0
  4963.   mov rax, QWORD PTR _My_data$[rsp]
  4964.   mov QWORD PTR [rax+24], 15
  4965.   mov BYTE PTR $T1[rsp], 0
  4966.   mov eax, 1
  4967.   imul rax, rax, 0
  4968.   mov rcx, QWORD PTR _My_data$[rsp]
  4969.   add rcx, rax
  4970.   mov rax, rcx
  4971.   lea rdx, QWORD PTR $T1[rsp]
  4972.   mov rcx, rax
  4973.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  4974.   add rsp, 56 ; 00000038H
  4975.   ret 0
  4976. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init(void) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_init
  4977.  
  4978. $T1 = 32
  4979. _My_data$ = 40
  4980. _Al$2 = 48
  4981. _Ptr$3 = 56
  4982. this$ = 80
  4983. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate(void) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate, COMDAT
  4984. $LN4:
  4985.   mov QWORD PTR [rsp+8], rcx
  4986.   sub rsp, 72 ; 00000048H
  4987.   mov rcx, QWORD PTR this$[rsp]
  4988.   call void std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Orphan_all
  4989.   mov rcx, QWORD PTR this$[rsp]
  4990.   call std::_String_val<std::_Simple_types<char> > & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Get_data
  4991.   mov QWORD PTR _My_data$[rsp], rax
  4992.   mov rcx, QWORD PTR _My_data$[rsp]
  4993.   call bool std::_String_val<std::_Simple_types<char> >::_Large_string_engaged(void)const  ; std::_String_val<std::_Simple_types<char> >::_Large_string_engaged
  4994.   movzx eax, al
  4995.   test eax, eax
  4996.   je SHORT $LN2@Tidy_deall
  4997.   mov rax, QWORD PTR _My_data$[rsp]
  4998.   mov rax, QWORD PTR [rax]
  4999.   mov QWORD PTR _Ptr$3[rsp], rax
  5000.   mov rcx, QWORD PTR this$[rsp]
  5001.   call std::allocator<char> & std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal(void) ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::_Getal
  5002.   mov QWORD PTR _Al$2[rsp], rax
  5003.   mov rax, QWORD PTR _My_data$[rsp]
  5004.   mov rcx, rax
  5005.   call char * * std::addressof<char *>(char * &) ; std::addressof<char *>
  5006.   mov rdx, rax
  5007.   mov rcx, QWORD PTR _Al$2[rsp]
  5008.   call static void std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>(std::allocator<char> &,char * * const) ; std::_Default_allocator_traits<std::allocator<char> >::destroy<char *>
  5009.   mov rax, QWORD PTR _My_data$[rsp]
  5010.   mov rax, QWORD PTR [rax+24]
  5011.   inc rax
  5012.   mov r8, rax
  5013.   mov rdx, QWORD PTR _Ptr$3[rsp]
  5014.   mov rcx, QWORD PTR _Al$2[rsp]
  5015.   call void std::allocator<char>::deallocate(char * const,unsigned __int64) ; std::allocator<char>::deallocate
  5016. $LN2@Tidy_deall:
  5017.   mov rax, QWORD PTR _My_data$[rsp]
  5018.   mov QWORD PTR [rax+16], 0
  5019.   mov rax, QWORD PTR _My_data$[rsp]
  5020.   mov QWORD PTR [rax+24], 15
  5021.   mov BYTE PTR $T1[rsp], 0
  5022.   mov eax, 1
  5023.   imul rax, rax, 0
  5024.   mov rcx, QWORD PTR _My_data$[rsp]
  5025.   add rcx, rax
  5026.   mov rax, rcx
  5027.   lea rdx, QWORD PTR $T1[rsp]
  5028.   mov rcx, rax
  5029.   call static void std::char_traits<char>::assign(char &,char const &) ; std::char_traits<char>::assign
  5030.   add rsp, 72 ; 00000048H
  5031.   ret 0
  5032. void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate(void) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Tidy_deallocate
  5033.  
  5034. static void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen(void) PROC ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen, COMDAT
  5035. $LN3:
  5036.   sub rsp, 40 ; 00000028H
  5037.   lea rcx, OFFSET FLAT:`string'
  5038.  call void std::_Xlength_error(char const *) ; std::_Xlength_error
  5039. $LN2@Xlen:
  5040.  add rsp, 40 ; 00000028H
  5041.  ret 0
  5042. static void std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen(void) ENDP ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Xlen
  5043.  
  5044. this$ = 8
  5045. void std::_Container_base0::_Orphan_all(void) PROC ; std::_Container_base0::_Orphan_all, COMDAT
  5046.  mov QWORD PTR [rsp+8], rcx
  5047.  ret 0
  5048. void std::_Container_base0::_Orphan_all(void) ENDP ; std::_Container_base0::_Orphan_all
  5049.  
  5050. this$ = 48
  5051. __formal$ = 56
  5052. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>(std::_Zero_then_variadic_args_t) PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>, COMDAT
  5053. $LN4:
  5054.  mov BYTE PTR [rsp+16], dl
  5055.  mov QWORD PTR [rsp+8], rcx
  5056.  sub rsp, 40 ; 00000028H
  5057.  mov rcx, QWORD PTR this$[rsp]
  5058.  call std::allocator<char>::allocator<char>(void) ; std::allocator<char>::allocator<char>
  5059.  mov rax, QWORD PTR this$[rsp]
  5060.  mov rcx, rax
  5061.  call std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >(void) ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >
  5062.  mov rax, QWORD PTR this$[rsp]
  5063.  add rsp, 40 ; 00000028H
  5064.  ret 0
  5065. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>(std::_Zero_then_variadic_args_t) ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><>
  5066.  
  5067. this$ = 48
  5068. __formal$ = 56
  5069. <_Val2_0>$ = 64
  5070. std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>(std::_Zero_then_variadic_args_t,std::_Facet_base * &) PROC ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>, COMDAT
  5071. $LN3:
  5072.  mov QWORD PTR [rsp+24], r8
  5073.  mov BYTE PTR [rsp+16], dl
  5074.  mov QWORD PTR [rsp+8], rcx
  5075.  sub rsp, 40 ; 00000028H
  5076.  mov rcx, QWORD PTR <_Val2_0>$[rsp]
  5077.  call std::_Facet_base * & std::forward<std::_Facet_base * &>(std::_Facet_base * &) ; std::forward<std::_Facet_base * &>
  5078.  mov rcx, QWORD PTR this$[rsp]
  5079.  mov rax, QWORD PTR [rax]
  5080.  mov QWORD PTR [rcx], rax
  5081.  mov rax, QWORD PTR this$[rsp]
  5082.  add rsp, 40 ; 00000028H
  5083.  ret 0
  5084. std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>(std::_Zero_then_variadic_args_t,std::_Facet_base * &) ENDP ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1><std::_Facet_base * &>
  5085.  
  5086. this$ = 48
  5087. __formal$ = 56
  5088. _Val1$ = 64
  5089. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >(std::_One_then_variadic_args_t,std::allocator<char> &&) PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >, COMDAT
  5090. $LN4:
  5091.  mov QWORD PTR [rsp+24], r8
  5092.  mov BYTE PTR [rsp+16], dl
  5093.  mov QWORD PTR [rsp+8], rcx
  5094.  sub rsp, 40 ; 00000028H
  5095.  mov rcx, QWORD PTR _Val1$[rsp]
  5096.  call std::allocator<char> && std::forward<std::allocator<char> >(std::allocator<char> &) ; std::forward<std::allocator<char> >
  5097.  mov rax, QWORD PTR this$[rsp]
  5098.  mov rcx, rax
  5099.  call std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >(void) ; std::_String_val<std::_Simple_types<char> >::_String_val<std::_Simple_types<char> >
  5100.  mov rax, QWORD PTR this$[rsp]
  5101.  add rsp, 40 ; 00000028H
  5102.  ret 0
  5103. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >(std::_One_then_variadic_args_t,std::allocator<char> &&) ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1><std::allocator<char> >
  5104.  
  5105. this$ = 8
  5106. std::default_delete<std::_Facet_base> & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first(void) PROC ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first, COMDAT
  5107.  mov QWORD PTR [rsp+8], rcx
  5108.  mov rax, QWORD PTR this$[rsp]
  5109.  ret 0
  5110. std::default_delete<std::_Facet_base> & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first(void) ENDP ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_first
  5111.  
  5112. this$ = 8
  5113. std::allocator<char> & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void) PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT
  5114.  mov QWORD PTR [rsp+8], rcx
  5115.  mov rax, QWORD PTR this$[rsp]
  5116.  ret 0
  5117. std::allocator<char> & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void) ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first
  5118.  
  5119. this$ = 8
  5120. std::allocator<char> const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void)const  PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first, COMDAT
  5121.  mov QWORD PTR [rsp+8], rcx
  5122.  mov rax, QWORD PTR this$[rsp]
  5123.  ret 0
  5124. std::allocator<char> const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first(void)const  ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_first
  5125.  
  5126. this$ = 8
  5127. std::_Facet_base * & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void) PROC ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second, COMDAT
  5128.  mov QWORD PTR [rsp+8], rcx
  5129.  mov rax, QWORD PTR this$[rsp]
  5130.  ret 0
  5131. std::_Facet_base * & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void) ENDP ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second
  5132.  
  5133. this$ = 8
  5134. std::_String_val<std::_Simple_types<char> > & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void) PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT
  5135.  mov QWORD PTR [rsp+8], rcx
  5136.  mov rax, QWORD PTR this$[rsp]
  5137.  ret 0
  5138. std::_String_val<std::_Simple_types<char> > & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void) ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second
  5139.  
  5140. this$ = 8
  5141. std::_Facet_base * const & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void)const  PROC ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second, COMDAT
  5142.  mov QWORD PTR [rsp+8], rcx
  5143.  mov rax, QWORD PTR this$[rsp]
  5144.  ret 0
  5145. std::_Facet_base * const & std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second(void)const  ENDP ; std::_Compressed_pair<std::default_delete<std::_Facet_base>,std::_Facet_base *,1>::_Get_second
  5146.  
  5147. this$ = 8
  5148. std::_String_val<std::_Simple_types<char> > const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void)const  PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second, COMDAT
  5149.  mov QWORD PTR [rsp+8], rcx
  5150.  mov rax, QWORD PTR this$[rsp]
  5151.  ret 0
  5152. std::_String_val<std::_Simple_types<char> > const & std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second(void)const  ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::_Get_second
  5153.  
  5154. __formal$ = 8
  5155. __formal$ = 16
  5156. __formal$ = 24
  5157. void std::_Adl_verify_range1<char const *,char const *>(char const * const &,char const * const &,std::integral_constant<bool,0>) PROC ; std::_Adl_verify_range1<char const *,char const *>, COMDAT
  5158.  mov BYTE PTR [rsp+24], r8b
  5159.  mov QWORD PTR [rsp+16], rdx
  5160.  mov QWORD PTR [rsp+8], rcx
  5161.  ret 0
  5162. void std::_Adl_verify_range1<char const *,char const *>(char const * const &,char const * const &,std::integral_constant<bool,0>) ENDP ; std::_Adl_verify_range1<char const *,char const *>
  5163.  
  5164. $T1 = 32
  5165. _First$ = 64
  5166. _Last$ = 72
  5167. void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) PROC ; std::_Adl_verify_range<char const *,char const *>, COMDAT
  5168. $LN3:
  5169.  mov QWORD PTR [rsp+16], rdx
  5170.  mov QWORD PTR [rsp+8], rcx
  5171.  push rdi
  5172.  sub rsp, 48 ; 00000030H
  5173.  lea rax, QWORD PTR $T1[rsp]
  5174.  mov rdi, rax
  5175.  xor eax, eax
  5176.  mov ecx, 1
  5177.  rep stosb
  5178.  movzx r8d, BYTE PTR $T1[rsp]
  5179.  mov rdx, QWORD PTR _Last$[rsp]
  5180.  mov rcx, QWORD PTR _First$[rsp]
  5181.  call void std::_Adl_verify_range1<char const *,char const *>(char const * const &,char const * const &,std::integral_constant<bool,0>) ; std::_Adl_verify_range1<char const *,char const *>
  5182.  add rsp, 48 ; 00000030H
  5183.  pop rdi
  5184.  ret 0
  5185. void std::_Adl_verify_range<char const *,char const *>(char const * const &,char const * const &) ENDP ; std::_Adl_verify_range<char const *,char const *>
  5186.  
  5187. this$ = 8
  5188. std::_Yarn<wchar_t>::_Yarn<wchar_t>(void) PROC ; std::_Yarn<wchar_t>::_Yarn<wchar_t>, COMDAT
  5189.  mov QWORD PTR [rsp+8], rcx
  5190.  mov rax, QWORD PTR this$[rsp]
  5191.  mov QWORD PTR [rax], 0
  5192.  xor eax, eax
  5193.  mov rcx, QWORD PTR this$[rsp]
  5194.  mov WORD PTR [rcx+8], ax
  5195.  mov rax, QWORD PTR this$[rsp]
  5196.  ret 0
  5197. std::_Yarn<wchar_t>::_Yarn<wchar_t>(void) ENDP ; std::_Yarn<wchar_t>::_Yarn<wchar_t>
  5198.  
  5199. this$ = 8
  5200. std::_Yarn<char>::_Yarn<char>(void) PROC ; std::_Yarn<char>::_Yarn<char>, COMDAT
  5201.  mov QWORD PTR [rsp+8], rcx
  5202.  mov rax, QWORD PTR this$[rsp]
  5203.  mov QWORD PTR [rax], 0
  5204.  mov rax, QWORD PTR this$[rsp]
  5205.  mov BYTE PTR [rax+8], 0
  5206.  mov rax, QWORD PTR this$[rsp]
  5207.  ret 0
  5208. std::_Yarn<char>::_Yarn<char>(void) ENDP ; std::_Yarn<char>::_Yarn<char>
  5209.  
  5210. $T1 = 32
  5211. this$ = 64
  5212. std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) PROC ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>, COMDAT
  5213. $LN3:
  5214.  mov QWORD PTR [rsp+8], rcx
  5215.  sub rsp, 56 ; 00000038H
  5216.  mov QWORD PTR $T1[rsp], -2
  5217.  mov rcx, QWORD PTR this$[rsp]
  5218.  call void std::_Yarn<wchar_t>::_Tidy(void) ; std::_Yarn<wchar_t>::_Tidy
  5219.  npad 1
  5220.  add rsp, 56 ; 00000038H
  5221.  ret 0
  5222. std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ENDP ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  5223.  
  5224. $T1 = 32
  5225. this$ = 64
  5226. std::_Yarn<char>::~_Yarn<char>(void) PROC ; std::_Yarn<char>::~_Yarn<char>, COMDAT
  5227. $LN3:
  5228.  mov QWORD PTR [rsp+8], rcx
  5229.  sub rsp, 56 ; 00000038H
  5230.  mov QWORD PTR $T1[rsp], -2
  5231.  mov rcx, QWORD PTR this$[rsp]
  5232.  call void std::_Yarn<char>::_Tidy(void) ; std::_Yarn<char>::_Tidy
  5233.  npad 1
  5234.  add rsp, 56 ; 00000038H
  5235.  ret 0
  5236. std::_Yarn<char>::~_Yarn<char>(void) ENDP ; std::_Yarn<char>::~_Yarn<char>
  5237.  
  5238. tv68 = 0
  5239. this$ = 32
  5240. char const * std::_Yarn<char>::c_str(void)const  PROC ; std::_Yarn<char>::c_str, COMDAT
  5241. $LN5:
  5242.  mov QWORD PTR [rsp+8], rcx
  5243.  sub rsp, 24
  5244.  mov rax, QWORD PTR this$[rsp]
  5245.  cmp QWORD PTR [rax], 0
  5246.  je SHORT $LN3@c_str
  5247.  mov rax, QWORD PTR this$[rsp]
  5248.  mov rax, QWORD PTR [rax]
  5249.  mov QWORD PTR tv68[rsp], rax
  5250.  jmp SHORT $LN4@c_str
  5251. $LN3@c_str:
  5252.  mov rax, QWORD PTR this$[rsp]
  5253.  add rax, 8
  5254.  mov QWORD PTR tv68[rsp], rax
  5255. $LN4@c_str:
  5256.  mov rax, QWORD PTR tv68[rsp]
  5257.  add rsp, 24
  5258.  ret 0
  5259. char const * std::_Yarn<char>::c_str(void)const  ENDP ; std::_Yarn<char>::c_str
  5260.  
  5261. this$ = 48
  5262. void std::_Yarn<wchar_t>::_Tidy(void) PROC ; std::_Yarn<wchar_t>::_Tidy, COMDAT
  5263. $LN4:
  5264.  mov QWORD PTR [rsp+8], rcx
  5265.  sub rsp, 40 ; 00000028H
  5266.  mov rax, QWORD PTR this$[rsp]
  5267.  cmp QWORD PTR [rax], 0
  5268.  je SHORT $LN2@Tidy
  5269.  mov rax, QWORD PTR this$[rsp]
  5270.  mov rcx, QWORD PTR [rax]
  5271.  call free
  5272. $LN2@Tidy:
  5273.  mov rax, QWORD PTR this$[rsp]
  5274.  mov QWORD PTR [rax], 0
  5275.  add rsp, 40 ; 00000028H
  5276.  ret 0
  5277. void std::_Yarn<wchar_t>::_Tidy(void) ENDP ; std::_Yarn<wchar_t>::_Tidy
  5278.  
  5279. this$ = 48
  5280. void std::_Yarn<char>::_Tidy(void) PROC ; std::_Yarn<char>::_Tidy, COMDAT
  5281. $LN4:
  5282.  mov QWORD PTR [rsp+8], rcx
  5283.  sub rsp, 40 ; 00000028H
  5284.  mov rax, QWORD PTR this$[rsp]
  5285.  cmp QWORD PTR [rax], 0
  5286.  je SHORT $LN2@Tidy
  5287.  mov rax, QWORD PTR this$[rsp]
  5288.  mov rcx, QWORD PTR [rax]
  5289.  call free
  5290. $LN2@Tidy:
  5291.  mov rax, QWORD PTR this$[rsp]
  5292.  mov QWORD PTR [rax], 0
  5293.  add rsp, 40 ; 00000028H
  5294.  ret 0
  5295. void std::_Yarn<char>::_Tidy(void) ENDP ; std::_Yarn<char>::_Tidy
  5296.  
  5297. this$ = 48
  5298. __flags$ = 56
  5299. virtual void * std::_Facet_base::`scalar deleting destructor'(unsigned int) PROC ; std::_Facet_base::`scalar deleting destructor', COMDAT
  5300. $LN4:
  5301.   mov DWORD PTR [rsp+16], edx
  5302.   mov QWORD PTR [rsp+8], rcx
  5303.   sub rsp, 40 ; 00000028H
  5304.   mov rcx, QWORD PTR this$[rsp]
  5305.   call virtual std::_Facet_base::~_Facet_base(void) ; std::_Facet_base::~_Facet_base
  5306.   mov eax, DWORD PTR __flags$[rsp]
  5307.   and eax, 1
  5308.   test eax, eax
  5309.   je SHORT $LN2@scalar
  5310.   mov edx, 8
  5311.   mov rcx, QWORD PTR this$[rsp]
  5312.   call void operator delete(void *,unsigned __int64) ; operator delete
  5313. $LN2@scalar:
  5314.   mov rax, QWORD PTR this$[rsp]
  5315.   add rsp, 40 ; 00000028H
  5316.   ret 0
  5317. virtual void * std::_Facet_base::`scalar deleting destructor'(unsigned int) ENDP ; std::_Facet_base::`scalar deleting destructor'
  5318.  
  5319. this$ = 48
  5320. __flags$ = 56
  5321. virtual void * std::_Generic_error_category::`scalar deleting destructor'(unsigned int) PROC ; std::_Generic_error_category::`scalar deleting destructor', COMDAT
  5322. $LN4:
  5323.   mov DWORD PTR [rsp+16], edx
  5324.   mov QWORD PTR [rsp+8], rcx
  5325.   sub rsp, 40 ; 00000028H
  5326.   mov rcx, QWORD PTR this$[rsp]
  5327.   call virtual std::_Generic_error_category::~_Generic_error_category(void)
  5328.   mov eax, DWORD PTR __flags$[rsp]
  5329.   and eax, 1
  5330.   test eax, eax
  5331.   je SHORT $LN2@scalar
  5332.   mov edx, 16
  5333.   mov rcx, QWORD PTR this$[rsp]
  5334.   call void operator delete(void *,unsigned __int64) ; operator delete
  5335. $LN2@scalar:
  5336.   mov rax, QWORD PTR this$[rsp]
  5337.   add rsp, 40 ; 00000028H
  5338.   ret 0
  5339. virtual void * std::_Generic_error_category::`scalar deleting destructor'(unsigned int) ENDP ; std::_Generic_error_category::`scalar deleting destructor'
  5340.  
  5341. this$ = 48
  5342. __flags$ = 56
  5343. virtual void * std::_Iostream_error_category::`scalar deleting destructor'(unsigned int) PROC ; std::_Iostream_error_category::`scalar deleting destructor', COMDAT
  5344. $LN4:
  5345.   mov DWORD PTR [rsp+16], edx
  5346.   mov QWORD PTR [rsp+8], rcx
  5347.   sub rsp, 40 ; 00000028H
  5348.   mov rcx, QWORD PTR this$[rsp]
  5349.   call virtual std::_Iostream_error_category::~_Iostream_error_category(void)
  5350.   mov eax, DWORD PTR __flags$[rsp]
  5351.   and eax, 1
  5352.   test eax, eax
  5353.   je SHORT $LN2@scalar
  5354.   mov edx, 16
  5355.   mov rcx, QWORD PTR this$[rsp]
  5356.   call void operator delete(void *,unsigned __int64) ; operator delete
  5357. $LN2@scalar:
  5358.   mov rax, QWORD PTR this$[rsp]
  5359.   add rsp, 40 ; 00000028H
  5360.   ret 0
  5361. virtual void * std::_Iostream_error_category::`scalar deleting destructor'(unsigned int) ENDP ; std::_Iostream_error_category::`scalar deleting destructor'
  5362.  
  5363. this$ = 48
  5364. __flags$ = 56
  5365. virtual void * std::_System_error::`scalar deleting destructor'(unsigned int) PROC ; std::_System_error::`scalar deleting destructor', COMDAT
  5366. $LN4:
  5367.   mov DWORD PTR [rsp+16], edx
  5368.   mov QWORD PTR [rsp+8], rcx
  5369.   sub rsp, 40 ; 00000028H
  5370.   mov rcx, QWORD PTR this$[rsp]
  5371.   call virtual std::_System_error::~_System_error(void)
  5372.   mov eax, DWORD PTR __flags$[rsp]
  5373.   and eax, 1
  5374.   test eax, eax
  5375.   je SHORT $LN2@scalar
  5376.   mov edx, 40 ; 00000028H
  5377.   mov rcx, QWORD PTR this$[rsp]
  5378.   call void operator delete(void *,unsigned __int64) ; operator delete
  5379. $LN2@scalar:
  5380.   mov rax, QWORD PTR this$[rsp]
  5381.   add rsp, 40 ; 00000028H
  5382.   ret 0
  5383. virtual void * std::_System_error::`scalar deleting destructor'(unsigned int) ENDP ; std::_System_error::`scalar deleting destructor'
  5384.  
  5385. this$ = 48
  5386. __flags$ = 56
  5387. virtual void * std::ctype<char>::`scalar deleting destructor'(unsigned int) PROC ; std::ctype<char>::`scalar deleting destructor', COMDAT
  5388. $LN4:
  5389.   mov DWORD PTR [rsp+16], edx
  5390.   mov QWORD PTR [rsp+8], rcx
  5391.   sub rsp, 40 ; 00000028H
  5392.   mov rcx, QWORD PTR this$[rsp]
  5393.   call virtual std::ctype<char>::~ctype<char>(void) ; std::ctype<char>::~ctype<char>
  5394.   mov eax, DWORD PTR __flags$[rsp]
  5395.   and eax, 1
  5396.   test eax, eax
  5397.   je SHORT $LN2@scalar
  5398.   mov edx, 48 ; 00000030H
  5399.   mov rcx, QWORD PTR this$[rsp]
  5400.   call void operator delete(void *,unsigned __int64) ; operator delete
  5401. $LN2@scalar:
  5402.   mov rax, QWORD PTR this$[rsp]
  5403.   add rsp, 40 ; 00000028H
  5404.   ret 0
  5405. virtual void * std::ctype<char>::`scalar deleting destructor'(unsigned int) ENDP ; std::ctype<char>::`scalar deleting destructor'
  5406.  
  5407. this$ = 48
  5408. __flags$ = 56
  5409. virtual void * std::bad_cast::`scalar deleting destructor'(unsigned int) PROC ; std::bad_cast::`scalar deleting destructor', COMDAT
  5410. $LN4:
  5411.   mov DWORD PTR [rsp+16], edx
  5412.   mov QWORD PTR [rsp+8], rcx
  5413.   sub rsp, 40 ; 00000028H
  5414.   mov rcx, QWORD PTR this$[rsp]
  5415.   call virtual std::bad_cast::~bad_cast(void)
  5416.   mov eax, DWORD PTR __flags$[rsp]
  5417.   and eax, 1
  5418.   test eax, eax
  5419.   je SHORT $LN2@scalar
  5420.   mov edx, 24
  5421.   mov rcx, QWORD PTR this$[rsp]
  5422.   call void operator delete(void *,unsigned __int64) ; operator delete
  5423. $LN2@scalar:
  5424.   mov rax, QWORD PTR this$[rsp]
  5425.   add rsp, 40 ; 00000028H
  5426.   ret 0
  5427. virtual void * std::bad_cast::`scalar deleting destructor'(unsigned int) ENDP ; std::bad_cast::`scalar deleting destructor'
  5428.  
  5429. this$ = 48
  5430. __flags$ = 56
  5431. virtual void * std::ctype_base::`scalar deleting destructor'(unsigned int) PROC ; std::ctype_base::`scalar deleting destructor', COMDAT
  5432. $LN4:
  5433.   mov DWORD PTR [rsp+16], edx
  5434.   mov QWORD PTR [rsp+8], rcx
  5435.   sub rsp, 40 ; 00000028H
  5436.   mov rcx, QWORD PTR this$[rsp]
  5437.   call virtual std::ctype_base::~ctype_base(void) ; std::ctype_base::~ctype_base
  5438.   mov eax, DWORD PTR __flags$[rsp]
  5439.   and eax, 1
  5440.   test eax, eax
  5441.   je SHORT $LN2@scalar
  5442.   mov edx, 16
  5443.   mov rcx, QWORD PTR this$[rsp]
  5444.   call void operator delete(void *,unsigned __int64) ; operator delete
  5445. $LN2@scalar:
  5446.   mov rax, QWORD PTR this$[rsp]
  5447.   add rsp, 40 ; 00000028H
  5448.   ret 0
  5449. virtual void * std::ctype_base::`scalar deleting destructor'(unsigned int) ENDP ; std::ctype_base::`scalar deleting destructor'
  5450.  
  5451. this$ = 48
  5452. __flags$ = 56
  5453. virtual void * std::exception::`scalar deleting destructor'(unsigned int) PROC ; std::exception::`scalar deleting destructor', COMDAT
  5454. $LN4:
  5455.   mov DWORD PTR [rsp+16], edx
  5456.   mov QWORD PTR [rsp+8], rcx
  5457.   sub rsp, 40 ; 00000028H
  5458.   mov rcx, QWORD PTR this$[rsp]
  5459.   call virtual std::exception::~exception(void) ; std::exception::~exception
  5460.   mov eax, DWORD PTR __flags$[rsp]
  5461.   and eax, 1
  5462.   test eax, eax
  5463.   je SHORT $LN2@scalar
  5464.   mov edx, 24
  5465.   mov rcx, QWORD PTR this$[rsp]
  5466.   call void operator delete(void *,unsigned __int64) ; operator delete
  5467. $LN2@scalar:
  5468.   mov rax, QWORD PTR this$[rsp]
  5469.   add rsp, 40 ; 00000028H
  5470.   ret 0
  5471. virtual void * std::exception::`scalar deleting destructor'(unsigned int) ENDP ; std::exception::`scalar deleting destructor'
  5472.  
  5473. this$ = 48
  5474. __flags$ = 56
  5475. virtual void * std::locale::facet::`scalar deleting destructor'(unsigned int) PROC ; std::locale::facet::`scalar deleting destructor', COMDAT
  5476. $LN4:
  5477.   mov DWORD PTR [rsp+16], edx
  5478.   mov QWORD PTR [rsp+8], rcx
  5479.   sub rsp, 40 ; 00000028H
  5480.   mov rcx, QWORD PTR this$[rsp]
  5481.   call virtual std::locale::facet::~facet(void) ; std::locale::facet::~facet
  5482.   mov eax, DWORD PTR __flags$[rsp]
  5483.   and eax, 1
  5484.   test eax, eax
  5485.   je SHORT $LN2@scalar
  5486.   mov edx, 16
  5487.   mov rcx, QWORD PTR this$[rsp]
  5488.   call void operator delete(void *,unsigned __int64) ; operator delete
  5489. $LN2@scalar:
  5490.   mov rax, QWORD PTR this$[rsp]
  5491.   add rsp, 40 ; 00000028H
  5492.   ret 0
  5493. virtual void * std::locale::facet::`scalar deleting destructor'(unsigned int) ENDP ; std::locale::facet::`scalar deleting destructor'
  5494.  
  5495. this$ = 48
  5496. __flags$ = 56
  5497. virtual void * std::ios_base::failure::`scalar deleting destructor'(unsigned int) PROC ; std::ios_base::failure::`scalar deleting destructor', COMDAT
  5498. $LN4:
  5499.   mov DWORD PTR [rsp+16], edx
  5500.   mov QWORD PTR [rsp+8], rcx
  5501.   sub rsp, 40 ; 00000028H
  5502.   mov rcx, QWORD PTR this$[rsp]
  5503.   call virtual std::ios_base::failure::~failure(void)
  5504.   mov eax, DWORD PTR __flags$[rsp]
  5505.   and eax, 1
  5506.   test eax, eax
  5507.   je SHORT $LN2@scalar
  5508.   mov edx, 40 ; 00000028H
  5509.   mov rcx, QWORD PTR this$[rsp]
  5510.   call void operator delete(void *,unsigned __int64) ; operator delete
  5511. $LN2@scalar:
  5512.   mov rax, QWORD PTR this$[rsp]
  5513.   add rsp, 40 ; 00000028H
  5514.   ret 0
  5515. virtual void * std::ios_base::failure::`scalar deleting destructor'(unsigned int) ENDP ; std::ios_base::failure::`scalar deleting destructor'
  5516.  
  5517. this$ = 48
  5518. __flags$ = 56
  5519. virtual void * std::runtime_error::`scalar deleting destructor'(unsigned int) PROC ; std::runtime_error::`scalar deleting destructor', COMDAT
  5520. $LN4:
  5521.   mov DWORD PTR [rsp+16], edx
  5522.   mov QWORD PTR [rsp+8], rcx
  5523.   sub rsp, 40 ; 00000028H
  5524.   mov rcx, QWORD PTR this$[rsp]
  5525.   call virtual std::runtime_error::~runtime_error(void)
  5526.   mov eax, DWORD PTR __flags$[rsp]
  5527.   and eax, 1
  5528.   test eax, eax
  5529.   je SHORT $LN2@scalar
  5530.   mov edx, 24
  5531.   mov rcx, QWORD PTR this$[rsp]
  5532.   call void operator delete(void *,unsigned __int64) ; operator delete
  5533. $LN2@scalar:
  5534.   mov rax, QWORD PTR this$[rsp]
  5535.   add rsp, 40 ; 00000028H
  5536.   ret 0
  5537. virtual void * std::runtime_error::`scalar deleting destructor'(unsigned int) ENDP ; std::runtime_error::`scalar deleting destructor'
  5538.  
  5539. this$ = 48
  5540. __flags$ = 56
  5541. virtual void * std::system_error::`scalar deleting destructor'(unsigned int) PROC ; std::system_error::`scalar deleting destructor', COMDAT
  5542. $LN4:
  5543.   mov DWORD PTR [rsp+16], edx
  5544.   mov QWORD PTR [rsp+8], rcx
  5545.   sub rsp, 40 ; 00000028H
  5546.   mov rcx, QWORD PTR this$[rsp]
  5547.   call virtual std::system_error::~system_error(void)
  5548.   mov eax, DWORD PTR __flags$[rsp]
  5549.   and eax, 1
  5550.   test eax, eax
  5551.   je SHORT $LN2@scalar
  5552.   mov edx, 40 ; 00000028H
  5553.   mov rcx, QWORD PTR this$[rsp]
  5554.   call void operator delete(void *,unsigned __int64) ; operator delete
  5555. $LN2@scalar:
  5556.   mov rax, QWORD PTR this$[rsp]
  5557.   add rsp, 40 ; 00000028H
  5558.   ret 0
  5559. virtual void * std::system_error::`scalar deleting destructor'(unsigned int) ENDP ; std::system_error::`scalar deleting destructor'
  5560.  
  5561. this$ = 8
  5562. std::_Facet_base::_Facet_base(void) PROC ; std::_Facet_base::_Facet_base, COMDAT
  5563.   mov QWORD PTR [rsp+8], rcx
  5564.   mov rax, QWORD PTR this$[rsp]
  5565.   lea rcx, OFFSET FLAT:const std::_Facet_base::`vftable'
  5566.  mov QWORD PTR [rax], rcx
  5567.  mov rax, QWORD PTR this$[rsp]
  5568.  ret 0
  5569. std::_Facet_base::_Facet_base(void) ENDP ; std::_Facet_base::_Facet_base
  5570.  
  5571. this$ = 64
  5572. __that$ = 72
  5573. std::_System_error::_System_error(std::_System_error const &) PROC ; std::_System_error::_System_error, COMDAT
  5574. $LN3:
  5575.  mov QWORD PTR [rsp+16], rdx
  5576.  mov QWORD PTR [rsp+8], rcx
  5577.  push rsi
  5578.  push rdi
  5579.  sub rsp, 40 ; 00000028H
  5580.  mov rdx, QWORD PTR __that$[rsp]
  5581.  mov rcx, QWORD PTR this$[rsp]
  5582.  call std::runtime_error::runtime_error(std::runtime_error const &)
  5583.  mov rax, QWORD PTR this$[rsp]
  5584.  lea rcx, OFFSET FLAT:const std::_System_error::`vftable'
  5585.   mov QWORD PTR [rax], rcx
  5586.   mov rax, QWORD PTR this$[rsp]
  5587.   mov rcx, QWORD PTR __that$[rsp]
  5588.   lea rdi, QWORD PTR [rax+24]
  5589.   lea rsi, QWORD PTR [rcx+24]
  5590.   mov ecx, 16
  5591.   rep movsb
  5592.   mov rax, QWORD PTR this$[rsp]
  5593.   add rsp, 40 ; 00000028H
  5594.   pop rdi
  5595.   pop rsi
  5596.   ret 0
  5597. std::_System_error::_System_error(std::_System_error const &) ENDP ; std::_System_error::_System_error
  5598.  
  5599. this$ = 48
  5600. __that$ = 56
  5601. std::bad_cast::bad_cast(std::bad_cast const &) PROC ; std::bad_cast::bad_cast, COMDAT
  5602. $LN3:
  5603.   mov QWORD PTR [rsp+16], rdx
  5604.   mov QWORD PTR [rsp+8], rcx
  5605.   sub rsp, 40 ; 00000028H
  5606.   mov rdx, QWORD PTR __that$[rsp]
  5607.   mov rcx, QWORD PTR this$[rsp]
  5608.   call std::exception::exception(std::exception const &) ; std::exception::exception
  5609.   mov rax, QWORD PTR this$[rsp]
  5610.   lea rcx, OFFSET FLAT:const std::bad_cast::`vftable'
  5611.  mov QWORD PTR [rax], rcx
  5612.  mov rax, QWORD PTR this$[rsp]
  5613.  add rsp, 40 ; 00000028H
  5614.  ret 0
  5615. std::bad_cast::bad_cast(std::bad_cast const &) ENDP ; std::bad_cast::bad_cast
  5616.  
  5617. this$ = 48
  5618. __that$ = 56
  5619. std::ios_base::failure::failure(std::ios_base::failure const &) PROC ; std::ios_base::failure::failure, COMDAT
  5620. $LN3:
  5621.  mov QWORD PTR [rsp+16], rdx
  5622.  mov QWORD PTR [rsp+8], rcx
  5623.  sub rsp, 40 ; 00000028H
  5624.  mov rdx, QWORD PTR __that$[rsp]
  5625.  mov rcx, QWORD PTR this$[rsp]
  5626.  call std::system_error::system_error(std::system_error const &)
  5627.  mov rax, QWORD PTR this$[rsp]
  5628.  lea rcx, OFFSET FLAT:const std::ios_base::failure::`vftable'
  5629.   mov QWORD PTR [rax], rcx
  5630.   mov rax, QWORD PTR this$[rsp]
  5631.   add rsp, 40 ; 00000028H
  5632.   ret 0
  5633. std::ios_base::failure::failure(std::ios_base::failure const &) ENDP ; std::ios_base::failure::failure
  5634.  
  5635. this$ = 48
  5636. __that$ = 56
  5637. std::runtime_error::runtime_error(std::runtime_error const &) PROC ; std::runtime_error::runtime_error, COMDAT
  5638. $LN3:
  5639.   mov QWORD PTR [rsp+16], rdx
  5640.   mov QWORD PTR [rsp+8], rcx
  5641.   sub rsp, 40 ; 00000028H
  5642.   mov rdx, QWORD PTR __that$[rsp]
  5643.   mov rcx, QWORD PTR this$[rsp]
  5644.   call std::exception::exception(std::exception const &) ; std::exception::exception
  5645.   mov rax, QWORD PTR this$[rsp]
  5646.   lea rcx, OFFSET FLAT:const std::runtime_error::`vftable'
  5647.  mov QWORD PTR [rax], rcx
  5648.  mov rax, QWORD PTR this$[rsp]
  5649.  add rsp, 40 ; 00000028H
  5650.  ret 0
  5651. std::runtime_error::runtime_error(std::runtime_error const &) ENDP ; std::runtime_error::runtime_error
  5652.  
  5653. this$ = 48
  5654. __that$ = 56
  5655. std::system_error::system_error(std::system_error const &) PROC ; std::system_error::system_error, COMDAT
  5656. $LN3:
  5657.  mov QWORD PTR [rsp+16], rdx
  5658.  mov QWORD PTR [rsp+8], rcx
  5659.  sub rsp, 40 ; 00000028H
  5660.  mov rdx, QWORD PTR __that$[rsp]
  5661.  mov rcx, QWORD PTR this$[rsp]
  5662.  call std::_System_error::_System_error(std::_System_error const &)
  5663.  mov rax, QWORD PTR this$[rsp]
  5664.  lea rcx, OFFSET FLAT:const std::system_error::`vftable'
  5665.   mov QWORD PTR [rax], rcx
  5666.   mov rax, QWORD PTR this$[rsp]
  5667.   add rsp, 40 ; 00000028H
  5668.   ret 0
  5669. std::system_error::system_error(std::system_error const &) ENDP ; std::system_error::system_error
  5670.  
  5671. this$ = 48
  5672. virtual std::_Generic_error_category::~_Generic_error_category(void) PROC ; std::_Generic_error_category::~_Generic_error_category, COMDAT
  5673. $LN3:
  5674.   mov QWORD PTR [rsp+8], rcx
  5675.   sub rsp, 40 ; 00000028H
  5676.   mov rcx, QWORD PTR this$[rsp]
  5677.   call virtual std::error_category::~error_category(void) ; std::error_category::~error_category
  5678.   add rsp, 40 ; 00000028H
  5679.   ret 0
  5680. virtual std::_Generic_error_category::~_Generic_error_category(void) ENDP ; std::_Generic_error_category::~_Generic_error_category
  5681.  
  5682. _State$ = 32
  5683. tv156 = 36
  5684. $T1 = 40
  5685. $T2 = 44
  5686. tv65 = 48
  5687. $T3 = 56
  5688. $T4 = 64
  5689. _Ok$ = 72
  5690. this$ = 112
  5691. _Ch$ = 120
  5692. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::catch$1 PROC ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::catch$1
  5693.   mov QWORD PTR [rsp+16], rdx
  5694.   push rbp
  5695.   sub rsp, 32 ; 00000020H
  5696.   mov rbp, rdx
  5697. __catch$?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z$0:
  5698.   mov rax, QWORD PTR this$[rbp]
  5699.   mov rax, QWORD PTR [rax]
  5700.   movsxd rax, DWORD PTR [rax+4]
  5701.   mov rcx, QWORD PTR this$[rbp]
  5702.   add rcx, rax
  5703.   mov rax, rcx
  5704.   mov r8b, 1
  5705.   mov edx, 4
  5706.   mov rcx, rax
  5707.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  5708.   npad 1
  5709.   lea rax, $LN11@catch$1
  5710.   add rsp, 32 ; 00000020H
  5711.   pop rbp
  5712.   ret 0
  5713.   int 3
  5714. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::catch$1 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::catch$1
  5715.  
  5716. tv153 = 32
  5717. tv154 = 36
  5718. tv156 = 40
  5719. tv155 = 48
  5720. $T1 = 56
  5721. this$ = 80
  5722. int `void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void)'::`1'::catch$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::_Osfx'::`1'::catch$0
  5723.   mov QWORD PTR [rsp+16], rdx
  5724.   push rbp
  5725.   sub rsp, 32 ; 00000020H
  5726.   mov rbp, rdx
  5727. __catch$?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ$0:
  5728.   lea rax, $LN9@catch$0
  5729.   add rsp, 32 ; 00000020H
  5730.   pop rbp
  5731.   ret 0
  5732.   int 3
  5733. int `void std::basic_ostream<char,std::char_traits<char> >::_Osfx(void)'::`1'::catch$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::_Osfx'::`1'::catch$0
  5734.  
  5735. this$ = 48
  5736. virtual std::_Iostream_error_category::~_Iostream_error_category(void) PROC ; std::_Iostream_error_category::~_Iostream_error_category, COMDAT
  5737. $LN3:
  5738.   mov QWORD PTR [rsp+8], rcx
  5739.   sub rsp, 40 ; 00000028H
  5740.   mov rcx, QWORD PTR this$[rsp]
  5741.   call virtual std::_Generic_error_category::~_Generic_error_category(void)
  5742.   add rsp, 40 ; 00000028H
  5743.   ret 0
  5744. virtual std::_Iostream_error_category::~_Iostream_error_category(void) ENDP ; std::_Iostream_error_category::~_Iostream_error_category
  5745.  
  5746. _State$ = 32
  5747. tv283 = 36
  5748. tv288 = 37
  5749. _Pad$1 = 40
  5750. tv65 = 48
  5751. tv285 = 52
  5752. $T2 = 56
  5753. $T3 = 60
  5754. tv287 = 64
  5755. $T4 = 68
  5756. $T5 = 72
  5757. tv290 = 76
  5758. $T6 = 80
  5759. $T7 = 84
  5760. tv130 = 88
  5761. tv284 = 96
  5762. tv286 = 104
  5763. tv289 = 112
  5764. $T8 = 120
  5765. _Ok$ = 128
  5766. $T9 = 144
  5767. _Ostr$ = 176
  5768. _Ch$ = 184
  5769. int `catch$1::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(catch$1::std &,char)'::`1'::catch$1 PROC ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
  5770.   mov QWORD PTR [rsp+16], rdx
  5771.   push rbp
  5772.   sub rsp, 32 ; 00000020H
  5773.   mov rbp, rdx
  5774. __catch$??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@D@Z$0:
  5775.   mov rax, QWORD PTR _Ostr$[rbp]
  5776.   mov rax, QWORD PTR [rax]
  5777.   movsxd rax, DWORD PTR [rax+4]
  5778.   mov rcx, QWORD PTR _Ostr$[rbp]
  5779.   add rcx, rax
  5780.   mov rax, rcx
  5781.   mov r8b, 1
  5782.   mov edx, 4
  5783.   mov rcx, rax
  5784.   call void std::basic_ios<char,std::char_traits<char> >::setstate(int,bool) ; std::basic_ios<char,std::char_traits<char> >::setstate
  5785.   npad 1
  5786.   lea rax, $LN21@catch$1
  5787.   add rsp, 32 ; 00000020H
  5788.   pop rbp
  5789.   ret 0
  5790.   int 3
  5791. int `catch$1::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(catch$1::std &,char)'::`1'::catch$1 ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::catch$1
  5792.  
  5793. this$ = 48
  5794. virtual std::_System_error::~_System_error(void) PROC ; std::_System_error::~_System_error, COMDAT
  5795. $LN3:
  5796.   mov QWORD PTR [rsp+8], rcx
  5797.   sub rsp, 40 ; 00000028H
  5798.   mov rcx, QWORD PTR this$[rsp]
  5799.   call virtual std::runtime_error::~runtime_error(void)
  5800.   add rsp, 40 ; 00000028H
  5801.   ret 0
  5802. virtual std::_System_error::~_System_error(void) ENDP ; std::_System_error::~_System_error
  5803.  
  5804. this$ = 48
  5805. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>(void) PROC ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>, COMDAT
  5806. $LN3:
  5807.   mov QWORD PTR [rsp+8], rcx
  5808.   sub rsp, 40 ; 00000028H
  5809.   mov rax, QWORD PTR this$[rsp]
  5810.   mov rcx, rax
  5811.   call std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> >(void)
  5812.   add rsp, 40 ; 00000028H
  5813.   ret 0
  5814. std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>(void) ENDP ; std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>
  5815.  
  5816. this$ = 48
  5817. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void) PROC ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >, COMDAT
  5818. $LN3:
  5819.   mov QWORD PTR [rsp+8], rcx
  5820.   sub rsp, 40 ; 00000028H
  5821.   mov rax, QWORD PTR this$[rsp]
  5822.   mov rcx, rax
  5823.   call std::_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>::~_Compressed_pair<std::allocator<char>,std::_String_val<std::_Simple_types<char> >,1>(void)
  5824.   add rsp, 40 ; 00000028H
  5825.   ret 0
  5826. std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void) ENDP ; std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >
  5827.  
  5828. this$ = 48
  5829. std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> >(void) PROC ; std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> >, COMDAT
  5830. $LN3:
  5831.   mov QWORD PTR [rsp+8], rcx
  5832.   sub rsp, 40 ; 00000028H
  5833.   mov rax, QWORD PTR this$[rsp]
  5834.   mov rcx, rax
  5835.   call std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty(void) ; std::_String_val<std::_Simple_types<char> >::_Bxty::~_Bxty
  5836.   add rsp, 40 ; 00000028H
  5837.   ret 0
  5838. std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> >(void) ENDP ; std::_String_val<std::_Simple_types<char> >::~_String_val<std::_Simple_types<char> >
  5839.  
  5840. this$ = 48
  5841. virtual std::bad_cast::~bad_cast(void) PROC ; std::bad_cast::~bad_cast, COMDAT
  5842. $LN3:
  5843.   mov QWORD PTR [rsp+8], rcx
  5844.   sub rsp, 40 ; 00000028H
  5845.   mov rcx, QWORD PTR this$[rsp]
  5846.   call virtual std::exception::~exception(void) ; std::exception::~exception
  5847.   add rsp, 40 ; 00000028H
  5848.   ret 0
  5849. virtual std::bad_cast::~bad_cast(void) ENDP ; std::bad_cast::~bad_cast
  5850.  
  5851. this$ = 48
  5852. virtual std::ios_base::failure::~failure(void) PROC ; std::ios_base::failure::~failure, COMDAT
  5853. $LN3:
  5854.   mov QWORD PTR [rsp+8], rcx
  5855.   sub rsp, 40 ; 00000028H
  5856.   mov rcx, QWORD PTR this$[rsp]
  5857.   call virtual std::system_error::~system_error(void)
  5858.   add rsp, 40 ; 00000028H
  5859.   ret 0
  5860. virtual std::ios_base::failure::~failure(void) ENDP ; std::ios_base::failure::~failure
  5861.  
  5862. this$ = 48
  5863. virtual std::runtime_error::~runtime_error(void) PROC ; std::runtime_error::~runtime_error, COMDAT
  5864. $LN3:
  5865.   mov QWORD PTR [rsp+8], rcx
  5866.   sub rsp, 40 ; 00000028H
  5867.   mov rcx, QWORD PTR this$[rsp]
  5868.   call virtual std::exception::~exception(void) ; std::exception::~exception
  5869.   add rsp, 40 ; 00000028H
  5870.   ret 0
  5871. virtual std::runtime_error::~runtime_error(void) ENDP ; std::runtime_error::~runtime_error
  5872.  
  5873. this$ = 48
  5874. virtual std::system_error::~system_error(void) PROC ; std::system_error::~system_error, COMDAT
  5875. $LN3:
  5876.   mov QWORD PTR [rsp+8], rcx
  5877.   sub rsp, 40 ; 00000028H
  5878.   mov rcx, QWORD PTR this$[rsp]
  5879.   call virtual std::_System_error::~_System_error(void)
  5880.   add rsp, 40 ; 00000028H
  5881.   ret 0
  5882. virtual std::system_error::~system_error(void) ENDP ; std::system_error::~system_error
  5883.  
  5884. $T1 = 32
  5885. $T2 = 40
  5886. tv89 = 48
  5887. tv132 = 56
  5888. tv128 = 64
  5889. $T3 = 72
  5890. $T4 = 80
  5891. $T5 = 88
  5892. _Ppf$ = 208
  5893. _Ploc$ = 216
  5894. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$0 PROC ; `std::ctype<char>::_Getcat'::`1'::dtor$0
  5895.   push rbp
  5896.   sub rsp, 32 ; 00000020H
  5897.   mov rbp, rdx
  5898.   mov edx, 48 ; 00000030H
  5899.   mov rcx, QWORD PTR $T2[rbp]
  5900.   call void operator delete(void *,unsigned __int64) ; operator delete
  5901.   add rsp, 32 ; 00000020H
  5902.   pop rbp
  5903.   ret 0
  5904. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$0 ENDP ; `std::ctype<char>::_Getcat'::`1'::dtor$0
  5905.  
  5906. $T1 = 32
  5907. tv79 = 40
  5908. tv84 = 48
  5909. $T2 = 56
  5910. $T3 = 64
  5911. __$ArrayPad$ = 96
  5912. __$ReturnUdt$ = 128
  5913. _Errcode$ = 136
  5914. _Message$ = 144
  5915. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$0 PROC ; `std::_System_error::_Makestr'::`1'::dtor$0
  5916.   push rbp
  5917.   sub rsp, 32 ; 00000020H
  5918.   mov rbp, rdx
  5919.   mov rcx, QWORD PTR _Message$[rbp]
  5920.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  5921.   add rsp, 32 ; 00000020H
  5922.   pop rbp
  5923.   ret 0
  5924. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$0 ENDP ; `std::_System_error::_Makestr'::`1'::dtor$0
  5925.  
  5926. _State$ = 32
  5927. tv283 = 36
  5928. tv288 = 37
  5929. _Pad$1 = 40
  5930. tv65 = 48
  5931. tv285 = 52
  5932. $T2 = 56
  5933. $T3 = 60
  5934. tv287 = 64
  5935. $T4 = 68
  5936. $T5 = 72
  5937. tv290 = 76
  5938. $T6 = 80
  5939. $T7 = 84
  5940. tv130 = 88
  5941. tv284 = 96
  5942. tv286 = 104
  5943. tv289 = 112
  5944. $T8 = 120
  5945. _Ok$ = 128
  5946. $T9 = 144
  5947. _Ostr$ = 176
  5948. _Ch$ = 184
  5949. int `dtor$0::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(dtor$0::std &,char)'::`1'::dtor$0 PROC ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
  5950.   push rbp
  5951.   sub rsp, 32 ; 00000020H
  5952.   mov rbp, rdx
  5953.   lea rcx, QWORD PTR _Ok$[rbp]
  5954.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  5955.   add rsp, 32 ; 00000020H
  5956.   pop rbp
  5957.   ret 0
  5958. int `dtor$0::basic_ostream<char,std::char_traits<char> > & std::operator<<<std::char_traits<char> >(dtor$0::std &,char)'::`1'::dtor$0 ENDP ; `std::operator<<<std::char_traits<char> >'::`1'::dtor$0
  5959.  
  5960. _Psave$1 = 32
  5961. _Pfmod$2 = 40
  5962. _Pf$3 = 48
  5963. _Lock$4 = 56
  5964. _Psave_guard$5 = 64
  5965. _Id$6 = 72
  5966. $T7 = 80
  5967. $T8 = 88
  5968. $T9 = 96
  5969. _Loc$ = 144
  5970. int `dtor$0::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$0::locale const &)'::`1'::dtor$0 PROC ; `std::use_facet<std::ctype<char> >'::`1'::dtor$0
  5971.   push rbp
  5972.   sub rsp, 32 ; 00000020H
  5973.   mov rbp, rdx
  5974.   lea rcx, QWORD PTR _Lock$4[rbp]
  5975.   call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  5976.   add rsp, 32 ; 00000020H
  5977.   pop rbp
  5978.   ret 0
  5979. int `dtor$0::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$0::locale const &)'::`1'::dtor$0 ENDP ; `std::use_facet<std::ctype<char> >'::`1'::dtor$0
  5980.  
  5981. $T1 = 32
  5982. $T2 = 40
  5983. this$ = 80
  5984. _Pch$ = 88
  5985. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$0 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$0
  5986.   push rbp
  5987.   sub rsp, 32 ; 00000020H
  5988.   mov rbp, rdx
  5989.   mov rcx, QWORD PTR this$[rbp]
  5990.   call std::_Lockit::~_Lockit(void) ; std::_Lockit::~_Lockit
  5991.   add rsp, 32 ; 00000020H
  5992.   pop rbp
  5993.   ret 0
  5994. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$0 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$0
  5995.  
  5996. $T1 = 32
  5997. $T2 = 40
  5998. this$ = 64
  5999. _Right$ = 72
  6000. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(basic_string<char,std::char_traits<char>,std::allocator<char> >::dtor$0 const &)'::`1'::dtor$0 PROC ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  6001.   push rbp
  6002.   sub rsp, 32 ; 00000020H
  6003.   mov rbp, rdx
  6004.   mov rcx, QWORD PTR this$[rbp]
  6005.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void)
  6006.   add rsp, 32 ; 00000020H
  6007.   pop rbp
  6008.   ret 0
  6009. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(basic_string<char,std::char_traits<char>,std::allocator<char> >::dtor$0 const &)'::`1'::dtor$0 ENDP ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  6010.  
  6011. $T1 = 32
  6012. this$ = 64
  6013. _Ptr$ = 72
  6014. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const)'::`1'::dtor$0 PROC ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  6015.   push rbp
  6016.   sub rsp, 32 ; 00000020H
  6017.   mov rbp, rdx
  6018.   mov rcx, QWORD PTR this$[rbp]
  6019.   call std::_String_alloc<std::_String_base_types<char,std::allocator<char> > >::~_String_alloc<std::_String_base_types<char,std::allocator<char> > >(void)
  6020.   add rsp, 32 ; 00000020H
  6021.   pop rbp
  6022.   ret 0
  6023. int `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >(char const * const)'::`1'::dtor$0 ENDP ; `std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >'::`1'::dtor$0
  6024.  
  6025. $T1 = 32
  6026. this$ = 64
  6027. _Lobj$ = 72
  6028. _Refs$ = 80
  6029. int `std::ctype<char>::ctype<char>(ctype<char>::_Locinfo const &,unsigned __int64)'::`1'::dtor$0 PROC ; `std::ctype<char>::ctype<char>'::`1'::dtor$0
  6030.   push rbp
  6031.   sub rsp, 32 ; 00000020H
  6032.   mov rbp, rdx
  6033.   mov rcx, QWORD PTR this$[rbp]
  6034.   call virtual std::ctype_base::~ctype_base(void) ; std::ctype_base::~ctype_base
  6035.   add rsp, 32 ; 00000020H
  6036.   pop rbp
  6037.   ret 0
  6038. int `std::ctype<char>::ctype<char>(ctype<char>::_Locinfo const &,unsigned __int64)'::`1'::dtor$0 ENDP ; `std::ctype<char>::ctype<char>'::`1'::dtor$0
  6039.  
  6040. $T1 = 32
  6041. this$ = 64
  6042. _Ostr$ = 72
  6043. int `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(basic_ostream<char,std::char_traits<char> >::sentry &)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
  6044.   push rbp
  6045.   sub rsp, 32 ; 00000020H
  6046.   mov rbp, rdx
  6047.   mov rcx, QWORD PTR this$[rbp]
  6048.   call std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base(void) ; std::basic_ostream<char,std::char_traits<char> >::_Sentry_base::~_Sentry_base
  6049.   add rsp, 32 ; 00000020H
  6050.   pop rbp
  6051.   ret 0
  6052. int `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry(basic_ostream<char,std::char_traits<char> >::sentry &)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::sentry::sentry'::`1'::dtor$0
  6053.  
  6054. $T1 = 32
  6055. $T2 = 48
  6056. $T3 = 64
  6057. __$ArrayPad$ = 96
  6058. this$ = 144
  6059. _Errcode$ = 152
  6060. _Message$ = 160
  6061. int `std::system_error::system_error(system_error::error_code,char const *)'::`1'::dtor$0 PROC ; `std::system_error::system_error'::`1'::dtor$0
  6062.   push rbp
  6063.   sub rsp, 32 ; 00000020H
  6064.   mov rbp, rdx
  6065.   lea rcx, QWORD PTR $T3[rbp]
  6066.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  6067.   add rsp, 32 ; 00000020H
  6068.   pop rbp
  6069.   ret 0
  6070. int `std::system_error::system_error(system_error::error_code,char const *)'::`1'::dtor$0 ENDP ; `std::system_error::system_error'::`1'::dtor$0
  6071.  
  6072. $T1 = 32
  6073. _Ok$2 = 40
  6074. this$ = 80
  6075. int `basic_ostream<char,std::char_traits<char> >::flush & std::basic_ostream<char,std::char_traits<char> >::flush(void)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::flush'::`1'::dtor$0
  6076.   push rbp
  6077.   sub rsp, 32 ; 00000020H
  6078.   mov rbp, rdx
  6079.   lea rcx, QWORD PTR _Ok$2[rbp]
  6080.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  6081.   add rsp, 32 ; 00000020H
  6082.   pop rbp
  6083.   ret 0
  6084. int `basic_ostream<char,std::char_traits<char> >::flush & std::basic_ostream<char,std::char_traits<char> >::flush(void)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::flush'::`1'::dtor$0
  6085.  
  6086. _State$ = 32
  6087. tv156 = 36
  6088. $T1 = 40
  6089. $T2 = 44
  6090. tv65 = 48
  6091. $T3 = 56
  6092. $T4 = 64
  6093. _Ok$ = 72
  6094. this$ = 112
  6095. _Ch$ = 120
  6096. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::dtor$0 PROC ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::dtor$0
  6097.   push rbp
  6098.   sub rsp, 32 ; 00000020H
  6099.   mov rbp, rdx
  6100.   lea rcx, QWORD PTR _Ok$[rbp]
  6101.   call std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry(void) ; std::basic_ostream<char,std::char_traits<char> >::sentry::~sentry
  6102.   add rsp, 32 ; 00000020H
  6103.   pop rbp
  6104.   ret 0
  6105. int `basic_ostream<char,std::char_traits<char> >::put & std::basic_ostream<char,std::char_traits<char> >::put(char)'::`1'::dtor$0 ENDP ; `std::basic_ostream<char,std::char_traits<char> >::put'::`1'::dtor$0
  6106.  
  6107. $T1 = 32
  6108. tv80 = 40
  6109. tv79 = 48
  6110. $T2 = 56
  6111. $T3 = 64
  6112. this$ = 96
  6113. _Byte$ = 104
  6114. int `char std::basic_ios<char,std::char_traits<char> >::widen(char)const '::`1'::dtor$0 PROC ; `std::basic_ios<char,std::char_traits<char> >::widen'::`1'::dtor$0
  6115.   push rbp
  6116.   sub rsp, 32 ; 00000020H
  6117.   mov rbp, rdx
  6118.   lea rcx, QWORD PTR $T3[rbp]
  6119.   call std::locale::~locale(void) ; std::locale::~locale
  6120.   add rsp, 32 ; 00000020H
  6121.   pop rbp
  6122.   ret 0
  6123. int `char std::basic_ios<char,std::char_traits<char> >::widen(char)const '::`1'::dtor$0 ENDP ; `std::basic_ios<char,std::char_traits<char> >::widen'::`1'::dtor$0
  6124.  
  6125. $T1 = 32
  6126. $T2 = 40
  6127. tv89 = 48
  6128. tv132 = 56
  6129. tv128 = 64
  6130. $T3 = 72
  6131. $T4 = 80
  6132. $T5 = 88
  6133. _Ppf$ = 208
  6134. _Ploc$ = 216
  6135. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$1 PROC ; `std::ctype<char>::_Getcat'::`1'::dtor$1
  6136.   push rbp
  6137.   sub rsp, 32 ; 00000020H
  6138.   mov rbp, rdx
  6139.   mov eax, DWORD PTR $T1[rbp]
  6140.   and eax, 1
  6141.   test eax, eax
  6142.   je SHORT $LN8@dtor$1
  6143.   and DWORD PTR $T1[rbp], -2
  6144.   lea rcx, QWORD PTR $T5[rbp]
  6145.   call std::_Locinfo::~_Locinfo(void) ; std::_Locinfo::~_Locinfo
  6146. $LN8@dtor$1:
  6147.   add rsp, 32 ; 00000020H
  6148.   pop rbp
  6149.   ret 0
  6150. int `static unsigned __int64 std::ctype<char>::_Getcat(ctype<char>::locale::facet const * *,ctype<char>::facet const *)'::`1'::dtor$1 ENDP ; `std::ctype<char>::_Getcat'::`1'::dtor$1
  6151.  
  6152. $T1 = 32
  6153. tv79 = 40
  6154. tv84 = 48
  6155. $T2 = 56
  6156. $T3 = 64
  6157. __$ArrayPad$ = 96
  6158. __$ReturnUdt$ = 128
  6159. _Errcode$ = 136
  6160. _Message$ = 144
  6161. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$1 PROC ; `std::_System_error::_Makestr'::`1'::dtor$1
  6162.   push rbp
  6163.   sub rsp, 32 ; 00000020H
  6164.   mov rbp, rdx
  6165.   lea rcx, QWORD PTR $T3[rbp]
  6166.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  6167.   add rsp, 32 ; 00000020H
  6168.   pop rbp
  6169.   ret 0
  6170. int `static _System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > std::_System_error::_Makestr(_System_error::error_code,_System_error::std)'::`1'::dtor$1 ENDP ; `std::_System_error::_Makestr'::`1'::dtor$1
  6171.  
  6172. _Psave$1 = 32
  6173. _Pfmod$2 = 40
  6174. _Pf$3 = 48
  6175. _Lock$4 = 56
  6176. _Psave_guard$5 = 64
  6177. _Id$6 = 72
  6178. $T7 = 80
  6179. $T8 = 88
  6180. $T9 = 96
  6181. _Loc$ = 144
  6182. int `dtor$1::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$1::locale const &)'::`1'::dtor$1 PROC ; `std::use_facet<std::ctype<char> >'::`1'::dtor$1
  6183.   push rbp
  6184.   sub rsp, 32 ; 00000020H
  6185.   mov rbp, rdx
  6186.   lea rcx, QWORD PTR _Psave_guard$5[rbp]
  6187.   call std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >(void) ; std::unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >::~unique_ptr<std::_Facet_base,std::default_delete<std::_Facet_base> >
  6188.   add rsp, 32 ; 00000020H
  6189.   pop rbp
  6190.   ret 0
  6191. int `dtor$1::ctype<char> const & std::use_facet<std::ctype<char> >(dtor$1::locale const &)'::`1'::dtor$1 ENDP ; `std::use_facet<std::ctype<char> >'::`1'::dtor$1
  6192.  
  6193. $T1 = 32
  6194. $T2 = 40
  6195. this$ = 80
  6196. _Pch$ = 88
  6197. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$1 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$1
  6198.   push rbp
  6199.   sub rsp, 32 ; 00000020H
  6200.   mov rbp, rdx
  6201.   mov rcx, QWORD PTR this$[rbp]
  6202.   add rcx, 8
  6203.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  6204.   add rsp, 32 ; 00000020H
  6205.   pop rbp
  6206.   ret 0
  6207. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$1 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$1
  6208.  
  6209. $T1 = 32
  6210. tv131 = 40
  6211. tv69 = 48
  6212. tv133 = 56
  6213. $T2 = 64
  6214. $T3 = 80
  6215. $T4 = 96
  6216. $T5 = 128
  6217. __$ArrayPad$ = 160
  6218. this$ = 208
  6219. _Errcode$ = 216
  6220. _Message$ = 224
  6221. int `std::_System_error::_System_error(_System_error::error_code,_System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)'::`1'::dtor$1 PROC ; `std::_System_error::_System_error'::`1'::dtor$1
  6222.   push rbp
  6223.   sub rsp, 32 ; 00000020H
  6224.   mov rbp, rdx
  6225.   lea rcx, QWORD PTR $T5[rbp]
  6226.   call std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >(void) ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
  6227.   add rsp, 32 ; 00000020H
  6228.   pop rbp
  6229.   ret 0
  6230. int `std::_System_error::_System_error(_System_error::error_code,_System_error::basic_string<char,std::char_traits<char>,std::allocator<char> > const &)'::`1'::dtor$1 ENDP ; `std::_System_error::_System_error'::`1'::dtor$1
  6231.  
  6232. $T1 = 32
  6233. $T2 = 40
  6234. this$ = 80
  6235. _Pch$ = 88
  6236. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$2 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$2
  6237.   push rbp
  6238.   sub rsp, 32 ; 00000020H
  6239.   mov rbp, rdx
  6240.   mov rcx, QWORD PTR this$[rbp]
  6241.   add rcx, 24
  6242.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  6243.   add rsp, 32 ; 00000020H
  6244.   pop rbp
  6245.   ret 0
  6246. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$2 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$2
  6247.  
  6248. $T1 = 32
  6249. $T2 = 40
  6250. this$ = 80
  6251. _Pch$ = 88
  6252. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$3 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$3
  6253.   push rbp
  6254.   sub rsp, 32 ; 00000020H
  6255.   mov rbp, rdx
  6256.   mov rcx, QWORD PTR this$[rbp]
  6257.   add rcx, 40 ; 00000028H
  6258.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  6259.   add rsp, 32 ; 00000020H
  6260.   pop rbp
  6261.   ret 0
  6262. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$3 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$3
  6263.  
  6264. $T1 = 32
  6265. $T2 = 40
  6266. this$ = 80
  6267. _Pch$ = 88
  6268. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$4 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$4
  6269.   push rbp
  6270.   sub rsp, 32 ; 00000020H
  6271.   mov rbp, rdx
  6272.   mov rcx, QWORD PTR this$[rbp]
  6273.   add rcx, 56 ; 00000038H
  6274.   call std::_Yarn<wchar_t>::~_Yarn<wchar_t>(void) ; std::_Yarn<wchar_t>::~_Yarn<wchar_t>
  6275.   add rsp, 32 ; 00000020H
  6276.   pop rbp
  6277.   ret 0
  6278. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$4 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$4
  6279.  
  6280. $T1 = 32
  6281. $T2 = 40
  6282. this$ = 80
  6283. _Pch$ = 88
  6284. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$5 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$5
  6285.   push rbp
  6286.   sub rsp, 32 ; 00000020H
  6287.   mov rbp, rdx
  6288.   mov rcx, QWORD PTR this$[rbp]
  6289.   add rcx, 72 ; 00000048H
  6290.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  6291.   add rsp, 32 ; 00000020H
  6292.   pop rbp
  6293.   ret 0
  6294. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$5 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$5
  6295.  
  6296. $T1 = 32
  6297. $T2 = 40
  6298. this$ = 80
  6299. _Pch$ = 88
  6300. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$6 PROC ; `std::_Locinfo::_Locinfo'::`1'::dtor$6
  6301.   push rbp
  6302.   sub rsp, 32 ; 00000020H
  6303.   mov rbp, rdx
  6304.   mov rcx, QWORD PTR this$[rbp]
  6305.   add rcx, 88 ; 00000058H
  6306.   call std::_Yarn<char>::~_Yarn<char>(void) ; std::_Yarn<char>::~_Yarn<char>
  6307.   add rsp, 32 ; 00000020H
  6308.   pop rbp
  6309.   ret 0
  6310. int `std::_Locinfo::_Locinfo(char const *)'::`1'::dtor$6 ENDP ; `std::_Locinfo::_Locinfo'::`1'::dtor$6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement