Function at 0x1401a34d0
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 ebx, r9d
xor r13d, r13d
mov rdi, rdx
mov esi, r13d
lea r15d, [rbx*4]
mov ecx, r15d
call fcn.14018eec4
mov qword [rbp - 0x39], rax
mov r14, rax
test rax, rax
jne 0x1401a3533
mov r14d, r13d
mov ecx, 0x8007000e
mov r13d, ecx
call fcn.140082a8c
jmp 0x1401a385b
test ebx, ebx
je 0x1401a35a7
mov edi, 2
mov rsi, rbx
lea edx, [rdi - 2]
mov rcx, r14
lea r8, [rbp + 0x7f]
call fcn.14018f20c
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.14018f20c
mov rcx, rax
lea r8, [rbp - 0x49]
mov al, byte [rbp + 0x77]
mov edx, edi
mov byte [rcx], al
mov rcx, r14
call fcn.14018f20c
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.14018f20c
mov rcx, rax
add edi, 4
mov al, byte [rbp - 0x48]
mov byte [rcx], al
sub rsi, 1
jne 0x1401a353f
mov rdi, qword [rbp + 0x6f]
lea r8, [rbp + 0x7f]
xor edx, edx
mov rcx, r14
call fcn.14018f20c
mov rdx, rax
mov r12d, 3
mov al, byte [rbp + 0x7f]
mov ecx, r15d
xor al, r12b
mov dword [rbp - 0x3d], r12d
mov byte [rdx], al
call fcn.14018eec4
mov qword [rbp - 0x11], rax
mov rsi, rax
test rax, rax
je 0x1401a3521
movaps xmm0, xmmword [rdi]
movdqa xmmword [rbp - 9], xmm0
mov dword [rbp - 0x21], r13d
test ebx, ebx
je 0x1401a385b
mov eax, dword [rbp - 1]
mov r13, qword [rbp - 0x11]
mov qword [rbp + 7], rbx
mov qword [rbp - 0x19], rbx
lea edi, [rax - 1]
lea esi, [rax - 2]
mov dword [rbp - 0x31], edi
lea ecx, [rax - 3]
mov dword [rbp - 0x2d], esi
mov dword [rbp - 0x29], ecx
lea edx, [rcx + r12]
mov rcx, qword [rbp - 9]
lea r8, [rbp + 0x7f]
call fcn.14018f20c
mov rcx, qword [rbp - 9]
lea edx, [rsi + r12]
lea r8, [rbp + 0x77]
movzx ebx, byte [rax]
movzx eax, byte [rbp + 0x7f]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
mov rcx, qword [rbp - 9]
lea r8, [rbp - 0x48]
movzx esi, byte [rax]
movzx eax, byte [rbp + 0x77]
xor esi, eax
add esi, ebx
lea ebx, [rdi + r12]
mov edx, ebx
ror esi, 8
call fcn.14018f20c
movzx edi, byte [rbp - 0x48]
lea edx, [rbx + 1]
mov rcx, qword [rbp - 9]
lea r8, [rbp - 0x49]
movzx eax, byte [rax]
xor edi, eax
add edi, esi
ror edi, 8
call fcn.14018f20c
add r12d, 0xfffffffd
lea r8, [rbp - 0x45]
mov edx, r12d
mov rcx, r14
movzx r15d, byte [rax]
movzx eax, byte [rbp - 0x49]
xor r15d, eax
add r15d, edi
ror r15d, 8
call fcn.14018f20c
mov esi, dword [rbp - 0x3d]
lea r8, [rbp - 0x44]
mov rcx, qword [rbp - 0x39]
movzx ebx, byte [rax]
movzx eax, byte [rbp - 0x45]
lea edx, [rsi - 2]
xor ebx, eax
ror ebx, 8
call fcn.14018f20c
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.14018f20c
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.14018f20c
movzx ecx, byte [rbp - 0x42]
lea r8, [rbp - 0x41]
mov edi, r15d
mov edx, r12d
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.14018f20c
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.14018f20c
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.14018f20c
mov rcx, rax
lea r8, [rbp - 0x46]
mov al, bl
mov edx, esi
xor al, byte [rbp - 0x47]
mov r12d, esi
mov byte [rcx], al
mov rcx, r13
call fcn.14018f20c
mov r14, qword [rbp - 0x39]
add r12d, 4
mov esi, dword [rbp - 0x2d]
mov ecx, dword [rbp - 0x29]
shr ebx, 8
xor bl, byte [rbp - 0x46]
mov byte [rax], bl
mov rax, rdi
mov edi, dword [rbp - 0x31]
shr rax, 0x20
neg eax
mov dword [rbp - 0x3d], r12d
sub qword [rbp - 0x19], 1
mov qword [rbp - 0x21], rax
jne 0x1401a3617
mov rsi, qword [rbp - 0x11]
xor r13d, r13d
mov r15, qword [rbp + 7]
lea r14d, [r13 + 2]
lea edx, [r14 - 2]
mov rcx, rsi
lea r8, [rbp + 0x7f]
call fcn.14018f20c
lea edx, [r14 - 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.14018f20c
lea r8, [rbp - 0x46]
mov edx, r14d
mov rcx, rsi
movzx edi, byte [rax]
movzx eax, byte [rbp + 0x77]
xor edi, eax
add edi, ebx
ror edi, 8
call fcn.14018f20c
movzx ebx, byte [rbp - 0x46]
lea edx, [r14 + 1]
lea r8, [rbp - 0x47]
mov rcx, rsi
movzx eax, byte [rax]
xor ebx, eax
add ebx, edi
ror ebx, 8
call fcn.14018f20c
movzx edx, byte [rbp - 0x47]
add r14d, 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 r15, 1
jne 0x1401a37c6
mov r14, qword [rbp - 0x39]
mov rcx, rsi
call fcn.14018f10c
mov rcx, r14
call fcn.14018f10c
mov ecx, r13d
call fcn.140082b34
mov eax, r13d
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret