Function at 0x140008a80
Capabilities:
Hash data using fnv

Disassembly:
mov rdx, qword [rcx + 0x10]
mov r9, rcx
add rdx, 1
mov r8, qword [rcx + 0x38]
xorps xmm1, xmm1
js 0x140008a9b
cvtsi2ss xmm1, rdx
jmp 0x140008ab0
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm1, dword ds:[rcx]
cvttss2si ecx, xmm1
cmp ecx, 0x80000000
je 0x140008ae9
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
je 0x140008ae9
unpcklps xmm1, xmm1
movmskps eax, xmm1
and eax, 1
xor eax, 1
add ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movss xmm0, dword [0x140060dc0]
xor ecx, ecx
comiss xmm1, xmm0
jb 0x140008b0f
subss xmm1, xmm0
comiss xmm1, xmm0
jae 0x140008b0f
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp r8, rcx
jae 0x140008b41
cmp r8, 0x200
jae 0x140008b3e
lea r8, [r8*8]
cmp r8, rcx
jae 0x140008b41
mov r8, rcx
mov rdx, r8
mov rcx, r9
jmp 0x140008b60
push rbx
push r13
sub rsp, 0x38
movabs rax, 0xfffffffffffffff
mov r13, rcx
bsr rcx, rax
mov ebx, 1
mov eax, ebx
shl rax, cl
cmp rdx, rax
jbe 0x140008b96
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, ds:[rdx - 1]
mov qword [rsp + 0x30], r12
or rax, rbx
mov qword [rsp + 0x20], r15
mov r15, qword [r13 + 8]
bsr rcx, rax
mov r8, r15
inc ecx
shl rbx, cl
lea rcx, [r13 + 0x18]
lea rdx, [rbx + rbx]
call fcn.140005ee0
mov qword ds:[r13 + 0x38], rbx
lea rax, [rbx - 1]
mov qword [r13 + 0x30], rax
mov rdx, qword [r13 + 8]
mov rdx, qword [rdx]
cmp rdx, r15
je 0x140008e01
mov qword [rsp + 0x50], rbp
mov rcx, rdx
mov qword [rsp + 0x58], rsi
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x60], rdi
movabs rbp, 0x100000001b3
mov qword [rsp + 0x28], r14
nop dword [rax]
nop dword [rax + rax]
mov rdi, qword [rcx + 0x28]
lea r11, [rcx + 0x10]
mov rdx, qword [rdx]
mov r10, qword [rcx + 0x20]
cmp rdi, 7
jbe 0x140008c39
mov r11, qword [rcx + 0x10]
lea rbx, [r10 + r10]
xor r8d, r8d
mov r9, rax
test rbx, rbx
je 0x140008c65
nop dword [rax + rax]
movzx eax, byte ds:[r11 + r8]
inc r8
xor r9, rax
imul r9, rbp
cmp r8, rbx
jb 0x140008c50
mov r14, qword [r13 + 0x30]
and r14, r9
shl r14, 4
add r14, qword [r13 + 0x18]
cmp qword [r14], r15
jne 0x140008c85
mov qword [r14], rcx
mov qword [r14 + 8], rcx
jmp 0x140008dcd
mov rax, qword [r14 + 8]
cmp qword [rax + 0x28], 7
lea r9, [rax + 0x10]
mov r8, qword [r9 + 0x10]
jbe 0x140008c9b
mov r9, qword [r9]
lea r11, ds:[rcx + 0x10]
cmp rdi, 7
jbe 0x140008caa
mov r11, qword [rcx + 0x10]
cmp r10, r8
jne 0x140008d07
test r10, r10
je 0x140008cd5
sub r11, r9
nop word [rax + rax]
movzx r8d, word [r9 + r11]
cmp r8w, word [r9]
jne 0x140008d07
add r9, 2
sub r10, 1
jne 0x140008cc0
mov r10, qword [rax]
cmp r10, rcx
je 0x140008cfe
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
mov qword [r14 + 8], rcx
jmp 0x140008dcd
mov rdi, qword [r14]
cmp rdi, rax
je 0x140008da9
mov rbp, qword [rcx + 0x28]
mov rbx, qword [rcx + 0x20]
nop dword [rax + rax]
mov rax, qword [rax + 8]
cmp qword [rax + 0x28], 7
lea r8, [rax + 0x10]
mov r9, qword [r8 + 0x10]
jbe 0x140008d36
mov r8, qword [r8]
lea r11, ds:[rcx + 0x10]
cmp rbp, 7
jbe 0x140008d4a
mov r11, qword [rcx + 0x10]
cmp rbx, r9
jne 0x140008d9b
mov r10, rbx
test rbx, rbx
je 0x140008d75
sub r11, r8
nop word [rax + rax]
movzx r9d, word [r8 + r11]
cmp r9w, word [r8]
jne 0x140008d9b
add r8, 2
sub r10, 1
jne 0x140008d60
mov r10, qword [rax]
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], r10
mov rax, qword [r10 + 8]
mov qword [rax], rcx
mov qword [r10 + 8], r8
mov qword [rdx + 8], r9
mov qword [rcx + 8], rax
jmp 0x140008dcd
nop dword [rax + rax]
cmp rdi, rax
jne 0x140008d20
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 [r14], rcx
mov rcx, rdx
movabs rbp, 0x100000001b3
movabs rax, 0xcbf29ce484222325
cmp rdx, r15
jne 0x140008c20
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x20]
add rsp, 0x38
pop r13
pop rbx
ret