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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x30
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
cmp byte [edi + 0x1e8], 0
je 0x100a8548
movq xmm0, qword [edi + 0x1d0]
mov eax, dword [edi + 0x1d8]
movq qword [esp + 0x18], xmm0
movss xmm1, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x18]
mov dword [esp + 0x20], eax
movss xmm2, dword [esp + 0x20]
jmp 0x100a85d6
movss xmm0, dword [edi + 0x1c8]
subss xmm0, dword [esi + 4]
movss xmm3, dword [edi + 0x1c4]
subss xmm3, dword [esi]
movss xmm2, dword [edi + 0x1cc]
subss xmm2, dword [esi + 8]
movaps xmm1, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x10], xmm3
mulss xmm0, xmm3
movss dword [esp + 0x14], xmm2
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100a85af
sqrtsd xmm0, xmm0
jmp 0x100a85b4
call fcn.100d3870
movss xmm3, dword [esp + 0x10]
movss xmm1, dword [esp + 0xc]
movss xmm2, dword [esp + 0x14]
cvtsd2ss xmm0, xmm0
divss xmm3, xmm0
divss xmm1, xmm0
divss xmm2, xmm0
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
mulss xmm1, dword [eax + 4]
mulss xmm3, dword [eax]
mulss xmm2, dword [eax + 8]
mov eax, dword [ebp + 0x1c]
addss xmm1, xmm3
mov dword [esp + 0xc], eax
addss xmm1, xmm2
movss xmm2, dword [0x1011fc14]
movaps xmm0, xmm2
andps xmm1, xmmword [0x1013b2d0]
subss xmm0, xmm1
xorps xmm1, xmm1
mulss xmm0, dword [0x1013b2a8]
subss xmm0, xmm2
minss xmm0, xmm2
maxss xmm1, xmm0
movss dword [esp + 0x10], xmm1
cmp ecx, dword [edi + 8]
jne 0x100a896b
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0xffd700ff
push ecx
lea ecx, [edi + 0x80]
mov byte [esp + 0xc], 0
mov dword [edi + 0xc8], 0
call fcn.100aab00
mov eax, dword [edi + 0xc8]
movss xmm2, dword [0x1013b2b8]
mov dword [edi + 0x110], 2
mov dword [edi + 0x11c], 0
lea edx, [eax + eax*2]
mov dword [edi + 0x114], 1
mov eax, dword [edi + 0xd8]
push dword [ebp + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [edi + edx*4 + 0xb0]
push ecx
mov eax, dword [eax + ecx*4 + 4]
mov ecx, edi
mov eax, dword [eax + 4]
mov dword [edi + 0x118], eax
mov eax, dword [ebp + 0x10]
movss xmm0, dword [esi]
movss xmm1, dword [eax]
mulss xmm1, xmm2
subss xmm0, xmm1
movss xmm1, dword [eax + 4]
mulss xmm1, xmm2
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esi + 4]
subss xmm0, xmm1
movss xmm1, dword [eax + 8]
mulss xmm1, xmm2
lea eax, [esp + 0x20]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esi + 8]
subss xmm0, xmm1
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x58]
mulss xmm0, dword [0x10138260]
movss dword [esp], xmm0
push eax
call fcn.100ab6d0
mov eax, dword [ebp + 0x10]
movss xmm1, dword [0x1013b2b8]
push dword [ebp + 0x1c]
movss xmm0, dword [eax]
mulss xmm0, xmm1
push ecx
mov ecx, edi
addss xmm0, dword [esi]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [eax + 4]
mulss xmm0, xmm1
addss xmm0, dword [esi + 4]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x20]
mulss xmm0, xmm1
addss xmm0, dword [esi + 8]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x58]
mulss xmm0, dword [0x10138260]
movss dword [esp], xmm0
push eax
call fcn.100ab6d0
cmp dword [edi + 0x11c], 0
jbe 0x100a87da
mov eax, dword [edi + 0xd8]
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0xc8]
add ecx, dword [edi + 0x114]
cmp dword [edi + 0x110], 4
lea eax, [eax + eax*2]
mov eax, dword [edi + eax*4 + 0xb0]
mov esi, dword [eax + ecx*4]
jne 0x100a87da
mov eax, dword [esi + 4]
mov ecx, esi
lea edx, [eax + eax*4]
mov eax, dword [esi]
lea eax, [eax + edx*4]
add eax, 0xffffffec
push eax
call fcn.100aaab0
mov eax, dword [edi + 0x118]
mov ecx, esi
lea edx, [eax + eax*4]
mov eax, dword [esi]
lea eax, [eax + edx*4]
push eax
call fcn.100aaab0
dec dword [edi + 0x84]
xor edx, edx
mov ecx, dword [edi + 0x84]
mov dword [edi + 0x110], 0
mov dword [edi + 0x114], 3
mov eax, dword [edi + 0x80]
cmp byte [ecx + eax - 1], dl
mov eax, dword [esp + 0xc]
setne dl
mov dword [edi + 0xc8], edx
movss xmm2, dword [esp + 0x10]
movzx eax, al
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10138270]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x10138fe8]
mulss xmm0, xmm2
mulss xmm0, dword [0x10138fe8]
call fcn.100c50f0
mov ecx, dword [edi + 0x64]
lea edx, [edi + 0x5c]
mov esi, eax
mov eax, dword [esp + 0xc]
and eax, 0xffffff00
or esi, eax
cmp dword [edx + 4], ecx
jne 0x100a8876
mov eax, ecx
shr eax, 1
add eax, ecx
mov ecx, edx
push eax
call fcn.100aab80
lea edx, [edi + 0x5c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
mov dword [eax + ecx*4], esi
inc dword [edx + 4]
movss xmm0, dword [edi + 0x58]
mov ecx, dword [edi + 0x7c]
movss dword [esp + 0x14], xmm0
cmp dword [edi + 0x78], ecx
jne 0x100a88a9
mov eax, ecx
shr eax, 1
add eax, ecx
lea ecx, [edi + 0x74]
push eax
call fcn.100aab80
movss xmm0, dword [esp + 0x14]
mov ecx, dword [edi + 0x78]
sub esp, 8
mov eax, dword [edi + 0x74]
movss xmm4, dword [ebp + 0x14]
mov dword [esp + 4], 0xbf800000
movss dword [eax + ecx*4], xmm0
inc dword [edi + 0x78]
mov eax, dword [ebp + 0x10]
mov dword [esp], 0xbf800000
movss xmm5, dword [eax]
movss xmm6, dword [eax + 4]
movaps xmm0, xmm5
movss xmm7, dword [eax + 8]
mov eax, dword [ebp + 0xc]
mulss xmm0, xmm4
addss xmm0, dword [eax]
movss dword [esp + 0x20], xmm0
movaps xmm0, xmm6
mulss xmm0, xmm4
addss xmm0, dword [eax + 4]
movss dword [esp + 0x24], xmm0
movaps xmm0, xmm7
mulss xmm0, xmm4
mulss xmm4, dword [0x1013b27c]
addss xmm0, dword [eax + 8]
mulss xmm5, xmm4
mulss xmm6, xmm4
addss xmm5, dword [eax]
mulss xmm7, xmm4
addss xmm6, dword [eax + 4]
movss dword [esp + 0x28], xmm0
addss xmm7, dword [eax + 8]
lea eax, [esp + 0x20]
movss dword [esp + 0x34], xmm5
push eax
lea eax, [esp + 0x38]
movss dword [esp + 0x3c], xmm6
push eax
movss dword [esp + 0x44], xmm7
call fcn.100a2850
dec dword [edi + 0x78]
add esp, 0x10
dec dword [edi + 0x60]
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18
cmp ecx, dword [edi + 0xc]
jne 0x100a8813
mov eax, 0xffd700ff
mov dword [esp + 0xc], eax
jmp 0x100a8819