Function at 0x140047670
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rsi, r8
mov rdi, qword [rcx]
mov rax, qword [rdi + 0x68]
mov r15d, 1
cmp rax, r8
jne 0x1400478d3
mov r14, rdx
movabs r10, 0xcbf29ce484222325
test rsi, rsi
je 0x14004779d
mov rax, rsi
shl rax, 4
add rax, r14
movabs rcx, 0x100000001b3
mov rdx, r14
jmp 0x1400476e3
mov r15, r10
add rdx, 0x10
mov r10, r15
cmp rdx, rax
je 0x1400477a0
mov r11, qword [rdx + 8]
test r11, r11
je 0x1400476d0
mov r8, qword [rdx]
mov rbx, r11
and rbx, 7
je 0x140047720
mov r9, r8
nop dword [rax + rax]
movzx r15d, byte [r9]
inc r9
xor r15, r10
imul r15, rcx
mov r10, r15
dec rbx
jne 0x140047700
cmp r11, 8
jb 0x1400476d3
jmp 0x14004772c
mov r15, r10
mov r9, r8
cmp r11, 8
jb 0x1400476d3
add r8, r11
nop
movzx r10d, byte [r9]
xor r10, r15
imul r10, rcx
movzx r11d, byte [r9 + 1]
xor r11, r10
imul r11, rcx
movzx r10d, byte [r9 + 2]
xor r10, r11
imul r10, rcx
movzx r11d, byte [r9 + 3]
xor r11, r10
imul r11, rcx
movzx r10d, byte [r9 + 4]
xor r10, r11
imul r10, rcx
movzx r11d, byte [r9 + 5]
xor r11, r10
imul r11, rcx
movzx r10d, byte [r9 + 6]
xor r10, r11
imul r10, rcx
movzx r15d, byte [r9 + 7]
add r9, 8
xor r15, r10
imul r15, rcx
cmp r9, r8
jne 0x140047730
jmp 0x1400476d3
mov r15, r10
mov qword [rsp + 0x38], r15
lea rbx, [rdi + 0x140]
mov rax, qword [rdi + 0x140]
cmp rax, 0xffffffffffffffef
ja 0x1400478f8
mov ecx, eax
and ecx, 8
jne 0x1400478f8
lea rcx, [rax + 0x10]
lock cmpxchg qword [rbx], rcx
jne 0x1400478f8
cmp qword [rdi + 0x160], 0
je 0x140047916
lea rcx, [rdi + 0x168]
lea rdx, [rsp + 0x38]
call sym.core::hash::BuildHasher::hash_one::h4d25097dac94caab
mov rcx, qword [rdi + 0x148]
mov rdx, qword [rdi + 0x150]
mov r8, rdx
and r8, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rax, [rcx - 0x10]
xor r9d, r9d
mov r10, qword [rsp + 0x38]
pcmpeqd xmm1, xmm1
movdqu xmm2, xmmword [rcx + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r11d, xmm3
test r11d, r11d
je 0x14004787b
nop dword [rax + rax]
tzcnt r12d, r11d
add r12, r8
and r12, rdx
mov r13, r12
shl r13, 4
mov rbp, rax
sub rbp, r13
cmp r10, qword [rbp]
je 0x14004789d
lea ebp, [r11 - 1]
and bp, r11w
mov r11d, ebp
jne 0x140047850
pcmpeqb xmm2, xmm1
pmovmskb r11d, xmm2
test r11d, r11d
jne 0x140047916
add r8, r9
add r8, 0x10
add r9, 0x10
and r8, rdx
jmp 0x140047830
neg r12
shl r12, 4
mov rax, qword [rcx + r12 - 8]
lock inc qword [rax]
jle 0x140047b66
mov rcx, 0xfffffffffffffff0
lock xadd qword [rbx], rcx
and rcx, 0xfffffffffffffff2
mov r15d, 5
cmp rcx, 0x12
je 0x140047a43
movq xmm6, rsi
cmp r15d, 5
jne 0x140047b2e
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
xor edx, edx
mov r9d, 0x3b9aca00
call sym.parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h81f6b2212ea64c43
cmp qword [rdi + 0x160], 0
jne 0x1400477e5
mov rax, 0xfffffffffffffff0
lock xadd qword [rbx], rax
and rax, 0xfffffffffffffff2
cmp rax, 0x12
je 0x140047a56
mov qword [rsp + 0x28], r15
mov ecx, 8
xor eax, eax
lock cmpxchg qword [rbx], rcx
jne 0x140047a63
cmp qword [rdi + 0x160], 0
je 0x140047a7f
lea rcx, [rdi + 0x168]
lea rdx, [rsp + 0x28]
call sym.core::hash::BuildHasher::hash_one::h4d25097dac94caab
mov rcx, qword [rdi + 0x148]
mov rdx, qword [rdi + 0x150]
mov r8, rdx
and r8, rax
shr rax, 0x39
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea rax, [rcx - 0x10]
xor r9d, r9d
mov r10, qword [rsp + 0x28]
pcmpeqd xmm1, xmm1
movdqu xmm2, xmmword [rcx + r8]
movdqa xmm3, xmm2
pcmpeqb xmm3, xmm0
pmovmskb r11d, xmm3
test r11d, r11d
je 0x1400479eb
nop dword [rax + rax]
tzcnt r15d, r11d
add r15, r8
and r15, rdx
mov r12, r15
shl r12, 4
mov r13, rax
sub r13, r12
cmp r10, qword [r13]
je 0x140047a0d
lea ebp, [r11 - 1]
and bp, r11w
mov r11d, ebp
jne 0x1400479c0
pcmpeqb xmm2, xmm1
pmovmskb r11d, xmm2
test r11d, r11d
jne 0x140047a7f
add r8, r9
add r8, 0x10
add r9, 0x10
and r8, rdx
jmp 0x1400479a0
neg r15
shl r15, 4
mov rsi, qword [rcx + r15 - 8]
lock inc qword [rsi]
jle 0x140047b66
mov r15d, 5
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [rbx], rcx
jne 0x140047b1c
mov rax, rsi
jmp 0x1400478d8
mov rcx, rbx
mov rdi, rax
call sym.parking_lot::raw_rwlock::RawRwLock::unlock_shared_slow::h26b2db10185f7b17
mov rax, rdi
jmp 0x1400478d3
mov rcx, rbx
call sym.parking_lot::raw_rwlock::RawRwLock::unlock_shared_slow::h26b2db10185f7b17
jmp 0x140047930
mov rcx, rbx
mov r8d, 0x3b9aca00
call sym.parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::hb4f770609def7a79
cmp qword [rdi + 0x160], 0
jne 0x140047955
lea rdx, [rdi + 0x80]
lea rcx, [rsp + 0x40]
mov r8, r14
mov r9, rsi
call sym._ZN10prometheus9histogram9Histogram26with_opts_and_label_values17hf8b0e48f73bae368E.llvm.12336518115044827322
mov r15, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
cmp r15, 5
jne 0x140047b02
mov qword [rsp + 0x30], r8
lock inc qword [r8]
jle 0x140047b66
add rdi, 0x148
mov rdx, qword [rsp + 0x28]
mov rcx, rdi
call sym.hashbrown::map::HashMap_K_V_S_A_::insert::h535ebeec6e6f6999
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140047ae3
lock dec qword [rax]
jne 0x140047ae3
lea rcx, [rsp + 0x40]
call sym.alloc::sync::Arc_T_A_::drop_slow::hc1a70764205bb9a6
mov rsi, qword [rsp + 0x30]
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [rbx], rcx
mov r15d, 5
je 0x140047a3b
jmp 0x140047b1c
mov rsi, r8
movups xmm6, xmmword [rsp + 0x50]
xor ecx, ecx
mov eax, 8
lock cmpxchg qword [rbx], rcx
je 0x140047a3b
mov rcx, rbx
xor edx, edx
call sym.parking_lot::raw_rwlock::RawRwLock::unlock_exclusive_slow::h14109974b0d2b0d1
mov rax, rsi
jmp 0x1400478d8
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], rax
movups xmmword [rsp + 0x50], xmm6
lea rax, str._home_revy_.cargo_registry_src_index.crates.io_6f17d22bba15001f_prometheus_0.13.4_src_vec.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1402e49c0]
lea r9, sym.core::ptr::drop_in_place_prometheus::errors::Error_::h5c3f6c34cdf57bd0
lea r8, [rsp + 0x40]
mov edx, 0x2b
call sym.core::result::unwrap_failed::h8f275d6668207d54
ud2