GSL/asm/Visual Studio 2017_17_MSVC_x86_Release/span_compile_only.asm

1515 lines
47 KiB
NASM

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.16.27025.1
TITLE C:\projects\gsl\tests\span_compile_only.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
PUBLIC ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception
PUBLIC ??1exception@std@@UAE@XZ ; std::exception::~exception
PUBLIC ?what@exception@std@@UBEPBDXZ ; std::exception::what
PUBLIC ??_Gexception@std@@UAEPAXI@Z ; std::exception::`scalar deleting destructor'
PUBLIC ??0logic_error@std@@QAE@ABV01@@Z ; std::logic_error::logic_error
PUBLIC ??_Glogic_error@std@@UAEPAXI@Z ; std::logic_error::`scalar deleting destructor'
PUBLIC ??1fail_fast@gsl@@UAE@XZ ; gsl::fail_fast::~fail_fast
PUBLIC ??0fail_fast@gsl@@QAE@ABU01@@Z ; gsl::fail_fast::fail_fast
PUBLIC ??0fail_fast@gsl@@QAE@$$QAU01@@Z ; gsl::fail_fast::fail_fast
PUBLIC ??_Gfail_fast@gsl@@UAEPAXI@Z ; gsl::fail_fast::`scalar deleting destructor'
PUBLIC ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
PUBLIC ??$throw_exception@Ufail_fast@gsl@@@details@gsl@@YAX$$QAUfail_fast@1@@Z ; gsl::details::throw_exception<gsl::fail_fast>
PUBLIC ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
PUBLIC ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
PUBLIC ?foo@@YA_NXZ ; foo
PUBLIC ??$forward@Ufail_fast@gsl@@@std@@YA$$QAUfail_fast@gsl@@AAU12@@Z ; std::forward<gsl::fail_fast>
PUBLIC ??_7exception@std@@6B@ ; std::exception::`vftable'
PUBLIC ??_C@_0BC@EOODALEL@Unknown?5exception@ ; `string'
PUBLIC ??_7logic_error@std@@6B@ ; std::logic_error::`vftable'
PUBLIC ??_7fail_fast@gsl@@6B@ ; gsl::fail_fast::`vftable'
PUBLIC ??_R0?AVexception@std@@@8 ; std::exception `RTTI Type Descriptor'
PUBLIC __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
PUBLIC __TI3?AUfail_fast@gsl@@
PUBLIC __CTA3?AUfail_fast@gsl@@
PUBLIC ??_R0?AUfail_fast@gsl@@@8 ; gsl::fail_fast `RTTI Type Descriptor'
PUBLIC __CT??_R0?AUfail_fast@gsl@@@8??0fail_fast@gsl@@QAE@ABU01@@Z12
PUBLIC ??_R0?AVlogic_error@std@@@8 ; std::logic_error `RTTI Type Descriptor'
PUBLIC __CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12
PUBLIC ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ ; `string'
PUBLIC ??_R4exception@std@@6B@ ; std::exception::`RTTI Complete Object Locator'
PUBLIC ??_R3exception@std@@8 ; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2exception@std@@8 ; std::exception::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R4logic_error@std@@6B@ ; std::logic_error::`RTTI Complete Object Locator'
PUBLIC ??_R3logic_error@std@@8 ; std::logic_error::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2logic_error@std@@8 ; std::logic_error::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@logic_error@std@@8 ; std::logic_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R4fail_fast@gsl@@6B@ ; gsl::fail_fast::`RTTI Complete Object Locator'
PUBLIC ??_R3fail_fast@gsl@@8 ; gsl::fail_fast::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2fail_fast@gsl@@8 ; gsl::fail_fast::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A@EA@fail_fast@gsl@@8 ; gsl::fail_fast::`RTTI Base Class Descriptor at (0,-1,0,64)'
EXTRN ??3@YAXPAXI@Z:PROC ; operator delete
EXTRN ___std_terminate:PROC
EXTRN __imp__calloc:PROC
EXTRN ___std_exception_copy:PROC
EXTRN ___std_exception_destroy:PROC
EXTRN ??_Eexception@std@@UAEPAXI@Z:PROC ; std::exception::`vector deleting destructor'
EXTRN ?_Xbad_alloc@std@@YAXXZ:PROC ; std::_Xbad_alloc
EXTRN ??_Elogic_error@std@@UAEPAXI@Z:PROC ; std::logic_error::`vector deleting destructor'
EXTRN ??_Efail_fast@gsl@@UAEPAXI@Z:PROC ; gsl::fail_fast::`vector deleting destructor'
EXTRN __Mbrtowc:PROC
EXTRN __imp_?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ:PROC
EXTRN __imp_?_W_Getdays@_Locinfo@std@@QBEPBGXZ:PROC
EXTRN __imp_?_W_Getmonths@_Locinfo@std@@QBEPBGXZ:PROC
EXTRN @__security_check_cookie@4:PROC
EXTRN __CxxThrowException@8:PROC
EXTRN ___CxxFrameHandler3:PROC
EXTRN _memcpy:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ___security_cookie:DWORD
; COMDAT ??_R1A@?0A@EA@fail_fast@gsl@@8
rdata$r SEGMENT
??_R1A@?0A@EA@fail_fast@gsl@@8 DD FLAT:??_R0?AUfail_fast@gsl@@@8 ; gsl::fail_fast::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 02H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3fail_fast@gsl@@8
rdata$r ENDS
; COMDAT ??_R2fail_fast@gsl@@8
rdata$r SEGMENT
??_R2fail_fast@gsl@@8 DD FLAT:??_R1A@?0A@EA@fail_fast@gsl@@8 ; gsl::fail_fast::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@logic_error@std@@8
DD FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r ENDS
; COMDAT ??_R3fail_fast@gsl@@8
rdata$r SEGMENT
??_R3fail_fast@gsl@@8 DD 00H ; gsl::fail_fast::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 03H
DD FLAT:??_R2fail_fast@gsl@@8
rdata$r ENDS
; COMDAT ??_R4fail_fast@gsl@@6B@
rdata$r SEGMENT
??_R4fail_fast@gsl@@6B@ DD 00H ; gsl::fail_fast::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AUfail_fast@gsl@@@8
DD FLAT:??_R3fail_fast@gsl@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@logic_error@std@@8
rdata$r SEGMENT
??_R1A@?0A@EA@logic_error@std@@8 DD FLAT:??_R0?AVlogic_error@std@@@8 ; std::logic_error::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3logic_error@std@@8
rdata$r ENDS
; COMDAT ??_R2logic_error@std@@8
rdata$r SEGMENT
??_R2logic_error@std@@8 DD FLAT:??_R1A@?0A@EA@logic_error@std@@8 ; std::logic_error::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r ENDS
; COMDAT ??_R3logic_error@std@@8
rdata$r SEGMENT
??_R3logic_error@std@@8 DD 00H ; std::logic_error::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2logic_error@std@@8
rdata$r ENDS
; COMDAT ??_R4logic_error@std@@6B@
rdata$r SEGMENT
??_R4logic_error@std@@6B@ DD 00H ; std::logic_error::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVlogic_error@std@@@8
DD FLAT:??_R3logic_error@std@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A@EA@exception@std@@8
rdata$r SEGMENT
??_R1A@?0A@EA@exception@std@@8 DD FLAT:??_R0?AVexception@std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3exception@std@@8
rdata$r ENDS
; COMDAT ??_R2exception@std@@8
rdata$r SEGMENT
??_R2exception@std@@8 DD FLAT:??_R1A@?0A@EA@exception@std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R3exception@std@@8
rdata$r SEGMENT
??_R3exception@std@@8 DD 00H ; std::exception::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2exception@std@@8
rdata$r ENDS
; COMDAT ??_R4exception@std@@6B@
rdata$r SEGMENT
??_R4exception@std@@6B@ DD 00H ; std::exception::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVexception@std@@@8
DD FLAT:??_R3exception@std@@8
rdata$r ENDS
; COMDAT ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
CONST SEGMENT
??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@ DB ':'
DB 00H, 'A', 00H, 'M', 00H, ':', 00H, 'a', 00H, 'm', 00H, ':', 00H
DB 'P', 00H, 'M', 00H, ':', 00H, 'p', 00H, 'm', 00H, 00H, 00H ; `string'
CONST ENDS
; COMDAT __CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVlogic_error@std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0logic_error@std@@QAE@ABV01@@Z
xdata$x ENDS
; COMDAT ??_R0?AVlogic_error@std@@@8
data$r SEGMENT
??_R0?AVlogic_error@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::logic_error `RTTI Type Descriptor'
DD 00H
DB '.?AVlogic_error@std@@', 00H
data$r ENDS
; COMDAT __CT??_R0?AUfail_fast@gsl@@@8??0fail_fast@gsl@@QAE@ABU01@@Z12
xdata$x SEGMENT
__CT??_R0?AUfail_fast@gsl@@@8??0fail_fast@gsl@@QAE@ABU01@@Z12 DD 00H
DD FLAT:??_R0?AUfail_fast@gsl@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0fail_fast@gsl@@QAE@ABU01@@Z
xdata$x ENDS
; COMDAT ??_R0?AUfail_fast@gsl@@@8
data$r SEGMENT
??_R0?AUfail_fast@gsl@@@8 DD FLAT:??_7type_info@@6B@ ; gsl::fail_fast `RTTI Type Descriptor'
DD 00H
DB '.?AUfail_fast@gsl@@', 00H
data$r ENDS
; COMDAT __CTA3?AUfail_fast@gsl@@
xdata$x SEGMENT
__CTA3?AUfail_fast@gsl@@ DD 03H
DD FLAT:__CT??_R0?AUfail_fast@gsl@@@8??0fail_fast@gsl@@QAE@ABU01@@Z12
DD FLAT:__CT??_R0?AVlogic_error@std@@@8??0logic_error@std@@QAE@ABV01@@Z12
DD FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x ENDS
; COMDAT __TI3?AUfail_fast@gsl@@
xdata$x SEGMENT
__TI3?AUfail_fast@gsl@@ DD 00H
DD FLAT:??1fail_fast@gsl@@UAE@XZ
DD 00H
DD FLAT:__CTA3?AUfail_fast@gsl@@
xdata$x ENDS
; COMDAT __CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVexception@std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0exception@std@@QAE@ABV01@@Z
xdata$x ENDS
; COMDAT ??_R0?AVexception@std@@@8
data$r SEGMENT
??_R0?AVexception@std@@@8 DD FLAT:??_7type_info@@6B@ ; std::exception `RTTI Type Descriptor'
DD 00H
DB '.?AVexception@std@@', 00H
data$r ENDS
; COMDAT ??_7fail_fast@gsl@@6B@
CONST SEGMENT
??_7fail_fast@gsl@@6B@ DD FLAT:??_R4fail_fast@gsl@@6B@ ; gsl::fail_fast::`vftable'
DD FLAT:??_Efail_fast@gsl@@UAEPAXI@Z
DD FLAT:?what@exception@std@@UBEPBDXZ
CONST ENDS
; COMDAT ??_7logic_error@std@@6B@
CONST SEGMENT
??_7logic_error@std@@6B@ DD FLAT:??_R4logic_error@std@@6B@ ; std::logic_error::`vftable'
DD FLAT:??_Elogic_error@std@@UAEPAXI@Z
DD FLAT:?what@exception@std@@UBEPBDXZ
CONST ENDS
; COMDAT ??_C@_0BC@EOODALEL@Unknown?5exception@
CONST SEGMENT
??_C@_0BC@EOODALEL@Unknown?5exception@ DB 'Unknown exception', 00H ; `string'
CONST ENDS
; COMDAT ??_7exception@std@@6B@
CONST SEGMENT
??_7exception@std@@6B@ DD FLAT:??_R4exception@std@@6B@ ; std::exception::`vftable'
DD FLAT:??_Eexception@std@@UAEPAXI@Z
DD FLAT:?what@exception@std@@UBEPBDXZ
CONST ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z DD 0ffffffffH
DD 00H
DD 0ffffffffH
DD 00H
__ehfuncinfo$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z DD 019930522H
DD 02H
DD FLAT:__unwindtable$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z DD 0ffffffffH
DD 00H
DD 0ffffffffH
DD 00H
__ehfuncinfo$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z DD 019930522H
DD 02H
DD FLAT:__unwindtable$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 05H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__ehfuncinfo$??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ DD 019930522H
DD 00H
DD 00H
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 05H
xdata$x ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$?foo@@YA_NXZ DD 0ffffffffH
DD FLAT:___std_terminate
DD 0ffffffffH
DD FLAT:___std_terminate
__ehfuncinfo$?foo@@YA_NXZ DD 019930522H
DD 02H
DD FLAT:__unwindtable$?foo@@YA_NXZ
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
xdata$x ENDS
; Function compile flags: /Ogtp
; COMDAT ??$?0$0A@@?$extent_type@$0?0@details@gsl@@QAE@V?$extent_type@$0A@@12@@Z
_TEXT SEGMENT
_ext$ = 8 ; size = 1
??$?0$0A@@?$extent_type@$0?0@details@gsl@@QAE@V?$extent_type@$0A@@12@@Z PROC ; gsl::details::extent_type<-1>::extent_type<-1><0>, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 333
mov DWORD PTR [ecx], 0
; Line 334
mov eax, ecx
ret 4
??$?0$0A@@?$extent_type@$0?0@details@gsl@@QAE@V?$extent_type@$0A@@12@@Z ENDP ; gsl::details::extent_type<-1>::extent_type<-1><0>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_data$ = 8 ; size = 4
_ext$ = 12 ; size = 1
??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z PROC ; gsl::span<int const ,-1>::storage_type<gsl::details::extent_type<-1> >::storage_type<gsl::details::extent_type<-1> ><gsl::details::extent_type<0> >, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 597
push ebp
mov ebp, esp
push -1
push __ehhandler$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z
mov eax, DWORD PTR fs:0
push eax
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
; Line 596
mov eax, DWORD PTR _data$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 600
mov eax, ecx
; Line 333
mov DWORD PTR [ecx], 0
; Line 600
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
mov esp, ebp
pop ebp
ret 8
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z
jmp ___CxxFrameHandler3
text$x ENDS
??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QAE@PBHV?$extent_type@$0A@@details@2@@Z ENDP ; gsl::span<int const ,-1>::storage_type<gsl::details::extent_type<-1> >::storage_type<gsl::details::extent_type<-1> ><gsl::details::extent_type<0> >
; Function compile flags: /Ogtp
; COMDAT ??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
_data$ = 8 ; size = 4
_ext$ = 12 ; size = 1
??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z PROC ; gsl::span<int,-1>::storage_type<gsl::details::extent_type<-1> >::storage_type<gsl::details::extent_type<-1> ><gsl::details::extent_type<0> >, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 597
push ebp
mov ebp, esp
push -1
push __ehhandler$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z
mov eax, DWORD PTR fs:0
push eax
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
; Line 596
mov eax, DWORD PTR _data$[ebp]
mov DWORD PTR [ecx+4], eax
; Line 600
mov eax, ecx
; Line 333
mov DWORD PTR [ecx], 0
; Line 600
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
mov esp, ebp
pop ebp
ret 8
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z
jmp ___CxxFrameHandler3
text$x ENDS
??$?0V?$extent_type@$0A@@details@gsl@@@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QAE@PAHV?$extent_type@$0A@@details@2@@Z ENDP ; gsl::span<int,-1>::storage_type<gsl::details::extent_type<-1> >::storage_type<gsl::details::extent_type<-1> ><gsl::details::extent_type<0> >
; Function compile flags: /Ogtp
; COMDAT ?size@?$extent_type@$0A@@details@gsl@@QBEHXZ
_TEXT SEGMENT
?size@?$extent_type@$0A@@details@gsl@@QBEHXZ PROC ; gsl::details::extent_type<0>::size, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 323
xor eax, eax
ret 0
?size@?$extent_type@$0A@@details@gsl@@QBEHXZ ENDP ; gsl::details::extent_type<0>::size
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0?$extent_type@$0A@@details@gsl@@QAE@XZ
_TEXT SEGMENT
??0?$extent_type@$0A@@details@gsl@@QAE@XZ PROC ; gsl::details::extent_type<0>::extent_type<0>, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 311
mov eax, ecx
ret 0
??0?$extent_type@$0A@@details@gsl@@QAE@XZ ENDP ; gsl::details::extent_type<0>::extent_type<0>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$_Maklocstr@D@std@@YAPADPBDPADABU_Cvtvec@@@Z
_TEXT SEGMENT
__Ptr$ = 8 ; size = 4
___formal$ = 12 ; size = 4
___formal$ = 16 ; size = 4
??$_Maklocstr@D@std@@YAPADPBDPADABU_Cvtvec@@@Z PROC ; std::_Maklocstr<char>, COMDAT
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xlocale
; Line 664
push ebp
mov ebp, esp
push esi
; Line 665
mov esi, DWORD PTR __Ptr$[ebp]
push edi
mov edi, esi
lea ecx, DWORD PTR [edi+1]
npad 3
$LL11@Maklocstr:
mov al, BYTE PTR [edi]
inc edi
test al, al
jne SHORT $LL11@Maklocstr
sub edi, ecx
inc edi
; Line 667
push 1
push edi
call DWORD PTR __imp__calloc
mov edx, eax
add esp, 8
; Line 670
test edx, edx
je SHORT $LN14@Maklocstr
; Line 673
test edi, edi
je SHORT $LN3@Maklocstr
mov ecx, edx
sub ecx, esi
$LL4@Maklocstr:
; Line 674
mov al, BYTE PTR [esi]
lea esi, DWORD PTR [esi+1]
mov BYTE PTR [ecx+esi-1], al
sub edi, 1
jne SHORT $LL4@Maklocstr
$LN3@Maklocstr:
; Line 676
pop edi
mov eax, edx
pop esi
; Line 677
pop ebp
ret 0
$LN14@Maklocstr:
; Line 671
call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN12@Maklocstr:
int 3
??$_Maklocstr@D@std@@YAPADPBDPADABU_Cvtvec@@@Z ENDP ; std::_Maklocstr<char>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$forward@Ufail_fast@gsl@@@std@@YA$$QAUfail_fast@gsl@@AAU12@@Z
_TEXT SEGMENT
__Arg$ = 8 ; size = 4
??$forward@Ufail_fast@gsl@@@std@@YA$$QAUfail_fast@gsl@@AAU12@@Z PROC ; std::forward<gsl::fail_fast>, COMDAT
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\type_traits
; Line 1573
push ebp
mov ebp, esp
; Line 1574
mov eax, DWORD PTR __Arg$[ebp]
; Line 1575
pop ebp
ret 0
??$forward@Ufail_fast@gsl@@@std@@YA$$QAUfail_fast@gsl@@AAU12@@Z ENDP ; std::forward<gsl::fail_fast>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ PROC ; gsl::span<int const ,-1>::span<int const ,-1><0,void>, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 384
push ebp
mov ebp, esp
push -1
push __ehhandler$??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ
mov eax, DWORD PTR fs:0
push eax
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
; Line 333
mov DWORD PTR [ecx], 0
; Line 384
mov eax, ecx
; Line 596
mov DWORD PTR [ecx+4], 0
; Line 384
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ
jmp ___CxxFrameHandler3
text$x ENDS
??$?0$0A@X@?$span@$$CBH$0?0@gsl@@QAE@XZ ENDP ; gsl::span<int const ,-1>::span<int const ,-1><0,void>
; Function compile flags: /Ogtp
; COMDAT ?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QBEPBHXZ
_TEXT SEGMENT
?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QBEPBHXZ PROC ; gsl::span<int const ,-1>::storage_type<gsl::details::extent_type<-1> >::data, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 602
mov eax, DWORD PTR [ecx+4]
ret 0
?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@$$CBH$0?0@gsl@@QBEPBHXZ ENDP ; gsl::span<int const ,-1>::storage_type<gsl::details::extent_type<-1> >::data
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?data@?$span@$$CBH$0?0@gsl@@QBEPBHXZ
_TEXT SEGMENT
?data@?$span@$$CBH$0?0@gsl@@QBEPBHXZ PROC ; gsl::span<int const ,-1>::data, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 515
mov eax, DWORD PTR [ecx+4]
ret 0
?data@?$span@$$CBH$0?0@gsl@@QBEPBHXZ ENDP ; gsl::span<int const ,-1>::data
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?size@?$span@$$CBH$0?0@gsl@@QBEHXZ
_TEXT SEGMENT
?size@?$span@$$CBH$0?0@gsl@@QBEHXZ PROC ; gsl::span<int const ,-1>::size, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 498
mov eax, DWORD PTR [ecx]
ret 0
?size@?$span@$$CBH$0?0@gsl@@QBEHXZ ENDP ; gsl::span<int const ,-1>::size
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ PROC ; gsl::span<int,-1>::span<int,-1><0,void>, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 384
push ebp
mov ebp, esp
push -1
push __ehhandler$??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ
mov eax, DWORD PTR fs:0
push eax
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
; Line 333
mov DWORD PTR [ecx], 0
; Line 384
mov eax, ecx
; Line 596
mov DWORD PTR [ecx+4], 0
; Line 384
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ
jmp ___CxxFrameHandler3
text$x ENDS
??$?0$0A@X@?$span@H$0?0@gsl@@QAE@XZ ENDP ; gsl::span<int,-1>::span<int,-1><0,void>
; Function compile flags: /Ogtp
; COMDAT ?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QBEPAHXZ
_TEXT SEGMENT
?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QBEPAHXZ PROC ; gsl::span<int,-1>::storage_type<gsl::details::extent_type<-1> >::data, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 602
mov eax, DWORD PTR [ecx+4]
ret 0
?data@?$storage_type@V?$extent_type@$0?0@details@gsl@@@?$span@H$0?0@gsl@@QBEPAHXZ ENDP ; gsl::span<int,-1>::storage_type<gsl::details::extent_type<-1> >::data
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?data@?$span@H$0?0@gsl@@QBEPAHXZ
_TEXT SEGMENT
?data@?$span@H$0?0@gsl@@QBEPAHXZ PROC ; gsl::span<int,-1>::data, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 515
mov eax, DWORD PTR [ecx+4]
ret 0
?data@?$span@H$0?0@gsl@@QBEPAHXZ ENDP ; gsl::span<int,-1>::data
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?size@?$span@H$0?0@gsl@@QBEHXZ
_TEXT SEGMENT
?size@?$span@H$0?0@gsl@@QBEHXZ PROC ; gsl::span<int,-1>::size, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 498
mov eax, DWORD PTR [ecx]
ret 0
?size@?$span@H$0?0@gsl@@QBEHXZ ENDP ; gsl::span<int,-1>::size
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?foo@@YA_NXZ
_TEXT SEGMENT
__$EHRec$ = -12 ; size = 12
?foo@@YA_NXZ PROC ; foo, COMDAT
; File c:\projects\gsl\tests\span_compile_only.cpp
; Line 56
push ebp
mov ebp, esp
push -1
push __ehhandler$?foo@@YA_NXZ
mov eax, DWORD PTR fs:0
push eax
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
push eax
lea eax, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, eax
; Line 65
mov al, 1
; Line 67
mov ecx, DWORD PTR __$EHRec$[ebp]
mov DWORD PTR fs:0, ecx
pop ecx
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__ehhandler$?foo@@YA_NXZ:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx+12]
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie@4
mov eax, OFFSET __ehfuncinfo$?foo@@YA_NXZ
jmp ___CxxFrameHandler3
text$x ENDS
?foo@@YA_NXZ ENDP ; foo
; Function compile flags: /Ogtp
; COMDAT ??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z
_TEXT SEGMENT
$T1 = -48 ; size = 44
__$ArrayPad$ = -4 ; size = 4
___formal$ = 8 ; size = 2
__Lobj$ = 12 ; size = 4
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z PROC ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xloctime
; Line 216
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
mov DWORD PTR __$ArrayPad$[ebp], eax
push esi
mov esi, DWORD PTR __Lobj$[ebp]
; Line 217
lea eax, DWORD PTR $T1[ebp]
push edi
mov edi, ecx
mov ecx, esi
push eax
call DWORD PTR __imp_?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
; Line 221
mov ecx, esi
movups xmm0, XMMWORD PTR [eax]
movups XMMWORD PTR [edi+24], xmm0
movups xmm0, XMMWORD PTR [eax+16]
movups XMMWORD PTR [edi+40], xmm0
movq xmm0, QWORD PTR [eax+32]
movq QWORD PTR [edi+56], xmm0
mov eax, DWORD PTR [eax+40]
mov DWORD PTR [edi+64], eax
call DWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QBEPBGXZ
push eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
add esp, 4
mov DWORD PTR [edi+8], eax
; Line 222
mov ecx, esi
call DWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QBEPBGXZ
push eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
; Line 223
push OFFSET ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
mov DWORD PTR [edi+12], eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
; Line 231
mov ecx, DWORD PTR __$ArrayPad$[ebp]
add esp, 8
mov DWORD PTR [edi+16], eax
xor ecx, ebp
pop edi
pop esi
call @__security_check_cookie@4
mov esp, ebp
pop ebp
ret 8
??$_Getvals@_W@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z ENDP ; std::time_get<wchar_t,std::istreambuf_iterator<wchar_t,std::char_traits<wchar_t> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z
_TEXT SEGMENT
$T1 = -48 ; size = 44
__$ArrayPad$ = -4 ; size = 4
___formal$ = 8 ; size = 2
__Lobj$ = 12 ; size = 4
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z PROC ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xloctime
; Line 216
push ebp
mov ebp, esp
sub esp, 48 ; 00000030H
mov eax, DWORD PTR ___security_cookie
xor eax, ebp
mov DWORD PTR __$ArrayPad$[ebp], eax
push esi
mov esi, DWORD PTR __Lobj$[ebp]
; Line 217
lea eax, DWORD PTR $T1[ebp]
push edi
mov edi, ecx
mov ecx, esi
push eax
call DWORD PTR __imp_?_Getcvt@_Locinfo@std@@QBE?AU_Cvtvec@@XZ
; Line 221
mov ecx, esi
movups xmm0, XMMWORD PTR [eax]
movups XMMWORD PTR [edi+24], xmm0
movups xmm0, XMMWORD PTR [eax+16]
movups XMMWORD PTR [edi+40], xmm0
movq xmm0, QWORD PTR [eax+32]
movq QWORD PTR [edi+56], xmm0
mov eax, DWORD PTR [eax+40]
mov DWORD PTR [edi+64], eax
call DWORD PTR __imp_?_W_Getdays@_Locinfo@std@@QBEPBGXZ
push eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
add esp, 4
mov DWORD PTR [edi+8], eax
; Line 222
mov ecx, esi
call DWORD PTR __imp_?_W_Getmonths@_Locinfo@std@@QBEPBGXZ
push eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
; Line 223
push OFFSET ??_C@_1BK@MHIKGOKE@?$AA?3?$AAA?$AAM?$AA?3?$AAa?$AAm?$AA?3?$AAP?$AAM?$AA?3?$AAp?$AAm@
mov DWORD PTR [edi+12], eax
call ?_Maklocwcs@std@@YAPA_WPB_W@Z ; std::_Maklocwcs
; Line 231
mov ecx, DWORD PTR __$ArrayPad$[ebp]
add esp, 8
mov DWORD PTR [edi+16], eax
xor ecx, ebp
pop edi
pop esi
call @__security_check_cookie@4
mov esp, ebp
pop ebp
ret 8
??$_Getvals@_W@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@IAEX_WABV_Locinfo@1@@Z ENDP ; std::time_get<char,std::istreambuf_iterator<char,std::char_traits<char> > >::_Getvals<wchar_t>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$throw_exception@Ufail_fast@gsl@@@details@gsl@@YAX$$QAUfail_fast@1@@Z
_TEXT SEGMENT
$T1 = -12 ; size = 12
_exception$ = 8 ; size = 4
??$throw_exception@Ufail_fast@gsl@@@details@gsl@@YAX$$QAUfail_fast@1@@Z PROC ; gsl::details::throw_exception<gsl::fail_fast>, COMDAT
; File c:\projects\gsl\include\gsl\gsl_assert
; Line 143
push ebp
mov ebp, esp
sub esp, 12 ; 0000000cH
; Line 144
push DWORD PTR _exception$[ebp]
call ??$forward@Ufail_fast@gsl@@@std@@YA$$QAUfail_fast@gsl@@AAU12@@Z ; std::forward<gsl::fail_fast>
add esp, 4
lea ecx, DWORD PTR $T1[ebp]
push eax
call ??0fail_fast@gsl@@QAE@$$QAU01@@Z
push OFFSET __TI3?AUfail_fast@gsl@@
lea eax, DWORD PTR $T1[ebp]
push eax
call __CxxThrowException@8
$LN3@throw_exce:
int 3
??$throw_exception@Ufail_fast@gsl@@@details@gsl@@YAX$$QAUfail_fast@1@@Z ENDP ; gsl::details::throw_exception<gsl::fail_fast>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?size@?$extent_type@$0?0@details@gsl@@QBEHXZ
_TEXT SEGMENT
?size@?$extent_type@$0?0@details@gsl@@QBEHXZ PROC ; gsl::details::extent_type<-1>::size, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\span
; Line 338
mov eax, DWORD PTR [ecx]
ret 0
?size@?$extent_type@$0?0@details@gsl@@QBEHXZ ENDP ; gsl::details::extent_type<-1>::size
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?_Maklocwcs@std@@YAPA_WPB_W@Z
_TEXT SEGMENT
__Ptr$ = 8 ; size = 4
?_Maklocwcs@std@@YAPA_WPB_W@Z PROC ; std::_Maklocwcs, COMDAT
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xlocnum
; Line 97
push ebp
mov ebp, esp
; Line 98
mov eax, DWORD PTR __Ptr$[ebp]
lea edx, DWORD PTR [eax+2]
npad 7
$LL6@Maklocwcs:
mov cx, WORD PTR [eax]
add eax, 2
test cx, cx
jne SHORT $LL6@Maklocwcs
sub eax, edx
push ebx
sar eax, 1
push esi
; Line 100
push 2
lea ebx, DWORD PTR [eax+1]
push ebx
call DWORD PTR __imp__calloc
mov esi, eax
add esp, 8
; Line 103
test esi, esi
je SHORT $LN9@Maklocwcs
; File c:\program files (x86)\windows kits\10\include\10.0.14393.0\ucrt\wchar.h
; Line 232
lea eax, DWORD PTR [ebx+ebx]
push eax
push DWORD PTR __Ptr$[ebp]
push esi
call _memcpy
add esp, 12 ; 0000000cH
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xlocnum
; Line 106
mov eax, esi
pop esi
pop ebx
; Line 107
pop ebp
ret 0
$LN9@Maklocwcs:
; Line 104
call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN7@Maklocwcs:
int 3
?_Maklocwcs@std@@YAPA_WPB_W@Z ENDP ; std::_Maklocwcs
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??$_Maklocstr@_W@std@@YAPA_WPBDPA_WABU_Cvtvec@@@Z
_TEXT SEGMENT
__Mbst2$ = -24 ; size = 8
__Mbst1$ = -16 ; size = 8
__Count1$1$ = -8 ; size = 4
__Wc$ = -4 ; size = 2
__Ptrdest$1$ = 8 ; size = 4
__Ptr$ = 8 ; size = 4
___formal$ = 12 ; size = 4
__Cvt$ = 16 ; size = 4
??$_Maklocstr@_W@std@@YAPA_WPBDPA_WABU_Cvtvec@@@Z PROC ; std::_Maklocstr<wchar_t>, COMDAT
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\xlocale
; Line 682
push ebp
mov ebp, esp
sub esp, 24 ; 00000018H
push ebx
; Line 690
mov ebx, DWORD PTR __Ptr$[ebp]
xorps xmm0, xmm0
mov ecx, ebx
movlpd QWORD PTR __Mbst1$[ebp], xmm0
push esi
push edi
lea edx, DWORD PTR [ecx+1]
npad 7
$LL22@Maklocstr:
mov al, BYTE PTR [ecx]
inc ecx
test al, al
jne SHORT $LL22@Maklocstr
sub ecx, edx
; Line 691
xor esi, esi
lea eax, DWORD PTR [ecx+1]
mov DWORD PTR __Count1$1$[ebp], eax
mov edi, eax
test eax, eax
je SHORT $LN14@Maklocstr
$LL4@Maklocstr:
; Line 693
push DWORD PTR __Cvt$[ebp]
lea eax, DWORD PTR __Mbst1$[ebp]
push eax
push edi
lea eax, DWORD PTR __Wc$[ebp]
push ebx
push eax
call __Mbrtowc
add esp, 20 ; 00000014H
test eax, eax
jle SHORT $LN23@Maklocstr
; Line 692
add ebx, eax
inc esi
sub edi, eax
jne SHORT $LL4@Maklocstr
$LN23@Maklocstr:
mov ebx, DWORD PTR __Ptr$[ebp]
$LN14@Maklocstr:
; Line 695
inc esi
; Line 697
push 2
push esi
call DWORD PTR __imp__calloc
add esp, 8
mov DWORD PTR __Ptrdest$1$[ebp], eax
; Line 700
test eax, eax
je SHORT $LN27@Maklocstr
; Line 702
xorps xmm0, xmm0
mov edi, eax
; Line 703
movlpd QWORD PTR __Mbst2$[ebp], xmm0
; Line 705
test esi, esi
je SHORT $LN15@Maklocstr
npad 4
$LL7@Maklocstr:
; Line 707
push DWORD PTR __Cvt$[ebp]
lea eax, DWORD PTR __Mbst2$[ebp]
push eax
push DWORD PTR __Count1$1$[ebp]
push ebx
push edi
call __Mbrtowc
add esp, 20 ; 00000014H
test eax, eax
jle SHORT $LN24@Maklocstr
; Line 706
add ebx, eax
add edi, 2
sub esi, 1
jne SHORT $LL7@Maklocstr
$LN24@Maklocstr:
mov eax, DWORD PTR __Ptrdest$1$[ebp]
$LN15@Maklocstr:
; Line 709
xor ecx, ecx
mov WORD PTR [edi], cx
; Line 711
pop edi
pop esi
pop ebx
; Line 712
mov esp, ebp
pop ebp
ret 0
$LN27@Maklocstr:
; Line 701
call ?_Xbad_alloc@std@@YAXXZ ; std::_Xbad_alloc
$LN25@Maklocstr:
int 3
??$_Maklocstr@_W@std@@YAPA_WPBDPA_WABU_Cvtvec@@@Z ENDP ; std::_Maklocstr<wchar_t>
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??_Gfail_fast@gsl@@UAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8 ; size = 4
??_Gfail_fast@gsl@@UAEPAXI@Z PROC ; gsl::fail_fast::`scalar deleting destructor', COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 85
push esi
mov esi, ecx
; Line 86
lea eax, DWORD PTR [esi+4]
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
add esp, 4
test BYTE PTR ___flags$[ebp], 1
je SHORT $LN12@scalar
push 12 ; 0000000cH
push esi
call ??3@YAXPAXI@Z ; operator delete
add esp, 8
$LN12@scalar:
mov eax, esi
pop esi
pop ebp
ret 4
??_Gfail_fast@gsl@@UAEPAXI@Z ENDP ; gsl::fail_fast::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0fail_fast@gsl@@QAE@$$QAU01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0fail_fast@gsl@@QAE@$$QAU01@@Z PROC ; gsl::fail_fast::fail_fast, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 68
push esi
mov esi, ecx
xorps xmm0, xmm0
; Line 67
lea eax, DWORD PTR [esi+4]
; Line 69
push eax
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
movq QWORD PTR [eax], xmm0
mov eax, DWORD PTR ___that$[ebp]
add eax, 4
push eax
call ___std_exception_copy
add esp, 8
mov DWORD PTR [esi], OFFSET ??_7fail_fast@gsl@@6B@
mov eax, esi
pop esi
pop ebp
ret 4
??0fail_fast@gsl@@QAE@$$QAU01@@Z ENDP ; gsl::fail_fast::fail_fast
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0fail_fast@gsl@@QAE@ABU01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0fail_fast@gsl@@QAE@ABU01@@Z PROC ; gsl::fail_fast::fail_fast, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 68
push esi
mov esi, ecx
xorps xmm0, xmm0
; Line 67
lea eax, DWORD PTR [esi+4]
; Line 69
push eax
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
movq QWORD PTR [eax], xmm0
mov eax, DWORD PTR ___that$[ebp]
add eax, 4
push eax
call ___std_exception_copy
add esp, 8
mov DWORD PTR [esi], OFFSET ??_7fail_fast@gsl@@6B@
mov eax, esi
pop esi
pop ebp
ret 4
??0fail_fast@gsl@@QAE@ABU01@@Z ENDP ; gsl::fail_fast::fail_fast
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??1fail_fast@gsl@@UAE@XZ
_TEXT SEGMENT
??1fail_fast@gsl@@UAE@XZ PROC ; gsl::fail_fast::~fail_fast, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 86
lea eax, DWORD PTR [ecx+4]
mov DWORD PTR [ecx], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
pop ecx
ret 0
??1fail_fast@gsl@@UAE@XZ ENDP ; gsl::fail_fast::~fail_fast
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0fail_fast@gsl@@QAE@QBD@Z
_TEXT SEGMENT
__InitData$1 = -8 ; size = 8
_this$ = -4 ; size = 4
_message$ = 8 ; size = 4
??0fail_fast@gsl@@QAE@QBD@Z PROC ; gsl::fail_fast::fail_fast, COMDAT
; _this$ = ecx
; File c:\projects\gsl\include\gsl\gsl_assert
; Line 99
push ebp
mov ebp, esp
sub esp, 8
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 56
mov eax, DWORD PTR _message$[ebp]
xorps xmm0, xmm0
; File c:\projects\gsl\include\gsl\gsl_assert
; Line 99
push esi
mov esi, ecx
mov DWORD PTR _this$[ebp], esi
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 54
lea edx, DWORD PTR [esi+4]
; Line 56
mov DWORD PTR __InitData$1[ebp], eax
; Line 57
lea eax, DWORD PTR __InitData$1[ebp]
push edx
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
movq QWORD PTR [edx], xmm0
mov BYTE PTR __InitData$1[ebp+4], 1
call ___std_exception_copy
add esp, 8
; File c:\projects\gsl\include\gsl\gsl_assert
; Line 99
mov DWORD PTR [esi], OFFSET ??_7fail_fast@gsl@@6B@
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
??0fail_fast@gsl@@QAE@QBD@Z ENDP ; gsl::fail_fast::fail_fast
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??_Glogic_error@std@@UAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8 ; size = 4
??_Glogic_error@std@@UAEPAXI@Z PROC ; std::logic_error::`scalar deleting destructor', COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 85
push esi
mov esi, ecx
; Line 86
lea eax, DWORD PTR [esi+4]
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
add esp, 4
test BYTE PTR ___flags$[ebp], 1
je SHORT $LN9@scalar
push 12 ; 0000000cH
push esi
call ??3@YAXPAXI@Z ; operator delete
add esp, 8
$LN9@scalar:
mov eax, esi
pop esi
pop ebp
ret 4
??_Glogic_error@std@@UAEPAXI@Z ENDP ; std::logic_error::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0logic_error@std@@QAE@$$QAV01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0logic_error@std@@QAE@$$QAV01@@Z PROC ; std::logic_error::logic_error, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 68
push esi
mov esi, ecx
xorps xmm0, xmm0
; Line 67
lea eax, DWORD PTR [esi+4]
; Line 69
push eax
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
movq QWORD PTR [eax], xmm0
mov eax, DWORD PTR ___that$[ebp]
add eax, 4
push eax
call ___std_exception_copy
add esp, 8
mov DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
mov eax, esi
pop esi
pop ebp
ret 4
??0logic_error@std@@QAE@$$QAV01@@Z ENDP ; std::logic_error::logic_error
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0logic_error@std@@QAE@ABV01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0logic_error@std@@QAE@ABV01@@Z PROC ; std::logic_error::logic_error, COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 68
push esi
mov esi, ecx
xorps xmm0, xmm0
; Line 67
lea eax, DWORD PTR [esi+4]
; Line 69
push eax
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
movq QWORD PTR [eax], xmm0
mov eax, DWORD PTR ___that$[ebp]
add eax, 4
push eax
call ___std_exception_copy
add esp, 8
mov DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
mov eax, esi
pop esi
pop ebp
ret 4
??0logic_error@std@@QAE@ABV01@@Z ENDP ; std::logic_error::logic_error
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??1logic_error@std@@UAE@XZ
_TEXT SEGMENT
??1logic_error@std@@UAE@XZ PROC ; std::logic_error::~logic_error, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 86
lea eax, DWORD PTR [ecx+4]
mov DWORD PTR [ecx], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
pop ecx
ret 0
??1logic_error@std@@UAE@XZ ENDP ; std::logic_error::~logic_error
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0logic_error@std@@QAE@PBD@Z
_TEXT SEGMENT
__InitData$1 = -8 ; size = 8
_this$ = -4 ; size = 4
__Message$ = 8 ; size = 4
??0logic_error@std@@QAE@PBD@Z PROC ; std::logic_error::logic_error, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\stdexcept
; Line 30
push ebp
mov ebp, esp
sub esp, 8
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 56
mov eax, DWORD PTR __Message$[ebp]
xorps xmm0, xmm0
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\stdexcept
; Line 30
push esi
mov esi, ecx
mov DWORD PTR _this$[ebp], esi
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 54
lea edx, DWORD PTR [esi+4]
; Line 56
mov DWORD PTR __InitData$1[ebp], eax
; Line 57
lea eax, DWORD PTR __InitData$1[ebp]
push edx
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
movq QWORD PTR [edx], xmm0
mov BYTE PTR __InitData$1[ebp+4], 1
call ___std_exception_copy
add esp, 8
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\stdexcept
; Line 30
mov DWORD PTR [esi], OFFSET ??_7logic_error@std@@6B@
; Line 31
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
??0logic_error@std@@QAE@PBD@Z ENDP ; std::logic_error::logic_error
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT _wmemcpy
_TEXT SEGMENT
__S1$ = 8 ; size = 4
__S2$ = 12 ; size = 4
__N$ = 16 ; size = 4
_wmemcpy PROC ; COMDAT
; File c:\program files (x86)\windows kits\10\include\10.0.14393.0\ucrt\wchar.h
; Line 229
push ebp
mov ebp, esp
; Line 232
mov eax, DWORD PTR __N$[ebp]
add eax, eax
mov DWORD PTR __N$[ebp], eax
; Line 234
pop ebp
; Line 232
jmp _memcpy
_wmemcpy ENDP
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??_Gexception@std@@UAEPAXI@Z
_TEXT SEGMENT
___flags$ = 8 ; size = 4
??_Gexception@std@@UAEPAXI@Z PROC ; std::exception::`scalar deleting destructor', COMDAT
; _this$ = ecx
push ebp
mov ebp, esp
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 85
push esi
mov esi, ecx
; Line 86
lea eax, DWORD PTR [esi+4]
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
add esp, 4
test BYTE PTR ___flags$[ebp], 1
je SHORT $LN6@scalar
push 12 ; 0000000cH
push esi
call ??3@YAXPAXI@Z ; operator delete
add esp, 8
$LN6@scalar:
mov eax, esi
pop esi
pop ebp
ret 4
??_Gexception@std@@UAEPAXI@Z ENDP ; std::exception::`scalar deleting destructor'
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ?what@exception@std@@UBEPBDXZ
_TEXT SEGMENT
?what@exception@std@@UBEPBDXZ PROC ; std::exception::what, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 91
mov ecx, DWORD PTR [ecx+4]
mov eax, OFFSET ??_C@_0BC@EOODALEL@Unknown?5exception@
test ecx, ecx
cmovne eax, ecx
; Line 92
ret 0
?what@exception@std@@UBEPBDXZ ENDP ; std::exception::what
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??1exception@std@@UAE@XZ
_TEXT SEGMENT
??1exception@std@@UAE@XZ PROC ; std::exception::~exception, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 86
lea eax, DWORD PTR [ecx+4]
mov DWORD PTR [ecx], OFFSET ??_7exception@std@@6B@
push eax
call ___std_exception_destroy
pop ecx
; Line 87
ret 0
??1exception@std@@UAE@XZ ENDP ; std::exception::~exception
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0exception@std@@QAE@ABV01@@Z
_TEXT SEGMENT
__Other$ = 8 ; size = 4
??0exception@std@@QAE@ABV01@@Z PROC ; std::exception::exception, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 68
push ebp
mov ebp, esp
push esi
mov esi, ecx
xorps xmm0, xmm0
lea eax, DWORD PTR [esi+4]
; Line 69
push eax
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
movq QWORD PTR [eax], xmm0
mov eax, DWORD PTR __Other$[ebp]
add eax, 4
push eax
call ___std_exception_copy
add esp, 8
; Line 70
mov eax, esi
pop esi
pop ebp
ret 4
??0exception@std@@QAE@ABV01@@Z ENDP ; std::exception::exception
_TEXT ENDS
; Function compile flags: /Ogtp
; COMDAT ??0exception@std@@QAE@QBD@Z
_TEXT SEGMENT
__InitData$ = -8 ; size = 8
__Message$ = 8 ; size = 4
??0exception@std@@QAE@QBD@Z PROC ; std::exception::exception, COMDAT
; _this$ = ecx
; File c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.16.27023\include\vcruntime_exception.h
; Line 55
push ebp
mov ebp, esp
sub esp, 8
; Line 56
mov eax, DWORD PTR __Message$[ebp]
xorps xmm0, xmm0
push esi
mov esi, ecx
mov DWORD PTR __InitData$[ebp], eax
lea edx, DWORD PTR [esi+4]
mov BYTE PTR __InitData$[ebp+4], 1
; Line 57
push edx
lea eax, DWORD PTR __InitData$[ebp]
mov DWORD PTR [esi], OFFSET ??_7exception@std@@6B@
push eax
movq QWORD PTR [edx], xmm0
call ___std_exception_copy
add esp, 8
; Line 58
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
??0exception@std@@QAE@QBD@Z ENDP ; std::exception::exception
_TEXT ENDS
END