// File: /workspace/github_cpp_makefile_star2_O1/BU-DiSC[P]BF-Shared-Hashing/hash/xxh3p.h
// Function: ROCKSDB_XXH3p_64bits_withSeed
XXH_PUBLIC_API XXH64_hash_t
XXH3p_64bits_withSeed(const void* input, size_t len, XXH64_hash_t seed)
{
    if (len <= 16) return XXH3p_len_0to16_64b((const xxh_u8*)input, len, kSecret, seed);
    if (len <= 128) return XXH3p_len_17to128_64b((const xxh_u8*)input, len, kSecret, sizeof(kSecret), seed);
    if (len <= XXH3p_MIDSIZE_MAX) return XXH3p_len_129to240_64b((const xxh_u8*)input, len, kSecret, sizeof(kSecret), seed);
    return XXH3p_hashLong_64b_withSeed((const xxh_u8*)input, len, seed);
}

// Assembly:
movq %rdx, %rcx
cmpq $0x10, %rsi
ja 0x25834
cmpq $0x9, %rsi
jb 0x259e3
movabsq $-0x41b45bdcc6930148, %r9 # imm = 0xBE4BA423396CFEB8
addq %rcx, %r9
xorq (%rdi), %r9
movabsq $0x1cad21f72c81017c, %r8 # imm = 0x1CAD21F72C81017C
subq %rcx, %r8
xorq -0x8(%rdi,%rsi), %r8
movq %r8, %rax
mulq %r9
xorq %rax, %rdx
addq %rsi, %r9
addq %r8, %r9
addq %rdx, %r9
movq %r9, %rax
shrq $0x25, %rax
xorq %r9, %rax
jmp 0x25a42
cmpq $0x80, %rsi
ja 0x25a5e
movabsq $-0x61c8864e7a143579, %r8 # imm = 0x9E3779B185EBCA87
imulq %rsi, %r8
cmpq $0x21, %rsi
jb 0x2597d
cmpq $0x41, %rsi
jb 0x2591f
cmpq $0x61, %rsi
jb 0x258c1
movabsq $0x3f349ce33f76faa8, %rdx # imm = 0x3F349CE33F76FAA8
addq %rcx, %rdx
xorq 0x30(%rdi), %rdx
movabsq $0x1d4f0bc7c7bbdcf9, %rax # imm = 0x1D4F0BC7C7BBDCF9
subq %rcx, %rax
xorq 0x38(%rdi), %rax
mulq %rdx
xorq %rax, %rdx
movabsq $0x3159b4cd4be0518a, %r9 # imm = 0x3159B4CD4BE0518A
addq %rcx, %r9
xorq -0x40(%rdi,%rsi), %r9
movabsq $0x647378d9c97e9fc8, %rax # imm = 0x647378D9C97E9FC8
subq %rcx, %rax
xorq -0x38(%rdi,%rsi), %rax
addq %rdx, %r8
mulq %r9
xorq %rax, %rdx
addq %rdx, %r8
movabsq $-0x34ff3c6e44add7c4, %rdx # imm = 0xCB00C391BB52283C
addq %rcx, %rdx
xorq 0x20(%rdi), %rdx
movabsq $-0x5cd1ace4749a2f78, %rax # imm = 0xA32E531B8B65D088
subq %rcx, %rax
xorq 0x28(%rdi), %rax
mulq %rdx
movq %rdx, %r9
xorq %rax, %r9
movabsq $0x4ef90da297486471, %rdx # imm = 0x4EF90DA297486471
addq %rcx, %rdx
xorq -0x30(%rdi,%rsi), %rdx
movabsq $-0x27532156b910e6c8, %rax # imm = 0xD8ACDEA946EF1938
subq %rcx, %rax
xorq -0x28(%rdi,%rsi), %rax
addq %r8, %r9
mulq %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r9, %r8
movabsq $0x78e5c0cc4ee679cb, %rdx # imm = 0x78E5C0CC4EE679CB
addq %rcx, %rdx
xorq 0x10(%rdi), %rdx
movabsq $0x2172ffcc7dd05a82, %rax # imm = 0x2172FFCC7DD05A82
subq %rcx, %rax
xorq 0x18(%rdi), %rax
mulq %rdx
movq %rdx, %r9
xorq %rax, %r9
movabsq $-0x71dbbc088bb9f748, %rdx # imm = 0x8E2443F7744608B8
addq %rcx, %rdx
xorq -0x20(%rdi,%rsi), %rdx
movabsq $0x4c263a81e69035e0, %rax # imm = 0x4C263A81E69035E0
subq %rcx, %rax
xorq -0x18(%rdi,%rsi), %rax
addq %r8, %r9
mulq %rdx
movq %rdx, %r8
xorq %rax, %r8
addq %r9, %r8
movabsq $-0x41b45bdcc6930148, %rdx # imm = 0xBE4BA423396CFEB8
addq %rcx, %rdx
xorq (%rdi), %rdx
movabsq $0x1cad21f72c81017c, %rax # imm = 0x1CAD21F72C81017C
subq %rcx, %rax
xorq 0x8(%rdi), %rax
mulq %rdx
movq %rdx, %r9
xorq %rax, %r9
movabsq $-0x24686f7c16922b22, %rdx # imm = 0xDB979083E96DD4DE
addq %rcx, %rdx
movabsq $0x1f67b3b7a4a44072, %rax # imm = 0x1F67B3B7A4A44072
subq %rcx, %rax
xorq -0x10(%rdi,%rsi), %rdx
xorq -0x8(%rdi,%rsi), %rax
addq %r8, %r9
mulq %rdx
xorq %rax, %rdx
addq %r9, %rdx
movq %rdx, %rax
shrq $0x25, %rax
xorq %rdx, %rax
jmp 0x25a42
cmpq $0x4, %rsi
jb 0x25a73
movl (%rdi), %eax
movl -0x4(%rdi,%rsi), %edx
shlq $0x20, %rdx
orq %rax, %rdx
movabsq $-0x41b45bdcc6930148, %rax # imm = 0xBE4BA423396CFEB8
addq %rax, %rcx
xorq %rdx, %rcx
movq %rcx, %rax
shrq $0x33, %rax
xorq %rcx, %rax
movl $0x9e3779b1, %ecx       # imm = 0x9E3779B1
imulq %rax, %rcx
addq %rsi, %rcx
movq %rcx, %rax
shrq $0x2f, %rax
xorq %rcx, %rax
movabsq $-0x3d4d51c2d82b14b1, %rcx # imm = 0xC2B2AE3D27D4EB4F
imulq %rax, %rcx
movq %rcx, %rax
shrq $0x25, %rax
xorq %rcx, %rax
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
imulq %rax, %rcx
movq %rcx, %rdx
shrq $0x20, %rdx
xorq %rcx, %rdx
movq %rdx, %rax
retq
cmpq $0xf0, %rsi
ja 0x25ad6
leaq 0x4b52(%rip), %rdx      # 0x2a5c0
jmp 0x24fdf
testq %rsi, %rsi
je 0x25adb
movzbl (%rdi), %eax
movq %rsi, %rdx
shrq %rdx
movzbl (%rdi,%rdx), %edx
movzbl -0x1(%rdi,%rsi), %edi
shll $0x8, %edx
orq %rax, %rdx
shll $0x10, %edi
orq %rdx, %rdi
shlq $0x18, %rsi
orq %rdi, %rsi
addq $0x396cfeb8, %rcx       # imm = 0x396CFEB8
xorq %rsi, %rcx
movabsq $-0x61c8864e7a143579, %rax # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, %rcx
shrq $0x25, %rcx
xorq %rax, %rcx
movabsq $0x165667b19e3779f9, %rax # imm = 0x165667B19E3779F9
imulq %rcx, %rax
movq %rax, %rdx
shrq $0x20, %rdx
jmp 0x25af8
movq %rcx, %rdx
jmp 0x25b00
movabsq $-0x41b45bdcc6930148, %rax # imm = 0xBE4BA423396CFEB8
addq %rax, %rcx
movabsq $-0x3d4d51c2d82b14b1, %rdx # imm = 0xC2B2AE3D27D4EB4F
movq %rcx, %rax
mulq %rdx
xorq %rax, %rdx
jmp 0x25a5a