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

Disassembly:
add esp, 4
pop edx
push edi
and edi, 0x60d
add edi, 0x150be
call 0x408448
add byte [0x3e4f4438], bh
dec edi
cmp dh, byte [ebx]
inc esp
dec ebx
add esp, 4
pop edi
cmp dword [ebp - 0xcd4], 0
jne 0x408464
mov dword [ebp - 0x778], 0
jmp 0x4086af
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x51c], edx
push edi
add edi, 0x7617
xor edi, 0xe966
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x5f1d
call 0x408498
add byte [eax], bh
dec ebp
push eax
aaa
xor al, byte [ebp + 0x45]
xor eax, 0x4c48338
or ecx, 0x10659
pop ecx
lea eax, [ebp - 0x17c8]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edi
sub edi, 0xd54e
add edi, 0xca7
xor edi, 0x7829
pop edi
push esi
or esi, 0x107be
pop esi
push edi
add edi, 0xfe21
jmp 0x4084f7
xor edi, 0xe430
pop edi
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x3c], ax
push ebx
push esi
add esp, 4
add ebx, 0x725c
and ebx, 0x109a4
xor ebx, 0x14d93
add ebx, 0x4aea
pop ebx
push edx
xor edx, 0x9917
or edx, 0x5275
add edx, 0x17249
pop edx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x4085a4
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1670], edx
jmp 0x4085fe
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x4084cc
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x4084cc
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x4085e8
mov dword [ebp - 0x162c], 0xffffffff
jmp 0x4085f2
mov dword [ebp - 0x162c], 1
mov ecx, dword [ebp - 0x162c]
mov dword [ebp - 0x1670], ecx
cmp dword [ebp - 0x1670], 0
jne 0x408647
push ebx
push ecx
add esp, 4
xor ebx, 0xf601
xor ebx, 0x8e3e
pop ebx
push edi
push ebx
add esp, 4
add edi, 0x12a4a
pop edi
push edx
xor edx, 0xd0d9
and edx, 0xefca
xor edx, 0x140da
pop edx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x778], edx
jmp 0x4086af
push eax
push ebx
add esp, 4
add eax, 0x8f5
call 0x408661
add byte [ebx], bh
xor eax, 0x4346444a
xor edi, dword [0x4c4833e]
pop eax
push ecx
or ecx, 0x1257c
and ecx, 0x7ced
xor ecx, 0x6c6
pop ecx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xcd4]
je 0x4086a5
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x408470
mov dword [ebp - 0x778], 0
push eax
push esi
add esp, 4
jmp 0x4086b9
pop eax
push ecx
or ecx, 0x3591
or ecx, 0xe960
pop ecx
push ebx
add ebx, 0xf5fa
call 0x4086dd
add byte [ebx + eax*2], dh
inc ecx
dec esi
inc ebp
aaa
xor al, 0x4f
add esp, 4
pop ebx
cmp dword [ebp - 0x778], 0
jne 0x40872b
push ebx
push ecx
add esp, 4
add ebx, 0x9e5b
pop ebx
push eax
and eax, 0x1595a
or eax, 0x42
xor eax, 0x17b9a
pop eax
push esi
push eax
add esp, 4
and esi, 0x13ef8
and esi, 0x15413
pop esi
mov dword [ebp - 0xac0], 0
jmp 0x409253
push ebx
xor ebx, 0x16e64
xor ebx, 0x175c1
and ebx, 0x10909
add ebx, 0x1598c
pop ebx
push edx
push ebx
add esp, 4
or edx, 0x2302
and edx, 0x4878
or edx, 0xbf12
pop edx
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x40879c
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x408a8d
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x4087c4
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x408a8d
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x4087f6
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x408a8d
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x40881b
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x408a8d
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19d8], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19dc], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19e0], edx
mov dword [ebp - 0x780], 0
jmp 0x408875
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x408a81
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19d8]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19dc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e0]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e4], ecx
mov dword [ebp - 0x19c], 0
jmp 0x4088e5
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x408997
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x408997
push edi
sub edi, 0x14051
and edi, 0x142d7
xor edi, 0x17bfa
call 0x408935
add byte [esi], bh
inc ebx
dec edx
xor edi, dword [eax]
dec ecx
dec edx
inc ecx
inc edx
add esp, 4
pop edi
push esi
push eax
add esp, 4
jmp 0x408943
pop esi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x408989
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x408990
jmp 0x4088d6
jmp 0x408997
push ecx
push ebx
add esp, 4
or ecx, 0x76eb
pop ecx
push esi
and esi, 0x11b6d
call 0x4089b9
add byte [esi + 0x4c], cl
inc edi
dec ebx
inc edi
dec edx
cmp byte [esi + 0x33], al
add esp, 4
sub esi, 0x115e3
and esi, 0x11808
pop esi
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x4089f6
mov dword [ebp - 0xcd8], 0
jmp 0x408a65
push ecx
push edi
add esp, 4
add ecx, 0xb1e5
pop ecx
push eax
push edi
add esp, 4
or eax, 0x5ef4
pop eax
push eax
add eax, 0xad97
add eax, 0x12ec7
and eax, 0x73d7
and eax, 0x1464c
pop eax
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x408a5b
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x408a65
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x408a7c
mov edx, dword [ebp - 0x19e4]
mov dword [ebp - 0x3fc], edx
jmp 0x408a8d
jmp 0x408866
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x408b68
push edx
push esi
add esp, 4
and edx, 0x11505
or edx, 0x440d
add edx, 0x17239
xor edx, 0xd09b
pop edx
push ecx
and ecx, 0x411e
or ecx, 0x10888
xor ecx, 0x1742b
pop ecx
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x19e8], ecx
push edx
sub edx, 0x13090
pop edx
push edx
push edx
add esp, 4
xor edx, 0x117db
add edx, 0x95b9
call 0x408b00
add byte [edx + 0x3b], al
dec eax
inc edi
push eax
inc esp
xor eax, dword ds:[ebx - 0xd7efb3c]
in eax, 0x71
add dword [eax], eax
pop edx
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x19ec], edx
lea eax, [ebp - 0x1740]
push eax
call dword [ebp - 0x19ec]
test eax, eax
jne 0x408b68
push ebx
push edi
add esp, 4
and ebx, 0x12dcc
sub ebx, 0x5df2
add ebx, 0x15b75
pop ebx
push eax
push esi
add esp, 4
and eax, 0x1b1f
pop eax
push ebx
and ebx, 0x16bdc
add ebx, 0x14d15
pop ebx
mov dword [ebp - 0xac0], 0
jmp 0x409253