void sha1_handle(unsigned int *state, const unsigned char data[64]) {
  unsigned int temp, W[16], A, B, C, D, E;
  {
    (W[0]) = ((unsigned int)(data)[(0)] << 24) |
             ((unsigned int)(data)[(0) + 1] << 16) |
             ((unsigned int)(data)[(0) + 2] << 8) |
             ((unsigned int)(data)[(0) + 3]);
  };
  {
    (W[1]) = ((unsigned int)(data)[(4)] << 24) |
             ((unsigned int)(data)[(4) + 1] << 16) |
             ((unsigned int)(data)[(4) + 2] << 8) |
             ((unsigned int)(data)[(4) + 3]);
  };
  {
    (W[2]) = ((unsigned int)(data)[(8)] << 24) |
             ((unsigned int)(data)[(8) + 1] << 16) |
             ((unsigned int)(data)[(8) + 2] << 8) |
             ((unsigned int)(data)[(8) + 3]);
  };
  {
    (W[3]) = ((unsigned int)(data)[(12)] << 24) |
             ((unsigned int)(data)[(12) + 1] << 16) |
             ((unsigned int)(data)[(12) + 2] << 8) |
             ((unsigned int)(data)[(12) + 3]);
  };
  {
    (W[4]) = ((unsigned int)(data)[(16)] << 24) |
             ((unsigned int)(data)[(16) + 1] << 16) |
             ((unsigned int)(data)[(16) + 2] << 8) |
             ((unsigned int)(data)[(16) + 3]);
  };
  {
    (W[5]) = ((unsigned int)(data)[(20)] << 24) |
             ((unsigned int)(data)[(20) + 1] << 16) |
             ((unsigned int)(data)[(20) + 2] << 8) |
             ((unsigned int)(data)[(20) + 3]);
  };
  {
    (W[6]) = ((unsigned int)(data)[(24)] << 24) |
             ((unsigned int)(data)[(24) + 1] << 16) |
             ((unsigned int)(data)[(24) + 2] << 8) |
             ((unsigned int)(data)[(24) + 3]);
  };
  {
    (W[7]) = ((unsigned int)(data)[(28)] << 24) |
             ((unsigned int)(data)[(28) + 1] << 16) |
             ((unsigned int)(data)[(28) + 2] << 8) |
             ((unsigned int)(data)[(28) + 3]);
  };
  {
    (W[8]) = ((unsigned int)(data)[(32)] << 24) |
             ((unsigned int)(data)[(32) + 1] << 16) |
             ((unsigned int)(data)[(32) + 2] << 8) |
             ((unsigned int)(data)[(32) + 3]);
  };
  {
    (W[9]) = ((unsigned int)(data)[(36)] << 24) |
             ((unsigned int)(data)[(36) + 1] << 16) |
             ((unsigned int)(data)[(36) + 2] << 8) |
             ((unsigned int)(data)[(36) + 3]);
  };
  {
    (W[10]) = ((unsigned int)(data)[(40)] << 24) |
              ((unsigned int)(data)[(40) + 1] << 16) |
              ((unsigned int)(data)[(40) + 2] << 8) |
              ((unsigned int)(data)[(40) + 3]);
  };
  {
    (W[11]) = ((unsigned int)(data)[(44)] << 24) |
              ((unsigned int)(data)[(44) + 1] << 16) |
              ((unsigned int)(data)[(44) + 2] << 8) |
              ((unsigned int)(data)[(44) + 3]);
  };
  {
    (W[12]) = ((unsigned int)(data)[(48)] << 24) |
              ((unsigned int)(data)[(48) + 1] << 16) |
              ((unsigned int)(data)[(48) + 2] << 8) |
              ((unsigned int)(data)[(48) + 3]);
  };
  {
    (W[13]) = ((unsigned int)(data)[(52)] << 24) |
              ((unsigned int)(data)[(52) + 1] << 16) |
              ((unsigned int)(data)[(52) + 2] << 8) |
              ((unsigned int)(data)[(52) + 3]);
  };
  {
    (W[14]) = ((unsigned int)(data)[(56)] << 24) |
              ((unsigned int)(data)[(56) + 1] << 16) |
              ((unsigned int)(data)[(56) + 2] << 8) |
              ((unsigned int)(data)[(56) + 3]);
  };
  {
    (W[15]) = ((unsigned int)(data)[(60)] << 24) |
              ((unsigned int)(data)[(60) + 1] << 16) |
              ((unsigned int)(data)[(60) + 2] << 8) |
              ((unsigned int)(data)[(60) + 3]);
  };
  A = state[0];
  B = state[1];
  C = state[2];
  D = state[3];
  E = state[4];
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (D ^ (B & (C ^ D))) +
         0x5A827999 + W[0];
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (C ^ (A & (B ^ C))) +
         0x5A827999 + W[1];
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (B ^ (E & (A ^ B))) +
         0x5A827999 + W[2];
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (A ^ (D & (E ^ A))) +
         0x5A827999 + W[3];
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (E ^ (C & (D ^ E))) +
         0x5A827999 + W[4];
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (D ^ (B & (C ^ D))) +
         0x5A827999 + W[5];
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (C ^ (A & (B ^ C))) +
         0x5A827999 + W[6];
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (B ^ (E & (A ^ B))) +
         0x5A827999 + W[7];
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (A ^ (D & (E ^ A))) +
         0x5A827999 + W[8];
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (E ^ (C & (D ^ E))) +
         0x5A827999 + W[9];
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (D ^ (B & (C ^ D))) +
         0x5A827999 + W[10];
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (C ^ (A & (B ^ C))) +
         0x5A827999 + W[11];
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (B ^ (E & (A ^ B))) +
         0x5A827999 + W[12];
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (A ^ (D & (E ^ A))) +
         0x5A827999 + W[13];
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (E ^ (C & (D ^ E))) +
         0x5A827999 + W[14];
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (D ^ (B & (C ^ D))) +
         0x5A827999 + W[15];
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (C ^ (A & (B ^ C))) +
         0x5A827999 +
         (temp = W[(16 - 3) & 0x0F] ^ W[(16 - 8) & 0x0F] ^ W[(16 - 14) & 0x0F] ^
                 W[16 & 0x0F],
          (W[16 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (B ^ (E & (A ^ B))) +
         0x5A827999 +
         (temp = W[(17 - 3) & 0x0F] ^ W[(17 - 8) & 0x0F] ^ W[(17 - 14) & 0x0F] ^
                 W[17 & 0x0F],
          (W[17 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (A ^ (D & (E ^ A))) +
         0x5A827999 +
         (temp = W[(18 - 3) & 0x0F] ^ W[(18 - 8) & 0x0F] ^ W[(18 - 14) & 0x0F] ^
                 W[18 & 0x0F],
          (W[18 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (E ^ (C & (D ^ E))) +
         0x5A827999 +
         (temp = W[(19 - 3) & 0x0F] ^ W[(19 - 8) & 0x0F] ^ W[(19 - 14) & 0x0F] ^
                 W[19 & 0x0F],
          (W[19 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0x6ED9EBA1 +
         (temp = W[(20 - 3) & 0x0F] ^ W[(20 - 8) & 0x0F] ^ W[(20 - 14) & 0x0F] ^
                 W[20 & 0x0F],
          (W[20 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0x6ED9EBA1 +
         (temp = W[(21 - 3) & 0x0F] ^ W[(21 - 8) & 0x0F] ^ W[(21 - 14) & 0x0F] ^
                 W[21 & 0x0F],
          (W[21 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0x6ED9EBA1 +
         (temp = W[(22 - 3) & 0x0F] ^ W[(22 - 8) & 0x0F] ^ W[(22 - 14) & 0x0F] ^
                 W[22 & 0x0F],
          (W[22 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0x6ED9EBA1 +
         (temp = W[(23 - 3) & 0x0F] ^ W[(23 - 8) & 0x0F] ^ W[(23 - 14) & 0x0F] ^
                 W[23 & 0x0F],
          (W[23 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0x6ED9EBA1 +
         (temp = W[(24 - 3) & 0x0F] ^ W[(24 - 8) & 0x0F] ^ W[(24 - 14) & 0x0F] ^
                 W[24 & 0x0F],
          (W[24 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0x6ED9EBA1 +
         (temp = W[(25 - 3) & 0x0F] ^ W[(25 - 8) & 0x0F] ^ W[(25 - 14) & 0x0F] ^
                 W[25 & 0x0F],
          (W[25 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0x6ED9EBA1 +
         (temp = W[(26 - 3) & 0x0F] ^ W[(26 - 8) & 0x0F] ^ W[(26 - 14) & 0x0F] ^
                 W[26 & 0x0F],
          (W[26 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0x6ED9EBA1 +
         (temp = W[(27 - 3) & 0x0F] ^ W[(27 - 8) & 0x0F] ^ W[(27 - 14) & 0x0F] ^
                 W[27 & 0x0F],
          (W[27 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0x6ED9EBA1 +
         (temp = W[(28 - 3) & 0x0F] ^ W[(28 - 8) & 0x0F] ^ W[(28 - 14) & 0x0F] ^
                 W[28 & 0x0F],
          (W[28 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0x6ED9EBA1 +
         (temp = W[(29 - 3) & 0x0F] ^ W[(29 - 8) & 0x0F] ^ W[(29 - 14) & 0x0F] ^
                 W[29 & 0x0F],
          (W[29 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0x6ED9EBA1 +
         (temp = W[(30 - 3) & 0x0F] ^ W[(30 - 8) & 0x0F] ^ W[(30 - 14) & 0x0F] ^
                 W[30 & 0x0F],
          (W[30 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0x6ED9EBA1 +
         (temp = W[(31 - 3) & 0x0F] ^ W[(31 - 8) & 0x0F] ^ W[(31 - 14) & 0x0F] ^
                 W[31 & 0x0F],
          (W[31 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0x6ED9EBA1 +
         (temp = W[(32 - 3) & 0x0F] ^ W[(32 - 8) & 0x0F] ^ W[(32 - 14) & 0x0F] ^
                 W[32 & 0x0F],
          (W[32 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0x6ED9EBA1 +
         (temp = W[(33 - 3) & 0x0F] ^ W[(33 - 8) & 0x0F] ^ W[(33 - 14) & 0x0F] ^
                 W[33 & 0x0F],
          (W[33 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0x6ED9EBA1 +
         (temp = W[(34 - 3) & 0x0F] ^ W[(34 - 8) & 0x0F] ^ W[(34 - 14) & 0x0F] ^
                 W[34 & 0x0F],
          (W[34 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0x6ED9EBA1 +
         (temp = W[(35 - 3) & 0x0F] ^ W[(35 - 8) & 0x0F] ^ W[(35 - 14) & 0x0F] ^
                 W[35 & 0x0F],
          (W[35 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0x6ED9EBA1 +
         (temp = W[(36 - 3) & 0x0F] ^ W[(36 - 8) & 0x0F] ^ W[(36 - 14) & 0x0F] ^
                 W[36 & 0x0F],
          (W[36 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0x6ED9EBA1 +
         (temp = W[(37 - 3) & 0x0F] ^ W[(37 - 8) & 0x0F] ^ W[(37 - 14) & 0x0F] ^
                 W[37 & 0x0F],
          (W[37 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0x6ED9EBA1 +
         (temp = W[(38 - 3) & 0x0F] ^ W[(38 - 8) & 0x0F] ^ W[(38 - 14) & 0x0F] ^
                 W[38 & 0x0F],
          (W[38 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0x6ED9EBA1 +
         (temp = W[(39 - 3) & 0x0F] ^ W[(39 - 8) & 0x0F] ^ W[(39 - 14) & 0x0F] ^
                 W[39 & 0x0F],
          (W[39 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) +
         ((B & C) | (D & (B | C))) + 0x8F1BBCDC +
         (temp = W[(40 - 3) & 0x0F] ^ W[(40 - 8) & 0x0F] ^ W[(40 - 14) & 0x0F] ^
                 W[40 & 0x0F],
          (W[40 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) +
         ((A & B) | (C & (A | B))) + 0x8F1BBCDC +
         (temp = W[(41 - 3) & 0x0F] ^ W[(41 - 8) & 0x0F] ^ W[(41 - 14) & 0x0F] ^
                 W[41 & 0x0F],
          (W[41 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) +
         ((E & A) | (B & (E | A))) + 0x8F1BBCDC +
         (temp = W[(42 - 3) & 0x0F] ^ W[(42 - 8) & 0x0F] ^ W[(42 - 14) & 0x0F] ^
                 W[42 & 0x0F],
          (W[42 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) +
         ((D & E) | (A & (D | E))) + 0x8F1BBCDC +
         (temp = W[(43 - 3) & 0x0F] ^ W[(43 - 8) & 0x0F] ^ W[(43 - 14) & 0x0F] ^
                 W[43 & 0x0F],
          (W[43 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) +
         ((C & D) | (E & (C | D))) + 0x8F1BBCDC +
         (temp = W[(44 - 3) & 0x0F] ^ W[(44 - 8) & 0x0F] ^ W[(44 - 14) & 0x0F] ^
                 W[44 & 0x0F],
          (W[44 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) +
         ((B & C) | (D & (B | C))) + 0x8F1BBCDC +
         (temp = W[(45 - 3) & 0x0F] ^ W[(45 - 8) & 0x0F] ^ W[(45 - 14) & 0x0F] ^
                 W[45 & 0x0F],
          (W[45 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) +
         ((A & B) | (C & (A | B))) + 0x8F1BBCDC +
         (temp = W[(46 - 3) & 0x0F] ^ W[(46 - 8) & 0x0F] ^ W[(46 - 14) & 0x0F] ^
                 W[46 & 0x0F],
          (W[46 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) +
         ((E & A) | (B & (E | A))) + 0x8F1BBCDC +
         (temp = W[(47 - 3) & 0x0F] ^ W[(47 - 8) & 0x0F] ^ W[(47 - 14) & 0x0F] ^
                 W[47 & 0x0F],
          (W[47 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) +
         ((D & E) | (A & (D | E))) + 0x8F1BBCDC +
         (temp = W[(48 - 3) & 0x0F] ^ W[(48 - 8) & 0x0F] ^ W[(48 - 14) & 0x0F] ^
                 W[48 & 0x0F],
          (W[48 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) +
         ((C & D) | (E & (C | D))) + 0x8F1BBCDC +
         (temp = W[(49 - 3) & 0x0F] ^ W[(49 - 8) & 0x0F] ^ W[(49 - 14) & 0x0F] ^
                 W[49 & 0x0F],
          (W[49 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) +
         ((B & C) | (D & (B | C))) + 0x8F1BBCDC +
         (temp = W[(50 - 3) & 0x0F] ^ W[(50 - 8) & 0x0F] ^ W[(50 - 14) & 0x0F] ^
                 W[50 & 0x0F],
          (W[50 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) +
         ((A & B) | (C & (A | B))) + 0x8F1BBCDC +
         (temp = W[(51 - 3) & 0x0F] ^ W[(51 - 8) & 0x0F] ^ W[(51 - 14) & 0x0F] ^
                 W[51 & 0x0F],
          (W[51 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) +
         ((E & A) | (B & (E | A))) + 0x8F1BBCDC +
         (temp = W[(52 - 3) & 0x0F] ^ W[(52 - 8) & 0x0F] ^ W[(52 - 14) & 0x0F] ^
                 W[52 & 0x0F],
          (W[52 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) +
         ((D & E) | (A & (D | E))) + 0x8F1BBCDC +
         (temp = W[(53 - 3) & 0x0F] ^ W[(53 - 8) & 0x0F] ^ W[(53 - 14) & 0x0F] ^
                 W[53 & 0x0F],
          (W[53 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) +
         ((C & D) | (E & (C | D))) + 0x8F1BBCDC +
         (temp = W[(54 - 3) & 0x0F] ^ W[(54 - 8) & 0x0F] ^ W[(54 - 14) & 0x0F] ^
                 W[54 & 0x0F],
          (W[54 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) +
         ((B & C) | (D & (B | C))) + 0x8F1BBCDC +
         (temp = W[(55 - 3) & 0x0F] ^ W[(55 - 8) & 0x0F] ^ W[(55 - 14) & 0x0F] ^
                 W[55 & 0x0F],
          (W[55 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) +
         ((A & B) | (C & (A | B))) + 0x8F1BBCDC +
         (temp = W[(56 - 3) & 0x0F] ^ W[(56 - 8) & 0x0F] ^ W[(56 - 14) & 0x0F] ^
                 W[56 & 0x0F],
          (W[56 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) +
         ((E & A) | (B & (E | A))) + 0x8F1BBCDC +
         (temp = W[(57 - 3) & 0x0F] ^ W[(57 - 8) & 0x0F] ^ W[(57 - 14) & 0x0F] ^
                 W[57 & 0x0F],
          (W[57 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) +
         ((D & E) | (A & (D | E))) + 0x8F1BBCDC +
         (temp = W[(58 - 3) & 0x0F] ^ W[(58 - 8) & 0x0F] ^ W[(58 - 14) & 0x0F] ^
                 W[58 & 0x0F],
          (W[58 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) +
         ((C & D) | (E & (C | D))) + 0x8F1BBCDC +
         (temp = W[(59 - 3) & 0x0F] ^ W[(59 - 8) & 0x0F] ^ W[(59 - 14) & 0x0F] ^
                 W[59 & 0x0F],
          (W[59 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0xCA62C1D6 +
         (temp = W[(60 - 3) & 0x0F] ^ W[(60 - 8) & 0x0F] ^ W[(60 - 14) & 0x0F] ^
                 W[60 & 0x0F],
          (W[60 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0xCA62C1D6 +
         (temp = W[(61 - 3) & 0x0F] ^ W[(61 - 8) & 0x0F] ^ W[(61 - 14) & 0x0F] ^
                 W[61 & 0x0F],
          (W[61 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0xCA62C1D6 +
         (temp = W[(62 - 3) & 0x0F] ^ W[(62 - 8) & 0x0F] ^ W[(62 - 14) & 0x0F] ^
                 W[62 & 0x0F],
          (W[62 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0xCA62C1D6 +
         (temp = W[(63 - 3) & 0x0F] ^ W[(63 - 8) & 0x0F] ^ W[(63 - 14) & 0x0F] ^
                 W[63 & 0x0F],
          (W[63 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0xCA62C1D6 +
         (temp = W[(64 - 3) & 0x0F] ^ W[(64 - 8) & 0x0F] ^ W[(64 - 14) & 0x0F] ^
                 W[64 & 0x0F],
          (W[64 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0xCA62C1D6 +
         (temp = W[(65 - 3) & 0x0F] ^ W[(65 - 8) & 0x0F] ^ W[(65 - 14) & 0x0F] ^
                 W[65 & 0x0F],
          (W[65 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0xCA62C1D6 +
         (temp = W[(66 - 3) & 0x0F] ^ W[(66 - 8) & 0x0F] ^ W[(66 - 14) & 0x0F] ^
                 W[66 & 0x0F],
          (W[66 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0xCA62C1D6 +
         (temp = W[(67 - 3) & 0x0F] ^ W[(67 - 8) & 0x0F] ^ W[(67 - 14) & 0x0F] ^
                 W[67 & 0x0F],
          (W[67 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0xCA62C1D6 +
         (temp = W[(68 - 3) & 0x0F] ^ W[(68 - 8) & 0x0F] ^ W[(68 - 14) & 0x0F] ^
                 W[68 & 0x0F],
          (W[68 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0xCA62C1D6 +
         (temp = W[(69 - 3) & 0x0F] ^ W[(69 - 8) & 0x0F] ^ W[(69 - 14) & 0x0F] ^
                 W[69 & 0x0F],
          (W[69 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0xCA62C1D6 +
         (temp = W[(70 - 3) & 0x0F] ^ W[(70 - 8) & 0x0F] ^ W[(70 - 14) & 0x0F] ^
                 W[70 & 0x0F],
          (W[70 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0xCA62C1D6 +
         (temp = W[(71 - 3) & 0x0F] ^ W[(71 - 8) & 0x0F] ^ W[(71 - 14) & 0x0F] ^
                 W[71 & 0x0F],
          (W[71 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0xCA62C1D6 +
         (temp = W[(72 - 3) & 0x0F] ^ W[(72 - 8) & 0x0F] ^ W[(72 - 14) & 0x0F] ^
                 W[72 & 0x0F],
          (W[72 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0xCA62C1D6 +
         (temp = W[(73 - 3) & 0x0F] ^ W[(73 - 8) & 0x0F] ^ W[(73 - 14) & 0x0F] ^
                 W[73 & 0x0F],
          (W[73 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0xCA62C1D6 +
         (temp = W[(74 - 3) & 0x0F] ^ W[(74 - 8) & 0x0F] ^ W[(74 - 14) & 0x0F] ^
                 W[74 & 0x0F],
          (W[74 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A & 0xFFFFFFFF) >> (32 - 5))) + (B ^ C ^ D) +
         0xCA62C1D6 +
         (temp = W[(75 - 3) & 0x0F] ^ W[(75 - 8) & 0x0F] ^ W[(75 - 14) & 0x0F] ^
                 W[75 & 0x0F],
          (W[75 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    B = ((B << 30) | ((B & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E & 0xFFFFFFFF) >> (32 - 5))) + (A ^ B ^ C) +
         0xCA62C1D6 +
         (temp = W[(76 - 3) & 0x0F] ^ W[(76 - 8) & 0x0F] ^ W[(76 - 14) & 0x0F] ^
                 W[76 & 0x0F],
          (W[76 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    A = ((A << 30) | ((A & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D & 0xFFFFFFFF) >> (32 - 5))) + (E ^ A ^ B) +
         0xCA62C1D6 +
         (temp = W[(77 - 3) & 0x0F] ^ W[(77 - 8) & 0x0F] ^ W[(77 - 14) & 0x0F] ^
                 W[77 & 0x0F],
          (W[77 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    E = ((E << 30) | ((E & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C & 0xFFFFFFFF) >> (32 - 5))) + (D ^ E ^ A) +
         0xCA62C1D6 +
         (temp = W[(78 - 3) & 0x0F] ^ W[(78 - 8) & 0x0F] ^ W[(78 - 14) & 0x0F] ^
                 W[78 & 0x0F],
          (W[78 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    D = ((D << 30) | ((D & 0xFFFFFFFF) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B & 0xFFFFFFFF) >> (32 - 5))) + (C ^ D ^ E) +
         0xCA62C1D6 +
         (temp = W[(79 - 3) & 0x0F] ^ W[(79 - 8) & 0x0F] ^ W[(79 - 14) & 0x0F] ^
                 W[79 & 0x0F],
          (W[79 & 0x0F] = ((temp << 1) | ((temp & 0xFFFFFFFF) >> (32 - 1)))));
    C = ((C << 30) | ((C & 0xFFFFFFFF) >> (32 - 30)));
  };
  state[0] += A;
  state[1] += B;
  state[2] += C;
  state[3] += D;
  state[4] += E;
}


x86 assembly (clang, -O0):
<sha1_handle>:
push   %rbp
mov    %rsp,%rbp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
movzbl (%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x60(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x4(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x5(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x6(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x7(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x5c(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x8(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x9(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0xa(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0xb(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x58(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0xc(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0xd(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0xe(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0xf(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x54(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x10(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x11(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x12(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x13(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x50(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x14(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x15(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x16(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x17(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x18(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x19(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1a(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1b(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x48(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x1c(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1d(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1e(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x1f(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x44(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x20(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x21(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x22(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x23(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x24(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x25(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x26(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x27(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x28(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x29(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2a(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2b(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x38(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x2c(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2d(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2e(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x2f(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x34(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x30(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x31(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x32(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x33(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x30(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x34(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x35(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x36(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x37(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x38(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x39(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3a(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3b(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x28(%rbp)
mov    -0x10(%rbp),%rax
movzbl 0x3c(%rax),%eax
shl    $0x18,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3d(%rcx),%ecx
shl    $0x10,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3e(%rcx),%ecx
shl    $0x8,%ecx
or     %ecx,%eax
mov    -0x10(%rbp),%rcx
movzbl 0x3f(%rcx),%ecx
or     %ecx,%eax
mov    %eax,-0x24(%rbp)
mov    -0x8(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x64(%rbp)
mov    -0x8(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x68(%rbp)
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x8(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x70(%rbp)
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x74(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x6c(%rbp),%esi
xor    -0x70(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x60(%rbp),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x68(%rbp),%esi
xor    -0x6c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x5c(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x64(%rbp),%esi
xor    -0x68(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x58(%rbp),%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x64(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x54(%rbp),%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x70(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x50(%rbp),%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x6c(%rbp),%esi
xor    -0x70(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x4c(%rbp),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x68(%rbp),%esi
xor    -0x6c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x48(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x64(%rbp),%esi
xor    -0x68(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x44(%rbp),%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x64(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x40(%rbp),%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x70(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x3c(%rbp),%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x6c(%rbp),%esi
xor    -0x70(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x38(%rbp),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x68(%rbp),%esi
xor    -0x6c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x34(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x64(%rbp),%esi
xor    -0x68(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x30(%rbp),%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x64(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x2c(%rbp),%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x70(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x28(%rbp),%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x6c(%rbp),%esi
xor    -0x70(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x24(%rbp),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x68(%rbp),%esi
xor    -0x6c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x2c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x64(%rbp),%esi
xor    -0x68(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x28(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x64(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x24(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x70(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x58(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x54(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x50(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x30(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x30(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x2c(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x28(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x28(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x30(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x24(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x2c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x28(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x24(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x58(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x54(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x50(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
and    -0x6c(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x68(%rbp),%esi
or     -0x6c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
and    -0x68(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x64(%rbp),%esi
or     -0x68(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x64(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x64(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x70(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
and    -0x70(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x6c(%rbp),%esi
or     -0x70(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x30(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x30(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
and    -0x6c(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x68(%rbp),%esi
or     -0x6c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x2c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
and    -0x68(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x64(%rbp),%esi
or     -0x68(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x28(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x28(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x64(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x64(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x30(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x24(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x70(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x2c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
and    -0x70(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x6c(%rbp),%esi
or     -0x70(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x28(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
and    -0x6c(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x68(%rbp),%esi
or     -0x6c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x24(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
and    -0x68(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x64(%rbp),%esi
or     -0x68(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x64(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x64(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x70(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x58(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
and    -0x70(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x6c(%rbp),%esi
or     -0x70(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x54(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
and    -0x6c(%rbp),%ecx
mov    -0x70(%rbp),%edx
mov    -0x68(%rbp),%esi
or     -0x6c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x50(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
and    -0x68(%rbp),%ecx
mov    -0x6c(%rbp),%edx
mov    -0x64(%rbp),%esi
or     -0x68(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x64(%rbp),%ecx
mov    -0x68(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x64(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x64(%rbp),%edx
mov    -0x70(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
and    -0x70(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x6c(%rbp),%esi
or     -0x70(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x30(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x30(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x2c(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x28(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x28(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x30(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x24(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x2c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x28(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x24(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x60(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x58(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x54(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x50(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x4c(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x40(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x48(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x30(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x5,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x1e,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x28(%rbp),%ecx
xor    -0x30(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x30(%rbp)
add    %ecx,%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
mov    -0x64(%rbp),%eax
shl    $0x1e,%eax
mov    -0x64(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x5,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x68(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
xor    -0x2c(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x2c(%rbp)
add    %ecx,%eax
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x5,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x64(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x28(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x28(%rbp)
add    %ecx,%eax
add    -0x68(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x70(%rbp),%eax
shl    $0x1e,%eax
mov    -0x70(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x68(%rbp),%eax
shl    $0x5,%eax
mov    -0x68(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x30(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x24(%rbp),%ecx
mov    %ecx,-0x14(%rbp)
mov    -0x14(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x14(%rbp),%edx
and    $0xffffffff,%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x24(%rbp)
add    %ecx,%eax
add    -0x64(%rbp),%eax
mov    %eax,-0x64(%rbp)
mov    -0x6c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x6c(%rbp),%ecx
and    $0xffffffff,%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x64(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    (%rax),%ecx
mov    %ecx,(%rax)
mov    -0x68(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x4(%rax),%ecx
mov    %ecx,0x4(%rax)
mov    -0x6c(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x8(%rax),%ecx
mov    %ecx,0x8(%rax)
mov    -0x70(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0xc(%rax),%ecx
mov    %ecx,0xc(%rax)
mov    -0x74(%rbp),%ecx
mov    -0x8(%rbp),%rax
add    0x10(%rax),%ecx
mov    %ecx,0x10(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<sha1_handle>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
mov    %rsi,%r8
mov    (%rsi),%r14d
mov    0x4(%rsi),%eax
bswap  %r14d
bswap  %eax
mov    %rax,%r9
mov    %rax,-0x30(%rsp)
mov    0x8(%rsi),%eax
bswap  %eax
mov    %rax,%r15
mov    %rdi,-0x8(%rsp)
mov    (%rdi),%r11d
mov    0x4(%rdi),%ebx
mov    %rbx,-0x10(%rsp)
mov    0x8(%rdi),%ebp
mov    0xc(%rdi),%edx
mov    %r11d,%eax
rol    $0x5,%eax
mov    0x10(%rdi),%esi
mov    %esi,-0x24(%rsp)
mov    %edx,%ecx
mov    %rbp,%rdi
xor    %edi,%ecx
and    %ebx,%ecx
xor    %edx,%ecx
mov    %rdx,%r10
mov    %rdx,-0x18(%rsp)
add    %r14d,%eax
add    %esi,%eax
mov    %ebx,%edx
rol    $0x1e,%edx
lea    (%rcx,%rax,1),%ebp
add    $0x5a827999,%ebp
mov    %ebp,%eax
rol    $0x5,%eax
mov    %edx,%ecx
xor    %edi,%ecx
mov    %r11d,-0x28(%rsp)
and    %r11d,%ecx
xor    %edi,%ecx
mov    %rdi,%rsi
mov    %rdi,-0x20(%rsp)
add    %r9d,%ecx
add    %r10d,%ecx
lea    (%rax,%rcx,1),%r10d
add    $0x5a827999,%r10d
mov    %r11d,%edi
rol    $0x1e,%edi
mov    %edx,%ecx
xor    %edi,%ecx
and    %ebp,%ecx
xor    %edx,%ecx
add    %r15d,%ecx
add    %esi,%ecx
mov    %r10d,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x5a827999,%ecx
mov    0xc(%r8),%eax
bswap  %eax
mov    %eax,%esi
mov    %eax,-0x4c(%rsp)
rol    $0x1e,%ebp
mov    %ebp,%eax
xor    %edi,%eax
and    %r10d,%eax
xor    %edi,%eax
add    %esi,%edx
add    %eax,%edx
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x5a827999,%edx
mov    0x10(%r8),%eax
bswap  %eax
mov    %eax,%esi
mov    %eax,-0x54(%rsp)
rol    $0x1e,%r10d
mov    %r10d,%eax
xor    %ebp,%eax
and    %ecx,%eax
xor    %ebp,%eax
add    %esi,%edi
add    %eax,%edi
mov    %edx,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x5a827999,%edi
mov    0x14(%r8),%eax
bswap  %eax
mov    %eax,%esi
mov    %eax,-0x58(%rsp)
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %r10d,%eax
and    %edx,%eax
xor    %r10d,%eax
add    %esi,%ebp
add    %eax,%ebp
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%ebp
add    $0x5a827999,%ebp
mov    0x18(%r8),%eax
bswap  %eax
mov    %eax,%esi
mov    %eax,-0x5c(%rsp)
rol    $0x1e,%edx
mov    %edx,%eax
xor    %ecx,%eax
and    %edi,%eax
xor    %ecx,%eax
add    %esi,%r10d
add    %eax,%r10d
mov    %ebp,%eax
rol    $0x5,%eax
lea    (%rax,%r10,1),%esi
add    $0x5a827999,%esi
mov    0x1c(%r8),%eax
bswap  %eax
mov    %eax,-0x60(%rsp)
rol    $0x1e,%edi
mov    %edi,%ebx
xor    %edx,%ebx
and    %ebp,%ebx
xor    %edx,%ebx
add    %eax,%ecx
add    %ebx,%ecx
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x5a827999,%ecx
mov    0x20(%r8),%r13d
bswap  %r13d
rol    $0x1e,%ebp
mov    %ebp,%eax
xor    %edi,%eax
and    %esi,%eax
xor    %edi,%eax
add    %r13d,%edx
mov    %r13d,-0x50(%rsp)
add    %eax,%edx
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x5a827999,%edx
mov    0x24(%r8),%ebx
bswap  %ebx
rol    $0x1e,%esi
mov    %esi,%eax
xor    %ebp,%eax
and    %ecx,%eax
xor    %ebp,%eax
add    %ebx,%edi
mov    %ebx,-0x44(%rsp)
add    %eax,%edi
mov    %edx,%eax
rol    $0x5,%eax
lea    (%rax,%rdi,1),%r10d
add    $0x5a827999,%r10d
mov    0x28(%r8),%eax
bswap  %eax
mov    %eax,%edi
mov    %eax,-0x3c(%rsp)
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %esi,%eax
and    %edx,%eax
xor    %esi,%eax
add    %edi,%ebp
add    %eax,%ebp
mov    %r10d,%eax
rol    $0x5,%eax
lea    (%rax,%rbp,1),%r11d
add    $0x5a827999,%r11d
mov    0x2c(%r8),%eax
bswap  %eax
mov    %eax,%edi
mov    %eax,-0x38(%rsp)
rol    $0x1e,%edx
mov    %edx,%eax
xor    %ecx,%eax
and    %r10d,%eax
xor    %ecx,%eax
add    %edi,%esi
add    %eax,%esi
mov    %r11d,%eax
rol    $0x5,%eax
lea    (%rax,%rsi,1),%ebp
add    $0x5a827999,%ebp
mov    0x30(%r8),%eax
bswap  %eax
mov    %eax,%esi
mov    %eax,-0x34(%rsp)
rol    $0x1e,%r10d
mov    %r10d,%eax
xor    %edx,%eax
and    %r11d,%eax
xor    %edx,%eax
add    %esi,%ecx
add    %eax,%ecx
mov    %ebp,%eax
rol    $0x5,%eax
lea    (%rax,%rcx,1),%edi
add    $0x5a827999,%edi
mov    0x34(%r8),%r12d
bswap  %r12d
rol    $0x1e,%r11d
mov    %r11d,%eax
xor    %r10d,%eax
and    %ebp,%eax
xor    %r10d,%eax
add    %r12d,%edx
add    %eax,%edx
mov    %edi,%eax
rol    $0x5,%eax
add    %edx,%eax
add    $0x5a827999,%eax
mov    0x38(%r8),%r9d
bswap  %r9d
rol    $0x1e,%ebp
mov    %ebp,%ecx
xor    %r11d,%ecx
and    %edi,%ecx
xor    %r11d,%ecx
add    %r9d,%r10d
add    %ecx,%r10d
mov    %eax,%ecx
rol    $0x5,%ecx
lea    (%rcx,%r10,1),%edx
add    $0x5a827999,%edx
mov    0x3c(%r8),%ecx
bswap  %ecx
mov    %ecx,%esi
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %ebp,%ecx
and    %eax,%ecx
xor    %ebp,%ecx
add    %esi,%r11d
mov    %esi,%r10d
mov    %esi,-0x40(%rsp)
add    %ecx,%r11d
mov    %edx,%ecx
rol    $0x5,%ecx
add    %r11d,%ecx
add    $0x5a827999,%ecx
mov    %r15,%r11
xor    %r11d,%r14d
mov    %r13d,%r15d
xor    %r12d,%r15d
xor    %r14d,%r15d
rol    $0x1e,%eax
mov    %ecx,%r8d
rol    $0x5,%r8d
mov    %eax,%esi
xor    %edi,%esi
and    %edx,%esi
xor    %edi,%esi
rol    %r15d
add    %r15d,%ebp
add    %esi,%ebp
add    %ebp,%r8d
add    $0x5a827999,%r8d
mov    -0x30(%rsp),%rsi
mov    -0x4c(%rsp),%ebp
xor    %ebp,%esi
mov    %ebx,%r14d
mov    %r9d,-0x48(%rsp)
xor    %r9d,%r14d
xor    %esi,%r14d
rol    $0x1e,%edx
mov    %edx,%esi
xor    %eax,%esi
and    %ecx,%esi
xor    %eax,%esi
rol    %r14d
add    %r14d,%edi
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %esi,%edi
add    $0x5a827999,%edi
mov    %r11,%rsi
mov    -0x54(%rsp),%r11d
xor    %r11d,%esi
mov    -0x3c(%rsp),%ebx
xor    %r10d,%ebx
xor    %esi,%ebx
rol    $0x1e,%ecx
mov    %ecx,%esi
xor    %edx,%esi
and    %r8d,%esi
xor    %edx,%esi
rol    %ebx
add    %ebx,%eax
mov    %ebx,%r13d
mov    %ebx,-0x30(%rsp)
add    %esi,%eax
mov    %edi,%esi
rol    $0x5,%esi
lea    (%rsi,%rax,1),%r9d
add    $0x5a827999,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %ecx,%eax
and    %edi,%eax
xor    %ecx,%eax
mov    %ebp,%ebx
mov    -0x58(%rsp),%ebp
xor    %ebp,%ebx
xor    -0x38(%rsp),%ebx
xor    %r15d,%ebx
rol    %ebx
add    %ebx,%edx
mov    %ebx,-0x4c(%rsp)
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %eax,%edx
add    $0x5a827999,%edx
mov    %edi,%eax
xor    %r8d,%eax
xor    %r9d,%eax
mov    %r11d,%esi
mov    -0x5c(%rsp),%r10d
xor    %r10d,%esi
xor    -0x34(%rsp),%esi
xor    %r14d,%esi
rol    %esi
mov    %esi,-0x54(%rsp)
add    %esi,%ecx
add    %eax,%ecx
mov    %edx,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %edi,%eax
xor    %edx,%eax
mov    -0x60(%rsp),%r11d
xor    %r11d,%ebp
xor    %r12d,%ebp
xor    %r13d,%ebp
rol    %ebp
add    %ebp,%r8d
mov    %ebp,-0x58(%rsp)
add    %eax,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
rol    $0x1e,%edx
add    %eax,%r8d
add    $0x6ed9eba1,%r8d
mov    %edx,%esi
xor    %r9d,%esi
xor    %ecx,%esi
mov    %r10d,%eax
mov    -0x50(%rsp),%r10d
xor    %r10d,%eax
xor    -0x48(%rsp),%eax
xor    %ebx,%eax
rol    %eax
mov    %eax,-0x5c(%rsp)
add    %eax,%edi
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %esi,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%ecx
mov    %ecx,%esi
xor    %edx,%esi
xor    %r8d,%esi
mov    %r11d,%eax
mov    -0x44(%rsp),%r13d
xor    %r13d,%eax
xor    -0x40(%rsp),%eax
xor    -0x54(%rsp),%eax
rol    %eax
mov    %eax,-0x60(%rsp)
add    %eax,%r9d
add    %esi,%r9d
mov    %edi,%esi
rol    $0x5,%esi
rol    $0x1e,%r8d
add    %esi,%r9d
add    $0x6ed9eba1,%r9d
mov    %r8d,%eax
xor    %ecx,%eax
xor    %edi,%eax
mov    -0x3c(%rsp),%ebx
xor    %ebx,%r10d
xor    %r15d,%r10d
xor    %ebp,%r10d
rol    %r10d
add    %r10d,%edx
mov    %r10d,-0x50(%rsp)
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%edi
mov    %edi,%eax
xor    %r8d,%eax
xor    %r9d,%eax
mov    -0x38(%rsp),%r11d
xor    %r11d,%r13d
xor    %r14d,%r13d
xor    -0x5c(%rsp),%r13d
rol    %r13d
add    %r13d,%ecx
mov    %r13d,-0x44(%rsp)
add    %eax,%ecx
mov    %edx,%eax
rol    $0x5,%eax
rol    $0x1e,%r9d
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
mov    %r9d,%eax
xor    %edi,%eax
xor    %edx,%eax
mov    -0x34(%rsp),%esi
xor    %esi,%ebx
xor    -0x30(%rsp),%ebx
xor    -0x60(%rsp),%ebx
rol    %ebx
add    %ebx,%r8d
mov    %ebx,-0x3c(%rsp)
add    %eax,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %r9d,%eax
xor    %ecx,%eax
xor    %r12d,%r11d
xor    -0x4c(%rsp),%r11d
xor    %r10d,%r11d
rol    %r11d
add    %r11d,%edi
add    %eax,%edi
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%ecx
add    %eax,%edi
add    $0x6ed9eba1,%edi
mov    %ecx,%eax
xor    %edx,%eax
xor    %r8d,%eax
mov    -0x48(%rsp),%r10d
xor    %r10d,%esi
xor    -0x54(%rsp),%esi
xor    %r13d,%esi
rol    %esi
add    %esi,%r9d
mov    %esi,-0x34(%rsp)
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %ecx,%eax
xor    %edi,%eax
mov    -0x40(%rsp),%ebp
xor    %ebp,%r12d
xor    -0x58(%rsp),%r12d
xor    %ebx,%r12d
rol    %r12d
add    %r12d,%edx
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %edx,%eax
add    $0x6ed9eba1,%eax
mov    %edi,%edx
xor    %r8d,%edx
xor    %r9d,%edx
xor    %r15d,%r10d
xor    -0x5c(%rsp),%r10d
xor    %r11d,%r10d
mov    %r11d,-0x38(%rsp)
rol    %r10d
add    %r10d,%ecx
mov    %r10d,%ebx
mov    %r10d,-0x48(%rsp)
add    %edx,%ecx
mov    %eax,%edx
rol    $0x5,%edx
add    %ecx,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %edi,%ecx
xor    %eax,%ecx
xor    %r14d,%ebp
xor    -0x60(%rsp),%ebp
xor    %esi,%ebp
rol    %ebp
add    %ebp,%r8d
mov    %ebp,%r10d
mov    %ebp,-0x40(%rsp)
add    %ecx,%r8d
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x6ed9eba1,%r8d
mov    %eax,%esi
xor    %r9d,%esi
xor    %edx,%esi
mov    -0x30(%rsp),%r13d
xor    %r13d,%r15d
xor    -0x50(%rsp),%r15d
xor    %r12d,%r15d
rol    %r15d
add    %r15d,%edi
add    %esi,%edi
mov    %r8d,%esi
rol    $0x5,%esi
add    %edi,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%edx
mov    %edx,%edi
xor    %eax,%edi
xor    %r8d,%edi
mov    -0x4c(%rsp),%ebp
xor    %ebp,%r14d
xor    -0x44(%rsp),%r14d
xor    %ebx,%r14d
rol    %r14d
add    %r14d,%r9d
add    %edi,%r9d
mov    %esi,%edi
rol    $0x5,%edi
rol    $0x1e,%r8d
add    %r9d,%edi
add    $0x6ed9eba1,%edi
mov    %r8d,%ecx
xor    %edx,%ecx
xor    %esi,%ecx
mov    -0x54(%rsp),%ebx
xor    %ebx,%r13d
xor    -0x3c(%rsp),%r13d
xor    %r10d,%r13d
rol    %r13d
add    %r13d,%eax
mov    %r13d,-0x30(%rsp)
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%esi
mov    %esi,%r9d
xor    %r8d,%r9d
xor    %edi,%r9d
mov    %ebp,%ecx
mov    -0x58(%rsp),%r10d
xor    %r10d,%ecx
xor    %r11d,%ecx
xor    %r15d,%ecx
rol    %ecx
add    %ecx,%edx
mov    %ecx,%r11d
mov    %ecx,-0x4c(%rsp)
add    %r9d,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
lea    (%rcx,%rdx,1),%r9d
add    $0x6ed9eba1,%r9d
mov    %edi,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    %ebx,%edx
mov    -0x5c(%rsp),%ebx
xor    %ebx,%edx
xor    -0x34(%rsp),%edx
xor    %r14d,%edx
rol    %edx
mov    %edx,-0x54(%rsp)
add    %edx,%r8d
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r9d,%ecx
mov    %r10d,%edx
mov    -0x60(%rsp),%r10d
xor    %r10d,%edx
xor    %r12d,%edx
xor    %r13d,%edx
rol    %edx
add    %edx,%esi
mov    %edx,%r13d
mov    %edx,-0x58(%rsp)
add    %ecx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x6ed9eba1,%esi
mov    %r9d,%ecx
xor    %eax,%ecx
xor    %r8d,%ecx
mov    %ebx,%edx
mov    -0x50(%rsp),%ebp
xor    %ebp,%edx
xor    -0x48(%rsp),%edx
xor    %r11d,%edx
rol    %edx
add    %edx,%edi
mov    %edx,%r11d
mov    %edx,-0x5c(%rsp)
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%r8d
mov    %r8d,%ecx
xor    %r9d,%ecx
xor    %esi,%ecx
mov    %r10d,%edx
mov    -0x44(%rsp),%r10d
xor    %r10d,%edx
xor    -0x40(%rsp),%edx
xor    -0x54(%rsp),%edx
rol    %edx
mov    %edx,-0x60(%rsp)
add    %edx,%eax
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    %ebp,%ecx
mov    -0x3c(%rsp),%ebx
xor    %ebx,%ecx
xor    %r15d,%ecx
xor    %r13d,%ecx
rol    %ecx
mov    %ecx,-0x50(%rsp)
add    %ecx,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %r10d,%edx
mov    -0x38(%rsp),%r10d
xor    %r10d,%edx
xor    %r14d,%edx
xor    %r11d,%edx
rol    %edx
mov    %edx,-0x44(%rsp)
add    %edx,%r8d
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    %ebx,%r11d
mov    -0x34(%rsp),%ebp
xor    %ebp,%r11d
xor    -0x30(%rsp),%r11d
xor    -0x60(%rsp),%r11d
rol    %r11d
add    %r11d,%esi
mov    %r11d,-0x3c(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
xor    %r12d,%r10d
xor    -0x4c(%rsp),%r10d
xor    -0x50(%rsp),%r10d
rol    %r10d
add    %r10d,%edi
mov    %r10d,%r13d
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
and    %r8d,%ecx
mov    %esi,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    %ebp,%ecx
mov    -0x48(%rsp),%ebp
xor    %ebp,%ecx
xor    -0x54(%rsp),%ecx
xor    -0x44(%rsp),%ecx
rol    %ecx
add    %ecx,%eax
mov    %ecx,%ebx
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    -0x40(%rsp),%r10d
xor    %r10d,%r12d
xor    -0x58(%rsp),%r12d
xor    %r11d,%r12d
rol    %r12d
add    %r12d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %ebp,%edx
xor    %r15d,%edx
xor    -0x5c(%rsp),%edx
mov    %r13d,-0x38(%rsp)
xor    %r13d,%edx
rol    %edx
add    %edx,%r8d
mov    %edx,%ebp
mov    %edx,-0x48(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    %r10d,%r11d
xor    %r14d,%r11d
xor    -0x60(%rsp),%r11d
xor    %ebx,%r11d
mov    %ebx,%r10d
mov    %ebx,-0x34(%rsp)
rol    %r11d
add    %r11d,%esi
mov    %r11d,-0x40(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    -0x30(%rsp),%r13d
xor    %r13d,%r15d
xor    -0x50(%rsp),%r15d
xor    %r12d,%r15d
rol    %r15d
add    %r15d,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
and    %r8d,%ecx
mov    %esi,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    -0x4c(%rsp),%ebx
xor    %ebx,%r14d
xor    -0x44(%rsp),%r14d
xor    %ebp,%r14d
rol    %r14d
add    %r14d,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    -0x54(%rsp),%ebp
xor    %ebp,%r13d
xor    -0x3c(%rsp),%r13d
xor    %r11d,%r13d
rol    %r13d
add    %r13d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %ebx,%edx
mov    -0x58(%rsp),%ebx
xor    %ebx,%edx
xor    -0x38(%rsp),%edx
xor    %r15d,%edx
rol    %edx
add    %edx,%r8d
mov    %edx,%r11d
mov    %edx,-0x4c(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    %ebp,%ecx
mov    -0x5c(%rsp),%ebp
xor    %ebp,%ecx
xor    %r10d,%ecx
xor    %r14d,%ecx
rol    %ecx
add    %ecx,%esi
mov    %ecx,%r10d
mov    %ecx,-0x54(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    %ebx,%ecx
mov    -0x60(%rsp),%ebx
xor    %ebx,%ecx
xor    %r12d,%ecx
xor    %r13d,%ecx
mov    %r13d,-0x30(%rsp)
rol    %ecx
mov    %ecx,-0x58(%rsp)
add    %ecx,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%ecx
and    %r8d,%ecx
mov    %esi,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
xor    -0x50(%rsp),%ebp
xor    -0x48(%rsp),%ebp
xor    %r11d,%ebp
rol    %ebp
mov    %ebp,-0x5c(%rsp)
add    %ebp,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    -0x44(%rsp),%ebp
xor    %ebp,%ebx
xor    -0x40(%rsp),%ebx
xor    %r10d,%ebx
rol    %ebx
mov    %ebx,-0x60(%rsp)
add    %ebx,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    -0x50(%rsp),%edx
mov    -0x3c(%rsp),%r11d
xor    %r11d,%edx
xor    %r15d,%edx
xor    -0x58(%rsp),%edx
rol    %edx
mov    %edx,-0x50(%rsp)
add    %edx,%r8d
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
lea    (%rcx,%r8,1),%edx
add    $0x8f1bbcdc,%edx
mov    %r9d,%r8d
and    %eax,%r8d
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
or     %r8d,%ecx
mov    -0x38(%rsp),%ebx
xor    %ebx,%ebp
xor    %r14d,%ebp
xor    -0x5c(%rsp),%ebp
rol    %ebp
mov    %ebp,-0x44(%rsp)
add    %ebp,%esi
add    %ecx,%esi
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
mov    %edx,%r8d
and    %r9d,%r8d
mov    %edx,%ecx
or     %r9d,%ecx
and    %eax,%ecx
or     %r8d,%ecx
mov    -0x34(%rsp),%r10d
xor    %r10d,%r11d
xor    %r13d,%r11d
xor    -0x60(%rsp),%r11d
rol    %r11d
add    %r11d,%edi
mov    %r11d,%r13d
mov    %r11d,-0x3c(%rsp)
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edx
lea    (%rcx,%rdi,1),%r8d
add    $0x8f1bbcdc,%r8d
mov    %esi,%ecx
and    %edx,%ecx
mov    %esi,%edi
or     %edx,%edi
and    %r9d,%edi
or     %ecx,%edi
mov    %ebx,%ebp
xor    %r12d,%ebp
xor    -0x4c(%rsp),%ebp
xor    -0x50(%rsp),%ebp
rol    %ebp
add    %ebp,%eax
mov    %ebp,-0x38(%rsp)
add    %edi,%eax
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
lea    (%rcx,%rax,1),%edi
add    $0x8f1bbcdc,%edi
mov    %esi,%eax
xor    %edx,%eax
xor    %r8d,%eax
mov    %r10d,%ecx
mov    -0x48(%rsp),%r10d
xor    %r10d,%ecx
xor    -0x54(%rsp),%ecx
xor    -0x44(%rsp),%ecx
rol    %ecx
add    %ecx,%r9d
mov    %ecx,%ebx
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %esi,%eax
xor    %edi,%eax
mov    -0x40(%rsp),%r11d
xor    %r11d,%r12d
xor    -0x58(%rsp),%r12d
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%edx
add    %eax,%edx
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %edx,%eax
add    $0xca62c1d6,%eax
mov    %edi,%ecx
xor    %r8d,%ecx
xor    %r9d,%ecx
xor    %r15d,%r10d
xor    -0x5c(%rsp),%r10d
xor    %ebp,%r10d
rol    %r10d
mov    %r10d,-0x48(%rsp)
add    %r10d,%esi
add    %ecx,%esi
mov    %eax,%ecx
rol    $0x5,%ecx
add    %esi,%ecx
add    $0xca62c1d6,%ecx
rol    $0x1e,%r9d
mov    %r9d,%edx
xor    %edi,%edx
xor    %eax,%edx
xor    %r14d,%r11d
xor    -0x60(%rsp),%r11d
mov    %ebx,-0x34(%rsp)
xor    %ebx,%r11d
rol    %r11d
add    %r11d,%r8d
mov    %r11d,%ebx
mov    %r11d,-0x40(%rsp)
add    %edx,%r8d
mov    %ecx,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
lea    (%rdx,%r8,1),%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %r9d,%edx
xor    %ecx,%edx
mov    -0x30(%rsp),%r13d
xor    %r13d,%r15d
xor    -0x50(%rsp),%r15d
xor    %r12d,%r15d
rol    %r15d
add    %r15d,%edi
add    %edx,%edi
mov    %esi,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %eax,%edi
xor    %esi,%edi
mov    -0x4c(%rsp),%ebp
xor    %ebp,%r14d
xor    -0x44(%rsp),%r14d
xor    -0x48(%rsp),%r14d
rol    %r14d
add    %r14d,%r9d
add    %edi,%r9d
mov    %edx,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %edi,%r9d
add    $0xca62c1d6,%r9d
mov    %esi,%edi
xor    %ecx,%edi
xor    %edx,%edi
mov    -0x54(%rsp),%r11d
xor    %r11d,%r13d
xor    -0x3c(%rsp),%r13d
xor    %ebx,%r13d
rol    %r13d
mov    %r13d,-0x30(%rsp)
add    %r13d,%eax
add    %edi,%eax
mov    %r9d,%edi
rol    $0x5,%edi
lea    (%rdi,%rax,1),%r8d
add    $0xca62c1d6,%r8d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %esi,%eax
xor    %r9d,%eax
mov    -0x58(%rsp),%r10d
xor    %r10d,%ebp
xor    -0x38(%rsp),%ebp
xor    %r15d,%ebp
rol    %ebp
add    %ebp,%ecx
mov    %ebp,-0x4c(%rsp)
add    %eax,%ecx
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%r9d
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    %r9d,%ecx
xor    %edx,%ecx
xor    %r8d,%ecx
mov    %r11d,%r13d
mov    -0x5c(%rsp),%r11d
xor    %r11d,%r13d
xor    -0x34(%rsp),%r13d
xor    %r14d,%r13d
rol    %r13d
add    %r13d,%esi
mov    %r13d,-0x54(%rsp)
add    %ecx,%esi
mov    %eax,%ecx
rol    $0x5,%ecx
add    %esi,%ecx
add    $0xca62c1d6,%ecx
rol    $0x1e,%r8d
mov    %r8d,%esi
xor    %r9d,%esi
xor    %eax,%esi
mov    %r10d,%edi
mov    -0x60(%rsp),%ebx
xor    %ebx,%edi
xor    %r12d,%edi
xor    -0x30(%rsp),%edi
rol    %edi
mov    %edi,-0x58(%rsp)
add    %edi,%edx
add    %esi,%edx
mov    %ecx,%esi
rol    $0x5,%esi
rol    $0x1e,%eax
add    %edx,%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %r8d,%edx
xor    %ecx,%edx
mov    %r11d,%edi
mov    -0x50(%rsp),%r11d
xor    %r11d,%edi
xor    -0x48(%rsp),%edi
xor    %ebp,%edi
rol    %edi
mov    %edi,-0x5c(%rsp)
add    %edi,%r9d
add    %edx,%r9d
mov    %esi,%edx
rol    $0x5,%edx
add    %edx,%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %eax,%edi
xor    %esi,%edi
mov    -0x44(%rsp),%ebp
xor    %ebp,%ebx
xor    -0x40(%rsp),%ebx
xor    %r13d,%ebx
rol    %ebx
add    %ebx,%r8d
mov    %ebx,-0x60(%rsp)
add    %edi,%r8d
mov    %r9d,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %r8d,%edi
add    $0xca62c1d6,%edi
mov    %esi,%edx
xor    %ecx,%edx
xor    %r9d,%edx
mov    %r11d,%r10d
mov    -0x3c(%rsp),%r11d
xor    %r11d,%r10d
xor    %r15d,%r10d
xor    -0x58(%rsp),%r10d
rol    %r10d
add    %r10d,%eax
mov    %r10d,%r13d
add    %edx,%eax
mov    %edi,%edx
rol    $0x5,%edx
add    %edx,%eax
add    $0xca62c1d6,%eax
rol    $0x1e,%r9d
mov    %r9d,%edx
xor    %esi,%edx
xor    %edi,%edx
mov    -0x38(%rsp),%r10d
xor    %r10d,%ebp
xor    %r14d,%ebp
xor    -0x5c(%rsp),%ebp
rol    %ebp
add    %ebp,%ecx
add    %edx,%ecx
mov    %eax,%edx
rol    $0x5,%edx
lea    (%rdx,%rcx,1),%r8d
add    $0xca62c1d6,%r8d
mov    -0x34(%rsp),%edx
xor    %edx,%r11d
xor    -0x30(%rsp),%r11d
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %r9d,%ecx
xor    %eax,%ecx
xor    %ebx,%r11d
rol    %r11d
add    %r11d,%esi
add    %ecx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0xca62c1d6,%esi
xor    %r12d,%r10d
xor    -0x4c(%rsp),%r10d
xor    %r13d,%r10d
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r8d,%ecx
rol    %r10d
add    %r10d,%r9d
mov    %r10d,%ebx
add    %ecx,%r9d
mov    %esi,%ecx
rol    $0x5,%ecx
add    %r9d,%ecx
add    $0xca62c1d6,%ecx
mov    %edx,%r9d
mov    -0x48(%rsp),%r13d
xor    %r13d,%r9d
xor    -0x54(%rsp),%r9d
xor    %ebp,%r9d
rol    $0x1e,%r8d
mov    %r8d,%edx
xor    %eax,%edx
xor    %esi,%edx
rol    %r9d
add    %r9d,%edi
add    %edx,%edi
mov    %ecx,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0xca62c1d6,%edx
mov    -0x40(%rsp),%r10d
xor    %r10d,%r12d
xor    -0x58(%rsp),%r12d
xor    %r11d,%r12d
rol    $0x1e,%esi
rol    %r12d
add    %eax,%r12d
mov    %esi,%eax
xor    %r8d,%eax
xor    %ecx,%eax
add    %eax,%r12d
mov    %edx,%eax
rol    $0x5,%eax
add    %r12d,%eax
add    $0xca62c1d6,%eax
xor    %r13d,%r15d
xor    -0x5c(%rsp),%r15d
xor    %ebx,%r15d
rol    %r15d
add    %r8d,%r15d
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %esi,%edi
xor    %edx,%edi
add    %edi,%r15d
mov    %eax,%edi
rol    $0x5,%edi
lea    (%rdi,%r15,1),%ebp
add    $0xca62c1d6,%ebp
mov    %r15d,%r11d
add    %edi,%r11d
xor    %r10d,%r14d
xor    -0x60(%rsp),%r14d
xor    %r9d,%r14d
rol    %r14d
add    -0x28(%rsp),%r14d
rol    $0x1e,%edx
add    %esi,%r14d
mov    %edx,%esi
xor    %ecx,%esi
xor    %eax,%esi
add    %esi,%r14d
rol    $0x5,%ebp
lea    (%r14,%rbp,1),%esi
add    $0xca62c1d6,%esi
mov    -0x8(%rsp),%rdi
mov    %esi,(%rdi)
mov    -0x10(%rsp),%rsi
add    %r11d,%esi
add    $0xca62c1d6,%esi
mov    %esi,0x4(%rdi)
rol    $0x1e,%eax
add    -0x20(%rsp),%eax
mov    %eax,0x8(%rdi)
add    -0x18(%rsp),%edx
mov    %edx,0xc(%rdi)
add    -0x24(%rsp),%ecx
mov    %ecx,0x10(%rdi)
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @sha1_handle(i32* %0, i8* %1) {
%3 = alloca i32*
%4 = alloca i8*
%5 = alloca i32
%6 = alloca [16 x i32]
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
store i32* %0, i32** %3
store i8* %1, i8** %4
%12 = load i8*, i8** %4
%13 = getelementptr inbounds i8, i8* %12, i64 0
%14 = load i8, i8* %13
%15 = zext i8 %14 to i32
%16 = shl i32 %15, 24
%17 = load i8*, i8** %4
%18 = getelementptr inbounds i8, i8* %17, i64 1
%19 = load i8, i8* %18
%20 = zext i8 %19 to i32
%21 = shl i32 %20, 16
%22 = or i32 %16, %21
%23 = load i8*, i8** %4
%24 = getelementptr inbounds i8, i8* %23, i64 2
%25 = load i8, i8* %24
%26 = zext i8 %25 to i32
%27 = shl i32 %26, 8
%28 = or i32 %22, %27
%29 = load i8*, i8** %4
%30 = getelementptr inbounds i8, i8* %29, i64 3
%31 = load i8, i8* %30
%32 = zext i8 %31 to i32
%33 = or i32 %28, %32
%34 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
store i32 %33, i32* %34
%35 = load i8*, i8** %4
%36 = getelementptr inbounds i8, i8* %35, i64 4
%37 = load i8, i8* %36
%38 = zext i8 %37 to i32
%39 = shl i32 %38, 24
%40 = load i8*, i8** %4
%41 = getelementptr inbounds i8, i8* %40, i64 5
%42 = load i8, i8* %41
%43 = zext i8 %42 to i32
%44 = shl i32 %43, 16
%45 = or i32 %39, %44
%46 = load i8*, i8** %4
%47 = getelementptr inbounds i8, i8* %46, i64 6
%48 = load i8, i8* %47
%49 = zext i8 %48 to i32
%50 = shl i32 %49, 8
%51 = or i32 %45, %50
%52 = load i8*, i8** %4
%53 = getelementptr inbounds i8, i8* %52, i64 7
%54 = load i8, i8* %53
%55 = zext i8 %54 to i32
%56 = or i32 %51, %55
%57 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
store i32 %56, i32* %57
%58 = load i8*, i8** %4
%59 = getelementptr inbounds i8, i8* %58, i64 8
%60 = load i8, i8* %59
%61 = zext i8 %60 to i32
%62 = shl i32 %61, 24
%63 = load i8*, i8** %4
%64 = getelementptr inbounds i8, i8* %63, i64 9
%65 = load i8, i8* %64
%66 = zext i8 %65 to i32
%67 = shl i32 %66, 16
%68 = or i32 %62, %67
%69 = load i8*, i8** %4
%70 = getelementptr inbounds i8, i8* %69, i64 10
%71 = load i8, i8* %70
%72 = zext i8 %71 to i32
%73 = shl i32 %72, 8
%74 = or i32 %68, %73
%75 = load i8*, i8** %4
%76 = getelementptr inbounds i8, i8* %75, i64 11
%77 = load i8, i8* %76
%78 = zext i8 %77 to i32
%79 = or i32 %74, %78
%80 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
store i32 %79, i32* %80
%81 = load i8*, i8** %4
%82 = getelementptr inbounds i8, i8* %81, i64 12
%83 = load i8, i8* %82
%84 = zext i8 %83 to i32
%85 = shl i32 %84, 24
%86 = load i8*, i8** %4
%87 = getelementptr inbounds i8, i8* %86, i64 13
%88 = load i8, i8* %87
%89 = zext i8 %88 to i32
%90 = shl i32 %89, 16
%91 = or i32 %85, %90
%92 = load i8*, i8** %4
%93 = getelementptr inbounds i8, i8* %92, i64 14
%94 = load i8, i8* %93
%95 = zext i8 %94 to i32
%96 = shl i32 %95, 8
%97 = or i32 %91, %96
%98 = load i8*, i8** %4
%99 = getelementptr inbounds i8, i8* %98, i64 15
%100 = load i8, i8* %99
%101 = zext i8 %100 to i32
%102 = or i32 %97, %101
%103 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
store i32 %102, i32* %103
%104 = load i8*, i8** %4
%105 = getelementptr inbounds i8, i8* %104, i64 16
%106 = load i8, i8* %105
%107 = zext i8 %106 to i32
%108 = shl i32 %107, 24
%109 = load i8*, i8** %4
%110 = getelementptr inbounds i8, i8* %109, i64 17
%111 = load i8, i8* %110
%112 = zext i8 %111 to i32
%113 = shl i32 %112, 16
%114 = or i32 %108, %113
%115 = load i8*, i8** %4
%116 = getelementptr inbounds i8, i8* %115, i64 18
%117 = load i8, i8* %116
%118 = zext i8 %117 to i32
%119 = shl i32 %118, 8
%120 = or i32 %114, %119
%121 = load i8*, i8** %4
%122 = getelementptr inbounds i8, i8* %121, i64 19
%123 = load i8, i8* %122
%124 = zext i8 %123 to i32
%125 = or i32 %120, %124
%126 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
store i32 %125, i32* %126
%127 = load i8*, i8** %4
%128 = getelementptr inbounds i8, i8* %127, i64 20
%129 = load i8, i8* %128
%130 = zext i8 %129 to i32
%131 = shl i32 %130, 24
%132 = load i8*, i8** %4
%133 = getelementptr inbounds i8, i8* %132, i64 21
%134 = load i8, i8* %133
%135 = zext i8 %134 to i32
%136 = shl i32 %135, 16
%137 = or i32 %131, %136
%138 = load i8*, i8** %4
%139 = getelementptr inbounds i8, i8* %138, i64 22
%140 = load i8, i8* %139
%141 = zext i8 %140 to i32
%142 = shl i32 %141, 8
%143 = or i32 %137, %142
%144 = load i8*, i8** %4
%145 = getelementptr inbounds i8, i8* %144, i64 23
%146 = load i8, i8* %145
%147 = zext i8 %146 to i32
%148 = or i32 %143, %147
%149 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
store i32 %148, i32* %149
%150 = load i8*, i8** %4
%151 = getelementptr inbounds i8, i8* %150, i64 24
%152 = load i8, i8* %151
%153 = zext i8 %152 to i32
%154 = shl i32 %153, 24
%155 = load i8*, i8** %4
%156 = getelementptr inbounds i8, i8* %155, i64 25
%157 = load i8, i8* %156
%158 = zext i8 %157 to i32
%159 = shl i32 %158, 16
%160 = or i32 %154, %159
%161 = load i8*, i8** %4
%162 = getelementptr inbounds i8, i8* %161, i64 26
%163 = load i8, i8* %162
%164 = zext i8 %163 to i32
%165 = shl i32 %164, 8
%166 = or i32 %160, %165
%167 = load i8*, i8** %4
%168 = getelementptr inbounds i8, i8* %167, i64 27
%169 = load i8, i8* %168
%170 = zext i8 %169 to i32
%171 = or i32 %166, %170
%172 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
store i32 %171, i32* %172
%173 = load i8*, i8** %4
%174 = getelementptr inbounds i8, i8* %173, i64 28
%175 = load i8, i8* %174
%176 = zext i8 %175 to i32
%177 = shl i32 %176, 24
%178 = load i8*, i8** %4
%179 = getelementptr inbounds i8, i8* %178, i64 29
%180 = load i8, i8* %179
%181 = zext i8 %180 to i32
%182 = shl i32 %181, 16
%183 = or i32 %177, %182
%184 = load i8*, i8** %4
%185 = getelementptr inbounds i8, i8* %184, i64 30
%186 = load i8, i8* %185
%187 = zext i8 %186 to i32
%188 = shl i32 %187, 8
%189 = or i32 %183, %188
%190 = load i8*, i8** %4
%191 = getelementptr inbounds i8, i8* %190, i64 31
%192 = load i8, i8* %191
%193 = zext i8 %192 to i32
%194 = or i32 %189, %193
%195 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
store i32 %194, i32* %195
%196 = load i8*, i8** %4
%197 = getelementptr inbounds i8, i8* %196, i64 32
%198 = load i8, i8* %197
%199 = zext i8 %198 to i32
%200 = shl i32 %199, 24
%201 = load i8*, i8** %4
%202 = getelementptr inbounds i8, i8* %201, i64 33
%203 = load i8, i8* %202
%204 = zext i8 %203 to i32
%205 = shl i32 %204, 16
%206 = or i32 %200, %205
%207 = load i8*, i8** %4
%208 = getelementptr inbounds i8, i8* %207, i64 34
%209 = load i8, i8* %208
%210 = zext i8 %209 to i32
%211 = shl i32 %210, 8
%212 = or i32 %206, %211
%213 = load i8*, i8** %4
%214 = getelementptr inbounds i8, i8* %213, i64 35
%215 = load i8, i8* %214
%216 = zext i8 %215 to i32
%217 = or i32 %212, %216
%218 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
store i32 %217, i32* %218
%219 = load i8*, i8** %4
%220 = getelementptr inbounds i8, i8* %219, i64 36
%221 = load i8, i8* %220
%222 = zext i8 %221 to i32
%223 = shl i32 %222, 24
%224 = load i8*, i8** %4
%225 = getelementptr inbounds i8, i8* %224, i64 37
%226 = load i8, i8* %225
%227 = zext i8 %226 to i32
%228 = shl i32 %227, 16
%229 = or i32 %223, %228
%230 = load i8*, i8** %4
%231 = getelementptr inbounds i8, i8* %230, i64 38
%232 = load i8, i8* %231
%233 = zext i8 %232 to i32
%234 = shl i32 %233, 8
%235 = or i32 %229, %234
%236 = load i8*, i8** %4
%237 = getelementptr inbounds i8, i8* %236, i64 39
%238 = load i8, i8* %237
%239 = zext i8 %238 to i32
%240 = or i32 %235, %239
%241 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
store i32 %240, i32* %241
%242 = load i8*, i8** %4
%243 = getelementptr inbounds i8, i8* %242, i64 40
%244 = load i8, i8* %243
%245 = zext i8 %244 to i32
%246 = shl i32 %245, 24
%247 = load i8*, i8** %4
%248 = getelementptr inbounds i8, i8* %247, i64 41
%249 = load i8, i8* %248
%250 = zext i8 %249 to i32
%251 = shl i32 %250, 16
%252 = or i32 %246, %251
%253 = load i8*, i8** %4
%254 = getelementptr inbounds i8, i8* %253, i64 42
%255 = load i8, i8* %254
%256 = zext i8 %255 to i32
%257 = shl i32 %256, 8
%258 = or i32 %252, %257
%259 = load i8*, i8** %4
%260 = getelementptr inbounds i8, i8* %259, i64 43
%261 = load i8, i8* %260
%262 = zext i8 %261 to i32
%263 = or i32 %258, %262
%264 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
store i32 %263, i32* %264
%265 = load i8*, i8** %4
%266 = getelementptr inbounds i8, i8* %265, i64 44
%267 = load i8, i8* %266
%268 = zext i8 %267 to i32
%269 = shl i32 %268, 24
%270 = load i8*, i8** %4
%271 = getelementptr inbounds i8, i8* %270, i64 45
%272 = load i8, i8* %271
%273 = zext i8 %272 to i32
%274 = shl i32 %273, 16
%275 = or i32 %269, %274
%276 = load i8*, i8** %4
%277 = getelementptr inbounds i8, i8* %276, i64 46
%278 = load i8, i8* %277
%279 = zext i8 %278 to i32
%280 = shl i32 %279, 8
%281 = or i32 %275, %280
%282 = load i8*, i8** %4
%283 = getelementptr inbounds i8, i8* %282, i64 47
%284 = load i8, i8* %283
%285 = zext i8 %284 to i32
%286 = or i32 %281, %285
%287 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
store i32 %286, i32* %287
%288 = load i8*, i8** %4
%289 = getelementptr inbounds i8, i8* %288, i64 48
%290 = load i8, i8* %289
%291 = zext i8 %290 to i32
%292 = shl i32 %291, 24
%293 = load i8*, i8** %4
%294 = getelementptr inbounds i8, i8* %293, i64 49
%295 = load i8, i8* %294
%296 = zext i8 %295 to i32
%297 = shl i32 %296, 16
%298 = or i32 %292, %297
%299 = load i8*, i8** %4
%300 = getelementptr inbounds i8, i8* %299, i64 50
%301 = load i8, i8* %300
%302 = zext i8 %301 to i32
%303 = shl i32 %302, 8
%304 = or i32 %298, %303
%305 = load i8*, i8** %4
%306 = getelementptr inbounds i8, i8* %305, i64 51
%307 = load i8, i8* %306
%308 = zext i8 %307 to i32
%309 = or i32 %304, %308
%310 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
store i32 %309, i32* %310
%311 = load i8*, i8** %4
%312 = getelementptr inbounds i8, i8* %311, i64 52
%313 = load i8, i8* %312
%314 = zext i8 %313 to i32
%315 = shl i32 %314, 24
%316 = load i8*, i8** %4
%317 = getelementptr inbounds i8, i8* %316, i64 53
%318 = load i8, i8* %317
%319 = zext i8 %318 to i32
%320 = shl i32 %319, 16
%321 = or i32 %315, %320
%322 = load i8*, i8** %4
%323 = getelementptr inbounds i8, i8* %322, i64 54
%324 = load i8, i8* %323
%325 = zext i8 %324 to i32
%326 = shl i32 %325, 8
%327 = or i32 %321, %326
%328 = load i8*, i8** %4
%329 = getelementptr inbounds i8, i8* %328, i64 55
%330 = load i8, i8* %329
%331 = zext i8 %330 to i32
%332 = or i32 %327, %331
%333 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
store i32 %332, i32* %333
%334 = load i8*, i8** %4
%335 = getelementptr inbounds i8, i8* %334, i64 56
%336 = load i8, i8* %335
%337 = zext i8 %336 to i32
%338 = shl i32 %337, 24
%339 = load i8*, i8** %4
%340 = getelementptr inbounds i8, i8* %339, i64 57
%341 = load i8, i8* %340
%342 = zext i8 %341 to i32
%343 = shl i32 %342, 16
%344 = or i32 %338, %343
%345 = load i8*, i8** %4
%346 = getelementptr inbounds i8, i8* %345, i64 58
%347 = load i8, i8* %346
%348 = zext i8 %347 to i32
%349 = shl i32 %348, 8
%350 = or i32 %344, %349
%351 = load i8*, i8** %4
%352 = getelementptr inbounds i8, i8* %351, i64 59
%353 = load i8, i8* %352
%354 = zext i8 %353 to i32
%355 = or i32 %350, %354
%356 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
store i32 %355, i32* %356
%357 = load i8*, i8** %4
%358 = getelementptr inbounds i8, i8* %357, i64 60
%359 = load i8, i8* %358
%360 = zext i8 %359 to i32
%361 = shl i32 %360, 24
%362 = load i8*, i8** %4
%363 = getelementptr inbounds i8, i8* %362, i64 61
%364 = load i8, i8* %363
%365 = zext i8 %364 to i32
%366 = shl i32 %365, 16
%367 = or i32 %361, %366
%368 = load i8*, i8** %4
%369 = getelementptr inbounds i8, i8* %368, i64 62
%370 = load i8, i8* %369
%371 = zext i8 %370 to i32
%372 = shl i32 %371, 8
%373 = or i32 %367, %372
%374 = load i8*, i8** %4
%375 = getelementptr inbounds i8, i8* %374, i64 63
%376 = load i8, i8* %375
%377 = zext i8 %376 to i32
%378 = or i32 %373, %377
%379 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
store i32 %378, i32* %379
%380 = load i32*, i32** %3
%381 = getelementptr inbounds i32, i32* %380, i64 0
%382 = load i32, i32* %381
store i32 %382, i32* %7
%383 = load i32*, i32** %3
%384 = getelementptr inbounds i32, i32* %383, i64 1
%385 = load i32, i32* %384
store i32 %385, i32* %8
%386 = load i32*, i32** %3
%387 = getelementptr inbounds i32, i32* %386, i64 2
%388 = load i32, i32* %387
store i32 %388, i32* %9
%389 = load i32*, i32** %3
%390 = getelementptr inbounds i32, i32* %389, i64 3
%391 = load i32, i32* %390
store i32 %391, i32* %10
%392 = load i32*, i32** %3
%393 = getelementptr inbounds i32, i32* %392, i64 4
%394 = load i32, i32* %393
store i32 %394, i32* %11
%395 = load i32, i32* %7
%396 = shl i32 %395, 5
%397 = load i32, i32* %7
%398 = and i32 %397, -1
%399 = lshr i32 %398, 27
%400 = or i32 %396, %399
%401 = load i32, i32* %10
%402 = load i32, i32* %8
%403 = load i32, i32* %9
%404 = load i32, i32* %10
%405 = xor i32 %403, %404
%406 = and i32 %402, %405
%407 = xor i32 %401, %406
%408 = add i32 %400, %407
%409 = add i32 %408, 1518500249
%410 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%411 = load i32, i32* %410
%412 = add i32 %409, %411
%413 = load i32, i32* %11
%414 = add i32 %413, %412
store i32 %414, i32* %11
%415 = load i32, i32* %8
%416 = shl i32 %415, 30
%417 = load i32, i32* %8
%418 = and i32 %417, -1
%419 = lshr i32 %418, 2
%420 = or i32 %416, %419
store i32 %420, i32* %8
%421 = load i32, i32* %11
%422 = shl i32 %421, 5
%423 = load i32, i32* %11
%424 = and i32 %423, -1
%425 = lshr i32 %424, 27
%426 = or i32 %422, %425
%427 = load i32, i32* %9
%428 = load i32, i32* %7
%429 = load i32, i32* %8
%430 = load i32, i32* %9
%431 = xor i32 %429, %430
%432 = and i32 %428, %431
%433 = xor i32 %427, %432
%434 = add i32 %426, %433
%435 = add i32 %434, 1518500249
%436 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%437 = load i32, i32* %436
%438 = add i32 %435, %437
%439 = load i32, i32* %10
%440 = add i32 %439, %438
store i32 %440, i32* %10
%441 = load i32, i32* %7
%442 = shl i32 %441, 30
%443 = load i32, i32* %7
%444 = and i32 %443, -1
%445 = lshr i32 %444, 2
%446 = or i32 %442, %445
store i32 %446, i32* %7
%447 = load i32, i32* %10
%448 = shl i32 %447, 5
%449 = load i32, i32* %10
%450 = and i32 %449, -1
%451 = lshr i32 %450, 27
%452 = or i32 %448, %451
%453 = load i32, i32* %8
%454 = load i32, i32* %11
%455 = load i32, i32* %7
%456 = load i32, i32* %8
%457 = xor i32 %455, %456
%458 = and i32 %454, %457
%459 = xor i32 %453, %458
%460 = add i32 %452, %459
%461 = add i32 %460, 1518500249
%462 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%463 = load i32, i32* %462
%464 = add i32 %461, %463
%465 = load i32, i32* %9
%466 = add i32 %465, %464
store i32 %466, i32* %9
%467 = load i32, i32* %11
%468 = shl i32 %467, 30
%469 = load i32, i32* %11
%470 = and i32 %469, -1
%471 = lshr i32 %470, 2
%472 = or i32 %468, %471
store i32 %472, i32* %11
%473 = load i32, i32* %9
%474 = shl i32 %473, 5
%475 = load i32, i32* %9
%476 = and i32 %475, -1
%477 = lshr i32 %476, 27
%478 = or i32 %474, %477
%479 = load i32, i32* %7
%480 = load i32, i32* %10
%481 = load i32, i32* %11
%482 = load i32, i32* %7
%483 = xor i32 %481, %482
%484 = and i32 %480, %483
%485 = xor i32 %479, %484
%486 = add i32 %478, %485
%487 = add i32 %486, 1518500249
%488 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%489 = load i32, i32* %488
%490 = add i32 %487, %489
%491 = load i32, i32* %8
%492 = add i32 %491, %490
store i32 %492, i32* %8
%493 = load i32, i32* %10
%494 = shl i32 %493, 30
%495 = load i32, i32* %10
%496 = and i32 %495, -1
%497 = lshr i32 %496, 2
%498 = or i32 %494, %497
store i32 %498, i32* %10
%499 = load i32, i32* %8
%500 = shl i32 %499, 5
%501 = load i32, i32* %8
%502 = and i32 %501, -1
%503 = lshr i32 %502, 27
%504 = or i32 %500, %503
%505 = load i32, i32* %11
%506 = load i32, i32* %9
%507 = load i32, i32* %10
%508 = load i32, i32* %11
%509 = xor i32 %507, %508
%510 = and i32 %506, %509
%511 = xor i32 %505, %510
%512 = add i32 %504, %511
%513 = add i32 %512, 1518500249
%514 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%515 = load i32, i32* %514
%516 = add i32 %513, %515
%517 = load i32, i32* %7
%518 = add i32 %517, %516
store i32 %518, i32* %7
%519 = load i32, i32* %9
%520 = shl i32 %519, 30
%521 = load i32, i32* %9
%522 = and i32 %521, -1
%523 = lshr i32 %522, 2
%524 = or i32 %520, %523
store i32 %524, i32* %9
%525 = load i32, i32* %7
%526 = shl i32 %525, 5
%527 = load i32, i32* %7
%528 = and i32 %527, -1
%529 = lshr i32 %528, 27
%530 = or i32 %526, %529
%531 = load i32, i32* %10
%532 = load i32, i32* %8
%533 = load i32, i32* %9
%534 = load i32, i32* %10
%535 = xor i32 %533, %534
%536 = and i32 %532, %535
%537 = xor i32 %531, %536
%538 = add i32 %530, %537
%539 = add i32 %538, 1518500249
%540 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%541 = load i32, i32* %540
%542 = add i32 %539, %541
%543 = load i32, i32* %11
%544 = add i32 %543, %542
store i32 %544, i32* %11
%545 = load i32, i32* %8
%546 = shl i32 %545, 30
%547 = load i32, i32* %8
%548 = and i32 %547, -1
%549 = lshr i32 %548, 2
%550 = or i32 %546, %549
store i32 %550, i32* %8
%551 = load i32, i32* %11
%552 = shl i32 %551, 5
%553 = load i32, i32* %11
%554 = and i32 %553, -1
%555 = lshr i32 %554, 27
%556 = or i32 %552, %555
%557 = load i32, i32* %9
%558 = load i32, i32* %7
%559 = load i32, i32* %8
%560 = load i32, i32* %9
%561 = xor i32 %559, %560
%562 = and i32 %558, %561
%563 = xor i32 %557, %562
%564 = add i32 %556, %563
%565 = add i32 %564, 1518500249
%566 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%567 = load i32, i32* %566
%568 = add i32 %565, %567
%569 = load i32, i32* %10
%570 = add i32 %569, %568
store i32 %570, i32* %10
%571 = load i32, i32* %7
%572 = shl i32 %571, 30
%573 = load i32, i32* %7
%574 = and i32 %573, -1
%575 = lshr i32 %574, 2
%576 = or i32 %572, %575
store i32 %576, i32* %7
%577 = load i32, i32* %10
%578 = shl i32 %577, 5
%579 = load i32, i32* %10
%580 = and i32 %579, -1
%581 = lshr i32 %580, 27
%582 = or i32 %578, %581
%583 = load i32, i32* %8
%584 = load i32, i32* %11
%585 = load i32, i32* %7
%586 = load i32, i32* %8
%587 = xor i32 %585, %586
%588 = and i32 %584, %587
%589 = xor i32 %583, %588
%590 = add i32 %582, %589
%591 = add i32 %590, 1518500249
%592 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%593 = load i32, i32* %592
%594 = add i32 %591, %593
%595 = load i32, i32* %9
%596 = add i32 %595, %594
store i32 %596, i32* %9
%597 = load i32, i32* %11
%598 = shl i32 %597, 30
%599 = load i32, i32* %11
%600 = and i32 %599, -1
%601 = lshr i32 %600, 2
%602 = or i32 %598, %601
store i32 %602, i32* %11
%603 = load i32, i32* %9
%604 = shl i32 %603, 5
%605 = load i32, i32* %9
%606 = and i32 %605, -1
%607 = lshr i32 %606, 27
%608 = or i32 %604, %607
%609 = load i32, i32* %7
%610 = load i32, i32* %10
%611 = load i32, i32* %11
%612 = load i32, i32* %7
%613 = xor i32 %611, %612
%614 = and i32 %610, %613
%615 = xor i32 %609, %614
%616 = add i32 %608, %615
%617 = add i32 %616, 1518500249
%618 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%619 = load i32, i32* %618
%620 = add i32 %617, %619
%621 = load i32, i32* %8
%622 = add i32 %621, %620
store i32 %622, i32* %8
%623 = load i32, i32* %10
%624 = shl i32 %623, 30
%625 = load i32, i32* %10
%626 = and i32 %625, -1
%627 = lshr i32 %626, 2
%628 = or i32 %624, %627
store i32 %628, i32* %10
%629 = load i32, i32* %8
%630 = shl i32 %629, 5
%631 = load i32, i32* %8
%632 = and i32 %631, -1
%633 = lshr i32 %632, 27
%634 = or i32 %630, %633
%635 = load i32, i32* %11
%636 = load i32, i32* %9
%637 = load i32, i32* %10
%638 = load i32, i32* %11
%639 = xor i32 %637, %638
%640 = and i32 %636, %639
%641 = xor i32 %635, %640
%642 = add i32 %634, %641
%643 = add i32 %642, 1518500249
%644 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%645 = load i32, i32* %644
%646 = add i32 %643, %645
%647 = load i32, i32* %7
%648 = add i32 %647, %646
store i32 %648, i32* %7
%649 = load i32, i32* %9
%650 = shl i32 %649, 30
%651 = load i32, i32* %9
%652 = and i32 %651, -1
%653 = lshr i32 %652, 2
%654 = or i32 %650, %653
store i32 %654, i32* %9
%655 = load i32, i32* %7
%656 = shl i32 %655, 5
%657 = load i32, i32* %7
%658 = and i32 %657, -1
%659 = lshr i32 %658, 27
%660 = or i32 %656, %659
%661 = load i32, i32* %10
%662 = load i32, i32* %8
%663 = load i32, i32* %9
%664 = load i32, i32* %10
%665 = xor i32 %663, %664
%666 = and i32 %662, %665
%667 = xor i32 %661, %666
%668 = add i32 %660, %667
%669 = add i32 %668, 1518500249
%670 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%671 = load i32, i32* %670
%672 = add i32 %669, %671
%673 = load i32, i32* %11
%674 = add i32 %673, %672
store i32 %674, i32* %11
%675 = load i32, i32* %8
%676 = shl i32 %675, 30
%677 = load i32, i32* %8
%678 = and i32 %677, -1
%679 = lshr i32 %678, 2
%680 = or i32 %676, %679
store i32 %680, i32* %8
%681 = load i32, i32* %11
%682 = shl i32 %681, 5
%683 = load i32, i32* %11
%684 = and i32 %683, -1
%685 = lshr i32 %684, 27
%686 = or i32 %682, %685
%687 = load i32, i32* %9
%688 = load i32, i32* %7
%689 = load i32, i32* %8
%690 = load i32, i32* %9
%691 = xor i32 %689, %690
%692 = and i32 %688, %691
%693 = xor i32 %687, %692
%694 = add i32 %686, %693
%695 = add i32 %694, 1518500249
%696 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%697 = load i32, i32* %696
%698 = add i32 %695, %697
%699 = load i32, i32* %10
%700 = add i32 %699, %698
store i32 %700, i32* %10
%701 = load i32, i32* %7
%702 = shl i32 %701, 30
%703 = load i32, i32* %7
%704 = and i32 %703, -1
%705 = lshr i32 %704, 2
%706 = or i32 %702, %705
store i32 %706, i32* %7
%707 = load i32, i32* %10
%708 = shl i32 %707, 5
%709 = load i32, i32* %10
%710 = and i32 %709, -1
%711 = lshr i32 %710, 27
%712 = or i32 %708, %711
%713 = load i32, i32* %8
%714 = load i32, i32* %11
%715 = load i32, i32* %7
%716 = load i32, i32* %8
%717 = xor i32 %715, %716
%718 = and i32 %714, %717
%719 = xor i32 %713, %718
%720 = add i32 %712, %719
%721 = add i32 %720, 1518500249
%722 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%723 = load i32, i32* %722
%724 = add i32 %721, %723
%725 = load i32, i32* %9
%726 = add i32 %725, %724
store i32 %726, i32* %9
%727 = load i32, i32* %11
%728 = shl i32 %727, 30
%729 = load i32, i32* %11
%730 = and i32 %729, -1
%731 = lshr i32 %730, 2
%732 = or i32 %728, %731
store i32 %732, i32* %11
%733 = load i32, i32* %9
%734 = shl i32 %733, 5
%735 = load i32, i32* %9
%736 = and i32 %735, -1
%737 = lshr i32 %736, 27
%738 = or i32 %734, %737
%739 = load i32, i32* %7
%740 = load i32, i32* %10
%741 = load i32, i32* %11
%742 = load i32, i32* %7
%743 = xor i32 %741, %742
%744 = and i32 %740, %743
%745 = xor i32 %739, %744
%746 = add i32 %738, %745
%747 = add i32 %746, 1518500249
%748 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%749 = load i32, i32* %748
%750 = add i32 %747, %749
%751 = load i32, i32* %8
%752 = add i32 %751, %750
store i32 %752, i32* %8
%753 = load i32, i32* %10
%754 = shl i32 %753, 30
%755 = load i32, i32* %10
%756 = and i32 %755, -1
%757 = lshr i32 %756, 2
%758 = or i32 %754, %757
store i32 %758, i32* %10
%759 = load i32, i32* %8
%760 = shl i32 %759, 5
%761 = load i32, i32* %8
%762 = and i32 %761, -1
%763 = lshr i32 %762, 27
%764 = or i32 %760, %763
%765 = load i32, i32* %11
%766 = load i32, i32* %9
%767 = load i32, i32* %10
%768 = load i32, i32* %11
%769 = xor i32 %767, %768
%770 = and i32 %766, %769
%771 = xor i32 %765, %770
%772 = add i32 %764, %771
%773 = add i32 %772, 1518500249
%774 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%775 = load i32, i32* %774
%776 = add i32 %773, %775
%777 = load i32, i32* %7
%778 = add i32 %777, %776
store i32 %778, i32* %7
%779 = load i32, i32* %9
%780 = shl i32 %779, 30
%781 = load i32, i32* %9
%782 = and i32 %781, -1
%783 = lshr i32 %782, 2
%784 = or i32 %780, %783
store i32 %784, i32* %9
%785 = load i32, i32* %7
%786 = shl i32 %785, 5
%787 = load i32, i32* %7
%788 = and i32 %787, -1
%789 = lshr i32 %788, 27
%790 = or i32 %786, %789
%791 = load i32, i32* %10
%792 = load i32, i32* %8
%793 = load i32, i32* %9
%794 = load i32, i32* %10
%795 = xor i32 %793, %794
%796 = and i32 %792, %795
%797 = xor i32 %791, %796
%798 = add i32 %790, %797
%799 = add i32 %798, 1518500249
%800 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%801 = load i32, i32* %800
%802 = add i32 %799, %801
%803 = load i32, i32* %11
%804 = add i32 %803, %802
store i32 %804, i32* %11
%805 = load i32, i32* %8
%806 = shl i32 %805, 30
%807 = load i32, i32* %8
%808 = and i32 %807, -1
%809 = lshr i32 %808, 2
%810 = or i32 %806, %809
store i32 %810, i32* %8
%811 = load i32, i32* %11
%812 = shl i32 %811, 5
%813 = load i32, i32* %11
%814 = and i32 %813, -1
%815 = lshr i32 %814, 27
%816 = or i32 %812, %815
%817 = load i32, i32* %9
%818 = load i32, i32* %7
%819 = load i32, i32* %8
%820 = load i32, i32* %9
%821 = xor i32 %819, %820
%822 = and i32 %818, %821
%823 = xor i32 %817, %822
%824 = add i32 %816, %823
%825 = add i32 %824, 1518500249
%826 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%827 = load i32, i32* %826
%828 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%829 = load i32, i32* %828
%830 = xor i32 %827, %829
%831 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%832 = load i32, i32* %831
%833 = xor i32 %830, %832
%834 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%835 = load i32, i32* %834
%836 = xor i32 %833, %835
store i32 %836, i32* %5
%837 = load i32, i32* %5
%838 = shl i32 %837, 1
%839 = load i32, i32* %5
%840 = and i32 %839, -1
%841 = lshr i32 %840, 31
%842 = or i32 %838, %841
%843 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
store i32 %842, i32* %843
%844 = add i32 %825, %842
%845 = load i32, i32* %10
%846 = add i32 %845, %844
store i32 %846, i32* %10
%847 = load i32, i32* %7
%848 = shl i32 %847, 30
%849 = load i32, i32* %7
%850 = and i32 %849, -1
%851 = lshr i32 %850, 2
%852 = or i32 %848, %851
store i32 %852, i32* %7
%853 = load i32, i32* %10
%854 = shl i32 %853, 5
%855 = load i32, i32* %10
%856 = and i32 %855, -1
%857 = lshr i32 %856, 27
%858 = or i32 %854, %857
%859 = load i32, i32* %8
%860 = load i32, i32* %11
%861 = load i32, i32* %7
%862 = load i32, i32* %8
%863 = xor i32 %861, %862
%864 = and i32 %860, %863
%865 = xor i32 %859, %864
%866 = add i32 %858, %865
%867 = add i32 %866, 1518500249
%868 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%869 = load i32, i32* %868
%870 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%871 = load i32, i32* %870
%872 = xor i32 %869, %871
%873 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%874 = load i32, i32* %873
%875 = xor i32 %872, %874
%876 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%877 = load i32, i32* %876
%878 = xor i32 %875, %877
store i32 %878, i32* %5
%879 = load i32, i32* %5
%880 = shl i32 %879, 1
%881 = load i32, i32* %5
%882 = and i32 %881, -1
%883 = lshr i32 %882, 31
%884 = or i32 %880, %883
%885 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
store i32 %884, i32* %885
%886 = add i32 %867, %884
%887 = load i32, i32* %9
%888 = add i32 %887, %886
store i32 %888, i32* %9
%889 = load i32, i32* %11
%890 = shl i32 %889, 30
%891 = load i32, i32* %11
%892 = and i32 %891, -1
%893 = lshr i32 %892, 2
%894 = or i32 %890, %893
store i32 %894, i32* %11
%895 = load i32, i32* %9
%896 = shl i32 %895, 5
%897 = load i32, i32* %9
%898 = and i32 %897, -1
%899 = lshr i32 %898, 27
%900 = or i32 %896, %899
%901 = load i32, i32* %7
%902 = load i32, i32* %10
%903 = load i32, i32* %11
%904 = load i32, i32* %7
%905 = xor i32 %903, %904
%906 = and i32 %902, %905
%907 = xor i32 %901, %906
%908 = add i32 %900, %907
%909 = add i32 %908, 1518500249
%910 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%911 = load i32, i32* %910
%912 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%913 = load i32, i32* %912
%914 = xor i32 %911, %913
%915 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%916 = load i32, i32* %915
%917 = xor i32 %914, %916
%918 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%919 = load i32, i32* %918
%920 = xor i32 %917, %919
store i32 %920, i32* %5
%921 = load i32, i32* %5
%922 = shl i32 %921, 1
%923 = load i32, i32* %5
%924 = and i32 %923, -1
%925 = lshr i32 %924, 31
%926 = or i32 %922, %925
%927 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
store i32 %926, i32* %927
%928 = add i32 %909, %926
%929 = load i32, i32* %8
%930 = add i32 %929, %928
store i32 %930, i32* %8
%931 = load i32, i32* %10
%932 = shl i32 %931, 30
%933 = load i32, i32* %10
%934 = and i32 %933, -1
%935 = lshr i32 %934, 2
%936 = or i32 %932, %935
store i32 %936, i32* %10
%937 = load i32, i32* %8
%938 = shl i32 %937, 5
%939 = load i32, i32* %8
%940 = and i32 %939, -1
%941 = lshr i32 %940, 27
%942 = or i32 %938, %941
%943 = load i32, i32* %11
%944 = load i32, i32* %9
%945 = load i32, i32* %10
%946 = load i32, i32* %11
%947 = xor i32 %945, %946
%948 = and i32 %944, %947
%949 = xor i32 %943, %948
%950 = add i32 %942, %949
%951 = add i32 %950, 1518500249
%952 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%953 = load i32, i32* %952
%954 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%955 = load i32, i32* %954
%956 = xor i32 %953, %955
%957 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%958 = load i32, i32* %957
%959 = xor i32 %956, %958
%960 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%961 = load i32, i32* %960
%962 = xor i32 %959, %961
store i32 %962, i32* %5
%963 = load i32, i32* %5
%964 = shl i32 %963, 1
%965 = load i32, i32* %5
%966 = and i32 %965, -1
%967 = lshr i32 %966, 31
%968 = or i32 %964, %967
%969 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
store i32 %968, i32* %969
%970 = add i32 %951, %968
%971 = load i32, i32* %7
%972 = add i32 %971, %970
store i32 %972, i32* %7
%973 = load i32, i32* %9
%974 = shl i32 %973, 30
%975 = load i32, i32* %9
%976 = and i32 %975, -1
%977 = lshr i32 %976, 2
%978 = or i32 %974, %977
store i32 %978, i32* %9
%979 = load i32, i32* %7
%980 = shl i32 %979, 5
%981 = load i32, i32* %7
%982 = and i32 %981, -1
%983 = lshr i32 %982, 27
%984 = or i32 %980, %983
%985 = load i32, i32* %8
%986 = load i32, i32* %9
%987 = xor i32 %985, %986
%988 = load i32, i32* %10
%989 = xor i32 %987, %988
%990 = add i32 %984, %989
%991 = add i32 %990, 1859775393
%992 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%993 = load i32, i32* %992
%994 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%995 = load i32, i32* %994
%996 = xor i32 %993, %995
%997 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%998 = load i32, i32* %997
%999 = xor i32 %996, %998
%1000 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1001 = load i32, i32* %1000
%1002 = xor i32 %999, %1001
store i32 %1002, i32* %5
%1003 = load i32, i32* %5
%1004 = shl i32 %1003, 1
%1005 = load i32, i32* %5
%1006 = and i32 %1005, -1
%1007 = lshr i32 %1006, 31
%1008 = or i32 %1004, %1007
%1009 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
store i32 %1008, i32* %1009
%1010 = add i32 %991, %1008
%1011 = load i32, i32* %11
%1012 = add i32 %1011, %1010
store i32 %1012, i32* %11
%1013 = load i32, i32* %8
%1014 = shl i32 %1013, 30
%1015 = load i32, i32* %8
%1016 = and i32 %1015, -1
%1017 = lshr i32 %1016, 2
%1018 = or i32 %1014, %1017
store i32 %1018, i32* %8
%1019 = load i32, i32* %11
%1020 = shl i32 %1019, 5
%1021 = load i32, i32* %11
%1022 = and i32 %1021, -1
%1023 = lshr i32 %1022, 27
%1024 = or i32 %1020, %1023
%1025 = load i32, i32* %7
%1026 = load i32, i32* %8
%1027 = xor i32 %1025, %1026
%1028 = load i32, i32* %9
%1029 = xor i32 %1027, %1028
%1030 = add i32 %1024, %1029
%1031 = add i32 %1030, 1859775393
%1032 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1033 = load i32, i32* %1032
%1034 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1035 = load i32, i32* %1034
%1036 = xor i32 %1033, %1035
%1037 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1038 = load i32, i32* %1037
%1039 = xor i32 %1036, %1038
%1040 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1041 = load i32, i32* %1040
%1042 = xor i32 %1039, %1041
store i32 %1042, i32* %5
%1043 = load i32, i32* %5
%1044 = shl i32 %1043, 1
%1045 = load i32, i32* %5
%1046 = and i32 %1045, -1
%1047 = lshr i32 %1046, 31
%1048 = or i32 %1044, %1047
%1049 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
store i32 %1048, i32* %1049
%1050 = add i32 %1031, %1048
%1051 = load i32, i32* %10
%1052 = add i32 %1051, %1050
store i32 %1052, i32* %10
%1053 = load i32, i32* %7
%1054 = shl i32 %1053, 30
%1055 = load i32, i32* %7
%1056 = and i32 %1055, -1
%1057 = lshr i32 %1056, 2
%1058 = or i32 %1054, %1057
store i32 %1058, i32* %7
%1059 = load i32, i32* %10
%1060 = shl i32 %1059, 5
%1061 = load i32, i32* %10
%1062 = and i32 %1061, -1
%1063 = lshr i32 %1062, 27
%1064 = or i32 %1060, %1063
%1065 = load i32, i32* %11
%1066 = load i32, i32* %7
%1067 = xor i32 %1065, %1066
%1068 = load i32, i32* %8
%1069 = xor i32 %1067, %1068
%1070 = add i32 %1064, %1069
%1071 = add i32 %1070, 1859775393
%1072 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1073 = load i32, i32* %1072
%1074 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1075 = load i32, i32* %1074
%1076 = xor i32 %1073, %1075
%1077 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1078 = load i32, i32* %1077
%1079 = xor i32 %1076, %1078
%1080 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1081 = load i32, i32* %1080
%1082 = xor i32 %1079, %1081
store i32 %1082, i32* %5
%1083 = load i32, i32* %5
%1084 = shl i32 %1083, 1
%1085 = load i32, i32* %5
%1086 = and i32 %1085, -1
%1087 = lshr i32 %1086, 31
%1088 = or i32 %1084, %1087
%1089 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
store i32 %1088, i32* %1089
%1090 = add i32 %1071, %1088
%1091 = load i32, i32* %9
%1092 = add i32 %1091, %1090
store i32 %1092, i32* %9
%1093 = load i32, i32* %11
%1094 = shl i32 %1093, 30
%1095 = load i32, i32* %11
%1096 = and i32 %1095, -1
%1097 = lshr i32 %1096, 2
%1098 = or i32 %1094, %1097
store i32 %1098, i32* %11
%1099 = load i32, i32* %9
%1100 = shl i32 %1099, 5
%1101 = load i32, i32* %9
%1102 = and i32 %1101, -1
%1103 = lshr i32 %1102, 27
%1104 = or i32 %1100, %1103
%1105 = load i32, i32* %10
%1106 = load i32, i32* %11
%1107 = xor i32 %1105, %1106
%1108 = load i32, i32* %7
%1109 = xor i32 %1107, %1108
%1110 = add i32 %1104, %1109
%1111 = add i32 %1110, 1859775393
%1112 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1113 = load i32, i32* %1112
%1114 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%1115 = load i32, i32* %1114
%1116 = xor i32 %1113, %1115
%1117 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1118 = load i32, i32* %1117
%1119 = xor i32 %1116, %1118
%1120 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1121 = load i32, i32* %1120
%1122 = xor i32 %1119, %1121
store i32 %1122, i32* %5
%1123 = load i32, i32* %5
%1124 = shl i32 %1123, 1
%1125 = load i32, i32* %5
%1126 = and i32 %1125, -1
%1127 = lshr i32 %1126, 31
%1128 = or i32 %1124, %1127
%1129 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
store i32 %1128, i32* %1129
%1130 = add i32 %1111, %1128
%1131 = load i32, i32* %8
%1132 = add i32 %1131, %1130
store i32 %1132, i32* %8
%1133 = load i32, i32* %10
%1134 = shl i32 %1133, 30
%1135 = load i32, i32* %10
%1136 = and i32 %1135, -1
%1137 = lshr i32 %1136, 2
%1138 = or i32 %1134, %1137
store i32 %1138, i32* %10
%1139 = load i32, i32* %8
%1140 = shl i32 %1139, 5
%1141 = load i32, i32* %8
%1142 = and i32 %1141, -1
%1143 = lshr i32 %1142, 27
%1144 = or i32 %1140, %1143
%1145 = load i32, i32* %9
%1146 = load i32, i32* %10
%1147 = xor i32 %1145, %1146
%1148 = load i32, i32* %11
%1149 = xor i32 %1147, %1148
%1150 = add i32 %1144, %1149
%1151 = add i32 %1150, 1859775393
%1152 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1153 = load i32, i32* %1152
%1154 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%1155 = load i32, i32* %1154
%1156 = xor i32 %1153, %1155
%1157 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1158 = load i32, i32* %1157
%1159 = xor i32 %1156, %1158
%1160 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1161 = load i32, i32* %1160
%1162 = xor i32 %1159, %1161
store i32 %1162, i32* %5
%1163 = load i32, i32* %5
%1164 = shl i32 %1163, 1
%1165 = load i32, i32* %5
%1166 = and i32 %1165, -1
%1167 = lshr i32 %1166, 31
%1168 = or i32 %1164, %1167
%1169 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
store i32 %1168, i32* %1169
%1170 = add i32 %1151, %1168
%1171 = load i32, i32* %7
%1172 = add i32 %1171, %1170
store i32 %1172, i32* %7
%1173 = load i32, i32* %9
%1174 = shl i32 %1173, 30
%1175 = load i32, i32* %9
%1176 = and i32 %1175, -1
%1177 = lshr i32 %1176, 2
%1178 = or i32 %1174, %1177
store i32 %1178, i32* %9
%1179 = load i32, i32* %7
%1180 = shl i32 %1179, 5
%1181 = load i32, i32* %7
%1182 = and i32 %1181, -1
%1183 = lshr i32 %1182, 27
%1184 = or i32 %1180, %1183
%1185 = load i32, i32* %8
%1186 = load i32, i32* %9
%1187 = xor i32 %1185, %1186
%1188 = load i32, i32* %10
%1189 = xor i32 %1187, %1188
%1190 = add i32 %1184, %1189
%1191 = add i32 %1190, 1859775393
%1192 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1193 = load i32, i32* %1192
%1194 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%1195 = load i32, i32* %1194
%1196 = xor i32 %1193, %1195
%1197 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1198 = load i32, i32* %1197
%1199 = xor i32 %1196, %1198
%1200 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1201 = load i32, i32* %1200
%1202 = xor i32 %1199, %1201
store i32 %1202, i32* %5
%1203 = load i32, i32* %5
%1204 = shl i32 %1203, 1
%1205 = load i32, i32* %5
%1206 = and i32 %1205, -1
%1207 = lshr i32 %1206, 31
%1208 = or i32 %1204, %1207
%1209 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
store i32 %1208, i32* %1209
%1210 = add i32 %1191, %1208
%1211 = load i32, i32* %11
%1212 = add i32 %1211, %1210
store i32 %1212, i32* %11
%1213 = load i32, i32* %8
%1214 = shl i32 %1213, 30
%1215 = load i32, i32* %8
%1216 = and i32 %1215, -1
%1217 = lshr i32 %1216, 2
%1218 = or i32 %1214, %1217
store i32 %1218, i32* %8
%1219 = load i32, i32* %11
%1220 = shl i32 %1219, 5
%1221 = load i32, i32* %11
%1222 = and i32 %1221, -1
%1223 = lshr i32 %1222, 27
%1224 = or i32 %1220, %1223
%1225 = load i32, i32* %7
%1226 = load i32, i32* %8
%1227 = xor i32 %1225, %1226
%1228 = load i32, i32* %9
%1229 = xor i32 %1227, %1228
%1230 = add i32 %1224, %1229
%1231 = add i32 %1230, 1859775393
%1232 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1233 = load i32, i32* %1232
%1234 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1235 = load i32, i32* %1234
%1236 = xor i32 %1233, %1235
%1237 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1238 = load i32, i32* %1237
%1239 = xor i32 %1236, %1238
%1240 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1241 = load i32, i32* %1240
%1242 = xor i32 %1239, %1241
store i32 %1242, i32* %5
%1243 = load i32, i32* %5
%1244 = shl i32 %1243, 1
%1245 = load i32, i32* %5
%1246 = and i32 %1245, -1
%1247 = lshr i32 %1246, 31
%1248 = or i32 %1244, %1247
%1249 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
store i32 %1248, i32* %1249
%1250 = add i32 %1231, %1248
%1251 = load i32, i32* %10
%1252 = add i32 %1251, %1250
store i32 %1252, i32* %10
%1253 = load i32, i32* %7
%1254 = shl i32 %1253, 30
%1255 = load i32, i32* %7
%1256 = and i32 %1255, -1
%1257 = lshr i32 %1256, 2
%1258 = or i32 %1254, %1257
store i32 %1258, i32* %7
%1259 = load i32, i32* %10
%1260 = shl i32 %1259, 5
%1261 = load i32, i32* %10
%1262 = and i32 %1261, -1
%1263 = lshr i32 %1262, 27
%1264 = or i32 %1260, %1263
%1265 = load i32, i32* %11
%1266 = load i32, i32* %7
%1267 = xor i32 %1265, %1266
%1268 = load i32, i32* %8
%1269 = xor i32 %1267, %1268
%1270 = add i32 %1264, %1269
%1271 = add i32 %1270, 1859775393
%1272 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1273 = load i32, i32* %1272
%1274 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1275 = load i32, i32* %1274
%1276 = xor i32 %1273, %1275
%1277 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1278 = load i32, i32* %1277
%1279 = xor i32 %1276, %1278
%1280 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1281 = load i32, i32* %1280
%1282 = xor i32 %1279, %1281
store i32 %1282, i32* %5
%1283 = load i32, i32* %5
%1284 = shl i32 %1283, 1
%1285 = load i32, i32* %5
%1286 = and i32 %1285, -1
%1287 = lshr i32 %1286, 31
%1288 = or i32 %1284, %1287
%1289 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
store i32 %1288, i32* %1289
%1290 = add i32 %1271, %1288
%1291 = load i32, i32* %9
%1292 = add i32 %1291, %1290
store i32 %1292, i32* %9
%1293 = load i32, i32* %11
%1294 = shl i32 %1293, 30
%1295 = load i32, i32* %11
%1296 = and i32 %1295, -1
%1297 = lshr i32 %1296, 2
%1298 = or i32 %1294, %1297
store i32 %1298, i32* %11
%1299 = load i32, i32* %9
%1300 = shl i32 %1299, 5
%1301 = load i32, i32* %9
%1302 = and i32 %1301, -1
%1303 = lshr i32 %1302, 27
%1304 = or i32 %1300, %1303
%1305 = load i32, i32* %10
%1306 = load i32, i32* %11
%1307 = xor i32 %1305, %1306
%1308 = load i32, i32* %7
%1309 = xor i32 %1307, %1308
%1310 = add i32 %1304, %1309
%1311 = add i32 %1310, 1859775393
%1312 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1313 = load i32, i32* %1312
%1314 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1315 = load i32, i32* %1314
%1316 = xor i32 %1313, %1315
%1317 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1318 = load i32, i32* %1317
%1319 = xor i32 %1316, %1318
%1320 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1321 = load i32, i32* %1320
%1322 = xor i32 %1319, %1321
store i32 %1322, i32* %5
%1323 = load i32, i32* %5
%1324 = shl i32 %1323, 1
%1325 = load i32, i32* %5
%1326 = and i32 %1325, -1
%1327 = lshr i32 %1326, 31
%1328 = or i32 %1324, %1327
%1329 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
store i32 %1328, i32* %1329
%1330 = add i32 %1311, %1328
%1331 = load i32, i32* %8
%1332 = add i32 %1331, %1330
store i32 %1332, i32* %8
%1333 = load i32, i32* %10
%1334 = shl i32 %1333, 30
%1335 = load i32, i32* %10
%1336 = and i32 %1335, -1
%1337 = lshr i32 %1336, 2
%1338 = or i32 %1334, %1337
store i32 %1338, i32* %10
%1339 = load i32, i32* %8
%1340 = shl i32 %1339, 5
%1341 = load i32, i32* %8
%1342 = and i32 %1341, -1
%1343 = lshr i32 %1342, 27
%1344 = or i32 %1340, %1343
%1345 = load i32, i32* %9
%1346 = load i32, i32* %10
%1347 = xor i32 %1345, %1346
%1348 = load i32, i32* %11
%1349 = xor i32 %1347, %1348
%1350 = add i32 %1344, %1349
%1351 = add i32 %1350, 1859775393
%1352 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1353 = load i32, i32* %1352
%1354 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1355 = load i32, i32* %1354
%1356 = xor i32 %1353, %1355
%1357 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%1358 = load i32, i32* %1357
%1359 = xor i32 %1356, %1358
%1360 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1361 = load i32, i32* %1360
%1362 = xor i32 %1359, %1361
store i32 %1362, i32* %5
%1363 = load i32, i32* %5
%1364 = shl i32 %1363, 1
%1365 = load i32, i32* %5
%1366 = and i32 %1365, -1
%1367 = lshr i32 %1366, 31
%1368 = or i32 %1364, %1367
%1369 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
store i32 %1368, i32* %1369
%1370 = add i32 %1351, %1368
%1371 = load i32, i32* %7
%1372 = add i32 %1371, %1370
store i32 %1372, i32* %7
%1373 = load i32, i32* %9
%1374 = shl i32 %1373, 30
%1375 = load i32, i32* %9
%1376 = and i32 %1375, -1
%1377 = lshr i32 %1376, 2
%1378 = or i32 %1374, %1377
store i32 %1378, i32* %9
%1379 = load i32, i32* %7
%1380 = shl i32 %1379, 5
%1381 = load i32, i32* %7
%1382 = and i32 %1381, -1
%1383 = lshr i32 %1382, 27
%1384 = or i32 %1380, %1383
%1385 = load i32, i32* %8
%1386 = load i32, i32* %9
%1387 = xor i32 %1385, %1386
%1388 = load i32, i32* %10
%1389 = xor i32 %1387, %1388
%1390 = add i32 %1384, %1389
%1391 = add i32 %1390, 1859775393
%1392 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1393 = load i32, i32* %1392
%1394 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1395 = load i32, i32* %1394
%1396 = xor i32 %1393, %1395
%1397 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%1398 = load i32, i32* %1397
%1399 = xor i32 %1396, %1398
%1400 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1401 = load i32, i32* %1400
%1402 = xor i32 %1399, %1401
store i32 %1402, i32* %5
%1403 = load i32, i32* %5
%1404 = shl i32 %1403, 1
%1405 = load i32, i32* %5
%1406 = and i32 %1405, -1
%1407 = lshr i32 %1406, 31
%1408 = or i32 %1404, %1407
%1409 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
store i32 %1408, i32* %1409
%1410 = add i32 %1391, %1408
%1411 = load i32, i32* %11
%1412 = add i32 %1411, %1410
store i32 %1412, i32* %11
%1413 = load i32, i32* %8
%1414 = shl i32 %1413, 30
%1415 = load i32, i32* %8
%1416 = and i32 %1415, -1
%1417 = lshr i32 %1416, 2
%1418 = or i32 %1414, %1417
store i32 %1418, i32* %8
%1419 = load i32, i32* %11
%1420 = shl i32 %1419, 5
%1421 = load i32, i32* %11
%1422 = and i32 %1421, -1
%1423 = lshr i32 %1422, 27
%1424 = or i32 %1420, %1423
%1425 = load i32, i32* %7
%1426 = load i32, i32* %8
%1427 = xor i32 %1425, %1426
%1428 = load i32, i32* %9
%1429 = xor i32 %1427, %1428
%1430 = add i32 %1424, %1429
%1431 = add i32 %1430, 1859775393
%1432 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1433 = load i32, i32* %1432
%1434 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1435 = load i32, i32* %1434
%1436 = xor i32 %1433, %1435
%1437 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%1438 = load i32, i32* %1437
%1439 = xor i32 %1436, %1438
%1440 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%1441 = load i32, i32* %1440
%1442 = xor i32 %1439, %1441
store i32 %1442, i32* %5
%1443 = load i32, i32* %5
%1444 = shl i32 %1443, 1
%1445 = load i32, i32* %5
%1446 = and i32 %1445, -1
%1447 = lshr i32 %1446, 31
%1448 = or i32 %1444, %1447
%1449 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
store i32 %1448, i32* %1449
%1450 = add i32 %1431, %1448
%1451 = load i32, i32* %10
%1452 = add i32 %1451, %1450
store i32 %1452, i32* %10
%1453 = load i32, i32* %7
%1454 = shl i32 %1453, 30
%1455 = load i32, i32* %7
%1456 = and i32 %1455, -1
%1457 = lshr i32 %1456, 2
%1458 = or i32 %1454, %1457
store i32 %1458, i32* %7
%1459 = load i32, i32* %10
%1460 = shl i32 %1459, 5
%1461 = load i32, i32* %10
%1462 = and i32 %1461, -1
%1463 = lshr i32 %1462, 27
%1464 = or i32 %1460, %1463
%1465 = load i32, i32* %11
%1466 = load i32, i32* %7
%1467 = xor i32 %1465, %1466
%1468 = load i32, i32* %8
%1469 = xor i32 %1467, %1468
%1470 = add i32 %1464, %1469
%1471 = add i32 %1470, 1859775393
%1472 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1473 = load i32, i32* %1472
%1474 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1475 = load i32, i32* %1474
%1476 = xor i32 %1473, %1475
%1477 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1478 = load i32, i32* %1477
%1479 = xor i32 %1476, %1478
%1480 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%1481 = load i32, i32* %1480
%1482 = xor i32 %1479, %1481
store i32 %1482, i32* %5
%1483 = load i32, i32* %5
%1484 = shl i32 %1483, 1
%1485 = load i32, i32* %5
%1486 = and i32 %1485, -1
%1487 = lshr i32 %1486, 31
%1488 = or i32 %1484, %1487
%1489 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
store i32 %1488, i32* %1489
%1490 = add i32 %1471, %1488
%1491 = load i32, i32* %9
%1492 = add i32 %1491, %1490
store i32 %1492, i32* %9
%1493 = load i32, i32* %11
%1494 = shl i32 %1493, 30
%1495 = load i32, i32* %11
%1496 = and i32 %1495, -1
%1497 = lshr i32 %1496, 2
%1498 = or i32 %1494, %1497
store i32 %1498, i32* %11
%1499 = load i32, i32* %9
%1500 = shl i32 %1499, 5
%1501 = load i32, i32* %9
%1502 = and i32 %1501, -1
%1503 = lshr i32 %1502, 27
%1504 = or i32 %1500, %1503
%1505 = load i32, i32* %10
%1506 = load i32, i32* %11
%1507 = xor i32 %1505, %1506
%1508 = load i32, i32* %7
%1509 = xor i32 %1507, %1508
%1510 = add i32 %1504, %1509
%1511 = add i32 %1510, 1859775393
%1512 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1513 = load i32, i32* %1512
%1514 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1515 = load i32, i32* %1514
%1516 = xor i32 %1513, %1515
%1517 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1518 = load i32, i32* %1517
%1519 = xor i32 %1516, %1518
%1520 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%1521 = load i32, i32* %1520
%1522 = xor i32 %1519, %1521
store i32 %1522, i32* %5
%1523 = load i32, i32* %5
%1524 = shl i32 %1523, 1
%1525 = load i32, i32* %5
%1526 = and i32 %1525, -1
%1527 = lshr i32 %1526, 31
%1528 = or i32 %1524, %1527
%1529 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
store i32 %1528, i32* %1529
%1530 = add i32 %1511, %1528
%1531 = load i32, i32* %8
%1532 = add i32 %1531, %1530
store i32 %1532, i32* %8
%1533 = load i32, i32* %10
%1534 = shl i32 %1533, 30
%1535 = load i32, i32* %10
%1536 = and i32 %1535, -1
%1537 = lshr i32 %1536, 2
%1538 = or i32 %1534, %1537
store i32 %1538, i32* %10
%1539 = load i32, i32* %8
%1540 = shl i32 %1539, 5
%1541 = load i32, i32* %8
%1542 = and i32 %1541, -1
%1543 = lshr i32 %1542, 27
%1544 = or i32 %1540, %1543
%1545 = load i32, i32* %9
%1546 = load i32, i32* %10
%1547 = xor i32 %1545, %1546
%1548 = load i32, i32* %11
%1549 = xor i32 %1547, %1548
%1550 = add i32 %1544, %1549
%1551 = add i32 %1550, 1859775393
%1552 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%1553 = load i32, i32* %1552
%1554 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1555 = load i32, i32* %1554
%1556 = xor i32 %1553, %1555
%1557 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1558 = load i32, i32* %1557
%1559 = xor i32 %1556, %1558
%1560 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1561 = load i32, i32* %1560
%1562 = xor i32 %1559, %1561
store i32 %1562, i32* %5
%1563 = load i32, i32* %5
%1564 = shl i32 %1563, 1
%1565 = load i32, i32* %5
%1566 = and i32 %1565, -1
%1567 = lshr i32 %1566, 31
%1568 = or i32 %1564, %1567
%1569 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
store i32 %1568, i32* %1569
%1570 = add i32 %1551, %1568
%1571 = load i32, i32* %7
%1572 = add i32 %1571, %1570
store i32 %1572, i32* %7
%1573 = load i32, i32* %9
%1574 = shl i32 %1573, 30
%1575 = load i32, i32* %9
%1576 = and i32 %1575, -1
%1577 = lshr i32 %1576, 2
%1578 = or i32 %1574, %1577
store i32 %1578, i32* %9
%1579 = load i32, i32* %7
%1580 = shl i32 %1579, 5
%1581 = load i32, i32* %7
%1582 = and i32 %1581, -1
%1583 = lshr i32 %1582, 27
%1584 = or i32 %1580, %1583
%1585 = load i32, i32* %8
%1586 = load i32, i32* %9
%1587 = xor i32 %1585, %1586
%1588 = load i32, i32* %10
%1589 = xor i32 %1587, %1588
%1590 = add i32 %1584, %1589
%1591 = add i32 %1590, 1859775393
%1592 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%1593 = load i32, i32* %1592
%1594 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1595 = load i32, i32* %1594
%1596 = xor i32 %1593, %1595
%1597 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1598 = load i32, i32* %1597
%1599 = xor i32 %1596, %1598
%1600 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1601 = load i32, i32* %1600
%1602 = xor i32 %1599, %1601
store i32 %1602, i32* %5
%1603 = load i32, i32* %5
%1604 = shl i32 %1603, 1
%1605 = load i32, i32* %5
%1606 = and i32 %1605, -1
%1607 = lshr i32 %1606, 31
%1608 = or i32 %1604, %1607
%1609 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
store i32 %1608, i32* %1609
%1610 = add i32 %1591, %1608
%1611 = load i32, i32* %11
%1612 = add i32 %1611, %1610
store i32 %1612, i32* %11
%1613 = load i32, i32* %8
%1614 = shl i32 %1613, 30
%1615 = load i32, i32* %8
%1616 = and i32 %1615, -1
%1617 = lshr i32 %1616, 2
%1618 = or i32 %1614, %1617
store i32 %1618, i32* %8
%1619 = load i32, i32* %11
%1620 = shl i32 %1619, 5
%1621 = load i32, i32* %11
%1622 = and i32 %1621, -1
%1623 = lshr i32 %1622, 27
%1624 = or i32 %1620, %1623
%1625 = load i32, i32* %7
%1626 = load i32, i32* %8
%1627 = xor i32 %1625, %1626
%1628 = load i32, i32* %9
%1629 = xor i32 %1627, %1628
%1630 = add i32 %1624, %1629
%1631 = add i32 %1630, 1859775393
%1632 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%1633 = load i32, i32* %1632
%1634 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1635 = load i32, i32* %1634
%1636 = xor i32 %1633, %1635
%1637 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1638 = load i32, i32* %1637
%1639 = xor i32 %1636, %1638
%1640 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1641 = load i32, i32* %1640
%1642 = xor i32 %1639, %1641
store i32 %1642, i32* %5
%1643 = load i32, i32* %5
%1644 = shl i32 %1643, 1
%1645 = load i32, i32* %5
%1646 = and i32 %1645, -1
%1647 = lshr i32 %1646, 31
%1648 = or i32 %1644, %1647
%1649 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
store i32 %1648, i32* %1649
%1650 = add i32 %1631, %1648
%1651 = load i32, i32* %10
%1652 = add i32 %1651, %1650
store i32 %1652, i32* %10
%1653 = load i32, i32* %7
%1654 = shl i32 %1653, 30
%1655 = load i32, i32* %7
%1656 = and i32 %1655, -1
%1657 = lshr i32 %1656, 2
%1658 = or i32 %1654, %1657
store i32 %1658, i32* %7
%1659 = load i32, i32* %10
%1660 = shl i32 %1659, 5
%1661 = load i32, i32* %10
%1662 = and i32 %1661, -1
%1663 = lshr i32 %1662, 27
%1664 = or i32 %1660, %1663
%1665 = load i32, i32* %11
%1666 = load i32, i32* %7
%1667 = xor i32 %1665, %1666
%1668 = load i32, i32* %8
%1669 = xor i32 %1667, %1668
%1670 = add i32 %1664, %1669
%1671 = add i32 %1670, 1859775393
%1672 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1673 = load i32, i32* %1672
%1674 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1675 = load i32, i32* %1674
%1676 = xor i32 %1673, %1675
%1677 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1678 = load i32, i32* %1677
%1679 = xor i32 %1676, %1678
%1680 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1681 = load i32, i32* %1680
%1682 = xor i32 %1679, %1681
store i32 %1682, i32* %5
%1683 = load i32, i32* %5
%1684 = shl i32 %1683, 1
%1685 = load i32, i32* %5
%1686 = and i32 %1685, -1
%1687 = lshr i32 %1686, 31
%1688 = or i32 %1684, %1687
%1689 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
store i32 %1688, i32* %1689
%1690 = add i32 %1671, %1688
%1691 = load i32, i32* %9
%1692 = add i32 %1691, %1690
store i32 %1692, i32* %9
%1693 = load i32, i32* %11
%1694 = shl i32 %1693, 30
%1695 = load i32, i32* %11
%1696 = and i32 %1695, -1
%1697 = lshr i32 %1696, 2
%1698 = or i32 %1694, %1697
store i32 %1698, i32* %11
%1699 = load i32, i32* %9
%1700 = shl i32 %1699, 5
%1701 = load i32, i32* %9
%1702 = and i32 %1701, -1
%1703 = lshr i32 %1702, 27
%1704 = or i32 %1700, %1703
%1705 = load i32, i32* %10
%1706 = load i32, i32* %11
%1707 = xor i32 %1705, %1706
%1708 = load i32, i32* %7
%1709 = xor i32 %1707, %1708
%1710 = add i32 %1704, %1709
%1711 = add i32 %1710, 1859775393
%1712 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1713 = load i32, i32* %1712
%1714 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1715 = load i32, i32* %1714
%1716 = xor i32 %1713, %1715
%1717 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1718 = load i32, i32* %1717
%1719 = xor i32 %1716, %1718
%1720 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1721 = load i32, i32* %1720
%1722 = xor i32 %1719, %1721
store i32 %1722, i32* %5
%1723 = load i32, i32* %5
%1724 = shl i32 %1723, 1
%1725 = load i32, i32* %5
%1726 = and i32 %1725, -1
%1727 = lshr i32 %1726, 31
%1728 = or i32 %1724, %1727
%1729 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
store i32 %1728, i32* %1729
%1730 = add i32 %1711, %1728
%1731 = load i32, i32* %8
%1732 = add i32 %1731, %1730
store i32 %1732, i32* %8
%1733 = load i32, i32* %10
%1734 = shl i32 %1733, 30
%1735 = load i32, i32* %10
%1736 = and i32 %1735, -1
%1737 = lshr i32 %1736, 2
%1738 = or i32 %1734, %1737
store i32 %1738, i32* %10
%1739 = load i32, i32* %8
%1740 = shl i32 %1739, 5
%1741 = load i32, i32* %8
%1742 = and i32 %1741, -1
%1743 = lshr i32 %1742, 27
%1744 = or i32 %1740, %1743
%1745 = load i32, i32* %9
%1746 = load i32, i32* %10
%1747 = xor i32 %1745, %1746
%1748 = load i32, i32* %11
%1749 = xor i32 %1747, %1748
%1750 = add i32 %1744, %1749
%1751 = add i32 %1750, 1859775393
%1752 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1753 = load i32, i32* %1752
%1754 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%1755 = load i32, i32* %1754
%1756 = xor i32 %1753, %1755
%1757 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1758 = load i32, i32* %1757
%1759 = xor i32 %1756, %1758
%1760 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1761 = load i32, i32* %1760
%1762 = xor i32 %1759, %1761
store i32 %1762, i32* %5
%1763 = load i32, i32* %5
%1764 = shl i32 %1763, 1
%1765 = load i32, i32* %5
%1766 = and i32 %1765, -1
%1767 = lshr i32 %1766, 31
%1768 = or i32 %1764, %1767
%1769 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
store i32 %1768, i32* %1769
%1770 = add i32 %1751, %1768
%1771 = load i32, i32* %7
%1772 = add i32 %1771, %1770
store i32 %1772, i32* %7
%1773 = load i32, i32* %9
%1774 = shl i32 %1773, 30
%1775 = load i32, i32* %9
%1776 = and i32 %1775, -1
%1777 = lshr i32 %1776, 2
%1778 = or i32 %1774, %1777
store i32 %1778, i32* %9
%1779 = load i32, i32* %7
%1780 = shl i32 %1779, 5
%1781 = load i32, i32* %7
%1782 = and i32 %1781, -1
%1783 = lshr i32 %1782, 27
%1784 = or i32 %1780, %1783
%1785 = load i32, i32* %8
%1786 = load i32, i32* %9
%1787 = and i32 %1785, %1786
%1788 = load i32, i32* %10
%1789 = load i32, i32* %8
%1790 = load i32, i32* %9
%1791 = or i32 %1789, %1790
%1792 = and i32 %1788, %1791
%1793 = or i32 %1787, %1792
%1794 = add i32 %1784, %1793
%1795 = add i32 %1794, -1894007588
%1796 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%1797 = load i32, i32* %1796
%1798 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%1799 = load i32, i32* %1798
%1800 = xor i32 %1797, %1799
%1801 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1802 = load i32, i32* %1801
%1803 = xor i32 %1800, %1802
%1804 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1805 = load i32, i32* %1804
%1806 = xor i32 %1803, %1805
store i32 %1806, i32* %5
%1807 = load i32, i32* %5
%1808 = shl i32 %1807, 1
%1809 = load i32, i32* %5
%1810 = and i32 %1809, -1
%1811 = lshr i32 %1810, 31
%1812 = or i32 %1808, %1811
%1813 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
store i32 %1812, i32* %1813
%1814 = add i32 %1795, %1812
%1815 = load i32, i32* %11
%1816 = add i32 %1815, %1814
store i32 %1816, i32* %11
%1817 = load i32, i32* %8
%1818 = shl i32 %1817, 30
%1819 = load i32, i32* %8
%1820 = and i32 %1819, -1
%1821 = lshr i32 %1820, 2
%1822 = or i32 %1818, %1821
store i32 %1822, i32* %8
%1823 = load i32, i32* %11
%1824 = shl i32 %1823, 5
%1825 = load i32, i32* %11
%1826 = and i32 %1825, -1
%1827 = lshr i32 %1826, 27
%1828 = or i32 %1824, %1827
%1829 = load i32, i32* %7
%1830 = load i32, i32* %8
%1831 = and i32 %1829, %1830
%1832 = load i32, i32* %9
%1833 = load i32, i32* %7
%1834 = load i32, i32* %8
%1835 = or i32 %1833, %1834
%1836 = and i32 %1832, %1835
%1837 = or i32 %1831, %1836
%1838 = add i32 %1828, %1837
%1839 = add i32 %1838, -1894007588
%1840 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%1841 = load i32, i32* %1840
%1842 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%1843 = load i32, i32* %1842
%1844 = xor i32 %1841, %1843
%1845 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1846 = load i32, i32* %1845
%1847 = xor i32 %1844, %1846
%1848 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1849 = load i32, i32* %1848
%1850 = xor i32 %1847, %1849
store i32 %1850, i32* %5
%1851 = load i32, i32* %5
%1852 = shl i32 %1851, 1
%1853 = load i32, i32* %5
%1854 = and i32 %1853, -1
%1855 = lshr i32 %1854, 31
%1856 = or i32 %1852, %1855
%1857 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
store i32 %1856, i32* %1857
%1858 = add i32 %1839, %1856
%1859 = load i32, i32* %10
%1860 = add i32 %1859, %1858
store i32 %1860, i32* %10
%1861 = load i32, i32* %7
%1862 = shl i32 %1861, 30
%1863 = load i32, i32* %7
%1864 = and i32 %1863, -1
%1865 = lshr i32 %1864, 2
%1866 = or i32 %1862, %1865
store i32 %1866, i32* %7
%1867 = load i32, i32* %10
%1868 = shl i32 %1867, 5
%1869 = load i32, i32* %10
%1870 = and i32 %1869, -1
%1871 = lshr i32 %1870, 27
%1872 = or i32 %1868, %1871
%1873 = load i32, i32* %11
%1874 = load i32, i32* %7
%1875 = and i32 %1873, %1874
%1876 = load i32, i32* %8
%1877 = load i32, i32* %11
%1878 = load i32, i32* %7
%1879 = or i32 %1877, %1878
%1880 = and i32 %1876, %1879
%1881 = or i32 %1875, %1880
%1882 = add i32 %1872, %1881
%1883 = add i32 %1882, -1894007588
%1884 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%1885 = load i32, i32* %1884
%1886 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%1887 = load i32, i32* %1886
%1888 = xor i32 %1885, %1887
%1889 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1890 = load i32, i32* %1889
%1891 = xor i32 %1888, %1890
%1892 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%1893 = load i32, i32* %1892
%1894 = xor i32 %1891, %1893
store i32 %1894, i32* %5
%1895 = load i32, i32* %5
%1896 = shl i32 %1895, 1
%1897 = load i32, i32* %5
%1898 = and i32 %1897, -1
%1899 = lshr i32 %1898, 31
%1900 = or i32 %1896, %1899
%1901 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
store i32 %1900, i32* %1901
%1902 = add i32 %1883, %1900
%1903 = load i32, i32* %9
%1904 = add i32 %1903, %1902
store i32 %1904, i32* %9
%1905 = load i32, i32* %11
%1906 = shl i32 %1905, 30
%1907 = load i32, i32* %11
%1908 = and i32 %1907, -1
%1909 = lshr i32 %1908, 2
%1910 = or i32 %1906, %1909
store i32 %1910, i32* %11
%1911 = load i32, i32* %9
%1912 = shl i32 %1911, 5
%1913 = load i32, i32* %9
%1914 = and i32 %1913, -1
%1915 = lshr i32 %1914, 27
%1916 = or i32 %1912, %1915
%1917 = load i32, i32* %10
%1918 = load i32, i32* %11
%1919 = and i32 %1917, %1918
%1920 = load i32, i32* %7
%1921 = load i32, i32* %10
%1922 = load i32, i32* %11
%1923 = or i32 %1921, %1922
%1924 = and i32 %1920, %1923
%1925 = or i32 %1919, %1924
%1926 = add i32 %1916, %1925
%1927 = add i32 %1926, -1894007588
%1928 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%1929 = load i32, i32* %1928
%1930 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%1931 = load i32, i32* %1930
%1932 = xor i32 %1929, %1931
%1933 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%1934 = load i32, i32* %1933
%1935 = xor i32 %1932, %1934
%1936 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%1937 = load i32, i32* %1936
%1938 = xor i32 %1935, %1937
store i32 %1938, i32* %5
%1939 = load i32, i32* %5
%1940 = shl i32 %1939, 1
%1941 = load i32, i32* %5
%1942 = and i32 %1941, -1
%1943 = lshr i32 %1942, 31
%1944 = or i32 %1940, %1943
%1945 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
store i32 %1944, i32* %1945
%1946 = add i32 %1927, %1944
%1947 = load i32, i32* %8
%1948 = add i32 %1947, %1946
store i32 %1948, i32* %8
%1949 = load i32, i32* %10
%1950 = shl i32 %1949, 30
%1951 = load i32, i32* %10
%1952 = and i32 %1951, -1
%1953 = lshr i32 %1952, 2
%1954 = or i32 %1950, %1953
store i32 %1954, i32* %10
%1955 = load i32, i32* %8
%1956 = shl i32 %1955, 5
%1957 = load i32, i32* %8
%1958 = and i32 %1957, -1
%1959 = lshr i32 %1958, 27
%1960 = or i32 %1956, %1959
%1961 = load i32, i32* %9
%1962 = load i32, i32* %10
%1963 = and i32 %1961, %1962
%1964 = load i32, i32* %11
%1965 = load i32, i32* %9
%1966 = load i32, i32* %10
%1967 = or i32 %1965, %1966
%1968 = and i32 %1964, %1967
%1969 = or i32 %1963, %1968
%1970 = add i32 %1960, %1969
%1971 = add i32 %1970, -1894007588
%1972 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%1973 = load i32, i32* %1972
%1974 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%1975 = load i32, i32* %1974
%1976 = xor i32 %1973, %1975
%1977 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%1978 = load i32, i32* %1977
%1979 = xor i32 %1976, %1978
%1980 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%1981 = load i32, i32* %1980
%1982 = xor i32 %1979, %1981
store i32 %1982, i32* %5
%1983 = load i32, i32* %5
%1984 = shl i32 %1983, 1
%1985 = load i32, i32* %5
%1986 = and i32 %1985, -1
%1987 = lshr i32 %1986, 31
%1988 = or i32 %1984, %1987
%1989 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
store i32 %1988, i32* %1989
%1990 = add i32 %1971, %1988
%1991 = load i32, i32* %7
%1992 = add i32 %1991, %1990
store i32 %1992, i32* %7
%1993 = load i32, i32* %9
%1994 = shl i32 %1993, 30
%1995 = load i32, i32* %9
%1996 = and i32 %1995, -1
%1997 = lshr i32 %1996, 2
%1998 = or i32 %1994, %1997
store i32 %1998, i32* %9
%1999 = load i32, i32* %7
%2000 = shl i32 %1999, 5
%2001 = load i32, i32* %7
%2002 = and i32 %2001, -1
%2003 = lshr i32 %2002, 27
%2004 = or i32 %2000, %2003
%2005 = load i32, i32* %8
%2006 = load i32, i32* %9
%2007 = and i32 %2005, %2006
%2008 = load i32, i32* %10
%2009 = load i32, i32* %8
%2010 = load i32, i32* %9
%2011 = or i32 %2009, %2010
%2012 = and i32 %2008, %2011
%2013 = or i32 %2007, %2012
%2014 = add i32 %2004, %2013
%2015 = add i32 %2014, -1894007588
%2016 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2017 = load i32, i32* %2016
%2018 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2019 = load i32, i32* %2018
%2020 = xor i32 %2017, %2019
%2021 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2022 = load i32, i32* %2021
%2023 = xor i32 %2020, %2022
%2024 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2025 = load i32, i32* %2024
%2026 = xor i32 %2023, %2025
store i32 %2026, i32* %5
%2027 = load i32, i32* %5
%2028 = shl i32 %2027, 1
%2029 = load i32, i32* %5
%2030 = and i32 %2029, -1
%2031 = lshr i32 %2030, 31
%2032 = or i32 %2028, %2031
%2033 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
store i32 %2032, i32* %2033
%2034 = add i32 %2015, %2032
%2035 = load i32, i32* %11
%2036 = add i32 %2035, %2034
store i32 %2036, i32* %11
%2037 = load i32, i32* %8
%2038 = shl i32 %2037, 30
%2039 = load i32, i32* %8
%2040 = and i32 %2039, -1
%2041 = lshr i32 %2040, 2
%2042 = or i32 %2038, %2041
store i32 %2042, i32* %8
%2043 = load i32, i32* %11
%2044 = shl i32 %2043, 5
%2045 = load i32, i32* %11
%2046 = and i32 %2045, -1
%2047 = lshr i32 %2046, 27
%2048 = or i32 %2044, %2047
%2049 = load i32, i32* %7
%2050 = load i32, i32* %8
%2051 = and i32 %2049, %2050
%2052 = load i32, i32* %9
%2053 = load i32, i32* %7
%2054 = load i32, i32* %8
%2055 = or i32 %2053, %2054
%2056 = and i32 %2052, %2055
%2057 = or i32 %2051, %2056
%2058 = add i32 %2048, %2057
%2059 = add i32 %2058, -1894007588
%2060 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2061 = load i32, i32* %2060
%2062 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2063 = load i32, i32* %2062
%2064 = xor i32 %2061, %2063
%2065 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2066 = load i32, i32* %2065
%2067 = xor i32 %2064, %2066
%2068 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2069 = load i32, i32* %2068
%2070 = xor i32 %2067, %2069
store i32 %2070, i32* %5
%2071 = load i32, i32* %5
%2072 = shl i32 %2071, 1
%2073 = load i32, i32* %5
%2074 = and i32 %2073, -1
%2075 = lshr i32 %2074, 31
%2076 = or i32 %2072, %2075
%2077 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
store i32 %2076, i32* %2077
%2078 = add i32 %2059, %2076
%2079 = load i32, i32* %10
%2080 = add i32 %2079, %2078
store i32 %2080, i32* %10
%2081 = load i32, i32* %7
%2082 = shl i32 %2081, 30
%2083 = load i32, i32* %7
%2084 = and i32 %2083, -1
%2085 = lshr i32 %2084, 2
%2086 = or i32 %2082, %2085
store i32 %2086, i32* %7
%2087 = load i32, i32* %10
%2088 = shl i32 %2087, 5
%2089 = load i32, i32* %10
%2090 = and i32 %2089, -1
%2091 = lshr i32 %2090, 27
%2092 = or i32 %2088, %2091
%2093 = load i32, i32* %11
%2094 = load i32, i32* %7
%2095 = and i32 %2093, %2094
%2096 = load i32, i32* %8
%2097 = load i32, i32* %11
%2098 = load i32, i32* %7
%2099 = or i32 %2097, %2098
%2100 = and i32 %2096, %2099
%2101 = or i32 %2095, %2100
%2102 = add i32 %2092, %2101
%2103 = add i32 %2102, -1894007588
%2104 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2105 = load i32, i32* %2104
%2106 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%2107 = load i32, i32* %2106
%2108 = xor i32 %2105, %2107
%2109 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2110 = load i32, i32* %2109
%2111 = xor i32 %2108, %2110
%2112 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2113 = load i32, i32* %2112
%2114 = xor i32 %2111, %2113
store i32 %2114, i32* %5
%2115 = load i32, i32* %5
%2116 = shl i32 %2115, 1
%2117 = load i32, i32* %5
%2118 = and i32 %2117, -1
%2119 = lshr i32 %2118, 31
%2120 = or i32 %2116, %2119
%2121 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
store i32 %2120, i32* %2121
%2122 = add i32 %2103, %2120
%2123 = load i32, i32* %9
%2124 = add i32 %2123, %2122
store i32 %2124, i32* %9
%2125 = load i32, i32* %11
%2126 = shl i32 %2125, 30
%2127 = load i32, i32* %11
%2128 = and i32 %2127, -1
%2129 = lshr i32 %2128, 2
%2130 = or i32 %2126, %2129
store i32 %2130, i32* %11
%2131 = load i32, i32* %9
%2132 = shl i32 %2131, 5
%2133 = load i32, i32* %9
%2134 = and i32 %2133, -1
%2135 = lshr i32 %2134, 27
%2136 = or i32 %2132, %2135
%2137 = load i32, i32* %10
%2138 = load i32, i32* %11
%2139 = and i32 %2137, %2138
%2140 = load i32, i32* %7
%2141 = load i32, i32* %10
%2142 = load i32, i32* %11
%2143 = or i32 %2141, %2142
%2144 = and i32 %2140, %2143
%2145 = or i32 %2139, %2144
%2146 = add i32 %2136, %2145
%2147 = add i32 %2146, -1894007588
%2148 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2149 = load i32, i32* %2148
%2150 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%2151 = load i32, i32* %2150
%2152 = xor i32 %2149, %2151
%2153 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2154 = load i32, i32* %2153
%2155 = xor i32 %2152, %2154
%2156 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2157 = load i32, i32* %2156
%2158 = xor i32 %2155, %2157
store i32 %2158, i32* %5
%2159 = load i32, i32* %5
%2160 = shl i32 %2159, 1
%2161 = load i32, i32* %5
%2162 = and i32 %2161, -1
%2163 = lshr i32 %2162, 31
%2164 = or i32 %2160, %2163
%2165 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
store i32 %2164, i32* %2165
%2166 = add i32 %2147, %2164
%2167 = load i32, i32* %8
%2168 = add i32 %2167, %2166
store i32 %2168, i32* %8
%2169 = load i32, i32* %10
%2170 = shl i32 %2169, 30
%2171 = load i32, i32* %10
%2172 = and i32 %2171, -1
%2173 = lshr i32 %2172, 2
%2174 = or i32 %2170, %2173
store i32 %2174, i32* %10
%2175 = load i32, i32* %8
%2176 = shl i32 %2175, 5
%2177 = load i32, i32* %8
%2178 = and i32 %2177, -1
%2179 = lshr i32 %2178, 27
%2180 = or i32 %2176, %2179
%2181 = load i32, i32* %9
%2182 = load i32, i32* %10
%2183 = and i32 %2181, %2182
%2184 = load i32, i32* %11
%2185 = load i32, i32* %9
%2186 = load i32, i32* %10
%2187 = or i32 %2185, %2186
%2188 = and i32 %2184, %2187
%2189 = or i32 %2183, %2188
%2190 = add i32 %2180, %2189
%2191 = add i32 %2190, -1894007588
%2192 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2193 = load i32, i32* %2192
%2194 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%2195 = load i32, i32* %2194
%2196 = xor i32 %2193, %2195
%2197 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2198 = load i32, i32* %2197
%2199 = xor i32 %2196, %2198
%2200 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2201 = load i32, i32* %2200
%2202 = xor i32 %2199, %2201
store i32 %2202, i32* %5
%2203 = load i32, i32* %5
%2204 = shl i32 %2203, 1
%2205 = load i32, i32* %5
%2206 = and i32 %2205, -1
%2207 = lshr i32 %2206, 31
%2208 = or i32 %2204, %2207
%2209 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
store i32 %2208, i32* %2209
%2210 = add i32 %2191, %2208
%2211 = load i32, i32* %7
%2212 = add i32 %2211, %2210
store i32 %2212, i32* %7
%2213 = load i32, i32* %9
%2214 = shl i32 %2213, 30
%2215 = load i32, i32* %9
%2216 = and i32 %2215, -1
%2217 = lshr i32 %2216, 2
%2218 = or i32 %2214, %2217
store i32 %2218, i32* %9
%2219 = load i32, i32* %7
%2220 = shl i32 %2219, 5
%2221 = load i32, i32* %7
%2222 = and i32 %2221, -1
%2223 = lshr i32 %2222, 27
%2224 = or i32 %2220, %2223
%2225 = load i32, i32* %8
%2226 = load i32, i32* %9
%2227 = and i32 %2225, %2226
%2228 = load i32, i32* %10
%2229 = load i32, i32* %8
%2230 = load i32, i32* %9
%2231 = or i32 %2229, %2230
%2232 = and i32 %2228, %2231
%2233 = or i32 %2227, %2232
%2234 = add i32 %2224, %2233
%2235 = add i32 %2234, -1894007588
%2236 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2237 = load i32, i32* %2236
%2238 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2239 = load i32, i32* %2238
%2240 = xor i32 %2237, %2239
%2241 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%2242 = load i32, i32* %2241
%2243 = xor i32 %2240, %2242
%2244 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2245 = load i32, i32* %2244
%2246 = xor i32 %2243, %2245
store i32 %2246, i32* %5
%2247 = load i32, i32* %5
%2248 = shl i32 %2247, 1
%2249 = load i32, i32* %5
%2250 = and i32 %2249, -1
%2251 = lshr i32 %2250, 31
%2252 = or i32 %2248, %2251
%2253 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
store i32 %2252, i32* %2253
%2254 = add i32 %2235, %2252
%2255 = load i32, i32* %11
%2256 = add i32 %2255, %2254
store i32 %2256, i32* %11
%2257 = load i32, i32* %8
%2258 = shl i32 %2257, 30
%2259 = load i32, i32* %8
%2260 = and i32 %2259, -1
%2261 = lshr i32 %2260, 2
%2262 = or i32 %2258, %2261
store i32 %2262, i32* %8
%2263 = load i32, i32* %11
%2264 = shl i32 %2263, 5
%2265 = load i32, i32* %11
%2266 = and i32 %2265, -1
%2267 = lshr i32 %2266, 27
%2268 = or i32 %2264, %2267
%2269 = load i32, i32* %7
%2270 = load i32, i32* %8
%2271 = and i32 %2269, %2270
%2272 = load i32, i32* %9
%2273 = load i32, i32* %7
%2274 = load i32, i32* %8
%2275 = or i32 %2273, %2274
%2276 = and i32 %2272, %2275
%2277 = or i32 %2271, %2276
%2278 = add i32 %2268, %2277
%2279 = add i32 %2278, -1894007588
%2280 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2281 = load i32, i32* %2280
%2282 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2283 = load i32, i32* %2282
%2284 = xor i32 %2281, %2283
%2285 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2286 = load i32, i32* %2285
%2287 = xor i32 %2284, %2286
%2288 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2289 = load i32, i32* %2288
%2290 = xor i32 %2287, %2289
store i32 %2290, i32* %5
%2291 = load i32, i32* %5
%2292 = shl i32 %2291, 1
%2293 = load i32, i32* %5
%2294 = and i32 %2293, -1
%2295 = lshr i32 %2294, 31
%2296 = or i32 %2292, %2295
%2297 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
store i32 %2296, i32* %2297
%2298 = add i32 %2279, %2296
%2299 = load i32, i32* %10
%2300 = add i32 %2299, %2298
store i32 %2300, i32* %10
%2301 = load i32, i32* %7
%2302 = shl i32 %2301, 30
%2303 = load i32, i32* %7
%2304 = and i32 %2303, -1
%2305 = lshr i32 %2304, 2
%2306 = or i32 %2302, %2305
store i32 %2306, i32* %7
%2307 = load i32, i32* %10
%2308 = shl i32 %2307, 5
%2309 = load i32, i32* %10
%2310 = and i32 %2309, -1
%2311 = lshr i32 %2310, 27
%2312 = or i32 %2308, %2311
%2313 = load i32, i32* %11
%2314 = load i32, i32* %7
%2315 = and i32 %2313, %2314
%2316 = load i32, i32* %8
%2317 = load i32, i32* %11
%2318 = load i32, i32* %7
%2319 = or i32 %2317, %2318
%2320 = and i32 %2316, %2319
%2321 = or i32 %2315, %2320
%2322 = add i32 %2312, %2321
%2323 = add i32 %2322, -1894007588
%2324 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2325 = load i32, i32* %2324
%2326 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2327 = load i32, i32* %2326
%2328 = xor i32 %2325, %2327
%2329 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2330 = load i32, i32* %2329
%2331 = xor i32 %2328, %2330
%2332 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%2333 = load i32, i32* %2332
%2334 = xor i32 %2331, %2333
store i32 %2334, i32* %5
%2335 = load i32, i32* %5
%2336 = shl i32 %2335, 1
%2337 = load i32, i32* %5
%2338 = and i32 %2337, -1
%2339 = lshr i32 %2338, 31
%2340 = or i32 %2336, %2339
%2341 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
store i32 %2340, i32* %2341
%2342 = add i32 %2323, %2340
%2343 = load i32, i32* %9
%2344 = add i32 %2343, %2342
store i32 %2344, i32* %9
%2345 = load i32, i32* %11
%2346 = shl i32 %2345, 30
%2347 = load i32, i32* %11
%2348 = and i32 %2347, -1
%2349 = lshr i32 %2348, 2
%2350 = or i32 %2346, %2349
store i32 %2350, i32* %11
%2351 = load i32, i32* %9
%2352 = shl i32 %2351, 5
%2353 = load i32, i32* %9
%2354 = and i32 %2353, -1
%2355 = lshr i32 %2354, 27
%2356 = or i32 %2352, %2355
%2357 = load i32, i32* %10
%2358 = load i32, i32* %11
%2359 = and i32 %2357, %2358
%2360 = load i32, i32* %7
%2361 = load i32, i32* %10
%2362 = load i32, i32* %11
%2363 = or i32 %2361, %2362
%2364 = and i32 %2360, %2363
%2365 = or i32 %2359, %2364
%2366 = add i32 %2356, %2365
%2367 = add i32 %2366, -1894007588
%2368 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2369 = load i32, i32* %2368
%2370 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2371 = load i32, i32* %2370
%2372 = xor i32 %2369, %2371
%2373 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%2374 = load i32, i32* %2373
%2375 = xor i32 %2372, %2374
%2376 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2377 = load i32, i32* %2376
%2378 = xor i32 %2375, %2377
store i32 %2378, i32* %5
%2379 = load i32, i32* %5
%2380 = shl i32 %2379, 1
%2381 = load i32, i32* %5
%2382 = and i32 %2381, -1
%2383 = lshr i32 %2382, 31
%2384 = or i32 %2380, %2383
%2385 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
store i32 %2384, i32* %2385
%2386 = add i32 %2367, %2384
%2387 = load i32, i32* %8
%2388 = add i32 %2387, %2386
store i32 %2388, i32* %8
%2389 = load i32, i32* %10
%2390 = shl i32 %2389, 30
%2391 = load i32, i32* %10
%2392 = and i32 %2391, -1
%2393 = lshr i32 %2392, 2
%2394 = or i32 %2390, %2393
store i32 %2394, i32* %10
%2395 = load i32, i32* %8
%2396 = shl i32 %2395, 5
%2397 = load i32, i32* %8
%2398 = and i32 %2397, -1
%2399 = lshr i32 %2398, 27
%2400 = or i32 %2396, %2399
%2401 = load i32, i32* %9
%2402 = load i32, i32* %10
%2403 = and i32 %2401, %2402
%2404 = load i32, i32* %11
%2405 = load i32, i32* %9
%2406 = load i32, i32* %10
%2407 = or i32 %2405, %2406
%2408 = and i32 %2404, %2407
%2409 = or i32 %2403, %2408
%2410 = add i32 %2400, %2409
%2411 = add i32 %2410, -1894007588
%2412 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2413 = load i32, i32* %2412
%2414 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2415 = load i32, i32* %2414
%2416 = xor i32 %2413, %2415
%2417 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%2418 = load i32, i32* %2417
%2419 = xor i32 %2416, %2418
%2420 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2421 = load i32, i32* %2420
%2422 = xor i32 %2419, %2421
store i32 %2422, i32* %5
%2423 = load i32, i32* %5
%2424 = shl i32 %2423, 1
%2425 = load i32, i32* %5
%2426 = and i32 %2425, -1
%2427 = lshr i32 %2426, 31
%2428 = or i32 %2424, %2427
%2429 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
store i32 %2428, i32* %2429
%2430 = add i32 %2411, %2428
%2431 = load i32, i32* %7
%2432 = add i32 %2431, %2430
store i32 %2432, i32* %7
%2433 = load i32, i32* %9
%2434 = shl i32 %2433, 30
%2435 = load i32, i32* %9
%2436 = and i32 %2435, -1
%2437 = lshr i32 %2436, 2
%2438 = or i32 %2434, %2437
store i32 %2438, i32* %9
%2439 = load i32, i32* %7
%2440 = shl i32 %2439, 5
%2441 = load i32, i32* %7
%2442 = and i32 %2441, -1
%2443 = lshr i32 %2442, 27
%2444 = or i32 %2440, %2443
%2445 = load i32, i32* %8
%2446 = load i32, i32* %9
%2447 = and i32 %2445, %2446
%2448 = load i32, i32* %10
%2449 = load i32, i32* %8
%2450 = load i32, i32* %9
%2451 = or i32 %2449, %2450
%2452 = and i32 %2448, %2451
%2453 = or i32 %2447, %2452
%2454 = add i32 %2444, %2453
%2455 = add i32 %2454, -1894007588
%2456 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%2457 = load i32, i32* %2456
%2458 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2459 = load i32, i32* %2458
%2460 = xor i32 %2457, %2459
%2461 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%2462 = load i32, i32* %2461
%2463 = xor i32 %2460, %2462
%2464 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%2465 = load i32, i32* %2464
%2466 = xor i32 %2463, %2465
store i32 %2466, i32* %5
%2467 = load i32, i32* %5
%2468 = shl i32 %2467, 1
%2469 = load i32, i32* %5
%2470 = and i32 %2469, -1
%2471 = lshr i32 %2470, 31
%2472 = or i32 %2468, %2471
%2473 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
store i32 %2472, i32* %2473
%2474 = add i32 %2455, %2472
%2475 = load i32, i32* %11
%2476 = add i32 %2475, %2474
store i32 %2476, i32* %11
%2477 = load i32, i32* %8
%2478 = shl i32 %2477, 30
%2479 = load i32, i32* %8
%2480 = and i32 %2479, -1
%2481 = lshr i32 %2480, 2
%2482 = or i32 %2478, %2481
store i32 %2482, i32* %8
%2483 = load i32, i32* %11
%2484 = shl i32 %2483, 5
%2485 = load i32, i32* %11
%2486 = and i32 %2485, -1
%2487 = lshr i32 %2486, 27
%2488 = or i32 %2484, %2487
%2489 = load i32, i32* %7
%2490 = load i32, i32* %8
%2491 = and i32 %2489, %2490
%2492 = load i32, i32* %9
%2493 = load i32, i32* %7
%2494 = load i32, i32* %8
%2495 = or i32 %2493, %2494
%2496 = and i32 %2492, %2495
%2497 = or i32 %2491, %2496
%2498 = add i32 %2488, %2497
%2499 = add i32 %2498, -1894007588
%2500 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2501 = load i32, i32* %2500
%2502 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2503 = load i32, i32* %2502
%2504 = xor i32 %2501, %2503
%2505 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2506 = load i32, i32* %2505
%2507 = xor i32 %2504, %2506
%2508 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%2509 = load i32, i32* %2508
%2510 = xor i32 %2507, %2509
store i32 %2510, i32* %5
%2511 = load i32, i32* %5
%2512 = shl i32 %2511, 1
%2513 = load i32, i32* %5
%2514 = and i32 %2513, -1
%2515 = lshr i32 %2514, 31
%2516 = or i32 %2512, %2515
%2517 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
store i32 %2516, i32* %2517
%2518 = add i32 %2499, %2516
%2519 = load i32, i32* %10
%2520 = add i32 %2519, %2518
store i32 %2520, i32* %10
%2521 = load i32, i32* %7
%2522 = shl i32 %2521, 30
%2523 = load i32, i32* %7
%2524 = and i32 %2523, -1
%2525 = lshr i32 %2524, 2
%2526 = or i32 %2522, %2525
store i32 %2526, i32* %7
%2527 = load i32, i32* %10
%2528 = shl i32 %2527, 5
%2529 = load i32, i32* %10
%2530 = and i32 %2529, -1
%2531 = lshr i32 %2530, 27
%2532 = or i32 %2528, %2531
%2533 = load i32, i32* %11
%2534 = load i32, i32* %7
%2535 = and i32 %2533, %2534
%2536 = load i32, i32* %8
%2537 = load i32, i32* %11
%2538 = load i32, i32* %7
%2539 = or i32 %2537, %2538
%2540 = and i32 %2536, %2539
%2541 = or i32 %2535, %2540
%2542 = add i32 %2532, %2541
%2543 = add i32 %2542, -1894007588
%2544 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2545 = load i32, i32* %2544
%2546 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2547 = load i32, i32* %2546
%2548 = xor i32 %2545, %2547
%2549 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2550 = load i32, i32* %2549
%2551 = xor i32 %2548, %2550
%2552 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%2553 = load i32, i32* %2552
%2554 = xor i32 %2551, %2553
store i32 %2554, i32* %5
%2555 = load i32, i32* %5
%2556 = shl i32 %2555, 1
%2557 = load i32, i32* %5
%2558 = and i32 %2557, -1
%2559 = lshr i32 %2558, 31
%2560 = or i32 %2556, %2559
%2561 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
store i32 %2560, i32* %2561
%2562 = add i32 %2543, %2560
%2563 = load i32, i32* %9
%2564 = add i32 %2563, %2562
store i32 %2564, i32* %9
%2565 = load i32, i32* %11
%2566 = shl i32 %2565, 30
%2567 = load i32, i32* %11
%2568 = and i32 %2567, -1
%2569 = lshr i32 %2568, 2
%2570 = or i32 %2566, %2569
store i32 %2570, i32* %11
%2571 = load i32, i32* %9
%2572 = shl i32 %2571, 5
%2573 = load i32, i32* %9
%2574 = and i32 %2573, -1
%2575 = lshr i32 %2574, 27
%2576 = or i32 %2572, %2575
%2577 = load i32, i32* %10
%2578 = load i32, i32* %11
%2579 = and i32 %2577, %2578
%2580 = load i32, i32* %7
%2581 = load i32, i32* %10
%2582 = load i32, i32* %11
%2583 = or i32 %2581, %2582
%2584 = and i32 %2580, %2583
%2585 = or i32 %2579, %2584
%2586 = add i32 %2576, %2585
%2587 = add i32 %2586, -1894007588
%2588 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%2589 = load i32, i32* %2588
%2590 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2591 = load i32, i32* %2590
%2592 = xor i32 %2589, %2591
%2593 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2594 = load i32, i32* %2593
%2595 = xor i32 %2592, %2594
%2596 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2597 = load i32, i32* %2596
%2598 = xor i32 %2595, %2597
store i32 %2598, i32* %5
%2599 = load i32, i32* %5
%2600 = shl i32 %2599, 1
%2601 = load i32, i32* %5
%2602 = and i32 %2601, -1
%2603 = lshr i32 %2602, 31
%2604 = or i32 %2600, %2603
%2605 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
store i32 %2604, i32* %2605
%2606 = add i32 %2587, %2604
%2607 = load i32, i32* %8
%2608 = add i32 %2607, %2606
store i32 %2608, i32* %8
%2609 = load i32, i32* %10
%2610 = shl i32 %2609, 30
%2611 = load i32, i32* %10
%2612 = and i32 %2611, -1
%2613 = lshr i32 %2612, 2
%2614 = or i32 %2610, %2613
store i32 %2614, i32* %10
%2615 = load i32, i32* %8
%2616 = shl i32 %2615, 5
%2617 = load i32, i32* %8
%2618 = and i32 %2617, -1
%2619 = lshr i32 %2618, 27
%2620 = or i32 %2616, %2619
%2621 = load i32, i32* %9
%2622 = load i32, i32* %10
%2623 = and i32 %2621, %2622
%2624 = load i32, i32* %11
%2625 = load i32, i32* %9
%2626 = load i32, i32* %10
%2627 = or i32 %2625, %2626
%2628 = and i32 %2624, %2627
%2629 = or i32 %2623, %2628
%2630 = add i32 %2620, %2629
%2631 = add i32 %2630, -1894007588
%2632 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%2633 = load i32, i32* %2632
%2634 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2635 = load i32, i32* %2634
%2636 = xor i32 %2633, %2635
%2637 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2638 = load i32, i32* %2637
%2639 = xor i32 %2636, %2638
%2640 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2641 = load i32, i32* %2640
%2642 = xor i32 %2639, %2641
store i32 %2642, i32* %5
%2643 = load i32, i32* %5
%2644 = shl i32 %2643, 1
%2645 = load i32, i32* %5
%2646 = and i32 %2645, -1
%2647 = lshr i32 %2646, 31
%2648 = or i32 %2644, %2647
%2649 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
store i32 %2648, i32* %2649
%2650 = add i32 %2631, %2648
%2651 = load i32, i32* %7
%2652 = add i32 %2651, %2650
store i32 %2652, i32* %7
%2653 = load i32, i32* %9
%2654 = shl i32 %2653, 30
%2655 = load i32, i32* %9
%2656 = and i32 %2655, -1
%2657 = lshr i32 %2656, 2
%2658 = or i32 %2654, %2657
store i32 %2658, i32* %9
%2659 = load i32, i32* %7
%2660 = shl i32 %2659, 5
%2661 = load i32, i32* %7
%2662 = and i32 %2661, -1
%2663 = lshr i32 %2662, 27
%2664 = or i32 %2660, %2663
%2665 = load i32, i32* %8
%2666 = load i32, i32* %9
%2667 = xor i32 %2665, %2666
%2668 = load i32, i32* %10
%2669 = xor i32 %2667, %2668
%2670 = add i32 %2664, %2669
%2671 = add i32 %2670, -899497514
%2672 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%2673 = load i32, i32* %2672
%2674 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%2675 = load i32, i32* %2674
%2676 = xor i32 %2673, %2675
%2677 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2678 = load i32, i32* %2677
%2679 = xor i32 %2676, %2678
%2680 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2681 = load i32, i32* %2680
%2682 = xor i32 %2679, %2681
store i32 %2682, i32* %5
%2683 = load i32, i32* %5
%2684 = shl i32 %2683, 1
%2685 = load i32, i32* %5
%2686 = and i32 %2685, -1
%2687 = lshr i32 %2686, 31
%2688 = or i32 %2684, %2687
%2689 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
store i32 %2688, i32* %2689
%2690 = add i32 %2671, %2688
%2691 = load i32, i32* %11
%2692 = add i32 %2691, %2690
store i32 %2692, i32* %11
%2693 = load i32, i32* %8
%2694 = shl i32 %2693, 30
%2695 = load i32, i32* %8
%2696 = and i32 %2695, -1
%2697 = lshr i32 %2696, 2
%2698 = or i32 %2694, %2697
store i32 %2698, i32* %8
%2699 = load i32, i32* %11
%2700 = shl i32 %2699, 5
%2701 = load i32, i32* %11
%2702 = and i32 %2701, -1
%2703 = lshr i32 %2702, 27
%2704 = or i32 %2700, %2703
%2705 = load i32, i32* %7
%2706 = load i32, i32* %8
%2707 = xor i32 %2705, %2706
%2708 = load i32, i32* %9
%2709 = xor i32 %2707, %2708
%2710 = add i32 %2704, %2709
%2711 = add i32 %2710, -899497514
%2712 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2713 = load i32, i32* %2712
%2714 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2715 = load i32, i32* %2714
%2716 = xor i32 %2713, %2715
%2717 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2718 = load i32, i32* %2717
%2719 = xor i32 %2716, %2718
%2720 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2721 = load i32, i32* %2720
%2722 = xor i32 %2719, %2721
store i32 %2722, i32* %5
%2723 = load i32, i32* %5
%2724 = shl i32 %2723, 1
%2725 = load i32, i32* %5
%2726 = and i32 %2725, -1
%2727 = lshr i32 %2726, 31
%2728 = or i32 %2724, %2727
%2729 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
store i32 %2728, i32* %2729
%2730 = add i32 %2711, %2728
%2731 = load i32, i32* %10
%2732 = add i32 %2731, %2730
store i32 %2732, i32* %10
%2733 = load i32, i32* %7
%2734 = shl i32 %2733, 30
%2735 = load i32, i32* %7
%2736 = and i32 %2735, -1
%2737 = lshr i32 %2736, 2
%2738 = or i32 %2734, %2737
store i32 %2738, i32* %7
%2739 = load i32, i32* %10
%2740 = shl i32 %2739, 5
%2741 = load i32, i32* %10
%2742 = and i32 %2741, -1
%2743 = lshr i32 %2742, 27
%2744 = or i32 %2740, %2743
%2745 = load i32, i32* %11
%2746 = load i32, i32* %7
%2747 = xor i32 %2745, %2746
%2748 = load i32, i32* %8
%2749 = xor i32 %2747, %2748
%2750 = add i32 %2744, %2749
%2751 = add i32 %2750, -899497514
%2752 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2753 = load i32, i32* %2752
%2754 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2755 = load i32, i32* %2754
%2756 = xor i32 %2753, %2755
%2757 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2758 = load i32, i32* %2757
%2759 = xor i32 %2756, %2758
%2760 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2761 = load i32, i32* %2760
%2762 = xor i32 %2759, %2761
store i32 %2762, i32* %5
%2763 = load i32, i32* %5
%2764 = shl i32 %2763, 1
%2765 = load i32, i32* %5
%2766 = and i32 %2765, -1
%2767 = lshr i32 %2766, 31
%2768 = or i32 %2764, %2767
%2769 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
store i32 %2768, i32* %2769
%2770 = add i32 %2751, %2768
%2771 = load i32, i32* %9
%2772 = add i32 %2771, %2770
store i32 %2772, i32* %9
%2773 = load i32, i32* %11
%2774 = shl i32 %2773, 30
%2775 = load i32, i32* %11
%2776 = and i32 %2775, -1
%2777 = lshr i32 %2776, 2
%2778 = or i32 %2774, %2777
store i32 %2778, i32* %11
%2779 = load i32, i32* %9
%2780 = shl i32 %2779, 5
%2781 = load i32, i32* %9
%2782 = and i32 %2781, -1
%2783 = lshr i32 %2782, 27
%2784 = or i32 %2780, %2783
%2785 = load i32, i32* %10
%2786 = load i32, i32* %11
%2787 = xor i32 %2785, %2786
%2788 = load i32, i32* %7
%2789 = xor i32 %2787, %2788
%2790 = add i32 %2784, %2789
%2791 = add i32 %2790, -899497514
%2792 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2793 = load i32, i32* %2792
%2794 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%2795 = load i32, i32* %2794
%2796 = xor i32 %2793, %2795
%2797 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2798 = load i32, i32* %2797
%2799 = xor i32 %2796, %2798
%2800 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2801 = load i32, i32* %2800
%2802 = xor i32 %2799, %2801
store i32 %2802, i32* %5
%2803 = load i32, i32* %5
%2804 = shl i32 %2803, 1
%2805 = load i32, i32* %5
%2806 = and i32 %2805, -1
%2807 = lshr i32 %2806, 31
%2808 = or i32 %2804, %2807
%2809 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
store i32 %2808, i32* %2809
%2810 = add i32 %2791, %2808
%2811 = load i32, i32* %8
%2812 = add i32 %2811, %2810
store i32 %2812, i32* %8
%2813 = load i32, i32* %10
%2814 = shl i32 %2813, 30
%2815 = load i32, i32* %10
%2816 = and i32 %2815, -1
%2817 = lshr i32 %2816, 2
%2818 = or i32 %2814, %2817
store i32 %2818, i32* %10
%2819 = load i32, i32* %8
%2820 = shl i32 %2819, 5
%2821 = load i32, i32* %8
%2822 = and i32 %2821, -1
%2823 = lshr i32 %2822, 27
%2824 = or i32 %2820, %2823
%2825 = load i32, i32* %9
%2826 = load i32, i32* %10
%2827 = xor i32 %2825, %2826
%2828 = load i32, i32* %11
%2829 = xor i32 %2827, %2828
%2830 = add i32 %2824, %2829
%2831 = add i32 %2830, -899497514
%2832 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%2833 = load i32, i32* %2832
%2834 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%2835 = load i32, i32* %2834
%2836 = xor i32 %2833, %2835
%2837 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2838 = load i32, i32* %2837
%2839 = xor i32 %2836, %2838
%2840 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2841 = load i32, i32* %2840
%2842 = xor i32 %2839, %2841
store i32 %2842, i32* %5
%2843 = load i32, i32* %5
%2844 = shl i32 %2843, 1
%2845 = load i32, i32* %5
%2846 = and i32 %2845, -1
%2847 = lshr i32 %2846, 31
%2848 = or i32 %2844, %2847
%2849 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
store i32 %2848, i32* %2849
%2850 = add i32 %2831, %2848
%2851 = load i32, i32* %7
%2852 = add i32 %2851, %2850
store i32 %2852, i32* %7
%2853 = load i32, i32* %9
%2854 = shl i32 %2853, 30
%2855 = load i32, i32* %9
%2856 = and i32 %2855, -1
%2857 = lshr i32 %2856, 2
%2858 = or i32 %2854, %2857
store i32 %2858, i32* %9
%2859 = load i32, i32* %7
%2860 = shl i32 %2859, 5
%2861 = load i32, i32* %7
%2862 = and i32 %2861, -1
%2863 = lshr i32 %2862, 27
%2864 = or i32 %2860, %2863
%2865 = load i32, i32* %8
%2866 = load i32, i32* %9
%2867 = xor i32 %2865, %2866
%2868 = load i32, i32* %10
%2869 = xor i32 %2867, %2868
%2870 = add i32 %2864, %2869
%2871 = add i32 %2870, -899497514
%2872 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%2873 = load i32, i32* %2872
%2874 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%2875 = load i32, i32* %2874
%2876 = xor i32 %2873, %2875
%2877 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2878 = load i32, i32* %2877
%2879 = xor i32 %2876, %2878
%2880 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2881 = load i32, i32* %2880
%2882 = xor i32 %2879, %2881
store i32 %2882, i32* %5
%2883 = load i32, i32* %5
%2884 = shl i32 %2883, 1
%2885 = load i32, i32* %5
%2886 = and i32 %2885, -1
%2887 = lshr i32 %2886, 31
%2888 = or i32 %2884, %2887
%2889 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
store i32 %2888, i32* %2889
%2890 = add i32 %2871, %2888
%2891 = load i32, i32* %11
%2892 = add i32 %2891, %2890
store i32 %2892, i32* %11
%2893 = load i32, i32* %8
%2894 = shl i32 %2893, 30
%2895 = load i32, i32* %8
%2896 = and i32 %2895, -1
%2897 = lshr i32 %2896, 2
%2898 = or i32 %2894, %2897
store i32 %2898, i32* %8
%2899 = load i32, i32* %11
%2900 = shl i32 %2899, 5
%2901 = load i32, i32* %11
%2902 = and i32 %2901, -1
%2903 = lshr i32 %2902, 27
%2904 = or i32 %2900, %2903
%2905 = load i32, i32* %7
%2906 = load i32, i32* %8
%2907 = xor i32 %2905, %2906
%2908 = load i32, i32* %9
%2909 = xor i32 %2907, %2908
%2910 = add i32 %2904, %2909
%2911 = add i32 %2910, -899497514
%2912 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%2913 = load i32, i32* %2912
%2914 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%2915 = load i32, i32* %2914
%2916 = xor i32 %2913, %2915
%2917 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%2918 = load i32, i32* %2917
%2919 = xor i32 %2916, %2918
%2920 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%2921 = load i32, i32* %2920
%2922 = xor i32 %2919, %2921
store i32 %2922, i32* %5
%2923 = load i32, i32* %5
%2924 = shl i32 %2923, 1
%2925 = load i32, i32* %5
%2926 = and i32 %2925, -1
%2927 = lshr i32 %2926, 31
%2928 = or i32 %2924, %2927
%2929 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
store i32 %2928, i32* %2929
%2930 = add i32 %2911, %2928
%2931 = load i32, i32* %10
%2932 = add i32 %2931, %2930
store i32 %2932, i32* %10
%2933 = load i32, i32* %7
%2934 = shl i32 %2933, 30
%2935 = load i32, i32* %7
%2936 = and i32 %2935, -1
%2937 = lshr i32 %2936, 2
%2938 = or i32 %2934, %2937
store i32 %2938, i32* %7
%2939 = load i32, i32* %10
%2940 = shl i32 %2939, 5
%2941 = load i32, i32* %10
%2942 = and i32 %2941, -1
%2943 = lshr i32 %2942, 27
%2944 = or i32 %2940, %2943
%2945 = load i32, i32* %11
%2946 = load i32, i32* %7
%2947 = xor i32 %2945, %2946
%2948 = load i32, i32* %8
%2949 = xor i32 %2947, %2948
%2950 = add i32 %2944, %2949
%2951 = add i32 %2950, -899497514
%2952 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%2953 = load i32, i32* %2952
%2954 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%2955 = load i32, i32* %2954
%2956 = xor i32 %2953, %2955
%2957 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%2958 = load i32, i32* %2957
%2959 = xor i32 %2956, %2958
%2960 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%2961 = load i32, i32* %2960
%2962 = xor i32 %2959, %2961
store i32 %2962, i32* %5
%2963 = load i32, i32* %5
%2964 = shl i32 %2963, 1
%2965 = load i32, i32* %5
%2966 = and i32 %2965, -1
%2967 = lshr i32 %2966, 31
%2968 = or i32 %2964, %2967
%2969 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
store i32 %2968, i32* %2969
%2970 = add i32 %2951, %2968
%2971 = load i32, i32* %9
%2972 = add i32 %2971, %2970
store i32 %2972, i32* %9
%2973 = load i32, i32* %11
%2974 = shl i32 %2973, 30
%2975 = load i32, i32* %11
%2976 = and i32 %2975, -1
%2977 = lshr i32 %2976, 2
%2978 = or i32 %2974, %2977
store i32 %2978, i32* %11
%2979 = load i32, i32* %9
%2980 = shl i32 %2979, 5
%2981 = load i32, i32* %9
%2982 = and i32 %2981, -1
%2983 = lshr i32 %2982, 27
%2984 = or i32 %2980, %2983
%2985 = load i32, i32* %10
%2986 = load i32, i32* %11
%2987 = xor i32 %2985, %2986
%2988 = load i32, i32* %7
%2989 = xor i32 %2987, %2988
%2990 = add i32 %2984, %2989
%2991 = add i32 %2990, -899497514
%2992 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%2993 = load i32, i32* %2992
%2994 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%2995 = load i32, i32* %2994
%2996 = xor i32 %2993, %2995
%2997 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%2998 = load i32, i32* %2997
%2999 = xor i32 %2996, %2998
%3000 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%3001 = load i32, i32* %3000
%3002 = xor i32 %2999, %3001
store i32 %3002, i32* %5
%3003 = load i32, i32* %5
%3004 = shl i32 %3003, 1
%3005 = load i32, i32* %5
%3006 = and i32 %3005, -1
%3007 = lshr i32 %3006, 31
%3008 = or i32 %3004, %3007
%3009 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
store i32 %3008, i32* %3009
%3010 = add i32 %2991, %3008
%3011 = load i32, i32* %8
%3012 = add i32 %3011, %3010
store i32 %3012, i32* %8
%3013 = load i32, i32* %10
%3014 = shl i32 %3013, 30
%3015 = load i32, i32* %10
%3016 = and i32 %3015, -1
%3017 = lshr i32 %3016, 2
%3018 = or i32 %3014, %3017
store i32 %3018, i32* %10
%3019 = load i32, i32* %8
%3020 = shl i32 %3019, 5
%3021 = load i32, i32* %8
%3022 = and i32 %3021, -1
%3023 = lshr i32 %3022, 27
%3024 = or i32 %3020, %3023
%3025 = load i32, i32* %9
%3026 = load i32, i32* %10
%3027 = xor i32 %3025, %3026
%3028 = load i32, i32* %11
%3029 = xor i32 %3027, %3028
%3030 = add i32 %3024, %3029
%3031 = add i32 %3030, -899497514
%3032 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%3033 = load i32, i32* %3032
%3034 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%3035 = load i32, i32* %3034
%3036 = xor i32 %3033, %3035
%3037 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%3038 = load i32, i32* %3037
%3039 = xor i32 %3036, %3038
%3040 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%3041 = load i32, i32* %3040
%3042 = xor i32 %3039, %3041
store i32 %3042, i32* %5
%3043 = load i32, i32* %5
%3044 = shl i32 %3043, 1
%3045 = load i32, i32* %5
%3046 = and i32 %3045, -1
%3047 = lshr i32 %3046, 31
%3048 = or i32 %3044, %3047
%3049 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
store i32 %3048, i32* %3049
%3050 = add i32 %3031, %3048
%3051 = load i32, i32* %7
%3052 = add i32 %3051, %3050
store i32 %3052, i32* %7
%3053 = load i32, i32* %9
%3054 = shl i32 %3053, 30
%3055 = load i32, i32* %9
%3056 = and i32 %3055, -1
%3057 = lshr i32 %3056, 2
%3058 = or i32 %3054, %3057
store i32 %3058, i32* %9
%3059 = load i32, i32* %7
%3060 = shl i32 %3059, 5
%3061 = load i32, i32* %7
%3062 = and i32 %3061, -1
%3063 = lshr i32 %3062, 27
%3064 = or i32 %3060, %3063
%3065 = load i32, i32* %8
%3066 = load i32, i32* %9
%3067 = xor i32 %3065, %3066
%3068 = load i32, i32* %10
%3069 = xor i32 %3067, %3068
%3070 = add i32 %3064, %3069
%3071 = add i32 %3070, -899497514
%3072 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%3073 = load i32, i32* %3072
%3074 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%3075 = load i32, i32* %3074
%3076 = xor i32 %3073, %3075
%3077 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%3078 = load i32, i32* %3077
%3079 = xor i32 %3076, %3078
%3080 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%3081 = load i32, i32* %3080
%3082 = xor i32 %3079, %3081
store i32 %3082, i32* %5
%3083 = load i32, i32* %5
%3084 = shl i32 %3083, 1
%3085 = load i32, i32* %5
%3086 = and i32 %3085, -1
%3087 = lshr i32 %3086, 31
%3088 = or i32 %3084, %3087
%3089 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
store i32 %3088, i32* %3089
%3090 = add i32 %3071, %3088
%3091 = load i32, i32* %11
%3092 = add i32 %3091, %3090
store i32 %3092, i32* %11
%3093 = load i32, i32* %8
%3094 = shl i32 %3093, 30
%3095 = load i32, i32* %8
%3096 = and i32 %3095, -1
%3097 = lshr i32 %3096, 2
%3098 = or i32 %3094, %3097
store i32 %3098, i32* %8
%3099 = load i32, i32* %11
%3100 = shl i32 %3099, 5
%3101 = load i32, i32* %11
%3102 = and i32 %3101, -1
%3103 = lshr i32 %3102, 27
%3104 = or i32 %3100, %3103
%3105 = load i32, i32* %7
%3106 = load i32, i32* %8
%3107 = xor i32 %3105, %3106
%3108 = load i32, i32* %9
%3109 = xor i32 %3107, %3108
%3110 = add i32 %3104, %3109
%3111 = add i32 %3110, -899497514
%3112 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%3113 = load i32, i32* %3112
%3114 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%3115 = load i32, i32* %3114
%3116 = xor i32 %3113, %3115
%3117 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%3118 = load i32, i32* %3117
%3119 = xor i32 %3116, %3118
%3120 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%3121 = load i32, i32* %3120
%3122 = xor i32 %3119, %3121
store i32 %3122, i32* %5
%3123 = load i32, i32* %5
%3124 = shl i32 %3123, 1
%3125 = load i32, i32* %5
%3126 = and i32 %3125, -1
%3127 = lshr i32 %3126, 31
%3128 = or i32 %3124, %3127
%3129 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
store i32 %3128, i32* %3129
%3130 = add i32 %3111, %3128
%3131 = load i32, i32* %10
%3132 = add i32 %3131, %3130
store i32 %3132, i32* %10
%3133 = load i32, i32* %7
%3134 = shl i32 %3133, 30
%3135 = load i32, i32* %7
%3136 = and i32 %3135, -1
%3137 = lshr i32 %3136, 2
%3138 = or i32 %3134, %3137
store i32 %3138, i32* %7
%3139 = load i32, i32* %10
%3140 = shl i32 %3139, 5
%3141 = load i32, i32* %10
%3142 = and i32 %3141, -1
%3143 = lshr i32 %3142, 27
%3144 = or i32 %3140, %3143
%3145 = load i32, i32* %11
%3146 = load i32, i32* %7
%3147 = xor i32 %3145, %3146
%3148 = load i32, i32* %8
%3149 = xor i32 %3147, %3148
%3150 = add i32 %3144, %3149
%3151 = add i32 %3150, -899497514
%3152 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%3153 = load i32, i32* %3152
%3154 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%3155 = load i32, i32* %3154
%3156 = xor i32 %3153, %3155
%3157 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%3158 = load i32, i32* %3157
%3159 = xor i32 %3156, %3158
%3160 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%3161 = load i32, i32* %3160
%3162 = xor i32 %3159, %3161
store i32 %3162, i32* %5
%3163 = load i32, i32* %5
%3164 = shl i32 %3163, 1
%3165 = load i32, i32* %5
%3166 = and i32 %3165, -1
%3167 = lshr i32 %3166, 31
%3168 = or i32 %3164, %3167
%3169 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
store i32 %3168, i32* %3169
%3170 = add i32 %3151, %3168
%3171 = load i32, i32* %9
%3172 = add i32 %3171, %3170
store i32 %3172, i32* %9
%3173 = load i32, i32* %11
%3174 = shl i32 %3173, 30
%3175 = load i32, i32* %11
%3176 = and i32 %3175, -1
%3177 = lshr i32 %3176, 2
%3178 = or i32 %3174, %3177
store i32 %3178, i32* %11
%3179 = load i32, i32* %9
%3180 = shl i32 %3179, 5
%3181 = load i32, i32* %9
%3182 = and i32 %3181, -1
%3183 = lshr i32 %3182, 27
%3184 = or i32 %3180, %3183
%3185 = load i32, i32* %10
%3186 = load i32, i32* %11
%3187 = xor i32 %3185, %3186
%3188 = load i32, i32* %7
%3189 = xor i32 %3187, %3188
%3190 = add i32 %3184, %3189
%3191 = add i32 %3190, -899497514
%3192 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%3193 = load i32, i32* %3192
%3194 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%3195 = load i32, i32* %3194
%3196 = xor i32 %3193, %3195
%3197 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%3198 = load i32, i32* %3197
%3199 = xor i32 %3196, %3198
%3200 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%3201 = load i32, i32* %3200
%3202 = xor i32 %3199, %3201
store i32 %3202, i32* %5
%3203 = load i32, i32* %5
%3204 = shl i32 %3203, 1
%3205 = load i32, i32* %5
%3206 = and i32 %3205, -1
%3207 = lshr i32 %3206, 31
%3208 = or i32 %3204, %3207
%3209 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
store i32 %3208, i32* %3209
%3210 = add i32 %3191, %3208
%3211 = load i32, i32* %8
%3212 = add i32 %3211, %3210
store i32 %3212, i32* %8
%3213 = load i32, i32* %10
%3214 = shl i32 %3213, 30
%3215 = load i32, i32* %10
%3216 = and i32 %3215, -1
%3217 = lshr i32 %3216, 2
%3218 = or i32 %3214, %3217
store i32 %3218, i32* %10
%3219 = load i32, i32* %8
%3220 = shl i32 %3219, 5
%3221 = load i32, i32* %8
%3222 = and i32 %3221, -1
%3223 = lshr i32 %3222, 27
%3224 = or i32 %3220, %3223
%3225 = load i32, i32* %9
%3226 = load i32, i32* %10
%3227 = xor i32 %3225, %3226
%3228 = load i32, i32* %11
%3229 = xor i32 %3227, %3228
%3230 = add i32 %3224, %3229
%3231 = add i32 %3230, -899497514
%3232 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%3233 = load i32, i32* %3232
%3234 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 2
%3235 = load i32, i32* %3234
%3236 = xor i32 %3233, %3235
%3237 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%3238 = load i32, i32* %3237
%3239 = xor i32 %3236, %3238
%3240 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%3241 = load i32, i32* %3240
%3242 = xor i32 %3239, %3241
store i32 %3242, i32* %5
%3243 = load i32, i32* %5
%3244 = shl i32 %3243, 1
%3245 = load i32, i32* %5
%3246 = and i32 %3245, -1
%3247 = lshr i32 %3246, 31
%3248 = or i32 %3244, %3247
%3249 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
store i32 %3248, i32* %3249
%3250 = add i32 %3231, %3248
%3251 = load i32, i32* %7
%3252 = add i32 %3251, %3250
store i32 %3252, i32* %7
%3253 = load i32, i32* %9
%3254 = shl i32 %3253, 30
%3255 = load i32, i32* %9
%3256 = and i32 %3255, -1
%3257 = lshr i32 %3256, 2
%3258 = or i32 %3254, %3257
store i32 %3258, i32* %9
%3259 = load i32, i32* %7
%3260 = shl i32 %3259, 5
%3261 = load i32, i32* %7
%3262 = and i32 %3261, -1
%3263 = lshr i32 %3262, 27
%3264 = or i32 %3260, %3263
%3265 = load i32, i32* %8
%3266 = load i32, i32* %9
%3267 = xor i32 %3265, %3266
%3268 = load i32, i32* %10
%3269 = xor i32 %3267, %3268
%3270 = add i32 %3264, %3269
%3271 = add i32 %3270, -899497514
%3272 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 8
%3273 = load i32, i32* %3272
%3274 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 3
%3275 = load i32, i32* %3274
%3276 = xor i32 %3273, %3275
%3277 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%3278 = load i32, i32* %3277
%3279 = xor i32 %3276, %3278
%3280 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%3281 = load i32, i32* %3280
%3282 = xor i32 %3279, %3281
store i32 %3282, i32* %5
%3283 = load i32, i32* %5
%3284 = shl i32 %3283, 1
%3285 = load i32, i32* %5
%3286 = and i32 %3285, -1
%3287 = lshr i32 %3286, 31
%3288 = or i32 %3284, %3287
%3289 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
store i32 %3288, i32* %3289
%3290 = add i32 %3271, %3288
%3291 = load i32, i32* %11
%3292 = add i32 %3291, %3290
store i32 %3292, i32* %11
%3293 = load i32, i32* %8
%3294 = shl i32 %3293, 30
%3295 = load i32, i32* %8
%3296 = and i32 %3295, -1
%3297 = lshr i32 %3296, 2
%3298 = or i32 %3294, %3297
store i32 %3298, i32* %8
%3299 = load i32, i32* %11
%3300 = shl i32 %3299, 5
%3301 = load i32, i32* %11
%3302 = and i32 %3301, -1
%3303 = lshr i32 %3302, 27
%3304 = or i32 %3300, %3303
%3305 = load i32, i32* %7
%3306 = load i32, i32* %8
%3307 = xor i32 %3305, %3306
%3308 = load i32, i32* %9
%3309 = xor i32 %3307, %3308
%3310 = add i32 %3304, %3309
%3311 = add i32 %3310, -899497514
%3312 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 9
%3313 = load i32, i32* %3312
%3314 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 4
%3315 = load i32, i32* %3314
%3316 = xor i32 %3313, %3315
%3317 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%3318 = load i32, i32* %3317
%3319 = xor i32 %3316, %3318
%3320 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%3321 = load i32, i32* %3320
%3322 = xor i32 %3319, %3321
store i32 %3322, i32* %5
%3323 = load i32, i32* %5
%3324 = shl i32 %3323, 1
%3325 = load i32, i32* %5
%3326 = and i32 %3325, -1
%3327 = lshr i32 %3326, 31
%3328 = or i32 %3324, %3327
%3329 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
store i32 %3328, i32* %3329
%3330 = add i32 %3311, %3328
%3331 = load i32, i32* %10
%3332 = add i32 %3331, %3330
store i32 %3332, i32* %10
%3333 = load i32, i32* %7
%3334 = shl i32 %3333, 30
%3335 = load i32, i32* %7
%3336 = and i32 %3335, -1
%3337 = lshr i32 %3336, 2
%3338 = or i32 %3334, %3337
store i32 %3338, i32* %7
%3339 = load i32, i32* %10
%3340 = shl i32 %3339, 5
%3341 = load i32, i32* %10
%3342 = and i32 %3341, -1
%3343 = lshr i32 %3342, 27
%3344 = or i32 %3340, %3343
%3345 = load i32, i32* %11
%3346 = load i32, i32* %7
%3347 = xor i32 %3345, %3346
%3348 = load i32, i32* %8
%3349 = xor i32 %3347, %3348
%3350 = add i32 %3344, %3349
%3351 = add i32 %3350, -899497514
%3352 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 10
%3353 = load i32, i32* %3352
%3354 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 5
%3355 = load i32, i32* %3354
%3356 = xor i32 %3353, %3355
%3357 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%3358 = load i32, i32* %3357
%3359 = xor i32 %3356, %3358
%3360 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
%3361 = load i32, i32* %3360
%3362 = xor i32 %3359, %3361
store i32 %3362, i32* %5
%3363 = load i32, i32* %5
%3364 = shl i32 %3363, 1
%3365 = load i32, i32* %5
%3366 = and i32 %3365, -1
%3367 = lshr i32 %3366, 31
%3368 = or i32 %3364, %3367
%3369 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 13
store i32 %3368, i32* %3369
%3370 = add i32 %3351, %3368
%3371 = load i32, i32* %9
%3372 = add i32 %3371, %3370
store i32 %3372, i32* %9
%3373 = load i32, i32* %11
%3374 = shl i32 %3373, 30
%3375 = load i32, i32* %11
%3376 = and i32 %3375, -1
%3377 = lshr i32 %3376, 2
%3378 = or i32 %3374, %3377
store i32 %3378, i32* %11
%3379 = load i32, i32* %9
%3380 = shl i32 %3379, 5
%3381 = load i32, i32* %9
%3382 = and i32 %3381, -1
%3383 = lshr i32 %3382, 27
%3384 = or i32 %3380, %3383
%3385 = load i32, i32* %10
%3386 = load i32, i32* %11
%3387 = xor i32 %3385, %3386
%3388 = load i32, i32* %7
%3389 = xor i32 %3387, %3388
%3390 = add i32 %3384, %3389
%3391 = add i32 %3390, -899497514
%3392 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 11
%3393 = load i32, i32* %3392
%3394 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 6
%3395 = load i32, i32* %3394
%3396 = xor i32 %3393, %3395
%3397 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 0
%3398 = load i32, i32* %3397
%3399 = xor i32 %3396, %3398
%3400 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
%3401 = load i32, i32* %3400
%3402 = xor i32 %3399, %3401
store i32 %3402, i32* %5
%3403 = load i32, i32* %5
%3404 = shl i32 %3403, 1
%3405 = load i32, i32* %5
%3406 = and i32 %3405, -1
%3407 = lshr i32 %3406, 31
%3408 = or i32 %3404, %3407
%3409 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 14
store i32 %3408, i32* %3409
%3410 = add i32 %3391, %3408
%3411 = load i32, i32* %8
%3412 = add i32 %3411, %3410
store i32 %3412, i32* %8
%3413 = load i32, i32* %10
%3414 = shl i32 %3413, 30
%3415 = load i32, i32* %10
%3416 = and i32 %3415, -1
%3417 = lshr i32 %3416, 2
%3418 = or i32 %3414, %3417
store i32 %3418, i32* %10
%3419 = load i32, i32* %8
%3420 = shl i32 %3419, 5
%3421 = load i32, i32* %8
%3422 = and i32 %3421, -1
%3423 = lshr i32 %3422, 27
%3424 = or i32 %3420, %3423
%3425 = load i32, i32* %9
%3426 = load i32, i32* %10
%3427 = xor i32 %3425, %3426
%3428 = load i32, i32* %11
%3429 = xor i32 %3427, %3428
%3430 = add i32 %3424, %3429
%3431 = add i32 %3430, -899497514
%3432 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 12
%3433 = load i32, i32* %3432
%3434 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 7
%3435 = load i32, i32* %3434
%3436 = xor i32 %3433, %3435
%3437 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 1
%3438 = load i32, i32* %3437
%3439 = xor i32 %3436, %3438
%3440 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
%3441 = load i32, i32* %3440
%3442 = xor i32 %3439, %3441
store i32 %3442, i32* %5
%3443 = load i32, i32* %5
%3444 = shl i32 %3443, 1
%3445 = load i32, i32* %5
%3446 = and i32 %3445, -1
%3447 = lshr i32 %3446, 31
%3448 = or i32 %3444, %3447
%3449 = getelementptr inbounds [16 x i32], [16 x i32]* %6, i64 0, i64 15
store i32 %3448, i32* %3449
%3450 = add i32 %3431, %3448
%3451 = load i32, i32* %7
%3452 = add i32 %3451, %3450
store i32 %3452, i32* %7
%3453 = load i32, i32* %9
%3454 = shl i32 %3453, 30
%3455 = load i32, i32* %9
%3456 = and i32 %3455, -1
%3457 = lshr i32 %3456, 2
%3458 = or i32 %3454, %3457
store i32 %3458, i32* %9
%3459 = load i32, i32* %7
%3460 = load i32*, i32** %3
%3461 = getelementptr inbounds i32, i32* %3460, i64 0
%3462 = load i32, i32* %3461
%3463 = add i32 %3462, %3459
store i32 %3463, i32* %3461
%3464 = load i32, i32* %8
%3465 = load i32*, i32** %3
%3466 = getelementptr inbounds i32, i32* %3465, i64 1
%3467 = load i32, i32* %3466
%3468 = add i32 %3467, %3464
store i32 %3468, i32* %3466
%3469 = load i32, i32* %9
%3470 = load i32*, i32** %3
%3471 = getelementptr inbounds i32, i32* %3470, i64 2
%3472 = load i32, i32* %3471
%3473 = add i32 %3472, %3469
store i32 %3473, i32* %3471
%3474 = load i32, i32* %10
%3475 = load i32*, i32** %3
%3476 = getelementptr inbounds i32, i32* %3475, i64 3
%3477 = load i32, i32* %3476
%3478 = add i32 %3477, %3474
store i32 %3478, i32* %3476
%3479 = load i32, i32* %11
%3480 = load i32*, i32** %3
%3481 = getelementptr inbounds i32, i32* %3480, i64 4
%3482 = load i32, i32* %3481
%3483 = add i32 %3482, %3479
store i32 %3483, i32* %3481
ret void
}

LLVM IR (-O2):
define void @sha1_handle(i32* nocapture %0, i8* %1) {
%3 = load i8, i8* %1
%4 = zext i8 %3 to i32
%5 = shl nuw i32 %4, 24
%6 = getelementptr inbounds i8, i8* %1, i64 1
%7 = load i8, i8* %6
%8 = zext i8 %7 to i32
%9 = shl nuw nsw i32 %8, 16
%10 = or i32 %9, %5
%11 = getelementptr inbounds i8, i8* %1, i64 2
%12 = load i8, i8* %11
%13 = zext i8 %12 to i32
%14 = shl nuw nsw i32 %13, 8
%15 = or i32 %10, %14
%16 = getelementptr inbounds i8, i8* %1, i64 3
%17 = load i8, i8* %16
%18 = zext i8 %17 to i32
%19 = or i32 %15, %18
%20 = getelementptr inbounds i8, i8* %1, i64 4
%21 = load i8, i8* %20
%22 = zext i8 %21 to i32
%23 = shl nuw i32 %22, 24
%24 = getelementptr inbounds i8, i8* %1, i64 5
%25 = load i8, i8* %24
%26 = zext i8 %25 to i32
%27 = shl nuw nsw i32 %26, 16
%28 = or i32 %27, %23
%29 = getelementptr inbounds i8, i8* %1, i64 6
%30 = load i8, i8* %29
%31 = zext i8 %30 to i32
%32 = shl nuw nsw i32 %31, 8
%33 = or i32 %28, %32
%34 = getelementptr inbounds i8, i8* %1, i64 7
%35 = load i8, i8* %34
%36 = zext i8 %35 to i32
%37 = or i32 %33, %36
%38 = getelementptr inbounds i8, i8* %1, i64 8
%39 = load i8, i8* %38
%40 = zext i8 %39 to i32
%41 = shl nuw i32 %40, 24
%42 = getelementptr inbounds i8, i8* %1, i64 9
%43 = load i8, i8* %42
%44 = zext i8 %43 to i32
%45 = shl nuw nsw i32 %44, 16
%46 = or i32 %45, %41
%47 = getelementptr inbounds i8, i8* %1, i64 10
%48 = load i8, i8* %47
%49 = zext i8 %48 to i32
%50 = shl nuw nsw i32 %49, 8
%51 = or i32 %46, %50
%52 = getelementptr inbounds i8, i8* %1, i64 11
%53 = load i8, i8* %52
%54 = zext i8 %53 to i32
%55 = or i32 %51, %54
%56 = getelementptr inbounds i8, i8* %1, i64 12
%57 = load i8, i8* %56
%58 = zext i8 %57 to i32
%59 = shl nuw i32 %58, 24
%60 = getelementptr inbounds i8, i8* %1, i64 13
%61 = load i8, i8* %60
%62 = zext i8 %61 to i32
%63 = shl nuw nsw i32 %62, 16
%64 = or i32 %63, %59
%65 = getelementptr inbounds i8, i8* %1, i64 14
%66 = load i8, i8* %65
%67 = zext i8 %66 to i32
%68 = shl nuw nsw i32 %67, 8
%69 = or i32 %64, %68
%70 = getelementptr inbounds i8, i8* %1, i64 15
%71 = load i8, i8* %70
%72 = zext i8 %71 to i32
%73 = or i32 %69, %72
%74 = getelementptr inbounds i8, i8* %1, i64 16
%75 = load i8, i8* %74
%76 = zext i8 %75 to i32
%77 = shl nuw i32 %76, 24
%78 = getelementptr inbounds i8, i8* %1, i64 17
%79 = load i8, i8* %78
%80 = zext i8 %79 to i32
%81 = shl nuw nsw i32 %80, 16
%82 = or i32 %81, %77
%83 = getelementptr inbounds i8, i8* %1, i64 18
%84 = load i8, i8* %83
%85 = zext i8 %84 to i32
%86 = shl nuw nsw i32 %85, 8
%87 = or i32 %82, %86
%88 = getelementptr inbounds i8, i8* %1, i64 19
%89 = load i8, i8* %88
%90 = zext i8 %89 to i32
%91 = or i32 %87, %90
%92 = getelementptr inbounds i8, i8* %1, i64 20
%93 = load i8, i8* %92
%94 = zext i8 %93 to i32
%95 = shl nuw i32 %94, 24
%96 = getelementptr inbounds i8, i8* %1, i64 21
%97 = load i8, i8* %96
%98 = zext i8 %97 to i32
%99 = shl nuw nsw i32 %98, 16
%100 = or i32 %99, %95
%101 = getelementptr inbounds i8, i8* %1, i64 22
%102 = load i8, i8* %101
%103 = zext i8 %102 to i32
%104 = shl nuw nsw i32 %103, 8
%105 = or i32 %100, %104
%106 = getelementptr inbounds i8, i8* %1, i64 23
%107 = load i8, i8* %106
%108 = zext i8 %107 to i32
%109 = or i32 %105, %108
%110 = getelementptr inbounds i8, i8* %1, i64 24
%111 = load i8, i8* %110
%112 = zext i8 %111 to i32
%113 = shl nuw i32 %112, 24
%114 = getelementptr inbounds i8, i8* %1, i64 25
%115 = load i8, i8* %114
%116 = zext i8 %115 to i32
%117 = shl nuw nsw i32 %116, 16
%118 = or i32 %117, %113
%119 = getelementptr inbounds i8, i8* %1, i64 26
%120 = load i8, i8* %119
%121 = zext i8 %120 to i32
%122 = shl nuw nsw i32 %121, 8
%123 = or i32 %118, %122
%124 = getelementptr inbounds i8, i8* %1, i64 27
%125 = load i8, i8* %124
%126 = zext i8 %125 to i32
%127 = or i32 %123, %126
%128 = getelementptr inbounds i8, i8* %1, i64 28
%129 = load i8, i8* %128
%130 = zext i8 %129 to i32
%131 = shl nuw i32 %130, 24
%132 = getelementptr inbounds i8, i8* %1, i64 29
%133 = load i8, i8* %132
%134 = zext i8 %133 to i32
%135 = shl nuw nsw i32 %134, 16
%136 = or i32 %135, %131
%137 = getelementptr inbounds i8, i8* %1, i64 30
%138 = load i8, i8* %137
%139 = zext i8 %138 to i32
%140 = shl nuw nsw i32 %139, 8
%141 = or i32 %136, %140
%142 = getelementptr inbounds i8, i8* %1, i64 31
%143 = load i8, i8* %142
%144 = zext i8 %143 to i32
%145 = or i32 %141, %144
%146 = getelementptr inbounds i8, i8* %1, i64 32
%147 = load i8, i8* %146
%148 = zext i8 %147 to i32
%149 = shl nuw i32 %148, 24
%150 = getelementptr inbounds i8, i8* %1, i64 33
%151 = load i8, i8* %150
%152 = zext i8 %151 to i32
%153 = shl nuw nsw i32 %152, 16
%154 = or i32 %153, %149
%155 = getelementptr inbounds i8, i8* %1, i64 34
%156 = load i8, i8* %155
%157 = zext i8 %156 to i32
%158 = shl nuw nsw i32 %157, 8
%159 = or i32 %154, %158
%160 = getelementptr inbounds i8, i8* %1, i64 35
%161 = load i8, i8* %160
%162 = zext i8 %161 to i32
%163 = or i32 %159, %162
%164 = getelementptr inbounds i8, i8* %1, i64 36
%165 = load i8, i8* %164
%166 = zext i8 %165 to i32
%167 = shl nuw i32 %166, 24
%168 = getelementptr inbounds i8, i8* %1, i64 37
%169 = load i8, i8* %168
%170 = zext i8 %169 to i32
%171 = shl nuw nsw i32 %170, 16
%172 = or i32 %171, %167
%173 = getelementptr inbounds i8, i8* %1, i64 38
%174 = load i8, i8* %173
%175 = zext i8 %174 to i32
%176 = shl nuw nsw i32 %175, 8
%177 = or i32 %172, %176
%178 = getelementptr inbounds i8, i8* %1, i64 39
%179 = load i8, i8* %178
%180 = zext i8 %179 to i32
%181 = or i32 %177, %180
%182 = getelementptr inbounds i8, i8* %1, i64 40
%183 = load i8, i8* %182
%184 = zext i8 %183 to i32
%185 = shl nuw i32 %184, 24
%186 = getelementptr inbounds i8, i8* %1, i64 41
%187 = load i8, i8* %186
%188 = zext i8 %187 to i32
%189 = shl nuw nsw i32 %188, 16
%190 = or i32 %189, %185
%191 = getelementptr inbounds i8, i8* %1, i64 42
%192 = load i8, i8* %191
%193 = zext i8 %192 to i32
%194 = shl nuw nsw i32 %193, 8
%195 = or i32 %190, %194
%196 = getelementptr inbounds i8, i8* %1, i64 43
%197 = load i8, i8* %196
%198 = zext i8 %197 to i32
%199 = or i32 %195, %198
%200 = getelementptr inbounds i8, i8* %1, i64 44
%201 = load i8, i8* %200
%202 = zext i8 %201 to i32
%203 = shl nuw i32 %202, 24
%204 = getelementptr inbounds i8, i8* %1, i64 45
%205 = load i8, i8* %204
%206 = zext i8 %205 to i32
%207 = shl nuw nsw i32 %206, 16
%208 = or i32 %207, %203
%209 = getelementptr inbounds i8, i8* %1, i64 46
%210 = load i8, i8* %209
%211 = zext i8 %210 to i32
%212 = shl nuw nsw i32 %211, 8
%213 = or i32 %208, %212
%214 = getelementptr inbounds i8, i8* %1, i64 47
%215 = load i8, i8* %214
%216 = zext i8 %215 to i32
%217 = or i32 %213, %216
%218 = getelementptr inbounds i8, i8* %1, i64 48
%219 = load i8, i8* %218
%220 = zext i8 %219 to i32
%221 = shl nuw i32 %220, 24
%222 = getelementptr inbounds i8, i8* %1, i64 49
%223 = load i8, i8* %222
%224 = zext i8 %223 to i32
%225 = shl nuw nsw i32 %224, 16
%226 = or i32 %225, %221
%227 = getelementptr inbounds i8, i8* %1, i64 50
%228 = load i8, i8* %227
%229 = zext i8 %228 to i32
%230 = shl nuw nsw i32 %229, 8
%231 = or i32 %226, %230
%232 = getelementptr inbounds i8, i8* %1, i64 51
%233 = load i8, i8* %232
%234 = zext i8 %233 to i32
%235 = or i32 %231, %234
%236 = getelementptr inbounds i8, i8* %1, i64 52
%237 = load i8, i8* %236
%238 = zext i8 %237 to i32
%239 = shl nuw i32 %238, 24
%240 = getelementptr inbounds i8, i8* %1, i64 53
%241 = load i8, i8* %240
%242 = zext i8 %241 to i32
%243 = shl nuw nsw i32 %242, 16
%244 = or i32 %243, %239
%245 = getelementptr inbounds i8, i8* %1, i64 54
%246 = load i8, i8* %245
%247 = zext i8 %246 to i32
%248 = shl nuw nsw i32 %247, 8
%249 = or i32 %244, %248
%250 = getelementptr inbounds i8, i8* %1, i64 55
%251 = load i8, i8* %250
%252 = zext i8 %251 to i32
%253 = or i32 %249, %252
%254 = getelementptr inbounds i8, i8* %1, i64 56
%255 = load i8, i8* %254
%256 = zext i8 %255 to i32
%257 = shl nuw i32 %256, 24
%258 = getelementptr inbounds i8, i8* %1, i64 57
%259 = load i8, i8* %258
%260 = zext i8 %259 to i32
%261 = shl nuw nsw i32 %260, 16
%262 = or i32 %261, %257
%263 = getelementptr inbounds i8, i8* %1, i64 58
%264 = load i8, i8* %263
%265 = zext i8 %264 to i32
%266 = shl nuw nsw i32 %265, 8
%267 = or i32 %262, %266
%268 = getelementptr inbounds i8, i8* %1, i64 59
%269 = load i8, i8* %268
%270 = zext i8 %269 to i32
%271 = or i32 %267, %270
%272 = getelementptr inbounds i8, i8* %1, i64 60
%273 = load i8, i8* %272
%274 = zext i8 %273 to i32
%275 = shl nuw i32 %274, 24
%276 = getelementptr inbounds i8, i8* %1, i64 61
%277 = load i8, i8* %276
%278 = zext i8 %277 to i32
%279 = shl nuw nsw i32 %278, 16
%280 = or i32 %279, %275
%281 = getelementptr inbounds i8, i8* %1, i64 62
%282 = load i8, i8* %281
%283 = zext i8 %282 to i32
%284 = shl nuw nsw i32 %283, 8
%285 = or i32 %280, %284
%286 = getelementptr inbounds i8, i8* %1, i64 63
%287 = load i8, i8* %286
%288 = zext i8 %287 to i32
%289 = or i32 %285, %288
%290 = load i32, i32* %0
%291 = getelementptr inbounds i32, i32* %0, i64 1
%292 = load i32, i32* %291
%293 = getelementptr inbounds i32, i32* %0, i64 2
%294 = load i32, i32* %293
%295 = getelementptr inbounds i32, i32* %0, i64 3
%296 = load i32, i32* %295
%297 = getelementptr inbounds i32, i32* %0, i64 4
%298 = load i32, i32* %297
%299 = tail call i32 @llvm.fshl.i32(i32 %290, i32 %290, i32 5)
%300 = xor i32 %296, %294
%301 = and i32 %300, %292
%302 = xor i32 %301, %296
%303 = add i32 %19, 1518500249
%304 = add i32 %303, %299
%305 = add i32 %304, %298
%306 = add i32 %305, %302
%307 = tail call i32 @llvm.fshl.i32(i32 %292, i32 %292, i32 30)
%308 = tail call i32 @llvm.fshl.i32(i32 %306, i32 %306, i32 5)
%309 = xor i32 %307, %294
%310 = and i32 %309, %290
%311 = xor i32 %310, %294
%312 = add i32 %37, 1518500249
%313 = add i32 %312, %296
%314 = add i32 %313, %311
%315 = add i32 %314, %308
%316 = tail call i32 @llvm.fshl.i32(i32 %290, i32 %290, i32 30)
%317 = tail call i32 @llvm.fshl.i32(i32 %315, i32 %315, i32 5)
%318 = xor i32 %307, %316
%319 = and i32 %306, %318
%320 = xor i32 %319, %307
%321 = add i32 %55, 1518500249
%322 = add i32 %321, %294
%323 = add i32 %322, %320
%324 = add i32 %323, %317
%325 = tail call i32 @llvm.fshl.i32(i32 %306, i32 %306, i32 30)
%326 = tail call i32 @llvm.fshl.i32(i32 %324, i32 %324, i32 5)
%327 = xor i32 %325, %316
%328 = and i32 %315, %327
%329 = xor i32 %328, %316
%330 = add i32 %73, 1518500249
%331 = add i32 %330, %307
%332 = add i32 %331, %329
%333 = add i32 %332, %326
%334 = tail call i32 @llvm.fshl.i32(i32 %315, i32 %315, i32 30)
%335 = tail call i32 @llvm.fshl.i32(i32 %333, i32 %333, i32 5)
%336 = xor i32 %334, %325
%337 = and i32 %324, %336
%338 = xor i32 %337, %325
%339 = add i32 %91, 1518500249
%340 = add i32 %339, %316
%341 = add i32 %340, %338
%342 = add i32 %341, %335
%343 = tail call i32 @llvm.fshl.i32(i32 %324, i32 %324, i32 30)
%344 = tail call i32 @llvm.fshl.i32(i32 %342, i32 %342, i32 5)
%345 = xor i32 %343, %334
%346 = and i32 %333, %345
%347 = xor i32 %346, %334
%348 = add i32 %109, 1518500249
%349 = add i32 %348, %325
%350 = add i32 %349, %347
%351 = add i32 %350, %344
%352 = tail call i32 @llvm.fshl.i32(i32 %333, i32 %333, i32 30)
%353 = tail call i32 @llvm.fshl.i32(i32 %351, i32 %351, i32 5)
%354 = xor i32 %352, %343
%355 = and i32 %342, %354
%356 = xor i32 %355, %343
%357 = add i32 %127, 1518500249
%358 = add i32 %357, %334
%359 = add i32 %358, %356
%360 = add i32 %359, %353
%361 = tail call i32 @llvm.fshl.i32(i32 %342, i32 %342, i32 30)
%362 = tail call i32 @llvm.fshl.i32(i32 %360, i32 %360, i32 5)
%363 = xor i32 %361, %352
%364 = and i32 %351, %363
%365 = xor i32 %364, %352
%366 = add i32 %145, 1518500249
%367 = add i32 %366, %343
%368 = add i32 %367, %365
%369 = add i32 %368, %362
%370 = tail call i32 @llvm.fshl.i32(i32 %351, i32 %351, i32 30)
%371 = tail call i32 @llvm.fshl.i32(i32 %369, i32 %369, i32 5)
%372 = xor i32 %370, %361
%373 = and i32 %360, %372
%374 = xor i32 %373, %361
%375 = add i32 %163, 1518500249
%376 = add i32 %375, %352
%377 = add i32 %376, %374
%378 = add i32 %377, %371
%379 = tail call i32 @llvm.fshl.i32(i32 %360, i32 %360, i32 30)
%380 = tail call i32 @llvm.fshl.i32(i32 %378, i32 %378, i32 5)
%381 = xor i32 %379, %370
%382 = and i32 %369, %381
%383 = xor i32 %382, %370
%384 = add i32 %181, 1518500249
%385 = add i32 %384, %361
%386 = add i32 %385, %383
%387 = add i32 %386, %380
%388 = tail call i32 @llvm.fshl.i32(i32 %369, i32 %369, i32 30)
%389 = tail call i32 @llvm.fshl.i32(i32 %387, i32 %387, i32 5)
%390 = xor i32 %388, %379
%391 = and i32 %378, %390
%392 = xor i32 %391, %379
%393 = add i32 %199, 1518500249
%394 = add i32 %393, %370
%395 = add i32 %394, %392
%396 = add i32 %395, %389
%397 = tail call i32 @llvm.fshl.i32(i32 %378, i32 %378, i32 30)
%398 = tail call i32 @llvm.fshl.i32(i32 %396, i32 %396, i32 5)
%399 = xor i32 %397, %388
%400 = and i32 %387, %399
%401 = xor i32 %400, %388
%402 = add i32 %217, 1518500249
%403 = add i32 %402, %379
%404 = add i32 %403, %401
%405 = add i32 %404, %398
%406 = tail call i32 @llvm.fshl.i32(i32 %387, i32 %387, i32 30)
%407 = tail call i32 @llvm.fshl.i32(i32 %405, i32 %405, i32 5)
%408 = xor i32 %406, %397
%409 = and i32 %396, %408
%410 = xor i32 %409, %397
%411 = add i32 %235, 1518500249
%412 = add i32 %411, %388
%413 = add i32 %412, %410
%414 = add i32 %413, %407
%415 = tail call i32 @llvm.fshl.i32(i32 %396, i32 %396, i32 30)
%416 = tail call i32 @llvm.fshl.i32(i32 %414, i32 %414, i32 5)
%417 = xor i32 %415, %406
%418 = and i32 %405, %417
%419 = xor i32 %418, %406
%420 = add i32 %253, 1518500249
%421 = add i32 %420, %397
%422 = add i32 %421, %419
%423 = add i32 %422, %416
%424 = tail call i32 @llvm.fshl.i32(i32 %405, i32 %405, i32 30)
%425 = tail call i32 @llvm.fshl.i32(i32 %423, i32 %423, i32 5)
%426 = xor i32 %424, %415
%427 = and i32 %414, %426
%428 = xor i32 %427, %415
%429 = add i32 %271, 1518500249
%430 = add i32 %429, %406
%431 = add i32 %430, %428
%432 = add i32 %431, %425
%433 = tail call i32 @llvm.fshl.i32(i32 %414, i32 %414, i32 30)
%434 = tail call i32 @llvm.fshl.i32(i32 %432, i32 %432, i32 5)
%435 = xor i32 %433, %424
%436 = and i32 %423, %435
%437 = xor i32 %436, %424
%438 = add i32 %289, 1518500249
%439 = add i32 %438, %415
%440 = add i32 %439, %437
%441 = add i32 %440, %434
%442 = tail call i32 @llvm.fshl.i32(i32 %423, i32 %423, i32 30)
%443 = tail call i32 @llvm.fshl.i32(i32 %441, i32 %441, i32 5)
%444 = xor i32 %442, %433
%445 = and i32 %432, %444
%446 = xor i32 %445, %433
%447 = xor i32 %55, %19
%448 = xor i32 %447, %163
%449 = xor i32 %448, %253
%450 = tail call i32 @llvm.fshl.i32(i32 %449, i32 %449, i32 1)
%451 = add i32 %450, 1518500249
%452 = add i32 %451, %424
%453 = add i32 %452, %446
%454 = add i32 %453, %443
%455 = tail call i32 @llvm.fshl.i32(i32 %432, i32 %432, i32 30)
%456 = tail call i32 @llvm.fshl.i32(i32 %454, i32 %454, i32 5)
%457 = xor i32 %455, %442
%458 = and i32 %441, %457
%459 = xor i32 %458, %442
%460 = xor i32 %73, %37
%461 = xor i32 %460, %181
%462 = xor i32 %461, %271
%463 = tail call i32 @llvm.fshl.i32(i32 %462, i32 %462, i32 1)
%464 = add i32 %463, 1518500249
%465 = add i32 %464, %433
%466 = add i32 %465, %459
%467 = add i32 %466, %456
%468 = tail call i32 @llvm.fshl.i32(i32 %441, i32 %441, i32 30)
%469 = tail call i32 @llvm.fshl.i32(i32 %467, i32 %467, i32 5)
%470 = xor i32 %468, %455
%471 = and i32 %454, %470
%472 = xor i32 %471, %455
%473 = xor i32 %91, %55
%474 = xor i32 %473, %199
%475 = xor i32 %474, %289
%476 = tail call i32 @llvm.fshl.i32(i32 %475, i32 %475, i32 1)
%477 = add i32 %476, 1518500249
%478 = add i32 %477, %442
%479 = add i32 %478, %472
%480 = add i32 %479, %469
%481 = tail call i32 @llvm.fshl.i32(i32 %454, i32 %454, i32 30)
%482 = tail call i32 @llvm.fshl.i32(i32 %480, i32 %480, i32 5)
%483 = xor i32 %481, %468
%484 = and i32 %467, %483
%485 = xor i32 %484, %468
%486 = xor i32 %109, %73
%487 = xor i32 %486, %217
%488 = xor i32 %487, %450
%489 = tail call i32 @llvm.fshl.i32(i32 %488, i32 %488, i32 1)
%490 = add i32 %489, 1518500249
%491 = add i32 %490, %455
%492 = add i32 %491, %485
%493 = add i32 %492, %482
%494 = tail call i32 @llvm.fshl.i32(i32 %467, i32 %467, i32 30)
%495 = tail call i32 @llvm.fshl.i32(i32 %493, i32 %493, i32 5)
%496 = xor i32 %494, %481
%497 = xor i32 %496, %480
%498 = xor i32 %127, %91
%499 = xor i32 %498, %235
%500 = xor i32 %499, %463
%501 = tail call i32 @llvm.fshl.i32(i32 %500, i32 %500, i32 1)
%502 = add i32 %501, 1859775393
%503 = add i32 %502, %468
%504 = add i32 %503, %497
%505 = add i32 %504, %495
%506 = tail call i32 @llvm.fshl.i32(i32 %480, i32 %480, i32 30)
%507 = tail call i32 @llvm.fshl.i32(i32 %505, i32 %505, i32 5)
%508 = xor i32 %506, %494
%509 = xor i32 %508, %493
%510 = xor i32 %145, %109
%511 = xor i32 %510, %253
%512 = xor i32 %511, %476
%513 = tail call i32 @llvm.fshl.i32(i32 %512, i32 %512, i32 1)
%514 = add i32 %513, 1859775393
%515 = add i32 %514, %481
%516 = add i32 %515, %509
%517 = add i32 %516, %507
%518 = tail call i32 @llvm.fshl.i32(i32 %493, i32 %493, i32 30)
%519 = tail call i32 @llvm.fshl.i32(i32 %517, i32 %517, i32 5)
%520 = xor i32 %518, %506
%521 = xor i32 %520, %505
%522 = xor i32 %163, %127
%523 = xor i32 %522, %271
%524 = xor i32 %523, %489
%525 = tail call i32 @llvm.fshl.i32(i32 %524, i32 %524, i32 1)
%526 = add i32 %525, 1859775393
%527 = add i32 %526, %494
%528 = add i32 %527, %521
%529 = add i32 %528, %519
%530 = tail call i32 @llvm.fshl.i32(i32 %505, i32 %505, i32 30)
%531 = tail call i32 @llvm.fshl.i32(i32 %529, i32 %529, i32 5)
%532 = xor i32 %530, %518
%533 = xor i32 %532, %517
%534 = xor i32 %181, %145
%535 = xor i32 %534, %289
%536 = xor i32 %535, %501
%537 = tail call i32 @llvm.fshl.i32(i32 %536, i32 %536, i32 1)
%538 = add i32 %537, 1859775393
%539 = add i32 %538, %506
%540 = add i32 %539, %533
%541 = add i32 %540, %531
%542 = tail call i32 @llvm.fshl.i32(i32 %517, i32 %517, i32 30)
%543 = tail call i32 @llvm.fshl.i32(i32 %541, i32 %541, i32 5)
%544 = xor i32 %542, %530
%545 = xor i32 %544, %529
%546 = xor i32 %199, %163
%547 = xor i32 %546, %450
%548 = xor i32 %547, %513
%549 = tail call i32 @llvm.fshl.i32(i32 %548, i32 %548, i32 1)
%550 = add i32 %549, 1859775393
%551 = add i32 %550, %518
%552 = add i32 %551, %545
%553 = add i32 %552, %543
%554 = tail call i32 @llvm.fshl.i32(i32 %529, i32 %529, i32 30)
%555 = tail call i32 @llvm.fshl.i32(i32 %553, i32 %553, i32 5)
%556 = xor i32 %554, %542
%557 = xor i32 %556, %541
%558 = xor i32 %217, %181
%559 = xor i32 %558, %463
%560 = xor i32 %559, %525
%561 = tail call i32 @llvm.fshl.i32(i32 %560, i32 %560, i32 1)
%562 = add i32 %561, 1859775393
%563 = add i32 %562, %530
%564 = add i32 %563, %557
%565 = add i32 %564, %555
%566 = tail call i32 @llvm.fshl.i32(i32 %541, i32 %541, i32 30)
%567 = tail call i32 @llvm.fshl.i32(i32 %565, i32 %565, i32 5)
%568 = xor i32 %566, %554
%569 = xor i32 %568, %553
%570 = xor i32 %235, %199
%571 = xor i32 %570, %476
%572 = xor i32 %571, %537
%573 = tail call i32 @llvm.fshl.i32(i32 %572, i32 %572, i32 1)
%574 = add i32 %573, 1859775393
%575 = add i32 %574, %542
%576 = add i32 %575, %569
%577 = add i32 %576, %567
%578 = tail call i32 @llvm.fshl.i32(i32 %553, i32 %553, i32 30)
%579 = tail call i32 @llvm.fshl.i32(i32 %577, i32 %577, i32 5)
%580 = xor i32 %578, %566
%581 = xor i32 %580, %565
%582 = xor i32 %253, %217
%583 = xor i32 %582, %489
%584 = xor i32 %583, %549
%585 = tail call i32 @llvm.fshl.i32(i32 %584, i32 %584, i32 1)
%586 = add i32 %585, 1859775393
%587 = add i32 %586, %554
%588 = add i32 %587, %581
%589 = add i32 %588, %579
%590 = tail call i32 @llvm.fshl.i32(i32 %565, i32 %565, i32 30)
%591 = tail call i32 @llvm.fshl.i32(i32 %589, i32 %589, i32 5)
%592 = xor i32 %590, %578
%593 = xor i32 %592, %577
%594 = xor i32 %271, %235
%595 = xor i32 %594, %501
%596 = xor i32 %595, %561
%597 = tail call i32 @llvm.fshl.i32(i32 %596, i32 %596, i32 1)
%598 = add i32 %597, 1859775393
%599 = add i32 %598, %566
%600 = add i32 %599, %593
%601 = add i32 %600, %591
%602 = tail call i32 @llvm.fshl.i32(i32 %577, i32 %577, i32 30)
%603 = tail call i32 @llvm.fshl.i32(i32 %601, i32 %601, i32 5)
%604 = xor i32 %602, %590
%605 = xor i32 %604, %589
%606 = xor i32 %289, %253
%607 = xor i32 %606, %513
%608 = xor i32 %607, %573
%609 = tail call i32 @llvm.fshl.i32(i32 %608, i32 %608, i32 1)
%610 = add i32 %609, 1859775393
%611 = add i32 %610, %578
%612 = add i32 %611, %605
%613 = add i32 %612, %603
%614 = tail call i32 @llvm.fshl.i32(i32 %589, i32 %589, i32 30)
%615 = tail call i32 @llvm.fshl.i32(i32 %613, i32 %613, i32 5)
%616 = xor i32 %614, %602
%617 = xor i32 %616, %601
%618 = xor i32 %271, %450
%619 = xor i32 %618, %525
%620 = xor i32 %619, %585
%621 = tail call i32 @llvm.fshl.i32(i32 %620, i32 %620, i32 1)
%622 = add i32 %621, 1859775393
%623 = add i32 %622, %590
%624 = add i32 %623, %617
%625 = add i32 %624, %615
%626 = tail call i32 @llvm.fshl.i32(i32 %601, i32 %601, i32 30)
%627 = tail call i32 @llvm.fshl.i32(i32 %625, i32 %625, i32 5)
%628 = xor i32 %626, %614
%629 = xor i32 %628, %613
%630 = xor i32 %289, %463
%631 = xor i32 %630, %537
%632 = xor i32 %631, %597
%633 = tail call i32 @llvm.fshl.i32(i32 %632, i32 %632, i32 1)
%634 = add i32 %633, 1859775393
%635 = add i32 %634, %602
%636 = add i32 %635, %629
%637 = add i32 %636, %627
%638 = tail call i32 @llvm.fshl.i32(i32 %613, i32 %613, i32 30)
%639 = tail call i32 @llvm.fshl.i32(i32 %637, i32 %637, i32 5)
%640 = xor i32 %638, %626
%641 = xor i32 %640, %625
%642 = xor i32 %476, %450
%643 = xor i32 %642, %549
%644 = xor i32 %643, %609
%645 = tail call i32 @llvm.fshl.i32(i32 %644, i32 %644, i32 1)
%646 = add i32 %645, 1859775393
%647 = add i32 %646, %614
%648 = add i32 %647, %641
%649 = add i32 %648, %639
%650 = tail call i32 @llvm.fshl.i32(i32 %625, i32 %625, i32 30)
%651 = tail call i32 @llvm.fshl.i32(i32 %649, i32 %649, i32 5)
%652 = xor i32 %650, %638
%653 = xor i32 %652, %637
%654 = xor i32 %463, %489
%655 = xor i32 %654, %561
%656 = xor i32 %655, %621
%657 = tail call i32 @llvm.fshl.i32(i32 %656, i32 %656, i32 1)
%658 = add i32 %657, 1859775393
%659 = add i32 %658, %626
%660 = add i32 %659, %653
%661 = add i32 %660, %651
%662 = tail call i32 @llvm.fshl.i32(i32 %637, i32 %637, i32 30)
%663 = tail call i32 @llvm.fshl.i32(i32 %661, i32 %661, i32 5)
%664 = xor i32 %662, %650
%665 = xor i32 %664, %649
%666 = xor i32 %476, %501
%667 = xor i32 %666, %573
%668 = xor i32 %667, %633
%669 = tail call i32 @llvm.fshl.i32(i32 %668, i32 %668, i32 1)
%670 = add i32 %669, 1859775393
%671 = add i32 %670, %638
%672 = add i32 %671, %665
%673 = add i32 %672, %663
%674 = tail call i32 @llvm.fshl.i32(i32 %649, i32 %649, i32 30)
%675 = tail call i32 @llvm.fshl.i32(i32 %673, i32 %673, i32 5)
%676 = xor i32 %674, %662
%677 = xor i32 %676, %661
%678 = xor i32 %513, %489
%679 = xor i32 %678, %585
%680 = xor i32 %679, %645
%681 = tail call i32 @llvm.fshl.i32(i32 %680, i32 %680, i32 1)
%682 = add i32 %681, 1859775393
%683 = add i32 %682, %650
%684 = add i32 %683, %677
%685 = add i32 %684, %675
%686 = tail call i32 @llvm.fshl.i32(i32 %661, i32 %661, i32 30)
%687 = tail call i32 @llvm.fshl.i32(i32 %685, i32 %685, i32 5)
%688 = xor i32 %686, %674
%689 = xor i32 %688, %673
%690 = xor i32 %501, %525
%691 = xor i32 %690, %597
%692 = xor i32 %691, %657
%693 = tail call i32 @llvm.fshl.i32(i32 %692, i32 %692, i32 1)
%694 = add i32 %693, 1859775393
%695 = add i32 %694, %662
%696 = add i32 %695, %689
%697 = add i32 %696, %687
%698 = tail call i32 @llvm.fshl.i32(i32 %673, i32 %673, i32 30)
%699 = tail call i32 @llvm.fshl.i32(i32 %697, i32 %697, i32 5)
%700 = xor i32 %698, %686
%701 = xor i32 %700, %685
%702 = xor i32 %513, %537
%703 = xor i32 %702, %609
%704 = xor i32 %703, %669
%705 = tail call i32 @llvm.fshl.i32(i32 %704, i32 %704, i32 1)
%706 = add i32 %705, 1859775393
%707 = add i32 %706, %674
%708 = add i32 %707, %701
%709 = add i32 %708, %699
%710 = tail call i32 @llvm.fshl.i32(i32 %685, i32 %685, i32 30)
%711 = tail call i32 @llvm.fshl.i32(i32 %709, i32 %709, i32 5)
%712 = xor i32 %710, %698
%713 = xor i32 %712, %697
%714 = xor i32 %549, %525
%715 = xor i32 %714, %621
%716 = xor i32 %715, %681
%717 = tail call i32 @llvm.fshl.i32(i32 %716, i32 %716, i32 1)
%718 = add i32 %717, 1859775393
%719 = add i32 %718, %686
%720 = add i32 %719, %713
%721 = add i32 %720, %711
%722 = tail call i32 @llvm.fshl.i32(i32 %697, i32 %697, i32 30)
%723 = tail call i32 @llvm.fshl.i32(i32 %721, i32 %721, i32 5)
%724 = xor i32 %722, %710
%725 = xor i32 %724, %709
%726 = xor i32 %537, %561
%727 = xor i32 %726, %633
%728 = xor i32 %727, %693
%729 = tail call i32 @llvm.fshl.i32(i32 %728, i32 %728, i32 1)
%730 = add i32 %729, 1859775393
%731 = add i32 %730, %698
%732 = add i32 %731, %725
%733 = add i32 %732, %723
%734 = tail call i32 @llvm.fshl.i32(i32 %709, i32 %709, i32 30)
%735 = tail call i32 @llvm.fshl.i32(i32 %733, i32 %733, i32 5)
%736 = and i32 %721, %734
%737 = or i32 %721, %734
%738 = and i32 %737, %722
%739 = or i32 %738, %736
%740 = xor i32 %549, %573
%741 = xor i32 %740, %645
%742 = xor i32 %741, %705
%743 = tail call i32 @llvm.fshl.i32(i32 %742, i32 %742, i32 1)
%744 = add i32 %743, -1894007588
%745 = add i32 %744, %710
%746 = add i32 %745, %739
%747 = add i32 %746, %735
%748 = tail call i32 @llvm.fshl.i32(i32 %721, i32 %721, i32 30)
%749 = tail call i32 @llvm.fshl.i32(i32 %747, i32 %747, i32 5)
%750 = and i32 %733, %748
%751 = or i32 %733, %748
%752 = and i32 %751, %734
%753 = or i32 %752, %750
%754 = xor i32 %585, %561
%755 = xor i32 %754, %657
%756 = xor i32 %755, %717
%757 = tail call i32 @llvm.fshl.i32(i32 %756, i32 %756, i32 1)
%758 = add i32 %757, -1894007588
%759 = add i32 %758, %722
%760 = add i32 %759, %753
%761 = add i32 %760, %749
%762 = tail call i32 @llvm.fshl.i32(i32 %733, i32 %733, i32 30)
%763 = tail call i32 @llvm.fshl.i32(i32 %761, i32 %761, i32 5)
%764 = and i32 %747, %762
%765 = or i32 %747, %762
%766 = and i32 %765, %748
%767 = or i32 %766, %764
%768 = xor i32 %573, %597
%769 = xor i32 %768, %669
%770 = xor i32 %769, %729
%771 = tail call i32 @llvm.fshl.i32(i32 %770, i32 %770, i32 1)
%772 = add i32 %771, -1894007588
%773 = add i32 %772, %734
%774 = add i32 %773, %767
%775 = add i32 %774, %763
%776 = tail call i32 @llvm.fshl.i32(i32 %747, i32 %747, i32 30)
%777 = tail call i32 @llvm.fshl.i32(i32 %775, i32 %775, i32 5)
%778 = and i32 %761, %776
%779 = or i32 %761, %776
%780 = and i32 %779, %762
%781 = or i32 %780, %778
%782 = xor i32 %585, %609
%783 = xor i32 %782, %681
%784 = xor i32 %783, %743
%785 = tail call i32 @llvm.fshl.i32(i32 %784, i32 %784, i32 1)
%786 = add i32 %785, -1894007588
%787 = add i32 %786, %748
%788 = add i32 %787, %781
%789 = add i32 %788, %777
%790 = tail call i32 @llvm.fshl.i32(i32 %761, i32 %761, i32 30)
%791 = tail call i32 @llvm.fshl.i32(i32 %789, i32 %789, i32 5)
%792 = and i32 %775, %790
%793 = or i32 %775, %790
%794 = and i32 %793, %776
%795 = or i32 %794, %792
%796 = xor i32 %621, %597
%797 = xor i32 %796, %693
%798 = xor i32 %797, %757
%799 = tail call i32 @llvm.fshl.i32(i32 %798, i32 %798, i32 1)
%800 = add i32 %799, -1894007588
%801 = add i32 %800, %762
%802 = add i32 %801, %795
%803 = add i32 %802, %791
%804 = tail call i32 @llvm.fshl.i32(i32 %775, i32 %775, i32 30)
%805 = tail call i32 @llvm.fshl.i32(i32 %803, i32 %803, i32 5)
%806 = and i32 %789, %804
%807 = or i32 %789, %804
%808 = and i32 %807, %790
%809 = or i32 %808, %806
%810 = xor i32 %609, %633
%811 = xor i32 %810, %705
%812 = xor i32 %811, %771
%813 = tail call i32 @llvm.fshl.i32(i32 %812, i32 %812, i32 1)
%814 = add i32 %813, -1894007588
%815 = add i32 %814, %776
%816 = add i32 %815, %809
%817 = add i32 %816, %805
%818 = tail call i32 @llvm.fshl.i32(i32 %789, i32 %789, i32 30)
%819 = tail call i32 @llvm.fshl.i32(i32 %817, i32 %817, i32 5)
%820 = and i32 %803, %818
%821 = or i32 %803, %818
%822 = and i32 %821, %804
%823 = or i32 %822, %820
%824 = xor i32 %621, %645
%825 = xor i32 %824, %717
%826 = xor i32 %825, %785
%827 = tail call i32 @llvm.fshl.i32(i32 %826, i32 %826, i32 1)
%828 = add i32 %827, -1894007588
%829 = add i32 %828, %790
%830 = add i32 %829, %823
%831 = add i32 %830, %819
%832 = tail call i32 @llvm.fshl.i32(i32 %803, i32 %803, i32 30)
%833 = tail call i32 @llvm.fshl.i32(i32 %831, i32 %831, i32 5)
%834 = and i32 %817, %832
%835 = or i32 %817, %832
%836 = and i32 %835, %818
%837 = or i32 %836, %834
%838 = xor i32 %657, %633
%839 = xor i32 %838, %729
%840 = xor i32 %839, %799
%841 = tail call i32 @llvm.fshl.i32(i32 %840, i32 %840, i32 1)
%842 = add i32 %841, -1894007588
%843 = add i32 %842, %804
%844 = add i32 %843, %837
%845 = add i32 %844, %833
%846 = tail call i32 @llvm.fshl.i32(i32 %817, i32 %817, i32 30)
%847 = tail call i32 @llvm.fshl.i32(i32 %845, i32 %845, i32 5)
%848 = and i32 %831, %846
%849 = or i32 %831, %846
%850 = and i32 %849, %832
%851 = or i32 %850, %848
%852 = xor i32 %645, %669
%853 = xor i32 %852, %743
%854 = xor i32 %853, %813
%855 = tail call i32 @llvm.fshl.i32(i32 %854, i32 %854, i32 1)
%856 = add i32 %855, -1894007588
%857 = add i32 %856, %818
%858 = add i32 %857, %851
%859 = add i32 %858, %847
%860 = tail call i32 @llvm.fshl.i32(i32 %831, i32 %831, i32 30)
%861 = tail call i32 @llvm.fshl.i32(i32 %859, i32 %859, i32 5)
%862 = and i32 %845, %860
%863 = or i32 %845, %860
%864 = and i32 %863, %846
%865 = or i32 %864, %862
%866 = xor i32 %657, %681
%867 = xor i32 %866, %757
%868 = xor i32 %867, %827
%869 = tail call i32 @llvm.fshl.i32(i32 %868, i32 %868, i32 1)
%870 = add i32 %869, -1894007588
%871 = add i32 %870, %832
%872 = add i32 %871, %865
%873 = add i32 %872, %861
%874 = tail call i32 @llvm.fshl.i32(i32 %845, i32 %845, i32 30)
%875 = tail call i32 @llvm.fshl.i32(i32 %873, i32 %873, i32 5)
%876 = and i32 %859, %874
%877 = or i32 %859, %874
%878 = and i32 %877, %860
%879 = or i32 %878, %876
%880 = xor i32 %693, %669
%881 = xor i32 %880, %771
%882 = xor i32 %881, %841
%883 = tail call i32 @llvm.fshl.i32(i32 %882, i32 %882, i32 1)
%884 = add i32 %883, -1894007588
%885 = add i32 %884, %846
%886 = add i32 %885, %879
%887 = add i32 %886, %875
%888 = tail call i32 @llvm.fshl.i32(i32 %859, i32 %859, i32 30)
%889 = tail call i32 @llvm.fshl.i32(i32 %887, i32 %887, i32 5)
%890 = and i32 %873, %888
%891 = or i32 %873, %888
%892 = and i32 %891, %874
%893 = or i32 %892, %890
%894 = xor i32 %681, %705
%895 = xor i32 %894, %785
%896 = xor i32 %895, %855
%897 = tail call i32 @llvm.fshl.i32(i32 %896, i32 %896, i32 1)
%898 = add i32 %897, -1894007588
%899 = add i32 %898, %860
%900 = add i32 %899, %893
%901 = add i32 %900, %889
%902 = tail call i32 @llvm.fshl.i32(i32 %873, i32 %873, i32 30)
%903 = tail call i32 @llvm.fshl.i32(i32 %901, i32 %901, i32 5)
%904 = and i32 %887, %902
%905 = or i32 %887, %902
%906 = and i32 %905, %888
%907 = or i32 %906, %904
%908 = xor i32 %693, %717
%909 = xor i32 %908, %799
%910 = xor i32 %909, %869
%911 = tail call i32 @llvm.fshl.i32(i32 %910, i32 %910, i32 1)
%912 = add i32 %911, -1894007588
%913 = add i32 %912, %874
%914 = add i32 %913, %907
%915 = add i32 %914, %903
%916 = tail call i32 @llvm.fshl.i32(i32 %887, i32 %887, i32 30)
%917 = tail call i32 @llvm.fshl.i32(i32 %915, i32 %915, i32 5)
%918 = and i32 %901, %916
%919 = or i32 %901, %916
%920 = and i32 %919, %902
%921 = or i32 %920, %918
%922 = xor i32 %729, %705
%923 = xor i32 %922, %813
%924 = xor i32 %923, %883
%925 = tail call i32 @llvm.fshl.i32(i32 %924, i32 %924, i32 1)
%926 = add i32 %925, -1894007588
%927 = add i32 %926, %888
%928 = add i32 %927, %921
%929 = add i32 %928, %917
%930 = tail call i32 @llvm.fshl.i32(i32 %901, i32 %901, i32 30)
%931 = tail call i32 @llvm.fshl.i32(i32 %929, i32 %929, i32 5)
%932 = and i32 %915, %930
%933 = or i32 %915, %930
%934 = and i32 %933, %916
%935 = or i32 %934, %932
%936 = xor i32 %717, %743
%937 = xor i32 %936, %827
%938 = xor i32 %937, %897
%939 = tail call i32 @llvm.fshl.i32(i32 %938, i32 %938, i32 1)
%940 = add i32 %939, -1894007588
%941 = add i32 %940, %902
%942 = add i32 %941, %935
%943 = add i32 %942, %931
%944 = tail call i32 @llvm.fshl.i32(i32 %915, i32 %915, i32 30)
%945 = tail call i32 @llvm.fshl.i32(i32 %943, i32 %943, i32 5)
%946 = and i32 %929, %944
%947 = or i32 %929, %944
%948 = and i32 %947, %930
%949 = or i32 %948, %946
%950 = xor i32 %729, %757
%951 = xor i32 %950, %841
%952 = xor i32 %951, %911
%953 = tail call i32 @llvm.fshl.i32(i32 %952, i32 %952, i32 1)
%954 = add i32 %953, -1894007588
%955 = add i32 %954, %916
%956 = add i32 %955, %949
%957 = add i32 %956, %945
%958 = tail call i32 @llvm.fshl.i32(i32 %929, i32 %929, i32 30)
%959 = tail call i32 @llvm.fshl.i32(i32 %957, i32 %957, i32 5)
%960 = and i32 %943, %958
%961 = or i32 %943, %958
%962 = and i32 %961, %944
%963 = or i32 %962, %960
%964 = xor i32 %771, %743
%965 = xor i32 %964, %855
%966 = xor i32 %965, %925
%967 = tail call i32 @llvm.fshl.i32(i32 %966, i32 %966, i32 1)
%968 = add i32 %967, -1894007588
%969 = add i32 %968, %930
%970 = add i32 %969, %963
%971 = add i32 %970, %959
%972 = tail call i32 @llvm.fshl.i32(i32 %943, i32 %943, i32 30)
%973 = tail call i32 @llvm.fshl.i32(i32 %971, i32 %971, i32 5)
%974 = and i32 %957, %972
%975 = or i32 %957, %972
%976 = and i32 %975, %958
%977 = or i32 %976, %974
%978 = xor i32 %757, %785
%979 = xor i32 %978, %869
%980 = xor i32 %979, %939
%981 = tail call i32 @llvm.fshl.i32(i32 %980, i32 %980, i32 1)
%982 = add i32 %981, -1894007588
%983 = add i32 %982, %944
%984 = add i32 %983, %977
%985 = add i32 %984, %973
%986 = tail call i32 @llvm.fshl.i32(i32 %957, i32 %957, i32 30)
%987 = tail call i32 @llvm.fshl.i32(i32 %985, i32 %985, i32 5)
%988 = and i32 %971, %986
%989 = or i32 %971, %986
%990 = and i32 %989, %972
%991 = or i32 %990, %988
%992 = xor i32 %771, %799
%993 = xor i32 %992, %883
%994 = xor i32 %993, %953
%995 = tail call i32 @llvm.fshl.i32(i32 %994, i32 %994, i32 1)
%996 = add i32 %995, -1894007588
%997 = add i32 %996, %958
%998 = add i32 %997, %991
%999 = add i32 %998, %987
%1000 = tail call i32 @llvm.fshl.i32(i32 %971, i32 %971, i32 30)
%1001 = tail call i32 @llvm.fshl.i32(i32 %999, i32 %999, i32 5)
%1002 = and i32 %985, %1000
%1003 = or i32 %985, %1000
%1004 = and i32 %1003, %986
%1005 = or i32 %1004, %1002
%1006 = xor i32 %813, %785
%1007 = xor i32 %1006, %897
%1008 = xor i32 %1007, %967
%1009 = tail call i32 @llvm.fshl.i32(i32 %1008, i32 %1008, i32 1)
%1010 = add i32 %1009, -1894007588
%1011 = add i32 %1010, %972
%1012 = add i32 %1011, %1005
%1013 = add i32 %1012, %1001
%1014 = tail call i32 @llvm.fshl.i32(i32 %985, i32 %985, i32 30)
%1015 = tail call i32 @llvm.fshl.i32(i32 %1013, i32 %1013, i32 5)
%1016 = xor i32 %1014, %1000
%1017 = xor i32 %1016, %999
%1018 = xor i32 %799, %827
%1019 = xor i32 %1018, %911
%1020 = xor i32 %1019, %981
%1021 = tail call i32 @llvm.fshl.i32(i32 %1020, i32 %1020, i32 1)
%1022 = add i32 %1021, -899497514
%1023 = add i32 %1022, %986
%1024 = add i32 %1023, %1017
%1025 = add i32 %1024, %1015
%1026 = tail call i32 @llvm.fshl.i32(i32 %999, i32 %999, i32 30)
%1027 = tail call i32 @llvm.fshl.i32(i32 %1025, i32 %1025, i32 5)
%1028 = xor i32 %1026, %1014
%1029 = xor i32 %1028, %1013
%1030 = xor i32 %813, %841
%1031 = xor i32 %1030, %925
%1032 = xor i32 %1031, %995
%1033 = tail call i32 @llvm.fshl.i32(i32 %1032, i32 %1032, i32 1)
%1034 = add i32 %1033, -899497514
%1035 = add i32 %1034, %1000
%1036 = add i32 %1035, %1029
%1037 = add i32 %1036, %1027
%1038 = tail call i32 @llvm.fshl.i32(i32 %1013, i32 %1013, i32 30)
%1039 = tail call i32 @llvm.fshl.i32(i32 %1037, i32 %1037, i32 5)
%1040 = xor i32 %1038, %1026
%1041 = xor i32 %1040, %1025
%1042 = xor i32 %855, %827
%1043 = xor i32 %1042, %939
%1044 = xor i32 %1043, %1009
%1045 = tail call i32 @llvm.fshl.i32(i32 %1044, i32 %1044, i32 1)
%1046 = add i32 %1045, -899497514
%1047 = add i32 %1046, %1014
%1048 = add i32 %1047, %1041
%1049 = add i32 %1048, %1039
%1050 = tail call i32 @llvm.fshl.i32(i32 %1025, i32 %1025, i32 30)
%1051 = tail call i32 @llvm.fshl.i32(i32 %1049, i32 %1049, i32 5)
%1052 = xor i32 %1050, %1038
%1053 = xor i32 %1052, %1037
%1054 = xor i32 %841, %869
%1055 = xor i32 %1054, %953
%1056 = xor i32 %1055, %1021
%1057 = tail call i32 @llvm.fshl.i32(i32 %1056, i32 %1056, i32 1)
%1058 = add i32 %1057, -899497514
%1059 = add i32 %1058, %1026
%1060 = add i32 %1059, %1053
%1061 = add i32 %1060, %1051
%1062 = tail call i32 @llvm.fshl.i32(i32 %1037, i32 %1037, i32 30)
%1063 = tail call i32 @llvm.fshl.i32(i32 %1061, i32 %1061, i32 5)
%1064 = xor i32 %1062, %1050
%1065 = xor i32 %1064, %1049
%1066 = xor i32 %855, %883
%1067 = xor i32 %1066, %967
%1068 = xor i32 %1067, %1033
%1069 = tail call i32 @llvm.fshl.i32(i32 %1068, i32 %1068, i32 1)
%1070 = add i32 %1069, -899497514
%1071 = add i32 %1070, %1038
%1072 = add i32 %1071, %1065
%1073 = add i32 %1072, %1063
%1074 = tail call i32 @llvm.fshl.i32(i32 %1049, i32 %1049, i32 30)
%1075 = tail call i32 @llvm.fshl.i32(i32 %1073, i32 %1073, i32 5)
%1076 = xor i32 %1074, %1062
%1077 = xor i32 %1076, %1061
%1078 = xor i32 %897, %869
%1079 = xor i32 %1078, %981
%1080 = xor i32 %1079, %1045
%1081 = tail call i32 @llvm.fshl.i32(i32 %1080, i32 %1080, i32 1)
%1082 = add i32 %1081, -899497514
%1083 = add i32 %1082, %1050
%1084 = add i32 %1083, %1077
%1085 = add i32 %1084, %1075
%1086 = tail call i32 @llvm.fshl.i32(i32 %1061, i32 %1061, i32 30)
%1087 = tail call i32 @llvm.fshl.i32(i32 %1085, i32 %1085, i32 5)
%1088 = xor i32 %1086, %1074
%1089 = xor i32 %1088, %1073
%1090 = xor i32 %883, %911
%1091 = xor i32 %1090, %995
%1092 = xor i32 %1091, %1057
%1093 = tail call i32 @llvm.fshl.i32(i32 %1092, i32 %1092, i32 1)
%1094 = add i32 %1093, -899497514
%1095 = add i32 %1094, %1062
%1096 = add i32 %1095, %1089
%1097 = add i32 %1096, %1087
%1098 = tail call i32 @llvm.fshl.i32(i32 %1073, i32 %1073, i32 30)
%1099 = tail call i32 @llvm.fshl.i32(i32 %1097, i32 %1097, i32 5)
%1100 = xor i32 %1098, %1086
%1101 = xor i32 %1100, %1085
%1102 = xor i32 %897, %925
%1103 = xor i32 %1102, %1009
%1104 = xor i32 %1103, %1069
%1105 = tail call i32 @llvm.fshl.i32(i32 %1104, i32 %1104, i32 1)
%1106 = add i32 %1105, -899497514
%1107 = add i32 %1106, %1074
%1108 = add i32 %1107, %1101
%1109 = add i32 %1108, %1099
%1110 = tail call i32 @llvm.fshl.i32(i32 %1085, i32 %1085, i32 30)
%1111 = tail call i32 @llvm.fshl.i32(i32 %1109, i32 %1109, i32 5)
%1112 = xor i32 %1110, %1098
%1113 = xor i32 %1112, %1097
%1114 = xor i32 %939, %911
%1115 = xor i32 %1114, %1021
%1116 = xor i32 %1115, %1081
%1117 = tail call i32 @llvm.fshl.i32(i32 %1116, i32 %1116, i32 1)
%1118 = add i32 %1117, -899497514
%1119 = add i32 %1118, %1086
%1120 = add i32 %1119, %1113
%1121 = add i32 %1120, %1111
%1122 = tail call i32 @llvm.fshl.i32(i32 %1097, i32 %1097, i32 30)
%1123 = tail call i32 @llvm.fshl.i32(i32 %1121, i32 %1121, i32 5)
%1124 = xor i32 %1122, %1110
%1125 = xor i32 %1124, %1109
%1126 = xor i32 %925, %953
%1127 = xor i32 %1126, %1033
%1128 = xor i32 %1127, %1093
%1129 = tail call i32 @llvm.fshl.i32(i32 %1128, i32 %1128, i32 1)
%1130 = add i32 %1129, -899497514
%1131 = add i32 %1130, %1098
%1132 = add i32 %1131, %1125
%1133 = add i32 %1132, %1123
%1134 = tail call i32 @llvm.fshl.i32(i32 %1109, i32 %1109, i32 30)
%1135 = tail call i32 @llvm.fshl.i32(i32 %1133, i32 %1133, i32 5)
%1136 = xor i32 %1134, %1122
%1137 = xor i32 %1136, %1121
%1138 = xor i32 %939, %967
%1139 = xor i32 %1138, %1045
%1140 = xor i32 %1139, %1105
%1141 = tail call i32 @llvm.fshl.i32(i32 %1140, i32 %1140, i32 1)
%1142 = add i32 %1141, -899497514
%1143 = add i32 %1142, %1110
%1144 = add i32 %1143, %1137
%1145 = add i32 %1144, %1135
%1146 = tail call i32 @llvm.fshl.i32(i32 %1121, i32 %1121, i32 30)
%1147 = tail call i32 @llvm.fshl.i32(i32 %1145, i32 %1145, i32 5)
%1148 = xor i32 %1146, %1134
%1149 = xor i32 %1148, %1133
%1150 = xor i32 %981, %953
%1151 = xor i32 %1150, %1057
%1152 = xor i32 %1151, %1117
%1153 = tail call i32 @llvm.fshl.i32(i32 %1152, i32 %1152, i32 1)
%1154 = add i32 %1153, -899497514
%1155 = add i32 %1154, %1122
%1156 = add i32 %1155, %1149
%1157 = add i32 %1156, %1147
%1158 = tail call i32 @llvm.fshl.i32(i32 %1133, i32 %1133, i32 30)
%1159 = tail call i32 @llvm.fshl.i32(i32 %1157, i32 %1157, i32 5)
%1160 = xor i32 %1158, %1146
%1161 = xor i32 %1160, %1145
%1162 = xor i32 %967, %995
%1163 = xor i32 %1162, %1069
%1164 = xor i32 %1163, %1129
%1165 = tail call i32 @llvm.fshl.i32(i32 %1164, i32 %1164, i32 1)
%1166 = add i32 %1165, -899497514
%1167 = add i32 %1166, %1134
%1168 = add i32 %1167, %1161
%1169 = add i32 %1168, %1159
%1170 = tail call i32 @llvm.fshl.i32(i32 %1145, i32 %1145, i32 30)
%1171 = tail call i32 @llvm.fshl.i32(i32 %1169, i32 %1169, i32 5)
%1172 = xor i32 %1170, %1158
%1173 = xor i32 %1172, %1157
%1174 = xor i32 %981, %1009
%1175 = xor i32 %1174, %1081
%1176 = xor i32 %1175, %1141
%1177 = tail call i32 @llvm.fshl.i32(i32 %1176, i32 %1176, i32 1)
%1178 = add i32 %1177, -899497514
%1179 = add i32 %1178, %1146
%1180 = add i32 %1179, %1173
%1181 = add i32 %1180, %1171
%1182 = tail call i32 @llvm.fshl.i32(i32 %1157, i32 %1157, i32 30)
%1183 = tail call i32 @llvm.fshl.i32(i32 %1181, i32 %1181, i32 5)
%1184 = xor i32 %1182, %1170
%1185 = xor i32 %1184, %1169
%1186 = xor i32 %1021, %995
%1187 = xor i32 %1186, %1093
%1188 = xor i32 %1187, %1153
%1189 = tail call i32 @llvm.fshl.i32(i32 %1188, i32 %1188, i32 1)
%1190 = add i32 %1189, -899497514
%1191 = add i32 %1190, %1158
%1192 = add i32 %1191, %1185
%1193 = add i32 %1192, %1183
%1194 = tail call i32 @llvm.fshl.i32(i32 %1169, i32 %1169, i32 30)
%1195 = tail call i32 @llvm.fshl.i32(i32 %1193, i32 %1193, i32 5)
%1196 = xor i32 %1194, %1182
%1197 = xor i32 %1196, %1181
%1198 = xor i32 %1009, %1033
%1199 = xor i32 %1198, %1105
%1200 = xor i32 %1199, %1165
%1201 = tail call i32 @llvm.fshl.i32(i32 %1200, i32 %1200, i32 1)
%1202 = add i32 %1201, -899497514
%1203 = add i32 %1202, %1170
%1204 = add i32 %1203, %1197
%1205 = add i32 %1204, %1195
%1206 = tail call i32 @llvm.fshl.i32(i32 %1181, i32 %1181, i32 30)
%1207 = tail call i32 @llvm.fshl.i32(i32 %1205, i32 %1205, i32 5)
%1208 = xor i32 %1206, %1194
%1209 = xor i32 %1208, %1193
%1210 = xor i32 %1021, %1045
%1211 = xor i32 %1210, %1117
%1212 = xor i32 %1211, %1177
%1213 = tail call i32 @llvm.fshl.i32(i32 %1212, i32 %1212, i32 1)
%1214 = add i32 %1213, -899497514
%1215 = add i32 %1214, %1182
%1216 = add i32 %1215, %1209
%1217 = add i32 %1216, %1207
%1218 = tail call i32 @llvm.fshl.i32(i32 %1193, i32 %1193, i32 30)
%1219 = tail call i32 @llvm.fshl.i32(i32 %1217, i32 %1217, i32 5)
%1220 = xor i32 %1218, %1206
%1221 = xor i32 %1220, %1205
%1222 = xor i32 %1057, %1033
%1223 = xor i32 %1222, %1129
%1224 = xor i32 %1223, %1189
%1225 = tail call i32 @llvm.fshl.i32(i32 %1224, i32 %1224, i32 1)
%1226 = add i32 %1225, -899497514
%1227 = add i32 %1226, %1194
%1228 = add i32 %1227, %1221
%1229 = add i32 %1228, %1219
%1230 = tail call i32 @llvm.fshl.i32(i32 %1205, i32 %1205, i32 30)
%1231 = tail call i32 @llvm.fshl.i32(i32 %1229, i32 %1229, i32 5)
%1232 = xor i32 %1230, %1218
%1233 = xor i32 %1232, %1217
%1234 = xor i32 %1045, %1069
%1235 = xor i32 %1234, %1141
%1236 = xor i32 %1235, %1201
%1237 = tail call i32 @llvm.fshl.i32(i32 %1236, i32 %1236, i32 1)
%1238 = add i32 %1237, -899497514
%1239 = add i32 %1238, %1206
%1240 = add i32 %1239, %1233
%1241 = add i32 %1240, %1231
%1242 = tail call i32 @llvm.fshl.i32(i32 %1217, i32 %1217, i32 30)
%1243 = tail call i32 @llvm.fshl.i32(i32 %1241, i32 %1241, i32 5)
%1244 = xor i32 %1242, %1230
%1245 = xor i32 %1244, %1229
%1246 = xor i32 %1057, %1081
%1247 = xor i32 %1246, %1153
%1248 = xor i32 %1247, %1213
%1249 = tail call i32 @llvm.fshl.i32(i32 %1248, i32 %1248, i32 1)
%1250 = tail call i32 @llvm.fshl.i32(i32 %1229, i32 %1229, i32 30)
%1251 = add i32 %290, -899497514
%1252 = add i32 %1251, %1249
%1253 = add i32 %1252, %1218
%1254 = add i32 %1253, %1245
%1255 = add i32 %1254, %1243
store i32 %1255, i32* %0
%1256 = add i32 %1241, %292
store i32 %1256, i32* %291
%1257 = add i32 %1250, %294
store i32 %1257, i32* %293
%1258 = add i32 %1242, %296
store i32 %1258, i32* %295
%1259 = add i32 %1230, %298
store i32 %1259, i32* %297
ret void
}