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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
mov eax, dword [0x100973dc]
shr eax, 1
push ebx
push esi
push edi
movd xmm0, eax
or esi, 0xffffffff
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov edi, ecx
addsd xmm0, qword [eax*8 + 0x10083ad0]
mov eax, dword [0x100973e0]
shr eax, 1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x10], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
xor ebx, ebx
addsd xmm0, qword [eax*8 + 0x10083ad0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
mov eax, dword [0x10093784]
mov ecx, dword [eax + 0x2bc]
mov eax, dword [0x100982dc]
mov edx, dword [eax + ecx]
mov cl, bl
mov al, dl
not cl
not al
xor cl, al
test cl, 1
jne 0x1001d7af
cmp dword [0x10097af0], 0
je 0x1001e14e
cmp ebx, edx
je 0x1001e14e
mov ecx, ebx
call fcn.10015540
mov dword [esp + 0x18], eax
test eax, eax
je 0x1001e14e
mov ecx, dword [0x100973f0]
push 0x100986e0
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, eax
test ecx, ecx
je 0x1001e14e
mov eax, dword [0x100979cc]
add eax, ecx
cmp eax, ecx
jbe 0x1001e14e
mov ecx, dword [esp + 0x18]
call eax
test eax, eax
jle 0x1001e14e
mov eax, dword [0x10093784]
mov ecx, dword [eax + 0x2bc]
mov eax, dword [0x100982dc]
mov ecx, dword [eax + ecx]
call fcn.10015540
mov dword [esp + 0x18], eax
test eax, eax
je 0x1001e14e
mov ecx, dword [0x100973f0]
push 0x100986e0
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, eax
test ecx, ecx
je 0x1001e14e
mov eax, dword [0x100979cc]
add eax, ecx
cmp eax, ecx
jbe 0x1001e14e
mov ecx, dword [esp + 0x18]
call eax
test eax, eax
jle 0x1001e14e
mov ecx, ebx
call fcn.10015540
mov ecx, eax
test ecx, ecx
je 0x1001e14e
mov eax, dword [0x10093784]
movss xmm0, dword [0x100833d0]
mov eax, dword [eax + 0x27c]
comiss xmm0, dword [ecx + eax]
jbe 0x1001e14e
push 7
mov edx, ebx
lea ecx, [esp + 0xf8]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 0xb
mov edx, ebx
lea ecx, [esp + 0x104]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 0xa
mov edx, ebx
lea ecx, [esp + 0x110]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 9
mov edx, ebx
lea ecx, [esp + 0x11c]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 8
mov edx, ebx
lea ecx, [esp + 0x128]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 6
mov edx, ebx
lea ecx, [esp + 0x134]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 5
mov edx, ebx
lea ecx, [esp + 0x140]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 4
mov edx, ebx
lea ecx, [esp + 0x14c]
call fcn.100165a0
add esp, 4
test al, al
jne 0x1001d969
push 0
mov edx, ebx
lea ecx, [esp + 0x158]
call fcn.100165a0
add esp, 4
test al, al
je 0x1001e14e
movq xmm0, qword [esp + 0xf4]
lea eax, [esp + 0x88]
push edi
push eax
mov eax, dword [esp + 0x104]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x100]
lea eax, [esp + 0x94]
push edi
push eax
mov eax, dword [esp + 0x110]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x10c]
lea eax, [esp + 0xa0]
push edi
push eax
mov eax, dword [esp + 0x11c]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x118]
lea eax, [esp + 0xac]
push edi
push eax
mov eax, dword [esp + 0x128]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x124]
lea eax, [esp + 0xb8]
push edi
push eax
mov eax, dword [esp + 0x134]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x130]
lea eax, [esp + 0xc4]
push edi
push eax
mov eax, dword [esp + 0x140]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x13c]
lea eax, [esp + 0xd0]
push edi
push eax
mov eax, dword [esp + 0x14c]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x148]
lea eax, [esp + 0xdc]
push edi
push eax
mov eax, dword [esp + 0x158]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
jne 0x1001db62
movq xmm0, qword [esp + 0x154]
lea eax, [esp + 0xe8]
push edi
push eax
mov eax, dword [esp + 0x164]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10015d40
mov ecx, eax
call fcn.10015b70
test al, al
je 0x1001e14e
movss xmm3, dword [esp + 0x10]
xorps xmm4, xmm4
movss xmm6, dword [esp + 0x88]
subss xmm6, xmm3
movss xmm1, dword [esp + 0x98]
movss xmm2, dword [esp + 0xa0]
movss xmm7, dword [esp + 0x94]
subss xmm2, xmm3
movss xmm0, dword [esp + 0x90]
subss xmm7, xmm3
movss xmm3, dword [esp + 0xa8]
subss xmm0, xmm4
movss dword [esp + 0x18], xmm6
subss xmm3, xmm4
movss xmm6, dword [esp + 0x14]
subss xmm1, xmm6
movss xmm5, dword [esp + 0x8c]
subss xmm5, xmm6
movss dword [esp + 0x20], xmm2
movss xmm2, dword [esp + 0xa4]
subss xmm2, xmm6
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0x9c]
subss xmm1, xmm4
mulss xmm5, xmm5
movss xmm4, dword [esp + 0xac]
subss xmm4, dword [esp + 0x10]
movss dword [esp + 0x30], xmm4
movss xmm4, dword [esp + 0xb0]
subss xmm4, xmm6
xorps xmm6, xmm6
movss dword [esp + 0x2c], xmm4
movss xmm4, dword [esp + 0xb4]
subss xmm4, xmm6
movss xmm6, dword [esp + 0xb8]
subss xmm6, dword [esp + 0x10]
movss dword [esp + 0x3c], xmm6
movss xmm6, dword [esp + 0xbc]
subss xmm6, dword [esp + 0x14]
movss dword [esp + 0x38], xmm6
movss xmm6, dword [esp + 0xc0]
subss xmm6, dword [0x10083298]
movss dword [esp + 0x40], xmm6
movss xmm6, dword [esp + 0xc4]
subss xmm6, dword [esp + 0x10]
movss dword [esp + 0x4c], xmm6
movss xmm6, dword [esp + 0xc8]
subss xmm6, dword [esp + 0x14]
movss dword [esp + 0x48], xmm6
movss xmm6, dword [esp + 0xcc]
subss xmm6, dword [0x10083298]
movss dword [esp + 0x50], xmm6
movss xmm6, dword [esp + 0xd0]
subss xmm6, dword [esp + 0x10]
movss dword [esp + 0x5c], xmm6
movss xmm6, dword [esp + 0xd4]
subss xmm6, dword [esp + 0x14]
movss dword [esp + 0x58], xmm6
movss xmm6, dword [esp + 0xd8]
subss xmm6, dword [0x10083298]
movss dword [esp + 0x60], xmm6
movss xmm6, dword [esp + 0xdc]
subss xmm6, dword [esp + 0x10]
movss dword [esp + 0x6c], xmm6
movss xmm6, dword [esp + 0xe0]
subss xmm6, dword [esp + 0x14]
movss dword [esp + 0x68], xmm6
movss xmm6, dword [esp + 0xe4]
subss xmm6, dword [0x10083298]
movss dword [esp + 0x70], xmm6
movss xmm6, dword [esp + 0xe8]
subss xmm6, dword [esp + 0x10]
movss dword [esp + 0x7c], xmm6
movss xmm6, dword [esp + 0xec]
subss xmm6, dword [esp + 0x14]
movss dword [esp + 0x78], xmm6
movss xmm6, dword [esp + 0xf0]
subss xmm6, dword [0x10083298]
movss dword [esp + 0x80], xmm6
movss xmm6, dword [esp + 0x18]
mulss xmm6, xmm6
mulss xmm0, xmm0
addss xmm5, xmm6
mov eax, dword [0x100973dc]
mulss xmm1, xmm1
mulss xmm7, xmm7
addss xmm5, xmm0
mulss xmm2, xmm2
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm0
mulss xmm3, xmm3
addss xmm0, xmm7
mulss xmm4, xmm4
cvtps2pd xmm6, xmm5
addss xmm0, xmm1
movss xmm1, dword [esp + 0x2c]
mulss xmm1, xmm1
cvtps2pd xmm7, xmm0
movss xmm0, dword [esp + 0x20]
mulss xmm0, xmm0
addss xmm0, xmm2
addss xmm0, xmm3
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm4
cvtps2pd xmm0, xmm1
movss xmm1, dword [esp + 0x38]
movsd qword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x3c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x40]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss xmm1, dword [esp + 0x48]
movsd qword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x50]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss xmm1, dword [esp + 0x58]
movsd qword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x5c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x60]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss xmm1, dword [esp + 0x68]
movsd qword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x6c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x70]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss xmm1, dword [esp + 0x78]
movsd qword [esp + 0x70], xmm0
movss xmm0, dword [esp + 0x7c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x80]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x80], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
xorps xmm3, xmm3
movss xmm1, dword [esp + 0x88]
cvtsi2ss xmm3, dword [0x10098760]
addsd xmm0, qword [eax*8 + 0x10083ad0]
mov eax, dword [0x100973e0]
movsd xmm2, qword [0x100832f8]
mulss xmm3, xmm3
cvtpd2ps xmm4, xmm0
xorps xmm0, xmm0
mulss xmm4, dword [0x100832c8]
cvtsi2sd xmm0, eax
shr eax, 0x1f
subss xmm1, xmm4
addsd xmm0, qword [eax*8 + 0x10083ad0]
mulss xmm1, xmm1
cvtpd2ps xmm5, xmm0
movss xmm0, dword [esp + 0x8c]
mulss xmm5, dword [0x100832c8]
subss xmm0, xmm5
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001df85
cmp esi, 0xffffffff
jne 0x1001df85
comisd xmm2, xmm6
cmova esi, ebx
movss xmm1, dword [esp + 0x94]
movss xmm0, dword [esp + 0x98]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001dfbc
cmp esi, 0xffffffff
jne 0x1001dfbc
comisd xmm2, xmm7
cmova esi, ebx
movss xmm1, dword [esp + 0xa0]
movss xmm0, dword [esp + 0xa4]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001dff5
cmp esi, 0xffffffff
jne 0x1001dff5
comisd xmm2, xmmword [esp + 0x20]
cmova esi, ebx
movss xmm1, dword [esp + 0xac]
movss xmm0, dword [esp + 0xb0]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e02e
cmp esi, 0xffffffff
jne 0x1001e02e
comisd xmm2, xmmword [esp + 0x30]
cmova esi, ebx
movss xmm1, dword [esp + 0xb8]
movss xmm0, dword [esp + 0xbc]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e067
cmp esi, 0xffffffff
jne 0x1001e067
comisd xmm2, xmmword [esp + 0x40]
cmova esi, ebx
movss xmm1, dword [esp + 0xc4]
movss xmm0, dword [esp + 0xc8]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e0a0
cmp esi, 0xffffffff
jne 0x1001e0a0
comisd xmm2, xmmword [esp + 0x50]
cmova esi, ebx
movss xmm1, dword [esp + 0xd0]
movss xmm0, dword [esp + 0xd4]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e0d9
cmp esi, 0xffffffff
jne 0x1001e0d9
comisd xmm2, xmmword [esp + 0x60]
cmova esi, ebx
movss xmm1, dword [esp + 0xdc]
movss xmm0, dword [esp + 0xe0]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e112
cmp esi, 0xffffffff
jne 0x1001e112
comisd xmm2, xmmword [esp + 0x70]
cmova esi, ebx
movss xmm1, dword [esp + 0xe8]
movss xmm0, dword [esp + 0xec]
subss xmm1, xmm4
subss xmm0, xmm5
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
comiss xmm3, xmm0
jb 0x1001e14e
cmp esi, 0xffffffff
jne 0x1001e14e
comisd xmm2, xmmword [esp + 0x80]
cmova esi, ebx
inc ebx
cmp ebx, 0x10
jle 0x1001d780
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret