Function at 0x14002fbc0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x14008c3d8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov rsi, rdx
mov dword [rsp + 0x20], ecx
call fcn.14002fec0
cmp dword [rsp + 0x20], 1
mov rdi, rax
jne 0x14002fbff
mov rcx, rsi
call fcn.140027610
jmp 0x14002fe93
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14002fc14
mov rcx, rdi
call fcn.14003b2b0
movzx r9d, byte [rdi + 0x90]
movabs r11, 0xcbf29ce484222325
mov r8d, dword [rsp + 0x20]
movabs r10, 0x100000001b3
mov qword [rsp + 0xa0], rbx
test r9b, r9b
jne 0x14002fcd4
mov eax, r8d
movzx edx, r8b
xor rdx, r11
sar eax, 8
imul rdx, r10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
sar eax, 0x10
imul rdx, r10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
sar eax, 0x18
imul rdx, r10
movzx ecx, al
mov rax, qword [rdi + 0x20]
xor rdx, rcx
mov rcx, qword [rdi + 0x38]
imul rdx, r10
and rcx, rdx
shl rcx, 4
add rax, rcx
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rax + 8]
cmp rdx, rcx
je 0x14002fcd4
mov rax, qword [rax]
cmp r8d, dword [rdx + 0x10]
je 0x14002fcbf
nop dword [rax]
cmp rdx, rax
je 0x14002fcd4
mov rdx, qword [rdx + 8]
cmp r8d, dword [rdx + 0x10]
jne 0x14002fcb0
test rdx, rdx
cmove rdx, rcx
cmp rdx, rcx
je 0x14002fcd4
add rdx, 0x18
jmp 0x14002fd89
mov eax, r8d
movzx edx, r8b
xor rdx, r11
sar eax, 8
imul rdx, r10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
sar eax, 0x10
imul rdx, r10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
sar eax, 0x18
imul rdx, r10
movzx ecx, al
xor rdx, rcx
mov dword [rsp + 0x28], r8d
mov rcx, qword [rdi + 0x78]
imul rdx, r10
and rcx, rdx
mov rdx, qword [rdi + 0x50]
shl rcx, 4
add rcx, qword [rdi + 0x60]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x14002fda1
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x14002fd4f
nop dword [rax]
cmp rax, rcx
je 0x14002fda1
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14002fd40
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x14002fda1
lea rbx, [rax + 0x18]
test r9b, r9b
jne 0x14002fd86
lea rcx, [rdi + 8]
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x50]
call fcn.14002f800
mov rdx, rbx
mov rcx, qword [rax]
add rcx, 0x18
call fcn.14002acd0
mov rdx, rbx
mov rcx, rsi
call fcn.14002acd0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov al, 1
jmp 0x14002fe8b
mov rbx, qword [rdi + 0x88]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
lea rcx, [rsp + 0x30]
call fcn.14002ac30
test rbx, rbx
je 0x14002fdd8
mov ecx, dword [rsp + 0x20]
lea rdx, [rsp + 0x30]
call qword [rbx]
test al, al
jne 0x14002fdd8
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14002fdc0
cmp qword [rsp + 0x40], 0
je 0x14002fe7c
lea rcx, [rsp + 0x30]
call fcn.14002cac0
test al, al
je 0x14002fe20
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x50]
call fcn.140027940
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14002acb0
lea rcx, [rsp + 0x50]
call fcn.14002ac50
cmp qword [rsp + 0x40], 0
je 0x14002fe7c
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14002acd0
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14002fe42
mov rcx, rdi
call fcn.14003b2b0
cmp byte [rdi + 0x90], 0
jne 0x14002fe6f
lea rcx, [rdi + 8]
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x50]
call fcn.14002f800
lea rdx, [rsp + 0x30]
mov rcx, qword [rax]
add rcx, 0x18
call fcn.14002acd0
mov rcx, rdi
mov bl, 1
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14002fe7e
xor bl, bl
lea rcx, [rsp + 0x30]
call fcn.14002ac50
movzx eax, bl
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1400717b0
mov rsi, qword [rsp + 0xa8]
add rsp, 0x80
pop rdi
ret