Function at 0x1400cf480
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push r12
push r13
push r15
sub rsp, 0x10
mov r15d, dword [rsp + 0x78]
mov r12, r8
movsxd rbp, dword [rsp + 0x70]
mov rbx, rcx
mov r13, qword [rsp + 0x68]
test r15d, r15d
je 0x1400cf78b
mov r11, qword [rsp + 0x60]
lea eax, [rbp - 0x20]
movdqa xmm3, xmmword [0x1401cab10]
mov qword [rsp + 0x40], rsi
mov rsi, 0xfffffffffffffff0
mov qword [rsp + 8], rdi
sub rsi, r11
mov qword [rsp], r14
movsxd r14, eax
lea eax, [rbp - 4]
movsxd rdi, eax
mov qword [rsp + 0x68], rdi
nop word [rax + rax]
movzx eax, bl
dec r15d
or al, r12b
xor r9d, r9d
or al, r11b
xor edx, edx
test al, 0xf
jne 0x1400cf56c
test r14, r14
js 0x1400cf5ca
movdqa xmm2, xmmword [0x1401cab10]
lea r9, [r14 + 0x20]
shr r9, 5
lea rax, [r11 + 0x10]
mov rdx, r9
mov r8, rbx
mov rcx, r9
sub r8, r11
shl r9d, 5
shl rdx, 5
nop word [rax + rax]
movdqu xmm0, xmmword [r8 + rax - 0x10]
lea rax, [rax + 0x20]
pxor xmm0, xmm2
movdqu xmmword [rax - 0x30], xmm0
movdqu xmm1, xmmword [r8 + rax - 0x20]
pxor xmm1, xmm2
movdqu xmmword [rax - 0x20], xmm1
sub rcx, 1
jne 0x1400cf540
jmp 0x1400cf5ca
test r14, r14
js 0x1400cf5ca
movdqa xmm2, xmmword [0x1401cab10]
lea rdx, [r14 + 0x20]
shr rdx, 5
lea rcx, [r11 + 0x10]
mov r9d, edx
mov r10, rbx
shl r9d, 5
sub r10, r11
mov r8, rdx
shl rdx, 5
nop dword [rax]
movdqu xmm0, xmmword [r10 + rcx - 0x10]
lea rcx, [rcx + 0x20]
pxor xmm0, xmm2
movdqu xmmword [rcx - 0x30], xmm0
movdqu xmm1, xmmword [r10 + rcx - 0x20]
pxor xmm1, xmm2
movdqu xmmword [rcx - 0x20], xmm1
sub r8, 1
jne 0x1400cf5a0
lea r8d, [rbp - 8]
cmp r9d, r8d
jg 0x1400cf619
movdqa xmm1, xmmword [0x1401cab10]
mov eax, r8d
sub eax, r9d
movsxd rcx, r9d
shr eax, 3
mov r10, r11
add rcx, rbx
sub r10, rbx
inc eax
mov r8d, eax
lea r9d, [r9 + rax*8]
lea rdx, [rdx + rax*8]
nop dword [rax]
movq xmm0, qword [rcx]
lea rcx, [rcx + 8]
pxor xmm0, xmm1
movq qword [r10 + rcx - 8], xmm0
sub r8, 1
jne 0x1400cf600
cmp rdx, rdi
jg 0x1400cf674
mov r10, rdi
lea rax, [r11 + 1]
sub r10, rdx
mov r8, rbx
shr r10, 2
add rax, rdx
sub r8, r11
inc r10
lea r9d, [r9 + r10*4]
nop dword [rax]
movzx edx, byte [r8 + rax]
movzx ecx, byte [r8 + rax - 1]
not dl
mov byte [rax], dl
not cl
mov byte [rax - 1], cl
movzx edx, byte [r8 + rax + 2]
movzx ecx, byte [r8 + rax + 1]
not dl
mov byte [rax + 2], dl
not cl
mov byte [rax + 1], cl
lea rax, [rax + 4]
sub r10, 1
jne 0x1400cf640
mov r8d, ebp
sub r8d, r9d
cmp r9d, ebp
jge 0x1400cf731
cmp r8d, 0x40
jb 0x1400cf731
lea eax, [rbp - 1]
movsxd rdx, r9d
movsxd rcx, eax
lea r10, [rdx + r11]
add rdx, rbx
lea rax, [rcx + rbx]
lea rdi, [rcx + r11]
cmp r10, rax
ja 0x1400cf6af
cmp rdi, rdx
jae 0x1400cf72c
and r8d, 0x8000003f
jge 0x1400cf6c2
dec r8d
or r8d, 0xffffffc0
inc r8d
mov eax, ebp
lea rcx, [r10 + 0x10]
sub eax, r8d
mov rdx, rbx
movsxd r8, eax
sub rdx, r11
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rdx + rcx - 0x10]
add r9d, 0x40
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x40]
pandn xmm0, xmm3
lea rax, [rcx + rsi]
pandn xmm1, xmm3
movdqu xmmword [rcx - 0x50], xmm0
movdqu xmm0, xmmword [rdx + rcx - 0x30]
movdqu xmmword [rcx - 0x40], xmm1
pandn xmm0, xmm3
movdqu xmm1, xmmword [rdx + rcx - 0x20]
movdqu xmmword [rcx - 0x30], xmm0
pandn xmm1, xmm3
movdqu xmmword [rcx - 0x20], xmm1
cmp rax, r8
jl 0x1400cf6e0
mov rdi, qword [rsp + 0x68]
movsxd rax, r9d
cmp rax, rbp
jge 0x1400cf764
mov r8, rbx
lea rcx, [rax + r11]
sub r8, r11
mov rdx, rbp
sub rdx, rax
nop dword [rax]
movzx eax, byte [r8 + rcx]
lea rcx, [rcx + 1]
not al
mov byte [rcx - 1], al
sub rdx, 1
jne 0x1400cf750
add rbx, qword [rsp + 0x48]
add r11, r13
add r12, qword [rsp + 0x58]
sub rsi, r13
test r15d, r15d
jne 0x1400cf4f0
mov r14, qword [rsp]
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x40]
add rsp, 0x10
pop r15
pop r13
pop r12
pop rbp
pop rbx
ret