Function at 0x1400dc663
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
movdqa xmmword [rsp + 0x40], xmm6
mov r14, rdx
mov rdx, qword [rdx + 0x18]
inc rdx
je 0x1400dcba1
mov rbp, qword [r14]
lea rbx, [rbp + 1]
mov rdi, rbx
shr rdi, 3
lea rax, [rdi*8]
sub rax, rdi
cmp rbp, 8
cmovb rax, rbp
mov rbp, rax
shr rbp, 1
cmp rdx, rbp
mov qword [rsp + 0x20], rcx
jbe 0x1400dc6ed
inc rax
cmp rdx, rax
cmova rax, rdx
test rax, rax
je 0x1400dc913
cmp rax, 8
jae 0x1400dc924
xor ecx, ecx
cmp rax, 3
seta cl
lea rbp, [rcx*4 + 4]
jmp 0x1400dc976
xor eax, eax
movdqa xmm0, xmmword [0x1401a06c0]
xor ebp, ebp
test bpl, 1
je 0x1400dc725
lea rdx, [rax + 0xf]
inc rdx
mov rbp, rax
add rbp, 0xf
cmovb rdx, rbx
cmp rbp, rbx
cmovae rdx, rbx
add rax, 0xf
jb 0x1400dc74e
cmp rax, rbx
jb 0x1400dc72e
jmp 0x1400dc74e
cmp rax, rbx
jae 0x1400dc74e
lea rdx, [rax + 1]
mov rbp, qword [r14 + 8]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbp + rax]
por xmm1, xmm0
movdqa xmmword [rbp + rax], xmm1
mov bpl, 1
mov rax, rdx
jmp 0x1400dc6f9
mov r8, qword [r14]
mov rdx, qword [r14 + 8]
inc r8
cmp r8, 0x10
jae 0x1400dc769
lea rcx, [rdx + 0x10]
call sub.VCRUNTIME140.dll_memmove
jmp 0x1400dc773
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rdx + r8], xmm0
mov r10, qword [r14]
inc r10
xor r11d, r11d
movabs r9, 0xcbf29ce484222325
movabs r12, 0x100000001b3
mov r8b, 0xff
cmp r11, r10
je 0x1400dc8dc
mov r13, r11
inc r11
mov rbx, qword [r14 + 8]
cmp byte [rbx + r13], 0x80
jne 0x1400dc793
mov r15, r13
neg r15
mov rcx, qword [rbx + r15*8 - 8]
add rcx, 0x10
mov qword [rsp + 0x28], rcx
mov eax, 1
mov rbp, r9
movzx ecx, cl
xor rbp, rcx
imul rbp, r12
cmp rax, 8
je 0x1400dc7e2
mov cl, byte [rsp + rax + 0x28]
inc rax
jmp 0x1400dc7c9
mov rcx, qword [r14]
mov rdx, rbp
xor edi, edi
mov rax, rdx
and rax, rcx
lea rdx, [rdi + rax]
add rdx, 0x10
add rdi, 0x10
movdqu xmm0, xmmword [rbx + rax]
pmovmskb esi, xmm0
test si, si
je 0x1400dc7ea
bsf dx, si
movzx edx, dx
add rax, rdx
and rax, rcx
cmp byte [rbx + rax], 0
jns 0x1400dc884
mov rdx, rcx
and rdx, rbp
mov rsi, r13
sub rsi, rdx
mov rdi, rax
sub rdi, rdx
xor rdi, rsi
and rdi, rcx
cmp rdi, 0xf
jbe 0x1400dc895
mov dl, byte [rbx + rax]
shr rbp, 0x39
lea rsi, [rax - 0x10]
and rsi, rcx
mov byte [rbx + rax], bpl
mov byte [rsi + rbx + 0x10], bpl
cmp dl, 0xff
je 0x1400dc8ae
mov rcx, qword [r14 + 8]
shl rax, 3
mov rdx, rcx
sub rdx, rax
neg rax
mov rdx, qword [rdx - 8]
mov rsi, qword [rbx + r15*8 - 8]
mov qword [rcx + rax - 8], rsi
mov qword [rbx + r15*8 - 8], rdx
mov rbx, qword [r14 + 8]
jmp 0x1400dc7b3
movdqa xmm0, xmmword [rbx]
pmovmskb eax, xmm0
bsf ax, ax
movzx eax, ax
jmp 0x1400dc81d
shr rbp, 0x39
lea rax, [r13 - 0x10]
and rcx, rax
mov byte [rbx + r13], bpl
mov byte [rcx + rbx + 0x10], bpl
jmp 0x1400dc793
lea rcx, [r13 - 0x10]
and rcx, qword [r14]
mov rdx, qword [r14 + 8]
mov byte [rdx + r13], r8b
mov byte [rcx + rdx + 0x10], r8b
mov rcx, qword [r14 + 8]
shl rax, 3
neg rax
mov rdx, qword [rbx + r15*8 - 8]
mov qword [rcx + rax - 8], rdx
jmp 0x1400dc793
mov rax, qword [r14]
lea rcx, [rax + 1]
shr rcx, 3
lea rdx, [rcx*8]
sub rdx, rcx
cmp rax, 8
cmovb rdx, rax
sub rdx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rdx
mov rax, qword [rsp + 0x20]
mov qword [rax], 0
jmp 0x1400dcb8b
lea r13, [0x1401b3390]
xor edi, edi
xor r12d, r12d
jmp 0x1400dc9e6
mov edx, 8
mul rdx
jo 0x1400dcba1
mov rbx, rax
movabs rcx, 0x2492492492492493
mul rcx
mov rax, rbx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 2
dec rax
bsr rcx, rax
xor ecx, 0x3f
mov rax, 0xffffffffffffffff
shr rax, cl
inc rax
cmp rbx, 0xd
mov ebp, 1
cmova rbp, rax
lea rbx, [rsp + 0x28]
mov rcx, rbx
mov rdx, rbp
call fcn.1400db980
mov r15, qword [rbx + 8]
test r15, r15
je 0x1400dcba1
mov r12, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x38]
mov rcx, r12
mov rdx, r15
call fcn.140040c30
test rax, rax
je 0x1400dcbbb
mov r13, rax
add r13, rsi
lea r12, [rbp - 1]
mov rax, rbp
shr rax, 3
lea rdi, [rax*8]
sub rdi, rax
cmp r12, 8
cmovb rdi, r12
add rbp, 0x10
mov rcx, r13
mov dl, 0xff
mov r8, rbp
call sub.VCRUNTIME140.dll_memset
mov rax, qword [r14 + 0x18]
sub rdi, rax
movq xmm1, r13
movq xmm0, r12
punpcklqdq xmm0, xmm1
movq xmm1, rdi
movq xmm2, rax
punpcklqdq xmm1, xmm2
mov rcx, qword [r14]
mov rax, qword [r14 + 8]
lea r9, [rcx + rax + 1]
movdqa xmm2, xmmword [rax]
pmovmskb ebp, xmm2
not ebp
lea rdx, [rax + 0x10]
movabs r8, 0xcbf29ce484222325
movabs r15, 0x100000001b3
test bp, bp
je 0x1400dca4e
test rax, rax
je 0x1400dcb3e
lea r10d, [rbp - 1]
and r10d, ebp
jmp 0x1400dca7c
cmp rdx, r9
jae 0x1400dcb3e
movdqa xmm2, xmmword [rdx]
pmovmskb ebp, xmm2
add rax, 0xffffffffffffff80
add rdx, 0x10
cmp bp, 0xffff
je 0x1400dca4e
mov ecx, 0xfffffffe
sub ecx, ebp
not ebp
mov r10d, ebp
and r10d, ecx
bsf cx, bp
movzx ecx, cx
mov r11, rcx
neg r11
shl rcx, 3
mov rsi, rax
sub rsi, rcx
mov rcx, qword [rsi - 8]
add rcx, 0x10
mov qword [rsp + 0x28], rcx
mov ebp, 1
mov rdi, r8
movzx ecx, cl
xor rdi, rcx
imul rdi, r15
cmp rbp, 8
je 0x1400dcac1
mov cl, byte [rsp + rbp + 0x28]
inc rbp
jmp 0x1400dcaa8
mov rsi, rdi
xor ecx, ecx
mov rbp, rsi
and rbp, r12
lea rsi, [rcx + rbp]
add rsi, 0x10
add rcx, 0x10
movdqu xmm2, xmmword [r13 + rbp]
pmovmskb ebx, xmm2
test bx, bx
je 0x1400dcac6
bsf cx, bx
movzx ecx, cx
add rbp, rcx
and rbp, r12
cmp byte [r13 + rbp], 0
jns 0x1400dcb2b
shr rdi, 0x39
lea rcx, [rbp - 0x10]
and rcx, r12
mov byte [r13 + rbp], dil
mov byte [rcx + r13 + 0x10], dil
mov rcx, qword [rax + r11*8 - 8]
shl rbp, 3
neg rbp
mov qword [r13 + rbp - 8], rcx
mov ebp, r10d
jmp 0x1400dca37
movdqa xmm2, xmmword [r13]
pmovmskb ecx, xmm2
bsf cx, cx
movzx ebp, cx
jmp 0x1400dcafd
movdqu xmm6, xmmword [r14]
movdqu xmmword [r14], xmm0
movdqu xmmword [r14 + 0x10], xmm1
mov rax, qword [rsp + 0x20]
mov qword [rax], 0
movq rdx, xmm6
test rdx, rdx
je 0x1400dcb8b
inc rdx
lea rsi, [rsp + 0x28]
mov rcx, rsi
call fcn.1400db980
mov rdx, qword [rsi + 8]
pshufd xmm0, xmm6, 0x4e
movq rcx, xmm0
sub rcx, qword [rsi + 0x10]
call fcn.140040ca0
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.Hash_table_capacity_overflow
lea r8, str.C:Users_runneradmin.cargo_registry_srcgithub.com_1ecc6299db9ec823hashbrown_0.9.0_src_rawmod.rs
mov edx, 0x1c
call fcn.140031820
ud2
mov rcx, r12
mov rdx, r15
call fcn.14002fe70
ud2