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

Disassembly:
push edx
push edi
add esp, 4
sub edx, 0x115cb
sub edx, 0xda6f
or edx, 0x44c9
and edx, 0x4f9c
pop edx
push ebx
or ebx, 0xa8b5
xor ebx, 0xdd36
xor ebx, 0xa17e
pop ebx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x160]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x160]
movsx edx, byte [ebp + ecx - 0x8bc]
cmp eax, edx
jne 0x4084c2
mov dword [ebp - 0xcc4], 0
jmp 0x408531
push ebx
push ecx
add esp, 4
sub ebx, 0xc956
add ebx, 0x17ab9
xor ebx, 0x6a62
add ebx, 0x2326
pop ebx
push ebx
or ebx, 0xc5a8
add ebx, 0x9205
sub ebx, 0x122aa
pop ebx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x160]
movsx eax, byte [ebp + edx - 0x8bc]
or eax, 0x20
cmp ecx, eax
jge 0x408527
mov dword [ebp - 0xcc4], 0xffffffff
jmp 0x408531
mov dword [ebp - 0xcc4], 1
cmp dword [ebp - 0xcc4], 0
jne 0x408548
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x410], ecx
jmp 0x408559
jmp 0x408332
cmp dword [ebp - 0x410], 0
je 0x408634
push edi
and edi, 0x14c81
and edi, 0x1509b
and edi, 0x13c16
pop edi
push eax
or eax, 0x15e7
or eax, 0xbc86
pop eax
push esi
sub esi, 0xe1d1
jmp 0x408597
pop esi
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x19a8], eax
push esi
call 0x4085b5
add byte [edi + 0x33], cl
inc esp
cmp eax, 0x47494938
dec ebp
aas
add esp, 4
sub esi, 0x13f94
and esi, 0x138da
call 0x4085d2
add byte [eax + 0x36], dl
cmp al, byte [ecx + 0x37]
dec ebp
cmp dword [ecx - 0x7d], ecx
les eax, [esi + ebx*2]
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1770]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x408634
push eax
push ebx
add esp, 4
xor eax, 0x1718a
jmp 0x408606
jmp 0x40860d
pop eax
push eax
jmp 0x408618
sub eax, 0x12d27
xor eax, 0x15b7a
pop eax
mov dword [ebp - 0x7ac], 0
jmp 0x408d1e
push eax
sub eax, 0xafef
pop eax
push edx
xor edx, 0x1132d
and edx, 0x121bc
pop edx
push ecx
sub ecx, 0x15820
jmp 0x408659
and ecx, 0x7145
and ecx, 0x178f8
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19b0], eax
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x161c], eax
push esi
jmp 0x408695
sub esi, 0xcac7
jmp 0x4086a2
add esi, 0x136ed
pop esi
push edi
push esi
add esp, 4
call 0x4086bb
add byte [ebx + 0x37], cl
dec ebp
xor eax, 0x83364546
les eax, [edi + ebx*2]
cmp dword [ebp - 0x161c], 0
jne 0x4086d7
mov dword [ebp - 0x2f8], 0
jmp 0x40897e
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcd0], eax
push edi
push esi
add esp, 4
jmp 0x4086f6
pop edi
push edx
call 0x408704
add byte [esi + 0x41], cl
inc ecx
inc edx
xor dh, byte [edx]
add esp, 4
jmp 0x40870e
sub edx, 0x2061
add edx, 0x4a03
pop edx
cmp dword [ebp - 0xcd0], 0
jne 0x408733
mov dword [ebp - 0x2f8], 0
jmp 0x40897e
mov ecx, dword [ebp - 0xcd0]
mov dword [ebp - 0x450], ecx
push esi
call 0x40874f
add byte [eax], bh
dec ebx
inc esi
inc edi
inc edi
dec edi
inc edi
cmp dword [ebx + 0xae804c4], eax
add byte [eax], al
add byte [eax], al
cmp bh, byte ds:[0x3b484743]
inc ebx
dec ecx
add esp, 4
jmp 0x408769
jmp 0x408770
pop esi
lea edx, [ebp - 0x1770]
mov dword [ebp - 0xccc], edx
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc8], ecx
xor edx, edx
mov word [ebp - 0x1c4], dx
xor eax, eax
mov word [ebp - 0x30], ax
push edi
push ebx
add esp, 4
add edi, 0xf88
add edi, 0x14131
add edi, 0xec73
sub edi, 0x5dbb
pop edi
push edi
add edi, 0x11753
and edi, 0x122c3
and edi, 0x1673a
pop edi
mov ecx, dword [ebp - 0xcc8]
mov dx, word [ecx]
mov word [ebp - 0x104e], dx
mov eax, dword [ebp - 0xcc8]
add eax, 2
mov dword [ebp - 0xcc8], eax
mov cx, word [ebp - 0x104e]
mov word [ebp - 0x1c4], cx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1064], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1064]
mov word [ebp - 0x30], dx
push ebx
add ebx, 0x136a1
call 0x408839
add byte [ebx + 0x35], al
inc edx
dec ebx
dec ebp
dec ecx
aas
dec esp
add esp, 4
pop ebx
push ebx
push eax
add esp, 4
jmp 0x408849
sub ebx, 0x89ac
sub ebx, 0x13d34
pop ebx
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x408873
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x4088cd
movzx eax, word [ebp - 0x1c4]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x40879b
movzx edx, word [ebp - 0x1c4]
xor edx, 0x20
movzx eax, word [ebp - 0x30]
cmp edx, eax
je 0x40879b
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
jge 0x4088b7
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x4088c1
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x408916
push ebx
xor ebx, 0xaf4c
pop ebx
push edi
call 0x4088ed
add byte [eax], bh
cmp dh, byte [ebx]
aas
inc ebx
xor bh, byte [edx]
add esp, 4
pop edi
push edi
push esi
add esp, 4
call 0x408904
add byte [edx + ecx*2 + 0x4f], cl
cmp eax, 0x323c374f
add esp, 4
pop edi
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x2f8], ecx
jmp 0x40897e
push edi
push edi
add esp, 4
add edi, 0x101b5
and edi, 0xea38
add edi, 0x59f5
pop edi
push ebx
push esi
add esp, 4
xor ebx, 0xf7b
jmp 0x408941
add ebx, 0xfce9
pop ebx
mov edx, dword [ebp - 0x450]
mov eax, dword [edx]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
cmp ecx, dword [ebp - 0xcd0]
je 0x408974
mov edx, dword [ebp - 0x450]
cmp dword [edx + 0x30], 0
jne 0x40873f
mov dword [ebp - 0x2f8], 0
push esi
push edx
add esp, 4
call 0x408992
add byte [esi + esi + 0x4d], al
inc esi
xor al, 0x3f
dec ebp
xor eax, 0x4c48346
add esi, 0x39c
and esi, 0x2d2d
pop esi
push eax
xor eax, 0x12981
sub eax, 0x18a5
pop eax
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x398], ecx
push ecx
or ecx, 0x5211
add ecx, 0xf695
pop ecx
push edx
push edx
add esp, 4
add edx, 0x212d
jmp 0x4089de
call 0x4089ed
add byte [ebx + 0x43], al
cmp dword [0x4d433836], esi
xor eax, dword [ebx - 0x38a5fb3c]
test dword [eax + 0xfffff8], eax
add byte [eax], al
add byte [ebx - 0x3976b], cl
dec dword [ecx - 0x16276b]
inc dword [ebx - 0x162743]
inc dword [eax]
jne 0x408a21
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x44c], eax
jmp 0x408d12
mov ecx, dword [ebp - 0x1628]
mov edx, dword [ebp - 0x398]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x162c], edx
jne 0x408a49
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x44c], eax
jmp 0x408d12
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x162c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1630], ecx
cmp dword [ebp - 0x1630], 0
jne 0x408a7b
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], edx
jmp 0x408d12
mov eax, dword [ebp - 0x398]
add eax, dword [ebp - 0x1630]
mov dword [ebp - 0x774], eax
jne 0x408aa0
mov ecx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], ecx
jmp 0x408d12
mov edx, dword [ebp - 0x774]
mov eax, dword [ebp - 0x398]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp - 0x398]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x398]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x778], 0
jmp 0x408afa
mov edx, dword [ebp - 0x778]
add edx, 1
mov dword [ebp - 0x778], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [ebp - 0x778]
cmp ecx, dword [eax + 0x18]
jae 0x408d06
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x398]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x398]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c4], eax
mov dword [ebp - 0x120], 0
jmp 0x408b6a
mov ecx, dword [ebp - 0x120]
add ecx, 1
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x77c]
add edx, dword [ebp - 0x120]
movsx eax, byte [edx]
test eax, eax
je 0x408c1c
mov ecx, dword [ebp - 0x120]
movsx edx, byte [ebp + ecx - 0x890]
test edx, edx
je 0x408c1c
push esi
or esi, 0xa2c7
call 0x408bad
add byte [edx + 0x34], cl
dec ebx
dec edx
cmp al, 0x42
xor cl, byte ss:[eax - 0x7d]
les eax, [ecx + eax*4]
out 0x9b, al
dec edx
add byte [eax], al
call 0x408bc5
add byte [edi], dh
cmp bh, byte [edx]
cmp edi, dword [edi]
xor al, 0x36
inc ebp
add esp, 4
pop esi
mov eax, dword [ebp - 0x77c]
add eax, dword [ebp - 0x120]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x120]
movsx eax, byte [ebp + edx - 0x890]
cmp ecx, eax
je 0x408c0e
mov ecx, dword [ebp - 0x77c]
add ecx, dword [ebp - 0x120]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x120]
movsx ecx, byte [ebp + eax - 0x890]
cmp edx, ecx
jne 0x408c15
jmp 0x408b5b
jmp 0x408c1c
push edi
jmp 0x408c24
add edi, 0x7d03
jmp 0x408c33
pop edi
push esi
xor esi, 0x14145
pop esi
push esi
push ecx
add esp, 4
sub esi, 0x1fbe
xor esi, 0xbb88
pop esi
mov edx, dword [ebp - 0x77c]
add edx, dword [ebp - 0x120]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x120]
movsx edx, byte [ebp + ecx - 0x890]
cmp eax, edx
jne 0x408c7b
mov dword [ebp - 0xcd4], 0
jmp 0x408cea
push edx
add edx, 0x6dc9
xor edx, 0xc077
jmp 0x408c8e
pop edx
push edx
push edx
add esp, 4
jmp 0x408c9a
xor edx, 0x7c8b
pop edx
push esi
push esi
add esp, 4
and esi, 0xf464
pop esi
mov eax, dword [ebp - 0x77c]
add eax, dword [ebp - 0x120]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x120]
movsx eax, byte [ebp + edx - 0x890]
or eax, 0x20
cmp ecx, eax
jge 0x408ce0
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x408cea
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x408d01
mov ecx, dword [ebp - 0x19c4]
mov dword [ebp - 0x44c], ecx
jmp 0x408d12
jmp 0x408aeb
mov edx, dword [ebp - 0x780]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x7ac], eax
push ebx
push eax
add esp, 4
call 0x408d2f
add byte [edx], dh
cmp eax, 0x4e4a4b4f
add esp, 4
sub ebx, 0x14cd8
sub ebx, 0x5de2
jmp 0x408d43
pop ebx
push esi
push edx
add esp, 4
and esi, 0xdc7e
pop esi
mov ecx, dword [ebp - 0x408]
add ecx, 0xe
mov dword [ebp - 0x1a14], ecx
push eax
push ecx
add esp, 4
and eax, 0xee89
and eax, 0x13daf
pop eax
push ebx
add ebx, 0x13805
or ebx, 0x12e44
call 0x408d8d
add byte [ebp + 0x37], cl
inc edi
cmp byte ds:[edx + 0x34], al
xor esi, dword [0x5b04c483]
cmp dword [ebp - 0x408], 0
je 0x408da3
cmp dword [ebp - 0xae8], 0
jne 0x408de9
push ebx
push esi
add esp, 4
and ebx, 0x52df
xor ebx, 0x1332a
jmp 0x408dba
pop ebx
push ecx
push ebx
add esp, 4
add ecx, 0x11612
pop ecx
push ecx
sub ecx, 0x7c6b
xor ecx, 0x11dfc
pop ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x19c8], edx
push 0
call dword [ebp - 0x19c8]
mov dword [ebp - 0x2050], 0xa
push ebx
xor ebx, 0x13f2e
or ebx, 0x10c1
sub ebx, 0x2253
pop ebx
push edx
push edx
add esp, 4
xor edx, 0xcf90
call 0x408e21
add byte [esi], dh
inc edx
xor eax, 0x3c3f3f3a
cmp dword ss:[ebx - 0x74a5fb3c], eax
test eax, edi
sti
invalid