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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x164
mov eax, dword [0x5b0008]
xor eax, esp
mov dword [esp + 0x160], eax
mov eax, dword [ebp + 8]
mov edx, ecx
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x38], eax
xor ebx, ebx
mov eax, dword [ebp + 0x1c]
push esi
add eax, ecx
mov dword [esp + 0x24], edx
mov byte [esp + 0x18], 0
mov byte [esp + 0xb], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x50], eax
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x18], edi
cmp ecx, eax
jge 0x458204
mov esi, dword [ebp + 0x18]
mov eax, dword [ebp + 0x10]
add esi, eax
nop dword [eax]
mov dword [esp + 0x44], eax
cmp dword [ebp + 0x10], esi
jge 0x4581ed
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x48], ecx
mov edi, dword [ebp + 0x14]
mov esi, 0x10
cmp ecx, esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edi
cmovl esi, ecx
cmp dword [ebp + 0x1c], 0x10
mov ecx, 0x10
mov dword [esp + 0x4c], esi
cmovl ecx, dword [ebp + 0x1c]
add eax, esi
mov dword [esp + 0x60], eax
mov eax, edi
add eax, ecx
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 0x64], eax
mov eax, dword [edx]
push ecx
lea ecx, [esp + 0x6c]
push ecx
push dword [esp + 0x48]
mov ecx, edx
call dword [eax + 0x14]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x68]
add eax, ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
inc ebx
xor edi, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x38], 1
mov byte [eax], 0
mov eax, dword [esp + 0x3c]
imul eax, esi
xor esi, esi
mov dword [esp + 0x10], 1
mov edx, eax
mov dword [esp + 0x50], eax
xor al, al
mov dword [esp + 0x2c], edx
xor ah, ah
test edx, edx
jle 0x4580d1
mov bl, byte [ecx]
test edi, edi
jne 0x458083
mov al, bl
inc edi
jmp 0x4580b1
cmp bl, al
jne 0x45808a
inc edi
jmp 0x4580b1
test esi, esi
movzx ecx, ah
movzx edx, bl
cmovne edx, ecx
xor ecx, ecx
test esi, esi
mov ah, dl
cmovne ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
cmp bl, ah
jne 0x4580c1
mov ecx, dword [esp + 0x30]
inc esi
mov edx, dword [esp + 0x2c]
dec edx
inc ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
test edx, edx
jg 0x458078
jmp 0x4580cd
mov dword [esp + 0x38], 0
mov dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x24]
cmp edi, esi
movzx ecx, ah
movzx edx, al
cmovle edx, ecx
movzx ecx, ah
movzx eax, al
cmovle ecx, eax
cmp dword [esp + 0x20], 0
je 0x4580f2
cmp dl, byte [esp + 0x1c]
je 0x458111
mov esi, dword [esp + 0x34]
mov al, dl
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20], 1
mov byte [esp + 0x1c], al
or byte [esi], 2
mov byte [edi + ebx], al
inc ebx
jmp 0x458119
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x10], 0
jne 0x4581c2
mov al, byte [esi]
mov edx, dword [esp + 0x38]
or al, 8
mov byte [esi], al
test edx, edx
je 0x458155
cmp dword [esp + 0x14], 0
je 0x45813f
cmp cl, byte [esp + 0xf]
je 0x458161
or al, 4
mov dword [esp + 0x14], 1
mov byte [esi], al
mov byte [edi + ebx], cl
inc ebx
mov byte [esp + 0xf], cl
jmp 0x458161
or al, 0x10
mov dword [esp + 0x14], 0
mov byte [esi], al
push edx
push ecx
push dword [esp + 0x24]
lea edx, [edi + ebx]
push dword [esp + 0x48]
lea ecx, [esp + 0x78]
push dword [esp + 0x5c]
call fcn.00458220
add esp, 0x14
add ebx, eax
test eax, eax
jne 0x4581c2
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x58]
mov ebx, dword [esp + 0x24]
push edx
lea edx, [esp + 0x6c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
mov byte [esi], 1
mov eax, dword [ecx]
push edx
push dword [esp + 0x48]
call dword [eax + 0x14]
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x68]
push esi
push eax
lea eax, [edi + ebx]
push eax
call fcn.0051a200
add esp, 0xc
add ebx, esi
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add eax, 0x10
mov esi, dword [ebp + 0x10]
sub ecx, 0x10
add esi, dword [ebp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
cmp eax, esi
jl 0x457fe4
mov ecx, dword [ebp + 0x14]
sub dword [ebp + 0x1c], 0x10
add ecx, 0x10
mov eax, dword [ebp + 0x10]
mov dword [ebp + 0x14], ecx
cmp ecx, dword [esp + 0x54]
jl 0x457fd0
mov ecx, dword [esp + 0x16c]
mov eax, ebx
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00518799
mov esp, ebp
pop ebp
ret 0x18