Function at 0x1800ce230
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov dword [rsp + 0x10], edx
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
mov rdi, rcx
mov r8d, dword [0x180ae5124]
mov rax, qword gs:[0x58]
mov ecx, 0x1c
mov rax, qword [rax + r8*8]
xor r14d, r14d
mov eax, dword [rcx + rax]
cmp dword [0x180ae8cb8], eax
jg 0x1800ce480
jmp 0x1800ce27c
mov edx, dword [rbp + 0x28]
movzx ecx, dl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [rbp + 0x29]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x2a]
xor rcx, rax
imul rcx, r8
movzx eax, byte [rbp + 0x2b]
xor rcx, rax
imul rcx, r8
and rcx, qword [0x180ae8cf0]
add rcx, rcx
mov r8, qword [0x180ae8cd8]
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, qword [0x180ae8cc8]
je 0x1800ce2f3
mov rcx, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x1800ce2f6
cmp rax, rcx
je 0x1800ce2f3
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1800ce2e3
jmp 0x1800ce2f6
mov rax, r14
test rax, rax
je 0x1800ce314
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e8ac0
mov rax, qword [rax]
add rax, 0x18
jmp 0x1800ce464
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov rsi, qword [rdi + 8]
mov rdi, qword [rdi]
mov rbx, qword [rbp - 0x18]
cmp rdi, rsi
je 0x1800ce392
mov rax, qword [rdi]
cmp dword [rax + 0x88], edx
jne 0x1800ce389
cmp rbx, qword [rbp - 0x10]
je 0x1800ce373
mov qword [rbx], r14
lea rcx, [rbx + 8]
mov qword [rcx], r14
mov rax, qword [rdi + 8]
test rax, rax
je 0x1800ce35c
lock inc dword [rax + 8]
mov rbx, qword [rbp - 0x18]
mov rax, qword [rdi]
mov qword [rbx], rax
mov rax, qword [rdi + 8]
mov qword [rcx], rax
add rbx, 0x10
mov qword [rbp - 0x18], rbx
jmp 0x1800ce386
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1800edff0
mov rbx, qword [rbp - 0x18]
mov edx, dword [rbp + 0x28]
add rdi, 0x10
cmp rdi, rsi
jne 0x1800ce330
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e8ac0
mov rcx, qword [rax]
add rcx, 0x18
lea rax, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
cmp rcx, rax
je 0x1800ce3c5
mov r8, rbx
sub r8, rsi
sar r8, 4
mov rdx, rsi
call fcn.1800e8dd0
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e8ac0
mov r14, qword [rax]
test rsi, rsi
je 0x1800ce460
cmp rsi, rbx
je 0x1800ce42c
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1800ce41f
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ce41b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ce41b
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp - 0x18]
add rsi, 0x10
cmp rsi, rbx
jne 0x1800ce3e3
mov rsi, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
sub rdx, rsi
and rdx, 0xfffffffffffffff0
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800ce458
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800ce47a
mov rcx, rsi
call fcn.180342c24
lea rax, [r14 + 0x18]
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rbp
ret
call fcn.180350d84
int3
lea rcx, [0x180ae8cb8]
call fcn.180342d00
cmp dword [0x180ae8cb8], 0xffffffff
jne 0x1800ce279
mov ecx, 0x30
call fcn.1803427a0
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180ae8cc8], rax
mov qword [0x180ae8cd8], r14
xorps xmm0, xmm0
movdqa xmmword [0x180ae8ce0], xmm0
mov qword [0x180ae8cf0], 7
mov qword [0x180ae8cf8], 8
mov dword [0x180ae8cc0], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x180ae8cd8]
call fcn.180019230
nop
lea rcx, [0x180395240]
call fcn.180342c04
nop
lea rcx, [0x180ae8cb8]
call fcn.180342c94
nop
jmp 0x1800ce279