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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov ebp, dword [esp + 0x98]
mov eax, dword [0x1006b0dc]
xor eax, esp
mov dword [esp + 0x80], eax
mov edi, dword [0x1006bdd4]
mov ebx, dword [edi + 0x1958]
cmp ebp, 1
mov eax, 0x1006500e
mov ecx, 0x10064ded
cmove ecx, eax
mov eax, dword [ebx + 0x1d8]
mov edx, dword [ebx + 0x1e0]
push dword [edx + eax*4 - 4]
push 0
push ecx
call fcn.1000a030
add esp, 0xc
mov esi, eax
mov eax, dword [0x1006bdd4]
cmp dword [eax + 0x1974], esi
jne 0x10018e8c
mov byte [eax + 0x1980], 1
xor ecx, ecx
cmp ebp, 1
sete cl
movzx ecx, byte [ecx + ebx + 0x84]
test cl, cl
je 0x10018eaa
movss xmm6, dword [edi + 0x1550]
jmp 0x10018ead
xorps xmm6, xmm6
movss xmm2, dword [ebx + 0x14]
movss xmm0, dword [ebx + 0x18]
movss xmm7, dword [ebx + 0x20]
addss xmm7, xmm0
movss xmm5, dword [ebx + 0x1c]
addss xmm5, xmm2
movss xmm4, dword [ebx + 0x60]
movaps xmm1, xmm7
cmp ebp, 1
jne 0x10018f11
subss xmm1, xmm4
movaps xmm3, xmm5
subss xmm3, xmm6
subss xmm3, xmm4
movaps xmm0, xmm7
subss xmm0, dword [edi + 0x1550]
addss xmm2, xmm4
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x78], xmm3
movss dword [esp + 0x7c], xmm1
jmp 0x10018fc7
movss dword [esp + 8], xmm6
subss xmm1, xmm6
subss xmm1, xmm4
movaps xmm3, xmm5
movss dword [esp], xmm5
movaps xmm2, xmm5
subss xmm2, dword [edi + 0x1550]
subss xmm3, xmm4
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x78], xmm3
movss dword [esp + 0x7c], xmm1
mov edx, dword [ebx + 8]
xorps xmm6, xmm6
xorps xmm5, xmm5
test dl, 1
jne 0x10018f82
movss dword [esp + 4], xmm7
movss xmm7, dword [eax + 0x188c]
mulss xmm7, dword [ebx + 0x274]
movss xmm5, dword [eax + 0x1524]
addss xmm5, xmm5
addss xmm5, xmm7
movss xmm7, dword [esp + 4]
addss xmm0, xmm4
test edx, 0x400
je 0x10018fae
movss xmm4, dword [eax + 0x188c]
mulss xmm4, dword [ebx + 0x274]
movss xmm6, dword [eax + 0x1524]
addss xmm6, xmm6
addss xmm6, xmm4
addss xmm5, xmm6
addss xmm0, xmm5
movss dword [esp + 0x74], xmm0
movss xmm5, dword [esp]
movss xmm6, dword [esp + 8]
subss xmm3, xmm2
xorps xmm2, xmm2
ucomiss xmm2, xmm3
jae 0x100195e6
subss xmm1, xmm0
ucomiss xmm2, xmm1
jae 0x100195e6
cmp ebp, 1
movss dword [esp + 4], xmm7
movss dword [esp], xmm5
movss dword [esp + 8], xmm6
jne 0x1001900a
xor edx, edx
test cl, cl
sete dl
lea ecx, [edx*8 + 4]
jmp 0x10019027
xor edx, edx
test cl, cl
sete dl
mov ebp, 0x401
and ebp, dword [ebx + 8]
xor ecx, ecx
cmp ebp, 1
sete cl
shl edx, 3
lea ecx, [edx + ecx*2]
mov dword [esp + 0x1c], ecx
movss xmm2, dword [eax + 0x1664]
movss xmm1, dword [eax + 0x1668]
movss xmm0, dword [eax + 0x1670]
mulss xmm0, dword [eax + 0x14ec]
movss xmm4, dword [0x100581a0]
movaps xmm3, xmm4
minss xmm3, xmm2
xorps xmm6, xmm6
cmpltss xmm2, xmm6
andnps xmm2, xmm3
movss xmm3, dword [0x10058514]
mulss xmm2, xmm3
movss xmm5, dword [0x10058020]
addss xmm2, xmm5
cvttss2si ebp, xmm2
movaps xmm2, xmm4
minss xmm2, xmm1
cmpltss xmm1, xmm6
andnps xmm1, xmm2
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si edx, xmm1
movss xmm1, dword [eax + 0x166c]
unpcklps xmm1, xmm0
xorps xmm2, xmm2
movaps xmm0, xmmword [0x10058520]
minps xmm0, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm0
mulps xmm1, xmmword [0x10058530]
addps xmm1, xmmword [0x10058540]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm0, 0x10
movd eax, xmm0
mov ecx, dword [ebx + 0x278]
shl edx, 8
or edx, ebp
pslld xmm1, 0x18
pshufd xmm0, xmm1, 0x55
movd ebp, xmm0
movss xmm0, dword [ebx + 0x5c]
or eax, edx
or ebp, eax
sub esp, 0x14
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x8c]
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 8], ebp
call fcn.10027f80
xor eax, eax
movups xmm3, xmmword [esp + 0x70]
movaps xmm0, xmm3
unpckhpd xmm0, xmm3
subps xmm0, xmm3
addps xmm0, xmmword [0x10058900]
mulps xmm0, xmmword [0x10058540]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm1, xmm0
movaps xmm2, xmmword [0x10058910]
minps xmm2, xmm1
xorps xmm1, xmm1
pcmpgtd xmm1, xmm0
pandn xmm1, xmm2
pshufd xmm1, xmm1, 0x44
movaps xmm0, xmm3
addps xmm0, xmm1
subps xmm3, xmm1
movaps xmm1, xmm3
movsd xmm1, xmm0
movupd xmmword [esp + 0x70], xmm1
mov ebp, dword [esp + 0x98]
cmp ebp, 1
setne cl
je 0x1001919a
shufps xmm0, xmm0, 0x55
shufps xmm3, xmm3, 0xff
jmp 0x1001919d
movhlps xmm3, xmm3
subss xmm3, xmm0
movss xmm0, dword [esp + 8]
movups xmmword [esp + 0x3c], xmm3
mov al, cl
movss xmm4, dword [ebx + eax*4 + 0x24]
movss xmm2, dword [ebx + eax*4 + 0x34]
movups xmmword [esp + 0x2c], xmm2
subss xmm4, xmm0
movups xmmword [esp + 0x4c], xmm4
movaps xmm0, xmm4
cmpless xmm0, xmm2
movaps xmm1, xmm0
andps xmm1, xmm2
andnps xmm0, xmm4
orps xmm0, xmm1
movss xmm1, dword [0x100581a0]
maxss xmm0, xmm1
movss xmm1, dword [edi + 0x1558]
divss xmm4, xmm0
mulss xmm4, xmm3
movaps xmm0, xmm3
minss xmm0, xmm4
cmpltss xmm4, xmm1
movaps xmm2, xmm4
andnps xmm2, xmm0
andps xmm4, xmm1
orps xmm4, xmm2
movups xmmword [esp + 0x1c], xmm4
movss xmm0, dword [ebx + eax*4 + 0x6c]
movups xmmword [esp + 8], xmm0
mov byte [esp + 0x6f], 0
mov byte [esp + 0x6e], 0
mov eax, dword [edi + 0x1974]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x6f]
lea ecx, [esp + 0x6e]
push 0x2000
push eax
push ecx
push esi
lea eax, [esp + 0x80]
push eax
call fcn.10019600
movups xmm4, xmmword [esp + 0x50]
movups xmm7, xmmword [esp + 0x30]
movss xmm6, dword [0x100581a0]
add esp, 0x14
movups xmm0, xmmword [esp + 0x2c]
subss xmm0, dword [esp + 0x4c]
movaps xmm1, xmm6
maxss xmm1, xmm0
movups xmm3, xmmword [esp + 8]
divss xmm3, xmm1
movaps xmm0, xmm6
minss xmm0, xmm3
cmpltss xmm3, dword [0x100581f0]
andnps xmm3, xmm0
movaps xmm2, xmm4
subss xmm2, xmm7
mulss xmm3, xmm2
divss xmm3, xmm4
movups xmmword [esp + 8], xmm3
movzx ecx, byte [esp + 0x6f]
test cl, cl
je 0x10019351
movaps xmm0, xmm7
divss xmm0, xmm4
ucomiss xmm6, xmm0
jbe 0x10019351
xor edx, edx
cmp ebp, 1
setne dl
lea eax, [esp + 0x74]
lea ebp, [esp + 0x70]
cmove eax, ebp
movss xmm3, dword [edi + edx*4 + 0xd4]
subss xmm3, dword [eax]
divss xmm3, xmm4
movaps xmm5, xmm6
minss xmm5, xmm3
xorps xmm4, xmm4
cmpltss xmm3, xmm4
andnps xmm3, xmm5
mov eax, dword [0x1006bdd4]
mov dword [eax + 0x1964], esi
mov byte [eax + 0x1968], 0
test esi, esi
je 0x10019326
cmp dword [eax + 0x196c], esi
jne 0x10019326
movss xmm4, dword [eax + 0x1970]
addss xmm4, dword [eax + 0x14]
lea ebp, [edx*4 + 0x298c]
movss dword [eax + 0x1970], xmm4
cmp dword [esp + 0x18], esi
mov esi, dword [esp + 0x98]
jne 0x10019360
movss xmm4, dword [edi + ebp]
mov dword [esp + 0x2c], 0
jmp 0x100193ac
mov eax, dword [0x1006bdd4]
movss xmm4, dword [esp]
jmp 0x1001945c
movups xmm5, xmmword [esp + 8]
ucomiss xmm3, xmm5
jb 0x1001939c
movaps xmm4, xmm0
addss xmm4, xmm5
ucomiss xmm4, xmm3
jb 0x1001939c
movaps xmm7, xmm3
subss xmm7, xmm5
movss xmm4, dword [0x100588c0]
mulss xmm4, xmm0
addss xmm4, xmm7
movss dword [edi + ebp], xmm4
mov dword [esp + 0x2c], 0
jmp 0x100193ac
mov dword [edi + ebp], 0
mov dl, 1
mov dword [esp + 0x2c], edx
xorps xmm4, xmm4
movaps xmm5, xmm3
subss xmm5, xmm4
movaps xmm4, xmm0
movss xmm7, dword [0x10058020]
mulss xmm4, xmm7
subss xmm5, xmm4
movaps xmm4, xmm6
subss xmm4, xmm0
divss xmm5, xmm4
movss xmm6, dword [0x100581a0]
minss xmm6, xmm5
xorps xmm4, xmm4
cmpltss xmm5, xmm4
andnps xmm5, xmm6
movss xmm6, dword [0x100581a0]
xor edx, edx
cmp esi, 1
setne dl
mulss xmm5, xmm1
addss xmm5, xmm7
cvttps2dq xmm5, xmm5
cvtdq2ps xmm5, xmm5
movss dword [ebx + edx*4 + 0x6c], xmm5
divss xmm5, xmm1
movaps xmm1, xmm6
minss xmm1, xmm5
cmpltss xmm5, xmm4
andnps xmm5, xmm1
mulss xmm2, xmm5
divss xmm2, dword [esp + 0x3c]
cmp byte [esp + 0x2c], 0
movups xmmword [esp + 8], xmm2
je 0x10019452
xorps xmm0, xmmword [0x10058730]
subss xmm3, xmm2
mulss xmm0, dword [0x10058020]
addss xmm0, xmm3
movss dword [edi + ebp], xmm0
movss xmm4, dword [esp]
movups xmm7, xmmword [esp + 0x1c]
cmp byte [esp + 0x6e], 1
mov edx, 0x10
sbb edx, 0
test cl, cl
mov ecx, 0x11
cmove ecx, edx
shl ecx, 4
movss xmm1, dword [eax + ecx + 0x1584]
movaps xmm2, xmm6
minss xmm2, xmm1
xorps xmm0, xmm0
cmpltss xmm1, xmm0
andnps xmm1, xmm2
movss xmm2, dword [eax + ecx + 0x1588]
movss xmm3, dword [0x10058514]
mulss xmm1, xmm3
movss xmm5, dword [0x10058020]
addss xmm1, xmm5
cvttss2si edx, xmm1
movaps xmm1, xmm6
minss xmm1, xmm2
cmpltss xmm2, xmm0
andnps xmm2, xmm1
movss xmm1, dword [eax + ecx + 0x158c]
mulss xmm2, xmm3
addss xmm2, xmm5
cvttss2si esi, xmm2
movaps xmm2, xmm6
minss xmm2, xmm1
cmpltss xmm1, xmm0
andnps xmm1, xmm2
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si ebp, xmm1
movss xmm1, dword [eax + ecx + 0x1590]
mulss xmm1, dword [eax + 0x14ec]
minss xmm6, xmm1
cmpltss xmm1, xmm0
andnps xmm1, xmm6
mulss xmm1, xmm3
addss xmm1, xmm5
shl esi, 8
or esi, edx
shl ebp, 0x10
or ebp, esi
cvttss2si eax, xmm1
shl eax, 0x18
or eax, ebp
lea edx, [esp + 0x64]
movss xmm0, dword [esp + 0x7c]
cmp dword [esp + 0x98], 1
jne 0x1001956b
movss xmm1, dword [esp + 0x78]
movss xmm3, dword [esp + 0x70]
movss xmm2, dword [esp + 0x74]
subss xmm1, xmm3
mulss xmm1, dword [esp + 8]
addss xmm1, xmm3
addss xmm7, xmm1
minss xmm7, xmm4
jmp 0x1001959b
movss xmm1, dword [esp + 0x70]
movss xmm2, dword [esp + 0x74]
subss xmm0, xmm2
mulss xmm0, dword [esp + 8]
addss xmm0, xmm2
addss xmm7, xmm0
movaps xmm2, xmm0
movaps xmm0, xmm7
minss xmm0, dword [esp + 4]
movss xmm7, dword [esp + 0x78]
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm7
movss dword [esp + 0x68], xmm0
mov ecx, dword [ebx + 0x278]
movss xmm0, dword [edi + 0x1554]
sub esp, 0x14
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea eax, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 0x10], 0xf
call fcn.10027f80
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.10038f79
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret