Function at 0x405d00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x5a00
call fcn.004904f0
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x59fc], eax
xor edx, edx
mov dword [0x4eeaf8], 0xfffffffe
push esi
xor eax, eax
mov dword [esp + 0x80], edx
push edi
mov dword [esp + 0x7c], eax
lea edi, [esp + 0x730]
lea eax, [esp + 0x5870]
mov dword [esp + 0x90], edi
mov ecx, 0xc8
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov esi, eax
mov dword [esp + 0xc], edi
mov dword [esp + 0xa8], 0x2710
mov dword [esp + 0x94], 1
mov dword [esp + 0xac], 0x7e
mov dword [esp + 0x98], 2
mov dword [esp + 0x80], esi
nop word [eax + eax]
add ecx, ecx
mov word [esi], dx
add eax, 0xfffffffe
add eax, ecx
cmp eax, esi
ja 0x405f12
mov eax, dword [esp + 0x88]
sub esi, eax
sar esi, 1
cmp dword [esp + 0x8c], 0x2710
lea edi, [esi + 1]
mov dword [esp + 0x80], edi
jge 0x40a3ce
cmp ecx, 0x2710
mov dword [esp + 0x9c], eax
cmovg ecx, dword [esp + 0xa8]
imul eax, ecx, 0x6a
mov dword [esp + 0x8c], ecx
xor ecx, ecx
add eax, 0x67
setb cl
neg ecx
or ecx, eax
push ecx
call fcn.0047e050
mov esi, eax
add esp, 4
test esi, esi
je 0x40a3ce
test edi, edi
jle 0x405e47
sub dword [esp + 0x88], esi
mov edx, edi
mov edi, dword [esp + 0x88]
mov ecx, esi
nop dword [eax]
mov ax, word [edi + ecx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
sub edx, 1
jne 0x405e30
mov edi, dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
mov eax, 0x4ec4ec4f
mov dword [esp + 0x88], esi
lea ecx, [edx*2 + 0x67]
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x68
add esi, eax
mov dword [esp + 0xc], esi
test edi, edi
jle 0x405eb6
mov ecx, dword [esp + 0x90]
mov eax, esi
sub ecx, esi
mov edx, edi
mov dword [esp + 0x90], ecx
nop
lea esi, [ecx + eax]
mov edi, eax
mov ecx, 0x1a
add eax, 0x68
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x90]
sub edx, 1
jne 0x405e90
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x80]
mov eax, dword [esp + 0x9c]
lea ecx, [esp + 0x5870]
mov dword [esp + 0x90], esi
cmp eax, ecx
je 0x405ed8
push eax
call fcn.00479427
add esp, 4
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x8c]
dec eax
lea ecx, [edx - 2]
lea ecx, [ecx + edi*2]
imul edi, edi, 0x68
lea eax, [edx + eax*2]
mov dword [esp + 0x80], ecx
add edi, 0xffffff98
add edi, esi
mov dword [esp + 0xc], edi
cmp eax, ecx
jbe 0x406096
mov edx, dword [esp + 0x84]
cmp edx, 3
je 0x40a3df
movsx esi, word [edx*2 + 0x49b9a8]
cmp esi, 0xfffffe92
je 0x40605f
cmp dword [0x4eeaf8], 0xfffffffe
jne 0x405f49
call fcn.00401250
mov edx, dword [esp + 0x84]
mov dword [0x4eeaf8], eax
cmp dword [0x4eeaf8], 0
jg 0x405f60
mov dword [0x4eeaf8], 0
xor ecx, ecx
jmp 0x405f95
cmp dword [0x4eeaf8], 0x100
jne 0x405f7b
mov dword [0x4eeaf8], 0x101
jmp 0x4060aa
mov eax, dword [0x4eeaf8]
cmp eax, 0x15f
ja 0x405f90
movsx ecx, byte [eax + 0x49bd58]
jmp 0x405f95
mov ecx, 2
add esi, ecx
cmp esi, 0x6a7
ja 0x40605f
movsx eax, word [esi*2 + 0x49ac58]
cmp eax, ecx
jne 0x40605f
movsx edx, word [esi*2 + 0x499ca8]
mov dword [esp + 0x84], edx
test edx, edx
jg 0x406014
neg edx
mov eax, edx
mov dword [esp + 0x84], eax
movsx eax, byte [eax + 0x49ab28]
lea edi, [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ecx, 0x1a
mov dword [esp + 0x9c], eax
mov esi, edx
imul eax, eax, 0x68
sub esi, eax
mov eax, dword [esp + 0x84]
add esi, 0x68
add eax, 0xfffffffe
rep movsd dword es:[edi], dword [esi]
cmp eax, 0x12b
ja case.0x40600d.5
jmp dword [eax*4 + 0x40a414]
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x406021
dec eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x88]
add edi, 0x68
mov dword [esp + 0xc], edi
mov ecx, 0x1a
mov esi, 0x4ef420
mov dword [0x4eeaf8], 0xfffffffe
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0xc]
add esi, 2
mov ecx, dword [esp + 0x8c]
jmp 0x405d93
movsx eax, word [edx*2 + 0x49beb8]
mov dword [esp + 0x84], eax
test eax, eax
jne 0x405fd1
mov eax, dword [esp + 0x7c]
test eax, eax
jne 0x406086
inc dword [0x4ef40c]
jmp 0x4060aa
cmp eax, 3
jne 0x4060aa
mov eax, dword [0x4eeaf8]
test eax, eax
jg 0x4060a0
jne 0x4060aa
mov esi, 1
jmp 0x40a3e1
mov dword [0x4eeaf8], 0xfffffffe
mov esi, dword [esp + 0x80]
mov dword [esp + 0x7c], 3
nop dword [eax]
movsx eax, word [edx*2 + 0x49b9a8]
cmp eax, 0xfffffe92
je 0x4060ee
inc eax
cmp eax, 0x6a7
ja 0x4060ee
cmp word [eax*2 + 0x49ac58], 1
jne 0x4060ee
movsx eax, word [eax*2 + 0x499ca8]
test eax, eax
jg 0x40611f
cmp esi, dword [esp + 0x88]
je 0x406096
movzx edx, byte [edx + 0x499a30]
mov ecx, str.Error:_popping
push edi
call fcn.00401040
movsx edx, word [esi - 2]
add esp, 4
sub edi, 0x68
sub esi, 2
mov dword [esp + 0x80], esi
jmp 0x4060c0
add edi, 0x68
mov ecx, 0x1a
mov esi, 0x4ef420
mov dword [esp + 0xc], edi
rep movsd dword es:[edi], dword [esi]
mov edx, eax
jmp 0x40a3a6
cmp dword [0x4d7b20], 0
je 0x406158
mov dword [0x4d6aac], 0
mov dword [0x4d6aa8], 0
jmp 0x406162
call fcn.0040c660
call fcn.0040b740
mov ecx, dword [0x4ef414]
mov ecx, dword [ecx]
call fcn.0040da10
mov ecx, dword [0x4d7bc0]
call fcn.0040cf70
mov ecx, dword [0x4d7bb8]
call fcn.0040cf70
mov ecx, dword [0x4d7bb4]
call fcn.0040cf70
mov ecx, dword [0x4d7bcc]
call fcn.0040cf70
mov ecx, dword [0x4d7bc8]
call fcn.0040cf70
mov dword [0x4d6aa0], 0
jmp case.0x40600d.5
xor ecx, ecx
call fcn.0040ced0
xor ecx, ecx
mov dword [0x4d7bc0], eax
call fcn.0040ced0
xor ecx, ecx
mov dword [0x4d7bb8], eax
call fcn.0040ced0
xor ecx, ecx
mov dword [0x4d7bb4], eax
call fcn.0040ced0
xor ecx, ecx
mov dword [0x4d7bcc], eax
call fcn.0040ced0
mov ecx, str.false
mov dword [0x4d7bc8], eax
call fcn.0040cda0
mov ecx, dword [0x4d7bcc]
mov edx, eax
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [ecx + 8], eax
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov ecx, str.true
call fcn.0040cda0
mov ecx, dword [0x4d7bcc]
mov edx, eax
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [ecx + 8], eax
mov dword [ecx + 0x20], 1
mov dword [ecx + 0x24], 0
xor ecx, ecx
call fcn.0040ced0
mov ecx, eax
call fcn.0040ced0
mov ecx, 0x4eeb80
xor edx, edx
sub ecx, 0x88
mov dword [0x4ef414], ecx
mov ecx, eax
call fcn.0040b080
jmp case.0x40600d.5
mov ecx, dword [edx - 0x138]
add ecx, 0x10
call fcn.00472600
jmp case.0x40600d.5
call fcn.0040c500
call fcn.0040c560
call fcn.0040c5e0
jmp case.0x40600d.5
mov ecx, str.input_before___skipped
call fcn.00401050
cmp dword [0x4ef414], 0x4eeb80
jbe 0x406303
nop
mov ecx, dword [0x4ef414]
mov ecx, dword [ecx]
call fcn.0040cf70
mov eax, dword [0x4ef414]
sub eax, 0x88
mov dword [0x4ef414], eax
cmp eax, 0x4eeb80
ja 0x4062e0
xor eax, eax
mov dword [esp + 0x7c], eax
jmp case.0x40600d.5
mov eax, dword [0x4d7ba8]
mov esi, 0x4d7ba8
mov edi, dword [edx]
test eax, eax
je 0x406328
nop
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x406320
mov ecx, 8
call fcn.0043a4e0
mov dword [esi], eax
mov dword [eax + 4], edi
mov eax, dword [esi]
mov dword [eax], 0
jmp case.0x40600d.5
and dword [0x4d7bc4], 0xfffffff9
mov dword [0x4d7bac], 0
jmp case.0x40600d.5
mov ecx, str.declaration_expected
call fcn.00401050
xor eax, eax
mov dword [esp + 0x7c], eax
jmp case.0x40600d.5
or dword [0x4d7bc4], 1
jmp case.0x40600d.5
and dword [0x4d7bc4], 0xfffffffe
jmp case.0x40600d.5
mov dword [0x4d7bac], 0x80000
jmp case.0x40600d.5
mov dword [0x4d7bac], 0x100000
jmp case.0x40600d.5
mov eax, dword [edx]
add eax, 0x10
push eax
push str.incomplete_type_in_declaration_of__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.00401050
xor eax, eax
mov dword [esp + 0x7c], eax
jmp case.0x40600d.5
mov ecx, str.function_declaration_
call fcn.00401050
xor eax, eax
mov dword [esp + 0x7c], eax
jmp case.0x40600d.5
test byte [edx - 0x134], 0x10
je 0x406727
mov eax, dword [0x4ef414]
mov eax, dword [eax]
cmp dword [eax + 4], 1
jne 0x406727
mov ecx, dword [edx - 0x138]
mov eax, dword [ecx]
cmp eax, 0x15
je 0x40642a
cmp eax, 0x14
je 0x40642a
cmp eax, 0x16
je 0x40642a
cmp eax, 0x12
je 0x40642a
cmp eax, 0x13
jne 0x4064d8
call fcn.0045bd10
mov edi, dword [esp + 0xc]
test eax, eax
jne 0x406446
mov ecx, dword [edi - 0x138]
call fcn.0045cbc0
test eax, eax
je 0x406489
mov eax, dword [edi - 0x138]
mov ecx, dword [eax + 8]
mov eax, dword [edi - 0x1a0]
add ecx, 0x10
add eax, 0x10
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406480
test dl, dl
je 0x40647c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406480
add eax, 2
add ecx, 2
test dl, dl
jne 0x406460
xor eax, eax
jmp 0x406485
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4064d4
mov eax, dword [edi - 0x138]
mov ecx, dword [eax + 8]
mov eax, dword [edi - 0x1a0]
add ecx, 0x10
add eax, 0x10
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4064c0
test dl, dl
je 0x4064bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4064c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4064a0
xor eax, eax
jmp 0x4064c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4064d4
mov esi, dword [0x4eeb68]
jmp 0x4066f1
mov edx, dword [esp + 0xc]
mov edx, dword [edx - 0x1a0]
mov ecx, dword [0x4d7bb4]
call fcn.0040cfb0
mov edi, dword [esp + 0xc]
mov dword [0x4eeb68], eax
mov edx, dword [edi - 0x1a0]
mov ecx, dword [edi - 0x138]
call fcn.0040d650
mov esi, dword [0x4eeb68]
mov dword [esi + 8], eax
test byte [edi - 0x134], 8
je 0x40652a
mov dword [eax + 0x28], 0xffffffff
mov ecx, dword [esi + 8]
mov eax, dword [edi - 0x1a0]
mov dword [ecx + 0x1c], eax
jmp 0x40655a
mov ecx, dword [edi - 0x138]
call fcn.0043d4f0
mov esi, dword [0x4eeb68]
test eax, eax
je 0x40654b
mov eax, dword [esi + 8]
mov dword [eax + 0x28], 0xfffffffd
jmp 0x40655a
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [esi + 8]
cmp dword [eax + 0x24], 0
jne 0x40656a
mov dword [eax + 0x24], 8
mov eax, dword [edi - 0x134]
mov ecx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov eax, dword [edi - 0x138]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x18], eax
mov ecx, dword [edi - 0x50]
test ecx, ecx
je 0x4065cf
mov eax, dword [esi + 8]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esi + 8]
mov eax, dword [edi - 0x48]
mov dword [ecx + 0x54], eax
mov eax, dword [esi + 8]
mov ecx, dword [edi - 0x30]
mov edx, dword [edi - 0x2c]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], edx
mov eax, dword [esi + 8]
movsd xmm0, qword [edi - 0x20]
movsd qword [eax + 0x70], xmm0
mov eax, dword [esi + 8]
mov dword [eax + 0x18], 0
jmp 0x406615
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x4c]
mov dword [ecx + 0x4c], eax
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x54]
mov dword [ecx + 0x54], eax
mov eax, dword [edi - 0x138]
mov ecx, dword [eax + 0x60]
mov edx, dword [eax + 0x64]
mov eax, dword [esi + 8]
mov dword [eax + 0x60], ecx
mov dword [eax + 0x64], edx
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
movsd xmm0, qword [eax + 0x70]
movsd qword [ecx + 0x70], xmm0
mov ecx, dword [edi - 0x4c]
test ecx, ecx
je 0x406653
mov eax, dword [esi + 8]
mov dword [eax + 0x50], ecx
mov ecx, dword [esi + 8]
mov eax, dword [edi - 0x44]
mov dword [ecx + 0x58], eax
mov eax, dword [esi + 8]
mov ecx, dword [edi - 0x28]
mov edx, dword [edi - 0x24]
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], edx
mov eax, dword [esi + 8]
movsd xmm0, qword [edi - 0x18]
movsd qword [eax + 0x78], xmm0
mov eax, dword [esi + 8]
mov dword [eax + 0x18], 0
jmp 0x406699
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x58]
mov dword [ecx + 0x58], eax
mov eax, dword [edi - 0x138]
mov ecx, dword [eax + 0x68]
mov edx, dword [eax + 0x6c]
mov eax, dword [esi + 8]
mov dword [eax + 0x68], ecx
mov dword [eax + 0x6c], edx
mov eax, dword [edi - 0x138]
mov ecx, dword [esi + 8]
movsd xmm0, qword [eax + 0x78]
movsd qword [ecx + 0x78], xmm0
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x80], 1
jne 0x4066b7
mov eax, dword [edi - 0x138]
mov eax, dword [eax + 0x80]
mov dword [ecx + 0x80], eax
mov ecx, dword [edi - 8]
test ecx, ecx
je 0x4066d3
mov eax, dword [esi + 8]
mov dword [eax + 0x84], ecx
mov eax, dword [esi + 8]
mov dword [eax + 0x18], 0
jmp 0x4066f1
mov ecx, dword [esi + 8]
cmp dword [ecx + 0x84], 0
jne 0x4066f1
mov eax, dword [edi - 0x138]
mov eax, dword [eax + 0x84]
mov dword [ecx + 0x84], eax
cmp dword [edi + 8], 0
je 0x40670e
mov edx, dword [edi - 0x138]
mov ecx, esi
push edi
call fcn.0040b2d0
mov esi, dword [0x4eeb68]
add esp, 4
mov eax, dword [edi - 0x1a0]
mov dword [eax], 0x145
mov eax, dword [0x4ef414]
mov dword [eax + 4], esi
jmp case.0x40600d.5
mov ecx, dword [0x4ef414]
mov edx, dword [edx - 0x1a0]
mov ecx, dword [ecx]
call fcn.0040cfb0
mov edi, dword [esp + 0xc]
mov esi, eax
mov dword [0x4eeb68], esi
mov eax, dword [edi - 0xd0]
mov dword [esi + 4], eax
mov eax, dword [edi - 0x138]
mov dword [esi + 8], eax
mov eax, dword [edi - 0x134]
or eax, dword [0x4d7bac]
mov dword [esi + 0xc], eax
cmp dword [edi + 8], 0
je 0x406786
mov edx, dword [edi - 0x138]
mov ecx, esi
push edi
call fcn.0040b2d0
mov esi, dword [0x4eeb68]
add esp, 4
jmp 0x406798
mov edx, dword [0x4ef414]
mov eax, dword [edx + 0x70]
mov ecx, dword [edx + 0x74]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov ecx, dword [edi - 0x3c]
mov eax, dword [edi - 0x40]
test ecx, ecx
jg 0x40681e
jl 0x4067a8
test eax, eax
jae 0x40681e
cmp dword [edi + 8], 0
jne 0x40680e
test dword [edi - 0x134], 0x30000
jne 0x40680e
mov ecx, dword [edi - 0x138]
mov eax, dword [ecx]
cmp eax, 0x17
je 0x40680e
cmp eax, 0x1b
je 0x40680e
call fcn.0043d600
test eax, eax
jne 0x406808
mov eax, dword [edi - 0x1a0]
push 6
add eax, 0x10
push str.__size
push eax
call fcn.00479000
add esp, 0xc
test eax, eax
je 0x406808
mov esi, dword [0x4eeb68]
mov dword [esi + 0x30], 1
mov dword [esi + 0x34], 0
jmp 0x406824
mov esi, dword [0x4eeb68]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
jmp 0x406824
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov eax, dword [edi - 0x38]
mov ecx, dword [edi - 0x34]
mov edx, dword [0x4ef414]
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ecx
mov eax, dword [edi - 0x10]
mov dword [esi + 0x40], eax
cmp dword [edx + 0x80], 0
je 0x406859
mov eax, dword [edx + 0x70]
mov ecx, dword [edx + 0x74]
shld ecx, eax, 1
add eax, eax
mov dword [edx + 0x74], ecx
mov dword [edx + 0x70], eax
jmp 0x406866
mov eax, dword [0x4ef414]
add dword [eax + 0x70], 1
adc dword [eax + 0x74], 0
mov ecx, dword [0x4ef414]
mov eax, dword [ecx + 0x78]
mov dword [esi + 0x28], eax
mov eax, dword [edi - 0x134]
test al, 8
je 0x40688d
mov eax, ecx
mov dword [esi + 0x48], 1
mov dword [eax + 4], esi
jmp case.0x40600d.5
test al, 0x10
jne 0x4072ae
mov eax, dword [0x4ef414]
cmp dword [eax + 0x7c], 0
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x24]
je 0x4072a6
add dword [ecx + 0x78], eax
mov eax, dword [0x4ef414]
mov dword [eax + 4], esi
jmp case.0x40600d.5
test byte [edx - 0x64], 0x10
je 0x4068e6
mov eax, dword [edx]
add eax, 0x10
push eax
push str.invalid_typedef_qualifier_for__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [esp + 0xc]
mov ecx, dword [0x4ef414]
mov edx, dword [edx]
mov ecx, dword [ecx]
call fcn.0040cfb0
mov edx, eax
mov eax, dword [esp + 0xc]
mov dword [0x4eeb68], edx
mov ecx, dword [eax - 0x68]
mov dword [edx + 8], ecx
mov ecx, dword [eax - 0x64]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x4ef414]
mov dword [edx + 0x10], 0
mov eax, dword [ecx + 0x78]
mov dword [edx + 0x28], eax
cmp dword [ecx + 0x7c], 0
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x24]
je 0x406939
add dword [ecx + 0x78], eax
mov eax, ecx
mov dword [eax + 4], edx
jmp case.0x40600d.5
cmp eax, dword [ecx + 0x78]
jle 0x406941
mov dword [ecx + 0x78], eax
mov eax, dword [0x4ef414]
mov dword [eax + 4], edx
jmp case.0x40600d.5
mov eax, dword [edx]
jmp 0x40a321
mov ecx, 0x4979b4
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979c0
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979cc
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979d8
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979e4
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979f0
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x4979fc
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a08
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a14
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a20
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a2c
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a38
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a44
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a50
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a5c
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a68
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a74
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a80
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a8c
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497a98
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497aa4
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497ab0
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497abc
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497ac8
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497ad4
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497ae0
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497aec
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497af8
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b04
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b10
call fcn.0040cda0
jmp 0x40a321
mov ecx, str.operator_
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b28
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b34
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b40
call fcn.0040cda0
jmp 0x40a321
mov ecx, 0x497b4c
call fcn.0040cda0
jmp 0x40a321
mov ecx, str.operator__
call fcn.0040cda0
jmp 0x40a321
mov ecx, dword [edx + 4]
call fcn.004411a0
mov edi, dword [esp + 0xc]
mov dword [0x4eeaf4], eax
mov ecx, dword [edi]
call fcn.00440b60
mov edx, dword [0x4eeaf4]
mov ecx, eax
mov dword [0x4ef404], ecx
lea esi, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x406ba0
sub edx, esi
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406bb0
sub ecx, esi
add edx, 0xa
add ecx, edx
call fcn.0043a4e0
movq xmm0, qword [str.operator]
mov ecx, eax
mov edx, dword [0x4eeaf4]
mov esi, edx
mov dword [0x4ef410], ecx
movq qword [ecx], xmm0
mov ax, word [0x49d400]
mov word [ecx + 8], ax
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x406bf0
sub edx, esi
lea edi, [ecx - 1]
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406c00
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov edx, dword [0x4ef404]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x406c20
mov edi, dword [0x4ef410]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406c30
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x4ef410]
call fcn.0040cda0
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x40600d.5
mov ecx, dword [0x4ef410]
mov edx, 0x143
call fcn.0040ccc0
jmp 0x40a321
mov ecx, dword [0x4ef414]
mov edx, dword [edx]
mov ecx, dword [ecx]
call fcn.0040cfb0
mov esi, dword [0x4ef414]
xor edx, edx
push 0
xor ecx, ecx
mov dword [esi + 4], eax
call fcn.0040d480
mov ecx, dword [esi + 4]
add esp, 4
xor edx, edx
mov dword [ecx + 8], eax
mov ecx, dword [esi + 4]
mov eax, dword [0x4d7bac]
push 0
mov dword [ecx + 0xc], eax
mov ecx, dword [esi + 4]
mov eax, dword [0x4ef414]
mov eax, dword [eax + 0x78]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x98]
call fcn.0040d480
mov ecx, dword [0x4ef414]
add esp, 4
mov esi, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [ecx]
mov dword [ecx + 0xc], 0
mov ecx, dword [esi]
cmp ecx, dword [eax]
je case.0x40600d.5
cmp dword [eax + 4], 1
jne 0x406d28
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov ecx, dword [0x4ef414]
xor edx, edx
add esp, 4
mov ecx, dword [ecx + 4]
push 4
mov dword [ecx + 8], eax
lea ecx, [edx + 5]
call fcn.0040d480
mov ecx, dword [0x4ef414]
add esp, 4
mov dword [ecx + 8], eax
jmp case.0x40600d.5
push 9
lea eax, [ecx + 0x10]
push str.operator
push eax
call fcn.00479000
add esp, 0xc
test eax, eax
je case.0x40600d.5
mov eax, dword [esi]
add eax, 0x10
push eax
push str.invalid_constructor_function__s_or_missing_return_type
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010a0
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov ecx, dword [edx]
mov eax, dword [eax]
cmp ecx, dword [eax]
je 0x406d9c
lea eax, [ecx + 0x10]
push eax
push str.invalid_destructor_function__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010a0
jmp 0x406ee9
add ecx, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406da2
sub ecx, edx
add ecx, 2
call fcn.0043a4e0
mov esi, dword [esp + 0xc]
mov dword [0x4ef410], eax
push 0x3a
mov eax, dword [esi]
add eax, 0x10
push eax
call fcn.004735f0
add esp, 8
mov dword [0x4ef404], eax
test eax, eax
je 0x406e3a
cmp byte [eax + 1], 0
je 0x406e3a
mov ecx, dword [esi]
lea edx, [ecx + 0x10]
cmp eax, edx
je 0x406dea
cmp byte [eax - 1], 0x3a
je 0x406e3a
sub eax, ecx
sub eax, 0xf
push eax
push edx
push dword [0x4ef410]
call fcn.00478c00
mov ecx, dword [0x4ef410]
add esp, 0xc
lea edi, [ecx - 1]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x406e08
mov edx, dword [0x4ef404]
mov ax, word [0x49d464]
inc edx
mov word [edi], ax
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x406e24
sub edx, esi
lea edi, [ecx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406e30
jmp 0x406e68
mov ecx, dword [0x4ef410]
mov eax, dword [esp + 0xac]
mov word [ecx], ax
mov edx, dword [esi]
add edx, 0x10
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x406e51
sub edx, esi
lea edi, [ecx - 1]
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406e60
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x4ef410]
call fcn.0040cda0
mov dword [0x4ef408], eax
test eax, eax
jne 0x406e9f
mov ecx, dword [0x4ef410]
mov edx, 0x143
call fcn.0040ccc0
mov dword [0x4ef408], eax
mov ecx, dword [0x4ef414]
mov edx, eax
mov ecx, dword [ecx]
call fcn.0040cfb0
mov esi, dword [0x4ef414]
xor edx, edx
push 0
xor ecx, ecx
mov dword [esi + 4], eax
call fcn.0040d480
mov ecx, dword [esi + 4]
add esp, 4
mov edi, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov ecx, dword [esi + 4]
mov eax, dword [edi - 0xd0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4ef414]
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x78]
mov dword [ecx + 0x28], eax
mov ecx, dword [esp + 0x94]
xor edx, edx
push 0
call fcn.0040d480
mov edx, dword [0x4ef414]
add esp, 4
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0
jmp case.0x40600d.5
mov ecx, dword [edx - 0x270]
mov eax, dword [ecx + 0x48]
cmp eax, 1
jne 0x407109
test byte [ecx + 0xc], 8
jne 0x406f6b
mov eax, dword [0x4ef414]
mov eax, dword [eax + 4]
test eax, eax
je 0x406f6b
mov eax, dword [eax + 8]
cmp dword [eax], 0x17
jne 0x406f6b
mov eax, dword [eax + 4]
cmp dword [eax], 2
jne 0x406f6b
mov eax, dword [ecx]
add eax, 0x10
push eax
push str.last_output_parameter_of_service_operation_function_prototype__s_is_a_pointer_to_a_char_which_will_only_return_one_byte:_use_char_instead_to_return_a_string
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [esp + 0xc]
mov ecx, dword [edx - 0x270]
test byte [ecx + 0xc], 8
je 0x406f9e
mov edx, dword [0x4ef414]
mov ecx, dword [ecx + 8]
mov edx, dword [edx]
call fcn.0040cf30
mov edi, dword [esp + 0xc]
mov ecx, dword [edi - 0x270]
mov dword [ecx + 8], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov eax, dword [eax + 4]
test eax, eax
je 0x4070d6
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
cmp eax, 0x17
je 0x406fd3
cmp eax, 0x18
je 0x406fd3
cmp eax, 0x1a
je 0x406fd3
call fcn.0043d430
mov edx, dword [esp + 0xc]
test eax, eax
je 0x4070d6
mov ecx, dword [edx - 0x270]
mov eax, dword [ecx + 8]
cmp dword [eax], 5
jne 0x4070aa
mov edx, dword [0x4ef414]
mov ecx, 0x1c
push 0
mov eax, dword [edx + 4]
or dword [eax + 0xc], 0x8000
mov edx, dword [edx + 4]
call fcn.0040d480
mov esi, dword [esp + 0x10]
add esp, 4
mov ecx, dword [esi - 0x270]
mov dword [ecx + 8], eax
mov eax, dword [esi - 0x270]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, dword [0x4ef414]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
call fcn.0043d430
test eax, eax
jne 0x40708d
mov eax, dword [0x4ef414]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
call fcn.0043cd10
test eax, eax
mov eax, dword [0x4ef414]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
jne 0x407088
call fcn.0043c960
test eax, eax
jne 0x40708d
mov eax, dword [0x4ef414]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 8]
call fcn.0043cb60
test eax, eax
jne 0x40708d
mov edx, dword [0x4ef414]
mov ecx, dword [esi - 0x270]
mov edx, dword [edx + 4]
call fcn.0040c730
jmp 0x40708d
call fcn.0040c8e0
mov ecx, dword [esi - 0x270]
mov edx, dword [0x4ef414]
mov ecx, dword [ecx]
call fcn.0040c9b0
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [ecx]
add eax, 0x10
push eax
push str.return_type_of_service_operation_function_prototype__s_must_be_integer
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010a0
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [edx - 0x270]
mov eax, dword [eax]
add eax, 0x10
push eax
push eax
push str.last_output_parameter_of_service_operation_function_prototype__s_is_a_return_parameter_and_must_be_a_pointer_or_reference__or_use__s_...__void__for_one_way_sends
push 0x4f18c0
call fcn.004011e0
add esp, 0x10
mov ecx, 0x4f18c0
call fcn.004010a0
call fcn.0040b0f0
jmp case.0x40600d.5
test eax, eax
jne 0x40713f
mov edx, dword [0x4ef414]
mov ecx, dword [ecx + 8]
mov edx, dword [edx]
call fcn.0040cf30
mov edx, dword [esp + 0xc]
mov ecx, dword [edx - 0x270]
mov dword [ecx + 8], eax
mov ecx, dword [edx - 0x270]
mov eax, dword [edx - 0x68]
or eax, dword [edx]
or dword [ecx + 0xc], eax
and dword [0x4d7bc4], 0xfffffffe
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov eax, dword [eax + 4]
jmp 0x40a321
mov eax, dword [edx]
add eax, 0x10
push eax
push str.undefined__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.00401050
jmp case.0x40600d.5
mov ecx, str.formal_argument_expected
call fcn.00401050
xor eax, eax
mov dword [esp + 0x7c], eax
jmp case.0x40600d.5
mov ecx, dword [0x4ef414]
mov eax, dword [ecx]
cmp dword [eax + 4], 2
je 0x4071b5
add dword [ecx + 0x70], 1
mov edx, dword [ecx + 0x70]
adc dword [ecx + 0x74], 0
mov eax, dword [ecx + 0x74]
mov ecx, str.param
jmp 0x4071f1
cmp dword [0x4d7b50], 0
jne 0x4071d8
mov eax, dword [0x4d7ba0]
test eax, eax
je 0x4071d8
cmp eax, 3
jg 0x4071d8
mov ecx, str._param
call fcn.0040ce60
jmp 0x4071fd
mov edx, dword [0x4ef414]
mov ecx, str._param
add dword [edx + 0x70], 1
adc dword [edx + 0x74], 0
mov eax, dword [edx + 0x74]
mov edx, dword [edx + 0x70]
mov dword [esp + 0xa4], eax
call fcn.0040ce00
mov ecx, dword [0x4ef414]
mov edx, eax
mov ecx, dword [ecx]
call fcn.0040cfb0
mov ecx, dword [esp + 0xc]
mov esi, eax
mov dword [0x4eeb68], esi
test byte [ecx - 0x64], 0x10
je 0x407232
mov ecx, str.typedef_in_function_argument
call fcn.004010f0
mov esi, dword [0x4eeb68]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx - 0x68]
mov dword [esi + 8], eax
mov eax, dword [ecx - 0x64]
mov dword [esi + 0xc], eax
mov eax, dword [0x4ef414]
mov eax, dword [eax + 0x78]
mov dword [esi + 0x28], eax
cmp dword [ecx + 8], 0
je 0x407267
mov edx, dword [ecx - 0x68]
push ecx
mov ecx, esi
call fcn.0040b2d0
mov esi, dword [0x4eeb68]
add esp, 4
mov ecx, dword [esp + 0xc]
test byte [ecx - 0x64], 8
je 0x407281
mov eax, dword [0x4ef414]
mov dword [esi + 0x48], 1
mov dword [eax + 4], esi
jmp case.0x40600d.5
mov ecx, dword [0x4ef414]
mov eax, dword [esi + 8]
cmp dword [ecx + 0x7c], 0
mov eax, dword [eax + 0x24]
je 0x4072a0
add dword [ecx + 0x78], eax
mov eax, ecx
mov dword [eax + 4], esi
jmp case.0x40600d.5
mov ecx, dword [0x4ef414]
cmp eax, dword [ecx + 0x78]
jle 0x4072ae
mov dword [ecx + 0x78], eax
mov eax, dword [0x4ef414]
mov dword [eax + 4], esi
jmp case.0x40600d.5
cmp dword [0x4d7b24], 2
jne 0x407300
mov ecx, dword [edx - 0x1a0]
add ecx, 0x10
cmp byte [ecx], 0x5f
jne 0x407300
mov eax, dword [0x4ef414]
mov eax, dword [eax]
cmp dword [eax + 4], 1
jne 0x407300
push ecx
push str.SOAP_1.2_does_not_support_anonymous_parameters__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [esp + 0xc]
test byte [edx - 0x134], 0x10
je 0x407317
mov ecx, str.typedef_in_function_argument
call fcn.004010f0
mov edx, dword [esp + 0xc]
mov ecx, dword [0x4ef414]
mov edx, dword [edx - 0x1a0]
mov ecx, dword [ecx]
call fcn.0040cfb0
mov edx, dword [esp + 0xc]
mov esi, eax
mov dword [0x4eeb68], esi
mov eax, dword [edx - 0x138]
mov dword [esi + 8], eax
mov eax, dword [edx - 0x134]
mov dword [esi + 0xc], eax
mov eax, dword [edx - 0xd0]
mov dword [esi + 4], eax
mov ecx, dword [edx - 0x3c]
mov eax, dword [edx - 0x40]
test ecx, ecx
jg 0x4073df
jl 0x407365
test eax, eax
jae 0x4073df
cmp dword [edx + 8], 0
jne 0x4073cf
test dword [edx - 0x134], 0x30000
jne 0x4073cf
mov ecx, dword [edx - 0x138]
mov eax, dword [ecx]
cmp eax, 0x17
je 0x4073cf
cmp eax, 0x1b
je 0x4073cf
call fcn.0043d600
test eax, eax
jne 0x4073c9
mov edi, dword [esp + 0xc]
push 6
push str.__size
mov eax, dword [edi - 0x1a0]
add eax, 0x10
push eax
call fcn.00479000
add esp, 0xc
test eax, eax
je 0x4073c9
mov esi, dword [0x4eeb68]
mov dword [esi + 0x30], 1
mov dword [esi + 0x34], 0
jmp 0x4073e5
mov esi, dword [0x4eeb68]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
jmp 0x4073e5
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx - 0x38]
mov ecx, dword [ecx - 0x34]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x38], eax
mov eax, dword [ecx - 0x10]
mov dword [esi + 0x40], eax
mov eax, dword [0x4ef414]
mov eax, dword [eax + 0x78]
mov dword [esi + 0x28], eax
cmp dword [ecx + 8], 0
je 0x40742b
mov edx, dword [ecx - 0x138]
push ecx
mov ecx, esi
call fcn.0040b2d0
mov esi, dword [0x4eeb68]
add esp, 4
mov ecx, dword [esp + 0xc]
test byte [ecx - 0x134], 8
je 0x407281
mov eax, dword [0x4ef414]
mov dword [esi + 0x48], 1
mov dword [eax + 4], esi
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov ecx, 0x1a
mov edx, dword [edx - 0xd0]
mov edi, 0x4eeb00
lea esi, [eax + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov esi, dword [0x4eeb68]
mov edi, eax
mov eax, dword [esp + 0x10]
add esp, 4
mov ecx, dword [0x4d7bac]
mov edx, dword [0x4ef414]
mov dword [esi + 8], edi
mov dword [esi + 0xc], ecx
mov ecx, dword [eax - 0x68]
mov dword [esi + 4], ecx
mov dword [esi + 0x10], 1
mov dword [esi + 0x14], 0
mov ecx, dword [eax + 0xc]
mov dword [esi + 0x18], ecx
mov eax, dword [edx + 0x70]
mov edx, dword [edx + 0x74]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0x24], edx
cmp dword [eax + 8], 0
je 0x4074f4
push eax
mov edx, edi
mov ecx, esi
call fcn.0040b2d0
mov esi, dword [0x4eeb68]
add esp, 4
mov edx, dword [0x4ef414]
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
mov dword [edx + 0x70], eax
mov dword [edx + 0x74], ecx
mov edx, dword [0x4ef414]
cmp dword [edx + 0x80], 0
je 0x407523
mov eax, dword [edx + 0x70]
mov ecx, dword [edx + 0x74]
shld ecx, eax, 1
add eax, eax
mov dword [edx + 0x74], ecx
mov dword [edx + 0x70], eax
mov eax, dword [edx + 0x78]
mov dword [esi + 0x28], eax
mov dword [edx + 4], esi
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov edx, eax
add dword [eax + 0x70], 1
adc dword [eax + 0x74], 0
mov eax, dword [edx + 0x78]
mov dword [esi + 0x28], eax
mov dword [edx + 4], esi
jmp case.0x40600d.5
mov ecx, 0x1a
lea edi, [esp + 0x10]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
mov edx, dword [0x4ef414]
mov ecx, dword [0x4eeb00]
mov edx, dword [edx]
call fcn.0040cf30
and dword [0x4d7bc4], 0xfffffffe
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov edi, dword [0x4ef414]
lea esi, [esp + 0x10]
add edi, 8
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
mov esi, dword [edx - 0x68]
or esi, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ecx
test esi, 0x10000
je 0x40769d
call fcn.0043d690
mov edi, dword [esp + 0xc]
mov ecx, dword [edi]
test eax, eax
je 0x407619
mov ecx, dword [ecx + 4]
call fcn.0045ca70
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0045cbc0
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0045bd10
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0043d4f0
test eax, eax
jne 0x407699
mov ecx, str.invalid_attribute_smart_pointer__type
jmp 0x40768a
cmp dword [ecx], 0x17
jne 0x40765b
mov ecx, dword [ecx + 4]
call fcn.0045ca70
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0045cbc0
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0045bd10
test eax, eax
jne 0x407699
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
call fcn.0043d4f0
test eax, eax
jne 0x407699
mov ecx, str.invalid_attribute_pointer__type
jmp 0x40768a
call fcn.0045ca70
test eax, eax
jne 0x407699
mov ecx, dword [edi]
call fcn.0045cbc0
test eax, eax
jne 0x407699
mov ecx, dword [edi]
call fcn.0045bd10
test eax, eax
jne 0x407699
mov ecx, dword [edi]
call fcn.0043d4f0
test eax, eax
jne 0x407699
mov ecx, str.invalid_attribute__type
call fcn.004010f0
and esi, 0xfffeffff
mov dword [esp + 0x14], esi
mov edx, dword [esp + 0xc]
mov edi, dword [0x4ef414]
lea esi, [esp + 0x10]
add edi, 8
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
test byte [edx - 0x68], 8
je case.0x40600d.5
mov dword [0x4d7bc4], 0
jmp case.0x40600d.5
mov edx, dword [edx - 0x68]
mov edi, dword [esp + 0xc]
mov ecx, dword [edx]
cmp ecx, 5
jne 0x407717
mov ecx, dword [edi]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 5
ja case.0x4076e4.3
jmp dword [eax*4 + 0x40a8c4]
mov eax, dword [edi + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jmp 0x407588
mov ecx, str.invalid_int_type_specified
call fcn.004010f0
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
mov eax, dword [edi]
mov eax, dword [eax]
cmp ecx, 0xd
jne 0x4077ae
add eax, 0xfffffffe
cmp eax, 5
ja case.0x40772c.3
jmp dword [eax*4 + 0x40a8dc]
push 1
mov ecx, 0xb
xor edx, edx
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
xor edx, edx
push 2
lea ecx, [edx + 0xc]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
xor edx, edx
push 8
lea ecx, [edx + 0xe]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
mov ecx, str.invalid_unsigned_type_specified
call fcn.004010f0
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
cmp ecx, 6
jne 0x407800
add eax, 0xfffffffb
cmp eax, 9
ja case.0x407814.7
jmp dword [eax*4 + 0x40a8f4]
xor edx, edx
push 8
lea ecx, [edx + 7]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
xor edx, edx
push 0x10
lea ecx, [edx + 0xa]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
cmp ecx, 0xe
jne 0x407856
add eax, 0xfffffffb
cmp eax, 9
ja case.0x407814.7
movzx eax, byte [eax + 0x40a928]
jmp dword [eax*4 + 0x40a91c]
xor edx, edx
push 8
lea ecx, [edx + 0xf]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
mov ecx, str.invalid_use_of_long
call fcn.004010f0
mov eax, dword [edi]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
cmp eax, 5
jne 0x40786b
mov eax, dword [edi + 4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jmp 0x407588
mov ecx, str.invalid_type_specified__missing___or_type_name_used_as_non_type_identifier__
call fcn.004010f0
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
jmp 0x407588
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov edx, dword [esp + 0x10]
lea esi, [esp + 0x14]
mov edi, dword [0x4ef414]
mov ecx, 0x1a
mov dword [esp + 0x14], eax
add edi, 8
add esp, 4
mov eax, dword [edx]
mov dword [esp + 0x14], eax
rep movsd dword es:[edi], dword [esi]
test byte [edx], 8
jmp 0x4076b5
mov edx, dword [edx - 0x68]
mov ecx, dword [edx]
cmp ecx, 5
jne 0x4078df
mov edi, dword [esp + 0xc]
mov ecx, dword [edi]
mov eax, dword [ecx]
add eax, 0xfffffffe
cmp eax, 5
ja case.0x4076e4.3
jmp dword [eax*4 + 0x40a934]
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
mov eax, dword [eax]
cmp ecx, 0xd
jne 0x407917
add eax, 0xfffffffe
cmp eax, 5
ja case.0x40772c.3
jmp dword [eax*4 + 0x40a94c]
push 2
mov ecx, 0xc
jmp 0x40773a
push 8
mov ecx, 0xe
jmp 0x40773a
cmp ecx, 6
jne 0x407947
add eax, 0xfffffffb
cmp eax, 9
ja case.0x407814.7
jmp dword [eax*4 + 0x40a964]
push 8
mov ecx, 7
jmp 0x40773a
push 0x10
mov ecx, 0xa
jmp 0x40773a
cmp ecx, 0xe
jne 0x407856
add eax, 0xfffffffb
cmp eax, 9
ja case.0x407814.7
movzx eax, byte [eax + 0x40a998]
jmp dword [eax*4 + 0x40a98c]
push 8
mov ecx, 0xf
jmp 0x40773a
mov ecx, dword [esp + 0x94]
xor edx, edx
push 0
call fcn.0040d480
jmp 0x40a31e
mov edx, dword [0x4d7bcc]
mov ecx, 0x12
push 4
call fcn.0040d480
jmp 0x40a31e
mov ecx, dword [esp + 0x98]
xor edx, edx
push 1
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 4
lea ecx, [edx + 3]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 2
lea ecx, [edx + 4]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 6]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 7]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 0xf]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 0x10]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 4
lea ecx, [edx + 8]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 9]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 4
lea ecx, [edx + 0xd]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 1
lea ecx, [edx + 0xb]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 2
lea ecx, [edx + 0xc]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 8
lea ecx, [edx + 0xe]
call fcn.0040d480
jmp 0x40a31e
xor edx, edx
push 4
lea ecx, [edx + 0x11]
call fcn.0040d480
jmp 0x40a31e
mov edx, dword [edx]
mov ecx, dword [0x4d7bc8]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
jne 0x407add
mov esi, dword [esp + 0xc]
mov ecx, dword [0x4d7bc8]
mov edx, dword [esi]
call fcn.0040cfb0
mov edx, dword [esi]
xor ecx, ecx
mov dword [0x4eeb68], eax
call fcn.0040d770
mov ecx, dword [0x4eeb68]
mov dword [ecx + 8], eax
mov eax, dword [esi]
mov dword [eax], 0x145
mov eax, dword [ecx + 8]
jmp 0x40a321
mov ecx, str._Struct
call fcn.0040ce60
mov dword [0x4ef408], eax
add eax, 0x10
push eax
push str.anonymous_class_will_be_named__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov eax, dword [0x4d7bc0]
mov edi, dword [0x4ef408]
test eax, eax
je 0x407b46
mov edx, dword [eax + 8]
test edx, edx
je 0x407b3f
nop word [eax + eax]
cmp dword [edx], edi
je 0x407bb9
mov edx, dword [edx + 0x54]
test edx, edx
jne 0x407b30
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x407b23
mov dword [0x4eeb68], 0
mov ecx, dword [0x4d7bc0]
mov edx, edi
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
lea ecx, [edx + 0x14]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov dword [edx + 8], eax
mov edi, dword [0x4ef408]
mov esi, dword [0x4ef414]
mov dword [edi], 0x145
sub dword [0x4ef414], 0x88
mov eax, dword [esi]
mov dword [eax], edi
mov ecx, dword [edx + 8]
mov eax, dword [esi]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 8]
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x24], eax
mov eax, dword [edx + 8]
mov dword [eax + 8], edi
mov eax, dword [edx + 8]
jmp 0x40a321
mov dword [0x4eeb68], edx
test edx, edx
je 0x407b50
mov eax, dword [edx + 8]
cmp dword [eax + 4], 0
jne 0x407bd1
cmp dword [eax], 0x14
je 0x407b80
push dword [edx + 0x50]
lea eax, [edi + 0x10]
push dword [edx + 0x4c]
push eax
push str.class__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
jmp 0x407b7a
mov edx, dword [0x4d7bc0]
test edx, edx
je 0x407c39
nop dword [eax]
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x407c32
mov esi, dword [esp + 0xc]
mov eax, dword [esi - 0x138]
mov eax, dword [eax]
cmp dword [ecx], eax
je 0x407cc9
mov ecx, dword [ecx + 0x54]
test ecx, ecx
jne 0x407c23
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x407c10
mov esi, dword [esp + 0xc]
mov dword [0x4eeb68], 0
mov edx, dword [esi - 0x138]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edx]
call fcn.0040d250
mov edx, dword [0x4ef414]
mov esi, eax
mov dword [0x4eeb68], esi
mov ecx, dword [esi + 8]
mov eax, dword [edx]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 8]
mov eax, dword [edx + 0x78]
mov dword [ecx + 0x24], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x407cac
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
mov eax, dword [0x4ef414]
mov eax, dword [eax]
mov dword [eax + 0xc], ecx
mov esi, dword [0x4eeb68]
mov ecx, esi
call fcn.0043d2d0
mov eax, dword [0x4eeb68]
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x407c47
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x407c47
call fcn.0045c000
test eax, eax
je 0x407ca6
mov eax, dword [0x4eeb68]
mov edx, dword [0x4ef414]
mov ecx, dword [eax + 8]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
call fcn.0040d2b0
test eax, eax
je 0x407d3c
mov eax, dword [0x4eeb68]
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esi - 0x138]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.member_name_clash_in_class__s_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [0x4eeb68]
mov eax, dword [0x4ef414]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x78]
add dword [ecx + 0x24], eax
jmp 0x407cac
mov edx, dword [edx - 0x208]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edx]
call fcn.0040d250
mov edi, dword [esp + 0xc]
mov edx, eax
mov dword [0x4eeb68], edx
mov eax, dword [edi - 0x138]
test eax, eax
jne 0x407d96
mov ecx, str.invalid_base_class
call fcn.004010a0
mov esi, dword [0x4ef414]
mov edx, dword [0x4eeb68]
jmp 0x407dff
mov esi, dword [0x4ef414]
mov eax, dword [eax + 8]
mov ecx, dword [esi]
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
mov eax, dword [esi]
cmp dword [eax + 0xc], 0
jne 0x407ded
mov ecx, dword [edi - 0x138]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x28], 0
jne 0x407ded
mov eax, dword [ecx]
add eax, 0x10
push eax
push eax
push 0x49d838
push 0x4f18c0
call fcn.004011e0
add esp, 0x10
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [0x4ef414]
mov edx, dword [0x4eeb68]
mov eax, dword [edi - 0x138]
mov ecx, dword [edx + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov dword [ecx + 0xc], eax
mov ecx, dword [edx + 8]
mov eax, dword [esi]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 8]
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x24], eax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
mov dword [ecx + 8], eax
mov ecx, edx
jmp 0x407cae
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, dword [edx]
mov eax, dword [eax + 8]
jmp 0x40a321
mov ecx, str._Struct
call fcn.0040ce60
mov dword [0x4ef408], eax
add eax, 0x10
push eax
push str.anonymous_struct_will_be_named__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x407ed6
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
jne 0x407ea3
cmp dword [ecx], 0x15
jne 0x407ea3
mov esi, dword [0x4ef414]
mov eax, dword [esi]
mov dword [ecx + 4], eax
mov ecx, dword [edx + 8]
mov eax, dword [esi + 0x78]
mov dword [ecx + 0x24], eax
jmp 0x407f13
push dword [edx + 0x50]
mov eax, dword [0x4ef408]
push dword [edx + 0x4c]
add eax, 0x10
push eax
push str.struct__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
jmp 0x407f0d
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bc0]
call fcn.0040cfb0
mov ecx, 0x15
mov edx, dword [0x4ef414]
mov dword [0x4eeb68], eax
push dword [edx + 0x78]
mov edx, dword [edx]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov dword [edx + 8], eax
mov esi, dword [0x4ef414]
mov eax, dword [esi]
mov ecx, dword [0x4ef408]
mov dword [eax], ecx
mov eax, dword [edx + 8]
mov dword [eax + 8], ecx
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov edx, dword [edx - 0x138]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edx]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x407fe8
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x407fe8
call fcn.0045c000
test eax, eax
je 0x407fdb
mov eax, dword [0x4eeb68]
mov edx, dword [0x4ef414]
mov ecx, dword [eax + 8]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
call fcn.0040d2b0
test eax, eax
je 0x407fc0
mov eax, dword [0x4eeb68]
mov edi, dword [esp + 0xc]
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [edi - 0x138]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.member_name_clash_in_struct__s_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edi, dword [0x4eeb68]
mov eax, dword [0x4ef414]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x78]
add dword [ecx + 0x24], eax
mov ecx, edi
jmp 0x407cae
mov edi, dword [0x4eeb68]
mov ecx, edi
jmp 0x407cae
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edi - 0x138]
mov edx, dword [edx]
call fcn.0040d250
mov esi, dword [0x4ef414]
mov edi, eax
mov dword [0x4eeb68], edi
mov ecx, edi
mov edx, dword [edi + 8]
mov eax, dword [esi]
mov dword [edx + 4], eax
mov edx, dword [edi + 8]
mov eax, dword [esi + 0x78]
mov dword [edx + 0x24], eax
mov edx, dword [edi + 8]
mov eax, dword [edi]
mov dword [edx + 8], eax
jmp 0x407cae
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x40808e
mov ecx, dword [eax + 8]
cmp dword [ecx], 0x15
jne 0x408054
mov dword [esp + 0x10], ecx
jmp case.0x40600d.5
push dword [eax + 0x50]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
add eax, 0x10
push eax
push str.struct__s_redeclaration__line__d_
push 0x4f18c0
call fcn.004011e0
mov ecx, 0x4f18c0
call fcn.004010a0
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
add esp, 0x14
jmp 0x40a321
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edi]
call fcn.0040cfb0
mov ecx, 0x15
push 0
xor edx, edx
mov dword [0x4eeb68], eax
call fcn.0040d480
mov ecx, dword [0x4eeb68]
mov dword [ecx + 8], eax
mov ecx, dword [edi]
mov dword [eax + 8], ecx
jmp 0x40a31e
mov ecx, str._Union
call fcn.0040ce60
mov dword [0x4ef408], eax
add eax, 0x10
push eax
push str.anonymous_union_will_be_named__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x408137
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
je 0x407e8d
push dword [edx + 0x50]
mov eax, dword [0x4ef408]
push dword [edx + 0x4c]
add eax, 0x10
push eax
push str.union_or_struct__s_already_declared_at__s:_d
jmp 0x407eb7
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bc0]
call fcn.0040cfb0
mov ecx, 0x16
jmp 0x407eec
mov edx, dword [edx - 0x138]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edx]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x40821c
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x40821c
call fcn.0045c000
test eax, eax
je 0x408205
mov eax, dword [0x4eeb68]
mov edx, dword [0x4ef414]
mov ecx, dword [eax + 8]
mov edx, dword [edx]
mov ecx, dword [ecx + 4]
call fcn.0040d2b0
test eax, eax
je 0x4081db
mov eax, dword [0x4eeb68]
mov edi, dword [esp + 0xc]
push dword [eax + 0x50]
mov eax, dword [edi - 0x138]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.member_name_clash_in_union__s_declared_at_line__d
push 0x4f18c0
call fcn.004011e0
add esp, 0x10
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [0x4eeb68]
mov eax, dword [0x4ef414]
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x78]
cmp dword [ecx + 0x24], eax
jge 0x408259
mov dword [ecx + 0x24], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov esi, dword [0x4eeb68]
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edi - 0x138]
mov edx, dword [edx]
call fcn.0040d250
mov esi, eax
mov eax, dword [0x4ef414]
mov dword [0x4eeb68], esi
mov edx, dword [esi + 8]
mov ecx, dword [eax]
mov dword [edx + 4], ecx
mov ecx, dword [esi + 8]
mov eax, dword [eax + 0x78]
mov dword [ecx + 0x24], eax
mov ecx, dword [esi + 8]
mov eax, dword [esi]
mov dword [ecx + 8], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x4082cb
mov ecx, dword [eax + 8]
cmp dword [ecx], 0x16
jne 0x408291
mov dword [esp + 0x10], ecx
jmp case.0x40600d.5
push dword [eax + 0x50]
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
add eax, 0x10
push eax
push str.union__s_redeclaration__line__d_
push 0x4f18c0
call fcn.004011e0
mov ecx, 0x4f18c0
call fcn.004010a0
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
add esp, 0x14
jmp 0x40a321
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [edi]
call fcn.0040cfb0
mov ecx, 0x16
jmp 0x4080a4
mov ecx, str._Enum
call fcn.0040ce60
mov dword [0x4ef408], eax
add eax, 0x10
push eax
push str.anonymous_enum_will_be_named__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x4083bc
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
je 0x40838c
push dword [edx + 0x50]
mov eax, dword [0x4ef408]
push dword [edx + 0x4c]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
mov eax, dword [0x4ef408]
mov ecx, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [eax + 0x24], 4
mov ecx, dword [edx + 8]
mov eax, dword [0x4ef408]
mov dword [ecx + 8], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bb8]
call fcn.0040cfb0
push 4
mov edx, dword [0x4ef414]
mov ecx, 0x12
mov dword [0x4eeb68], eax
mov edx, dword [edx]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov dword [edx + 8], eax
mov eax, dword [0x4ef408]
mov ecx, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
call fcn.0040b0f0
jmp case.0x40600d.5
mov ecx, str._Enum
call fcn.0040ce60
mov dword [0x4ef408], eax
add eax, 0x10
push eax
push str.anonymous_enum_will_be_named__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x4084b2
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
je 0x408499
push dword [edx + 0x50]
mov eax, dword [0x4ef408]
push dword [edx + 0x4c]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
jmp 0x4083f2
mov eax, dword [0x4ef414]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [eax + 0x24], 9
jmp 0x4083f2
mov edx, dword [0x4ef408]
mov ecx, dword [0x4d7bb8]
call fcn.0040cfb0
push 9
jmp 0x4083cf
mov edx, dword [edx - 0x208]
mov ecx, dword [0x4d7bb8]
mov edx, dword [edx]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x4084fc
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
jne 0x4084fc
mov eax, dword [0x4ef414]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov edi, dword [esp + 0xc]
mov eax, dword [edi - 0x208]
mov eax, dword [eax]
jmp 0x4083f7
mov edx, dword [edx - 0x208]
mov ecx, dword [0x4d7bb8]
mov edx, dword [edx]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x408549
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
jne 0x408549
mov eax, dword [0x4ef414]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [eax + 0x24], 9
mov edi, dword [esp + 0xc]
mov eax, dword [edi - 0x208]
mov eax, dword [eax]
jmp 0x4083f7
mov edx, dword [edx]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x4085ab
mov ecx, dword [eax + 8]
cmp dword [ecx], 0x12
je 0x4085a3
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
add eax, 0x10
push eax
push str.enum__s_used_where_enum_class_is_expected
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010f0
mov eax, dword [0x4eeb68]
mov eax, dword [eax + 8]
jmp 0x40a321
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [edi]
call fcn.0040cfb0
push 4
mov ecx, 0x12
jmp 0x4080a6
mov edx, dword [edx]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x4085f7
mov ecx, dword [eax + 8]
cmp dword [ecx], 0x13
je 0x4085a3
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
add eax, 0x10
push eax
push str.enum_class__s_used_where_enum_is_expected
jmp 0x408587
mov edi, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [edi]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 0x13]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [ecx + 8], eax
mov ecx, dword [edi]
mov dword [eax + 8], ecx
mov eax, edi
mov eax, dword [eax]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bb4]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
jne 0x4085a3
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
jne 0x4085a3
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
jne 0x4085a3
mov eax, dword [esp + 0xc]
mov ecx, str.std::string
mov esi, dword [eax]
call fcn.0040cda0
cmp esi, eax
je 0x4086ec
mov eax, dword [esp + 0xc]
mov ecx, str.std::wstring
mov esi, dword [eax]
call fcn.0040cda0
cmp esi, eax
je 0x4086ec
lea eax, [esi + 0x10]
push eax
push str.unknown_type__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.004010a0
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
jmp 0x40a31e
mov ecx, dword [0x4d7bc0]
mov edx, esi
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 8
lea ecx, [edx + 0x14]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov edi, dword [esp + 0xc]
cmp dword [0x4d7b3c], 0
mov dword [esp + 0x10], eax
mov dword [edx + 8], eax
mov ecx, dword [edi]
mov dword [eax + 8], ecx
mov eax, 0xfffffffe
mov ecx, dword [edx + 8]
cmovne eax, dword [esp + 0x94]
mov dword [ecx + 0x28], eax
jmp case.0x40600d.5
mov edx, dword [edx - 0x138]
mov ecx, dword [0x4d7bc8]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x40878e
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 0x138]
mov ecx, dword [eax - 0x68]
call fcn.0040d770
mov ecx, dword [0x4eeb68]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0x28]
test ecx, ecx
je case.0x40600d.5
mov dword [eax + 0x28], ecx
jmp case.0x40600d.5
mov ecx, str.std::deque
call fcn.0040cda0
mov esi, dword [esp + 0xc]
cmp dword [esi - 0x138], eax
jne 0x4087e4
mov ecx, str.include__deque_
call fcn.0040cc30
mov edx, dword [esi - 0x138]
mov ecx, dword [0x4d7bc8]
call fcn.0040cfb0
mov dword [0x4eeb68], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 0x138]
mov ecx, dword [eax - 0x68]
call fcn.0040d770
mov ecx, dword [0x4eeb68]
mov dword [ecx + 8], eax
jmp 0x40a321
mov ecx, str.std::list
call fcn.0040cda0
cmp dword [esi - 0x138], eax
jne 0x4087fd
mov ecx, str.include__list_
jmp 0x4087a9
mov ecx, str.std::vector
call fcn.0040cda0
cmp dword [esi - 0x138], eax
jne 0x408816
mov ecx, str.include__vector_
jmp 0x4087a9
mov ecx, str.std::set
call fcn.0040cda0
cmp dword [esi - 0x138], eax
jne 0x408832
mov ecx, str.include__set_
jmp 0x4087a9
mov ecx, str.std::queue
call fcn.0040cda0
cmp dword [esi - 0x138], eax
jne 0x40888b
mov ecx, str.include__queue_
call fcn.0040cc30
mov edx, dword [esi - 0x138]
mov ecx, dword [0x4d7bc8]
call fcn.0040cfb0
mov dword [0x4eeb68], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax - 0x138]
mov ecx, dword [eax - 0x68]
call fcn.0040d770
mov ecx, dword [0x4eeb68]
mov dword [ecx + 8], eax
mov dword [eax + 0x28], 1
jmp 0x40a321
mov ecx, str.std::stack
call fcn.0040cda0
cmp dword [esi - 0x138], eax
jne 0x4088a4
mov ecx, str.include__stack_
jmp 0x408849
mov esi, dword [esi - 0x138]
mov ecx, str.std::shared_ptr
call fcn.0040cda0
cmp esi, eax
je 0x408981
mov edi, dword [esp + 0xc]
mov ecx, str.std::unique_ptr
mov esi, dword [edi - 0x138]
call fcn.0040cda0
cmp esi, eax
je 0x408981
mov esi, dword [edi - 0x138]
mov ecx, str.std::auto_ptr
call fcn.0040cda0
cmp esi, eax
je 0x408981
mov ecx, str.std::optional
call fcn.0040cda0
mov ecx, edi
mov edx, dword [ecx - 0x138]
cmp edx, eax
jne 0x408935
mov ecx, dword [ecx - 0x68]
call fcn.0040d770
cmp dword [0x4d7b58], 0
mov dword [esp + 0x10], eax
mov dword [eax + 0x28], 0xfffffffe
jne case.0x40600d.5
mov ecx, str.To_use_std::optional_you_should_also_use_wsdl2h_and_soapcpp2_with_option__c17
call fcn.004010f0
jmp case.0x40600d.5
mov ecx, str.std::weak_ptr
mov esi, edx
call fcn.0040cda0
cmp esi, eax
je 0x408967
mov eax, dword [esp + 0xc]
mov ecx, str.std::function
mov esi, dword [eax - 0x138]
call fcn.0040cda0
cmp esi, eax
je 0x408967
mov ecx, str.undefined_template
jmp 0x4086d6
mov eax, dword [esp + 0xc]
mov edx, esi
mov ecx, dword [eax - 0x68]
call fcn.0040d770
mov dword [eax + 0x28], 1
jmp 0x40a321
mov eax, dword [esp + 0xc]
mov edx, esi
mov ecx, dword [eax - 0x68]
call fcn.0040d770
cmp dword [0x4d7b58], 0
mov dword [esp + 0x10], eax
mov dword [eax + 0x28], 0xfffffffe
jne case.0x40600d.5
mov ecx, str.To_use_smart_pointers_you_should_also_use_wsdl2h_and_soapcpp2_with_option__c11_or__c14_or__c17
call fcn.004010f0
jmp case.0x40600d.5
mov eax, dword [edx - 0x68]
add eax, 0x10
push eax
push str.undeclared__s
push 0x4f18c0
call fcn.004011e0
add esp, 0xc
mov ecx, 0x4f18c0
call fcn.00401050
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
jmp 0x40a31e
mov eax, dword [edx - 0x68]
add eax, 0x10
push eax
push str.perhaps_trying_to_use_a_template_with_an_undefined_type_parameter__s_
jmp 0x4089c2
mov ecx, str.perhaps_trying_to_use_an_undefined_template_or_template_with_a_non_type_template_parameter__Declare_template__typename_T__class_name
jmp 0x4089d4
mov ecx, str.malformed_class_definition__use_spacing_around_:_to_separate_derived_:_base_
call fcn.00401050
xor eax, eax
xor edx, edx
push 4
mov dword [esp + 0x80], eax
lea ecx, [eax + 5]
call fcn.0040d480
jmp 0x40a31e
mov ecx, str.malformed_struct_definition
call fcn.00401050
xor eax, eax
xor edx, edx
push 4
mov dword [esp + 0x80], eax
lea ecx, [eax + 5]
call fcn.0040d480
jmp 0x40a31e
mov ecx, str.malformed_union_definition
call fcn.00401050
xor eax, eax
xor edx, edx
push 4
mov dword [esp + 0x80], eax
lea ecx, [eax + 5]
call fcn.0040d480
jmp 0x40a31e
mov ecx, str.malformed_enum_definition
call fcn.00401050
xor eax, eax
xor edx, edx
push 4
mov dword [esp + 0x80], eax
lea ecx, [eax + 5]
call fcn.0040d480
jmp 0x40a31e
mov eax, dword [0x4ef414]
mov edx, dword [edx - 0x68]
mov ecx, dword [eax]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 0x68]
jmp 0x40a321
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x408b52
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x408b24
call fcn.0045c000
test eax, eax
jne 0x408b09
mov eax, dword [0x4eeb68]
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.struct__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [0x4eeb68]
mov ecx, dword [0x4d7bc4]
mov dword [esp + 0x10], esi
mov edx, dword [esi + 8]
mov dword [edx + 0x28], ecx
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040d250
mov ecx, dword [0x4d7bc4]
mov esi, eax
mov dword [0x4eeb68], esi
mov dword [esp + 0x10], esi
mov edx, dword [esi + 8]
mov dword [edx + 0x28], ecx
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
lea ecx, [edx + 0x15]
call fcn.0040d480
mov esi, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], esi
mov dword [esi + 8], eax
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x408c4a
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x408c10
call fcn.0045c000
test eax, eax
jne 0x408be9
mov eax, dword [0x4eeb68]
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.class__s_already_declared_at__s:_d__redundant_class_specifier_here__
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [0x4eeb68]
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc4]
mov dword [esp + 0x10], esi
mov edx, dword [esi + 8]
mov dword [edx + 0x28], ecx
mov eax, dword [eax]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040d250
mov ecx, dword [0x4d7bc4]
mov esi, eax
mov eax, dword [esp + 0xc]
mov dword [0x4eeb68], esi
mov dword [esp + 0x10], esi
mov edx, dword [esi + 8]
mov dword [edx + 0x28], ecx
mov eax, dword [eax]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
lea ecx, [edx + 0x14]
call fcn.0040d480
mov esi, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], esi
mov ecx, dword [esi]
mov dword [esi + 8], eax
mov dword [eax + 8], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov ecx, eax
mov dword [0x4eeb68], ecx
test ecx, ecx
je 0x408ce4
mov eax, dword [ecx + 8]
cmp dword [eax + 4], 0
je 0x408b24
call fcn.0045c000
test eax, eax
jne 0x408b09
mov eax, dword [0x4eeb68]
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
add eax, 0x10
push eax
push str.union__s_already_declared_at__s:_d
jmp 0x408af2
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
lea ecx, [edx + 0x16]
call fcn.0040d480
mov esi, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], esi
mov dword [esi + 8], eax
jmp case.0x40600d.5
mov edx, dword [edx - 0x68]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x408d86
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
je 0x408db5
push dword [edx + 0x50]
mov eax, dword [esp + 0x10]
push dword [edx + 0x4c]
mov eax, dword [eax - 0x68]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov ecx, dword [edx + 8]
mov eax, dword [eax]
mov dword [ecx + 0x24], eax
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax - 0x68]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 0x12]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov dword [edx + 8], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x10], edx
mov eax, dword [eax]
mov dword [ecx + 0x24], eax
jmp case.0x40600d.5
mov edx, dword [edx - 0x68]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov edx, eax
mov dword [0x4eeb68], edx
test edx, edx
je 0x408e22
mov ecx, dword [edx + 8]
cmp dword [ecx + 4], 0
je 0x408e51
push dword [edx + 0x50]
mov eax, dword [esp + 0x10]
push dword [edx + 0x4c]
mov eax, dword [eax - 0x68]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov edx, dword [0x4eeb68]
jmp 0x408e51
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax - 0x68]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 4
lea ecx, [edx + 0x13]
call fcn.0040d480
mov edx, dword [0x4eeb68]
add esp, 4
mov dword [edx + 8], eax
mov ecx, dword [edx + 8]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], edx
mov eax, dword [eax]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 0x68]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov edx, dword [edx - 0x68]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x408ecf
mov ecx, dword [eax + 8]
cmp dword [ecx + 4], 0
je 0x408ee6
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x68]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov ecx, dword [0x4eeb68]
mov dword [esp + 0x10], ecx
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax - 0x68]
call fcn.0040cfb0
mov dword [0x4eeb68], eax
xor edx, edx
push 9
lea ecx, [edx + 0x12]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], ecx
mov dword [ecx + 8], eax
jmp case.0x40600d.5
mov edx, dword [edx - 0x68]
mov ecx, dword [0x4d7bb8]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je 0x408f70
mov ecx, dword [eax + 8]
cmp dword [ecx + 4], 0
je 0x408f87
push dword [eax + 0x50]
push dword [eax + 0x4c]
mov eax, dword [esp + 0x14]
mov eax, dword [eax - 0x68]
add eax, 0x10
push eax
push str.enum__s_already_declared_at__s:_d
push 0x4f18c0
call fcn.004011e0
add esp, 0x14
mov ecx, 0x4f18c0
call fcn.004010a0
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4eeb68]
mov dword [esp + 0x10], ecx
mov eax, dword [eax - 0x68]
mov dword [eax], 0x145
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax - 0x68]
call fcn.0040cfb0
mov dword [0x4eeb68], eax
xor edx, edx
push 9
lea ecx, [edx + 0x13]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [esp + 0x10], ecx
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 0x68]
mov dword [eax], 0x145
jmp case.0x40600d.5
cmp dword [0x4d7b58], 0
mov eax, dword [edx]
mov dword [esp + 0x10], eax
jne case.0x40600d.5
mov ecx, str.To_use_scoped_enumerations__enum_class__you_should_also_use_wsdl2h_and_soapcpp2_with_option__c11_or__c14_or__c17
call fcn.004010f0
jmp case.0x40600d.5
cmp dword [0x4d7b58], 0
mov eax, dword [edx]
mov dword [esp + 0x10], eax
jne case.0x40600d.5
mov ecx, str.To_use_scoped_enumerations__enum_class__you_must_also_use_wsdl2h_and_soapcpp2_with_option__c11_or__c14_or__c17
call fcn.004010f0
jmp case.0x40600d.5
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
jmp case.0x40600d.5
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0
jmp case.0x40600d.5
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], 0
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bb4]
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
jne 0x409087
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb8]
mov edx, dword [eax]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
jne 0x409087
mov ecx, str.enum_underlying_type_must_be_one_of_int8_t__int16_t__int32_t__int64_t
call fcn.004010a0
jmp case.0x40600d.5
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x24]
cdq
mov dword [esp + 0x14], edx
jmp 0x40a321
mov ecx, str.enum_underlying_type_must_be_one_of_int8_t__int16_t__int32_t__int64_t
call fcn.004010a0
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bb4]
mov edx, dword [eax]
call fcn.0040d220
mov dword [0x4eeb68], eax
test eax, eax
je case.0x40600d.5
mov ecx, dword [eax + 8]
mov ecx, dword [ecx]
cmp ecx, 0x14
je 0x40a321
cmp ecx, 0x15
jne case.0x40600d.5
jmp 0x40a321
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
mov dword [esp + 0x14], eax
lea ecx, [edx + 0x15]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov edi, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov ecx, dword [edi]
mov dword [eax + 8], ecx
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, dword [0x4d7bc0]
call fcn.0040d220
mov dword [esp + 0x10], eax
test eax, eax
jne case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4d7bc0]
mov edx, dword [eax]
call fcn.0040cfb0
xor edx, edx
mov dword [0x4eeb68], eax
push 0
mov dword [esp + 0x14], eax
lea ecx, [edx + 0x14]
call fcn.0040d480
mov ecx, dword [0x4eeb68]
add esp, 4
mov dword [ecx + 8], eax
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [eax], 0x145
jmp case.0x40600d.5
cmp dword [0x4d7bc4], 0xfffffffe
jg 0x4091d6
mov dword [0x4d7bc4], 0
xor ecx, ecx
mov dword [0x4d7bac], 0
call fcn.0040ced0
xor edx, edx
mov ecx, eax
call fcn.0040b080
mov eax, dword [0x4ef414]
mov dword [eax + 4], 0
jmp case.0x40600d.5
cmp dword [0x4d7bc4], 0xfffffffe
jg 0x409214
mov dword [0x4d7bc4], 0
xor ecx, ecx
mov dword [0x4d7bac], 0
call fcn.0040ced0
xor edx, edx
mov ecx, eax
call fcn.0040b080
mov eax, dword [0x4ef414]
mov dword [eax + 4], 0
mov dword [eax + 0x7c], 0
jmp case.0x40600d.5
xor ecx, ecx
call fcn.0040ced0
xor edx, edx
mov ecx, eax
call fcn.0040b080
mov eax, dword [0x4ef414]
mov dword [eax + 4], 0
mov dword [eax + 0x80], 1
mov dword [eax + 0x70], 1
mov dword [eax + 0x74], 0
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov eax, dword [eax]
cmp dword [eax + 4], 0
jne 0x409293
or dword [0x4d7bc4], 1
xor ecx, ecx
mov dword [0x4d7bac], 0
call fcn.0040ced0
xor edx, edx
mov ecx, eax
call fcn.0040b080
mov eax, dword [0x4ef414]
mov dword [eax + 4], 0
mov eax, dword [eax]
mov dword [eax + 4], 2
jmp case.0x40600d.5
mov dword [esp + 0x10], 1
jmp case.0x40600d.5
mov dword [esp + 0x10], 2
jmp case.0x40600d.5
mov dword [esp + 0x10], 4
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x40000
jmp case.0x40600d.5
mov dword [esp + 0x10], 8
mov dword [0x4d7bc4], 1
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x10
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x20
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x40
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x100
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x200
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x800
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x1000
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x4000
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x8000
jmp case.0x40600d.5
cmp dword [0x4d7b50], 0
mov dword [esp + 0x10], 0x10000
je case.0x40600d.5
mov ecx, str.SOAP_RPC_encoding_does_not_support_XML_attributes
call fcn.004010f0
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x20000
jmp case.0x40600d.5
mov dword [esp + 0x10], 8
mov dword [0x4d7bc4], 0xfffffffe
jmp case.0x40600d.5
mov dword [esp + 0x10], 0x200000
mov dword [0x4d7bc4], 0xfffffffc
jmp case.0x40600d.5
mov dword [esp + 0x10], 0
jmp case.0x40600d.5
mov eax, dword [edx - 0x68]
or eax, 0x80
jmp 0x40a321
mov eax, dword [edx - 0x68]
or eax, 0x100
jmp 0x40a321
mov eax, dword [edx - 0x68]
or eax, 0x200
jmp 0x40a321
mov dword [esp + 0x10], 0x2000
jmp case.0x40600d.5
mov eax, dword [0x4ef414]
mov ecx, 0x1a
mov edi, 0x4eeb00
lea esi, [eax + 8]
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 8]
mov ecx, 0x1a
lea edi, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
mov eax, dword [0x4eeb04]
test al, 0x40
je 0x409464
and eax, 0xffffffbf
or eax, 0x400
mov dword [0x4eeb04], eax
mov ecx, 0x17
mov edx, dword [0x4eeb00]
push 4
call fcn.0040d480
mov ecx, dword [0x4d7bc4]
add esp, 4
mov dword [0x4eeb00], eax
mov dword [eax + 0x28], ecx
mov esi, 0x4eeb00
lea edi, [esp + 0x10]
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
mov ecx, 0x18
jmp 0x409469
mov ecx, 0x19
jmp 0x409469
cmp dword [0x4d7b70], 0
jne 0x4094ea
mov eax, dword [edx]
cmp dword [eax], 2
jne 0x4094ea
mov eax, dword [edx - 0xbc]
mov ecx, dword [edx - 0xc0]
push eax
push ecx
push eax
push ecx
push str.char__I64d__will_be_serialized_as_an_array_of__I64d_bytes:_use_soapcpp2_option__b_to_enable_char___string_serialization_or_use_char_for_strings
push 0x4f18c0
call fcn.004011e0
add esp, 0x18
mov ecx, 0x4f18c0
call fcn.004010f0
mov edx, dword [esp + 0xc]
cmp dword [edx - 0xc8], 0
je 0x409545
mov eax, dword [edx - 0xd0]
cmp dword [eax], 5
jne 0x409545
cmp dword [edx - 0xbc], 0
mov ecx, dword [edx - 0xc0]
jl 0x409545
jg 0x409513
test ecx, ecx
je 0x409545
mov edx, dword [edx]
mov eax, dword [edx + 0x24]
test eax, eax
jle 0x409541
imul eax, ecx
mov ecx, 0x1a
push eax
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
jmp case.0x40600d.5
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov ecx, 0x1a
push 0
call fcn.0040d480
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, str.undetermined_array_size
call fcn.004010a0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
jmp case.0x40600d.5
mov edx, dword [edx]
mov ecx, 0x17
push 4
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x14], eax
jmp case.0x40600d.5
mov eax, dword [edx]
mov edx, dword [eax]
cmp edx, 0x15
je 0x4095a7
cmp edx, 0x14
jne 0x4095ef
cmp dword [eax + 4], 0
jne 0x4095ef
cmp dword [eax + 0x28], 0
jne 0x4095ef
mov edi, dword [esp + 0xc]
test byte [edi + 4], 0x10
jne 0x4095ef
mov ecx, dword [eax + 8]
cmp edx, 0x15
mov edx, str.struct__s_has_incomplete_type__if_this_struct_is_not_serializable_then_declare_extern_struct__s_
je 0x4095cf
mov edx, str.class__s_has_incomplete_type__if_this_class_is_not_serializable_then_declare_extern_class__s_
lea eax, [ecx + 0x10]
push eax
lea eax, [ecx + 0x10]
push eax
push edx
push 0x4f18c0
call fcn.004011e0
add esp, 0x10
mov ecx, 0x4f18c0
call fcn.004010a0
mov esi, dword [esp + 0xc]
lea edi, [esp + 0x10]
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
cmp dword [edx - 0x60], 0
je 0x409633
mov eax, dword [edx - 0x68]
mov ecx, dword [edx - 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [edx - 0x58]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp case.0x40600d.5
mov ecx, str.initialization_expression_not_constant
mov dword [esp + 0x18], 0
call fcn.004010a0
jmp case.0x40600d.5
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp case.0x40600d.5
cmp dword [edx + 8], 0
je 0x409633
mov eax, dword [edx]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp case.0x40600d.5
cmp dword [edx + 8], 0
je 0x409633
mov eax, dword [edx]
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp case.0x40600d.5
mov eax, dword [edx]
xorps xmm0, xmm0
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x50], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 0
jmp case.0x40600d.5
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
test eax, eax
jg 0x40975b
jl 0x40974b
test ecx, ecx
jae 0x40975b
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov eax, dword [edx - 0x68]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x50], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 0
jmp case.0x40600d.5
mov eax, dword [edx - 0x64]
mov ecx, dword [edx - 0x68]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
test eax, eax
jg 0x4097db
jl 0x4097cb
test ecx, ecx
jae 0x4097db
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov eax, dword [edx - 0xd0]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x50], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 0
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [edx - 0xcc]
mov esi, dword [edx - 0xd0]
mov edx, dword [edx]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
test ecx, ecx
jl 0x409869
jg 0x409855
test esi, esi
jb 0x409869
test eax, eax
jl 0x409869
jg 0x40985f
test edx, edx
jb 0x409869
cmp ecx, eax
jl 0x409889
jg 0x409869
cmp esi, edx
jbe 0x409889
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0xc]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
movlpd qword [esp + 0x48], xmm0
mov eax, dword [eax - 0x138]
movlpd qword [esp + 0x50], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], 0
jmp case.0x40600d.5
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
test eax, eax
jg 0x4097db
jl 0x409907
test ecx, ecx
jae 0x4097db
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
jmp 0x4097db
mov eax, dword [edx - 0x68]
xorps xmm0, xmm0
mov dword [esp + 0x68], eax
mov eax, dword [edx]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
movlpd qword [esp + 0x48], xmm0
movlpd qword [esp + 0x50], xmm0
movups xmmword [esp + 0x58], xmm0
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x70], eax
jmp case.0x40600d.5
mov eax, dword [edx + 0x20]
mov ecx, dword [edx - 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [edx - 0x68]
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
test ecx, ecx
jg 0x4099d8
jl 0x4099c8
test eax, eax
jae 0x4099d8
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
xorps xmm0, xmm0
mov dword [esp + 0x48], eax
movlpd qword [esp + 0x50], xmm0
movsd xmm0, qword [edx - 0x60]
movsd qword [esp + 0x58], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x4c], ecx
mov eax, dword [edx - 0x138]
mov dword [esp + 0x68], eax
mov eax, dword [edx - 0xd0]
movsd qword [esp + 0x60], xmm0
mov dword [esp + 0x70], eax
jmp case.0x40600d.5
mov eax, dword [edx - 0x48]
mov esi, dword [edx - 0xcc]
mov ecx, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [edx - 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [edx - 0xd0]
mov edx, dword [edx + 4]
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
test esi, esi
jl 0x409a73
jg 0x409a5f
test eax, eax
jb 0x409a73
test edx, edx
jl 0x409a73
jg 0x409a69
test ecx, ecx
jb 0x409a73
cmp esi, edx
jl 0x409a93
jg 0x409a73
cmp eax, ecx
jbe 0x409a93
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], edx
movsd xmm0, qword [eax - 0xc8]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [eax + 8]
mov eax, dword [eax - 0x1a0]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xc]
movsd qword [esp + 0x60], xmm0
mov eax, dword [eax - 0x138]
mov dword [esp + 0x70], eax
jmp case.0x40600d.5
mov eax, dword [edx - 0x48]
mov ecx, dword [edx + 4]
mov dword [esp + 0x30], eax
mov eax, dword [edx - 0x44]
mov dword [esp + 0x34], eax
mov eax, dword [edx]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 1
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
test ecx, ecx
jg 0x409b32
jl 0x409b22
test eax, eax
jae 0x409b32
mov dword [esp + 0x40], 1
mov dword [esp + 0x44], 0
xorps xmm0, xmm0
mov dword [esp + 0x50], eax
movlpd qword [esp + 0x48], xmm0
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edx + 8]
mov dword [esp + 0x54], ecx
jmp 0x4099f7
mov eax, dword [0x4d7ba0]
dec eax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x98], eax
sbb eax, eax
inc eax
jmp 0x40a321
movsd xmm0, qword [edx]
movsd qword [esp + 0x18], xmm0
call fcn.00490710
mov dword [esp + 0x14], edx
jmp 0x40a321
mov ecx, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004907c0
movsd qword [esp + 0x18], xmm0
jmp case.0x40600d.5
movsx eax, byte [edx]
cdq
mov ecx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004907c0
movsd qword [esp + 0x18], xmm0
jmp case.0x40600d.5
movsd xmm0, qword [edx + 8]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [esp + 0x14], ecx
movsd qword [esp + 0x18], xmm0
jmp 0x40a321
mov ecx, dword [edx]
mov eax, dword [edx + 4]
neg ecx
movsd xmm0, qword [edx + 8]
xorps xmm0, xmmword [0x4d4680]
adc eax, 0
neg eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
movsd qword [esp + 0x18], xmm0
jmp case.0x40600d.5
mov dword [esp + 0x34], 1
mov dword [esp + 0x30], 1
jmp case.0x40600d.5
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 1
jmp case.0x40600d.5
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 0
jmp case.0x40600d.5
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
jmp case.0x40600d.5
mov eax, dword [edx - 0xd0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x40a321
xor edx, edx
mov dword [esp + 0x18], 0
push 4
lea ecx, [edx + 5]
call fcn.0040d480
jmp 0x40a31e
sub esp, 0x68
lea eax, [esp + 0x118]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, str._____
push eax
call fcn.0040aeb0
mov esi, eax
lea edi, [esp + 0xe4]
mov ecx, 0x1a
add esp, 0xd4
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
sub esp, 0x68
lea eax, [esp + 0x180]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x49e118
jmp 0x409cbb
sub esp, 0x68
lea eax, [esp + 0x1e8]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x49e11c
jmp 0x409cbb
sub esp, 0x68
lea eax, [esp + 0x250]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e120
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x2b8]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e124
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x320]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e128
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x388]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e12c
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x3f0]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e130
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x458]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e134
call fcn.0040afb0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x4c0]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x49e138
jmp 0x409cbb
sub esp, 0x68
lea eax, [esp + 0x528]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x49e13c
jmp 0x409cbb
sub esp, 0x68
lea eax, [esp + 0x590]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e140
call fcn.0040a9b0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x5f8]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e144
call fcn.0040a9b0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x660]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e148
call fcn.0040a9b0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x6c8]
mov edi, esp
mov esi, edx
mov ecx, 0x1a
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov edi, esp
mov ecx, 0x1a
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x49e14c
call fcn.0040a9b0
jmp 0x409cc1
sub esp, 0x68
lea eax, [esp + 0x730]
mov edi, esp
mov ecx, 0x1a
mov esi, edx
sub esp, 0x68
rep movsd dword es:[edi], dword [esi]
lea esi, [edx - 0xd0]
mov ecx, 0x1a
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x49e150
jmp 0x409cbb
mov edx, dword [edx + 8]
test edx, edx
je 0x40a02f
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
or eax, dword [ecx + 0x14]
jne 0x40a00d
mov eax, 1
xor ecx, ecx
jmp 0x40a027
xorps xmm0, xmm0
movlpd qword [esp + 0xa0], xmm0
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov eax, dword [eax]
jmp 0x40a321
mov edx, dword [edx + 8]
test edx, edx
je 0x40a05b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
not ecx
not eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edx
mov eax, dword [eax]
jmp 0x40a321
cmp dword [edx + 8], 0
je 0x40a0eb
mov ecx, dword [edx]
call fcn.0040b280
test eax, eax
je 0x40a0a6
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [edx + 0x14]
neg ecx
mov dword [esp + 0x20], ecx
adc eax, 0
neg eax
mov dword [esp + 0x24], eax
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x18], eax
jmp case.0x40600d.5
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
call fcn.0040b2b0
test eax, eax
je 0x40a0dd
mov edx, dword [esp + 0xc]
movsd xmm0, qword [edx + 0x10]
mov eax, dword [edx]
xorps xmm0, xmmword [0x4d4680]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 0x18], eax
jmp case.0x40600d.5
mov ecx, 0x49e154
call fcn.00401150
mov edx, dword [esp + 0xc]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x18], eax
jmp case.0x40600d.5
mov eax, dword [edx]
cmp dword [eax], 0x17
jne 0x40a10c
mov eax, dword [eax + 4]
jmp 0x409c61
mov ecx, str.dereference_of_non_pointer_type
call fcn.00401150
mov edi, dword [esp + 0xc]
mov eax, dword [edi]
jmp 0x409c61
mov edx, dword [edx]
mov ecx, 0x17
push 4
call fcn.0040d480
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp 0x40a31e
xor edx, edx
mov dword [esp + 0x18], 1
push 4
mov dword [esp + 0x20], 0
lea ecx, [edx + 5]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov eax, dword [eax - 0x68]
mov eax, dword [eax + 0x24]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp case.0x40600d.5
lea esi, [edx - 0x68]
mov ecx, 0x1a
lea edi, [esp + 0x10]
rep movsd dword es:[edi], dword [esi]
jmp case.0x40600d.5
mov ecx, dword [edx]
call fcn.0040d330
mov dword [0x4eeb68], eax
test eax, eax
jne 0x40a1b4
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
call fcn.0040b100
mov dword [0x4eeb68], eax
jmp 0x40a1bc
mov dword [esp + 0x18], 1
mov ecx, eax
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 8]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp case.0x40600d.5
xor edx, edx
push 4
lea ecx, [edx + 5]
call fcn.0040d480
mov ecx, dword [esp + 0x10]
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
jmp case.0x40600d.5
xor edx, edx
push 4
lea ecx, [edx + 8]
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
movsd xmm0, qword [eax]
movsd qword [esp + 0x20], xmm0
jmp case.0x40600d.5
mov ecx, dword [esp + 0x98]
xor edx, edx
push 1
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
movsx eax, byte [eax]
cdq
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jmp case.0x40600d.5
mov ecx, dword [esp + 0x98]
xor edx, edx
push 4
push 1
call fcn.0040d480
add esp, 4
mov edx, eax
mov ecx, 0x17
call fcn.0040d480
mov dword [esp + 0x14], eax
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jmp case.0x40600d.5
mov edx, dword [0x4d7bcc]
mov ecx, 0x12
push 4
call fcn.0040d480
xorps xmm0, xmm0
movlpd qword [esp + 0x24], xmm0
jmp 0x40a30e
mov edx, dword [0x4d7bcc]
mov ecx, 0x12
push 4
call fcn.0040d480
mov dword [esp + 0x24], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 1
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x9c]
lea esi, [esp + 0x10]
imul eax, ecx, 0xffffff98
neg ecx
add dword [esp + 0xc], eax
mov eax, dword [esp + 0x80]
lea eax, [eax + ecx*2]
mov ecx, 0x1a
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc]
add eax, 0x68
mov edi, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
movzx edx, byte [eax + 0x49a9f8]
mov eax, dword [esp + 0x80]
movsx ecx, word [edx*2 + 0x499b14]
movzx eax, word [eax]
mov esi, eax
cwde
add eax, ecx
cmp eax, 0x6a7
ja 0x40a39e
cmp word [eax*2 + 0x49ac58], si
jne 0x40a39e
movsx edx, word [eax*2 + 0x499ca8]
jmp 0x40a3a6
movsx edx, word [edx*2 + 0x49c174]
mov dword [esp + 0x84], edx
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0xc]
add esi, 2
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
jmp 0x405d93
mov ecx, str.memory_exhausted
call fcn.00401040
mov esi, 2
jmp 0x40a3e1
xor esi, esi
mov eax, dword [esp + 0x88]
lea ecx, [esp + 0x5870]
cmp eax, ecx
je 0x40a3fc
push eax
call fcn.00479427
add esp, 4
mov ecx, dword [esp + 0x5a04]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.0047263f
mov esp, ebp
pop ebp
ret