// File: BU-DiSC[P]BF-Shared-Hashing/hash/xxhash.cc
// Function: XXH64_finalize(unsigned long, unsigned char const*, unsigned long, XXH_alignment)
static xxh_u64
XXH64_finalize(xxh_u64 h64, const xxh_u8* ptr, size_t len, XXH_alignment align)
{
#define PROCESS1_64            \
    h64 ^= (*ptr++) * PRIME64_5; \
    h64 = XXH_rotl64(h64, 11) * PRIME64_1;

#define PROCESS4_64          \
    h64 ^= (xxh_u64)(XXH_get32bits(ptr)) * PRIME64_1; \
    ptr+=4;                    \
    h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;

#define PROCESS8_64 {        \
    xxh_u64 const k1 = XXH64_round(0, XXH_get64bits(ptr)); \
    ptr+=8;                    \
    h64 ^= k1;               \
    h64  = XXH_rotl64(h64,27) * PRIME64_1 + PRIME64_4; \
}

    /* Rerolled version for 32-bit targets is faster and much smaller. */
    if (XXH_REROLL || XXH_REROLL_XXH64) {
        len &= 31;
        while (len >= 8) {
            PROCESS8_64;
            len -= 8;
        }
        if (len >= 4) {
            PROCESS4_64;
            len -= 4;
        }
        while (len > 0) {
            PROCESS1_64;
            --len;
        }
         return  XXH64_avalanche(h64);
    } else {
        switch(len & 31) {
           case 24: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 16: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  8: PROCESS8_64;
                    return XXH64_avalanche(h64);

           case 28: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 20: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 12: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  4: PROCESS4_64;
                    return XXH64_avalanche(h64);

           case 25: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 17: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  9: PROCESS8_64;
                    PROCESS1_64;
                    return XXH64_avalanche(h64);

           case 29: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 21: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 13: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  5: PROCESS4_64;
                    PROCESS1_64;
                    return XXH64_avalanche(h64);

           case 26: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 18: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 10: PROCESS8_64;
                    PROCESS1_64;
                    PROCESS1_64;
                    return XXH64_avalanche(h64);

           case 30: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 22: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 14: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  6: PROCESS4_64;
                    PROCESS1_64;
                    PROCESS1_64;
                    return XXH64_avalanche(h64);

           case 27: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 19: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 11: PROCESS8_64;
                    PROCESS1_64;
                    PROCESS1_64;
                    PROCESS1_64;
                    return XXH64_avalanche(h64);

           case 31: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 23: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case 15: PROCESS8_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  7: PROCESS4_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  3: PROCESS1_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  2: PROCESS1_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  1: PROCESS1_64;
                    FALLTHROUGH_INTENDED;
                         /* fallthrough */
           case  0: return XXH64_avalanche(h64);
        }
    }
    /* impossible to reach */
    XXH_ASSERT(0);
    return 0;  /* unreachable, but some compilers complain without it */
}

// Assembly:
subq $0x478, %rsp            # imm = 0x478
movq %rdi, 0xe8(%rsp)
movq %rsi, 0xe0(%rsp)
movq %rdx, 0xd8(%rsp)
movl %ecx, 0xd4(%rsp)
movq 0xd8(%rsp), %rax
andl $0x1f, %eax
movq %rax, 0x8(%rsp)
subq $0x1f, %rax
ja 0x50862
movq 0x8(%rsp), %rax
leaq 0x16944(%rip), %rcx     # 0x655c0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x460(%rsp)
movl %eax, 0x45c(%rsp)
cmpl $0x1, 0x45c(%rsp)
jne 0x4ecd4
movq 0x460(%rsp), %rax
movq %rax, 0x470(%rsp)
movq 0x470(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x468(%rsp)
jmp 0x4ece7
movq 0x460(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x468(%rsp)
movq 0x468(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xc8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xc8(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x440(%rsp)
movl %eax, 0x43c(%rsp)
cmpl $0x1, 0x43c(%rsp)
jne 0x4edaa
movq 0x440(%rsp), %rax
movq %rax, 0x450(%rsp)
movq 0x450(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x448(%rsp)
jmp 0x4edbd
movq 0x440(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x448(%rsp)
movq 0x448(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xc0(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xc0(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x420(%rsp)
movl %eax, 0x41c(%rsp)
cmpl $0x1, 0x41c(%rsp)
jne 0x4ee80
movq 0x420(%rsp), %rax
movq %rax, 0x430(%rsp)
movq 0x430(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x428(%rsp)
jmp 0x4ee93
movq 0x420(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x428(%rsp)
movq 0x428(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xb8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xb8(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x400(%rsp)
movl %eax, 0x3fc(%rsp)
cmpl $0x1, 0x3fc(%rsp)
jne 0x4ef70
movq 0x400(%rsp), %rax
movq %rax, 0x410(%rsp)
movq 0x410(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x408(%rsp)
jmp 0x4ef83
movq 0x400(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x408(%rsp)
movq 0x408(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xb0(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xb0(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x3e0(%rsp)
movl %eax, 0x3dc(%rsp)
cmpl $0x1, 0x3dc(%rsp)
jne 0x4f046
movq 0x3e0(%rsp), %rax
movq %rax, 0x3f0(%rsp)
movq 0x3f0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x3e8(%rsp)
jmp 0x4f059
movq 0x3e0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x3e8(%rsp)
movq 0x3e8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xa8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xa8(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x3c0(%rsp)
movl %eax, 0x3bc(%rsp)
cmpl $0x1, 0x3bc(%rsp)
jne 0x4f11c
movq 0x3c0(%rsp), %rax
movq %rax, 0x3d0(%rsp)
movq 0x3d0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x3c8(%rsp)
jmp 0x4f12f
movq 0x3c0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x3c8(%rsp)
movq 0x3c8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0xa0(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0xa0(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x160(%rsp)
movl %eax, 0x15c(%rsp)
cmpl $0x1, 0x15c(%rsp)
jne 0x4f1f1
movq 0x160(%rsp), %rax
movq %rax, 0x170(%rsp)
movq 0x170(%rsp), %rdi
callq 0x5fa70
movl %eax, 0x16c(%rsp)
jmp 0x4f202
movq 0x160(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x16c(%rsp)
movl 0x16c(%rsp), %eax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xe0(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x17, %rax
movabsq $-0x3d4d51c2d82b14b1, %rcx # imm = 0xC2B2AE3D27D4EB4F
imulq %rcx, %rax
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x3a0(%rsp)
movl %eax, 0x39c(%rsp)
cmpl $0x1, 0x39c(%rsp)
jne 0x4f2d3
movq 0x3a0(%rsp), %rax
movq %rax, 0x3b0(%rsp)
movq 0x3b0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x3a8(%rsp)
jmp 0x4f2e6
movq 0x3a0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x3a8(%rsp)
movq 0x3a8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x98(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x98(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x380(%rsp)
movl %eax, 0x37c(%rsp)
cmpl $0x1, 0x37c(%rsp)
jne 0x4f3a9
movq 0x380(%rsp), %rax
movq %rax, 0x390(%rsp)
movq 0x390(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x388(%rsp)
jmp 0x4f3bc
movq 0x380(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x388(%rsp)
movq 0x388(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x90(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x90(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x360(%rsp)
movl %eax, 0x35c(%rsp)
cmpl $0x1, 0x35c(%rsp)
jne 0x4f47f
movq 0x360(%rsp), %rax
movq %rax, 0x370(%rsp)
movq 0x370(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x368(%rsp)
jmp 0x4f492
movq 0x360(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x368(%rsp)
movq 0x368(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x88(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x88(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x340(%rsp)
movl %eax, 0x33c(%rsp)
cmpl $0x1, 0x33c(%rsp)
jne 0x4f5c9
movq 0x340(%rsp), %rax
movq %rax, 0x350(%rsp)
movq 0x350(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x348(%rsp)
jmp 0x4f5dc
movq 0x340(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x348(%rsp)
movq 0x348(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x80(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x80(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x320(%rsp)
movl %eax, 0x31c(%rsp)
cmpl $0x1, 0x31c(%rsp)
jne 0x4f69f
movq 0x320(%rsp), %rax
movq %rax, 0x330(%rsp)
movq 0x330(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x328(%rsp)
jmp 0x4f6b2
movq 0x320(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x328(%rsp)
movq 0x328(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x78(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x78(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x300(%rsp)
movl %eax, 0x2fc(%rsp)
cmpl $0x1, 0x2fc(%rsp)
jne 0x4f76f
movq 0x300(%rsp), %rax
movq %rax, 0x310(%rsp)
movq 0x310(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x308(%rsp)
jmp 0x4f782
movq 0x300(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x308(%rsp)
movq 0x308(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x70(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x70(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x140(%rsp)
movl %eax, 0x13c(%rsp)
cmpl $0x1, 0x13c(%rsp)
jne 0x4f83e
movq 0x140(%rsp), %rax
movq %rax, 0x150(%rsp)
movq 0x150(%rsp), %rdi
callq 0x5fa70
movl %eax, 0x14c(%rsp)
jmp 0x4f84f
movq 0x140(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x14c(%rsp)
movl 0x14c(%rsp), %eax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xe0(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x17, %rax
movabsq $-0x3d4d51c2d82b14b1, %rcx # imm = 0xC2B2AE3D27D4EB4F
imulq %rcx, %rax
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x2e0(%rsp)
movl %eax, 0x2dc(%rsp)
cmpl $0x1, 0x2dc(%rsp)
jne 0x4f97a
movq 0x2e0(%rsp), %rax
movq %rax, 0x2f0(%rsp)
movq 0x2f0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x2e8(%rsp)
jmp 0x4f98d
movq 0x2e0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2e8(%rsp)
movq 0x2e8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x68(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x68(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x2c0(%rsp)
movl %eax, 0x2bc(%rsp)
cmpl $0x1, 0x2bc(%rsp)
jne 0x4fa4a
movq 0x2c0(%rsp), %rax
movq %rax, 0x2d0(%rsp)
movq 0x2d0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x2c8(%rsp)
jmp 0x4fa5d
movq 0x2c0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2c8(%rsp)
movq 0x2c8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x60(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x60(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x2a0(%rsp)
movl %eax, 0x29c(%rsp)
cmpl $0x1, 0x29c(%rsp)
jne 0x4fb1a
movq 0x2a0(%rsp), %rax
movq %rax, 0x2b0(%rsp)
movq 0x2b0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x2a8(%rsp)
jmp 0x4fb2d
movq 0x2a0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x2a8(%rsp)
movq 0x2a8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x58(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x58(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x280(%rsp)
movl %eax, 0x27c(%rsp)
cmpl $0x1, 0x27c(%rsp)
jne 0x4fcb8
movq 0x280(%rsp), %rax
movq %rax, 0x290(%rsp)
movq 0x290(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x288(%rsp)
jmp 0x4fccb
movq 0x280(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x288(%rsp)
movq 0x288(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x50(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x50(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x260(%rsp)
movl %eax, 0x25c(%rsp)
cmpl $0x1, 0x25c(%rsp)
jne 0x4fd88
movq 0x260(%rsp), %rax
movq %rax, 0x270(%rsp)
movq 0x270(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x268(%rsp)
jmp 0x4fd9b
movq 0x260(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x268(%rsp)
movq 0x268(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x48(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x48(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x240(%rsp)
movl %eax, 0x23c(%rsp)
cmpl $0x1, 0x23c(%rsp)
jne 0x4fe58
movq 0x240(%rsp), %rax
movq %rax, 0x250(%rsp)
movq 0x250(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x248(%rsp)
jmp 0x4fe6b
movq 0x240(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x248(%rsp)
movq 0x248(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x40(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x40(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
cmpl $0x1, 0x11c(%rsp)
jne 0x4ff27
movq 0x120(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x130(%rsp), %rdi
callq 0x5fa70
movl %eax, 0x12c(%rsp)
jmp 0x4ff38
movq 0x120(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x12c(%rsp)
movl 0x12c(%rsp), %eax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xe0(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x17, %rax
movabsq $-0x3d4d51c2d82b14b1, %rcx # imm = 0xC2B2AE3D27D4EB4F
imulq %rcx, %rax
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x220(%rsp)
movl %eax, 0x21c(%rsp)
cmpl $0x1, 0x21c(%rsp)
jne 0x500bd
movq 0x220(%rsp), %rax
movq %rax, 0x230(%rsp)
movq 0x230(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x228(%rsp)
jmp 0x500d0
movq 0x220(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x228(%rsp)
movq 0x228(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x38(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x38(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x200(%rsp)
movl %eax, 0x1fc(%rsp)
cmpl $0x1, 0x1fc(%rsp)
jne 0x5018d
movq 0x200(%rsp), %rax
movq %rax, 0x210(%rsp)
movq 0x210(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x208(%rsp)
jmp 0x501a0
movq 0x200(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x208(%rsp)
movq 0x208(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x30(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x30(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x1e0(%rsp)
movl %eax, 0x1dc(%rsp)
cmpl $0x1, 0x1dc(%rsp)
jne 0x5025d
movq 0x1e0(%rsp), %rax
movq %rax, 0x1f0(%rsp)
movq 0x1f0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x1e8(%rsp)
jmp 0x50270
movq 0x1e0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1e8(%rsp)
movq 0x1e8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x28(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x28(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x1c0(%rsp)
movl %eax, 0x1bc(%rsp)
cmpl $0x1, 0x1bc(%rsp)
jne 0x50455
movq 0x1c0(%rsp), %rax
movq %rax, 0x1d0(%rsp)
movq 0x1d0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x1c8(%rsp)
jmp 0x50468
movq 0x1c0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x20(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x20(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x1a0(%rsp)
movl %eax, 0x19c(%rsp)
cmpl $0x1, 0x19c(%rsp)
jne 0x50525
movq 0x1a0(%rsp), %rax
movq %rax, 0x1b0(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x1a8(%rsp)
jmp 0x50538
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x18(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x18(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
cmpl $0x1, 0x17c(%rsp)
jne 0x505f5
movq 0x180(%rsp), %rax
movq %rax, 0x190(%rsp)
movq 0x190(%rsp), %rdi
callq 0x5fae0
movq %rax, 0x188(%rsp)
jmp 0x50608
movq 0x180(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x188(%rsp)
movq 0x188(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edi
callq 0x4ea60
movq %rax, 0x10(%rsp)
movq 0xe0(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xe0(%rsp)
movq 0x10(%rsp), %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x1b, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rcx
movl 0xd4(%rsp), %eax
movq %rcx, 0x100(%rsp)
movl %eax, 0xfc(%rsp)
cmpl $0x1, 0xfc(%rsp)
jne 0x506c4
movq 0x100(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0x110(%rsp), %rdi
callq 0x5fa70
movl %eax, 0x10c(%rsp)
jmp 0x506d5
movq 0x100(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x10c(%rsp)
movl 0x10c(%rsp), %eax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
addq $0x4, %rax
movq %rax, 0xe0(%rsp)
movq 0xe8(%rsp), %rax
rolq $0x17, %rax
movabsq $-0x3d4d51c2d82b14b1, %rcx # imm = 0xC2B2AE3D27D4EB4F
imulq %rcx, %rax
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
addq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe0(%rsp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rsp)
movzbl (%rax), %eax
movabsq $0x27d4eb2f165667c5, %rcx # imm = 0x27D4EB2F165667C5
imulq %rcx, %rax
xorq 0xe8(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rax
rolq $0xb, %rax
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rax
movq %rax, 0xe8(%rsp)
movq 0xe8(%rsp), %rdi
callq 0x5fb00
movq %rax, 0xf0(%rsp)
jmp 0x5086e
movq $0x0, 0xf0(%rsp)
movq 0xf0(%rsp), %rax
addq $0x478, %rsp            # imm = 0x478
retq
nop