Function at 0x1800641d0
Capabilities:
Hash data using fnv
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x60
mov r12, r8
mov r8d, 0xffffffff
mov ebx, r8d
movzx r9d, byte [rcx]
lea rdx, [rcx + 1]
test r9b, r9b
je 0x180064240
lea r10, [0x1801252b0]
nop
cmp r9b, 0x23
jne 0x180064223
cmp byte [rdx], r9b
jne 0x180064223
cmp byte [rdx + 1], r9b
cmove ebx, r8d
movzx ecx, bl
movzx eax, r9b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
movzx r9d, byte [rdx]
inc rdx
test r9b, r9b
jne 0x180064210
not ebx
mov ebp, ebx
shr ebp, 0x18
mov r14d, ebx
shr r14d, 0x10
mov r15d, ebx
shr r15d, 8
mov ecx, dword [0x18019e4d4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
xor edi, edi
mov eax, dword [rdx + rax]
cmp dword [0x18019e8e0], eax
jle 0x180064342
lea rcx, [0x18019e8e0]
call fcn.18009ced4
cmp dword [0x18019e8e0], 0xffffffff
jne 0x180064342
xorps xmm0, xmm0
movups xmmword [0x18019e8f0], xmm0
movups xmmword [0x18019e900], xmm0
movups xmmword [0x18019e910], xmm0
movups xmmword [0x18019e920], xmm0
mov dword [0x18019e8f0], edi
mov qword [0x18019e8f8], rdi
mov qword [0x18019e900], rdi
mov ecx, 0x40
call fcn.18009cc7c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x18019e8f8], rax
mov qword [0x18019e908], rdi
xorps xmm0, xmm0
movdqa xmmword [0x18019e910], xmm0
mov qword [0x18019e920], 7
mov qword [0x18019e928], 8
mov dword [0x18019e8f0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x18019e908]
call fcn.180065430
nop
lea rcx, [0x180104200]
call fcn.18009d544
nop
lea rcx, [0x18019e8e0]
call fcn.18009ce68
movzx esi, bl
movabs rax, 0xcbf29ce484222325
xor rsi, rax
movabs rcx, 0x100000001b3
imul rsi, rcx
movzx eax, r15b
xor rsi, rax
imul rsi, rcx
movzx eax, r14b
xor rsi, rax
imul rsi, rcx
mov eax, ebp
xor rsi, rax
imul rsi, rcx
mov rax, rsi
and rax, qword [0x18019e920]
add rax, rax
mov r8, qword [0x18019e908]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [0x18019e8f8]
cmp rcx, rdx
je 0x1800643c0
mov rax, qword [r8 + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x1800643c3
nop dword [rax]
cmp rcx, rax
je 0x1800643c0
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x1800643b0
jmp 0x1800643c3
mov rcx, rdi
mov rax, rdx
test rcx, rcx
cmovne rax, rcx
cmp rax, rdx
jne 0x18006444a
mov dword [rsp + 0x30], ebx
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x34], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rsp + 0x44], xmm1
movsd xmm0, qword [r12 + 0x20]
movsd qword [rsp + 0x54], xmm0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
call fcn.180066030
and rsi, qword [0x18019e920]
add rsi, rsi
mov rdx, qword [0x18019e908]
mov rcx, qword [rdx + rsi*8 + 8]
mov rax, qword [0x18019e8f8]
cmp rcx, rax
je 0x180064443
mov rdx, qword [rdx + rsi*8]
cmp ebx, dword [rcx + 0x10]
je 0x180064440
cmp rcx, rdx
je 0x180064443
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x180064432
mov rdi, rcx
test rdi, rdi
cmovne rax, rdi
add rax, 0x14
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret