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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov rax, qword [0x180141040]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rax, qword gs:[0x58]
mov r14, rdx
mov r9d, dword [0x180141ae8]
xor ebx, ebx
mov edx, 4
mov r12, r8
mov rsi, rcx
movabs rdi, 0xcbf29ce484222325
movabs r13, 0x100000001b3
mov r15, qword [rax + r9*8]
mov eax, dword [r15 + rdx]
cmp dword [0x1801422a4], eax
jle 0x180064bc1
lea rcx, [0x1801422a4]
call fcn.1800d7590
cmp dword [0x1801422a4], 0xffffffff
jne 0x180064bbc
movabs rax, 0xff6dd96a23f31300
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x20], rax
movabs rcx, 0xf8f833c76a6d64d4
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x39], rax
movabs rax, 0x660017f76124f582
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x31], rax
movabs rax, 0xa6216feaf55a2df1
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x29], rax
movabs rax, 0x1faea2f8eefabfe2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x21], rax
movabs rax, 0x43a66e7af366f3be
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x19], rax
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x11], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 9], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 1], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 7], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0xf], rax
movabs rax, 0x43a66e7af30385d7
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 0x17], rax
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rbp - 0x39]
vpxor xmm3, xmm0, xmmword [rbp - 9]
vmovdqu xmm0, xmmword [rbp - 0x29]
vmovdqu xmm2, xmmword [rbp - 0x19]
vpxor xmm1, xmm0, xmmword [rbp + 7]
mov qword [rbp + 0x1f], rax
vpxor xmm0, xmm2, xmmword [rbp + 0x17]
vmovq rax, xmm3
vmovdqu xmmword [rbp - 0x19], xmm0
vmovdqu xmmword [rbp - 0x39], xmm3
vmovdqu xmmword [rbp - 0x29], xmm1
test al, al
je 0x180064b7d
inc rdx
cmp byte [rdx], bl
jne 0x180064b76
lea rax, [rbp - 0x39]
mov r8, rbx
sub rdx, rax
je 0x180064ba5
nop dword [rax]
movsx rax, byte [rbp + r8 - 0x39]
inc r8
xor rcx, rax
imul rcx, r13
cmp r8, rdx
jb 0x180064b90
call fcn.18006e5c0
lea rcx, [0x1801422a4]
mov dword [0x1801422b4], eax
call fcn.1800d7524
mov edx, 4
mov eax, dword [0x1801422b4]
cmp byte [rax + r14], bl
je 0x180064f42
mov r14, qword [rsi + 0x30]
test r14, r14
je 0x180064f42
mov eax, dword [r15 + rdx]
cmp dword [0x1801422b8], eax
jle 0x180064d41
lea rcx, [0x1801422b8]
call fcn.1800d7590
cmp dword [0x1801422b8], 0xffffffff
jne 0x180064d3c
movabs rcx, 0x73efd1b1808ddeb2
lea rdx, [rbp - 0x79]
movabs rax, 0xf451dd7512e20f00
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x79], rax
movabs rax, 0x55025bae763fdf84
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x71], rax
movabs rax, 0xa10e7b80bd5e27d0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x69], rax
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x61], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 9], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 1], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 7], rax
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rbp - 0x79]
vpxor xmm2, xmm0, xmmword [rbp - 9]
vmovdqu xmm0, xmmword [rbp - 0x69]
mov qword [rbp + 0xf], rax
vpxor xmm1, xmm0, xmmword [rbp + 7]
vmovq rax, xmm2
vmovdqu xmmword [rbp - 0x69], xmm1
vmovdqu xmmword [rbp - 0x79], xmm2
test al, al
je 0x180064cf7
nop dword [rax + rax]
inc rdx
cmp byte [rdx], bl
jne 0x180064cf0
lea rax, [rbp - 0x79]
mov r8, rbx
sub rdx, rax
je 0x180064d25
nop dword [rax]
nop word [rax + rax]
movsx rax, byte [rbp + r8 - 0x79]
inc r8
xor rcx, rax
imul rcx, r13
cmp r8, rdx
jb 0x180064d10
call fcn.18006e5c0
lea rcx, [0x1801422b8]
mov dword [0x1801422a8], eax
call fcn.1800d7524
mov edx, 4
mov eax, dword [0x1801422a8]
mov ecx, dword [rax + r12]
add ecx, 0xfffffff8
cmp ecx, 1
jbe 0x180064f42
mov eax, dword [r15 + rdx]
cmp dword [0x1801422c0], eax
jle 0x180064ebf
lea rcx, [0x1801422c0]
call fcn.1800d7590
cmp dword [0x1801422c0], 0xffffffff
jne 0x180064ebf
movabs rax, 0xf451dd7512e20f00
lea rdx, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x59], rax
movabs rax, 0x55025bae763fdf84
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x51], rax
movabs rax, 0x880c67a0b97f24fb
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x49], rax
movabs rax, 0x73efd1b1ece8a8d7
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 0x41], rax
movabs rax, 0x9a14b80673a05043
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 9], rax
movabs rax, 0xa6f65830f4bb6f0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp - 1], rax
movabs rax, 0xc47e02d4d828489d
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
mov qword [rbp + 7], rax
movabs rax, 0x73efd1b1808ddeb2
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
vmovdqu xmm0, xmmword [rbp - 0x59]
vpxor xmm2, xmm0, xmmword [rbp - 9]
vmovdqu xmm0, xmmword [rbp - 0x49]
mov qword [rbp + 0xf], rax
vpxor xmm1, xmm0, xmmword [rbp + 7]
vmovq rax, xmm2
vmovdqu xmmword [rbp - 0x49], xmm1
vmovdqu xmmword [rbp - 0x59], xmm2
test al, al
je 0x180064e77
nop dword [rax + rax]
inc rdx
cmp byte [rdx], bl
jne 0x180064e70
lea rax, [rbp - 0x59]
mov r8, rbx
sub rdx, rax
je 0x180064ea5
nop dword [rax]
nop word [rax + rax]
movsx rax, byte [rbp + r8 - 0x59]
inc r8
xor rdi, rax
imul rdi, r13
cmp r8, rdx
jb 0x180064e90
mov rcx, rdi
call fcn.18006e5c0
lea rcx, [0x1801422c0]
mov dword [0x1801422bc], eax
call fcn.1800d7524
mov eax, dword [0x1801422bc]
vmovss xmm0, dword [rax + r12]
vcomiss xmm0, dword [0x1801305f8]
jae 0x180064f42
mov r8, r12
mov rdx, r14
mov rcx, rsi
call fcn.180064f70
mov eax, dword [rsi + 0x20]
test eax, eax
jle 0x180064f42
mov rdi, rbx
cmp ebx, eax
jge 0x180064f35
mov rax, qword [rsi + 0x28]
mov r8, qword [rax + rdi + 8]
test r8, r8
je 0x180064f35
mov rax, qword [r8 + 0x18]
mov rdx, r14
mov rcx, rsi
vmovss xmm0, dword [rax + 0x18]
vmovss dword [0x180141b60], xmm0
vmovss xmm1, dword [rax + 0x1c]
vmovss dword [0x180141b64], xmm1
vmovss xmm0, dword [rax + 0x20]
vmovss dword [0x180141b68], xmm0
call fcn.180065200
mov eax, dword [rsi + 0x20]
inc ebx
add rdi, 8
cmp ebx, eax
jl 0x180064ef1
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1800d7380
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret