Function at 0x1400605b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, r8
mov r10, rdx
mov r8, qword [rcx + 8]
mov r15, rcx
mov edx, eax
mov rcx, r10
mov r9d, 0xc8
call fcn.140062fc0
mov rcx, r15
call fcn.14005da80
mov rax, qword [r15 + 8]
lea rbp, [0x14007c4c0]
mov qword [rsp + 0x20], 0x20000
mov r13, qword [rax + 0x20]
mov rsi, qword [rax + 0x28]
mov r12, qword [rax + 0x30]
mov rdi, qword [rax + 0x38]
xor rsi, qword [rax + 8]
xor r13, qword [rax]
xor r12, qword [rax + 0x10]
xor rdi, qword [rax + 0x18]
mov rax, r13
and eax, 0x3ffff0
mov qword [rsp + 0x70], rsi
add rax, qword [r15]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov r10, rcx
mov r11d, ecx
mov rbx, rdx
mov ecx, ecx
shr rcx, 8
mov r9d, edx
movzx edx, cl
shr r10, 0x20
shr rbx, 0x20
mov rcx, r10
shr rcx, 0x10
mov r14d, dword [rbp + rdx*4 + 0x400]
movzx edx, cl
mov ecx, dword [rbp + rdx*4 + 0x800]
xor r14, rcx
mov ecx, r9d
shr rcx, 0x18
mov ecx, dword [rbp + rcx*4 + 0xc00]
xor r14, rcx
movzx ecx, bl
mov edx, dword [rbp + rcx*4]
mov ecx, r11d
shr rcx, 0x10
xor r14, rdx
movzx edx, cl
mov rcx, rbx
shr rcx, 8
shl r14, 0x20
mov r8d, dword [rbp + rdx*4 + 0x800]
movzx edx, cl
mov ecx, dword [rbp + rdx*4 + 0x400]
xor r8, rcx
mov rcx, r10
shr rcx, 0x18
mov ecx, dword [rbp + rcx*4 + 0xc00]
xor r8, rcx
movzx ecx, r9b
mov edx, dword [rbp + rcx*4]
mov ecx, r9d
shr rcx, 8
xor r8, rdx
movzx edx, cl
or r14, r8
lea r8, [0x14007c4c0]
shr r9, 0x10
mov rcx, rbx
xor r14, r13
shr rcx, 0x10
xor r12, r14
mov ebp, dword [rbp + rdx*4 + 0x400]
movzx edx, cl
shr rbx, 0x18
mov qword [rax], r12
mov ecx, dword [r8 + rdx*4 + 0x800]
xor rbp, rcx
mov ecx, r11d
shr rcx, 0x18
mov ecx, dword [r8 + rcx*4 + 0xc00]
xor rbp, rcx
movzx ecx, r10b
shr r10, 8
mov edx, dword [r8 + rcx*4]
xor rbp, rdx
movzx ecx, r9b
lea rdx, [0x14007c4c0]
shl rbp, 0x20
mov r8d, dword [rdx + rcx*4 + 0x800]
movzx ecx, r10b
mov ecx, dword [rdx + rcx*4 + 0x400]
xor r8, rcx
mov ecx, dword [rdx + rbx*4 + 0xc00]
xor r8, rcx
movzx ecx, r11b
mov edx, dword [rdx + rcx*4]
xor r8, rdx
or rbp, r8
xor rbp, rsi
xor rdi, rbp
mov qword [rax + 8], rdi
mov rcx, r14
and ecx, 0x3ffff0
add rcx, qword [r15]
mov rdi, qword [rcx]
mov rsi, qword [rcx + 8]
mov rax, rdi
mul r14
add r13, rdx
mov rdx, qword [rsp + 0x70]
mov qword [rcx], r13
add rdx, rax
mov qword [rcx + 8], rdx
xor rsi, rdx
xor rdi, r13
lea r13, [0x14007c4c0]
mov rcx, rdi
and ecx, 0x3ffff0
add rcx, qword [r15]
movsxd r10, dword [rcx + 8]
mov rax, qword [rcx]
mov r8, r10
or r8, 5
cqo
idiv r8
xor qword [rcx], rax
xor rax, r10
and eax, 0x3ffff0
add rax, qword [r15]
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov r10, rcx
mov r11d, ecx
mov rbx, rdx
mov ecx, ecx
shr rcx, 8
mov r9d, edx
movzx edx, cl
shr rbx, 0x20
shr r10, 0x20
mov rcx, r10
mov r12d, dword [r13 + rdx*4 + 0x400]
shr rcx, 0x10
movzx edx, cl
mov ecx, dword [r13 + rdx*4 + 0x800]
xor r12, rcx
mov ecx, r9d
shr rcx, 0x18
mov ecx, dword [r13 + rcx*4 + 0xc00]
xor r12, rcx
movzx ecx, bl
mov edx, dword [r13 + rcx*4]
mov ecx, r11d
shr rcx, 0x10
xor r12, rdx
movzx edx, cl
mov rcx, rbx
shr rcx, 8
shl r12, 0x20
mov r8d, dword [r13 + rdx*4 + 0x800]
movzx edx, cl
mov ecx, dword [r13 + rdx*4 + 0x400]
xor r8, rcx
mov rcx, r10
shr rcx, 0x18
mov ecx, dword [r13 + rcx*4 + 0xc00]
xor r8, rcx
movzx ecx, r9b
mov edx, dword [r13 + rcx*4]
mov ecx, r9d
shr rcx, 8
xor r8, rdx
movzx edx, cl
or r12, r8
mov rcx, rbx
lea r8, [0x14007c4c0]
shr rcx, 0x10
xor r12, rdi
mov r13d, dword [r13 + rdx*4 + 0x400]
movzx edx, cl
mov ecx, dword [r8 + rdx*4 + 0x800]
xor r13, rcx
shr r9, 0x10
mov ecx, r11d
shr rcx, 0x18
shr rbx, 0x18
mov ecx, dword [r8 + rcx*4 + 0xc00]
xor r13, rcx
movzx ecx, r10b
shr r10, 8
mov edx, dword [r8 + rcx*4]
xor r13, rdx
movzx ecx, r9b
shl r13, 0x20
lea rdx, [0x14007c4c0]
mov r8d, dword [rdx + rcx*4 + 0x800]
movzx ecx, r10b
mov ecx, dword [rdx + rcx*4 + 0x400]
xor r8, rcx
mov ecx, dword [rdx + rbx*4 + 0xc00]
xor r8, rcx
movzx ecx, r11b
mov edx, dword [rdx + rcx*4]
xor r8, rdx
mov rdx, r12
or r13, r8
xor rdx, r14
mov qword [rax], rdx
xor r13, rsi
mov rcx, r13
mov qword [rsp + 0x28], r13
xor rcx, rbp
lea rbp, [0x14007c4c0]
mov qword [rax + 8], rcx
mov rcx, r12
and ecx, 0x3ffff0
add rcx, qword [r15]
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
mov rax, r8
mul r12
add rsi, rax
lea r13, [rdi + rdx]
mov rdi, qword [rsp + 0x28]
mov qword [rcx], r13
xor r13, r8
mov qword [rcx + 8], rsi
mov rcx, r13
and ecx, 0x3ffff0
xor rsi, r9
add rcx, qword [r15]
mov qword [rsp + 0x70], rsi
movsxd r10, dword [rcx + 8]
mov rax, qword [rcx]
mov r8, r10
cqo
or r8, 5
idiv r8
xor qword [rcx], rax
xor rax, r10
and eax, 0x3ffff0
add rax, qword [r15]
sub qword [rsp + 0x20], 1
jne 0x140060640
mov rcx, r15
call fcn.14005ee20
mov rcx, qword [r15 + 8]
mov edx, 0x18
call fcn.1400632d0
mov r10, qword [r15 + 8]
mov r12, qword [rsp + 0x88]
movzx eax, byte [r10]
and eax, 3
je 0x140060a3c
sub eax, 1
je 0x140060a2a
sub eax, 1
je 0x140060a12
cmp eax, 1
jne 0x140060a4d
mov r9, r12
mov r8d, 0x640
mov rdx, r10
mov ecx, 0x100
call fcn.14006ac20
jmp 0x140060a4d
mov r9, r12
mov r8d, 0x640
mov rdx, r10
mov ecx, 0x100
call fcn.140067580
jmp 0x140060a4d
mov r8, r12
mov edx, 0x640
mov rcx, r10
call fcn.1400660a0
jmp 0x140060a4d
mov r8d, 0xc8
mov rdx, r10
mov rcx, r12
call fcn.1400640f0
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret