Function at 0x14002f160
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x14005f020]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, qword [rcx + 8]
mov r11, rdx
mov r14d, dword [rcx]
movzx ecx, byte [rdx]
movzx r10d, byte [rdx + 3]
movzx r9d, byte [rdx + 2]
movzx r15d, byte [r11 + 0xb]
movzx r12d, byte [r11 + 0xf]
shl r15d, 8
shl r10d, 8
shl r12d, 8
or r10d, r9d
shl r10d, 8
mov qword [rbp - 0x38], r8
movzx r8d, byte [rdx + 1]
movzx edx, byte [rdx + 7]
or r10d, r8d
shl edx, 8
shl r10d, 8
or r10d, ecx
sar r14d, 1
movzx ecx, byte [r11 + 6]
dec r14d
or edx, ecx
mov dword [rbp - 0x30], r10d
mov esi, dword [rax]
movzx ecx, byte [r11 + 5]
xor esi, r10d
shl edx, 8
or edx, ecx
mov dword [rbp - 0x30], esi
movzx ecx, byte [r11 + 4]
shl edx, 8
or edx, ecx
mov dword [rbp - 0x40], esi
movzx ecx, byte [r11 + 0xa]
or r15d, ecx
mov dword [rbp - 0x2c], edx
mov r13d, dword [rax + 4]
movzx ecx, byte [r11 + 9]
xor r13d, edx
shl r15d, 8
or r15d, ecx
mov dword [rbp - 0x2c], r13d
movzx ecx, byte [r11 + 8]
shl r15d, 8
or r15d, ecx
movzx ecx, byte [r11 + 0xe]
or r12d, ecx
mov dword [rbp - 0x28], r15d
xor r15d, dword [rax + 8]
movzx ecx, byte [r11 + 0xd]
shl r12d, 8
or r12d, ecx
mov dword [rbp - 0x28], r15d
movzx ecx, byte [r11 + 0xc]
lea r11, [0x140000000]
shl r12d, 8
or r12d, ecx
mov dword [rbp - 0x24], r12d
xor r12d, dword [rax + 0xc]
add rax, 0x10
mov dword [rbp - 0x24], r12d
test r14d, r14d
jle 0x14002f4dd
nop word [rax + rax]
movzx r8d, byte [rbp - 0x30]
lea r10, [0x140000000]
mov ecx, r12d
shr ecx, 0x18
movzx edx, cl
mov ecx, r15d
mov edi, dword [r11 + r8*4 + 0x609a0]
shr ecx, 0x10
movzx r8d, r13b
xor edi, dword [r11 + rdx*4 + 0x615a0]
movzx edx, cl
mov ecx, r13d
shr ecx, 8
mov ebx, dword [r10 + r8*4 + 0x609a0]
movzx r8d, byte [rbp - 0x28]
xor edi, dword [r11 + rdx*4 + 0x611a0]
movzx edx, cl
mov ecx, r12d
shr ecx, 0x10
mov r9d, dword [r10 + r8*4 + 0x609a0]
xor edi, dword [r11 + rdx*4 + 0x60da0]
xor edi, dword [rax]
movzx edx, cl
mov ecx, r15d
shr ecx, 8
mov dword [rbp - 0x20], edi
shr r15d, 0x18
xor ebx, dword [r10 + rdx*4 + 0x611a0]
movzx edx, cl
mov ecx, esi
shr ecx, 0x18
xor ebx, dword [r10 + rdx*4 + 0x60da0]
movzx edx, cl
mov ecx, r12d
shr ecx, 8
xor ebx, dword [r10 + rdx*4 + 0x615a0]
xor ebx, dword [rax + 4]
movzx edx, cl
mov ecx, r13d
shr ecx, 0x18
mov dword [rbp - 0x1c], ebx
shr r13d, 0x10
xor r9d, dword [r10 + rdx*4 + 0x60da0]
movzx edx, cl
mov ecx, esi
shr ecx, 0x10
shr esi, 8
xor r9d, dword [r10 + rdx*4 + 0x615a0]
movzx edx, cl
movzx ecx, r15b
lea r15, [0x140000000]
xor r9d, dword [r10 + rdx*4 + 0x611a0]
xor r9d, dword [rax + 8]
mov r10d, r9d
movzx edx, r12b
mov dword [rbp - 0x18], r10d
mov r8d, dword [r15 + rdx*4 + 0x609a0]
xor r8d, dword [r15 + rcx*4 + 0x615a0]
movzx ecx, r13b
movzx edx, dil
xor r8d, dword [r15 + rcx*4 + 0x611a0]
movzx ecx, sil
mov esi, dword [r15 + rdx*4 + 0x609a0]
xor r8d, dword [r15 + rcx*4 + 0x60da0]
xor r8d, dword [rax + 0xc]
mov ecx, r8d
shr rcx, 0x18
mov r9d, r8d
mov dword [rbp - 0x14], r9d
mov r8d, edi
xor esi, dword [r15 + rcx*4 + 0x615a0]
mov ecx, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, ebx
shr ecx, 8
xor esi, dword [r15 + rdx*4 + 0x611a0]
movzx edx, cl
xor esi, dword [r15 + rdx*4 + 0x60da0]
xor esi, dword [rax + 0x10]
mov dword [rbp - 0x30], esi
lea r11, [0x140000000]
shr r8, 0x18
mov ecx, r9d
dec r14d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
mov r13d, dword [r11 + r8*4 + 0x615a0]
shr ecx, 8
xor r13d, dword [r11 + rdx*4 + 0x611a0]
movzx edx, cl
movzx ecx, bl
xor r13d, dword [r11 + rdx*4 + 0x60da0]
xor r13d, dword [r11 + rcx*4 + 0x609a0]
mov ecx, r9d
xor r13d, dword [rax + 0x14]
shr ecx, 8
movzx edx, cl
movzx ecx, r10b
shr r10d, 0x18
mov dword [rbp - 0x2c], r13d
mov r15d, dword [r11 + rdx*4 + 0x60da0]
xor r15d, dword [r11 + rcx*4 + 0x609a0]
mov ecx, ebx
shr ecx, 0x18
movzx edx, cl
mov ecx, edi
shr ecx, 0x10
shr ebx, 0x10
shr edi, 8
xor r15d, dword [r11 + rdx*4 + 0x615a0]
movzx edx, cl
movzx ecx, r9b
xor r15d, dword [r11 + rdx*4 + 0x611a0]
xor r15d, dword [rax + 0x18]
movzx edx, r10b
mov dword [rbp - 0x28], r15d
mov r12d, dword [r11 + rdx*4 + 0x615a0]
xor r12d, dword [r11 + rcx*4 + 0x609a0]
movzx ecx, bl
xor r12d, dword [r11 + rcx*4 + 0x611a0]
movzx ecx, dil
xor r12d, dword [r11 + rcx*4 + 0x60da0]
xor r12d, dword [rax + 0x1c]
add rax, 0x20
mov dword [rbp - 0x24], r12d
test r14d, r14d
jg 0x14002f290
mov dword [rbp - 0x40], esi
movzx r8d, byte [rbp - 0x30]
lea rdi, [rax + 0xc]
mov ebx, dword [rbp - 0x40]
mov ecx, r12d
shr ecx, 0x18
movzx edx, cl
mov ecx, r15d
mov r14d, dword [r11 + r8*4 + 0x609a0]
shr ecx, 0x10
movzx r8d, r13b
xor r14d, dword [r11 + rdx*4 + 0x615a0]
movzx edx, cl
mov ecx, r13d
shr ecx, 8
mov r9d, dword [r11 + r8*4 + 0x609a0]
movzx r8d, byte [rbp - 0x28]
xor r14d, dword [r11 + rdx*4 + 0x611a0]
movzx edx, cl
mov ecx, r12d
shr ecx, 0x10
xor r14d, dword [r11 + rdx*4 + 0x60da0]
xor r14d, dword [rax]
movzx edx, cl
mov ecx, r15d
shr ecx, 8
mov dword [rbp - 0x20], r14d
shr r15d, 0x18
xor r9d, dword [r11 + rdx*4 + 0x611a0]
movzx edx, cl
mov ecx, esi
shr ecx, 0x18
xor r9d, dword [r11 + rdx*4 + 0x60da0]
movzx edx, cl
mov ecx, r12d
shr ecx, 8
xor r9d, dword [r11 + rdx*4 + 0x615a0]
xor r9d, dword [rax + 4]
movzx edx, cl
mov ecx, r13d
shr ecx, 0x18
mov esi, r9d
mov r9d, dword [r11 + r8*4 + 0x609a0]
xor r9d, dword [r11 + rdx*4 + 0x60da0]
movzx edx, cl
mov ecx, ebx
shr ecx, 0x10
shr ebx, 8
shr r13d, 0x10
xor r9d, dword [r11 + rdx*4 + 0x615a0]
movzx edx, cl
movzx ecx, r15b
lea r15, [0x140000000]
mov dword [rbp - 0x1c], esi
xor r9d, dword [r11 + rdx*4 + 0x611a0]
xor r9d, dword [rax + 8]
mov r11d, r9d
movzx edx, r12b
mov dword [rbp - 0x18], r11d
mov r8d, dword [r15 + rdx*4 + 0x609a0]
xor r8d, dword [r15 + rcx*4 + 0x615a0]
movzx ecx, r13b
xor r8d, dword [r15 + rcx*4 + 0x611a0]
movzx ecx, bl
xor r8d, dword [r15 + rcx*4 + 0x60da0]
xor r8d, dword [rax + 0xc]
mov ecx, r8d
shr rcx, 0x18
mov r9d, r8d
mov dword [rbp - 0x14], r9d
movzx ebx, byte [rcx + r15 + 0x608a0]
mov ecx, r11d
shr ecx, 0x10
movzx edx, cl
shl ebx, 8
movzx ecx, byte [rdx + r15 + 0x608a0]
xor ebx, ecx
mov ecx, esi
shl ebx, 8
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + r15 + 0x608a0]
xor ebx, ecx
movzx ecx, r14b
shl ebx, 8
movzx ecx, byte [rcx + r15 + 0x608a0]
xor ebx, ecx
xor ebx, dword [rax + 0x10]
mov eax, r14d
shr rax, 0x18
mov dword [rbp - 0x30], ebx
movzx r8d, byte [rax + r15 + 0x608a0]
mov eax, r9d
shr eax, 0x10
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r15 + 0x608a0]
xor r8d, eax
mov eax, r11d
shr eax, 8
movzx ecx, al
shl r8d, 8
movzx eax, byte [rcx + r15 + 0x608a0]
xor r8d, eax
movzx eax, sil
shl r8d, 8
movzx eax, byte [rax + r15 + 0x608a0]
xor r8d, eax
mov eax, esi
xor r8d, dword [rdi + 8]
shr rax, 0x18
shr esi, 0x10
mov dword [rbp - 0x2c], r8d
movzx edx, byte [rax + r15 + 0x608a0]
mov eax, r14d
shr eax, 0x10
movzx ecx, al
shl edx, 8
shr r14d, 8
movzx eax, byte [rcx + r15 + 0x608a0]
xor edx, eax
mov eax, r9d
shr eax, 8
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + r15 + 0x608a0]
xor edx, eax
movzx eax, r11b
shl edx, 8
shr r11d, 0x18
movzx eax, byte [rax + r15 + 0x608a0]
xor edx, eax
movzx eax, r11b
xor edx, dword [rdi + 0xc]
mov dword [rbp - 0x28], edx
movzx ecx, byte [rax + r15 + 0x608a0]
shl ecx, 8
movzx eax, sil
movzx eax, byte [rax + r15 + 0x608a0]
xor ecx, eax
movzx eax, r14b
shl ecx, 8
movzx eax, byte [rax + r15 + 0x608a0]
xor ecx, eax
movzx eax, r9b
mov r9, qword [rbp - 0x38]
shl ecx, 8
movzx eax, byte [rax + r15 + 0x608a0]
xor ecx, eax
movzx eax, bl
xor ecx, dword [rdi + 0x10]
mov eax, ebx
shr eax, 8
mov byte [r9 + 1], al
mov eax, ebx
shr eax, 0x10
mov byte [r9 + 2], al
movzx eax, r8b
mov byte [r9], bl
shr ebx, 0x18
mov byte [r9 + 4], al
mov dword [rbp - 0x24], ecx
mov byte [r9 + 3], bl
mov eax, r8d
mov byte [r9 + 8], dl
shr eax, 8
mov byte [r9 + 5], al
mov eax, r8d
shr eax, 0x10
mov byte [r9 + 6], al
movzx eax, dl
mov eax, edx
mov byte [r9 + 0xc], cl
shr eax, 8
mov byte [r9 + 9], al
mov eax, edx
shr eax, 0x10
mov byte [r9 + 0xa], al
movzx eax, cl
mov eax, ecx
shr edx, 0x18
shr eax, 8
mov byte [r9 + 0xd], al
mov eax, ecx
shr ecx, 0x18
mov byte [r9 + 0xf], cl
lea rcx, [rbp - 0x30]
shr r8d, 0x18
mov byte [r9 + 0xb], dl
mov edx, 0x20
shr eax, 0x10
mov byte [r9 + 7], r8b
mov byte [r9 + 0xe], al
call fcn.14002f830
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.14002fb30
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret