Function at 0x180012ec0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov rax, qword [rcx]
mov r10, rdx
lea rsi, [0x180000000]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov ebx, 1
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
lea edi, [rbx + 5]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
lea r11, [r10 + 0x30]
mov qword [rdx + 0x18], rax
mov r9d, dword [rdx + 0x1c]
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r8d, dword [rsi + rdx*4 + 0x24610]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r8d, dword [rsi + rcx*4 + 0x24210]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [rsi + rcx*4 + 0x23e10]
mov ecx, dword [r10 + 8]
xor r8d, dword [rsi + rax*4 + 0x24a10]
mov eax, dword [r10 + 4]
xor r8d, dword [r10]
xor r8d, ebx
xor eax, r8d
mov dword [r10 + 0x20], r8d
xor ecx, eax
mov dword [r10 + 0x24], eax
mov eax, dword [r10 + 0xc]
xor eax, ecx
mov dword [r10 + 0x28], ecx
mov dword [r10 + 0x2c], eax
nop
mov r9d, dword [r11 - 4]
add r11, 0x20
add ebx, ebx
ror r9d, 0x18
mov eax, r9d
shr eax, 0x18
movzx edx, al
mov eax, r9d
mov r8d, dword [rsi + rdx*4 + 0x24610]
shr eax, 0x10
movzx ecx, al
mov eax, r9d
xor r8d, dword [rsi + rcx*4 + 0x24210]
shr eax, 8
movzx ecx, al
movzx eax, r9b
xor r8d, dword [rsi + rcx*4 + 0x23e10]
mov ecx, dword [r11 - 0x38]
xor r8d, dword [rsi + rax*4 + 0x24a10]
mov eax, dword [r11 - 0x3c]
xor r8d, dword [r11 - 0x40]
xor eax, r8d
mov dword [r11 - 0x20], r8d
mov dword [r11 - 0x1c], eax
xor ecx, eax
mov eax, dword [r11 - 0x34]
xor eax, ecx
mov dword [r11 - 0x18], ecx
mov dword [r11 - 0x14], eax
mov r8d, dword [r11 - 0x14]
mov eax, r8d
shr eax, 0x18
movzx edx, al
mov eax, r8d
mov r9d, dword [rsi + rdx*4 + 0x24610]
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor r9d, dword [rsi + rcx*4 + 0x24210]
shr eax, 8
movzx ecx, al
movzx eax, r8b
xor r9d, dword [rsi + rcx*4 + 0x23e10]
xor r9d, dword [rsi + rax*4 + 0x24a10]
xor r9d, dword [r11 - 0x30]
xor r9d, ebx
mov dword [r11 - 0x10], r9d
mov eax, dword [r11 - 0x2c]
xor eax, r9d
mov dword [r11 - 0xc], eax
mov ecx, dword [r11 - 0x28]
xor ecx, eax
mov dword [r11 - 8], ecx
mov eax, dword [r11 - 0x24]
xor eax, ecx
dec edi
mov dword [r11 - 4], eax
jne 0x180012f70
lea rbx, [r10 + 0xf0]
xor r9d, r9d
lea r11d, [rdi + 0x38]
lea rdx, [rbx + 0xe4]
lea r8, [rbx + 4]
sub r10, rbx
nop word [rax + rax]
mov eax, dword [r10 + rdx - 4]
mov ecx, dword [r10 + r8 - 4]
add r9, 4
mov dword [r8 - 4], eax
mov dword [rdx - 4], ecx
mov eax, dword [r10 + rdx]
mov ecx, dword [r10 + r8]
mov dword [r8], eax
sub r11, 4
mov dword [rdx], ecx
mov eax, dword [r10 + rdx + 4]
mov ecx, dword [r10 + r8 + 4]
mov dword [r8 + 4], eax
mov dword [rdx + 4], ecx
mov eax, dword [r10 + rdx + 8]
mov ecx, dword [r10 + r8 + 8]
mov dword [r8 + 8], eax
sub rdx, 0x10
mov dword [rdx + 0x18], ecx
add r8, 0x10
cmp r9, r11
jle 0x180013080
mov r11d, 0x34
lea r10, [rbx + 0x10]
nop
mov r9d, dword [r10]
add r10, 4
mov eax, r9d
shr eax, 0x18
movzx ecx, al
mov eax, r9d
mov edx, dword [rsi + rcx*4 + 0x23e10]
shr eax, 0x10
mov r8d, dword [rsi + rdx*4 + 0x25a10]
movzx ecx, al
mov eax, dword [rsi + rcx*4 + 0x23e10]
xor r8d, dword [rsi + rax*4 + 0x25610]
mov eax, r9d
shr eax, 8
movzx ecx, al
mov eax, dword [rsi + rcx*4 + 0x23e10]
xor r8d, dword [rsi + rax*4 + 0x25210]
movzx eax, r9b
mov ecx, dword [rsi + rax*4 + 0x23e10]
xor r8d, dword [rsi + rcx*4 + 0x24e10]
dec r11d
mov dword [r10 - 4], r8d
jne 0x1800130e0
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
ret