Function at 0x518de0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2a8
lea rax, [rsp + 0x8f]
mov rbx, r8
mov qword [rsp + 0x2f0], rcx
and rax, 0xffffffffffffffc0
mov qword [rsp + 0x308], r9
mov rcx, rbx
mov r9d, 0x20
mov rsi, rax
mov qword [rsp + 0x48], rax
lea rax, [rdx - 0x20]
mov edx, 0x50
shr rax, 4
add eax, 1
mov dword [rsp + 0x38], eax
lea rax, [rsi + 0x200]
mov r8, rax
mov qword [rsp + 0x30], rax
call fcn.0051bc20
mov rdx, qword [rbx + 0x48]
mov rcx, rsi
call fcn.00518ad0
mov edi, dword [rsi + 0x200]
mov rax, rsi
mov r8d, 0x811c9dc5
mov edx, dword [rax + 0x218]
mov r14, rax
mov r9d, dword [rsi + 0x204]
mov ebp, dword [rax + 0x214]
mov dword [rsp + 0x24], edi
mov edi, dword [rsi + 0x208]
mov r12d, dword [rax + 0x21c]
mov dword [rsp + 0x2c], edx
mov dword [rsp + 0x28], edi
mov edi, dword [rsi + 0x20c]
mov esi, dword [rsi + 0x210]
mov eax, dword [r14]
xor edx, edx
xor eax, r8d
imul eax, eax, 0x1000193
div dword [rsp + 0x38]
mov rax, rdx
shl rax, 4
add rax, qword [rsp + 0x2f0]
mov r15d, dword [rax]
mov r13d, dword [rax + 4]
mov ebx, dword [rax + 8]
mov r11d, dword [rax + 0xc]
xor r8d, r15d
mov r10d, dword [rax + 0x10]
imul r8d, r8d, 0x1000193
mov ecx, dword [rax + 0x14]
xor r9d, r13d
mov edx, dword [rax + 0x18]
imul r9d, r9d, 0x1000193
mov eax, dword [rax + 0x1c]
xor r8d, r13d
xor r15d, dword [rsp + 0x24]
imul r8d, r8d, 0x1000193
xor r8d, ebx
xor ebx, dword [rsp + 0x28]
imul r15d, r15d, 0x1000193
imul r8d, r8d, 0x1000193
mov dword [rsp + 0x24], r15d
xor r8d, r11d
imul ebx, ebx, 0x1000193
xor r11d, edi
imul r8d, r8d, 0x1000193
imul edi, r11d, 0x1000193
mov dword [rsp + 0x28], ebx
xor r8d, r10d
xor r10d, esi
imul r8d, r8d, 0x1000193
imul esi, r10d, 0x1000193
xor r8d, ecx
imul r8d, r8d, 0x1000193
xor r8d, edx
imul r8d, r8d, 0x1000193
xor r8d, eax
imul r8d, r8d, 0x1000193
xor ecx, ebp
xor edx, dword [rsp + 0x2c]
xor eax, r12d
imul ebp, ecx, 0x1000193
add r14, 4
imul r12d, eax, 0x1000193
imul ecx, edx, 0x1000193
mov dword [rsp + 0x2c], ecx
cmp qword [rsp + 0x30], r14
jne 0x518ea1
mov qword [rsp + 0x40], 1
mov eax, dword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov dword [rsp + 0x3c], eax
nop
mov eax, dword [r13]
xor edx, edx
movzx ecx, byte [rsp + 0x3c]
rol eax, cl
xor eax, r8d
imul eax, eax, 0x1000193
div dword [rsp + 0x38]
mov rax, rdx
shl rax, 4
add rax, qword [rsp + 0x2f0]
mov r15d, dword [rax]
mov r14d, dword [rax + 4]
mov ebx, dword [rax + 8]
mov r11d, dword [rax + 0xc]
xor r8d, r15d
mov r10d, dword [rax + 0x10]
imul r8d, r8d, 0x1000193
mov ecx, dword [rax + 0x14]
xor r9d, r14d
mov edx, dword [rax + 0x18]
imul r9d, r9d, 0x1000193
mov eax, dword [rax + 0x1c]
xor r8d, r14d
xor r15d, dword [rsp + 0x24]
imul r8d, r8d, 0x1000193
xor r8d, ebx
xor ebx, dword [rsp + 0x28]
imul r15d, r15d, 0x1000193
imul r8d, r8d, 0x1000193
mov dword [rsp + 0x24], r15d
xor r8d, r11d
imul ebx, ebx, 0x1000193
xor r11d, edi
imul r8d, r8d, 0x1000193
imul edi, r11d, 0x1000193
mov dword [rsp + 0x28], ebx
xor r8d, r10d
xor r10d, esi
imul r8d, r8d, 0x1000193
xor r8d, ecx
imul r8d, r8d, 0x1000193
xor r8d, edx
imul r8d, r8d, 0x1000193
xor r8d, eax
imul r8d, r8d, 0x1000193
imul esi, r10d, 0x1000193
xor edx, dword [rsp + 0x2c]
xor ecx, ebp
xor eax, r12d
imul ebp, ecx, 0x1000193
add r13, 4
imul r12d, eax, 0x1000193
imul edx, edx, 0x1000193
mov dword [rsp + 0x2c], edx
cmp qword [rsp + 0x30], r13
jne 0x518fb0
add qword [rsp + 0x40], 1
mov rax, qword [rsp + 0x40]
cmp rax, 0x20
jne 0x518fa2
mov rax, qword [rsp + 0x48]
vmovd xmm4, edx
vmovd xmm3, ebx
vmovd xmm5, esi
vpinsrd xmm2, xmm4, r12d, 1
vmovd xmm4, dword [rsp + 0x24]
vpinsrd xmm3, xmm3, edi, 1
vpinsrd xmm1, xmm5, ebp, 1
mov rdi, qword [rsp + 0x308]
vpunpcklqdq xmm1, xmm1, xmm2
vpinsrd xmm0, xmm4, r9d, 1
vpunpcklqdq xmm0, xmm0, xmm3
vinsertf128 ymm0, ymm0, xmm1, 1
vmovdqu ymmword [rax + 0x200], ymm0
mov rdx, qword [rax + 0x218]
mov rax, qword [rax + 0x210]
vmovups xmmword [rdi], xmm0
mov qword [rdi + 0x18], rdx
mov qword [rdi + 0x10], rax
vzeroupper
add rsp, 0x2a8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret