Function at 0x1800ed890
Capabilities:
Hash data using fnv

Disassembly:
mov rcx, qword [0x1802629c0]
add rcx, 1
mov rdx, qword [0x1802629e8]
vxorps xmm0, xmm0, xmm0
js 0x1800ed41f
vcvtsi2ss xmm0, xmm0, rcx
jmp 0x1800ed434
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm0, xmm0, dword [0x1802629b0]
vxorps xmm1, xmm1, xmm1
vroundss xmm1, xmm1, xmm0, 2
vmovss xmm0, dword [0x18023bf04]
xor ecx, ecx
vcomiss xmm1, xmm0
jb 0x1800ed46d
vsubss xmm1, xmm1, xmm0
vcomiss xmm1, xmm0
jae 0x1800ed46d
movabs rax, 0x8000000000000000
mov rcx, rax
vcvttss2si rax, xmm1
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdx, rcx
jae 0x1800ed49f
cmp rdx, 0x200
jae 0x1800ed49c
lea rdx, [rdx*8]
cmp rdx, rcx
jae 0x1800ed49f
mov rdx, rcx
jmp 0x1800ed890
sub rsp, 0x28
movabs rax, 0xfffffffffffffff
mov r8d, 1
bsr rcx, rax
shlx rax, r8, rcx
cmp rdx, rax
jbe 0x1800ed8c0
lea rcx, str.invalid_hash_bucket_count
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea rax, [rdx - 1]
mov qword [rsp + 0x30], rbx
mov rbx, qword [0x1802629b8]
or rax, r8
bsr rcx, rax
mov qword [rsp + 0x20], rdi
inc ecx
shlx rdi, r8, rcx
mov r8, rbx
lea rcx, [0x1802629c8]
lea rdx, [rdi + rdi]
call fcn.1800a0700
mov rax, qword [0x1802629b8]
lea r9, [rdi - 1]
mov qword [0x1802629e0], r9
mov qword [0x1802629e8], rdi
mov rax, qword [rax]
mov rcx, rax
cmp rax, rbx
je 0x1800eda72
mov qword [rsp + 0x38], rsi
movabs rdi, 0x100000001b3
movabs rsi, 0xcbf29ce484222325
nop word [rax + rax]
movzx edx, byte [rax + 0x11]
movzx r11d, byte [rax + 0x10]
mov rcx, qword [rcx]
xor r11, rsi
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x12]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x13]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x14]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x15]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x16]
imul r11, rdi
xor r11, rdx
movzx edx, byte [rax + 0x17]
imul r11, rdi
xor r11, rdx
imul r11, rdi
and r11, r9
shl r11, 4
add r11, qword [0x1802629c8]
mov r9, qword [r11]
cmp r9, rbx
jne 0x1800ed9bb
mov qword [r11], rax
mov qword [r11 + 8], rax
jmp 0x1800eda33
mov rdx, qword [r11 + 8]
mov r8, qword [rax + 0x10]
cmp r8, qword [rdx + 0x10]
jne 0x1800ed9f8
mov r10, qword [rdx]
cmp r10, rax
je 0x1800ed9f2
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
mov qword [r11 + 8], rax
jmp 0x1800eda33
cmp r9, rdx
je 0x1800eda0f
nop dword [rax]
mov rdx, qword [rdx + 8]
cmp r8, qword [rdx + 0x10]
je 0x1800eda47
cmp r9, rdx
jne 0x1800eda00
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r10
mov qword [rax + 8], r8
mov qword [r11], rax
mov rax, rcx
cmp rcx, rbx
je 0x1800eda6d
mov r9, qword [0x1802629e0]
jmp 0x1800ed940
mov r10, qword [rdx]
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r8, qword [rcx + 8]
mov qword [r8], r10
mov rdx, qword [r10 + 8]
mov qword [rdx], rax
mov qword [r10 + 8], r8
mov qword [rcx + 8], r9
mov qword [rax + 8], rdx
jmp 0x1800eda33
mov rsi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x20]
add rsp, 0x28
ret