Function at 0x1401a1de4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x88
mov r15d, r9d
xor r13d, r13d
mov esi, r13d
lea r12d, [r15*4]
mov ecx, r12d
call fcn.14018d6b4
mov qword [rbp - 0x39], rax
mov r14, rax
test rax, rax
jne 0x1401a1e44
mov r14d, r13d
mov ecx, 0x8007000e
mov r13d, ecx
call fcn.14007ac40
jmp 0x1401a216f
mov rbx, r15
mov qword [rbp - 9], rbx
test r15d, r15d
je 0x1401a1ebe
mov edi, 2
mov rsi, rbx
lea edx, [rdi - 2]
mov rcx, r14
lea r8, [rbp + 0x7f]
call fcn.14018da04
mov rcx, rax
lea edx, [rdi - 1]
mov al, byte [rbp + 0x7f]
lea r8, [rbp + 0x77]
mov byte [rcx], al
mov rcx, r14
call fcn.14018da04
mov rcx, rax
lea r8, [rbp - 0x49]
mov al, byte [rbp + 0x77]
mov edx, edi
mov byte [rcx], al
mov rcx, r14
call fcn.14018da04
mov rcx, rax
lea edx, [rdi + 1]
mov al, byte [rbp - 0x49]
lea r8, [rbp - 0x48]
mov byte [rcx], al
mov rcx, r14
call fcn.14018da04
mov rcx, rax
add edi, 4
mov al, byte [rbp - 0x48]
mov byte [rcx], al
sub rsi, 1
jne 0x1401a1e58
jmp 0x1401a1ec2
mov qword [rbp - 9], rbx
lea r8, [rbp + 0x7f]
xor edx, edx
mov rcx, r14
call fcn.14018da04
mov rdx, rax
mov edi, 3
mov al, byte [rbp + 0x7f]
mov ecx, r12d
xor al, dil
mov dword [rbp - 0x3d], edi
mov byte [rdx], al
call fcn.14018d6b4
mov qword [rbp - 0x11], rax
mov rsi, rax
test rax, rax
je 0x1401a1e32
mov rax, qword [rbp + 0x6f]
mov dword [rbp - 0x21], r13d
movaps xmm0, xmmword [rax]
movdqa xmmword [rbp + 7], xmm0
test r15d, r15d
je 0x1401a216f
mov eax, dword [rbp + 0xf]
mov r13, qword [rbp - 0x11]
mov qword [rbp - 0x19], rbx
lea r15d, [rax - 1]
lea esi, [rax - 2]
mov dword [rbp - 0x31], r15d
add eax, 0xfffffffd
mov dword [rbp - 0x2d], esi
mov dword [rbp - 0x29], eax
mov rcx, qword [rbp + 7]
lea edx, [rax + rdi]
lea r8, [rbp + 0x7f]
call fcn.14018da04
mov rcx, qword [rbp + 7]
lea edx, [rsi + rdi]
lea r8, [rbp + 0x77]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0x7f]
xor ebx, eax
ror ebx, 8
call fcn.14018da04
mov rcx, qword [rbp + 7]
lea r8, [rbp - 0x48]
movzx esi, byte [rax]
movzx eax, byte [rbp + 0x77]
xor esi, eax
add esi, ebx
lea ebx, [r15 + rdi]
mov edx, ebx
ror esi, 8
call fcn.14018da04
movzx edi, byte [rbp - 0x48]
lea edx, [rbx + 1]
mov rcx, qword [rbp + 7]
lea r8, [rbp - 0x49]
movzx eax, byte [rax]
xor edi, eax
add edi, esi
ror edi, 8
call fcn.14018da04
mov esi, dword [rbp - 0x3d]
lea r8, [rbp - 0x45]
mov rcx, r14
movzx r15d, byte [rax]
movzx eax, byte [rbp - 0x49]
lea edx, [rsi - 3]
xor r15d, eax
add r15d, edi
ror r15d, 8
call fcn.14018da04
mov rcx, qword [rbp - 0x39]
lea r8, [rbp - 0x44]
lea edx, [rsi - 2]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x45]
xor ebx, eax
ror ebx, 8
call fcn.14018da04
mov rcx, qword [rbp - 0x39]
lea r8, [rbp - 0x43]
lea edx, [rsi - 1]
movzx edi, byte [rax]
movzx eax, byte [rbp - 0x44]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018da04
mov rcx, qword [rbp - 0x39]
lea r8, [rbp - 0x42]
mov edx, esi
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x43]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018da04
movzx ecx, byte [rbp - 0x42]
lea r8, [rbp - 0x41]
mov edi, r15d
lea edx, [rsi - 3]
movzx eax, byte [rax]
xor ecx, eax
mov eax, dword [rbp - 0x21]
add ecx, ebx
sub rdi, rax
ror ecx, 8
sub rdi, rcx
mov rcx, r13
mov ebx, edi
call fcn.14018da04
mov rcx, rax
shr ebx, 8
mov al, dil
lea r8, [rbp - 0x40]
xor al, byte [rbp - 0x41]
lea edx, [rsi - 2]
mov byte [rcx], al
mov rcx, r13
call fcn.14018da04
mov rcx, rax
lea r8, [rbp - 0x47]
mov al, bl
lea edx, [rsi - 1]
xor al, byte [rbp - 0x40]
shr ebx, 8
mov byte [rcx], al
mov rcx, r13
call fcn.14018da04
mov rcx, rax
lea r8, [rbp - 0x46]
mov al, bl
mov edx, esi
xor al, byte [rbp - 0x47]
mov byte [rcx], al
mov rcx, r13
call fcn.14018da04
mov r14, qword [rbp - 0x39]
mov r15d, dword [rbp - 0x31]
shr ebx, 8
xor bl, byte [rbp - 0x46]
mov byte [rax], bl
mov rax, rdi
shr rax, 0x20
mov edi, esi
mov esi, dword [rbp - 0x2d]
neg eax
add edi, 4
mov qword [rbp - 0x21], rax
sub qword [rbp - 0x19], 1
mov eax, dword [rbp - 0x29]
mov dword [rbp - 0x3d], edi
jne 0x1401a1f33
mov rsi, qword [rbp - 0x11]
xor r13d, r13d
mov r14, qword [rbp - 9]
lea r15d, [r13 + 2]
lea edx, [r15 - 2]
mov rcx, rsi
lea r8, [rbp + 0x7f]
call fcn.14018da04
lea edx, [r15 - 1]
mov rcx, rsi
lea r8, [rbp + 0x77]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0x7f]
xor ebx, eax
ror ebx, 8
call fcn.14018da04
lea r8, [rbp - 0x46]
mov edx, r15d
mov rcx, rsi
movzx edi, byte [rax]
movzx eax, byte [rbp + 0x77]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018da04
movzx ebx, byte [rbp - 0x46]
lea edx, [r15 + 1]
lea r8, [rbp - 0x47]
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018da04
movzx edx, byte [rbp - 0x47]
add r15d, 4
movzx eax, byte [rax]
xor edx, eax
mov rax, qword [rbp + 0x67]
add edx, ebx
ror edx, 8
mov dword [rax], edx
add rax, 4
mov qword [rbp + 0x67], rax
sub r14, 1
jne 0x1401a20da
mov r14, qword [rbp - 0x39]
mov rcx, rsi
call fcn.14018d900
mov rcx, r14
call fcn.14018d900
mov ecx, r13d
call fcn.14007ace8
mov eax, r13d
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret