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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x577ae6
sub esp, 0x64
mov ecx, dword [esp + 0x68]
mov dword [ecx + 0x1b4], 0
mov ebx, dword [0x7a0970]
test ebx, ebx
jne 0x577a93
mov dword [ecx + 0x1b0], 0
mov ebx, dword [esp + 0x70]
mov dword [ecx + 0x1bc], ebx
mov ebp, dword [esp + 0x74]
mov dword [ecx + 0x1c0], ebp
mov eax, ebp
mov ebp, dword [0x7a0970]
test ebp, ebp
jne 0x577a77
mov ebp, dword [esp + 0x6c]
mov dword [ecx + 0x1b8], ebp
lea esi, [ecx + 0x1b0]
mov dword [esp + 0x4c], esi
xor edx, edx
jmp 0x5778d5
lea ebx, [ecx + ebx*8]
mov ebp, dword [edi]
mov edi, dword [edi + 4]
mov dword [ebx], ebp
mov dword [ebx + 4], edi
mov ebp, edx
mov ebx, esi
test ebx, ebx
jle 0x57788c
mov edx, ebp
lea ebp, [ebx - 1]
cmp ebp, 0x20
jae 0x577abd
mov esi, ebp
lea ebp, [ecx + ebx*8 - 8]
mov edi, ebp
lea ebp, [ecx + ebx*8 - 6]
cmp byte [ebp], dl
jbe 0x57788c
cmp ebx, 0x20
jb 0x57784e
jmp 0x577ab1
inc dword [ecx + 0x184]
movzx ebp, byte [ecx + 0x180]
mov edx, ebx
lea ebx, [ebp + 4]
mov byte [ecx + 0x180], bl
xchg ebp, eax
mov byte [esp + 0x44], al
xchg ebp, eax
cmp edx, 0x20
jae 0x577aa5
lea edx, [ecx + edx*8]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov dword [edx], ebx
mov dword [edx + 4], ebp
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x74]
cmp ebx, edx
jle 0x577a6b
mov dword [esp + 0x20], edx
mov eax, dword [ecx + 0x190]
lea edi, [esp + 0x50]
call fcn.0045e58e
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
lea edi, [esp]
lea esi, [esp + 0x50]
call fcn.0045e58e
mov dword [esp + 0x14], edx
mov edx, eax
mov ebx, dword [esp + 0x28]
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
movzx eax, byte [esp + 0x2e]
test al, al
jne 0x577a64
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
movzx ebx, byte [esp + 0x39]
test bl, 8
sete bl
test bl, bl
je 0x577a5b
mov ebx, dword [esp + 0x68]
mov ebp, dword [ebx + 0x184]
test ebp, ebp
jg 0x577a35
movzx eax, byte [ebx + 0x180]
cmp eax, 0x80
ja 0x577adb
lea ebp, [eax - 0x80]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
lea ebp, [ebx + eax + 0x100]
mov eax, ebx
movzx ebx, byte [esp + 0x3d]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebx
add ebx, ebp
mov edi, ebp
mov ebp, dword [esp + 0x74]
cmp ebp, ebx
jb 0x577ad2
cmp edi, ebx
ja 0x577ac9
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0x6c]
add ebp, ebx
cmp ecx, esi
jle 0x577a31
mov dword [esp + 0x24], esi
cmp edx, ebp
je 0x5779f5
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045e7b0
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebp
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
add ebx, ebp
mov ebp, dword [esp + 0x68]
mov eax, ebx
mov ebx, dword [ebp + 0x184]
mov ecx, ebp
movzx ebp, byte [esp + 0x46]
xchg ebp, eax
test al, al
xchg ebp, eax
ja 0x57785f
jmp 0x57788c
mov esi, ecx
jmp 0x5779dd
mov dword [esp], ebx
call fcn.00577310
movzx eax, byte [esp + 4]
test al, al
je 0x577a4f
mov ebx, dword [esp + 0x68]
jmp 0x577970
mov dword [esp + 0x78], 0xffffffff
add esp, 0x64
ret
mov ebx, dword [esp + 0x68]
jmp 0x577970
xor ebx, ebx
jmp 0x577956
mov dword [esp + 0x78], 0
add esp, 0x64
ret
lea edi, [ecx + 0x1b8]
mov edx, eax
mov eax, dword [esp + 0x6c]
call fcn.0045de10
mov eax, edx
mov ebp, dword [esp + 0x6c]
jmp 0x57783d
lea edi, [ecx + 0x1b0]
xor eax, eax
call fcn.0045de10
jmp 0x57780f
mov eax, edx
mov ecx, 0x20
call fcn.0045de90
mov eax, ebx
mov ecx, 0x20
call fcn.0045de90
mov eax, ebp
mov ecx, 0x20
call fcn.0045de90
mov eax, edi
mov ecx, ebx
call fcn.0045def0
mov ecx, ebx
mov edx, ebp
call fcn.0045ded0
mov ecx, pe_nt_image_headers32
call fcn.0045def0
nop
call fcn.0045c8b0
jmp fcn.005777d0