Function at 0x140220200
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbx
push rdi
push r15
sub rsp, 0xa0
movaps xmmword [rsp + 0x20], xmm11
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
movaps xmmword [rax - 0x78], xmm9
movsxd rsi, edx
mov eax, esi
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rcx, eax
shl rcx, 2
mov r13d, eax
call fcn.1400c1e7c
lea r8d, [rsi + r13]
mov rdi, rax
movsxd rcx, r8d
shl rcx, 2
call fcn.1400c1e7c
movd xmm11, esi
mov r14, rax
cvtdq2ps xmm11, xmm11
mov qword [rsp + 0xd0], rax
movaps xmm0, xmm11
call fcn.140262c90
movaps xmm6, xmm0
movss xmm0, dword [0x1404374ac]
call fcn.140262c90
divss xmm6, xmm0
addss xmm6, dword [0x1404371c8]
movaps xmm0, xmm6
call fcn.140262c08
movsd xmm7, qword [0x1404374c8]
mov dword [rbx], esi
mov qword [rbx + 8], r14
mov qword [rbx + 0x10], rdi
cvttss2si r12d, xmm0
mov dword [rbx + 4], r12d
mov ebx, 1
mov dword [rsp + 0xc8], r12d
test r13d, r13d
jle 0x1402203cd
movd xmm0, esi
lea eax, [rsi + rsi]
cvtdq2pd xmm0, xmm0
mov rcx, rsi
mov rbp, r14
sar rcx, 1
mov r12d, ebx
xor r15d, r15d
movaps xmm8, xmm7
movaps xmmword [rsp + 0x30], xmm10
movsd xmm10, qword [0x140437d60]
lea r14, [r14 + rcx*4]
divsd xmm8, xmm0
movd xmm0, eax
movaps xmm9, xmm7
cvtdq2pd xmm0, xmm0
divsd xmm9, xmm0
nop word [rax + rax]
movd xmm6, r15d
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm8
movaps xmm0, xmm6
call fcn.140261a30
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rbp], xmm1
call fcn.140263090
xorps xmm0, xmm10
movd xmm6, r12d
cvtsd2ss xmm0, xmm0
cvtdq2pd xmm6, xmm6
movss dword [rbp + 4], xmm0
mulsd xmm6, xmm9
movaps xmm0, xmm6
call fcn.140261a30
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [r14], xmm1
call fcn.140263090
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 0x140220330
mov r14, qword [rsp + 0xd0]
mov r12d, dword [rsp + 0xc8]
movaps xmm10, xmmword [rsp + 0x30]
mov r13, qword [rsp + 0x88]
mov eax, esi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov r15d, eax
test eax, eax
jle 0x140220457
movsd xmm8, qword [0x1404373c0]
mov ebp, 2
movsd xmm9, qword [0x1404377c0]
movd xmm0, esi
lea rsi, [r14 + rsi*4]
cvtdq2pd xmm0, xmm0
mov r14d, r15d
divsd xmm7, xmm0
movd xmm6, ebp
cvtdq2pd xmm6, xmm6
mulsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.140261a30
mulsd xmm0, xmm8
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
movss dword [rsi], xmm1
call fcn.140263090
mulsd xmm0, xmm9
lea rsi, [rsi + 8]
add ebp, 4
cvtsd2ss xmm0, xmm0
movss dword [rsi - 4], xmm0
sub r14, rbx
jne 0x140220411
movaps xmm9, xmmword [rsp + 0x40]
lea ecx, [r12 - 1]
movaps xmm8, xmmword [rsp + 0x50]
mov r9d, ebx
movaps xmm7, xmmword [rsp + 0x60]
xor r8d, r8d
movaps xmm6, xmmword [rsp + 0x70]
mov r14, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xd8]
shl r9d, cl
lea ecx, [r12 - 2]
mov r12, qword [rsp + 0x90]
dec r9d
shl ebx, cl
test r15d, r15d
jle 0x1402204ec
nop word [rax + rax]
xor edx, edx
xor ecx, ecx
test ebx, ebx
je 0x1402204d2
mov eax, ebx
nop word [rax + rax]
test r8d, eax
je 0x1402204c8
bts edx, ecx
inc ecx
mov eax, ebx
sar eax, cl
test eax, eax
jne 0x1402204c0
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 0x1402204b0
movss xmm0, dword [0x140437590]
mov rax, qword [rsp + 0xc0]
divss xmm0, xmm11
movaps xmm11, xmmword [rsp + 0x20]
movss dword [rax + 0x18], xmm0
add rsp, 0xa0
pop r15
pop rdi
pop rbx
ret