Function at 0x14017cb90
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
mov rax, qword [0x140396c80]
xor rax, rsp
mov qword [rsp + 0x30], rax
movss xmm1, dword [rcx + 0xc]
xor esi, esi
movss xmm0, dword [rcx + 0x10]
xorps xmm7, xmm7
ucomiss xmm1, xmm7
mov rbx, rcx
mov rdi, qword [rcx]
lea ebp, [rsi + 1]
movss xmm2, dword [rcx + 0x14]
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0x24], xmm0
movss dword [rsp + 0x28], xmm2
jp 0x14017cc1f
jne 0x14017cc1f
ucomiss xmm0, xmm7
jp 0x14017cc1f
jne 0x14017cc1f
ucomiss xmm2, xmm7
jp 0x14017cc1f
jne 0x14017cc1f
lea rdx, [rsp + 0x20]
call fcn.14017bff0
movss xmm2, dword [rsp + 0x28]
mov esi, ebp
movss xmm0, dword [rsp + 0x24]
movss xmm1, dword [rsp + 0x20]
comiss xmm7, xmm0
movss xmm6, dword [0x140298310]
jbe 0x14017cc2f
xorps xmm0, xmm6
comiss xmm7, xmm1
jbe 0x14017cc37
xorps xmm1, xmm6
xor r10d, r10d
comiss xmm0, xmm1
cmova r10d, ebp
comiss xmm7, xmm2
jbe 0x14017cc49
xorps xmm2, xmm6
movss xmm0, dword [rsp + r10*4 + 0x20]
comiss xmm7, xmm0
jbe 0x14017cc58
xorps xmm0, xmm6
mov eax, 2
comiss xmm2, xmm0
cmova r10d, eax
mov eax, 0xaaaaaaab
movss xmm1, dword [rsp + r10*4 + 0x20]
lea r8d, [r10 + 1]
mul r8d
mov dword [rbx + r10*4 + 0x18], 0
mov eax, 0xaaaaaaab
shr edx, 1
lea ecx, [rdx + rdx*2]
sub r8d, ecx
lea ecx, [r10 + 2]
mul ecx
movsxd r11, r8d
shr edx, 1
mov dword [rbx + r11*4 + 0x18], 0x3f800000
lea eax, [rdx + rdx*2]
sub ecx, eax
comiss xmm1, xmm7
movsxd rax, ecx
mov dword [rbx + rax*4 + 0x18], 0
mov dword [rbx + r10*4 + 0x24], 0
jbe 0x14017ccc9
movss xmm0, dword [0x1402dd310]
jmp 0x14017cccc
xorps xmm0, xmm0
movss dword [rbx + r11*4 + 0x24], xmm0
jbe 0x14017ccdf
movss xmm0, dword [0x140292e10]
jmp 0x14017cce7
movss xmm0, dword [0x1402982f8]
movss dword [rbx + rax*4 + 0x24], xmm0
mov rax, qword [rdi]
cmp rax, rdi
je 0x14017cd58
nop word [rax + rax]
movss xmm3, dword [rax + 0x1c]
movss xmm5, dword [rax + 0x18]
movaps xmm0, xmm3
mulss xmm0, dword [rbx + 0x1c]
movaps xmm2, xmm5
mulss xmm2, dword [rbx + 0x18]
movss xmm4, dword [rax + 0x20]
movaps xmm1, xmm4
mulss xmm1, dword [rbx + 0x20]
addss xmm2, xmm0
addss xmm2, xmm1
movss dword [rax + 0x24], xmm2
mulss xmm5, dword [rbx + 0x24]
mulss xmm3, dword [rbx + 0x28]
mulss xmm4, dword [rbx + 0x2c]
addss xmm5, xmm3
addss xmm5, xmm4
movss dword [rax + 0x28], xmm5
mov rax, qword [rax]
cmp rax, rdi
jne 0x14017cd00
test esi, esi
je 0x14017ce1c
mov r11, qword [rbx]
movaps xmm2, xmm7
mov r10, qword [r11 + 0x38]
lea rsi, [r11 + 0x38]
cmp r10, rsi
je 0x14017ce1c
nop word [rax + rax]
mov r9, qword [r10 + 0x10]
mov r8, r9
cmp dword [r9 + 0x38], 0
jle 0x14017cdc1
nop
mov rdx, qword [r8 + 0x20]
mov rax, qword [r8 + 8]
mov r8, qword [r8 + 0x18]
movss xmm1, dword [rdx + 0x24]
mov rcx, qword [rax + 0x20]
movss xmm0, dword [rcx + 0x28]
addss xmm0, dword [rdx + 0x28]
subss xmm1, dword [rcx + 0x24]
mulss xmm1, xmm0
addss xmm2, xmm1
cmp r8, r9
jne 0x14017cd90
mov r10, qword [r10]
cmp r10, rsi
jne 0x14017cd80
comiss xmm7, xmm2
jbe 0x14017ce1c
mov rax, qword [r11]
cmp rax, r11
je 0x14017cdf5
nop word [rax + rax]
movss xmm0, dword [rax + 0x28]
xorps xmm0, xmm6
movss dword [rax + 0x28], xmm0
mov rax, qword [rax]
cmp rax, r11
jne 0x14017cde0
movss xmm0, dword [rbx + 0x24]
movss xmm1, dword [rbx + 0x28]
xorps xmm0, xmm6
movss dword [rbx + 0x24], xmm0
xorps xmm1, xmm6
movss xmm0, dword [rbx + 0x2c]
xorps xmm0, xmm6
movss dword [rbx + 0x28], xmm1
movss dword [rbx + 0x2c], xmm0
mov rax, qword [rdi]
cmp rax, rdi
je 0x14017ce90
movss xmm1, dword [rax + 0x24]
test ebp, ebp
je 0x14017ce45
movss dword [rbx + 0x38], xmm1
xor ebp, ebp
movss dword [rbx + 0x30], xmm1
movss xmm0, dword [rax + 0x28]
movss dword [rbx + 0x34], xmm0
jmp 0x14017ce83
movss xmm0, dword [rbx + 0x30]
comiss xmm0, xmm1
jbe 0x14017ce54
movss dword [rbx + 0x30], xmm1
movss xmm0, dword [rax + 0x24]
comiss xmm0, dword [rbx + 0x38]
jbe 0x14017ce64
movss dword [rbx + 0x38], xmm0
movss xmm1, dword [rax + 0x28]
movss xmm0, dword [rbx + 0x34]
comiss xmm0, xmm1
jbe 0x14017ce78
movss dword [rbx + 0x34], xmm1
movss xmm0, dword [rax + 0x28]
comiss xmm0, dword [rbx + 0x3c]
jbe 0x14017ce88
movss dword [rbx + 0x3c], xmm0
mov rax, qword [rax]
cmp rax, rdi
jne 0x14017ce24
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400be7c0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
movaps xmm6, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x40]
mov rsp, r11
pop rdi
ret