Function at 0x140275da0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x140275f62
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
mov r8, rbx
call fcn.140056db0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x140275f20
movabs rbp, 0x100000001b3
movabs r14, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r8d, byte [rcx + 0x10]
xor r8, r14
imul r8, rbp
movzx eax, byte [rcx + 0x11]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x12]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x13]
xor r8, rax
imul r8, rbp
and r8, qword [rsi + 0x30]
mov r11, r8
shl r11, 4
add r11, qword [rsi + 0x18]
add r8, r8
mov rax, qword [rsi + 0x18]
lea rdi, [rax + r8*8]
cmp qword [r11], rbx
jne 0x140275e98
mov qword [r11], rcx
mov qword [rdi + 8], rcx
jmp 0x140275f14
mov rax, qword [rdi + 8]
mov r8d, dword [rax + 0x10]
cmp dword [rcx + 0x10], r8d
jne 0x140275ed5
mov r8, qword [rax]
cmp r8, rcx
je 0x140275ecf
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov rax, qword [rdx + 8]
mov qword [rax], r8
mov r9, qword [r8 + 8]
mov qword [r9], rcx
mov qword [r8 + 8], rax
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [rdi + 8], rcx
jmp 0x140275f14
cmp qword [r11], rax
je 0x140275ef0
mov r9d, dword [rcx + 0x10]
mov r8, qword [r11]
mov rax, qword [rax + 8]
cmp r9d, dword [rax + 0x10]
je 0x140275f3c
cmp r8, rax
jne 0x140275ee1
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x140275e40
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
jmp 0x140275f14
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
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 0x140276455
cvtsi2ss xmm0, rdx
jmp 0x14027646a
mov rax, rdx
and edx, 1
shr rax, 1
or rax, rdx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
divss xmm0, dword [rcx]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
movss xmm1, dword [0x140472748]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x140276498
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x140276498
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov rcx, qword [reloc.OLEAUT32.dll_VariantClear]
cmp rax, 8
cmova rcx, rax
cmp rbx, rcx
jae 0x1402764d5
cmp rbx, 0x200
jae 0x1402764d2
lea rax, [rbx*8]
lea rbx, [rbx*8]
cmp rax, rcx
jae 0x1402764d5
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x140275da0