Function at 0x1401a3fb0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r15, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov eax, 1
shl rax, cl
cmp rdx, rax
ja 0x1401a4208
lea rax, [rdx - 1]
or rax, 1
bsr rcx, rax
inc ecx
mov ebx, 1
shl rbx, cl
mov rbp, qword [r15 + 8]
lea rcx, [r15 + 0x18]
lea rdx, [rbx + rbx]
mov r8, rbp
call fcn.140040f10
lea rax, [rbx - 1]
mov qword [r15 + 0x30], rax
mov qword [r15 + 0x38], rbx
mov qword [rsp + 0x68], r15
mov rdi, qword [r15 + 8]
mov rdi, qword [rdi]
mov rsi, rdi
cmp rdi, rbp
je 0x1401a41c4
movabs rax, 0xcbf29ce484222325
movabs r10, 0x100000001b3
nop dword [rax]
mov rsi, qword [rsi]
mov r9, qword [rdi + 0x20]
lea r8, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x1401a4066
mov r8, qword [rdi + 0x10]
xor edx, edx
test r9, r9
je 0x1401a4084
nop dword [rax]
movzx ecx, byte [rdx + r8]
xor rax, rcx
imul rax, r10
inc rdx
cmp rdx, r9
jb 0x1401a4070
and rax, qword [r15 + 0x30]
mov r12, rax
shl r12, 4
add r12, qword [r15 + 0x18]
lea rcx, [rax + rax]
mov rax, qword [r15 + 0x18]
lea r15, [rax + rcx*8]
cmp qword [r12], rbp
jne 0x1401a40b2
mov qword [r12], rdi
mov qword [r15 + 8], rdi
jmp 0x1401a41a9
mov rbx, qword [r15 + 8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401a40c8
mov rdx, qword [rdx]
mov r8, r9
lea rcx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x1401a40da
mov rcx, qword [rdi + 0x10]
cmp r8, rax
jne 0x1401a40ef
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401a40ef
mov eax, 1
jmp 0x1401a40f1
xor eax, eax
test al, al
je 0x1401a4124
mov rax, qword [rbx]
cmp rax, rdi
je 0x1401a411e
mov r8, qword [rdi + 8]
mov qword [r8], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rax
mov rdx, qword [rax + 8]
mov qword [rdx], rdi
mov qword [rax + 8], rcx
mov qword [rsi + 8], r8
mov qword [rdi + 8], rdx
mov qword [r15 + 8], rdi
jmp 0x1401a419f
cmp qword [r12], rbx
je 0x1401a417a
mov r15, qword [rdi + 0x20]
mov r13, qword [r12]
mov rbx, qword [rbx + 8]
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401a4148
mov rdx, qword [rdx]
lea rcx, [rdi + 0x10]
cmp qword [rdi + 0x28], 0x10
jb 0x1401a4157
mov rcx, qword [rdi + 0x10]
cmp r15, rax
jne 0x1401a416f
mov r8, r15
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1401a416f
mov eax, 1
jmp 0x1401a4171
xor eax, eax
test al, al
jne 0x1401a41e2
cmp r13, rbx
jne 0x1401a4132
mov rdx, qword [rdi + 8]
mov qword [rdx], rsi
mov rax, qword [rsi + 8]
mov qword [rax], rbx
mov rcx, qword [rbx + 8]
mov qword [rcx], rdi
mov qword [rbx + 8], rax
mov qword [rsi + 8], rdx
mov qword [rdi + 8], rcx
mov qword [r12], rdi
movabs r10, 0x100000001b3
mov rdi, rsi
cmp rsi, rbp
mov r15, qword [rsp + 0x60]
movabs rax, 0xcbf29ce484222325
jne 0x1401a4050
mov qword [rsp + 0x68], 0
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, qword [rbx]
mov r8, qword [rdi + 8]
mov qword [r8], rsi
mov rcx, qword [rsi + 8]
mov qword [rcx], rax
mov rdx, qword [rax + 8]
mov qword [rdx], rdi
mov qword [rax + 8], rcx
mov qword [rsi + 8], r8
mov qword [rdi + 8], rdx
jmp 0x1401a419f
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 0x1401a4395
cvtsi2ss xmm0, rdx
jmp 0x1401a43aa
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 [0x140297114]
xor ecx, ecx
comiss xmm0, xmm1
jb 0x1401a43d8
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x1401a43d8
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 0x1401a4415
cmp rbx, 0x200
jae 0x1401a4412
lea rax, [rbx*8]
lea rbx, [rbx*8]
cmp rax, rcx
jae 0x1401a4415
mov rbx, rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1401a3fb0