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

Disassembly:
add esp, 4
call 0x40ae4d
add byte [ecx + 0x3b], cl
dec ebx
xor edi, dword [edi]
dec ebx
dec esi
inc esp
inc edx
add esp, 4
jmp 0x40ae55
pop edx
mov dword [ebp - 0x410], 0
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0xc00], ecx
cmp dword [ebp - 0xc00], 0
jne 0x40ae86
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x40b177
mov eax, dword [ebp - 0xc00]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xc04], ecx
jne 0x40aeae
mov edx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], edx
jmp 0x40b177
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xc04]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x40aee0
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], ecx
jmp 0x40b177
mov edx, dword [ebp - 0x1c0]
add edx, dword [ebp - 0xc08]
mov dword [ebp - 0x404], edx
jne 0x40af05
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], eax
jmp 0x40b177
mov ecx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe98], edx
mov eax, dword [ebp - 0x404]
mov ecx, dword [ebp - 0x1c0]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe9c], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xea0], eax
mov dword [ebp - 0x408], 0
jmp 0x40af5f
mov ecx, dword [ebp - 0x408]
add ecx, 1
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x408]
cmp eax, dword [edx + 0x18]
jae 0x40b16b
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe98]
mov eax, dword [ebp - 0x1c0]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0xe9c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xea0]
mov edx, dword [ebp - 0x1c0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xea4], edx
mov dword [ebp - 0xc0], 0
jmp 0x40afcf
mov eax, dword [ebp - 0xc0]
add eax, 1
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x40c]
add ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
test edx, edx
je 0x40b081
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [ebp + eax - 0x598]
test ecx, ecx
je 0x40b081
push esi
or esi, 0x14a76
xor esi, 0xb7bc
call 0x40b018
add byte [esi], dh
cmp al, 0x43
cmp eax, 0x35505044
aas
add esp, 4
pop esi
push eax
push ecx
add esp, 4
or eax, 0x12c05
xor eax, 0x86e8
pop eax
mov edx, dword [ebp - 0x40c]
add edx, dword [ebp - 0xc0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc0]
movsx edx, byte [ebp + ecx - 0x598]
cmp eax, edx
je 0x40b073
mov eax, dword [ebp - 0x40c]
add eax, dword [ebp - 0xc0]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc0]
movsx eax, byte [ebp + edx - 0x598]
cmp ecx, eax
jne 0x40b07a
jmp 0x40afc0
jmp 0x40b081
push edx
push edx
add esp, 4
xor edx, 0x9e6c
pop edx
push ecx
push ecx
add esp, 4
or ecx, 0xe802
pop ecx
push edi
sub edi, 0x3154
pop edi
push ecx
push edx
add esp, 4
xor ecx, 0xbdcd
sub ecx, 0x4047
pop ecx
mov ecx, dword [ebp - 0x40c]
add ecx, dword [ebp - 0xc0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc0]
movsx ecx, byte [ebp + eax - 0x598]
cmp edx, ecx
jne 0x40b0e0
mov dword [ebp - 0x6fc], 0
jmp 0x40b14f
push ebx
or ebx, 0x15802
xor ebx, 0xbd40
and ebx, 0xb8e4
or ebx, 0x5986
pop ebx
push ebx
jmp 0x40b100
jmp 0x40b105
xor ebx, 0xd4d9
and ebx, 0x892b
pop ebx
mov edx, dword [ebp - 0x40c]
add edx, dword [ebp - 0xc0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc0]
movsx edx, byte [ebp + ecx - 0x598]
or edx, 0x20
cmp eax, edx
jge 0x40b145
mov dword [ebp - 0x6fc], 0xffffffff
jmp 0x40b14f
mov dword [ebp - 0x6fc], 1
cmp dword [ebp - 0x6fc], 0
jne 0x40b166
mov eax, dword [ebp - 0xea4]
mov dword [ebp - 0x2ec], eax
jmp 0x40b177
jmp 0x40af50
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0x2ec]
mov dword [ebp - 0x618], edx