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

Disassembly:
mov ecx, dword [ebp - 0x784]
add ecx, 1
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x780]
mov eax, dword [ebp - 0x784]
cmp eax, dword [edx + 0x18]
jae 0x40a675
mov ecx, dword [ebp - 0x784]
mov edx, dword [ebp - 0x1a18]
mov eax, dword [ebp - 0x35c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x784]
mov edx, dword [ebp - 0x1a1c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1a20]
mov edx, dword [ebp - 0x35c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x1a24], edx
mov dword [ebp - 0x1d0], 0
jmp 0x40a4d9
mov eax, dword [ebp - 0x1d0]
add eax, 1
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x788]
add ecx, dword [ebp - 0x1d0]
movsx edx, byte [ecx]
test edx, edx
je 0x40a58b
mov eax, dword [ebp - 0x1d0]
movsx ecx, byte [ebp + eax - 0x8ac]
test ecx, ecx
je 0x40a58b
push edi
push ebx
add esp, 4
jmp 0x40a514
call 0x40a520
add byte [ecx + 0x49], cl
xor dh, byte [ebx]
cmp byte ds:[ebx - 0x107efb3c], al
out dx, eax
inc edx
add byte [eax], al
pop edi
push edi
sub edi, 0x121b1
add edi, 0x10744
pop edi
mov edx, dword [ebp - 0x788]
add edx, dword [ebp - 0x1d0]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1d0]
movsx edx, byte [ebp + ecx - 0x8ac]
cmp eax, edx
je 0x40a57d
mov eax, dword [ebp - 0x788]
add eax, dword [ebp - 0x1d0]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0x1d0]
movsx eax, byte [ebp + edx - 0x8ac]
cmp ecx, eax
jne 0x40a584
jmp 0x40a4ca
jmp 0x40a58b
push edx
sub edx, 0xfbf9
pop edx
push edi
jmp 0x40a599
or edi, 0x6f32
pop edi
push edx
jmp 0x40a5aa
pop edx
push esi
push ebx
add esp, 4
add esi, 0x5772
sub esi, 0x18048
pop esi
mov ecx, dword [ebp - 0x788]
add ecx, dword [ebp - 0x1d0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1d0]
movsx ecx, byte [ebp + eax - 0x8ac]
cmp edx, ecx
jne 0x40a5ea
mov dword [ebp - 0xce4], 0
jmp 0x40a659
push edi
push edi
add esp, 4
call fcn.0040a5fc
add byte [ebp + 0x4f], cl
xor cl, byte ds:[esi + 0x48]
xor al, 0x83
add esp, 4
invalid
invalid
add esp, 4
add edi, 0x15457
pop edi
push eax
jmp 0x40a60d
pop eax
push edi
and edi, 0x4872
sub edi, 0x1c92
pop edi
mov edx, dword [ebp - 0x788]
add edx, dword [ebp - 0x1d0]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0x1d0]
movsx edx, byte [ebp + ecx - 0x8ac]
or edx, 0x20
cmp eax, edx
jge 0x40a64f
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x40a659
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x40a670
mov eax, dword [ebp - 0x1a24]
mov dword [ebp - 0x3f8], eax
jmp 0x40a681
jmp 0x40a45a
mov ecx, dword [ebp - 0x78c]
mov dword [ebp - 0x3f8], ecx
cmp dword [ebp - 0x3f8], 0
je 0x40a75c
push esi
push edx
add esp, 4
sub esi, 0x88b7
add esi, 0x13c4a
jmp 0x40a6a5
and esi, 0x1475d
pop esi
push edi
and edi, 0xc147
or edi, 0x105af
and edi, 0xf82f
pop edi
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x1a28], edx
push ecx
add ecx, 0x1436
jmp 0x40a6db
and ecx, 0xc24d
pop ecx
push eax
push edx
add esp, 4
sub eax, 0xe93f
pop eax
push eax
xor eax, 0xba34
pop eax
push edi
add edi, 0x2337
pop edi
mov eax, dword [ebp - 0x1a28]
mov dword [ebp - 0x1a2c], eax
lea ecx, [ebp - 0x173c]
push ecx
call dword [ebp - 0x1a2c]
test eax, eax
jne 0x40a75c
push edx
push edi
add esp, 4
sub edx, 0x160fd
pop edx
push eax
push eax
add esp, 4
xor eax, 0xa7b0
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0xcb8a
pop ecx
push ecx
or ecx, 0x1f5d
xor ecx, 0x63b
pop ecx
mov dword [ebp - 0xad4], 0
jmp 0x40ae47