Function at 0x40ac10
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 0x40ac40
inc eax
cmp byte [eax + 0x42cff4], 0
jne 0x40ac36
push esi
inc eax
call fcn.00403530
mov esi, eax
test esi, esi
je 0x40ac59
push 0x42cff4
push esi
call dword [case.0x41d0c4.0]
push ebx
push edi
push 0x639bd8
call dword [0x638fac]
mov ebx, eax
test esi, esi
je 0x40ac73
mov eax, esi
call fcn.00403620
lea eax, [ebx + 1]
call fcn.00403530
mov edi, eax
mov dword [ebp - 0xc], edi
test edi, edi
je 0x40ac90
push 0x639bd8
push edi
call dword [case.0x41d0c4.0]
push 0x434c54
call dword [0x638fac]
lea esi, [ebx + eax]
lea eax, [esi + 1]
call fcn.00403530
mov ebx, eax
test ebx, ebx
je 0x40acc4
test edi, edi
je 0x40acc4
push edi
push ebx
call dword [case.0x41d0c4.0]
push 0x434c54
push ebx
call dword [0x63909c]
mov ecx, dword [ebp + 0x10]
lea edi, [ecx + esi + 1]
mov eax, edi
call fcn.00403530
mov esi, eax
test esi, esi
je 0x40acf5
test ebx, ebx
je 0x40acf5
cmp dword [ebp + 8], 0
je 0x40acf5
push ebx
push esi
call dword [case.0x41d0c4.0]
mov edx, dword [ebp + 8]
push edx
push esi
call dword [0x63909c]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40ad01
call fcn.00403620
mov eax, edi
call fcn.00403530
mov edi, eax
test edi, edi
je 0x40ad1a
test esi, esi
je 0x40ad1a
push esi
push edi
call dword [case.0x41d0c4.0]
mov eax, esi
call fcn.00403620
mov eax, ebx
call fcn.00403620
mov eax, dword [0x6388b4]
push edi
push eax
call dword [0x638f44]
mov eax, edi
call fcn.00403620
mov ecx, dword [0x638d78]
push ecx
call dword [0x638f30]
mov esi, eax
mov dword [0x638ea8], esi
test esi, esi
je 0x40aedc
movzx edi, word [esi]
mov edx, 0x5a4d
cmp di, dx
jne 0x40ad95
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40ad95
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40ad95
mov edx, dword [0x638a90]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004081d0
add esp, 0xc
jmp 0x40ad97
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638ea0], eax
cmp di, cx
jne 0x40add5
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40add5
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40add5
mov ecx, dword [0x638d20]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004081d0
add esp, 0xc
jmp 0x40add7
xor eax, eax
mov dword [0x638eb8], eax
mov eax, 0x5a4d
cmp di, ax
jne 0x40ae15
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40ae15
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40ae15
mov edx, dword [0x6389e4]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004081d0
add esp, 0xc
jmp 0x40ae17
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638e70], eax
cmp di, cx
jne 0x40ae55
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40ae55
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40ae55
mov ecx, dword [0x638984]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004081d0
add esp, 0xc
jmp 0x40ae57
xor eax, eax
mov dword [0x638e98], eax
mov eax, 0x5a4d
cmp di, ax
jne 0x40ae95
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40ae95
mov ecx, 0x10b
cmp word [eax + esi + 0x18], cx
jne 0x40ae95
mov edx, dword [0x638e20]
mov eax, dword [eax + esi + 0x78]
push edx
push esi
push eax
call fcn.004081d0
add esp, 0xc
jmp 0x40ae97
xor eax, eax
mov ecx, 0x5a4d
mov dword [0x638eac], eax
cmp di, cx
jne 0x40aed5
mov eax, dword [esi + 0x3c]
cmp dword [eax + esi], 0x4550
jne 0x40aed5
mov edx, 0x10b
cmp word [eax + esi + 0x18], dx
jne 0x40aed5
mov ecx, dword [0x638b10]
mov edx, dword [eax + esi + 0x78]
push ecx
push esi
push edx
call fcn.004081d0
add esp, 0xc
jmp 0x40aed7
xor eax, eax
mov dword [0x638e90], eax
cmp dword [0x638ea0], 0
pop edi
pop ebx
je 0x40af28
cmp dword [0x638eb8], 0
je 0x40af28
cmp dword [0x638e70], 0
je 0x40af28
cmp dword [0x638eac], 0
je 0x40af28
cmp dword [0x638e90], 0
je 0x40af28
cmp dword [0x638e98], 0
je 0x40af28
mov eax, dword [ebp + 8]
mov esi, 1
call fcn.00403620
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
xor esi, esi
call fcn.00403620
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret