Function at 0x140060160
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, 0x20
mov rax, r8
mov r10, rdx
mov r8, qword [rcx + 8]
mov rbp, rcx
mov edx, eax
mov rcx, r10
mov r9d, 0xc8
call fcn.140062fc0
mov rcx, rbp
call fcn.14005d3c0
mov rax, qword [rbp + 8]
lea rdi, [0x14007c4c0]
mov qword [rsp + 0x60], 0x40000
mov r14, qword [rax + 0x20]
mov r12, qword [rax + 0x28]
mov r13, qword [rax + 0x30]
mov r15, qword [rax + 0x38]
xor r14, qword [rax]
xor r12, qword [rax + 8]
xor r13, qword [rax + 0x10]
xor r15, qword [rax + 0x18]
mov rax, r14
and eax, 0x1ffff0
add rax, qword [rbp]
nop dword [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 esi, dword [rdi + rdx*4 + 0x400]
movzx edx, cl
mov ecx, dword [rdi + rdx*4 + 0x800]
xor rsi, rcx
mov ecx, r9d
shr rcx, 0x18
mov ecx, dword [rdi + rcx*4 + 0xc00]
xor rsi, rcx
movzx ecx, bl
mov edx, dword [rdi + rcx*4]
mov ecx, r11d
shr rcx, 0x10
xor rsi, rdx
movzx edx, cl
mov rcx, rbx
shr rcx, 8
shl rsi, 0x20
mov r8d, dword [rdi + rdx*4 + 0x800]
movzx edx, cl
mov ecx, dword [rdi + rdx*4 + 0x400]
xor r8, rcx
mov rcx, r10
shr rcx, 0x18
mov ecx, dword [rdi + rcx*4 + 0xc00]
xor r8, rcx
movzx ecx, r9b
mov edx, dword [rdi + rcx*4]
mov ecx, r9d
shr rcx, 8
xor r8, rdx
movzx edx, cl
or rsi, r8
lea r8, [0x14007c4c0]
shr r9, 0x10
mov rcx, rbx
xor rsi, r14
shr rcx, 0x10
xor r13, rsi
mov edi, dword [rdi + rdx*4 + 0x400]
movzx edx, cl
shr rbx, 0x18
mov qword [rax], r13
mov ecx, dword [r8 + rdx*4 + 0x800]
xor rdi, rcx
mov ecx, r11d
shr rcx, 0x18
mov ecx, dword [r8 + rcx*4 + 0xc00]
xor rdi, rcx
movzx ecx, r10b
shr r10, 8
mov edx, dword [r8 + rcx*4]
xor rdi, rdx
movzx ecx, r9b
lea rdx, [0x14007c4c0]
shl rdi, 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 rdi, r8
xor rdi, r12
xor r15, rdi
mov qword [rax + 8], r15
lea r15, [0x14007c4c0]
mov rcx, rsi
and ecx, 0x1ffff0
add rcx, qword [rbp]
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
mov rax, r8
mul rsi
add r14, rdx
add r12, rax
mov qword [rcx], r14
xor r14, r8
mov qword [rcx + 8], r12
mov rax, r14
and eax, 0x1ffff0
xor r12, r9
add rax, qword [rbp]
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 r13d, dword [r15 + rdx*4 + 0x400]
movzx edx, cl
mov ecx, dword [r15 + rdx*4 + 0x800]
xor r13, rcx
mov ecx, r9d
shr rcx, 0x18
mov ecx, dword [r15 + rcx*4 + 0xc00]
xor r13, rcx
movzx ecx, bl
mov edx, dword [r15 + rcx*4]
mov ecx, r11d
shr rcx, 0x10
xor r13, rdx
movzx edx, cl
mov rcx, rbx
shr rcx, 8
shl r13, 0x20
mov r8d, dword [r15 + rdx*4 + 0x800]
movzx edx, cl
mov ecx, dword [r15 + rdx*4 + 0x400]
xor r8, rcx
mov rcx, r10
shr rcx, 0x18
mov ecx, dword [r15 + rcx*4 + 0xc00]
xor r8, rcx
movzx ecx, r9b
mov edx, dword [r15 + rcx*4]
mov ecx, r9d
shr rcx, 8
xor r8, rdx
movzx edx, cl
or r13, r8
lea r8, [0x14007c4c0]
mov rcx, rbx
shr rcx, 0x10
xor r13, r14
mov r15d, dword [r15 + rdx*4 + 0x400]
movzx edx, cl
mov ecx, dword [r8 + rdx*4 + 0x800]
xor r15, rcx
mov ecx, r11d
shr rcx, 0x18
mov ecx, dword [r8 + rcx*4 + 0xc00]
xor r15, rcx
movzx ecx, r10b
mov edx, dword [r8 + rcx*4]
xor r15, rdx
lea rdx, [0x14007c4c0]
shl r15, 0x20
shr r9, 0x10
movzx ecx, r9b
mov r8d, dword [rdx + rcx*4 + 0x800]
shr r10, 8
shr rbx, 0x18
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, r13
or r15, r8
xor rdx, rsi
mov qword [rax], rdx
xor r15, r12
mov rcx, r15
xor rcx, rdi
lea rdi, [0x14007c4c0]
mov qword [rax + 8], rcx
mov rcx, r13
and ecx, 0x1ffff0
add rcx, qword [rbp]
mov r8, qword [rcx]
mov r9, qword [rcx + 8]
mov rax, r8
mul r13
add r12, rax
add r14, rdx
mov qword [rcx], r14
xor r14, r8
mov rax, r14
mov qword [rcx + 8], r12
and eax, 0x1ffff0
xor r12, r9
add rax, qword [rbp]
sub qword [rsp + 0x60], 1
jne 0x1400601e0
mov rcx, rbp
call fcn.14005e660
mov rcx, qword [rbp + 8]
mov edx, 0x18
call fcn.1400632d0
mov r10, qword [rbp + 8]
mov r15, qword [rsp + 0x78]
movzx eax, byte [r10]
and eax, 3
je 0x14006057f
sub eax, 1
je 0x14006056d
sub eax, 1
je 0x140060555
cmp eax, 1
jne 0x140060590
mov r9, r15
mov r8d, 0x640
mov rdx, r10
mov ecx, 0x100
call fcn.14006ac20
jmp 0x140060590
mov r9, r15
mov r8d, 0x640
mov rdx, r10
mov ecx, 0x100
call fcn.140067580
jmp 0x140060590
mov r8, r15
mov edx, 0x640
mov rcx, r10
call fcn.1400660a0
jmp 0x140060590
mov r8d, 0xc8
mov rdx, r10
mov rcx, r15
call fcn.1400640f0
mov rbx, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret