// File: /workspace/github_c_makefile_star2_O1/bloomsource[P]dns_update/md5.c
// Function: md5_process
static void md5_process( md5_context *ctx, const unsigned char data[64] )
{
    unsigned long X[16], A, B, C, D;

    GET_ULONG_LE( X[ 0], data,  0 );
    GET_ULONG_LE( X[ 1], data,  4 );
    GET_ULONG_LE( X[ 2], data,  8 );
    GET_ULONG_LE( X[ 3], data, 12 );
    GET_ULONG_LE( X[ 4], data, 16 );
    GET_ULONG_LE( X[ 5], data, 20 );
    GET_ULONG_LE( X[ 6], data, 24 );
    GET_ULONG_LE( X[ 7], data, 28 );
    GET_ULONG_LE( X[ 8], data, 32 );
    GET_ULONG_LE( X[ 9], data, 36 );
    GET_ULONG_LE( X[10], data, 40 );
    GET_ULONG_LE( X[11], data, 44 );
    GET_ULONG_LE( X[12], data, 48 );
    GET_ULONG_LE( X[13], data, 52 );
    GET_ULONG_LE( X[14], data, 56 );
    GET_ULONG_LE( X[15], data, 60 );

#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))

#define P(a,b,c,d,k,s,t)                                \
{                                                       \
    a += F(b,c,d) + X[k] + t; a = S(a,s) + b;           \
}

    A = ctx->state[0];
    B = ctx->state[1];
    C = ctx->state[2];
    D = ctx->state[3];

#define F(x,y,z) (z ^ (x & (y ^ z)))

    P( A, B, C, D,  0,  7, 0xD76AA478 );
    P( D, A, B, C,  1, 12, 0xE8C7B756 );
    P( C, D, A, B,  2, 17, 0x242070DB );
    P( B, C, D, A,  3, 22, 0xC1BDCEEE );
    P( A, B, C, D,  4,  7, 0xF57C0FAF );
    P( D, A, B, C,  5, 12, 0x4787C62A );
    P( C, D, A, B,  6, 17, 0xA8304613 );
    P( B, C, D, A,  7, 22, 0xFD469501 );
    P( A, B, C, D,  8,  7, 0x698098D8 );
    P( D, A, B, C,  9, 12, 0x8B44F7AF );
    P( C, D, A, B, 10, 17, 0xFFFF5BB1 );
    P( B, C, D, A, 11, 22, 0x895CD7BE );
    P( A, B, C, D, 12,  7, 0x6B901122 );
    P( D, A, B, C, 13, 12, 0xFD987193 );
    P( C, D, A, B, 14, 17, 0xA679438E );
    P( B, C, D, A, 15, 22, 0x49B40821 );

#undef F

#define F(x,y,z) (y ^ (z & (x ^ y)))

    P( A, B, C, D,  1,  5, 0xF61E2562 );
    P( D, A, B, C,  6,  9, 0xC040B340 );
    P( C, D, A, B, 11, 14, 0x265E5A51 );
    P( B, C, D, A,  0, 20, 0xE9B6C7AA );
    P( A, B, C, D,  5,  5, 0xD62F105D );
    P( D, A, B, C, 10,  9, 0x02441453 );
    P( C, D, A, B, 15, 14, 0xD8A1E681 );
    P( B, C, D, A,  4, 20, 0xE7D3FBC8 );
    P( A, B, C, D,  9,  5, 0x21E1CDE6 );
    P( D, A, B, C, 14,  9, 0xC33707D6 );
    P( C, D, A, B,  3, 14, 0xF4D50D87 );
    P( B, C, D, A,  8, 20, 0x455A14ED );
    P( A, B, C, D, 13,  5, 0xA9E3E905 );
    P( D, A, B, C,  2,  9, 0xFCEFA3F8 );
    P( C, D, A, B,  7, 14, 0x676F02D9 );
    P( B, C, D, A, 12, 20, 0x8D2A4C8A );

#undef F
    
#define F(x,y,z) (x ^ y ^ z)

    P( A, B, C, D,  5,  4, 0xFFFA3942 );
    P( D, A, B, C,  8, 11, 0x8771F681 );
    P( C, D, A, B, 11, 16, 0x6D9D6122 );
    P( B, C, D, A, 14, 23, 0xFDE5380C );
    P( A, B, C, D,  1,  4, 0xA4BEEA44 );
    P( D, A, B, C,  4, 11, 0x4BDECFA9 );
    P( C, D, A, B,  7, 16, 0xF6BB4B60 );
    P( B, C, D, A, 10, 23, 0xBEBFBC70 );
    P( A, B, C, D, 13,  4, 0x289B7EC6 );
    P( D, A, B, C,  0, 11, 0xEAA127FA );
    P( C, D, A, B,  3, 16, 0xD4EF3085 );
    P( B, C, D, A,  6, 23, 0x04881D05 );
    P( A, B, C, D,  9,  4, 0xD9D4D039 );
    P( D, A, B, C, 12, 11, 0xE6DB99E5 );
    P( C, D, A, B, 15, 16, 0x1FA27CF8 );
    P( B, C, D, A,  2, 23, 0xC4AC5665 );

#undef F

#define F(x,y,z) (y ^ (x | ~z))

    P( A, B, C, D,  0,  6, 0xF4292244 );
    P( D, A, B, C,  7, 10, 0x432AFF97 );
    P( C, D, A, B, 14, 15, 0xAB9423A7 );
    P( B, C, D, A,  5, 21, 0xFC93A039 );
    P( A, B, C, D, 12,  6, 0x655B59C3 );
    P( D, A, B, C,  3, 10, 0x8F0CCC92 );
    P( C, D, A, B, 10, 15, 0xFFEFF47D );
    P( B, C, D, A,  1, 21, 0x85845DD1 );
    P( A, B, C, D,  8,  6, 0x6FA87E4F );
    P( D, A, B, C, 15, 10, 0xFE2CE6E0 );
    P( C, D, A, B,  6, 15, 0xA3014314 );
    P( B, C, D, A, 13, 21, 0x4E0811A1 );
    P( A, B, C, D,  4,  6, 0xF7537E82 );
    P( D, A, B, C, 11, 10, 0xBD3AF235 );
    P( C, D, A, B,  2, 15, 0x2AD7D2BB );
    P( B, C, D, A,  9, 21, 0xEB86D391 );

#undef F

    ctx->state[0] += A;
    ctx->state[1] += B;
    ctx->state[2] += C;
    ctx->state[3] += D;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rsi, %r9
movl (%rsi), %r10d
movq %r10, -0x30(%rsp)
movl 0x4(%rsi), %r12d
movl 0x8(%rsi), %r8d
movl 0xc(%rsi), %r14d
movq %r14, -0x60(%rsp)
movq %rdi, %rax
movq %rdi, -0x8(%rsp)
movq 0x10(%rdi), %rdi
movq %rdi, 0x10(%rsp)
movq 0x18(%rax), %rbx
movq 0x20(%rax), %rdx
movq 0x28(%rax), %rcx
movq %rcx, %rax
xorq %rdx, %rax
andq %rbx, %rax
xorq %rcx, %rax
movq %rcx, %rsi
movq %rcx, 0x8(%rsp)
addq %r10, %rax
addq %rdi, %rax
movl $0x85845dd1, %r10d      # imm = 0x85845DD1
addq %r10, %rax
addq $0x51e646a7, %rax       # imm = 0x51E646A7
movq %rax, %rcx
shlq $0x7, %rcx
shrl $0x19, %eax
addq %rbx, %rcx
addq %rax, %rcx
movq %rdx, %rax
xorq %rbx, %rax
andq %rcx, %rax
xorq %rdx, %rax
movq %rdx, %rdi
movq %rdx, (%rsp)
movq %r12, -0x48(%rsp)
addq %r12, %rax
addq %rsi, %rax
addq %r10, %rax
addq $0x63435985, %rax       # imm = 0x63435985
movq %rax, %rsi
shlq $0xc, %rsi
shrl $0x14, %eax
addq %rcx, %rsi
addq %rax, %rsi
movq %rcx, %rax
xorq %rbx, %rax
andq %rsi, %rax
xorq %rbx, %rax
movq %rbx, -0x10(%rsp)
leaq (%r8,%rdi), %rdx
movq %r8, %r13
addq %rdx, %rax
addq $0x242070db, %rax       # imm = 0x242070DB
movq %rax, %rdx
shlq $0x11, %rdx
shrl $0xf, %eax
addq %rsi, %rdx
addq %rax, %rdx
movq %rsi, %rax
xorq %rcx, %rax
andq %rdx, %rax
xorq %rcx, %rax
addq %r14, %rax
addq %rbx, %rax
leaq (%r10,%rax), %r8
addq $0x3c39711d, %r8        # imm = 0x3C39711D
movq %r8, %rax
shlq $0x16, %rax
shrl $0xa, %r8d
addq %rdx, %rax
addq %r8, %rax
movq %rdx, %r8
xorq %rsi, %r8
andq %rax, %r8
xorq %rsi, %r8
movl 0x10(%r9), %edi
movq %rdi, -0x58(%rsp)
addq %rdi, %rcx
addq %r8, %rcx
addq %r10, %rcx
addq $0x6ff7b1de, %rcx       # imm = 0x6FF7B1DE
movq %rcx, %r11
shlq $0x7, %r11
shrl $0x19, %ecx
addq %rax, %r11
addq %rcx, %r11
movq %rax, %rcx
xorq %rdx, %rcx
andq %r11, %rcx
xorq %rdx, %rcx
movl 0x14(%r9), %edi
movq %rdi, -0x80(%rsp)
addq %rdi, %rsi
addq %rcx, %rsi
addq $0x4787c62a, %rsi       # imm = 0x4787C62A
movq %rsi, %rcx
shlq $0xc, %rcx
shrl $0x14, %esi
addq %r11, %rcx
addq %rsi, %rcx
movq %r11, %rsi
xorq %rax, %rsi
andq %rcx, %rsi
xorq %rax, %rsi
movl 0x18(%r9), %edi
addq %rdi, %rdx
movq %rdi, -0x50(%rsp)
addq %rsi, %rdx
addq %r10, %rdx
addq $0x22abe842, %rdx       # imm = 0x22ABE842
movq %rdx, %r8
shlq $0x11, %r8
shrl $0xf, %edx
addq %rcx, %r8
addq %rdx, %r8
movq %rcx, %rdx
xorq %r11, %rdx
andq %r8, %rdx
xorq %r11, %rdx
movl 0x1c(%r9), %esi
movq %rsi, -0x68(%rsp)
addq %rsi, %rax
addq %rdx, %rax
leaq (%r10,%rax), %rdx
addq $0x77c23730, %rdx       # imm = 0x77C23730
movq %rdx, %rax
shlq $0x16, %rax
shrl $0xa, %edx
addq %r8, %rax
addq %rdx, %rax
movq %r8, %rdx
xorq %rcx, %rdx
andq %rax, %rdx
xorq %rcx, %rdx
movl 0x20(%r9), %esi
movq %rsi, -0x70(%rsp)
addq %rsi, %r11
addq %r11, %rdx
addq $0x698098d8, %rdx       # imm = 0x698098D8
movq %rdx, %r14
shlq $0x7, %r14
shrl $0x19, %edx
addq %rax, %r14
addq %rdx, %r14
movq %rax, %rdx
xorq %r8, %rdx
andq %r14, %rdx
xorq %r8, %rdx
movl 0x24(%r9), %r15d
addq %r15, %rcx
movq %r15, -0x38(%rsp)
addq %rdx, %rcx
leaq (%r10,%rcx), %rdx
addq $0x5c099de, %rdx        # imm = 0x5C099DE
movq %rdx, %rcx
shlq $0xc, %rcx
shrl $0x14, %edx
addq %r14, %rcx
addq %rdx, %rcx
movq %r14, %rdx
xorq %rax, %rdx
andq %rcx, %rdx
xorq %rax, %rdx
movl 0x28(%r9), %esi
addq %rsi, %r8
movq %rsi, %r11
movq %rsi, -0x28(%rsp)
addq %rdx, %r8
leaq (%r10,%r8), %rsi
addq $0x7a7afde0, %rsi       # imm = 0x7A7AFDE0
movq %rsi, %rdx
shlq $0x11, %rdx
shrl $0xf, %esi
addq %rcx, %rdx
addq %rsi, %rdx
movq %rcx, %rsi
xorq %r14, %rsi
andq %rdx, %rsi
xorq %r14, %rsi
movl 0x2c(%r9), %r8d
addq %r8, %rax
movq %r8, -0x40(%rsp)
addq %rsi, %rax
addq %r10, %rax
addq $0x3d879ed, %rax        # imm = 0x3D879ED
movq %rax, %rsi
shlq $0x16, %rsi
shrl $0xa, %eax
addq %rdx, %rsi
addq %rax, %rsi
movq %rdx, %rax
xorq %rcx, %rax
andq %rsi, %rax
xorq %rcx, %rax
movl 0x30(%r9), %ebx
movq %rbx, -0x20(%rsp)
addq %rbx, %r14
addq %rax, %r14
addq $0x6b901122, %r14       # imm = 0x6B901122
movq %r14, %rax
shlq $0x7, %rax
shrl $0x19, %r14d
addq %rsi, %rax
addq %r14, %rax
movq %rsi, %r14
xorq %rdx, %r14
andq %rax, %r14
xorq %rdx, %r14
movl 0x34(%r9), %ebx
movq %rbx, -0x78(%rsp)
addq %rbx, %rcx
addq %r14, %rcx
leaq (%r10,%rcx), %r14
addq $0x781413c2, %r14       # imm = 0x781413C2
movq %r14, %rcx
shlq $0xc, %rcx
shrl $0x14, %r14d
addq %rax, %rcx
addq %r14, %rcx
movq %rax, %r14
xorq %rsi, %r14
andq %rcx, %r14
xorq %rsi, %r14
movl 0x38(%r9), %ebp
addq %rbp, %rdx
addq %r14, %rdx
leaq (%r10,%rdx), %r14
addq $0x20f4e5bd, %r14       # imm = 0x20F4E5BD
movq %r14, %rdx
shlq $0x11, %rdx
shrl $0xf, %r14d
addq %rcx, %rdx
addq %r14, %rdx
movl 0x3c(%r9), %ebx
movq %rcx, %r9
xorq %rax, %r9
andq %rdx, %r9
xorq %rax, %r9
addq %rbx, %rsi
movq %rbx, -0x18(%rsp)
addq %rsi, %r9
addq $0x49b40821, %r9        # imm = 0x49B40821
movq %r9, %rsi
shlq $0x16, %rsi
shrl $0xa, %r9d
addq %rdx, %rsi
addq %r9, %rsi
movq %rsi, %r9
xorq %rdx, %r9
andq %rcx, %r9
xorq %rdx, %r9
addq %r12, %rax
addq %r9, %rax
leaq (%r10,%rax), %r9
addq $0x7099c791, %r9        # imm = 0x7099C791
movq %r9, %rax
shlq $0x5, %rax
shrl $0x1b, %r9d
addq %rsi, %rax
addq %r9, %rax
movq %rax, %r9
xorq %rsi, %r9
andq %rdx, %r9
xorq %rsi, %r9
addq %rdi, %rcx
addq %r9, %rcx
addq %r10, %rcx
addq $0x3abc556f, %rcx       # imm = 0x3ABC556F
movq %rcx, %r9
shlq $0x9, %r9
shrl $0x17, %ecx
addq %rax, %r9
addq %rcx, %r9
movq %r9, %rcx
xorq %rax, %rcx
andq %rsi, %rcx
xorq %rax, %rcx
addq %r8, %rdx
addq %rcx, %rdx
addq $0x265e5a51, %rdx       # imm = 0x265E5A51
movq %rdx, %rcx
shlq $0xe, %rcx
shrl $0x12, %edx
addq %r9, %rcx
addq %rdx, %rcx
movq %rcx, %rdx
xorq %r9, %rdx
andq %rax, %rdx
xorq %r9, %rdx
addq -0x30(%rsp), %rsi
addq %rdx, %rsi
leaq (%r10,%rsi), %rdx
addq $0x643269d9, %rdx       # imm = 0x643269D9
movq %rdx, %rsi
shlq $0x14, %rsi
shrl $0xc, %edx
addq %rcx, %rsi
addq %rdx, %rsi
movq %rsi, %rdx
xorq %rcx, %rdx
andq %r9, %rdx
xorq %rcx, %rdx
movq -0x80(%rsp), %r8
addq %r8, %rax
addq %rdx, %rax
addq %r10, %rax
addq $0x50aab28c, %rax       # imm = 0x50AAB28C
movq %rax, %rdx
shlq $0x5, %rdx
shrl $0x1b, %eax
addq %rsi, %rdx
addq %rax, %rdx
movq %rdx, %rax
xorq %rsi, %rax
andq %rcx, %rax
xorq %rsi, %rax
addq %r11, %r9
addq %rax, %r9
addq $0x2441453, %r9         # imm = 0x2441453
movq %r9, %rax
shlq $0x9, %rax
shrl $0x17, %r9d
addq %rdx, %rax
addq %r9, %rax
movq %rax, %r9
xorq %rdx, %r9
andq %rsi, %r9
xorq %rdx, %r9
addq %rbx, %rcx
addq %r9, %rcx
leaq (%r10,%rcx), %r9
addq $0x531d88b0, %r9        # imm = 0x531D88B0
movq %r9, %rcx
shlq $0xe, %rcx
shrl $0x12, %r9d
addq %rax, %rcx
addq %r9, %rcx
movq %rcx, %r9
xorq %rax, %r9
andq %rdx, %r9
xorq %rax, %r9
movq -0x58(%rsp), %rbx
addq %rbx, %rsi
addq %r9, %rsi
addq %r10, %rsi
addq $0x624f9df7, %rsi       # imm = 0x624F9DF7
movq %rsi, %r9
shlq $0x14, %r9
shrl $0xc, %esi
addq %rcx, %r9
addq %rsi, %r9
movq %r9, %rsi
xorq %rcx, %rsi
andq %rax, %rsi
xorq %rcx, %rsi
addq %r15, %rdx
addq %rsi, %rdx
addq $0x21e1cde6, %rdx       # imm = 0x21E1CDE6
movq %rdx, %rsi
shlq $0x5, %rsi
shrl $0x1b, %edx
addq %r9, %rsi
addq %rdx, %rsi
movq %rsi, %rdx
xorq %r9, %rdx
andq %rcx, %rdx
xorq %r9, %rdx
addq %rbp, %rax
addq %rdx, %rax
leaq (%r10,%rax), %rdx
addq $0x3db2aa05, %rdx       # imm = 0x3DB2AA05
movq %rdx, %rax
shlq $0x9, %rax
shrl $0x17, %edx
addq %rsi, %rax
addq %rdx, %rax
movq %rax, %rdx
xorq %rsi, %rdx
andq %r9, %rdx
xorq %rsi, %rdx
addq -0x60(%rsp), %rcx
addq %rdx, %rcx
addq %r10, %rcx
addq $0x6f50afb6, %rcx       # imm = 0x6F50AFB6
movq %rcx, %rdx
shlq $0xe, %rdx
shrl $0x12, %ecx
addq %rax, %rdx
addq %rcx, %rdx
movq %rdx, %rcx
xorq %rax, %rcx
andq %rsi, %rcx
xorq %rax, %rcx
movq -0x70(%rsp), %r15
addq %r15, %r9
addq %rcx, %r9
addq $0x455a14ed, %r9        # imm = 0x455A14ED
movq %r9, %rcx
shlq $0x14, %rcx
shrl $0xc, %r9d
addq %rdx, %rcx
addq %r9, %rcx
movq %rcx, %r9
xorq %rdx, %r9
andq %rax, %r9
xorq %rdx, %r9
movq -0x78(%rsp), %r12
addq %r12, %rsi
addq %r9, %rsi
leaq (%r10,%rsi), %r9
addq $0x245f8b34, %r9        # imm = 0x245F8B34
movq %r9, %rsi
shlq $0x5, %rsi
shrl $0x1b, %r9d
addq %rcx, %rsi
addq %r9, %rsi
movq %rsi, %r9
xorq %rcx, %r9
andq %rdx, %r9
xorq %rcx, %r9
movq %r13, %r14
addq %r13, %rax
addq %r9, %rax
leaq (%r10,%rax), %r9
addq $0x776b4627, %r9        # imm = 0x776B4627
movq %r9, %rax
shlq $0x9, %rax
shrl $0x17, %r9d
addq %rsi, %rax
addq %r9, %rax
movq %rax, %r9
xorq %rsi, %r9
andq %rcx, %r9
xorq %rsi, %r9
movq -0x68(%rsp), %r11
addq %r11, %rdx
addq %rdx, %r9
addq $0x676f02d9, %r9        # imm = 0x676F02D9
movq %r9, %rdi
shlq $0xe, %rdi
shrl $0x12, %r9d
addq %rax, %rdi
addq %r9, %rdi
movq %rdi, %rdx
xorq %rax, %rdx
movq %rdx, %r9
andq %rsi, %r9
xorq %rax, %r9
movq -0x20(%rsp), %r13
addq %r13, %rcx
addq %r9, %rcx
addq %r10, %rcx
addq $0x7a5eeb9, %rcx        # imm = 0x7A5EEB9
movq %rcx, %r9
shlq $0x14, %r9
shrl $0xc, %ecx
addq %rdi, %r9
addq %rcx, %r9
xorq %r9, %rdx
addq %r8, %rsi
addq %rdx, %rsi
leaq (%r10,%rsi), %rdx
addq $0x7a75db71, %rdx       # imm = 0x7A75DB71
movq %rdx, %rcx
shlq $0x4, %rcx
shrl $0x1c, %edx
addq %r9, %rcx
addq %rdx, %rcx
movq %r9, %rdx
xorq %rdi, %rdx
xorq %rcx, %rdx
addq %r15, %rax
addq %rdx, %rax
addq %r10, %rax
addq $0x1ed98b0, %rax        # imm = 0x1ED98B0
movq %rax, %rsi
shlq $0xb, %rsi
shrl $0x15, %eax
addq %rcx, %rsi
addq %rax, %rsi
movq %rcx, %rax
xorq %r9, %rax
xorq %rsi, %rax
addq -0x40(%rsp), %rdi
leaq (%rax,%rdi), %rdx
addq $0x6d9d6122, %rdx       # imm = 0x6D9D6122
movq %rdx, %rax
shlq $0x10, %rax
shrl $0x10, %edx
addq %rsi, %rax
addq %rdx, %rax
movq %rsi, %rdx
xorq %rcx, %rdx
xorq %rax, %rdx
addq %rbp, %r9
addq %rdx, %r9
leaq (%r10,%r9), %rdi
addq $0x7860da3b, %rdi       # imm = 0x7860DA3B
movq %rdi, %rdx
shlq $0x17, %rdx
shrl $0x9, %edi
addq %rax, %rdx
addq %rdi, %rdx
movq %rax, %rdi
xorq %rsi, %rdi
xorq %rdx, %rdi
addq -0x48(%rsp), %rcx
addq %rdi, %rcx
addq %r10, %rcx
addq $0x1f3a8c73, %rcx       # imm = 0x1F3A8C73
movq %rcx, %r9
shlq $0x4, %r9
shrl $0x1c, %ecx
addq %rdx, %r9
addq %rcx, %r9
movq %rdx, %rcx
xorq %rax, %rcx
xorq %r9, %rcx
addq %rbx, %rsi
addq %rcx, %rsi
addq $0x4bdecfa9, %rsi       # imm = 0x4BDECFA9
movq %rsi, %rcx
shlq $0xb, %rcx
shrl $0x15, %esi
addq %r9, %rcx
addq %rsi, %rcx
movq %r9, %rsi
xorq %rdx, %rsi
xorq %rcx, %rsi
addq %r11, %rax
addq %rsi, %rax
leaq (%r10,%rax), %rsi
addq $0x7136ed8f, %rsi       # imm = 0x7136ED8F
movq %rsi, %rax
shlq $0x10, %rax
shrl $0x10, %esi
addq %rcx, %rax
addq %rsi, %rax
movq %rcx, %rsi
xorq %r9, %rsi
xorq %rax, %rsi
movq -0x28(%rsp), %r15
addq %r15, %rdx
addq %rsi, %rdx
addq %r10, %rdx
addq $0x393b5e9f, %rdx       # imm = 0x393B5E9F
movq %rdx, %rsi
shlq $0x17, %rsi
shrl $0x9, %edx
addq %rax, %rsi
addq %rdx, %rsi
movq %rax, %rdx
xorq %rcx, %rdx
xorq %rsi, %rdx
addq %r12, %r9
leaq (%rdx,%r9), %rdi
addq $0x289b7ec6, %rdi       # imm = 0x289B7EC6
movq %rdi, %rdx
shlq $0x4, %rdx
shrl $0x1c, %edi
addq %rsi, %rdx
addq %rdi, %rdx
movq %rsi, %rdi
xorq %rax, %rdi
xorq %rdx, %rdi
movq -0x30(%rsp), %r12
addq %r12, %rcx
addq %rdi, %rcx
leaq (%r10,%rcx), %rdi
addq $0x651cca29, %rdi       # imm = 0x651CCA29
movq %rdi, %rcx
shlq $0xb, %rcx
shrl $0x15, %edi
addq %rdx, %rcx
addq %rdi, %rcx
movq %rdx, %rdi
xorq %rsi, %rdi
xorq %rcx, %rdi
movq -0x60(%rsp), %r11
addq %r11, %rax
addq %rdi, %rax
leaq (%r10,%rax), %rdi
addq $0x4f6ad2b4, %rdi       # imm = 0x4F6AD2B4
movq %rdi, %rax
shlq $0x10, %rax
shrl $0x10, %edi
addq %rcx, %rax
addq %rdi, %rax
movq %rcx, %rdi
xorq %rdx, %rdi
xorq %rax, %rdi
addq -0x50(%rsp), %rsi
addq %rdi, %rsi
addq $0x4881d05, %rsi        # imm = 0x4881D05
movq %rsi, %r9
shlq $0x17, %r9
shrl $0x9, %esi
addq %rax, %r9
addq %rsi, %r9
movq %rax, %rsi
xorq %rcx, %rsi
xorq %r9, %rsi
addq -0x38(%rsp), %rdx
addq %rsi, %rdx
leaq (%r10,%rdx), %rsi
addq $0x54507268, %rsi       # imm = 0x54507268
movq %rsi, %rdx
shlq $0x4, %rdx
shrl $0x1c, %esi
addq %r9, %rdx
addq %rsi, %rdx
movq %r9, %rsi
xorq %rax, %rsi
xorq %rdx, %rsi
addq %r13, %rcx
addq %rsi, %rcx
addq %r10, %rcx
addq $0x61573c14, %rcx       # imm = 0x61573C14
movq %rcx, %rsi
shlq $0xb, %rsi
shrl $0x15, %ecx
addq %rdx, %rsi
addq %rcx, %rsi
movq %rdx, %rcx
xorq %r9, %rcx
xorq %rsi, %rcx
movq -0x18(%rsp), %rbx
addq %rbx, %rax
addq %rax, %rcx
addq $0x1fa27cf8, %rcx       # imm = 0x1FA27CF8
movq %rcx, %rax
shlq $0x10, %rax
shrl $0x10, %ecx
addq %rsi, %rax
addq %rcx, %rax
movq %rsi, %rcx
xorq %rdx, %rcx
xorq %rax, %rcx
addq %r14, %r9
addq %rcx, %r9
leaq (%r10,%r9), %rdi
addq $0x3f27f894, %rdi       # imm = 0x3F27F894
movq %rdi, %rcx
shlq $0x17, %rcx
shrl $0x9, %edi
addq %rax, %rcx
addq %rdi, %rcx
addq %r12, %rdx
movq %rsi, %rdi
notq %rdi
orq %rcx, %rdi
xorq %rax, %rdi
addq %rdi, %rdx
addq %r10, %rdx
addq $0x6ea4c473, %rdx       # imm = 0x6EA4C473
movq %rdx, %r12
shlq $0x6, %r12
shrl $0x1a, %edx
addq %rcx, %r12
addq %rdx, %r12
addq -0x68(%rsp), %rsi
movq %rax, %rdx
notq %rdx
orq %r12, %rdx
xorq %rcx, %rdx
addq %rsi, %rdx
addq $0x432aff97, %rdx       # imm = 0x432AFF97
movq %rdx, %r9
shlq $0xa, %r9
shrl $0x16, %edx
addq %r12, %r9
addq %rdx, %r9
addq %rbp, %rax
movq %rcx, %rdx
notq %rdx
orq %r9, %rdx
xorq %r12, %rdx
addq %rdx, %rax
addq %r10, %rax
addq $0x260fc5d6, %rax       # imm = 0x260FC5D6
movq %rax, %rbp
shlq $0xf, %rbp
shrl $0x11, %eax
addq %r9, %rbp
addq %rax, %rbp
addq -0x80(%rsp), %rcx
movq %r12, %rax
notq %rax
orq %rbp, %rax
xorq %r9, %rax
addq %rax, %rcx
addq %r10, %rcx
addq $0x770f4268, %rcx       # imm = 0x770F4268
movq %rcx, %rax
shlq $0x15, %rax
shrl $0xb, %ecx
addq %rbp, %rax
addq %rcx, %rax
addq %r13, %r12
movq %r9, %rcx
notq %rcx
orq %rax, %rcx
xorq %rbp, %rcx
leaq (%rcx,%r12), %rdx
addq $0x655b59c3, %rdx       # imm = 0x655B59C3
movq %rdx, %rcx
shlq $0x6, %rcx
shrl $0x1a, %edx
addq %rax, %rcx
addq %rdx, %rcx
addq %r11, %r9
movq %rbp, %rdx
notq %rdx
orq %rcx, %rdx
xorq %rax, %rdx
addq %rdx, %r9
leaq (%r10,%r9), %rdx
addq $0x9886ec1, %rdx        # imm = 0x9886EC1
movq %rdx, %r8
shlq $0xa, %r8
shrl $0x16, %edx
addq %rcx, %r8
addq %rdx, %r8
addq %r15, %rbp
movq %rax, %rdx
notq %rdx
orq %r8, %rdx
xorq %rcx, %rdx
addq %rdx, %rbp
leaq (%r10,%rbp), %rdx
addq $0x7a6b96ac, %rdx       # imm = 0x7A6B96AC
movq %rdx, %r9
shlq $0xf, %r9
shrl $0x11, %edx
addq %r8, %r9
addq %rdx, %r9
addq -0x48(%rsp), %rax
movq %rcx, %rdx
notq %rdx
orq %r9, %rdx
xorq %r8, %rdx
addq %r10, %rax
addq %rdx, %rax
movq %rax, %r11
shlq $0x15, %r11
shrl $0xb, %eax
addq %r9, %r11
addq %rax, %r11
addq -0x70(%rsp), %rcx
movq %r8, %rax
notq %rax
orq %r11, %rax
xorq %r9, %rax
addq %rax, %rcx
addq $0x6fa87e4f, %rcx       # imm = 0x6FA87E4F
movq %rcx, %rax
shlq $0x6, %rax
shrl $0x1a, %ecx
addq %r11, %rax
addq %rcx, %rax
addq %rbx, %r8
movq %r9, %rcx
notq %rcx
orq %rax, %rcx
xorq %r11, %rcx
addq %rcx, %r8
leaq (%r10,%r8), %rdx
addq $0x78a8890f, %rdx       # imm = 0x78A8890F
movq %rdx, %rcx
shlq $0xa, %rcx
shrl $0x16, %edx
addq %rax, %rcx
addq %rdx, %rcx
addq -0x50(%rsp), %r9
movq %r11, %rdx
notq %rdx
orq %rcx, %rdx
xorq %rax, %rdx
addq %rdx, %r9
leaq (%r10,%r9), %rdx
addq $0x1d7ce543, %rdx       # imm = 0x1D7CE543
movq %rdx, %r8
shlq $0xf, %r8
shrl $0x11, %edx
addq %rcx, %r8
addq %rdx, %r8
addq -0x78(%rsp), %r11
movq %rax, %rdx
notq %rdx
orq %r8, %rdx
xorq %rcx, %rdx
addq %r11, %rdx
addq $0x4e0811a1, %rdx       # imm = 0x4E0811A1
movq %rdx, %rsi
shlq $0x15, %rsi
shrl $0xb, %edx
addq %r8, %rsi
addq %rdx, %rsi
addq -0x58(%rsp), %rax
movq %rcx, %rdx
notq %rdx
orq %rsi, %rdx
xorq %r8, %rdx
addq %rdx, %rax
leaq (%r10,%rax), %rdx
addq $0x71cf20b1, %rdx       # imm = 0x71CF20B1
movq %rdx, %rax
shlq $0x6, %rax
shrl $0x1a, %edx
addq %rsi, %rax
addq %rdx, %rax
addq -0x40(%rsp), %rcx
movq %r8, %rdx
notq %rdx
orq %rax, %rdx
xorq %rsi, %rdx
addq %rdx, %rcx
leaq (%r10,%rcx), %rdx
addq $0x37b69464, %rdx       # imm = 0x37B69464
movq %rdx, %rcx
shlq $0xa, %rcx
shrl $0x16, %edx
addq %rax, %rcx
addq %rdx, %rcx
addq %r14, %r8
movq %rsi, %rdx
notq %rdx
orq %rcx, %rdx
xorq %rax, %rdx
leaq (%rdx,%r8), %rdi
addq $0x2ad7d2bb, %rdi       # imm = 0x2AD7D2BB
movq %rdi, %rdx
shlq $0xf, %rdx
shrl $0x11, %edi
addq %rcx, %rdx
addq %rdi, %rdx
addq -0x38(%rsp), %rsi
movq %rax, %rdi
notq %rdi
orq %rdx, %rdi
xorq %rcx, %rdi
addq %rdi, %rsi
addq %r10, %rsi
addq $0x660275c0, %rsi       # imm = 0x660275C0
addq 0x10(%rsp), %rax
movq -0x8(%rsp), %rdi
movq %rax, 0x10(%rdi)
movq %rsi, %rax
shlq $0x15, %rax
movq -0x10(%rsp), %r8
addq %rdx, %r8
addq %rax, %r8
shrl $0xb, %esi
addq %rsi, %r8
movq %r8, 0x18(%rdi)
addq (%rsp), %rdx
movq %rdx, 0x20(%rdi)
addq 0x8(%rsp), %rcx
movq %rcx, 0x28(%rdi)
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq