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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov r14, qword [r9 + 0x10]
mov rsi, rdx
movaps xmmword [rax - 0x38], xmm6
mov r11, r8
movaps xmmword [rax - 0x48], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x58], xmm8
movss xmm7, dword [rsi + 0x28]
mov edx, dword [r11 + 0x3c]
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movss xmm11, dword [rsp + 0x190]
movaps xmmword [rax - 0x98], xmm12
movss xmm12, dword [rsi + 0x20]
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movss xmm14, dword [rsi + 0x24]
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [rsp + 0x198]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x70], r8
mov r10d, dword [rax + 4]
mov ecx, dword [rax + 8]
mov r15d, dword [rax]
imul edx, r10d
mov dword [rsp + 0x40], ecx
mov ecx, dword [rax + 0xc]
lea eax, [r15*4]
movd xmm0, r15d
movsxd r8, eax
lea eax, [r10 + 1]
add rdx, qword [r11 + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x54], eax
add rdx, r8
mov dword [rsp + 0x2c], ecx
mov qword [rsp + 0x78], r8
imul eax, dword [r11 + 0x3c]
movzx r13d, byte [rdx + 3]
subss xmm12, xmm0
movss dword [rsp + 0x38], xmm0
movd xmm0, r10d
cvtdq2ps xmm0, xmm0
add rax, qword [r11 + 0x10]
add rax, r8
movzx r8d, byte [rdx + 7]
mov dword [rsp + 0x24], r8d
add rdx, 8
mov qword [rsp + 0x48], rdx
movaps xmm2, xmm12
movzx ecx, byte [rax + 3]
subss xmm14, xmm0
movzx r12d, byte [rax + 7]
add rax, 8
movss dword [rsp + 0x30], xmm0
mulss xmm2, xmm12
mov qword [rsp + 0x68], rax
mov eax, r8d
movd xmm0, r13d
sub eax, r13d
cvtdq2ps xmm0, xmm0
add eax, eax
mov dword [rsp + 0x20], ecx
sub eax, ecx
add eax, r12d
mulss xmm0, xmm11
movd xmm9, eax
subss xmm7, xmm0
movaps xmm0, xmm14
mulss xmm0, xmm14
addss xmm2, xmm0
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm2, xmm1
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
mulss xmm7, xmm0
mulss xmm12, xmm0
movss dword [rsp + 0x28], xmm7
mulss xmm14, xmm0
movss xmm2, dword [0x18023b6e0]
mov eax, ecx
movss xmm15, dword [0x18023af20]
sub eax, r13d
cvtdq2ps xmm9, xmm9
add eax, eax
sub eax, r8d
add eax, r12d
xorps xmm10, xmm10
movaps xmm6, xmm14
mulss xmm9, dword [0x18023af04]
xorps xmm13, xmm13
mulss xmm6, dword [rsi + 0x4c]
xorps xmm9, xmm2
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mulss xmm9, xmm11
mulss xmm8, dword [0x18023af04]
movaps xmm0, xmm9
mulss xmm0, xmm9
xorps xmm8, xmm2
mulss xmm8, xmm11
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm1, xmm0
movaps xmm0, xmm12
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm10, xmm1
movaps xmm1, xmm7
mulss xmm1, dword [rsi + 0x50]
xorps xmm7, xmm7
rsqrtss xmm10, xmm10
addss xmm6, xmm1
mulss xmm9, xmm10
mulss xmm8, xmm10
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x1801483cf
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x1801483cf
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mulss xmm10, dword [rsp + 0x28]
movaps xmm0, xmm7
mulss xmm0, dword [rsi + 0x18]
mulss xmm8, xmm14
mulss xmm9, xmm12
addss xmm8, xmm9
movss xmm9, dword [0x18023aef0]
addss xmm8, xmm10
mulss xmm8, dword [rbx]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
cvttss2si eax, xmm0
xor ebp, ebp
mov ebx, ebp
movaps xmm6, xmm7
mulss xmm7, dword [rsi + 0x14]
test eax, eax
mulss xmm6, dword [rsi + 0x10]
cmovns ebx, eax
mov eax, 0xff
mulss xmm7, xmm8
cmp ebx, eax
cmovg ebx, eax
mulss xmm6, xmm8
addss xmm7, xmm9
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov edi, ebp
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f62d0
cvttss2si eax, xmm0
test eax, eax
jns 0x180148482
mov eax, ebp
jmp 0x18014848c
mov ecx, 0xff
cmp eax, ecx
cmovg eax, ecx
or eax, 0xffffff00
shl eax, 8
or eax, edi
shl eax, 8
or eax, ebx
mov dword [r14], eax
lea eax, [r15 + 1]
mov r15d, eax
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x40]
add r14, 4
dec eax
mov dword [rsp + 0x34], eax
cmp r15d, eax
jge 0x180148748
movss xmm12, dword [rsi + 0x20]
mov ecx, r13d
mov r13d, dword [rsp + 0x24]
mov r8d, r12d
movss xmm14, dword [rsi + 0x24]
subss xmm14, dword [rsp + 0x30]
movss xmm7, dword [rsi + 0x28]
mov rax, qword [rsp + 0x48]
mov edx, dword [rsp + 0x20]
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
movzx r9d, byte [rax + 3]
add rax, 4
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], r12d
movaps xmm2, xmm14
mov dword [rsp + 0x24], r9d
subss xmm12, xmm0
mulss xmm2, xmm14
movzx r12d, byte [rax + 3]
add rax, 4
mov qword [rsp + 0x68], rax
mov eax, r9d
sub eax, ecx
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
add eax, eax
sub eax, edx
add eax, r12d
mulss xmm0, xmm11
movd xmm10, eax
mov eax, r8d
sub eax, r13d
subss xmm7, xmm0
add eax, eax
movaps xmm0, xmm12
sub eax, r9d
mulss xmm0, xmm12
sub eax, ecx
add eax, r12d
cvtdq2ps xmm10, xmm10
add eax, edx
addss xmm2, xmm0
movaps xmm1, xmm7
movd xmm8, eax
mulss xmm10, dword [0x18023aeb0]
mulss xmm1, xmm7
cvtdq2ps xmm8, xmm8
addss xmm2, xmm1
mulss xmm8, xmm9
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm7, xmm0
xorps xmm10, xmm2
mulss xmm10, xmm11
xorps xmm8, xmm2
mulss xmm8, xmm11
xorps xmm11, xmm11
mulss xmm12, xmm0
mulss xmm14, xmm0
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm1, xmm8
mulss xmm1, xmm8
movaps xmm6, xmm12
mulss xmm6, dword [rsi + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm7
movaps xmm0, xmm14
mulss xmm0, dword [rsi + 0x4c]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm7
mulss xmm1, dword [rsi + 0x50]
rsqrtss xmm11, xmm11
mulss xmm10, xmm11
mulss xmm8, xmm11
addss xmm6, xmm1
movaps xmm7, xmm13
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x180148663
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x180148663
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mov rax, qword [rsp + 0x60]
movaps xmm0, xmm7
mulss xmm0, dword [rsi + 0x18]
mulss xmm11, dword [rsp + 0x28]
mulss xmm8, xmm14
mulss xmm10, xmm12
addss xmm8, xmm10
addss xmm8, xmm11
mulss xmm8, dword [rax]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
cvttss2si eax, xmm0
mov edi, ebp
movaps xmm6, xmm7
mulss xmm7, dword [rsi + 0x14]
test eax, eax
mulss xmm6, dword [rsi + 0x10]
cmovns edi, eax
mov eax, 0xff
mulss xmm7, xmm8
cmp edi, eax
cmovg edi, eax
mulss xmm6, xmm8
addss xmm7, xmm9
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm6
cmovg ebx, eax
call fcn.1801f62d0
movss xmm11, dword [rsp + 0x190]
mov edx, 0xff
cvttss2si eax, xmm0
mov ecx, ebp
test eax, eax
cmovns ecx, eax
cmp ecx, edx
cmovg ecx, edx
inc r15d
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r14], ecx
add r14, 4
cmp r15d, dword [rsp + 0x34]
jl 0x1801484c0
movss xmm8, dword [rsi + 0x28]
xorps xmm0, xmm0
movss xmm12, dword [rsi + 0x20]
xorps xmm10, xmm10
mov r8d, dword [rsp + 0x24]
xorps xmm7, xmm7
movss xmm14, dword [rsi + 0x24]
mov eax, r8d
subss xmm14, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x20]
sub eax, r13d
cvtsi2ss xmm0, r15d
add eax, eax
sub eax, ecx
add eax, r12d
sub r12d, r8d
add r12d, r12d
movaps xmm2, xmm14
sub r12d, r13d
subss xmm12, xmm0
mulss xmm2, xmm14
add r12d, ecx
xorps xmm0, xmm0
cvtsi2ss xmm0, r8d
cvtsi2ss xmm10, eax
mulss xmm0, xmm11
mulss xmm10, dword [0x18023af04]
subss xmm8, xmm0
movaps xmm0, xmm12
mulss xmm0, xmm12
cvtsi2ss xmm7, r12d
addss xmm2, xmm0
movaps xmm1, xmm8
mulss xmm7, dword [0x18023af04]
mulss xmm1, xmm8
addss xmm2, xmm1
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm8, xmm0
xorps xmm10, xmm2
mulss xmm10, xmm11
xorps xmm7, xmm2
mulss xmm7, xmm11
xorps xmm11, xmm11
mulss xmm14, xmm0
mulss xmm12, xmm0
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm1, xmm7
mulss xmm1, xmm7
movaps xmm6, xmm14
mulss xmm6, dword [rsi + 0x4c]
addss xmm1, xmm0
movss dword [rsp + 0x28], xmm8
movaps xmm0, xmm12
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm8
mulss xmm1, dword [rsi + 0x50]
movaps xmm8, xmm13
rsqrtss xmm11, xmm11
addss xmm6, xmm1
mulss xmm10, xmm11
mulss xmm7, xmm11
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x1801488b9
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm8, xmm0
comiss xmm1, xmm6
jbe 0x1801488b9
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm8, xmm6
mulss xmm8, dword [rsi + 0x44]
mulss xmm11, dword [rsp + 0x28]
movaps xmm0, xmm8
mov r15, qword [rsp + 0x60]
mulss xmm0, dword [rsi + 0x18]
mulss xmm7, xmm14
mulss xmm10, xmm12
addss xmm7, xmm10
addss xmm7, xmm11
mulss xmm7, dword [r15]
minss xmm7, xmm15
maxss xmm7, xmm13
mulss xmm0, xmm7
addss xmm0, xmm9
call fcn.1801f62d0
movaps xmm6, xmm8
mov r12d, 0xff
mulss xmm8, dword [rsi + 0x14]
mov edi, ebp
mulss xmm6, dword [rsi + 0x10]
cvttss2si eax, xmm0
mulss xmm8, xmm7
test eax, eax
mulss xmm6, xmm7
cmovns edi, eax
addss xmm8, xmm9
cmp edi, r12d
cmovg edi, r12d
movaps xmm0, xmm8
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, r12d
movaps xmm0, xmm6
cmovg ebx, r12d
call fcn.1801f62d0
mov r10d, dword [rsp + 0x2c]
mov ecx, ebp
mov r11d, dword [rsp + 0x54]
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
lea eax, [r10 - 1]
cmp ecx, r12d
cmovg ecx, r12d
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r14], ecx
add r14, 4
cmp r11d, eax
jge 0x1801491cc
lea r10d, [r11 + 1]
mov dword [rsp + 0x28], r10d
nop word [rax + rax]
mov rax, qword [rsp + 0x70]
lea r8d, [r11 - 1]
mov rbx, qword [rsp + 0x78]
movss xmm6, dword [rsi + 0x24]
movss xmm14, dword [rsi + 0x20]
mov ecx, dword [rax + 0x3c]
mov r9d, ecx
mov rdx, qword [rax + 0x10]
mov eax, r10d
subss xmm14, dword [rsp + 0x38]
movss xmm3, dword [rsp + 0x190]
movss xmm7, dword [rsi + 0x28]
imul eax, ecx
imul r9d, r11d
imul r8d, ecx
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
add rax, rdx
add rax, rbx
add r9, rdx
add r9, rbx
add r8, rdx
add r8, rbx
movzx ecx, byte [rax + 7]
subss xmm6, xmm0
movzx r13d, byte [r9 + 3]
movzx edx, byte [r8 + 3]
movzx r10d, byte [r8 + 7]
add r8, 8
movzx r12d, byte [r9 + 7]
add r9, 8
movss dword [rsp + 0x40], xmm0
movaps xmm2, xmm6
mulss xmm2, xmm6
mov qword [rsp + 0x80], r8
movzx r8d, byte [rax + 3]
add rax, 8
mov qword [rsp + 0x90], rax
mov eax, r12d
sub eax, r13d
movd xmm0, r13d
add eax, eax
mov dword [rsp + 0x20], edx
sub eax, r8d
mov dword [rsp + 0x30], r10d
sub eax, edx
mov qword [rsp + 0x88], r9
cvtdq2ps xmm0, xmm0
add eax, ecx
mov dword [rsp + 0x24], r8d
add eax, r10d
mov dword [rsp + 0x50], ecx
mulss xmm0, xmm3
movd xmm10, eax
mov eax, r8d
sub eax, edx
subss xmm7, xmm0
add eax, eax
movaps xmm0, xmm14
sub eax, r10d
mulss xmm0, xmm14
add eax, ecx
cvtdq2ps xmm10, xmm10
addss xmm2, xmm0
movd xmm8, eax
movaps xmm1, xmm7
mulss xmm10, xmm9
mulss xmm1, xmm7
cvtdq2ps xmm8, xmm8
addss xmm2, xmm1
mulss xmm8, dword [0x18023aeb0]
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm6, xmm0
xorps xmm10, xmm2
mulss xmm7, xmm0
movss dword [rsp + 0x58], xmm6
mulss xmm14, xmm0
movss dword [rsp + 0x68], xmm7
mulss xmm10, xmm3
mulss xmm6, dword [rsi + 0x4c]
xorps xmm8, xmm2
movss xmm12, dword [rsi + 0x3c]
movaps xmm0, xmm10
mulss xmm0, xmm10
xorps xmm11, xmm11
mulss xmm8, xmm3
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm1, xmm0
movaps xmm0, xmm14
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm7
mulss xmm1, dword [rsi + 0x50]
movaps xmm7, xmm13
rsqrtss xmm11, xmm11
addss xmm6, xmm1
mulss xmm10, xmm11
mulss xmm8, xmm11
xorps xmm6, xmm2
comiss xmm6, xmm12
jb 0x180148bb0
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x180148bb0
subss xmm6, xmm12
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mulss xmm8, dword [rsp + 0x58]
movaps xmm0, xmm7
mulss xmm0, dword [rsi + 0x18]
mulss xmm11, dword [rsp + 0x68]
mulss xmm10, xmm14
addss xmm8, xmm10
addss xmm8, xmm11
mulss xmm8, dword [r15]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
movaps xmm6, xmm7
mov r15d, 0xff
mulss xmm7, dword [rsi + 0x14]
mov ebx, ebp
mulss xmm6, dword [rsi + 0x10]
cvttss2si eax, xmm0
mulss xmm7, xmm8
test eax, eax
mulss xmm6, xmm8
cmovns ebx, eax
addss xmm7, xmm9
cmp ebx, r15d
cmovg ebx, r15d
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov edi, ebp
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
cmp edi, r15d
movaps xmm0, xmm6
cmovg edi, r15d
call fcn.1801f62d0
cvttss2si eax, xmm0
test eax, eax
jns 0x180148c5a
mov eax, ebp
jmp 0x180148c61
cmp eax, r15d
cmovg eax, r15d
mov r15d, dword [rsp + 0x3c]
or eax, 0xffffff00
shl eax, 8
or eax, edi
shl eax, 8
or eax, ebx
mov dword [r14], eax
add r14, 4
cmp r15d, dword [rsp + 0x34]
jge 0x180148f5c
movss xmm4, dword [rsi + 0x20]
mov eax, r12d
movss xmm8, dword [rsp + 0x190]
movss xmm3, dword [rsi + 0x28]
movss xmm5, dword [rsi + 0x24]
subss xmm5, dword [rsp + 0x40]
mov r8, qword [rsp + 0x80]
mov r11, qword [rsp + 0x90]
mov edx, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
movzx ebx, byte [r8 + 3]
movaps xmm2, xmm5
mov r10d, dword [rsp + 0x50]
add r8, 4
mov r9d, dword [rsp + 0x30]
mov dword [rsp + 0x48], eax
mulss xmm2, xmm5
mov qword [rsp + 0x80], r8
mov r8, qword [rsp + 0x88]
movd xmm0, r15d
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x20], r9d
movzx r12d, byte [r8 + 3]
add r8, 4
mov qword [rsp + 0x88], r8
movzx r8d, byte [r11 + 3]
add r11, 4
mov dword [rsp + 0x24], r10d
subss xmm4, xmm0
mov dword [rsp + 0x30], ebx
movd xmm0, eax
mov eax, r12d
sub eax, r13d
mov dword [rsp + 0x50], r8d
add eax, eax
mov qword [rsp + 0x90], r11
sub eax, edx
sub eax, ecx
cvtdq2ps xmm0, xmm0
add eax, r8d
add eax, ebx
mulss xmm0, xmm8
subss xmm3, xmm0
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm2, xmm0
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm2, xmm1
addss xmm2, dword [0x18023ae14]
movaps xmm14, xmm2
rsqrtss xmm14, xmm2
movaps xmm6, xmm14
movaps xmm7, xmm14
mulss xmm14, xmm3
movd xmm3, eax
mov eax, r10d
sub eax, r9d
mulss xmm6, xmm4
add eax, eax
movss xmm4, dword [0x18023b6e0]
sub eax, ecx
cvtdq2ps xmm3, xmm3
sub eax, ebx
add eax, edx
add eax, r8d
mulss xmm7, xmm5
mulss xmm3, dword [0x18023ae98]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
xorps xmm3, xmm4
movss dword [rsp + 0x58], xmm6
mulss xmm2, dword [0x18023ae98]
mulss xmm3, xmm8
xorps xmm2, xmm4
movss dword [rsp + 0x68], xmm7
mulss xmm2, xmm8
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
mulss xmm6, dword [rsi + 0x48]
addss xmm1, xmm0
movss xmm10, dword [rsi + 0x3c]
xorps xmm11, xmm11
movaps xmm0, xmm7
movaps xmm7, xmm13
mulss xmm0, dword [rsi + 0x4c]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm14
mulss xmm1, dword [rsi + 0x50]
rsqrtss xmm11, xmm11
addss xmm6, xmm1
movaps xmm12, xmm11
movaps xmm8, xmm11
mulss xmm12, xmm3
mulss xmm8, xmm2
xorps xmm6, xmm4
comiss xmm6, xmm10
jb 0x180148e7b
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x180148e7b
subss xmm6, xmm10
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mulss xmm8, dword [rsp + 0x68]
movaps xmm0, xmm7
mov rax, qword [rsp + 0x60]
mulss xmm0, dword [rsi + 0x18]
mulss xmm12, dword [rsp + 0x58]
mulss xmm11, xmm14
addss xmm8, xmm12
addss xmm8, xmm11
mulss xmm8, dword [rax]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
movaps xmm6, xmm7
mov r13d, 0xff
mulss xmm7, dword [rsi + 0x14]
mov edi, ebp
mulss xmm6, dword [rsi + 0x10]
cvttss2si eax, xmm0
mulss xmm7, xmm8
test eax, eax
mulss xmm6, xmm8
cmovns edi, eax
addss xmm7, xmm9
cmp edi, r13d
cmovg edi, r13d
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, r13d
movaps xmm0, xmm6
cmovg ebx, r13d
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ecx, ebp
test eax, eax
cmovns ecx, eax
mov eax, dword [rsp + 0x48]
cmp ecx, r13d
cmovg ecx, r13d
inc r15d
or ecx, 0xffffff00
mov r13d, eax
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r14], ecx
add r14, 4
cmp r15d, dword [rsp + 0x34]
jl 0x180148c87
movss xmm12, dword [rsi + 0x20]
xorps xmm0, xmm0
movss xmm13, dword [rsi + 0x24]
xorps xmm10, xmm10
subss xmm13, dword [rsp + 0x40]
movss xmm3, dword [rsp + 0x190]
xorps xmm7, xmm7
movss xmm14, dword [rsi + 0x28]
xorps xmm11, xmm11
mov edx, dword [rsp + 0x24]
xorps xmm8, xmm8
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x50]
movaps xmm2, xmm13
cvtsi2ss xmm0, r15d
mulss xmm2, xmm13
subss xmm12, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, r12d
sub r12d, r13d
add r12d, r12d
sub r12d, edx
sub r12d, ecx
add r12d, eax
sub eax, dword [rsp + 0x30]
add r12d, dword [rsp + 0x30]
add eax, eax
mulss xmm0, xmm3
sub eax, ecx
add eax, edx
cvtsi2ss xmm10, r12d
subss xmm14, xmm0
movaps xmm0, xmm12
mulss xmm0, xmm12
cvtsi2ss xmm7, eax
addss xmm2, xmm0
mulss xmm10, xmm9
mulss xmm7, dword [0x18023aeb0]
movaps xmm1, xmm14
mulss xmm1, xmm14
addss xmm2, xmm1
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm13, xmm0
xorps xmm10, xmm2
mulss xmm14, xmm0
xorps xmm7, xmm2
mulss xmm12, xmm0
movaps xmm6, xmm13
mulss xmm6, dword [rsi + 0x4c]
mulss xmm10, xmm3
mulss xmm7, xmm3
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm12
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm14
mulss xmm1, dword [rsi + 0x50]
rsqrtss xmm11, xmm11
addss xmm6, xmm1
mulss xmm10, xmm11
mulss xmm7, xmm11
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x1801490d0
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm8, xmm0
comiss xmm1, xmm6
jbe 0x1801490d0
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm8, xmm6
mulss xmm8, dword [rsi + 0x44]
mov r15, qword [rsp + 0x60]
movaps xmm0, xmm8
mulss xmm0, dword [rsi + 0x18]
mulss xmm7, xmm13
xorps xmm13, xmm13
mulss xmm10, xmm12
mulss xmm11, xmm14
addss xmm7, xmm10
addss xmm7, xmm11
mulss xmm7, dword [r15]
minss xmm7, xmm15
maxss xmm7, xmm13
mulss xmm0, xmm7
addss xmm0, xmm9
call fcn.1801f62d0
movaps xmm6, xmm8
mov r12d, 0xff
mulss xmm8, dword [rsi + 0x14]
mov edi, ebp
mulss xmm6, dword [rsi + 0x10]
cvttss2si eax, xmm0
mulss xmm8, xmm7
test eax, eax
mulss xmm6, xmm7
cmovns edi, eax
addss xmm8, xmm9
cmp edi, r12d
cmovg edi, r12d
movaps xmm0, xmm8
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, r12d
movaps xmm0, xmm6
cmovg ebx, r12d
call fcn.1801f62d0
mov r11d, dword [rsp + 0x54]
mov ecx, ebp
mov r10d, dword [rsp + 0x28]
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, dword [rsp + 0x2c]
cmp ecx, r12d
cmovg ecx, r12d
inc r11d
or ecx, 0xffffff00
mov dword [rsp + 0x54], r11d
shl ecx, 8
inc r10d
or ecx, ebx
mov dword [rsp + 0x28], r10d
shl ecx, 8
dec eax
or ecx, edi
mov dword [r14], ecx
add r14, 4
cmp r11d, eax
jl 0x1801489b0
mov r10d, dword [rsp + 0x2c]
mov rdx, qword [rsp + 0x70]
lea eax, [r10 - 1]
movss xmm8, dword [rsi + 0x24]
lea r8d, [r10 - 2]
movss xmm3, dword [rsp + 0x190]
movss xmm10, dword [rsi + 0x20]
mov ecx, dword [rdx + 0x3c]
subss xmm10, dword [rsp + 0x38]
mov rdx, qword [rdx + 0x10]
movss xmm11, dword [rsi + 0x28]
imul eax, ecx
imul r8d, ecx
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
add rax, rdx
add rax, qword [rsp + 0x78]
add r8, rdx
add r8, qword [rsp + 0x78]
subss xmm8, xmm0
movss dword [rsp + 0x38], xmm0
movzx r12d, byte [rax + 3]
movzx r15d, byte [rax + 7]
add rax, 8
movzx ecx, byte [r8 + 7]
movzx r13d, byte [r8 + 3]
add r8, 8
mov qword [rsp + 0x70], rax
movaps xmm2, xmm8
mulss xmm2, xmm8
mov eax, r15d
sub eax, r12d
mov dword [rsp + 0x2c], ecx
add eax, eax
movd xmm0, r12d
cvtdq2ps xmm0, xmm0
sub eax, r13d
mov qword [rsp + 0x78], r8
add eax, ecx
mulss xmm0, xmm3
movd xmm12, eax
mov eax, r12d
cvtdq2ps xmm12, xmm12
sub eax, r13d
add eax, eax
sub eax, ecx
add eax, r15d
subss xmm11, xmm0
movaps xmm0, xmm10
mulss xmm12, dword [0x18023af04]
mulss xmm0, xmm10
movaps xmm1, xmm11
movd xmm14, eax
mulss xmm1, xmm11
addss xmm2, xmm0
cvtdq2ps xmm14, xmm14
addss xmm2, xmm1
mulss xmm14, dword [0x18023af04]
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm8, xmm0
xorps xmm12, xmm2
mulss xmm10, xmm0
xorps xmm14, xmm2
mulss xmm11, xmm0
movaps xmm6, xmm8
mulss xmm12, xmm3
mulss xmm14, xmm3
movaps xmm0, xmm12
mulss xmm0, xmm12
movaps xmm1, xmm14
mulss xmm1, xmm14
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm15
addss xmm1, dword [0x18023ae14]
movss xmm0, xmm1
rsqrtss xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm0
mulss xmm12, xmm0
mulss xmm14, xmm0
mulss xmm6, dword [rsi + 0x4c]
movaps xmm0, xmm10
mulss xmm0, dword [rsi + 0x48]
movaps xmm1, xmm11
mulss xmm1, dword [rsi + 0x50]
movaps xmm7, xmm13
addss xmm6, xmm0
addss xmm6, xmm1
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x180149398
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x180149398
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mov rax, qword [rsp + 0x60]
movaps xmm0, xmm7
mulss xmm0, dword [rsi + 0x18]
mulss xmm11, dword [rsp + 0x90]
mulss xmm8, xmm14
mulss xmm10, xmm12
addss xmm8, xmm10
addss xmm8, xmm11
mulss xmm8, dword [rax]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
movaps xmm6, xmm7
mulss xmm7, dword [rsi + 0x14]
test eax, eax
mulss xmm6, dword [rsi + 0x10]
cmovns ebx, eax
mov eax, 0xff
mulss xmm7, xmm8
cmp ebx, eax
cmovg ebx, eax
mulss xmm6, xmm8
addss xmm7, xmm9
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov edi, ebp
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f62d0
cvttss2si eax, xmm0
test eax, eax
jns 0x180149448
mov eax, ebp
jmp 0x180149452
mov ecx, 0xff
cmp eax, ecx
cmovg eax, ecx
mov r9d, dword [rsp + 0x3c]
or eax, 0xffffff00
shl eax, 8
or eax, edi
shl eax, 8
or eax, ebx
mov dword [r14], eax
add r14, 4
cmp r9d, dword [rsp + 0x34]
jge 0x18014970a
nop dword [rax + rax]
movss xmm12, dword [rsi + 0x20]
mov edx, r12d
movss xmm14, dword [rsi + 0x24]
mov r12d, r15d
subss xmm14, dword [rsp + 0x38]
movss xmm3, dword [rsp + 0x190]
mov ecx, r13d
movss xmm7, dword [rsi + 0x28]
xorps xmm11, xmm11
mov rax, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x2c]
movaps xmm2, xmm14
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
movzx r8d, byte [rax + 3]
add rax, 4
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x2c], r8d
mulss xmm2, xmm14
movzx r15d, byte [rax + 3]
subss xmm12, xmm0
add rax, 4
movd xmm0, r12d
mov qword [rsp + 0x70], rax
mov eax, r15d
sub eax, edx
cvtdq2ps xmm0, xmm0
add eax, eax
sub eax, ecx
add eax, r8d
mulss xmm0, xmm3
movd xmm10, eax
mov eax, r12d
sub eax, r13d
subss xmm7, xmm0
add eax, eax
movaps xmm0, xmm12
sub eax, r8d
mulss xmm0, xmm12
sub eax, ecx
add eax, r15d
cvtdq2ps xmm10, xmm10
add eax, edx
addss xmm2, xmm0
movaps xmm1, xmm7
movd xmm8, eax
mulss xmm10, dword [0x18023aeb0]
mulss xmm1, xmm7
cvtdq2ps xmm8, xmm8
addss xmm2, xmm1
mulss xmm8, xmm9
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm7, xmm0
xorps xmm10, xmm2
mulss xmm14, xmm0
xorps xmm8, xmm2
mulss xmm12, xmm0
mulss xmm10, xmm3
movaps xmm6, xmm14
mulss xmm6, dword [rsi + 0x4c]
mulss xmm8, xmm3
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm1, xmm8
movss dword [rsp + 0x48], xmm7
mulss xmm1, xmm8
addss xmm1, xmm0
movaps xmm0, xmm12
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm7
mulss xmm1, dword [rsi + 0x50]
rsqrtss xmm11, xmm11
mulss xmm10, xmm11
mulss xmm8, xmm11
addss xmm6, xmm1
movaps xmm7, xmm13
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x180149625
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm7, xmm0
comiss xmm1, xmm6
jbe 0x180149625
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm7, xmm6
mulss xmm7, dword [rsi + 0x44]
mov rax, qword [rsp + 0x60]
movaps xmm0, xmm7
mulss xmm0, dword [rsi + 0x18]
mulss xmm11, dword [rsp + 0x48]
mulss xmm8, xmm14
mulss xmm10, xmm12
addss xmm8, xmm10
addss xmm8, xmm11
mulss xmm8, dword [rax]
minss xmm8, xmm15
maxss xmm8, xmm13
mulss xmm0, xmm8
addss xmm0, xmm9
call fcn.1801f62d0
cvttss2si eax, xmm0
mov edi, ebp
movaps xmm6, xmm7
mulss xmm7, dword [rsi + 0x14]
test eax, eax
mulss xmm6, dword [rsi + 0x10]
cmovns edi, eax
mov eax, 0xff
mulss xmm7, xmm8
cmp edi, eax
cmovg edi, eax
mulss xmm6, xmm8
addss xmm7, xmm9
movaps xmm0, xmm7
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm6
cmovg ebx, eax
call fcn.1801f62d0
mov r9d, dword [rsp + 0x3c]
mov edx, 0xff
cvttss2si eax, xmm0
mov ecx, ebp
test eax, eax
cmovns ecx, eax
cmp ecx, edx
cmovg ecx, edx
inc r9d
or ecx, 0xffffff00
mov dword [rsp + 0x3c], r9d
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r14], ecx
add r14, 4
cmp r9d, dword [rsp + 0x34]
jl 0x180149480
movss xmm8, dword [rsi + 0x28]
xorps xmm0, xmm0
movss xmm12, dword [rsi + 0x20]
xorps xmm10, xmm10
movss xmm14, dword [rsi + 0x24]
xorps xmm7, xmm7
subss xmm14, dword [rsp + 0x38]
movss xmm3, dword [rsp + 0x190]
mov eax, r15d
cvtsi2ss xmm0, r9d
sub eax, r12d
add eax, eax
sub eax, r13d
add eax, dword [rsp + 0x2c]
movaps xmm2, xmm14
xorps xmm11, xmm11
subss xmm12, xmm0
mulss xmm2, xmm14
xorps xmm0, xmm0
cvtsi2ss xmm0, r15d
sub r15d, dword [rsp + 0x2c]
add r15d, r15d
sub r15d, r13d
add r15d, r12d
cvtsi2ss xmm10, eax
mulss xmm0, xmm3
mulss xmm10, dword [0x18023af04]
subss xmm8, xmm0
movaps xmm0, xmm12
mulss xmm0, xmm12
cvtsi2ss xmm7, r15d
addss xmm2, xmm0
movaps xmm1, xmm8
mulss xmm7, dword [0x18023af04]
mulss xmm1, xmm8
addss xmm2, xmm1
addss xmm2, dword [0x18023ae14]
rsqrtss xmm0, xmm2
movss xmm2, dword [0x18023b6e0]
mulss xmm8, xmm0
xorps xmm10, xmm2
mulss xmm14, xmm0
xorps xmm7, xmm2
mulss xmm12, xmm0
mulss xmm10, xmm3
movaps xmm6, xmm14
mulss xmm6, dword [rsi + 0x4c]
mulss xmm7, xmm3
movaps xmm0, xmm10
mulss xmm0, xmm10
movaps xmm1, xmm7
movss dword [rsp + 0x48], xmm8
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm12
mulss xmm0, dword [rsi + 0x48]
addss xmm1, xmm15
addss xmm6, xmm0
addss xmm1, dword [0x18023ae14]
movss xmm11, xmm1
movaps xmm1, xmm8
mulss xmm1, dword [rsi + 0x50]
movaps xmm8, xmm13
rsqrtss xmm11, xmm11
addss xmm6, xmm1
mulss xmm10, xmm11
mulss xmm7, xmm11
xorps xmm6, xmm2
comiss xmm6, dword [rsi + 0x3c]
jb 0x18014987d
movss xmm1, dword [rsi + 0x38]
movaps xmm0, xmm6
call fcn.1801dd6d0
movss xmm1, dword [rsi + 0x40]
movaps xmm8, xmm0
comiss xmm1, xmm6
jbe 0x18014987d
subss xmm6, dword [rsi + 0x3c]
mulss xmm6, xmm0
movaps xmm8, xmm6
mulss xmm8, dword [rsi + 0x44]
mov rax, qword [rsp + 0x60]
movaps xmm0, xmm8
mulss xmm0, dword [rsi + 0x18]
mulss xmm11, dword [rsp + 0x48]
mulss xmm7, xmm14
mulss xmm10, xmm12
addss xmm7, xmm10
addss xmm7, xmm11
mulss xmm7, dword [rax]
minss xmm7, xmm15
maxss xmm7, xmm13
mulss xmm0, xmm7
addss xmm0, xmm9
call fcn.1801f62d0
movaps xmm6, xmm8
mov edi, ebp
mulss xmm8, dword [rsi + 0x14]
mulss xmm6, dword [rsi + 0x10]
mov esi, 0xff
cvttss2si eax, xmm0
mulss xmm8, xmm7
test eax, eax
mulss xmm6, xmm7
cmovns edi, eax
addss xmm8, xmm9
cmp edi, esi
cmovg edi, esi
movaps xmm0, xmm8
call fcn.1801f62d0
cvttss2si eax, xmm0
mov ebx, ebp
addss xmm6, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, esi
movaps xmm0, xmm6
cmovg ebx, esi
call fcn.1801f62d0
lea r11, [rsp + 0x140]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
cvttss2si eax, xmm0
test eax, eax
cmovns ebp, eax
cmp ebp, esi
cmovg ebp, esi
mov rsi, qword [r11 + 0x40]
or ebp, 0xffffff00
shl ebp, 8
or ebp, ebx
mov rbx, qword [r11 + 0x30]
shl ebp, 8
or ebp, edi
mov dword [r14], ebp
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret