// File: /workspace/github_c_makefile_star2_O2/MartinDrab[P]netpipe/aes.c
// Function: rijndaelEncrypt
void rijndaelEncrypt(const u32 *rk, int nrounds, const u8 plaintext[16],
  u8 ciphertext[16])
{
  u32 s0, s1, s2, s3, t0, t1, t2, t3;
  #ifndef FULL_UNROLL
    int r;
  #endif /* ?FULL_UNROLL */
  /*
   * map byte array block to cipher state
   * and add initial round key:
  */
  s0 = GETU32(plaintext     ) ^ rk[0];
  s1 = GETU32(plaintext +  4) ^ rk[1];
  s2 = GETU32(plaintext +  8) ^ rk[2];
  s3 = GETU32(plaintext + 12) ^ rk[3];
  #ifdef FULL_UNROLL
    /* round 1: */
    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[ 4];
    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[ 5];
    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[ 6];
    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[ 7];
    /* round 2: */
    s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[ 8];
    s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[ 9];
    s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[10];
    s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[11];
    /* round 3: */
    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[12];
    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[13];
    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[14];
    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[15];
    /* round 4: */
    s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[16];
    s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[17];
    s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[18];
    s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[19];
    /* round 5: */
    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[20];
    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[21];
    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[22];
    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[23];
    /* round 6: */
    s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[24];
    s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[25];
    s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[26];
    s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[27];
    /* round 7: */
    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[28];
    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[29];
    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[30];
    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[31];
    /* round 8: */
    s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[32];
    s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[33];
    s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[34];
    s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[35];
    /* round 9: */
    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[36];
    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[37];
    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[38];
    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[39];
    if (nrounds > 10)
    {
      /* round 10: */
      s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[40];
      s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[41];
      s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[42];
      s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[43];
      /* round 11: */
      t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[44];
      t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[45];
      t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[46];
      t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[47];
      if (nrounds > 12)
      {
        /* round 12: */
        s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >>  8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[48];
        s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >>  8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[49];
        s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >>  8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[50];
        s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >>  8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[51];
        /* round 13: */
        t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >>  8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[52];
        t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >>  8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[53];
        t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >>  8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[54];
        t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >>  8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[55];
      }
    }
    rk += nrounds << 2;
  #else  /* !FULL_UNROLL */
    /*
    * nrounds - 1 full rounds:
    */
    r = nrounds >> 1;
    for (;;)
    {
      t0 =
        Te0[(s0 >> 24)       ] ^
        Te1[(s1 >> 16) & 0xff] ^
        Te2[(s2 >>  8) & 0xff] ^
        Te3[(s3      ) & 0xff] ^
        rk[4];
      t1 =
        Te0[(s1 >> 24)       ] ^
        Te1[(s2 >> 16) & 0xff] ^
        Te2[(s3 >>  8) & 0xff] ^
        Te3[(s0      ) & 0xff] ^
        rk[5];
      t2 =
        Te0[(s2 >> 24)       ] ^
        Te1[(s3 >> 16) & 0xff] ^
        Te2[(s0 >>  8) & 0xff] ^
        Te3[(s1      ) & 0xff] ^
        rk[6];
      t3 =
        Te0[(s3 >> 24)       ] ^
        Te1[(s0 >> 16) & 0xff] ^
        Te2[(s1 >>  8) & 0xff] ^
        Te3[(s2      ) & 0xff] ^
        rk[7];
        rk += 8;
        if (--r == 0)
            break;
      s0 =
        Te0[(t0 >> 24)       ] ^
        Te1[(t1 >> 16) & 0xff] ^
        Te2[(t2 >>  8) & 0xff] ^
        Te3[(t3      ) & 0xff] ^
        rk[0];
      s1 =
        Te0[(t1 >> 24)       ] ^
        Te1[(t2 >> 16) & 0xff] ^
        Te2[(t3 >>  8) & 0xff] ^
        Te3[(t0      ) & 0xff] ^
        rk[1];
      s2 =
        Te0[(t2 >> 24)       ] ^
        Te1[(t3 >> 16) & 0xff] ^
        Te2[(t0 >>  8) & 0xff] ^
        Te3[(t1      ) & 0xff] ^
        rk[2];
      s3 =
        Te0[(t3 >> 24)       ] ^
        Te1[(t0 >> 16) & 0xff] ^
        Te2[(t1 >>  8) & 0xff] ^
        Te3[(t2      ) & 0xff] ^
        rk[3];
     }
 #endif /* ?FULL_UNROLL */
  /*
  * apply last round and
  * map cipher state to byte array block:
  */
  s0 =
    (Te4[(t0 >> 24)       ] & 0xff000000) ^
    (Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
    (Te4[(t2 >>  8) & 0xff] & 0x0000ff00) ^
    (Te4[(t3      ) & 0xff] & 0x000000ff) ^
    rk[0];
  PUTU32(ciphertext     , s0);
  s1 =
    (Te4[(t1 >> 24)       ] & 0xff000000) ^
    (Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
    (Te4[(t3 >>  8) & 0xff] & 0x0000ff00) ^
    (Te4[(t0      ) & 0xff] & 0x000000ff) ^
    rk[1];
  PUTU32(ciphertext +  4, s1);
  s2 =
    (Te4[(t2 >> 24)       ] & 0xff000000) ^
    (Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
    (Te4[(t0 >>  8) & 0xff] & 0x0000ff00) ^
    (Te4[(t1      ) & 0xff] & 0x000000ff) ^
    rk[2];
  PUTU32(ciphertext +  8, s2);
  s3 =
    (Te4[(t3 >> 24)       ] & 0xff000000) ^
    (Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
    (Te4[(t1 >>  8) & 0xff] & 0x0000ff00) ^
    (Te4[(t2      ) & 0xff] & 0x000000ff) ^
    rk[3];
  PUTU32(ciphertext + 12, s3);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl (%rdx), %ebx
bswapl %ebx
xorq (%rdi), %rbx
movl 0x4(%rdx), %r8d
bswapl %r8d
xorq 0x8(%rdi), %r8
movl 0x8(%rdx), %r9d
bswapl %r9d
xorq 0x10(%rdi), %r9
movl 0xc(%rdx), %r15d
bswapl %r15d
xorq 0x18(%rdi), %r15
movq %rbx, %rax
shrq $0x18, %rax
leaq 0x7fd5(%rip), %r11      # 0xa860
movl %r8d, %edx
shrl $0xd, %edx
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %edx
leaq 0x87bf(%rip), %r10      # 0xb060
movq (%rdx,%r10), %rdx
xorq (%r11,%rax,8), %rdx
movl %r9d, %r10d
shrl $0x8, %r10d
movl $0xff, %r13d
andl %r13d, %r10d
leaq 0x8fa0(%rip), %rax      # 0xb860
xorq (%rax,%r10,8), %rdx
movl %r15d, %r10d
andl %r13d, %r10d
leaq 0x978f(%rip), %rbp      # 0xc060
xorq (%rbp,%r10,8), %rdx
movq %r8, %r10
shrq $0x18, %r10
movl %r9d, %r14d
shrl $0xd, %r14d
movl $0x7f8, %r12d           # imm = 0x7F8
andl %r12d, %r14d
leaq 0x876c(%rip), %r12      # 0xb060
movq (%r14,%r12), %r14
xorq (%r11,%r10,8), %r14
movl %r15d, %r10d
shrl $0x8, %r10d
andl %r13d, %r10d
xorq (%rax,%r10,8), %r14
movl %ebx, %r10d
andl %r13d, %r10d
xorq (%rbp,%r10,8), %r14
movq %r9, %r10
shrq $0x18, %r10
movl %r15d, %r12d
shrl $0xd, %r12d
movl $0x7f8, %eax            # imm = 0x7F8
andl %eax, %r12d
leaq 0x872e(%rip), %rax      # 0xb060
movq (%r12,%rax), %r12
xorq (%r11,%r10,8), %r12
movl %ebx, %r10d
shrl $0x8, %r10d
andl %r13d, %r10d
leaq 0x8f15(%rip), %rax      # 0xb860
xorq (%rax,%r10,8), %r12
movl %r8d, %r10d
andl %r13d, %r10d
xorq (%rbp,%r10,8), %r12
shrq $0x18, %r15
shrl $0xd, %ebx
movl $0x7f8, %eax            # imm = 0x7F8
andl %eax, %ebx
movl $0xff, %eax
leaq 0x86ec(%rip), %r10      # 0xb060
movq (%rbx,%r10), %rbp
xorq (%r11,%r15,8), %rbp
xorq 0x20(%rdi), %rdx
xorq 0x28(%rdi), %r14
xorq 0x30(%rdi), %r12
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x8eca(%rip), %r13      # 0xb860
xorq (%r13,%r8,8), %rbp
andl %eax, %r9d
leaq 0x96bb(%rip), %r11      # 0xc060
xorq (%r11,%r9,8), %rbp
xorq 0x38(%rdi), %rbp
movq %rdx, %r8
shrq $0x18, %r8
movl %r14d, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r15d           # imm = 0x7F8
andl %r15d, %r9d
movq (%r9,%r10), %rbx
leaq 0x7e91(%rip), %r9       # 0xa860
xorq (%r9,%r8,8), %rbx
movl %r12d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %rbx
movl %ebp, %r8d
andl %eax, %r8d
xorq (%r11,%r8,8), %rbx
movq %r14, %r8
shrq $0x18, %r8
movl %r12d, %r9d
shrl $0xd, %r9d
andl %r15d, %r9d
movq (%r9,%r10), %r15
leaq 0x7e58(%rip), %r9       # 0xa860
xorq (%r9,%r8,8), %r15
movl %ebp, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %r15
movl %edx, %r8d
andl %eax, %r8d
leaq 0x9638(%rip), %r9       # 0xc060
xorq (%r9,%r8,8), %r15
movq %r12, %r8
shrq $0x18, %r8
movl %ebp, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r13d           # imm = 0x7F8
andl %r13d, %r9d
movq (%r9,%r10), %r13
leaq 0x7e12(%rip), %r11      # 0xa860
xorq (%r11,%r8,8), %r13
movl %edx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x8dfd(%rip), %r9       # 0xb860
xorq (%r9,%r8,8), %r13
movl %r14d, %r8d
andl %eax, %r8d
leaq 0x95ec(%rip), %r9       # 0xc060
xorq (%r9,%r8,8), %r13
shrq $0x18, %rbp
shrl $0xd, %edx
movl $0x7f8, %r8d            # imm = 0x7F8
andl %r8d, %edx
movq (%rdx,%r10), %r8
xorq (%r11,%rbp,8), %r8
xorq 0x40(%rdi), %rbx
xorq 0x48(%rdi), %r15
xorq 0x50(%rdi), %r13
movq %rdi, -0x18(%rsp)
shrl $0x8, %r14d
andl %eax, %r14d
leaq 0x8db1(%rip), %r10      # 0xb860
xorq (%r10,%r14,8), %r8
andl %eax, %r12d
movq %r9, %rbp
xorq (%r9,%r12,8), %r8
xorq 0x58(%rdi), %r8
movq %rbx, %r9
shrq $0x18, %r9
movl %r15d, %edx
shrl $0xd, %edx
movl $0x7f8, %r14d           # imm = 0x7F8
andl %r14d, %edx
leaq 0x8582(%rip), %r12      # 0xb060
movq (%rdx,%r12), %rdx
xorq (%r11,%r9,8), %rdx
movl %r13d, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
xorq (%r10,%r9,8), %rdx
movq %r10, %rdi
movl %r8d, %r9d
andl %eax, %r9d
xorq (%rbp,%r9,8), %rdx
movq %r15, %r9
shrq $0x18, %r9
movl %r13d, %r10d
shrl $0xd, %r10d
andl %r14d, %r10d
movq (%r10,%r12), %r14
movq %r12, %rbp
xorq (%r11,%r9,8), %r14
movl %r8d, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
xorq (%rdi,%r9,8), %r14
movl %ebx, %r9d
andl %eax, %r9d
leaq 0x9527(%rip), %rdi      # 0xc060
xorq (%rdi,%r9,8), %r14
movq %r13, %r9
shrq $0x18, %r9
movl %r8d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %r12d           # imm = 0x7F8
andl %r12d, %r10d
movq (%r10,%rbp), %r12
movq %r11, %r10
xorq (%r11,%r9,8), %r12
movl %ebx, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
leaq 0x8cf0(%rip), %r11      # 0xb860
xorq (%r11,%r9,8), %r12
movl %r15d, %r9d
andl %eax, %r9d
xorq (%rdi,%r9,8), %r12
shrq $0x18, %r8
shrl $0xd, %ebx
movl $0x7f8, %edi            # imm = 0x7F8
andl %edi, %ebx
movq (%rbx,%rbp), %r9
xorq (%r10,%r8,8), %r9
movq -0x18(%rsp), %rdi
xorq 0x60(%rdi), %rdx
xorq 0x68(%rdi), %r14
xorq 0x70(%rdi), %r12
shrl $0x8, %r15d
andl %eax, %r15d
xorq (%r11,%r15,8), %r9
andl %eax, %r13d
leaq 0x94a6(%rip), %r15      # 0xc060
xorq (%r15,%r13,8), %r9
xorq 0x78(%rdi), %r9
movq %rdx, %r8
shrq $0x18, %r8
movl %r14d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %edi            # imm = 0x7F8
andl %edi, %r10d
movq (%r10,%rbp), %rbx
leaq 0x7c7d(%rip), %r11      # 0xa860
xorq (%r11,%r8,8), %rbx
movl %r12d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x8c68(%rip), %r13      # 0xb860
xorq (%r13,%r8,8), %rbx
movl %r9d, %r8d
andl %eax, %r8d
xorq (%r15,%r8,8), %rbx
movq %r14, %r8
shrq $0x18, %r8
movl %r12d, %r10d
shrl $0xd, %r10d
andl %edi, %r10d
movq (%r10,%rbp), %r15
movq %rbp, %rdi
xorq (%r11,%r8,8), %r15
movl %r9d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %r15
movq %r13, %r11
movl %edx, %r8d
andl %eax, %r8d
leaq 0x941e(%rip), %rbp      # 0xc060
xorq (%rbp,%r8,8), %r15
movq %r12, %r8
shrq $0x18, %r8
movl %r9d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %r13d           # imm = 0x7F8
andl %r13d, %r10d
movq (%r10,%rdi), %r13
leaq 0x7bf7(%rip), %r10      # 0xa860
xorq (%r10,%r8,8), %r13
movl %edx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r11,%r8,8), %r13
movl %r14d, %r8d
andl %eax, %r8d
xorq (%rbp,%r8,8), %r13
shrq $0x18, %r9
shrl $0xd, %edx
movl $0x7f8, %r8d            # imm = 0x7F8
andl %r8d, %edx
movq %rdi, %r11
movq (%rdx,%rdi), %r8
xorq (%r10,%r9,8), %r8
movq -0x18(%rsp), %rdi
xorq 0x80(%rdi), %rbx
xorq 0x88(%rdi), %r15
xorq 0x90(%rdi), %r13
shrl $0x8, %r14d
andl %eax, %r14d
leaq 0x8b97(%rip), %rdx      # 0xb860
xorq (%rdx,%r14,8), %r8
andl %eax, %r12d
xorq (%rbp,%r12,8), %r8
xorq 0x98(%rdi), %r8
movq %rbx, %r9
shrq $0x18, %r9
movl %r15d, %edx
shrl $0xd, %edx
movl $0x7f8, %r14d           # imm = 0x7F8
andl %r14d, %edx
movq (%rdx,%r11), %rdx
xorq (%r10,%r9,8), %rdx
movl %r13d, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
leaq 0x8b55(%rip), %r12      # 0xb860
xorq (%r12,%r9,8), %rdx
movl %r8d, %r9d
andl %eax, %r9d
xorq (%rbp,%r9,8), %rdx
movq %r15, %r9
shrq $0x18, %r9
movl %r13d, %r10d
shrl $0xd, %r10d
andl %r14d, %r10d
movq (%r10,%r11), %r14
leaq 0x7b2a(%rip), %r10      # 0xa860
xorq (%r10,%r9,8), %r14
movl %r8d, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
xorq (%r12,%r9,8), %r14
movl %ebx, %r9d
andl %eax, %r9d
xorq (%rbp,%r9,8), %r14
movq %r13, %r9
shrq $0x18, %r9
movl %r8d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %ebp            # imm = 0x7F8
andl %ebp, %r10d
movq (%r10,%r11), %r12
leaq 0x7aec(%rip), %r10      # 0xa860
xorq (%r10,%r9,8), %r12
movl %ebx, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
leaq 0x8ad7(%rip), %rdi      # 0xb860
xorq (%rdi,%r9,8), %r12
movl %r15d, %r9d
andl %eax, %r9d
leaq 0x92c6(%rip), %rbp      # 0xc060
xorq (%rbp,%r9,8), %r12
shrq $0x18, %r8
shrl $0xd, %ebx
movl $0x7f8, %r9d            # imm = 0x7F8
andl %r9d, %ebx
leaq 0x82aa(%rip), %r11      # 0xb060
movq (%rbx,%r11), %r9
movq %r11, %rbx
xorq (%r10,%r8,8), %r9
movq -0x18(%rsp), %r8
xorq 0xa0(%r8), %rdx
xorq 0xa8(%r8), %r14
xorq 0xb0(%r8), %r12
shrl $0x8, %r15d
andl %eax, %r15d
xorq (%rdi,%r15,8), %r9
movq %rdi, %r15
andl %eax, %r13d
xorq (%rbp,%r13,8), %r9
movq %rbp, %r13
xorq 0xb8(%r8), %r9
movq %r8, %rdi
movq %rdx, %r8
shrq $0x18, %r8
movl %r14d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %r11d           # imm = 0x7F8
andl %r11d, %r10d
movq (%r10,%rbx), %rbx
leaq 0x7a40(%rip), %r11      # 0xa860
xorq (%r11,%r8,8), %rbx
movl %r12d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r15,%r8,8), %rbx
movq %r15, %rbp
movl %r9d, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %rbx
movq %r14, %r8
shrq $0x18, %r8
movl %r12d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %r15d           # imm = 0x7F8
andl %r15d, %r10d
leaq 0x8202(%rip), %r15      # 0xb060
movq (%r10,%r15), %r15
xorq (%r11,%r8,8), %r15
movl %r9d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%rbp,%r8,8), %r15
movl %edx, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %r15
movq %r13, %rbp
movq %r12, %r8
shrq $0x18, %r8
movl %r9d, %r10d
shrl $0xd, %r10d
movl $0x7f8, %r13d           # imm = 0x7F8
andl %r13d, %r10d
leaq 0x81bf(%rip), %r13      # 0xb060
movq (%r10,%r13), %r13
xorq (%r11,%r8,8), %r13
movl %edx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x89a6(%rip), %r10      # 0xb860
xorq (%r10,%r8,8), %r13
movl %r14d, %r8d
andl %eax, %r8d
xorq (%rbp,%r8,8), %r13
movq %rbp, %r8
shrq $0x18, %r9
shrl $0xd, %edx
movl $0x7f8, %ebp            # imm = 0x7F8
andl %ebp, %edx
leaq 0x817f(%rip), %rbp      # 0xb060
movq (%rdx,%rbp), %rdx
xorq (%r11,%r9,8), %rdx
xorq 0xc0(%rdi), %rbx
xorq 0xc8(%rdi), %r15
xorq 0xd0(%rdi), %r13
shrl $0x8, %r14d
andl %eax, %r14d
xorq (%r10,%r14,8), %rdx
andl %eax, %r12d
xorq (%r8,%r12,8), %rdx
movq %r8, %r11
xorq 0xd8(%rdi), %rdx
movq %rbx, %r8
shrq $0x18, %r8
movl %r15d, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r12d           # imm = 0x7F8
andl %r12d, %r9d
movq (%r9,%rbp), %r14
leaq 0x7924(%rip), %r9       # 0xa860
xorq (%r9,%r8,8), %r14
movl %r13d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r10,%r8,8), %r14
movl %edx, %r8d
andl %eax, %r8d
xorq (%r11,%r8,8), %r14
movq %r15, %r8
shrq $0x18, %r8
movl %r13d, %r9d
shrl $0xd, %r9d
andl %r12d, %r9d
movq (%r9,%rbp), %r12
leaq 0x78ec(%rip), %r9       # 0xa860
xorq (%r9,%r8,8), %r12
movl %edx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r10,%r8,8), %r12
movl %ebx, %r8d
andl %eax, %r8d
xorq (%r11,%r8,8), %r12
movq %r11, %r10
movq %r13, %r8
shrq $0x18, %r8
movl %edx, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r11d           # imm = 0x7F8
andl %r11d, %r9d
movq (%r9,%rbp), %rbp
leaq 0x78ab(%rip), %r9       # 0xa860
xorq (%r9,%r8,8), %rbp
movl %ebx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x8896(%rip), %r11      # 0xb860
xorq (%r11,%r8,8), %rbp
movl %r15d, %r8d
andl %eax, %r8d
xorq (%r10,%r8,8), %rbp
shrq $0x18, %rdx
shrl $0xd, %ebx
movl $0x7f8, %r8d            # imm = 0x7F8
andl %r8d, %ebx
leaq 0x8071(%rip), %r8       # 0xb060
movq (%rbx,%r8), %rbx
xorq (%r9,%rdx,8), %rbx
xorq 0xe0(%rdi), %r14
xorq 0xe8(%rdi), %r12
xorq 0xf0(%rdi), %rbp
shrl $0x8, %r15d
andl %eax, %r15d
xorq (%r11,%r15,8), %rbx
movq %r11, %r9
andl %eax, %r13d
xorq (%r10,%r13,8), %rbx
movq %r10, %r13
xorq 0xf8(%rdi), %rbx
movq %r14, %r8
shrq $0x18, %r8
movl %r12d, %edx
shrl $0xd, %edx
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %edx
leaq 0x8018(%rip), %r15      # 0xb060
movq (%rdx,%r15), %rdx
leaq 0x780d(%rip), %r11      # 0xa860
xorq (%r11,%r8,8), %rdx
movl %ebp, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r9,%r8,8), %rdx
movq %r9, %r10
movl %ebx, %r8d
andl %eax, %r8d
xorq (%r13,%r8,8), %rdx
movq %r12, %r8
shrq $0x18, %r8
movl %ebp, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r13d           # imm = 0x7F8
andl %r13d, %r9d
movq (%r9,%r15), %r13
xorq (%r11,%r8,8), %r13
movl %ebx, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
xorq (%r10,%r8,8), %r13
movl %r14d, %r8d
andl %eax, %r8d
leaq 0x8fb3(%rip), %r9       # 0xc060
xorq (%r9,%r8,8), %r13
movq %rbp, %r9
shrq $0x18, %r9
movl %ebx, %r8d
shrl $0xd, %r8d
movl $0x7f8, %r11d           # imm = 0x7F8
andl %r11d, %r8d
movq (%r8,%r15), %r8
leaq 0x778d(%rip), %r11      # 0xa860
xorq (%r11,%r9,8), %r8
movl %r14d, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
leaq 0x8778(%rip), %r10      # 0xb860
xorq (%r10,%r9,8), %r8
movl %r12d, %r9d
andl %eax, %r9d
leaq 0x8f67(%rip), %r10      # 0xc060
xorq (%r10,%r9,8), %r8
shrq $0x18, %rbx
shrl $0xd, %r14d
movl $0x7f8, %r9d            # imm = 0x7F8
andl %r9d, %r14d
movq (%r14,%r15), %r9
xorq (%r11,%rbx,8), %r9
xorq 0x100(%rdi), %rdx
xorq 0x108(%rdi), %r13
xorq 0x110(%rdi), %r8
shrl $0x8, %r12d
andl %eax, %r12d
leaq 0x8727(%rip), %r10      # 0xb860
xorq (%r10,%r12,8), %r9
andl %eax, %ebp
leaq 0x8f1a(%rip), %r14      # 0xc060
xorq (%r14,%rbp,8), %r9
movq %r11, %r15
movl $0x7f8, %r11d           # imm = 0x7F8
xorq 0x118(%rdi), %r9
movq %rdx, %r10
shrq $0x18, %r10
movl %r13d, %ebx
shrl $0xd, %ebx
andl %r11d, %ebx
leaq 0x7eef(%rip), %r12      # 0xb060
movq (%rbx,%r12), %rdi
xorq (%r15,%r10,8), %rdi
movq %r15, %r11
movl %r8d, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
leaq 0x86d3(%rip), %r15      # 0xb860
xorq (%r15,%r10,8), %rdi
movl %r9d, %r10d
andl %eax, %r10d
xorq (%r14,%r10,8), %rdi
movq %r14, %rbp
movq %r13, %r10
shrq $0x18, %r10
movl %r8d, %r14d
shrl $0xd, %r14d
movl $0x7f8, %ebx            # imm = 0x7F8
andl %ebx, %r14d
movq (%r14,%r12), %r14
xorq (%r11,%r10,8), %r14
movq %r11, %r12
movl %r9d, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
xorq (%r15,%r10,8), %r14
movq %r15, %r11
movl %edx, %r10d
andl %eax, %r10d
xorq (%rbp,%r10,8), %r14
movq %r8, %r10
shrq $0x18, %r10
movl %r9d, %r15d
shrl $0xd, %r15d
andl %ebx, %r15d
leaq 0x7e6d(%rip), %rbx      # 0xb060
movq (%r15,%rbx), %r15
xorq (%r12,%r10,8), %r15
movl %edx, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
xorq (%r11,%r10,8), %r15
movl %r13d, %r10d
andl %eax, %r10d
xorq (%rbp,%r10,8), %r15
shrq $0x18, %r9
shrl $0xd, %edx
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %edx
movq -0x18(%rsp), %r10
movq (%rdx,%rbx), %r12
leaq 0x762c(%rip), %rdx      # 0xa860
xorq (%rdx,%r9,8), %r12
shrl $0x8, %r13d
andl %eax, %r13d
xorq (%r11,%r13,8), %r12
andl %eax, %r8d
xorq (%rbp,%r8,8), %r12
xorq 0x120(%r10), %rdi
xorq 0x128(%r10), %r14
xorq 0x130(%r10), %r15
movq %r10, %r11
xorq 0x138(%r10), %r12
movl %esi, -0xc(%rsp)
cmpl $0xb, %esi
jl 0x36f0
movq %rcx, -0x8(%rsp)
movq %rdi, %r8
shrq $0x18, %r8
movl %r14d, %edx
shrl $0xd, %edx
movl $0x7f8, %ecx            # imm = 0x7F8
andl %ecx, %edx
movl $0x7f8, %r13d           # imm = 0x7F8
leaq 0x7dc3(%rip), %rcx      # 0xb060
movq (%rdx,%rcx), %rdx
movq %rcx, %r10
leaq 0x75b5(%rip), %rbp      # 0xa860
xorq (%rbp,%r8,8), %rdx
movq %rbp, %rbx
movl %r15d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
leaq 0x859c(%rip), %rcx      # 0xb860
xorq (%rcx,%r8,8), %rdx
movq %rcx, %rsi
movl %r12d, %r8d
andl %eax, %r8d
leaq 0x8d88(%rip), %rcx      # 0xc060
xorq (%rcx,%r8,8), %rdx
movq %rcx, %rbp
xorq 0x140(%r11), %rdx
movq %r14, %r8
shrq $0x18, %r8
movl %r15d, %r9d
shrl $0xd, %r9d
andl %r13d, %r9d
movq (%r9,%r10), %r13
movq %r10, %rcx
xorq (%rbx,%r8,8), %r13
movl %r12d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
movq %rsi, %r10
xorq (%rsi,%r8,8), %r13
movl %edi, %r8d
andl %eax, %r8d
xorq (%rbp,%r8,8), %r13
xorq 0x148(%r11), %r13
movq %r15, %r9
shrq $0x18, %r9
movl %r12d, %r8d
shrl $0xd, %r8d
movl $0x7f8, %ebp            # imm = 0x7F8
andl %ebp, %r8d
movq (%r8,%rcx), %r8
movq %rcx, %rsi
xorq (%rbx,%r9,8), %r8
movl %edi, %r9d
shrl $0x8, %r9d
andl %eax, %r9d
xorq (%r10,%r9,8), %r8
movl %r14d, %r9d
andl %eax, %r9d
leaq 0x8cff(%rip), %rcx      # 0xc060
xorq (%rcx,%r9,8), %r8
xorq 0x150(%r11), %r8
shrq $0x18, %r12
shrl $0xd, %edi
andl %ebp, %edi
movq (%rdi,%rsi), %r9
xorq (%rbx,%r12,8), %r9
shrl $0x8, %r14d
andl %eax, %r14d
xorq (%r10,%r14,8), %r9
movq %r10, %r14
andl %eax, %r15d
xorq (%rcx,%r15,8), %r9
movq %rcx, %rbp
xorq 0x158(%r11), %r9
movq %rdx, %r10
shrq $0x18, %r10
movl %r13d, %ebx
shrl $0xd, %ebx
movl $0x7f8, %ecx            # imm = 0x7F8
andl %ecx, %ebx
movq (%rbx,%rsi), %rdi
movq -0x18(%rsp), %rbx
leaq 0x74a0(%rip), %r11      # 0xa860
xorq (%r11,%r10,8), %rdi
movl %r8d, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
movq %r14, %r15
xorq (%r14,%r10,8), %rdi
movl %r9d, %r10d
andl %eax, %r10d
xorq (%rbp,%r10,8), %rdi
movq %r13, %r10
shrq $0x18, %r10
movl %r8d, %r14d
shrl $0xd, %r14d
andl %ecx, %r14d
movq (%r14,%rsi), %r14
movq %rsi, %r12
xorq (%r11,%r10,8), %r14
movq %r11, %rcx
movl %r9d, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
xorq (%r15,%r10,8), %r14
movq %r15, %r11
movl %edx, %r10d
andl %eax, %r10d
xorq (%rbp,%r10,8), %r14
movq %rbp, %rsi
movq %r8, %r10
shrq $0x18, %r10
movl %r9d, %r15d
shrl $0xd, %r15d
movl $0x7f8, %ebp            # imm = 0x7F8
andl %ebp, %r15d
movq (%r15,%r12), %r15
xorq (%rcx,%r10,8), %r15
movl %edx, %r10d
shrl $0x8, %r10d
andl %eax, %r10d
xorq (%r11,%r10,8), %r15
movl %r13d, %r10d
andl %eax, %r10d
xorq (%rsi,%r10,8), %r15
movq %rsi, %r10
shrq $0x18, %r9
shrl $0xd, %edx
andl %ebp, %edx
movq (%rdx,%r12), %r12
xorq (%rcx,%r9,8), %r12
movl -0xc(%rsp), %esi
shrl $0x8, %r13d
andl %eax, %r13d
xorq (%r11,%r13,8), %r12
andl %eax, %r8d
xorq (%r10,%r8,8), %r12
xorq 0x160(%rbx), %rdi
xorq 0x168(%rbx), %r14
xorq 0x170(%rbx), %r15
movq %rbx, %r11
xorq 0x178(%rbx), %r12
cmpl $0xd, %esi
jb 0x36eb
movq %rdi, %rdx
shrq $0x18, %rdx
movl %r14d, %r8d
shrl $0xd, %r8d
movl $0x7f8, %ecx            # imm = 0x7F8
andl %ecx, %r8d
leaq 0x7b9d(%rip), %rcx      # 0xb060
movq (%r8,%rcx), %r13
movq %rcx, %rbx
leaq 0x738f(%rip), %r10      # 0xa860
xorq (%r10,%rdx,8), %r13
movl %r15d, %r8d
shrl $0x8, %r8d
movl $0xff, %edx
andl %edx, %r8d
leaq 0x8375(%rip), %rsi      # 0xb860
xorq (%rsi,%r8,8), %r13
movl %r12d, %r8d
andl %edx, %r8d
leaq 0x8b64(%rip), %rcx      # 0xc060
xorq (%rcx,%r8,8), %r13
xorq 0x180(%r11), %r13
movq %r14, %r8
shrq $0x18, %r8
movl %r15d, %r9d
shrl $0xd, %r9d
andl %ebp, %r9d
movq %rbx, %rcx
movq (%r9,%rbx), %rbp
xorq (%r10,%r8,8), %rbp
movl %r12d, %r8d
shrl $0x8, %r8d
andl %edx, %r8d
xorq (%rsi,%r8,8), %rbp
movl %edi, %r8d
andl %edx, %r8d
leaq 0x8b22(%rip), %rbx      # 0xc060
xorq (%rbx,%r8,8), %rbp
xorq 0x188(%r11), %rbp
movq %r15, %r9
shrq $0x18, %r9
movl %r12d, %r8d
shrl $0xd, %r8d
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %r8d
movq (%r8,%rcx), %r8
movq %rcx, %r10
leaq 0x72f2(%rip), %rcx      # 0xa860
xorq (%rcx,%r9,8), %r8
movl %edi, %r9d
shrl $0x8, %r9d
andl %edx, %r9d
xorq (%rsi,%r9,8), %r8
movq %rsi, %rcx
movl %r14d, %r9d
andl %edx, %r9d
xorq (%rbx,%r9,8), %r8
xorq 0x190(%r11), %r8
shrq $0x18, %r12
shrl $0xd, %edi
movl $0x7f8, %esi            # imm = 0x7F8
andl %esi, %edi
movq (%rdi,%r10), %r9
movq %r10, %rdi
leaq 0x72b0(%rip), %rsi      # 0xa860
xorq (%rsi,%r12,8), %r9
movq %rsi, %r12
shrl $0x8, %r14d
andl %edx, %r14d
xorq (%rcx,%r14,8), %r9
movq %rcx, %rsi
andl %edx, %r15d
movq %rbx, %r14
xorq (%rbx,%r15,8), %r9
xorq 0x198(%r11), %r9
movq %r13, %r10
shrq $0x18, %r10
movl %ebp, %ebx
shrl $0xd, %ebx
movl $0x7f8, %r15d           # imm = 0x7F8
andl %r15d, %ebx
movq %rdi, %rcx
movq (%rbx,%rdi), %rdi
movq -0x18(%rsp), %rbx
xorq (%r12,%r10,8), %rdi
movl %r8d, %r10d
shrl $0x8, %r10d
andl %edx, %r10d
xorq (%rsi,%r10,8), %rdi
movl %r9d, %r10d
andl %edx, %r10d
xorq (%r14,%r10,8), %rdi
movq %rbp, %r10
shrq $0x18, %r10
movl %r8d, %r14d
shrl $0xd, %r14d
andl %r15d, %r14d
movq (%r14,%rcx), %r14
xorq (%r12,%r10,8), %r14
movl %r9d, %r10d
shrl $0x8, %r10d
andl %edx, %r10d
xorq (%rsi,%r10,8), %r14
movl %r13d, %r15d
andl %edx, %r15d
movl %r13d, %r12d
shrl $0x8, %r12d
andl %edx, %r12d
movl %ebp, %r10d
andl %edx, %r10d
shrl $0x8, %ebp
andl %edx, %ebp
andl %r8d, %edx
leaq 0x8a01(%rip), %rcx      # 0xc060
xorq (%rcx,%r15,8), %r14
shrq $0x18, %r8
movl %r9d, %r15d
shrl $0xd, %r15d
movl $0x7f8, %r11d           # imm = 0x7F8
andl %r11d, %r15d
leaq 0x79e2(%rip), %r11      # 0xb060
movq (%r15,%r11), %r15
leaq 0x71d7(%rip), %r11      # 0xa860
xorq (%r11,%r8,8), %r15
xorq 0x1a0(%rbx), %rdi
xorq 0x1a8(%rbx), %r14
leaq 0x81be(%rip), %r8       # 0xb860
xorq (%r8,%r12,8), %r15
xorq (%rcx,%r10,8), %r15
xorq 0x1b0(%rbx), %r15
shrq $0x18, %r9
shrl $0xd, %r13d
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %r13d
leaq 0x7997(%rip), %r10      # 0xb060
movq (%r13,%r10), %r12
leaq 0x718b(%rip), %r10      # 0xa860
xorq (%r10,%r9,8), %r12
xorq (%r8,%rbp,8), %r12
xorq (%rcx,%rdx,8), %r12
movq %rbx, %r11
xorq 0x1b8(%rbx), %r12
movq -0x8(%rsp), %rcx
movl -0xc(%rsp), %edx
shll $0x2, %edx
movslq %edx, %rdx
movq %rdi, %r8
shrq $0x18, %r8
leaq 0x4908(%rip), %rsi      # 0x8010
movzbl 0x3(%rsi,%r8,8), %r8d
shll $0x18, %r8d
movl %r14d, %r9d
shrl $0xd, %r9d
movl $0x7f8, %r10d           # imm = 0x7F8
andl %r10d, %r9d
movzbl 0x2(%r9,%rsi), %r9d
shll $0x10, %r9d
orl %r8d, %r9d
movl %r15d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
movzbl 0x1(%rsi,%r8,8), %r8d
shll $0x8, %r8d
orl %r9d, %r8d
movl %r12d, %r9d
andl %eax, %r9d
movzbl (%rsi,%r9,8), %r9d
orl %r8d, %r9d
xorl (%r11,%rdx,8), %r9d
bswapl %r9d
movl %r9d, (%rcx)
movq %r14, %r8
shrq $0x18, %r8
movzbl 0x3(%rsi,%r8,8), %r8d
shll $0x18, %r8d
movl %r15d, %r9d
shrl $0xd, %r9d
andl %r10d, %r9d
movzbl 0x2(%r9,%rsi), %r9d
shll $0x10, %r9d
orl %r8d, %r9d
movl %r12d, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
movzbl 0x1(%rsi,%r8,8), %r8d
shll $0x8, %r8d
orl %r9d, %r8d
movl %edi, %r9d
andl %eax, %r9d
movzbl (%rsi,%r9,8), %r9d
orl %r8d, %r9d
xorl 0x8(%r11,%rdx,8), %r9d
bswapl %r9d
movl %r9d, 0x4(%rcx)
movq %r15, %r8
shrq $0x18, %r8
movzbl 0x3(%rsi,%r8,8), %r8d
shll $0x18, %r8d
movl %r12d, %r9d
shrl $0xd, %r9d
andl %r10d, %r9d
movzbl 0x2(%r9,%rsi), %r9d
shll $0x10, %r9d
orl %r8d, %r9d
movl %edi, %r8d
shrl $0x8, %r8d
andl %eax, %r8d
movzbl 0x1(%rsi,%r8,8), %r8d
shll $0x8, %r8d
orl %r9d, %r8d
movl %r14d, %r9d
andl %eax, %r9d
movzbl (%rsi,%r9,8), %r9d
orl %r8d, %r9d
xorl 0x10(%r11,%rdx,8), %r9d
bswapl %r9d
movl %r9d, 0x8(%rcx)
shrq $0x18, %r12
movzbl 0x3(%rsi,%r12,8), %r8d
shll $0x18, %r8d
shrl $0xd, %edi
andl %r10d, %edi
movzbl 0x2(%rdi,%rsi), %r9d
shll $0x10, %r9d
orl %r8d, %r9d
shrl $0x8, %r14d
andl %eax, %r14d
movzbl 0x1(%rsi,%r14,8), %r8d
shll $0x8, %r8d
orl %r9d, %r8d
andl %r15d, %eax
movzbl (%rsi,%rax,8), %eax
orl %r8d, %eax
xorl 0x18(%r11,%rdx,8), %eax
bswapl %eax
movl %eax, 0xc(%rcx)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq