Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; mark_description "Intel(R) C++ Intel(R) 64 Compiler for applications running on IA-32, Version 16.0 Build 20151021";
- ; mark_description "-c -Qm32 -ZI -nologo -W3 -Od -Qftz- -D __INTEL_COMPILER=1600 -D WIN32 -D _DEBUG -D _CONSOLE -D _UNICODE -D U";
- ; mark_description "NICODE -EHs -EHc -RTC1 -MT -GS -Zc:wchar_t -Zc:forScope -FoC:\\dev\\C++\\Tests\\union init bug\\build\\Win32";
- ; mark_description "\\Debug\\// -FdC:\\dev\\C++\\Tests\\union init bug\\build\\Win32\\Debug\\vc140.pdb -Gd -TP -S";
- .686P
- .387
- OPTION DOTNAME
- ASSUME CS:FLAT,DS:FLAT,SS:FLAT
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- ; COMDAT ??_HFoo@@QAEPAV0@PAV0@H@Z
- TXTST0:
- _2__routine_start_??_HFoo@@QAEPAV0@PAV0@H@Z_0:
- ; -- Begin ??_HFoo@@QAEPAV0@PAV0@H@Z
- ;??_HFoo@@QAEPAV0@PAV0@H@Z ENDS
- _TEXT ENDS
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- ; COMDAT ??_HFoo@@QAEPAV0@PAV0@H@Z
- ; mark_begin;
- IF @Version GE 800
- .MMX
- ELSEIF @Version GE 612
- .MMX
- MMWORD TEXTEQU <QWORD>
- ENDIF
- IF @Version GE 800
- .XMM
- ELSEIF @Version GE 614
- .XMM
- XMMWORD TEXTEQU <OWORD>
- ENDIF
- ALIGN 2
- PUBLIC ??_HFoo@@QAEPAV0@PAV0@H@Z
- ; --- Foo::??_HFoo@@QAEPAV0@H@Z(Foo *, int)
- ??_HFoo@@QAEPAV0@PAV0@H@Z PROC NEAR
- ; parameter 1: ecx
- ; parameter 2: 8 + ebp
- .B1.1: ; Preds .B1.0
- L2::
- ;
- push ebp ;
- mov ebp, esp ;
- sub esp, 8 ;
- push eax ;
- push edi ;
- push ecx ;
- mov edi, ebp ;
- sub edi, 8 ;
- mov ecx, 2 ;
- mov eax, -858993460 ;
- rep stosd ;
- pop ecx ;
- pop edi ;
- pop eax ;
- mov DWORD PTR [-8+ebp], ecx ;
- mov eax, DWORD PTR [-8+ebp] ;
- mov DWORD PTR [-4+ebp], eax ;
- ; LOE ebx ebp esi edi esp
- .B1.2: ; Preds .B1.5 .B1.1
- mov eax, DWORD PTR [8+ebp] ;
- test eax, eax ;
- jne .B1.4 ; Prob 50% ;
- ; LOE ebx ebp esi edi esp
- .B1.3: ; Preds .B1.2
- mov eax, DWORD PTR [-4+ebp] ;
- add esp, 8 ;
- cmp ebp, esp ;
- call __RTC_CheckEsp ;
- leave ;
- ret 4 ;
- ; LOE
- .B1.4: ; Preds .B1.2
- mov eax, DWORD PTR [-8+ebp] ;
- mov ecx, eax ;
- call ??0Foo@@QAE@XZ ;
- ; LOE ebx ebp esi edi esp
- .B1.5: ; Preds .B1.4
- mov eax, 1 ;
- add eax, DWORD PTR [-8+ebp] ;
- mov DWORD PTR [-8+ebp], eax ;
- mov eax, -1 ;
- add eax, DWORD PTR [8+ebp] ;
- mov DWORD PTR [8+ebp], eax ;
- jmp .B1.2 ; Prob 100% ;
- ALIGN 2
- ; LOE ebx ebp esi edi esp
- ; mark_end;
- ??_HFoo@@QAEPAV0@PAV0@H@Z ENDP
- ;??_HFoo@@QAEPAV0@PAV0@H@Z ENDS
- _TEXT ENDS
- _DATA SEGMENT DWORD PUBLIC FLAT 'DATA'
- _DATA ENDS
- ; -- End ??_HFoo@@QAEPAV0@PAV0@H@Z
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- ; COMDAT ??0Foo@@QAE@XZ
- TXTST1:
- _2__routine_start_??0Foo@@QAE@XZ_1:
- ; -- Begin ??0Foo@@QAE@XZ
- ;??0Foo@@QAE@XZ ENDS
- _TEXT ENDS
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- ; COMDAT ??0Foo@@QAE@XZ
- ; mark_begin;
- ALIGN 2
- PUBLIC ??0Foo@@QAE@XZ
- ; --- Foo::Foo(Foo *)
- ??0Foo@@QAE@XZ PROC NEAR
- ; parameter 1: ecx
- .B2.1: ; Preds .B2.0
- L7::
- ;8.41
- $LN0:
- push ebp ;8.41
- $LN1:
- mov ebp, esp ;8.41
- $LN2:
- push esi ;8.41
- $LN3:
- push eax ;8.41
- $LN4:
- push edi ;8.41
- $LN5:
- push ecx ;8.41
- $LN6:
- mov edi, ebp ;8.41
- $LN7:
- sub edi, 4 ;8.41
- $LN8:
- mov ecx, 1 ;8.41
- $LN9:
- mov eax, -858993460 ;8.41
- $LN10:
- rep stosd ;8.41
- $LN11:
- pop ecx ;8.41
- $LN12:
- pop edi ;8.41
- $LN13:
- pop eax ;8.41
- $LN14:
- mov DWORD PTR [-4+ebp], ecx ;8.16
- $LN15:
- mov eax, DWORD PTR [-4+ebp] ;8.16
- $LN16:
- mov BYTE PTR [eax], 255 ;8.16
- $LN17:
- mov eax, DWORD PTR [-4+ebp] ;8.42
- $LN18:
- add esp, 4 ;8.42
- $LN19:
- cmp ebp, esp ;8.42
- $LN20:
- call __RTC_CheckEsp ;8.42
- $LN21:
- leave ;8.42
- $LN22:
- ret ;8.42
- ALIGN 2
- $LN23:
- ; LOE
- $LN24:
- ; mark_end;
- ??0Foo@@QAE@XZ ENDP
- $LN??0Foo@@QAE@XZ$25:
- ;??0Foo@@QAE@XZ ENDS
- _TEXT ENDS
- _DATA SEGMENT DWORD PUBLIC FLAT 'DATA'
- _DATA ENDS
- ; -- End ??0Foo@@QAE@XZ
- ;ident "/FAILIFMISMATCH:\"_MSC_VER=1900\""
- ;ident "/FAILIFMISMATCH:\"_ITERATOR_DEBUG_LEVEL=2\""
- ;ident "/FAILIFMISMATCH:\"RuntimeLibrary=MTd_StaticDebug\""
- ;ident "-defaultlib:libcpmtd"
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- TXTST2:
- _2__routine_start__main_2:
- ; -- Begin _main
- _TEXT ENDS
- _TEXT SEGMENT DWORD PUBLIC FLAT 'CODE'
- ; mark_begin;
- PUBLIC _main
- ; --- main(int, char **)
- _main PROC NEAR
- ; parameter 1: 8 + ebp
- ; parameter 2: 12 + ebp
- .B3.1: ; Preds .B3.0
- L12::
- ;13.42
- $LN26:
- push ebp ;13.42
- $LN27:
- mov ebp, esp ;13.42
- $LN28:
- push -1 ;13.42
- $LN29:
- push OFFSET FLAT: __ehhandler._main ;13.42
- $LN30:
- push DWORD PTR fs:[__except_list] ;13.42
- $LN31:
- mov DWORD PTR fs:[__except_list], esp ;13.42
- $LN32:
- sub esp, 64 ;13.42
- $LN33:
- push eax ;13.42
- $LN34:
- push edi ;13.42
- $LN35:
- push ecx ;13.42
- $LN36:
- mov edi, ebp ;13.42
- $LN37:
- sub edi, 76 ;13.42
- $LN38:
- mov ecx, 16 ;13.42
- $LN39:
- mov eax, -858993460 ;13.42
- $LN40:
- rep stosd ;13.42
- $LN41:
- pop ecx ;13.42
- $LN42:
- pop edi ;13.42
- $LN43:
- pop eax ;13.42
- $LN44:
- mov DWORD PTR [-20+ebp], edi ;13.42
- $LN45:
- mov DWORD PTR [-24+ebp], esi ;13.42
- $LN46:
- mov DWORD PTR [-28+ebp], ebx ;13.42
- $LN47:
- mov eax, DWORD PTR [___security_cookie] ;13.42
- $LN48:
- xor eax, ebp ;13.42
- $LN49:
- mov DWORD PTR [-76+ebp], eax ;13.42
- $LN50:
- mov DWORD PTR [-72+ebp], 0 ;14.5
- $LN51:
- ; LOE ebp esp
- .B3.2: ; Preds .B3.1
- $LN52:
- mov DWORD PTR [-4+ebp], 0 ;14.10
- $LN53:
- ; LOE ebp esp
- .B3.19: ; Preds .B3.2
- $LN54:
- push eax ;14.10
- $LN55:
- mov DWORD PTR [esp], 8 ;14.10
- $LN56:
- ; operator new(unsigned int)
- call ??2@YAPAXI@Z ;14.10
- $LN57:
- jmp .B3.8 ; Prob 100% ;14.10
- $LN58:
- ; LOE eax ebp esp
- .B3.3: ; Preds .B3.8
- $LN59:
- mov eax, DWORD PTR [-68+ebp] ;14.10
- $LN60:
- mov DWORD PTR [-64+ebp], eax ;14.10
- $LN61:
- mov eax, DWORD PTR [-64+ebp] ;14.10
- $LN62:
- mov DWORD PTR [-60+ebp], eax ;14.10
- $LN63:
- mov eax, DWORD PTR [-60+ebp] ;14.10
- $LN64:
- mov DWORD PTR [-56+ebp], eax ;14.10
- $LN65:
- mov eax, DWORD PTR [-60+ebp] ;14.10
- $LN66:
- test eax, eax ;14.10
- $LN67:
- jne .B3.5 ; Prob 50% ;14.10
- $LN68:
- ; LOE ebp esp
- .B3.4: ; Preds .B3.3
- $LN69:
- mov DWORD PTR [-48+ebp], 0 ;14.10
- $LN70:
- jmp .B3.9 ; Prob 100% ;14.10
- $LN71:
- ; LOE ebp esp
- .B3.5: ; Preds .B3.3
- $LN72:
- mov DWORD PTR [-72+ebp], 1 ;14.10
- $LN73:
- mov eax, DWORD PTR [-56+ebp] ;14.10
- $LN74:
- mov DWORD PTR [eax], 4 ;14.10
- $LN75:
- push eax ;14.10
- $LN76:
- mov eax, 4 ;14.10
- $LN77:
- add eax, DWORD PTR [-56+ebp] ;14.10
- $LN78:
- mov DWORD PTR [esp], 4 ;14.10
- $LN79:
- mov ecx, eax ;14.10
- $LN80:
- ; Foo::??_HFoo@@QAEPAV0@H@Z(Foo *, int)
- call ??_HFoo@@QAEPAV0@PAV0@H@Z ;14.10
- $LN81:
- jmp .B3.7 ; Prob 100% ;14.10
- $LN82:
- ; LOE eax ebp esp
- .B3.6: ; Preds .B3.7
- $LN83:
- mov eax, DWORD PTR [-52+ebp] ;14.10
- $LN84:
- mov DWORD PTR [-44+ebp], eax ;14.10
- $LN85:
- mov DWORD PTR [-72+ebp], 0 ;14.10
- $LN86:
- mov eax, 4 ;14.10
- $LN87:
- add eax, DWORD PTR [-56+ebp] ;14.10
- $LN88:
- mov DWORD PTR [-48+ebp], eax ;14.10
- $LN89:
- jmp .B3.9 ; Prob 100% ;14.10
- $LN90:
- ; LOE ebp esp
- .B3.7: ; Preds .B3.5
- $LN91:
- mov DWORD PTR [-52+ebp], eax ;14.10
- $LN92:
- jmp .B3.6 ; Prob 100% ;14.10
- $LN93:
- ; LOE ebp esp
- .B3.8: ; Preds .B3.19
- $LN94:
- mov DWORD PTR [-68+ebp], eax ;14.10
- $LN95:
- add esp, 4 ;14.10
- $LN96:
- jmp .B3.3 ; Prob 100% ;14.10
- $LN97:
- ; LOE ebp esp
- .B3.9: ; Preds .B3.6 .B3.4
- $LN98:
- mov DWORD PTR [-4+ebp], -1 ;14.10
- $LN99:
- ; LOE ebp esp
- .B3.20: ; Preds .B3.9
- $LN100:
- mov eax, DWORD PTR [-48+ebp] ;14.10
- $LN101:
- mov DWORD PTR [-40+ebp], eax ;14.10
- $LN102:
- mov eax, DWORD PTR [-40+ebp] ;15.5
- $LN103:
- mov DWORD PTR [-36+ebp], eax ;15.5
- $LN104:
- mov eax, DWORD PTR [-36+ebp] ;15.5
- $LN105:
- mov DWORD PTR [-32+ebp], eax ;15.5
- $LN106:
- mov eax, DWORD PTR [-36+ebp] ;15.5
- $LN107:
- test eax, eax ;15.5
- $LN108:
- je .B3.11 ; Prob 50% ;15.5
- $LN109:
- ; LOE ebp esp
- .B3.10: ; Preds .B3.20
- $LN110:
- push eax ;15.5
- $LN111:
- mov eax, DWORD PTR [-32+ebp] ;15.5
- $LN112:
- mov DWORD PTR [esp], eax ;15.5
- $LN113:
- ; operator delete(void *)
- call ??3@YAXPAX@Z ;15.5
- $LN114:
- ; LOE ebp esp
- .B3.21: ; Preds .B3.10
- $LN115:
- add esp, 4 ;15.5
- $LN116:
- ; LOE ebp esp
- .B3.11: ; Preds .B3.21 .B3.20
- $LN117:
- mov eax, 0 ;17.5
- $LN118:
- mov ebx, DWORD PTR [-28+ebp] ;17.5
- $LN119:
- mov esi, DWORD PTR [-24+ebp] ;17.5
- $LN120:
- mov edi, DWORD PTR [-20+ebp] ;17.5
- $LN121:
- mov ecx, DWORD PTR [-12+ebp] ;17.5
- $LN122:
- mov DWORD PTR fs:[__except_list], ecx ;17.5
- $LN123:
- add esp, 76 ;17.5
- $LN124:
- cmp ebp, esp ;17.5
- $LN125:
- call __RTC_CheckEsp ;17.5
- $LN126:
- leave ;17.5
- $LN127:
- ret ;17.5
- $LN128:
- ; LOE
- unwind._main.0.0::
- .B3.12: ; Preds .B3.5 .B3.19
- $LN129:
- ; LOE ebp esp
- .B3.13: ; Preds .B3.12
- $LN130:
- mov eax, DWORD PTR [-72+ebp] ;14.5
- $LN131:
- test eax, eax ;14.5
- $LN132:
- je .B3.15 ; Prob 50% ;14.5
- $LN133:
- ; LOE ebp esp
- .B3.14: ; Preds .B3.13
- $LN134:
- push eax ;14.5
- $LN135:
- mov eax, DWORD PTR [-56+ebp] ;14.5
- $LN136:
- mov DWORD PTR [esp], eax ;14.5
- $LN137:
- ; operator delete(void *)
- call ??3@YAXPAX@Z ;14.5
- $LN138:
- ; LOE ebp esp
- .B3.22: ; Preds .B3.14
- $LN139:
- add esp, 4 ;14.5
- $LN140:
- ; LOE ebp esp
- .B3.15: ; Preds .B3.22 .B3.13
- $LN141:
- .B3.16: ; Preds .B3.15
- $LN142:
- ret ;14.5
- __ehhandler._main:: ;
- $LN143:
- mov edx, DWORD PTR [8+esp] ;14.5
- $LN144:
- lea eax, DWORD PTR [12+edx] ;14.5
- $LN145:
- mov ecx, DWORD PTR [-76+eax] ;14.5
- $LN146:
- xor ecx, eax ;14.5
- $LN147:
- call @__security_check_cookie@4 ;14.5
- $LN148:
- mov eax, OFFSET FLAT: FI._main.0 ;14.5
- $LN149:
- jmp ___CxxFrameHandler3 ;14.5
- $LN150:
- ; LOE
- $LN151:
- ; mark_end;
- _main ENDP
- $LN_main$152:
- _TEXT ENDS
- _RDATA SEGMENT DWORD PUBLIC FLAT READ 'DATA'
- ALIGN 004H
- FI._main.0 DD 429065506
- DD 1
- DD OFFSET FLAT: UME._main.0
- DD 0
- DD 0
- DD 0
- DD 0
- DD 0
- DD 0
- DD 1
- UME._main.0 DD -1
- DD OFFSET FLAT: unwind._main.0.0
- _RDATA ENDS
- _DATA SEGMENT DWORD PUBLIC FLAT 'DATA'
- _DATA ENDS
- ; -- End _main
- _DATA SEGMENT DWORD PUBLIC FLAT 'DATA'
- EXTRN ___security_cookie:BYTE
- _DATA ENDS
- EXTRN ??3@YAXPAX@Z:PROC
- EXTRN ??2@YAPAXI@Z:PROC
- EXTRN @__security_check_cookie@4:PROC
- EXTRN __RTC_CheckEsp:PROC
- EXTRN __except_list:BYTE
- EXTRN ___CxxFrameHandler3:PROC
- INCLUDELIB <libmmt>
- INCLUDELIB <LIBCMT>
- INCLUDELIB <libirc>
- INCLUDELIB <svml_dispmt>
- INCLUDELIB <OLDNAMES>
- INCLUDELIB <libdecimal>
- END
Advertisement
Add Comment
Please, Sign In to add comment