Function at 0x180009d20
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov r15, r9
mov rdi, r8
mov r14, rdx
mov rsi, rcx
movzx r12d, byte [r8]
movabs rax, 0xcbf29ce484222325
xor r12, rax
movabs rcx, 0x100000001b3
imul r12, rcx
movzx eax, byte [r8 + 1]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 2]
xor r12, rax
imul r12, rcx
movzx eax, byte [r8 + 3]
xor r12, rax
imul r12, rcx
mov rcx, qword [rsi + 0x30]
and rcx, r12
add rcx, rcx
mov rax, qword [rsi + 0x18]
mov rbx, qword [rax + rcx*8 + 8]
lea r13, [rsi + 8]
mov rbp, qword [r13]
cmp rbx, rbp
je 0x180009e0c
mov rcx, qword [rax + rcx*8]
mov eax, dword [r8]
cmp eax, dword [rbx + 0x10]
je 0x180009dbe
nop
cmp rbx, rcx
je 0x180009e09
mov rbx, qword [rbx + 8]
cmp eax, dword [rbx + 0x10]
jne 0x180009db0
lea rdi, [rbx + 0x18]
cmp rdi, r15
je 0x180009de6
cmp qword [rdi], 0
je 0x180009dd5
mov rcx, rdi
call fcn.180008da0
mov rcx, qword [r15]
mov qword [rdi], rcx
test rcx, rcx
je 0x180009de6
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [r14], rbx
mov byte [r14 + 8], 0
mov rax, r14
mov rbx, qword [rsp + 0x88]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbp, rbx
movabs rax, 0x7ffffffffffffff
cmp qword [rsi + 0x10], rax
je 0x18000a009
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x28], 0
xor edx, edx
lea r8d, [rdx + 0x20]
mov rcx, qword [0x180085850]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rbx, rax
mov rcx, qword [rsp + 0x68]
test rax, rax
je 0x18000a003
mov qword [rsp + 0x28], rax
mov eax, dword [rdi]
mov dword [rbx + 0x10], eax
mov rcx, qword [r15]
mov qword [rbx + 0x18], rcx
test rcx, rcx
je 0x180009e6f
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsi + 0x10]
movss xmm3, dword [rsi]
add rcx, 1
xorps xmm0, xmm0
js 0x180009e87
cvtsi2ss xmm0, rcx
jmp 0x180009e9c
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rdi, qword [rsi + 0x38]
xorps xmm2, xmm2
test rdi, rdi
js 0x180009eaf
cvtsi2ss xmm2, rdi
jmp 0x180009ec7
mov rcx, rdi
shr rcx, 1
mov rax, rdi
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
seta al
test al, al
je 0x180009f9b
divss xmm0, xmm3
call sub.ucrtbase.dll_ceilf
xor ecx, ecx
movss xmm1, dword [0x18006ec40]
comiss xmm0, xmm1
jb 0x180009f0a
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x180009f0a
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rdi, rcx
jae 0x180009f3c
cmp rdi, 0x200
jae 0x180009f39
lea rdi, [rdi*8]
cmp rdi, rcx
jae 0x180009f3c
mov rdi, rcx
mov rdx, rdi
mov rcx, rsi
call fcn.18000a090
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rsi + 0x18]
mov rcx, qword [r8 + rax*8 + 8]
mov rdx, qword [r13]
cmp rcx, rdx
jne 0x180009f73
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x28], 0
jmp 0x180009f96
mov rdx, qword [r8 + rax*8]
mov eax, dword [rbx + 0x10]
cmp eax, dword [rcx + 0x10]
je 0x180009f8e
nop
cmp rcx, rdx
je 0x180009fcf
mov rcx, qword [rcx + 8]
cmp eax, dword [rcx + 0x10]
jne 0x180009f80
mov rax, qword [rcx]
mov qword [rsp + 0x20], rax
mov rbp, qword [rsp + 0x20]
mov rdx, qword [rbp + 8]
inc qword [rsi + 0x10]
mov qword [rbx], rbp
mov qword [rbx + 8], rdx
mov qword [rdx], rbx
mov qword [rbp + 8], rbx
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi + 0x30]
and rax, r12
add rax, rax
mov r8, qword [rcx + rax*8]
cmp r8, qword [r13]
jne 0x180009fdf
mov qword [rcx + rax*8], rbx
jmp 0x180009ff1
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
jmp 0x180009f96
cmp r8, rbp
jne 0x180009fea
mov qword [rcx + rax*8], rbx
jmp 0x180009ff6
cmp qword [rcx + rax*8 + 8], rdx
jne 0x180009ff6
mov qword [rcx + rax*8 + 8], rbx
mov qword [r14], rbx
mov byte [r14 + 8], 1
jmp 0x180009dee
call fcn.18000b570
nop
lea rcx, str.unordered_map_set_too_long
call fcn.18003e4a4
int3