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

Disassembly:
mov ecx, dword [0x8cbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x576e63
sub esp, 0x8c
mov eax, dword [esp + 0x94]
test eax, eax
je 0x576892
mov ecx, dword [esp + 0x98]
jmp 0x576899
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x90]
mov ebx, dword [edx + 8]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [esp + 0xa8]
cmp ebp, ebx
jg 0x5768b7
mov ebx, ebp
mov dword [esp + 0x64], ebx
lea eax, [0x62d820]
mov dword [esp], eax
call fcn.0040fcf0
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5768fc
mov eax, dword [esp + 0x88]
mov ecx, edx
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x48]
cmp edi, ecx
jl 0x576cb1
mov dword [esp + 0x78], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x44], esi
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x94]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 2
call fcn.00572050
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
test eax, eax
je 0x576c94
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], ebx
mov ebp, dword [esp + 0x94]
test ebp, ebp
je 0x576a93
mov esi, dword [ebx]
mov edx, dword [esp + 0x9c]
cmp edx, esi
jb 0x576e5b
mov edi, dword [esp + 0x44]
cmp edi, esi
ja 0x576e52
sub esi, edi
mov ecx, dword [esp + 0x4c]
lea ebx, [ecx + esi]
sub edx, edi
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebp
mov ebp, dword [esp + 0x50]
cmp ebp, ebx
jb 0x576a0b
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x84], eax
jmp 0x576a5e
mov dword [esp + 0x60], esi
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea eax, [0x62f320]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x60]
mov eax, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x84], ebp
mov ebp, eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x84]
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0046c7b0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
jmp 0x576b6b
mov esi, dword [ebx]
mov edx, dword [esp + 0xa4]
cmp edx, esi
jb 0x576e4b
mov edi, dword [esp + 0x44]
cmp edi, esi
ja 0x576e42
sub esi, edi
mov dword [esp + 0x60], esi
mov edx, dword [esp + 0x4c]
lea ecx, [edx + esi]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
mov ebp, dword [esp + 0xa0]
add esi, ebp
mov ebp, dword [esp + 0x50]
cmp ebp, ecx
jb 0x576aea
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x84], eax
jmp 0x576b37
mov dword [esp + 0x80], esi
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov eax, dword [esp + 0x60]
mov dword [esp + 0xc], eax
lea ecx, [0x62f320]
mov dword [esp + 0x10], ecx
call fcn.00451aa0
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x84], ebp
mov ebp, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x5c], ebp
mov eax, dword [esp + 0x84]
add edx, eax
mov dword [esp], edx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.0046c7b0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x54]
cmp ebx, 1
jbe 0x576e36
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x7c]
cmp dword [esi + 4], ebp
jg 0x576b8b
mov ebp, dword [esi]
test ebp, ebp
jne 0x576bcf
mov ebp, dword [esp + 0xac]
mov edi, dword [ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], eax
mov edx, ebp
call edi
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x94]
test ebx, ebx
mov esi, dword [esp + 0x7c]
jmp 0x576bd8
mov ebx, dword [esp + 0x94]
test ebx, ebx
mov dword [esp + 0x60], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], ecx
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
je 0x576c2f
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
cmp edi, edx
jb 0x576e2d
mov eax, dword [esp + 0x9c]
sub eax, edx
sub edi, edx
mov esi, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebx
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.00478000
mov eax, dword [esp + 0x10]
jmp 0x576c6b
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x40]
cmp edi, ebx
jb 0x576e24
sub edi, ebx
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebx
mov edx, dword [esp + 0xa0]
lea ebp, [edx + edi]
mov dword [esp], ebp
mov dword [esp + 4], ecx
call fcn.004781d0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
lea ebx, [eax + edx]
mov ebp, dword [esp + 0x7c]
mov ebp, dword [ebp + 4]
cmp ebp, ebx
jge 0x576c84
mov edx, ebx
jmp 0x5768e0
inc edx
cmp ebp, edx
jl 0x5768e0
mov edx, ebp
jmp 0x5768e0
mov edx, dword [esp + 0x94]
test edx, edx
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
mov edi, edx
mov edx, dword [esp + 0x50]
jmp 0x576cba
mov edi, dword [esp + 0x94]
test edi, edi
je 0x576d62
mov ecx, dword [esp + 0x98]
cmp ecx, esi
jb 0x576e1d
sub ecx, esi
mov dword [esp + 0x64], ecx
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x9c]
sub ecx, esi
neg ecx
sar ecx, 0x1f
and esi, ecx
lea ecx, [edi + esi]
cmp edx, eax
jae 0x576d2f
mov dword [esp + 0x84], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
lea ecx, [0x62f320]
mov dword [esp + 0x10], ecx
call fcn.00451aa0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 8], ecx
call fcn.0046c7b0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
jmp 0x576dfa
mov ecx, dword [esp + 0xa4]
cmp ecx, esi
jb 0x576e16
sub ecx, esi
lea eax, [ecx + ebx]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and esi, ecx
mov ecx, dword [esp + 0xa0]
add ecx, esi
cmp edx, eax
jae 0x576dd0
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ecx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x62f320]
mov dword [esp + 0x10], eax
call fcn.00451aa0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x78], ebp
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0046c7b0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x78]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x8c
ret
mov eax, esi
call fcn.0046bf90
mov eax, esi
call fcn.0046bf90
mov eax, ebx
mov ecx, edi
call fcn.0046bf90
mov eax, edx
mov ecx, edi
call fcn.0046bf90
mov eax, 1
mov ecx, eax
call fcn.0046bf30
mov eax, edi
mov ecx, esi
call fcn.0046bf90
mov ecx, esi
call fcn.0046bf50
mov eax, edi
mov ecx, esi
call fcn.0046bf90
mov ecx, esi
call fcn.0046bf70
nop
call fcn.0046aab0
jmp fcn.00576860