Function at 0x14008e850
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rdi
push r15
sub rsp, 0xb0
movaps xmmword [rsp + 0x20], xmm12
mov rbx, rcx
mov qword [rax + 0x20], rbp
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
mov qword [rax - 0x38], r14
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movsxd rsi, edx
mov eax, esi
movaps xmmword [rsp + 0x40], xmm10
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
shl rcx, 2
mov r13d, eax
call fcn.14026737c
lea r8d, [rsi + r13]
mov rdi, rax
movsxd rcx, r8d
shl rcx, 2
call fcn.14026737c
movd xmm12, esi
mov r14, rax
cvtdq2ps xmm12, xmm12
mov qword [rsp + 0xe0], rax
cvtps2pd xmm0, xmm12
call fcn.140296620
movaps xmm6, xmm0
movsd xmm0, qword [0x140410578]
call fcn.140296620
movsd xmm10, qword [0x1404104e8]
divsd xmm6, xmm0
addsd xmm6, xmm10
movaps xmm0, xmm6
call fcn.140296020
movss xmm7, dword [0x1404105f0]
mov dword [rbx], esi
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], rdi
cvttsd2si r12d, xmm0
mov dword [rbx + 4], r12d
mov ebx, 1
mov dword [rsp + 0xd8], r12d
test r13d, r13d
jle 0x14008ea27
movaps xmmword [rsp + 0x50], xmm9
lea eax, [rsi + rsi]
movd xmm0, eax
xor r15d, r15d
cvtdq2ps xmm0, xmm0
mov rax, rsi
mov rbp, r14
sar rax, 1
mov r12d, ebx
movaps xmm8, xmm7
movaps xmmword [rsp + 0x30], xmm11
movsd xmm11, qword [0x140410990]
lea r14, [r14 + rax*4]
movaps xmm9, xmm7
divss xmm9, xmm0
divss xmm8, xmm12
nop
xorps xmm0, xmm0
cvtsi2ss xmm0, r15d
mulss xmm0, xmm8
cvtps2pd xmm6, xmm0
movaps xmm0, xmm6
call fcn.140295100
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbp], xmm1
call fcn.140296b50
xorps xmm1, xmm1
xorps xmm0, xmm11
cvtsi2ss xmm1, r12d
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm9
movss dword [rbp + 4], xmm0
cvtps2pd xmm6, xmm1
movaps xmm0, xmm6
call fcn.140295100
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [r14], xmm1
call fcn.140296b50
xorps xmm1, xmm1
lea r14, [r14 + 8]
cvtsd2ss xmm1, xmm0
add r15d, 4
lea rbp, [rbp + 8]
add r12d, 2
movss dword [r14 - 4], xmm1
sub r13, rbx
jne 0x14008e980
mov r14, qword [rsp + 0xe0]
mov r12d, dword [rsp + 0xd8]
movaps xmm11, xmmword [rsp + 0x30]
movaps xmm9, xmmword [rsp + 0x50]
mov r13, qword [rsp + 0x98]
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov r15d, eax
test eax, eax
jle 0x14008eaa8
movsd xmm8, qword [0x140410710]
lea rsi, [r14 + rsi*4]
mov r14d, r15d
mov ebp, 2
divss xmm7, xmm12
nop dword [rax + rax]
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
mulss xmm0, xmm7
cvtps2pd xmm6, xmm0
movaps xmm0, xmm6
call fcn.140295100
mulsd xmm0, xmm10
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rsi], xmm1
call fcn.140296b50
mulsd xmm0, xmm8
lea rsi, [rsi + 8]
add ebp, 4
cvtsd2ss xmm0, xmm0
movss dword [rsi - 4], xmm0
sub r14, rbx
jne 0x14008ea60
movaps xmm10, xmmword [rsp + 0x40]
lea ecx, [r12 - 1]
movaps xmm8, xmmword [rsp + 0x60]
mov r9d, ebx
movaps xmm7, xmmword [rsp + 0x70]
xor r8d, r8d
movaps xmm6, xmmword [rsp + 0x80]
mov r14, qword [rsp + 0x90]
mov rsi, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0xe8]
shl r9d, cl
lea ecx, [r12 - 2]
mov r12, qword [rsp + 0xa0]
dec r9d
shl ebx, cl
test r15d, r15d
jle 0x14008eb3c
nop
xor edx, edx
xor ecx, ecx
test ebx, ebx
je 0x14008eb22
mov eax, ebx
nop word [rax + rax]
test r8d, eax
je 0x14008eb18
bts edx, ecx
inc ecx
mov eax, ebx
sar eax, cl
test eax, eax
jne 0x14008eb10
mov eax, edx
mov dword [rdi + 4], edx
not eax
inc r8d
and eax, r9d
dec eax
mov dword [rdi], eax
add rdi, 8
cmp r8d, r15d
jl 0x14008eb00
movss xmm0, dword [0x140410618]
mov rax, qword [rsp + 0xd0]
divss xmm0, xmm12
movaps xmm12, xmmword [rsp + 0x20]
movss dword [rax + 0x18], xmm0
add rsp, 0xb0
pop r15
pop rdi
pop rbx
ret