Function at 0x14001f2d0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov r13, r9
mov r14, rdx
mov rbp, rcx
lea r12, [rcx + 0x108]
mov qword [rsp + 0x48], r12
mov byte [rsp + 0x50], 1
mov rcx, r12
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
cmp qword [rbp + 0xc8], 0
jbe 0x14001f691
lea r15, [rbp + 0x100]
mov qword [rsp + 0x58], r15
mov byte [rsp + 0x60], 1
mov rcx, r15
call sub.KERNEL32.dll_AcquireSRWLockShared
nop
mov rbx, qword [rbp + 0x68]
cmp rbx, qword [rbp + 0x60]
je 0x14001f689
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
nop dword [rax]
add rbx, 0xffffffffffffffd8
mov r8d, dword [rbx]
mov dword [rsp + 0xd0], r8d
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r10
imul rax, r9
xor rdx, rax
imul rdx, r9
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r9
and rdx, qword [rbp + 0xe8]
add rdx, rdx
mov rax, qword [rbp + 0xd0]
mov rdi, qword [rax + rdx*8 + 8]
mov rcx, qword [rbp + 0xc0]
cmp rdi, rcx
je 0x14001f67f
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rdi + 0x10]
je 0x14001f3f3
nop dword [rax + rax]
cmp rdi, rax
je 0x14001f67f
mov rdi, qword [rdi + 8]
cmp r8d, dword [rdi + 0x10]
jne 0x14001f3e0
test rdi, rdi
cmove rdi, rcx
cmp rdi, rcx
je 0x14001f67f
movzx edx, r8b
xor rdx, r10
imul rdx, r9
movzx eax, byte [rsp + 0xd1]
xor rdx, rax
imul rdx, r9
movzx eax, byte [rsp + 0xd2]
xor rdx, rax
imul rdx, r9
movzx eax, byte [rsp + 0xd3]
xor rdx, rax
imul rdx, r9
mov rcx, qword [rbp + 0xa8]
and rcx, rdx
shl rcx, 4
add rcx, qword [rbp + 0x90]
mov rax, qword [rcx + 8]
mov rdx, qword [rbp + 0x80]
cmp rax, rdx
je 0x14001f481
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x14001f483
nop dword [rax]
cmp rax, rcx
je 0x14001f481
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14001f470
jmp 0x14001f483
xor eax, eax
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x14001f648
lea rsi, [rax + 0x18]
mov r8d, pe_nt_image_headers64
mov rdx, rsi
lea rcx, [rsp + 0x68]
call fcn.14001ff00
nop
cmp qword [r14 + 0x18], 8
jb 0x14001f4bf
mov r8, qword [r14]
mov rcx, qword [r14 + 0x10]
lea rdx, [r8 + rcx*2]
jmp 0x14001f4ca
mov rax, qword [r14 + 0x10]
lea rdx, [r14 + rax*2]
mov r8, r14
mov dword [rsp + 0x20], 0x10
lea r9, [rsp + 0x68]
mov rcx, r8
call fcn.1400206e0
test al, al
jne 0x14001f5bf
mov ecx, 1
call fcn.14002e1c0
test eax, eax
je 0x14001f521
cmp qword [rsi + 0x18], 8
jb 0x14001f4ff
mov rsi, qword [rsi]
mov qword [rsp + 0x40], rsi
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x28], rax
call fcn.1400200a0
nop
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14001f573
mov eax, 0xffffffff
lock xadd dword [rcx + 0x2c], eax
cmp eax, 1
jne 0x14001f573
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14001f573
xor esi, esi
nop word [rax + rax]
mov rcx, rdi
lea rax, [rdi + 0x10]
mov rdi, qword [rax]
mov qword [rax], rsi
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x140080788.0]
test rdi, rdi
jne 0x14001f550
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14001f66b
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140080788.0]
mov r8, rax
test rax, rax
je 0x14001f66b
mov rcx, qword [rax]
mov rax, qword [rcx]
mov edx, 1
mov rcx, r8
call qword [case.0x140080788.0]
jmp 0x14001f66b
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14001f609
mov eax, 0xffffffff
lock xadd dword [rcx + 0x2c], eax
cmp eax, 1
jne 0x14001f609
mov rsi, qword [rsp + 0x68]
test rsi, rsi
je 0x14001f609
mov rcx, rsi
lea rax, [rsi + 0x10]
mov rsi, qword [rax]
mov qword [rax], 0
mov rax, qword [rcx]
mov edx, 1
mov rax, qword [rax]
call qword [case.0x140080788.0]
test rsi, rsi
jne 0x14001f5e2
mov qword [rsp + 0x68], 0
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14001f648
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140080788.0]
mov r8, rax
test rax, rax
je 0x14001f648
mov rcx, qword [rax]
mov rax, qword [rcx]
mov edx, 1
mov rcx, r8
call qword [case.0x140080788.0]
lea rcx, [rdi + 0x18]
mov rax, qword [rcx]
mov r9, r13
mov r8, qword [rsp + 0xe0]
mov rdx, r14
mov rax, qword [rax + 0x10]
call qword [case.0x140080788.0]
test al, al
jne 0x14001f6b9
movabs r10, 0xcbf29ce484222325
movabs r9, 0x100000001b3
cmp rbx, qword [rbp + 0x60]
jne 0x14001f360
mov rcx, r15
call sub.KERNEL32.dll_ReleaseSRWLockShared
xor bl, bl
mov rcx, r12
call sub.KERNEL32.dll_ReleaseSRWLockShared
movzx eax, bl
mov rbx, qword [rsp + 0xd8]
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, r15
call sub.KERNEL32.dll_ReleaseSRWLockShared
mov bl, 1
jmp 0x14001f693