Function at 0x1400a6580
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x30], 0xfffffffffffffffe
mov qword [rsp + 0xb0], rbx
mov rax, qword [0x1402b0310]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rbx, rdx
mov qword [rbp - 0x28], rcx
lea r14, [0x1402d4cc8]
mov rcx, r14
call sub.KERNEL32.dll_AcquireSRWLockShared
mov r8, qword [rbp - 0x28]
movzx ecx, r8b
movabs r15, 0xcbf29ce484222325
xor rcx, r15
movabs rdi, 0x100000001b3
imul rcx, rdi
movzx eax, byte [rbp - 0x27]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x26]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x25]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x24]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x23]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x22]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x21]
xor rcx, rax
imul rcx, rdi
and rcx, qword [0x1402d50a0]
mov rax, rcx
add rax, rax
mov r9, qword [0x1402d5088]
mov rax, qword [r9 + rax*8]
add rcx, rcx
lea r11, [rcx*8 + 8]
mov rdx, qword [0x1402d5078]
mov r10, qword [r9 + rcx*8]
cmp r10, rdx
jne 0x1400a666b
mov rcx, rdx
jmp 0x1400a6672
mov rcx, qword [r9 + r11]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400a669b
cmp qword [rax + 0x10], r8
je 0x1400a6682
mov rax, qword [rax]
jmp 0x1400a6661
cmp rax, rdx
je 0x1400a669b
movzx ebx, byte [rax + 0x18]
mov rcx, r14
call sub.KERNEL32.dll_ReleaseSRWLockShared
movzx eax, bl
jmp 0x1400a687b
mov rcx, r14
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov rcx, rbx
call fcn.1400a68a0
movzx esi, al
xor eax, eax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x20], r14
mov rcx, r14
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov byte [rbp - 0x18], 1
cmp qword [0x1402d5080], 0x80
jbe 0x1400a6730
mov rax, qword [0x1402d5078]
mov rcx, qword [rax]
mov qword [rax], rax
mov rax, qword [0x1402d5078]
mov qword [rax + 8], rax
mov qword [0x1402d5080], 0
cmp rcx, qword [0x1402d5078]
je 0x1400a6719
nop dword [rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.1401eb394
mov rcx, rbx
cmp rbx, qword [0x1402d5078]
jne 0x1400a6700
mov edx, 8
lea rcx, [0x1402d5070]
call fcn.14005e810
nop
nop dword [rax + rax]
mov r9, qword [rbp - 0x28]
movzx ecx, r9b
xor rcx, r15
imul rcx, rdi
movzx eax, byte [rbp - 0x27]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x26]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x25]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x24]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x23]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x22]
xor rcx, rax
imul rcx, rdi
movzx eax, byte [rbp - 0x21]
xor rcx, rax
imul rcx, rdi
and rcx, qword [0x1402d50a0]
mov rax, rcx
add rax, rax
mov r8, qword [0x1402d5088]
mov rax, qword [r8 + rax*8]
add rcx, rcx
lea r11, [rcx*8 + 8]
mov rdx, qword [0x1402d5078]
mov r10, qword [r8 + rcx*8]
nop word [rax + rax]
cmp r10, rdx
jne 0x1400a67ca
mov rcx, rdx
jmp 0x1400a67d1
mov rcx, qword [r8 + r11]
mov rcx, qword [rcx]
cmp rax, rcx
je 0x1400a67ea
cmp qword [rax + 0x10], r9
je 0x1400a67e1
mov rax, qword [rax]
jmp 0x1400a67c0
cmp rax, rdx
jne 0x1400a686b
lea rax, [rbp - 0x28]
mov qword [rbp - 0x40], rax
mov rbx, qword [rdx]
mov rdi, qword [rbx + 8]
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r8, rdi
mov rdx, rbx
call fcn.1400ab610
mov rdx, rax
mov rax, qword [0x1402d5080]
movabs rcx, 0x7fffffffffffffe
sub rcx, rax
cmp rcx, 1
jae 0x1400a6838
lea rcx, str.list_T__too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
inc rax
mov qword [0x1402d5080], rax
mov qword [rbx + 8], rdx
mov qword [rdi], rdx
mov r9, qword [0x1402d5078]
mov r9, qword [r9]
lea r8, [r9 + 0x10]
lea rdx, [rbp - 0x40]
lea rcx, [0x1402d5070]
call fcn.1400aaca0
mov rax, qword [rbp - 0x40]
mov byte [rax + 0x18], sil
mov rcx, r14
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
movzx eax, sil
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401eb080
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret