Function at 0x1400af930
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
xor r9d, r9d
mov rbx, r8
shr rbx, 3
mov r10, rdx
mov edi, r9d
test rbx, rbx
je 0x1400afa21
cmp rbx, 8
jb 0x1400af9f1
lea rax, [r10 - 8]
lea rax, [rax + rbx*8]
lea rdx, [rcx - 8]
lea rdx, [rdx + rbx*8]
cmp rcx, rax
ja 0x1400af97c
cmp rdx, r10
jae 0x1400af9f1
mov rsi, rbx
and rsi, 0xfffffffffffffff8
mov rdx, r10
lea rax, [rcx + 0x10]
sub rdx, rcx
nop dword [rax]
movdqu xmm0, xmmword [rax - 0x10]
add rdi, 8
movdqu xmm1, xmmword [rdx + rax - 0x10]
movdqu xmm2, xmmword [rdx + rax]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rdx + rax - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rdx + rax - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp rdi, rsi
jb 0x1400af990
cmp rdi, rbx
jae 0x1400afa21
mov rsi, r10
lea rdx, [rcx + rdi*8]
sub rsi, rcx
mov r11, rbx
sub r11, rdi
mov rdi, rbx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdx + rsi]
xor qword [rdx], rax
lea rdx, [rdx + 8]
sub r11, 1
jne 0x1400afa10
lea rdi, [rdi*8]
sub r8, rdi
je 0x1400afc71
add rcx, rdi
add r10, rdi
mov rdi, r8
mov r11, r9
shr rdi, 2
test rdi, rdi
je 0x1400afb4f
cmp rdi, 2
jb 0x1400afb26
lea rax, [rdi - 1]
lea rax, [r10 + rax*4]
lea rdx, [rdi - 1]
lea rdx, [rcx + rdx*4]
cmp rcx, rax
ja 0x1400afa73
cmp rdx, r10
jae 0x1400afb26
mov rdx, r10
cmp rdi, 0x10
jb 0x1400afaf4
mov rbx, rdi
mov rsi, rdi
and ebx, 0xf
sub rsi, rbx
lea rax, [rcx + 0x10]
sub rdx, rcx
nop
movdqu xmm0, xmmword [rax - 0x10]
add r11, 0x10
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rax + rdx]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + rdx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r11, rsi
jb 0x1400afa90
cmp rbx, 2
jb 0x1400afb21
jmp 0x1400afaf7
sub rdx, rcx
mov rbx, rdi
and rbx, 0xfffffffffffffffe
lea rax, [rcx + r11*4]
movq xmm0, qword [rax]
add r11, 2
movq xmm1, qword [rax + rdx]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax - 8], xmm1
cmp r11, rbx
jb 0x1400afb02
cmp r11, rdi
jae 0x1400afb4f
mov rsi, r10
lea rdx, [rcx + r11*4]
sub rsi, rcx
mov rbx, rdi
sub rbx, r11
mov r11, rdi
nop dword [rax]
mov eax, dword [rdx + rsi]
xor dword [rdx], eax
lea rdx, [rdx + 4]
sub rbx, 1
jne 0x1400afb40
lea r11, [r11*4]
sub r8, r11
je 0x1400afc71
add rcx, r11
add r10, r11
test r8, r8
je 0x1400afc71
cmp r8, 8
jb 0x1400afc56
lea rdx, [rcx - 1]
lea rax, [r10 - 1]
add rdx, r8
add rax, r8
cmp rcx, rax
ja 0x1400afb95
cmp rdx, r10
jae 0x1400afc56
mov rdx, r10
cmp r8, 0x40
jb 0x1400afc24
mov r11, r8
mov rbx, r8
and r11d, 0x3f
sub rbx, r11
lea rax, [rcx + 0x10]
sub rdx, rcx
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r9, 0x40
movdqu xmm1, xmmword [rax + rdx - 0x10]
movdqu xmm2, xmmword [rax + rdx]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + rdx - 0x30]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm1, xmmword [rax + rdx - 0x20]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x20], xmm1
cmp r9, rbx
jb 0x1400afbc0
cmp r11, 8
jb 0x1400afc51
jmp 0x1400afc27
sub rdx, rcx
mov r11, r8
and r11, 0xfffffffffffffff8
lea rax, [r9 + rcx]
movq xmm0, qword [rax]
add r9, 8
movq xmm1, qword [rdx + rax]
lea rax, [rax + 8]
pxor xmm1, xmm0
movq qword [rax - 8], xmm1
cmp r9, r11
jb 0x1400afc32
cmp r9, r8
jae 0x1400afc71
sub r10, rcx
lea rax, [r9 + rcx]
sub r8, r9
movzx ecx, byte [r10 + rax]
xor byte [rax], cl
lea rax, [rax + 1]
sub r8, 1
jne 0x1400afc60
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret