Function at 0x14002a380
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rdx
movabs rdx, 0xcbf29ce484222325
movabs r13, 0x100000001b3
movzx eax, byte [rbx]
xor rax, rdx
imul rax, r13
movzx edx, byte [rbx + 1]
xor rdx, rax
imul rdx, r13
movzx eax, byte [rbx + 2]
xor rax, rdx
imul rax, r13
movzx r15d, byte [rbx + 3]
xor r15, rax
imul r15, r13
mov r8, qword [0x1400ac480]
and r8, r15
mov rdx, qword [0x1400ac468]
mov rax, r8
shl rax, 4
mov rdi, qword [rdx + rax + 8]
cmp rdi, qword [0x1400ac458]
je 0x14002a41d
mov eax, dword [rbx]
cmp eax, dword [rdi + 0x10]
je 0x14002a415
add r8, r8
mov r14, qword [rdx + r8*8]
cmp rdi, r14
je 0x14002a420
mov rdi, qword [rdi + 8]
cmp eax, dword [rdi + 0x10]
jne 0x14002a407
xor r9d, r9d
jmp 0x14002a8dc
mov r14, rdi
mov qword [rsp + 0x20], rcx
movabs rax, 0x492492492492492
cmp qword [0x1400ac460], rax
je 0x14002a8f4
mov ecx, 0x38
call fcn.1400559d0
mov rdi, rax
mov eax, dword [rbx]
mov dword [rdi + 0x10], eax
mov rsi, qword [rbx + 0x18]
cmp qword [rbx + 0x20], 8
jb 0x14002a45f
mov rbx, qword [rbx + 8]
jmp 0x14002a463
add rbx, 8
lea rbp, [rdi + 0x18]
cmp rsi, 7
ja 0x14002a47c
movups xmm0, xmmword [rbx]
movups xmmword [rbp], xmm0
mov r12d, 7
jmp 0x14002a4eb
mov r12, rsi
or r12, 7
movabs rax, 0x7ffffffffffffffe
cmp r12, rax
cmovae r12, rax
lea rcx, [r12 + r12]
cmp r12, 0x7ff
jb 0x14002a4cb
movabs rax, 0x7fffffffffffffec
cmp r12, rax
jae 0x14002a900
add rcx, 0x29
call fcn.1400559d0
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14002a4d7
add rcx, 2
call fcn.1400559d0
mov rcx, rax
mov qword [rbp], rcx
lea r8, [rsi + rsi]
add r8, 2
mov rdx, rbx
call sub.VCRUNTIME140.dll_memcpy
mov qword [rdi + 0x28], rsi
mov qword [rdi + 0x30], r12
mov rax, qword [0x1400ac460]
inc rax
js 0x14002a509
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
jmp 0x14002a521
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
movss xmm1, dword [0x1400ac450]
mov rsi, qword [0x1400ac488]
test rsi, rsi
js 0x14002a53c
cvtsi2ss xmm2, rsi
jmp 0x14002a553
mov rax, rsi
shr rax, 1
mov ecx, esi
and ecx, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm3, xmm0
divss xmm3, xmm2
ucomiss xmm3, xmm1
jbe 0x14002a875
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
cvttss2si rax, xmm0
mov rcx, rax
subss xmm0, dword [0x14006bd10]
cvttss2si rdx, xmm0
sar rcx, 0x3f
and rdx, rcx
or rdx, rax
cmp rdx, 9
mov eax, 8
cmovae rax, rdx
cmp rsi, rax
jae 0x14002a5ba
lea rcx, [rsi*8]
cmp rcx, rax
cmovb rcx, rax
cmp rsi, 0x200
cmovae rcx, rax
mov rsi, rcx
movabs rax, 0x800000000000001
cmp rsi, rax
jae 0x14002a905
dec rsi
or rsi, 1
bsr rcx, rsi
xor rcx, 0xffffffffffffffc0
add rcx, 0x41
mov esi, 1
shl rsi, cl
mov r12d, 2
shl r12, cl
mov rbp, qword [0x1400ac458]
mov rax, qword [0x1400ac470]
mov rdx, qword [0x1400ac468]
mov rbx, rax
sub rbx, rdx
mov r8, rbx
sar r8, 3
cmp r8, r12
jae 0x14002a663
movabs rdx, 0x1ffffffffffffffc
lea rax, [rdx + 3]
cmp r12, rax
ja 0x14002a900
mov eax, 0x10
shl rax, cl
cmp r12, 0x200
jb 0x14002a68d
cmp r12, rdx
jae 0x14002a900
add rax, 0x27
mov rcx, rax
call fcn.1400559d0
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14002a698
mov r14, rbp
cmp rdx, rax
movabs rbx, 0xcbf29ce484222325
je 0x14002a70e
mov qword [rdx], rbp
add rdx, 8
cmp rdx, rax
jne 0x14002a679
mov r14, rbp
jmp 0x14002a70e
mov rcx, rax
call fcn.1400559d0
mov r14, rax
test rbx, rbx
je 0x14002a6d1
mov rcx, qword [0x1400ac468]
cmp rbx, 0x1000
jb 0x14002a6c9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14002a911
add rbx, 0x27
mov rcx, rax
mov rdx, rbx
call fcn.140055a14
mov qword [0x1400ac468], r14
lea rax, [r14 + r12*8]
mov qword [0x1400ac470], rax
mov qword [0x1400ac478], rax
shl r12, 3
xor eax, eax
mov qword [r14 + rax], rbp
add rax, 8
cmp r12, rax
jne 0x14002a6f0
mov r14, qword [0x1400ac458]
movabs rbx, 0xcbf29ce484222325
lea rax, [rsi - 1]
mov qword [0x1400ac480], rax
mov qword [0x1400ac488], rsi
mov rcx, qword [r14]
cmp rcx, rbp
je 0x14002a83a
mov rax, rcx
movzx ecx, byte [rcx + 0x10]
xor rcx, rbx
imul rcx, r13
movzx edx, byte [rax + 0x11]
xor rdx, rcx
imul rdx, r13
movzx ecx, byte [rax + 0x12]
xor rcx, rdx
imul rcx, r13
movzx r9d, byte [rax + 0x13]
xor r9, rcx
imul r9, r13
and r9, qword [0x1400ac480]
mov rcx, qword [rax]
mov rdx, qword [0x1400ac468]
lea r8, [r9 + r9]
lea r10, [r9 + r9]
inc r10
shl r9, 4
mov r9, qword [rdx + r9]
cmp r9, rbp
je 0x14002a7f2
mov r11, qword [rdx + r10*8]
mov esi, dword [rax + 0x10]
cmp esi, dword [r11 + 0x10]
jne 0x14002a7bd
mov r8, qword [r11]
cmp r8, rax
je 0x14002a7f6
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov r11, qword [rcx + 8]
mov qword [r11], r8
mov rsi, qword [r8 + 8]
mov qword [rsi], rax
mov qword [r8 + 8], r11
mov qword [rcx + 8], r9
mov qword [rax + 8], rsi
jmp 0x14002a7f6
cmp r9, r11
je 0x14002a805
mov r11, qword [r11 + 8]
cmp esi, dword [r11 + 0x10]
jne 0x14002a7bd
mov rdx, qword [r11]
mov r8, qword [rax + 8]
mov qword [r8], rcx
mov r9, qword [rcx + 8]
mov qword [r9], rdx
mov r10, qword [rdx + 8]
mov qword [r10], rax
mov qword [rdx + 8], r9
mov qword [rcx + 8], r8
mov qword [rax + 8], r10
jmp 0x14002a7fa
mov qword [rdx + r8*8], rax
mov qword [rdx + r10*8], rax
cmp rcx, rbp
jne 0x14002a72c
jmp 0x14002a82c
mov r10, qword [rax + 8]
mov qword [r10], rcx
mov r11, qword [rcx + 8]
mov qword [r11], r9
mov rsi, qword [r9 + 8]
mov qword [rsi], rax
mov qword [r9 + 8], r11
mov qword [rcx + 8], r10
mov qword [rax + 8], rsi
mov qword [rdx + r8*8], rax
jmp 0x14002a7fa
mov rax, qword [0x1400ac480]
mov r14, qword [0x1400ac458]
and rax, r15
mov r8, qword [0x1400ac468]
mov rcx, rax
shl rcx, 4
mov rcx, qword [r8 + rcx + 8]
cmp rcx, r14
je 0x14002a875
mov edx, dword [rdi + 0x10]
cmp edx, dword [rcx + 0x10]
je 0x14002a872
add rax, rax
mov r14, qword [r8 + rax*8]
cmp rcx, r14
je 0x14002a875
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x14002a864
mov r14, qword [rcx]
mov rax, qword [r14 + 8]
inc qword [0x1400ac460]
mov qword [rdi], r14
mov qword [rdi + 8], rax
mov qword [rax], rdi
mov qword [r14 + 8], rdi
mov rcx, qword [0x1400ac468]
and r15, qword [0x1400ac480]
shl r15, 4
lea rdx, [rcx + r15]
lea r8, [rcx + r15]
add r8, 8
mov rcx, qword [r8 - 8]
cmp rcx, qword [0x1400ac458]
je 0x14002a8cb
cmp rcx, r14
je 0x14002a8d1
mov r9b, 1
mov rdx, r8
cmp qword [r8], rax
jne 0x14002a8d7
jmp 0x14002a8d1
mov qword [rdx], rdi
mov rdx, r8
mov qword [rdx], rdi
mov r9b, 1
mov rcx, qword [rsp + 0x20]
mov qword [rcx], rdi
mov byte [rcx + 8], r9b
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.unordered_map_set_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
call fcn.140059bb0
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3