Function at 0x180146e30
Capabilities:
Encode data using xor

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, 0x120
mov r12, qword [r9 + 0x10]
mov r14, rdx
movaps xmmword [rax - 0x38], xmm6
mov rbx, r8
movaps xmmword [rax - 0x48], xmm7
mov r8, rcx
movaps xmmword [rax - 0x58], xmm8
movss xmm5, dword [r14 + 0x20]
mov edx, dword [rbx + 0x3c]
movss xmm4, dword [r14 + 0x24]
movss xmm3, dword [r14 + 0x28]
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movss xmm10, dword [rsp + 0x170]
movaps xmmword [rax - 0x88], xmm11
movss xmm11, dword [0x18023aa24]
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [rsp + 0x178]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x60], rbx
mov r10d, dword [rax + 4]
mov ecx, dword [rax + 0xc]
mov esi, dword [rax]
mov ebp, dword [rax + 8]
imul edx, r10d
movd xmm15, r10d
lea eax, [rsi*4]
movd xmm0, esi
movsxd r11, eax
lea eax, [r10 + 1]
cvtdq2ps xmm0, xmm0
add rdx, qword [rbx + 0x10]
add rdx, r11
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x58], ecx
mov qword [rsp + 0x68], r11
imul eax, dword [rbx + 0x3c]
movzx r13d, byte [rdx + 3]
subss xmm5, xmm0
movzx r9d, byte [rdx + 7]
add rdx, 8
movss dword [rsp + 0x5c], xmm0
cvtdq2ps xmm15, xmm15
add rax, qword [rbx + 0x10]
add rax, r11
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x20], r9d
movd xmm0, r13d
movzx edx, byte [rax + 3]
subss xmm4, xmm15
movzx ecx, byte [rax + 7]
add rax, 8
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x50], rax
mov eax, r9d
sub eax, r13d
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x2c], ecx
add eax, eax
sub eax, edx
movaps xmm2, xmm4
mulss xmm2, xmm4
mulss xmm0, xmm10
subss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm5
addss xmm2, xmm0
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm2, xmm1
addss xmm2, xmm11
movaps xmm7, xmm2
rsqrtss xmm7, xmm2
movaps xmm6, xmm7
mulss xmm6, xmm5
movaps xmm5, xmm7
mulss xmm5, xmm4
mulss xmm7, xmm3
movss xmm12, dword [0x18023b2f0]
add eax, ecx
movss xmm13, dword [0x18023ab30]
xorps xmm14, xmm14
movss xmm9, dword [0x18023ab00]
movd xmm3, eax
mov eax, edx
cvtdq2ps xmm3, xmm3
sub eax, r13d
add eax, eax
sub eax, r9d
add eax, ecx
mulss xmm3, dword [0x18023ab14]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
xorps xmm3, xmm12
mulss xmm2, dword [0x18023ab14]
mulss xmm3, xmm10
xorps xmm2, xmm12
mulss xmm2, xmm10
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm0, xmm1
rsqrtss xmm0, xmm0
movaps xmm1, xmm0
mulss xmm2, xmm0
mulss xmm1, xmm3
mulss xmm0, xmm7
mulss xmm1, xmm6
mulss xmm2, xmm5
addss xmm1, xmm2
addss xmm1, xmm0
mulss xmm1, dword [r8]
minss xmm1, xmm13
maxss xmm1, xmm14
movaps xmm7, xmm1
movaps xmm6, xmm1
mulss xmm1, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm1, xmm9
movaps xmm0, xmm1
call fcn.1801f6150
cvttss2si eax, xmm0
xor r15d, r15d
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ecx, r15d
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
lea eax, [rsi + 1]
or ecx, edi
mov esi, dword [rsp + 0x2c]
mov r8d, eax
mov dword [r12], ecx
add r12, 4
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x30], eax
lea eax, [rbp - 1]
mov ebp, dword [rsp + 0x28]
mov dword [rsp + 0x34], eax
cmp r8d, eax
jge 0x18014732e
nop dword [rax]
mov rax, qword [rsp + 0x70]
mov edx, ebp
movss xmm8, dword [r14 + 0x20]
mov ecx, r13d
mov r13d, dword [rsp + 0x20]
mov ebp, esi
movss xmm6, dword [r14 + 0x24]
movzx r9d, byte [rax + 3]
subss xmm6, xmm15
movss xmm7, dword [r14 + 0x28]
add rax, 4
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x50]
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
mov dword [rsp + 0x20], r9d
movzx esi, byte [rax + 3]
add rax, 4
mov qword [rsp + 0x50], rax
mov eax, r9d
sub eax, ecx
add eax, eax
movaps xmm2, xmm6
subss xmm8, xmm0
mulss xmm2, xmm6
sub eax, edx
add eax, esi
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
movd xmm4, eax
mov eax, ebp
mulss xmm0, xmm10
sub eax, r13d
add eax, eax
cvtdq2ps xmm4, xmm4
sub eax, r9d
sub eax, ecx
add eax, edx
add eax, esi
subss xmm7, xmm0
movaps xmm0, xmm8
mulss xmm4, dword [0x18023aac0]
mulss xmm0, xmm8
movaps xmm1, xmm7
movd xmm3, eax
cvtdq2ps xmm3, xmm3
addss xmm2, xmm0
mulss xmm1, xmm7
mulss xmm3, xmm9
xorps xmm4, xmm12
mulss xmm4, xmm10
addss xmm2, xmm1
xorps xmm3, xmm12
mulss xmm3, xmm10
movaps xmm0, xmm4
mulss xmm0, xmm4
movaps xmm1, xmm3
addss xmm2, xmm11
mulss xmm1, xmm3
addss xmm1, xmm0
movaps xmm5, xmm2
rsqrtss xmm5, xmm2
xorps xmm2, xmm2
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm2, xmm1
rsqrtss xmm2, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm3
movaps xmm3, xmm5
mulss xmm3, xmm6
mulss xmm1, xmm4
mulss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm8
mulss xmm5, xmm7
mulss xmm0, xmm1
mulss xmm5, xmm2
addss xmm3, xmm0
addss xmm3, xmm5
mov rax, qword [rsp + 0x40]
mulss xmm3, dword [rax]
minss xmm3, xmm13
maxss xmm3, xmm14
movaps xmm7, xmm3
movaps xmm6, xmm3
mulss xmm3, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm3, xmm9
movaps xmm0, xmm3
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
mov r8d, dword [rsp + 0x30]
mov ecx, r15d
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
inc r8d
or ecx, 0xffffff00
mov dword [rsp + 0x30], r8d
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r8d, dword [rsp + 0x34]
jl 0x180147130
mov r9d, dword [rsp + 0x20]
xorps xmm3, xmm3
movss xmm6, dword [r14 + 0x24]
mov eax, r9d
movss xmm7, dword [r14 + 0x28]
subss xmm6, xmm15
movss xmm8, dword [r14 + 0x20]
sub eax, r13d
add eax, eax
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
sub eax, ebp
add eax, esi
sub esi, r9d
add esi, esi
sub esi, r13d
movaps xmm2, xmm6
add esi, ebp
mulss xmm2, xmm6
subss xmm8, xmm0
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
movd xmm4, eax
mov rax, qword [rsp + 0x40]
mulss xmm0, xmm10
cvtdq2ps xmm4, xmm4
subss xmm7, xmm0
movaps xmm0, xmm8
mulss xmm4, dword [0x18023ab14]
mulss xmm0, xmm8
movaps xmm1, xmm7
xorps xmm4, xmm12
mulss xmm1, xmm7
addss xmm2, xmm0
mulss xmm4, xmm10
movaps xmm0, xmm4
addss xmm2, xmm1
mulss xmm0, xmm4
addss xmm2, xmm11
movaps xmm5, xmm2
rsqrtss xmm5, xmm2
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x18023ab14]
xorps xmm2, xmm12
mulss xmm2, xmm10
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm3, xmm1
rsqrtss xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulss xmm0, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm6
mulss xmm1, xmm4
mulss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm5, xmm7
mulss xmm0, xmm8
mulss xmm5, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
addss xmm2, xmm5
mulss xmm2, dword [rax]
minss xmm2, xmm13
maxss xmm2, xmm14
movaps xmm7, xmm2
movaps xmm6, xmm2
mulss xmm2, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm2, xmm9
movaps xmm0, xmm2
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
test eax, eax
cmovns edi, eax
addss xmm6, xmm9
mov esi, 0xff
cmp edi, esi
cmovg edi, esi
movaps xmm0, xmm6
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, esi
movaps xmm0, xmm7
cmovg ebx, esi
call fcn.1801f6150
mov r10d, dword [rsp + 0x58]
mov ecx, r15d
mov r11d, dword [rsp + 0x24]
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
lea eax, [r10 - 1]
cmp ecx, esi
cmovg ecx, esi
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r11d, eax
jge 0x180147b4c
lea r8d, [r11 + 1]
mov dword [rsp + 0x50], r8d
nop word [rax + rax]
mov r9, qword [rsp + 0x68]
lea esi, [r11 - 1]
mov rax, qword [rsp + 0x60]
movss xmm5, dword [r14 + 0x20]
subss xmm5, dword [rsp + 0x5c]
movss xmm4, dword [r14 + 0x24]
mov rcx, qword [rax + 0x10]
mov edx, dword [rax + 0x3c]
mov ebp, edx
movss xmm3, dword [r14 + 0x28]
imul esi, edx
imul ebp, r11d
imul edx, r8d
movd xmm15, r11d
cvtdq2ps xmm15, xmm15
add rsi, rcx
add rsi, r9
add rbp, rcx
add rbp, r9
mov r13d, edx
add r13, rcx
add r13, r9
movzx ecx, byte [rsi + 3]
subss xmm4, xmm15
movzx r9d, byte [rbp + 3]
movzx r10d, byte [rsi + 7]
add rsi, 8
movzx edx, byte [r13 + 3]
movzx r8d, byte [r13 + 7]
add r13, 8
movzx eax, byte [rbp + 7]
movaps xmm2, xmm4
mulss xmm2, xmm4
add rbp, 8
mov dword [rsp + 0x28], eax
sub eax, r9d
add eax, eax
movd xmm0, r9d
sub eax, edx
mov dword [rsp + 0x38], ecx
sub eax, ecx
mov dword [rsp + 0x30], r10d
cvtdq2ps xmm0, xmm0
add eax, r8d
mov dword [rsp + 0x48], r9d
add eax, r10d
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x2c], r8d
mulss xmm0, xmm10
subss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm5
movaps xmm1, xmm3
addss xmm2, xmm0
mulss xmm1, xmm3
addss xmm2, xmm1
addss xmm2, xmm11
movaps xmm7, xmm2
rsqrtss xmm7, xmm2
movaps xmm6, xmm7
mulss xmm6, xmm5
movaps xmm5, xmm7
mulss xmm5, xmm4
movd xmm4, eax
mov eax, edx
mulss xmm7, xmm3
sub eax, ecx
add eax, eax
cvtdq2ps xmm4, xmm4
sub eax, r10d
add eax, r8d
mulss xmm4, xmm9
movd xmm3, eax
cvtdq2ps xmm3, xmm3
xorps xmm4, xmm12
mulss xmm3, dword [0x18023aac0]
mulss xmm4, xmm10
xorps xmm3, xmm12
mulss xmm3, xmm10
movaps xmm1, xmm3
mulss xmm1, xmm3
mov rax, qword [rsp + 0x40]
xorps xmm2, xmm2
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm1, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm2, xmm1
rsqrtss xmm2, xmm2
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, xmm3
mulss xmm2, xmm7
mulss xmm1, xmm5
mulss xmm0, xmm4
mulss xmm0, xmm6
addss xmm1, xmm0
addss xmm1, xmm2
mulss xmm1, dword [rax]
minss xmm1, xmm13
maxss xmm1, xmm14
movaps xmm7, xmm1
movaps xmm6, xmm1
mulss xmm1, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm1, xmm9
movaps xmm0, xmm1
call fcn.1801f6150
cvttss2si edi, xmm0
test edi, edi
jns 0x1801476c2
mov edi, r15d
jmp 0x1801476cc
mov eax, 0xff
cmp edi, eax
cmovg edi, eax
addss xmm6, xmm9
movaps xmm0, xmm6
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
mov r11d, dword [rsp + 0x3c]
mov ecx, r15d
cvttss2si eax, xmm0
mov dword [rsp + 0x4c], r11d
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r11d, dword [rsp + 0x34]
jge 0x180147963
nop
movzx r10d, byte [r13 + 3]
add r13, 4
movzx edi, byte [rsi + 3]
add rsi, 4
movzx eax, byte [rbp + 3]
add rbp, 4
mov ebx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x30]
movss xmm8, dword [r14 + 0x20]
movss xmm6, dword [r14 + 0x24]
movss xmm7, dword [r14 + 0x28]
subss xmm6, xmm15
mov dword [rsp + 0x28], eax
sub eax, dword [rsp + 0x48]
add eax, eax
movd xmm0, r11d
cvtdq2ps xmm0, xmm0
sub eax, edx
mov dword [rsp + 0x38], r8d
sub eax, ecx
mov dword [rsp + 0x20], r9d
add eax, r10d
mov dword [rsp + 0x70], ebx
add eax, edi
mov dword [rsp + 0x30], edi
movaps xmm2, xmm6
mov dword [rsp + 0x2c], r10d
subss xmm8, xmm0
mulss xmm2, xmm6
movd xmm4, eax
mov eax, r9d
sub eax, r8d
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
add eax, eax
sub eax, ecx
sub eax, edi
add eax, edx
cvtdq2ps xmm4, xmm4
add eax, r10d
mulss xmm0, xmm10
mulss xmm4, dword [0x18023aaa8]
subss xmm7, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm8
xorps xmm4, xmm12
mulss xmm3, dword [0x18023aaa8]
movaps xmm1, xmm7
mulss xmm1, xmm7
mulss xmm0, xmm8
xorps xmm3, xmm12
mulss xmm3, xmm10
addss xmm2, xmm0
mulss xmm4, xmm10
movaps xmm0, xmm4
addss xmm2, xmm1
mulss xmm0, xmm4
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm2, xmm11
addss xmm1, xmm0
movaps xmm5, xmm2
rsqrtss xmm5, xmm2
xorps xmm2, xmm2
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm2, xmm1
rsqrtss xmm2, xmm2
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, xmm3
movaps xmm3, xmm5
mulss xmm3, xmm6
mulss xmm1, xmm4
mulss xmm3, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm8
mov rax, qword [rsp + 0x40]
mulss xmm5, xmm7
mulss xmm0, xmm1
mulss xmm5, xmm2
addss xmm3, xmm0
addss xmm3, xmm5
mulss xmm3, dword [rax]
minss xmm3, xmm13
maxss xmm3, xmm14
movaps xmm7, xmm3
movaps xmm6, xmm3
mulss xmm3, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm3, xmm9
movaps xmm0, xmm3
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
mov r11d, dword [rsp + 0x4c]
mov ecx, r15d
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
inc r11d
or ecx, 0xffffff00
mov dword [rsp + 0x4c], r11d
shl ecx, 8
or ecx, ebx
mov ebx, dword [rsp + 0x70]
shl ecx, 8
or ecx, edi
mov dword [rsp + 0x48], ebx
mov dword [r12], ecx
add r12, 4
cmp r11d, dword [rsp + 0x34]
jl 0x180147740
jmp 0x180147967
mov ebx, dword [rsp + 0x48]
mov eax, dword [rsp + 0x28]
xorps xmm3, xmm3
movss xmm6, dword [r14 + 0x24]
movss xmm7, dword [r14 + 0x28]
subss xmm6, xmm15
movss xmm8, dword [r14 + 0x20]
mov edx, dword [rsp + 0x20]
mov ecx, dword [rsp + 0x38]
mov r8d, dword [rsp + 0x2c]
movaps xmm2, xmm6
movd xmm0, r11d
mulss xmm2, xmm6
cvtdq2ps xmm0, xmm0
subss xmm8, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
sub eax, ebx
add eax, eax
sub eax, edx
sub eax, ecx
add eax, r8d
sub r8d, dword [rsp + 0x30]
add eax, dword [rsp + 0x30]
add r8d, r8d
mulss xmm0, xmm10
sub r8d, ecx
add r8d, edx
movd xmm4, eax
mov rax, qword [rsp + 0x40]
subss xmm7, xmm0
cvtdq2ps xmm4, xmm4
movaps xmm1, xmm7
movaps xmm0, xmm8
mulss xmm1, xmm7
mulss xmm0, xmm8
mulss xmm4, xmm9
addss xmm2, xmm0
xorps xmm4, xmm12
mulss xmm4, xmm10
addss xmm2, xmm1
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm2, xmm11
movaps xmm5, xmm2
rsqrtss xmm5, xmm2
movd xmm2, r8d
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x18023aac0]
xorps xmm2, xmm12
mulss xmm2, xmm10
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm3, xmm1
rsqrtss xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulss xmm0, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm6
mulss xmm1, xmm4
mulss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm5, xmm7
mulss xmm0, xmm8
mulss xmm5, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
addss xmm2, xmm5
mulss xmm2, dword [rax]
minss xmm2, xmm13
maxss xmm2, xmm14
movaps xmm7, xmm2
movaps xmm6, xmm2
mulss xmm2, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm2, xmm9
movaps xmm0, xmm2
call fcn.1801f6150
cvttss2si eax, xmm0
mov esi, 0xff
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
cmp edi, esi
movaps xmm0, xmm6
cmovg edi, esi
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, esi
movaps xmm0, xmm7
cmovg ebx, esi
call fcn.1801f6150
mov r11d, dword [rsp + 0x24]
mov ecx, r15d
mov r8d, dword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
lea eax, [r10 - 1]
cmp ecx, esi
cmovg ecx, esi
inc r11d
or ecx, 0xffffff00
mov dword [rsp + 0x24], r11d
shl ecx, 8
inc r8d
or ecx, ebx
mov dword [rsp + 0x50], r8d
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r11d, eax
jl 0x180147500
mov rdx, qword [rsp + 0x60]
lea eax, [r10 - 1]
movss xmm6, dword [r14 + 0x20]
lea r8d, [r10 - 2]
subss xmm6, dword [rsp + 0x5c]
movss xmm4, dword [r14 + 0x24]
mov ecx, dword [rdx + 0x3c]
mov rdx, qword [rdx + 0x10]
movss xmm5, dword [r14 + 0x28]
imul eax, ecx
imul r8d, ecx
movd xmm15, r11d
cvtdq2ps xmm15, xmm15
add rax, qword [rsp + 0x68]
add r8, qword [rsp + 0x68]
add rax, rdx
add r8, rdx
subss xmm4, xmm15
movzx ebp, byte [rax + 3]
movzx esi, byte [rax + 7]
add rax, 8
movzx ecx, byte [r8 + 7]
movzx r13d, byte [r8 + 3]
add r8, 8
mov qword [rsp + 0x60], rax
movaps xmm2, xmm4
mulss xmm2, xmm4
mov eax, esi
sub eax, ebp
mov dword [rsp + 0x24], ecx
add eax, eax
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
sub eax, r13d
mov qword [rsp + 0x68], r8
add eax, ecx
mulss xmm0, xmm10
subss xmm5, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
addss xmm2, xmm0
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm2, xmm1
addss xmm2, xmm11
rsqrtss xmm0, xmm2
movd xmm2, eax
mov eax, ebp
mulss xmm6, xmm0
sub eax, r13d
add eax, eax
mulss xmm4, xmm0
sub eax, ecx
add eax, esi
cvtdq2ps xmm2, xmm2
mulss xmm5, xmm0
mulss xmm2, dword [0x18023ab14]
movd xmm3, eax
cvtdq2ps xmm3, xmm3
xorps xmm2, xmm12
mulss xmm3, dword [0x18023ab14]
mulss xmm2, xmm10
xorps xmm3, xmm12
mulss xmm3, xmm10
movaps xmm0, xmm2
mulss xmm0, xmm2
movaps xmm1, xmm3
mulss xmm1, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm0, xmm1
rsqrtss xmm0, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
mulss xmm3, xmm4
mulss xmm2, xmm6
mulss xmm0, xmm5
addss xmm3, xmm2
addss xmm3, xmm0
mov rax, qword [rsp + 0x40]
mulss xmm3, dword [rax]
minss xmm3, xmm13
maxss xmm3, xmm14
movaps xmm7, xmm3
movaps xmm6, xmm3
mulss xmm3, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm3, xmm9
movaps xmm0, xmm3
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
mov r9d, dword [rsp + 0x3c]
mov ecx, r15d
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
or ecx, 0xffffff00
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r9d, dword [rsp + 0x34]
jge 0x180147f44
nop dword [rax]
mov rax, qword [rsp + 0x68]
mov edx, ebp
movss xmm8, dword [r14 + 0x24]
mov ebp, esi
movss xmm6, dword [r14 + 0x20]
subss xmm8, xmm15
movss xmm5, dword [r14 + 0x28]
mov ecx, r13d
movzx r8d, byte [rax + 3]
add rax, 4
mov r13d, dword [rsp + 0x24]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x60]
movaps xmm2, xmm8
mulss xmm2, xmm8
mov dword [rsp + 0x24], r8d
movd xmm0, r9d
movzx esi, byte [rax + 3]
add rax, 4
mov qword [rsp + 0x60], rax
mov eax, esi
cvtdq2ps xmm0, xmm0
sub eax, edx
add eax, eax
sub eax, ecx
add eax, r8d
subss xmm6, xmm0
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
movd xmm3, eax
mov eax, ebp
mulss xmm0, xmm10
sub eax, r13d
add eax, eax
cvtdq2ps xmm3, xmm3
sub eax, ecx
sub eax, r8d
add eax, edx
add eax, esi
subss xmm5, xmm0
movaps xmm0, xmm6
mulss xmm3, dword [0x18023aac0]
mulss xmm0, xmm6
movaps xmm1, xmm5
xorps xmm3, xmm12
mulss xmm1, xmm5
addss xmm2, xmm0
mulss xmm3, xmm10
movaps xmm0, xmm3
addss xmm2, xmm1
mulss xmm0, xmm3
addss xmm2, xmm11
rsqrtss xmm4, xmm2
movd xmm2, eax
mov rax, qword [rsp + 0x40]
cvtdq2ps xmm2, xmm2
mulss xmm8, xmm4
mulss xmm2, xmm9
mulss xmm6, xmm4
xorps xmm2, xmm12
mulss xmm5, xmm4
mulss xmm2, xmm10
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm0, xmm1
rsqrtss xmm0, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
mulss xmm6, xmm3
mulss xmm8, xmm2
mulss xmm5, xmm0
addss xmm8, xmm6
addss xmm8, xmm5
mulss xmm8, dword [rax]
minss xmm8, xmm13
maxss xmm8, xmm14
movaps xmm7, xmm8
mulss xmm7, dword [r14 + 0x10]
movaps xmm6, xmm8
mulss xmm8, dword [r14 + 0x18]
mulss xmm6, dword [r14 + 0x14]
addss xmm8, xmm9
movaps xmm0, xmm8
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
addss xmm6, xmm9
test eax, eax
cmovns edi, eax
mov eax, 0xff
cmp edi, eax
movaps xmm0, xmm6
cmovg edi, eax
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
mov eax, 0xff
cmp ebx, eax
movaps xmm0, xmm7
cmovg ebx, eax
call fcn.1801f6150
mov r9d, dword [rsp + 0x3c]
mov ecx, r15d
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, 0xff
cmp ecx, eax
cmovg ecx, eax
inc r9d
or ecx, 0xffffff00
mov dword [rsp + 0x3c], r9d
shl ecx, 8
or ecx, ebx
shl ecx, 8
or ecx, edi
mov dword [r12], ecx
add r12, 4
cmp r9d, dword [rsp + 0x34]
jl 0x180147d50
movss xmm6, dword [r14 + 0x24]
mov eax, esi
movss xmm7, dword [r14 + 0x28]
subss xmm6, xmm15
movss xmm8, dword [r14 + 0x20]
sub eax, ebp
add eax, eax
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
sub eax, r13d
add eax, dword [rsp + 0x24]
movaps xmm2, xmm6
xorps xmm3, xmm3
mulss xmm2, xmm6
subss xmm8, xmm0
movd xmm0, esi
sub esi, dword [rsp + 0x24]
cvtdq2ps xmm0, xmm0
add esi, esi
sub esi, r13d
add esi, ebp
movd xmm4, eax
mov rax, qword [rsp + 0x40]
mulss xmm0, xmm10
cvtdq2ps xmm4, xmm4
subss xmm7, xmm0
movaps xmm0, xmm8
mulss xmm4, dword [0x18023ab14]
mulss xmm0, xmm8
movaps xmm1, xmm7
xorps xmm4, xmm12
mulss xmm1, xmm7
addss xmm2, xmm0
mulss xmm4, xmm10
movaps xmm0, xmm4
addss xmm2, xmm1
mulss xmm0, xmm4
addss xmm2, xmm11
movaps xmm5, xmm2
rsqrtss xmm5, xmm2
movd xmm2, esi
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [0x18023ab14]
xorps xmm2, xmm12
mulss xmm2, xmm10
movaps xmm1, xmm2
mulss xmm1, xmm2
addss xmm1, xmm0
addss xmm1, xmm13
addss xmm1, xmm11
movss xmm3, xmm1
rsqrtss xmm3, xmm3
movaps xmm0, xmm3
movaps xmm1, xmm3
mulss xmm0, xmm2
movaps xmm2, xmm5
mulss xmm2, xmm6
mulss xmm1, xmm4
mulss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm5, xmm7
mulss xmm0, xmm8
mulss xmm5, xmm3
mulss xmm0, xmm1
addss xmm2, xmm0
addss xmm2, xmm5
mulss xmm2, dword [rax]
minss xmm2, xmm13
maxss xmm2, xmm14
movaps xmm7, xmm2
movaps xmm6, xmm2
mulss xmm2, dword [r14 + 0x18]
mulss xmm7, dword [r14 + 0x10]
mulss xmm6, dword [r14 + 0x14]
addss xmm2, xmm9
movaps xmm0, xmm2
call fcn.1801f6150
cvttss2si eax, xmm0
mov edi, r15d
test eax, eax
cmovns edi, eax
mov esi, 0xff
addss xmm6, xmm9
cmp edi, esi
cmovg edi, esi
movaps xmm0, xmm6
call fcn.1801f6150
cvttss2si eax, xmm0
mov ebx, r15d
addss xmm7, xmm9
test eax, eax
cmovns ebx, eax
cmp ebx, esi
movaps xmm0, xmm7
cmovg ebx, esi
call fcn.1801f6150
lea r11, [rsp + 0x120]
mov rbp, qword [r11 + 0x38]
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 r15d, eax
cmp r15d, esi
cmovg r15d, esi
mov rsi, qword [r11 + 0x40]
or r15d, 0xffffff00
shl r15d, 8
or r15d, ebx
mov rbx, qword [r11 + 0x30]
shl r15d, 8
or r15d, edi
mov dword [r12], r15d
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret