void preproc(const unsigned char *key, unsigned int keylen, unsigned int *state,
             unsigned char var1, unsigned int var4) {
  int i;
  unsigned int W[16], temp;
  unsigned char ipad[20];
  for (i = 0; i < keylen; i++)
    ipad[i] = var1 ^ key[i];
  for (i = keylen; i < 20; i++)
    ipad[i] = var1;
  for (i = 0; i < 5; i++) {
    (W[i]) = ((unsigned long)(ipad)[(i * 4)] << 24) |
             ((unsigned long)(ipad)[(i * 4) + 1] << 16) |
             ((unsigned long)(ipad)[(i * 4) + 2] << 8) |
             ((unsigned long)(ipad)[(i * 4) + 3]);
  };
  for (i = 5; i < 16; i++)
    W[i] = var4;
  unsigned int A = 0x67452301;
  unsigned int B = 0xefcdab89;
  unsigned int C = 0x98badcfe;
  unsigned int D = 0x10325476;
  unsigned int E = 0xc3d2e1f0;
  {
    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)));
  };
  ;
  state[0] = A + 0x67452301;
  state[1] = B + 0xefcdab89;
  state[2] = C + 0x98badcfe;
  state[3] = D + 0x10325476;
  state[4] = E + 0xc3d2e1f0;
}


x86 assembly (clang, -O0):
<preproc>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %cl,%al
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %al,-0x19(%rbp)
mov    %r8d,-0x20(%rbp)
movl   $0x0,-0x24(%rbp)
mov    -0x24(%rbp),%eax
cmp    -0xc(%rbp),%eax
jae    115c <preproc+0x5c>
movzbl -0x19(%rbp),%eax
mov    -0x8(%rbp),%rcx
movslq -0x24(%rbp),%rdx
movzbl (%rcx,%rdx,1),%ecx
xor    %ecx,%eax
mov    %al,%cl
movslq -0x24(%rbp),%rax
mov    %cl,-0x90(%rbp,%rax,1)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1123 <preproc+0x23>
mov    -0xc(%rbp),%eax
mov    %eax,-0x24(%rbp)
cmpl   $0x14,-0x24(%rbp)
jge    1188 <preproc+0x88>
mov    -0x19(%rbp),%cl
movslq -0x24(%rbp),%rax
mov    %cl,-0x90(%rbp,%rax,1)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1162 <preproc+0x62>
movl   $0x0,-0x24(%rbp)
cmpl   $0x5,-0x24(%rbp)
jge    1212 <preproc+0x112>
mov    -0x24(%rbp),%eax
shl    $0x2,%eax
cltq
movzbl -0x90(%rbp,%rax,1),%eax
ff
shl    $0x18,%rax
mov    -0x24(%rbp),%ecx
shl    $0x2,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movzbl -0x90(%rbp,%rcx,1),%ecx
ff
shl    $0x10,%rcx
or     %rcx,%rax
mov    -0x24(%rbp),%ecx
shl    $0x2,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movzbl -0x90(%rbp,%rcx,1),%ecx
ff
shl    $0x8,%rcx
or     %rcx,%rax
mov    -0x24(%rbp),%ecx
shl    $0x2,%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
movzbl -0x90(%rbp,%rcx,1),%ecx
ff
or     %rcx,%rax
mov    %eax,%ecx
movslq -0x24(%rbp),%rax
mov    %ecx,-0x70(%rbp,%rax,4)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    118f <preproc+0x8f>
movl   $0x5,-0x24(%rbp)
cmpl   $0x10,-0x24(%rbp)
jge    123c <preproc+0x13c>
mov    -0x20(%rbp),%ecx
movslq -0x24(%rbp),%rax
mov    %ecx,-0x70(%rbp,%rax,4)
mov    -0x24(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x24(%rbp)
jmp    1219 <preproc+0x119>
movl   $0x67452301,-0x94(%rbp)
23 45 67
movl   $0xefcdab89,-0x98(%rbp)
ab cd ef
movl   $0x98badcfe,-0x9c(%rbp)
dc ba 98
movl   $0x10325476,-0xa0(%rbp)
54 32 10
movl   $0xc3d2e1f0,-0xa4(%rbp)
e1 d2 c3
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0x9c(%rbp),%esi
xor    -0xa0(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x70(%rbp),%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0x98(%rbp),%esi
xor    -0x9c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x6c(%rbp),%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x94(%rbp),%esi
xor    -0x98(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x68(%rbp),%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0xa4(%rbp),%esi
xor    -0x94(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x64(%rbp),%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0xa0(%rbp),%esi
xor    -0xa4(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x60(%rbp),%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0x9c(%rbp),%esi
xor    -0xa0(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x5c(%rbp),%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0x98(%rbp),%esi
xor    -0x9c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x58(%rbp),%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x94(%rbp),%esi
xor    -0x98(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x54(%rbp),%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0xa4(%rbp),%esi
xor    -0x94(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x50(%rbp),%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0xa0(%rbp),%esi
xor    -0xa4(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x4c(%rbp),%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0x9c(%rbp),%esi
xor    -0xa0(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x48(%rbp),%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0x98(%rbp),%esi
xor    -0x9c(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x44(%rbp),%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x94(%rbp),%esi
xor    -0x98(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x40(%rbp),%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0xa4(%rbp),%esi
xor    -0x94(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x3c(%rbp),%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0xa0(%rbp),%esi
xor    -0xa4(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x38(%rbp),%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0x9c(%rbp),%esi
xor    -0xa0(%rbp),%esi
and    %esi,%edx
xor    %edx,%ecx
add    %ecx,%eax
add    $0x5a827999,%eax
add    -0x34(%rbp),%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0x98(%rbp),%esi
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x94(%rbp),%esi
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0xa4(%rbp),%esi
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0xa0(%rbp),%esi
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
and    -0x9c(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0x98(%rbp),%esi
or     -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
and    -0x98(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0x94(%rbp),%esi
or     -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
and    -0x94(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0xa4(%rbp),%esi
or     -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
and    -0xa4(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0xa0(%rbp),%esi
or     -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
and    -0xa0(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x9c(%rbp),%esi
or     -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
and    -0x9c(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0x98(%rbp),%esi
or     -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
and    -0x98(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0x94(%rbp),%esi
or     -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
and    -0x94(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0xa4(%rbp),%esi
or     -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
and    -0xa4(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0xa0(%rbp),%esi
or     -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
and    -0xa0(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x9c(%rbp),%esi
or     -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
and    -0x9c(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0x98(%rbp),%esi
or     -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
and    -0x98(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0x94(%rbp),%esi
or     -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
and    -0x94(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0xa4(%rbp),%esi
or     -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
and    -0xa4(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0xa0(%rbp),%esi
or     -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
and    -0xa0(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x9c(%rbp),%esi
or     -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
and    -0x9c(%rbp),%ecx
mov    -0xa0(%rbp),%edx
mov    -0x98(%rbp),%esi
or     -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
and    -0x98(%rbp),%ecx
mov    -0x9c(%rbp),%edx
mov    -0x94(%rbp),%esi
or     -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
and    -0x94(%rbp),%ecx
mov    -0x98(%rbp),%edx
mov    -0xa4(%rbp),%esi
or     -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
and    -0xa4(%rbp),%ecx
mov    -0x94(%rbp),%edx
mov    -0xa0(%rbp),%esi
or     -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
and    -0xa0(%rbp),%ecx
mov    -0xa4(%rbp),%edx
mov    -0x9c(%rbp),%esi
or     -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x70(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x6c(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x68(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x64(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x60(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x5c(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x58(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x54(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x50(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x4c(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x48(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x5,%eax
mov    -0x94(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x98(%rbp),%ecx
xor    -0x9c(%rbp),%ecx
xor    -0xa0(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x44(%rbp)
add    %ecx,%eax
add    -0xa4(%rbp),%eax
mov    %eax,-0xa4(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x1e,%eax
mov    -0x98(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x5,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x94(%rbp),%ecx
xor    -0x98(%rbp),%ecx
xor    -0x9c(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x40(%rbp)
add    %ecx,%eax
add    -0xa0(%rbp),%eax
mov    %eax,-0xa0(%rbp)
mov    -0x94(%rbp),%eax
shl    $0x1e,%eax
mov    -0x94(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x5,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa4(%rbp),%ecx
xor    -0x94(%rbp),%ecx
xor    -0x98(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x3c(%rbp)
add    %ecx,%eax
add    -0x9c(%rbp),%eax
mov    %eax,-0x9c(%rbp)
mov    -0xa4(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa4(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x5,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0xa0(%rbp),%ecx
xor    -0xa4(%rbp),%ecx
xor    -0x94(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x38(%rbp)
add    %ecx,%eax
add    -0x98(%rbp),%eax
mov    %eax,-0x98(%rbp)
mov    -0xa0(%rbp),%eax
shl    $0x1e,%eax
mov    -0xa0(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0x98(%rbp),%eax
shl    $0x5,%eax
mov    -0x98(%rbp),%ecx
shr    $0x1b,%ecx
or     %ecx,%eax
mov    -0x9c(%rbp),%ecx
xor    -0xa0(%rbp),%ecx
xor    -0xa4(%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,-0x74(%rbp)
mov    -0x74(%rbp),%ecx
shl    $0x1,%ecx
mov    -0x74(%rbp),%edx
shr    $0x1f,%edx
or     %edx,%ecx
mov    %ecx,-0x34(%rbp)
add    %ecx,%eax
add    -0x94(%rbp),%eax
mov    %eax,-0x94(%rbp)
mov    -0x9c(%rbp),%eax
shl    $0x1e,%eax
mov    -0x9c(%rbp),%ecx
shr    $0x2,%ecx
or     %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x94(%rbp),%ecx
add    $0x67452301,%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x98(%rbp),%ecx
add    $0xefcdab89,%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,0x4(%rax)
mov    -0x9c(%rbp),%ecx
add    $0x98badcfe,%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,0x8(%rax)
mov    -0xa0(%rbp),%ecx
add    $0x10325476,%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,0xc(%rax)
mov    -0xa4(%rbp),%ecx
add    $0xc3d2e1f0,%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,0x10(%rax)
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<preproc>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x68,%rsp
mov    %r8d,%r14d
mov    %rdx,0x60(%rsp)
mov    %esi,%r9d
movzbl %cl,%esi
test   %r9d,%r9d
je     1259 <preproc+0x149>
mov    %r9d,%ebp
cmp    $0x8,%r9d
jae    1145 <preproc+0x35>
xor    %edx,%edx
jmp    1240 <preproc+0x130>
cmp    $0x20,%r9d
jae    1152 <preproc+0x42>
xor    %edx,%edx
jmp    1209 <preproc+0xf9>
mov    %ebp,%edx
and    $0xffffffe0,%edx
movd   %esi,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm0
pshufd $0x0,%xmm0,%xmm0
lea    -0x20(%rdx),%rax
mov    %rax,%r8
shr    $0x5,%r8
add    $0x1,%r8
test   %rax,%rax
je     2183 <preproc+0x1073>
mov    %r8,%rax
and    $0xfffffffffffffffe,%rax
xor    %ebx,%ebx
nopw   0x0(%rax,%rax,1)
movdqu (%rdi,%rbx,1),%xmm1
movdqu 0x10(%rdi,%rbx,1),%xmm2
pxor   %xmm0,%xmm1
pxor   %xmm0,%xmm2
movdqa %xmm1,0x40(%rsp,%rbx,1)
movdqa %xmm2,0x50(%rsp,%rbx,1)
movdqu 0x20(%rdi,%rbx,1),%xmm1
movdqu 0x30(%rdi,%rbx,1),%xmm2
pxor   %xmm0,%xmm1
pxor   %xmm0,%xmm2
movdqa %xmm1,0x60(%rsp,%rbx,1)
movdqa %xmm2,0x70(%rsp,%rbx,1)
add    $0x40,%rbx
add    $0xfffffffffffffffe,%rax
jne    1190 <preproc+0x80>
test   $0x1,%r8b
je     11fe <preproc+0xee>
movdqu (%rdi,%rbx,1),%xmm1
movdqu 0x10(%rdi,%rbx,1),%xmm2
pxor   %xmm0,%xmm1
pxor   %xmm0,%xmm2
movdqa %xmm1,0x40(%rsp,%rbx,1)
movdqa %xmm2,0x50(%rsp,%rbx,1)
cmp    %rbp,%rdx
je     1253 <preproc+0x143>
test   $0x18,%bpl
je     1240 <preproc+0x130>
mov    %rdx,%rax
mov    %ebp,%edx
and    $0xfffffff8,%edx
movd   %esi,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm0
xchg   %ax,%ax
movq   (%rdi,%rax,1),%xmm1
pxor   %xmm0,%xmm1
movq   %xmm1,0x40(%rsp,%rax,1)
add    $0x8,%rax
cmp    %rax,%rdx
jne    1220 <preproc+0x110>
cmp    %rbp,%rdx
je     1253 <preproc+0x143>
nopl   (%rax)
movzbl (%rdi,%rdx,1),%eax
xor    %cl,%al
mov    %al,0x40(%rsp,%rdx,1)
add    $0x1,%rdx
cmp    %rdx,%rbp
jne    1240 <preproc+0x130>
cmp    $0x13,%r9d
jg     1275 <preproc+0x165>
movslq %r9d,%rax
lea    (%rsp,%rax,1),%rdi
add    $0x40,%rdi
mov    $0x13,%edx
sub    %r9d,%edx
add    $0x1,%rdx
call   1030 <memset@plt>
mov    0x40(%rsp),%r11d
mov    0x44(%rsp),%r13d
bswap  %r11d
bswap  %r13d
mov    0x48(%rsp),%eax
bswap  %eax
mov    %eax,%r12d
mov    0x4c(%rsp),%eax
bswap  %eax
mov    %eax,%r15d
mov    0x50(%rsp),%eax
bswap  %eax
mov    %eax,%r9d
lea    -0x604b674d(%r11),%esi
mov    %esi,%eax
rol    $0x5,%eax
add    %r13d,%eax
add    $0x66b0cd0d,%eax
mov    %eax,%edx
rol    $0x5,%edx
mov    %esi,%ecx
and    $0x22222222,%ecx
xor    $0x7bf36ae2,%ecx
add    %r12d,%ecx
lea    (%rdx,%rcx,1),%ebp
add    $0xf33d5697,%ebp
rol    $0x1e,%esi
mov    %ebp,%ecx
rol    $0x5,%ecx
mov    %esi,%edx
xor    $0x59d148c0,%edx
and    %eax,%edx
xor    $0x59d148c0,%edx
add    %r15d,%edx
rol    $0x1e,%eax
add    %edx,%ecx
add    $0xd675e47b,%ecx
mov    %ecx,%edx
rol    $0x5,%edx
mov    %eax,%edi
xor    %esi,%edi
and    %ebp,%edi
xor    %esi,%edi
add    %r9d,%edi
lea    (%rdx,%rdi,1),%r8d
add    $0xb453c259,%r8d
rol    $0x1e,%ebp
mov    %r8d,%edi
rol    $0x5,%edi
mov    %ebp,%ebx
xor    %eax,%ebx
and    %ecx,%ebx
xor    %eax,%ebx
add    %r14d,%esi
add    %ebx,%esi
add    %edi,%esi
add    $0x5a827999,%esi
rol    $0x1e,%ecx
mov    %esi,%edi
rol    $0x5,%edi
mov    %ecx,%ebx
xor    %ebp,%ebx
and    %r8d,%ebx
xor    %ebp,%ebx
add    %r14d,%eax
add    %ebx,%eax
lea    (%rdi,%rax,1),%r10d
add    $0x5a827999,%r10d
rol    $0x1e,%r8d
mov    %r10d,%ebx
rol    $0x5,%ebx
mov    %r8d,%edx
xor    %ecx,%edx
and    %esi,%edx
xor    %ecx,%edx
lea    (%r14,%rbp,1),%eax
add    $0x5a827999,%eax
add    %edx,%eax
add    %ebx,%eax
rol    $0x1e,%esi
mov    %eax,%edx
rol    $0x5,%edx
mov    %esi,%ebp
xor    %r8d,%ebp
and    %r10d,%ebp
xor    %r8d,%ebp
add    %r14d,%ecx
add    $0x5a827999,%ecx
add    %ebp,%ecx
add    %edx,%ecx
rol    $0x1e,%r10d
mov    %ecx,%edx
rol    $0x5,%edx
mov    %r10d,%ebx
xor    %esi,%ebx
and    %eax,%ebx
xor    %esi,%ebx
lea    (%r14,%r8,1),%ebp
add    $0x5a827999,%ebp
add    %ebx,%ebp
add    %edx,%ebp
rol    $0x1e,%eax
mov    %ebp,%edx
rol    $0x5,%edx
mov    %eax,%edi
xor    %r10d,%edi
and    %ecx,%edi
xor    %r10d,%edi
lea    (%r14,%rsi,1),%ebx
add    $0x5a827999,%ebx
add    %edi,%ebx
add    %edx,%ebx
rol    $0x1e,%ecx
mov    %ebx,%edx
rol    $0x5,%edx
mov    %ecx,%edi
xor    %eax,%edi
and    %ebp,%edi
xor    %eax,%edi
lea    (%r14,%r10,1),%esi
add    $0x5a827999,%esi
add    %edi,%esi
add    %edx,%esi
rol    $0x1e,%ebp
mov    %esi,%r8d
rol    $0x5,%r8d
mov    %ebp,%edx
xor    %ecx,%edx
and    %ebx,%edx
xor    %ecx,%edx
lea    (%r14,%rax,1),%edi
add    $0x5a827999,%edi
add    %edx,%edi
add    %r8d,%edi
rol    $0x1e,%ebx
mov    %edi,%r8d
rol    $0x5,%r8d
mov    %ebx,%eax
xor    %ebp,%eax
and    %esi,%eax
xor    %ebp,%eax
lea    (%r14,%rcx,1),%edx
add    $0x5a827999,%edx
add    %eax,%edx
add    %r8d,%edx
rol    $0x1e,%esi
mov    %edx,%r8d
rol    $0x5,%r8d
mov    %esi,%eax
xor    %ebx,%eax
and    %edi,%eax
xor    %ebx,%eax
lea    (%r14,%rbp,1),%ecx
add    $0x5a827999,%ecx
add    %eax,%ecx
add    %r8d,%ecx
rol    $0x1e,%edi
mov    %ecx,%r8d
rol    $0x5,%r8d
mov    %edi,%ebp
xor    %esi,%ebp
and    %edx,%ebp
xor    %esi,%ebp
lea    (%r14,%rbx,1),%eax
add    $0x5a827999,%eax
add    %ebp,%eax
rol    $0x1e,%edx
add    %r8d,%eax
mov    %eax,%ebp
rol    $0x5,%ebp
mov    %edx,%ebx
xor    %edi,%ebx
and    %ecx,%ebx
xor    %r12d,%r11d
rol    %r11d
xor    %edi,%ebx
add    %r11d,%esi
mov    %r11,0x20(%rsp)
add    %ebx,%esi
lea    (%rsi,%rbp,1),%r8d
add    $0x5a827999,%r8d
rol    $0x1e,%ecx
mov    %r8d,%ebp
rol    $0x5,%ebp
mov    %ecx,%ebx
xor    %edx,%ebx
and    %eax,%ebx
xor    %edx,%ebx
xor    %r15d,%r13d
rol    %r13d
add    %r13d,%edi
mov    %r13,0x28(%rsp)
add    %ebx,%edi
add    %ebp,%edi
add    $0x5a827999,%edi
rol    $0x1e,%eax
mov    %edi,%ebp
rol    $0x5,%ebp
mov    %eax,%ebx
xor    %ecx,%ebx
and    %r8d,%ebx
xor    %ecx,%ebx
xor    %r9d,%r12d
rol    %r12d
add    %r12d,%edx
mov    %r12d,(%rsp)
add    %ebx,%edx
rol    $0x1e,%r8d
add    %edx,%ebp
add    $0x5a827999,%ebp
mov    %ebp,%edx
rol    $0x5,%edx
mov    %r8d,%ebx
xor    %eax,%ebx
and    %edi,%ebx
xor    %r11d,%r15d
rol    %r15d
xor    %eax,%ebx
add    %r15d,%ecx
add    %ebx,%ecx
add    %edx,%ecx
add    $0x5a827999,%ecx
rol    $0x1e,%edi
mov    %ecx,%edx
rol    $0x5,%edx
mov    %edi,%ebx
xor    %r8d,%ebx
xor    %r13d,%r9d
rol    %r9d
xor    %ebp,%ebx
add    %r9d,%eax
mov    %r9d,0x8(%rsp)
add    %ebx,%eax
add    %edx,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%ebp
mov    %eax,%edx
rol    $0x5,%edx
mov    %ebp,%ebx
xor    %edi,%ebx
xor    %ecx,%ebx
mov    %r12d,%esi
xor    %r14d,%esi
rol    %esi
add    %esi,%r8d
mov    %esi,%r11d
add    %ebx,%r8d
add    %r8d,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%ecx
mov    %ecx,%esi
xor    %ebp,%esi
xor    %eax,%esi
mov    %r15d,%ebx
mov    %r15d,%r12d
mov    %r15d,0x10(%rsp)
xor    %r14d,%ebx
rol    %ebx
add    %ebx,%edi
mov    %ebx,%r10d
mov    %ebx,0x1c(%rsp)
add    %esi,%edi
mov    %edx,%esi
rol    $0x5,%esi
add    %edi,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%eax
mov    %eax,%edi
xor    %ecx,%edi
xor    %edx,%edi
mov    %r9d,%ebx
xor    %r14d,%ebx
rol    %ebx
add    %ebx,%ebp
mov    %ebx,%r9d
mov    %ebx,0x14(%rsp)
add    %edi,%ebp
mov    %esi,%edi
rol    $0x5,%edi
lea    (%rdi,%rbp,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%edx
mov    %edx,%ebp
xor    %eax,%ebp
xor    %esi,%ebp
mov    0x20(%rsp),%rdi
mov    %edi,%r13d
xor    %r11d,%r13d
mov    %r11d,0x4(%rsp)
rol    %r13d
add    %r13d,%ecx
add    %ebp,%ecx
mov    %r8d,%edi
rol    $0x5,%edi
add    %edi,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%esi
mov    %esi,%edi
xor    %edx,%edi
xor    %r8d,%edi
mov    0x28(%rsp),%rbx
mov    %ebx,%ebp
xor    %r10d,%ebp
rol    %ebp
add    %ebp,%eax
mov    %ebp,%r10d
mov    %ebp,0x18(%rsp)
add    %edi,%eax
mov    %ecx,%edi
rol    $0x5,%edi
add    %edi,%eax
add    $0x6ed9eba1,%eax
rol    $0x1e,%r8d
mov    %r8d,%edi
xor    %esi,%edi
xor    %ecx,%edi
mov    (%rsp),%ebp
xor    %r9d,%ebp
rol    %ebp
add    %ebp,%edx
add    %edi,%edx
mov    %eax,%edi
rol    $0x5,%edi
add    %edi,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %r8d,%edi
xor    %eax,%edi
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%esi
add    %edi,%esi
mov    %edx,%edi
rol    $0x5,%edi
add    %edi,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%eax
mov    %eax,%edi
xor    %ecx,%edi
xor    %edx,%edi
mov    0x8(%rsp),%ebx
xor    %r10d,%ebx
rol    %ebx
add    %ebx,%r8d
mov    %ebx,0x3c(%rsp)
add    %edi,%r8d
mov    %esi,%edi
rol    $0x5,%edi
lea    (%rdi,%r8,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%edx
mov    %edx,%r8d
xor    %eax,%r8d
xor    %esi,%r8d
mov    %r11d,%r15d
xor    %ebp,%r15d
rol    %r15d
add    %r15d,%ecx
add    %r8d,%ecx
mov    %r9d,%edi
rol    $0x5,%edi
lea    (%rdi,%rcx,1),%r8d
add    $0x6ed9eba1,%r8d
rol    $0x1e,%esi
mov    %esi,%ecx
xor    %edx,%ecx
xor    %r9d,%ecx
mov    0x20(%rsp),%r10
mov    %r10d,%edi
xor    %r14d,%edi
xor    0x1c(%rsp),%edi
xor    %r12d,%edi
rol    %edi
mov    %edi,0xc(%rsp)
add    %edi,%eax
add    %ecx,%eax
mov    %r8d,%ecx
rol    $0x5,%ecx
rol    $0x1e,%r9d
add    %eax,%ecx
add    $0x6ed9eba1,%ecx
mov    %r9d,%eax
xor    %esi,%eax
xor    %r8d,%eax
mov    0x28(%rsp),%r11
xor    %r11d,%r14d
xor    0x14(%rsp),%r14d
xor    %ebx,%r14d
rol    %r14d
mov    %r14,0x30(%rsp)
add    %r14d,%edx
add    %eax,%edx
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%edx
add    $0x6ed9eba1,%edx
rol    $0x1e,%r8d
mov    %r8d,%eax
xor    %r9d,%eax
xor    %ecx,%eax
mov    %r10,%rdi
mov    (%rsp),%r10d
xor    %r10d,%edi
xor    %r13d,%edi
xor    %r15d,%edi
rol    %edi
mov    %rdi,0x20(%rsp)
add    %edi,%esi
add    %eax,%esi
mov    %edx,%eax
rol    $0x5,%eax
rol    $0x1e,%ecx
add    %eax,%esi
add    $0x6ed9eba1,%esi
mov    %ecx,%eax
xor    %r8d,%eax
xor    %edx,%eax
mov    %r11,%rbx
mov    0x10(%rsp),%r11d
xor    %r11d,%ebx
xor    0x18(%rsp),%ebx
xor    0xc(%rsp),%ebx
rol    %ebx
add    %ebx,%r9d
mov    %rbx,0x28(%rsp)
add    %eax,%r9d
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %ecx,%eax
xor    %esi,%eax
mov    %r10d,%edi
mov    0x8(%rsp),%r10d
xor    %r10d,%edi
xor    %ebp,%edi
xor    0x30(%rsp),%edi
rol    %edi
mov    %edi,(%rsp)
add    %edi,%r8d
add    %eax,%r8d
mov    %r9d,%eax
rol    $0x5,%eax
rol    $0x1e,%esi
add    %r8d,%eax
add    $0x6ed9eba1,%eax
mov    %esi,%r8d
xor    %edx,%r8d
xor    %r9d,%r8d
mov    %r11d,%edi
mov    0x4(%rsp),%r11d
xor    %r11d,%edi
xor    %r12d,%edi
xor    0x20(%rsp),%edi
rol    %edi
add    %edi,%ecx
mov    %edi,%r14d
mov    %edi,0x10(%rsp)
add    %r8d,%ecx
mov    %eax,%edi
rol    $0x5,%edi
add    %edi,%ecx
add    $0x6ed9eba1,%ecx
rol    $0x1e,%r9d
mov    %r9d,%r8d
xor    %esi,%r8d
xor    %eax,%r8d
mov    %r10d,%edi
mov    0x1c(%rsp),%r10d
xor    %r10d,%edi
xor    0x3c(%rsp),%edi
xor    %ebx,%edi
rol    %edi
add    %edi,%edx
mov    %edi,%ebx
mov    %edi,0x8(%rsp)
add    %r8d,%edx
mov    %ecx,%edi
rol    $0x5,%edi
rol    $0x1e,%eax
lea    (%rdi,%rdx,1),%r8d
add    $0x6ed9eba1,%r8d
mov    %eax,%edi
xor    %r9d,%edi
xor    %ecx,%edi
mov    %r11d,%edx
mov    0x14(%rsp),%r11d
xor    %r11d,%edx
xor    %r15d,%edx
xor    (%rsp),%edx
rol    %edx
mov    %edx,0x4(%rsp)
add    %edx,%esi
add    %edi,%esi
mov    %r8d,%edi
rol    $0x5,%edi
add    %edi,%esi
add    $0x6ed9eba1,%esi
rol    $0x1e,%ecx
mov    %ecx,%edi
xor    %eax,%edi
xor    %r8d,%edi
xor    %r13d,%r10d
xor    0xc(%rsp),%r10d
xor    %r14d,%r10d
rol    %r10d
add    %r10d,%r9d
mov    %r10d,%r14d
add    %edi,%r9d
mov    %esi,%edi
rol    $0x5,%edi
rol    $0x1e,%r8d
add    %r9d,%edi
add    $0x6ed9eba1,%edi
mov    %r8d,%r9d
xor    %ecx,%r9d
xor    %esi,%r9d
mov    %r11d,%r10d
mov    0x18(%rsp),%r11d
xor    %r11d,%r10d
xor    0x30(%rsp),%r10d
xor    %ebx,%r10d
rol    %r10d
add    %r10d,%eax
mov    %r10d,0x14(%rsp)
add    %r9d,%eax
mov    %edi,%edx
rol    $0x5,%edx
lea    (%rdx,%rax,1),%r9d
add    $0x6ed9eba1,%r9d
rol    $0x1e,%esi
mov    %edi,%edx
and    %esi,%edx
mov    %edi,%eax
or     %esi,%eax
and    %r8d,%eax
or     %edx,%eax
xor    %ebp,%r13d
xor    0x20(%rsp),%r13d
xor    0x4(%rsp),%r13d
rol    %r13d
add    %r13d,%ecx
add    %eax,%ecx
mov    %r9d,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x8f1bbcdc,%ecx
rol    $0x1e,%edi
mov    %r9d,%eax
and    %edi,%eax
mov    %r9d,%edx
or     %edi,%edx
and    %esi,%edx
or     %eax,%edx
xor    %r12d,%r11d
xor    0x28(%rsp),%r11d
xor    %r14d,%r11d
mov    %r14d,0x1c(%rsp)
rol    %r11d
add    %r11d,%r8d
mov    %r11d,0x18(%rsp)
add    %edx,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%r9d
mov    %ecx,%eax
and    %r9d,%eax
mov    %ecx,%edx
or     %r9d,%edx
and    %edi,%edx
or     %eax,%edx
mov    0x3c(%rsp),%ebx
xor    %ebx,%ebp
xor    (%rsp),%ebp
xor    %r10d,%ebp
rol    %ebp
add    %ebp,%esi
add    %edx,%esi
mov    %r8d,%eax
rol    $0x5,%eax
add    %eax,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%ecx
mov    %r8d,%eax
and    %ecx,%eax
mov    %r8d,%edx
or     %ecx,%edx
and    %r9d,%edx
or     %eax,%edx
xor    %r15d,%r12d
xor    0x10(%rsp),%r12d
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%edi
add    %edx,%edi
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %esi,%eax
and    %r8d,%eax
mov    %esi,%edx
or     %r8d,%edx
and    %ecx,%edx
or     %eax,%edx
mov    0xc(%rsp),%r10d
mov    %ebx,%eax
xor    %r10d,%eax
xor    0x8(%rsp),%eax
xor    %r11d,%eax
rol    %eax
add    %eax,%r9d
mov    %eax,%ebx
mov    %eax,0x3c(%rsp)
add    %edx,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%esi
mov    %edi,%edx
and    %esi,%edx
mov    %edi,%eax
or     %esi,%eax
and    %r8d,%eax
or     %edx,%eax
mov    0x30(%rsp),%r11
xor    %r11d,%r15d
xor    0x4(%rsp),%r15d
xor    %ebp,%r15d
rol    %r15d
add    %r15d,%ecx
add    %eax,%ecx
mov    %r9d,%eax
rol    $0x5,%eax
add    %eax,%ecx
add    $0x8f1bbcdc,%ecx
rol    $0x1e,%edi
mov    %r9d,%eax
and    %edi,%eax
mov    %r9d,%edx
or     %edi,%edx
and    %esi,%edx
or     %eax,%edx
mov    %r10d,%eax
mov    0x20(%rsp),%r10
xor    %r10d,%eax
xor    %r14d,%eax
xor    %r12d,%eax
rol    %eax
mov    %eax,0xc(%rsp)
add    %eax,%r8d
add    %edx,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
add    %eax,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%r9d
mov    %ecx,%eax
and    %r9d,%eax
mov    %ecx,%edx
or     %r9d,%edx
and    %edi,%edx
or     %eax,%edx
mov    %r11,%rax
mov    0x28(%rsp),%r14
xor    %r14d,%eax
xor    0x14(%rsp),%eax
xor    %ebx,%eax
rol    %eax
mov    %rax,0x30(%rsp)
add    %eax,%esi
add    %edx,%esi
mov    %r8d,%eax
rol    $0x5,%eax
add    %eax,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%ecx
mov    %r8d,%eax
and    %ecx,%eax
mov    %r8d,%edx
or     %ecx,%edx
and    %r9d,%edx
or     %eax,%edx
mov    %r10,%rax
mov    (%rsp),%r11d
xor    %r11d,%eax
xor    %r13d,%eax
xor    %r15d,%eax
rol    %eax
mov    %rax,0x20(%rsp)
add    %eax,%edi
add    %edx,%edi
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %esi,%eax
and    %r8d,%eax
mov    %esi,%edx
or     %r8d,%edx
and    %ecx,%edx
or     %eax,%edx
mov    0x10(%rsp),%ebx
xor    %ebx,%r14d
xor    0x18(%rsp),%r14d
xor    0xc(%rsp),%r14d
rol    %r14d
add    %r14d,%r9d
mov    %r14,0x28(%rsp)
add    %edx,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%esi
mov    %edi,%edx
and    %esi,%edx
mov    %edi,%eax
or     %esi,%eax
and    %r8d,%eax
or     %edx,%eax
mov    %r11d,%edx
mov    0x8(%rsp),%r11d
xor    %r11d,%edx
xor    %ebp,%edx
xor    0x30(%rsp),%edx
rol    %edx
mov    %edx,(%rsp)
add    %edx,%ecx
add    %eax,%ecx
mov    %r9d,%eax
rol    $0x5,%eax
lea    (%rax,%rcx,1),%r10d
add    $0x8f1bbcdc,%r10d
rol    $0x1e,%edi
mov    %r9d,%eax
and    %edi,%eax
mov    %r9d,%edx
or     %edi,%edx
and    %esi,%edx
or     %eax,%edx
mov    0x4(%rsp),%ecx
xor    %ecx,%ebx
xor    %r12d,%ebx
xor    0x20(%rsp),%ebx
rol    %ebx
mov    %ebx,0x10(%rsp)
add    %ebx,%r8d
add    %edx,%r8d
mov    %r10d,%eax
rol    $0x5,%eax
add    %eax,%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%r9d
mov    %r10d,%eax
and    %r9d,%eax
mov    %r10d,%edx
or     %r9d,%edx
and    %edi,%edx
or     %eax,%edx
mov    %r11d,%eax
mov    0x1c(%rsp),%r11d
xor    %r11d,%eax
xor    0x3c(%rsp),%eax
xor    %r14d,%eax
rol    %eax
add    %eax,%esi
mov    %eax,%r14d
mov    %eax,0x8(%rsp)
add    %edx,%esi
mov    %r8d,%eax
rol    $0x5,%eax
add    %eax,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%r10d
mov    %r8d,%eax
and    %r10d,%eax
mov    %r8d,%edx
or     %r10d,%edx
and    %r9d,%edx
or     %eax,%edx
mov    %ecx,%eax
mov    0x14(%rsp),%ebx
xor    %ebx,%eax
xor    %r15d,%eax
xor    (%rsp),%eax
rol    %eax
mov    %eax,0x4(%rsp)
add    %eax,%edi
add    %edx,%edi
mov    %esi,%eax
rol    $0x5,%eax
add    %eax,%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%r8d
mov    %esi,%eax
and    %r8d,%eax
mov    %esi,%edx
or     %r8d,%edx
and    %r10d,%edx
or     %eax,%edx
mov    %r11d,%eax
xor    %r13d,%eax
xor    0xc(%rsp),%eax
xor    0x10(%rsp),%eax
rol    %eax
mov    %eax,0x1c(%rsp)
add    %eax,%r9d
add    %edx,%r9d
mov    %edi,%eax
rol    $0x5,%eax
add    %eax,%r9d
add    $0x8f1bbcdc,%r9d
rol    $0x1e,%esi
mov    %edi,%edx
and    %esi,%edx
mov    %edi,%eax
or     %esi,%eax
and    %r8d,%eax
or     %edx,%eax
mov    0x18(%rsp),%r11d
xor    %r11d,%ebx
xor    0x30(%rsp),%ebx
xor    %r14d,%ebx
rol    %ebx
add    %ebx,%r10d
mov    %ebx,%r14d
mov    %ebx,0x14(%rsp)
add    %eax,%r10d
mov    %r9d,%eax
rol    $0x5,%eax
lea    (%rax,%r10,1),%ecx
add    $0x8f1bbcdc,%ecx
rol    $0x1e,%edi
mov    %r9d,%eax
and    %edi,%eax
mov    %r9d,%edx
or     %edi,%edx
and    %esi,%edx
or     %eax,%edx
xor    %ebp,%r13d
xor    0x20(%rsp),%r13d
mov    0x4(%rsp),%eax
xor    %eax,%r13d
rol    %r13d
add    %r13d,%r8d
add    %edx,%r8d
mov    %ecx,%eax
rol    $0x5,%eax
lea    (%rax,%r8,1),%edx
add    $0x8f1bbcdc,%edx
rol    $0x1e,%r9d
mov    %ecx,%r8d
and    %r9d,%r8d
mov    %ecx,%eax
or     %r9d,%eax
and    %edi,%eax
or     %r8d,%eax
mov    %r11d,%ebx
xor    %r12d,%ebx
xor    0x28(%rsp),%ebx
xor    0x1c(%rsp),%ebx
rol    %ebx
add    %ebx,%esi
mov    %ebx,0x18(%rsp)
add    %eax,%esi
mov    %edx,%eax
rol    $0x5,%eax
add    %eax,%esi
add    $0x8f1bbcdc,%esi
rol    $0x1e,%ecx
mov    %edx,%r8d
and    %ecx,%r8d
mov    %edx,%eax
or     %ecx,%eax
and    %r9d,%eax
or     %r8d,%eax
mov    0x3c(%rsp),%r11d
xor    %r11d,%ebp
xor    (%rsp),%ebp
xor    %r14d,%ebp
rol    %ebp
add    %ebp,%edi
add    %eax,%edi
mov    %esi,%eax
rol    $0x5,%eax
lea    (%rax,%rdi,1),%r8d
add    $0x8f1bbcdc,%r8d
rol    $0x1e,%edx
mov    %esi,%eax
and    %edx,%eax
mov    %esi,%edi
or     %edx,%edi
and    %ecx,%edi
or     %eax,%edi
xor    %r15d,%r12d
xor    0x10(%rsp),%r12d
xor    %r13d,%r12d
rol    %r12d
add    %r12d,%r9d
add    %edi,%r9d
mov    %r8d,%eax
rol    $0x5,%eax
lea    (%rax,%r9,1),%edi
add    $0x8f1bbcdc,%edi
rol    $0x1e,%esi
mov    %esi,%r9d
xor    %edx,%r9d
xor    %r8d,%r9d
mov    0xc(%rsp),%r10d
xor    %r10d,%r11d
xor    0x8(%rsp),%r11d
xor    %ebx,%r11d
rol    %r11d
add    %r11d,%ecx
mov    %r11d,%ebx
add    %r9d,%ecx
mov    %edi,%eax
rol    $0x5,%eax
rol    $0x1e,%r8d
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    %r8d,%ecx
xor    %esi,%ecx
xor    %edi,%ecx
mov    0x30(%rsp),%r11
xor    %r11d,%r15d
xor    0x4(%rsp),%r15d
xor    %ebp,%r15d
rol    %r15d
add    %r15d,%edx
add    %ecx,%edx
mov    %eax,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdx,1),%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%edi
mov    %edi,%edx
xor    %r8d,%edx
xor    %eax,%edx
mov    %r10d,%ecx
mov    0x20(%rsp),%r10
xor    %r10d,%ecx
xor    0x1c(%rsp),%ecx
xor    %r12d,%ecx
rol    %ecx
mov    %ecx,0xc(%rsp)
add    %ecx,%esi
add    %edx,%esi
mov    %r9d,%edx
rol    $0x5,%edx
rol    $0x1e,%eax
add    %edx,%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %edi,%edx
xor    %r9d,%edx
mov    0x28(%rsp),%r14
xor    %r14d,%r11d
xor    0x14(%rsp),%r11d
xor    %ebx,%r11d
rol    %r11d
mov    %r11,0x30(%rsp)
add    %r11d,%r8d
add    %edx,%r8d
mov    %esi,%edx
rol    $0x5,%edx
add    %r8d,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%r9d
mov    %r9d,%r8d
xor    %eax,%r8d
xor    %esi,%r8d
mov    %r10,%rcx
mov    (%rsp),%r11d
xor    %r11d,%ecx
xor    %r13d,%ecx
xor    %r15d,%ecx
rol    %ecx
mov    %rcx,0x20(%rsp)
add    %ecx,%edi
add    %r8d,%edi
mov    %edx,%ecx
rol    $0x5,%ecx
rol    $0x1e,%esi
add    %ecx,%edi
add    $0xca62c1d6,%edi
mov    %esi,%r8d
xor    %r9d,%r8d
xor    %edx,%r8d
mov    0x10(%rsp),%r10d
mov    %r14,%rcx
xor    %r10d,%ecx
xor    0x18(%rsp),%ecx
xor    0xc(%rsp),%ecx
rol    %ecx
mov    %rcx,0x28(%rsp)
add    %ecx,%eax
add    %r8d,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rax,1),%r8d
add    $0xca62c1d6,%r8d
rol    $0x1e,%edx
mov    %edx,%eax
xor    %esi,%eax
xor    %edi,%eax
mov    %r11d,%ecx
mov    0x8(%rsp),%r11d
xor    %r11d,%ecx
xor    %ebp,%ecx
xor    0x30(%rsp),%ecx
rol    %ecx
mov    %ecx,(%rsp)
add    %ecx,%r9d
add    %eax,%r9d
mov    %r8d,%eax
rol    $0x5,%eax
rol    $0x1e,%edi
add    %r9d,%eax
add    $0xca62c1d6,%eax
mov    %edi,%r9d
xor    %edx,%r9d
xor    %r8d,%r9d
mov    %r10d,%r14d
mov    0x4(%rsp),%r10d
xor    %r10d,%r14d
xor    %r12d,%r14d
xor    0x20(%rsp),%r14d
rol    %r14d
add    %r14d,%esi
mov    %r14d,0x10(%rsp)
add    %r9d,%esi
mov    %eax,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rsi,1),%r9d
add    $0xca62c1d6,%r9d
rol    $0x1e,%r8d
mov    %r8d,%esi
xor    %edi,%esi
xor    %eax,%esi
mov    %r11d,%ecx
mov    0x1c(%rsp),%r11d
xor    %r11d,%ecx
xor    %ebx,%ecx
xor    0x28(%rsp),%ecx
rol    %ecx
mov    %ecx,0x8(%rsp)
add    %ecx,%edx
add    %esi,%edx
mov    %r9d,%esi
rol    $0x5,%esi
rol    $0x1e,%eax
add    %edx,%esi
add    $0xca62c1d6,%esi
mov    %eax,%edx
xor    %r8d,%edx
xor    %r9d,%edx
mov    %r10d,%ecx
mov    0x14(%rsp),%r10d
xor    %r10d,%ecx
xor    %r15d,%ecx
xor    (%rsp),%ecx
rol    %ecx
mov    %ecx,0x4(%rsp)
add    %ecx,%edi
add    %edx,%edi
mov    %esi,%edx
rol    $0x5,%edx
add    %edi,%edx
add    $0xca62c1d6,%edx
rol    $0x1e,%r9d
mov    %r9d,%edi
xor    %eax,%edi
xor    %esi,%edi
mov    %r11d,%ecx
xor    %r13d,%ecx
xor    0xc(%rsp),%ecx
xor    %r14d,%ecx
rol    %ecx
add    %ecx,%r8d
mov    %ecx,%r14d
add    %edi,%r8d
mov    %edx,%edi
rol    $0x5,%edi
rol    $0x1e,%esi
add    %r8d,%edi
add    $0xca62c1d6,%edi
mov    %esi,%r8d
xor    %r9d,%r8d
xor    %edx,%r8d
mov    %r10d,%ecx
mov    0x18(%rsp),%r11d
xor    %r11d,%ecx
xor    0x30(%rsp),%ecx
xor    0x8(%rsp),%ecx
rol    %ecx
add    %ecx,%eax
mov    %ecx,%r10d
mov    %ecx,0x14(%rsp)
add    %r8d,%eax
mov    %edi,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
rol    $0x1e,%edx
mov    %edx,%ecx
xor    %esi,%ecx
xor    %edi,%ecx
xor    %ebp,%r13d
xor    0x20(%rsp),%r13d
xor    0x4(%rsp),%r13d
rol    %r13d
add    %r13d,%r9d
add    %ecx,%r9d
mov    %eax,%ecx
rol    $0x5,%ecx
rol    $0x1e,%edi
lea    (%rcx,%r9,1),%r8d
add    $0xca62c1d6,%r8d
mov    %edi,%ecx
xor    %edx,%ecx
xor    %eax,%ecx
xor    %r12d,%r11d
xor    0x28(%rsp),%r11d
xor    %r14d,%r11d
rol    %r11d
add    %r11d,%esi
add    %ecx,%esi
mov    %r8d,%ecx
rol    $0x5,%ecx
add    %ecx,%esi
add    $0xca62c1d6,%esi
rol    $0x1e,%eax
xor    %ebx,%ebp
xor    (%rsp),%ebp
mov    %eax,%ecx
xor    %edi,%ecx
xor    %r8d,%ecx
xor    %r10d,%ebp
rol    %ebp
add    %ebp,%edx
add    %ecx,%edx
mov    %esi,%ecx
rol    $0x5,%ecx
add    %ecx,%edx
add    $0xca62c1d6,%edx
xor    %r15d,%r12d
xor    0x10(%rsp),%r12d
xor    %r13d,%r12d
rol    $0x1e,%r8d
mov    %r8d,%ecx
xor    %eax,%ecx
xor    %esi,%ecx
rol    %r12d
add    %r12d,%edi
add    %ecx,%edi
mov    %edx,%ecx
rol    $0x5,%ecx
lea    (%rcx,%rdi,1),%r9d
add    $0xca62c1d6,%r9d
mov    0xc(%rsp),%r10d
mov    %ebx,%edi
xor    %r10d,%edi
xor    0x8(%rsp),%edi
xor    %r11d,%edi
rol    $0x1e,%esi
mov    %esi,%ecx
xor    %r8d,%ecx
xor    %edx,%ecx
rol    %edi
add    %edi,%eax
mov    %edi,%r11d
add    %ecx,%eax
mov    %r9d,%ecx
rol    $0x5,%ecx
add    %ecx,%eax
add    $0xca62c1d6,%eax
mov    0x30(%rsp),%rdi
xor    %edi,%r15d
xor    0x4(%rsp),%r15d
xor    %ebp,%r15d
rol    $0x1e,%edx
rol    %r15d
add    %r8d,%r15d
mov    %edx,%ecx
xor    %esi,%ecx
xor    %r9d,%ecx
add    %ecx,%r15d
mov    %eax,%ecx
rol    $0x5,%ecx
add    %r15d,%ecx
add    $0xca62c1d6,%ecx
mov    0x20(%rsp),%rbx
xor    %r10d,%ebx
xor    %r14d,%ebx
xor    %r12d,%ebx
rol    $0x1e,%r9d
rol    %ebx
add    %esi,%ebx
mov    0x28(%rsp),%rbp
xor    %edi,%ebp
mov    %ecx,%esi
rol    $0x5,%esi
xor    0x14(%rsp),%ebp
xor    %r11d,%ebp
mov    %r9d,%edi
xor    %edx,%edi
xor    %eax,%edi
rol    $0x1e,%eax
rol    %ebp
add    %edi,%ebx
add    %edx,%ebp
mov    %eax,%edx
xor    %r9d,%edx
xor    %ecx,%edx
add    %edx,%ebp
lea    (%rsi,%rbx,1),%edx
add    $0xca62c1d6,%edx
rol    $0x5,%edx
add    %ebp,%edx
add    $0x31a7e4d7,%edx
mov    0x60(%rsp),%rdi
mov    %edx,(%rdi)
lea    (%rsi,%rbx,1),%edx
add    $0xba306d5f,%edx
mov    %edx,0x4(%rdi)
rol    $0x1e,%ecx
add    $0x98badcfe,%ecx
mov    %ecx,0x8(%rdi)
add    $0x10325476,%eax
mov    %eax,0xc(%rdi)
add    $0xc3d2e1f0,%r9d
mov    %r9d,0x10(%rdi)
add    $0x68,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
xor    %ebx,%ebx
test   $0x1,%r8b
jne    11df <preproc+0xcf>
jmp    11fe <preproc+0xee>

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

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