Function at 0x1800ca4f0
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 [0x180a562e4]
mov rax, qword gs:[0x58]
mov ecx, 0x1c
mov rax, qword [rax + r8*8]
xor r14d, r14d
mov eax, dword [rcx + rax]
cmp dword [0x180a59d78], eax
jg 0x1800ca740
jmp 0x1800ca53c
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 [0x180a59db0]
add rcx, rcx
mov r8, qword [0x180a59d98]
mov rax, qword [r8 + rcx*8 + 8]
cmp rax, qword [0x180a59d88]
je 0x1800ca5b3
mov rcx, qword [r8 + rcx*8]
cmp edx, dword [rax + 0x10]
je 0x1800ca5b6
cmp rax, rcx
je 0x1800ca5b3
mov rax, qword [rax + 8]
cmp edx, dword [rax + 0x10]
jne 0x1800ca5a3
jmp 0x1800ca5b6
mov rax, r14
test rax, rax
je 0x1800ca5d4
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e43b0
mov rax, qword [rax]
add rax, 0x18
jmp 0x1800ca724
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 0x1800ca652
mov rax, qword [rdi]
cmp dword [rax + 0x88], edx
jne 0x1800ca649
cmp rbx, qword [rbp - 0x10]
je 0x1800ca633
mov qword [rbx], r14
lea rcx, [rbx + 8]
mov qword [rcx], r14
mov rax, qword [rdi + 8]
test rax, rax
je 0x1800ca61c
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 0x1800ca646
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.1800e97a0
mov rbx, qword [rbp - 0x18]
mov edx, dword [rbp + 0x28]
add rdi, 0x10
cmp rdi, rsi
jne 0x1800ca5f0
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e43b0
mov rcx, qword [rax]
add rcx, 0x18
lea rax, [rbp - 0x20]
mov rsi, qword [rbp - 0x20]
cmp rcx, rax
je 0x1800ca685
mov r8, rbx
sub r8, rsi
sar r8, 4
mov rdx, rsi
call fcn.1800e46c0
lea r8, [rbp + 0x28]
lea rdx, [rbp - 0x30]
call fcn.1800e43b0
mov r14, qword [rax]
test rsi, rsi
je 0x1800ca720
cmp rsi, rbx
je 0x1800ca6ec
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1800ca6df
mov eax, 0xffffffff
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800ca6db
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax]
mov eax, 0xffffffff
lock xadd dword [rdi + 0xc], eax
cmp eax, 1
jne 0x1800ca6db
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
mov rbx, qword [rbp - 0x18]
add rsi, 0x10
cmp rsi, rbx
jne 0x1800ca6a3
mov rsi, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x10]
sub rdx, rsi
and rdx, 0xfffffffffffffff0
mov rax, rsi
cmp rdx, 0x1000
jb 0x1800ca718
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800ca73a
mov rcx, rsi
call fcn.180337884
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.1803459e4
int3
lea rcx, [0x180a59d78]
call fcn.180337960
cmp dword [0x180a59d78], 0xffffffff
jne 0x1800ca539
mov ecx, 0x30
call fcn.180337400
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [0x180a59d88], rax
mov qword [0x180a59d98], r14
xorps xmm0, xmm0
movdqa xmmword [0x180a59da0], xmm0
mov qword [0x180a59db0], 7
mov qword [0x180a59db8], 8
mov dword [0x180a59d80], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [0x180a59d98]
call fcn.180017350
nop
lea rcx, [0x180388140]
call fcn.180337864
nop
lea rcx, [0x180a59d78]
call fcn.1803378f4
nop
jmp 0x1800ca539