; Disassembly of file: hello-lin.o
; Tue Jan 13 02:35:49 2009
; Mode: 32 bits
; Syntax: MASM/ML
; Instruction set: 80386
.386
option dotname
.model flat
public _ZN4JohnC2Eii
public _ZN4JohnC1Eii
public _ZN4JohnD2Ev
public _ZN4JohnD1Ev
public _ZN4John10helloClassEii
public _ZN4John4dumpEv
public _Z5helloii
public _Z4blahv
extern __gxx_personality_v0: byte
extern _ZdlPv: near
extern _Znwj: near
extern printf: near
_text SEGMENT DWORD PUBLIC 'CODE' ; section number 1
_ZN4JohnC2Eii PROC NEAR
push ebp ; 0000 _ 55
mov ebp, esp ; 0001 _ 89. E5
mov edx, dword ptr [ebp+8H] ; 0003 _ 8B. 55, 08
mov eax, dword ptr [ebp+0CH] ; 0006 _ 8B. 45, 0C
mov dword ptr [edx], eax ; 0009 _ 89. 02
mov edx, dword ptr [ebp+8H] ; 000B _ 8B. 55, 08
mov eax, dword ptr [ebp+10H] ; 000E _ 8B. 45, 10
mov dword ptr [edx+4H], eax ; 0011 _ 89. 42, 04
pop ebp ; 0014 _ 5D
ret ; 0015 _ C3
_ZN4JohnC2Eii ENDP
_ZN4JohnC1Eii PROC NEAR
push ebp ; 0016 _ 55
mov ebp, esp ; 0017 _ 89. E5
mov edx, dword ptr [ebp+8H] ; 0019 _ 8B. 55, 08
mov eax, dword ptr [ebp+0CH] ; 001C _ 8B. 45, 0C
mov dword ptr [edx], eax ; 001F _ 89. 02
mov edx, dword ptr [ebp+8H] ; 0021 _ 8B. 55, 08
mov eax, dword ptr [ebp+10H] ; 0024 _ 8B. 45, 10
mov dword ptr [edx+4H], eax ; 0027 _ 89. 42, 04
pop ebp ; 002A _ 5D
ret ; 002B _ C3
_ZN4JohnC1Eii ENDP
_ZN4JohnD2Ev PROC NEAR
push ebp ; 002C _ 55
mov ebp, esp ; 002D _ 89. E5
pop ebp ; 002F _ 5D
ret ; 0030 _ C3
_ZN4JohnD2Ev ENDP
nop ; 0031 _ 90
_ZN4JohnD1Ev PROC NEAR
push ebp ; 0032 _ 55
mov ebp, esp ; 0033 _ 89. E5
pop ebp ; 0035 _ 5D
ret ; 0036 _ C3
_ZN4JohnD1Ev ENDP
nop ; 0037 _ 90
_ZN4John10helloClassEii PROC NEAR
push ebp ; 0038 _ 55
mov ebp, esp ; 0039 _ 89. E5
mov eax, dword ptr [ebp+8H] ; 003B _ 8B. 45, 08
mov eax, dword ptr [eax] ; 003E _ 8B. 00
mov edx, dword ptr [ebp+0CH] ; 0040 _ 8B. 55, 0C
add edx, eax ; 0043 _ 01. C2
mov eax, dword ptr [ebp+8H] ; 0045 _ 8B. 45, 08
mov eax, dword ptr [eax+4H] ; 0048 _ 8B. 40, 04
add eax, dword ptr [ebp+10H] ; 004B _ 03. 45, 10
imul edx, eax ; 004E _ 0F AF. D0
mov eax, edx ; 0051 _ 89. D0
pop ebp ; 0053 _ 5D
ret ; 0054 _ C3
_ZN4John10helloClassEii ENDP
nop ; 0055 _ 90
_ZN4John4dumpEv PROC NEAR
push ebp ; 0056 _ 55
mov ebp, esp ; 0057 _ 89. E5
sub esp, 8 ; 0059 _ 83. EC, 08
sub esp, 4 ; 005C _ 83. EC, 04
mov eax, dword ptr [ebp+8H] ; 005F _ 8B. 45, 08
push dword ptr [eax+4H] ; 0062 _ FF. 70, 04
mov eax, dword ptr [ebp+8H] ; 0065 _ 8B. 45, 08
push dword ptr [eax] ; 0068 _ FF. 30
push offset ?_002 ; 006A _ 68, 00000000(d)
call printf ; 006F _ E8, FFFFFFFC(rel)
add esp, 16 ; 0074 _ 83. C4, 10
leave ; 0077 _ C9
ret ; 0078 _ C3
_ZN4John4dumpEv ENDP
nop ; 0079 _ 90
_Z5helloii PROC NEAR
push ebp ; 007A _ 55
mov ebp, esp ; 007B _ 89. E5
push ebx ; 007D _ 53
sub esp, 20 ; 007E _ 83. EC, 14
sub esp, 12 ; 0081 _ 83. EC, 0C
push offset ?_003 ; 0084 _ 68, 0000000D(d)
call printf ; 0089 _ E8, FFFFFFFC(rel)
add esp, 16 ; 008E _ 83. C4, 10
sub esp, 12 ; 0091 _ 83. EC, 0C
push 8 ; 0094 _ 6A, 08
call _Znwj ; 0096 _ E8, FFFFFFFC(rel)
add esp, 16 ; 009B _ 83. C4, 10
mov ebx, eax ; 009E _ 89. C3
sub esp, 4 ; 00A0 _ 83. EC, 04
push 5 ; 00A3 _ 6A, 05
push 4 ; 00A5 _ 6A, 04
push ebx ; 00A7 _ 53
call _ZN4JohnC1Eii ; 00A8 _ E8, FFFFFFFC(rel)
add esp, 16 ; 00AD _ 83. C4, 10
mov dword ptr [ebp-8H], ebx ; 00B0 _ 89. 5D, F8
sub esp, 8 ; 00B3 _ 83. EC, 08
sub esp, 12 ; 00B6 _ 83. EC, 0C
push 2 ; 00B9 _ 6A, 02
push 1 ; 00BB _ 6A, 01
push dword ptr [ebp-8H] ; 00BD _ FF. 75, F8
call _ZN4John10helloClassEii ; 00C0 _ E8, FFFFFFFC(rel)
add esp, 24 ; 00C5 _ 83. C4, 18
push eax ; 00C8 _ 50
push offset ?_004 ; 00C9 _ 68, 0000001B(d)
call printf ; 00CE _ E8, FFFFFFFC(rel)
add esp, 16 ; 00D3 _ 83. C4, 10
sub esp, 12 ; 00D6 _ 83. EC, 0C
push dword ptr [ebp-8H] ; 00D9 _ FF. 75, F8
call _ZN4John4dumpEv ; 00DC _ E8, FFFFFFFC(rel)
add esp, 16 ; 00E1 _ 83. C4, 10
mov eax, dword ptr [ebp-8H] ; 00E4 _ 8B. 45, F8
mov dword ptr [ebp-0CH], eax ; 00E7 _ 89. 45, F4
cmp dword ptr [ebp-0CH], 0 ; 00EA _ 83. 7D, F4, 00
jz ?_001 ; 00EE _ 74, 1C
sub esp, 12 ; 00F0 _ 83. EC, 0C
push dword ptr [ebp-0CH] ; 00F3 _ FF. 75, F4
call _ZN4JohnD1Ev ; 00F6 _ E8, FFFFFFFC(rel)
add esp, 16 ; 00FB _ 83. C4, 10
sub esp, 12 ; 00FE _ 83. EC, 0C
push dword ptr [ebp-0CH] ; 0101 _ FF. 75, F4
call _ZdlPv ; 0104 _ E8, FFFFFFFC(rel)
add esp, 16 ; 0109 _ 83. C4, 10
?_001: mov eax, dword ptr [ebp+0CH] ; 010C _ 8B. 45, 0C
add eax, dword ptr [ebp+8H] ; 010F _ 03. 45, 08
imul eax, dword ptr [ebp+0CH] ; 0112 _ 0F AF. 45, 0C
mov ebx, dword ptr [ebp-4H] ; 0116 _ 8B. 5D, FC
leave ; 0119 _ C9
ret ; 011A _ C3
_Z5helloii ENDP
nop ; 011B _ 90
_Z4blahv PROC NEAR
push ebp ; 011C _ 55
mov ebp, esp ; 011D _ 89. E5
sub esp, 24 ; 011F _ 83. EC, 18
sub esp, 4 ; 0122 _ 83. EC, 04
push 2 ; 0125 _ 6A, 02
push 1 ; 0127 _ 6A, 01
lea eax, [ebp-18H] ; 0129 _ 8D. 45, E8
push eax ; 012C _ 50
call _ZN4JohnC1Eii ; 012D _ E8, FFFFFFFC(rel)
add esp, 16 ; 0132 _ 83. C4, 10
sub esp, 12 ; 0135 _ 83. EC, 0C
lea eax, [ebp-18H] ; 0138 _ 8D. 45, E8
push eax ; 013B _ 50
call _ZN4John4dumpEv ; 013C _ E8, FFFFFFFC(rel)
add esp, 16 ; 0141 _ 83. C4, 10
sub esp, 12 ; 0144 _ 83. EC, 0C
lea eax, [ebp-18H] ; 0147 _ 8D. 45, E8
push eax ; 014A _ 50
call _ZN4JohnD1Ev ; 014B _ E8, FFFFFFFC(rel)
add esp, 16 ; 0150 _ 83. C4, 10
leave ; 0153 _ C9
ret ; 0154 _ C3
_Z4blahv ENDP
_text ENDS
_data SEGMENT DWORD PUBLIC 'DATA' ; section number 2
_data ENDS
.bss SEGMENT DWORD PUBLIC 'BSS' ; section number 3
.bss ENDS
.rodata SEGMENT BYTE PUBLIC 'CONST' ; section number 4
?_002 label byte
db 4AH, 6FH, 68H, 6EH, 28H, 25H, 69H, 2CH ; 0000 _ John(%i,
db 25H, 69H, 29H, 0AH, 00H ; 0008 _ %i)..
?_003 label byte
db 68H, 65H, 6CH, 6CH, 6FH, 20H, 63H, 61H ; 000D _ hello ca
db 6CH, 6CH, 65H, 64H, 0AH, 00H ; 0015 _ lled..
?_004 label byte
db 65H, 78H, 70H, 65H, 63H, 74H, 20H, 33H ; 001B _ expect 3
db 35H, 2CH, 20H, 67H, 6FH, 74H, 3AH, 20H ; 0023 _ 5, got:
db 25H, 69H, 0AH, 00H ; 002B _ %i..
.rodata ENDS
.eh_frame SEGMENT DWORD PUBLIC 'CONST' ; section number 5
db 18H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ; 0000 _ ........
db 01H, 7AH, 50H, 00H, 01H, 7CH, 08H, 05H ; 0008 _ .zP..|..
db 00H ; 0010 _ .
dd __gxx_personality_v0 ; 0011 _ 00000000 (d)
dd 8804040CH, 3C000001H ; 0015 _ -2013002740 1006632961
dd 20000000H ; 001D _ 536870912
db 00H, 00H, 00H ; 0021 _ ...
dd _Z5helloii ; 0024 _ 0000007A (d)
dd 000000A1H, 00010400H ; 0028 _ 161 66560
dd 080E0000H, 02040285H ; 0030 _ 135135232 33817221
dd 0D000000H, 00040405H ; 0038 _ 218103808 263173
dd 03830000H, 00000804H ; 0040 _ 58916864 2052
dd 04102E00H, 00000037H ; 0048 _ 68169216 55
dd 0E04182EH, 2E000000H ; 0050 _ 235149358 771751936
dd 00000010H ; 0058 _ 16
.eh_frame ENDS
END