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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x578fe9
sub esp, 0x68
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x1b4], 0
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x578d2d
mov dword [ecx + 0x1b0], 0
jmp 0x578d3a
lea edi, [ecx + 0x1b0]
xor eax, eax
call fcn.0045e950
mov ebx, dword [esp + 0x74]
mov dword [ecx + 0x1bc], ebx
mov ebp, dword [esp + 0x78]
mov dword [ecx + 0x1c0], ebp
mov eax, ebp
mov ebp, dword [0x7e77b0]
test ebp, ebp
jne 0x578d66
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0x1b8], ebp
jmp 0x578d7d
lea edi, [ecx + 0x1b8]
mov edx, eax
mov eax, dword [esp + 0x70]
call fcn.0045e950
mov eax, edx
mov ebp, dword [esp + 0x70]
lea esi, [ecx + 0x1b0]
mov dword [esp + 0x48], esi
xor edx, edx
jmp 0x578daf
lea ebx, [eax + esi*8]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x3c]
mov dword [ebx], ebp
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
cmp ebx, edx
jle 0x578f57
mov dword [esp + 0x20], edx
lea edi, [esp + 0x54]
call fcn.0045f05e
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x50], ecx
mov ebx, dword [ecx]
lea edi, [esp]
lea esi, [esp + 0x54]
call fcn.0045f05e
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
movzx eax, byte [esp + 0x32]
test al, al
jne 0x578e30
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
movzx ebx, byte [esp + 0x2d]
test bl, 8
sete bl
jmp 0x578e32
xor ebx, ebx
test bl, bl
je 0x578e5f
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x184]
test ebp, ebp
jle 0x578e63
mov dword [esp], ebx
call fcn.00578840
movzx eax, byte [esp + 4]
test al, al
je 0x578f4b
mov ebx, dword [esp + 0x6c]
jmp 0x578e63
mov ebx, dword [esp + 0x6c]
movzx eax, byte [ebx + 0x180]
cmp eax, 0x80
ja 0x578fde
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 + 0x41]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebx
add ebx, ebp
mov edi, ebp
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jb 0x578fd5
cmp edi, ebx
ja 0x578fcc
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0x70]
add ebp, ebx
cmp esi, ecx
jl 0x578ed2
mov esi, ecx
cmp edx, ebp
je 0x578efa
mov dword [esp + 0x24], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045f270
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x40]
mov ecx, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebx
lea ebx, [esi + edi]
mov ebp, dword [eax + 0x184]
mov edx, ebx
movzx ebx, byte [esp + 0x3a]
test bl, bl
ja 0x578f89
inc dword [eax + 0x184]
movzx ebx, byte [eax + 0x180]
mov esi, ebp
lea ebp, [ebx + 4]
xchg ebp, ebx
mov byte [eax + 0x180], bl
xchg ebp, ebx
mov byte [esp + 0x38], bl
cmp esi, 0x20
jb 0x578d8b
jmp 0x578f63
mov dword [esp + 0x7c], 0xffffffff
add esp, 0x68
ret
mov dword [esp + 0x7c], 0
add esp, 0x68
ret
mov eax, esi
mov ecx, 0x20
call fcn.0045e9d0
lea ebx, [eax + ebp*8]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [ebx], ecx
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x70]
mov ebx, esi
mov ebp, edi
test ebp, ebp
jle 0x578f20
mov esi, ebx
lea ebx, [ebp - 1]
cmp ebx, 0x20
jae 0x578fc0
mov edi, ebx
lea ebx, [eax + ebp*8 - 8]
mov dword [esp + 0x4c], ebx
lea ebx, [eax + ebp*8 - 6]
xchg esi, eax
cmp byte [ebx], al
xchg esi, eax
jbe 0x578f20
cmp ebp, 0x20
jb 0x578f6f
mov eax, ebp
mov ecx, 0x20
call fcn.0045e9d0
mov eax, ebx
mov ecx, 0x20
call fcn.0045e9d0
mov eax, edi
mov ecx, ebx
call fcn.0045ea30
mov ecx, ebx
mov edx, ebp
call fcn.0045ea10
mov ecx, pe_nt_image_headers32
call fcn.0045ea30
nop
call fcn.0045d540
jmp fcn.00578cf0