Function at 0x1801202b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
xor r9b, r9b
xor r11d, r11d
mov rbx, rdx
mov r10, rcx
test cl, 3
jne 0x1801204e5
test bl, 3
jne 0x1801204e5
test r8, r8
je 0x1801205b4
mov ecx, r11d
test r10b, 7
jne 0x1801203e8
test bl, 7
jne 0x1801203e8
mov rsi, r8
mov edx, r11d
shr rsi, 3
mov r9d, r11d
test rsi, rsi
je 0x1801203c4
cmp rsi, 4
jb 0x180120391
mov rdx, rsi
lea rax, [rbx + 0x10]
and rdx, 0xfffffffffffffffc
mov rcx, r10
sub rcx, rbx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop dword [rax]
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r9, 4
movdqu xmm1, xmmword [rcx + rax - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rcx + rax - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp r9, rdx
jb 0x180120340
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movq rdx, xmm2
cmp r9, rsi
jae 0x1801203c4
mov rbp, r10
lea rcx, [rbx + r9*8]
sub rbp, rbx
mov rdi, rsi
sub rdi, r9
mov r9, rsi
nop dword [rax]
mov rax, qword [rcx + rbp]
xor rax, qword [rcx]
lea rcx, [rcx + 8]
or rdx, rax
sub rdi, 1
jne 0x1801203b0
lea r9, [r9*8]
sub r8, r9
jne 0x1801203d9
test rdx, rdx
jmp 0x1801205b7
mov rcx, rdx
add r10, r9
shr rcx, 0x20
add rbx, r9
or ecx, edx
mov rsi, r8
mov r9, r11
shr rsi, 2
test rsi, rsi
je 0x1801204b1
cmp rsi, 8
jb 0x18012047f
mov rdi, rsi
lea rax, [rbx + 0x10]
and rdi, 0xfffffffffffffff8
mov rdx, r10
sub rdx, rbx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop dword [rax + rax]
movdqu xmm0, xmmword [rax - 0x10]
add r9, 8
movdqu xmm1, xmmword [rax + rdx - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rax + rdx - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp r9, rdi
jb 0x180120420
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movd eax, xmm2
or ecx, eax
cmp r9, rsi
jae 0x1801204b1
mov rbp, r10
lea rdx, [rbx + r9*4]
sub rbp, rbx
mov rdi, rsi
sub rdi, r9
mov r9, rsi
nop word [rax + rax]
mov eax, dword [rdx + rbp]
xor eax, dword [rdx]
lea rdx, [rdx + 4]
or ecx, eax
sub rdi, 1
jne 0x1801204a0
lea r9, [r9*4]
sub r8, r9
jne 0x1801204c5
test ecx, ecx
jmp 0x1801205b7
add r10, r9
add rbx, r9
mov r9d, ecx
mov eax, ecx
shr eax, 0x10
shr r9d, 0x18
or r9b, al
mov eax, ecx
shr eax, 8
or r9b, al
or r9b, cl
test r8, r8
je 0x1801205b4
cmp r8, 0x20
jb 0x18012058a
mov rdx, r8
lea rax, [rbx + 0x10]
and rdx, 0xffffffffffffffe0
mov rcx, r10
sub rcx, rbx
xorps xmm3, xmm3
xorps xmm2, xmm2
nop
movdqu xmm0, xmmword [rax - 0x10]
add r11, 0x20
movdqu xmm1, xmmword [rax + rcx - 0x10]
lea rax, [rax + 0x20]
pxor xmm1, xmm0
por xmm1, xmm3
movdqa xmm3, xmm1
movdqu xmm1, xmmword [rax + rcx - 0x20]
movdqu xmm0, xmmword [rax - 0x20]
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
cmp r11, rdx
jb 0x180120510
por xmm2, xmm3
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 2
por xmm2, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 1
por xmm2, xmm0
movd eax, xmm2
or r9b, al
cmp r11, r8
jae 0x1801205b4
sub r10, rbx
lea rcx, [r11 + rbx]
sub r8, r11
nop dword [rax]
movzx eax, byte [rcx + r10]
xor al, byte [rcx]
lea rcx, [rcx + 1]
or r9b, al
sub r8, 1
jne 0x1801205a0
test r9b, r9b
mov rbx, qword [rsp + 8]
sete al
mov rbp, qword [rsp + 0x10]
mov rsi, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
ret