Function at 0x180008bb0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x10], edx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp dword [0x180066cf8], 0
mov rbx, r8
mov rdi, rcx
jne 0x180008be4
call fcn.180008830
mov eax, dword [rdi]
lea r12, [0x180066cd8]
mov edx, dword [rdi + 0xc]
lea r14, [0x180066d00]
mov dword [rbx], eax
xor esi, esi
mov eax, dword [rdi + 4]
mov dword [rbx + 4], eax
mov eax, dword [rdi + 8]
mov dword [rbx + 8], eax
mov dword [rbx + 0xc], edx
mov dword [rsp + 0x58], esi
nop
lea r13d, [rsi*4]
ror edx, 8
mov r8d, edx
lea r15d, [rsi + 3]
shr rdx, 0x18
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr eax, 8
mov edi, dword [r14 + rdx*4 + 0xc00]
xor edi, dword [r14 + rcx*4 + 0x800]
movzx ecx, al
movzx eax, r8b
xor edi, dword [r14 + rcx*4 + 0x400]
xor edi, dword [r14 + rax*4]
lea eax, [r13 + 4]
xor edi, dword [rbx + r13*4]
xor edi, dword [r12 - 8]
mov dword [rbx + rax*4], edi
mov r9d, edi
lea eax, [r13 + 1]
xor edi, dword [rbx + rax*4]
lea eax, [r13 + 5]
mov dword [rbx + rax*4], edi
mov r10d, edi
lea eax, [r13 + 2]
xor edi, dword [rbx + rax*4]
lea eax, [r13 + 6]
mov dword [rbx + rax*4], edi
mov r11d, edi
lea eax, [r13 + 3]
xor edi, dword [rbx + rax*4]
lea eax, [r13 + 7]
mov dword [rbx + rax*4], edi
mov eax, edi
ror eax, 8
mov edx, eax
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr eax, 8
shr rdx, 0x18
mov ebp, dword [r14 + rdx*4 + 0xc00]
xor ebp, dword [r14 + rcx*4 + 0x800]
movzx ecx, al
movzx eax, r8b
xor ebp, dword [r14 + rcx*4 + 0x400]
xor ebp, dword [r14 + rax*4]
lea eax, [r15*4 - 4]
xor ebp, dword [r12 - 4]
xor ebp, r9d
mov dword [rbx + rax*4], ebp
mov r9d, ebp
xor ebp, r10d
lea eax, [r13 + 9]
mov dword [rbx + rax*4], ebp
mov r10d, ebp
xor ebp, r11d
lea eax, [r13 + 0xa]
mov dword [rbx + rax*4], ebp
mov r11d, ebp
xor ebp, edi
lea eax, [r13 + 0xb]
mov dword [rbx + rax*4], ebp
mov eax, ebp
ror eax, 8
mov edx, eax
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr rdx, 0x18
shr eax, 8
mov r14d, dword [r14 + rdx*4 + 0xc00]
lea rdx, [0x180066d00]
xor r14d, dword [rdx + rcx*4 + 0x800]
movzx ecx, al
movzx eax, r8b
xor r14d, dword [rdx + rcx*4 + 0x400]
xor r14d, dword [rdx + rax*4]
lea eax, [r15*4]
xor r14d, r9d
xor r14d, dword [r12]
mov dword [rbx + rax*4], r14d
mov r9d, r14d
xor r14d, r10d
lea eax, [r13 + 0xd]
mov dword [rbx + rax*4], r14d
lea r10, [0x180066d00]
mov edi, r14d
lea eax, [r13 + 0xe]
xor r14d, r11d
mov dword [rbx + rax*4], r14d
mov esi, r14d
xor r14d, ebp
lea eax, [r13 + 0xf]
mov dword [rbx + rax*4], r14d
mov eax, r14d
ror eax, 8
mov edx, eax
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
shr eax, 8
shr rdx, 0x18
mov ebp, dword [r10 + rdx*4 + 0xc00]
xor ebp, dword [r10 + rcx*4 + 0x800]
movzx ecx, al
movzx eax, r8b
xor ebp, dword [r10 + rcx*4 + 0x400]
xor ebp, dword [r10 + rax*4]
lea eax, [r15*4 + 4]
xor ebp, dword [r12 + 4]
xor ebp, r9d
mov dword [rbx + rax*4], ebp
mov r10d, ebp
xor ebp, edi
lea eax, [r13 + 0x11]
mov dword [rbx + rax*4], ebp
mov r11d, ebp
xor ebp, esi
lea eax, [r13 + 0x12]
mov esi, dword [rsp + 0x58]
mov r9d, ebp
mov dword [rbx + rax*4], ebp
xor ebp, r14d
lea r14, [0x180066d00]
lea eax, [r13 + 0x13]
mov dword [rbx + rax*4], ebp
mov eax, ebp
ror eax, 8
mov edx, eax
shr rdx, 0x18
mov r8d, eax
shr eax, 0x10
movzx ecx, al
mov eax, r8d
mov edx, dword [r14 + rdx*4 + 0xc00]
shr eax, 8
xor edx, dword [r14 + rcx*4 + 0x800]
movzx ecx, al
movzx eax, r8b
xor edx, dword [r14 + rcx*4 + 0x400]
xor edx, dword [r14 + rax*4]
lea eax, [r15*4 + 8]
xor edx, dword [r12 + 8]
xor edx, r10d
mov dword [rbx + rax*4], edx
xor edx, r11d
lea eax, [r13 + 0x15]
mov dword [rbx + rax*4], edx
xor edx, r9d
lea eax, [r13 + 0x16]
mov dword [rbx + rax*4], edx
xor edx, ebp
add esi, 5
lea eax, [r13 + 0x17]
mov dword [rsp + 0x58], esi
mov dword [rbx + rax*4], edx
lea r12, [r12 + 0x14]
cmp esi, 0xa
jb 0x180008c10
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret