void hmac_sha1_(unsigned int *output, unsigned int *ipad_state,
                unsigned int *opad_state, const unsigned char *salt,
                int saltlen, unsigned char add) {
  int i;
  unsigned int temp, W[16];
  unsigned int A, B, C, D, E;
  unsigned char buf[64];
  unsigned int *src = (unsigned int *)buf;
  i = 64 / 4;
  while (i--)
    *src++ = 0;
  for (i = 0; i < saltlen; i++)
    buf[i] = salt[i];
  buf[saltlen + 4] = 0x80;
  buf[saltlen + 3] = add;
  {
    (buf)[(60)] = (unsigned char)(((64 + saltlen + 4) << 3) >> 24);
    (buf)[(60) + 1] = (unsigned char)(((64 + saltlen + 4) << 3) >> 16);
    (buf)[(60) + 2] = (unsigned char)(((64 + saltlen + 4) << 3) >> 8);
    (buf)[(60) + 3] = (unsigned char)(((64 + saltlen + 4) << 3));
  };
  A = ipad_state[0];
  B = ipad_state[1];
  C = ipad_state[2];
  D = ipad_state[3];
  E = ipad_state[4];
  for (i = 0; i < 16; i++) {
    (W[i]) = ((unsigned long)(buf)[(i * 4)] << 24) |
             ((unsigned long)(buf)[(i * 4) + 1] << 16) |
             ((unsigned long)(buf)[(i * 4) + 2] << 8) |
             ((unsigned long)(buf)[(i * 4) + 3]);
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[0];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[1];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[2];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[3];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[4];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[5];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[6];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[7];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[8];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[9];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[10];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[11];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[12];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[13];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[14];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[15];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  ;
  A += ipad_state[0];
  B += ipad_state[1];
  C += ipad_state[2];
  D += ipad_state[3];
  E += ipad_state[4];
  {
    (buf)[(0)] = (unsigned char)((A) >> 24);
    (buf)[(0) + 1] = (unsigned char)((A) >> 16);
    (buf)[(0) + 2] = (unsigned char)((A) >> 8);
    (buf)[(0) + 3] = (unsigned char)((A));
  };
  {
    (buf)[(4)] = (unsigned char)((B) >> 24);
    (buf)[(4) + 1] = (unsigned char)((B) >> 16);
    (buf)[(4) + 2] = (unsigned char)((B) >> 8);
    (buf)[(4) + 3] = (unsigned char)((B));
  };
  {
    (buf)[(8)] = (unsigned char)((C) >> 24);
    (buf)[(8) + 1] = (unsigned char)((C) >> 16);
    (buf)[(8) + 2] = (unsigned char)((C) >> 8);
    (buf)[(8) + 3] = (unsigned char)((C));
  };
  {
    (buf)[(12)] = (unsigned char)((D) >> 24);
    (buf)[(12) + 1] = (unsigned char)((D) >> 16);
    (buf)[(12) + 2] = (unsigned char)((D) >> 8);
    (buf)[(12) + 3] = (unsigned char)((D));
  };
  {
    (buf)[(16)] = (unsigned char)((E) >> 24);
    (buf)[(16) + 1] = (unsigned char)((E) >> 16);
    (buf)[(16) + 2] = (unsigned char)((E) >> 8);
    (buf)[(16) + 3] = (unsigned char)((E));
  };
  {
    (buf)[(20)] = (unsigned char)((0) >> 24);
    (buf)[(20) + 1] = (unsigned char)((0) >> 16);
    (buf)[(20) + 2] = (unsigned char)((0) >> 8);
    (buf)[(20) + 3] = (unsigned char)((0));
  };
  {
    (buf)[(24)] = (unsigned char)((0) >> 24);
    (buf)[(24) + 1] = (unsigned char)((0) >> 16);
    (buf)[(24) + 2] = (unsigned char)((0) >> 8);
    (buf)[(24) + 3] = (unsigned char)((0));
  };
  buf[20] = 0x80;
  {
    (buf)[(60)] = (unsigned char)((0x2A0) >> 24);
    (buf)[(60) + 1] = (unsigned char)((0x2A0) >> 16);
    (buf)[(60) + 2] = (unsigned char)((0x2A0) >> 8);
    (buf)[(60) + 3] = (unsigned char)((0x2A0));
  };
  A = opad_state[0];
  B = opad_state[1];
  C = opad_state[2];
  D = opad_state[3];
  E = opad_state[4];
  for (i = 0; i < 16; i++) {
    (W[i]) = ((unsigned long)(buf)[(i * 4)] << 24) |
             ((unsigned long)(buf)[(i * 4) + 1] << 16) |
             ((unsigned long)(buf)[(i * 4) + 2] << 8) |
             ((unsigned long)(buf)[(i * 4) + 3]);
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[0];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[1];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[2];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[3];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[4];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[5];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[6];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[7];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[8];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[9];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[10];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (32 - 5))) + (C ^ (A & (B ^ C))) + 0x5a827999 +
         W[11];
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (32 - 5))) + (B ^ (E & (A ^ B))) + 0x5a827999 +
         W[12];
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (32 - 5))) + (A ^ (D & (E ^ A))) + 0x5a827999 +
         W[13];
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (32 - 5))) + (E ^ (C & (D ^ E))) + 0x5a827999 +
         W[14];
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (32 - 5))) + (D ^ (B & (C ^ D))) + 0x5a827999 +
         W[15];
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  {
    E += ((A << 5) | ((A) >> (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) >> (32 - 1)))));
    B = ((B << 30) | ((B) >> (32 - 30)));
  };
  {
    D += ((E << 5) | ((E) >> (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) >> (32 - 1)))));
    A = ((A << 30) | ((A) >> (32 - 30)));
  };
  {
    C += ((D << 5) | ((D) >> (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) >> (32 - 1)))));
    E = ((E << 30) | ((E) >> (32 - 30)));
  };
  {
    B += ((C << 5) | ((C) >> (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) >> (32 - 1)))));
    D = ((D << 30) | ((D) >> (32 - 30)));
  };
  {
    A += ((B << 5) | ((B) >> (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) >> (32 - 1)))));
    C = ((C << 30) | ((C) >> (32 - 30)));
  };
  ;
  A += opad_state[0];
  B += opad_state[1];
  C += opad_state[2];
  D += opad_state[3];
  E += opad_state[4];
  output[0] = A;
  output[1] = B;
  output[2] = C;
  output[3] = D;
  output[4] = E;
}


x86 assembly (clang, -O0):
<hmac_sha1_>:
push   %rbp
mov    %rsp,%rbp
sub    $0x60,%rsp
mov    %r9b,%al
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8d,-0x24(%rbp)
mov    %al,-0x25(%rbp)
lea    -0xd0(%rbp),%rax
mov    %rax,-0xd8(%rbp)
movl   $0x10,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,%ecx
add    $0xffffffff,%ecx
mov    %ecx,-0x2c(%rbp)
cmp    $0x0,%eax
je     116b <hmac_sha1_+0x6b>
mov    -0xd8(%rbp),%rax
mov    %rax,%rcx
add    $0x4,%rcx
mov    %rcx,-0xd8(%rbp)
movl   $0x0,(%rax)
jmp    1137 <hmac_sha1_+0x37>
movl   $0x0,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0x24(%rbp),%eax
jge    11a2 <hmac_sha1_+0xa2>
mov    -0x20(%rbp),%rax
movslq -0x2c(%rbp),%rcx
mov    (%rax,%rcx,1),%cl
movslq -0x2c(%rbp),%rax
mov    %cl,-0xd0(%rbp,%rax,1)
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
jmp    1172 <hmac_sha1_+0x72>
mov    -0x24(%rbp),%eax
add    $0x4,%eax
cltq
movb   $0x80,-0xd0(%rbp,%rax,1)
80
mov    -0x25(%rbp),%cl
mov    -0x24(%rbp),%eax
add    $0x3,%eax
cltq
mov    %cl,-0xd0(%rbp,%rax,1)
mov    -0x24(%rbp),%eax
add    $0x40,%eax
add    $0x4,%eax
shl    $0x3,%eax
sar    $0x18,%eax
mov    %al,-0x94(%rbp)
mov    -0x24(%rbp),%eax
add    $0x40,%eax
add    $0x4,%eax
shl    $0x3,%eax
sar    $0x10,%eax
mov    %al,-0x93(%rbp)
mov    -0x24(%rbp),%eax
add    $0x40,%eax
add    $0x4,%eax
shl    $0x3,%eax
sar    $0x8,%eax
mov    %al,-0x92(%rbp)
mov    -0x24(%rbp),%eax
add    $0x40,%eax
add    $0x4,%eax
shl    $0x3,%eax
mov    %al,-0x91(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x74(%rbp)
mov    -0x10(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x80(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x84(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x10,-0x2c(%rbp)
jge    12d3 <hmac_sha1_+0x1d3>
mov    -0x2c(%rbp),%eax
shl    $0x2,%eax
cltq
movzbl -0xd0(%rbp,%rax,1),%eax
ff
shl    $0x18,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
shl    $0x10,%rcx
or     %rcx,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
shl    $0x8,%rcx
or     %rcx,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
or     %rcx,%rax
mov    %eax,%ecx
movslq -0x2c(%rbp),%rax
mov    %ecx,-0x70(%rbp,%rax,4)
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
jmp    1250 <hmac_sha1_+0x150>
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x70(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x6c(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x68(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x64(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x5c(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x58(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x54(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x50(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x48(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x44(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x40(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x3c(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x34(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%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    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x10(%rbp),%rax
mov    0x4(%rax),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
mov    0xc(%rax),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x10(%rbp),%rax
mov    0x10(%rax),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x74(%rbp),%eax
shr    $0x18,%eax
mov    %al,-0xd0(%rbp)
mov    -0x74(%rbp),%eax
shr    $0x10,%eax
mov    %al,-0xcf(%rbp)
mov    -0x74(%rbp),%eax
shr    $0x8,%eax
mov    %al,-0xce(%rbp)
mov    -0x74(%rbp),%eax
mov    %al,-0xcd(%rbp)
mov    -0x78(%rbp),%eax
shr    $0x18,%eax
mov    %al,-0xcc(%rbp)
mov    -0x78(%rbp),%eax
shr    $0x10,%eax
mov    %al,-0xcb(%rbp)
mov    -0x78(%rbp),%eax
shr    $0x8,%eax
mov    %al,-0xca(%rbp)
mov    -0x78(%rbp),%eax
mov    %al,-0xc9(%rbp)
mov    -0x7c(%rbp),%eax
shr    $0x18,%eax
mov    %al,-0xc8(%rbp)
mov    -0x7c(%rbp),%eax
shr    $0x10,%eax
mov    %al,-0xc7(%rbp)
mov    -0x7c(%rbp),%eax
shr    $0x8,%eax
mov    %al,-0xc6(%rbp)
mov    -0x7c(%rbp),%eax
mov    %al,-0xc5(%rbp)
mov    -0x80(%rbp),%eax
shr    $0x18,%eax
mov    %al,-0xc4(%rbp)
mov    -0x80(%rbp),%eax
shr    $0x10,%eax
mov    %al,-0xc3(%rbp)
mov    -0x80(%rbp),%eax
shr    $0x8,%eax
mov    %al,-0xc2(%rbp)
mov    -0x80(%rbp),%eax
mov    %al,-0xc1(%rbp)
mov    -0x84(%rbp),%eax
shr    $0x18,%eax
mov    %al,-0xc0(%rbp)
mov    -0x84(%rbp),%eax
shr    $0x10,%eax
mov    %al,-0xbf(%rbp)
mov    -0x84(%rbp),%eax
shr    $0x8,%eax
mov    %al,-0xbe(%rbp)
mov    -0x84(%rbp),%eax
mov    %al,-0xbd(%rbp)
movb   $0x0,-0xbc(%rbp)
movb   $0x0,-0xbb(%rbp)
movb   $0x0,-0xba(%rbp)
movb   $0x0,-0xb9(%rbp)
movb   $0x0,-0xb8(%rbp)
movb   $0x0,-0xb7(%rbp)
movb   $0x0,-0xb6(%rbp)
movb   $0x0,-0xb5(%rbp)
movb   $0x80,-0xbc(%rbp)
movb   $0x0,-0x94(%rbp)
movb   $0x0,-0x93(%rbp)
movb   $0x2,-0x92(%rbp)
movb   $0xa0,-0x91(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x74(%rbp)
mov    -0x18(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x78(%rbp)
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x18(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x80(%rbp)
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%eax
mov    %eax,-0x84(%rbp)
movl   $0x0,-0x2c(%rbp)
cmpl   $0x10,-0x2c(%rbp)
jge    31b7 <hmac_sha1_+0x20b7>
mov    -0x2c(%rbp),%eax
shl    $0x2,%eax
cltq
movzbl -0xd0(%rbp,%rax,1),%eax
ff
shl    $0x18,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
shl    $0x10,%rcx
or     %rcx,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
shl    $0x8,%rcx
or     %rcx,%rax
mov    -0x2c(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movzbl -0xd0(%rbp,%rcx,1),%ecx
ff
or     %rcx,%rax
mov    %eax,%ecx
movslq -0x2c(%rbp),%rax
mov    %ecx,-0x70(%rbp,%rax,4)
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
jmp    3134 <hmac_sha1_+0x2034>
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x70(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x6c(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x68(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x64(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x5c(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x58(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x54(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x50(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x48(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x44(%rbp),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x40(%rbp),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x3c(%rbp),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%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    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x7c(%rbp),%esi
xor    -0x80(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x34(%rbp),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x78(%rbp),%esi
xor    -0x7c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x74(%rbp),%esi
xor    -0x78(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x84(%rbp),%esi
xor    -0x74(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x80(%rbp),%esi
xor    -0x84(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%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    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
and    -0x7c(%rbp),%ecx
mov    -0x80(%rbp),%edx
mov    -0x78(%rbp),%esi
or     -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
and    -0x78(%rbp),%ecx
mov    -0x7c(%rbp),%edx
mov    -0x74(%rbp),%esi
or     -0x78(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
and    -0x74(%rbp),%ecx
mov    -0x78(%rbp),%edx
mov    -0x84(%rbp),%esi
or     -0x74(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
and    -0x84(%rbp),%ecx
mov    -0x74(%rbp),%edx
mov    -0x80(%rbp),%esi
or     -0x84(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
and    -0x80(%rbp),%ecx
mov    -0x84(%rbp),%edx
mov    -0x7c(%rbp),%esi
or     -0x80(%rbp),%esi
and    %esi,%edx
or     %edx,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x3c(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x70(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x38(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x34(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x60(%rbp),%ecx
xor    -0x68(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x70(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
xor    -0x64(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x6c(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x60(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x68(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x5c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x64(%rbp),%ecx
xor    -0x38(%rbp),%ecx
xor    -0x50(%rbp),%ecx
xor    -0x58(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x5c(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x48(%rbp),%ecx
xor    -0x50(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x58(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
xor    -0x4c(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x54(%rbp),%ecx
xor    -0x68(%rbp),%ecx
xor    -0x40(%rbp),%ecx
xor    -0x48(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x5,%eax
mov    -0x74(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x78(%rbp),%ecx
xor    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x50(%rbp),%ecx
xor    -0x64(%rbp),%ecx
xor    -0x3c(%rbp),%ecx
xor    -0x44(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x1e,%eax
mov    -0x78(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x5,%eax
mov    -0x84(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x74(%rbp),%ecx
xor    -0x78(%rbp),%ecx
xor    -0x7c(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x74(%rbp),%eax
shl    $0x1e,%eax
mov    -0x74(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x5,%eax
mov    -0x80(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
xor    -0x78(%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,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x84(%rbp),%eax
shl    $0x1e,%eax
mov    -0x84(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x5,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
xor    -0x74(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x44(%rbp),%ecx
xor    -0x58(%rbp),%ecx
xor    -0x70(%rbp),%ecx
xor    -0x38(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x80(%rbp),%eax
shl    $0x1e,%eax
mov    -0x80(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x78(%rbp),%eax
shl    $0x5,%eax
mov    -0x78(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x7c(%rbp),%ecx
xor    -0x80(%rbp),%ecx
xor    -0x84(%rbp),%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    -0x40(%rbp),%ecx
xor    -0x54(%rbp),%ecx
xor    -0x6c(%rbp),%ecx
xor    -0x34(%rbp),%ecx
mov    %ecx,-0x30(%rbp)
mov    -0x30(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x30(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x7c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x7c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%eax
add    -0x74(%rbp),%eax
mov    %eax,-0x74(%rbp)
mov    -0x18(%rbp),%rax
mov    0x4(%rax),%eax
add    -0x78(%rbp),%eax
mov    %eax,-0x78(%rbp)
mov    -0x18(%rbp),%rax
mov    0x8(%rax),%eax
add    -0x7c(%rbp),%eax
mov    %eax,-0x7c(%rbp)
mov    -0x18(%rbp),%rax
mov    0xc(%rax),%eax
add    -0x80(%rbp),%eax
mov    %eax,-0x80(%rbp)
mov    -0x18(%rbp),%rax
mov    0x10(%rax),%eax
add    -0x84(%rbp),%eax
mov    %eax,-0x84(%rbp)
mov    -0x74(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x78(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x7c(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0x80(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0x84(%rbp),%ecx
mov    -0x8(%rbp),%rax
mov    %ecx,0x10(%rax)
add    $0x60,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<hmac_sha1_>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x108,%rsp
mov    %r9d,%ebp
mov    %r8d,%r12d
mov    %rdx,0xe0(%rsp)
mov    %rsi,%rbx
mov    %rdi,0x100(%rsp)
xorps  %xmm0,%xmm0
movaps %xmm0,0xb0(%rsp)
movaps %xmm0,0xa0(%rsp)
movaps %xmm0,0x90(%rsp)
movaps %xmm0,0x80(%rsp)
test   %r8d,%r8d
jle    1175 <hmac_sha1_+0x65>
mov    %r12d,%edx
lea    0x80(%rsp),%rdi
mov    %rcx,%rsi
call   1030 <memcpy@plt>
movslq %r12d,%rax
lea    0x80(%rsp),%rcx
movb   $0x80,0x4(%rax,%rcx,1)
mov    %bpl,0x3(%rax,%rcx,1)
lea    0x220(,%r12,8),%eax
mov    %eax,%ecx
shr    $0x18,%ecx
mov    %cl,0xbc(%rsp)
mov    %eax,%ecx
shr    $0x10,%ecx
mov    %cl,0xbd(%rsp)
mov    %ah,0xbe(%rsp)
mov    %al,0xbf(%rsp)
mov    (%rbx),%r8d
mov    0x4(%rbx),%ebp
mov    0x8(%rbx),%edi
mov    0xc(%rbx),%r10d
mov    0x10(%rbx),%edx
xor    %eax,%eax
nopw   0x0(%rax,%rax,1)
mov    0x80(%rsp,%rax,4),%ecx
bswap  %ecx
mov    %ecx,0x40(%rsp,%rax,4)
add    $0x1,%rax
cmp    $0x10,%rax
jne    11d0 <hmac_sha1_+0xc0>
mov    %r8d,%eax
rol    $0x5,%eax
mov    %r10d,%ecx
xor    %edi,%ecx
and    %ebp,%ecx
xor    %r10d,%ecx
add    %edx,%eax
add    %ecx,%eax
mov    0x40(%rsp),%r12d
add    %r12d,%eax
add    $0x5a827999,%eax
mov    %rbp,0xf8(%rsp)
rol    $0x1e,%ebp
mov    %edx,0xdc(%rsp)
mov    %eax,%edx
rol    $0x5,%edx
mov    0x44(%rsp),%esi
mov    %esi,0xc8(%rsp)
mov    %rdi,%rcx
mov    %ebp,%edi
xor    %ecx,%edi
and    %r8d,%edi
xor    %ecx,%edi
mov    %rcx,%rbx
mov    %rcx,0xf0(%rsp)
add    %r10d,%edi
add    %esi,%edi
mov    %r8d,%ecx
rol    $0x1e,%ecx
add    %edx,%edi
add    $0x5a827999,%edi
mov    %edi,%r9d
rol    $0x5,%r9d
mov    %r10d,0xd8(%rsp)
mov    %ebp,%esi
xor    %ecx,%esi
and    %eax,%esi
xor    %ebp,%esi
mov    0x48(%rsp),%edx
mov    %rdx,0xe8(%rsp)
add    %edx,%ebx
add    %ebx,%esi
lea    (%r9,%rsi,1),%edx
add    $0x5a827999,%edx
rol    $0x1e,%eax
mov    %eax,%esi
xor    %ecx,%esi
and    %edi,%esi
xor    %ecx,%esi
mov    0x4c(%rsp),%ebx
mov    %ebx,0x20(%rsp)
add    %ebx,%ebp
add    %esi,%ebp
mov    %edx,%esi
rol    $0x5,%esi
lea    (%rsi,%rbp,1),%ebx
add    $0x5a827999,%ebx
rol    $0x1e,%edi
mov    %edi,%ebp
xor    %eax,%ebp
and    %edx,%ebp
xor    %eax,%ebp
mov    0x50(%rsp),%esi
mov    %esi,0x10(%rsp)
add    %esi,%ecx
add    %ebp,%ecx
mov    %ebx,%esi
rol    $0x5,%esi
add    %esi,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%edx
mov    %edx,%esi
xor    %edi,%esi
and    %ebx,%esi
xor    %edi,%esi
mov    0x54(%rsp),%ebp
mov    %ebp,0x8(%rsp)
add    %ebp,%eax
add    %esi,%eax
mov    %ecx,%esi
rol    $0x5,%esi
rol    $0x1e,%ebx
lea    (%rsi,%rax,1),%ebp
add    $0x5a827999,%ebp
mov    %ebp,%r9d
rol    $0x5,%r9d
mov    %ebx,%esi
xor    %edx,%esi
and    %ecx,%esi
xor    %edx,%esi
mov    0x58(%rsp),%eax
mov    %eax,0x1c(%rsp)
add    %eax,%edi
add    %esi,%edi
add    %r9d,%edi
add    $0x5a827999,%edi
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %ebx,%eax
and    %ebp,%eax
xor    %ebx,%eax
mov    0x5c(%rsp),%esi
mov    %esi,0x4(%rsp)
add    %esi,%edx
add    %eax,%edx
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x5a827999,%edx
rol    $0x1e,%ebp
mov    %ebp,%eax
xor    %ecx,%eax
and    %edi,%eax
xor    %ecx,%eax
mov    0x60(%rsp),%esi
add    %esi,%ebx
mov    %esi,%r11d
mov    %esi,(%rsp)
add    %eax,%ebx
mov    %edx,%eax
rol    $0x5,%eax
add    %ebx,%eax
add    $0x5a827999,%eax
rol    $0x1e,%edi
mov    %edi,%esi
xor    %ebp,%esi
and    %edx,%esi
xor    %ebp,%esi
mov    0x64(%rsp),%r13d
add    %r13d,%ecx
mov    %r13d,0xc(%rsp)
add    %esi,%ecx
mov    %eax,%esi
rol    $0x5,%esi
rol    $0x1e,%edx
add    %ecx,%esi
add    $0x5a827999,%esi
mov    %esi,%r9d
rol    $0x5,%r9d
mov    %edx,%ebx
xor    %edi,%ebx
and    %eax,%ebx
xor    %edi,%ebx
mov    0x68(%rsp),%ecx
mov    %ecx,0x18(%rsp)
add    %ecx,%ebp
add    %ebx,%ebp
add    %r9d,%ebp
add    $0x5a827999,%ebp
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edx,%ecx
and    %esi,%ecx
xor    %edx,%ecx
mov    0x6c(%rsp),%ebx
mov    %ebx,0x24(%rsp)
add    %ebx,%edi
add    %ecx,%edi
mov    %ebp,%ecx
rol    $0x5,%ecx
add    %edi,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%esi
mov    %esi,%edi
xor    %eax,%edi
and    %ebp,%edi
xor    %eax,%edi
mov    0x70(%rsp),%ebx
mov    %ebx,0x14(%rsp)
add    %ebx,%edx
add    %edi,%edx
mov    %ecx,%edi
rol    $0x5,%edi
add    %edx,%edi
add    $0x5a827999,%edi
rol    $0x1e,%ebp
mov    %ebp,%edx
xor    %esi,%edx
and    %ecx,%edx
xor    %esi,%edx
mov    0x74(%rsp),%ebx
add    %ebx,%eax
mov    %rbx,%r9
mov    %rbx,0x38(%rsp)
add    %edx,%eax
mov    %edi,%edx
rol    $0x5,%edx
rol    $0x1e,%ecx
add    %eax,%edx
add    $0x5a827999,%edx
mov    %edx,%r15d
rol    $0x5,%r15d
mov    %ecx,%eax
xor    %ebp,%eax
and    %edi,%eax
xor    %ebp,%eax
mov    0x78(%rsp),%ebx
add    %ebx,%esi
mov    %ebx,0x2c(%rsp)
add    %eax,%esi
lea    (%r15,%rsi,1),%r10d
add    $0x5a827999,%r10d
rol    $0x1e,%edi
mov    %edi,%eax
xor    %ecx,%eax
and    %edx,%eax
xor    %ecx,%eax
mov    0x7c(%rsp),%r14d
add    %r14d,%ebp
mov    %r14d,0x28(%rsp)
add    %eax,%ebp
mov    %r10d,%eax
rol    $0x5,%eax
mov    %r8d,0xd4(%rsp)
lea    (%rax,%rbp,1),%r8d
add    $0x5a827999,%r8d
mov    0xe8(%rsp),%rsi
xor    %esi,%r12d
mov    %r11d,%eax
xor    %r9d,%eax
xor    %r12d,%eax
rol    $0x1e,%edx
mov    %edx,%ebp
xor    %edi,%ebp
and    %r10d,%ebp
xor    %edi,%ebp
rol    %eax
add    %eax,%ecx
mov    %rax,%r15
mov    %rax,0x30(%rsp)
add    %ebp,%ecx
mov    %r8d,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%r10d
mov    0xc8(%rsp),%eax
mov    0x20(%rsp),%r11d
xor    %r11d,%eax
mov    %r13d,%r12d
xor    %ebx,%r12d
xor    %eax,%r12d
mov    %r10d,%eax
xor    %edx,%eax
and    %r8d,%eax
xor    %edx,%eax
rol    %r12d
add    %r12d,%edi
add    %eax,%edi
mov    %ecx,%eax
rol    $0x5,%eax
lea    (%rax,%rdi,1),%r9d
add    $0x5a827999,%r9d
mov    0x10(%rsp),%ebx
xor    %ebx,%esi
mov    0x18(%rsp),%ebp
xor    %r14d,%ebp
xor    %esi,%ebp
rol    $0x1e,%r8d
mov    %r9d,%eax
rol    $0x5,%eax
mov    %r8d,%edi
xor    %r10d,%edi
and    %ecx,%edi
xor    %r10d,%edi
rol    %ebp
add    %ebp,%edx
add    %edi,%edx
lea    (%rax,%rdx,1),%edi
add    $0x5a827999,%edi
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %r8d,%eax
and    %r9d,%eax
xor    %r8d,%eax
mov    %r11d,%edx
mov    0x8(%rsp),%r11d
xor    %r11d,%edx
xor    0x24(%rsp),%edx
xor    %r15d,%edx
rol    %edx
add    %edx,%r10d
mov    %edx,%r15d
mov    %edx,0x20(%rsp)
add    %eax,%r10d
mov    %edi,%eax
rol    $0x5,%eax
lea    (%rax,%r10,1),%esi
add    $0x5a827999,%esi
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %ecx,%eax
xor    %edi,%eax
mov    %ebx,%edx
mov    0x1c(%rsp),%ebx
xor    %ebx,%edx
xor    0x14(%rsp),%edx
xor    %r12d,%edx
rol    %edx
mov    %edx,0x10(%rsp)
add    %edx,%r8d
add    %eax,%r8d
mov    %esi,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
lea    (%rax,%r8,1),%edx
add    $0x6ed9eba1,%edx
mov    %edi,%r8d
xor    %r9d,%r8d
xor    %esi,%r8d
mov    0x4(%rsp),%r13d
xor    %r13d,%r11d
xor    0x38(%rsp),%r11d
xor    %ebp,%r11d
rol    %r11d
add    %r11d,%ecx
mov    %r11d,0x8(%rsp)
add    %r8d,%ecx
mov    %edx,%eax
rol    $0x5,%eax
lea    (%rax,%rcx,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%esi
mov    %esi,%ecx
xor    %edi,%ecx
xor    %edx,%ecx
mov    %ebx,%eax
mov    (%rsp),%r14d
xor    %r14d,%eax
xor    0x2c(%rsp),%eax
xor    %r15d,%eax
rol    %eax
add    %eax,%r9d
mov    %eax,%r15d
mov    %eax,0x1c(%rsp)
add    %ecx,%r9d
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edx
add    %r9d,%ecx
add    $0x6ed9eba1,%ecx
mov    %edx,%r9d
xor    %esi,%r9d
xor    %r8d,%r9d
mov    0xc(%rsp),%r10d
xor    %r10d,%r13d
xor    0x28(%rsp),%r13d
xor    0x10(%rsp),%r13d
rol    %r13d
add    %r13d,%edi
mov    %r13d,0x4(%rsp)
add    %r9d,%edi
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %edx,%eax
xor    %ecx,%eax
mov    %r14d,%ebx
mov    0x18(%rsp),%r14d
xor    %r14d,%ebx
xor    0x30(%rsp),%ebx
xor    %r11d,%ebx
rol    %ebx
mov    %ebx,(%rsp)
add    %ebx,%esi
add    %eax,%esi
mov    %edi,%eax
rol    $0x5,%eax
rol    $0x1e,%ecx
add    %eax,%esi
add    $0x6ed9eba1,%esi
mov    %ecx,%eax
xor    %r8d,%eax
xor    %edi,%eax
mov    %r10d,%r11d
mov    0x24(%rsp),%r10d
xor    %r10d,%r11d
xor    %r12d,%r11d
xor    %r15d,%r11d
rol    %r11d
mov    %r11d,0xc(%rsp)
add    %r11d,%edx
add    %eax,%edx
mov    %esi,%eax
rol    $0x5,%eax
lea    (%rax,%rdx,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%edi
mov    %edi,%eax
xor    %ecx,%eax
xor    %esi,%eax
mov    0x14(%rsp),%r11d
xor    %r11d,%r14d
xor    %ebp,%r14d
xor    %r13d,%r14d
rol    %r14d
add    %r14d,%r8d
mov    %r14d,0x18(%rsp)
add    %eax,%r8d
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
add    %r8d,%eax
add    $0x6ed9eba1,%eax
mov    %esi,%r8d
xor    %edi,%r8d
xor    %r9d,%r8d
mov    0x38(%rsp),%r13
xor    %r13d,%r10d
xor    0x20(%rsp),%r10d
xor    (%rsp),%r10d
rol    %r10d
mov    %r10d,0x24(%rsp)
add    %r10d,%ecx
add    %r8d,%ecx
mov    %eax,%edx
rol    $0x5,%edx
lea    (%rdx,%rcx,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    %r11d,%edx
mov    0x2c(%rsp),%r10d
xor    %r10d,%edx
xor    0x10(%rsp),%edx
xor    0xc(%rsp),%edx
rol    %edx
mov    %edx,0x14(%rsp)
add    %edx,%edi
add    %ecx,%edi
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%edi
add    $0x6ed9eba1,%edi
mov    %eax,%ecx
xor    %r9d,%ecx
xor    %r8d,%ecx
mov    %r13,%rbx
mov    0x28(%rsp),%r11d
xor    %r11d,%ebx
xor    0x8(%rsp),%ebx
xor    %r14d,%ebx
rol    %ebx
add    %ebx,%esi
mov    %rbx,%r14
mov    %rbx,0x38(%rsp)
add    %ecx,%esi
mov    %edi,%ecx
rol    $0x5,%ecx
add    %esi,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%r8d
mov    %r8d,%edx
xor    %eax,%edx
xor    %edi,%edx
mov    0x30(%rsp),%r15
xor    %r15d,%r10d
xor    0x1c(%rsp),%r10d
xor    0x24(%rsp),%r10d
rol    %r10d
add    %r10d,%r9d
mov    %r10d,%r13d
add    %edx,%r9d
mov    %ecx,%edx
rol    $0x5,%edx
rol    $0x1e,%edi
lea    (%rdx,%r9,1),%esi
add    $0x6ed9eba1,%esi
mov    %edi,%edx
xor    %r8d,%edx
xor    %ecx,%edx
xor    %r12d,%r11d
xor    0x4(%rsp),%r11d
xor    0x14(%rsp),%r11d
rol    %r11d
add    %r11d,%eax
mov    %r11d,%r10d
mov    %r11d,0x28(%rsp)
add    %edx,%eax
mov    %esi,%edx
rol    $0x5,%edx
lea    (%rdx,%rax,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %edi,%eax
xor    %esi,%eax
xor    %ebp,%r15d
xor    (%rsp),%r15d
xor    %r14d,%r15d
rol    %r15d
add    %r15d,%r8d
mov    %r15,0x30(%rsp)
add    %eax,%r8d
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
add    %r8d,%eax
add    $0x6ed9eba1,%eax
mov    %esi,%edx
xor    %ecx,%edx
xor    %r9d,%edx
mov    0x20(%rsp),%ebx
xor    %ebx,%r12d
xor    0xc(%rsp),%r12d
xor    %r13d,%r12d
mov    %r13d,%r14d
mov    %r13d,0x2c(%rsp)
rol    %r12d
add    %r12d,%edi
add    %edx,%edi
mov    %eax,%edx
rol    $0x5,%edx
add    %edx,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%r9d
mov    %r9d,%edx
xor    %esi,%edx
xor    %eax,%edx
mov    0x10(%rsp),%r11d
xor    %r11d,%ebp
xor    0x18(%rsp),%ebp
xor    %r10d,%ebp
rol    %ebp
add    %ebp,%ecx
add    %edx,%ecx
mov    %edi,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
add    %edx,%ecx
add    $0x6ed9eba1,%ecx
mov    %eax,%r8d
xor    %r9d,%r8d
xor    %edi,%r8d
mov    %ebx,%edx
mov    0x8(%rsp),%ebx
xor    %ebx,%edx
xor    0x24(%rsp),%edx
xor    %r15d,%edx
rol    %edx
add    %edx,%esi
mov    %edx,%r13d
mov    %edx,0x20(%rsp)
add    %r8d,%esi
mov    %ecx,%edx
rol    $0x5,%edx
lea    (%rdx,%rsi,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%edi
mov    %edi,%edx
xor    %eax,%edx
xor    %ecx,%edx
mov    %r11d,%r10d
mov    0x1c(%rsp),%r11d
xor    %r11d,%r10d
xor    0x14(%rsp),%r10d
xor    %r12d,%r10d
rol    %r10d
add    %r10d,%r9d
mov    %r10d,0x10(%rsp)
add    %edx,%r9d
mov    %r8d,%edx
rol    $0x5,%edx
rol    $0x1e,%ecx
add    %edx,%r9d
add    $0x6ed9eba1,%r9d
mov    %ecx,%esi
xor    %edi,%esi
xor    %r8d,%esi
mov    %ebx,%r15d
mov    0x4(%rsp),%ebx
xor    %ebx,%r15d
xor    0x38(%rsp),%r15d
xor    %ebp,%r15d
rol    %r15d
add    %r15d,%eax
mov    %r15d,0x8(%rsp)
add    %esi,%eax
mov    %r9d,%esi
rol    $0x5,%esi
add    %eax,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %ecx,%eax
xor    %r9d,%eax
mov    %r11d,%edx
mov    (%rsp),%r11d
xor    %r11d,%edx
xor    %r14d,%edx
xor    %r13d,%edx
rol    %edx
add    %edx,%edi
mov    %edx,%r13d
mov    %edx,0x1c(%rsp)
add    %eax,%edi
mov    %esi,%eax
rol    $0x5,%eax
rol    $0x1e,%r9d
add    %eax,%edi
add    $0x6ed9eba1,%edi
mov    %r9d,%eax
xor    %r8d,%eax
xor    %esi,%eax
mov    %ebx,%edx
mov    0xc(%rsp),%ebx
xor    %ebx,%edx
xor    0x28(%rsp),%edx
xor    %r10d,%edx
rol    %edx
mov    %edx,0x4(%rsp)
add    %edx,%ecx
add    %eax,%ecx
mov    %edi,%eax
rol    $0x5,%eax
add    %ecx,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    %r11d,%ecx
mov    0x18(%rsp),%r14d
xor    %r14d,%ecx
xor    0x30(%rsp),%ecx
xor    %r15d,%ecx
rol    %ecx
mov    %ecx,(%rsp)
add    %ecx,%r8d
add    %edx,%r8d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %ebx,%r15d
mov    0x24(%rsp),%r10d
xor    %r10d,%r15d
xor    %r12d,%r15d
xor    %r13d,%r15d
rol    %r15d
add    %r15d,%r9d
mov    %r15d,0xc(%rsp)
add    %ecx,%r9d
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%eax
mov    %r8d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    0x14(%rsp),%ebx
xor    %ebx,%r14d
xor    %ebp,%r14d
xor    0x4(%rsp),%r14d
rol    %r14d
add    %r14d,%esi
mov    %r14d,0x18(%rsp)
add    %edx,%esi
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r8d
mov    %r9d,%ecx
and    %r8d,%ecx
mov    %r9d,%edx
or     %r8d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    0x38(%rsp),%r11
xor    %r11d,%r10d
xor    0x20(%rsp),%r10d
xor    (%rsp),%r10d
rol    %r10d
add    %r10d,%edi
mov    %r10d,0x24(%rsp)
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r9d
mov    %esi,%ecx
and    %r9d,%ecx
mov    %esi,%edx
or     %r9d,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    %ebx,%ecx
mov    0x2c(%rsp),%r13d
xor    %r13d,%ecx
xor    0x10(%rsp),%ecx
xor    %r15d,%ecx
rol    %ecx
mov    %ecx,0x14(%rsp)
add    %ecx,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    0x28(%rsp),%ebx
mov    %r11,%rcx
xor    %ebx,%ecx
xor    0x8(%rsp),%ecx
xor    %r14d,%ecx
rol    %ecx
mov    %rcx,0x38(%rsp)
add    %ecx,%r8d
add    %edx,%r8d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    0x30(%rsp),%r15
xor    %r15d,%r13d
xor    0x1c(%rsp),%r13d
xor    %r10d,%r13d
rol    %r13d
add    %r13d,%r9d
mov    %r13d,0x2c(%rsp)
add    %ecx,%r9d
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%eax
mov    %r8d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    %ebx,%r11d
xor    %r12d,%r11d
xor    0x4(%rsp),%r11d
mov    0x14(%rsp),%r14d
xor    %r14d,%r11d
rol    %r11d
add    %r11d,%esi
mov    %r11d,0x28(%rsp)
add    %edx,%esi
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r8d
mov    %r9d,%ecx
and    %r8d,%ecx
mov    %r9d,%edx
or     %r8d,%edx
and    %eax,%edx
or     %ecx,%edx
xor    %ebp,%r15d
xor    (%rsp),%r15d
xor    0x38(%rsp),%r15d
rol    %r15d
add    %r15d,%edi
mov    %r15,0x30(%rsp)
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r9d
mov    %esi,%ecx
and    %r9d,%ecx
mov    %esi,%edx
or     %r9d,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    0x20(%rsp),%r10d
xor    %r10d,%r12d
xor    0xc(%rsp),%r12d
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    0x10(%rsp),%ebx
xor    %ebx,%ebp
xor    0x18(%rsp),%ebp
xor    %r11d,%ebp
rol    %ebp
add    %ebp,%r8d
add    %edx,%r8d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    0x8(%rsp),%r13d
xor    %r13d,%r10d
xor    0x24(%rsp),%r10d
xor    %r15d,%r10d
rol    %r10d
add    %r10d,%r9d
mov    %r10d,%r11d
add    %ecx,%r9d
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%eax
mov    %r8d,%ecx
and    %eax,%ecx
mov    %r8d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    0x1c(%rsp),%r10d
xor    %r10d,%ebx
xor    %r14d,%ebx
xor    %r12d,%ebx
rol    %ebx
add    %ebx,%esi
mov    %ebx,%r14d
mov    %ebx,0x10(%rsp)
add    %edx,%esi
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r8d
mov    %r9d,%ecx
and    %r8d,%ecx
mov    %r9d,%edx
or     %r8d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    %r13d,%ecx
mov    0x4(%rsp),%r13d
xor    %r13d,%ecx
xor    0x38(%rsp),%ecx
xor    %ebp,%ecx
rol    %ecx
mov    %ecx,0x8(%rsp)
add    %ecx,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r9d
mov    %esi,%ecx
and    %r9d,%ecx
mov    %esi,%edx
or     %r9d,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    (%rsp),%r15d
xor    %r15d,%r10d
xor    0x2c(%rsp),%r10d
mov    %r11d,0x20(%rsp)
xor    %r11d,%r10d
rol    %r10d
add    %r10d,%eax
mov    %r10d,0x1c(%rsp)
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    %r13d,%ecx
mov    0xc(%rsp),%r11d
xor    %r11d,%ecx
xor    0x28(%rsp),%ecx
xor    %ebx,%ecx
rol    %ecx
mov    %ecx,0x4(%rsp)
add    %ecx,%r8d
add    %edx,%r8d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %r8d,%ecx
add    $0x8f1bbcdc,%ecx
rol    $0x1e,%edi
mov    %eax,%r8d
and    %edi,%r8d
mov    %eax,%edx
or     %edi,%edx
and    %esi,%edx
or     %r8d,%edx
mov    0x18(%rsp),%r13d
xor    %r13d,%r15d
xor    0x30(%rsp),%r15d
xor    0x8(%rsp),%r15d
rol    %r15d
mov    %r15d,(%rsp)
add    %r15d,%r9d
add    %edx,%r9d
mov    %ecx,%edx
rol    $0x5,%edx
add    %edx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%eax
mov    %ecx,%r8d
and    %eax,%r8d
mov    %ecx,%edx
or     %eax,%edx
and    %edi,%edx
or     %r8d,%edx
mov    %r11d,%r15d
mov    0x24(%rsp),%ebx
xor    %ebx,%r15d
xor    %r12d,%r15d
xor    %r10d,%r15d
rol    %r15d
add    %r15d,%esi
mov    %r15d,0xc(%rsp)
add    %edx,%esi
mov    %r9d,%edx
rol    $0x5,%edx
add    %edx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%ecx
mov    %r9d,%r8d
and    %ecx,%r8d
mov    %r9d,%edx
or     %ecx,%edx
and    %eax,%edx
or     %r8d,%edx
mov    %r13d,%r14d
mov    0x14(%rsp),%r11d
xor    %r11d,%r14d
xor    %ebp,%r14d
xor    0x4(%rsp),%r14d
rol    %r14d
add    %r14d,%edi
mov    %r14d,0x18(%rsp)
add    %edx,%edi
mov    %esi,%edx
rol    $0x5,%edx
lea    (%rdx,%rdi,1),%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%r9d
mov    %esi,%edx
and    %r9d,%edx
mov    %esi,%edi
or     %r9d,%edi
and    %ecx,%edi
or     %edx,%edi
mov    0x38(%rsp),%r10
xor    %r10d,%ebx
xor    0x20(%rsp),%ebx
xor    (%rsp),%ebx
rol    %ebx
add    %ebx,%eax
mov    %ebx,%r13d
mov    %ebx,0x24(%rsp)
add    %edi,%eax
mov    %r8d,%edx
rol    $0x5,%edx
add    %edx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %esi,%edx
xor    %r9d,%edx
xor    %r8d,%edx
mov    %r11d,%edi
mov    0x2c(%rsp),%ebx
xor    %ebx,%edi
xor    0x10(%rsp),%edi
xor    %r15d,%edi
rol    %edi
mov    %edi,0x14(%rsp)
add    %edi,%ecx
add    %edx,%ecx
mov    %eax,%edx
rol    $0x5,%edx
rol    $0x1e,%r8d
lea    (%rdx,%rcx,1),%edi
add    $0xca62c1d6,%edi
mov    %r8d,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    0x28(%rsp),%r11d
xor    %r11d,%r10d
xor    0x8(%rsp),%r10d
xor    %r14d,%r10d
rol    %r10d
add    %r10d,%r9d
add    %ecx,%r9d
mov    %edi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%r9,1),%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%eax
mov    %eax,%r9d
xor    %r8d,%r9d
xor    %edi,%r9d
mov    %ebx,%r14d
mov    0x30(%rsp),%r15
xor    %r15d,%r14d
xor    0x1c(%rsp),%r14d
xor    %r13d,%r14d
rol    %r14d
add    %r14d,%esi
mov    %r14d,0x2c(%rsp)
add    %r9d,%esi
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %esi,%ecx
add    $0xca62c1d6,%ecx
mov    %edi,%r9d
xor    %eax,%r9d
xor    %edx,%r9d
mov    %r11d,%r13d
xor    %r12d,%r13d
xor    0x4(%rsp),%r13d
xor    0x14(%rsp),%r13d
rol    %r13d
add    %r13d,%r8d
mov    %r13d,0x28(%rsp)
add    %r9d,%r8d
mov    %ecx,%esi
rol    $0x5,%esi
lea    (%rsi,%r8,1),%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%edx
mov    %edx,%esi
xor    %edi,%esi
xor    %ecx,%esi
xor    %ebp,%r15d
xor    (%rsp),%r15d
xor    %r10d,%r15d
mov    %r10,0x38(%rsp)
rol    %r15d
add    %r15d,%eax
mov    %r15,0x30(%rsp)
add    %esi,%eax
mov    %r9d,%esi
rol    $0x5,%esi
rol    $0x1e,%ecx
add    %esi,%eax
add    $0xca62c1d6,%eax
mov    %ecx,%esi
xor    %edx,%esi
xor    %r9d,%esi
mov    0x20(%rsp),%ebx
xor    %ebx,%r12d
xor    0xc(%rsp),%r12d
xor    %r14d,%r12d
rol    %r12d
add    %r12d,%edi
add    %esi,%edi
mov    %eax,%esi
rol    $0x5,%esi
lea    (%rsi,%rdi,1),%r8d
add    $0xca62c1d6,%r8d
rol    $0x1e,%r9d
mov    %r9d,%esi
xor    %ecx,%esi
xor    %eax,%esi
mov    0x10(%rsp),%r11d
xor    %r11d,%ebp
xor    0x18(%rsp),%ebp
xor    %r13d,%ebp
rol    %ebp
add    %ebp,%edx
add    %esi,%edx
mov    %r8d,%esi
rol    $0x5,%esi
rol    $0x1e,%eax
lea    (%rsi,%rdx,1),%edi
add    $0xca62c1d6,%edi
mov    %eax,%edx
xor    %r9d,%edx
xor    %r8d,%edx
mov    %ebx,%r14d
mov    0x8(%rsp),%ebx
xor    %ebx,%r14d
mov    0x24(%rsp),%r13d
xor    %r13d,%r14d
xor    %r15d,%r14d
rol    %r14d
add    %r14d,%ecx
mov    %r14d,0x20(%rsp)
add    %edx,%ecx
mov    %edi,%edx
rol    $0x5,%edx
add    %ecx,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%r8d
mov    %r8d,%ecx
xor    %eax,%ecx
xor    %edi,%ecx
mov    %r11d,%esi
mov    0x1c(%rsp),%r11d
xor    %r11d,%esi
xor    0x14(%rsp),%esi
xor    %r12d,%esi
rol    %esi
add    %esi,%r9d
mov    %esi,%r15d
mov    %esi,0x10(%rsp)
add    %ecx,%r9d
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
add    %r9d,%ecx
add    $0xca62c1d6,%ecx
mov    %edi,%r9d
xor    %r8d,%r9d
xor    %edx,%r9d
mov    %ebx,%esi
mov    0x4(%rsp),%ebx
xor    %ebx,%esi
xor    %r10d,%esi
xor    %ebp,%esi
rol    %esi
add    %esi,%eax
mov    %esi,%r10d
mov    %esi,0x8(%rsp)
add    %r9d,%eax
mov    %ecx,%esi
rol    $0x5,%esi
lea    (%rsi,%rax,1),%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%edx
mov    %edx,%esi
xor    %edi,%esi
xor    %ecx,%esi
mov    %r11d,%eax
mov    (%rsp),%r11d
xor    %r11d,%eax
xor    0x2c(%rsp),%eax
xor    %r14d,%eax
rol    %eax
mov    %eax,0x1c(%rsp)
add    %eax,%r8d
add    %esi,%r8d
mov    %r9d,%esi
rol    $0x5,%esi
rol    $0x1e,%ecx
add    %r8d,%esi
add    $0xca62c1d6,%esi
mov    %ecx,%r8d
xor    %edx,%r8d
xor    %r9d,%r8d
mov    %ebx,%eax
mov    0xc(%rsp),%ebx
xor    %ebx,%eax
xor    0x28(%rsp),%eax
xor    %r15d,%eax
rol    %eax
mov    %eax,0x4(%rsp)
add    %eax,%edi
add    %r8d,%edi
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0xca62c1d6,%edi
rol    $0x1e,%r9d
mov    %r9d,%r15d
xor    %ecx,%r15d
xor    %esi,%r15d
mov    %r11d,%eax
mov    0x18(%rsp),%r14d
xor    %r14d,%eax
mov    0x30(%rsp),%r8
xor    %r8d,%eax
xor    %r10d,%eax
rol    %eax
mov    %eax,(%rsp)
add    %eax,%edx
add    %r15d,%edx
mov    %edi,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
lea    (%rax,%rdx,1),%r10d
add    $0xca62c1d6,%r10d
mov    %esi,%eax
xor    %r9d,%eax
xor    %edi,%eax
mov    %ebx,%edx
xor    %r13d,%edx
mov    %r12,0xc8(%rsp)
xor    %r12d,%edx
mov    0x1c(%rsp),%ebx
xor    %ebx,%edx
rol    %edx
mov    %edx,0xc(%rsp)
add    %edx,%ecx
add    %eax,%ecx
mov    %r10d,%eax
rol    $0x5,%eax
lea    (%rax,%rcx,1),%r11d
add    $0xca62c1d6,%r11d
mov    %r8d,0x40(%rsp)
mov    %r12d,0x44(%rsp)
mov    %ebp,0x48(%rsp)
mov    %r14d,%edx
mov    0x14(%rsp),%r15d
xor    %r15d,%edx
xor    %ebp,%edx
rol    $0x1e,%edi
mov    %r11d,%eax
rol    $0x5,%eax
mov    %edi,%ecx
xor    %esi,%ecx
xor    %r10d,%ecx
mov    0x4(%rsp),%r12d
xor    %r12d,%edx
rol    %edx
mov    %edx,0x18(%rsp)
add    %edx,%r9d
add    %ecx,%r9d
lea    (%rax,%r9,1),%ebp
add    $0xca62c1d6,%ebp
mov    0x20(%rsp),%eax
mov    %eax,0x4c(%rsp)
mov    0x38(%rsp),%r14
xor    %r14d,%r13d
xor    %eax,%r13d
mov    0x10(%rsp),%r8d
mov    %r8d,0x50(%rsp)
mov    0x8(%rsp),%eax
mov    %eax,0x54(%rsp)
mov    %ebx,0x58(%rsp)
mov    %r12d,0x5c(%rsp)
mov    (%rsp),%eax
mov    %eax,0x60(%rsp)
rol    $0x1e,%r10d
xor    %eax,%r13d
mov    %ebp,%eax
rol    $0x5,%eax
mov    %r10d,%ecx
xor    %edi,%ecx
xor    %r11d,%ecx
rol    %r13d
add    %r13d,%esi
add    %ecx,%esi
lea    (%rax,%rsi,1),%r9d
add    $0xca62c1d6,%r9d
mov    0x2c(%rsp),%r12d
xor    %r12d,%r15d
xor    %r8d,%r15d
mov    0xc(%rsp),%eax
mov    %eax,0x64(%rsp)
xor    %eax,%r15d
rol    $0x1e,%r11d
mov    %r11d,%eax
xor    %r10d,%eax
xor    %ebp,%eax
rol    %r15d
add    %r15d,%edi
mov    %r15d,%ebx
add    %eax,%edi
mov    %r9d,%eax
rol    $0x5,%eax
lea    (%rax,%rdi,1),%ecx
add    $0xca62c1d6,%ecx
mov    0x28(%rsp),%eax
xor    %eax,%r14d
xor    0x8(%rsp),%r14d
mov    0x18(%rsp),%edx
mov    %edx,0x68(%rsp)
xor    %edx,%r14d
mov    %r13d,0x6c(%rsp)
rol    $0x1e,%ebp
mov    %r15d,0x70(%rsp)
rol    %r14d
mov    %r14d,0x74(%rsp)
add    %r10d,%r14d
mov    %ebp,%edx
xor    %r11d,%edx
xor    %r9d,%edx
add    %edx,%r14d
mov    %ecx,%edx
rol    $0x5,%edx
add    %r14d,%edx
add    $0xca62c1d6,%edx
mov    0x30(%rsp),%r15
xor    %r12d,%r15d
xor    0x1c(%rsp),%r15d
xor    %r13d,%r15d
rol    $0x1e,%r9d
rol    %r15d
mov    %r15d,0x78(%rsp)
add    %r11d,%r15d
mov    %r9d,%esi
xor    %ebp,%esi
xor    %ecx,%esi
add    %esi,%r15d
mov    0xc8(%rsp),%rsi
xor    %eax,%esi
mov    %edx,%r8d
rol    $0x5,%r8d
xor    0x4(%rsp),%esi
lea    (%r8,%r15,1),%edi
add    $0xca62c1d6,%edi
rol    $0x1e,%ecx
rol    $0x5,%edi
xor    %ebx,%esi
rol    %esi
mov    %esi,0x7c(%rsp)
add    0xd4(%rsp),%esi
add    %ebp,%esi
mov    %ecx,%eax
xor    %r9d,%eax
xor    %edx,%eax
add    %eax,%esi
lea    (%rdi,%rsi,1),%ebx
add    $0xca62c1d6,%ebx
mov    %ebx,%eax
shr    $0x18,%eax
mov    %al,0x80(%rsp)
mov    %ebx,%eax
shr    $0x10,%eax
mov    %al,0x81(%rsp)
mov    %bh,0x82(%rsp)
mov    %bl,0x83(%rsp)
add    %r8d,%r15d
mov    0xf8(%rsp),%rax
lea    (%rax,%r15,1),%ebx
add    $0xca62c1d6,%ebx
mov    %ebx,%eax
shr    $0x18,%eax
mov    %al,0x84(%rsp)
mov    %ebx,%eax
shr    $0x10,%eax
mov    %al,0x85(%rsp)
mov    %bh,0x86(%rsp)
mov    %bl,0x87(%rsp)
rol    $0x1e,%edx
add    0xf0(%rsp),%edx
mov    %edx,%eax
shr    $0x18,%eax
mov    %al,0x88(%rsp)
mov    %edx,%eax
shr    $0x10,%eax
mov    %al,0x89(%rsp)
mov    %dh,0x8a(%rsp)
mov    %dl,0x8b(%rsp)
add    0xd8(%rsp),%ecx
mov    %ecx,%eax
shr    $0x18,%eax
mov    %al,0x8c(%rsp)
mov    %ecx,%eax
shr    $0x10,%eax
mov    %al,0x8d(%rsp)
mov    %ch,0x8e(%rsp)
mov    %cl,0x8f(%rsp)
mov    %r9d,%ecx
add    0xdc(%rsp),%ecx
mov    %ecx,%eax
shr    $0x18,%eax
mov    %al,0x90(%rsp)
mov    %ecx,%eax
shr    $0x10,%eax
mov    %al,0x91(%rsp)
mov    %ch,0x92(%rsp)
mov    %cl,0x93(%rsp)
movq   $0x0,0x94(%rsp)
movb   $0x80,0x94(%rsp)
80
movl   $0xa0020000,0xbc(%rsp)
mov    0xe0(%rsp),%rcx
mov    (%rcx),%r10d
mov    0x4(%rcx),%eax
mov    0x8(%rcx),%esi
mov    0xc(%rcx),%edx
mov    0x10(%rcx),%ecx
xor    %ebp,%ebp
nopl   0x0(%rax)
mov    0x80(%rsp,%rbp,4),%ebx
bswap  %ebx
mov    %ebx,0x40(%rsp,%rbp,4)
add    $0x1,%rbp
cmp    $0x10,%rbp
jne    2410 <hmac_sha1_+0x1300>
mov    %r10d,%ebp
rol    $0x5,%ebp
add    %ecx,%ebp
mov    %edx,%ecx
xor    %esi,%ecx
and    %eax,%ecx
xor    %edx,%ecx
add    %ebp,%ecx
mov    0x40(%rsp),%r13d
mov    0x44(%rsp),%ebx
mov    %ebx,0x30(%rsp)
add    %r13d,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%eax
mov    %ecx,%ebp
rol    $0x5,%ebp
mov    %eax,%edi
xor    %esi,%edi
and    %r10d,%edi
xor    %esi,%edi
add    %edx,%edi
add    %ebx,%edi
lea    (%rdi,%rbp,1),%edx
add    $0x5a827999,%edx
rol    $0x1e,%r10d
mov    %edx,%edi
rol    $0x5,%edi
mov    %eax,%ebp
xor    %r10d,%ebp
and    %ecx,%ebp
xor    %eax,%ebp
mov    0x48(%rsp),%ebx
mov    %ebx,0x2c(%rsp)
add    %ebx,%esi
add    %ebp,%esi
add    %edi,%esi
add    $0x5a827999,%esi
rol    $0x1e,%ecx
mov    %esi,%edi
rol    $0x5,%edi
mov    %ecx,%ebp
xor    %r10d,%ebp
and    %edx,%ebp
xor    %r10d,%ebp
mov    0x4c(%rsp),%ebx
mov    %ebx,0x14(%rsp)
add    %ebx,%eax
add    %ebp,%eax
add    %eax,%edi
add    $0x5a827999,%edi
rol    $0x1e,%edx
mov    %edi,%eax
rol    $0x5,%eax
mov    %edx,%ebp
xor    %ecx,%ebp
and    %esi,%ebp
xor    %ecx,%ebp
mov    0x50(%rsp),%ebx
mov    %ebx,0x10(%rsp)
add    %ebx,%r10d
add    %ebp,%r10d
add    %r10d,%eax
add    $0x5a827999,%eax
rol    $0x1e,%esi
mov    %eax,%r8d
rol    $0x5,%r8d
mov    %esi,%ebx
xor    %edx,%ebx
and    %edi,%ebx
xor    %edx,%ebx
mov    0x54(%rsp),%ebp
mov    %ebp,(%rsp)
add    %ebp,%ecx
add    %ebx,%ecx
rol    $0x1e,%edi
lea    (%r8,%rcx,1),%ebp
add    $0x5a827999,%ebp
mov    %ebp,%r8d
rol    $0x5,%r8d
mov    %edi,%ebx
xor    %esi,%ebx
and    %eax,%ebx
xor    %esi,%ebx
mov    0x58(%rsp),%ecx
mov    %ecx,0x8(%rsp)
add    %ecx,%edx
add    %ebx,%edx
add    %r8d,%edx
add    $0x5a827999,%edx
rol    $0x1e,%eax
mov    %eax,%ecx
xor    %edi,%ecx
and    %ebp,%ecx
xor    %edi,%ecx
mov    0x5c(%rsp),%ebx
mov    %ebx,0x4(%rsp)
add    %ebx,%esi
add    %ecx,%esi
mov    %edx,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x5a827999,%esi
rol    $0x1e,%ebp
mov    %ebp,%ecx
xor    %eax,%ecx
and    %edx,%ecx
xor    %eax,%ecx
mov    0x60(%rsp),%ebx
add    %ebx,%edi
mov    %ebx,%r15d
mov    %ebx,0x38(%rsp)
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %edi,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%edx
mov    %edx,%edi
xor    %ebp,%edi
and    %esi,%edi
xor    %ebp,%edi
mov    0x64(%rsp),%r9d
add    %r9d,%eax
mov    %r9d,0xc(%rsp)
add    %edi,%eax
mov    %ecx,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %eax,%edi
add    $0x5a827999,%edi
mov    %edi,%r10d
rol    $0x5,%r10d
mov    %esi,%eax
xor    %edx,%eax
and    %ecx,%eax
xor    %edx,%eax
mov    0x68(%rsp),%ebx
mov    %ebx,0x24(%rsp)
add    %ebx,%ebp
add    %eax,%ebp
add    %r10d,%ebp
add    $0x5a827999,%ebp
rol    $0x1e,%ecx
mov    %ecx,%eax
xor    %esi,%eax
and    %edi,%eax
xor    %esi,%eax
mov    0x6c(%rsp),%ebx
mov    %ebx,0x18(%rsp)
add    %ebx,%edx
add    %eax,%edx
mov    %ebp,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x5a827999,%edx
rol    $0x1e,%edi
mov    %edi,%eax
xor    %ecx,%eax
and    %ebp,%eax
xor    %ecx,%eax
mov    0x70(%rsp),%ebx
mov    %ebx,0x28(%rsp)
add    %ebx,%esi
add    %eax,%esi
mov    %edx,%eax
rol    $0x5,%eax
lea    (%rax,%rsi,1),%r11d
add    $0x5a827999,%r11d
rol    $0x1e,%ebp
mov    %ebp,%eax
xor    %edi,%eax
and    %edx,%eax
xor    %edi,%eax
mov    0x74(%rsp),%r14d
add    %r14d,%ecx
add    %eax,%ecx
mov    %r11d,%eax
rol    $0x5,%eax
rol    $0x1e,%edx
lea    (%rax,%rcx,1),%r8d
add    $0x5a827999,%r8d
mov    %r8d,%ecx
rol    $0x5,%ecx
mov    %edx,%esi
xor    %ebp,%esi
and    %r11d,%esi
xor    %ebp,%esi
mov    0x78(%rsp),%eax
add    %eax,%edi
mov    %eax,%r10d
mov    %eax,0x1c(%rsp)
add    %esi,%edi
lea    (%rcx,%rdi,1),%esi
add    $0x5a827999,%esi
rol    $0x1e,%r11d
mov    %r11d,%ecx
xor    %edx,%ecx
and    %r8d,%ecx
xor    %edx,%ecx
mov    0x7c(%rsp),%r12d
add    %r12d,%ebp
mov    %r12d,0x20(%rsp)
add    %ecx,%ebp
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ebp,%ecx
add    $0x5a827999,%ecx
mov    0x2c(%rsp),%eax
xor    %eax,%r13d
mov    %r15d,%ebp
xor    %r14d,%ebp
xor    %r13d,%ebp
rol    $0x1e,%r8d
mov    %r8d,%edi
xor    %r11d,%edi
and    %esi,%edi
xor    %r11d,%edi
rol    %ebp
add    %ebp,%edx
add    %edi,%edx
mov    %ecx,%edi
rol    $0x5,%edi
add    %edi,%edx
add    $0x5a827999,%edx
rol    $0x1e,%esi
mov    0x14(%rsp),%r15d
mov    0x30(%rsp),%edi
xor    %r15d,%edi
mov    %r9d,%ebx
xor    %r10d,%ebx
xor    %edi,%ebx
mov    %esi,%edi
xor    %r8d,%edi
and    %ecx,%edi
xor    %r8d,%edi
rol    %ebx
add    %ebx,%r11d
add    %edi,%r11d
mov    %edx,%edi
rol    $0x5,%edi
lea    (%rdi,%r11,1),%r9d
add    $0x5a827999,%r9d
mov    0x10(%rsp),%r13d
xor    %r13d,%eax
mov    0x24(%rsp),%edi
xor    %r12d,%edi
xor    %eax,%edi
rol    $0x1e,%ecx
mov    %r9d,%r10d
rol    $0x5,%r10d
mov    %ecx,%eax
xor    %esi,%eax
and    %edx,%eax
xor    %esi,%eax
rol    %edi
mov    %edi,0x30(%rsp)
add    %edi,%r8d
add    %eax,%r8d
lea    (%r10,%r8,1),%edi
add    $0x5a827999,%edi
rol    $0x1e,%edx
mov    %edx,%r8d
xor    %ecx,%r8d
and    %r9d,%r8d
xor    %ecx,%r8d
mov    %r15d,%eax
mov    (%rsp),%r10d
xor    %r10d,%eax
xor    0x18(%rsp),%eax
xor    %ebp,%eax
rol    %eax
mov    %eax,0x14(%rsp)
add    %eax,%esi
add    %r8d,%esi
mov    %edi,%eax
rol    $0x5,%eax
lea    (%rax,%rsi,1),%r8d
add    $0x5a827999,%r8d
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %edx,%eax
xor    %edi,%eax
mov    0x8(%rsp),%r12d
xor    %r12d,%r13d
xor    0x28(%rsp),%r13d
xor    %ebx,%r13d
rol    %r13d
add    %r13d,%ecx
mov    %r13d,0x10(%rsp)
add    %eax,%ecx
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %ecx,%eax
add    $0x6ed9eba1,%eax
mov    %edi,%ecx
xor    %r9d,%ecx
xor    %r8d,%ecx
mov    %r10d,%esi
mov    0x4(%rsp),%r11d
xor    %r11d,%esi
xor    %r14d,%esi
xor    0x30(%rsp),%esi
rol    %esi
mov    %esi,(%rsp)
add    %esi,%edx
add    %ecx,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdx,1),%r10d
add    $0x6ed9eba1,%r10d
rol    $0x1e,%r8d
mov    %r8d,%edx
xor    %edi,%edx
xor    %eax,%edx
mov    0x38(%rsp),%r15d
xor    %r15d,%r12d
xor    0x1c(%rsp),%r12d
xor    0x14(%rsp),%r12d
rol    %r12d
add    %r12d,%r9d
mov    %r12d,0x8(%rsp)
add    %edx,%r9d
mov    %r10d,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
add    %r9d,%edx
add    $0x6ed9eba1,%edx
mov    %eax,%r9d
xor    %r8d,%r9d
xor    %r10d,%r9d
mov    0xc(%rsp),%ecx
xor    %ecx,%r11d
xor    0x20(%rsp),%r11d
xor    %r13d,%r11d
rol    %r11d
mov    %r11d,0x4(%rsp)
add    %r11d,%edi
add    %r9d,%edi
mov    %edx,%esi
rol    $0x5,%esi
lea    (%rsi,%rdi,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%r10d
mov    %r10d,%esi
xor    %eax,%esi
xor    %edx,%esi
mov    0x24(%rsp),%edi
xor    %edi,%r15d
mov    %edi,%r13d
xor    %ebp,%r15d
xor    (%rsp),%r15d
rol    %r15d
add    %r15d,%r8d
mov    %r15d,0x38(%rsp)
add    %esi,%r8d
mov    %r9d,%esi
rol    $0x5,%esi
rol    $0x1e,%edx
add    %r8d,%esi
add    $0x6ed9eba1,%esi
mov    %edx,%edi
xor    %r10d,%edi
xor    %r9d,%edi
mov    0x18(%rsp),%r11d
xor    %r11d,%ecx
xor    %ebx,%ecx
xor    %r12d,%ecx
rol    %ecx
mov    %ecx,0xc(%rsp)
add    %ecx,%eax
add    %edi,%eax
mov    %esi,%edi
rol    $0x5,%edi
lea    (%rdi,%rax,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %edx,%eax
xor    %esi,%eax
mov    0x28(%rsp),%r12d
mov    %r13d,%ecx
xor    %r12d,%ecx
mov    0x30(%rsp),%r13d
xor    %r13d,%ecx
xor    0x4(%rsp),%ecx
rol    %ecx
mov    %ecx,0x24(%rsp)
add    %ecx,%r10d
add    %eax,%r10d
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
add    %r10d,%eax
add    $0x6ed9eba1,%eax
mov    %esi,%ecx
xor    %r9d,%ecx
xor    %r8d,%ecx
xor    %r14d,%r11d
xor    0x14(%rsp),%r11d
xor    %r15d,%r11d
rol    %r11d
add    %r11d,%edx
mov    %r11d,%r15d
mov    %r11d,0x18(%rsp)
add    %ecx,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
add    %edx,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%r8d
mov    %r8d,%edx
xor    %esi,%edx
xor    %eax,%edx
mov    0x1c(%rsp),%r10d
xor    %r10d,%r12d
xor    0x10(%rsp),%r12d
xor    0xc(%rsp),%r12d
rol    %r12d
add    %r12d,%r9d
add    %edx,%r9d
mov    %ecx,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
lea    (%rdx,%r9,1),%edi
add    $0x6ed9eba1,%edi
mov    %eax,%r9d
xor    %r8d,%r9d
xor    %ecx,%r9d
mov    0x20(%rsp),%r11d
xor    %r11d,%r14d
xor    (%rsp),%r14d
xor    0x24(%rsp),%r14d
rol    %r14d
add    %r14d,%esi
add    %r9d,%esi
mov    %edi,%edx
rol    $0x5,%edx
lea    (%rdx,%rsi,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%ecx
mov    %ecx,%edx
xor    %eax,%edx
xor    %edi,%edx
xor    %ebp,%r10d
xor    0x8(%rsp),%r10d
xor    %r15d,%r10d
rol    %r10d
add    %r10d,%r8d
mov    %r10d,0x1c(%rsp)
add    %edx,%r8d
mov    %r9d,%edx
rol    $0x5,%edx
rol    $0x1e,%edi
add    %r8d,%edx
add    $0x6ed9eba1,%edx
mov    %edi,%r8d
xor    %ecx,%r8d
xor    %r9d,%r8d
xor    %ebx,%r11d
xor    0x4(%rsp),%r11d
xor    %r12d,%r11d
mov    %r12d,%r15d
mov    %r12d,0x28(%rsp)
rol    %r11d
add    %r11d,%eax
mov    %r11d,0x20(%rsp)
add    %r8d,%eax
mov    %edx,%esi
rol    $0x5,%esi
lea    (%rsi,%rax,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%r9d
mov    %r9d,%eax
xor    %edi,%eax
xor    %edx,%eax
xor    %r13d,%ebp
xor    0x38(%rsp),%ebp
xor    %r14d,%ebp
rol    %ebp
add    %ebp,%ecx
add    %eax,%ecx
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%edx
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
mov    %edx,%eax
xor    %r9d,%eax
xor    %r8d,%eax
mov    0x14(%rsp),%r12d
xor    %r12d,%ebx
xor    0xc(%rsp),%ebx
xor    %r10d,%ebx
rol    %ebx
add    %ebx,%edi
add    %eax,%edi
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x6ed9eba1,%edi
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %edx,%eax
xor    %ecx,%eax
mov    0x10(%rsp),%r10d
xor    %r10d,%r13d
xor    0x24(%rsp),%r13d
xor    %r11d,%r13d
rol    %r13d
add    %r13d,%r9d
mov    %r13d,0x30(%rsp)
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
rol    $0x1e,%ecx
add    %r9d,%eax
add    $0x6ed9eba1,%eax
mov    %ecx,%r9d
xor    %r8d,%r9d
xor    %edi,%r9d
mov    (%rsp),%r11d
xor    %r11d,%r12d
xor    0x18(%rsp),%r12d
xor    %ebp,%r12d
rol    %r12d
add    %r12d,%edx
mov    %r12d,0x14(%rsp)
add    %r9d,%edx
mov    %eax,%esi
rol    $0x5,%esi
lea    (%rsi,%rdx,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%edi
mov    %edi,%esi
xor    %ecx,%esi
xor    %eax,%esi
mov    %r10d,%edx
mov    0x8(%rsp),%r10d
xor    %r10d,%edx
xor    %r15d,%edx
xor    %ebx,%edx
rol    %edx
mov    %edx,0x10(%rsp)
add    %edx,%r8d
add    %esi,%r8d
mov    %r9d,%esi
rol    $0x5,%esi
rol    $0x1e,%eax
add    %esi,%r8d
add    $0x6ed9eba1,%r8d
mov    %eax,%esi
xor    %edi,%esi
xor    %r9d,%esi
mov    %r11d,%edx
mov    0x4(%rsp),%r11d
xor    %r11d,%edx
xor    %r14d,%edx
xor    %r13d,%edx
rol    %edx
add    %edx,%ecx
mov    %edx,%r13d
mov    %edx,(%rsp)
add    %esi,%ecx
mov    %r8d,%esi
rol    $0x5,%esi
add    %ecx,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %eax,%ecx
xor    %r8d,%ecx
mov    %r10d,%edx
mov    0x38(%rsp),%r15d
xor    %r15d,%edx
xor    0x1c(%rsp),%edx
xor    %r12d,%edx
rol    %edx
mov    %edx,0x8(%rsp)
add    %edx,%edi
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
add    %ecx,%edi
add    $0x6ed9eba1,%edi
mov    %r8d,%ecx
xor    %r9d,%ecx
xor    %esi,%ecx
mov    0xc(%rsp),%r10d
xor    %r10d,%r11d
xor    0x20(%rsp),%r11d
xor    0x10(%rsp),%r11d
rol    %r11d
mov    %r11d,0x4(%rsp)
add    %r11d,%eax
add    %ecx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    0x24(%rsp),%r12d
xor    %r12d,%r15d
xor    %ebp,%r15d
xor    %r13d,%r15d
rol    %r15d
add    %r15d,%r9d
mov    %r15d,0x38(%rsp)
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %r10d,%edx
mov    0x18(%rsp),%r10d
xor    %r10d,%edx
mov    %r10d,%r11d
xor    %ebx,%edx
xor    0x8(%rsp),%edx
rol    %edx
mov    %edx,0xc(%rsp)
add    %edx,%r8d
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%eax
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    0x28(%rsp),%r10d
xor    %r10d,%r12d
mov    0x30(%rsp),%r13d
xor    %r13d,%r12d
xor    0x4(%rsp),%r12d
rol    %r12d
add    %r12d,%esi
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r9d
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    %r11d,%ecx
xor    %r14d,%ecx
xor    0x14(%rsp),%ecx
xor    %r15d,%ecx
rol    %ecx
mov    %ecx,0x18(%rsp)
add    %ecx,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %esi,%ecx
and    %r8d,%ecx
mov    %esi,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    0x1c(%rsp),%r11d
xor    %r11d,%r10d
xor    0x10(%rsp),%r10d
xor    0xc(%rsp),%r10d
rol    %r10d
add    %r10d,%eax
mov    %r10d,0x28(%rsp)
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    0x20(%rsp),%r15d
xor    %r15d,%r14d
xor    (%rsp),%r14d
xor    %r12d,%r14d
rol    %r14d
add    %r14d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
xor    %ebp,%r11d
xor    0x8(%rsp),%r11d
xor    0x18(%rsp),%r11d
rol    %r11d
add    %r11d,%r8d
mov    %r11d,0x1c(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%eax
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
xor    %ebx,%r15d
xor    0x4(%rsp),%r15d
xor    %r10d,%r15d
rol    %r15d
add    %r15d,%esi
mov    %r15d,0x20(%rsp)
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r9d
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
xor    %r13d,%ebp
xor    0x38(%rsp),%ebp
xor    %r14d,%ebp
rol    %ebp
add    %ebp,%edi
add    %edx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %esi,%ecx
and    %r8d,%ecx
mov    %esi,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    0x14(%rsp),%r10d
xor    %r10d,%ebx
xor    0xc(%rsp),%ebx
xor    %r11d,%ebx
rol    %ebx
add    %ebx,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %edi,%ecx
and    %esi,%ecx
mov    %edi,%edx
or     %esi,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    0x10(%rsp),%ecx
xor    %ecx,%r13d
mov    %ecx,%r11d
mov    %r12d,0x24(%rsp)
xor    %r12d,%r13d
xor    %r15d,%r13d
rol    %r13d
add    %r13d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %esi,%ecx
or     %edx,%ecx
mov    %r10d,%r12d
mov    (%rsp),%r15d
xor    %r15d,%r12d
xor    0x18(%rsp),%r12d
xor    %ebp,%r12d
rol    %r12d
add    %r12d,%r8d
mov    %r12d,0x14(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%eax
mov    %r9d,%ecx
and    %eax,%ecx
mov    %r9d,%edx
or     %eax,%edx
and    %edi,%edx
or     %ecx,%edx
mov    %r11d,%ecx
xor    0x8(%rsp),%ecx
xor    0x28(%rsp),%ecx
xor    %ebx,%ecx
rol    %ecx
mov    %ecx,0x10(%rsp)
add    %ecx,%esi
add    %edx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rsi,1),%r10d
add    $0x8f1bbcdc,%r10d
rol    $0x1e,%r9d
mov    %r8d,%ecx
and    %r9d,%ecx
mov    %r8d,%edx
or     %r9d,%edx
and    %eax,%edx
or     %ecx,%edx
mov    0x4(%rsp),%r11d
xor    %r11d,%r15d
xor    %r14d,%r15d
xor    %r13d,%r15d
mov    %r13d,0x30(%rsp)
rol    %r15d
mov    %r15d,(%rsp)
add    %r15d,%edi
add    %edx,%edi
mov    %r10d,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %r10d,%ecx
and    %r8d,%ecx
mov    %r10d,%edx
or     %r8d,%edx
and    %r9d,%edx
or     %ecx,%edx
mov    0x8(%rsp),%ecx
mov    0x38(%rsp),%r15d
xor    %r15d,%ecx
xor    0x1c(%rsp),%ecx
xor    %r12d,%ecx
rol    %ecx
mov    %ecx,0x8(%rsp)
add    %ecx,%eax
add    %edx,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%r10d
mov    %edi,%ecx
and    %r10d,%ecx
mov    %edi,%edx
or     %r10d,%edx
and    %r8d,%edx
or     %ecx,%edx
mov    0xc(%rsp),%esi
xor    %esi,%r11d
xor    0x20(%rsp),%r11d
xor    0x10(%rsp),%r11d
rol    %r11d
mov    %r11d,0x4(%rsp)
add    %r11d,%r9d
add    %edx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%edi
mov    %eax,%edx
and    %edi,%edx
mov    %eax,%ecx
or     %edi,%ecx
and    %r10d,%ecx
or     %edx,%ecx
mov    0x24(%rsp),%r12d
xor    %r12d,%r15d
xor    %ebp,%r15d
xor    (%rsp),%r15d
rol    %r15d
add    %r15d,%r8d
mov    %r15d,0x38(%rsp)
add    %ecx,%r8d
mov    %r9d,%ecx
rol    $0x5,%ecx
lea    (%rcx,%r8,1),%edx
add    $0x8f1bbcdc,%edx
rol    $0x1e,%eax
mov    %r9d,%r8d
and    %eax,%r8d
mov    %r9d,%ecx
or     %eax,%ecx
and    %edi,%ecx
or     %r8d,%ecx
mov    0x18(%rsp),%r11d
xor    %r11d,%esi
xor    %ebx,%esi
xor    0x8(%rsp),%esi
rol    %esi
mov    %esi,0xc(%rsp)
add    %esi,%r10d
add    %ecx,%r10d
mov    %edx,%ecx
rol    $0x5,%ecx
lea    (%rcx,%r10,1),%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r9d
mov    %edx,%r8d
and    %r9d,%r8d
mov    %edx,%ecx
or     %r9d,%ecx
and    %eax,%ecx
or     %r8d,%ecx
mov    0x28(%rsp),%r10d
xor    %r10d,%r12d
xor    %r13d,%r12d
xor    0x4(%rsp),%r12d
rol    %r12d
add    %r12d,%edi
mov    %r12d,%r13d
mov    %r12d,0x24(%rsp)
add    %ecx,%edi
mov    %esi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdi,1),%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%edx
mov    %esi,%ecx
and    %edx,%ecx
mov    %esi,%edi
or     %edx,%edi
and    %r9d,%edi
or     %ecx,%edi
xor    %r14d,%r11d
xor    0x14(%rsp),%r11d
xor    %r15d,%r11d
rol    %r11d
add    %r11d,%eax
mov    %r11d,%r15d
mov    %r11d,0x18(%rsp)
add    %edi,%eax
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0x8f1bbcdc,%eax
rol    $0x1e,%esi
mov    %esi,%ecx
xor    %edx,%ecx
xor    %r8d,%ecx
mov    %r10d,%r12d
mov    0x1c(%rsp),%r10d
xor    %r10d,%r12d
xor    0x10(%rsp),%r12d
mov    0xc(%rsp),%r11d
xor    %r11d,%r12d
rol    %r12d
add    %r12d,%r9d
mov    %r12d,0x28(%rsp)
add    %ecx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r8d
lea    (%rcx,%r9,1),%edi
add    $0xca62c1d6,%edi
mov    %r8d,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    0x20(%rsp),%r11d
xor    %r11d,%r14d
xor    (%rsp),%r14d
xor    %r13d,%r14d
rol    %r14d
add    %r14d,%edx
add    %ecx,%edx
mov    %edi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdx,1),%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%eax
mov    %eax,%edx
xor    %r8d,%edx
xor    %edi,%edx
mov    %r10d,%ecx
xor    %ebp,%ecx
xor    0x8(%rsp),%ecx
xor    %r15d,%ecx
rol    %ecx
add    %ecx,%esi
mov    %ecx,%r15d
mov    %ecx,0x1c(%rsp)
add    %edx,%esi
mov    %r9d,%edx
rol    $0x5,%edx
rol    $0x1e,%edi
add    %edx,%esi
add    $0xca62c1d6,%esi
mov    %edi,%edx
xor    %eax,%edx
xor    %r9d,%edx
xor    %ebx,%r11d
xor    0x4(%rsp),%r11d
xor    %r12d,%r11d
rol    %r11d
add    %r11d,%r8d
mov    %r11d,%r12d
mov    %r11d,0x20(%rsp)
add    %edx,%r8d
mov    %esi,%edx
rol    $0x5,%edx
add    %r8d,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %edi,%ecx
xor    %esi,%ecx
mov    0x30(%rsp),%r8d
xor    %r8d,%ebp
xor    0x38(%rsp),%ebp
xor    %r14d,%ebp
rol    %ebp
add    %ebp,%eax
add    %ecx,%eax
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    %esi,%ecx
xor    %r9d,%ecx
xor    %edx,%ecx
mov    0x14(%rsp),%r10d
xor    %r10d,%ebx
xor    0xc(%rsp),%ebx
xor    %r15d,%ebx
rol    %ebx
add    %ebx,%edi
add    %ecx,%edi
mov    %eax,%ecx
rol    $0x5,%ecx
add    %ecx,%edi
add    $0xca62c1d6,%edi
rol    $0x1e,%edx
mov    %edx,%ecx
xor    %esi,%ecx
xor    %eax,%ecx
mov    0x10(%rsp),%r11d
mov    %r8d,%r13d
xor    %r11d,%r13d
xor    0x24(%rsp),%r13d
xor    %r12d,%r13d
rol    %r13d
add    %r13d,%r9d
mov    %r13d,%r15d
mov    %r13d,0x30(%rsp)
add    %ecx,%r9d
mov    %edi,%ecx
rol    $0x5,%ecx
rol    $0x1e,%eax
add    %ecx,%r9d
add    $0xca62c1d6,%r9d
mov    %eax,%r8d
xor    %edx,%r8d
xor    %edi,%r8d
mov    %r10d,%ecx
mov    (%rsp),%r10d
xor    %r10d,%ecx
xor    0x18(%rsp),%ecx
xor    %ebp,%ecx
rol    %ecx
add    %ecx,%esi
mov    %ecx,%r13d
mov    %ecx,0x14(%rsp)
add    %r8d,%esi
mov    %r9d,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rsi,1),%r8d
add    $0xca62c1d6,%r8d
rol    $0x1e,%edi
mov    %edi,%ecx
xor    %eax,%ecx
xor    %r9d,%ecx
mov    %r11d,%r12d
mov    0x8(%rsp),%r11d
xor    %r11d,%r12d
xor    0x28(%rsp),%r12d
xor    %ebx,%r12d
rol    %r12d
add    %r12d,%edx
mov    %r12d,0x10(%rsp)
add    %ecx,%edx
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
lea    (%rcx,%rdx,1),%esi
add    $0xca62c1d6,%esi
mov    %r9d,%ecx
xor    %edi,%ecx
xor    %r8d,%ecx
mov    %r10d,%edx
mov    0x4(%rsp),%r10d
xor    %r10d,%edx
xor    %r14d,%edx
xor    %r15d,%edx
rol    %edx
mov    %edx,(%rsp)
add    %edx,%eax
add    %ecx,%eax
mov    %esi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rax,1),%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %r9d,%eax
xor    %esi,%eax
mov    %r11d,%ecx
mov    0x38(%rsp),%r15d
xor    %r15d,%ecx
xor    0x1c(%rsp),%ecx
xor    %r13d,%ecx
rol    %ecx
add    %ecx,%edi
mov    %ecx,%r13d
mov    %ecx,0x8(%rsp)
add    %eax,%edi
mov    %edx,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
add    %eax,%edi
add    $0xca62c1d6,%edi
mov    %esi,%eax
xor    %r8d,%eax
xor    %edx,%eax
mov    %r10d,%ecx
mov    0xc(%rsp),%r10d
xor    %r10d,%ecx
xor    0x20(%rsp),%ecx
xor    %r12d,%ecx
rol    %ecx
mov    %ecx,0x4(%rsp)
add    %ecx,%r9d
add    %eax,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %r9d,%eax
add    $0xca62c1d6,%eax
rol    $0x1e,%edx
mov    %edx,%ecx
xor    %esi,%ecx
xor    %edi,%ecx
mov    0x24(%rsp),%r12d
xor    %r12d,%r15d
xor    %ebp,%r15d
xor    (%rsp),%r15d
rol    %r15d
add    %r15d,%r8d
add    %ecx,%r8d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
lea    (%rcx,%r8,1),%r9d
add    $0xca62c1d6,%r9d
mov    %edi,%r8d
xor    %edx,%r8d
xor    %eax,%r8d
mov    %r10d,%ecx
mov    0x18(%rsp),%r11d
xor    %r11d,%ecx
xor    %ebx,%ecx
xor    %r13d,%ecx
rol    %ecx
mov    %ecx,0xc(%rsp)
add    %ecx,%esi
add    %r8d,%esi
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0xca62c1d6,%esi
rol    $0x1e,%eax
mov    0x28(%rsp),%r10d
xor    %r10d,%r12d
xor    0x30(%rsp),%r12d
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r9d,%ecx
mov    0x4(%rsp),%r13d
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%edx
add    %ecx,%edx
mov    %esi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdx,1),%r8d
add    $0xca62c1d6,%r8d
xor    %r14d,%r11d
xor    0x14(%rsp),%r11d
xor    %r15d,%r11d
rol    $0x1e,%r9d
mov    %r9d,%ecx
xor    %eax,%ecx
xor    %esi,%ecx
rol    %r11d
add    %r11d,%edi
add    %ecx,%edi
mov    %r8d,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdi,1),%edx
add    $0xca62c1d6,%edx
mov    0x1c(%rsp),%r15d
xor    %r15d,%r10d
xor    0x10(%rsp),%r10d
xor    0xc(%rsp),%r10d
rol    $0x1e,%esi
mov    %esi,%ecx
xor    %r9d,%ecx
xor    %r8d,%ecx
rol    %r10d
add    %r10d,%eax
mov    %r10d,%edi
add    %ecx,%eax
mov    %edx,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    0x20(%rsp),%r10d
xor    %r10d,%r14d
xor    (%rsp),%r14d
xor    %r12d,%r14d
rol    %r14d
add    %r9d,%r14d
rol    $0x1e,%r8d
mov    %r8d,%ecx
xor    %esi,%ecx
xor    %edx,%ecx
add    %ecx,%r14d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %r14d,%ecx
add    $0xca62c1d6,%ecx
xor    %r15d,%ebp
xor    0x8(%rsp),%ebp
xor    %r11d,%ebp
rol    $0x1e,%edx
rol    %ebp
add    %esi,%ebp
mov    %edx,%esi
xor    %r8d,%esi
xor    %eax,%esi
add    %esi,%ebp
mov    %ecx,%esi
rol    $0x5,%esi
add    %ebp,%esi
add    $0xca62c1d6,%esi
xor    %r10d,%ebx
xor    %r13d,%ebx
xor    %edi,%ebx
rol    $0x1e,%eax
rol    %ebx
mov    0xe0(%rsp),%rdi
add    (%rdi),%ebx
add    %r8d,%ebx
movd   %eax,%xmm0
xor    %edx,%eax
xor    %ecx,%eax
add    %eax,%ebx
movd   %esi,%xmm1
mov    %esi,%eax
rol    $0x5,%eax
add    %ebx,%eax
add    $0xca62c1d6,%eax
movdqu 0x4(%rdi),%xmm2
rol    $0x1e,%ecx
movd   %ecx,%xmm3
movd   %edx,%xmm4
mov    0x100(%rsp),%rcx
mov    %eax,(%rcx)
punpckldq %xmm3,%xmm1
punpckldq %xmm4,%xmm0
punpcklqdq %xmm0,%xmm1
paddd  %xmm2,%xmm1
movdqu %xmm1,0x4(%rcx)
add    $0x108,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @hmac_sha1_(i32* %0, i32* %1, i32* %2, i8* %3, i32 %4, i8 zeroext %5) {
%7 = alloca i32*
%8 = alloca i32*
%9 = alloca i32*
%10 = alloca i8*
%11 = alloca i32
%12 = alloca i8
%13 = alloca i32
%14 = alloca i32
%15 = alloca [16 x i32]
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca [64 x i8]
%22 = alloca i32*
store i32* %0, i32** %7
store i32* %1, i32** %8
store i32* %2, i32** %9
store i8* %3, i8** %10
store i32 %4, i32* %11
store i8 %5, i8* %12
%23 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 0
%24 = bitcast i8* %23 to i32*
store i32* %24, i32** %22
store i32 16, i32* %13
br label %25
25: ; preds = %29, %6
%26 = load i32, i32* %13
%27 = add nsw i32 %26, -1
store i32 %27, i32* %13
%28 = icmp ne i32 %26, 0
br i1 %28, label %29, label %32
29: ; preds = %25
%30 = load i32*, i32** %22
%31 = getelementptr inbounds i32, i32* %30, i32 1
store i32* %31, i32** %22
store i32 0, i32* %30
br label %25
32: ; preds = %25
store i32 0, i32* %13
br label %33
33: ; preds = %46, %32
%34 = load i32, i32* %13
%35 = load i32, i32* %11
%36 = icmp slt i32 %34, %35
br i1 %36, label %37, label %49
37: ; preds = %33
%38 = load i8*, i8** %10
%39 = load i32, i32* %13
%40 = sext i32 %39 to i64
%41 = getelementptr inbounds i8, i8* %38, i64 %40
%42 = load i8, i8* %41
%43 = load i32, i32* %13
%44 = sext i32 %43 to i64
%45 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %44
store i8 %42, i8* %45
br label %46
46: ; preds = %37
%47 = load i32, i32* %13
%48 = add nsw i32 %47, 1
store i32 %48, i32* %13
br label %33
49: ; preds = %33
%50 = load i32, i32* %11
%51 = add nsw i32 %50, 4
%52 = sext i32 %51 to i64
%53 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %52
store i8 -128, i8* %53
%54 = load i8, i8* %12
%55 = load i32, i32* %11
%56 = add nsw i32 %55, 3
%57 = sext i32 %56 to i64
%58 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %57
store i8 %54, i8* %58
%59 = load i32, i32* %11
%60 = add nsw i32 64, %59
%61 = add nsw i32 %60, 4
%62 = shl i32 %61, 3
%63 = ashr i32 %62, 24
%64 = trunc i32 %63 to i8
%65 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 60
store i8 %64, i8* %65
%66 = load i32, i32* %11
%67 = add nsw i32 64, %66
%68 = add nsw i32 %67, 4
%69 = shl i32 %68, 3
%70 = ashr i32 %69, 16
%71 = trunc i32 %70 to i8
%72 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 61
store i8 %71, i8* %72
%73 = load i32, i32* %11
%74 = add nsw i32 64, %73
%75 = add nsw i32 %74, 4
%76 = shl i32 %75, 3
%77 = ashr i32 %76, 8
%78 = trunc i32 %77 to i8
%79 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 62
store i8 %78, i8* %79
%80 = load i32, i32* %11
%81 = add nsw i32 64, %80
%82 = add nsw i32 %81, 4
%83 = shl i32 %82, 3
%84 = trunc i32 %83 to i8
%85 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 63
store i8 %84, i8* %85
%86 = load i32*, i32** %8
%87 = getelementptr inbounds i32, i32* %86, i64 0
%88 = load i32, i32* %87
store i32 %88, i32* %16
%89 = load i32*, i32** %8
%90 = getelementptr inbounds i32, i32* %89, i64 1
%91 = load i32, i32* %90
store i32 %91, i32* %17
%92 = load i32*, i32** %8
%93 = getelementptr inbounds i32, i32* %92, i64 2
%94 = load i32, i32* %93
store i32 %94, i32* %18
%95 = load i32*, i32** %8
%96 = getelementptr inbounds i32, i32* %95, i64 3
%97 = load i32, i32* %96
store i32 %97, i32* %19
%98 = load i32*, i32** %8
%99 = getelementptr inbounds i32, i32* %98, i64 4
%100 = load i32, i32* %99
store i32 %100, i32* %20
store i32 0, i32* %13
br label %101
101: ; preds = %142, %49
%102 = load i32, i32* %13
%103 = icmp slt i32 %102, 16
br i1 %103, label %104, label %145
104: ; preds = %101
%105 = load i32, i32* %13
%106 = mul nsw i32 %105, 4
%107 = sext i32 %106 to i64
%108 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %107
%109 = load i8, i8* %108
%110 = zext i8 %109 to i64
%111 = shl i64 %110, 24
%112 = load i32, i32* %13
%113 = mul nsw i32 %112, 4
%114 = add nsw i32 %113, 1
%115 = sext i32 %114 to i64
%116 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %115
%117 = load i8, i8* %116
%118 = zext i8 %117 to i64
%119 = shl i64 %118, 16
%120 = or i64 %111, %119
%121 = load i32, i32* %13
%122 = mul nsw i32 %121, 4
%123 = add nsw i32 %122, 2
%124 = sext i32 %123 to i64
%125 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %124
%126 = load i8, i8* %125
%127 = zext i8 %126 to i64
%128 = shl i64 %127, 8
%129 = or i64 %120, %128
%130 = load i32, i32* %13
%131 = mul nsw i32 %130, 4
%132 = add nsw i32 %131, 3
%133 = sext i32 %132 to i64
%134 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %133
%135 = load i8, i8* %134
%136 = zext i8 %135 to i64
%137 = or i64 %129, %136
%138 = trunc i64 %137 to i32
%139 = load i32, i32* %13
%140 = sext i32 %139 to i64
%141 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 %140
store i32 %138, i32* %141
br label %142
142: ; preds = %104
%143 = load i32, i32* %13
%144 = add nsw i32 %143, 1
store i32 %144, i32* %13
br label %101
145: ; preds = %101
%146 = load i32, i32* %16
%147 = shl i32 %146, 5
%148 = load i32, i32* %16
%149 = lshr i32 %148, 27
%150 = or i32 %147, %149
%151 = load i32, i32* %19
%152 = load i32, i32* %17
%153 = load i32, i32* %18
%154 = load i32, i32* %19
%155 = xor i32 %153, %154
%156 = and i32 %152, %155
%157 = xor i32 %151, %156
%158 = add i32 %150, %157
%159 = add i32 %158, 1518500249
%160 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%161 = load i32, i32* %160
%162 = add i32 %159, %161
%163 = load i32, i32* %20
%164 = add i32 %163, %162
store i32 %164, i32* %20
%165 = load i32, i32* %17
%166 = shl i32 %165, 30
%167 = load i32, i32* %17
%168 = lshr i32 %167, 2
%169 = or i32 %166, %168
store i32 %169, i32* %17
%170 = load i32, i32* %20
%171 = shl i32 %170, 5
%172 = load i32, i32* %20
%173 = lshr i32 %172, 27
%174 = or i32 %171, %173
%175 = load i32, i32* %18
%176 = load i32, i32* %16
%177 = load i32, i32* %17
%178 = load i32, i32* %18
%179 = xor i32 %177, %178
%180 = and i32 %176, %179
%181 = xor i32 %175, %180
%182 = add i32 %174, %181
%183 = add i32 %182, 1518500249
%184 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%185 = load i32, i32* %184
%186 = add i32 %183, %185
%187 = load i32, i32* %19
%188 = add i32 %187, %186
store i32 %188, i32* %19
%189 = load i32, i32* %16
%190 = shl i32 %189, 30
%191 = load i32, i32* %16
%192 = lshr i32 %191, 2
%193 = or i32 %190, %192
store i32 %193, i32* %16
%194 = load i32, i32* %19
%195 = shl i32 %194, 5
%196 = load i32, i32* %19
%197 = lshr i32 %196, 27
%198 = or i32 %195, %197
%199 = load i32, i32* %17
%200 = load i32, i32* %20
%201 = load i32, i32* %16
%202 = load i32, i32* %17
%203 = xor i32 %201, %202
%204 = and i32 %200, %203
%205 = xor i32 %199, %204
%206 = add i32 %198, %205
%207 = add i32 %206, 1518500249
%208 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%209 = load i32, i32* %208
%210 = add i32 %207, %209
%211 = load i32, i32* %18
%212 = add i32 %211, %210
store i32 %212, i32* %18
%213 = load i32, i32* %20
%214 = shl i32 %213, 30
%215 = load i32, i32* %20
%216 = lshr i32 %215, 2
%217 = or i32 %214, %216
store i32 %217, i32* %20
%218 = load i32, i32* %18
%219 = shl i32 %218, 5
%220 = load i32, i32* %18
%221 = lshr i32 %220, 27
%222 = or i32 %219, %221
%223 = load i32, i32* %16
%224 = load i32, i32* %19
%225 = load i32, i32* %20
%226 = load i32, i32* %16
%227 = xor i32 %225, %226
%228 = and i32 %224, %227
%229 = xor i32 %223, %228
%230 = add i32 %222, %229
%231 = add i32 %230, 1518500249
%232 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%233 = load i32, i32* %232
%234 = add i32 %231, %233
%235 = load i32, i32* %17
%236 = add i32 %235, %234
store i32 %236, i32* %17
%237 = load i32, i32* %19
%238 = shl i32 %237, 30
%239 = load i32, i32* %19
%240 = lshr i32 %239, 2
%241 = or i32 %238, %240
store i32 %241, i32* %19
%242 = load i32, i32* %17
%243 = shl i32 %242, 5
%244 = load i32, i32* %17
%245 = lshr i32 %244, 27
%246 = or i32 %243, %245
%247 = load i32, i32* %20
%248 = load i32, i32* %18
%249 = load i32, i32* %19
%250 = load i32, i32* %20
%251 = xor i32 %249, %250
%252 = and i32 %248, %251
%253 = xor i32 %247, %252
%254 = add i32 %246, %253
%255 = add i32 %254, 1518500249
%256 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%257 = load i32, i32* %256
%258 = add i32 %255, %257
%259 = load i32, i32* %16
%260 = add i32 %259, %258
store i32 %260, i32* %16
%261 = load i32, i32* %18
%262 = shl i32 %261, 30
%263 = load i32, i32* %18
%264 = lshr i32 %263, 2
%265 = or i32 %262, %264
store i32 %265, i32* %18
%266 = load i32, i32* %16
%267 = shl i32 %266, 5
%268 = load i32, i32* %16
%269 = lshr i32 %268, 27
%270 = or i32 %267, %269
%271 = load i32, i32* %19
%272 = load i32, i32* %17
%273 = load i32, i32* %18
%274 = load i32, i32* %19
%275 = xor i32 %273, %274
%276 = and i32 %272, %275
%277 = xor i32 %271, %276
%278 = add i32 %270, %277
%279 = add i32 %278, 1518500249
%280 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%281 = load i32, i32* %280
%282 = add i32 %279, %281
%283 = load i32, i32* %20
%284 = add i32 %283, %282
store i32 %284, i32* %20
%285 = load i32, i32* %17
%286 = shl i32 %285, 30
%287 = load i32, i32* %17
%288 = lshr i32 %287, 2
%289 = or i32 %286, %288
store i32 %289, i32* %17
%290 = load i32, i32* %20
%291 = shl i32 %290, 5
%292 = load i32, i32* %20
%293 = lshr i32 %292, 27
%294 = or i32 %291, %293
%295 = load i32, i32* %18
%296 = load i32, i32* %16
%297 = load i32, i32* %17
%298 = load i32, i32* %18
%299 = xor i32 %297, %298
%300 = and i32 %296, %299
%301 = xor i32 %295, %300
%302 = add i32 %294, %301
%303 = add i32 %302, 1518500249
%304 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%305 = load i32, i32* %304
%306 = add i32 %303, %305
%307 = load i32, i32* %19
%308 = add i32 %307, %306
store i32 %308, i32* %19
%309 = load i32, i32* %16
%310 = shl i32 %309, 30
%311 = load i32, i32* %16
%312 = lshr i32 %311, 2
%313 = or i32 %310, %312
store i32 %313, i32* %16
%314 = load i32, i32* %19
%315 = shl i32 %314, 5
%316 = load i32, i32* %19
%317 = lshr i32 %316, 27
%318 = or i32 %315, %317
%319 = load i32, i32* %17
%320 = load i32, i32* %20
%321 = load i32, i32* %16
%322 = load i32, i32* %17
%323 = xor i32 %321, %322
%324 = and i32 %320, %323
%325 = xor i32 %319, %324
%326 = add i32 %318, %325
%327 = add i32 %326, 1518500249
%328 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%329 = load i32, i32* %328
%330 = add i32 %327, %329
%331 = load i32, i32* %18
%332 = add i32 %331, %330
store i32 %332, i32* %18
%333 = load i32, i32* %20
%334 = shl i32 %333, 30
%335 = load i32, i32* %20
%336 = lshr i32 %335, 2
%337 = or i32 %334, %336
store i32 %337, i32* %20
%338 = load i32, i32* %18
%339 = shl i32 %338, 5
%340 = load i32, i32* %18
%341 = lshr i32 %340, 27
%342 = or i32 %339, %341
%343 = load i32, i32* %16
%344 = load i32, i32* %19
%345 = load i32, i32* %20
%346 = load i32, i32* %16
%347 = xor i32 %345, %346
%348 = and i32 %344, %347
%349 = xor i32 %343, %348
%350 = add i32 %342, %349
%351 = add i32 %350, 1518500249
%352 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%353 = load i32, i32* %352
%354 = add i32 %351, %353
%355 = load i32, i32* %17
%356 = add i32 %355, %354
store i32 %356, i32* %17
%357 = load i32, i32* %19
%358 = shl i32 %357, 30
%359 = load i32, i32* %19
%360 = lshr i32 %359, 2
%361 = or i32 %358, %360
store i32 %361, i32* %19
%362 = load i32, i32* %17
%363 = shl i32 %362, 5
%364 = load i32, i32* %17
%365 = lshr i32 %364, 27
%366 = or i32 %363, %365
%367 = load i32, i32* %20
%368 = load i32, i32* %18
%369 = load i32, i32* %19
%370 = load i32, i32* %20
%371 = xor i32 %369, %370
%372 = and i32 %368, %371
%373 = xor i32 %367, %372
%374 = add i32 %366, %373
%375 = add i32 %374, 1518500249
%376 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%377 = load i32, i32* %376
%378 = add i32 %375, %377
%379 = load i32, i32* %16
%380 = add i32 %379, %378
store i32 %380, i32* %16
%381 = load i32, i32* %18
%382 = shl i32 %381, 30
%383 = load i32, i32* %18
%384 = lshr i32 %383, 2
%385 = or i32 %382, %384
store i32 %385, i32* %18
%386 = load i32, i32* %16
%387 = shl i32 %386, 5
%388 = load i32, i32* %16
%389 = lshr i32 %388, 27
%390 = or i32 %387, %389
%391 = load i32, i32* %19
%392 = load i32, i32* %17
%393 = load i32, i32* %18
%394 = load i32, i32* %19
%395 = xor i32 %393, %394
%396 = and i32 %392, %395
%397 = xor i32 %391, %396
%398 = add i32 %390, %397
%399 = add i32 %398, 1518500249
%400 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%401 = load i32, i32* %400
%402 = add i32 %399, %401
%403 = load i32, i32* %20
%404 = add i32 %403, %402
store i32 %404, i32* %20
%405 = load i32, i32* %17
%406 = shl i32 %405, 30
%407 = load i32, i32* %17
%408 = lshr i32 %407, 2
%409 = or i32 %406, %408
store i32 %409, i32* %17
%410 = load i32, i32* %20
%411 = shl i32 %410, 5
%412 = load i32, i32* %20
%413 = lshr i32 %412, 27
%414 = or i32 %411, %413
%415 = load i32, i32* %18
%416 = load i32, i32* %16
%417 = load i32, i32* %17
%418 = load i32, i32* %18
%419 = xor i32 %417, %418
%420 = and i32 %416, %419
%421 = xor i32 %415, %420
%422 = add i32 %414, %421
%423 = add i32 %422, 1518500249
%424 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%425 = load i32, i32* %424
%426 = add i32 %423, %425
%427 = load i32, i32* %19
%428 = add i32 %427, %426
store i32 %428, i32* %19
%429 = load i32, i32* %16
%430 = shl i32 %429, 30
%431 = load i32, i32* %16
%432 = lshr i32 %431, 2
%433 = or i32 %430, %432
store i32 %433, i32* %16
%434 = load i32, i32* %19
%435 = shl i32 %434, 5
%436 = load i32, i32* %19
%437 = lshr i32 %436, 27
%438 = or i32 %435, %437
%439 = load i32, i32* %17
%440 = load i32, i32* %20
%441 = load i32, i32* %16
%442 = load i32, i32* %17
%443 = xor i32 %441, %442
%444 = and i32 %440, %443
%445 = xor i32 %439, %444
%446 = add i32 %438, %445
%447 = add i32 %446, 1518500249
%448 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%449 = load i32, i32* %448
%450 = add i32 %447, %449
%451 = load i32, i32* %18
%452 = add i32 %451, %450
store i32 %452, i32* %18
%453 = load i32, i32* %20
%454 = shl i32 %453, 30
%455 = load i32, i32* %20
%456 = lshr i32 %455, 2
%457 = or i32 %454, %456
store i32 %457, i32* %20
%458 = load i32, i32* %18
%459 = shl i32 %458, 5
%460 = load i32, i32* %18
%461 = lshr i32 %460, 27
%462 = or i32 %459, %461
%463 = load i32, i32* %16
%464 = load i32, i32* %19
%465 = load i32, i32* %20
%466 = load i32, i32* %16
%467 = xor i32 %465, %466
%468 = and i32 %464, %467
%469 = xor i32 %463, %468
%470 = add i32 %462, %469
%471 = add i32 %470, 1518500249
%472 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%473 = load i32, i32* %472
%474 = add i32 %471, %473
%475 = load i32, i32* %17
%476 = add i32 %475, %474
store i32 %476, i32* %17
%477 = load i32, i32* %19
%478 = shl i32 %477, 30
%479 = load i32, i32* %19
%480 = lshr i32 %479, 2
%481 = or i32 %478, %480
store i32 %481, i32* %19
%482 = load i32, i32* %17
%483 = shl i32 %482, 5
%484 = load i32, i32* %17
%485 = lshr i32 %484, 27
%486 = or i32 %483, %485
%487 = load i32, i32* %20
%488 = load i32, i32* %18
%489 = load i32, i32* %19
%490 = load i32, i32* %20
%491 = xor i32 %489, %490
%492 = and i32 %488, %491
%493 = xor i32 %487, %492
%494 = add i32 %486, %493
%495 = add i32 %494, 1518500249
%496 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%497 = load i32, i32* %496
%498 = add i32 %495, %497
%499 = load i32, i32* %16
%500 = add i32 %499, %498
store i32 %500, i32* %16
%501 = load i32, i32* %18
%502 = shl i32 %501, 30
%503 = load i32, i32* %18
%504 = lshr i32 %503, 2
%505 = or i32 %502, %504
store i32 %505, i32* %18
%506 = load i32, i32* %16
%507 = shl i32 %506, 5
%508 = load i32, i32* %16
%509 = lshr i32 %508, 27
%510 = or i32 %507, %509
%511 = load i32, i32* %19
%512 = load i32, i32* %17
%513 = load i32, i32* %18
%514 = load i32, i32* %19
%515 = xor i32 %513, %514
%516 = and i32 %512, %515
%517 = xor i32 %511, %516
%518 = add i32 %510, %517
%519 = add i32 %518, 1518500249
%520 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%521 = load i32, i32* %520
%522 = add i32 %519, %521
%523 = load i32, i32* %20
%524 = add i32 %523, %522
store i32 %524, i32* %20
%525 = load i32, i32* %17
%526 = shl i32 %525, 30
%527 = load i32, i32* %17
%528 = lshr i32 %527, 2
%529 = or i32 %526, %528
store i32 %529, i32* %17
%530 = load i32, i32* %20
%531 = shl i32 %530, 5
%532 = load i32, i32* %20
%533 = lshr i32 %532, 27
%534 = or i32 %531, %533
%535 = load i32, i32* %18
%536 = load i32, i32* %16
%537 = load i32, i32* %17
%538 = load i32, i32* %18
%539 = xor i32 %537, %538
%540 = and i32 %536, %539
%541 = xor i32 %535, %540
%542 = add i32 %534, %541
%543 = add i32 %542, 1518500249
%544 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%545 = load i32, i32* %544
%546 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%547 = load i32, i32* %546
%548 = xor i32 %545, %547
%549 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%550 = load i32, i32* %549
%551 = xor i32 %548, %550
%552 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%553 = load i32, i32* %552
%554 = xor i32 %551, %553
store i32 %554, i32* %14
%555 = load i32, i32* %14
%556 = shl i32 %555, 1
%557 = load i32, i32* %14
%558 = lshr i32 %557, 31
%559 = or i32 %556, %558
%560 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %559, i32* %560
%561 = add i32 %543, %559
%562 = load i32, i32* %19
%563 = add i32 %562, %561
store i32 %563, i32* %19
%564 = load i32, i32* %16
%565 = shl i32 %564, 30
%566 = load i32, i32* %16
%567 = lshr i32 %566, 2
%568 = or i32 %565, %567
store i32 %568, i32* %16
%569 = load i32, i32* %19
%570 = shl i32 %569, 5
%571 = load i32, i32* %19
%572 = lshr i32 %571, 27
%573 = or i32 %570, %572
%574 = load i32, i32* %17
%575 = load i32, i32* %20
%576 = load i32, i32* %16
%577 = load i32, i32* %17
%578 = xor i32 %576, %577
%579 = and i32 %575, %578
%580 = xor i32 %574, %579
%581 = add i32 %573, %580
%582 = add i32 %581, 1518500249
%583 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%584 = load i32, i32* %583
%585 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%586 = load i32, i32* %585
%587 = xor i32 %584, %586
%588 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%589 = load i32, i32* %588
%590 = xor i32 %587, %589
%591 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%592 = load i32, i32* %591
%593 = xor i32 %590, %592
store i32 %593, i32* %14
%594 = load i32, i32* %14
%595 = shl i32 %594, 1
%596 = load i32, i32* %14
%597 = lshr i32 %596, 31
%598 = or i32 %595, %597
%599 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %598, i32* %599
%600 = add i32 %582, %598
%601 = load i32, i32* %18
%602 = add i32 %601, %600
store i32 %602, i32* %18
%603 = load i32, i32* %20
%604 = shl i32 %603, 30
%605 = load i32, i32* %20
%606 = lshr i32 %605, 2
%607 = or i32 %604, %606
store i32 %607, i32* %20
%608 = load i32, i32* %18
%609 = shl i32 %608, 5
%610 = load i32, i32* %18
%611 = lshr i32 %610, 27
%612 = or i32 %609, %611
%613 = load i32, i32* %16
%614 = load i32, i32* %19
%615 = load i32, i32* %20
%616 = load i32, i32* %16
%617 = xor i32 %615, %616
%618 = and i32 %614, %617
%619 = xor i32 %613, %618
%620 = add i32 %612, %619
%621 = add i32 %620, 1518500249
%622 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%623 = load i32, i32* %622
%624 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%625 = load i32, i32* %624
%626 = xor i32 %623, %625
%627 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%628 = load i32, i32* %627
%629 = xor i32 %626, %628
%630 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%631 = load i32, i32* %630
%632 = xor i32 %629, %631
store i32 %632, i32* %14
%633 = load i32, i32* %14
%634 = shl i32 %633, 1
%635 = load i32, i32* %14
%636 = lshr i32 %635, 31
%637 = or i32 %634, %636
%638 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %637, i32* %638
%639 = add i32 %621, %637
%640 = load i32, i32* %17
%641 = add i32 %640, %639
store i32 %641, i32* %17
%642 = load i32, i32* %19
%643 = shl i32 %642, 30
%644 = load i32, i32* %19
%645 = lshr i32 %644, 2
%646 = or i32 %643, %645
store i32 %646, i32* %19
%647 = load i32, i32* %17
%648 = shl i32 %647, 5
%649 = load i32, i32* %17
%650 = lshr i32 %649, 27
%651 = or i32 %648, %650
%652 = load i32, i32* %20
%653 = load i32, i32* %18
%654 = load i32, i32* %19
%655 = load i32, i32* %20
%656 = xor i32 %654, %655
%657 = and i32 %653, %656
%658 = xor i32 %652, %657
%659 = add i32 %651, %658
%660 = add i32 %659, 1518500249
%661 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%662 = load i32, i32* %661
%663 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%664 = load i32, i32* %663
%665 = xor i32 %662, %664
%666 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%667 = load i32, i32* %666
%668 = xor i32 %665, %667
%669 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%670 = load i32, i32* %669
%671 = xor i32 %668, %670
store i32 %671, i32* %14
%672 = load i32, i32* %14
%673 = shl i32 %672, 1
%674 = load i32, i32* %14
%675 = lshr i32 %674, 31
%676 = or i32 %673, %675
%677 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %676, i32* %677
%678 = add i32 %660, %676
%679 = load i32, i32* %16
%680 = add i32 %679, %678
store i32 %680, i32* %16
%681 = load i32, i32* %18
%682 = shl i32 %681, 30
%683 = load i32, i32* %18
%684 = lshr i32 %683, 2
%685 = or i32 %682, %684
store i32 %685, i32* %18
%686 = load i32, i32* %16
%687 = shl i32 %686, 5
%688 = load i32, i32* %16
%689 = lshr i32 %688, 27
%690 = or i32 %687, %689
%691 = load i32, i32* %17
%692 = load i32, i32* %18
%693 = xor i32 %691, %692
%694 = load i32, i32* %19
%695 = xor i32 %693, %694
%696 = add i32 %690, %695
%697 = add i32 %696, 1859775393
%698 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%699 = load i32, i32* %698
%700 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%701 = load i32, i32* %700
%702 = xor i32 %699, %701
%703 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%704 = load i32, i32* %703
%705 = xor i32 %702, %704
%706 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%707 = load i32, i32* %706
%708 = xor i32 %705, %707
store i32 %708, i32* %14
%709 = load i32, i32* %14
%710 = shl i32 %709, 1
%711 = load i32, i32* %14
%712 = lshr i32 %711, 31
%713 = or i32 %710, %712
%714 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %713, i32* %714
%715 = add i32 %697, %713
%716 = load i32, i32* %20
%717 = add i32 %716, %715
store i32 %717, i32* %20
%718 = load i32, i32* %17
%719 = shl i32 %718, 30
%720 = load i32, i32* %17
%721 = lshr i32 %720, 2
%722 = or i32 %719, %721
store i32 %722, i32* %17
%723 = load i32, i32* %20
%724 = shl i32 %723, 5
%725 = load i32, i32* %20
%726 = lshr i32 %725, 27
%727 = or i32 %724, %726
%728 = load i32, i32* %16
%729 = load i32, i32* %17
%730 = xor i32 %728, %729
%731 = load i32, i32* %18
%732 = xor i32 %730, %731
%733 = add i32 %727, %732
%734 = add i32 %733, 1859775393
%735 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%736 = load i32, i32* %735
%737 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%738 = load i32, i32* %737
%739 = xor i32 %736, %738
%740 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%741 = load i32, i32* %740
%742 = xor i32 %739, %741
%743 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%744 = load i32, i32* %743
%745 = xor i32 %742, %744
store i32 %745, i32* %14
%746 = load i32, i32* %14
%747 = shl i32 %746, 1
%748 = load i32, i32* %14
%749 = lshr i32 %748, 31
%750 = or i32 %747, %749
%751 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %750, i32* %751
%752 = add i32 %734, %750
%753 = load i32, i32* %19
%754 = add i32 %753, %752
store i32 %754, i32* %19
%755 = load i32, i32* %16
%756 = shl i32 %755, 30
%757 = load i32, i32* %16
%758 = lshr i32 %757, 2
%759 = or i32 %756, %758
store i32 %759, i32* %16
%760 = load i32, i32* %19
%761 = shl i32 %760, 5
%762 = load i32, i32* %19
%763 = lshr i32 %762, 27
%764 = or i32 %761, %763
%765 = load i32, i32* %20
%766 = load i32, i32* %16
%767 = xor i32 %765, %766
%768 = load i32, i32* %17
%769 = xor i32 %767, %768
%770 = add i32 %764, %769
%771 = add i32 %770, 1859775393
%772 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%773 = load i32, i32* %772
%774 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%775 = load i32, i32* %774
%776 = xor i32 %773, %775
%777 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%778 = load i32, i32* %777
%779 = xor i32 %776, %778
%780 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%781 = load i32, i32* %780
%782 = xor i32 %779, %781
store i32 %782, i32* %14
%783 = load i32, i32* %14
%784 = shl i32 %783, 1
%785 = load i32, i32* %14
%786 = lshr i32 %785, 31
%787 = or i32 %784, %786
%788 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %787, i32* %788
%789 = add i32 %771, %787
%790 = load i32, i32* %18
%791 = add i32 %790, %789
store i32 %791, i32* %18
%792 = load i32, i32* %20
%793 = shl i32 %792, 30
%794 = load i32, i32* %20
%795 = lshr i32 %794, 2
%796 = or i32 %793, %795
store i32 %796, i32* %20
%797 = load i32, i32* %18
%798 = shl i32 %797, 5
%799 = load i32, i32* %18
%800 = lshr i32 %799, 27
%801 = or i32 %798, %800
%802 = load i32, i32* %19
%803 = load i32, i32* %20
%804 = xor i32 %802, %803
%805 = load i32, i32* %16
%806 = xor i32 %804, %805
%807 = add i32 %801, %806
%808 = add i32 %807, 1859775393
%809 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%810 = load i32, i32* %809
%811 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%812 = load i32, i32* %811
%813 = xor i32 %810, %812
%814 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%815 = load i32, i32* %814
%816 = xor i32 %813, %815
%817 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%818 = load i32, i32* %817
%819 = xor i32 %816, %818
store i32 %819, i32* %14
%820 = load i32, i32* %14
%821 = shl i32 %820, 1
%822 = load i32, i32* %14
%823 = lshr i32 %822, 31
%824 = or i32 %821, %823
%825 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %824, i32* %825
%826 = add i32 %808, %824
%827 = load i32, i32* %17
%828 = add i32 %827, %826
store i32 %828, i32* %17
%829 = load i32, i32* %19
%830 = shl i32 %829, 30
%831 = load i32, i32* %19
%832 = lshr i32 %831, 2
%833 = or i32 %830, %832
store i32 %833, i32* %19
%834 = load i32, i32* %17
%835 = shl i32 %834, 5
%836 = load i32, i32* %17
%837 = lshr i32 %836, 27
%838 = or i32 %835, %837
%839 = load i32, i32* %18
%840 = load i32, i32* %19
%841 = xor i32 %839, %840
%842 = load i32, i32* %20
%843 = xor i32 %841, %842
%844 = add i32 %838, %843
%845 = add i32 %844, 1859775393
%846 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%847 = load i32, i32* %846
%848 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%849 = load i32, i32* %848
%850 = xor i32 %847, %849
%851 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%852 = load i32, i32* %851
%853 = xor i32 %850, %852
%854 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%855 = load i32, i32* %854
%856 = xor i32 %853, %855
store i32 %856, i32* %14
%857 = load i32, i32* %14
%858 = shl i32 %857, 1
%859 = load i32, i32* %14
%860 = lshr i32 %859, 31
%861 = or i32 %858, %860
%862 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %861, i32* %862
%863 = add i32 %845, %861
%864 = load i32, i32* %16
%865 = add i32 %864, %863
store i32 %865, i32* %16
%866 = load i32, i32* %18
%867 = shl i32 %866, 30
%868 = load i32, i32* %18
%869 = lshr i32 %868, 2
%870 = or i32 %867, %869
store i32 %870, i32* %18
%871 = load i32, i32* %16
%872 = shl i32 %871, 5
%873 = load i32, i32* %16
%874 = lshr i32 %873, 27
%875 = or i32 %872, %874
%876 = load i32, i32* %17
%877 = load i32, i32* %18
%878 = xor i32 %876, %877
%879 = load i32, i32* %19
%880 = xor i32 %878, %879
%881 = add i32 %875, %880
%882 = add i32 %881, 1859775393
%883 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%884 = load i32, i32* %883
%885 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%886 = load i32, i32* %885
%887 = xor i32 %884, %886
%888 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%889 = load i32, i32* %888
%890 = xor i32 %887, %889
%891 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%892 = load i32, i32* %891
%893 = xor i32 %890, %892
store i32 %893, i32* %14
%894 = load i32, i32* %14
%895 = shl i32 %894, 1
%896 = load i32, i32* %14
%897 = lshr i32 %896, 31
%898 = or i32 %895, %897
%899 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %898, i32* %899
%900 = add i32 %882, %898
%901 = load i32, i32* %20
%902 = add i32 %901, %900
store i32 %902, i32* %20
%903 = load i32, i32* %17
%904 = shl i32 %903, 30
%905 = load i32, i32* %17
%906 = lshr i32 %905, 2
%907 = or i32 %904, %906
store i32 %907, i32* %17
%908 = load i32, i32* %20
%909 = shl i32 %908, 5
%910 = load i32, i32* %20
%911 = lshr i32 %910, 27
%912 = or i32 %909, %911
%913 = load i32, i32* %16
%914 = load i32, i32* %17
%915 = xor i32 %913, %914
%916 = load i32, i32* %18
%917 = xor i32 %915, %916
%918 = add i32 %912, %917
%919 = add i32 %918, 1859775393
%920 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%921 = load i32, i32* %920
%922 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%923 = load i32, i32* %922
%924 = xor i32 %921, %923
%925 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%926 = load i32, i32* %925
%927 = xor i32 %924, %926
%928 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%929 = load i32, i32* %928
%930 = xor i32 %927, %929
store i32 %930, i32* %14
%931 = load i32, i32* %14
%932 = shl i32 %931, 1
%933 = load i32, i32* %14
%934 = lshr i32 %933, 31
%935 = or i32 %932, %934
%936 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %935, i32* %936
%937 = add i32 %919, %935
%938 = load i32, i32* %19
%939 = add i32 %938, %937
store i32 %939, i32* %19
%940 = load i32, i32* %16
%941 = shl i32 %940, 30
%942 = load i32, i32* %16
%943 = lshr i32 %942, 2
%944 = or i32 %941, %943
store i32 %944, i32* %16
%945 = load i32, i32* %19
%946 = shl i32 %945, 5
%947 = load i32, i32* %19
%948 = lshr i32 %947, 27
%949 = or i32 %946, %948
%950 = load i32, i32* %20
%951 = load i32, i32* %16
%952 = xor i32 %950, %951
%953 = load i32, i32* %17
%954 = xor i32 %952, %953
%955 = add i32 %949, %954
%956 = add i32 %955, 1859775393
%957 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%958 = load i32, i32* %957
%959 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%960 = load i32, i32* %959
%961 = xor i32 %958, %960
%962 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%963 = load i32, i32* %962
%964 = xor i32 %961, %963
%965 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%966 = load i32, i32* %965
%967 = xor i32 %964, %966
store i32 %967, i32* %14
%968 = load i32, i32* %14
%969 = shl i32 %968, 1
%970 = load i32, i32* %14
%971 = lshr i32 %970, 31
%972 = or i32 %969, %971
%973 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %972, i32* %973
%974 = add i32 %956, %972
%975 = load i32, i32* %18
%976 = add i32 %975, %974
store i32 %976, i32* %18
%977 = load i32, i32* %20
%978 = shl i32 %977, 30
%979 = load i32, i32* %20
%980 = lshr i32 %979, 2
%981 = or i32 %978, %980
store i32 %981, i32* %20
%982 = load i32, i32* %18
%983 = shl i32 %982, 5
%984 = load i32, i32* %18
%985 = lshr i32 %984, 27
%986 = or i32 %983, %985
%987 = load i32, i32* %19
%988 = load i32, i32* %20
%989 = xor i32 %987, %988
%990 = load i32, i32* %16
%991 = xor i32 %989, %990
%992 = add i32 %986, %991
%993 = add i32 %992, 1859775393
%994 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%995 = load i32, i32* %994
%996 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%997 = load i32, i32* %996
%998 = xor i32 %995, %997
%999 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1000 = load i32, i32* %999
%1001 = xor i32 %998, %1000
%1002 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1003 = load i32, i32* %1002
%1004 = xor i32 %1001, %1003
store i32 %1004, i32* %14
%1005 = load i32, i32* %14
%1006 = shl i32 %1005, 1
%1007 = load i32, i32* %14
%1008 = lshr i32 %1007, 31
%1009 = or i32 %1006, %1008
%1010 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %1009, i32* %1010
%1011 = add i32 %993, %1009
%1012 = load i32, i32* %17
%1013 = add i32 %1012, %1011
store i32 %1013, i32* %17
%1014 = load i32, i32* %19
%1015 = shl i32 %1014, 30
%1016 = load i32, i32* %19
%1017 = lshr i32 %1016, 2
%1018 = or i32 %1015, %1017
store i32 %1018, i32* %19
%1019 = load i32, i32* %17
%1020 = shl i32 %1019, 5
%1021 = load i32, i32* %17
%1022 = lshr i32 %1021, 27
%1023 = or i32 %1020, %1022
%1024 = load i32, i32* %18
%1025 = load i32, i32* %19
%1026 = xor i32 %1024, %1025
%1027 = load i32, i32* %20
%1028 = xor i32 %1026, %1027
%1029 = add i32 %1023, %1028
%1030 = add i32 %1029, 1859775393
%1031 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1032 = load i32, i32* %1031
%1033 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1034 = load i32, i32* %1033
%1035 = xor i32 %1032, %1034
%1036 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1037 = load i32, i32* %1036
%1038 = xor i32 %1035, %1037
%1039 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1040 = load i32, i32* %1039
%1041 = xor i32 %1038, %1040
store i32 %1041, i32* %14
%1042 = load i32, i32* %14
%1043 = shl i32 %1042, 1
%1044 = load i32, i32* %14
%1045 = lshr i32 %1044, 31
%1046 = or i32 %1043, %1045
%1047 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %1046, i32* %1047
%1048 = add i32 %1030, %1046
%1049 = load i32, i32* %16
%1050 = add i32 %1049, %1048
store i32 %1050, i32* %16
%1051 = load i32, i32* %18
%1052 = shl i32 %1051, 30
%1053 = load i32, i32* %18
%1054 = lshr i32 %1053, 2
%1055 = or i32 %1052, %1054
store i32 %1055, i32* %18
%1056 = load i32, i32* %16
%1057 = shl i32 %1056, 5
%1058 = load i32, i32* %16
%1059 = lshr i32 %1058, 27
%1060 = or i32 %1057, %1059
%1061 = load i32, i32* %17
%1062 = load i32, i32* %18
%1063 = xor i32 %1061, %1062
%1064 = load i32, i32* %19
%1065 = xor i32 %1063, %1064
%1066 = add i32 %1060, %1065
%1067 = add i32 %1066, 1859775393
%1068 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1069 = load i32, i32* %1068
%1070 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1071 = load i32, i32* %1070
%1072 = xor i32 %1069, %1071
%1073 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1074 = load i32, i32* %1073
%1075 = xor i32 %1072, %1074
%1076 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1077 = load i32, i32* %1076
%1078 = xor i32 %1075, %1077
store i32 %1078, i32* %14
%1079 = load i32, i32* %14
%1080 = shl i32 %1079, 1
%1081 = load i32, i32* %14
%1082 = lshr i32 %1081, 31
%1083 = or i32 %1080, %1082
%1084 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %1083, i32* %1084
%1085 = add i32 %1067, %1083
%1086 = load i32, i32* %20
%1087 = add i32 %1086, %1085
store i32 %1087, i32* %20
%1088 = load i32, i32* %17
%1089 = shl i32 %1088, 30
%1090 = load i32, i32* %17
%1091 = lshr i32 %1090, 2
%1092 = or i32 %1089, %1091
store i32 %1092, i32* %17
%1093 = load i32, i32* %20
%1094 = shl i32 %1093, 5
%1095 = load i32, i32* %20
%1096 = lshr i32 %1095, 27
%1097 = or i32 %1094, %1096
%1098 = load i32, i32* %16
%1099 = load i32, i32* %17
%1100 = xor i32 %1098, %1099
%1101 = load i32, i32* %18
%1102 = xor i32 %1100, %1101
%1103 = add i32 %1097, %1102
%1104 = add i32 %1103, 1859775393
%1105 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1106 = load i32, i32* %1105
%1107 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1108 = load i32, i32* %1107
%1109 = xor i32 %1106, %1108
%1110 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1111 = load i32, i32* %1110
%1112 = xor i32 %1109, %1111
%1113 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1114 = load i32, i32* %1113
%1115 = xor i32 %1112, %1114
store i32 %1115, i32* %14
%1116 = load i32, i32* %14
%1117 = shl i32 %1116, 1
%1118 = load i32, i32* %14
%1119 = lshr i32 %1118, 31
%1120 = or i32 %1117, %1119
%1121 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %1120, i32* %1121
%1122 = add i32 %1104, %1120
%1123 = load i32, i32* %19
%1124 = add i32 %1123, %1122
store i32 %1124, i32* %19
%1125 = load i32, i32* %16
%1126 = shl i32 %1125, 30
%1127 = load i32, i32* %16
%1128 = lshr i32 %1127, 2
%1129 = or i32 %1126, %1128
store i32 %1129, i32* %16
%1130 = load i32, i32* %19
%1131 = shl i32 %1130, 5
%1132 = load i32, i32* %19
%1133 = lshr i32 %1132, 27
%1134 = or i32 %1131, %1133
%1135 = load i32, i32* %20
%1136 = load i32, i32* %16
%1137 = xor i32 %1135, %1136
%1138 = load i32, i32* %17
%1139 = xor i32 %1137, %1138
%1140 = add i32 %1134, %1139
%1141 = add i32 %1140, 1859775393
%1142 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1143 = load i32, i32* %1142
%1144 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%1145 = load i32, i32* %1144
%1146 = xor i32 %1143, %1145
%1147 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1148 = load i32, i32* %1147
%1149 = xor i32 %1146, %1148
%1150 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1151 = load i32, i32* %1150
%1152 = xor i32 %1149, %1151
store i32 %1152, i32* %14
%1153 = load i32, i32* %14
%1154 = shl i32 %1153, 1
%1155 = load i32, i32* %14
%1156 = lshr i32 %1155, 31
%1157 = or i32 %1154, %1156
%1158 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %1157, i32* %1158
%1159 = add i32 %1141, %1157
%1160 = load i32, i32* %18
%1161 = add i32 %1160, %1159
store i32 %1161, i32* %18
%1162 = load i32, i32* %20
%1163 = shl i32 %1162, 30
%1164 = load i32, i32* %20
%1165 = lshr i32 %1164, 2
%1166 = or i32 %1163, %1165
store i32 %1166, i32* %20
%1167 = load i32, i32* %18
%1168 = shl i32 %1167, 5
%1169 = load i32, i32* %18
%1170 = lshr i32 %1169, 27
%1171 = or i32 %1168, %1170
%1172 = load i32, i32* %19
%1173 = load i32, i32* %20
%1174 = xor i32 %1172, %1173
%1175 = load i32, i32* %16
%1176 = xor i32 %1174, %1175
%1177 = add i32 %1171, %1176
%1178 = add i32 %1177, 1859775393
%1179 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1180 = load i32, i32* %1179
%1181 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%1182 = load i32, i32* %1181
%1183 = xor i32 %1180, %1182
%1184 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1185 = load i32, i32* %1184
%1186 = xor i32 %1183, %1185
%1187 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1188 = load i32, i32* %1187
%1189 = xor i32 %1186, %1188
store i32 %1189, i32* %14
%1190 = load i32, i32* %14
%1191 = shl i32 %1190, 1
%1192 = load i32, i32* %14
%1193 = lshr i32 %1192, 31
%1194 = or i32 %1191, %1193
%1195 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %1194, i32* %1195
%1196 = add i32 %1178, %1194
%1197 = load i32, i32* %17
%1198 = add i32 %1197, %1196
store i32 %1198, i32* %17
%1199 = load i32, i32* %19
%1200 = shl i32 %1199, 30
%1201 = load i32, i32* %19
%1202 = lshr i32 %1201, 2
%1203 = or i32 %1200, %1202
store i32 %1203, i32* %19
%1204 = load i32, i32* %17
%1205 = shl i32 %1204, 5
%1206 = load i32, i32* %17
%1207 = lshr i32 %1206, 27
%1208 = or i32 %1205, %1207
%1209 = load i32, i32* %18
%1210 = load i32, i32* %19
%1211 = xor i32 %1209, %1210
%1212 = load i32, i32* %20
%1213 = xor i32 %1211, %1212
%1214 = add i32 %1208, %1213
%1215 = add i32 %1214, 1859775393
%1216 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1217 = load i32, i32* %1216
%1218 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1219 = load i32, i32* %1218
%1220 = xor i32 %1217, %1219
%1221 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1222 = load i32, i32* %1221
%1223 = xor i32 %1220, %1222
%1224 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1225 = load i32, i32* %1224
%1226 = xor i32 %1223, %1225
store i32 %1226, i32* %14
%1227 = load i32, i32* %14
%1228 = shl i32 %1227, 1
%1229 = load i32, i32* %14
%1230 = lshr i32 %1229, 31
%1231 = or i32 %1228, %1230
%1232 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %1231, i32* %1232
%1233 = add i32 %1215, %1231
%1234 = load i32, i32* %16
%1235 = add i32 %1234, %1233
store i32 %1235, i32* %16
%1236 = load i32, i32* %18
%1237 = shl i32 %1236, 30
%1238 = load i32, i32* %18
%1239 = lshr i32 %1238, 2
%1240 = or i32 %1237, %1239
store i32 %1240, i32* %18
%1241 = load i32, i32* %16
%1242 = shl i32 %1241, 5
%1243 = load i32, i32* %16
%1244 = lshr i32 %1243, 27
%1245 = or i32 %1242, %1244
%1246 = load i32, i32* %17
%1247 = load i32, i32* %18
%1248 = xor i32 %1246, %1247
%1249 = load i32, i32* %19
%1250 = xor i32 %1248, %1249
%1251 = add i32 %1245, %1250
%1252 = add i32 %1251, 1859775393
%1253 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1254 = load i32, i32* %1253
%1255 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1256 = load i32, i32* %1255
%1257 = xor i32 %1254, %1256
%1258 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1259 = load i32, i32* %1258
%1260 = xor i32 %1257, %1259
%1261 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1262 = load i32, i32* %1261
%1263 = xor i32 %1260, %1262
store i32 %1263, i32* %14
%1264 = load i32, i32* %14
%1265 = shl i32 %1264, 1
%1266 = load i32, i32* %14
%1267 = lshr i32 %1266, 31
%1268 = or i32 %1265, %1267
%1269 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %1268, i32* %1269
%1270 = add i32 %1252, %1268
%1271 = load i32, i32* %20
%1272 = add i32 %1271, %1270
store i32 %1272, i32* %20
%1273 = load i32, i32* %17
%1274 = shl i32 %1273, 30
%1275 = load i32, i32* %17
%1276 = lshr i32 %1275, 2
%1277 = or i32 %1274, %1276
store i32 %1277, i32* %17
%1278 = load i32, i32* %20
%1279 = shl i32 %1278, 5
%1280 = load i32, i32* %20
%1281 = lshr i32 %1280, 27
%1282 = or i32 %1279, %1281
%1283 = load i32, i32* %16
%1284 = load i32, i32* %17
%1285 = xor i32 %1283, %1284
%1286 = load i32, i32* %18
%1287 = xor i32 %1285, %1286
%1288 = add i32 %1282, %1287
%1289 = add i32 %1288, 1859775393
%1290 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1291 = load i32, i32* %1290
%1292 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1293 = load i32, i32* %1292
%1294 = xor i32 %1291, %1293
%1295 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1296 = load i32, i32* %1295
%1297 = xor i32 %1294, %1296
%1298 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1299 = load i32, i32* %1298
%1300 = xor i32 %1297, %1299
store i32 %1300, i32* %14
%1301 = load i32, i32* %14
%1302 = shl i32 %1301, 1
%1303 = load i32, i32* %14
%1304 = lshr i32 %1303, 31
%1305 = or i32 %1302, %1304
%1306 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %1305, i32* %1306
%1307 = add i32 %1289, %1305
%1308 = load i32, i32* %19
%1309 = add i32 %1308, %1307
store i32 %1309, i32* %19
%1310 = load i32, i32* %16
%1311 = shl i32 %1310, 30
%1312 = load i32, i32* %16
%1313 = lshr i32 %1312, 2
%1314 = or i32 %1311, %1313
store i32 %1314, i32* %16
%1315 = load i32, i32* %19
%1316 = shl i32 %1315, 5
%1317 = load i32, i32* %19
%1318 = lshr i32 %1317, 27
%1319 = or i32 %1316, %1318
%1320 = load i32, i32* %20
%1321 = load i32, i32* %16
%1322 = xor i32 %1320, %1321
%1323 = load i32, i32* %17
%1324 = xor i32 %1322, %1323
%1325 = add i32 %1319, %1324
%1326 = add i32 %1325, 1859775393
%1327 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1328 = load i32, i32* %1327
%1329 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1330 = load i32, i32* %1329
%1331 = xor i32 %1328, %1330
%1332 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1333 = load i32, i32* %1332
%1334 = xor i32 %1331, %1333
%1335 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1336 = load i32, i32* %1335
%1337 = xor i32 %1334, %1336
store i32 %1337, i32* %14
%1338 = load i32, i32* %14
%1339 = shl i32 %1338, 1
%1340 = load i32, i32* %14
%1341 = lshr i32 %1340, 31
%1342 = or i32 %1339, %1341
%1343 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %1342, i32* %1343
%1344 = add i32 %1326, %1342
%1345 = load i32, i32* %18
%1346 = add i32 %1345, %1344
store i32 %1346, i32* %18
%1347 = load i32, i32* %20
%1348 = shl i32 %1347, 30
%1349 = load i32, i32* %20
%1350 = lshr i32 %1349, 2
%1351 = or i32 %1348, %1350
store i32 %1351, i32* %20
%1352 = load i32, i32* %18
%1353 = shl i32 %1352, 5
%1354 = load i32, i32* %18
%1355 = lshr i32 %1354, 27
%1356 = or i32 %1353, %1355
%1357 = load i32, i32* %19
%1358 = load i32, i32* %20
%1359 = xor i32 %1357, %1358
%1360 = load i32, i32* %16
%1361 = xor i32 %1359, %1360
%1362 = add i32 %1356, %1361
%1363 = add i32 %1362, 1859775393
%1364 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1365 = load i32, i32* %1364
%1366 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1367 = load i32, i32* %1366
%1368 = xor i32 %1365, %1367
%1369 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%1370 = load i32, i32* %1369
%1371 = xor i32 %1368, %1370
%1372 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1373 = load i32, i32* %1372
%1374 = xor i32 %1371, %1373
store i32 %1374, i32* %14
%1375 = load i32, i32* %14
%1376 = shl i32 %1375, 1
%1377 = load i32, i32* %14
%1378 = lshr i32 %1377, 31
%1379 = or i32 %1376, %1378
%1380 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %1379, i32* %1380
%1381 = add i32 %1363, %1379
%1382 = load i32, i32* %17
%1383 = add i32 %1382, %1381
store i32 %1383, i32* %17
%1384 = load i32, i32* %19
%1385 = shl i32 %1384, 30
%1386 = load i32, i32* %19
%1387 = lshr i32 %1386, 2
%1388 = or i32 %1385, %1387
store i32 %1388, i32* %19
%1389 = load i32, i32* %17
%1390 = shl i32 %1389, 5
%1391 = load i32, i32* %17
%1392 = lshr i32 %1391, 27
%1393 = or i32 %1390, %1392
%1394 = load i32, i32* %18
%1395 = load i32, i32* %19
%1396 = xor i32 %1394, %1395
%1397 = load i32, i32* %20
%1398 = xor i32 %1396, %1397
%1399 = add i32 %1393, %1398
%1400 = add i32 %1399, 1859775393
%1401 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1402 = load i32, i32* %1401
%1403 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1404 = load i32, i32* %1403
%1405 = xor i32 %1402, %1404
%1406 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%1407 = load i32, i32* %1406
%1408 = xor i32 %1405, %1407
%1409 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1410 = load i32, i32* %1409
%1411 = xor i32 %1408, %1410
store i32 %1411, i32* %14
%1412 = load i32, i32* %14
%1413 = shl i32 %1412, 1
%1414 = load i32, i32* %14
%1415 = lshr i32 %1414, 31
%1416 = or i32 %1413, %1415
%1417 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %1416, i32* %1417
%1418 = add i32 %1400, %1416
%1419 = load i32, i32* %16
%1420 = add i32 %1419, %1418
store i32 %1420, i32* %16
%1421 = load i32, i32* %18
%1422 = shl i32 %1421, 30
%1423 = load i32, i32* %18
%1424 = lshr i32 %1423, 2
%1425 = or i32 %1422, %1424
store i32 %1425, i32* %18
%1426 = load i32, i32* %16
%1427 = shl i32 %1426, 5
%1428 = load i32, i32* %16
%1429 = lshr i32 %1428, 27
%1430 = or i32 %1427, %1429
%1431 = load i32, i32* %17
%1432 = load i32, i32* %18
%1433 = and i32 %1431, %1432
%1434 = load i32, i32* %19
%1435 = load i32, i32* %17
%1436 = load i32, i32* %18
%1437 = or i32 %1435, %1436
%1438 = and i32 %1434, %1437
%1439 = or i32 %1433, %1438
%1440 = add i32 %1430, %1439
%1441 = add i32 %1440, -1894007588
%1442 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1443 = load i32, i32* %1442
%1444 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1445 = load i32, i32* %1444
%1446 = xor i32 %1443, %1445
%1447 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1448 = load i32, i32* %1447
%1449 = xor i32 %1446, %1448
%1450 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%1451 = load i32, i32* %1450
%1452 = xor i32 %1449, %1451
store i32 %1452, i32* %14
%1453 = load i32, i32* %14
%1454 = shl i32 %1453, 1
%1455 = load i32, i32* %14
%1456 = lshr i32 %1455, 31
%1457 = or i32 %1454, %1456
%1458 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %1457, i32* %1458
%1459 = add i32 %1441, %1457
%1460 = load i32, i32* %20
%1461 = add i32 %1460, %1459
store i32 %1461, i32* %20
%1462 = load i32, i32* %17
%1463 = shl i32 %1462, 30
%1464 = load i32, i32* %17
%1465 = lshr i32 %1464, 2
%1466 = or i32 %1463, %1465
store i32 %1466, i32* %17
%1467 = load i32, i32* %20
%1468 = shl i32 %1467, 5
%1469 = load i32, i32* %20
%1470 = lshr i32 %1469, 27
%1471 = or i32 %1468, %1470
%1472 = load i32, i32* %16
%1473 = load i32, i32* %17
%1474 = and i32 %1472, %1473
%1475 = load i32, i32* %18
%1476 = load i32, i32* %16
%1477 = load i32, i32* %17
%1478 = or i32 %1476, %1477
%1479 = and i32 %1475, %1478
%1480 = or i32 %1474, %1479
%1481 = add i32 %1471, %1480
%1482 = add i32 %1481, -1894007588
%1483 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1484 = load i32, i32* %1483
%1485 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1486 = load i32, i32* %1485
%1487 = xor i32 %1484, %1486
%1488 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1489 = load i32, i32* %1488
%1490 = xor i32 %1487, %1489
%1491 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%1492 = load i32, i32* %1491
%1493 = xor i32 %1490, %1492
store i32 %1493, i32* %14
%1494 = load i32, i32* %14
%1495 = shl i32 %1494, 1
%1496 = load i32, i32* %14
%1497 = lshr i32 %1496, 31
%1498 = or i32 %1495, %1497
%1499 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %1498, i32* %1499
%1500 = add i32 %1482, %1498
%1501 = load i32, i32* %19
%1502 = add i32 %1501, %1500
store i32 %1502, i32* %19
%1503 = load i32, i32* %16
%1504 = shl i32 %1503, 30
%1505 = load i32, i32* %16
%1506 = lshr i32 %1505, 2
%1507 = or i32 %1504, %1506
store i32 %1507, i32* %16
%1508 = load i32, i32* %19
%1509 = shl i32 %1508, 5
%1510 = load i32, i32* %19
%1511 = lshr i32 %1510, 27
%1512 = or i32 %1509, %1511
%1513 = load i32, i32* %20
%1514 = load i32, i32* %16
%1515 = and i32 %1513, %1514
%1516 = load i32, i32* %17
%1517 = load i32, i32* %20
%1518 = load i32, i32* %16
%1519 = or i32 %1517, %1518
%1520 = and i32 %1516, %1519
%1521 = or i32 %1515, %1520
%1522 = add i32 %1512, %1521
%1523 = add i32 %1522, -1894007588
%1524 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1525 = load i32, i32* %1524
%1526 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1527 = load i32, i32* %1526
%1528 = xor i32 %1525, %1527
%1529 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1530 = load i32, i32* %1529
%1531 = xor i32 %1528, %1530
%1532 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1533 = load i32, i32* %1532
%1534 = xor i32 %1531, %1533
store i32 %1534, i32* %14
%1535 = load i32, i32* %14
%1536 = shl i32 %1535, 1
%1537 = load i32, i32* %14
%1538 = lshr i32 %1537, 31
%1539 = or i32 %1536, %1538
%1540 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %1539, i32* %1540
%1541 = add i32 %1523, %1539
%1542 = load i32, i32* %18
%1543 = add i32 %1542, %1541
store i32 %1543, i32* %18
%1544 = load i32, i32* %20
%1545 = shl i32 %1544, 30
%1546 = load i32, i32* %20
%1547 = lshr i32 %1546, 2
%1548 = or i32 %1545, %1547
store i32 %1548, i32* %20
%1549 = load i32, i32* %18
%1550 = shl i32 %1549, 5
%1551 = load i32, i32* %18
%1552 = lshr i32 %1551, 27
%1553 = or i32 %1550, %1552
%1554 = load i32, i32* %19
%1555 = load i32, i32* %20
%1556 = and i32 %1554, %1555
%1557 = load i32, i32* %16
%1558 = load i32, i32* %19
%1559 = load i32, i32* %20
%1560 = or i32 %1558, %1559
%1561 = and i32 %1557, %1560
%1562 = or i32 %1556, %1561
%1563 = add i32 %1553, %1562
%1564 = add i32 %1563, -1894007588
%1565 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%1566 = load i32, i32* %1565
%1567 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1568 = load i32, i32* %1567
%1569 = xor i32 %1566, %1568
%1570 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1571 = load i32, i32* %1570
%1572 = xor i32 %1569, %1571
%1573 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1574 = load i32, i32* %1573
%1575 = xor i32 %1572, %1574
store i32 %1575, i32* %14
%1576 = load i32, i32* %14
%1577 = shl i32 %1576, 1
%1578 = load i32, i32* %14
%1579 = lshr i32 %1578, 31
%1580 = or i32 %1577, %1579
%1581 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %1580, i32* %1581
%1582 = add i32 %1564, %1580
%1583 = load i32, i32* %17
%1584 = add i32 %1583, %1582
store i32 %1584, i32* %17
%1585 = load i32, i32* %19
%1586 = shl i32 %1585, 30
%1587 = load i32, i32* %19
%1588 = lshr i32 %1587, 2
%1589 = or i32 %1586, %1588
store i32 %1589, i32* %19
%1590 = load i32, i32* %17
%1591 = shl i32 %1590, 5
%1592 = load i32, i32* %17
%1593 = lshr i32 %1592, 27
%1594 = or i32 %1591, %1593
%1595 = load i32, i32* %18
%1596 = load i32, i32* %19
%1597 = and i32 %1595, %1596
%1598 = load i32, i32* %20
%1599 = load i32, i32* %18
%1600 = load i32, i32* %19
%1601 = or i32 %1599, %1600
%1602 = and i32 %1598, %1601
%1603 = or i32 %1597, %1602
%1604 = add i32 %1594, %1603
%1605 = add i32 %1604, -1894007588
%1606 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%1607 = load i32, i32* %1606
%1608 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1609 = load i32, i32* %1608
%1610 = xor i32 %1607, %1609
%1611 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1612 = load i32, i32* %1611
%1613 = xor i32 %1610, %1612
%1614 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1615 = load i32, i32* %1614
%1616 = xor i32 %1613, %1615
store i32 %1616, i32* %14
%1617 = load i32, i32* %14
%1618 = shl i32 %1617, 1
%1619 = load i32, i32* %14
%1620 = lshr i32 %1619, 31
%1621 = or i32 %1618, %1620
%1622 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %1621, i32* %1622
%1623 = add i32 %1605, %1621
%1624 = load i32, i32* %16
%1625 = add i32 %1624, %1623
store i32 %1625, i32* %16
%1626 = load i32, i32* %18
%1627 = shl i32 %1626, 30
%1628 = load i32, i32* %18
%1629 = lshr i32 %1628, 2
%1630 = or i32 %1627, %1629
store i32 %1630, i32* %18
%1631 = load i32, i32* %16
%1632 = shl i32 %1631, 5
%1633 = load i32, i32* %16
%1634 = lshr i32 %1633, 27
%1635 = or i32 %1632, %1634
%1636 = load i32, i32* %17
%1637 = load i32, i32* %18
%1638 = and i32 %1636, %1637
%1639 = load i32, i32* %19
%1640 = load i32, i32* %17
%1641 = load i32, i32* %18
%1642 = or i32 %1640, %1641
%1643 = and i32 %1639, %1642
%1644 = or i32 %1638, %1643
%1645 = add i32 %1635, %1644
%1646 = add i32 %1645, -1894007588
%1647 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1648 = load i32, i32* %1647
%1649 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1650 = load i32, i32* %1649
%1651 = xor i32 %1648, %1650
%1652 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1653 = load i32, i32* %1652
%1654 = xor i32 %1651, %1653
%1655 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1656 = load i32, i32* %1655
%1657 = xor i32 %1654, %1656
store i32 %1657, i32* %14
%1658 = load i32, i32* %14
%1659 = shl i32 %1658, 1
%1660 = load i32, i32* %14
%1661 = lshr i32 %1660, 31
%1662 = or i32 %1659, %1661
%1663 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %1662, i32* %1663
%1664 = add i32 %1646, %1662
%1665 = load i32, i32* %20
%1666 = add i32 %1665, %1664
store i32 %1666, i32* %20
%1667 = load i32, i32* %17
%1668 = shl i32 %1667, 30
%1669 = load i32, i32* %17
%1670 = lshr i32 %1669, 2
%1671 = or i32 %1668, %1670
store i32 %1671, i32* %17
%1672 = load i32, i32* %20
%1673 = shl i32 %1672, 5
%1674 = load i32, i32* %20
%1675 = lshr i32 %1674, 27
%1676 = or i32 %1673, %1675
%1677 = load i32, i32* %16
%1678 = load i32, i32* %17
%1679 = and i32 %1677, %1678
%1680 = load i32, i32* %18
%1681 = load i32, i32* %16
%1682 = load i32, i32* %17
%1683 = or i32 %1681, %1682
%1684 = and i32 %1680, %1683
%1685 = or i32 %1679, %1684
%1686 = add i32 %1676, %1685
%1687 = add i32 %1686, -1894007588
%1688 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1689 = load i32, i32* %1688
%1690 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1691 = load i32, i32* %1690
%1692 = xor i32 %1689, %1691
%1693 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1694 = load i32, i32* %1693
%1695 = xor i32 %1692, %1694
%1696 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1697 = load i32, i32* %1696
%1698 = xor i32 %1695, %1697
store i32 %1698, i32* %14
%1699 = load i32, i32* %14
%1700 = shl i32 %1699, 1
%1701 = load i32, i32* %14
%1702 = lshr i32 %1701, 31
%1703 = or i32 %1700, %1702
%1704 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %1703, i32* %1704
%1705 = add i32 %1687, %1703
%1706 = load i32, i32* %19
%1707 = add i32 %1706, %1705
store i32 %1707, i32* %19
%1708 = load i32, i32* %16
%1709 = shl i32 %1708, 30
%1710 = load i32, i32* %16
%1711 = lshr i32 %1710, 2
%1712 = or i32 %1709, %1711
store i32 %1712, i32* %16
%1713 = load i32, i32* %19
%1714 = shl i32 %1713, 5
%1715 = load i32, i32* %19
%1716 = lshr i32 %1715, 27
%1717 = or i32 %1714, %1716
%1718 = load i32, i32* %20
%1719 = load i32, i32* %16
%1720 = and i32 %1718, %1719
%1721 = load i32, i32* %17
%1722 = load i32, i32* %20
%1723 = load i32, i32* %16
%1724 = or i32 %1722, %1723
%1725 = and i32 %1721, %1724
%1726 = or i32 %1720, %1725
%1727 = add i32 %1717, %1726
%1728 = add i32 %1727, -1894007588
%1729 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1730 = load i32, i32* %1729
%1731 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1732 = load i32, i32* %1731
%1733 = xor i32 %1730, %1732
%1734 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1735 = load i32, i32* %1734
%1736 = xor i32 %1733, %1735
%1737 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1738 = load i32, i32* %1737
%1739 = xor i32 %1736, %1738
store i32 %1739, i32* %14
%1740 = load i32, i32* %14
%1741 = shl i32 %1740, 1
%1742 = load i32, i32* %14
%1743 = lshr i32 %1742, 31
%1744 = or i32 %1741, %1743
%1745 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %1744, i32* %1745
%1746 = add i32 %1728, %1744
%1747 = load i32, i32* %18
%1748 = add i32 %1747, %1746
store i32 %1748, i32* %18
%1749 = load i32, i32* %20
%1750 = shl i32 %1749, 30
%1751 = load i32, i32* %20
%1752 = lshr i32 %1751, 2
%1753 = or i32 %1750, %1752
store i32 %1753, i32* %20
%1754 = load i32, i32* %18
%1755 = shl i32 %1754, 5
%1756 = load i32, i32* %18
%1757 = lshr i32 %1756, 27
%1758 = or i32 %1755, %1757
%1759 = load i32, i32* %19
%1760 = load i32, i32* %20
%1761 = and i32 %1759, %1760
%1762 = load i32, i32* %16
%1763 = load i32, i32* %19
%1764 = load i32, i32* %20
%1765 = or i32 %1763, %1764
%1766 = and i32 %1762, %1765
%1767 = or i32 %1761, %1766
%1768 = add i32 %1758, %1767
%1769 = add i32 %1768, -1894007588
%1770 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1771 = load i32, i32* %1770
%1772 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%1773 = load i32, i32* %1772
%1774 = xor i32 %1771, %1773
%1775 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1776 = load i32, i32* %1775
%1777 = xor i32 %1774, %1776
%1778 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1779 = load i32, i32* %1778
%1780 = xor i32 %1777, %1779
store i32 %1780, i32* %14
%1781 = load i32, i32* %14
%1782 = shl i32 %1781, 1
%1783 = load i32, i32* %14
%1784 = lshr i32 %1783, 31
%1785 = or i32 %1782, %1784
%1786 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %1785, i32* %1786
%1787 = add i32 %1769, %1785
%1788 = load i32, i32* %17
%1789 = add i32 %1788, %1787
store i32 %1789, i32* %17
%1790 = load i32, i32* %19
%1791 = shl i32 %1790, 30
%1792 = load i32, i32* %19
%1793 = lshr i32 %1792, 2
%1794 = or i32 %1791, %1793
store i32 %1794, i32* %19
%1795 = load i32, i32* %17
%1796 = shl i32 %1795, 5
%1797 = load i32, i32* %17
%1798 = lshr i32 %1797, 27
%1799 = or i32 %1796, %1798
%1800 = load i32, i32* %18
%1801 = load i32, i32* %19
%1802 = and i32 %1800, %1801
%1803 = load i32, i32* %20
%1804 = load i32, i32* %18
%1805 = load i32, i32* %19
%1806 = or i32 %1804, %1805
%1807 = and i32 %1803, %1806
%1808 = or i32 %1802, %1807
%1809 = add i32 %1799, %1808
%1810 = add i32 %1809, -1894007588
%1811 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%1812 = load i32, i32* %1811
%1813 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%1814 = load i32, i32* %1813
%1815 = xor i32 %1812, %1814
%1816 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1817 = load i32, i32* %1816
%1818 = xor i32 %1815, %1817
%1819 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1820 = load i32, i32* %1819
%1821 = xor i32 %1818, %1820
store i32 %1821, i32* %14
%1822 = load i32, i32* %14
%1823 = shl i32 %1822, 1
%1824 = load i32, i32* %14
%1825 = lshr i32 %1824, 31
%1826 = or i32 %1823, %1825
%1827 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %1826, i32* %1827
%1828 = add i32 %1810, %1826
%1829 = load i32, i32* %16
%1830 = add i32 %1829, %1828
store i32 %1830, i32* %16
%1831 = load i32, i32* %18
%1832 = shl i32 %1831, 30
%1833 = load i32, i32* %18
%1834 = lshr i32 %1833, 2
%1835 = or i32 %1832, %1834
store i32 %1835, i32* %18
%1836 = load i32, i32* %16
%1837 = shl i32 %1836, 5
%1838 = load i32, i32* %16
%1839 = lshr i32 %1838, 27
%1840 = or i32 %1837, %1839
%1841 = load i32, i32* %17
%1842 = load i32, i32* %18
%1843 = and i32 %1841, %1842
%1844 = load i32, i32* %19
%1845 = load i32, i32* %17
%1846 = load i32, i32* %18
%1847 = or i32 %1845, %1846
%1848 = and i32 %1844, %1847
%1849 = or i32 %1843, %1848
%1850 = add i32 %1840, %1849
%1851 = add i32 %1850, -1894007588
%1852 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%1853 = load i32, i32* %1852
%1854 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%1855 = load i32, i32* %1854
%1856 = xor i32 %1853, %1855
%1857 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1858 = load i32, i32* %1857
%1859 = xor i32 %1856, %1858
%1860 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1861 = load i32, i32* %1860
%1862 = xor i32 %1859, %1861
store i32 %1862, i32* %14
%1863 = load i32, i32* %14
%1864 = shl i32 %1863, 1
%1865 = load i32, i32* %14
%1866 = lshr i32 %1865, 31
%1867 = or i32 %1864, %1866
%1868 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %1867, i32* %1868
%1869 = add i32 %1851, %1867
%1870 = load i32, i32* %20
%1871 = add i32 %1870, %1869
store i32 %1871, i32* %20
%1872 = load i32, i32* %17
%1873 = shl i32 %1872, 30
%1874 = load i32, i32* %17
%1875 = lshr i32 %1874, 2
%1876 = or i32 %1873, %1875
store i32 %1876, i32* %17
%1877 = load i32, i32* %20
%1878 = shl i32 %1877, 5
%1879 = load i32, i32* %20
%1880 = lshr i32 %1879, 27
%1881 = or i32 %1878, %1880
%1882 = load i32, i32* %16
%1883 = load i32, i32* %17
%1884 = and i32 %1882, %1883
%1885 = load i32, i32* %18
%1886 = load i32, i32* %16
%1887 = load i32, i32* %17
%1888 = or i32 %1886, %1887
%1889 = and i32 %1885, %1888
%1890 = or i32 %1884, %1889
%1891 = add i32 %1881, %1890
%1892 = add i32 %1891, -1894007588
%1893 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%1894 = load i32, i32* %1893
%1895 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%1896 = load i32, i32* %1895
%1897 = xor i32 %1894, %1896
%1898 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1899 = load i32, i32* %1898
%1900 = xor i32 %1897, %1899
%1901 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%1902 = load i32, i32* %1901
%1903 = xor i32 %1900, %1902
store i32 %1903, i32* %14
%1904 = load i32, i32* %14
%1905 = shl i32 %1904, 1
%1906 = load i32, i32* %14
%1907 = lshr i32 %1906, 31
%1908 = or i32 %1905, %1907
%1909 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %1908, i32* %1909
%1910 = add i32 %1892, %1908
%1911 = load i32, i32* %19
%1912 = add i32 %1911, %1910
store i32 %1912, i32* %19
%1913 = load i32, i32* %16
%1914 = shl i32 %1913, 30
%1915 = load i32, i32* %16
%1916 = lshr i32 %1915, 2
%1917 = or i32 %1914, %1916
store i32 %1917, i32* %16
%1918 = load i32, i32* %19
%1919 = shl i32 %1918, 5
%1920 = load i32, i32* %19
%1921 = lshr i32 %1920, 27
%1922 = or i32 %1919, %1921
%1923 = load i32, i32* %20
%1924 = load i32, i32* %16
%1925 = and i32 %1923, %1924
%1926 = load i32, i32* %17
%1927 = load i32, i32* %20
%1928 = load i32, i32* %16
%1929 = or i32 %1927, %1928
%1930 = and i32 %1926, %1929
%1931 = or i32 %1925, %1930
%1932 = add i32 %1922, %1931
%1933 = add i32 %1932, -1894007588
%1934 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%1935 = load i32, i32* %1934
%1936 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%1937 = load i32, i32* %1936
%1938 = xor i32 %1935, %1937
%1939 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%1940 = load i32, i32* %1939
%1941 = xor i32 %1938, %1940
%1942 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%1943 = load i32, i32* %1942
%1944 = xor i32 %1941, %1943
store i32 %1944, i32* %14
%1945 = load i32, i32* %14
%1946 = shl i32 %1945, 1
%1947 = load i32, i32* %14
%1948 = lshr i32 %1947, 31
%1949 = or i32 %1946, %1948
%1950 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %1949, i32* %1950
%1951 = add i32 %1933, %1949
%1952 = load i32, i32* %18
%1953 = add i32 %1952, %1951
store i32 %1953, i32* %18
%1954 = load i32, i32* %20
%1955 = shl i32 %1954, 30
%1956 = load i32, i32* %20
%1957 = lshr i32 %1956, 2
%1958 = or i32 %1955, %1957
store i32 %1958, i32* %20
%1959 = load i32, i32* %18
%1960 = shl i32 %1959, 5
%1961 = load i32, i32* %18
%1962 = lshr i32 %1961, 27
%1963 = or i32 %1960, %1962
%1964 = load i32, i32* %19
%1965 = load i32, i32* %20
%1966 = and i32 %1964, %1965
%1967 = load i32, i32* %16
%1968 = load i32, i32* %19
%1969 = load i32, i32* %20
%1970 = or i32 %1968, %1969
%1971 = and i32 %1967, %1970
%1972 = or i32 %1966, %1971
%1973 = add i32 %1963, %1972
%1974 = add i32 %1973, -1894007588
%1975 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%1976 = load i32, i32* %1975
%1977 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%1978 = load i32, i32* %1977
%1979 = xor i32 %1976, %1978
%1980 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%1981 = load i32, i32* %1980
%1982 = xor i32 %1979, %1981
%1983 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%1984 = load i32, i32* %1983
%1985 = xor i32 %1982, %1984
store i32 %1985, i32* %14
%1986 = load i32, i32* %14
%1987 = shl i32 %1986, 1
%1988 = load i32, i32* %14
%1989 = lshr i32 %1988, 31
%1990 = or i32 %1987, %1989
%1991 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %1990, i32* %1991
%1992 = add i32 %1974, %1990
%1993 = load i32, i32* %17
%1994 = add i32 %1993, %1992
store i32 %1994, i32* %17
%1995 = load i32, i32* %19
%1996 = shl i32 %1995, 30
%1997 = load i32, i32* %19
%1998 = lshr i32 %1997, 2
%1999 = or i32 %1996, %1998
store i32 %1999, i32* %19
%2000 = load i32, i32* %17
%2001 = shl i32 %2000, 5
%2002 = load i32, i32* %17
%2003 = lshr i32 %2002, 27
%2004 = or i32 %2001, %2003
%2005 = load i32, i32* %18
%2006 = load i32, i32* %19
%2007 = and i32 %2005, %2006
%2008 = load i32, i32* %20
%2009 = load i32, i32* %18
%2010 = load i32, i32* %19
%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]* %15, i64 0, i64 3
%2017 = load i32, i32* %2016
%2018 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2019 = load i32, i32* %2018
%2020 = xor i32 %2017, %2019
%2021 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2022 = load i32, i32* %2021
%2023 = xor i32 %2020, %2022
%2024 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2025 = load i32, i32* %2024
%2026 = xor i32 %2023, %2025
store i32 %2026, i32* %14
%2027 = load i32, i32* %14
%2028 = shl i32 %2027, 1
%2029 = load i32, i32* %14
%2030 = lshr i32 %2029, 31
%2031 = or i32 %2028, %2030
%2032 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %2031, i32* %2032
%2033 = add i32 %2015, %2031
%2034 = load i32, i32* %16
%2035 = add i32 %2034, %2033
store i32 %2035, i32* %16
%2036 = load i32, i32* %18
%2037 = shl i32 %2036, 30
%2038 = load i32, i32* %18
%2039 = lshr i32 %2038, 2
%2040 = or i32 %2037, %2039
store i32 %2040, i32* %18
%2041 = load i32, i32* %16
%2042 = shl i32 %2041, 5
%2043 = load i32, i32* %16
%2044 = lshr i32 %2043, 27
%2045 = or i32 %2042, %2044
%2046 = load i32, i32* %17
%2047 = load i32, i32* %18
%2048 = and i32 %2046, %2047
%2049 = load i32, i32* %19
%2050 = load i32, i32* %17
%2051 = load i32, i32* %18
%2052 = or i32 %2050, %2051
%2053 = and i32 %2049, %2052
%2054 = or i32 %2048, %2053
%2055 = add i32 %2045, %2054
%2056 = add i32 %2055, -1894007588
%2057 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2058 = load i32, i32* %2057
%2059 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2060 = load i32, i32* %2059
%2061 = xor i32 %2058, %2060
%2062 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2063 = load i32, i32* %2062
%2064 = xor i32 %2061, %2063
%2065 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2066 = load i32, i32* %2065
%2067 = xor i32 %2064, %2066
store i32 %2067, i32* %14
%2068 = load i32, i32* %14
%2069 = shl i32 %2068, 1
%2070 = load i32, i32* %14
%2071 = lshr i32 %2070, 31
%2072 = or i32 %2069, %2071
%2073 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %2072, i32* %2073
%2074 = add i32 %2056, %2072
%2075 = load i32, i32* %20
%2076 = add i32 %2075, %2074
store i32 %2076, i32* %20
%2077 = load i32, i32* %17
%2078 = shl i32 %2077, 30
%2079 = load i32, i32* %17
%2080 = lshr i32 %2079, 2
%2081 = or i32 %2078, %2080
store i32 %2081, i32* %17
%2082 = load i32, i32* %20
%2083 = shl i32 %2082, 5
%2084 = load i32, i32* %20
%2085 = lshr i32 %2084, 27
%2086 = or i32 %2083, %2085
%2087 = load i32, i32* %16
%2088 = load i32, i32* %17
%2089 = and i32 %2087, %2088
%2090 = load i32, i32* %18
%2091 = load i32, i32* %16
%2092 = load i32, i32* %17
%2093 = or i32 %2091, %2092
%2094 = and i32 %2090, %2093
%2095 = or i32 %2089, %2094
%2096 = add i32 %2086, %2095
%2097 = add i32 %2096, -1894007588
%2098 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2099 = load i32, i32* %2098
%2100 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2101 = load i32, i32* %2100
%2102 = xor i32 %2099, %2101
%2103 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2104 = load i32, i32* %2103
%2105 = xor i32 %2102, %2104
%2106 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2107 = load i32, i32* %2106
%2108 = xor i32 %2105, %2107
store i32 %2108, i32* %14
%2109 = load i32, i32* %14
%2110 = shl i32 %2109, 1
%2111 = load i32, i32* %14
%2112 = lshr i32 %2111, 31
%2113 = or i32 %2110, %2112
%2114 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %2113, i32* %2114
%2115 = add i32 %2097, %2113
%2116 = load i32, i32* %19
%2117 = add i32 %2116, %2115
store i32 %2117, i32* %19
%2118 = load i32, i32* %16
%2119 = shl i32 %2118, 30
%2120 = load i32, i32* %16
%2121 = lshr i32 %2120, 2
%2122 = or i32 %2119, %2121
store i32 %2122, i32* %16
%2123 = load i32, i32* %19
%2124 = shl i32 %2123, 5
%2125 = load i32, i32* %19
%2126 = lshr i32 %2125, 27
%2127 = or i32 %2124, %2126
%2128 = load i32, i32* %20
%2129 = load i32, i32* %16
%2130 = and i32 %2128, %2129
%2131 = load i32, i32* %17
%2132 = load i32, i32* %20
%2133 = load i32, i32* %16
%2134 = or i32 %2132, %2133
%2135 = and i32 %2131, %2134
%2136 = or i32 %2130, %2135
%2137 = add i32 %2127, %2136
%2138 = add i32 %2137, -1894007588
%2139 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2140 = load i32, i32* %2139
%2141 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2142 = load i32, i32* %2141
%2143 = xor i32 %2140, %2142
%2144 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2145 = load i32, i32* %2144
%2146 = xor i32 %2143, %2145
%2147 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2148 = load i32, i32* %2147
%2149 = xor i32 %2146, %2148
store i32 %2149, i32* %14
%2150 = load i32, i32* %14
%2151 = shl i32 %2150, 1
%2152 = load i32, i32* %14
%2153 = lshr i32 %2152, 31
%2154 = or i32 %2151, %2153
%2155 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %2154, i32* %2155
%2156 = add i32 %2138, %2154
%2157 = load i32, i32* %18
%2158 = add i32 %2157, %2156
store i32 %2158, i32* %18
%2159 = load i32, i32* %20
%2160 = shl i32 %2159, 30
%2161 = load i32, i32* %20
%2162 = lshr i32 %2161, 2
%2163 = or i32 %2160, %2162
store i32 %2163, i32* %20
%2164 = load i32, i32* %18
%2165 = shl i32 %2164, 5
%2166 = load i32, i32* %18
%2167 = lshr i32 %2166, 27
%2168 = or i32 %2165, %2167
%2169 = load i32, i32* %19
%2170 = load i32, i32* %20
%2171 = and i32 %2169, %2170
%2172 = load i32, i32* %16
%2173 = load i32, i32* %19
%2174 = load i32, i32* %20
%2175 = or i32 %2173, %2174
%2176 = and i32 %2172, %2175
%2177 = or i32 %2171, %2176
%2178 = add i32 %2168, %2177
%2179 = add i32 %2178, -1894007588
%2180 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2181 = load i32, i32* %2180
%2182 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%2183 = load i32, i32* %2182
%2184 = xor i32 %2181, %2183
%2185 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2186 = load i32, i32* %2185
%2187 = xor i32 %2184, %2186
%2188 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2189 = load i32, i32* %2188
%2190 = xor i32 %2187, %2189
store i32 %2190, i32* %14
%2191 = load i32, i32* %14
%2192 = shl i32 %2191, 1
%2193 = load i32, i32* %14
%2194 = lshr i32 %2193, 31
%2195 = or i32 %2192, %2194
%2196 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %2195, i32* %2196
%2197 = add i32 %2179, %2195
%2198 = load i32, i32* %17
%2199 = add i32 %2198, %2197
store i32 %2199, i32* %17
%2200 = load i32, i32* %19
%2201 = shl i32 %2200, 30
%2202 = load i32, i32* %19
%2203 = lshr i32 %2202, 2
%2204 = or i32 %2201, %2203
store i32 %2204, i32* %19
%2205 = load i32, i32* %17
%2206 = shl i32 %2205, 5
%2207 = load i32, i32* %17
%2208 = lshr i32 %2207, 27
%2209 = or i32 %2206, %2208
%2210 = load i32, i32* %18
%2211 = load i32, i32* %19
%2212 = and i32 %2210, %2211
%2213 = load i32, i32* %20
%2214 = load i32, i32* %18
%2215 = load i32, i32* %19
%2216 = or i32 %2214, %2215
%2217 = and i32 %2213, %2216
%2218 = or i32 %2212, %2217
%2219 = add i32 %2209, %2218
%2220 = add i32 %2219, -1894007588
%2221 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2222 = load i32, i32* %2221
%2223 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%2224 = load i32, i32* %2223
%2225 = xor i32 %2222, %2224
%2226 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2227 = load i32, i32* %2226
%2228 = xor i32 %2225, %2227
%2229 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2230 = load i32, i32* %2229
%2231 = xor i32 %2228, %2230
store i32 %2231, i32* %14
%2232 = load i32, i32* %14
%2233 = shl i32 %2232, 1
%2234 = load i32, i32* %14
%2235 = lshr i32 %2234, 31
%2236 = or i32 %2233, %2235
%2237 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %2236, i32* %2237
%2238 = add i32 %2220, %2236
%2239 = load i32, i32* %16
%2240 = add i32 %2239, %2238
store i32 %2240, i32* %16
%2241 = load i32, i32* %18
%2242 = shl i32 %2241, 30
%2243 = load i32, i32* %18
%2244 = lshr i32 %2243, 2
%2245 = or i32 %2242, %2244
store i32 %2245, i32* %18
%2246 = load i32, i32* %16
%2247 = shl i32 %2246, 5
%2248 = load i32, i32* %16
%2249 = lshr i32 %2248, 27
%2250 = or i32 %2247, %2249
%2251 = load i32, i32* %17
%2252 = load i32, i32* %18
%2253 = xor i32 %2251, %2252
%2254 = load i32, i32* %19
%2255 = xor i32 %2253, %2254
%2256 = add i32 %2250, %2255
%2257 = add i32 %2256, -899497514
%2258 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2259 = load i32, i32* %2258
%2260 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2261 = load i32, i32* %2260
%2262 = xor i32 %2259, %2261
%2263 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2264 = load i32, i32* %2263
%2265 = xor i32 %2262, %2264
%2266 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2267 = load i32, i32* %2266
%2268 = xor i32 %2265, %2267
store i32 %2268, i32* %14
%2269 = load i32, i32* %14
%2270 = shl i32 %2269, 1
%2271 = load i32, i32* %14
%2272 = lshr i32 %2271, 31
%2273 = or i32 %2270, %2272
%2274 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %2273, i32* %2274
%2275 = add i32 %2257, %2273
%2276 = load i32, i32* %20
%2277 = add i32 %2276, %2275
store i32 %2277, i32* %20
%2278 = load i32, i32* %17
%2279 = shl i32 %2278, 30
%2280 = load i32, i32* %17
%2281 = lshr i32 %2280, 2
%2282 = or i32 %2279, %2281
store i32 %2282, i32* %17
%2283 = load i32, i32* %20
%2284 = shl i32 %2283, 5
%2285 = load i32, i32* %20
%2286 = lshr i32 %2285, 27
%2287 = or i32 %2284, %2286
%2288 = load i32, i32* %16
%2289 = load i32, i32* %17
%2290 = xor i32 %2288, %2289
%2291 = load i32, i32* %18
%2292 = xor i32 %2290, %2291
%2293 = add i32 %2287, %2292
%2294 = add i32 %2293, -899497514
%2295 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2296 = load i32, i32* %2295
%2297 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2298 = load i32, i32* %2297
%2299 = xor i32 %2296, %2298
%2300 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2301 = load i32, i32* %2300
%2302 = xor i32 %2299, %2301
%2303 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2304 = load i32, i32* %2303
%2305 = xor i32 %2302, %2304
store i32 %2305, i32* %14
%2306 = load i32, i32* %14
%2307 = shl i32 %2306, 1
%2308 = load i32, i32* %14
%2309 = lshr i32 %2308, 31
%2310 = or i32 %2307, %2309
%2311 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %2310, i32* %2311
%2312 = add i32 %2294, %2310
%2313 = load i32, i32* %19
%2314 = add i32 %2313, %2312
store i32 %2314, i32* %19
%2315 = load i32, i32* %16
%2316 = shl i32 %2315, 30
%2317 = load i32, i32* %16
%2318 = lshr i32 %2317, 2
%2319 = or i32 %2316, %2318
store i32 %2319, i32* %16
%2320 = load i32, i32* %19
%2321 = shl i32 %2320, 5
%2322 = load i32, i32* %19
%2323 = lshr i32 %2322, 27
%2324 = or i32 %2321, %2323
%2325 = load i32, i32* %20
%2326 = load i32, i32* %16
%2327 = xor i32 %2325, %2326
%2328 = load i32, i32* %17
%2329 = xor i32 %2327, %2328
%2330 = add i32 %2324, %2329
%2331 = add i32 %2330, -899497514
%2332 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2333 = load i32, i32* %2332
%2334 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2335 = load i32, i32* %2334
%2336 = xor i32 %2333, %2335
%2337 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2338 = load i32, i32* %2337
%2339 = xor i32 %2336, %2338
%2340 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2341 = load i32, i32* %2340
%2342 = xor i32 %2339, %2341
store i32 %2342, i32* %14
%2343 = load i32, i32* %14
%2344 = shl i32 %2343, 1
%2345 = load i32, i32* %14
%2346 = lshr i32 %2345, 31
%2347 = or i32 %2344, %2346
%2348 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %2347, i32* %2348
%2349 = add i32 %2331, %2347
%2350 = load i32, i32* %18
%2351 = add i32 %2350, %2349
store i32 %2351, i32* %18
%2352 = load i32, i32* %20
%2353 = shl i32 %2352, 30
%2354 = load i32, i32* %20
%2355 = lshr i32 %2354, 2
%2356 = or i32 %2353, %2355
store i32 %2356, i32* %20
%2357 = load i32, i32* %18
%2358 = shl i32 %2357, 5
%2359 = load i32, i32* %18
%2360 = lshr i32 %2359, 27
%2361 = or i32 %2358, %2360
%2362 = load i32, i32* %19
%2363 = load i32, i32* %20
%2364 = xor i32 %2362, %2363
%2365 = load i32, i32* %16
%2366 = xor i32 %2364, %2365
%2367 = add i32 %2361, %2366
%2368 = add i32 %2367, -899497514
%2369 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2370 = load i32, i32* %2369
%2371 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2372 = load i32, i32* %2371
%2373 = xor i32 %2370, %2372
%2374 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2375 = load i32, i32* %2374
%2376 = xor i32 %2373, %2375
%2377 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2378 = load i32, i32* %2377
%2379 = xor i32 %2376, %2378
store i32 %2379, i32* %14
%2380 = load i32, i32* %14
%2381 = shl i32 %2380, 1
%2382 = load i32, i32* %14
%2383 = lshr i32 %2382, 31
%2384 = or i32 %2381, %2383
%2385 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %2384, i32* %2385
%2386 = add i32 %2368, %2384
%2387 = load i32, i32* %17
%2388 = add i32 %2387, %2386
store i32 %2388, i32* %17
%2389 = load i32, i32* %19
%2390 = shl i32 %2389, 30
%2391 = load i32, i32* %19
%2392 = lshr i32 %2391, 2
%2393 = or i32 %2390, %2392
store i32 %2393, i32* %19
%2394 = load i32, i32* %17
%2395 = shl i32 %2394, 5
%2396 = load i32, i32* %17
%2397 = lshr i32 %2396, 27
%2398 = or i32 %2395, %2397
%2399 = load i32, i32* %18
%2400 = load i32, i32* %19
%2401 = xor i32 %2399, %2400
%2402 = load i32, i32* %20
%2403 = xor i32 %2401, %2402
%2404 = add i32 %2398, %2403
%2405 = add i32 %2404, -899497514
%2406 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2407 = load i32, i32* %2406
%2408 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2409 = load i32, i32* %2408
%2410 = xor i32 %2407, %2409
%2411 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%2412 = load i32, i32* %2411
%2413 = xor i32 %2410, %2412
%2414 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2415 = load i32, i32* %2414
%2416 = xor i32 %2413, %2415
store i32 %2416, i32* %14
%2417 = load i32, i32* %14
%2418 = shl i32 %2417, 1
%2419 = load i32, i32* %14
%2420 = lshr i32 %2419, 31
%2421 = or i32 %2418, %2420
%2422 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %2421, i32* %2422
%2423 = add i32 %2405, %2421
%2424 = load i32, i32* %16
%2425 = add i32 %2424, %2423
store i32 %2425, i32* %16
%2426 = load i32, i32* %18
%2427 = shl i32 %2426, 30
%2428 = load i32, i32* %18
%2429 = lshr i32 %2428, 2
%2430 = or i32 %2427, %2429
store i32 %2430, i32* %18
%2431 = load i32, i32* %16
%2432 = shl i32 %2431, 5
%2433 = load i32, i32* %16
%2434 = lshr i32 %2433, 27
%2435 = or i32 %2432, %2434
%2436 = load i32, i32* %17
%2437 = load i32, i32* %18
%2438 = xor i32 %2436, %2437
%2439 = load i32, i32* %19
%2440 = xor i32 %2438, %2439
%2441 = add i32 %2435, %2440
%2442 = add i32 %2441, -899497514
%2443 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2444 = load i32, i32* %2443
%2445 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2446 = load i32, i32* %2445
%2447 = xor i32 %2444, %2446
%2448 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%2449 = load i32, i32* %2448
%2450 = xor i32 %2447, %2449
%2451 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2452 = load i32, i32* %2451
%2453 = xor i32 %2450, %2452
store i32 %2453, i32* %14
%2454 = load i32, i32* %14
%2455 = shl i32 %2454, 1
%2456 = load i32, i32* %14
%2457 = lshr i32 %2456, 31
%2458 = or i32 %2455, %2457
%2459 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %2458, i32* %2459
%2460 = add i32 %2442, %2458
%2461 = load i32, i32* %20
%2462 = add i32 %2461, %2460
store i32 %2462, i32* %20
%2463 = load i32, i32* %17
%2464 = shl i32 %2463, 30
%2465 = load i32, i32* %17
%2466 = lshr i32 %2465, 2
%2467 = or i32 %2464, %2466
store i32 %2467, i32* %17
%2468 = load i32, i32* %20
%2469 = shl i32 %2468, 5
%2470 = load i32, i32* %20
%2471 = lshr i32 %2470, 27
%2472 = or i32 %2469, %2471
%2473 = load i32, i32* %16
%2474 = load i32, i32* %17
%2475 = xor i32 %2473, %2474
%2476 = load i32, i32* %18
%2477 = xor i32 %2475, %2476
%2478 = add i32 %2472, %2477
%2479 = add i32 %2478, -899497514
%2480 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2481 = load i32, i32* %2480
%2482 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2483 = load i32, i32* %2482
%2484 = xor i32 %2481, %2483
%2485 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2486 = load i32, i32* %2485
%2487 = xor i32 %2484, %2486
%2488 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%2489 = load i32, i32* %2488
%2490 = xor i32 %2487, %2489
store i32 %2490, i32* %14
%2491 = load i32, i32* %14
%2492 = shl i32 %2491, 1
%2493 = load i32, i32* %14
%2494 = lshr i32 %2493, 31
%2495 = or i32 %2492, %2494
%2496 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %2495, i32* %2496
%2497 = add i32 %2479, %2495
%2498 = load i32, i32* %19
%2499 = add i32 %2498, %2497
store i32 %2499, i32* %19
%2500 = load i32, i32* %16
%2501 = shl i32 %2500, 30
%2502 = load i32, i32* %16
%2503 = lshr i32 %2502, 2
%2504 = or i32 %2501, %2503
store i32 %2504, i32* %16
%2505 = load i32, i32* %19
%2506 = shl i32 %2505, 5
%2507 = load i32, i32* %19
%2508 = lshr i32 %2507, 27
%2509 = or i32 %2506, %2508
%2510 = load i32, i32* %20
%2511 = load i32, i32* %16
%2512 = xor i32 %2510, %2511
%2513 = load i32, i32* %17
%2514 = xor i32 %2512, %2513
%2515 = add i32 %2509, %2514
%2516 = add i32 %2515, -899497514
%2517 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2518 = load i32, i32* %2517
%2519 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2520 = load i32, i32* %2519
%2521 = xor i32 %2518, %2520
%2522 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2523 = load i32, i32* %2522
%2524 = xor i32 %2521, %2523
%2525 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%2526 = load i32, i32* %2525
%2527 = xor i32 %2524, %2526
store i32 %2527, i32* %14
%2528 = load i32, i32* %14
%2529 = shl i32 %2528, 1
%2530 = load i32, i32* %14
%2531 = lshr i32 %2530, 31
%2532 = or i32 %2529, %2531
%2533 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %2532, i32* %2533
%2534 = add i32 %2516, %2532
%2535 = load i32, i32* %18
%2536 = add i32 %2535, %2534
store i32 %2536, i32* %18
%2537 = load i32, i32* %20
%2538 = shl i32 %2537, 30
%2539 = load i32, i32* %20
%2540 = lshr i32 %2539, 2
%2541 = or i32 %2538, %2540
store i32 %2541, i32* %20
%2542 = load i32, i32* %18
%2543 = shl i32 %2542, 5
%2544 = load i32, i32* %18
%2545 = lshr i32 %2544, 27
%2546 = or i32 %2543, %2545
%2547 = load i32, i32* %19
%2548 = load i32, i32* %20
%2549 = xor i32 %2547, %2548
%2550 = load i32, i32* %16
%2551 = xor i32 %2549, %2550
%2552 = add i32 %2546, %2551
%2553 = add i32 %2552, -899497514
%2554 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2555 = load i32, i32* %2554
%2556 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2557 = load i32, i32* %2556
%2558 = xor i32 %2555, %2557
%2559 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2560 = load i32, i32* %2559
%2561 = xor i32 %2558, %2560
%2562 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2563 = load i32, i32* %2562
%2564 = xor i32 %2561, %2563
store i32 %2564, i32* %14
%2565 = load i32, i32* %14
%2566 = shl i32 %2565, 1
%2567 = load i32, i32* %14
%2568 = lshr i32 %2567, 31
%2569 = or i32 %2566, %2568
%2570 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %2569, i32* %2570
%2571 = add i32 %2553, %2569
%2572 = load i32, i32* %17
%2573 = add i32 %2572, %2571
store i32 %2573, i32* %17
%2574 = load i32, i32* %19
%2575 = shl i32 %2574, 30
%2576 = load i32, i32* %19
%2577 = lshr i32 %2576, 2
%2578 = or i32 %2575, %2577
store i32 %2578, i32* %19
%2579 = load i32, i32* %17
%2580 = shl i32 %2579, 5
%2581 = load i32, i32* %17
%2582 = lshr i32 %2581, 27
%2583 = or i32 %2580, %2582
%2584 = load i32, i32* %18
%2585 = load i32, i32* %19
%2586 = xor i32 %2584, %2585
%2587 = load i32, i32* %20
%2588 = xor i32 %2586, %2587
%2589 = add i32 %2583, %2588
%2590 = add i32 %2589, -899497514
%2591 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%2592 = load i32, i32* %2591
%2593 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2594 = load i32, i32* %2593
%2595 = xor i32 %2592, %2594
%2596 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2597 = load i32, i32* %2596
%2598 = xor i32 %2595, %2597
%2599 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2600 = load i32, i32* %2599
%2601 = xor i32 %2598, %2600
store i32 %2601, i32* %14
%2602 = load i32, i32* %14
%2603 = shl i32 %2602, 1
%2604 = load i32, i32* %14
%2605 = lshr i32 %2604, 31
%2606 = or i32 %2603, %2605
%2607 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %2606, i32* %2607
%2608 = add i32 %2590, %2606
%2609 = load i32, i32* %16
%2610 = add i32 %2609, %2608
store i32 %2610, i32* %16
%2611 = load i32, i32* %18
%2612 = shl i32 %2611, 30
%2613 = load i32, i32* %18
%2614 = lshr i32 %2613, 2
%2615 = or i32 %2612, %2614
store i32 %2615, i32* %18
%2616 = load i32, i32* %16
%2617 = shl i32 %2616, 5
%2618 = load i32, i32* %16
%2619 = lshr i32 %2618, 27
%2620 = or i32 %2617, %2619
%2621 = load i32, i32* %17
%2622 = load i32, i32* %18
%2623 = xor i32 %2621, %2622
%2624 = load i32, i32* %19
%2625 = xor i32 %2623, %2624
%2626 = add i32 %2620, %2625
%2627 = add i32 %2626, -899497514
%2628 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%2629 = load i32, i32* %2628
%2630 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2631 = load i32, i32* %2630
%2632 = xor i32 %2629, %2631
%2633 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2634 = load i32, i32* %2633
%2635 = xor i32 %2632, %2634
%2636 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2637 = load i32, i32* %2636
%2638 = xor i32 %2635, %2637
store i32 %2638, i32* %14
%2639 = load i32, i32* %14
%2640 = shl i32 %2639, 1
%2641 = load i32, i32* %14
%2642 = lshr i32 %2641, 31
%2643 = or i32 %2640, %2642
%2644 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %2643, i32* %2644
%2645 = add i32 %2627, %2643
%2646 = load i32, i32* %20
%2647 = add i32 %2646, %2645
store i32 %2647, i32* %20
%2648 = load i32, i32* %17
%2649 = shl i32 %2648, 30
%2650 = load i32, i32* %17
%2651 = lshr i32 %2650, 2
%2652 = or i32 %2649, %2651
store i32 %2652, i32* %17
%2653 = load i32, i32* %20
%2654 = shl i32 %2653, 5
%2655 = load i32, i32* %20
%2656 = lshr i32 %2655, 27
%2657 = or i32 %2654, %2656
%2658 = load i32, i32* %16
%2659 = load i32, i32* %17
%2660 = xor i32 %2658, %2659
%2661 = load i32, i32* %18
%2662 = xor i32 %2660, %2661
%2663 = add i32 %2657, %2662
%2664 = add i32 %2663, -899497514
%2665 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2666 = load i32, i32* %2665
%2667 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2668 = load i32, i32* %2667
%2669 = xor i32 %2666, %2668
%2670 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2671 = load i32, i32* %2670
%2672 = xor i32 %2669, %2671
%2673 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2674 = load i32, i32* %2673
%2675 = xor i32 %2672, %2674
store i32 %2675, i32* %14
%2676 = load i32, i32* %14
%2677 = shl i32 %2676, 1
%2678 = load i32, i32* %14
%2679 = lshr i32 %2678, 31
%2680 = or i32 %2677, %2679
%2681 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %2680, i32* %2681
%2682 = add i32 %2664, %2680
%2683 = load i32, i32* %19
%2684 = add i32 %2683, %2682
store i32 %2684, i32* %19
%2685 = load i32, i32* %16
%2686 = shl i32 %2685, 30
%2687 = load i32, i32* %16
%2688 = lshr i32 %2687, 2
%2689 = or i32 %2686, %2688
store i32 %2689, i32* %16
%2690 = load i32, i32* %19
%2691 = shl i32 %2690, 5
%2692 = load i32, i32* %19
%2693 = lshr i32 %2692, 27
%2694 = or i32 %2691, %2693
%2695 = load i32, i32* %20
%2696 = load i32, i32* %16
%2697 = xor i32 %2695, %2696
%2698 = load i32, i32* %17
%2699 = xor i32 %2697, %2698
%2700 = add i32 %2694, %2699
%2701 = add i32 %2700, -899497514
%2702 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2703 = load i32, i32* %2702
%2704 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2705 = load i32, i32* %2704
%2706 = xor i32 %2703, %2705
%2707 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2708 = load i32, i32* %2707
%2709 = xor i32 %2706, %2708
%2710 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2711 = load i32, i32* %2710
%2712 = xor i32 %2709, %2711
store i32 %2712, i32* %14
%2713 = load i32, i32* %14
%2714 = shl i32 %2713, 1
%2715 = load i32, i32* %14
%2716 = lshr i32 %2715, 31
%2717 = or i32 %2714, %2716
%2718 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %2717, i32* %2718
%2719 = add i32 %2701, %2717
%2720 = load i32, i32* %18
%2721 = add i32 %2720, %2719
store i32 %2721, i32* %18
%2722 = load i32, i32* %20
%2723 = shl i32 %2722, 30
%2724 = load i32, i32* %20
%2725 = lshr i32 %2724, 2
%2726 = or i32 %2723, %2725
store i32 %2726, i32* %20
%2727 = load i32, i32* %18
%2728 = shl i32 %2727, 5
%2729 = load i32, i32* %18
%2730 = lshr i32 %2729, 27
%2731 = or i32 %2728, %2730
%2732 = load i32, i32* %19
%2733 = load i32, i32* %20
%2734 = xor i32 %2732, %2733
%2735 = load i32, i32* %16
%2736 = xor i32 %2734, %2735
%2737 = add i32 %2731, %2736
%2738 = add i32 %2737, -899497514
%2739 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2740 = load i32, i32* %2739
%2741 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2742 = load i32, i32* %2741
%2743 = xor i32 %2740, %2742
%2744 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2745 = load i32, i32* %2744
%2746 = xor i32 %2743, %2745
%2747 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2748 = load i32, i32* %2747
%2749 = xor i32 %2746, %2748
store i32 %2749, i32* %14
%2750 = load i32, i32* %14
%2751 = shl i32 %2750, 1
%2752 = load i32, i32* %14
%2753 = lshr i32 %2752, 31
%2754 = or i32 %2751, %2753
%2755 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %2754, i32* %2755
%2756 = add i32 %2738, %2754
%2757 = load i32, i32* %17
%2758 = add i32 %2757, %2756
store i32 %2758, i32* %17
%2759 = load i32, i32* %19
%2760 = shl i32 %2759, 30
%2761 = load i32, i32* %19
%2762 = lshr i32 %2761, 2
%2763 = or i32 %2760, %2762
store i32 %2763, i32* %19
%2764 = load i32, i32* %17
%2765 = shl i32 %2764, 5
%2766 = load i32, i32* %17
%2767 = lshr i32 %2766, 27
%2768 = or i32 %2765, %2767
%2769 = load i32, i32* %18
%2770 = load i32, i32* %19
%2771 = xor i32 %2769, %2770
%2772 = load i32, i32* %20
%2773 = xor i32 %2771, %2772
%2774 = add i32 %2768, %2773
%2775 = add i32 %2774, -899497514
%2776 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2777 = load i32, i32* %2776
%2778 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%2779 = load i32, i32* %2778
%2780 = xor i32 %2777, %2779
%2781 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2782 = load i32, i32* %2781
%2783 = xor i32 %2780, %2782
%2784 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2785 = load i32, i32* %2784
%2786 = xor i32 %2783, %2785
store i32 %2786, i32* %14
%2787 = load i32, i32* %14
%2788 = shl i32 %2787, 1
%2789 = load i32, i32* %14
%2790 = lshr i32 %2789, 31
%2791 = or i32 %2788, %2790
%2792 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %2791, i32* %2792
%2793 = add i32 %2775, %2791
%2794 = load i32, i32* %16
%2795 = add i32 %2794, %2793
store i32 %2795, i32* %16
%2796 = load i32, i32* %18
%2797 = shl i32 %2796, 30
%2798 = load i32, i32* %18
%2799 = lshr i32 %2798, 2
%2800 = or i32 %2797, %2799
store i32 %2800, i32* %18
%2801 = load i32, i32* %16
%2802 = shl i32 %2801, 5
%2803 = load i32, i32* %16
%2804 = lshr i32 %2803, 27
%2805 = or i32 %2802, %2804
%2806 = load i32, i32* %17
%2807 = load i32, i32* %18
%2808 = xor i32 %2806, %2807
%2809 = load i32, i32* %19
%2810 = xor i32 %2808, %2809
%2811 = add i32 %2805, %2810
%2812 = add i32 %2811, -899497514
%2813 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%2814 = load i32, i32* %2813
%2815 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%2816 = load i32, i32* %2815
%2817 = xor i32 %2814, %2816
%2818 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2819 = load i32, i32* %2818
%2820 = xor i32 %2817, %2819
%2821 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2822 = load i32, i32* %2821
%2823 = xor i32 %2820, %2822
store i32 %2823, i32* %14
%2824 = load i32, i32* %14
%2825 = shl i32 %2824, 1
%2826 = load i32, i32* %14
%2827 = lshr i32 %2826, 31
%2828 = or i32 %2825, %2827
%2829 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %2828, i32* %2829
%2830 = add i32 %2812, %2828
%2831 = load i32, i32* %20
%2832 = add i32 %2831, %2830
store i32 %2832, i32* %20
%2833 = load i32, i32* %17
%2834 = shl i32 %2833, 30
%2835 = load i32, i32* %17
%2836 = lshr i32 %2835, 2
%2837 = or i32 %2834, %2836
store i32 %2837, i32* %17
%2838 = load i32, i32* %20
%2839 = shl i32 %2838, 5
%2840 = load i32, i32* %20
%2841 = lshr i32 %2840, 27
%2842 = or i32 %2839, %2841
%2843 = load i32, i32* %16
%2844 = load i32, i32* %17
%2845 = xor i32 %2843, %2844
%2846 = load i32, i32* %18
%2847 = xor i32 %2845, %2846
%2848 = add i32 %2842, %2847
%2849 = add i32 %2848, -899497514
%2850 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%2851 = load i32, i32* %2850
%2852 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%2853 = load i32, i32* %2852
%2854 = xor i32 %2851, %2853
%2855 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2856 = load i32, i32* %2855
%2857 = xor i32 %2854, %2856
%2858 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2859 = load i32, i32* %2858
%2860 = xor i32 %2857, %2859
store i32 %2860, i32* %14
%2861 = load i32, i32* %14
%2862 = shl i32 %2861, 1
%2863 = load i32, i32* %14
%2864 = lshr i32 %2863, 31
%2865 = or i32 %2862, %2864
%2866 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %2865, i32* %2866
%2867 = add i32 %2849, %2865
%2868 = load i32, i32* %19
%2869 = add i32 %2868, %2867
store i32 %2869, i32* %19
%2870 = load i32, i32* %16
%2871 = shl i32 %2870, 30
%2872 = load i32, i32* %16
%2873 = lshr i32 %2872, 2
%2874 = or i32 %2871, %2873
store i32 %2874, i32* %16
%2875 = load i32, i32* %19
%2876 = shl i32 %2875, 5
%2877 = load i32, i32* %19
%2878 = lshr i32 %2877, 27
%2879 = or i32 %2876, %2878
%2880 = load i32, i32* %20
%2881 = load i32, i32* %16
%2882 = xor i32 %2880, %2881
%2883 = load i32, i32* %17
%2884 = xor i32 %2882, %2883
%2885 = add i32 %2879, %2884
%2886 = add i32 %2885, -899497514
%2887 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%2888 = load i32, i32* %2887
%2889 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%2890 = load i32, i32* %2889
%2891 = xor i32 %2888, %2890
%2892 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2893 = load i32, i32* %2892
%2894 = xor i32 %2891, %2893
%2895 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%2896 = load i32, i32* %2895
%2897 = xor i32 %2894, %2896
store i32 %2897, i32* %14
%2898 = load i32, i32* %14
%2899 = shl i32 %2898, 1
%2900 = load i32, i32* %14
%2901 = lshr i32 %2900, 31
%2902 = or i32 %2899, %2901
%2903 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %2902, i32* %2903
%2904 = add i32 %2886, %2902
%2905 = load i32, i32* %18
%2906 = add i32 %2905, %2904
store i32 %2906, i32* %18
%2907 = load i32, i32* %20
%2908 = shl i32 %2907, 30
%2909 = load i32, i32* %20
%2910 = lshr i32 %2909, 2
%2911 = or i32 %2908, %2910
store i32 %2911, i32* %20
%2912 = load i32, i32* %18
%2913 = shl i32 %2912, 5
%2914 = load i32, i32* %18
%2915 = lshr i32 %2914, 27
%2916 = or i32 %2913, %2915
%2917 = load i32, i32* %19
%2918 = load i32, i32* %20
%2919 = xor i32 %2917, %2918
%2920 = load i32, i32* %16
%2921 = xor i32 %2919, %2920
%2922 = add i32 %2916, %2921
%2923 = add i32 %2922, -899497514
%2924 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%2925 = load i32, i32* %2924
%2926 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%2927 = load i32, i32* %2926
%2928 = xor i32 %2925, %2927
%2929 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%2930 = load i32, i32* %2929
%2931 = xor i32 %2928, %2930
%2932 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%2933 = load i32, i32* %2932
%2934 = xor i32 %2931, %2933
store i32 %2934, i32* %14
%2935 = load i32, i32* %14
%2936 = shl i32 %2935, 1
%2937 = load i32, i32* %14
%2938 = lshr i32 %2937, 31
%2939 = or i32 %2936, %2938
%2940 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %2939, i32* %2940
%2941 = add i32 %2923, %2939
%2942 = load i32, i32* %17
%2943 = add i32 %2942, %2941
store i32 %2943, i32* %17
%2944 = load i32, i32* %19
%2945 = shl i32 %2944, 30
%2946 = load i32, i32* %19
%2947 = lshr i32 %2946, 2
%2948 = or i32 %2945, %2947
store i32 %2948, i32* %19
%2949 = load i32, i32* %17
%2950 = shl i32 %2949, 5
%2951 = load i32, i32* %17
%2952 = lshr i32 %2951, 27
%2953 = or i32 %2950, %2952
%2954 = load i32, i32* %18
%2955 = load i32, i32* %19
%2956 = xor i32 %2954, %2955
%2957 = load i32, i32* %20
%2958 = xor i32 %2956, %2957
%2959 = add i32 %2953, %2958
%2960 = add i32 %2959, -899497514
%2961 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%2962 = load i32, i32* %2961
%2963 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%2964 = load i32, i32* %2963
%2965 = xor i32 %2962, %2964
%2966 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%2967 = load i32, i32* %2966
%2968 = xor i32 %2965, %2967
%2969 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%2970 = load i32, i32* %2969
%2971 = xor i32 %2968, %2970
store i32 %2971, i32* %14
%2972 = load i32, i32* %14
%2973 = shl i32 %2972, 1
%2974 = load i32, i32* %14
%2975 = lshr i32 %2974, 31
%2976 = or i32 %2973, %2975
%2977 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %2976, i32* %2977
%2978 = add i32 %2960, %2976
%2979 = load i32, i32* %16
%2980 = add i32 %2979, %2978
store i32 %2980, i32* %16
%2981 = load i32, i32* %18
%2982 = shl i32 %2981, 30
%2983 = load i32, i32* %18
%2984 = lshr i32 %2983, 2
%2985 = or i32 %2982, %2984
store i32 %2985, i32* %18
%2986 = load i32*, i32** %8
%2987 = getelementptr inbounds i32, i32* %2986, i64 0
%2988 = load i32, i32* %2987
%2989 = load i32, i32* %16
%2990 = add i32 %2989, %2988
store i32 %2990, i32* %16
%2991 = load i32*, i32** %8
%2992 = getelementptr inbounds i32, i32* %2991, i64 1
%2993 = load i32, i32* %2992
%2994 = load i32, i32* %17
%2995 = add i32 %2994, %2993
store i32 %2995, i32* %17
%2996 = load i32*, i32** %8
%2997 = getelementptr inbounds i32, i32* %2996, i64 2
%2998 = load i32, i32* %2997
%2999 = load i32, i32* %18
%3000 = add i32 %2999, %2998
store i32 %3000, i32* %18
%3001 = load i32*, i32** %8
%3002 = getelementptr inbounds i32, i32* %3001, i64 3
%3003 = load i32, i32* %3002
%3004 = load i32, i32* %19
%3005 = add i32 %3004, %3003
store i32 %3005, i32* %19
%3006 = load i32*, i32** %8
%3007 = getelementptr inbounds i32, i32* %3006, i64 4
%3008 = load i32, i32* %3007
%3009 = load i32, i32* %20
%3010 = add i32 %3009, %3008
store i32 %3010, i32* %20
%3011 = load i32, i32* %16
%3012 = lshr i32 %3011, 24
%3013 = trunc i32 %3012 to i8
%3014 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 0
store i8 %3013, i8* %3014
%3015 = load i32, i32* %16
%3016 = lshr i32 %3015, 16
%3017 = trunc i32 %3016 to i8
%3018 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 1
store i8 %3017, i8* %3018
%3019 = load i32, i32* %16
%3020 = lshr i32 %3019, 8
%3021 = trunc i32 %3020 to i8
%3022 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 2
store i8 %3021, i8* %3022
%3023 = load i32, i32* %16
%3024 = trunc i32 %3023 to i8
%3025 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 3
store i8 %3024, i8* %3025
%3026 = load i32, i32* %17
%3027 = lshr i32 %3026, 24
%3028 = trunc i32 %3027 to i8
%3029 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 4
store i8 %3028, i8* %3029
%3030 = load i32, i32* %17
%3031 = lshr i32 %3030, 16
%3032 = trunc i32 %3031 to i8
%3033 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 5
store i8 %3032, i8* %3033
%3034 = load i32, i32* %17
%3035 = lshr i32 %3034, 8
%3036 = trunc i32 %3035 to i8
%3037 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 6
store i8 %3036, i8* %3037
%3038 = load i32, i32* %17
%3039 = trunc i32 %3038 to i8
%3040 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 7
store i8 %3039, i8* %3040
%3041 = load i32, i32* %18
%3042 = lshr i32 %3041, 24
%3043 = trunc i32 %3042 to i8
%3044 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 8
store i8 %3043, i8* %3044
%3045 = load i32, i32* %18
%3046 = lshr i32 %3045, 16
%3047 = trunc i32 %3046 to i8
%3048 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 9
store i8 %3047, i8* %3048
%3049 = load i32, i32* %18
%3050 = lshr i32 %3049, 8
%3051 = trunc i32 %3050 to i8
%3052 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 10
store i8 %3051, i8* %3052
%3053 = load i32, i32* %18
%3054 = trunc i32 %3053 to i8
%3055 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 11
store i8 %3054, i8* %3055
%3056 = load i32, i32* %19
%3057 = lshr i32 %3056, 24
%3058 = trunc i32 %3057 to i8
%3059 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 12
store i8 %3058, i8* %3059
%3060 = load i32, i32* %19
%3061 = lshr i32 %3060, 16
%3062 = trunc i32 %3061 to i8
%3063 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 13
store i8 %3062, i8* %3063
%3064 = load i32, i32* %19
%3065 = lshr i32 %3064, 8
%3066 = trunc i32 %3065 to i8
%3067 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 14
store i8 %3066, i8* %3067
%3068 = load i32, i32* %19
%3069 = trunc i32 %3068 to i8
%3070 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 15
store i8 %3069, i8* %3070
%3071 = load i32, i32* %20
%3072 = lshr i32 %3071, 24
%3073 = trunc i32 %3072 to i8
%3074 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 16
store i8 %3073, i8* %3074
%3075 = load i32, i32* %20
%3076 = lshr i32 %3075, 16
%3077 = trunc i32 %3076 to i8
%3078 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 17
store i8 %3077, i8* %3078
%3079 = load i32, i32* %20
%3080 = lshr i32 %3079, 8
%3081 = trunc i32 %3080 to i8
%3082 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 18
store i8 %3081, i8* %3082
%3083 = load i32, i32* %20
%3084 = trunc i32 %3083 to i8
%3085 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 19
store i8 %3084, i8* %3085
%3086 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 20
store i8 0, i8* %3086
%3087 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 21
store i8 0, i8* %3087
%3088 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 22
store i8 0, i8* %3088
%3089 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 23
store i8 0, i8* %3089
%3090 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 24
store i8 0, i8* %3090
%3091 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 25
store i8 0, i8* %3091
%3092 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 26
store i8 0, i8* %3092
%3093 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 27
store i8 0, i8* %3093
%3094 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 20
store i8 -128, i8* %3094
%3095 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 60
store i8 0, i8* %3095
%3096 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 61
store i8 0, i8* %3096
%3097 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 62
store i8 2, i8* %3097
%3098 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 63
store i8 -96, i8* %3098
%3099 = load i32*, i32** %9
%3100 = getelementptr inbounds i32, i32* %3099, i64 0
%3101 = load i32, i32* %3100
store i32 %3101, i32* %16
%3102 = load i32*, i32** %9
%3103 = getelementptr inbounds i32, i32* %3102, i64 1
%3104 = load i32, i32* %3103
store i32 %3104, i32* %17
%3105 = load i32*, i32** %9
%3106 = getelementptr inbounds i32, i32* %3105, i64 2
%3107 = load i32, i32* %3106
store i32 %3107, i32* %18
%3108 = load i32*, i32** %9
%3109 = getelementptr inbounds i32, i32* %3108, i64 3
%3110 = load i32, i32* %3109
store i32 %3110, i32* %19
%3111 = load i32*, i32** %9
%3112 = getelementptr inbounds i32, i32* %3111, i64 4
%3113 = load i32, i32* %3112
store i32 %3113, i32* %20
store i32 0, i32* %13
br label %3114
3114: ; preds = %3155, %145
%3115 = load i32, i32* %13
%3116 = icmp slt i32 %3115, 16
br i1 %3116, label %3117, label %3158
3117: ; preds = %3114
%3118 = load i32, i32* %13
%3119 = mul nsw i32 %3118, 4
%3120 = sext i32 %3119 to i64
%3121 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %3120
%3122 = load i8, i8* %3121
%3123 = zext i8 %3122 to i64
%3124 = shl i64 %3123, 24
%3125 = load i32, i32* %13
%3126 = mul nsw i32 %3125, 4
%3127 = add nsw i32 %3126, 1
%3128 = sext i32 %3127 to i64
%3129 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %3128
%3130 = load i8, i8* %3129
%3131 = zext i8 %3130 to i64
%3132 = shl i64 %3131, 16
%3133 = or i64 %3124, %3132
%3134 = load i32, i32* %13
%3135 = mul nsw i32 %3134, 4
%3136 = add nsw i32 %3135, 2
%3137 = sext i32 %3136 to i64
%3138 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %3137
%3139 = load i8, i8* %3138
%3140 = zext i8 %3139 to i64
%3141 = shl i64 %3140, 8
%3142 = or i64 %3133, %3141
%3143 = load i32, i32* %13
%3144 = mul nsw i32 %3143, 4
%3145 = add nsw i32 %3144, 3
%3146 = sext i32 %3145 to i64
%3147 = getelementptr inbounds [64 x i8], [64 x i8]* %21, i64 0, i64 %3146
%3148 = load i8, i8* %3147
%3149 = zext i8 %3148 to i64
%3150 = or i64 %3142, %3149
%3151 = trunc i64 %3150 to i32
%3152 = load i32, i32* %13
%3153 = sext i32 %3152 to i64
%3154 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 %3153
store i32 %3151, i32* %3154
br label %3155
3155: ; preds = %3117
%3156 = load i32, i32* %13
%3157 = add nsw i32 %3156, 1
store i32 %3157, i32* %13
br label %3114
3158: ; preds = %3114
%3159 = load i32, i32* %16
%3160 = shl i32 %3159, 5
%3161 = load i32, i32* %16
%3162 = lshr i32 %3161, 27
%3163 = or i32 %3160, %3162
%3164 = load i32, i32* %19
%3165 = load i32, i32* %17
%3166 = load i32, i32* %18
%3167 = load i32, i32* %19
%3168 = xor i32 %3166, %3167
%3169 = and i32 %3165, %3168
%3170 = xor i32 %3164, %3169
%3171 = add i32 %3163, %3170
%3172 = add i32 %3171, 1518500249
%3173 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%3174 = load i32, i32* %3173
%3175 = add i32 %3172, %3174
%3176 = load i32, i32* %20
%3177 = add i32 %3176, %3175
store i32 %3177, i32* %20
%3178 = load i32, i32* %17
%3179 = shl i32 %3178, 30
%3180 = load i32, i32* %17
%3181 = lshr i32 %3180, 2
%3182 = or i32 %3179, %3181
store i32 %3182, i32* %17
%3183 = load i32, i32* %20
%3184 = shl i32 %3183, 5
%3185 = load i32, i32* %20
%3186 = lshr i32 %3185, 27
%3187 = or i32 %3184, %3186
%3188 = load i32, i32* %18
%3189 = load i32, i32* %16
%3190 = load i32, i32* %17
%3191 = load i32, i32* %18
%3192 = xor i32 %3190, %3191
%3193 = and i32 %3189, %3192
%3194 = xor i32 %3188, %3193
%3195 = add i32 %3187, %3194
%3196 = add i32 %3195, 1518500249
%3197 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%3198 = load i32, i32* %3197
%3199 = add i32 %3196, %3198
%3200 = load i32, i32* %19
%3201 = add i32 %3200, %3199
store i32 %3201, i32* %19
%3202 = load i32, i32* %16
%3203 = shl i32 %3202, 30
%3204 = load i32, i32* %16
%3205 = lshr i32 %3204, 2
%3206 = or i32 %3203, %3205
store i32 %3206, i32* %16
%3207 = load i32, i32* %19
%3208 = shl i32 %3207, 5
%3209 = load i32, i32* %19
%3210 = lshr i32 %3209, 27
%3211 = or i32 %3208, %3210
%3212 = load i32, i32* %17
%3213 = load i32, i32* %20
%3214 = load i32, i32* %16
%3215 = load i32, i32* %17
%3216 = xor i32 %3214, %3215
%3217 = and i32 %3213, %3216
%3218 = xor i32 %3212, %3217
%3219 = add i32 %3211, %3218
%3220 = add i32 %3219, 1518500249
%3221 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%3222 = load i32, i32* %3221
%3223 = add i32 %3220, %3222
%3224 = load i32, i32* %18
%3225 = add i32 %3224, %3223
store i32 %3225, i32* %18
%3226 = load i32, i32* %20
%3227 = shl i32 %3226, 30
%3228 = load i32, i32* %20
%3229 = lshr i32 %3228, 2
%3230 = or i32 %3227, %3229
store i32 %3230, i32* %20
%3231 = load i32, i32* %18
%3232 = shl i32 %3231, 5
%3233 = load i32, i32* %18
%3234 = lshr i32 %3233, 27
%3235 = or i32 %3232, %3234
%3236 = load i32, i32* %16
%3237 = load i32, i32* %19
%3238 = load i32, i32* %20
%3239 = load i32, i32* %16
%3240 = xor i32 %3238, %3239
%3241 = and i32 %3237, %3240
%3242 = xor i32 %3236, %3241
%3243 = add i32 %3235, %3242
%3244 = add i32 %3243, 1518500249
%3245 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%3246 = load i32, i32* %3245
%3247 = add i32 %3244, %3246
%3248 = load i32, i32* %17
%3249 = add i32 %3248, %3247
store i32 %3249, i32* %17
%3250 = load i32, i32* %19
%3251 = shl i32 %3250, 30
%3252 = load i32, i32* %19
%3253 = lshr i32 %3252, 2
%3254 = or i32 %3251, %3253
store i32 %3254, i32* %19
%3255 = load i32, i32* %17
%3256 = shl i32 %3255, 5
%3257 = load i32, i32* %17
%3258 = lshr i32 %3257, 27
%3259 = or i32 %3256, %3258
%3260 = load i32, i32* %20
%3261 = load i32, i32* %18
%3262 = load i32, i32* %19
%3263 = load i32, i32* %20
%3264 = xor i32 %3262, %3263
%3265 = and i32 %3261, %3264
%3266 = xor i32 %3260, %3265
%3267 = add i32 %3259, %3266
%3268 = add i32 %3267, 1518500249
%3269 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%3270 = load i32, i32* %3269
%3271 = add i32 %3268, %3270
%3272 = load i32, i32* %16
%3273 = add i32 %3272, %3271
store i32 %3273, i32* %16
%3274 = load i32, i32* %18
%3275 = shl i32 %3274, 30
%3276 = load i32, i32* %18
%3277 = lshr i32 %3276, 2
%3278 = or i32 %3275, %3277
store i32 %3278, i32* %18
%3279 = load i32, i32* %16
%3280 = shl i32 %3279, 5
%3281 = load i32, i32* %16
%3282 = lshr i32 %3281, 27
%3283 = or i32 %3280, %3282
%3284 = load i32, i32* %19
%3285 = load i32, i32* %17
%3286 = load i32, i32* %18
%3287 = load i32, i32* %19
%3288 = xor i32 %3286, %3287
%3289 = and i32 %3285, %3288
%3290 = xor i32 %3284, %3289
%3291 = add i32 %3283, %3290
%3292 = add i32 %3291, 1518500249
%3293 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%3294 = load i32, i32* %3293
%3295 = add i32 %3292, %3294
%3296 = load i32, i32* %20
%3297 = add i32 %3296, %3295
store i32 %3297, i32* %20
%3298 = load i32, i32* %17
%3299 = shl i32 %3298, 30
%3300 = load i32, i32* %17
%3301 = lshr i32 %3300, 2
%3302 = or i32 %3299, %3301
store i32 %3302, i32* %17
%3303 = load i32, i32* %20
%3304 = shl i32 %3303, 5
%3305 = load i32, i32* %20
%3306 = lshr i32 %3305, 27
%3307 = or i32 %3304, %3306
%3308 = load i32, i32* %18
%3309 = load i32, i32* %16
%3310 = load i32, i32* %17
%3311 = load i32, i32* %18
%3312 = xor i32 %3310, %3311
%3313 = and i32 %3309, %3312
%3314 = xor i32 %3308, %3313
%3315 = add i32 %3307, %3314
%3316 = add i32 %3315, 1518500249
%3317 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%3318 = load i32, i32* %3317
%3319 = add i32 %3316, %3318
%3320 = load i32, i32* %19
%3321 = add i32 %3320, %3319
store i32 %3321, i32* %19
%3322 = load i32, i32* %16
%3323 = shl i32 %3322, 30
%3324 = load i32, i32* %16
%3325 = lshr i32 %3324, 2
%3326 = or i32 %3323, %3325
store i32 %3326, i32* %16
%3327 = load i32, i32* %19
%3328 = shl i32 %3327, 5
%3329 = load i32, i32* %19
%3330 = lshr i32 %3329, 27
%3331 = or i32 %3328, %3330
%3332 = load i32, i32* %17
%3333 = load i32, i32* %20
%3334 = load i32, i32* %16
%3335 = load i32, i32* %17
%3336 = xor i32 %3334, %3335
%3337 = and i32 %3333, %3336
%3338 = xor i32 %3332, %3337
%3339 = add i32 %3331, %3338
%3340 = add i32 %3339, 1518500249
%3341 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%3342 = load i32, i32* %3341
%3343 = add i32 %3340, %3342
%3344 = load i32, i32* %18
%3345 = add i32 %3344, %3343
store i32 %3345, i32* %18
%3346 = load i32, i32* %20
%3347 = shl i32 %3346, 30
%3348 = load i32, i32* %20
%3349 = lshr i32 %3348, 2
%3350 = or i32 %3347, %3349
store i32 %3350, i32* %20
%3351 = load i32, i32* %18
%3352 = shl i32 %3351, 5
%3353 = load i32, i32* %18
%3354 = lshr i32 %3353, 27
%3355 = or i32 %3352, %3354
%3356 = load i32, i32* %16
%3357 = load i32, i32* %19
%3358 = load i32, i32* %20
%3359 = load i32, i32* %16
%3360 = xor i32 %3358, %3359
%3361 = and i32 %3357, %3360
%3362 = xor i32 %3356, %3361
%3363 = add i32 %3355, %3362
%3364 = add i32 %3363, 1518500249
%3365 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%3366 = load i32, i32* %3365
%3367 = add i32 %3364, %3366
%3368 = load i32, i32* %17
%3369 = add i32 %3368, %3367
store i32 %3369, i32* %17
%3370 = load i32, i32* %19
%3371 = shl i32 %3370, 30
%3372 = load i32, i32* %19
%3373 = lshr i32 %3372, 2
%3374 = or i32 %3371, %3373
store i32 %3374, i32* %19
%3375 = load i32, i32* %17
%3376 = shl i32 %3375, 5
%3377 = load i32, i32* %17
%3378 = lshr i32 %3377, 27
%3379 = or i32 %3376, %3378
%3380 = load i32, i32* %20
%3381 = load i32, i32* %18
%3382 = load i32, i32* %19
%3383 = load i32, i32* %20
%3384 = xor i32 %3382, %3383
%3385 = and i32 %3381, %3384
%3386 = xor i32 %3380, %3385
%3387 = add i32 %3379, %3386
%3388 = add i32 %3387, 1518500249
%3389 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%3390 = load i32, i32* %3389
%3391 = add i32 %3388, %3390
%3392 = load i32, i32* %16
%3393 = add i32 %3392, %3391
store i32 %3393, i32* %16
%3394 = load i32, i32* %18
%3395 = shl i32 %3394, 30
%3396 = load i32, i32* %18
%3397 = lshr i32 %3396, 2
%3398 = or i32 %3395, %3397
store i32 %3398, i32* %18
%3399 = load i32, i32* %16
%3400 = shl i32 %3399, 5
%3401 = load i32, i32* %16
%3402 = lshr i32 %3401, 27
%3403 = or i32 %3400, %3402
%3404 = load i32, i32* %19
%3405 = load i32, i32* %17
%3406 = load i32, i32* %18
%3407 = load i32, i32* %19
%3408 = xor i32 %3406, %3407
%3409 = and i32 %3405, %3408
%3410 = xor i32 %3404, %3409
%3411 = add i32 %3403, %3410
%3412 = add i32 %3411, 1518500249
%3413 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%3414 = load i32, i32* %3413
%3415 = add i32 %3412, %3414
%3416 = load i32, i32* %20
%3417 = add i32 %3416, %3415
store i32 %3417, i32* %20
%3418 = load i32, i32* %17
%3419 = shl i32 %3418, 30
%3420 = load i32, i32* %17
%3421 = lshr i32 %3420, 2
%3422 = or i32 %3419, %3421
store i32 %3422, i32* %17
%3423 = load i32, i32* %20
%3424 = shl i32 %3423, 5
%3425 = load i32, i32* %20
%3426 = lshr i32 %3425, 27
%3427 = or i32 %3424, %3426
%3428 = load i32, i32* %18
%3429 = load i32, i32* %16
%3430 = load i32, i32* %17
%3431 = load i32, i32* %18
%3432 = xor i32 %3430, %3431
%3433 = and i32 %3429, %3432
%3434 = xor i32 %3428, %3433
%3435 = add i32 %3427, %3434
%3436 = add i32 %3435, 1518500249
%3437 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%3438 = load i32, i32* %3437
%3439 = add i32 %3436, %3438
%3440 = load i32, i32* %19
%3441 = add i32 %3440, %3439
store i32 %3441, i32* %19
%3442 = load i32, i32* %16
%3443 = shl i32 %3442, 30
%3444 = load i32, i32* %16
%3445 = lshr i32 %3444, 2
%3446 = or i32 %3443, %3445
store i32 %3446, i32* %16
%3447 = load i32, i32* %19
%3448 = shl i32 %3447, 5
%3449 = load i32, i32* %19
%3450 = lshr i32 %3449, 27
%3451 = or i32 %3448, %3450
%3452 = load i32, i32* %17
%3453 = load i32, i32* %20
%3454 = load i32, i32* %16
%3455 = load i32, i32* %17
%3456 = xor i32 %3454, %3455
%3457 = and i32 %3453, %3456
%3458 = xor i32 %3452, %3457
%3459 = add i32 %3451, %3458
%3460 = add i32 %3459, 1518500249
%3461 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%3462 = load i32, i32* %3461
%3463 = add i32 %3460, %3462
%3464 = load i32, i32* %18
%3465 = add i32 %3464, %3463
store i32 %3465, i32* %18
%3466 = load i32, i32* %20
%3467 = shl i32 %3466, 30
%3468 = load i32, i32* %20
%3469 = lshr i32 %3468, 2
%3470 = or i32 %3467, %3469
store i32 %3470, i32* %20
%3471 = load i32, i32* %18
%3472 = shl i32 %3471, 5
%3473 = load i32, i32* %18
%3474 = lshr i32 %3473, 27
%3475 = or i32 %3472, %3474
%3476 = load i32, i32* %16
%3477 = load i32, i32* %19
%3478 = load i32, i32* %20
%3479 = load i32, i32* %16
%3480 = xor i32 %3478, %3479
%3481 = and i32 %3477, %3480
%3482 = xor i32 %3476, %3481
%3483 = add i32 %3475, %3482
%3484 = add i32 %3483, 1518500249
%3485 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%3486 = load i32, i32* %3485
%3487 = add i32 %3484, %3486
%3488 = load i32, i32* %17
%3489 = add i32 %3488, %3487
store i32 %3489, i32* %17
%3490 = load i32, i32* %19
%3491 = shl i32 %3490, 30
%3492 = load i32, i32* %19
%3493 = lshr i32 %3492, 2
%3494 = or i32 %3491, %3493
store i32 %3494, i32* %19
%3495 = load i32, i32* %17
%3496 = shl i32 %3495, 5
%3497 = load i32, i32* %17
%3498 = lshr i32 %3497, 27
%3499 = or i32 %3496, %3498
%3500 = load i32, i32* %20
%3501 = load i32, i32* %18
%3502 = load i32, i32* %19
%3503 = load i32, i32* %20
%3504 = xor i32 %3502, %3503
%3505 = and i32 %3501, %3504
%3506 = xor i32 %3500, %3505
%3507 = add i32 %3499, %3506
%3508 = add i32 %3507, 1518500249
%3509 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%3510 = load i32, i32* %3509
%3511 = add i32 %3508, %3510
%3512 = load i32, i32* %16
%3513 = add i32 %3512, %3511
store i32 %3513, i32* %16
%3514 = load i32, i32* %18
%3515 = shl i32 %3514, 30
%3516 = load i32, i32* %18
%3517 = lshr i32 %3516, 2
%3518 = or i32 %3515, %3517
store i32 %3518, i32* %18
%3519 = load i32, i32* %16
%3520 = shl i32 %3519, 5
%3521 = load i32, i32* %16
%3522 = lshr i32 %3521, 27
%3523 = or i32 %3520, %3522
%3524 = load i32, i32* %19
%3525 = load i32, i32* %17
%3526 = load i32, i32* %18
%3527 = load i32, i32* %19
%3528 = xor i32 %3526, %3527
%3529 = and i32 %3525, %3528
%3530 = xor i32 %3524, %3529
%3531 = add i32 %3523, %3530
%3532 = add i32 %3531, 1518500249
%3533 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%3534 = load i32, i32* %3533
%3535 = add i32 %3532, %3534
%3536 = load i32, i32* %20
%3537 = add i32 %3536, %3535
store i32 %3537, i32* %20
%3538 = load i32, i32* %17
%3539 = shl i32 %3538, 30
%3540 = load i32, i32* %17
%3541 = lshr i32 %3540, 2
%3542 = or i32 %3539, %3541
store i32 %3542, i32* %17
%3543 = load i32, i32* %20
%3544 = shl i32 %3543, 5
%3545 = load i32, i32* %20
%3546 = lshr i32 %3545, 27
%3547 = or i32 %3544, %3546
%3548 = load i32, i32* %18
%3549 = load i32, i32* %16
%3550 = load i32, i32* %17
%3551 = load i32, i32* %18
%3552 = xor i32 %3550, %3551
%3553 = and i32 %3549, %3552
%3554 = xor i32 %3548, %3553
%3555 = add i32 %3547, %3554
%3556 = add i32 %3555, 1518500249
%3557 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%3558 = load i32, i32* %3557
%3559 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%3560 = load i32, i32* %3559
%3561 = xor i32 %3558, %3560
%3562 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%3563 = load i32, i32* %3562
%3564 = xor i32 %3561, %3563
%3565 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%3566 = load i32, i32* %3565
%3567 = xor i32 %3564, %3566
store i32 %3567, i32* %14
%3568 = load i32, i32* %14
%3569 = shl i32 %3568, 1
%3570 = load i32, i32* %14
%3571 = lshr i32 %3570, 31
%3572 = or i32 %3569, %3571
%3573 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %3572, i32* %3573
%3574 = add i32 %3556, %3572
%3575 = load i32, i32* %19
%3576 = add i32 %3575, %3574
store i32 %3576, i32* %19
%3577 = load i32, i32* %16
%3578 = shl i32 %3577, 30
%3579 = load i32, i32* %16
%3580 = lshr i32 %3579, 2
%3581 = or i32 %3578, %3580
store i32 %3581, i32* %16
%3582 = load i32, i32* %19
%3583 = shl i32 %3582, 5
%3584 = load i32, i32* %19
%3585 = lshr i32 %3584, 27
%3586 = or i32 %3583, %3585
%3587 = load i32, i32* %17
%3588 = load i32, i32* %20
%3589 = load i32, i32* %16
%3590 = load i32, i32* %17
%3591 = xor i32 %3589, %3590
%3592 = and i32 %3588, %3591
%3593 = xor i32 %3587, %3592
%3594 = add i32 %3586, %3593
%3595 = add i32 %3594, 1518500249
%3596 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%3597 = load i32, i32* %3596
%3598 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%3599 = load i32, i32* %3598
%3600 = xor i32 %3597, %3599
%3601 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%3602 = load i32, i32* %3601
%3603 = xor i32 %3600, %3602
%3604 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%3605 = load i32, i32* %3604
%3606 = xor i32 %3603, %3605
store i32 %3606, i32* %14
%3607 = load i32, i32* %14
%3608 = shl i32 %3607, 1
%3609 = load i32, i32* %14
%3610 = lshr i32 %3609, 31
%3611 = or i32 %3608, %3610
%3612 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %3611, i32* %3612
%3613 = add i32 %3595, %3611
%3614 = load i32, i32* %18
%3615 = add i32 %3614, %3613
store i32 %3615, i32* %18
%3616 = load i32, i32* %20
%3617 = shl i32 %3616, 30
%3618 = load i32, i32* %20
%3619 = lshr i32 %3618, 2
%3620 = or i32 %3617, %3619
store i32 %3620, i32* %20
%3621 = load i32, i32* %18
%3622 = shl i32 %3621, 5
%3623 = load i32, i32* %18
%3624 = lshr i32 %3623, 27
%3625 = or i32 %3622, %3624
%3626 = load i32, i32* %16
%3627 = load i32, i32* %19
%3628 = load i32, i32* %20
%3629 = load i32, i32* %16
%3630 = xor i32 %3628, %3629
%3631 = and i32 %3627, %3630
%3632 = xor i32 %3626, %3631
%3633 = add i32 %3625, %3632
%3634 = add i32 %3633, 1518500249
%3635 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%3636 = load i32, i32* %3635
%3637 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%3638 = load i32, i32* %3637
%3639 = xor i32 %3636, %3638
%3640 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%3641 = load i32, i32* %3640
%3642 = xor i32 %3639, %3641
%3643 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%3644 = load i32, i32* %3643
%3645 = xor i32 %3642, %3644
store i32 %3645, i32* %14
%3646 = load i32, i32* %14
%3647 = shl i32 %3646, 1
%3648 = load i32, i32* %14
%3649 = lshr i32 %3648, 31
%3650 = or i32 %3647, %3649
%3651 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %3650, i32* %3651
%3652 = add i32 %3634, %3650
%3653 = load i32, i32* %17
%3654 = add i32 %3653, %3652
store i32 %3654, i32* %17
%3655 = load i32, i32* %19
%3656 = shl i32 %3655, 30
%3657 = load i32, i32* %19
%3658 = lshr i32 %3657, 2
%3659 = or i32 %3656, %3658
store i32 %3659, i32* %19
%3660 = load i32, i32* %17
%3661 = shl i32 %3660, 5
%3662 = load i32, i32* %17
%3663 = lshr i32 %3662, 27
%3664 = or i32 %3661, %3663
%3665 = load i32, i32* %20
%3666 = load i32, i32* %18
%3667 = load i32, i32* %19
%3668 = load i32, i32* %20
%3669 = xor i32 %3667, %3668
%3670 = and i32 %3666, %3669
%3671 = xor i32 %3665, %3670
%3672 = add i32 %3664, %3671
%3673 = add i32 %3672, 1518500249
%3674 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%3675 = load i32, i32* %3674
%3676 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%3677 = load i32, i32* %3676
%3678 = xor i32 %3675, %3677
%3679 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%3680 = load i32, i32* %3679
%3681 = xor i32 %3678, %3680
%3682 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%3683 = load i32, i32* %3682
%3684 = xor i32 %3681, %3683
store i32 %3684, i32* %14
%3685 = load i32, i32* %14
%3686 = shl i32 %3685, 1
%3687 = load i32, i32* %14
%3688 = lshr i32 %3687, 31
%3689 = or i32 %3686, %3688
%3690 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %3689, i32* %3690
%3691 = add i32 %3673, %3689
%3692 = load i32, i32* %16
%3693 = add i32 %3692, %3691
store i32 %3693, i32* %16
%3694 = load i32, i32* %18
%3695 = shl i32 %3694, 30
%3696 = load i32, i32* %18
%3697 = lshr i32 %3696, 2
%3698 = or i32 %3695, %3697
store i32 %3698, i32* %18
%3699 = load i32, i32* %16
%3700 = shl i32 %3699, 5
%3701 = load i32, i32* %16
%3702 = lshr i32 %3701, 27
%3703 = or i32 %3700, %3702
%3704 = load i32, i32* %17
%3705 = load i32, i32* %18
%3706 = xor i32 %3704, %3705
%3707 = load i32, i32* %19
%3708 = xor i32 %3706, %3707
%3709 = add i32 %3703, %3708
%3710 = add i32 %3709, 1859775393
%3711 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%3712 = load i32, i32* %3711
%3713 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%3714 = load i32, i32* %3713
%3715 = xor i32 %3712, %3714
%3716 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%3717 = load i32, i32* %3716
%3718 = xor i32 %3715, %3717
%3719 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%3720 = load i32, i32* %3719
%3721 = xor i32 %3718, %3720
store i32 %3721, i32* %14
%3722 = load i32, i32* %14
%3723 = shl i32 %3722, 1
%3724 = load i32, i32* %14
%3725 = lshr i32 %3724, 31
%3726 = or i32 %3723, %3725
%3727 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %3726, i32* %3727
%3728 = add i32 %3710, %3726
%3729 = load i32, i32* %20
%3730 = add i32 %3729, %3728
store i32 %3730, i32* %20
%3731 = load i32, i32* %17
%3732 = shl i32 %3731, 30
%3733 = load i32, i32* %17
%3734 = lshr i32 %3733, 2
%3735 = or i32 %3732, %3734
store i32 %3735, i32* %17
%3736 = load i32, i32* %20
%3737 = shl i32 %3736, 5
%3738 = load i32, i32* %20
%3739 = lshr i32 %3738, 27
%3740 = or i32 %3737, %3739
%3741 = load i32, i32* %16
%3742 = load i32, i32* %17
%3743 = xor i32 %3741, %3742
%3744 = load i32, i32* %18
%3745 = xor i32 %3743, %3744
%3746 = add i32 %3740, %3745
%3747 = add i32 %3746, 1859775393
%3748 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%3749 = load i32, i32* %3748
%3750 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%3751 = load i32, i32* %3750
%3752 = xor i32 %3749, %3751
%3753 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%3754 = load i32, i32* %3753
%3755 = xor i32 %3752, %3754
%3756 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%3757 = load i32, i32* %3756
%3758 = xor i32 %3755, %3757
store i32 %3758, i32* %14
%3759 = load i32, i32* %14
%3760 = shl i32 %3759, 1
%3761 = load i32, i32* %14
%3762 = lshr i32 %3761, 31
%3763 = or i32 %3760, %3762
%3764 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %3763, i32* %3764
%3765 = add i32 %3747, %3763
%3766 = load i32, i32* %19
%3767 = add i32 %3766, %3765
store i32 %3767, i32* %19
%3768 = load i32, i32* %16
%3769 = shl i32 %3768, 30
%3770 = load i32, i32* %16
%3771 = lshr i32 %3770, 2
%3772 = or i32 %3769, %3771
store i32 %3772, i32* %16
%3773 = load i32, i32* %19
%3774 = shl i32 %3773, 5
%3775 = load i32, i32* %19
%3776 = lshr i32 %3775, 27
%3777 = or i32 %3774, %3776
%3778 = load i32, i32* %20
%3779 = load i32, i32* %16
%3780 = xor i32 %3778, %3779
%3781 = load i32, i32* %17
%3782 = xor i32 %3780, %3781
%3783 = add i32 %3777, %3782
%3784 = add i32 %3783, 1859775393
%3785 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%3786 = load i32, i32* %3785
%3787 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%3788 = load i32, i32* %3787
%3789 = xor i32 %3786, %3788
%3790 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%3791 = load i32, i32* %3790
%3792 = xor i32 %3789, %3791
%3793 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%3794 = load i32, i32* %3793
%3795 = xor i32 %3792, %3794
store i32 %3795, i32* %14
%3796 = load i32, i32* %14
%3797 = shl i32 %3796, 1
%3798 = load i32, i32* %14
%3799 = lshr i32 %3798, 31
%3800 = or i32 %3797, %3799
%3801 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %3800, i32* %3801
%3802 = add i32 %3784, %3800
%3803 = load i32, i32* %18
%3804 = add i32 %3803, %3802
store i32 %3804, i32* %18
%3805 = load i32, i32* %20
%3806 = shl i32 %3805, 30
%3807 = load i32, i32* %20
%3808 = lshr i32 %3807, 2
%3809 = or i32 %3806, %3808
store i32 %3809, i32* %20
%3810 = load i32, i32* %18
%3811 = shl i32 %3810, 5
%3812 = load i32, i32* %18
%3813 = lshr i32 %3812, 27
%3814 = or i32 %3811, %3813
%3815 = load i32, i32* %19
%3816 = load i32, i32* %20
%3817 = xor i32 %3815, %3816
%3818 = load i32, i32* %16
%3819 = xor i32 %3817, %3818
%3820 = add i32 %3814, %3819
%3821 = add i32 %3820, 1859775393
%3822 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%3823 = load i32, i32* %3822
%3824 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%3825 = load i32, i32* %3824
%3826 = xor i32 %3823, %3825
%3827 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%3828 = load i32, i32* %3827
%3829 = xor i32 %3826, %3828
%3830 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%3831 = load i32, i32* %3830
%3832 = xor i32 %3829, %3831
store i32 %3832, i32* %14
%3833 = load i32, i32* %14
%3834 = shl i32 %3833, 1
%3835 = load i32, i32* %14
%3836 = lshr i32 %3835, 31
%3837 = or i32 %3834, %3836
%3838 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %3837, i32* %3838
%3839 = add i32 %3821, %3837
%3840 = load i32, i32* %17
%3841 = add i32 %3840, %3839
store i32 %3841, i32* %17
%3842 = load i32, i32* %19
%3843 = shl i32 %3842, 30
%3844 = load i32, i32* %19
%3845 = lshr i32 %3844, 2
%3846 = or i32 %3843, %3845
store i32 %3846, i32* %19
%3847 = load i32, i32* %17
%3848 = shl i32 %3847, 5
%3849 = load i32, i32* %17
%3850 = lshr i32 %3849, 27
%3851 = or i32 %3848, %3850
%3852 = load i32, i32* %18
%3853 = load i32, i32* %19
%3854 = xor i32 %3852, %3853
%3855 = load i32, i32* %20
%3856 = xor i32 %3854, %3855
%3857 = add i32 %3851, %3856
%3858 = add i32 %3857, 1859775393
%3859 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%3860 = load i32, i32* %3859
%3861 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%3862 = load i32, i32* %3861
%3863 = xor i32 %3860, %3862
%3864 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%3865 = load i32, i32* %3864
%3866 = xor i32 %3863, %3865
%3867 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%3868 = load i32, i32* %3867
%3869 = xor i32 %3866, %3868
store i32 %3869, i32* %14
%3870 = load i32, i32* %14
%3871 = shl i32 %3870, 1
%3872 = load i32, i32* %14
%3873 = lshr i32 %3872, 31
%3874 = or i32 %3871, %3873
%3875 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %3874, i32* %3875
%3876 = add i32 %3858, %3874
%3877 = load i32, i32* %16
%3878 = add i32 %3877, %3876
store i32 %3878, i32* %16
%3879 = load i32, i32* %18
%3880 = shl i32 %3879, 30
%3881 = load i32, i32* %18
%3882 = lshr i32 %3881, 2
%3883 = or i32 %3880, %3882
store i32 %3883, i32* %18
%3884 = load i32, i32* %16
%3885 = shl i32 %3884, 5
%3886 = load i32, i32* %16
%3887 = lshr i32 %3886, 27
%3888 = or i32 %3885, %3887
%3889 = load i32, i32* %17
%3890 = load i32, i32* %18
%3891 = xor i32 %3889, %3890
%3892 = load i32, i32* %19
%3893 = xor i32 %3891, %3892
%3894 = add i32 %3888, %3893
%3895 = add i32 %3894, 1859775393
%3896 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%3897 = load i32, i32* %3896
%3898 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%3899 = load i32, i32* %3898
%3900 = xor i32 %3897, %3899
%3901 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%3902 = load i32, i32* %3901
%3903 = xor i32 %3900, %3902
%3904 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%3905 = load i32, i32* %3904
%3906 = xor i32 %3903, %3905
store i32 %3906, i32* %14
%3907 = load i32, i32* %14
%3908 = shl i32 %3907, 1
%3909 = load i32, i32* %14
%3910 = lshr i32 %3909, 31
%3911 = or i32 %3908, %3910
%3912 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %3911, i32* %3912
%3913 = add i32 %3895, %3911
%3914 = load i32, i32* %20
%3915 = add i32 %3914, %3913
store i32 %3915, i32* %20
%3916 = load i32, i32* %17
%3917 = shl i32 %3916, 30
%3918 = load i32, i32* %17
%3919 = lshr i32 %3918, 2
%3920 = or i32 %3917, %3919
store i32 %3920, i32* %17
%3921 = load i32, i32* %20
%3922 = shl i32 %3921, 5
%3923 = load i32, i32* %20
%3924 = lshr i32 %3923, 27
%3925 = or i32 %3922, %3924
%3926 = load i32, i32* %16
%3927 = load i32, i32* %17
%3928 = xor i32 %3926, %3927
%3929 = load i32, i32* %18
%3930 = xor i32 %3928, %3929
%3931 = add i32 %3925, %3930
%3932 = add i32 %3931, 1859775393
%3933 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%3934 = load i32, i32* %3933
%3935 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%3936 = load i32, i32* %3935
%3937 = xor i32 %3934, %3936
%3938 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%3939 = load i32, i32* %3938
%3940 = xor i32 %3937, %3939
%3941 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%3942 = load i32, i32* %3941
%3943 = xor i32 %3940, %3942
store i32 %3943, i32* %14
%3944 = load i32, i32* %14
%3945 = shl i32 %3944, 1
%3946 = load i32, i32* %14
%3947 = lshr i32 %3946, 31
%3948 = or i32 %3945, %3947
%3949 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %3948, i32* %3949
%3950 = add i32 %3932, %3948
%3951 = load i32, i32* %19
%3952 = add i32 %3951, %3950
store i32 %3952, i32* %19
%3953 = load i32, i32* %16
%3954 = shl i32 %3953, 30
%3955 = load i32, i32* %16
%3956 = lshr i32 %3955, 2
%3957 = or i32 %3954, %3956
store i32 %3957, i32* %16
%3958 = load i32, i32* %19
%3959 = shl i32 %3958, 5
%3960 = load i32, i32* %19
%3961 = lshr i32 %3960, 27
%3962 = or i32 %3959, %3961
%3963 = load i32, i32* %20
%3964 = load i32, i32* %16
%3965 = xor i32 %3963, %3964
%3966 = load i32, i32* %17
%3967 = xor i32 %3965, %3966
%3968 = add i32 %3962, %3967
%3969 = add i32 %3968, 1859775393
%3970 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%3971 = load i32, i32* %3970
%3972 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%3973 = load i32, i32* %3972
%3974 = xor i32 %3971, %3973
%3975 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%3976 = load i32, i32* %3975
%3977 = xor i32 %3974, %3976
%3978 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%3979 = load i32, i32* %3978
%3980 = xor i32 %3977, %3979
store i32 %3980, i32* %14
%3981 = load i32, i32* %14
%3982 = shl i32 %3981, 1
%3983 = load i32, i32* %14
%3984 = lshr i32 %3983, 31
%3985 = or i32 %3982, %3984
%3986 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %3985, i32* %3986
%3987 = add i32 %3969, %3985
%3988 = load i32, i32* %18
%3989 = add i32 %3988, %3987
store i32 %3989, i32* %18
%3990 = load i32, i32* %20
%3991 = shl i32 %3990, 30
%3992 = load i32, i32* %20
%3993 = lshr i32 %3992, 2
%3994 = or i32 %3991, %3993
store i32 %3994, i32* %20
%3995 = load i32, i32* %18
%3996 = shl i32 %3995, 5
%3997 = load i32, i32* %18
%3998 = lshr i32 %3997, 27
%3999 = or i32 %3996, %3998
%4000 = load i32, i32* %19
%4001 = load i32, i32* %20
%4002 = xor i32 %4000, %4001
%4003 = load i32, i32* %16
%4004 = xor i32 %4002, %4003
%4005 = add i32 %3999, %4004
%4006 = add i32 %4005, 1859775393
%4007 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4008 = load i32, i32* %4007
%4009 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4010 = load i32, i32* %4009
%4011 = xor i32 %4008, %4010
%4012 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4013 = load i32, i32* %4012
%4014 = xor i32 %4011, %4013
%4015 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4016 = load i32, i32* %4015
%4017 = xor i32 %4014, %4016
store i32 %4017, i32* %14
%4018 = load i32, i32* %14
%4019 = shl i32 %4018, 1
%4020 = load i32, i32* %14
%4021 = lshr i32 %4020, 31
%4022 = or i32 %4019, %4021
%4023 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %4022, i32* %4023
%4024 = add i32 %4006, %4022
%4025 = load i32, i32* %17
%4026 = add i32 %4025, %4024
store i32 %4026, i32* %17
%4027 = load i32, i32* %19
%4028 = shl i32 %4027, 30
%4029 = load i32, i32* %19
%4030 = lshr i32 %4029, 2
%4031 = or i32 %4028, %4030
store i32 %4031, i32* %19
%4032 = load i32, i32* %17
%4033 = shl i32 %4032, 5
%4034 = load i32, i32* %17
%4035 = lshr i32 %4034, 27
%4036 = or i32 %4033, %4035
%4037 = load i32, i32* %18
%4038 = load i32, i32* %19
%4039 = xor i32 %4037, %4038
%4040 = load i32, i32* %20
%4041 = xor i32 %4039, %4040
%4042 = add i32 %4036, %4041
%4043 = add i32 %4042, 1859775393
%4044 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4045 = load i32, i32* %4044
%4046 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4047 = load i32, i32* %4046
%4048 = xor i32 %4045, %4047
%4049 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4050 = load i32, i32* %4049
%4051 = xor i32 %4048, %4050
%4052 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4053 = load i32, i32* %4052
%4054 = xor i32 %4051, %4053
store i32 %4054, i32* %14
%4055 = load i32, i32* %14
%4056 = shl i32 %4055, 1
%4057 = load i32, i32* %14
%4058 = lshr i32 %4057, 31
%4059 = or i32 %4056, %4058
%4060 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %4059, i32* %4060
%4061 = add i32 %4043, %4059
%4062 = load i32, i32* %16
%4063 = add i32 %4062, %4061
store i32 %4063, i32* %16
%4064 = load i32, i32* %18
%4065 = shl i32 %4064, 30
%4066 = load i32, i32* %18
%4067 = lshr i32 %4066, 2
%4068 = or i32 %4065, %4067
store i32 %4068, i32* %18
%4069 = load i32, i32* %16
%4070 = shl i32 %4069, 5
%4071 = load i32, i32* %16
%4072 = lshr i32 %4071, 27
%4073 = or i32 %4070, %4072
%4074 = load i32, i32* %17
%4075 = load i32, i32* %18
%4076 = xor i32 %4074, %4075
%4077 = load i32, i32* %19
%4078 = xor i32 %4076, %4077
%4079 = add i32 %4073, %4078
%4080 = add i32 %4079, 1859775393
%4081 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4082 = load i32, i32* %4081
%4083 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4084 = load i32, i32* %4083
%4085 = xor i32 %4082, %4084
%4086 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4087 = load i32, i32* %4086
%4088 = xor i32 %4085, %4087
%4089 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4090 = load i32, i32* %4089
%4091 = xor i32 %4088, %4090
store i32 %4091, i32* %14
%4092 = load i32, i32* %14
%4093 = shl i32 %4092, 1
%4094 = load i32, i32* %14
%4095 = lshr i32 %4094, 31
%4096 = or i32 %4093, %4095
%4097 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %4096, i32* %4097
%4098 = add i32 %4080, %4096
%4099 = load i32, i32* %20
%4100 = add i32 %4099, %4098
store i32 %4100, i32* %20
%4101 = load i32, i32* %17
%4102 = shl i32 %4101, 30
%4103 = load i32, i32* %17
%4104 = lshr i32 %4103, 2
%4105 = or i32 %4102, %4104
store i32 %4105, i32* %17
%4106 = load i32, i32* %20
%4107 = shl i32 %4106, 5
%4108 = load i32, i32* %20
%4109 = lshr i32 %4108, 27
%4110 = or i32 %4107, %4109
%4111 = load i32, i32* %16
%4112 = load i32, i32* %17
%4113 = xor i32 %4111, %4112
%4114 = load i32, i32* %18
%4115 = xor i32 %4113, %4114
%4116 = add i32 %4110, %4115
%4117 = add i32 %4116, 1859775393
%4118 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4119 = load i32, i32* %4118
%4120 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4121 = load i32, i32* %4120
%4122 = xor i32 %4119, %4121
%4123 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4124 = load i32, i32* %4123
%4125 = xor i32 %4122, %4124
%4126 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4127 = load i32, i32* %4126
%4128 = xor i32 %4125, %4127
store i32 %4128, i32* %14
%4129 = load i32, i32* %14
%4130 = shl i32 %4129, 1
%4131 = load i32, i32* %14
%4132 = lshr i32 %4131, 31
%4133 = or i32 %4130, %4132
%4134 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %4133, i32* %4134
%4135 = add i32 %4117, %4133
%4136 = load i32, i32* %19
%4137 = add i32 %4136, %4135
store i32 %4137, i32* %19
%4138 = load i32, i32* %16
%4139 = shl i32 %4138, 30
%4140 = load i32, i32* %16
%4141 = lshr i32 %4140, 2
%4142 = or i32 %4139, %4141
store i32 %4142, i32* %16
%4143 = load i32, i32* %19
%4144 = shl i32 %4143, 5
%4145 = load i32, i32* %19
%4146 = lshr i32 %4145, 27
%4147 = or i32 %4144, %4146
%4148 = load i32, i32* %20
%4149 = load i32, i32* %16
%4150 = xor i32 %4148, %4149
%4151 = load i32, i32* %17
%4152 = xor i32 %4150, %4151
%4153 = add i32 %4147, %4152
%4154 = add i32 %4153, 1859775393
%4155 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4156 = load i32, i32* %4155
%4157 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%4158 = load i32, i32* %4157
%4159 = xor i32 %4156, %4158
%4160 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4161 = load i32, i32* %4160
%4162 = xor i32 %4159, %4161
%4163 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4164 = load i32, i32* %4163
%4165 = xor i32 %4162, %4164
store i32 %4165, i32* %14
%4166 = load i32, i32* %14
%4167 = shl i32 %4166, 1
%4168 = load i32, i32* %14
%4169 = lshr i32 %4168, 31
%4170 = or i32 %4167, %4169
%4171 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %4170, i32* %4171
%4172 = add i32 %4154, %4170
%4173 = load i32, i32* %18
%4174 = add i32 %4173, %4172
store i32 %4174, i32* %18
%4175 = load i32, i32* %20
%4176 = shl i32 %4175, 30
%4177 = load i32, i32* %20
%4178 = lshr i32 %4177, 2
%4179 = or i32 %4176, %4178
store i32 %4179, i32* %20
%4180 = load i32, i32* %18
%4181 = shl i32 %4180, 5
%4182 = load i32, i32* %18
%4183 = lshr i32 %4182, 27
%4184 = or i32 %4181, %4183
%4185 = load i32, i32* %19
%4186 = load i32, i32* %20
%4187 = xor i32 %4185, %4186
%4188 = load i32, i32* %16
%4189 = xor i32 %4187, %4188
%4190 = add i32 %4184, %4189
%4191 = add i32 %4190, 1859775393
%4192 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4193 = load i32, i32* %4192
%4194 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4195 = load i32, i32* %4194
%4196 = xor i32 %4193, %4195
%4197 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4198 = load i32, i32* %4197
%4199 = xor i32 %4196, %4198
%4200 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4201 = load i32, i32* %4200
%4202 = xor i32 %4199, %4201
store i32 %4202, i32* %14
%4203 = load i32, i32* %14
%4204 = shl i32 %4203, 1
%4205 = load i32, i32* %14
%4206 = lshr i32 %4205, 31
%4207 = or i32 %4204, %4206
%4208 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %4207, i32* %4208
%4209 = add i32 %4191, %4207
%4210 = load i32, i32* %17
%4211 = add i32 %4210, %4209
store i32 %4211, i32* %17
%4212 = load i32, i32* %19
%4213 = shl i32 %4212, 30
%4214 = load i32, i32* %19
%4215 = lshr i32 %4214, 2
%4216 = or i32 %4213, %4215
store i32 %4216, i32* %19
%4217 = load i32, i32* %17
%4218 = shl i32 %4217, 5
%4219 = load i32, i32* %17
%4220 = lshr i32 %4219, 27
%4221 = or i32 %4218, %4220
%4222 = load i32, i32* %18
%4223 = load i32, i32* %19
%4224 = xor i32 %4222, %4223
%4225 = load i32, i32* %20
%4226 = xor i32 %4224, %4225
%4227 = add i32 %4221, %4226
%4228 = add i32 %4227, 1859775393
%4229 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4230 = load i32, i32* %4229
%4231 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4232 = load i32, i32* %4231
%4233 = xor i32 %4230, %4232
%4234 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4235 = load i32, i32* %4234
%4236 = xor i32 %4233, %4235
%4237 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4238 = load i32, i32* %4237
%4239 = xor i32 %4236, %4238
store i32 %4239, i32* %14
%4240 = load i32, i32* %14
%4241 = shl i32 %4240, 1
%4242 = load i32, i32* %14
%4243 = lshr i32 %4242, 31
%4244 = or i32 %4241, %4243
%4245 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %4244, i32* %4245
%4246 = add i32 %4228, %4244
%4247 = load i32, i32* %16
%4248 = add i32 %4247, %4246
store i32 %4248, i32* %16
%4249 = load i32, i32* %18
%4250 = shl i32 %4249, 30
%4251 = load i32, i32* %18
%4252 = lshr i32 %4251, 2
%4253 = or i32 %4250, %4252
store i32 %4253, i32* %18
%4254 = load i32, i32* %16
%4255 = shl i32 %4254, 5
%4256 = load i32, i32* %16
%4257 = lshr i32 %4256, 27
%4258 = or i32 %4255, %4257
%4259 = load i32, i32* %17
%4260 = load i32, i32* %18
%4261 = xor i32 %4259, %4260
%4262 = load i32, i32* %19
%4263 = xor i32 %4261, %4262
%4264 = add i32 %4258, %4263
%4265 = add i32 %4264, 1859775393
%4266 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4267 = load i32, i32* %4266
%4268 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4269 = load i32, i32* %4268
%4270 = xor i32 %4267, %4269
%4271 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4272 = load i32, i32* %4271
%4273 = xor i32 %4270, %4272
%4274 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4275 = load i32, i32* %4274
%4276 = xor i32 %4273, %4275
store i32 %4276, i32* %14
%4277 = load i32, i32* %14
%4278 = shl i32 %4277, 1
%4279 = load i32, i32* %14
%4280 = lshr i32 %4279, 31
%4281 = or i32 %4278, %4280
%4282 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %4281, i32* %4282
%4283 = add i32 %4265, %4281
%4284 = load i32, i32* %20
%4285 = add i32 %4284, %4283
store i32 %4285, i32* %20
%4286 = load i32, i32* %17
%4287 = shl i32 %4286, 30
%4288 = load i32, i32* %17
%4289 = lshr i32 %4288, 2
%4290 = or i32 %4287, %4289
store i32 %4290, i32* %17
%4291 = load i32, i32* %20
%4292 = shl i32 %4291, 5
%4293 = load i32, i32* %20
%4294 = lshr i32 %4293, 27
%4295 = or i32 %4292, %4294
%4296 = load i32, i32* %16
%4297 = load i32, i32* %17
%4298 = xor i32 %4296, %4297
%4299 = load i32, i32* %18
%4300 = xor i32 %4298, %4299
%4301 = add i32 %4295, %4300
%4302 = add i32 %4301, 1859775393
%4303 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4304 = load i32, i32* %4303
%4305 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4306 = load i32, i32* %4305
%4307 = xor i32 %4304, %4306
%4308 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4309 = load i32, i32* %4308
%4310 = xor i32 %4307, %4309
%4311 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4312 = load i32, i32* %4311
%4313 = xor i32 %4310, %4312
store i32 %4313, i32* %14
%4314 = load i32, i32* %14
%4315 = shl i32 %4314, 1
%4316 = load i32, i32* %14
%4317 = lshr i32 %4316, 31
%4318 = or i32 %4315, %4317
%4319 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %4318, i32* %4319
%4320 = add i32 %4302, %4318
%4321 = load i32, i32* %19
%4322 = add i32 %4321, %4320
store i32 %4322, i32* %19
%4323 = load i32, i32* %16
%4324 = shl i32 %4323, 30
%4325 = load i32, i32* %16
%4326 = lshr i32 %4325, 2
%4327 = or i32 %4324, %4326
store i32 %4327, i32* %16
%4328 = load i32, i32* %19
%4329 = shl i32 %4328, 5
%4330 = load i32, i32* %19
%4331 = lshr i32 %4330, 27
%4332 = or i32 %4329, %4331
%4333 = load i32, i32* %20
%4334 = load i32, i32* %16
%4335 = xor i32 %4333, %4334
%4336 = load i32, i32* %17
%4337 = xor i32 %4335, %4336
%4338 = add i32 %4332, %4337
%4339 = add i32 %4338, 1859775393
%4340 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4341 = load i32, i32* %4340
%4342 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4343 = load i32, i32* %4342
%4344 = xor i32 %4341, %4343
%4345 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4346 = load i32, i32* %4345
%4347 = xor i32 %4344, %4346
%4348 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4349 = load i32, i32* %4348
%4350 = xor i32 %4347, %4349
store i32 %4350, i32* %14
%4351 = load i32, i32* %14
%4352 = shl i32 %4351, 1
%4353 = load i32, i32* %14
%4354 = lshr i32 %4353, 31
%4355 = or i32 %4352, %4354
%4356 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %4355, i32* %4356
%4357 = add i32 %4339, %4355
%4358 = load i32, i32* %18
%4359 = add i32 %4358, %4357
store i32 %4359, i32* %18
%4360 = load i32, i32* %20
%4361 = shl i32 %4360, 30
%4362 = load i32, i32* %20
%4363 = lshr i32 %4362, 2
%4364 = or i32 %4361, %4363
store i32 %4364, i32* %20
%4365 = load i32, i32* %18
%4366 = shl i32 %4365, 5
%4367 = load i32, i32* %18
%4368 = lshr i32 %4367, 27
%4369 = or i32 %4366, %4368
%4370 = load i32, i32* %19
%4371 = load i32, i32* %20
%4372 = xor i32 %4370, %4371
%4373 = load i32, i32* %16
%4374 = xor i32 %4372, %4373
%4375 = add i32 %4369, %4374
%4376 = add i32 %4375, 1859775393
%4377 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4378 = load i32, i32* %4377
%4379 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4380 = load i32, i32* %4379
%4381 = xor i32 %4378, %4380
%4382 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%4383 = load i32, i32* %4382
%4384 = xor i32 %4381, %4383
%4385 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4386 = load i32, i32* %4385
%4387 = xor i32 %4384, %4386
store i32 %4387, i32* %14
%4388 = load i32, i32* %14
%4389 = shl i32 %4388, 1
%4390 = load i32, i32* %14
%4391 = lshr i32 %4390, 31
%4392 = or i32 %4389, %4391
%4393 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %4392, i32* %4393
%4394 = add i32 %4376, %4392
%4395 = load i32, i32* %17
%4396 = add i32 %4395, %4394
store i32 %4396, i32* %17
%4397 = load i32, i32* %19
%4398 = shl i32 %4397, 30
%4399 = load i32, i32* %19
%4400 = lshr i32 %4399, 2
%4401 = or i32 %4398, %4400
store i32 %4401, i32* %19
%4402 = load i32, i32* %17
%4403 = shl i32 %4402, 5
%4404 = load i32, i32* %17
%4405 = lshr i32 %4404, 27
%4406 = or i32 %4403, %4405
%4407 = load i32, i32* %18
%4408 = load i32, i32* %19
%4409 = xor i32 %4407, %4408
%4410 = load i32, i32* %20
%4411 = xor i32 %4409, %4410
%4412 = add i32 %4406, %4411
%4413 = add i32 %4412, 1859775393
%4414 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4415 = load i32, i32* %4414
%4416 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4417 = load i32, i32* %4416
%4418 = xor i32 %4415, %4417
%4419 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4420 = load i32, i32* %4419
%4421 = xor i32 %4418, %4420
%4422 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4423 = load i32, i32* %4422
%4424 = xor i32 %4421, %4423
store i32 %4424, i32* %14
%4425 = load i32, i32* %14
%4426 = shl i32 %4425, 1
%4427 = load i32, i32* %14
%4428 = lshr i32 %4427, 31
%4429 = or i32 %4426, %4428
%4430 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %4429, i32* %4430
%4431 = add i32 %4413, %4429
%4432 = load i32, i32* %16
%4433 = add i32 %4432, %4431
store i32 %4433, i32* %16
%4434 = load i32, i32* %18
%4435 = shl i32 %4434, 30
%4436 = load i32, i32* %18
%4437 = lshr i32 %4436, 2
%4438 = or i32 %4435, %4437
store i32 %4438, i32* %18
%4439 = load i32, i32* %16
%4440 = shl i32 %4439, 5
%4441 = load i32, i32* %16
%4442 = lshr i32 %4441, 27
%4443 = or i32 %4440, %4442
%4444 = load i32, i32* %17
%4445 = load i32, i32* %18
%4446 = and i32 %4444, %4445
%4447 = load i32, i32* %19
%4448 = load i32, i32* %17
%4449 = load i32, i32* %18
%4450 = or i32 %4448, %4449
%4451 = and i32 %4447, %4450
%4452 = or i32 %4446, %4451
%4453 = add i32 %4443, %4452
%4454 = add i32 %4453, -1894007588
%4455 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4456 = load i32, i32* %4455
%4457 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4458 = load i32, i32* %4457
%4459 = xor i32 %4456, %4458
%4460 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4461 = load i32, i32* %4460
%4462 = xor i32 %4459, %4461
%4463 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%4464 = load i32, i32* %4463
%4465 = xor i32 %4462, %4464
store i32 %4465, i32* %14
%4466 = load i32, i32* %14
%4467 = shl i32 %4466, 1
%4468 = load i32, i32* %14
%4469 = lshr i32 %4468, 31
%4470 = or i32 %4467, %4469
%4471 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %4470, i32* %4471
%4472 = add i32 %4454, %4470
%4473 = load i32, i32* %20
%4474 = add i32 %4473, %4472
store i32 %4474, i32* %20
%4475 = load i32, i32* %17
%4476 = shl i32 %4475, 30
%4477 = load i32, i32* %17
%4478 = lshr i32 %4477, 2
%4479 = or i32 %4476, %4478
store i32 %4479, i32* %17
%4480 = load i32, i32* %20
%4481 = shl i32 %4480, 5
%4482 = load i32, i32* %20
%4483 = lshr i32 %4482, 27
%4484 = or i32 %4481, %4483
%4485 = load i32, i32* %16
%4486 = load i32, i32* %17
%4487 = and i32 %4485, %4486
%4488 = load i32, i32* %18
%4489 = load i32, i32* %16
%4490 = load i32, i32* %17
%4491 = or i32 %4489, %4490
%4492 = and i32 %4488, %4491
%4493 = or i32 %4487, %4492
%4494 = add i32 %4484, %4493
%4495 = add i32 %4494, -1894007588
%4496 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4497 = load i32, i32* %4496
%4498 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4499 = load i32, i32* %4498
%4500 = xor i32 %4497, %4499
%4501 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4502 = load i32, i32* %4501
%4503 = xor i32 %4500, %4502
%4504 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4505 = load i32, i32* %4504
%4506 = xor i32 %4503, %4505
store i32 %4506, i32* %14
%4507 = load i32, i32* %14
%4508 = shl i32 %4507, 1
%4509 = load i32, i32* %14
%4510 = lshr i32 %4509, 31
%4511 = or i32 %4508, %4510
%4512 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %4511, i32* %4512
%4513 = add i32 %4495, %4511
%4514 = load i32, i32* %19
%4515 = add i32 %4514, %4513
store i32 %4515, i32* %19
%4516 = load i32, i32* %16
%4517 = shl i32 %4516, 30
%4518 = load i32, i32* %16
%4519 = lshr i32 %4518, 2
%4520 = or i32 %4517, %4519
store i32 %4520, i32* %16
%4521 = load i32, i32* %19
%4522 = shl i32 %4521, 5
%4523 = load i32, i32* %19
%4524 = lshr i32 %4523, 27
%4525 = or i32 %4522, %4524
%4526 = load i32, i32* %20
%4527 = load i32, i32* %16
%4528 = and i32 %4526, %4527
%4529 = load i32, i32* %17
%4530 = load i32, i32* %20
%4531 = load i32, i32* %16
%4532 = or i32 %4530, %4531
%4533 = and i32 %4529, %4532
%4534 = or i32 %4528, %4533
%4535 = add i32 %4525, %4534
%4536 = add i32 %4535, -1894007588
%4537 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4538 = load i32, i32* %4537
%4539 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4540 = load i32, i32* %4539
%4541 = xor i32 %4538, %4540
%4542 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4543 = load i32, i32* %4542
%4544 = xor i32 %4541, %4543
%4545 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4546 = load i32, i32* %4545
%4547 = xor i32 %4544, %4546
store i32 %4547, i32* %14
%4548 = load i32, i32* %14
%4549 = shl i32 %4548, 1
%4550 = load i32, i32* %14
%4551 = lshr i32 %4550, 31
%4552 = or i32 %4549, %4551
%4553 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %4552, i32* %4553
%4554 = add i32 %4536, %4552
%4555 = load i32, i32* %18
%4556 = add i32 %4555, %4554
store i32 %4556, i32* %18
%4557 = load i32, i32* %20
%4558 = shl i32 %4557, 30
%4559 = load i32, i32* %20
%4560 = lshr i32 %4559, 2
%4561 = or i32 %4558, %4560
store i32 %4561, i32* %20
%4562 = load i32, i32* %18
%4563 = shl i32 %4562, 5
%4564 = load i32, i32* %18
%4565 = lshr i32 %4564, 27
%4566 = or i32 %4563, %4565
%4567 = load i32, i32* %19
%4568 = load i32, i32* %20
%4569 = and i32 %4567, %4568
%4570 = load i32, i32* %16
%4571 = load i32, i32* %19
%4572 = load i32, i32* %20
%4573 = or i32 %4571, %4572
%4574 = and i32 %4570, %4573
%4575 = or i32 %4569, %4574
%4576 = add i32 %4566, %4575
%4577 = add i32 %4576, -1894007588
%4578 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%4579 = load i32, i32* %4578
%4580 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4581 = load i32, i32* %4580
%4582 = xor i32 %4579, %4581
%4583 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4584 = load i32, i32* %4583
%4585 = xor i32 %4582, %4584
%4586 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4587 = load i32, i32* %4586
%4588 = xor i32 %4585, %4587
store i32 %4588, i32* %14
%4589 = load i32, i32* %14
%4590 = shl i32 %4589, 1
%4591 = load i32, i32* %14
%4592 = lshr i32 %4591, 31
%4593 = or i32 %4590, %4592
%4594 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %4593, i32* %4594
%4595 = add i32 %4577, %4593
%4596 = load i32, i32* %17
%4597 = add i32 %4596, %4595
store i32 %4597, i32* %17
%4598 = load i32, i32* %19
%4599 = shl i32 %4598, 30
%4600 = load i32, i32* %19
%4601 = lshr i32 %4600, 2
%4602 = or i32 %4599, %4601
store i32 %4602, i32* %19
%4603 = load i32, i32* %17
%4604 = shl i32 %4603, 5
%4605 = load i32, i32* %17
%4606 = lshr i32 %4605, 27
%4607 = or i32 %4604, %4606
%4608 = load i32, i32* %18
%4609 = load i32, i32* %19
%4610 = and i32 %4608, %4609
%4611 = load i32, i32* %20
%4612 = load i32, i32* %18
%4613 = load i32, i32* %19
%4614 = or i32 %4612, %4613
%4615 = and i32 %4611, %4614
%4616 = or i32 %4610, %4615
%4617 = add i32 %4607, %4616
%4618 = add i32 %4617, -1894007588
%4619 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4620 = load i32, i32* %4619
%4621 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4622 = load i32, i32* %4621
%4623 = xor i32 %4620, %4622
%4624 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4625 = load i32, i32* %4624
%4626 = xor i32 %4623, %4625
%4627 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4628 = load i32, i32* %4627
%4629 = xor i32 %4626, %4628
store i32 %4629, i32* %14
%4630 = load i32, i32* %14
%4631 = shl i32 %4630, 1
%4632 = load i32, i32* %14
%4633 = lshr i32 %4632, 31
%4634 = or i32 %4631, %4633
%4635 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %4634, i32* %4635
%4636 = add i32 %4618, %4634
%4637 = load i32, i32* %16
%4638 = add i32 %4637, %4636
store i32 %4638, i32* %16
%4639 = load i32, i32* %18
%4640 = shl i32 %4639, 30
%4641 = load i32, i32* %18
%4642 = lshr i32 %4641, 2
%4643 = or i32 %4640, %4642
store i32 %4643, i32* %18
%4644 = load i32, i32* %16
%4645 = shl i32 %4644, 5
%4646 = load i32, i32* %16
%4647 = lshr i32 %4646, 27
%4648 = or i32 %4645, %4647
%4649 = load i32, i32* %17
%4650 = load i32, i32* %18
%4651 = and i32 %4649, %4650
%4652 = load i32, i32* %19
%4653 = load i32, i32* %17
%4654 = load i32, i32* %18
%4655 = or i32 %4653, %4654
%4656 = and i32 %4652, %4655
%4657 = or i32 %4651, %4656
%4658 = add i32 %4648, %4657
%4659 = add i32 %4658, -1894007588
%4660 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4661 = load i32, i32* %4660
%4662 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4663 = load i32, i32* %4662
%4664 = xor i32 %4661, %4663
%4665 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4666 = load i32, i32* %4665
%4667 = xor i32 %4664, %4666
%4668 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4669 = load i32, i32* %4668
%4670 = xor i32 %4667, %4669
store i32 %4670, i32* %14
%4671 = load i32, i32* %14
%4672 = shl i32 %4671, 1
%4673 = load i32, i32* %14
%4674 = lshr i32 %4673, 31
%4675 = or i32 %4672, %4674
%4676 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %4675, i32* %4676
%4677 = add i32 %4659, %4675
%4678 = load i32, i32* %20
%4679 = add i32 %4678, %4677
store i32 %4679, i32* %20
%4680 = load i32, i32* %17
%4681 = shl i32 %4680, 30
%4682 = load i32, i32* %17
%4683 = lshr i32 %4682, 2
%4684 = or i32 %4681, %4683
store i32 %4684, i32* %17
%4685 = load i32, i32* %20
%4686 = shl i32 %4685, 5
%4687 = load i32, i32* %20
%4688 = lshr i32 %4687, 27
%4689 = or i32 %4686, %4688
%4690 = load i32, i32* %16
%4691 = load i32, i32* %17
%4692 = and i32 %4690, %4691
%4693 = load i32, i32* %18
%4694 = load i32, i32* %16
%4695 = load i32, i32* %17
%4696 = or i32 %4694, %4695
%4697 = and i32 %4693, %4696
%4698 = or i32 %4692, %4697
%4699 = add i32 %4689, %4698
%4700 = add i32 %4699, -1894007588
%4701 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4702 = load i32, i32* %4701
%4703 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4704 = load i32, i32* %4703
%4705 = xor i32 %4702, %4704
%4706 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4707 = load i32, i32* %4706
%4708 = xor i32 %4705, %4707
%4709 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4710 = load i32, i32* %4709
%4711 = xor i32 %4708, %4710
store i32 %4711, i32* %14
%4712 = load i32, i32* %14
%4713 = shl i32 %4712, 1
%4714 = load i32, i32* %14
%4715 = lshr i32 %4714, 31
%4716 = or i32 %4713, %4715
%4717 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %4716, i32* %4717
%4718 = add i32 %4700, %4716
%4719 = load i32, i32* %19
%4720 = add i32 %4719, %4718
store i32 %4720, i32* %19
%4721 = load i32, i32* %16
%4722 = shl i32 %4721, 30
%4723 = load i32, i32* %16
%4724 = lshr i32 %4723, 2
%4725 = or i32 %4722, %4724
store i32 %4725, i32* %16
%4726 = load i32, i32* %19
%4727 = shl i32 %4726, 5
%4728 = load i32, i32* %19
%4729 = lshr i32 %4728, 27
%4730 = or i32 %4727, %4729
%4731 = load i32, i32* %20
%4732 = load i32, i32* %16
%4733 = and i32 %4731, %4732
%4734 = load i32, i32* %17
%4735 = load i32, i32* %20
%4736 = load i32, i32* %16
%4737 = or i32 %4735, %4736
%4738 = and i32 %4734, %4737
%4739 = or i32 %4733, %4738
%4740 = add i32 %4730, %4739
%4741 = add i32 %4740, -1894007588
%4742 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4743 = load i32, i32* %4742
%4744 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4745 = load i32, i32* %4744
%4746 = xor i32 %4743, %4745
%4747 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4748 = load i32, i32* %4747
%4749 = xor i32 %4746, %4748
%4750 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4751 = load i32, i32* %4750
%4752 = xor i32 %4749, %4751
store i32 %4752, i32* %14
%4753 = load i32, i32* %14
%4754 = shl i32 %4753, 1
%4755 = load i32, i32* %14
%4756 = lshr i32 %4755, 31
%4757 = or i32 %4754, %4756
%4758 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %4757, i32* %4758
%4759 = add i32 %4741, %4757
%4760 = load i32, i32* %18
%4761 = add i32 %4760, %4759
store i32 %4761, i32* %18
%4762 = load i32, i32* %20
%4763 = shl i32 %4762, 30
%4764 = load i32, i32* %20
%4765 = lshr i32 %4764, 2
%4766 = or i32 %4763, %4765
store i32 %4766, i32* %20
%4767 = load i32, i32* %18
%4768 = shl i32 %4767, 5
%4769 = load i32, i32* %18
%4770 = lshr i32 %4769, 27
%4771 = or i32 %4768, %4770
%4772 = load i32, i32* %19
%4773 = load i32, i32* %20
%4774 = and i32 %4772, %4773
%4775 = load i32, i32* %16
%4776 = load i32, i32* %19
%4777 = load i32, i32* %20
%4778 = or i32 %4776, %4777
%4779 = and i32 %4775, %4778
%4780 = or i32 %4774, %4779
%4781 = add i32 %4771, %4780
%4782 = add i32 %4781, -1894007588
%4783 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4784 = load i32, i32* %4783
%4785 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%4786 = load i32, i32* %4785
%4787 = xor i32 %4784, %4786
%4788 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4789 = load i32, i32* %4788
%4790 = xor i32 %4787, %4789
%4791 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4792 = load i32, i32* %4791
%4793 = xor i32 %4790, %4792
store i32 %4793, i32* %14
%4794 = load i32, i32* %14
%4795 = shl i32 %4794, 1
%4796 = load i32, i32* %14
%4797 = lshr i32 %4796, 31
%4798 = or i32 %4795, %4797
%4799 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %4798, i32* %4799
%4800 = add i32 %4782, %4798
%4801 = load i32, i32* %17
%4802 = add i32 %4801, %4800
store i32 %4802, i32* %17
%4803 = load i32, i32* %19
%4804 = shl i32 %4803, 30
%4805 = load i32, i32* %19
%4806 = lshr i32 %4805, 2
%4807 = or i32 %4804, %4806
store i32 %4807, i32* %19
%4808 = load i32, i32* %17
%4809 = shl i32 %4808, 5
%4810 = load i32, i32* %17
%4811 = lshr i32 %4810, 27
%4812 = or i32 %4809, %4811
%4813 = load i32, i32* %18
%4814 = load i32, i32* %19
%4815 = and i32 %4813, %4814
%4816 = load i32, i32* %20
%4817 = load i32, i32* %18
%4818 = load i32, i32* %19
%4819 = or i32 %4817, %4818
%4820 = and i32 %4816, %4819
%4821 = or i32 %4815, %4820
%4822 = add i32 %4812, %4821
%4823 = add i32 %4822, -1894007588
%4824 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%4825 = load i32, i32* %4824
%4826 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%4827 = load i32, i32* %4826
%4828 = xor i32 %4825, %4827
%4829 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4830 = load i32, i32* %4829
%4831 = xor i32 %4828, %4830
%4832 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4833 = load i32, i32* %4832
%4834 = xor i32 %4831, %4833
store i32 %4834, i32* %14
%4835 = load i32, i32* %14
%4836 = shl i32 %4835, 1
%4837 = load i32, i32* %14
%4838 = lshr i32 %4837, 31
%4839 = or i32 %4836, %4838
%4840 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %4839, i32* %4840
%4841 = add i32 %4823, %4839
%4842 = load i32, i32* %16
%4843 = add i32 %4842, %4841
store i32 %4843, i32* %16
%4844 = load i32, i32* %18
%4845 = shl i32 %4844, 30
%4846 = load i32, i32* %18
%4847 = lshr i32 %4846, 2
%4848 = or i32 %4845, %4847
store i32 %4848, i32* %18
%4849 = load i32, i32* %16
%4850 = shl i32 %4849, 5
%4851 = load i32, i32* %16
%4852 = lshr i32 %4851, 27
%4853 = or i32 %4850, %4852
%4854 = load i32, i32* %17
%4855 = load i32, i32* %18
%4856 = and i32 %4854, %4855
%4857 = load i32, i32* %19
%4858 = load i32, i32* %17
%4859 = load i32, i32* %18
%4860 = or i32 %4858, %4859
%4861 = and i32 %4857, %4860
%4862 = or i32 %4856, %4861
%4863 = add i32 %4853, %4862
%4864 = add i32 %4863, -1894007588
%4865 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%4866 = load i32, i32* %4865
%4867 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%4868 = load i32, i32* %4867
%4869 = xor i32 %4866, %4868
%4870 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4871 = load i32, i32* %4870
%4872 = xor i32 %4869, %4871
%4873 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4874 = load i32, i32* %4873
%4875 = xor i32 %4872, %4874
store i32 %4875, i32* %14
%4876 = load i32, i32* %14
%4877 = shl i32 %4876, 1
%4878 = load i32, i32* %14
%4879 = lshr i32 %4878, 31
%4880 = or i32 %4877, %4879
%4881 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %4880, i32* %4881
%4882 = add i32 %4864, %4880
%4883 = load i32, i32* %20
%4884 = add i32 %4883, %4882
store i32 %4884, i32* %20
%4885 = load i32, i32* %17
%4886 = shl i32 %4885, 30
%4887 = load i32, i32* %17
%4888 = lshr i32 %4887, 2
%4889 = or i32 %4886, %4888
store i32 %4889, i32* %17
%4890 = load i32, i32* %20
%4891 = shl i32 %4890, 5
%4892 = load i32, i32* %20
%4893 = lshr i32 %4892, 27
%4894 = or i32 %4891, %4893
%4895 = load i32, i32* %16
%4896 = load i32, i32* %17
%4897 = and i32 %4895, %4896
%4898 = load i32, i32* %18
%4899 = load i32, i32* %16
%4900 = load i32, i32* %17
%4901 = or i32 %4899, %4900
%4902 = and i32 %4898, %4901
%4903 = or i32 %4897, %4902
%4904 = add i32 %4894, %4903
%4905 = add i32 %4904, -1894007588
%4906 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%4907 = load i32, i32* %4906
%4908 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%4909 = load i32, i32* %4908
%4910 = xor i32 %4907, %4909
%4911 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4912 = load i32, i32* %4911
%4913 = xor i32 %4910, %4912
%4914 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%4915 = load i32, i32* %4914
%4916 = xor i32 %4913, %4915
store i32 %4916, i32* %14
%4917 = load i32, i32* %14
%4918 = shl i32 %4917, 1
%4919 = load i32, i32* %14
%4920 = lshr i32 %4919, 31
%4921 = or i32 %4918, %4920
%4922 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %4921, i32* %4922
%4923 = add i32 %4905, %4921
%4924 = load i32, i32* %19
%4925 = add i32 %4924, %4923
store i32 %4925, i32* %19
%4926 = load i32, i32* %16
%4927 = shl i32 %4926, 30
%4928 = load i32, i32* %16
%4929 = lshr i32 %4928, 2
%4930 = or i32 %4927, %4929
store i32 %4930, i32* %16
%4931 = load i32, i32* %19
%4932 = shl i32 %4931, 5
%4933 = load i32, i32* %19
%4934 = lshr i32 %4933, 27
%4935 = or i32 %4932, %4934
%4936 = load i32, i32* %20
%4937 = load i32, i32* %16
%4938 = and i32 %4936, %4937
%4939 = load i32, i32* %17
%4940 = load i32, i32* %20
%4941 = load i32, i32* %16
%4942 = or i32 %4940, %4941
%4943 = and i32 %4939, %4942
%4944 = or i32 %4938, %4943
%4945 = add i32 %4935, %4944
%4946 = add i32 %4945, -1894007588
%4947 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%4948 = load i32, i32* %4947
%4949 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%4950 = load i32, i32* %4949
%4951 = xor i32 %4948, %4950
%4952 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%4953 = load i32, i32* %4952
%4954 = xor i32 %4951, %4953
%4955 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%4956 = load i32, i32* %4955
%4957 = xor i32 %4954, %4956
store i32 %4957, i32* %14
%4958 = load i32, i32* %14
%4959 = shl i32 %4958, 1
%4960 = load i32, i32* %14
%4961 = lshr i32 %4960, 31
%4962 = or i32 %4959, %4961
%4963 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %4962, i32* %4963
%4964 = add i32 %4946, %4962
%4965 = load i32, i32* %18
%4966 = add i32 %4965, %4964
store i32 %4966, i32* %18
%4967 = load i32, i32* %20
%4968 = shl i32 %4967, 30
%4969 = load i32, i32* %20
%4970 = lshr i32 %4969, 2
%4971 = or i32 %4968, %4970
store i32 %4971, i32* %20
%4972 = load i32, i32* %18
%4973 = shl i32 %4972, 5
%4974 = load i32, i32* %18
%4975 = lshr i32 %4974, 27
%4976 = or i32 %4973, %4975
%4977 = load i32, i32* %19
%4978 = load i32, i32* %20
%4979 = and i32 %4977, %4978
%4980 = load i32, i32* %16
%4981 = load i32, i32* %19
%4982 = load i32, i32* %20
%4983 = or i32 %4981, %4982
%4984 = and i32 %4980, %4983
%4985 = or i32 %4979, %4984
%4986 = add i32 %4976, %4985
%4987 = add i32 %4986, -1894007588
%4988 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%4989 = load i32, i32* %4988
%4990 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%4991 = load i32, i32* %4990
%4992 = xor i32 %4989, %4991
%4993 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%4994 = load i32, i32* %4993
%4995 = xor i32 %4992, %4994
%4996 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%4997 = load i32, i32* %4996
%4998 = xor i32 %4995, %4997
store i32 %4998, i32* %14
%4999 = load i32, i32* %14
%5000 = shl i32 %4999, 1
%5001 = load i32, i32* %14
%5002 = lshr i32 %5001, 31
%5003 = or i32 %5000, %5002
%5004 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %5003, i32* %5004
%5005 = add i32 %4987, %5003
%5006 = load i32, i32* %17
%5007 = add i32 %5006, %5005
store i32 %5007, i32* %17
%5008 = load i32, i32* %19
%5009 = shl i32 %5008, 30
%5010 = load i32, i32* %19
%5011 = lshr i32 %5010, 2
%5012 = or i32 %5009, %5011
store i32 %5012, i32* %19
%5013 = load i32, i32* %17
%5014 = shl i32 %5013, 5
%5015 = load i32, i32* %17
%5016 = lshr i32 %5015, 27
%5017 = or i32 %5014, %5016
%5018 = load i32, i32* %18
%5019 = load i32, i32* %19
%5020 = and i32 %5018, %5019
%5021 = load i32, i32* %20
%5022 = load i32, i32* %18
%5023 = load i32, i32* %19
%5024 = or i32 %5022, %5023
%5025 = and i32 %5021, %5024
%5026 = or i32 %5020, %5025
%5027 = add i32 %5017, %5026
%5028 = add i32 %5027, -1894007588
%5029 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5030 = load i32, i32* %5029
%5031 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5032 = load i32, i32* %5031
%5033 = xor i32 %5030, %5032
%5034 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5035 = load i32, i32* %5034
%5036 = xor i32 %5033, %5035
%5037 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5038 = load i32, i32* %5037
%5039 = xor i32 %5036, %5038
store i32 %5039, i32* %14
%5040 = load i32, i32* %14
%5041 = shl i32 %5040, 1
%5042 = load i32, i32* %14
%5043 = lshr i32 %5042, 31
%5044 = or i32 %5041, %5043
%5045 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %5044, i32* %5045
%5046 = add i32 %5028, %5044
%5047 = load i32, i32* %16
%5048 = add i32 %5047, %5046
store i32 %5048, i32* %16
%5049 = load i32, i32* %18
%5050 = shl i32 %5049, 30
%5051 = load i32, i32* %18
%5052 = lshr i32 %5051, 2
%5053 = or i32 %5050, %5052
store i32 %5053, i32* %18
%5054 = load i32, i32* %16
%5055 = shl i32 %5054, 5
%5056 = load i32, i32* %16
%5057 = lshr i32 %5056, 27
%5058 = or i32 %5055, %5057
%5059 = load i32, i32* %17
%5060 = load i32, i32* %18
%5061 = and i32 %5059, %5060
%5062 = load i32, i32* %19
%5063 = load i32, i32* %17
%5064 = load i32, i32* %18
%5065 = or i32 %5063, %5064
%5066 = and i32 %5062, %5065
%5067 = or i32 %5061, %5066
%5068 = add i32 %5058, %5067
%5069 = add i32 %5068, -1894007588
%5070 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5071 = load i32, i32* %5070
%5072 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5073 = load i32, i32* %5072
%5074 = xor i32 %5071, %5073
%5075 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5076 = load i32, i32* %5075
%5077 = xor i32 %5074, %5076
%5078 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5079 = load i32, i32* %5078
%5080 = xor i32 %5077, %5079
store i32 %5080, i32* %14
%5081 = load i32, i32* %14
%5082 = shl i32 %5081, 1
%5083 = load i32, i32* %14
%5084 = lshr i32 %5083, 31
%5085 = or i32 %5082, %5084
%5086 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %5085, i32* %5086
%5087 = add i32 %5069, %5085
%5088 = load i32, i32* %20
%5089 = add i32 %5088, %5087
store i32 %5089, i32* %20
%5090 = load i32, i32* %17
%5091 = shl i32 %5090, 30
%5092 = load i32, i32* %17
%5093 = lshr i32 %5092, 2
%5094 = or i32 %5091, %5093
store i32 %5094, i32* %17
%5095 = load i32, i32* %20
%5096 = shl i32 %5095, 5
%5097 = load i32, i32* %20
%5098 = lshr i32 %5097, 27
%5099 = or i32 %5096, %5098
%5100 = load i32, i32* %16
%5101 = load i32, i32* %17
%5102 = and i32 %5100, %5101
%5103 = load i32, i32* %18
%5104 = load i32, i32* %16
%5105 = load i32, i32* %17
%5106 = or i32 %5104, %5105
%5107 = and i32 %5103, %5106
%5108 = or i32 %5102, %5107
%5109 = add i32 %5099, %5108
%5110 = add i32 %5109, -1894007588
%5111 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5112 = load i32, i32* %5111
%5113 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5114 = load i32, i32* %5113
%5115 = xor i32 %5112, %5114
%5116 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5117 = load i32, i32* %5116
%5118 = xor i32 %5115, %5117
%5119 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5120 = load i32, i32* %5119
%5121 = xor i32 %5118, %5120
store i32 %5121, i32* %14
%5122 = load i32, i32* %14
%5123 = shl i32 %5122, 1
%5124 = load i32, i32* %14
%5125 = lshr i32 %5124, 31
%5126 = or i32 %5123, %5125
%5127 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %5126, i32* %5127
%5128 = add i32 %5110, %5126
%5129 = load i32, i32* %19
%5130 = add i32 %5129, %5128
store i32 %5130, i32* %19
%5131 = load i32, i32* %16
%5132 = shl i32 %5131, 30
%5133 = load i32, i32* %16
%5134 = lshr i32 %5133, 2
%5135 = or i32 %5132, %5134
store i32 %5135, i32* %16
%5136 = load i32, i32* %19
%5137 = shl i32 %5136, 5
%5138 = load i32, i32* %19
%5139 = lshr i32 %5138, 27
%5140 = or i32 %5137, %5139
%5141 = load i32, i32* %20
%5142 = load i32, i32* %16
%5143 = and i32 %5141, %5142
%5144 = load i32, i32* %17
%5145 = load i32, i32* %20
%5146 = load i32, i32* %16
%5147 = or i32 %5145, %5146
%5148 = and i32 %5144, %5147
%5149 = or i32 %5143, %5148
%5150 = add i32 %5140, %5149
%5151 = add i32 %5150, -1894007588
%5152 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5153 = load i32, i32* %5152
%5154 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5155 = load i32, i32* %5154
%5156 = xor i32 %5153, %5155
%5157 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5158 = load i32, i32* %5157
%5159 = xor i32 %5156, %5158
%5160 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5161 = load i32, i32* %5160
%5162 = xor i32 %5159, %5161
store i32 %5162, i32* %14
%5163 = load i32, i32* %14
%5164 = shl i32 %5163, 1
%5165 = load i32, i32* %14
%5166 = lshr i32 %5165, 31
%5167 = or i32 %5164, %5166
%5168 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %5167, i32* %5168
%5169 = add i32 %5151, %5167
%5170 = load i32, i32* %18
%5171 = add i32 %5170, %5169
store i32 %5171, i32* %18
%5172 = load i32, i32* %20
%5173 = shl i32 %5172, 30
%5174 = load i32, i32* %20
%5175 = lshr i32 %5174, 2
%5176 = or i32 %5173, %5175
store i32 %5176, i32* %20
%5177 = load i32, i32* %18
%5178 = shl i32 %5177, 5
%5179 = load i32, i32* %18
%5180 = lshr i32 %5179, 27
%5181 = or i32 %5178, %5180
%5182 = load i32, i32* %19
%5183 = load i32, i32* %20
%5184 = and i32 %5182, %5183
%5185 = load i32, i32* %16
%5186 = load i32, i32* %19
%5187 = load i32, i32* %20
%5188 = or i32 %5186, %5187
%5189 = and i32 %5185, %5188
%5190 = or i32 %5184, %5189
%5191 = add i32 %5181, %5190
%5192 = add i32 %5191, -1894007588
%5193 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5194 = load i32, i32* %5193
%5195 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%5196 = load i32, i32* %5195
%5197 = xor i32 %5194, %5196
%5198 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5199 = load i32, i32* %5198
%5200 = xor i32 %5197, %5199
%5201 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5202 = load i32, i32* %5201
%5203 = xor i32 %5200, %5202
store i32 %5203, i32* %14
%5204 = load i32, i32* %14
%5205 = shl i32 %5204, 1
%5206 = load i32, i32* %14
%5207 = lshr i32 %5206, 31
%5208 = or i32 %5205, %5207
%5209 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %5208, i32* %5209
%5210 = add i32 %5192, %5208
%5211 = load i32, i32* %17
%5212 = add i32 %5211, %5210
store i32 %5212, i32* %17
%5213 = load i32, i32* %19
%5214 = shl i32 %5213, 30
%5215 = load i32, i32* %19
%5216 = lshr i32 %5215, 2
%5217 = or i32 %5214, %5216
store i32 %5217, i32* %19
%5218 = load i32, i32* %17
%5219 = shl i32 %5218, 5
%5220 = load i32, i32* %17
%5221 = lshr i32 %5220, 27
%5222 = or i32 %5219, %5221
%5223 = load i32, i32* %18
%5224 = load i32, i32* %19
%5225 = and i32 %5223, %5224
%5226 = load i32, i32* %20
%5227 = load i32, i32* %18
%5228 = load i32, i32* %19
%5229 = or i32 %5227, %5228
%5230 = and i32 %5226, %5229
%5231 = or i32 %5225, %5230
%5232 = add i32 %5222, %5231
%5233 = add i32 %5232, -1894007588
%5234 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5235 = load i32, i32* %5234
%5236 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5237 = load i32, i32* %5236
%5238 = xor i32 %5235, %5237
%5239 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5240 = load i32, i32* %5239
%5241 = xor i32 %5238, %5240
%5242 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5243 = load i32, i32* %5242
%5244 = xor i32 %5241, %5243
store i32 %5244, i32* %14
%5245 = load i32, i32* %14
%5246 = shl i32 %5245, 1
%5247 = load i32, i32* %14
%5248 = lshr i32 %5247, 31
%5249 = or i32 %5246, %5248
%5250 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %5249, i32* %5250
%5251 = add i32 %5233, %5249
%5252 = load i32, i32* %16
%5253 = add i32 %5252, %5251
store i32 %5253, i32* %16
%5254 = load i32, i32* %18
%5255 = shl i32 %5254, 30
%5256 = load i32, i32* %18
%5257 = lshr i32 %5256, 2
%5258 = or i32 %5255, %5257
store i32 %5258, i32* %18
%5259 = load i32, i32* %16
%5260 = shl i32 %5259, 5
%5261 = load i32, i32* %16
%5262 = lshr i32 %5261, 27
%5263 = or i32 %5260, %5262
%5264 = load i32, i32* %17
%5265 = load i32, i32* %18
%5266 = xor i32 %5264, %5265
%5267 = load i32, i32* %19
%5268 = xor i32 %5266, %5267
%5269 = add i32 %5263, %5268
%5270 = add i32 %5269, -899497514
%5271 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5272 = load i32, i32* %5271
%5273 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5274 = load i32, i32* %5273
%5275 = xor i32 %5272, %5274
%5276 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5277 = load i32, i32* %5276
%5278 = xor i32 %5275, %5277
%5279 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5280 = load i32, i32* %5279
%5281 = xor i32 %5278, %5280
store i32 %5281, i32* %14
%5282 = load i32, i32* %14
%5283 = shl i32 %5282, 1
%5284 = load i32, i32* %14
%5285 = lshr i32 %5284, 31
%5286 = or i32 %5283, %5285
%5287 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %5286, i32* %5287
%5288 = add i32 %5270, %5286
%5289 = load i32, i32* %20
%5290 = add i32 %5289, %5288
store i32 %5290, i32* %20
%5291 = load i32, i32* %17
%5292 = shl i32 %5291, 30
%5293 = load i32, i32* %17
%5294 = lshr i32 %5293, 2
%5295 = or i32 %5292, %5294
store i32 %5295, i32* %17
%5296 = load i32, i32* %20
%5297 = shl i32 %5296, 5
%5298 = load i32, i32* %20
%5299 = lshr i32 %5298, 27
%5300 = or i32 %5297, %5299
%5301 = load i32, i32* %16
%5302 = load i32, i32* %17
%5303 = xor i32 %5301, %5302
%5304 = load i32, i32* %18
%5305 = xor i32 %5303, %5304
%5306 = add i32 %5300, %5305
%5307 = add i32 %5306, -899497514
%5308 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5309 = load i32, i32* %5308
%5310 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5311 = load i32, i32* %5310
%5312 = xor i32 %5309, %5311
%5313 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5314 = load i32, i32* %5313
%5315 = xor i32 %5312, %5314
%5316 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5317 = load i32, i32* %5316
%5318 = xor i32 %5315, %5317
store i32 %5318, i32* %14
%5319 = load i32, i32* %14
%5320 = shl i32 %5319, 1
%5321 = load i32, i32* %14
%5322 = lshr i32 %5321, 31
%5323 = or i32 %5320, %5322
%5324 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %5323, i32* %5324
%5325 = add i32 %5307, %5323
%5326 = load i32, i32* %19
%5327 = add i32 %5326, %5325
store i32 %5327, i32* %19
%5328 = load i32, i32* %16
%5329 = shl i32 %5328, 30
%5330 = load i32, i32* %16
%5331 = lshr i32 %5330, 2
%5332 = or i32 %5329, %5331
store i32 %5332, i32* %16
%5333 = load i32, i32* %19
%5334 = shl i32 %5333, 5
%5335 = load i32, i32* %19
%5336 = lshr i32 %5335, 27
%5337 = or i32 %5334, %5336
%5338 = load i32, i32* %20
%5339 = load i32, i32* %16
%5340 = xor i32 %5338, %5339
%5341 = load i32, i32* %17
%5342 = xor i32 %5340, %5341
%5343 = add i32 %5337, %5342
%5344 = add i32 %5343, -899497514
%5345 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5346 = load i32, i32* %5345
%5347 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5348 = load i32, i32* %5347
%5349 = xor i32 %5346, %5348
%5350 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5351 = load i32, i32* %5350
%5352 = xor i32 %5349, %5351
%5353 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5354 = load i32, i32* %5353
%5355 = xor i32 %5352, %5354
store i32 %5355, i32* %14
%5356 = load i32, i32* %14
%5357 = shl i32 %5356, 1
%5358 = load i32, i32* %14
%5359 = lshr i32 %5358, 31
%5360 = or i32 %5357, %5359
%5361 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %5360, i32* %5361
%5362 = add i32 %5344, %5360
%5363 = load i32, i32* %18
%5364 = add i32 %5363, %5362
store i32 %5364, i32* %18
%5365 = load i32, i32* %20
%5366 = shl i32 %5365, 30
%5367 = load i32, i32* %20
%5368 = lshr i32 %5367, 2
%5369 = or i32 %5366, %5368
store i32 %5369, i32* %20
%5370 = load i32, i32* %18
%5371 = shl i32 %5370, 5
%5372 = load i32, i32* %18
%5373 = lshr i32 %5372, 27
%5374 = or i32 %5371, %5373
%5375 = load i32, i32* %19
%5376 = load i32, i32* %20
%5377 = xor i32 %5375, %5376
%5378 = load i32, i32* %16
%5379 = xor i32 %5377, %5378
%5380 = add i32 %5374, %5379
%5381 = add i32 %5380, -899497514
%5382 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5383 = load i32, i32* %5382
%5384 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5385 = load i32, i32* %5384
%5386 = xor i32 %5383, %5385
%5387 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5388 = load i32, i32* %5387
%5389 = xor i32 %5386, %5388
%5390 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5391 = load i32, i32* %5390
%5392 = xor i32 %5389, %5391
store i32 %5392, i32* %14
%5393 = load i32, i32* %14
%5394 = shl i32 %5393, 1
%5395 = load i32, i32* %14
%5396 = lshr i32 %5395, 31
%5397 = or i32 %5394, %5396
%5398 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %5397, i32* %5398
%5399 = add i32 %5381, %5397
%5400 = load i32, i32* %17
%5401 = add i32 %5400, %5399
store i32 %5401, i32* %17
%5402 = load i32, i32* %19
%5403 = shl i32 %5402, 30
%5404 = load i32, i32* %19
%5405 = lshr i32 %5404, 2
%5406 = or i32 %5403, %5405
store i32 %5406, i32* %19
%5407 = load i32, i32* %17
%5408 = shl i32 %5407, 5
%5409 = load i32, i32* %17
%5410 = lshr i32 %5409, 27
%5411 = or i32 %5408, %5410
%5412 = load i32, i32* %18
%5413 = load i32, i32* %19
%5414 = xor i32 %5412, %5413
%5415 = load i32, i32* %20
%5416 = xor i32 %5414, %5415
%5417 = add i32 %5411, %5416
%5418 = add i32 %5417, -899497514
%5419 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5420 = load i32, i32* %5419
%5421 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5422 = load i32, i32* %5421
%5423 = xor i32 %5420, %5422
%5424 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%5425 = load i32, i32* %5424
%5426 = xor i32 %5423, %5425
%5427 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5428 = load i32, i32* %5427
%5429 = xor i32 %5426, %5428
store i32 %5429, i32* %14
%5430 = load i32, i32* %14
%5431 = shl i32 %5430, 1
%5432 = load i32, i32* %14
%5433 = lshr i32 %5432, 31
%5434 = or i32 %5431, %5433
%5435 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
store i32 %5434, i32* %5435
%5436 = add i32 %5418, %5434
%5437 = load i32, i32* %16
%5438 = add i32 %5437, %5436
store i32 %5438, i32* %16
%5439 = load i32, i32* %18
%5440 = shl i32 %5439, 30
%5441 = load i32, i32* %18
%5442 = lshr i32 %5441, 2
%5443 = or i32 %5440, %5442
store i32 %5443, i32* %18
%5444 = load i32, i32* %16
%5445 = shl i32 %5444, 5
%5446 = load i32, i32* %16
%5447 = lshr i32 %5446, 27
%5448 = or i32 %5445, %5447
%5449 = load i32, i32* %17
%5450 = load i32, i32* %18
%5451 = xor i32 %5449, %5450
%5452 = load i32, i32* %19
%5453 = xor i32 %5451, %5452
%5454 = add i32 %5448, %5453
%5455 = add i32 %5454, -899497514
%5456 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5457 = load i32, i32* %5456
%5458 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5459 = load i32, i32* %5458
%5460 = xor i32 %5457, %5459
%5461 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5462 = load i32, i32* %5461
%5463 = xor i32 %5460, %5462
%5464 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5465 = load i32, i32* %5464
%5466 = xor i32 %5463, %5465
store i32 %5466, i32* %14
%5467 = load i32, i32* %14
%5468 = shl i32 %5467, 1
%5469 = load i32, i32* %14
%5470 = lshr i32 %5469, 31
%5471 = or i32 %5468, %5470
%5472 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
store i32 %5471, i32* %5472
%5473 = add i32 %5455, %5471
%5474 = load i32, i32* %20
%5475 = add i32 %5474, %5473
store i32 %5475, i32* %20
%5476 = load i32, i32* %17
%5477 = shl i32 %5476, 30
%5478 = load i32, i32* %17
%5479 = lshr i32 %5478, 2
%5480 = or i32 %5477, %5479
store i32 %5480, i32* %17
%5481 = load i32, i32* %20
%5482 = shl i32 %5481, 5
%5483 = load i32, i32* %20
%5484 = lshr i32 %5483, 27
%5485 = or i32 %5482, %5484
%5486 = load i32, i32* %16
%5487 = load i32, i32* %17
%5488 = xor i32 %5486, %5487
%5489 = load i32, i32* %18
%5490 = xor i32 %5488, %5489
%5491 = add i32 %5485, %5490
%5492 = add i32 %5491, -899497514
%5493 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5494 = load i32, i32* %5493
%5495 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5496 = load i32, i32* %5495
%5497 = xor i32 %5494, %5496
%5498 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5499 = load i32, i32* %5498
%5500 = xor i32 %5497, %5499
%5501 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%5502 = load i32, i32* %5501
%5503 = xor i32 %5500, %5502
store i32 %5503, i32* %14
%5504 = load i32, i32* %14
%5505 = shl i32 %5504, 1
%5506 = load i32, i32* %14
%5507 = lshr i32 %5506, 31
%5508 = or i32 %5505, %5507
%5509 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
store i32 %5508, i32* %5509
%5510 = add i32 %5492, %5508
%5511 = load i32, i32* %19
%5512 = add i32 %5511, %5510
store i32 %5512, i32* %19
%5513 = load i32, i32* %16
%5514 = shl i32 %5513, 30
%5515 = load i32, i32* %16
%5516 = lshr i32 %5515, 2
%5517 = or i32 %5514, %5516
store i32 %5517, i32* %16
%5518 = load i32, i32* %19
%5519 = shl i32 %5518, 5
%5520 = load i32, i32* %19
%5521 = lshr i32 %5520, 27
%5522 = or i32 %5519, %5521
%5523 = load i32, i32* %20
%5524 = load i32, i32* %16
%5525 = xor i32 %5523, %5524
%5526 = load i32, i32* %17
%5527 = xor i32 %5525, %5526
%5528 = add i32 %5522, %5527
%5529 = add i32 %5528, -899497514
%5530 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5531 = load i32, i32* %5530
%5532 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5533 = load i32, i32* %5532
%5534 = xor i32 %5531, %5533
%5535 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5536 = load i32, i32* %5535
%5537 = xor i32 %5534, %5536
%5538 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5539 = load i32, i32* %5538
%5540 = xor i32 %5537, %5539
store i32 %5540, i32* %14
%5541 = load i32, i32* %14
%5542 = shl i32 %5541, 1
%5543 = load i32, i32* %14
%5544 = lshr i32 %5543, 31
%5545 = or i32 %5542, %5544
%5546 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
store i32 %5545, i32* %5546
%5547 = add i32 %5529, %5545
%5548 = load i32, i32* %18
%5549 = add i32 %5548, %5547
store i32 %5549, i32* %18
%5550 = load i32, i32* %20
%5551 = shl i32 %5550, 30
%5552 = load i32, i32* %20
%5553 = lshr i32 %5552, 2
%5554 = or i32 %5551, %5553
store i32 %5554, i32* %20
%5555 = load i32, i32* %18
%5556 = shl i32 %5555, 5
%5557 = load i32, i32* %18
%5558 = lshr i32 %5557, 27
%5559 = or i32 %5556, %5558
%5560 = load i32, i32* %19
%5561 = load i32, i32* %20
%5562 = xor i32 %5560, %5561
%5563 = load i32, i32* %16
%5564 = xor i32 %5562, %5563
%5565 = add i32 %5559, %5564
%5566 = add i32 %5565, -899497514
%5567 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5568 = load i32, i32* %5567
%5569 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5570 = load i32, i32* %5569
%5571 = xor i32 %5568, %5570
%5572 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5573 = load i32, i32* %5572
%5574 = xor i32 %5571, %5573
%5575 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5576 = load i32, i32* %5575
%5577 = xor i32 %5574, %5576
store i32 %5577, i32* %14
%5578 = load i32, i32* %14
%5579 = shl i32 %5578, 1
%5580 = load i32, i32* %14
%5581 = lshr i32 %5580, 31
%5582 = or i32 %5579, %5581
%5583 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
store i32 %5582, i32* %5583
%5584 = add i32 %5566, %5582
%5585 = load i32, i32* %17
%5586 = add i32 %5585, %5584
store i32 %5586, i32* %17
%5587 = load i32, i32* %19
%5588 = shl i32 %5587, 30
%5589 = load i32, i32* %19
%5590 = lshr i32 %5589, 2
%5591 = or i32 %5588, %5590
store i32 %5591, i32* %19
%5592 = load i32, i32* %17
%5593 = shl i32 %5592, 5
%5594 = load i32, i32* %17
%5595 = lshr i32 %5594, 27
%5596 = or i32 %5593, %5595
%5597 = load i32, i32* %18
%5598 = load i32, i32* %19
%5599 = xor i32 %5597, %5598
%5600 = load i32, i32* %20
%5601 = xor i32 %5599, %5600
%5602 = add i32 %5596, %5601
%5603 = add i32 %5602, -899497514
%5604 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%5605 = load i32, i32* %5604
%5606 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5607 = load i32, i32* %5606
%5608 = xor i32 %5605, %5607
%5609 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5610 = load i32, i32* %5609
%5611 = xor i32 %5608, %5610
%5612 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5613 = load i32, i32* %5612
%5614 = xor i32 %5611, %5613
store i32 %5614, i32* %14
%5615 = load i32, i32* %14
%5616 = shl i32 %5615, 1
%5617 = load i32, i32* %14
%5618 = lshr i32 %5617, 31
%5619 = or i32 %5616, %5618
%5620 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
store i32 %5619, i32* %5620
%5621 = add i32 %5603, %5619
%5622 = load i32, i32* %16
%5623 = add i32 %5622, %5621
store i32 %5623, i32* %16
%5624 = load i32, i32* %18
%5625 = shl i32 %5624, 30
%5626 = load i32, i32* %18
%5627 = lshr i32 %5626, 2
%5628 = or i32 %5625, %5627
store i32 %5628, i32* %18
%5629 = load i32, i32* %16
%5630 = shl i32 %5629, 5
%5631 = load i32, i32* %16
%5632 = lshr i32 %5631, 27
%5633 = or i32 %5630, %5632
%5634 = load i32, i32* %17
%5635 = load i32, i32* %18
%5636 = xor i32 %5634, %5635
%5637 = load i32, i32* %19
%5638 = xor i32 %5636, %5637
%5639 = add i32 %5633, %5638
%5640 = add i32 %5639, -899497514
%5641 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5642 = load i32, i32* %5641
%5643 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5644 = load i32, i32* %5643
%5645 = xor i32 %5642, %5644
%5646 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5647 = load i32, i32* %5646
%5648 = xor i32 %5645, %5647
%5649 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5650 = load i32, i32* %5649
%5651 = xor i32 %5648, %5650
store i32 %5651, i32* %14
%5652 = load i32, i32* %14
%5653 = shl i32 %5652, 1
%5654 = load i32, i32* %14
%5655 = lshr i32 %5654, 31
%5656 = or i32 %5653, %5655
%5657 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
store i32 %5656, i32* %5657
%5658 = add i32 %5640, %5656
%5659 = load i32, i32* %20
%5660 = add i32 %5659, %5658
store i32 %5660, i32* %20
%5661 = load i32, i32* %17
%5662 = shl i32 %5661, 30
%5663 = load i32, i32* %17
%5664 = lshr i32 %5663, 2
%5665 = or i32 %5662, %5664
store i32 %5665, i32* %17
%5666 = load i32, i32* %20
%5667 = shl i32 %5666, 5
%5668 = load i32, i32* %20
%5669 = lshr i32 %5668, 27
%5670 = or i32 %5667, %5669
%5671 = load i32, i32* %16
%5672 = load i32, i32* %17
%5673 = xor i32 %5671, %5672
%5674 = load i32, i32* %18
%5675 = xor i32 %5673, %5674
%5676 = add i32 %5670, %5675
%5677 = add i32 %5676, -899497514
%5678 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5679 = load i32, i32* %5678
%5680 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5681 = load i32, i32* %5680
%5682 = xor i32 %5679, %5681
%5683 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5684 = load i32, i32* %5683
%5685 = xor i32 %5682, %5684
%5686 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5687 = load i32, i32* %5686
%5688 = xor i32 %5685, %5687
store i32 %5688, i32* %14
%5689 = load i32, i32* %14
%5690 = shl i32 %5689, 1
%5691 = load i32, i32* %14
%5692 = lshr i32 %5691, 31
%5693 = or i32 %5690, %5692
%5694 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
store i32 %5693, i32* %5694
%5695 = add i32 %5677, %5693
%5696 = load i32, i32* %19
%5697 = add i32 %5696, %5695
store i32 %5697, i32* %19
%5698 = load i32, i32* %16
%5699 = shl i32 %5698, 30
%5700 = load i32, i32* %16
%5701 = lshr i32 %5700, 2
%5702 = or i32 %5699, %5701
store i32 %5702, i32* %16
%5703 = load i32, i32* %19
%5704 = shl i32 %5703, 5
%5705 = load i32, i32* %19
%5706 = lshr i32 %5705, 27
%5707 = or i32 %5704, %5706
%5708 = load i32, i32* %20
%5709 = load i32, i32* %16
%5710 = xor i32 %5708, %5709
%5711 = load i32, i32* %17
%5712 = xor i32 %5710, %5711
%5713 = add i32 %5707, %5712
%5714 = add i32 %5713, -899497514
%5715 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5716 = load i32, i32* %5715
%5717 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5718 = load i32, i32* %5717
%5719 = xor i32 %5716, %5718
%5720 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5721 = load i32, i32* %5720
%5722 = xor i32 %5719, %5721
%5723 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5724 = load i32, i32* %5723
%5725 = xor i32 %5722, %5724
store i32 %5725, i32* %14
%5726 = load i32, i32* %14
%5727 = shl i32 %5726, 1
%5728 = load i32, i32* %14
%5729 = lshr i32 %5728, 31
%5730 = or i32 %5727, %5729
%5731 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
store i32 %5730, i32* %5731
%5732 = add i32 %5714, %5730
%5733 = load i32, i32* %18
%5734 = add i32 %5733, %5732
store i32 %5734, i32* %18
%5735 = load i32, i32* %20
%5736 = shl i32 %5735, 30
%5737 = load i32, i32* %20
%5738 = lshr i32 %5737, 2
%5739 = or i32 %5736, %5738
store i32 %5739, i32* %20
%5740 = load i32, i32* %18
%5741 = shl i32 %5740, 5
%5742 = load i32, i32* %18
%5743 = lshr i32 %5742, 27
%5744 = or i32 %5741, %5743
%5745 = load i32, i32* %19
%5746 = load i32, i32* %20
%5747 = xor i32 %5745, %5746
%5748 = load i32, i32* %16
%5749 = xor i32 %5747, %5748
%5750 = add i32 %5744, %5749
%5751 = add i32 %5750, -899497514
%5752 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5753 = load i32, i32* %5752
%5754 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5755 = load i32, i32* %5754
%5756 = xor i32 %5753, %5755
%5757 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5758 = load i32, i32* %5757
%5759 = xor i32 %5756, %5758
%5760 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5761 = load i32, i32* %5760
%5762 = xor i32 %5759, %5761
store i32 %5762, i32* %14
%5763 = load i32, i32* %14
%5764 = shl i32 %5763, 1
%5765 = load i32, i32* %14
%5766 = lshr i32 %5765, 31
%5767 = or i32 %5764, %5766
%5768 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
store i32 %5767, i32* %5768
%5769 = add i32 %5751, %5767
%5770 = load i32, i32* %17
%5771 = add i32 %5770, %5769
store i32 %5771, i32* %17
%5772 = load i32, i32* %19
%5773 = shl i32 %5772, 30
%5774 = load i32, i32* %19
%5775 = lshr i32 %5774, 2
%5776 = or i32 %5773, %5775
store i32 %5776, i32* %19
%5777 = load i32, i32* %17
%5778 = shl i32 %5777, 5
%5779 = load i32, i32* %17
%5780 = lshr i32 %5779, 27
%5781 = or i32 %5778, %5780
%5782 = load i32, i32* %18
%5783 = load i32, i32* %19
%5784 = xor i32 %5782, %5783
%5785 = load i32, i32* %20
%5786 = xor i32 %5784, %5785
%5787 = add i32 %5781, %5786
%5788 = add i32 %5787, -899497514
%5789 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5790 = load i32, i32* %5789
%5791 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 2
%5792 = load i32, i32* %5791
%5793 = xor i32 %5790, %5792
%5794 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5795 = load i32, i32* %5794
%5796 = xor i32 %5793, %5795
%5797 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5798 = load i32, i32* %5797
%5799 = xor i32 %5796, %5798
store i32 %5799, i32* %14
%5800 = load i32, i32* %14
%5801 = shl i32 %5800, 1
%5802 = load i32, i32* %14
%5803 = lshr i32 %5802, 31
%5804 = or i32 %5801, %5803
%5805 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
store i32 %5804, i32* %5805
%5806 = add i32 %5788, %5804
%5807 = load i32, i32* %16
%5808 = add i32 %5807, %5806
store i32 %5808, i32* %16
%5809 = load i32, i32* %18
%5810 = shl i32 %5809, 30
%5811 = load i32, i32* %18
%5812 = lshr i32 %5811, 2
%5813 = or i32 %5810, %5812
store i32 %5813, i32* %18
%5814 = load i32, i32* %16
%5815 = shl i32 %5814, 5
%5816 = load i32, i32* %16
%5817 = lshr i32 %5816, 27
%5818 = or i32 %5815, %5817
%5819 = load i32, i32* %17
%5820 = load i32, i32* %18
%5821 = xor i32 %5819, %5820
%5822 = load i32, i32* %19
%5823 = xor i32 %5821, %5822
%5824 = add i32 %5818, %5823
%5825 = add i32 %5824, -899497514
%5826 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 8
%5827 = load i32, i32* %5826
%5828 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 3
%5829 = load i32, i32* %5828
%5830 = xor i32 %5827, %5829
%5831 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5832 = load i32, i32* %5831
%5833 = xor i32 %5830, %5832
%5834 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5835 = load i32, i32* %5834
%5836 = xor i32 %5833, %5835
store i32 %5836, i32* %14
%5837 = load i32, i32* %14
%5838 = shl i32 %5837, 1
%5839 = load i32, i32* %14
%5840 = lshr i32 %5839, 31
%5841 = or i32 %5838, %5840
%5842 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
store i32 %5841, i32* %5842
%5843 = add i32 %5825, %5841
%5844 = load i32, i32* %20
%5845 = add i32 %5844, %5843
store i32 %5845, i32* %20
%5846 = load i32, i32* %17
%5847 = shl i32 %5846, 30
%5848 = load i32, i32* %17
%5849 = lshr i32 %5848, 2
%5850 = or i32 %5847, %5849
store i32 %5850, i32* %17
%5851 = load i32, i32* %20
%5852 = shl i32 %5851, 5
%5853 = load i32, i32* %20
%5854 = lshr i32 %5853, 27
%5855 = or i32 %5852, %5854
%5856 = load i32, i32* %16
%5857 = load i32, i32* %17
%5858 = xor i32 %5856, %5857
%5859 = load i32, i32* %18
%5860 = xor i32 %5858, %5859
%5861 = add i32 %5855, %5860
%5862 = add i32 %5861, -899497514
%5863 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 9
%5864 = load i32, i32* %5863
%5865 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 4
%5866 = load i32, i32* %5865
%5867 = xor i32 %5864, %5866
%5868 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5869 = load i32, i32* %5868
%5870 = xor i32 %5867, %5869
%5871 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5872 = load i32, i32* %5871
%5873 = xor i32 %5870, %5872
store i32 %5873, i32* %14
%5874 = load i32, i32* %14
%5875 = shl i32 %5874, 1
%5876 = load i32, i32* %14
%5877 = lshr i32 %5876, 31
%5878 = or i32 %5875, %5877
%5879 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
store i32 %5878, i32* %5879
%5880 = add i32 %5862, %5878
%5881 = load i32, i32* %19
%5882 = add i32 %5881, %5880
store i32 %5882, i32* %19
%5883 = load i32, i32* %16
%5884 = shl i32 %5883, 30
%5885 = load i32, i32* %16
%5886 = lshr i32 %5885, 2
%5887 = or i32 %5884, %5886
store i32 %5887, i32* %16
%5888 = load i32, i32* %19
%5889 = shl i32 %5888, 5
%5890 = load i32, i32* %19
%5891 = lshr i32 %5890, 27
%5892 = or i32 %5889, %5891
%5893 = load i32, i32* %20
%5894 = load i32, i32* %16
%5895 = xor i32 %5893, %5894
%5896 = load i32, i32* %17
%5897 = xor i32 %5895, %5896
%5898 = add i32 %5892, %5897
%5899 = add i32 %5898, -899497514
%5900 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 10
%5901 = load i32, i32* %5900
%5902 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 5
%5903 = load i32, i32* %5902
%5904 = xor i32 %5901, %5903
%5905 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5906 = load i32, i32* %5905
%5907 = xor i32 %5904, %5906
%5908 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
%5909 = load i32, i32* %5908
%5910 = xor i32 %5907, %5909
store i32 %5910, i32* %14
%5911 = load i32, i32* %14
%5912 = shl i32 %5911, 1
%5913 = load i32, i32* %14
%5914 = lshr i32 %5913, 31
%5915 = or i32 %5912, %5914
%5916 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 13
store i32 %5915, i32* %5916
%5917 = add i32 %5899, %5915
%5918 = load i32, i32* %18
%5919 = add i32 %5918, %5917
store i32 %5919, i32* %18
%5920 = load i32, i32* %20
%5921 = shl i32 %5920, 30
%5922 = load i32, i32* %20
%5923 = lshr i32 %5922, 2
%5924 = or i32 %5921, %5923
store i32 %5924, i32* %20
%5925 = load i32, i32* %18
%5926 = shl i32 %5925, 5
%5927 = load i32, i32* %18
%5928 = lshr i32 %5927, 27
%5929 = or i32 %5926, %5928
%5930 = load i32, i32* %19
%5931 = load i32, i32* %20
%5932 = xor i32 %5930, %5931
%5933 = load i32, i32* %16
%5934 = xor i32 %5932, %5933
%5935 = add i32 %5929, %5934
%5936 = add i32 %5935, -899497514
%5937 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 11
%5938 = load i32, i32* %5937
%5939 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 6
%5940 = load i32, i32* %5939
%5941 = xor i32 %5938, %5940
%5942 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 0
%5943 = load i32, i32* %5942
%5944 = xor i32 %5941, %5943
%5945 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
%5946 = load i32, i32* %5945
%5947 = xor i32 %5944, %5946
store i32 %5947, i32* %14
%5948 = load i32, i32* %14
%5949 = shl i32 %5948, 1
%5950 = load i32, i32* %14
%5951 = lshr i32 %5950, 31
%5952 = or i32 %5949, %5951
%5953 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 14
store i32 %5952, i32* %5953
%5954 = add i32 %5936, %5952
%5955 = load i32, i32* %17
%5956 = add i32 %5955, %5954
store i32 %5956, i32* %17
%5957 = load i32, i32* %19
%5958 = shl i32 %5957, 30
%5959 = load i32, i32* %19
%5960 = lshr i32 %5959, 2
%5961 = or i32 %5958, %5960
store i32 %5961, i32* %19
%5962 = load i32, i32* %17
%5963 = shl i32 %5962, 5
%5964 = load i32, i32* %17
%5965 = lshr i32 %5964, 27
%5966 = or i32 %5963, %5965
%5967 = load i32, i32* %18
%5968 = load i32, i32* %19
%5969 = xor i32 %5967, %5968
%5970 = load i32, i32* %20
%5971 = xor i32 %5969, %5970
%5972 = add i32 %5966, %5971
%5973 = add i32 %5972, -899497514
%5974 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 12
%5975 = load i32, i32* %5974
%5976 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 7
%5977 = load i32, i32* %5976
%5978 = xor i32 %5975, %5977
%5979 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 1
%5980 = load i32, i32* %5979
%5981 = xor i32 %5978, %5980
%5982 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
%5983 = load i32, i32* %5982
%5984 = xor i32 %5981, %5983
store i32 %5984, i32* %14
%5985 = load i32, i32* %14
%5986 = shl i32 %5985, 1
%5987 = load i32, i32* %14
%5988 = lshr i32 %5987, 31
%5989 = or i32 %5986, %5988
%5990 = getelementptr inbounds [16 x i32], [16 x i32]* %15, i64 0, i64 15
store i32 %5989, i32* %5990
%5991 = add i32 %5973, %5989
%5992 = load i32, i32* %16
%5993 = add i32 %5992, %5991
store i32 %5993, i32* %16
%5994 = load i32, i32* %18
%5995 = shl i32 %5994, 30
%5996 = load i32, i32* %18
%5997 = lshr i32 %5996, 2
%5998 = or i32 %5995, %5997
store i32 %5998, i32* %18
%5999 = load i32*, i32** %9
%6000 = getelementptr inbounds i32, i32* %5999, i64 0
%6001 = load i32, i32* %6000
%6002 = load i32, i32* %16
%6003 = add i32 %6002, %6001
store i32 %6003, i32* %16
%6004 = load i32*, i32** %9
%6005 = getelementptr inbounds i32, i32* %6004, i64 1
%6006 = load i32, i32* %6005
%6007 = load i32, i32* %17
%6008 = add i32 %6007, %6006
store i32 %6008, i32* %17
%6009 = load i32*, i32** %9
%6010 = getelementptr inbounds i32, i32* %6009, i64 2
%6011 = load i32, i32* %6010
%6012 = load i32, i32* %18
%6013 = add i32 %6012, %6011
store i32 %6013, i32* %18
%6014 = load i32*, i32** %9
%6015 = getelementptr inbounds i32, i32* %6014, i64 3
%6016 = load i32, i32* %6015
%6017 = load i32, i32* %19
%6018 = add i32 %6017, %6016
store i32 %6018, i32* %19
%6019 = load i32*, i32** %9
%6020 = getelementptr inbounds i32, i32* %6019, i64 4
%6021 = load i32, i32* %6020
%6022 = load i32, i32* %20
%6023 = add i32 %6022, %6021
store i32 %6023, i32* %20
%6024 = load i32, i32* %16
%6025 = load i32*, i32** %7
%6026 = getelementptr inbounds i32, i32* %6025, i64 0
store i32 %6024, i32* %6026
%6027 = load i32, i32* %17
%6028 = load i32*, i32** %7
%6029 = getelementptr inbounds i32, i32* %6028, i64 1
store i32 %6027, i32* %6029
%6030 = load i32, i32* %18
%6031 = load i32*, i32** %7
%6032 = getelementptr inbounds i32, i32* %6031, i64 2
store i32 %6030, i32* %6032
%6033 = load i32, i32* %19
%6034 = load i32*, i32** %7
%6035 = getelementptr inbounds i32, i32* %6034, i64 3
store i32 %6033, i32* %6035
%6036 = load i32, i32* %20
%6037 = load i32*, i32** %7
%6038 = getelementptr inbounds i32, i32* %6037, i64 4
store i32 %6036, i32* %6038
ret void
}

LLVM IR (-O2):
define void @hmac_sha1_(i32* nocapture writeonly %0, i32* nocapture %1, i32* nocapture %2, i8* nocapture %3, i32 %4, i8 zeroext %5) {
%7 = alloca [16 x i32]
%8 = alloca [64 x i8]
%9 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 0
%10 = bitcast [16 x i32]* %7 to i8*
%11 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 0
%12 = icmp sgt i32 %4, 0
br i1 %12, label %13, label %15
13: ; preds = %6
%14 = zext i32 %4 to i64
br label %15
15: ; preds = %13, %6
%16 = add nsw i32 %4, 4
%17 = sext i32 %16 to i64
%18 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %17
store i8 -128, i8* %18
%19 = add nsw i32 %4, 3
%20 = sext i32 %19 to i64
%21 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %20
store i8 %5, i8* %21
%22 = shl i32 %4, 3
%23 = add i32 %22, 544
%24 = lshr i32 %23, 24
%25 = trunc i32 %24 to i8
%26 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 60
store i8 %25, i8* %26
%27 = lshr i32 %23, 16
%28 = trunc i32 %27 to i8
%29 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 61
store i8 %28, i8* %29
%30 = lshr i32 %23, 8
%31 = trunc i32 %30 to i8
%32 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 62
store i8 %31, i8* %32
%33 = trunc i32 %23 to i8
%34 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 63
store i8 %33, i8* %34
%35 = load i32, i32* %1
%36 = getelementptr inbounds i32, i32* %1, i64 1
%37 = load i32, i32* %36
%38 = getelementptr inbounds i32, i32* %1, i64 2
%39 = load i32, i32* %38
%40 = getelementptr inbounds i32, i32* %1, i64 3
%41 = load i32, i32* %40
%42 = getelementptr inbounds i32, i32* %1, i64 4
%43 = load i32, i32* %42
br label %44
44: ; preds = %15, %44
%45 = phi i64 [ 0, %15 ], [ %69, %44 ]
%46 = shl nuw nsw i64 %45, 2
%47 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %46
%48 = load i8, i8* %47
%49 = zext i8 %48 to i32
%50 = shl nuw i32 %49, 24
%51 = or i64 %46, 1
%52 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %51
%53 = load i8, i8* %52
%54 = zext i8 %53 to i32
%55 = shl nuw nsw i32 %54, 16
%56 = or i32 %55, %50
%57 = or i64 %46, 2
%58 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %57
%59 = load i8, i8* %58
%60 = zext i8 %59 to i32
%61 = shl nuw nsw i32 %60, 8
%62 = or i32 %56, %61
%63 = or i64 %46, 3
%64 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %63
%65 = load i8, i8* %64
%66 = zext i8 %65 to i32
%67 = or i32 %62, %66
%68 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 %45
store i32 %67, i32* %68
%69 = add nuw nsw i64 %45, 1
%70 = icmp eq i64 %69, 16
br i1 %70, label %71, label %44
71: ; preds = %44
%72 = tail call i32 @llvm.fshl.i32(i32 %35, i32 %35, i32 5)
%73 = xor i32 %41, %39
%74 = and i32 %73, %37
%75 = xor i32 %74, %41
%76 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 0
%77 = load i32, i32* %76
%78 = add i32 %72, 1518500249
%79 = add i32 %78, %43
%80 = add i32 %79, %75
%81 = add i32 %80, %77
%82 = tail call i32 @llvm.fshl.i32(i32 %37, i32 %37, i32 30)
%83 = tail call i32 @llvm.fshl.i32(i32 %81, i32 %81, i32 5)
%84 = xor i32 %82, %39
%85 = and i32 %84, %35
%86 = xor i32 %85, %39
%87 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 1
%88 = load i32, i32* %87
%89 = add i32 %41, 1518500249
%90 = add i32 %89, %86
%91 = add i32 %90, %88
%92 = add i32 %91, %83
%93 = tail call i32 @llvm.fshl.i32(i32 %35, i32 %35, i32 30)
%94 = tail call i32 @llvm.fshl.i32(i32 %92, i32 %92, i32 5)
%95 = xor i32 %82, %93
%96 = and i32 %81, %95
%97 = xor i32 %96, %82
%98 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 2
%99 = load i32, i32* %98
%100 = add i32 %39, 1518500249
%101 = add i32 %100, %99
%102 = add i32 %101, %97
%103 = add i32 %102, %94
%104 = tail call i32 @llvm.fshl.i32(i32 %81, i32 %81, i32 30)
%105 = tail call i32 @llvm.fshl.i32(i32 %103, i32 %103, i32 5)
%106 = xor i32 %104, %93
%107 = and i32 %92, %106
%108 = xor i32 %107, %93
%109 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 3
%110 = load i32, i32* %109
%111 = add i32 %82, 1518500249
%112 = add i32 %111, %110
%113 = add i32 %112, %108
%114 = add i32 %113, %105
%115 = tail call i32 @llvm.fshl.i32(i32 %92, i32 %92, i32 30)
%116 = tail call i32 @llvm.fshl.i32(i32 %114, i32 %114, i32 5)
%117 = xor i32 %115, %104
%118 = and i32 %103, %117
%119 = xor i32 %118, %104
%120 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 4
%121 = load i32, i32* %120
%122 = add i32 %93, 1518500249
%123 = add i32 %122, %121
%124 = add i32 %123, %119
%125 = add i32 %124, %116
%126 = tail call i32 @llvm.fshl.i32(i32 %103, i32 %103, i32 30)
%127 = tail call i32 @llvm.fshl.i32(i32 %125, i32 %125, i32 5)
%128 = xor i32 %126, %115
%129 = and i32 %114, %128
%130 = xor i32 %129, %115
%131 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 5
%132 = load i32, i32* %131
%133 = add i32 %104, 1518500249
%134 = add i32 %133, %132
%135 = add i32 %134, %130
%136 = add i32 %135, %127
%137 = tail call i32 @llvm.fshl.i32(i32 %114, i32 %114, i32 30)
%138 = tail call i32 @llvm.fshl.i32(i32 %136, i32 %136, i32 5)
%139 = xor i32 %137, %126
%140 = and i32 %125, %139
%141 = xor i32 %140, %126
%142 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 6
%143 = load i32, i32* %142
%144 = add i32 %143, 1518500249
%145 = add i32 %144, %115
%146 = add i32 %145, %141
%147 = add i32 %146, %138
%148 = tail call i32 @llvm.fshl.i32(i32 %125, i32 %125, i32 30)
%149 = tail call i32 @llvm.fshl.i32(i32 %147, i32 %147, i32 5)
%150 = xor i32 %148, %137
%151 = and i32 %136, %150
%152 = xor i32 %151, %137
%153 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 7
%154 = load i32, i32* %153
%155 = add i32 %154, 1518500249
%156 = add i32 %155, %126
%157 = add i32 %156, %152
%158 = add i32 %157, %149
%159 = tail call i32 @llvm.fshl.i32(i32 %136, i32 %136, i32 30)
%160 = tail call i32 @llvm.fshl.i32(i32 %158, i32 %158, i32 5)
%161 = xor i32 %159, %148
%162 = and i32 %147, %161
%163 = xor i32 %162, %148
%164 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 8
%165 = load i32, i32* %164
%166 = add i32 %165, 1518500249
%167 = add i32 %166, %137
%168 = add i32 %167, %163
%169 = add i32 %168, %160
%170 = tail call i32 @llvm.fshl.i32(i32 %147, i32 %147, i32 30)
%171 = tail call i32 @llvm.fshl.i32(i32 %169, i32 %169, i32 5)
%172 = xor i32 %170, %159
%173 = and i32 %158, %172
%174 = xor i32 %173, %159
%175 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 9
%176 = load i32, i32* %175
%177 = add i32 %176, 1518500249
%178 = add i32 %177, %148
%179 = add i32 %178, %174
%180 = add i32 %179, %171
%181 = tail call i32 @llvm.fshl.i32(i32 %158, i32 %158, i32 30)
%182 = tail call i32 @llvm.fshl.i32(i32 %180, i32 %180, i32 5)
%183 = xor i32 %181, %170
%184 = and i32 %169, %183
%185 = xor i32 %184, %170
%186 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 10
%187 = load i32, i32* %186
%188 = add i32 %187, 1518500249
%189 = add i32 %188, %159
%190 = add i32 %189, %185
%191 = add i32 %190, %182
%192 = tail call i32 @llvm.fshl.i32(i32 %169, i32 %169, i32 30)
%193 = tail call i32 @llvm.fshl.i32(i32 %191, i32 %191, i32 5)
%194 = xor i32 %192, %181
%195 = and i32 %180, %194
%196 = xor i32 %195, %181
%197 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 11
%198 = load i32, i32* %197
%199 = add i32 %198, 1518500249
%200 = add i32 %199, %170
%201 = add i32 %200, %196
%202 = add i32 %201, %193
%203 = tail call i32 @llvm.fshl.i32(i32 %180, i32 %180, i32 30)
%204 = tail call i32 @llvm.fshl.i32(i32 %202, i32 %202, i32 5)
%205 = xor i32 %203, %192
%206 = and i32 %191, %205
%207 = xor i32 %206, %192
%208 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 12
%209 = load i32, i32* %208
%210 = add i32 %209, 1518500249
%211 = add i32 %210, %181
%212 = add i32 %211, %207
%213 = add i32 %212, %204
%214 = tail call i32 @llvm.fshl.i32(i32 %191, i32 %191, i32 30)
%215 = tail call i32 @llvm.fshl.i32(i32 %213, i32 %213, i32 5)
%216 = xor i32 %214, %203
%217 = and i32 %202, %216
%218 = xor i32 %217, %203
%219 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 13
%220 = load i32, i32* %219
%221 = add i32 %220, 1518500249
%222 = add i32 %221, %192
%223 = add i32 %222, %218
%224 = add i32 %223, %215
%225 = tail call i32 @llvm.fshl.i32(i32 %202, i32 %202, i32 30)
%226 = tail call i32 @llvm.fshl.i32(i32 %224, i32 %224, i32 5)
%227 = xor i32 %225, %214
%228 = and i32 %213, %227
%229 = xor i32 %228, %214
%230 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 14
%231 = load i32, i32* %230
%232 = add i32 %231, 1518500249
%233 = add i32 %232, %203
%234 = add i32 %233, %229
%235 = add i32 %234, %226
%236 = tail call i32 @llvm.fshl.i32(i32 %213, i32 %213, i32 30)
%237 = tail call i32 @llvm.fshl.i32(i32 %235, i32 %235, i32 5)
%238 = xor i32 %236, %225
%239 = and i32 %224, %238
%240 = xor i32 %239, %225
%241 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 15
%242 = load i32, i32* %241
%243 = add i32 %242, 1518500249
%244 = add i32 %243, %214
%245 = add i32 %244, %240
%246 = add i32 %245, %237
%247 = tail call i32 @llvm.fshl.i32(i32 %224, i32 %224, i32 30)
%248 = tail call i32 @llvm.fshl.i32(i32 %246, i32 %246, i32 5)
%249 = xor i32 %247, %236
%250 = and i32 %235, %249
%251 = xor i32 %250, %236
%252 = xor i32 %99, %77
%253 = xor i32 %252, %165
%254 = xor i32 %253, %220
%255 = tail call i32 @llvm.fshl.i32(i32 %254, i32 %254, i32 1)
%256 = add i32 %255, 1518500249
%257 = add i32 %256, %225
%258 = add i32 %257, %251
%259 = add i32 %258, %248
%260 = tail call i32 @llvm.fshl.i32(i32 %235, i32 %235, i32 30)
%261 = tail call i32 @llvm.fshl.i32(i32 %259, i32 %259, i32 5)
%262 = xor i32 %260, %247
%263 = and i32 %246, %262
%264 = xor i32 %263, %247
%265 = xor i32 %110, %88
%266 = xor i32 %265, %176
%267 = xor i32 %266, %231
%268 = tail call i32 @llvm.fshl.i32(i32 %267, i32 %267, i32 1)
%269 = add i32 %268, 1518500249
%270 = add i32 %269, %236
%271 = add i32 %270, %264
%272 = add i32 %271, %261
%273 = tail call i32 @llvm.fshl.i32(i32 %246, i32 %246, i32 30)
%274 = tail call i32 @llvm.fshl.i32(i32 %272, i32 %272, i32 5)
%275 = xor i32 %273, %260
%276 = and i32 %259, %275
%277 = xor i32 %276, %260
%278 = xor i32 %121, %99
%279 = xor i32 %278, %187
%280 = xor i32 %279, %242
%281 = tail call i32 @llvm.fshl.i32(i32 %280, i32 %280, i32 1)
%282 = add i32 %281, 1518500249
%283 = add i32 %282, %247
%284 = add i32 %283, %277
%285 = add i32 %284, %274
%286 = tail call i32 @llvm.fshl.i32(i32 %259, i32 %259, i32 30)
%287 = tail call i32 @llvm.fshl.i32(i32 %285, i32 %285, i32 5)
%288 = xor i32 %286, %273
%289 = and i32 %272, %288
%290 = xor i32 %289, %273
%291 = xor i32 %132, %110
%292 = xor i32 %291, %198
%293 = xor i32 %292, %255
%294 = tail call i32 @llvm.fshl.i32(i32 %293, i32 %293, i32 1)
%295 = add i32 %294, 1518500249
%296 = add i32 %295, %260
%297 = add i32 %296, %290
%298 = add i32 %297, %287
%299 = tail call i32 @llvm.fshl.i32(i32 %272, i32 %272, i32 30)
%300 = tail call i32 @llvm.fshl.i32(i32 %298, i32 %298, i32 5)
%301 = xor i32 %299, %286
%302 = xor i32 %301, %285
%303 = xor i32 %143, %121
%304 = xor i32 %303, %209
%305 = xor i32 %304, %268
%306 = tail call i32 @llvm.fshl.i32(i32 %305, i32 %305, i32 1)
%307 = add i32 %306, 1859775393
%308 = add i32 %307, %273
%309 = add i32 %308, %302
%310 = add i32 %309, %300
%311 = tail call i32 @llvm.fshl.i32(i32 %285, i32 %285, i32 30)
%312 = tail call i32 @llvm.fshl.i32(i32 %310, i32 %310, i32 5)
%313 = xor i32 %311, %299
%314 = xor i32 %313, %298
%315 = xor i32 %154, %132
%316 = xor i32 %315, %220
%317 = xor i32 %316, %281
%318 = tail call i32 @llvm.fshl.i32(i32 %317, i32 %317, i32 1)
%319 = add i32 %318, 1859775393
%320 = add i32 %319, %286
%321 = add i32 %320, %314
%322 = add i32 %321, %312
%323 = tail call i32 @llvm.fshl.i32(i32 %298, i32 %298, i32 30)
%324 = tail call i32 @llvm.fshl.i32(i32 %322, i32 %322, i32 5)
%325 = xor i32 %323, %311
%326 = xor i32 %325, %310
%327 = xor i32 %165, %143
%328 = xor i32 %327, %231
%329 = xor i32 %328, %294
%330 = tail call i32 @llvm.fshl.i32(i32 %329, i32 %329, i32 1)
%331 = add i32 %330, 1859775393
%332 = add i32 %331, %299
%333 = add i32 %332, %326
%334 = add i32 %333, %324
%335 = tail call i32 @llvm.fshl.i32(i32 %310, i32 %310, i32 30)
%336 = tail call i32 @llvm.fshl.i32(i32 %334, i32 %334, i32 5)
%337 = xor i32 %335, %323
%338 = xor i32 %337, %322
%339 = xor i32 %176, %154
%340 = xor i32 %339, %242
%341 = xor i32 %340, %306
%342 = tail call i32 @llvm.fshl.i32(i32 %341, i32 %341, i32 1)
%343 = add i32 %342, 1859775393
%344 = add i32 %343, %311
%345 = add i32 %344, %338
%346 = add i32 %345, %336
%347 = tail call i32 @llvm.fshl.i32(i32 %322, i32 %322, i32 30)
%348 = tail call i32 @llvm.fshl.i32(i32 %346, i32 %346, i32 5)
%349 = xor i32 %347, %335
%350 = xor i32 %349, %334
%351 = xor i32 %187, %165
%352 = xor i32 %351, %255
%353 = xor i32 %352, %318
%354 = tail call i32 @llvm.fshl.i32(i32 %353, i32 %353, i32 1)
%355 = add i32 %354, 1859775393
%356 = add i32 %355, %323
%357 = add i32 %356, %350
%358 = add i32 %357, %348
%359 = tail call i32 @llvm.fshl.i32(i32 %334, i32 %334, i32 30)
%360 = tail call i32 @llvm.fshl.i32(i32 %358, i32 %358, i32 5)
%361 = xor i32 %359, %347
%362 = xor i32 %361, %346
%363 = xor i32 %198, %176
%364 = xor i32 %363, %268
%365 = xor i32 %364, %330
%366 = tail call i32 @llvm.fshl.i32(i32 %365, i32 %365, i32 1)
%367 = add i32 %366, 1859775393
%368 = add i32 %367, %335
%369 = add i32 %368, %362
%370 = add i32 %369, %360
%371 = tail call i32 @llvm.fshl.i32(i32 %346, i32 %346, i32 30)
%372 = tail call i32 @llvm.fshl.i32(i32 %370, i32 %370, i32 5)
%373 = xor i32 %371, %359
%374 = xor i32 %373, %358
%375 = xor i32 %209, %187
%376 = xor i32 %375, %281
%377 = xor i32 %376, %342
%378 = tail call i32 @llvm.fshl.i32(i32 %377, i32 %377, i32 1)
%379 = add i32 %378, 1859775393
%380 = add i32 %379, %347
%381 = add i32 %380, %374
%382 = add i32 %381, %372
%383 = tail call i32 @llvm.fshl.i32(i32 %358, i32 %358, i32 30)
%384 = tail call i32 @llvm.fshl.i32(i32 %382, i32 %382, i32 5)
%385 = xor i32 %383, %371
%386 = xor i32 %385, %370
%387 = xor i32 %220, %198
%388 = xor i32 %387, %294
%389 = xor i32 %388, %354
%390 = tail call i32 @llvm.fshl.i32(i32 %389, i32 %389, i32 1)
%391 = add i32 %390, 1859775393
%392 = add i32 %391, %359
%393 = add i32 %392, %386
%394 = add i32 %393, %384
%395 = tail call i32 @llvm.fshl.i32(i32 %370, i32 %370, i32 30)
%396 = tail call i32 @llvm.fshl.i32(i32 %394, i32 %394, i32 5)
%397 = xor i32 %395, %383
%398 = xor i32 %397, %382
%399 = xor i32 %231, %209
%400 = xor i32 %399, %306
%401 = xor i32 %400, %366
%402 = tail call i32 @llvm.fshl.i32(i32 %401, i32 %401, i32 1)
%403 = add i32 %402, 1859775393
%404 = add i32 %403, %371
%405 = add i32 %404, %398
%406 = add i32 %405, %396
%407 = tail call i32 @llvm.fshl.i32(i32 %382, i32 %382, i32 30)
%408 = tail call i32 @llvm.fshl.i32(i32 %406, i32 %406, i32 5)
%409 = xor i32 %407, %395
%410 = xor i32 %409, %394
%411 = xor i32 %242, %220
%412 = xor i32 %411, %318
%413 = xor i32 %412, %378
%414 = tail call i32 @llvm.fshl.i32(i32 %413, i32 %413, i32 1)
%415 = add i32 %414, 1859775393
%416 = add i32 %415, %383
%417 = add i32 %416, %410
%418 = add i32 %417, %408
%419 = tail call i32 @llvm.fshl.i32(i32 %394, i32 %394, i32 30)
%420 = tail call i32 @llvm.fshl.i32(i32 %418, i32 %418, i32 5)
%421 = xor i32 %419, %407
%422 = xor i32 %421, %406
%423 = xor i32 %255, %231
%424 = xor i32 %423, %330
%425 = xor i32 %424, %390
%426 = tail call i32 @llvm.fshl.i32(i32 %425, i32 %425, i32 1)
%427 = add i32 %426, 1859775393
%428 = add i32 %427, %395
%429 = add i32 %428, %422
%430 = add i32 %429, %420
%431 = tail call i32 @llvm.fshl.i32(i32 %406, i32 %406, i32 30)
%432 = tail call i32 @llvm.fshl.i32(i32 %430, i32 %430, i32 5)
%433 = xor i32 %431, %419
%434 = xor i32 %433, %418
%435 = xor i32 %268, %242
%436 = xor i32 %435, %342
%437 = xor i32 %436, %402
%438 = tail call i32 @llvm.fshl.i32(i32 %437, i32 %437, i32 1)
%439 = add i32 %438, 1859775393
%440 = add i32 %439, %407
%441 = add i32 %440, %434
%442 = add i32 %441, %432
%443 = tail call i32 @llvm.fshl.i32(i32 %418, i32 %418, i32 30)
%444 = tail call i32 @llvm.fshl.i32(i32 %442, i32 %442, i32 5)
%445 = xor i32 %443, %431
%446 = xor i32 %445, %430
%447 = xor i32 %281, %255
%448 = xor i32 %447, %354
%449 = xor i32 %448, %414
%450 = tail call i32 @llvm.fshl.i32(i32 %449, i32 %449, i32 1)
%451 = add i32 %450, 1859775393
%452 = add i32 %451, %419
%453 = add i32 %452, %446
%454 = add i32 %453, %444
%455 = tail call i32 @llvm.fshl.i32(i32 %430, i32 %430, i32 30)
%456 = tail call i32 @llvm.fshl.i32(i32 %454, i32 %454, i32 5)
%457 = xor i32 %455, %443
%458 = xor i32 %457, %442
%459 = xor i32 %294, %268
%460 = xor i32 %459, %366
%461 = xor i32 %460, %426
%462 = tail call i32 @llvm.fshl.i32(i32 %461, i32 %461, i32 1)
%463 = add i32 %462, 1859775393
%464 = add i32 %463, %431
%465 = add i32 %464, %458
%466 = add i32 %465, %456
%467 = tail call i32 @llvm.fshl.i32(i32 %442, i32 %442, i32 30)
%468 = tail call i32 @llvm.fshl.i32(i32 %466, i32 %466, i32 5)
%469 = xor i32 %467, %455
%470 = xor i32 %469, %454
%471 = xor i32 %306, %281
%472 = xor i32 %471, %378
%473 = xor i32 %472, %438
%474 = tail call i32 @llvm.fshl.i32(i32 %473, i32 %473, i32 1)
%475 = add i32 %474, 1859775393
%476 = add i32 %475, %443
%477 = add i32 %476, %470
%478 = add i32 %477, %468
%479 = tail call i32 @llvm.fshl.i32(i32 %454, i32 %454, i32 30)
%480 = tail call i32 @llvm.fshl.i32(i32 %478, i32 %478, i32 5)
%481 = xor i32 %479, %467
%482 = xor i32 %481, %466
%483 = xor i32 %318, %294
%484 = xor i32 %483, %390
%485 = xor i32 %484, %450
%486 = tail call i32 @llvm.fshl.i32(i32 %485, i32 %485, i32 1)
%487 = add i32 %486, 1859775393
%488 = add i32 %487, %455
%489 = add i32 %488, %482
%490 = add i32 %489, %480
%491 = tail call i32 @llvm.fshl.i32(i32 %466, i32 %466, i32 30)
%492 = tail call i32 @llvm.fshl.i32(i32 %490, i32 %490, i32 5)
%493 = xor i32 %491, %479
%494 = xor i32 %493, %478
%495 = xor i32 %330, %306
%496 = xor i32 %495, %402
%497 = xor i32 %496, %462
%498 = tail call i32 @llvm.fshl.i32(i32 %497, i32 %497, i32 1)
%499 = add i32 %498, 1859775393
%500 = add i32 %499, %467
%501 = add i32 %500, %494
%502 = add i32 %501, %492
%503 = tail call i32 @llvm.fshl.i32(i32 %478, i32 %478, i32 30)
%504 = tail call i32 @llvm.fshl.i32(i32 %502, i32 %502, i32 5)
%505 = xor i32 %503, %491
%506 = xor i32 %505, %490
%507 = xor i32 %342, %318
%508 = xor i32 %507, %414
%509 = xor i32 %508, %474
%510 = tail call i32 @llvm.fshl.i32(i32 %509, i32 %509, i32 1)
%511 = add i32 %510, 1859775393
%512 = add i32 %511, %479
%513 = add i32 %512, %506
%514 = add i32 %513, %504
%515 = tail call i32 @llvm.fshl.i32(i32 %490, i32 %490, i32 30)
%516 = tail call i32 @llvm.fshl.i32(i32 %514, i32 %514, i32 5)
%517 = xor i32 %515, %503
%518 = xor i32 %517, %502
%519 = xor i32 %354, %330
%520 = xor i32 %519, %426
%521 = xor i32 %520, %486
%522 = tail call i32 @llvm.fshl.i32(i32 %521, i32 %521, i32 1)
%523 = add i32 %522, 1859775393
%524 = add i32 %523, %491
%525 = add i32 %524, %518
%526 = add i32 %525, %516
%527 = tail call i32 @llvm.fshl.i32(i32 %502, i32 %502, i32 30)
%528 = tail call i32 @llvm.fshl.i32(i32 %526, i32 %526, i32 5)
%529 = xor i32 %527, %515
%530 = xor i32 %529, %514
%531 = xor i32 %366, %342
%532 = xor i32 %531, %438
%533 = xor i32 %532, %498
%534 = tail call i32 @llvm.fshl.i32(i32 %533, i32 %533, i32 1)
%535 = add i32 %534, 1859775393
%536 = add i32 %535, %503
%537 = add i32 %536, %530
%538 = add i32 %537, %528
%539 = tail call i32 @llvm.fshl.i32(i32 %514, i32 %514, i32 30)
%540 = tail call i32 @llvm.fshl.i32(i32 %538, i32 %538, i32 5)
%541 = and i32 %526, %539
%542 = or i32 %526, %539
%543 = and i32 %542, %527
%544 = or i32 %543, %541
%545 = xor i32 %378, %354
%546 = xor i32 %545, %450
%547 = xor i32 %546, %510
%548 = tail call i32 @llvm.fshl.i32(i32 %547, i32 %547, i32 1)
%549 = add i32 %548, -1894007588
%550 = add i32 %549, %515
%551 = add i32 %550, %544
%552 = add i32 %551, %540
%553 = tail call i32 @llvm.fshl.i32(i32 %526, i32 %526, i32 30)
%554 = tail call i32 @llvm.fshl.i32(i32 %552, i32 %552, i32 5)
%555 = and i32 %538, %553
%556 = or i32 %538, %553
%557 = and i32 %556, %539
%558 = or i32 %557, %555
%559 = xor i32 %390, %366
%560 = xor i32 %559, %462
%561 = xor i32 %560, %522
%562 = tail call i32 @llvm.fshl.i32(i32 %561, i32 %561, i32 1)
%563 = add i32 %562, -1894007588
%564 = add i32 %563, %527
%565 = add i32 %564, %558
%566 = add i32 %565, %554
%567 = tail call i32 @llvm.fshl.i32(i32 %538, i32 %538, i32 30)
%568 = tail call i32 @llvm.fshl.i32(i32 %566, i32 %566, i32 5)
%569 = and i32 %552, %567
%570 = or i32 %552, %567
%571 = and i32 %570, %553
%572 = or i32 %571, %569
%573 = xor i32 %402, %378
%574 = xor i32 %573, %474
%575 = xor i32 %574, %534
%576 = tail call i32 @llvm.fshl.i32(i32 %575, i32 %575, i32 1)
%577 = add i32 %576, -1894007588
%578 = add i32 %577, %539
%579 = add i32 %578, %572
%580 = add i32 %579, %568
%581 = tail call i32 @llvm.fshl.i32(i32 %552, i32 %552, i32 30)
%582 = tail call i32 @llvm.fshl.i32(i32 %580, i32 %580, i32 5)
%583 = and i32 %566, %581
%584 = or i32 %566, %581
%585 = and i32 %584, %567
%586 = or i32 %585, %583
%587 = xor i32 %414, %390
%588 = xor i32 %587, %486
%589 = xor i32 %588, %548
%590 = tail call i32 @llvm.fshl.i32(i32 %589, i32 %589, i32 1)
%591 = add i32 %590, -1894007588
%592 = add i32 %591, %553
%593 = add i32 %592, %586
%594 = add i32 %593, %582
%595 = tail call i32 @llvm.fshl.i32(i32 %566, i32 %566, i32 30)
%596 = tail call i32 @llvm.fshl.i32(i32 %594, i32 %594, i32 5)
%597 = and i32 %580, %595
%598 = or i32 %580, %595
%599 = and i32 %598, %581
%600 = or i32 %599, %597
%601 = xor i32 %426, %402
%602 = xor i32 %601, %498
%603 = xor i32 %602, %562
%604 = tail call i32 @llvm.fshl.i32(i32 %603, i32 %603, i32 1)
%605 = add i32 %604, -1894007588
%606 = add i32 %605, %567
%607 = add i32 %606, %600
%608 = add i32 %607, %596
%609 = tail call i32 @llvm.fshl.i32(i32 %580, i32 %580, i32 30)
%610 = tail call i32 @llvm.fshl.i32(i32 %608, i32 %608, i32 5)
%611 = and i32 %594, %609
%612 = or i32 %594, %609
%613 = and i32 %612, %595
%614 = or i32 %613, %611
%615 = xor i32 %438, %414
%616 = xor i32 %615, %510
%617 = xor i32 %616, %576
%618 = tail call i32 @llvm.fshl.i32(i32 %617, i32 %617, i32 1)
%619 = add i32 %618, -1894007588
%620 = add i32 %619, %581
%621 = add i32 %620, %614
%622 = add i32 %621, %610
%623 = tail call i32 @llvm.fshl.i32(i32 %594, i32 %594, i32 30)
%624 = tail call i32 @llvm.fshl.i32(i32 %622, i32 %622, i32 5)
%625 = and i32 %608, %623
%626 = or i32 %608, %623
%627 = and i32 %626, %609
%628 = or i32 %627, %625
%629 = xor i32 %450, %426
%630 = xor i32 %629, %522
%631 = xor i32 %630, %590
%632 = tail call i32 @llvm.fshl.i32(i32 %631, i32 %631, i32 1)
%633 = add i32 %632, -1894007588
%634 = add i32 %633, %595
%635 = add i32 %634, %628
%636 = add i32 %635, %624
%637 = tail call i32 @llvm.fshl.i32(i32 %608, i32 %608, i32 30)
%638 = tail call i32 @llvm.fshl.i32(i32 %636, i32 %636, i32 5)
%639 = and i32 %622, %637
%640 = or i32 %622, %637
%641 = and i32 %640, %623
%642 = or i32 %641, %639
%643 = xor i32 %462, %438
%644 = xor i32 %643, %534
%645 = xor i32 %644, %604
%646 = tail call i32 @llvm.fshl.i32(i32 %645, i32 %645, i32 1)
%647 = add i32 %646, -1894007588
%648 = add i32 %647, %609
%649 = add i32 %648, %642
%650 = add i32 %649, %638
%651 = tail call i32 @llvm.fshl.i32(i32 %622, i32 %622, i32 30)
%652 = tail call i32 @llvm.fshl.i32(i32 %650, i32 %650, i32 5)
%653 = and i32 %636, %651
%654 = or i32 %636, %651
%655 = and i32 %654, %637
%656 = or i32 %655, %653
%657 = xor i32 %474, %450
%658 = xor i32 %657, %548
%659 = xor i32 %658, %618
%660 = tail call i32 @llvm.fshl.i32(i32 %659, i32 %659, i32 1)
%661 = add i32 %660, -1894007588
%662 = add i32 %661, %623
%663 = add i32 %662, %656
%664 = add i32 %663, %652
%665 = tail call i32 @llvm.fshl.i32(i32 %636, i32 %636, i32 30)
%666 = tail call i32 @llvm.fshl.i32(i32 %664, i32 %664, i32 5)
%667 = and i32 %650, %665
%668 = or i32 %650, %665
%669 = and i32 %668, %651
%670 = or i32 %669, %667
%671 = xor i32 %486, %462
%672 = xor i32 %671, %562
%673 = xor i32 %672, %632
%674 = tail call i32 @llvm.fshl.i32(i32 %673, i32 %673, i32 1)
%675 = add i32 %674, -1894007588
%676 = add i32 %675, %637
%677 = add i32 %676, %670
%678 = add i32 %677, %666
%679 = tail call i32 @llvm.fshl.i32(i32 %650, i32 %650, i32 30)
%680 = tail call i32 @llvm.fshl.i32(i32 %678, i32 %678, i32 5)
%681 = and i32 %664, %679
%682 = or i32 %664, %679
%683 = and i32 %682, %665
%684 = or i32 %683, %681
%685 = xor i32 %498, %474
%686 = xor i32 %685, %576
%687 = xor i32 %686, %646
%688 = tail call i32 @llvm.fshl.i32(i32 %687, i32 %687, i32 1)
%689 = add i32 %688, -1894007588
%690 = add i32 %689, %651
%691 = add i32 %690, %684
%692 = add i32 %691, %680
%693 = tail call i32 @llvm.fshl.i32(i32 %664, i32 %664, i32 30)
%694 = tail call i32 @llvm.fshl.i32(i32 %692, i32 %692, i32 5)
%695 = and i32 %678, %693
%696 = or i32 %678, %693
%697 = and i32 %696, %679
%698 = or i32 %697, %695
%699 = xor i32 %510, %486
%700 = xor i32 %699, %590
%701 = xor i32 %700, %660
%702 = tail call i32 @llvm.fshl.i32(i32 %701, i32 %701, i32 1)
%703 = add i32 %702, -1894007588
%704 = add i32 %703, %665
%705 = add i32 %704, %698
%706 = add i32 %705, %694
%707 = tail call i32 @llvm.fshl.i32(i32 %678, i32 %678, i32 30)
%708 = tail call i32 @llvm.fshl.i32(i32 %706, i32 %706, i32 5)
%709 = and i32 %692, %707
%710 = or i32 %692, %707
%711 = and i32 %710, %693
%712 = or i32 %711, %709
%713 = xor i32 %522, %498
%714 = xor i32 %713, %604
%715 = xor i32 %714, %674
%716 = tail call i32 @llvm.fshl.i32(i32 %715, i32 %715, i32 1)
%717 = add i32 %716, -1894007588
%718 = add i32 %717, %679
%719 = add i32 %718, %712
%720 = add i32 %719, %708
%721 = tail call i32 @llvm.fshl.i32(i32 %692, i32 %692, i32 30)
%722 = tail call i32 @llvm.fshl.i32(i32 %720, i32 %720, i32 5)
%723 = and i32 %706, %721
%724 = or i32 %706, %721
%725 = and i32 %724, %707
%726 = or i32 %725, %723
%727 = xor i32 %534, %510
%728 = xor i32 %727, %618
%729 = xor i32 %728, %688
%730 = tail call i32 @llvm.fshl.i32(i32 %729, i32 %729, i32 1)
%731 = add i32 %730, -1894007588
%732 = add i32 %731, %693
%733 = add i32 %732, %726
%734 = add i32 %733, %722
%735 = tail call i32 @llvm.fshl.i32(i32 %706, i32 %706, i32 30)
%736 = tail call i32 @llvm.fshl.i32(i32 %734, i32 %734, i32 5)
%737 = and i32 %720, %735
%738 = or i32 %720, %735
%739 = and i32 %738, %721
%740 = or i32 %739, %737
%741 = xor i32 %548, %522
%742 = xor i32 %741, %632
%743 = xor i32 %742, %702
%744 = tail call i32 @llvm.fshl.i32(i32 %743, i32 %743, i32 1)
%745 = add i32 %744, -1894007588
%746 = add i32 %745, %707
%747 = add i32 %746, %740
%748 = add i32 %747, %736
%749 = tail call i32 @llvm.fshl.i32(i32 %720, i32 %720, i32 30)
%750 = tail call i32 @llvm.fshl.i32(i32 %748, i32 %748, i32 5)
%751 = and i32 %734, %749
%752 = or i32 %734, %749
%753 = and i32 %752, %735
%754 = or i32 %753, %751
%755 = xor i32 %562, %534
%756 = xor i32 %755, %646
%757 = xor i32 %756, %716
%758 = tail call i32 @llvm.fshl.i32(i32 %757, i32 %757, i32 1)
%759 = add i32 %758, -1894007588
%760 = add i32 %759, %721
%761 = add i32 %760, %754
%762 = add i32 %761, %750
%763 = tail call i32 @llvm.fshl.i32(i32 %734, i32 %734, i32 30)
%764 = tail call i32 @llvm.fshl.i32(i32 %762, i32 %762, i32 5)
%765 = and i32 %748, %763
%766 = or i32 %748, %763
%767 = and i32 %766, %749
%768 = or i32 %767, %765
%769 = xor i32 %576, %548
%770 = xor i32 %769, %660
%771 = xor i32 %770, %730
%772 = tail call i32 @llvm.fshl.i32(i32 %771, i32 %771, i32 1)
%773 = add i32 %772, -1894007588
%774 = add i32 %773, %735
%775 = add i32 %774, %768
%776 = add i32 %775, %764
%777 = tail call i32 @llvm.fshl.i32(i32 %748, i32 %748, i32 30)
%778 = tail call i32 @llvm.fshl.i32(i32 %776, i32 %776, i32 5)
%779 = and i32 %762, %777
%780 = or i32 %762, %777
%781 = and i32 %780, %763
%782 = or i32 %781, %779
%783 = xor i32 %590, %562
%784 = xor i32 %783, %674
%785 = xor i32 %784, %744
%786 = tail call i32 @llvm.fshl.i32(i32 %785, i32 %785, i32 1)
%787 = add i32 %786, -1894007588
%788 = add i32 %787, %749
%789 = add i32 %788, %782
%790 = add i32 %789, %778
%791 = tail call i32 @llvm.fshl.i32(i32 %762, i32 %762, i32 30)
%792 = tail call i32 @llvm.fshl.i32(i32 %790, i32 %790, i32 5)
%793 = and i32 %776, %791
%794 = or i32 %776, %791
%795 = and i32 %794, %777
%796 = or i32 %795, %793
%797 = xor i32 %604, %576
%798 = xor i32 %797, %688
%799 = xor i32 %798, %758
%800 = tail call i32 @llvm.fshl.i32(i32 %799, i32 %799, i32 1)
%801 = add i32 %800, -1894007588
%802 = add i32 %801, %763
%803 = add i32 %802, %796
%804 = add i32 %803, %792
%805 = tail call i32 @llvm.fshl.i32(i32 %776, i32 %776, i32 30)
%806 = tail call i32 @llvm.fshl.i32(i32 %804, i32 %804, i32 5)
%807 = and i32 %790, %805
%808 = or i32 %790, %805
%809 = and i32 %808, %791
%810 = or i32 %809, %807
%811 = xor i32 %618, %590
%812 = xor i32 %811, %702
%813 = xor i32 %812, %772
%814 = tail call i32 @llvm.fshl.i32(i32 %813, i32 %813, i32 1)
%815 = add i32 %814, -1894007588
%816 = add i32 %815, %777
%817 = add i32 %816, %810
%818 = add i32 %817, %806
%819 = tail call i32 @llvm.fshl.i32(i32 %790, i32 %790, i32 30)
%820 = tail call i32 @llvm.fshl.i32(i32 %818, i32 %818, i32 5)
%821 = xor i32 %819, %805
%822 = xor i32 %821, %804
%823 = xor i32 %632, %604
%824 = xor i32 %823, %716
%825 = xor i32 %824, %786
%826 = tail call i32 @llvm.fshl.i32(i32 %825, i32 %825, i32 1)
%827 = add i32 %826, -899497514
%828 = add i32 %827, %791
%829 = add i32 %828, %822
%830 = add i32 %829, %820
%831 = tail call i32 @llvm.fshl.i32(i32 %804, i32 %804, i32 30)
%832 = tail call i32 @llvm.fshl.i32(i32 %830, i32 %830, i32 5)
%833 = xor i32 %831, %819
%834 = xor i32 %833, %818
%835 = xor i32 %646, %618
%836 = xor i32 %835, %730
%837 = xor i32 %836, %800
%838 = tail call i32 @llvm.fshl.i32(i32 %837, i32 %837, i32 1)
%839 = add i32 %838, -899497514
%840 = add i32 %839, %805
%841 = add i32 %840, %834
%842 = add i32 %841, %832
%843 = tail call i32 @llvm.fshl.i32(i32 %818, i32 %818, i32 30)
%844 = tail call i32 @llvm.fshl.i32(i32 %842, i32 %842, i32 5)
%845 = xor i32 %843, %831
%846 = xor i32 %845, %830
%847 = xor i32 %660, %632
%848 = xor i32 %847, %744
%849 = xor i32 %848, %814
%850 = tail call i32 @llvm.fshl.i32(i32 %849, i32 %849, i32 1)
%851 = add i32 %850, -899497514
%852 = add i32 %851, %819
%853 = add i32 %852, %846
%854 = add i32 %853, %844
%855 = tail call i32 @llvm.fshl.i32(i32 %830, i32 %830, i32 30)
%856 = tail call i32 @llvm.fshl.i32(i32 %854, i32 %854, i32 5)
%857 = xor i32 %855, %843
%858 = xor i32 %857, %842
%859 = xor i32 %674, %646
%860 = xor i32 %859, %758
%861 = xor i32 %860, %826
%862 = tail call i32 @llvm.fshl.i32(i32 %861, i32 %861, i32 1)
%863 = add i32 %862, -899497514
%864 = add i32 %863, %831
%865 = add i32 %864, %858
%866 = add i32 %865, %856
%867 = tail call i32 @llvm.fshl.i32(i32 %842, i32 %842, i32 30)
%868 = tail call i32 @llvm.fshl.i32(i32 %866, i32 %866, i32 5)
%869 = xor i32 %867, %855
%870 = xor i32 %869, %854
%871 = xor i32 %688, %660
%872 = xor i32 %871, %772
%873 = xor i32 %872, %838
%874 = tail call i32 @llvm.fshl.i32(i32 %873, i32 %873, i32 1)
store i32 %874, i32* %76
%875 = add i32 %874, -899497514
%876 = add i32 %875, %843
%877 = add i32 %876, %870
%878 = add i32 %877, %868
%879 = tail call i32 @llvm.fshl.i32(i32 %854, i32 %854, i32 30)
%880 = tail call i32 @llvm.fshl.i32(i32 %878, i32 %878, i32 5)
%881 = xor i32 %879, %867
%882 = xor i32 %881, %866
%883 = xor i32 %702, %674
%884 = xor i32 %883, %786
%885 = xor i32 %884, %850
%886 = tail call i32 @llvm.fshl.i32(i32 %885, i32 %885, i32 1)
store i32 %886, i32* %87
%887 = add i32 %886, -899497514
%888 = add i32 %887, %855
%889 = add i32 %888, %882
%890 = add i32 %889, %880
%891 = tail call i32 @llvm.fshl.i32(i32 %866, i32 %866, i32 30)
%892 = tail call i32 @llvm.fshl.i32(i32 %890, i32 %890, i32 5)
%893 = xor i32 %891, %879
%894 = xor i32 %893, %878
%895 = xor i32 %716, %688
%896 = xor i32 %895, %800
%897 = xor i32 %896, %862
%898 = tail call i32 @llvm.fshl.i32(i32 %897, i32 %897, i32 1)
store i32 %898, i32* %98
%899 = add i32 %898, -899497514
%900 = add i32 %899, %867
%901 = add i32 %900, %894
%902 = add i32 %901, %892
%903 = tail call i32 @llvm.fshl.i32(i32 %878, i32 %878, i32 30)
%904 = tail call i32 @llvm.fshl.i32(i32 %902, i32 %902, i32 5)
%905 = xor i32 %903, %891
%906 = xor i32 %905, %890
%907 = xor i32 %730, %702
%908 = xor i32 %907, %814
%909 = xor i32 %908, %874
%910 = tail call i32 @llvm.fshl.i32(i32 %909, i32 %909, i32 1)
store i32 %910, i32* %109
%911 = add i32 %910, -899497514
%912 = add i32 %911, %879
%913 = add i32 %912, %906
%914 = add i32 %913, %904
%915 = tail call i32 @llvm.fshl.i32(i32 %890, i32 %890, i32 30)
%916 = tail call i32 @llvm.fshl.i32(i32 %914, i32 %914, i32 5)
%917 = xor i32 %915, %903
%918 = xor i32 %917, %902
%919 = xor i32 %744, %716
%920 = xor i32 %919, %826
%921 = xor i32 %920, %886
%922 = tail call i32 @llvm.fshl.i32(i32 %921, i32 %921, i32 1)
store i32 %922, i32* %120
%923 = add i32 %922, -899497514
%924 = add i32 %923, %891
%925 = add i32 %924, %918
%926 = add i32 %925, %916
%927 = tail call i32 @llvm.fshl.i32(i32 %902, i32 %902, i32 30)
%928 = tail call i32 @llvm.fshl.i32(i32 %926, i32 %926, i32 5)
%929 = xor i32 %927, %915
%930 = xor i32 %929, %914
%931 = xor i32 %758, %730
%932 = xor i32 %931, %838
%933 = xor i32 %932, %898
%934 = tail call i32 @llvm.fshl.i32(i32 %933, i32 %933, i32 1)
store i32 %934, i32* %131
%935 = add i32 %934, -899497514
%936 = add i32 %935, %903
%937 = add i32 %936, %930
%938 = add i32 %937, %928
%939 = tail call i32 @llvm.fshl.i32(i32 %914, i32 %914, i32 30)
%940 = tail call i32 @llvm.fshl.i32(i32 %938, i32 %938, i32 5)
%941 = xor i32 %939, %927
%942 = xor i32 %941, %926
%943 = xor i32 %772, %744
%944 = xor i32 %943, %850
%945 = xor i32 %944, %910
%946 = tail call i32 @llvm.fshl.i32(i32 %945, i32 %945, i32 1)
store i32 %946, i32* %142
%947 = add i32 %946, -899497514
%948 = add i32 %947, %915
%949 = add i32 %948, %942
%950 = add i32 %949, %940
%951 = tail call i32 @llvm.fshl.i32(i32 %926, i32 %926, i32 30)
%952 = tail call i32 @llvm.fshl.i32(i32 %950, i32 %950, i32 5)
%953 = xor i32 %951, %939
%954 = xor i32 %953, %938
%955 = xor i32 %786, %758
%956 = xor i32 %955, %862
%957 = xor i32 %956, %922
%958 = tail call i32 @llvm.fshl.i32(i32 %957, i32 %957, i32 1)
store i32 %958, i32* %153
%959 = add i32 %958, -899497514
%960 = add i32 %959, %927
%961 = add i32 %960, %954
%962 = add i32 %961, %952
%963 = tail call i32 @llvm.fshl.i32(i32 %938, i32 %938, i32 30)
%964 = tail call i32 @llvm.fshl.i32(i32 %962, i32 %962, i32 5)
%965 = xor i32 %963, %951
%966 = xor i32 %965, %950
%967 = xor i32 %800, %772
%968 = xor i32 %967, %874
%969 = xor i32 %968, %934
%970 = tail call i32 @llvm.fshl.i32(i32 %969, i32 %969, i32 1)
store i32 %970, i32* %164
%971 = add i32 %970, -899497514
%972 = add i32 %971, %939
%973 = add i32 %972, %966
%974 = add i32 %973, %964
%975 = tail call i32 @llvm.fshl.i32(i32 %950, i32 %950, i32 30)
%976 = tail call i32 @llvm.fshl.i32(i32 %974, i32 %974, i32 5)
%977 = xor i32 %975, %963
%978 = xor i32 %977, %962
%979 = xor i32 %814, %786
%980 = xor i32 %979, %886
%981 = xor i32 %980, %946
%982 = tail call i32 @llvm.fshl.i32(i32 %981, i32 %981, i32 1)
store i32 %982, i32* %175
%983 = add i32 %982, -899497514
%984 = add i32 %983, %951
%985 = add i32 %984, %978
%986 = add i32 %985, %976
%987 = tail call i32 @llvm.fshl.i32(i32 %962, i32 %962, i32 30)
%988 = tail call i32 @llvm.fshl.i32(i32 %986, i32 %986, i32 5)
%989 = xor i32 %987, %975
%990 = xor i32 %989, %974
%991 = xor i32 %826, %800
%992 = xor i32 %991, %898
%993 = xor i32 %992, %958
%994 = tail call i32 @llvm.fshl.i32(i32 %993, i32 %993, i32 1)
store i32 %994, i32* %186
%995 = add i32 %994, -899497514
%996 = add i32 %995, %963
%997 = add i32 %996, %990
%998 = add i32 %997, %988
%999 = tail call i32 @llvm.fshl.i32(i32 %974, i32 %974, i32 30)
%1000 = tail call i32 @llvm.fshl.i32(i32 %998, i32 %998, i32 5)
%1001 = xor i32 %999, %987
%1002 = xor i32 %1001, %986
%1003 = xor i32 %838, %814
%1004 = xor i32 %1003, %910
%1005 = xor i32 %1004, %970
%1006 = tail call i32 @llvm.fshl.i32(i32 %1005, i32 %1005, i32 1)
store i32 %1006, i32* %197
%1007 = add i32 %1006, -899497514
%1008 = add i32 %1007, %975
%1009 = add i32 %1008, %1002
%1010 = add i32 %1009, %1000
%1011 = tail call i32 @llvm.fshl.i32(i32 %986, i32 %986, i32 30)
%1012 = tail call i32 @llvm.fshl.i32(i32 %1010, i32 %1010, i32 5)
%1013 = xor i32 %1011, %999
%1014 = xor i32 %1013, %998
%1015 = xor i32 %850, %826
%1016 = xor i32 %1015, %922
%1017 = xor i32 %1016, %982
%1018 = tail call i32 @llvm.fshl.i32(i32 %1017, i32 %1017, i32 1)
store i32 %1018, i32* %208
%1019 = add i32 %1018, -899497514
%1020 = add i32 %1019, %987
%1021 = add i32 %1020, %1014
%1022 = add i32 %1021, %1012
%1023 = tail call i32 @llvm.fshl.i32(i32 %998, i32 %998, i32 30)
%1024 = tail call i32 @llvm.fshl.i32(i32 %1022, i32 %1022, i32 5)
%1025 = xor i32 %1023, %1011
%1026 = xor i32 %1025, %1010
%1027 = xor i32 %862, %838
%1028 = xor i32 %1027, %934
%1029 = xor i32 %1028, %994
%1030 = tail call i32 @llvm.fshl.i32(i32 %1029, i32 %1029, i32 1)
store i32 %1030, i32* %219
%1031 = add i32 %1030, -899497514
%1032 = add i32 %1031, %999
%1033 = add i32 %1032, %1026
%1034 = add i32 %1033, %1024
%1035 = tail call i32 @llvm.fshl.i32(i32 %1010, i32 %1010, i32 30)
%1036 = tail call i32 @llvm.fshl.i32(i32 %1034, i32 %1034, i32 5)
%1037 = xor i32 %1035, %1023
%1038 = xor i32 %1037, %1022
%1039 = xor i32 %874, %850
%1040 = xor i32 %1039, %946
%1041 = xor i32 %1040, %1006
%1042 = tail call i32 @llvm.fshl.i32(i32 %1041, i32 %1041, i32 1)
store i32 %1042, i32* %230
%1043 = add i32 %1042, -899497514
%1044 = add i32 %1043, %1011
%1045 = add i32 %1044, %1038
%1046 = add i32 %1045, %1036
%1047 = tail call i32 @llvm.fshl.i32(i32 %1022, i32 %1022, i32 30)
%1048 = tail call i32 @llvm.fshl.i32(i32 %1046, i32 %1046, i32 5)
%1049 = xor i32 %1047, %1035
%1050 = xor i32 %1049, %1034
%1051 = xor i32 %886, %862
%1052 = xor i32 %1051, %958
%1053 = xor i32 %1052, %1018
%1054 = tail call i32 @llvm.fshl.i32(i32 %1053, i32 %1053, i32 1)
store i32 %1054, i32* %241
%1055 = tail call i32 @llvm.fshl.i32(i32 %1034, i32 %1034, i32 30)
%1056 = add i32 %35, -899497514
%1057 = add i32 %1056, %1054
%1058 = add i32 %1057, %1023
%1059 = add i32 %1058, %1050
%1060 = add i32 %1059, %1048
%1061 = add i32 %1046, %37
%1062 = add i32 %1055, %39
%1063 = add i32 %1047, %41
%1064 = add i32 %1035, %43
%1065 = lshr i32 %1060, 24
%1066 = trunc i32 %1065 to i8
store i8 %1066, i8* %11
%1067 = lshr i32 %1060, 16
%1068 = trunc i32 %1067 to i8
%1069 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 1
store i8 %1068, i8* %1069
%1070 = lshr i32 %1060, 8
%1071 = trunc i32 %1070 to i8
%1072 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 2
store i8 %1071, i8* %1072
%1073 = trunc i32 %1060 to i8
%1074 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 3
store i8 %1073, i8* %1074
%1075 = lshr i32 %1061, 24
%1076 = trunc i32 %1075 to i8
%1077 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 4
store i8 %1076, i8* %1077
%1078 = lshr i32 %1061, 16
%1079 = trunc i32 %1078 to i8
%1080 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 5
store i8 %1079, i8* %1080
%1081 = lshr i32 %1061, 8
%1082 = trunc i32 %1081 to i8
%1083 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 6
store i8 %1082, i8* %1083
%1084 = trunc i32 %1061 to i8
%1085 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 7
store i8 %1084, i8* %1085
%1086 = lshr i32 %1062, 24
%1087 = trunc i32 %1086 to i8
%1088 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 8
store i8 %1087, i8* %1088
%1089 = lshr i32 %1062, 16
%1090 = trunc i32 %1089 to i8
%1091 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 9
store i8 %1090, i8* %1091
%1092 = lshr i32 %1062, 8
%1093 = trunc i32 %1092 to i8
%1094 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 10
store i8 %1093, i8* %1094
%1095 = trunc i32 %1062 to i8
%1096 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 11
store i8 %1095, i8* %1096
%1097 = lshr i32 %1063, 24
%1098 = trunc i32 %1097 to i8
%1099 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 12
store i8 %1098, i8* %1099
%1100 = lshr i32 %1063, 16
%1101 = trunc i32 %1100 to i8
%1102 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 13
store i8 %1101, i8* %1102
%1103 = lshr i32 %1063, 8
%1104 = trunc i32 %1103 to i8
%1105 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 14
store i8 %1104, i8* %1105
%1106 = trunc i32 %1063 to i8
%1107 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 15
store i8 %1106, i8* %1107
%1108 = lshr i32 %1064, 24
%1109 = trunc i32 %1108 to i8
%1110 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 16
store i8 %1109, i8* %1110
%1111 = lshr i32 %1064, 16
%1112 = trunc i32 %1111 to i8
%1113 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 17
store i8 %1112, i8* %1113
%1114 = lshr i32 %1064, 8
%1115 = trunc i32 %1114 to i8
%1116 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 18
store i8 %1115, i8* %1116
%1117 = trunc i32 %1064 to i8
%1118 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 19
store i8 %1117, i8* %1118
%1119 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 20
%1120 = bitcast i8* %1119 to i64*
store i64 0, i64* %1120
store i8 -128, i8* %1119
store i8 0, i8* %26
store i8 0, i8* %29
store i8 2, i8* %32
store i8 -96, i8* %34
%1121 = load i32, i32* %2
%1122 = getelementptr inbounds i32, i32* %2, i64 1
%1123 = load i32, i32* %1122
%1124 = getelementptr inbounds i32, i32* %2, i64 2
%1125 = load i32, i32* %1124
%1126 = getelementptr inbounds i32, i32* %2, i64 3
%1127 = load i32, i32* %1126
%1128 = getelementptr inbounds i32, i32* %2, i64 4
%1129 = load i32, i32* %1128
br label %1130
1130: ; preds = %71, %1130
%1131 = phi i64 [ 0, %71 ], [ %1155, %1130 ]
%1132 = shl nuw nsw i64 %1131, 2
%1133 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %1132
%1134 = load i8, i8* %1133
%1135 = zext i8 %1134 to i32
%1136 = shl nuw i32 %1135, 24
%1137 = or i64 %1132, 1
%1138 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %1137
%1139 = load i8, i8* %1138
%1140 = zext i8 %1139 to i32
%1141 = shl nuw nsw i32 %1140, 16
%1142 = or i32 %1141, %1136
%1143 = or i64 %1132, 2
%1144 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %1143
%1145 = load i8, i8* %1144
%1146 = zext i8 %1145 to i32
%1147 = shl nuw nsw i32 %1146, 8
%1148 = or i32 %1142, %1147
%1149 = or i64 %1132, 3
%1150 = getelementptr inbounds [64 x i8], [64 x i8]* %8, i64 0, i64 %1149
%1151 = load i8, i8* %1150
%1152 = zext i8 %1151 to i32
%1153 = or i32 %1148, %1152
%1154 = getelementptr inbounds [16 x i32], [16 x i32]* %7, i64 0, i64 %1131
store i32 %1153, i32* %1154
%1155 = add nuw nsw i64 %1131, 1
%1156 = icmp eq i64 %1155, 16
br i1 %1156, label %1157, label %1130
1157: ; preds = %1130
%1158 = tail call i32 @llvm.fshl.i32(i32 %1121, i32 %1121, i32 5)
%1159 = xor i32 %1127, %1125
%1160 = and i32 %1159, %1123
%1161 = xor i32 %1160, %1127
%1162 = load i32, i32* %76
%1163 = add i32 %1158, 1518500249
%1164 = add i32 %1163, %1129
%1165 = add i32 %1164, %1161
%1166 = add i32 %1165, %1162
%1167 = tail call i32 @llvm.fshl.i32(i32 %1123, i32 %1123, i32 30)
%1168 = tail call i32 @llvm.fshl.i32(i32 %1166, i32 %1166, i32 5)
%1169 = xor i32 %1167, %1125
%1170 = and i32 %1169, %1121
%1171 = xor i32 %1170, %1125
%1172 = load i32, i32* %87
%1173 = add i32 %1127, 1518500249
%1174 = add i32 %1173, %1171
%1175 = add i32 %1174, %1172
%1176 = add i32 %1175, %1168
%1177 = tail call i32 @llvm.fshl.i32(i32 %1121, i32 %1121, i32 30)
%1178 = tail call i32 @llvm.fshl.i32(i32 %1176, i32 %1176, i32 5)
%1179 = xor i32 %1167, %1177
%1180 = and i32 %1166, %1179
%1181 = xor i32 %1180, %1167
%1182 = load i32, i32* %98
%1183 = add i32 %1125, 1518500249
%1184 = add i32 %1183, %1182
%1185 = add i32 %1184, %1181
%1186 = add i32 %1185, %1178
%1187 = tail call i32 @llvm.fshl.i32(i32 %1166, i32 %1166, i32 30)
%1188 = tail call i32 @llvm.fshl.i32(i32 %1186, i32 %1186, i32 5)
%1189 = xor i32 %1187, %1177
%1190 = and i32 %1176, %1189
%1191 = xor i32 %1190, %1177
%1192 = load i32, i32* %109
%1193 = add i32 %1167, 1518500249
%1194 = add i32 %1193, %1192
%1195 = add i32 %1194, %1191
%1196 = add i32 %1195, %1188
%1197 = tail call i32 @llvm.fshl.i32(i32 %1176, i32 %1176, i32 30)
%1198 = tail call i32 @llvm.fshl.i32(i32 %1196, i32 %1196, i32 5)
%1199 = xor i32 %1197, %1187
%1200 = and i32 %1186, %1199
%1201 = xor i32 %1200, %1187
%1202 = load i32, i32* %120
%1203 = add i32 %1177, 1518500249
%1204 = add i32 %1203, %1202
%1205 = add i32 %1204, %1201
%1206 = add i32 %1205, %1198
%1207 = tail call i32 @llvm.fshl.i32(i32 %1186, i32 %1186, i32 30)
%1208 = tail call i32 @llvm.fshl.i32(i32 %1206, i32 %1206, i32 5)
%1209 = xor i32 %1207, %1197
%1210 = and i32 %1196, %1209
%1211 = xor i32 %1210, %1197
%1212 = load i32, i32* %131
%1213 = add i32 %1187, 1518500249
%1214 = add i32 %1213, %1212
%1215 = add i32 %1214, %1211
%1216 = add i32 %1215, %1208
%1217 = tail call i32 @llvm.fshl.i32(i32 %1196, i32 %1196, i32 30)
%1218 = tail call i32 @llvm.fshl.i32(i32 %1216, i32 %1216, i32 5)
%1219 = xor i32 %1217, %1207
%1220 = and i32 %1206, %1219
%1221 = xor i32 %1220, %1207
%1222 = load i32, i32* %142
%1223 = add i32 %1222, 1518500249
%1224 = add i32 %1223, %1197
%1225 = add i32 %1224, %1221
%1226 = add i32 %1225, %1218
%1227 = tail call i32 @llvm.fshl.i32(i32 %1206, i32 %1206, i32 30)
%1228 = tail call i32 @llvm.fshl.i32(i32 %1226, i32 %1226, i32 5)
%1229 = xor i32 %1227, %1217
%1230 = and i32 %1216, %1229
%1231 = xor i32 %1230, %1217
%1232 = load i32, i32* %153
%1233 = add i32 %1232, 1518500249
%1234 = add i32 %1233, %1207
%1235 = add i32 %1234, %1231
%1236 = add i32 %1235, %1228
%1237 = tail call i32 @llvm.fshl.i32(i32 %1216, i32 %1216, i32 30)
%1238 = tail call i32 @llvm.fshl.i32(i32 %1236, i32 %1236, i32 5)
%1239 = xor i32 %1237, %1227
%1240 = and i32 %1226, %1239
%1241 = xor i32 %1240, %1227
%1242 = load i32, i32* %164
%1243 = add i32 %1242, 1518500249
%1244 = add i32 %1243, %1217
%1245 = add i32 %1244, %1241
%1246 = add i32 %1245, %1238
%1247 = tail call i32 @llvm.fshl.i32(i32 %1226, i32 %1226, i32 30)
%1248 = tail call i32 @llvm.fshl.i32(i32 %1246, i32 %1246, i32 5)
%1249 = xor i32 %1247, %1237
%1250 = and i32 %1236, %1249
%1251 = xor i32 %1250, %1237
%1252 = load i32, i32* %175
%1253 = add i32 %1252, 1518500249
%1254 = add i32 %1253, %1227
%1255 = add i32 %1254, %1251
%1256 = add i32 %1255, %1248
%1257 = tail call i32 @llvm.fshl.i32(i32 %1236, i32 %1236, i32 30)
%1258 = tail call i32 @llvm.fshl.i32(i32 %1256, i32 %1256, i32 5)
%1259 = xor i32 %1257, %1247
%1260 = and i32 %1246, %1259
%1261 = xor i32 %1260, %1247
%1262 = load i32, i32* %186
%1263 = add i32 %1262, 1518500249
%1264 = add i32 %1263, %1237
%1265 = add i32 %1264, %1261
%1266 = add i32 %1265, %1258
%1267 = tail call i32 @llvm.fshl.i32(i32 %1246, i32 %1246, i32 30)
%1268 = tail call i32 @llvm.fshl.i32(i32 %1266, i32 %1266, i32 5)
%1269 = xor i32 %1267, %1257
%1270 = and i32 %1256, %1269
%1271 = xor i32 %1270, %1257
%1272 = load i32, i32* %197
%1273 = add i32 %1272, 1518500249
%1274 = add i32 %1273, %1247
%1275 = add i32 %1274, %1271
%1276 = add i32 %1275, %1268
%1277 = tail call i32 @llvm.fshl.i32(i32 %1256, i32 %1256, i32 30)
%1278 = tail call i32 @llvm.fshl.i32(i32 %1276, i32 %1276, i32 5)
%1279 = xor i32 %1277, %1267
%1280 = and i32 %1266, %1279
%1281 = xor i32 %1280, %1267
%1282 = load i32, i32* %208
%1283 = add i32 %1282, 1518500249
%1284 = add i32 %1283, %1257
%1285 = add i32 %1284, %1281
%1286 = add i32 %1285, %1278
%1287 = tail call i32 @llvm.fshl.i32(i32 %1266, i32 %1266, i32 30)
%1288 = tail call i32 @llvm.fshl.i32(i32 %1286, i32 %1286, i32 5)
%1289 = xor i32 %1287, %1277
%1290 = and i32 %1276, %1289
%1291 = xor i32 %1290, %1277
%1292 = load i32, i32* %219
%1293 = add i32 %1292, 1518500249
%1294 = add i32 %1293, %1267
%1295 = add i32 %1294, %1291
%1296 = add i32 %1295, %1288
%1297 = tail call i32 @llvm.fshl.i32(i32 %1276, i32 %1276, i32 30)
%1298 = tail call i32 @llvm.fshl.i32(i32 %1296, i32 %1296, i32 5)
%1299 = xor i32 %1297, %1287
%1300 = and i32 %1286, %1299
%1301 = xor i32 %1300, %1287
%1302 = load i32, i32* %230
%1303 = add i32 %1302, 1518500249
%1304 = add i32 %1303, %1277
%1305 = add i32 %1304, %1301
%1306 = add i32 %1305, %1298
%1307 = tail call i32 @llvm.fshl.i32(i32 %1286, i32 %1286, i32 30)
%1308 = tail call i32 @llvm.fshl.i32(i32 %1306, i32 %1306, i32 5)
%1309 = xor i32 %1307, %1297
%1310 = and i32 %1296, %1309
%1311 = xor i32 %1310, %1297
%1312 = load i32, i32* %241
%1313 = add i32 %1312, 1518500249
%1314 = add i32 %1313, %1287
%1315 = add i32 %1314, %1311
%1316 = add i32 %1315, %1308
%1317 = tail call i32 @llvm.fshl.i32(i32 %1296, i32 %1296, i32 30)
%1318 = tail call i32 @llvm.fshl.i32(i32 %1316, i32 %1316, i32 5)
%1319 = xor i32 %1317, %1307
%1320 = and i32 %1306, %1319
%1321 = xor i32 %1320, %1307
%1322 = xor i32 %1182, %1162
%1323 = xor i32 %1322, %1242
%1324 = xor i32 %1323, %1292
%1325 = tail call i32 @llvm.fshl.i32(i32 %1324, i32 %1324, i32 1)
%1326 = add i32 %1325, 1518500249
%1327 = add i32 %1326, %1297
%1328 = add i32 %1327, %1321
%1329 = add i32 %1328, %1318
%1330 = tail call i32 @llvm.fshl.i32(i32 %1306, i32 %1306, i32 30)
%1331 = tail call i32 @llvm.fshl.i32(i32 %1329, i32 %1329, i32 5)
%1332 = xor i32 %1330, %1317
%1333 = and i32 %1316, %1332
%1334 = xor i32 %1333, %1317
%1335 = xor i32 %1192, %1172
%1336 = xor i32 %1335, %1252
%1337 = xor i32 %1336, %1302
%1338 = tail call i32 @llvm.fshl.i32(i32 %1337, i32 %1337, i32 1)
%1339 = add i32 %1338, 1518500249
%1340 = add i32 %1339, %1307
%1341 = add i32 %1340, %1334
%1342 = add i32 %1341, %1331
%1343 = tail call i32 @llvm.fshl.i32(i32 %1316, i32 %1316, i32 30)
%1344 = tail call i32 @llvm.fshl.i32(i32 %1342, i32 %1342, i32 5)
%1345 = xor i32 %1343, %1330
%1346 = and i32 %1329, %1345
%1347 = xor i32 %1346, %1330
%1348 = xor i32 %1202, %1182
%1349 = xor i32 %1348, %1262
%1350 = xor i32 %1349, %1312
%1351 = tail call i32 @llvm.fshl.i32(i32 %1350, i32 %1350, i32 1)
%1352 = add i32 %1351, 1518500249
%1353 = add i32 %1352, %1317
%1354 = add i32 %1353, %1347
%1355 = add i32 %1354, %1344
%1356 = tail call i32 @llvm.fshl.i32(i32 %1329, i32 %1329, i32 30)
%1357 = tail call i32 @llvm.fshl.i32(i32 %1355, i32 %1355, i32 5)
%1358 = xor i32 %1356, %1343
%1359 = and i32 %1342, %1358
%1360 = xor i32 %1359, %1343
%1361 = xor i32 %1212, %1192
%1362 = xor i32 %1361, %1272
%1363 = xor i32 %1362, %1325
%1364 = tail call i32 @llvm.fshl.i32(i32 %1363, i32 %1363, i32 1)
%1365 = add i32 %1364, 1518500249
%1366 = add i32 %1365, %1330
%1367 = add i32 %1366, %1360
%1368 = add i32 %1367, %1357
%1369 = tail call i32 @llvm.fshl.i32(i32 %1342, i32 %1342, i32 30)
%1370 = tail call i32 @llvm.fshl.i32(i32 %1368, i32 %1368, i32 5)
%1371 = xor i32 %1369, %1356
%1372 = xor i32 %1371, %1355
%1373 = xor i32 %1222, %1202
%1374 = xor i32 %1373, %1282
%1375 = xor i32 %1374, %1338
%1376 = tail call i32 @llvm.fshl.i32(i32 %1375, i32 %1375, i32 1)
%1377 = add i32 %1376, 1859775393
%1378 = add i32 %1377, %1343
%1379 = add i32 %1378, %1372
%1380 = add i32 %1379, %1370
%1381 = tail call i32 @llvm.fshl.i32(i32 %1355, i32 %1355, i32 30)
%1382 = tail call i32 @llvm.fshl.i32(i32 %1380, i32 %1380, i32 5)
%1383 = xor i32 %1381, %1369
%1384 = xor i32 %1383, %1368
%1385 = xor i32 %1232, %1212
%1386 = xor i32 %1385, %1292
%1387 = xor i32 %1386, %1351
%1388 = tail call i32 @llvm.fshl.i32(i32 %1387, i32 %1387, i32 1)
%1389 = add i32 %1388, 1859775393
%1390 = add i32 %1389, %1356
%1391 = add i32 %1390, %1384
%1392 = add i32 %1391, %1382
%1393 = tail call i32 @llvm.fshl.i32(i32 %1368, i32 %1368, i32 30)
%1394 = tail call i32 @llvm.fshl.i32(i32 %1392, i32 %1392, i32 5)
%1395 = xor i32 %1393, %1381
%1396 = xor i32 %1395, %1380
%1397 = xor i32 %1242, %1222
%1398 = xor i32 %1397, %1302
%1399 = xor i32 %1398, %1364
%1400 = tail call i32 @llvm.fshl.i32(i32 %1399, i32 %1399, i32 1)
%1401 = add i32 %1400, 1859775393
%1402 = add i32 %1401, %1369
%1403 = add i32 %1402, %1396
%1404 = add i32 %1403, %1394
%1405 = tail call i32 @llvm.fshl.i32(i32 %1380, i32 %1380, i32 30)
%1406 = tail call i32 @llvm.fshl.i32(i32 %1404, i32 %1404, i32 5)
%1407 = xor i32 %1405, %1393
%1408 = xor i32 %1407, %1392
%1409 = xor i32 %1252, %1232
%1410 = xor i32 %1409, %1312
%1411 = xor i32 %1410, %1376
%1412 = tail call i32 @llvm.fshl.i32(i32 %1411, i32 %1411, i32 1)
%1413 = add i32 %1412, 1859775393
%1414 = add i32 %1413, %1381
%1415 = add i32 %1414, %1408
%1416 = add i32 %1415, %1406
%1417 = tail call i32 @llvm.fshl.i32(i32 %1392, i32 %1392, i32 30)
%1418 = tail call i32 @llvm.fshl.i32(i32 %1416, i32 %1416, i32 5)
%1419 = xor i32 %1417, %1405
%1420 = xor i32 %1419, %1404
%1421 = xor i32 %1262, %1242
%1422 = xor i32 %1421, %1325
%1423 = xor i32 %1422, %1388
%1424 = tail call i32 @llvm.fshl.i32(i32 %1423, i32 %1423, i32 1)
%1425 = add i32 %1424, 1859775393
%1426 = add i32 %1425, %1393
%1427 = add i32 %1426, %1420
%1428 = add i32 %1427, %1418
%1429 = tail call i32 @llvm.fshl.i32(i32 %1404, i32 %1404, i32 30)
%1430 = tail call i32 @llvm.fshl.i32(i32 %1428, i32 %1428, i32 5)
%1431 = xor i32 %1429, %1417
%1432 = xor i32 %1431, %1416
%1433 = xor i32 %1272, %1252
%1434 = xor i32 %1433, %1338
%1435 = xor i32 %1434, %1400
%1436 = tail call i32 @llvm.fshl.i32(i32 %1435, i32 %1435, i32 1)
%1437 = add i32 %1436, 1859775393
%1438 = add i32 %1437, %1405
%1439 = add i32 %1438, %1432
%1440 = add i32 %1439, %1430
%1441 = tail call i32 @llvm.fshl.i32(i32 %1416, i32 %1416, i32 30)
%1442 = tail call i32 @llvm.fshl.i32(i32 %1440, i32 %1440, i32 5)
%1443 = xor i32 %1441, %1429
%1444 = xor i32 %1443, %1428
%1445 = xor i32 %1282, %1262
%1446 = xor i32 %1445, %1351
%1447 = xor i32 %1446, %1412
%1448 = tail call i32 @llvm.fshl.i32(i32 %1447, i32 %1447, i32 1)
%1449 = add i32 %1448, 1859775393
%1450 = add i32 %1449, %1417
%1451 = add i32 %1450, %1444
%1452 = add i32 %1451, %1442
%1453 = tail call i32 @llvm.fshl.i32(i32 %1428, i32 %1428, i32 30)
%1454 = tail call i32 @llvm.fshl.i32(i32 %1452, i32 %1452, i32 5)
%1455 = xor i32 %1453, %1441
%1456 = xor i32 %1455, %1440
%1457 = xor i32 %1292, %1272
%1458 = xor i32 %1457, %1364
%1459 = xor i32 %1458, %1424
%1460 = tail call i32 @llvm.fshl.i32(i32 %1459, i32 %1459, i32 1)
%1461 = add i32 %1460, 1859775393
%1462 = add i32 %1461, %1429
%1463 = add i32 %1462, %1456
%1464 = add i32 %1463, %1454
%1465 = tail call i32 @llvm.fshl.i32(i32 %1440, i32 %1440, i32 30)
%1466 = tail call i32 @llvm.fshl.i32(i32 %1464, i32 %1464, i32 5)
%1467 = xor i32 %1465, %1453
%1468 = xor i32 %1467, %1452
%1469 = xor i32 %1302, %1282
%1470 = xor i32 %1469, %1376
%1471 = xor i32 %1470, %1436
%1472 = tail call i32 @llvm.fshl.i32(i32 %1471, i32 %1471, i32 1)
%1473 = add i32 %1472, 1859775393
%1474 = add i32 %1473, %1441
%1475 = add i32 %1474, %1468
%1476 = add i32 %1475, %1466
%1477 = tail call i32 @llvm.fshl.i32(i32 %1452, i32 %1452, i32 30)
%1478 = tail call i32 @llvm.fshl.i32(i32 %1476, i32 %1476, i32 5)
%1479 = xor i32 %1477, %1465
%1480 = xor i32 %1479, %1464
%1481 = xor i32 %1312, %1292
%1482 = xor i32 %1481, %1388
%1483 = xor i32 %1482, %1448
%1484 = tail call i32 @llvm.fshl.i32(i32 %1483, i32 %1483, i32 1)
%1485 = add i32 %1484, 1859775393
%1486 = add i32 %1485, %1453
%1487 = add i32 %1486, %1480
%1488 = add i32 %1487, %1478
%1489 = tail call i32 @llvm.fshl.i32(i32 %1464, i32 %1464, i32 30)
%1490 = tail call i32 @llvm.fshl.i32(i32 %1488, i32 %1488, i32 5)
%1491 = xor i32 %1489, %1477
%1492 = xor i32 %1491, %1476
%1493 = xor i32 %1325, %1302
%1494 = xor i32 %1493, %1400
%1495 = xor i32 %1494, %1460
%1496 = tail call i32 @llvm.fshl.i32(i32 %1495, i32 %1495, i32 1)
%1497 = add i32 %1496, 1859775393
%1498 = add i32 %1497, %1465
%1499 = add i32 %1498, %1492
%1500 = add i32 %1499, %1490
%1501 = tail call i32 @llvm.fshl.i32(i32 %1476, i32 %1476, i32 30)
%1502 = tail call i32 @llvm.fshl.i32(i32 %1500, i32 %1500, i32 5)
%1503 = xor i32 %1501, %1489
%1504 = xor i32 %1503, %1488
%1505 = xor i32 %1338, %1312
%1506 = xor i32 %1505, %1412
%1507 = xor i32 %1506, %1472
%1508 = tail call i32 @llvm.fshl.i32(i32 %1507, i32 %1507, i32 1)
%1509 = add i32 %1508, 1859775393
%1510 = add i32 %1509, %1477
%1511 = add i32 %1510, %1504
%1512 = add i32 %1511, %1502
%1513 = tail call i32 @llvm.fshl.i32(i32 %1488, i32 %1488, i32 30)
%1514 = tail call i32 @llvm.fshl.i32(i32 %1512, i32 %1512, i32 5)
%1515 = xor i32 %1513, %1501
%1516 = xor i32 %1515, %1500
%1517 = xor i32 %1351, %1325
%1518 = xor i32 %1517, %1424
%1519 = xor i32 %1518, %1484
%1520 = tail call i32 @llvm.fshl.i32(i32 %1519, i32 %1519, i32 1)
%1521 = add i32 %1520, 1859775393
%1522 = add i32 %1521, %1489
%1523 = add i32 %1522, %1516
%1524 = add i32 %1523, %1514
%1525 = tail call i32 @llvm.fshl.i32(i32 %1500, i32 %1500, i32 30)
%1526 = tail call i32 @llvm.fshl.i32(i32 %1524, i32 %1524, i32 5)
%1527 = xor i32 %1525, %1513
%1528 = xor i32 %1527, %1512
%1529 = xor i32 %1364, %1338
%1530 = xor i32 %1529, %1436
%1531 = xor i32 %1530, %1496
%1532 = tail call i32 @llvm.fshl.i32(i32 %1531, i32 %1531, i32 1)
%1533 = add i32 %1532, 1859775393
%1534 = add i32 %1533, %1501
%1535 = add i32 %1534, %1528
%1536 = add i32 %1535, %1526
%1537 = tail call i32 @llvm.fshl.i32(i32 %1512, i32 %1512, i32 30)
%1538 = tail call i32 @llvm.fshl.i32(i32 %1536, i32 %1536, i32 5)
%1539 = xor i32 %1537, %1525
%1540 = xor i32 %1539, %1524
%1541 = xor i32 %1376, %1351
%1542 = xor i32 %1541, %1448
%1543 = xor i32 %1542, %1508
%1544 = tail call i32 @llvm.fshl.i32(i32 %1543, i32 %1543, i32 1)
%1545 = add i32 %1544, 1859775393
%1546 = add i32 %1545, %1513
%1547 = add i32 %1546, %1540
%1548 = add i32 %1547, %1538
%1549 = tail call i32 @llvm.fshl.i32(i32 %1524, i32 %1524, i32 30)
%1550 = tail call i32 @llvm.fshl.i32(i32 %1548, i32 %1548, i32 5)
%1551 = xor i32 %1549, %1537
%1552 = xor i32 %1551, %1536
%1553 = xor i32 %1388, %1364
%1554 = xor i32 %1553, %1460
%1555 = xor i32 %1554, %1520
%1556 = tail call i32 @llvm.fshl.i32(i32 %1555, i32 %1555, i32 1)
%1557 = add i32 %1556, 1859775393
%1558 = add i32 %1557, %1525
%1559 = add i32 %1558, %1552
%1560 = add i32 %1559, %1550
%1561 = tail call i32 @llvm.fshl.i32(i32 %1536, i32 %1536, i32 30)
%1562 = tail call i32 @llvm.fshl.i32(i32 %1560, i32 %1560, i32 5)
%1563 = xor i32 %1561, %1549
%1564 = xor i32 %1563, %1548
%1565 = xor i32 %1400, %1376
%1566 = xor i32 %1565, %1472
%1567 = xor i32 %1566, %1532
%1568 = tail call i32 @llvm.fshl.i32(i32 %1567, i32 %1567, i32 1)
%1569 = add i32 %1568, 1859775393
%1570 = add i32 %1569, %1537
%1571 = add i32 %1570, %1564
%1572 = add i32 %1571, %1562
%1573 = tail call i32 @llvm.fshl.i32(i32 %1548, i32 %1548, i32 30)
%1574 = tail call i32 @llvm.fshl.i32(i32 %1572, i32 %1572, i32 5)
%1575 = xor i32 %1573, %1561
%1576 = xor i32 %1575, %1560
%1577 = xor i32 %1412, %1388
%1578 = xor i32 %1577, %1484
%1579 = xor i32 %1578, %1544
%1580 = tail call i32 @llvm.fshl.i32(i32 %1579, i32 %1579, i32 1)
%1581 = add i32 %1580, 1859775393
%1582 = add i32 %1581, %1549
%1583 = add i32 %1582, %1576
%1584 = add i32 %1583, %1574
%1585 = tail call i32 @llvm.fshl.i32(i32 %1560, i32 %1560, i32 30)
%1586 = tail call i32 @llvm.fshl.i32(i32 %1584, i32 %1584, i32 5)
%1587 = xor i32 %1585, %1573
%1588 = xor i32 %1587, %1572
%1589 = xor i32 %1424, %1400
%1590 = xor i32 %1589, %1496
%1591 = xor i32 %1590, %1556
%1592 = tail call i32 @llvm.fshl.i32(i32 %1591, i32 %1591, i32 1)
%1593 = add i32 %1592, 1859775393
%1594 = add i32 %1593, %1561
%1595 = add i32 %1594, %1588
%1596 = add i32 %1595, %1586
%1597 = tail call i32 @llvm.fshl.i32(i32 %1572, i32 %1572, i32 30)
%1598 = tail call i32 @llvm.fshl.i32(i32 %1596, i32 %1596, i32 5)
%1599 = xor i32 %1597, %1585
%1600 = xor i32 %1599, %1584
%1601 = xor i32 %1436, %1412
%1602 = xor i32 %1601, %1508
%1603 = xor i32 %1602, %1568
%1604 = tail call i32 @llvm.fshl.i32(i32 %1603, i32 %1603, i32 1)
%1605 = add i32 %1604, 1859775393
%1606 = add i32 %1605, %1573
%1607 = add i32 %1606, %1600
%1608 = add i32 %1607, %1598
%1609 = tail call i32 @llvm.fshl.i32(i32 %1584, i32 %1584, i32 30)
%1610 = tail call i32 @llvm.fshl.i32(i32 %1608, i32 %1608, i32 5)
%1611 = and i32 %1596, %1609
%1612 = or i32 %1596, %1609
%1613 = and i32 %1612, %1597
%1614 = or i32 %1613, %1611
%1615 = xor i32 %1448, %1424
%1616 = xor i32 %1615, %1520
%1617 = xor i32 %1616, %1580
%1618 = tail call i32 @llvm.fshl.i32(i32 %1617, i32 %1617, i32 1)
%1619 = add i32 %1618, -1894007588
%1620 = add i32 %1619, %1585
%1621 = add i32 %1620, %1614
%1622 = add i32 %1621, %1610
%1623 = tail call i32 @llvm.fshl.i32(i32 %1596, i32 %1596, i32 30)
%1624 = tail call i32 @llvm.fshl.i32(i32 %1622, i32 %1622, i32 5)
%1625 = and i32 %1608, %1623
%1626 = or i32 %1608, %1623
%1627 = and i32 %1626, %1609
%1628 = or i32 %1627, %1625
%1629 = xor i32 %1460, %1436
%1630 = xor i32 %1629, %1532
%1631 = xor i32 %1630, %1592
%1632 = tail call i32 @llvm.fshl.i32(i32 %1631, i32 %1631, i32 1)
%1633 = add i32 %1632, -1894007588
%1634 = add i32 %1633, %1597
%1635 = add i32 %1634, %1628
%1636 = add i32 %1635, %1624
%1637 = tail call i32 @llvm.fshl.i32(i32 %1608, i32 %1608, i32 30)
%1638 = tail call i32 @llvm.fshl.i32(i32 %1636, i32 %1636, i32 5)
%1639 = and i32 %1622, %1637
%1640 = or i32 %1622, %1637
%1641 = and i32 %1640, %1623
%1642 = or i32 %1641, %1639
%1643 = xor i32 %1472, %1448
%1644 = xor i32 %1643, %1544
%1645 = xor i32 %1644, %1604
%1646 = tail call i32 @llvm.fshl.i32(i32 %1645, i32 %1645, i32 1)
%1647 = add i32 %1646, -1894007588
%1648 = add i32 %1647, %1609
%1649 = add i32 %1648, %1642
%1650 = add i32 %1649, %1638
%1651 = tail call i32 @llvm.fshl.i32(i32 %1622, i32 %1622, i32 30)
%1652 = tail call i32 @llvm.fshl.i32(i32 %1650, i32 %1650, i32 5)
%1653 = and i32 %1636, %1651
%1654 = or i32 %1636, %1651
%1655 = and i32 %1654, %1637
%1656 = or i32 %1655, %1653
%1657 = xor i32 %1484, %1460
%1658 = xor i32 %1657, %1556
%1659 = xor i32 %1658, %1618
%1660 = tail call i32 @llvm.fshl.i32(i32 %1659, i32 %1659, i32 1)
%1661 = add i32 %1660, -1894007588
%1662 = add i32 %1661, %1623
%1663 = add i32 %1662, %1656
%1664 = add i32 %1663, %1652
%1665 = tail call i32 @llvm.fshl.i32(i32 %1636, i32 %1636, i32 30)
%1666 = tail call i32 @llvm.fshl.i32(i32 %1664, i32 %1664, i32 5)
%1667 = and i32 %1650, %1665
%1668 = or i32 %1650, %1665
%1669 = and i32 %1668, %1651
%1670 = or i32 %1669, %1667
%1671 = xor i32 %1496, %1472
%1672 = xor i32 %1671, %1568
%1673 = xor i32 %1672, %1632
%1674 = tail call i32 @llvm.fshl.i32(i32 %1673, i32 %1673, i32 1)
%1675 = add i32 %1674, -1894007588
%1676 = add i32 %1675, %1637
%1677 = add i32 %1676, %1670
%1678 = add i32 %1677, %1666
%1679 = tail call i32 @llvm.fshl.i32(i32 %1650, i32 %1650, i32 30)
%1680 = tail call i32 @llvm.fshl.i32(i32 %1678, i32 %1678, i32 5)
%1681 = and i32 %1664, %1679
%1682 = or i32 %1664, %1679
%1683 = and i32 %1682, %1665
%1684 = or i32 %1683, %1681
%1685 = xor i32 %1508, %1484
%1686 = xor i32 %1685, %1580
%1687 = xor i32 %1686, %1646
%1688 = tail call i32 @llvm.fshl.i32(i32 %1687, i32 %1687, i32 1)
%1689 = add i32 %1688, -1894007588
%1690 = add i32 %1689, %1651
%1691 = add i32 %1690, %1684
%1692 = add i32 %1691, %1680
%1693 = tail call i32 @llvm.fshl.i32(i32 %1664, i32 %1664, i32 30)
%1694 = tail call i32 @llvm.fshl.i32(i32 %1692, i32 %1692, i32 5)
%1695 = and i32 %1678, %1693
%1696 = or i32 %1678, %1693
%1697 = and i32 %1696, %1679
%1698 = or i32 %1697, %1695
%1699 = xor i32 %1520, %1496
%1700 = xor i32 %1699, %1592
%1701 = xor i32 %1700, %1660
%1702 = tail call i32 @llvm.fshl.i32(i32 %1701, i32 %1701, i32 1)
%1703 = add i32 %1702, -1894007588
%1704 = add i32 %1703, %1665
%1705 = add i32 %1704, %1698
%1706 = add i32 %1705, %1694
%1707 = tail call i32 @llvm.fshl.i32(i32 %1678, i32 %1678, i32 30)
%1708 = tail call i32 @llvm.fshl.i32(i32 %1706, i32 %1706, i32 5)
%1709 = and i32 %1692, %1707
%1710 = or i32 %1692, %1707
%1711 = and i32 %1710, %1693
%1712 = or i32 %1711, %1709
%1713 = xor i32 %1532, %1508
%1714 = xor i32 %1713, %1604
%1715 = xor i32 %1714, %1674
%1716 = tail call i32 @llvm.fshl.i32(i32 %1715, i32 %1715, i32 1)
%1717 = add i32 %1716, -1894007588
%1718 = add i32 %1717, %1679
%1719 = add i32 %1718, %1712
%1720 = add i32 %1719, %1708
%1721 = tail call i32 @llvm.fshl.i32(i32 %1692, i32 %1692, i32 30)
%1722 = tail call i32 @llvm.fshl.i32(i32 %1720, i32 %1720, i32 5)
%1723 = and i32 %1706, %1721
%1724 = or i32 %1706, %1721
%1725 = and i32 %1724, %1707
%1726 = or i32 %1725, %1723
%1727 = xor i32 %1544, %1520
%1728 = xor i32 %1727, %1618
%1729 = xor i32 %1728, %1688
%1730 = tail call i32 @llvm.fshl.i32(i32 %1729, i32 %1729, i32 1)
%1731 = add i32 %1730, -1894007588
%1732 = add i32 %1731, %1693
%1733 = add i32 %1732, %1726
%1734 = add i32 %1733, %1722
%1735 = tail call i32 @llvm.fshl.i32(i32 %1706, i32 %1706, i32 30)
%1736 = tail call i32 @llvm.fshl.i32(i32 %1734, i32 %1734, i32 5)
%1737 = and i32 %1720, %1735
%1738 = or i32 %1720, %1735
%1739 = and i32 %1738, %1721
%1740 = or i32 %1739, %1737
%1741 = xor i32 %1556, %1532
%1742 = xor i32 %1741, %1632
%1743 = xor i32 %1742, %1702
%1744 = tail call i32 @llvm.fshl.i32(i32 %1743, i32 %1743, i32 1)
%1745 = add i32 %1744, -1894007588
%1746 = add i32 %1745, %1707
%1747 = add i32 %1746, %1740
%1748 = add i32 %1747, %1736
%1749 = tail call i32 @llvm.fshl.i32(i32 %1720, i32 %1720, i32 30)
%1750 = tail call i32 @llvm.fshl.i32(i32 %1748, i32 %1748, i32 5)
%1751 = and i32 %1734, %1749
%1752 = or i32 %1734, %1749
%1753 = and i32 %1752, %1735
%1754 = or i32 %1753, %1751
%1755 = xor i32 %1568, %1544
%1756 = xor i32 %1755, %1646
%1757 = xor i32 %1756, %1716
%1758 = tail call i32 @llvm.fshl.i32(i32 %1757, i32 %1757, i32 1)
%1759 = add i32 %1758, -1894007588
%1760 = add i32 %1759, %1721
%1761 = add i32 %1760, %1754
%1762 = add i32 %1761, %1750
%1763 = tail call i32 @llvm.fshl.i32(i32 %1734, i32 %1734, i32 30)
%1764 = tail call i32 @llvm.fshl.i32(i32 %1762, i32 %1762, i32 5)
%1765 = and i32 %1748, %1763
%1766 = or i32 %1748, %1763
%1767 = and i32 %1766, %1749
%1768 = or i32 %1767, %1765
%1769 = xor i32 %1580, %1556
%1770 = xor i32 %1769, %1660
%1771 = xor i32 %1770, %1730
%1772 = tail call i32 @llvm.fshl.i32(i32 %1771, i32 %1771, i32 1)
%1773 = add i32 %1772, -1894007588
%1774 = add i32 %1773, %1735
%1775 = add i32 %1774, %1768
%1776 = add i32 %1775, %1764
%1777 = tail call i32 @llvm.fshl.i32(i32 %1748, i32 %1748, i32 30)
%1778 = tail call i32 @llvm.fshl.i32(i32 %1776, i32 %1776, i32 5)
%1779 = and i32 %1762, %1777
%1780 = or i32 %1762, %1777
%1781 = and i32 %1780, %1763
%1782 = or i32 %1781, %1779
%1783 = xor i32 %1592, %1568
%1784 = xor i32 %1783, %1674
%1785 = xor i32 %1784, %1744
%1786 = tail call i32 @llvm.fshl.i32(i32 %1785, i32 %1785, i32 1)
%1787 = add i32 %1786, -1894007588
%1788 = add i32 %1787, %1749
%1789 = add i32 %1788, %1782
%1790 = add i32 %1789, %1778
%1791 = tail call i32 @llvm.fshl.i32(i32 %1762, i32 %1762, i32 30)
%1792 = tail call i32 @llvm.fshl.i32(i32 %1790, i32 %1790, i32 5)
%1793 = and i32 %1776, %1791
%1794 = or i32 %1776, %1791
%1795 = and i32 %1794, %1777
%1796 = or i32 %1795, %1793
%1797 = xor i32 %1604, %1580
%1798 = xor i32 %1797, %1688
%1799 = xor i32 %1798, %1758
%1800 = tail call i32 @llvm.fshl.i32(i32 %1799, i32 %1799, i32 1)
%1801 = add i32 %1800, -1894007588
%1802 = add i32 %1801, %1763
%1803 = add i32 %1802, %1796
%1804 = add i32 %1803, %1792
%1805 = tail call i32 @llvm.fshl.i32(i32 %1776, i32 %1776, i32 30)
%1806 = tail call i32 @llvm.fshl.i32(i32 %1804, i32 %1804, i32 5)
%1807 = and i32 %1790, %1805
%1808 = or i32 %1790, %1805
%1809 = and i32 %1808, %1791
%1810 = or i32 %1809, %1807
%1811 = xor i32 %1618, %1592
%1812 = xor i32 %1811, %1702
%1813 = xor i32 %1812, %1772
%1814 = tail call i32 @llvm.fshl.i32(i32 %1813, i32 %1813, i32 1)
%1815 = add i32 %1814, -1894007588
%1816 = add i32 %1815, %1777
%1817 = add i32 %1816, %1810
%1818 = add i32 %1817, %1806
%1819 = tail call i32 @llvm.fshl.i32(i32 %1790, i32 %1790, i32 30)
%1820 = tail call i32 @llvm.fshl.i32(i32 %1818, i32 %1818, i32 5)
%1821 = and i32 %1804, %1819
%1822 = or i32 %1804, %1819
%1823 = and i32 %1822, %1805
%1824 = or i32 %1823, %1821
%1825 = xor i32 %1632, %1604
%1826 = xor i32 %1825, %1716
%1827 = xor i32 %1826, %1786
%1828 = tail call i32 @llvm.fshl.i32(i32 %1827, i32 %1827, i32 1)
%1829 = add i32 %1828, -1894007588
%1830 = add i32 %1829, %1791
%1831 = add i32 %1830, %1824
%1832 = add i32 %1831, %1820
%1833 = tail call i32 @llvm.fshl.i32(i32 %1804, i32 %1804, i32 30)
%1834 = tail call i32 @llvm.fshl.i32(i32 %1832, i32 %1832, i32 5)
%1835 = and i32 %1818, %1833
%1836 = or i32 %1818, %1833
%1837 = and i32 %1836, %1819
%1838 = or i32 %1837, %1835
%1839 = xor i32 %1646, %1618
%1840 = xor i32 %1839, %1730
%1841 = xor i32 %1840, %1800
%1842 = tail call i32 @llvm.fshl.i32(i32 %1841, i32 %1841, i32 1)
%1843 = add i32 %1842, -1894007588
%1844 = add i32 %1843, %1805
%1845 = add i32 %1844, %1838
%1846 = add i32 %1845, %1834
%1847 = tail call i32 @llvm.fshl.i32(i32 %1818, i32 %1818, i32 30)
%1848 = tail call i32 @llvm.fshl.i32(i32 %1846, i32 %1846, i32 5)
%1849 = and i32 %1832, %1847
%1850 = or i32 %1832, %1847
%1851 = and i32 %1850, %1833
%1852 = or i32 %1851, %1849
%1853 = xor i32 %1660, %1632
%1854 = xor i32 %1853, %1744
%1855 = xor i32 %1854, %1814
%1856 = tail call i32 @llvm.fshl.i32(i32 %1855, i32 %1855, i32 1)
%1857 = add i32 %1856, -1894007588
%1858 = add i32 %1857, %1819
%1859 = add i32 %1858, %1852
%1860 = add i32 %1859, %1848
%1861 = tail call i32 @llvm.fshl.i32(i32 %1832, i32 %1832, i32 30)
%1862 = tail call i32 @llvm.fshl.i32(i32 %1860, i32 %1860, i32 5)
%1863 = and i32 %1846, %1861
%1864 = or i32 %1846, %1861
%1865 = and i32 %1864, %1847
%1866 = or i32 %1865, %1863
%1867 = xor i32 %1674, %1646
%1868 = xor i32 %1867, %1758
%1869 = xor i32 %1868, %1828
%1870 = tail call i32 @llvm.fshl.i32(i32 %1869, i32 %1869, i32 1)
%1871 = add i32 %1870, -1894007588
%1872 = add i32 %1871, %1833
%1873 = add i32 %1872, %1866
%1874 = add i32 %1873, %1862
%1875 = tail call i32 @llvm.fshl.i32(i32 %1846, i32 %1846, i32 30)
%1876 = tail call i32 @llvm.fshl.i32(i32 %1874, i32 %1874, i32 5)
%1877 = and i32 %1860, %1875
%1878 = or i32 %1860, %1875
%1879 = and i32 %1878, %1861
%1880 = or i32 %1879, %1877
%1881 = xor i32 %1688, %1660
%1882 = xor i32 %1881, %1772
%1883 = xor i32 %1882, %1842
%1884 = tail call i32 @llvm.fshl.i32(i32 %1883, i32 %1883, i32 1)
%1885 = add i32 %1884, -1894007588
%1886 = add i32 %1885, %1847
%1887 = add i32 %1886, %1880
%1888 = add i32 %1887, %1876
%1889 = tail call i32 @llvm.fshl.i32(i32 %1860, i32 %1860, i32 30)
%1890 = tail call i32 @llvm.fshl.i32(i32 %1888, i32 %1888, i32 5)
%1891 = xor i32 %1889, %1875
%1892 = xor i32 %1891, %1874
%1893 = xor i32 %1702, %1674
%1894 = xor i32 %1893, %1786
%1895 = xor i32 %1894, %1856
%1896 = tail call i32 @llvm.fshl.i32(i32 %1895, i32 %1895, i32 1)
%1897 = add i32 %1896, -899497514
%1898 = add i32 %1897, %1861
%1899 = add i32 %1898, %1892
%1900 = add i32 %1899, %1890
%1901 = tail call i32 @llvm.fshl.i32(i32 %1874, i32 %1874, i32 30)
%1902 = tail call i32 @llvm.fshl.i32(i32 %1900, i32 %1900, i32 5)
%1903 = xor i32 %1901, %1889
%1904 = xor i32 %1903, %1888
%1905 = xor i32 %1716, %1688
%1906 = xor i32 %1905, %1800
%1907 = xor i32 %1906, %1870
%1908 = tail call i32 @llvm.fshl.i32(i32 %1907, i32 %1907, i32 1)
%1909 = add i32 %1908, -899497514
%1910 = add i32 %1909, %1875
%1911 = add i32 %1910, %1904
%1912 = add i32 %1911, %1902
%1913 = tail call i32 @llvm.fshl.i32(i32 %1888, i32 %1888, i32 30)
%1914 = tail call i32 @llvm.fshl.i32(i32 %1912, i32 %1912, i32 5)
%1915 = xor i32 %1913, %1901
%1916 = xor i32 %1915, %1900
%1917 = xor i32 %1730, %1702
%1918 = xor i32 %1917, %1814
%1919 = xor i32 %1918, %1884
%1920 = tail call i32 @llvm.fshl.i32(i32 %1919, i32 %1919, i32 1)
%1921 = add i32 %1920, -899497514
%1922 = add i32 %1921, %1889
%1923 = add i32 %1922, %1916
%1924 = add i32 %1923, %1914
%1925 = tail call i32 @llvm.fshl.i32(i32 %1900, i32 %1900, i32 30)
%1926 = tail call i32 @llvm.fshl.i32(i32 %1924, i32 %1924, i32 5)
%1927 = xor i32 %1925, %1913
%1928 = xor i32 %1927, %1912
%1929 = xor i32 %1744, %1716
%1930 = xor i32 %1929, %1828
%1931 = xor i32 %1930, %1896
%1932 = tail call i32 @llvm.fshl.i32(i32 %1931, i32 %1931, i32 1)
%1933 = add i32 %1932, -899497514
%1934 = add i32 %1933, %1901
%1935 = add i32 %1934, %1928
%1936 = add i32 %1935, %1926
%1937 = tail call i32 @llvm.fshl.i32(i32 %1912, i32 %1912, i32 30)
%1938 = tail call i32 @llvm.fshl.i32(i32 %1936, i32 %1936, i32 5)
%1939 = xor i32 %1937, %1925
%1940 = xor i32 %1939, %1924
%1941 = xor i32 %1758, %1730
%1942 = xor i32 %1941, %1842
%1943 = xor i32 %1942, %1908
%1944 = tail call i32 @llvm.fshl.i32(i32 %1943, i32 %1943, i32 1)
%1945 = add i32 %1944, -899497514
%1946 = add i32 %1945, %1913
%1947 = add i32 %1946, %1940
%1948 = add i32 %1947, %1938
%1949 = tail call i32 @llvm.fshl.i32(i32 %1924, i32 %1924, i32 30)
%1950 = tail call i32 @llvm.fshl.i32(i32 %1948, i32 %1948, i32 5)
%1951 = xor i32 %1949, %1937
%1952 = xor i32 %1951, %1936
%1953 = xor i32 %1772, %1744
%1954 = xor i32 %1953, %1856
%1955 = xor i32 %1954, %1920
%1956 = tail call i32 @llvm.fshl.i32(i32 %1955, i32 %1955, i32 1)
%1957 = add i32 %1956, -899497514
%1958 = add i32 %1957, %1925
%1959 = add i32 %1958, %1952
%1960 = add i32 %1959, %1950
%1961 = tail call i32 @llvm.fshl.i32(i32 %1936, i32 %1936, i32 30)
%1962 = tail call i32 @llvm.fshl.i32(i32 %1960, i32 %1960, i32 5)
%1963 = xor i32 %1961, %1949
%1964 = xor i32 %1963, %1948
%1965 = xor i32 %1786, %1758
%1966 = xor i32 %1965, %1870
%1967 = xor i32 %1966, %1932
%1968 = tail call i32 @llvm.fshl.i32(i32 %1967, i32 %1967, i32 1)
%1969 = add i32 %1968, -899497514
%1970 = add i32 %1969, %1937
%1971 = add i32 %1970, %1964
%1972 = add i32 %1971, %1962
%1973 = tail call i32 @llvm.fshl.i32(i32 %1948, i32 %1948, i32 30)
%1974 = tail call i32 @llvm.fshl.i32(i32 %1972, i32 %1972, i32 5)
%1975 = xor i32 %1973, %1961
%1976 = xor i32 %1975, %1960
%1977 = xor i32 %1800, %1772
%1978 = xor i32 %1977, %1884
%1979 = xor i32 %1978, %1944
%1980 = tail call i32 @llvm.fshl.i32(i32 %1979, i32 %1979, i32 1)
%1981 = add i32 %1980, -899497514
%1982 = add i32 %1981, %1949
%1983 = add i32 %1982, %1976
%1984 = add i32 %1983, %1974
%1985 = tail call i32 @llvm.fshl.i32(i32 %1960, i32 %1960, i32 30)
%1986 = tail call i32 @llvm.fshl.i32(i32 %1984, i32 %1984, i32 5)
%1987 = xor i32 %1985, %1973
%1988 = xor i32 %1987, %1972
%1989 = xor i32 %1814, %1786
%1990 = xor i32 %1989, %1896
%1991 = xor i32 %1990, %1956
%1992 = tail call i32 @llvm.fshl.i32(i32 %1991, i32 %1991, i32 1)
%1993 = add i32 %1992, -899497514
%1994 = add i32 %1993, %1961
%1995 = add i32 %1994, %1988
%1996 = add i32 %1995, %1986
%1997 = tail call i32 @llvm.fshl.i32(i32 %1972, i32 %1972, i32 30)
%1998 = tail call i32 @llvm.fshl.i32(i32 %1996, i32 %1996, i32 5)
%1999 = xor i32 %1997, %1985
%2000 = xor i32 %1999, %1984
%2001 = xor i32 %1828, %1800
%2002 = xor i32 %2001, %1908
%2003 = xor i32 %2002, %1968
%2004 = tail call i32 @llvm.fshl.i32(i32 %2003, i32 %2003, i32 1)
%2005 = add i32 %2004, -899497514
%2006 = add i32 %2005, %1973
%2007 = add i32 %2006, %2000
%2008 = add i32 %2007, %1998
%2009 = tail call i32 @llvm.fshl.i32(i32 %1984, i32 %1984, i32 30)
%2010 = tail call i32 @llvm.fshl.i32(i32 %2008, i32 %2008, i32 5)
%2011 = xor i32 %2009, %1997
%2012 = xor i32 %2011, %1996
%2013 = xor i32 %1842, %1814
%2014 = xor i32 %2013, %1920
%2015 = xor i32 %2014, %1980
%2016 = tail call i32 @llvm.fshl.i32(i32 %2015, i32 %2015, i32 1)
%2017 = add i32 %2016, -899497514
%2018 = add i32 %2017, %1985
%2019 = add i32 %2018, %2012
%2020 = add i32 %2019, %2010
%2021 = tail call i32 @llvm.fshl.i32(i32 %1996, i32 %1996, i32 30)
%2022 = tail call i32 @llvm.fshl.i32(i32 %2020, i32 %2020, i32 5)
%2023 = xor i32 %2021, %2009
%2024 = xor i32 %2023, %2008
%2025 = xor i32 %1856, %1828
%2026 = xor i32 %2025, %1932
%2027 = xor i32 %2026, %1992
%2028 = tail call i32 @llvm.fshl.i32(i32 %2027, i32 %2027, i32 1)
%2029 = add i32 %2028, -899497514
%2030 = add i32 %2029, %1997
%2031 = add i32 %2030, %2024
%2032 = add i32 %2031, %2022
%2033 = tail call i32 @llvm.fshl.i32(i32 %2008, i32 %2008, i32 30)
%2034 = tail call i32 @llvm.fshl.i32(i32 %2032, i32 %2032, i32 5)
%2035 = xor i32 %2033, %2021
%2036 = xor i32 %2035, %2020
%2037 = xor i32 %1870, %1842
%2038 = xor i32 %2037, %1944
%2039 = xor i32 %2038, %2004
%2040 = tail call i32 @llvm.fshl.i32(i32 %2039, i32 %2039, i32 1)
%2041 = add i32 %2040, -899497514
%2042 = add i32 %2041, %2009
%2043 = add i32 %2042, %2036
%2044 = add i32 %2043, %2034
%2045 = tail call i32 @llvm.fshl.i32(i32 %2020, i32 %2020, i32 30)
%2046 = tail call i32 @llvm.fshl.i32(i32 %2044, i32 %2044, i32 5)
%2047 = xor i32 %2045, %2033
%2048 = xor i32 %2047, %2032
%2049 = xor i32 %1884, %1856
%2050 = xor i32 %2049, %1956
%2051 = xor i32 %2050, %2016
%2052 = tail call i32 @llvm.fshl.i32(i32 %2051, i32 %2051, i32 1)
%2053 = add i32 %2052, -899497514
%2054 = add i32 %2053, %2021
%2055 = add i32 %2054, %2048
%2056 = add i32 %2055, %2046
%2057 = tail call i32 @llvm.fshl.i32(i32 %2032, i32 %2032, i32 30)
%2058 = tail call i32 @llvm.fshl.i32(i32 %2056, i32 %2056, i32 5)
%2059 = xor i32 %2057, %2045
%2060 = xor i32 %2059, %2044
%2061 = xor i32 %1896, %1870
%2062 = xor i32 %2061, %1968
%2063 = xor i32 %2062, %2028
%2064 = tail call i32 @llvm.fshl.i32(i32 %2063, i32 %2063, i32 1)
%2065 = add i32 %2064, -899497514
%2066 = add i32 %2065, %2033
%2067 = add i32 %2066, %2060
%2068 = add i32 %2067, %2058
%2069 = tail call i32 @llvm.fshl.i32(i32 %2044, i32 %2044, i32 30)
%2070 = tail call i32 @llvm.fshl.i32(i32 %2068, i32 %2068, i32 5)
%2071 = xor i32 %2069, %2057
%2072 = xor i32 %2071, %2056
%2073 = xor i32 %1908, %1884
%2074 = xor i32 %2073, %1980
%2075 = xor i32 %2074, %2040
%2076 = tail call i32 @llvm.fshl.i32(i32 %2075, i32 %2075, i32 1)
%2077 = add i32 %2076, -899497514
%2078 = add i32 %2077, %2045
%2079 = add i32 %2078, %2072
%2080 = add i32 %2079, %2070
%2081 = tail call i32 @llvm.fshl.i32(i32 %2056, i32 %2056, i32 30)
%2082 = tail call i32 @llvm.fshl.i32(i32 %2080, i32 %2080, i32 5)
%2083 = xor i32 %2081, %2069
%2084 = xor i32 %2083, %2068
%2085 = xor i32 %1920, %1896
%2086 = xor i32 %2085, %1992
%2087 = xor i32 %2086, %2052
%2088 = tail call i32 @llvm.fshl.i32(i32 %2087, i32 %2087, i32 1)
%2089 = add i32 %2088, -899497514
%2090 = add i32 %2089, %2057
%2091 = add i32 %2090, %2084
%2092 = add i32 %2091, %2082
%2093 = tail call i32 @llvm.fshl.i32(i32 %2068, i32 %2068, i32 30)
%2094 = tail call i32 @llvm.fshl.i32(i32 %2092, i32 %2092, i32 5)
%2095 = xor i32 %2093, %2081
%2096 = xor i32 %2095, %2080
%2097 = xor i32 %1932, %1908
%2098 = xor i32 %2097, %2004
%2099 = xor i32 %2098, %2064
%2100 = tail call i32 @llvm.fshl.i32(i32 %2099, i32 %2099, i32 1)
%2101 = add i32 %2100, -899497514
%2102 = add i32 %2101, %2069
%2103 = add i32 %2102, %2096
%2104 = add i32 %2103, %2094
%2105 = tail call i32 @llvm.fshl.i32(i32 %2080, i32 %2080, i32 30)
%2106 = tail call i32 @llvm.fshl.i32(i32 %2104, i32 %2104, i32 5)
%2107 = xor i32 %2105, %2093
%2108 = xor i32 %2107, %2092
%2109 = xor i32 %1944, %1920
%2110 = xor i32 %2109, %2016
%2111 = xor i32 %2110, %2076
%2112 = tail call i32 @llvm.fshl.i32(i32 %2111, i32 %2111, i32 1)
%2113 = add i32 %2112, -899497514
%2114 = add i32 %2113, %2081
%2115 = add i32 %2114, %2108
%2116 = add i32 %2115, %2106
%2117 = tail call i32 @llvm.fshl.i32(i32 %2092, i32 %2092, i32 30)
%2118 = tail call i32 @llvm.fshl.i32(i32 %2116, i32 %2116, i32 5)
%2119 = xor i32 %2117, %2105
%2120 = xor i32 %2119, %2104
%2121 = xor i32 %1956, %1932
%2122 = xor i32 %2121, %2028
%2123 = xor i32 %2122, %2088
%2124 = tail call i32 @llvm.fshl.i32(i32 %2123, i32 %2123, i32 1)
%2125 = tail call i32 @llvm.fshl.i32(i32 %2104, i32 %2104, i32 30)
%2126 = load i32, i32* %2
%2127 = add i32 %2126, -899497514
%2128 = add i32 %2127, %2124
%2129 = add i32 %2128, %2093
%2130 = add i32 %2129, %2120
%2131 = add i32 %2130, %2118
%2132 = bitcast i32* %1122 to <4 x i32>*
%2133 = load <4 x i32>, <4 x i32>* %2132
%2134 = insertelement <4 x i32> poison, i32 %2116, i64 0
%2135 = insertelement <4 x i32> %2134, i32 %2125, i64 1
%2136 = insertelement <4 x i32> %2135, i32 %2117, i64 2
%2137 = insertelement <4 x i32> %2136, i32 %2105, i64 3
%2138 = add <4 x i32> %2137, %2133
store i32 %2131, i32* %0
%2139 = getelementptr inbounds i32, i32* %0, i64 1
%2140 = bitcast i32* %2139 to <4 x i32>*
store <4 x i32> %2138, <4 x i32>* %2140
ret void
}