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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x188
cmp dword [0x10129dc8], 0
push esi
push edi
mov edi, edx
mov esi, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], esi
jne 0x1005ca06
test esi, esi
jne 0x1005c8d1
movss xmm1, dword [0x100f8840]
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0x7f800000
mov dword [esp + 0x20], 0x7f800000
mov dword [esp + 0x1c], 0x7f800000
jmp 0x1005c8dc
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movss xmm1, dword [eax]
xorps xmm0, xmm0
mov ecx, esi
subss xmm1, xmm0
movaps xmmword [esp + 0x30], xmm1
movss xmm1, dword [eax + 4]
subss xmm1, xmm0
movss xmm0, dword [eax + 8]
subss xmm0, dword [0x100f8740]
mov eax, dword [esi]
movss dword [esp + 8], xmm1
mov eax, dword [eax + 0xc]
movss dword [esp + 0xc], xmm0
movss dword [esp + 0x48], xmm0
call eax
movss xmm0, dword [esp + 0x30]
xorps xmm1, xmm1
addss xmm0, xmm1
mov ecx, eax
mov eax, dword [ecx]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 8]
addss xmm0, xmm1
mov eax, dword [eax + 8]
movss dword [esp + 0x14], xmm0
call eax
movaps xmm1, xmmword [esp + 0x30]
sub esp, 0xc
mov ecx, esp
movss xmm0, dword [eax + 8]
addss xmm0, dword [0x100f8740]
mov eax, dword [esp + 0x54]
addss xmm0, dword [0x100f86dc]
addss xmm0, dword [esp + 0x18]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x14]
unpcklps xmm1, xmm0
movq qword [ecx], xmm1
mov dword [ecx + 8], eax
lea ecx, [esp + 0x34]
call fcn.1006a920
add esp, 0xc
test al, al
je 0x1005cfa8
movq xmm0, qword [esp + 0x10]
sub esp, 0xc
mov eax, dword [esp + 0x24]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x1c]
call fcn.1006a920
add esp, 0xc
test al, al
je 0x1005cfa8
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esp + 0x14]
movss xmm1, dword [esp + 0x28]
cvttss2si esi, xmm0
mov eax, esi
cdq
sub eax, edx
mov ecx, eax
cvttss2si eax, dword [esp + 0x14]
sar ecx, 1
mov dword [esp + 0xc], eax
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0xc]
sar eax, 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
jmp 0x1005cf81
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1010f2d4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1012cdf0]
cmp eax, dword [ecx + 4]
jle 0x1005cb4b
push 0x1012cdf0
call fcn.100b0641
add esp, 4
cmp dword [0x1012cdf0], 0xffffffff
jne 0x1005cb4b
movaps xmm0, xmmword [0x100f8e50]
mov ecx, 0x100ecd28
movups xmmword [esp + 0x100], xmm0
mov dword [esp + 0x180], 0xff
movaps xmm0, xmmword [0x100f8f10]
movups xmmword [esp + 0x110], xmm0
mov dword [esp + 0x184], 0x50
movaps xmm0, xmmword [0x100f90b0]
movups xmmword [esp + 0x120], xmm0
mov dword [esp + 0x188], 0x20
movaps xmm0, xmmword [0x100f8f30]
movups xmmword [esp + 0x130], xmm0
movaps xmm0, xmmword [0x100f9070]
movups xmmword [esp + 0x140], xmm0
movaps xmm0, xmmword [0x100f90b0]
movups xmmword [esp + 0x150], xmm0
movaps xmm0, xmmword [0x100f8e10]
movups xmmword [esp + 0x160], xmm0
movaps xmm0, xmmword [0x100f8cf0]
movups xmmword [esp + 0x170], xmm0
call fcn.100470f0
xor edi, edi
mov dword [esp + 8], eax
mov ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + eax + 0x50]
sub ecx, 0x23
mov dword [esp + 0xc], ecx
je 0x1005cb32
nop dword [eax]
xor ecx, ecx
mov edx, dword [esp + ecx*4 + 0x100]
lea esi, [edi + eax]
movzx eax, byte [ecx + esi]
cmp eax, edx
je 0x1005cb19
cmp edx, 0xffffffff
jne 0x1005cb25
inc ecx
cmp ecx, 0x23
jae 0x1005cb34
mov eax, dword [esp + 8]
jmp 0x1005cb02
inc edi
cmp edi, dword [esp + 0xc]
jae 0x1005cb32
mov eax, dword [esp + 8]
jmp 0x1005cb00
xor esi, esi
push 0x1012cdf0
mov dword [0x1012cdfc], esi
call fcn.100b05f7
mov esi, dword [esp + 0x14]
add esp, 4
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
mov ecx, esi
cmp dword [eax + 0x14], 0x28
jne 0x1005cc50
lea eax, [esp + 0x1c]
mov dword [esp + 0x18], 0x7f800000
push eax
lea eax, [esp + 0x14]
mov dword [esp + 0x18], 0x7f800000
push eax
mov dword [esp + 0x18], 0x7f800000
mov dword [esp + 0x2c], 0x7f800000
mov dword [esp + 0x28], 0x7f800000
mov dword [esp + 0x24], 0x7f800000
call dword [0x1012cdfc]
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x28]
call eax
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esi]
movq qword [esp + 0x30], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
call eax
mov ecx, esi
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [esi]
movq qword [esp + 0x50], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movss xmm2, dword [esp + 0x50]
movss xmm3, dword [esp + 0x54]
movss xmm4, dword [esp + 0x18]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
addss xmm2, dword [esp + 0x30]
addss xmm3, dword [esp + 0x34]
addss xmm4, dword [0x100f8740]
movq qword [esp + 0x40], xmm0
movss xmm5, dword [esp + 0x40]
movss xmm1, dword [esp + 0x44]
movss xmm0, dword [esp + 0x24]
addss xmm5, dword [esp + 0x30]
addss xmm1, dword [esp + 0x34]
addss xmm0, dword [0x100f873c]
mov dword [esp + 0x48], eax
jmp 0x1005ccb2
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 4]
call eax
mov ecx, esi
movss xmm0, dword [eax]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [esi]
movss dword [esp + 8], xmm0
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movss xmm2, dword [esp + 0x10]
movss xmm3, dword [esp + 0xc]
movss xmm4, dword [esp + 8]
movss xmm5, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax + 8]
movss dword [esp + 0x98], xmm0
lea edx, [esp + 0xc0]
movss dword [esp + 0xa4], xmm0
lea esi, [esp + 0x60]
movss dword [esp + 0xb0], xmm0
xor edi, edi
movss dword [esp + 0xbc], xmm0
movaps xmm0, xmmword [0x100f8fe0]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 8], edx
movaps xmm0, xmmword [0x100f8fe0]
movups xmmword [esp + 0xd0], xmm0
movaps xmm0, xmmword [0x100f8fe0]
movups xmmword [esp + 0xe0], xmm0
movaps xmm0, xmmword [0x100f8fe0]
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x68], xmm4
movss dword [esp + 0x6c], xmm2
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm5
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x80], xmm4
movss dword [esp + 0x84], xmm5
movss dword [esp + 0x88], xmm3
movss dword [esp + 0x8c], xmm4
movss dword [esp + 0x90], xmm5
movss dword [esp + 0x94], xmm1
movss dword [esp + 0x9c], xmm2
movss dword [esp + 0xa0], xmm1
movss dword [esp + 0xa8], xmm2
movss dword [esp + 0xac], xmm3
movss dword [esp + 0xb4], xmm5
movss dword [esp + 0xb8], xmm3
movups xmmword [esp + 0xf0], xmm0
nop
movq xmm0, qword [esi]
sub esp, 0xc
mov eax, dword [esi + 8]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, edx
call fcn.1006a920
add esp, 0xc
test al, al
je 0x1005cfa8
mov edx, dword [esp + 8]
inc edi
add edx, 8
add esi, 0xc
mov dword [esp + 8], edx
cmp edi, 8
jl 0x1005cdc0
movups xmm1, xmmword [esp + 0xc0]
movss xmm5, dword [esp + 0xd8]
movups xmm6, xmmword [esp + 0xd0]
movaps xmm0, xmm1
movaps xmm4, xmm1
minss xmm0, xmm5
shufps xmm4, xmm1, 0xaa
movaps xmm1, xmm4
minss xmm1, xmm0
movaps xmm0, xmm6
minss xmm0, xmm1
movaps xmm1, xmm5
minss xmm1, xmm0
movups xmm0, xmmword [esp + 0xe0]
movaps xmm2, xmm0
movaps xmm3, xmm0
shufps xmm3, xmm0, 0xaa
minss xmm2, xmm1
movaps xmm0, xmm3
minss xmm0, xmm2
movups xmm2, xmmword [esp + 0xf0]
movaps xmm1, xmm2
movaps xmm7, xmm2
minss xmm1, xmm0
shufps xmm7, xmm2, 0xaa
movups xmm2, xmmword [esp + 0xe0]
movaps xmm0, xmm7
minss xmm0, xmm1
movups xmm1, xmmword [esp + 0xc0]
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm1
maxss xmm0, xmm5
maxss xmm4, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm4
movaps xmm4, xmm1
shufps xmm4, xmm1, 0x55
shufps xmm1, xmm1, 0xff
movups xmmword [esp + 0x40], xmm1
maxss xmm5, xmm0
movaps xmm0, xmm2
maxss xmm0, xmm5
movaps xmm5, xmm6
shufps xmm5, xmm6, 0xff
shufps xmm6, xmm6, 0x55
maxss xmm3, xmm0
movss xmm0, dword [esp + 0xf0]
maxss xmm0, xmm3
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
shufps xmm2, xmm2, 0xff
movups xmmword [esp + 0x30], xmm2
maxss xmm7, xmm0
movaps xmm0, xmm4
maxss xmm0, xmm5
minss xmm4, xmm5
maxss xmm1, xmm0
movaps xmm0, xmm6
maxss xmm0, xmm1
movaps xmm1, xmm5
maxss xmm1, xmm0
movaps xmm0, xmm3
maxss xmm0, xmm1
movaps xmm1, xmm2
maxss xmm1, xmm0
movups xmm0, xmmword [esp + 0xf0]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movaps xmm0, xmm2
maxss xmm0, xmm1
movups xmm1, xmmword [esp + 0xf0]
shufps xmm1, xmm1, 0xff
movups xmmword [esp + 0x50], xmm1
maxss xmm1, xmm0
movups xmm0, xmmword [esp + 0x40]
minss xmm0, xmm4
minss xmm6, xmm0
movups xmm0, xmmword [esp + 0x30]
minss xmm5, xmm6
minss xmm3, xmm5
minss xmm0, xmm3
mov edi, dword [esp + 0x28]
minss xmm2, xmm0
movups xmm0, xmmword [esp + 0x50]
minss xmm0, xmm2
subss xmm1, xmm0
cvttss2si edx, xmm0
cvttss2si esi, xmm1
movss xmm1, dword [esp + 0x10]
subss xmm7, xmm1
cvttss2si ecx, xmm7
cvttss2si eax, xmm1
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], esi
test eax, eax
je 0x1005cfaa
test edx, edx
je 0x1005cfaa
test ecx, ecx
je 0x1005cfaa
test esi, esi
je 0x1005cfaa
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret