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

Disassembly:
add esp, 4
add edi, 0x6a0c
jmp 0x408525
pop edi
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x7dc], 0
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x1770], eax
cmp dword [ebp - 0x1770], 0
jne 0x408565
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x408856
mov edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x348]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1774], eax
jne 0x40858d
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x408856
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1774]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x177c], edx
cmp dword [ebp - 0x177c], 0
jne 0x4085bf
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
jmp 0x408856
mov ecx, dword [ebp - 0x348]
add ecx, dword [ebp - 0x177c]
mov dword [ebp - 0x7d0], ecx
jne 0x4085e4
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], edx
jmp 0x408856
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x348]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1aec], ecx
mov edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x348]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1af0], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x348]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1af4], edx
mov dword [ebp - 0x7d4], 0
jmp 0x40863e
mov eax, dword [ebp - 0x7d4]
add eax, 1
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7d4]
cmp edx, dword [ecx + 0x18]
jae 0x40884a
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1aec]
mov edx, dword [ebp - 0x348]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1af0]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1af4]
mov ecx, dword [ebp - 0x348]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1af8], ecx
mov dword [ebp - 0x1b4], 0
jmp 0x4086ae
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x408760
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x90c]
test eax, eax
je 0x408760
push ebx
push edx
add esp, 4
xor ebx, 0x13789
and ebx, 0x3176
call 0x4086f9
add byte [edi], dh
inc ecx
inc edi
aas
cmp bh, byte [eax]
cmp eax, 0xeb04c483
push es
dec eax
dec esp
dec ebp
xor al, 0x4a
dec ebp
pop ebx
push edi
or edi, 0x12d27
pop edi
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x90c]
cmp edx, ecx
je 0x408752
mov edx, dword [ebp - 0x7d8]
add edx, dword [ebp - 0x1b4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1b4]
movsx edx, byte [ebp + ecx - 0x90c]
cmp eax, edx
jne 0x408759
jmp 0x40869f
jmp 0x408760
push edi
xor edi, 0x17287
jmp 0x40876d
add edi, 0x16ac7
pop edi
push esi
push edx
add esp, 4
and esi, 0x1cde
xor esi, 0x7db8
xor esi, 0xddea
sub esi, 0x7484
pop esi
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x90c]
cmp ecx, eax
jne 0x4087bf
mov dword [ebp - 0xd88], 0
jmp 0x40882e
push edx
jmp 0x4087c5
add edx, 0x14a3e
call 0x4087d8
add byte [0x38374635], bh
xor ecx, dword [edx - 0x7d]
les eax, [edx + ebx*2]
push edx
or edx, 0x4087
sub edx, 0x52b9
jmp 0x4087f0
pop edx
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x90c]
inc dword [ebx - 0x2ec4df37]
jge 0x408824
mov dword [ebp - 0xd88], 0xffffffff
jmp 0x40882e
mov dword [ebp - 0xd88], 1
cmp dword [ebp - 0xd88], 0
jne 0x408845
mov edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x428], edx
jmp 0x408856
jmp 0x40862f
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
je 0x408931
push edi
or edi, 0x15228
or edi, 0xac6b
add edi, 0x14a1a
pop edi
push esi
push eax
add esp, 4
jmp 0x408882
sub esi, 0x2382
sub esi, 0x10fee
xor esi, 0x2230
pop esi
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x1afc], ecx
push edx
push eax
add esp, 4
xor edx, 0x127b1
or edx, 0x8519
or edx, 0x1caf
pop edx
push edi
push edx
add esp, 4
or edi, 0x3b01
jmp 0x4088ca
pop edi
push edx
and edx, 0x135df
pop edx
mov edx, dword [ebp - 0x1afc]
mov dword [ebp - 0x1b00], edx
lea eax, [ebp - 0x1844]
push eax
call dword [ebp - 0x1b00]
test eax, eax
jne 0x408931
push edi
or edi, 0x5773
call 0x408907
add byte [edi + edi + 0x4f], cl
xor eax, 0x3f333649
add esp, 4
xor edi, 0xfd45
call 0x40891e
add byte [edi + 0x48], al
dec ebx
dec ebp
inc edx
dec ebp
xor al, 0x34
add esp, 4
pop edi
mov dword [ebp - 0xb44], 0
jmp 0x40901c