Function at 0x40a010
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x6388b4]
sub esp, 0xc
push 0xffff
push 0x639bd8
push eax
call dword [0x638f8c]
xor eax, eax
cmp byte [0x42cff4], al
je 0x40a040
inc eax
cmp byte [eax + 0x42cff4], 0
jne 0x40a036
push esi
inc eax
call fcn.00402930
mov esi, eax
test esi, esi
je 0x40a059
push 0x42cff4
push esi
call dword [0x639134]
push ebx
push edi
push 0x639bd8
call dword [0x638fac]
mov ebx, eax
test esi, esi
je 0x40a073
mov eax, esi
call fcn.00402a20
lea eax, [ebx + 1]
call fcn.00402930
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
je 0x40a090
push 0x639bd8
push edi
call dword [0x639134]
push 0x434c50
call dword [0x638fac]
lea esi, [ebx + eax]
lea eax, [esi + 1]
call fcn.00402930
mov ebx, eax
test ebx, ebx
je 0x40a0c4
test edi, edi
je 0x40a0c4
push edi
push ebx
call dword [0x639134]
push 0x434c50
push ebx
call dword [0x63909c]
mov ecx, dword [ebp + 0x10]
lea edi, [ecx + esi + 1]
mov eax, edi
call fcn.00402930
mov esi, eax
test esi, esi
je 0x40a0f5
test ebx, ebx
je 0x40a0f5
cmp dword [ebp + 8], 0
je 0x40a0f5
push ebx
push esi
call dword [0x639134]
mov edx, dword [ebp + 8]
push edx
push esi
call dword [0x63909c]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40a101
call fcn.00402a20
mov eax, edi
call fcn.00402930
mov edi, eax
test edi, edi
je 0x40a11a
test esi, esi
je 0x40a11a
push esi
push edi
call dword [0x639134]
mov eax, esi
call fcn.00402a20
mov eax, ebx
call fcn.00402a20
mov eax, dword [0x6388b4]
push edi
push eax
call dword [0x638f44]
mov eax, edi
call fcn.00402a20
mov ecx, dword [0x638d78]
push ecx
call dword [0x638f30]
mov esi, eax
mov dword [0x638ea8], esi
test esi, esi
je 0x40a2dc
movzx edi, word [esi]
mov edx, 0x5a4d
cmp di, dx
jne 0x40a195
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a195
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40a195
mov edx, dword [0x638a90]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004075d0
add esp, 0xc
jmp 0x40a197
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638ea0], eax
cmp di, cx
jne 0x40a1d5
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a1d5
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40a1d5
mov ecx, dword [0x638d20]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004075d0
add esp, 0xc
jmp 0x40a1d7
xor eax, eax
mov dword [0x638eb8], eax
mov eax, 0x5a4d
cmp di, ax
jne 0x40a215
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a215
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40a215
mov edx, dword [0x6389e4]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004075d0
add esp, 0xc
jmp 0x40a217
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638e70], eax
cmp di, cx
jne 0x40a255
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a255
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40a255
mov ecx, dword [0x638984]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004075d0
add esp, 0xc
jmp 0x40a257
xor eax, eax
mov dword [0x638e98], eax
mov eax, 0x5a4d
cmp di, ax
jne 0x40a295
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a295
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40a295
mov edx, dword [0x638e20]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004075d0
add esp, 0xc
jmp 0x40a297
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638eac], eax
cmp di, cx
jne 0x40a2d5
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40a2d5
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40a2d5
mov ecx, dword [0x638b10]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004075d0
add esp, 0xc
jmp 0x40a2d7
xor eax, eax
mov dword [0x638e90], eax
cmp dword [0x638ea0], 0
pop edi
pop ebx
je 0x40a328
cmp dword [0x638eb8], 0
je 0x40a328
cmp dword [0x638e70], 0
je 0x40a328
cmp dword [0x638eac], 0
je 0x40a328
cmp dword [0x638e90], 0
je 0x40a328
cmp dword [0x638e98], 0
je 0x40a328
mov eax, dword [ebp + 8]
mov esi, 1
call fcn.00402a20
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
xor esi, esi
call fcn.00402a20
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret