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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [0x102710ac]
push esi
mov esi, ecx
push edi
mov edi, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x7c], edi
cmp eax, dword [0x102710b0]
jne 0x100a95ca
xor esi, esi
nop dword [eax]
inc esi
mov ecx, esi
call fcn.100627d0
movss xmm1, dword [0x101879fc]
xorps xmm0, xmm0
call fcn.10062940
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x70], xmm0
call fcn.1014f400
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [esp + 0x70]
movss dword [esp + 0x10], xmm1
call fcn.101503a0
movss xmm1, dword [0x101878cc]
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
xorps xmm0, xmm0
call fcn.10062940
mov eax, dword [0x102710b0]
movss dword [esp + 8], xmm0
cmp eax, dword [0x102710b4]
je 0x100a95a5
movss xmm0, dword [esp + 0x10]
movss dword [eax], xmm0
movss xmm0, dword [esp + 0xc]
movss dword [eax + 4], xmm0
movss xmm0, dword [esp + 8]
movss dword [eax + 8], xmm0
add dword [0x102710b0], 0xc
jmp 0x100a95ba
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.100abe90
cmp esi, 0xff
jl 0x100a9510
mov esi, dword [esp + 0x14]
mov ecx, dword [0x10270578]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
jg 0x100a9b45
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x1027066c]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
call edx
mov esi, eax
test esi, esi
je 0x100a9b3c
mov ecx, dword fs:[0x2c]
mov edx, dword [0x1026fd8c]
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x102711e8]
cmp ecx, dword [edx + 4]
jle 0x100a964d
push 0x102711e8
call fcn.100c9925
add esp, 4
cmp dword [0x102711e8], 0xffffffff
jne 0x100a964d
mov eax, dword [0x10271224]
push 0x102711e8
mov dword [0x10271270], eax
call fcn.100c98db
add esp, 4
mov eax, dword [0x10271270]
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + ecx]
cmp eax, dword [esi + 0xac]
jg 0x100a9b3c
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0xb0]
lea edx, [eax + ecx*4]
add edx, esi
je 0x100a9b3c
mov ecx, dword [edi + 8]
mov eax, dword [edx + 8]
shl ecx, 4
add ecx, dword [edi + 8]
lea eax, [eax + ecx*4]
add eax, edx
je 0x100a9b3c
mov ecx, dword [0x10276138]
test ecx, ecx
je 0x100a9b3c
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov dword [esp + 0x70], eax
test eax, eax
je 0x100a9b3c
movq xmm0, qword [0x10276038]
movq qword [esp + 0x2c], xmm0
movq xmm0, qword [edi + 0x20]
movss xmm2, dword [esp + 0x2c]
movq qword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [esp + 0x24]
subss xmm2, dword [esp + 0x20]
mov eax, dword [0x10276040]
mov dword [esp + 0x34], eax
mov eax, dword [edi + 0x28]
movaps xmm1, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm2
mov dword [esp + 0x58], 0
mulss xmm0, xmm2
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x4c], 0
addss xmm1, xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
cvtps2pd xmm0, xmm1
mov dword [esp + 0x28], eax
xorps xmm1, xmm1
movss dword [esp + 8], xmm2
ucomisd xmm1, xmm0
ja 0x100a976d
sqrtsd xmm0, xmm0
jmp 0x100a9772
call fcn.10150570
movss xmm1, dword [esp + 0xc]
divss xmm1, dword [esp + 8]
movsd qword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm1
call fcn.1014f110
movss xmm1, dword [esp + 0x34]
subss xmm1, dword [esp + 0x28]
cvtsd2ss xmm0, xmm0
xorps xmm1, xmmword [0x10188140]
mulss xmm0, dword [0x10187ab4]
movss dword [esp + 0xc], xmm0
movss dword [esp + 0x3c], xmm0
movsd xmm0, qword [esp + 0x18]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm1
call fcn.1014f110
cvtsd2ss xmm0, xmm0
mov dword [esp + 0x40], 0
mulss xmm0, dword [0x10187c38]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 8]
comiss xmm0, dword [0x101877c8]
jb 0x100a980e
movss xmm0, dword [esp + 0xc]
addss xmm0, dword [0x10187b54]
movss dword [esp + 0x3c], xmm0
movq xmm0, qword [esp + 0x38]
lea eax, [esp + 0x64]
push eax
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x50]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
lea ecx, [esp + 0x68]
call fcn.10061ea0
mov ecx, dword [0x10276138]
add esp, 0x10
mov eax, dword [ecx]
mov eax, dword [eax + 0x754]
mov dword [esp + 8], eax
call dword [esp + 8]
movss xmm0, dword [0x102760a4]
addss xmm0, dword [0x101877f4]
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
comiss xmm0, xmm1
jae 0x100a9b45
xor edi, edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x102710ac]
movaps xmm2, xmm1
movss xmm4, dword [esp + 0x4c]
movss xmm0, dword [esp + 0x64]
movss xmm5, dword [esp + 0x50]
mulss xmm2, dword [esi + eax + 8]
movss xmm3, dword [esp + 0x54]
movaps xmm1, xmm2
mulss xmm2, dword [esi + eax + 4]
mulss xmm1, dword [esi + eax]
mulss xmm0, xmm2
mulss xmm4, xmm1
mulss xmm5, xmm1
addss xmm4, dword [esp + 0x58]
mulss xmm3, xmm1
addss xmm5, dword [esp + 0x5c]
addss xmm3, dword [esp + 0x60]
addss xmm4, xmm0
movss xmm0, dword [esp + 0x68]
mulss xmm0, xmm2
addss xmm5, xmm0
movss dword [esp + 8], xmm4
movss xmm0, dword [esp + 0x6c]
movaps xmm1, xmm4
mulss xmm0, xmm2
mulss xmm1, xmm4
addss xmm3, xmm0
movss dword [esp + 0xc], xmm5
movaps xmm0, xmm5
mulss xmm0, xmm5
movss dword [esp + 0x18], xmm3
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100a9947
sqrtsd xmm0, xmm0
jmp 0x100a994c
call fcn.10150570
movss xmm1, dword [0x101878cc]
sub esp, 0xc
cvtsd2ss xmm0, xmm0
mov ecx, esp
movss xmm3, dword [esp + 0x18]
addss xmm0, dword [0x101877dc]
movss xmm2, dword [esp + 0x24]
divss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm3, xmm1
mulss xmm0, dword [esp + 0x14]
mulss xmm2, xmm1
unpcklps xmm0, xmm3
movq qword [ecx], xmm0
movss dword [esp + 0xa0], xmm2
mov eax, dword [esp + 0xa0]
mov dword [ecx + 8], eax
lea ecx, [esp + 0x2c]
call fcn.10061d40
movss xmm0, dword [esp + 0x2c]
add esp, 0xc
mulss xmm0, dword [0x10187804]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x38], xmm0
call fcn.1014f400
cvtsd2ss xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [0x10187804]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
call fcn.1014f400
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 8]
movss dword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x18]
call fcn.101503a0
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [esp + 8]
movss dword [esp + 8], xmm0
movsd xmm0, qword [esp + 0x38]
call fcn.101503a0
movss xmm1, dword [esp + 8]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss xmm0, dword [esp + 0xc]
xorps xmm2, xmmword [0x10188140]
mulss xmm0, xmm0
mulss xmm1, xmm1
movss dword [esp + 0x18], xmm2
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100a9a6d
sqrtsd xmm0, xmm0
jmp 0x100a9a72
call fcn.10150570
movss xmm2, dword [0x101878cc]
lea edx, [esp + 0x80]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 0x70]
push ecx
lea ecx, [esp + 0x30]
movss xmm1, dword [eax + 0x104]
addss xmm0, dword [0x101877dc]
mov eax, dword [esp + 0x80]
divss xmm2, xmm0
push dword [eax + 0x1c]
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x14]
push dword [eax + 8]
mulss xmm0, xmm1
push dword [esp + 0x20]
addss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x90], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x18]
mulss xmm2, dword [esp + 0x28]
mulss xmm0, xmm1
mulss xmm2, xmm1
addss xmm0, dword [esp + 0x40]
addss xmm2, dword [esp + 0x44]
movss dword [esp + 0x94], xmm0
movss dword [esp + 0x98], xmm2
call fcn.100a9180
add esp, 0x10
test al, al
je 0x100a9b11
inc edi
add esi, 0xc
cmp esi, 0xbf4
jge 0x100a9b27
movss xmm1, dword [esp + 0x10]
jmp 0x100a9890
movd xmm0, edi
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x10187b80]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xorps xmm0, xmm0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [0x101878cc]
pop edi
pop esi
mov esp, ebp
pop ebp
ret