Function at 0x14001b310
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdx, qword [rcx + 0x10]
mov rdi, rcx
add rdx, 1
mov rbx, qword [rcx + 0x38]
xorps xmm0, xmm0
js 0x14001ade5
cvtsi2ss xmm0, rdx
jmp 0x14001adfa
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call fcn.140058368
movss xmm1, dword [0x1400779bc]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x14001ae28
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x14001ae28
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x14001ae5a
cmp rbx, 0x200
jae 0x14001ae57
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x14001ae5a
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x14001b310
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r14
sub rsp, 0x30
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x14001b511
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rdx, [rdi + rdi]
mov r8, rbx
lea rcx, [rsi + 0x18]
call fcn.1400189f0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14001b4cf
movabs rbp, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
mov rax, r8
shr rax, 8
movzx r10d, al
movzx eax, r8b
xor rax, rbp
imul rax, rdi
xor r10, rax
imul r10, rdi
mov rax, r8
shr rax, 0x10
movzx r9d, al
xor r10, r9
imul r10, rdi
mov rax, r8
shr rax, 0x18
movzx r9d, al
xor r10, r9
imul r10, rdi
mov rax, r8
shr rax, 0x20
movzx r9d, al
xor r10, r9
imul r10, rdi
mov rax, r8
shr rax, 0x28
movzx r9d, al
xor r10, r9
imul r10, rdi
mov rax, r8
shr rax, 0x30
movzx r9d, al
xor r10, r9
imul r10, rdi
mov rax, r8
shr rax, 0x38
xor r10, rax
imul r10, rdi
mov r11, qword [rsi + 0x30]
and r11, r10
shl r11, 4
add r11, qword [rsi + 0x18]
mov r9, qword [r11]
cmp r9, rbx
jne 0x14001b44e
mov qword [r11], rcx
mov qword [r11 + 8], rcx
jmp 0x14001b4c3
mov rax, qword [r11 + 8]
cmp r8, qword [rax + 0x10]
jne 0x14001b487
mov r8, qword [rax]
cmp r8, rcx
je 0x14001b481
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], r8
mov rax, qword [r8 + 8]
mov qword [rax], rcx
mov qword [r8 + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], rax
mov qword [r11 + 8], rcx
jmp 0x14001b4c3
cmp r9, rax
je 0x14001b49f
nop dword [rax]
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
je 0x14001b4eb
cmp r9, rax
jne 0x14001b490
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x14001b3a2
mov qword [rsp + 0x20], 0
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r9, qword [rdx + 8]
mov qword [r9], rax
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov qword [rax + 8], r9
mov qword [rdx + 8], r10
mov qword [rcx + 8], r8
jmp 0x14001b4c3
lea rcx, str.invalid_hash_bucket_count
call fcn.140031eec
int3