Function at 0x140018a2c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], r9
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
movsxd r8, r8d
movsxd rax, edx
mov rbp, rcx
mov qword [rsp + 0x38], rcx
mov ecx, edx
mov r15, r9
imul r8, r8, 0x29
add r8, rax
lea rax, [0x140000000]
movsx r10d, byte [r8 + rax + 0x32720]
movsx r13, byte [r8 + rax + 0x327d0]
mov dword [rsp + 0x28], r10d
call fcn.140018cc0
mov ecx, r13d
cdq
imul ecx, r10d
mov r8, r13
and edx, 7
mov rsi, r13
add eax, edx
sar eax, 3
mov edx, eax
sub edx, ecx
mov dword [rsp + 0xe0], edx
cdq
idiv r10d
mov ecx, eax
mov eax, r10d
sub ecx, r13d
sub eax, edx
xor edx, edx
mov dword [rsp + 0x20], ecx
lea rcx, [rsp + 0x60]
mov dword [rsp + 0xd0], eax
call fcn.14001d490
test r13d, r13d
mov byte [rsp + r13 + 0x5f], 1
mov r12b, 1
jle 0x140018b25
mov ebp, r13d
xor ebx, ebx
test r13d, r13d
jle 0x140018b0d
lea edi, [rbx + 1]
mov cl, byte [rsp + rbx + 0x60]
mov dl, r12b
call fcn.140018d14
cmp edi, r13d
mov byte [rsp + rbx + 0x60], al
jge 0x140018b01
mov dl, byte [rsp + rbx + 0x61]
xor dl, al
mov byte [rsp + rbx + 0x60], dl
add rbx, 1
add edi, 1
cmp rbx, r13
jl 0x140018ae2
mov dl, 2
mov cl, r12b
call fcn.140018d14
sub rbp, 1
mov r12b, al
jne 0x140018ad8
mov rbp, qword [rsp + 0x38]
movsxd r13, dword [rsp + 0x28]
movsxd rdx, dword [rsp + 0xd0]
movsxd r8, dword [rsp + 0x20]
movsxd rax, dword [rsp + 0xe0]
xor r14d, r14d
test r13, r13
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r8
mov dword [rsp + 0xd8], r14d
jle 0x140018cac
lea rdi, [rax + rbp]
mov qword [rsp + 0x28], r13
xor ebx, ebx
cmp r14d, edx
mov rcx, rdi
setge bl
xor edx, edx
add ebx, r8d
mov r8, rsi
call fcn.14001d490
movsxd rbx, ebx
xor r12d, r12d
test rbx, rbx
jle 0x140018c14
mov eax, esi
lea rcx, [rdi + 1]
add eax, 0xffffffff
cdqe
mov qword [rsp + 0x40], rax
mov r15b, byte [r12 + rbp]
mov rdx, rcx
mov r8, rax
xor r15b, byte [rdi]
mov rcx, rdi
call fcn.14001cf80
test rsi, rsi
mov byte [rsi + rdi - 1], 0
jle 0x140018bed
lea r14, [rsp + 0x60]
mov rbp, rdi
mov r13, rsi
sub r14, rdi
mov cl, byte [r14 + rbp]
mov dl, r15b
call fcn.140018d14
xor byte [rbp], al
add rbp, 1
sub r13, 1
jne 0x140018bcf
mov rbp, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
add r12, 1
lea rcx, [rdi + 1]
cmp r12, rbx
jl 0x140018ba2
mov r13, qword [rsp + 0x58]
mov r14d, dword [rsp + 0xd8]
mov r15, qword [rsp + 0xe8]
xor edx, edx
test rbx, rbx
jle 0x140018c51
mov r14, qword [rsp + 0x48]
mov rcx, r15
mov r15, qword [rsp + 0x50]
cmp rdx, r15
jne 0x140018c30
sub rcx, r14
mov al, byte [rdx + rbp]
add rdx, 1
mov byte [rcx], al
add rcx, r13
cmp rdx, rbx
jl 0x140018c28
mov r14d, dword [rsp + 0xd8]
mov r15, qword [rsp + 0xe8]
xor ecx, ecx
test rsi, rsi
jle 0x140018c74
movsxd rdx, dword [rsp + 0xe0]
add rdx, r15
mov al, byte [rcx + rdi]
add rcx, 1
mov byte [rdx], al
add rdx, r13
cmp rcx, rsi
jl 0x140018c63
mov edx, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0x20]
add rbp, rbx
add r14d, 1
add r15, 1
sub qword [rsp + 0x28], 1
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0xd8], r14d
mov qword [rsp + 0xe8], r15
jne 0x140018b6b
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret