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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x138
mov eax, dword [0x1015a368]
xor eax, esp
mov dword [esp + 0x134], eax
mov ecx, dword [ebp + 0x10]
xorps xmm0, xmm0
movss xmm1, dword [0x10155d0c]
xorps xmm6, xmm6
mov eax, dword [ebp + 8]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0x14]
movss xmm7, dword [ebp + 0x1c]
mov dword [esp + 0x28], eax
mov edx, dword [ebp + 0xc]
divss xmm1, dword [ecx + 0xf8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
add eax, 0x10
mov dword [esp + 0x30], eax
push esi
push edi
mov dword [eax], 4
mov eax, dword [ebp + 0x28]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x100], 0
movss xmm2, dword [eax]
movss xmm3, dword [eax + 4]
maxss xmm1, xmm0
subss xmm3, dword [ebp + 0x20]
movss xmm4, dword [eax + 8]
subss xmm2, xmm7
subss xmm4, dword [ebp + 0x24]
movd xmm5, dword [ecx + 0xec]
movss dword [esp + 0x34], xmm1
movaps xmm1, xmm3
mov eax, dword [0x1020e89c]
mulss xmm1, xmm3
movaps xmm0, xmm2
mulss xmm0, xmm2
movss dword [esp + 0x1c], xmm6
cvtdq2ps xmm5, xmm5
addss xmm1, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
movss dword [esp + 0x24], xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
movss xmm1, dword [0x10155c78]
addss xmm0, dword [0x10155b38]
divss xmm1, xmm0
xorps xmm0, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
mulss xmm4, xmm1
movss dword [esp + 0x40], xmm2
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x18], xmm4
movss dword [esp + 0x50], xmm4
movups xmmword [esp + 0xe0], xmm0
movups xmmword [esp + 0xf0], xmm0
test eax, eax
je 0x100a814f
add eax, 0x59
jmp 0x100a8151
xor eax, eax
mov eax, dword [eax]
xor esi, esi
comiss xmm5, xmm0
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x20], esi
movss xmm1, dword [ecx + 0x104]
jbe 0x100a878f
nop dword [eax]
nop dword [eax + eax]
subss xmm1, xmm6
mov edi, dword [0x1020e2c8]
movaps xmm0, xmm2
mov dword [esp + 0x8c], esi
mov dword [esp + 0x80], edx
lea ecx, [esp + 0x90]
mov eax, dword [edi]
mulss xmm0, xmm1
movss dword [esp + 0x44], xmm1
mov esi, dword [eax + 0x14]
lea eax, [esp + 0x64]
addss xmm0, xmm7
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x60], xmm0
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x20]
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x70], xmm0
movaps xmm0, xmm4
mulss xmm0, xmm1
addss xmm0, dword [ebp + 0x24]
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x74], xmm0
call fcn.10055e70
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [esp + 0x80]
push ecx
push 0x4600400b
push eax
mov ecx, edi
call esi
mov esi, dword [esp + 0x54]
test esi, esi
je 0x100a829b
movss xmm1, dword [0x10155dd0]
lea eax, [esp + 0xe0]
movss xmm0, dword [esp + 0x40]
mulss xmm0, xmm1
push esi
push eax
lea eax, [esp + 0x78]
addss xmm0, dword [esp + 0x60]
push eax
lea eax, [ebp + 0x1c]
push eax
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x70]
movss dword [esp + 0x88], xmm0
call fcn.100a7870
movss xmm0, dword [esp + 0x10c]
ucomiss xmm0, dword [0x10155c78]
lahf
test ah, 0x44
jnp 0x100a878f
mulss xmm0, dword [esp + 0x44]
mov edi, dword [esp + 0x2c]
movss xmm1, dword [esp + 0x1c]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x108]
movss dword [esp + 0x1c], xmm1
mulss xmm1, dword [0x10155b5c]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_powf
mulss xmm0, dword [esp + 0x24]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x24], xmm0
test esi, esi
je 0x100a840e
mov ecx, dword [esp + 0x12c]
test ecx, ecx
je 0x100a8406
mov eax, dword [ecx]
mov eax, dword [eax + 0x260]
call eax
mov edi, dword [esp + 0x12c]
mov byte [esp + 0x17], al
cmp edi, esi
je 0x100a83cf
test al, al
je 0x100a83ed
mov ecx, dword fs:[0x2c]
mov eax, dword [0x1020e298]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x10215e68]
cmp ecx, dword [esi + 4]
jle 0x100a8384
push 0x10215e68
call fcn.100d7b55
mov ecx, dword [0x10215e68]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100a8384
mov eax, dword [0x10215d68]
push 0x10215e68
mov dword [0x10215e54], eax
call fcn.100d7b0b
mov ecx, dword [0x10215e68]
add esp, 4
mov eax, dword [0x10215e54]
mov edi, dword [edi + eax]
cmp ecx, dword [esi + 4]
jle 0x100a83c1
push 0x10215e68
call fcn.100d7b55
add esp, 4
cmp dword [0x10215e68], 0xffffffff
jne 0x100a83c1
mov eax, dword [0x10215d68]
push 0x10215e68
mov dword [0x10215e54], eax
call fcn.100d7b0b
add esp, 4
mov eax, dword [0x10215e54]
mov ecx, dword [esp + 0x28]
cmp edi, dword [ecx + eax]
je 0x100a83ed
mov ecx, dword [esp + 0x124]
cmp ecx, 1
jb 0x100a83e4
cmp ecx, 7
jbe 0x100a8506
cmp ecx, 0xa
je 0x100a8506
mov edi, dword [esp + 0x2c]
xor esi, esi
cmp byte [esp + 0x17], 0
cmovne esi, dword [esp + 0x12c]
mov dword [esp + 0x20], esi
jmp 0x100a8412
xor esi, esi
mov dword [esp + 0x20], esi
jmp 0x100a8412
mov esi, dword [esp + 0x20]
cmp byte [ebp + 0x18], 0
jne 0x100a878f
movss xmm1, dword [esp + 0x1c]
comiss xmm1, dword [0x10155f64]
jbe 0x100a843f
movss xmm0, dword [edi + 0xf8]
xorps xmm1, xmm1
comiss xmm0, xmm1
ja 0x100a878f
mov ecx, dword [0x1020e2d8]
movsx edx, word [esp + 0x120]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
movss xmm0, dword [0x10155ba4]
comiss xmm0, dword [eax + 0x58]
ja 0x100a878f
movss xmm0, dword [esp + 0x34]
lea eax, [esp + 0x24]
push ecx
movss dword [esp], xmm0
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x54]
push eax
lea eax, [ebp + 0x1c]
push eax
lea eax, [esp + 0xf4]
push eax
push edi
push dword [esp + 0x44]
call fcn.100a7cb0
test al, al
je 0x100a878f
cmp byte [ebp + 0x2c], 0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x24], xmm0
je 0x100a84bc
mov ecx, dword [esp + 0x30]
cvttss2si eax, xmm0
mov dword [ecx + 4], eax
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100a878f
movss xmm4, dword [esp + 0x50]
movss xmm3, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x48]
movss xmm7, dword [ebp + 0x1c]
movss xmm6, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
movss dword [esp + 0x18], xmm4
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x40], xmm2
jmp 0x100a8190
cmp byte [ebp + 0x18], 0
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x12c]
mov dword [edi], eax
mov eax, dword [esp + 0x130]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
je 0x100a8531
mov dword [edi + 0xc], 0
xor esi, esi
jmp 0x100a8533
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x20], eax
mov eax, dword [0x1020e298]
movss xmm0, dword [ecx + 0xf0]
mov ecx, dword fs:[0x2c]
movss dword [esp + 0x34], xmm0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10216324]
mov dword [esp + 0x1c], ecx
cmp eax, dword [ecx + 4]
jle 0x100a85a1
push 0x10216324
call fcn.100d7b55
add esp, 4
cmp dword [0x10216324], 0xffffffff
jne 0x100a859d
mov eax, dword [0x10215db8]
push 0x10216324
mov dword [0x10216328], eax
call fcn.100d7b0b
add esp, 4
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x10216328]
mov edx, dword [esp + 0x20]
mov al, byte [edx + eax]
mov byte [esp + 0x17], al
lea eax, [esi - 1]
cmp eax, 6
ja case.0x100a85b9.2
jmp dword [eax*4 + 0x100a87ac]
cmp byte [esp + 0x17], 0
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x10155d18]
movss dword [esp + 0x18], xmm0
je case.0x100a85b9.2
mulss xmm0, dword [0x10155c1c]
jmp 0x100a8603
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x10155c94]
jmp 0x100a8603
movss xmm0, dword [esp + 0x18]
mulss xmm0, dword [0x10155c50]
movss dword [esp + 0x18], xmm0
mov eax, dword [0x102160c8]
cmp eax, dword [ecx + 4]
jle 0x100a864b
push 0x102160c8
call fcn.100d7b55
add esp, 4
cmp dword [0x102160c8], 0xffffffff
jne 0x100a8643
mov eax, dword [0x10215df4]
push 0x102160c8
mov dword [0x102160a4], eax
call fcn.100d7b0b
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x102160a4]
mov eax, dword [edx + eax]
mov dword [esp + 0x38], eax
test eax, eax
je 0x100a876a
cmp esi, 5
ja 0x100a876a
cmp esi, 1
jne 0x100a86be
mov eax, dword [0x1021632c]
cmp eax, dword [ecx + 4]
jle 0x100a86a7
push 0x1021632c
call fcn.100d7b55
add esp, 4
cmp dword [0x1021632c], 0xffffffff
jne 0x100a86a7
mov eax, dword [0x10215de4]
push 0x1021632c
mov dword [0x10216330], eax
call fcn.100d7b0b
add esp, 4
mov eax, dword [0x10216330]
mov ecx, dword [esp + 0x20]
cmp byte [ecx + eax], 0
je 0x100a876a
mov eax, dword [esp + 0x38]
cmp byte [esp + 0x17], 0
movss xmm3, dword [esp + 0x34]
movss xmm4, dword [0x10155c1c]
mulss xmm3, xmm4
je 0x100a86f1
mulss xmm3, dword [0x10155bd8]
movss xmm0, dword [0x10155be0]
movss xmm4, dword [0x10155bec]
jmp 0x100a86f9
movss xmm0, dword [0x10155c78]
movss xmm2, dword [esp + 0x18]
movaps xmm1, xmm4
mulss xmm3, xmm2
mulss xmm1, xmm0
movaps xmm0, xmm2
subss xmm0, xmm3
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mulss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x100a8748
divss xmm5, xmm4
mov eax, edi
subss xmm2, xmm5
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.100d7a38
mov esp, ebp
pop ebp
ret 0x28
movaps xmm2, xmm3
mov eax, edi
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.100d7a38
mov esp, ebp
pop ebp
ret 0x28
movss xmm2, dword [esp + 0x18]
mov eax, edi
cvttss2si ecx, xmm2
mov dword [edi + 4], ecx
pop edi
pop esi
mov ecx, dword [esp + 0x134]
xor ecx, esp
call fcn.100d7a38
mov esp, ebp
pop ebp
ret 0x28
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x30]
pop edi
pop esi
xor ecx, esp
call fcn.100d7a38
mov esp, ebp
pop ebp
ret 0x28