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

Disassembly:
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ecx + 0x18]
jae 0x40cc60
push esi
and esi, 0x8f0
xor esi, 0x136a5
or esi, 0x14730
pop esi
push ecx
push ebx
add esp, 4
jmp 0x40c9bc
and ecx, 0x10d58
pop ecx
push ebx
push ebx
add esp, 4
or ebx, 0xd33a
pop ebx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edx
push ebx
xor ebx, 0x6355
call 0x40c9fd
add byte [eax + 0x35], cl
inc eax
dec eax
inc esp
aaa
inc ecx
xor al, 0x33
add esp, 4
xor ebx, 0x598e
pop ebx
push ebx
push ebx
add esp, 4
or ebx, 0x14a9f
xor ebx, 0x3e34
pop ebx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x450]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x458], ecx
push edx
push esi
add esp, 4
add edx, 0x2917
add edx, 0xda75
pop edx
push edx
call 0x40ca5a
add byte [ebx + 0x48], al
dec edi
dec esp
aas
add esp, 4
jmp 0x40ca66
or edx, 0x1494e
pop edx
mov dword [ebp - 0x40], 0
jmp 0x40ca7f
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40cb1b
add byte [eax], al
invalid
add byte [eax], al
add byte [ebx - 0x41f03fab], cl
test byte [0xfffffe8c], dl
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
test eax, eax
je 0x40cb1b
push eax
jmp 0x40caac
add eax, 0x16c4b
and eax, 0x15bba
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x10455
jmp 0x40cacc
jmp 0x40cad3
pop eax
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
cmp edx, ecx
je 0x40cb0d
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x40]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x40]
movsx edx, byte [ebp + ecx - 0x174]
cmp eax, edx
jne 0x40cb14
jmp 0x40ca76
jmp 0x40cb1b
push ecx
push esi
add esp, 4
jmp 0x40cb26
add ecx, 0x17a0d
pop ecx
push ecx
push edx
add esp, 4
or ecx, 0x52cc
pop ecx
push edi
push edx
add esp, 4
jmp 0x40cb46
add edi, 0x11ae5
pop edi
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
cmp ecx, eax
jne 0x40cb77
mov dword [ebp - 0x274], 0
jmp 0x40cc12
push ecx
push ebx
add esp, 4
jmp 0x40cb82
or ecx, 0xcf64
pop ecx
push ecx
push eax
add esp, 4
jmp 0x40cb96
or ecx, 0xd434
jmp 0x40cba3
jmp 0x40cba8
pop ecx
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
or ecx, 0x20
cmp edx, ecx
jge 0x40cbd6
mov dword [ebp - 0x274], 0xffffffff
jmp 0x40cc12
push edx
xor edx, 0x1316c
pop edx
push ebx
push esi
add esp, 4
add ebx, 0xc3e3
xor ebx, 0xe70b
sub ebx, 0x12217
call 0x40cc04
add byte [edi], dh
inc ebx
aas
xor bh, byte [eax]
xor eax, 0x834c3f38
les eax, [ebx + ebx*2]
mov dword [ebp - 0x274], 1
cmp dword [ebp - 0x274], 0
jne 0x40cc5b
push esi
or esi, 0x1068f
or esi, 0x15ca2
pop esi
push ebx
xor ebx, 0x12668
jmp 0x40c979
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x90], eax