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

Disassembly:
add esp, 4
or edi, 0x10513
pop edi
push eax
add eax, 0x513
or eax, 0x2992
jmp 0x45863c
pop eax
mov ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x34c]
mov dword [ebp - 0xd4], ecx
jne 0x458691
push ebx
and ebx, 0x37f2
pop ebx
push edi
push edi
add esp, 4
add edi, 0x5c7a
pop edi
push eax
push ecx
add esp, 4
and eax, 0x454e
sub eax, 0x14b3
or eax, 0xb202
add eax, 0xde64
pop eax
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x90], edx
jmp 0x458a2a
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x44c], ecx
push eax
push edi
add esp, 4
or eax, 0x1292e
and eax, 0x6c40
xor eax, 0x72fa
xor eax, 0x654
pop eax
push ecx
sub ecx, 0xa2bf
add ecx, 0x175b8
sub ecx, 0x145b0
pop ecx
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x7c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x450], eax
push ebx
or ebx, 0x8492
add ebx, 0x110aa
add ebx, 0x7743
jmp 0x458701
pop ebx
push ecx
call 0x45870f
add byte [edi + eax*2 + 0x43], al
cmp cl, byte [edi + 0x3a]
add esp, 4
or ecx, 0x9a0f
pop ecx
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x454], edx
mov dword [ebp - 0xd8], 0
jmp 0x458746
mov eax, dword [ebp - 0xd8]
add eax, 1
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ecx + 0x18]
jae 0x458a1e
push esi
push eax
add esp, 4
or esi, 0x8363
jmp 0x45876b
pop esi
push edx
push edx
add esp, 4
jmp 0x458779
jmp 0x45877e
xor edx, 0xf63c
pop edx
push ecx
or ecx, 0x12d40
pop ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x44c]
mov edx, dword [ebp - 0x7c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xdc], edx
push edx
and edx, 0x4eec
and edx, 0xc2f3
pop edx
push ebx
push ecx
add esp, 4
jmp 0x4587c1
jmp 0x4587c6
call 0x4587d3
add byte [esi + esi + 0x45], al
inc edi
dec eax
aaa
dec edx
add esp, 4
pop ebx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x450]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x7c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x458], ecx
push ecx
or ecx, 0xd72c
add ecx, 0x184c8
jmp 0x45880b
add ecx, 0x12991
pop ecx
push ecx
call 0x458821
add byte [eax + edx*2], dh
push eax
dec esp
inc esi
cmp dword [edx], edi
cmp dword [ebx - 0xe7efb3c], eax
bound esi, qword [eax - 0x38a70000]
inc ebp
rol byte [eax], 0
add byte [eax], al
jmp 0x45883d
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4588d9
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
test eax, eax
je 0x4588d9
push eax
push ebx
add esp, 4
xor eax, 0xcd8a
and eax, 0x7583
or eax, 0xf9c
pop eax
push ebx
push edx
add esp, 4
or ebx, 0x21d2
jmp 0x45888b
or ebx, 0xede7
pop ebx
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
cmp edx, ecx
je 0x4588cb
mov edx, dword [ebp - 0xdc]
add edx, dword [ebp - 0x40]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x40]
movsx edx, byte [ebp + ecx - 0x174]
cmp eax, edx
jne 0x4588d2
jmp 0x458834
jmp 0x4588d9
push ecx
push edi
add esp, 4
and ecx, 0x7b9
xor ecx, 0x14aed
add ecx, 0x384
sub ecx, 0x93ec
pop ecx
push eax
and eax, 0x42e3
xor eax, 0xe440
xor eax, 0x6c3f
pop eax
mov eax, dword [ebp - 0xdc]
add eax, dword [ebp - 0x40]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x40]
movsx eax, byte [ebp + edx - 0x174]
cmp ecx, eax
jne 0x458935
mov dword [ebp - 0x274], 0
jmp 0x4589d0
push eax
or eax, 0x27dc
and eax, 0x11062
and eax, 0xbb79
pop eax
push edx
jmp 0x458953
call 0x458963
add byte [eax], bh
inc eax
cmp byte [eax + 0x48], dl
cmp eax, 0x3b4b4833
add esp, 4
pop edx
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0x40]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x40]
movsx ecx, byte [ebp + eax - 0x174]
or ecx, 0x20
cmp edx, ecx
jge 0x458994
mov dword [ebp - 0x274], 0xffffffff
jmp 0x4589d0
push ebx
push edi
add esp, 4
call 0x4589a9
add byte [esi + 0x38], al
cmp cl, byte [eax + 0x37]
cmp ecx, dword [eax + edx*2 + 0x3f]
cmp byte [ebx - 0x347efb3c], al
pop edi
stosd dword es:[edi], eax
add byte [eax], al
add ebx, 0xf61d
pop ebx
push esi
push eax
add esp, 4
jmp 0x4589c5
pop esi
mov dword [ebp - 0x274], 1
cmp dword [ebp - 0x274], 0
jne 0x458a19
push eax
push edi
add esp, 4
sub eax, 0x11f43
xor eax, 0x1665f
pop eax
push ecx
push esi
add esp, 4
call 0x4589ff
add byte [esi], dh
inc edx
cmp al, byte [ebp + 0x32]
aas
cmp byte [ebx], bh
dec ebp
add esp, 4
jmp 0x458a0a
pop ecx
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x90], edx
jmp 0x458a2a
jmp 0x458737
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x90], eax