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

Disassembly:
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [edx + 0x18]
jae 0x40af21
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe78]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe7c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xe84], edx
mov dword [ebp - 0xc4], 0
jmp 0x40ad85
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
test edx, edx
je 0x40ae37
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
test ecx, ecx
je 0x40ae37
push eax
push eax
add esp, 4
jmp 0x40adbf
or eax, 0x8b5a
call 0x40add4
add byte [ebp + edi + 0x40], al
inc ebp
inc edx
dec edx
inc ecx
xor al, byte [edi - 0x7d]
les eax, [eax + ebx*2]
push esi
push esi
add esp, 4
xor esi, 0x11e5f
pop esi
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
cmp eax, edx
je 0x40ae29
mov eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x4d0]
cmp ecx, eax
jne 0x40ae30
jmp 0x40ad76
jmp 0x40ae37
push edx
push esi
add esp, 4
and edx, 0x111ab
xor edx, 0xb70
add edx, 0x153f
pop edx
push ebx
or ebx, 0x13e5d
and ebx, 0x4b5
pop ebx
push eax
push ebx
add esp, 4
xor eax, 0xeb6b
pop eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
cmp edx, ecx
jne 0x40ae96
mov dword [ebp - 0x6ec], 0
jmp 0x40af05
push ecx
jmp 0x40ae9e
call 0x40aead
add byte [edi + 0x4e], cl
inc esp
inc ebx
dec ecx
cmp al, 0x37
cmp byte [ecx - 0x7d], al
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
dec esi
push eax
dec ebx
xor eax, dword [ecx + 0x4c]
add esp, 4
pop ecx
push edi
sub edi, 0x15880
pop edi
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
or edx, 0x20
cmp eax, edx
jge 0x40aefb
mov dword [ebp - 0x6ec], 0xffffffff
jmp 0x40af05
mov dword [ebp - 0x6ec], 1
cmp dword [ebp - 0x6ec], 0
jne 0x40af1c
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0x240], eax
jmp 0x40af2d
jmp 0x40ad06
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x40b008
push ebx
push edx
add esp, 4
add ebx, 0x22ac
call 0x40af54
add byte [edx + 0x4f], cl
push eax
inc ebp
dec esi
inc ebx
dec edi
dec edx
inc ebx
add esp, 4
pop ebx
push ebx
xor ebx, 0x15391
pop ebx
push edi
push eax
add esp, 4
add edi, 0xa624
pop edi
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0xe88], edx
push ebx
call 0x40af89
add byte [edx + 0x37], cl
inc ebx
cmp edi, dword [edx]
inc edx
xor ecx, dword [esi + 0x43]
dec eax
add esp, 4
call 0x40af98
add byte [ebp + 0x41], al
cmp cl, byte [edi + eax*2 + 0x32]
add esp, 4
pop ebx
push edx
add edx, 0x3918
xor edx, 0x15502
pop edx
mov eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe8c], eax
lea ecx, [ebp - 0xc50]
push ecx
call dword [ebp - 0xe8c]
test eax, eax
jne 0x40b008
push edx
or edx, 0xc59c
jmp 0x40afd3
and edx, 0x121ff
pop edx
push edi
push ecx
add esp, 4
jmp 0x40afe6
and edi, 0x100ae
or edi, 0xf4c4
xor edi, 0x17587
pop edi
mov dword [ebp - 0x618], 0
jmp 0x40b6f3
push eax
and eax, 0x135f3
add eax, 0x1157a
xor eax, 0x9b9f
pop eax
push esi
push edx
add esp, 4
call 0x40b030
add byte [esi + 0x44], al
dec ecx
inc ebp
cmp dword [edi + ecx*2], esi
dec ecx
xor eax, 0x8104c483
invalid
push ecx
push edi
add esp, 4
add ecx, 0x10872
pop ecx
push eax
or eax, 0x5e9
sub eax, 0x325d
call 0x40b71b
add byte [ecx + eax*2], dh
dec eax
dec esi
inc eax
cmp byte [0xc4834336], dh
add al, 0x81
rcr byte [edx], 0xd9
add byte [eax], al
pop eax
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xea8], eax
lea ecx, [ebp - 0x700]
push ecx
push 0x40
mov edx, dword [ebp - 0xc0c]
push edx
mov eax, dword [ebp - 0x228]
push eax
call dword [ebp - 0xea8]
test eax, eax
jne 0x40b798
push edx
and edx, 0x1308b
pop edx
push edi
jmp 0x40b762
call 0x40b772
add byte [eax + 0x49], cl
inc ebp
cmp al, 0x47
inc eax
inc eax
dec ecx
aaa
cmp al, byte [ebx - 0x187efb3c]
pop es
aas
add dword [eax], eax
pop edi
push ecx
add ecx, 0x10ab0
pop ecx
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0xeac], ecx
push 0
call dword [ebp - 0xeac]
mov edx, dword [ebp - 0xeb0]
mov dword [ebp - 0x414], edx
jmp 0x40b7b5
mov eax, dword [ebp - 0x414]
add eax, 1
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x614]
jae 0x40b811
push edi
xor edi, 0x19a7
jmp 0x40b7d0
or edi, 0x16e3b
and edi, 0x15e41
pop edi
push esi
push esi
add esp, 4
add esi, 0xc857
or esi, 0x807a
and esi, 0x6e81
pop esi
movzx edx, byte [ebp - 0x1fd]
mov eax, dword [ebp - 0x414]
movsx ecx, byte [eax]
sub ecx, edx
mov edx, dword [ebp - 0x414]
mov byte [edx], cl
jmp 0x40b7a6
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xeb4], eax
lea ecx, [ebp - 0x700]
push ecx
mov edx, dword [ebp - 0x700]
push edx
mov eax, dword [ebp - 0xc0c]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
call dword [ebp - 0xeb4]
test eax, eax
jne 0x40b889
push edx
or edx, 0xd351
sub edx, 0x8361
or edx, 0x93c4
pop edx
push edx
push eax
add esp, 4
and edx, 0xfb97
or edx, 0x2f1a
or edx, 0xa38e
add edx, 0x15017
pop edx
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0xeb8], edx
push 0
call dword [ebp - 0xeb8]
push ecx
add ecx, 0x4833
pop ecx
push esi
push edi
add esp, 4
or esi, 0x6aa4
sub esi, 0x10633
pop esi
push esi
push esi
add esp, 4
xor esi, 0xceab
sub esi, 0xbb7a
xor esi, 0x7594
pop esi
push ecx
mov ecx, 0x10101010
pop ecx
push ecx
mov ecx, 0xffff01ff
pop ecx
push esp
push edi
test ch, al
add eax, 0x1010ae9
add dword [ecx], eax
inc esi
dec edx
xor eax, dword ss:[ecx + 0x3b]
test ch, al
add eax, 0xab9ec482
add dword [ecx], eax
sub ah, 0xe3
pop eax
add al, byte [ecx]
jmp 0x141b9f8