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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
test esi, esi
je 0x459c90
cmp esi, edi
ja 0x459c8e
cmp esi, 0x1f
ja 0x459ca0
mov dword [esp + 8], edi
movzx eax, byte [ebx]
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.0047a3c8
test eax, eax
mov ebp, eax
je 0x459c90
cmp esi, 1
je 0x459c90
mov eax, dword [esp + 0x70]
sub eax, ebp
add eax, edi
cmp esi, eax
mov dword [esp + 0x28], eax
ja 0x459c8e
cmp esi, 2
jbe 0x459dc0
mov edx, esi
mov eax, ebx
lea ecx, [esp + 0x4c]
call fcn.00459640
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x30]
add eax, ebx
mov dword [esp + 4], eax
call fcn.0047a368
test eax, eax
jne 0x459cca
mov eax, dword [esp + 0x20]
mov edx, esi
xor edi, edi
sub edx, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x34], 1
mov dword [esp + 0x24], ebp
sub eax, 1
mov dword [esp + 0x2c], eax
add eax, ebp
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
sub dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov eax, dword [esp + 0x20]
cmp ecx, dword [esp + 0x20]
cmovae eax, ecx
cmp esi, eax
jbe 0x459c28
mov ebp, dword [esp + 0x24]
add ebp, eax
movzx edx, byte [ebp + edi]
cmp byte [ebx + eax], dl
jne 0x459cc0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
add edx, edi
jmp 0x459c1d
movzx ecx, byte [edx + eax]
cmp byte [ebx + eax], cl
jne 0x459cc0
add eax, 1
cmp esi, eax
ja 0x459c10
mov ecx, dword [esp + 0x1c]
cmp dword [esp + 0x20], ecx
mov eax, dword [esp + 0x2c]
jbe 0x459ddc
mov edx, dword [esp + 0x3c]
movzx edx, byte [edx + edi]
cmp byte [ebx + eax], dl
jne 0x459ddc
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x1c], ecx
add ebp, edi
jmp 0x459c63
movzx ecx, byte [eax + ebp - 1]
lea edx, [eax - 1]
cmp byte [ebx + eax - 1], cl
jne 0x459c69
mov eax, edx
cmp eax, dword [esp + 0x1c]
jne 0x459c53
mov ecx, dword [esp + 0x1c]
add ecx, 1
cmp ecx, eax
ja 0x459de5
mov ecx, dword [esp + 0x38]
add edi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
sub eax, esi
cmp eax, edi
jae 0x459be1
xor ebp, ebp
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], esi
mov ecx, ebx
mov edx, edi
mov eax, ebp
call fcn.004597b0
add esp, 0x5c
pop ebx
pop esi
pop edi
mov ebp, eax
mov eax, ebp
pop ebp
ret
add edi, dword [esp + 0x34]
xor ecx, ecx
add edi, eax
jmp 0x459c80
mov eax, esi
sub eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x20]
cmovb eax, dword [esp + 0x20]
xor ecx, ecx
mov dword [esp + 0x2c], 1
add eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
sub dword [esp + 0x2c], eax
mov edi, eax
mov eax, dword [esp + 0x28]
sub edi, 1
lea edx, [ebp + edi]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x20]
sub eax, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
cmp esi, edi
jbe 0x459d48
lea edx, [ebp + ecx]
movzx eax, byte [edx + edi]
cmp byte [ebx + edi], al
mov dword [esp + 0x20], edi
jne 0x459d9d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
jmp 0x459d3d
movzx ecx, byte [edx + eax]
cmp byte [ebx + eax], cl
jne 0x459d95
add eax, 1
cmp esi, eax
ja 0x459d34
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
je 0x459df0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
movzx edx, byte [edx + ecx]
cmp byte [ebx + eax], dl
jne 0x459dba
mov eax, dword [esp + 0x20]
lea edx, [ebp + ecx]
mov dword [esp + 0x20], ecx
jmp 0x459d81
movzx ecx, byte [edx + eax]
cmp byte [ebx + eax], cl
jne 0x459db6
sub eax, 1
cmp eax, 0xffffffff
jne 0x459d78
mov ebp, edx
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], eax
add ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x20]
cmp dword [esp + 0x28], ecx
jae 0x459d15
xor ebp, ebp
jmp 0x459c90
mov ecx, dword [esp + 0x20]
add ecx, dword [esp + 0x34]
jmp 0x459da5
lea eax, [esi - 1]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], 1
jmp 0x459b8c
mov eax, dword [esp + 0x20]
jmp 0x459c6d
mov ebp, dword [esp + 0x24]
add ebp, edi
jmp 0x459c90
lea edx, [ebp + ecx]
mov ebp, edx
jmp 0x459d8b