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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffa48
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x5b4], ebx
mov dword [ebp - 0x5b8], ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x57bbd1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 0x10]
xor edx, edx
mov dword [eax - 0x7ab0], edx
cmp byte [ebp + 0xc], 0
jbe 0x57aec2
mov al, byte [ebp + 0xc]
dec eax
test al, al
jb 0x57aec2
inc eax
mov edx, dword [ebp + 0x10]
lea ebx, [edx - 0x7b14]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebx]
add dword [edx - 0x7ab0], ecx
add ebx, 4
dec al
jne 0x57aeb0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7ab0]
cmp eax, dword [ebp - 8]
jle 0x57aef3
mov cl, byte [ebp + 8]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7ab0]
sub eax, dword [ebp - 8]
shl eax, cl
sub dword [ebp - 0x10], eax
add dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7ab0]
mov dword [ebp - 8], eax
mov cl, byte [ebp + 8]
mov esi, dword [ebp - 0x10]
shr esi, cl
add esi, dword [ebp - 8]
mov dl, byte [ebp + 0xc]
dec edx
sub dl, 2
jb 0x57af10
sub dl, 1
je 0x57af10
xor edx, edx
jmp 0x57af12
mov dl, 1
and edx, 0x7f
xor eax, eax
mov al, byte [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + eax*4 - 0x7b14]
mov ecx, eax
sub ecx, edx
mov edx, dword [ebp + 0x10]
add ecx, dword [edx - 0x7ab0]
cmp esi, ecx
jle 0x57af69
mov dl, byte [ebp + 0xc]
dec edx
sub dl, 2
jb 0x57af47
sub dl, 1
je 0x57af47
xor edx, edx
jmp 0x57af49
mov dl, 1
and edx, 0x7f
xor ecx, ecx
mov cl, byte [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
sub eax, edx
mov edx, dword [ebp + 0x10]
add eax, dword [edx - 0x7ab0]
sub esi, eax
mov cl, byte [ebp + 8]
shl esi, cl
sub dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], 0
jle 0x57afa2
cmp byte [ebp + 0xc], 2
jne 0x57afa2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7ab0]
cmp eax, dword [ebp - 8]
jne 0x57afa2
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0x21c]
mov eax, dword [eax + 4]
mov eax, dword [eax]
add dword [ebp - 8], eax
mov cl, byte [ebp + 8]
shl eax, cl
sub dword [ebp - 0x10], eax
add dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], 0
jle 0x57bbad
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x14]
call fcn.00577834
pop ecx
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp - 0x14]
call fcn.005778ac
pop ecx
push ebp
mov eax, dword [0x66ec94]
mov al, byte [eax]
call fcn.00577e7c
pop ecx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7b18]
mov edx, dword [ebp - 0x10]
call fcn.0064e298
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7b18]
mov ecx, dword [eax + 4]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax - 0xc4]
mov edx, dword [ebp - 0x14]
call fcn.00571bf4
mov eax, dword [ebp + 0x10]
mov eax, dword [eax - 0x7b18]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0xc], eax
push ebp
call fcn.005783b0
pop ecx
push ebp
call fcn.00578354
pop ecx
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 8]
cmp dword [eax - 0x2dc], 0xffffffff
jne 0x57b04b
push ebp
push ebp
call fcn.00578430
pop ecx
call fcn.0057a478
pop ecx
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x10]
jge 0x57bae7