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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x78
mov eax, dword [0x100d4040]
xor eax, esp
mov dword [esp + 0x74], eax
mov ecx, dword [0x101f0dc0]
push esi
push edi
test ecx, ecx
je 0x100a29ce
mov eax, dword [0x101f2a54]
add eax, 0xffffffcd
xor eax, 0xe63a014e
cmp dword [eax + ecx], 0
jne 0x100a29ce
mov eax, dword [0x101f2a60]
add eax, 0xffffffca
xor eax, 0xe63a0151
cmp dword [eax + ecx], 0
jle 0x100a29ce
mov ecx, dword [0x101f2818]
lea edx, [esp + 0x48]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x48]
call eax
mov eax, dword [0x102bbc08]
test al, 1
jne 0x100a224b
or eax, 1
mov dword [0x102bbc08], eax
mov dword [0x102bbc0c], 0
mov dword [0x102bbc10], 0
mov dword [0x102bbc14], 0
mov ecx, dword [0x101f0dc0]
push 0x102bbc0c
mov eax, dword [ecx]
mov eax, dword [eax + 0x28c]
call eax
cmp byte [0x101f25e0], 0
je 0x100a2276
cmp byte [0x101f25e1], 0
je 0x100a29ce
movss xmm0, dword [0x100c8da0]
mov edi, 1
mov eax, dword [0x101f2874]
movss dword [esp + 0x28], xmm0
xorps xmm0, xmm0
mov dword [0x101f980c], 0
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x20], xmm0
cmp dword [eax + 0x18], edi
jl 0x100a29ce
mov dword [esp + 0x14], 0x100e86d0
nop
mov ecx, dword [0x101f281c]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
test esi, esi
je 0x100a251a
mov ecx, dword [0x101f2a54]
add ecx, 0xffffffcd
xor ecx, 0xe63a014e
cmp dword [ecx + esi], 0
jne 0x100a251a
mov eax, dword [0x101f2a60]
add eax, 0xffffffca
xor eax, 0xe63a0151
cmp dword [eax + esi], 0
jle 0x100a251a
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x100a251a
mov edx, dword [0x101f0dc0]
test edx, edx
je 0x100a251a
mov ecx, dword [0x101f2a2c]
add ecx, 0xffffffd7
xor ecx, 0xe63a0144
mov eax, dword [ecx + esi]
cmp eax, dword [ecx + edx]
jne 0x100a2355
mov ecx, dword [0x101f2900]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
je 0x100a251a
cmp dword [esp + 0x14], 0
je 0x100a251a
mov dword [esp + 0x3c], 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esi]
push ecx
mov ecx, esi
mov eax, dword [eax + 0x28c]
call eax
movss xmm0, dword [esp + 0x40]
subss xmm0, dword [0x102bbc10]
movss xmm3, dword [esp + 0x3c]
subss xmm3, dword [0x102bbc0c]
movss xmm2, dword [esp + 0x44]
subss xmm2, dword [0x102bbc14]
movaps xmm1, xmm0
movss dword [esp + 0x1c], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x38], xmm3
mulss xmm0, xmm3
movss dword [esp + 0x18], xmm2
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm0, xmm1
call fcn.10021a50
addss xmm0, dword [0x100c8afc]
movss xmm1, dword [0x100c8c18]
divss xmm1, xmm0
movss xmm0, dword [0x101f25e4]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x10], xmm1
movss dword [esp + 0x24], xmm0
call fcn.10021a10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x101f25e8]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x34], xmm0
call fcn.10021a40
movss xmm1, dword [esp + 0x1c]
mulss xmm0, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x34]
call fcn.10021a10
movss xmm1, dword [esp + 0x38]
mulss xmm1, dword [esp + 0x10]
mulss xmm0, dword [esp + 0xc]
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x1c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x1c], xmm1
call fcn.10021a40
movss xmm1, dword [esp + 0x18]
mulss xmm1, dword [esp + 0x10]
mulss xmm0, xmm1
movss xmm1, dword [esp + 0x1c]
subss xmm1, xmm0
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_acosf
movss xmm6, dword [esp + 0x28]
movaps xmm1, xmm0
mulss xmm1, dword [0x100c8ce4]
movss xmm4, dword [0x102bbc10]
movss xmm5, dword [0x102bbc14]
maxss xmm1, dword [0x100c8aec]
comiss xmm6, xmm1
jbe 0x100a2530
movss xmm2, dword [esp + 0x3c]
movaps xmm6, xmm1
movss xmm0, dword [esp + 0x40]
movss xmm3, dword [esp + 0x44]
mov dword [0x101f980c], esi
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x28], xmm6
jmp 0x100a2542
movss xmm5, dword [0x102bbc14]
movss xmm4, dword [0x102bbc10]
movss xmm6, dword [esp + 0x28]
movss xmm3, dword [esp + 0x20]
movss xmm2, dword [esp + 0x30]
movss xmm0, dword [esp + 0x2c]
mov eax, dword [0x101f2874]
inc edi
add dword [esp + 0x14], 0x3460
movss xmm1, dword [0x102bbc0c]
cmp edi, dword [eax + 0x18]
jle 0x100a22c0
ucomiss xmm6, dword [0x100c8da0]
lahf
test ah, 0x44
jnp 0x100a29ce
subss xmm0, xmm4
subss xmm2, xmm1
subss xmm3, xmm5
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm3, xmm3
addss xmm0, xmm2
addss xmm0, xmm3
call fcn.10021a50
movss dword [esp + 0x10], xmm0
lea eax, [esp + 0x6c]
mov ecx, 2
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x100a25a6
movss xmm0, dword [0x101f25e4]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x24], xmm0
call fcn.10021a10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [0x101f25e8]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x18], xmm0
call fcn.10021a10
mulss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x10]
movss dword [esp + 0x38], xmm0
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x18]
call fcn.10021a40
mulss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x10]
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x24]
call fcn.10021a40
mulss xmm0, dword [esp + 0x10]
xorps xmm0, xmmword [0x100c8ee0]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [esp + 0x48]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x24], xmm0
call fcn.10021a10
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x100c8b40]
movss dword [esp + 0x18], xmm0
call fcn.10021a10
mulss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x10]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x18]
call fcn.10021a40
mulss xmm0, dword [esp + 0xc]
mulss xmm0, dword [esp + 0x10]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x24]
call fcn.10021a40
movss xmm3, dword [0x102bbc0c]
movaps xmm2, xmm0
movss xmm4, dword [0x102bbc10]
movaps xmm1, xmm3
addss xmm1, dword [esp + 0x38]
mulss xmm2, dword [esp + 0x10]
mov ecx, dword [0x101f2818]
addss xmm3, dword [esp + 0x20]
xorps xmm2, xmmword [0x100c8ee0]
movss dword [0x101f97f4], xmm1
movaps xmm1, xmm4
addss xmm1, dword [esp + 0x34]
addss xmm4, dword [esp + 0x18]
movss dword [esp + 0x78], xmm2
movss dword [0x101f9800], xmm3
movss dword [0x101f97f8], xmm1
movss xmm1, dword [0x102bbc14]
movaps xmm0, xmm1
movss dword [0x101f9804], xmm4
addss xmm0, dword [esp + 0x14]
addss xmm1, xmm2
movss dword [0x101f97fc], xmm0
movss dword [0x101f9808], xmm1
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movss xmm3, dword [0x101f97f8]
mov esi, eax
movss xmm5, dword [0x101f97f4]
movaps xmm2, xmm3
movss xmm4, dword [0x101f97fc]
movaps xmm0, xmm5
mulss xmm2, dword [esi + 0x34]
mulss xmm0, dword [esi + 0x30]
addss xmm2, xmm0
movss xmm6, dword [0x100c8bc4]
movaps xmm0, xmm4
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm2, xmm0
movss xmm0, dword [0x100c8b00]
comiss xmm0, xmm2
ja 0x100a287a
movss xmm1, dword [0x100c8c18]
movaps xmm0, xmm5
mulss xmm0, dword [esi]
mov eax, dword [0x101f2638]
divss xmm1, xmm2
mov ecx, dword [0x101f263c]
movaps xmm2, xmm3
mulss xmm5, dword [esi + 0x10]
mulss xmm2, dword [esi + 4]
mulss xmm3, dword [esi + 0x14]
addss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esi + 8]
mulss xmm4, dword [esi + 0x18]
addss xmm3, xmm5
addss xmm0, dword [esi + 0xc]
addss xmm4, dword [esi + 0x1c]
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm2, xmm1
addss xmm3, xmm4
mulss xmm1, xmm6
mulss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mulss xmm2, xmm6
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
movss dword [esp + 0x14], xmm2
xorps xmm2, xmm2
mulss xmm3, xmm0
cvtsi2ss xmm2, eax
mulss xmm3, xmm1
subss xmm2, xmm3
movss dword [esp + 0xc], xmm2
jmp 0x100a2892
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + 0x54]
movss dword [esp + 0x14], xmm0
mov ecx, dword [0x101f2818]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
movss xmm1, dword [0x101f9804]
mov esi, eax
movss xmm6, dword [0x101f9800]
movaps xmm2, xmm1
movss xmm4, dword [0x101f9808]
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x30]
mulss xmm2, dword [esi + 0x34]
addss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm2, xmm0
movss xmm0, dword [0x100c8b00]
comiss xmm0, xmm2
ja 0x100a299b
movss xmm5, dword [0x100c8c18]
movaps xmm0, xmm6
mulss xmm0, dword [esi]
xorps xmm3, xmm3
mov eax, dword [0x101f2638]
divss xmm5, xmm2
mov ecx, dword [0x101f263c]
movaps xmm2, xmm1
mulss xmm6, dword [esi + 0x10]
mulss xmm2, dword [esi + 4]
mulss xmm1, dword [esi + 0x14]
addss xmm2, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esi + 8]
mulss xmm4, dword [esi + 0x18]
addss xmm1, xmm6
addss xmm0, dword [esi + 0xc]
addss xmm4, dword [esi + 0x1c]
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm2, xmm5
addss xmm1, xmm4
mulss xmm5, dword [0x100c8bc4]
mulss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
mulss xmm2, dword [0x100c8bc4]
cvtsi2ss xmm3, eax
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
mulss xmm1, xmm0
mulss xmm1, xmm5
subss xmm3, xmm1
jmp 0x100a29a7
movss xmm3, dword [esp + 0x60]
movss xmm2, dword [esp + 0x5c]
subss xmm3, dword [esp + 0xc]
subss xmm2, dword [esp + 0x14]
movaps xmm1, xmm3
movaps xmm0, xmm2
call fcn.100219e0
mulss xmm0, dword [0x100c8ce4]
movss dword [0x101f97f0], xmm0
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
xor ecx, esp
call fcn.100b40e6
mov esp, ebp
pop ebp
ret