Function at 0x18002acb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov ebp, r9d
mov rsi, r8
mov rdi, rdx
mov r14, rcx
cmp r9d, 0x10
jb 0x18002ab61
mov ebx, ebp
mov qword [rsp + 0x50], r15
shr rbx, 4
lea rcx, [r14 + 0x44]
call fcn.18002a1f0
mov eax, dword [r14 + 0x50]
movzx ecx, word [r14 + 0x5a]
shl eax, 0x10
add rdi, 0x10
add rsi, 0x10
xor ecx, eax
add ebp, 0xfffffff0
xor ecx, dword [r14 + 0x44]
xor ecx, dword [rsi - 0x10]
mov dword [rdi - 0x10], ecx
mov eax, dword [r14 + 0x58]
movzx ecx, word [r14 + 0x62]
shl eax, 0x10
xor ecx, eax
xor ecx, dword [rsi - 0xc]
xor ecx, dword [r14 + 0x4c]
mov dword [rdi - 0xc], ecx
mov eax, dword [r14 + 0x60]
movzx ecx, word [r14 + 0x4a]
shl eax, 0x10
xor ecx, eax
xor ecx, dword [rsi - 8]
xor ecx, dword [r14 + 0x54]
mov dword [rdi - 8], ecx
mov eax, dword [r14 + 0x48]
movzx ecx, word [r14 + 0x52]
shl eax, 0x10
xor ecx, eax
xor ecx, dword [rsi - 4]
xor ecx, dword [r14 + 0x5c]
mov dword [rdi - 4], ecx
dec rbx
jne 0x18002aae3
mov r15, qword [rsp + 0x50]
test ebp, ebp
je 0x18002ac94
xor eax, eax
lea rcx, [r14 + 0x44]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rax
call fcn.18002a1f0
mov edx, dword [r14 + 0x58]
mov r8d, dword [r14 + 0x50]
mov eax, edx
shl edx, 0x10
mov ecx, r8d
shr eax, 0x10
shl ecx, 0x10
shr r8d, 0x10
xor ecx, eax
xor ecx, dword [r14 + 0x44]
mov dword [rsp + 0x20], ecx
mov ecx, dword [r14 + 0x60]
mov eax, ecx
shl ecx, 0x10
shr eax, 0x10
xor eax, edx
mov edx, dword [r14 + 0x48]
xor eax, dword [r14 + 0x4c]
mov dword [rsp + 0x24], eax
mov eax, edx
shl edx, 0x10
xor edx, r8d
shr eax, 0x10
xor edx, dword [r14 + 0x5c]
xor eax, ecx
xor eax, dword [r14 + 0x54]
mov dword [rsp + 0x2c], edx
xor edx, edx
mov dword [rsp + 0x28], eax
test ebp, ebp
je 0x18002ac94
cmp ebp, 0x20
jb 0x18002ac53
lea eax, [rbp - 1]
mov ecx, eax
lea r8, [rax + rdi]
add rax, rsi
cmp rdi, rax
ja 0x18002abfe
cmp r8, rsi
jae 0x18002ac53
lea rax, [rsp + 0x20]
add rax, rcx
cmp rdi, rax
ja 0x18002ac15
lea rax, [rsp + 0x20]
cmp r8, rax
jae 0x18002ac53
mov eax, ebp
mov r8d, ebp
and eax, 0x1f
sub r8d, eax
movdqu xmm1, xmmword [rdx + rsi]
movdqu xmm0, xmmword [rsp + rdx + 0x20]
lea eax, [rdx + 0x10]
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x20]
movdqu xmmword [rdx + rdi], xmm1
movdqu xmm1, xmmword [rax + rsi]
add edx, 0x20
pxor xmm1, xmm0
movdqu xmmword [rax + rdi], xmm1
cmp edx, r8d
jb 0x18002ac20
cmp edx, ebp
jae 0x18002ac94
lea rcx, [rsp + 0x20]
mov eax, edx
add rax, rcx
lea rcx, [rsp + 0x20]
sub rsi, rcx
lea rcx, [rsp + 0x20]
sub rdi, rcx
sub ebp, edx
mov edx, ebp
nop word [rax + rax]
movzx ecx, byte [rsi + rax]
lea rax, [rax + 1]
xor cl, byte [rax - 1]
mov byte [rdi + rax - 1], cl
dec rdx
jne 0x18002ac80
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
xor eax, eax
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov r14d, r9d
mov rdi, r8
mov rsi, rdx
mov r15, rcx
test rcx, rcx
je 0x18002ad97
test rdx, rdx
je 0x18002ad97
test r8, r8
je 0x18002ad97
test dil, 3
jne 0x18002ad06
test dl, 3
jne 0x18002ad06
mov r9d, r14d
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
jmp 0x18002aab0
mov rax, qword [0x180051db0]
mov qword [rsp + 0x40], rbx
mov rcx, r14
mov qword [rsp + 0x48], rbp
test rax, rax
je 0x18002ad23
call rax
jmp 0x18002ad28
call fcn.180035088
mov rbx, rax
test rax, rax
jne 0x18002ad4c
lea eax, [rbx - 0x7d]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
mov r8, r14
mov rdx, rdi
mov rcx, rbx
call fcn.18002efa0
mov r9d, r14d
mov r8, rbx
mov rdx, rbx
mov rcx, r15
call 0x18002aab0
mov r8, r14
mov rdx, rbx
mov rcx, rsi
call fcn.18002efa0
mov rax, qword [0x180051da8]
mov rcx, rbx
test rax, rax
je 0x18002ad8e
call rax
xor eax, eax
jmp 0x18002ad33
call fcn.180031bb8
xor eax, eax
jmp 0x18002ad33
mov eax, 0xffffff53
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret