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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x577672
sub esp, 0x68
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
xor eax, eax
xor ecx, ecx
jmp 0x5771dd
mov ebp, dword [esp + 0x30]
add ebp, ecx
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, esi
mov ebx, ecx
mov ecx, eax
mov eax, ebp
cmp ebx, eax
jle 0x5774f7
jb 0x57766a
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], ecx
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
add ebx, edx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0046c6a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0x780b34]
mov ebx, dword [0x780b30]
cmp edx, eax
jg 0x577274
mov edx, dword [esp + 0x78]
cmp edx, eax
jle 0x57723f
mov ebx, dword [esp + 0x74]
lea ebp, [ebx + eax*8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
test esi, esi
je 0x577243
jmp 0x57728a
mov ebx, dword [esp + 0x74]
cmp eax, 0x2028
je 0x577267
cmp eax, 0x2029
je 0x57725a
mov eax, dword [esp + 0x20]
jmp 0x5771c7
mov esi, 6
lea ebp, [0x5d9965]
jmp 0x57728a
mov esi, 6
lea ebp, [0x5d995f]
jmp 0x57728a
jbe 0x577663
lea edx, [ebx + eax*8]
mov ebp, dword [edx]
mov esi, dword [edx + 4]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x577363
nop
nop
mov edi, dword [esp + 0x58]
test edi, edi
je 0x5772be
lea ebx, [esp + 0x58]
cmp edi, ebx
jne 0x57764b
mov ebx, dword [esp + 0x74]
jmp 0x5772c6
lea edi, [esp + 0x58]
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x40], ebx
sub ebx, edi
mov edx, dword [esp + 0x70]
cmp edx, ebx
jle 0x57735b
mov dword [esp + 0x34], edi
lea eax, [0x5a6ea0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x40]
lea ecx, [edx + ecx*2]
mov dword [esp + 0x38], ecx
mov dword [esp + 8], ecx
call fcn.00449d70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x34]
cmp edx, ebx
jl 0x577317
mov edx, ebx
cmp ecx, eax
je 0x577337
mov dword [esp + 0x54], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00462d10
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x60], ebx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x30]
cmp eax, edi
ja 0x577644
sub edi, eax
mov dword [esp + 0x28], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
mov edi, dword [esp + 0x6c]
add eax, edi
nop
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x5773a5
lea edx, [esp + 0x58]
cmp ebx, edx
jne 0x57762c
mov edx, dword [esp + 0x78]
lea ebx, [esp + 0x58]
jmp 0x5773ad
lea ebx, [esp + 0x58]
mov dword [esp + 0x58], ebx
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x28]
lea ecx, [edi + edx]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
cmp ebp, ecx
jae 0x577402
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], eax
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
lea eax, [0x5a6ea0]
mov dword [esp + 0x10], eax
call fcn.00449e30
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x50], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00462d10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
nop
mov eax, dword [esp + 0x58]
test eax, eax
je 0x57744e
lea ecx, [esp + 0x58]
cmp eax, ecx
je 0x577456
jmp 0x577614
lea eax, [esp + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x2c]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x5c]
cmp ebx, edx
jae 0x5774a3
mov dword [esp + 0x40], eax
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5a6ea0]
mov dword [esp + 0x10], eax
call fcn.00449e30
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x50], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00462d10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x74]
mov eax, edx
mov edx, dword [esp + 0x78]
jmp 0x5771c7
test ecx, ecx
jne 0x57750d
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add esp, 0x68
ret
cmp ebx, ecx
jb 0x57760b
sub ebx, ecx
mov eax, ebx
neg ebx
sar ebx, 0x1f
and ecx, ebx
add ecx, edx
nop
mov edx, dword [esp + 0x58]
test edx, edx
je 0x577538
lea ebx, [esp + 0x58]
cmp edx, ebx
je 0x577540
jmp 0x5775f3
lea edx, [esp + 0x58]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x60]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x5c]
cmp ebp, ebx
jae 0x577595
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5a6ea0]
mov dword [esp + 0x10], ecx
call fcn.00449e30
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x50], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00462d10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x5c], ecx
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x5775e5
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
add esp, 0x68
ret
test edx, edx
je 0x5775ee
call fcn.0045b8e0
call fcn.0045b920
lea eax, [0x5a6c60]
mov dword [esp], eax
lea eax, [0x62d0d8]
mov dword [esp + 4], eax
call fcn.00435360
mov eax, ecx
mov ecx, ebx
call fcn.004624e0
lea eax, [0x5a6c60]
mov dword [esp], eax
lea eax, [0x62d0d8]
mov dword [esp + 4], eax
call fcn.00435360
lea eax, [0x5a6c60]
mov dword [esp], eax
lea eax, [0x62d0d8]
mov dword [esp + 4], eax
call fcn.00435360
mov ecx, edi
call fcn.004624e0
lea eax, [0x5a6c60]
mov dword [esp], eax
lea eax, [0x62d0d8]
mov dword [esp + 4], eax
call fcn.00435360
mov ecx, edx
call fcn.00462480
mov ecx, ebx
call fcn.004624e0
nop
call fcn.00460ff0
jmp fcn.00577180