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

Disassembly:
sub esp, 0x78
push ebx
push ebp
mov ebp, dword [esp + 0x88]
mov eax, ebp
movss dword [esp + 0x2c], xmm1
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x10], ecx
push esi
mov esi, edx
push edi
mov edi, dword [0x101023d4]
cmp ebp, 0xffffffff
jae 0x1008f6f6
nop dword [eax]
mov cl, byte [eax]
test cl, cl
je 0x1008f6f6
cmp cl, 0x23
jne 0x1008f6f0
cmp byte [eax + 1], cl
je 0x1008f6f6
inc eax
cmp eax, 0xffffffff
jb 0x1008f6e0
movss xmm2, dword [edi + 0x1930]
movss xmm5, dword [0x100f63ac]
cmp ebp, eax
jne 0x1008f71b
xorps xmm0, xmm0
movss dword [esp + 0x2c], xmm2
movss dword [esp + 0x28], xmm0
jmp 0x1008f76d
push 0
push eax
push ebp
push ecx
mov ecx, dword [edi + 0x192c]
lea eax, [esp + 0x30]
mov dword [esp], 0xbf800000
movaps xmm3, xmm5
push eax
call fcn.100784d0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x100f6248]
movss xmm5, dword [0x100f63ac]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x2c], xmm0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1008f78b
mov byte [eax], 0
mov ebx, dword [esp + 0xa4]
test ebx, ebx
je 0x1008f799
mov byte [ebx], 0
movss xmm2, dword [esi + 8]
movss xmm1, dword [esi]
movaps xmm0, xmm2
movss xmm4, dword [0x100f6254]
subss xmm0, xmm1
comiss xmm4, xmm0
jae 0x1008faaa
test byte [esp + 0x8c], 1
movss xmm3, dword [esi + 4]
addss xmm1, dword [esp + 0x30]
addss xmm3, dword [esp + 0x34]
subss xmm2, dword [esp + 0x30]
movss xmm0, dword [esi + 0xc]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x10], xmm2
je 0x1008f917
movss xmm2, dword [edi + 0x1930]
lea eax, [esp + 0x50]
push 0
push 0
push 0x100f0484
push ecx
mov ecx, dword [edi + 0x192c]
movaps xmm3, xmm5
mov dword [esp], 0xbf800000
push eax
call fcn.100784d0
movss xmm0, dword [esp + 0x50]
lea edx, [esp + 0x50]
addss xmm0, dword [0x100f6248]
movss xmm1, dword [esp + 0x10]
movss xmm2, dword [edi + 0x1930]
mulss xmm2, dword [0x100f61dc]
mov ecx, dword [esp + 0x18]
cvttss2si eax, xmm0
push 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm2
subss xmm1, xmm0
movss xmm0, dword [esi]
addss xmm0, dword [esp + 0x34]
movss dword [esp + 0x14], xmm1
addss xmm0, dword [esp + 0x2c]
addss xmm0, dword [0x100f6288]
minss xmm0, xmm1
movss xmm1, dword [esi + 4]
addss xmm1, dword [esp + 0x38]
movss dword [esp + 0x54], xmm0
movd xmm0, eax
lea eax, [esp + 0x3c]
cvtdq2ps xmm0, xmm0
push eax
push 0
push 0
push 0x100f0484
lea eax, [esp + 0x54]
subss xmm1, xmm0
movss xmm0, dword [esi + 0xc]
subss xmm0, dword [esp + 0x48]
push eax
movss dword [esp + 0x6c], xmm1
movss xmm1, dword [esi + 8]
subss xmm1, dword [esp + 0x48]
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x58], xmm1
call fcn.10059bd0
movss xmm2, dword [esp + 0x10]
movss xmm1, dword [esp + 0x14]
movss xmm3, dword [esp + 0x1c]
movss xmm4, dword [0x100f6254]
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x40], xmm1
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x4c], xmm0
test ebx, ebx
je 0x1008f941
addss xmm1, dword [esp + 0x28]
comiss xmm1, xmm2
seta al
mov byte [ebx], al
mov eax, dword [esp + 0x98]
xor bl, bl
test eax, eax
je 0x1008fa77
cmp byte [esp + 0x9c], bl
jne 0x1008f971
movss xmm0, dword [esi + 8]
subss xmm0, dword [esi]
comiss xmm0, dword [edi + 0x15a4]
jb 0x1008fa77
mov ecx, dword [edi + 0x1a90]
mov edx, dword [esp + 0x94]
cmp ecx, edx
je 0x1008f998
cmp ecx, eax
je 0x1008f998
mov ecx, dword [edi + 0x1aa4]
cmp ecx, edx
je 0x1008f998
cmp ecx, eax
jne 0x1008fa77
lea ecx, [esp + 0x60]
call fcn.1007b410
movss xmm0, dword [edi + 0x1930]
lea edx, [esp + 0x30]
mov ecx, 0xa
movss dword [esp + 0x14], xmm0
call fcn.10059770
movss xmm1, dword [esp + 0x30]
lea edx, [esp + 0x50]
mulss xmm1, dword [0x100f6288]
mov ecx, dword [esp + 0x98]
movss xmm0, dword [esi + 8]
subss xmm0, xmm1
subss xmm0, dword [esp + 0x14]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esi + 4]
movss dword [esp + 0x54], xmm0
call fcn.1007caa0
test al, al
movzx ebx, bl
mov ecx, 1
cmovne ebx, ecx
call fcn.100597f0
test byte [esp + 0x8c], 4
mov edx, dword [0x101023d4]
movups xmm0, xmmword [esp + 0x68]
mov eax, dword [esp + 0x60]
mov ecx, dword [edx + 0x1a6c]
movups xmmword [ecx + 0x11c], xmm0
mov dword [ecx + 0x114], eax
movups xmm0, xmmword [esp + 0x78]
mov eax, dword [esp + 0x64]
mov dword [ecx + 0x118], eax
movups xmmword [ecx + 0x12c], xmm0
jne 0x1008fa66
movss xmm0, dword [edx + 0x3fc]
ucomiss xmm0, dword [0x100f6140]
lahf
test ah, 0x44
jp 0x1008fa66
mov bl, 1
movss xmm2, dword [esp + 0x10]
subss xmm2, dword [esp + 0x14]
movaps xmm1, xmm2
jmp 0x1008fa80
movss xmm1, dword [esi + 8]
subss xmm1, xmm4
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x58]
push eax
push 0
push ebp
lea eax, [esp + 0x54]
movaps xmm0, xmm2
push eax
lea edx, [esp + 0x50]
call fcn.10059f20
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1008faaa
mov byte [eax], bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x78
ret 0x1c