Function at 0x180036370
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x10
mov eax, dword [rdx]
lea r14, [0x180000000]
xor eax, dword [rcx + 0xb4]
mov rsi, rcx
mov dword [rbp - 0x10], eax
mov edi, 8
mov eax, dword [rcx + 0xb8]
xor eax, dword [rdx + 4]
mov dword [rbp - 0xc], eax
lea rbx, [rsi + 0xac]
mov eax, dword [rdx + 8]
xor eax, dword [rcx + 0xbc]
mov dword [rbp - 8], eax
mov eax, dword [rdx + 0xc]
xor eax, dword [rcx + 0xc0]
movzx ecx, byte [rbp - 0x10]
mov dword [rbp - 4], eax
movzx eax, byte [rbp - 9]
mov edx, dword [r14 + rcx*4 + 0xf2500]
movzx ecx, byte [rbp - 0xf]
xor edx, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 6]
xor edx, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 3]
xor edx, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 0xc]
mov dword [r8], edx
mov r9d, dword [r14 + rcx*4 + 0xf2900]
movzx ecx, byte [rbp - 0xe]
xor r9d, dword [r14 + rax*4 + 0xf2500]
movzx eax, byte [rbp - 5]
xor r9d, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 2]
xor r9d, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 0xb]
mov dword [r8 + 4], r9d
mov r10d, dword [r14 + rcx*4 + 0xf2d00]
movzx ecx, byte [rbp - 0xd]
xor r10d, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 8]
xor r10d, dword [r14 + rax*4 + 0xf2500]
movzx eax, byte [rbp - 1]
xor r10d, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 0xa]
mov dword [r8 + 8], r10d
mov r11d, dword [r14 + rcx*4 + 0xf3100]
xor r11d, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 7]
xor r11d, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 4]
xor r11d, dword [r14 + rax*4 + 0xf2500]
mov dword [r8 + 0xc], r11d
mov eax, dword [rbx - 8]
lea rbx, [rbx - 0x10]
xor eax, edx
mov dword [rbp - 0x10], eax
mov eax, dword [rbx + 0xc]
movzx ecx, byte [rbp - 0x10]
xor eax, r9d
mov dword [rbp - 0xc], eax
mov eax, dword [rbx + 0x10]
xor eax, r10d
mov edx, dword [r14 + rcx*4 + 0xf2500]
movzx ecx, byte [rbp - 0xf]
mov dword [rbp - 8], eax
mov eax, dword [rbx + 0x14]
xor eax, r11d
mov dword [rbp - 4], eax
movzx eax, byte [rbp - 9]
xor edx, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 6]
xor edx, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 3]
xor edx, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 0xc]
mov dword [r8], edx
mov r9d, dword [r14 + rcx*4 + 0xf2900]
movzx ecx, byte [rbp - 0xe]
xor r9d, dword [r14 + rax*4 + 0xf2500]
movzx eax, byte [rbp - 5]
xor r9d, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 2]
xor r9d, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 0xb]
mov dword [r8 + 4], r9d
mov r10d, dword [r14 + rcx*4 + 0xf2d00]
movzx ecx, byte [rbp - 0xd]
xor r10d, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 8]
xor r10d, dword [r14 + rax*4 + 0xf2500]
movzx eax, byte [rbp - 1]
xor r10d, dword [r14 + rax*4 + 0xf3100]
movzx eax, byte [rbp - 0xa]
mov dword [r8 + 8], r10d
mov r11d, dword [r14 + rcx*4 + 0xf3100]
xor r11d, dword [r14 + rax*4 + 0xf2d00]
movzx eax, byte [rbp - 7]
xor r11d, dword [r14 + rax*4 + 0xf2900]
movzx eax, byte [rbp - 4]
xor r11d, dword [r14 + rax*4 + 0xf2500]
mov dword [r8 + 0xc], r11d
sub rdi, 1
jne 0x1800364a0
mov eax, dword [rsi + 0x24]
xor eax, edx
mov rbx, qword [rsp + 0x20]
mov dword [rbp - 0x10], eax
mov eax, dword [rsi + 0x28]
xor eax, r9d
mov rdi, qword [rsp + 0x30]
mov dword [rbp - 0xc], eax
mov eax, dword [rsi + 0x2c]
xor eax, r10d
mov dword [rbp - 8], eax
mov eax, dword [rsi + 0x30]
xor eax, r11d
mov dword [rbp - 4], eax
movzx eax, byte [rbp - 0x10]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8], al
movzx eax, byte [rbp - 3]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 1], al
movzx eax, byte [rbp - 6]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 2], al
movzx eax, byte [rbp - 9]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 3], al
movzx eax, byte [rbp - 0xc]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 4], al
movzx eax, byte [rbp - 0xf]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 5], al
movzx eax, byte [rbp - 2]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 6], al
movzx eax, byte [rbp - 5]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 7], al
movzx eax, byte [rbp - 8]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 8], al
movzx eax, byte [rbp - 0xb]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 9], al
movzx eax, byte [rbp - 0xe]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 0xa], al
movzx eax, byte [rbp - 1]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 0xb], al
movzx eax, byte [rbp - 4]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 0xc], al
movzx eax, byte [rbp - 7]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 0xd], al
movzx eax, byte [rbp - 0xa]
movzx eax, byte [rax + r14 + 0xf13e0]
mov byte [r8 + 0xe], al
movzx eax, byte [rbp - 0xd]
movzx eax, byte [rax + r14 + 0xf13e0]
mov r14, qword [rsp + 0x38]
mov byte [r8 + 0xf], al
mov eax, dword [rsi + 0x14]
xor dword [r8], eax
mov eax, dword [rsi + 0x18]
xor dword [r8 + 4], eax
mov eax, dword [rsi + 0x1c]
xor dword [r8 + 8], eax
mov eax, dword [rsi + 0x20]
xor dword [r8 + 0xc], eax
mov rsi, qword [rsp + 0x28]
add rsp, 0x10
pop rbp
ret