void decomp_8x8(unsigned char *pIn, unsigned char *pOut, int *iIn, int *iOut,
                const int w, const int YUVFlag) {
  short ZigZag[64];
  int temp[64];
  int Zcnt_Flag = 0;
  int Num8_Flag = 0;
  int in_pos = *iIn;
  int out_pos = *iOut;
  int tmp, tmp1, tmp2, tmp3;
  unsigned char header, ZTable[64];
  short tmpl, tmph, half_byte, idx, count;
  unsigned long ZigZag_length = 0, ZT_length, i, j;
  short DeZigZag[64];
  const short a = 11584;
  const short b = 16068;
  const short c = 15136;
  const short d = 13624;
  const short e = 9104;
  const short f = 6270;
  const short g = 3196;
  int out_idx;
  for (i = 0; i < 64; i++) {
    ZigZag[i] = 0;
  }
  header = pIn[in_pos];
  in_pos++;
  ZigZag_length = header & 0x3f;
  ZigZag_length = ZigZag_length + 1;
  Num8_Flag = header & 0x40;
  Zcnt_Flag = header & 0x80;
  if (Zcnt_Flag == 0) {
    ZigZag[0] = pIn[in_pos++];
    tmpl = pIn[in_pos++];
    tmph = tmpl << 8;
    ZigZag[0] = ZigZag[0] | tmph;
    ZigZag[0] = ZigZag[0] << 4;
    ZigZag[0] = ZigZag[0] >> 4;
    if (Num8_Flag) {
      for (i = 1; i < ZigZag_length; i++) {
        ZigZag[i] = pIn[in_pos++];
        ZigZag[i] = ZigZag[i] << 8;
        ZigZag[i] = ZigZag[i] >> 8;
      }
    } else {
      idx = 1;
      half_byte = 0;
      for (i = 1; i < ZigZag_length; i++) {
        if (half_byte == 0) {
          ZigZag[i] = pIn[in_pos++];
          tmpl = pIn[in_pos++];
          tmph = tmpl << 8;
          tmph = tmph & 0x0f00;
          ZigZag[i] = ZigZag[i] | tmph;
          ZigZag[i] = ZigZag[i] << 4;
          ZigZag[i] = ZigZag[i] >> 4;
          half_byte = 1;
        } else {
          ZigZag[i] = pIn[in_pos++];
          ZigZag[i] = ZigZag[i] << 8;
          tmpl = tmpl & 0x00f0;
          ZigZag[i] = ZigZag[i] | tmpl;
          ZigZag[i] = ZigZag[i] >> 4;
          half_byte = 0;
        }
      }
    }
  } else {
    ZT_length = ZigZag_length / 8;
    tmp = ZigZag_length % 8;
    if (tmp > 0) {
      ZT_length = ZT_length + 1;
    }
    for (j = 0; j < ZT_length; j++) {
      ZTable[j] = pIn[in_pos++];
    }
    ZigZag[0] = pIn[in_pos++];
    tmpl = pIn[in_pos++];
    tmph = tmpl << 8;
    ZigZag[0] = ZigZag[0] | tmph;
    ZigZag[0] = ZigZag[0] << 4;
    ZigZag[0] = ZigZag[0] >> 4;
    idx = 0;
    ZTable[idx] = ZTable[idx] << 1;
    count = 7;
    if (Num8_Flag) {
      for (i = 1; i < ZigZag_length; i++) {
        if ((ZTable[idx] & 0x80)) {
          ZigZag[i] = pIn[in_pos++];
          ZigZag[i] = ZigZag[i] << 8;
          ZigZag[i] = ZigZag[i] >> 8;
        }
        ZTable[idx] = ZTable[idx] << 1;
        count--;
        if (count == 0) {
          count = 8;
          idx++;
        }
      }
    } else {
      half_byte = 0;
      for (i = 1; i < ZigZag_length; i++) {
        if (ZTable[idx] & 0x80) {
          if (half_byte == 0) {
            ZigZag[i] = pIn[in_pos++];
            tmpl = pIn[in_pos++];
            tmph = tmpl << 8;
            tmph = tmph & 0x0f00;
            ZigZag[i] = ZigZag[i] | tmph;
            ZigZag[i] = ZigZag[i] << 4;
            ZigZag[i] = ZigZag[i] >> 4;
            half_byte = 1;
          } else {
            ZigZag[i] = pIn[in_pos++];
            ZigZag[i] = ZigZag[i] << 8;
            tmpl = tmpl & 0x00f0;
            ZigZag[i] = ZigZag[i] | tmpl;
            ZigZag[i] = ZigZag[i] >> 4;
            half_byte = 0;
          }
        }
        ZTable[idx] = ZTable[idx] << 1;
        count--;
        if (count == 0) {
          count = 8;
          idx++;
        }
      }
    }
  }
  for (j = 0; j < 64; j++) {
    DeZigZag[j] = 0;
  }
  if (YUVFlag == 1) {
    DeZigZag[0] = ZigZag[0];
    DeZigZag[1] = ZigZag[1] << 1;
    DeZigZag[2] = ZigZag[5] << 1;
    DeZigZag[3] = ZigZag[6] << 2;
    DeZigZag[8] = ZigZag[2] << 1;
    DeZigZag[9] = ZigZag[4] << 1;
    DeZigZag[10] = ZigZag[7] << 1;
    DeZigZag[11] = ZigZag[13] << 2;
    DeZigZag[16] = ZigZag[3] << 1;
    DeZigZag[17] = ZigZag[8] << 1;
    DeZigZag[18] = ZigZag[12] << 2;
    DeZigZag[19] = ZigZag[17] << 2;
    DeZigZag[24] = ZigZag[9] << 2;
    DeZigZag[25] = ZigZag[11] << 2;
    DeZigZag[26] = ZigZag[18] << 2;
    DeZigZag[27] = ZigZag[24] << 3;
  } else {
    DeZigZag[0] = ZigZag[0];
    DeZigZag[1] = ZigZag[1] << 2;
    DeZigZag[2] = ZigZag[5] << 2;
    DeZigZag[3] = ZigZag[6] << 3;
    DeZigZag[8] = ZigZag[2] << 2;
    DeZigZag[9] = ZigZag[4] << 2;
    DeZigZag[10] = ZigZag[7] << 2;
    DeZigZag[11] = ZigZag[13] << 4;
    DeZigZag[16] = ZigZag[3] << 2;
    DeZigZag[17] = ZigZag[8] << 2;
    DeZigZag[18] = ZigZag[12] << 3;
    DeZigZag[19] = ZigZag[17] << 4;
    DeZigZag[24] = ZigZag[9] << 3;
    DeZigZag[25] = ZigZag[11] << 4;
    DeZigZag[26] = ZigZag[18] << 4;
    DeZigZag[27] = ZigZag[24] << 4;
  }
  do {
    tmp1 = ((a)*DeZigZag[0]) + ((c)*DeZigZag[(0) + 2]);
    tmp2 = (b)*DeZigZag[(0) + 1];
    tmp3 = (d)*DeZigZag[(0) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 + tmp3;
    temp[0] = tmp >> 15;
    tmp = tmp1 - tmp2 - tmp3;
    temp[56] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[8]) + ((c)*DeZigZag[(8) + 2]);
    tmp2 = (b)*DeZigZag[(8) + 1];
    tmp3 = (d)*DeZigZag[(8) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 + tmp3;
    temp[1] = tmp >> 15;
    tmp = tmp1 - tmp2 - tmp3;
    temp[57] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[16]) + ((c)*DeZigZag[(16) + 2]);
    tmp2 = (b)*DeZigZag[(16) + 1];
    tmp3 = (d)*DeZigZag[(16) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 + tmp3;
    temp[2] = tmp >> 15;
    tmp = tmp1 - tmp2 - tmp3;
    temp[58] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[24]) + ((c)*DeZigZag[(24) + 2]);
    tmp2 = (b)*DeZigZag[(24) + 1];
    tmp3 = (d)*DeZigZag[(24) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 + tmp3;
    temp[3] = tmp >> 15;
    tmp = tmp1 - tmp2 - tmp3;
    temp[59] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[0]) + ((f)*DeZigZag[(0) + 2]);
    tmp2 = (d)*DeZigZag[(0) + 1];
    tmp3 = (g)*DeZigZag[(0) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[8] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[48] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[8]) + ((f)*DeZigZag[(8) + 2]);
    tmp2 = (d)*DeZigZag[(8) + 1];
    tmp3 = (g)*DeZigZag[(8) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[9] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[49] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[16]) + ((f)*DeZigZag[(16) + 2]);
    tmp2 = (d)*DeZigZag[(16) + 1];
    tmp3 = (g)*DeZigZag[(16) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[10] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[50] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[24]) + ((f)*DeZigZag[(24) + 2]);
    tmp2 = (d)*DeZigZag[(24) + 1];
    tmp3 = (g)*DeZigZag[(24) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[11] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[51] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[0]) + ((-f) * DeZigZag[(0) + 2]);
    tmp2 = (e)*DeZigZag[(0) + 1];
    tmp3 = (b)*DeZigZag[(0) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[16] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[40] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[8]) + ((-f) * DeZigZag[(8) + 2]);
    tmp2 = (e)*DeZigZag[(8) + 1];
    tmp3 = (b)*DeZigZag[(8) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[17] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[41] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[16]) + ((-f) * DeZigZag[(16) + 2]);
    tmp2 = (e)*DeZigZag[(16) + 1];
    tmp3 = (b)*DeZigZag[(16) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[18] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[42] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[24]) + ((-f) * DeZigZag[(24) + 2]);
    tmp2 = (e)*DeZigZag[(24) + 1];
    tmp3 = (b)*DeZigZag[(24) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[19] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[43] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[0]) + ((-c) * DeZigZag[(0) + 2]);
    tmp2 = (g)*DeZigZag[(0) + 1];
    tmp3 = (e)*DeZigZag[(0) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[24] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[32] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[8]) + ((-c) * DeZigZag[(8) + 2]);
    tmp2 = (g)*DeZigZag[(8) + 1];
    tmp3 = (e)*DeZigZag[(8) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[25] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[33] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[16]) + ((-c) * DeZigZag[(16) + 2]);
    tmp2 = (g)*DeZigZag[(16) + 1];
    tmp3 = (e)*DeZigZag[(16) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[26] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[34] = tmp >> 15;
  } while (0);
  do {
    tmp1 = ((a)*DeZigZag[24]) + ((-c) * DeZigZag[(24) + 2]);
    tmp2 = (g)*DeZigZag[(24) + 1];
    tmp3 = (e)*DeZigZag[(24) + 3];
  } while (0);
  do {
    tmp = tmp1 + tmp2 - tmp3;
    temp[27] = tmp >> 15;
    tmp = tmp1 - tmp2 + tmp3;
    temp[35] = tmp >> 15;
  } while (0);
  out_idx = out_pos;
  do {
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (b) + temp[(0) + 2] * (c) +
            temp[(0) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (d) + temp[(0) + 2] * (f) +
            temp[(0) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (e) + temp[(0) + 2] * (-f) +
            temp[(0) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (g) + temp[(0) + 2] * (-c) +
            temp[(0) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (-g) + temp[(0) + 2] * (-c) +
            temp[(0) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (-e) + temp[(0) + 2] * (-f) +
            temp[(0) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (-d) + temp[(0) + 2] * (f) +
            temp[(0) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[0] * (a) + temp[(0) + 1] * (-b) + temp[(0) + 2] * (c) +
            temp[(0) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (b) + temp[(8) + 2] * (c) +
            temp[(8) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (d) + temp[(8) + 2] * (f) +
            temp[(8) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (e) + temp[(8) + 2] * (-f) +
            temp[(8) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (g) + temp[(8) + 2] * (-c) +
            temp[(8) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (-g) + temp[(8) + 2] * (-c) +
            temp[(8) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (-e) + temp[(8) + 2] * (-f) +
            temp[(8) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (-d) + temp[(8) + 2] * (f) +
            temp[(8) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[8] * (a) + temp[(8) + 1] * (-b) + temp[(8) + 2] * (c) +
            temp[(8) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (b) + temp[(16) + 2] * (c) +
            temp[(16) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (d) + temp[(16) + 2] * (f) +
            temp[(16) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (e) + temp[(16) + 2] * (-f) +
            temp[(16) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (g) + temp[(16) + 2] * (-c) +
            temp[(16) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (-g) + temp[(16) + 2] * (-c) +
            temp[(16) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (-e) + temp[(16) + 2] * (-f) +
            temp[(16) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (-d) + temp[(16) + 2] * (f) +
            temp[(16) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[16] * (a) + temp[(16) + 1] * (-b) + temp[(16) + 2] * (c) +
            temp[(16) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (b) + temp[(24) + 2] * (c) +
            temp[(24) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (d) + temp[(24) + 2] * (f) +
            temp[(24) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (e) + temp[(24) + 2] * (-f) +
            temp[(24) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (g) + temp[(24) + 2] * (-c) +
            temp[(24) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (-g) + temp[(24) + 2] * (-c) +
            temp[(24) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (-e) + temp[(24) + 2] * (-f) +
            temp[(24) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (-d) + temp[(24) + 2] * (f) +
            temp[(24) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[24] * (a) + temp[(24) + 1] * (-b) + temp[(24) + 2] * (c) +
            temp[(24) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (b) + temp[(32) + 2] * (c) +
            temp[(32) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (d) + temp[(32) + 2] * (f) +
            temp[(32) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (e) + temp[(32) + 2] * (-f) +
            temp[(32) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (g) + temp[(32) + 2] * (-c) +
            temp[(32) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (-g) + temp[(32) + 2] * (-c) +
            temp[(32) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (-e) + temp[(32) + 2] * (-f) +
            temp[(32) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (-d) + temp[(32) + 2] * (f) +
            temp[(32) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[32] * (a) + temp[(32) + 1] * (-b) + temp[(32) + 2] * (c) +
            temp[(32) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (b) + temp[(40) + 2] * (c) +
            temp[(40) + 3] * (d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[0 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (d) + temp[(40) + 2] * (f) +
            temp[(40) + 3] * (-g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[1 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (e) + temp[(40) + 2] * (-f) +
            temp[(40) + 3] * (-b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[2 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (g) + temp[(40) + 2] * (-c) +
            temp[(40) + 3] * (-e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[3 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (-g) + temp[(40) + 2] * (-c) +
            temp[(40) + 3] * (e);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[4 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (-e) + temp[(40) + 2] * (-f) +
            temp[(40) + 3] * (b);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[5 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (-d) + temp[(40) + 2] * (f) +
            temp[(40) + 3] * (g);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[6 + out_idx] = (unsigned char)tmp;
    } while (0);
    do {
      tmp = temp[40] * (a) + temp[(40) + 1] * (-b) + temp[(40) + 2] * (c) +
            temp[(40) + 3] * (-d);
    } while (0);
    do {
      tmp = tmp >> 15;
      tmp = tmp + 128;
      if (tmp > 255)
        tmp = 255;
      if (tmp < 0)
        tmp = 0;
      pOut[7 + out_idx] = (unsigned char)tmp;
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp1 = ((a)*temp[48]) + ((c)*temp[(48) + 2]);
      tmp2 = (b)*temp[(48) + 1];
      tmp3 = (d)*temp[(48) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(0) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(7) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[48]) + ((f)*temp[(48) + 2]);
      tmp2 = (d)*temp[(48) + 1];
      tmp3 = (g)*temp[(48) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(1) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(6) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[48]) + ((-f) * temp[(48) + 2]);
      tmp2 = (e)*temp[(48) + 1];
      tmp3 = (b)*temp[(48) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(2) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(5) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[48]) + ((-c) * temp[(48) + 2]);
      tmp2 = (g)*temp[(48) + 1];
      tmp3 = (e)*temp[(48) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(3) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(4) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
  } while (0);
  out_idx += w;
  do {
    do {
      tmp1 = ((a)*temp[56]) + ((c)*temp[(56) + 2]);
      tmp2 = (b)*temp[(56) + 1];
      tmp3 = (d)*temp[(56) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(0) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(7) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[56]) + ((f)*temp[(56) + 2]);
      tmp2 = (d)*temp[(56) + 1];
      tmp3 = (g)*temp[(56) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(1) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(6) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[56]) + ((-f) * temp[(56) + 2]);
      tmp2 = (e)*temp[(56) + 1];
      tmp3 = (b)*temp[(56) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(2) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(5) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
    do {
      tmp1 = ((a)*temp[56]) + ((-c) * temp[(56) + 2]);
      tmp2 = (g)*temp[(56) + 1];
      tmp3 = (e)*temp[(56) + 3];
    } while (0);
    do {
      tmp = tmp1 + tmp2 - tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(3) + out_idx] = (unsigned char)tmp;
      } while (0);
      tmp = tmp1 - tmp2 + tmp3;
      do {
        tmp = tmp >> 15;
        tmp = tmp + 128;
        if (tmp > 255)
          tmp = 255;
        if (tmp < 0)
          tmp = 0;
        pOut[(4) + out_idx] = (unsigned char)tmp;
      } while (0);
    } while (0);
  } while (0);
  *iIn = in_pos;
  *iOut = out_pos + 8;
}


x86 assembly (clang, -O0):
<decomp_8x8>:
push   %rbp
mov    %rsp,%rbp
sub    $0x270,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    %rcx,-0x20(%rbp)
mov    %r8d,-0x24(%rbp)
mov    %r9d,-0x28(%rbp)
movl   $0x0,-0x1b4(%rbp)
movl   $0x0,-0x1b8(%rbp)
mov    -0x18(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x1bc(%rbp)
mov    -0x20(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x1c0(%rbp)
movq   $0x0,-0x238(%rbp)
movw   $0x2d40,-0x2d2(%rbp)
40 2d
movw   $0x3ec4,-0x2d4(%rbp)
c4 3e
movw   $0x3b20,-0x2d6(%rbp)
20 3b
movw   $0x3538,-0x2d8(%rbp)
38 35
movw   $0x2390,-0x2da(%rbp)
90 23
movw   $0x187e,-0x2dc(%rbp)
7e 18
movw   $0xc7c,-0x2de(%rbp)
7c 0c
movq   $0x0,-0x248(%rbp)
cmpq   $0x40,-0x248(%rbp)
40
jae    11da <decomp_8x8+0xda>
mov    -0x248(%rbp),%rax
movw   $0x0,-0xb0(%rbp,%rax,2)
mov    -0x248(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x248(%rbp)
jmp    11a4 <decomp_8x8+0xa4>
mov    -0x8(%rbp),%rax
movslq -0x1bc(%rbp),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,-0x1d1(%rbp)
mov    -0x1bc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1bc(%rbp)
movzbl -0x1d1(%rbp),%eax
and    $0x3f,%eax
cltq
mov    %rax,-0x238(%rbp)
mov    -0x238(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x238(%rbp)
movzbl -0x1d1(%rbp),%eax
and    $0x40,%eax
mov    %eax,-0x1b8(%rbp)
movzbl -0x1d1(%rbp),%eax
and    $0x80,%eax
mov    %eax,-0x1b4(%rbp)
cmpl   $0x0,-0x1b4(%rbp)
jne    15b7 <decomp_8x8+0x4b7>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0xb0(%rbp)
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0x222(%rbp)
movswl -0x222(%rbp),%eax
shl    $0x8,%eax
mov    %ax,-0x224(%rbp)
movswl -0xb0(%rbp),%eax
movswl -0x224(%rbp),%ecx
or     %ecx,%eax
mov    %ax,-0xb0(%rbp)
movswl -0xb0(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0xb0(%rbp)
movswl -0xb0(%rbp),%eax
sar    $0x4,%eax
mov    %ax,-0xb0(%rbp)
cmpl   $0x0,-0x1b8(%rbp)
je     139f <decomp_8x8+0x29f>
movq   $0x1,-0x248(%rbp)
mov    -0x248(%rbp),%rax
cmp    -0x238(%rbp),%rax
jae    139a <decomp_8x8+0x29a>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x248(%rbp)
jmp    12f9 <decomp_8x8+0x1f9>
jmp    15b2 <decomp_8x8+0x4b2>
movw   $0x1,-0x228(%rbp)
movw   $0x0,-0x226(%rbp)
movq   $0x1,-0x248(%rbp)
mov    -0x248(%rbp),%rax
cmp    -0x238(%rbp),%rax
jae    15ad <decomp_8x8+0x4ad>
movswl -0x226(%rbp),%eax
cmp    $0x0,%eax
jne    14d5 <decomp_8x8+0x3d5>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0x222(%rbp)
movswl -0x222(%rbp),%eax
shl    $0x8,%eax
mov    %ax,-0x224(%rbp)
movswl -0x224(%rbp),%eax
and    $0xf00,%eax
mov    %ax,-0x224(%rbp)
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
movswl -0x224(%rbp),%ecx
or     %ecx,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movw   $0x1,-0x226(%rbp)
jmp    1591 <decomp_8x8+0x491>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movswl -0x222(%rbp),%eax
and    $0xf0,%eax
mov    %ax,-0x222(%rbp)
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
movswl -0x222(%rbp),%ecx
or     %ecx,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movw   $0x0,-0x226(%rbp)
jmp    1596 <decomp_8x8+0x496>
mov    -0x248(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x248(%rbp)
jmp    13bc <decomp_8x8+0x2bc>
jmp    15b2 <decomp_8x8+0x4b2>
jmp    1af3 <decomp_8x8+0x9f3>
mov    -0x238(%rbp),%rax
shr    $0x3,%rax
mov    %rax,-0x240(%rbp)
mov    -0x238(%rbp),%rax
and    $0x7,%rax
mov    %eax,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jle    15f9 <decomp_8x8+0x4f9>
mov    -0x240(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x240(%rbp)
movq   $0x0,-0x250(%rbp)
mov    -0x250(%rbp),%rax
cmp    -0x240(%rbp),%rax
jae    1658 <decomp_8x8+0x558>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
mov    (%rax,%rcx,1),%cl
mov    -0x250(%rbp),%rax
mov    %cl,-0x220(%rbp,%rax,1)
mov    -0x250(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x250(%rbp)
jmp    1604 <decomp_8x8+0x504>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0xb0(%rbp)
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0x222(%rbp)
movswl -0x222(%rbp),%eax
shl    $0x8,%eax
mov    %ax,-0x224(%rbp)
movswl -0xb0(%rbp),%eax
movswl -0x224(%rbp),%ecx
or     %ecx,%eax
mov    %ax,-0xb0(%rbp)
movswl -0xb0(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0xb0(%rbp)
movswl -0xb0(%rbp),%eax
sar    $0x4,%eax
mov    %ax,-0xb0(%rbp)
movw   $0x0,-0x228(%rbp)
movswq -0x228(%rbp),%rax
ff
movzbl -0x220(%rbp,%rax,1),%eax
shl    $0x1,%eax
mov    %al,%cl
movswq -0x228(%rbp),%rax
ff
mov    %cl,-0x220(%rbp,%rax,1)
movw   $0x7,-0x22a(%rbp)
cmpl   $0x0,-0x1b8(%rbp)
je     1860 <decomp_8x8+0x760>
movq   $0x1,-0x248(%rbp)
mov    -0x248(%rbp),%rax
cmp    -0x238(%rbp),%rax
jae    185b <decomp_8x8+0x75b>
movswq -0x228(%rbp),%rax
ff
movzbl -0x220(%rbp,%rax,1),%eax
ff
and    $0x80,%eax
cmp    $0x0,%eax
je     17de <decomp_8x8+0x6de>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movswq -0x228(%rbp),%rax
ff
movzbl -0x220(%rbp,%rax,1),%eax
ff
shl    $0x1,%eax
mov    %al,%cl
movswq -0x228(%rbp),%rax
ff
mov    %cl,-0x220(%rbp,%rax,1)
mov    -0x22a(%rbp),%ax
add    $0xffff,%ax
mov    %ax,-0x22a(%rbp)
movswl -0x22a(%rbp),%eax
cmp    $0x0,%eax
jne    183f <decomp_8x8+0x73f>
movw   $0x8,-0x22a(%rbp)
mov    -0x228(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x228(%rbp)
jmp    1844 <decomp_8x8+0x744>
mov    -0x248(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x248(%rbp)
jmp    1736 <decomp_8x8+0x636>
jmp    1aee <decomp_8x8+0x9ee>
movw   $0x0,-0x226(%rbp)
movq   $0x1,-0x248(%rbp)
mov    -0x248(%rbp),%rax
cmp    -0x238(%rbp),%rax
jae    1ae9 <decomp_8x8+0x9e9>
movswq -0x228(%rbp),%rax
ff
movzbl -0x220(%rbp,%rax,1),%eax
ff
and    $0x80,%eax
cmp    $0x0,%eax
je     1a6c <decomp_8x8+0x96c>
movswl -0x226(%rbp),%eax
cmp    $0x0,%eax
jne    19ab <decomp_8x8+0x8ab>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,-0x222(%rbp)
movswl -0x222(%rbp),%eax
shl    $0x8,%eax
mov    %ax,-0x224(%rbp)
movswl -0x224(%rbp),%eax
and    $0xf00,%eax
mov    %ax,-0x224(%rbp)
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
movswl -0x224(%rbp),%ecx
or     %ecx,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movw   $0x1,-0x226(%rbp)
jmp    1a67 <decomp_8x8+0x967>
mov    -0x8(%rbp),%rax
mov    -0x1bc(%rbp),%ecx
mov    %ecx,%edx
add    $0x1,%edx
mov    %edx,-0x1bc(%rbp)
movslq %ecx,%rcx
movzbl (%rax,%rcx,1),%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
shl    $0x8,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movswl -0x222(%rbp),%eax
and    $0xf0,%eax
mov    %ax,-0x222(%rbp)
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
movswl -0x222(%rbp),%ecx
or     %ecx,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
mov    -0x248(%rbp),%rax
movswl -0xb0(%rbp,%rax,2),%eax
ff
sar    $0x4,%eax
mov    %ax,%cx
mov    -0x248(%rbp),%rax
mov    %cx,-0xb0(%rbp,%rax,2)
ff
movw   $0x0,-0x226(%rbp)
jmp    1a6c <decomp_8x8+0x96c>
movswq -0x228(%rbp),%rax
ff
movzbl -0x220(%rbp,%rax,1),%eax
ff
shl    $0x1,%eax
mov    %al,%cl
movswq -0x228(%rbp),%rax
ff
mov    %cl,-0x220(%rbp,%rax,1)
mov    -0x22a(%rbp),%ax
add    $0xffff,%ax
mov    %ax,-0x22a(%rbp)
movswl -0x22a(%rbp),%eax
cmp    $0x0,%eax
jne    1acd <decomp_8x8+0x9cd>
movw   $0x8,-0x22a(%rbp)
mov    -0x228(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x228(%rbp)
jmp    1ad2 <decomp_8x8+0x9d2>
mov    -0x248(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x248(%rbp)
jmp    1874 <decomp_8x8+0x774>
jmp    1aee <decomp_8x8+0x9ee>
jmp    1af3 <decomp_8x8+0x9f3>
movq   $0x0,-0x250(%rbp)
cmpq   $0x40,-0x250(%rbp)
40
jae    1b34 <decomp_8x8+0xa34>
mov    -0x250(%rbp),%rax
movw   $0x0,-0x2d0(%rbp,%rax,2)
mov    -0x250(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x250(%rbp)
jmp    1afe <decomp_8x8+0x9fe>
cmpl   $0x1,-0x28(%rbp)
jne    1c4d <decomp_8x8+0xb4d>
mov    -0xb0(%rbp),%ax
mov    %ax,-0x2d0(%rbp)
movswl -0xae(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2ce(%rbp)
movswl -0xa6(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2cc(%rbp)
movswl -0xa4(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2ca(%rbp)
movswl -0xac(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2c0(%rbp)
movswl -0xa8(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2be(%rbp)
movswl -0xa2(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2bc(%rbp)
movswl -0x96(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2ba(%rbp)
movswl -0xaa(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2b0(%rbp)
movswl -0xa0(%rbp),%eax
shl    $0x1,%eax
mov    %ax,-0x2ae(%rbp)
movswl -0x98(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2ac(%rbp)
movswl -0x8e(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2aa(%rbp)
movswl -0x9e(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2a0(%rbp)
movswl -0x9a(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x29e(%rbp)
movswl -0x8c(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x29c(%rbp)
movswl -0x80(%rbp),%eax
shl    $0x3,%eax
mov    %ax,-0x29a(%rbp)
jmp    1d57 <decomp_8x8+0xc57>
mov    -0xb0(%rbp),%ax
mov    %ax,-0x2d0(%rbp)
movswl -0xae(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2ce(%rbp)
movswl -0xa6(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2cc(%rbp)
movswl -0xa4(%rbp),%eax
shl    $0x3,%eax
mov    %ax,-0x2ca(%rbp)
movswl -0xac(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2c0(%rbp)
movswl -0xa8(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2be(%rbp)
movswl -0xa2(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2bc(%rbp)
movswl -0x96(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0x2ba(%rbp)
movswl -0xaa(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2b0(%rbp)
movswl -0xa0(%rbp),%eax
shl    $0x2,%eax
mov    %ax,-0x2ae(%rbp)
movswl -0x98(%rbp),%eax
shl    $0x3,%eax
mov    %ax,-0x2ac(%rbp)
movswl -0x8e(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0x2aa(%rbp)
movswl -0x9e(%rbp),%eax
shl    $0x3,%eax
mov    %ax,-0x2a0(%rbp)
movswl -0x9a(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0x29e(%rbp)
movswl -0x8c(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0x29c(%rbp)
movswl -0x80(%rbp),%eax
shl    $0x4,%eax
mov    %ax,-0x29a(%rbp)
jmp    1d5c <decomp_8x8+0xc5c>
movswl -0x2d0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2cc(%rbp),%ecx
imul   $0x3b20,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ce(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ca(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    1da9 <decomp_8x8+0xca9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1b0(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xd0(%rbp)
jmp    1dfc <decomp_8x8+0xcfc>
movswl -0x2c0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2bc(%rbp),%ecx
imul   $0x3b20,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2be(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ba(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    1e49 <decomp_8x8+0xd49>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1ac(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xcc(%rbp)
jmp    1e9c <decomp_8x8+0xd9c>
movswl -0x2b0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2ac(%rbp),%ecx
imul   $0x3b20,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ae(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2aa(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    1ee9 <decomp_8x8+0xde9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1a8(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xc8(%rbp)
jmp    1f3c <decomp_8x8+0xe3c>
movswl -0x2a0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x29c(%rbp),%ecx
imul   $0x3b20,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x29e(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x29a(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    1f89 <decomp_8x8+0xe89>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1a4(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xc4(%rbp)
jmp    1fdc <decomp_8x8+0xedc>
movswl -0x2d0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2cc(%rbp),%ecx
imul   $0x187e,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ce(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ca(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2029 <decomp_8x8+0xf29>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x190(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xf0(%rbp)
jmp    207c <decomp_8x8+0xf7c>
movswl -0x2c0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2bc(%rbp),%ecx
imul   $0x187e,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2be(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ba(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    20c9 <decomp_8x8+0xfc9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x18c(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xec(%rbp)
jmp    211c <decomp_8x8+0x101c>
movswl -0x2b0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2ac(%rbp),%ecx
imul   $0x187e,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ae(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2aa(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2169 <decomp_8x8+0x1069>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x188(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xe8(%rbp)
jmp    21bc <decomp_8x8+0x10bc>
movswl -0x2a0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x29c(%rbp),%ecx
imul   $0x187e,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x29e(%rbp),%eax
imul   $0x3538,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x29a(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2209 <decomp_8x8+0x1109>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x184(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0xe4(%rbp)
jmp    225c <decomp_8x8+0x115c>
movswl -0x2d0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2cc(%rbp),%ecx
imul   $0xffffe782,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ce(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ca(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    22a9 <decomp_8x8+0x11a9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x170(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x110(%rbp)
jmp    22fc <decomp_8x8+0x11fc>
movswl -0x2c0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2bc(%rbp),%ecx
imul   $0xffffe782,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2be(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ba(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2349 <decomp_8x8+0x1249>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x16c(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x10c(%rbp)
jmp    239c <decomp_8x8+0x129c>
movswl -0x2b0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2ac(%rbp),%ecx
imul   $0xffffe782,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ae(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2aa(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    23e9 <decomp_8x8+0x12e9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x168(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x108(%rbp)
jmp    243c <decomp_8x8+0x133c>
movswl -0x2a0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x29c(%rbp),%ecx
imul   $0xffffe782,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x29e(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x29a(%rbp),%eax
imul   $0x3ec4,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2489 <decomp_8x8+0x1389>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x164(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x104(%rbp)
jmp    24dc <decomp_8x8+0x13dc>
movswl -0x2d0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2cc(%rbp),%ecx
imul   $0xffffc4e0,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ce(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ca(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2529 <decomp_8x8+0x1429>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x150(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x130(%rbp)
jmp    257c <decomp_8x8+0x147c>
movswl -0x2c0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2bc(%rbp),%ecx
imul   $0xffffc4e0,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2be(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2ba(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    25c9 <decomp_8x8+0x14c9>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x14c(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x12c(%rbp)
jmp    261c <decomp_8x8+0x151c>
movswl -0x2b0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x2ac(%rbp),%ecx
imul   $0xffffc4e0,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x2ae(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x2aa(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2669 <decomp_8x8+0x1569>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x148(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x128(%rbp)
jmp    26bc <decomp_8x8+0x15bc>
movswl -0x2a0(%rbp),%eax
imul   $0x2d40,%eax,%eax
movswl -0x29c(%rbp),%ecx
imul   $0xffffc4e0,%ecx,%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
movswl -0x29e(%rbp),%eax
imul   $0xc7c,%eax,%eax
mov    %eax,-0x1cc(%rbp)
movswl -0x29a(%rbp),%eax
imul   $0x2390,%eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2709 <decomp_8x8+0x1609>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x144(%rbp)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x124(%rbp)
mov    -0x1c0(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    2768 <decomp_8x8+0x1668>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0x3ec4,-0x1ac(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x1a8(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x1a4(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    27a1 <decomp_8x8+0x16a1>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    27db <decomp_8x8+0x16db>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    27f2 <decomp_8x8+0x16f2>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2812 <decomp_8x8+0x1712>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0x3538,-0x1ac(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x1a8(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x1a4(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    284b <decomp_8x8+0x174b>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2885 <decomp_8x8+0x1785>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    289c <decomp_8x8+0x179c>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    28bc <decomp_8x8+0x17bc>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0x2390,-0x1ac(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x1a8(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x1a4(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    28f5 <decomp_8x8+0x17f5>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    292f <decomp_8x8+0x182f>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2946 <decomp_8x8+0x1846>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2966 <decomp_8x8+0x1866>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0xc7c,-0x1ac(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x1a8(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x1a4(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    299f <decomp_8x8+0x189f>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    29d9 <decomp_8x8+0x18d9>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    29f0 <decomp_8x8+0x18f0>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2a10 <decomp_8x8+0x1910>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0xfffff384,-0x1ac(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x1a8(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x1a4(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2a49 <decomp_8x8+0x1949>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2a83 <decomp_8x8+0x1983>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2a9a <decomp_8x8+0x199a>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2aba <decomp_8x8+0x19ba>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0xffffdc70,-0x1ac(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x1a8(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x1a4(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2af3 <decomp_8x8+0x19f3>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2b2d <decomp_8x8+0x1a2d>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2b44 <decomp_8x8+0x1a44>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2b64 <decomp_8x8+0x1a64>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0xffffcac8,-0x1ac(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x1a8(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x1a4(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2b9d <decomp_8x8+0x1a9d>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2bd7 <decomp_8x8+0x1ad7>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2bee <decomp_8x8+0x1aee>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2c0e <decomp_8x8+0x1b0e>
imul   $0x2d40,-0x1b0(%rbp),%eax
imul   $0xffffc13c,-0x1ac(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x1a8(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x1a4(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2c47 <decomp_8x8+0x1b47>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2c81 <decomp_8x8+0x1b81>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2c98 <decomp_8x8+0x1b98>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2cb8 <decomp_8x8+0x1bb8>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    2ccc <decomp_8x8+0x1bcc>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0x3ec4,-0x18c(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x188(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x184(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2d05 <decomp_8x8+0x1c05>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2d3f <decomp_8x8+0x1c3f>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2d56 <decomp_8x8+0x1c56>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2d76 <decomp_8x8+0x1c76>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0x3538,-0x18c(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x188(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x184(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2daf <decomp_8x8+0x1caf>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2de9 <decomp_8x8+0x1ce9>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2e00 <decomp_8x8+0x1d00>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2e20 <decomp_8x8+0x1d20>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0x2390,-0x18c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x188(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x184(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2e59 <decomp_8x8+0x1d59>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2e93 <decomp_8x8+0x1d93>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2eaa <decomp_8x8+0x1daa>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2eca <decomp_8x8+0x1dca>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0xc7c,-0x18c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x188(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x184(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2f03 <decomp_8x8+0x1e03>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2f3d <decomp_8x8+0x1e3d>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2f54 <decomp_8x8+0x1e54>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    2f74 <decomp_8x8+0x1e74>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0xfffff384,-0x18c(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x188(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x184(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2fad <decomp_8x8+0x1ead>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    2fe7 <decomp_8x8+0x1ee7>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    2ffe <decomp_8x8+0x1efe>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    301e <decomp_8x8+0x1f1e>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0xffffdc70,-0x18c(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x188(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x184(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3057 <decomp_8x8+0x1f57>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3091 <decomp_8x8+0x1f91>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    30a8 <decomp_8x8+0x1fa8>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    30c8 <decomp_8x8+0x1fc8>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0xffffcac8,-0x18c(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x188(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x184(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3101 <decomp_8x8+0x2001>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    313b <decomp_8x8+0x203b>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3152 <decomp_8x8+0x2052>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3172 <decomp_8x8+0x2072>
imul   $0x2d40,-0x190(%rbp),%eax
imul   $0xffffc13c,-0x18c(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x188(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x184(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    31ab <decomp_8x8+0x20ab>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    31e5 <decomp_8x8+0x20e5>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    31fc <decomp_8x8+0x20fc>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    321c <decomp_8x8+0x211c>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    3230 <decomp_8x8+0x2130>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0x3ec4,-0x16c(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x168(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x164(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3269 <decomp_8x8+0x2169>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    32a3 <decomp_8x8+0x21a3>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    32ba <decomp_8x8+0x21ba>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    32da <decomp_8x8+0x21da>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0x3538,-0x16c(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x168(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x164(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3313 <decomp_8x8+0x2213>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    334d <decomp_8x8+0x224d>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3364 <decomp_8x8+0x2264>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3384 <decomp_8x8+0x2284>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0x2390,-0x16c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x168(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x164(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    33bd <decomp_8x8+0x22bd>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    33f7 <decomp_8x8+0x22f7>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    340e <decomp_8x8+0x230e>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    342e <decomp_8x8+0x232e>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0xc7c,-0x16c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x168(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x164(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3467 <decomp_8x8+0x2367>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    34a1 <decomp_8x8+0x23a1>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    34b8 <decomp_8x8+0x23b8>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    34d8 <decomp_8x8+0x23d8>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0xfffff384,-0x16c(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x168(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x164(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3511 <decomp_8x8+0x2411>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    354b <decomp_8x8+0x244b>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3562 <decomp_8x8+0x2462>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3582 <decomp_8x8+0x2482>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0xffffdc70,-0x16c(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x168(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x164(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    35bb <decomp_8x8+0x24bb>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    35f5 <decomp_8x8+0x24f5>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    360c <decomp_8x8+0x250c>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    362c <decomp_8x8+0x252c>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0xffffcac8,-0x16c(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x168(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x164(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3665 <decomp_8x8+0x2565>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    369f <decomp_8x8+0x259f>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    36b6 <decomp_8x8+0x25b6>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    36d6 <decomp_8x8+0x25d6>
imul   $0x2d40,-0x170(%rbp),%eax
imul   $0xffffc13c,-0x16c(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x168(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x164(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    370f <decomp_8x8+0x260f>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3749 <decomp_8x8+0x2649>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3760 <decomp_8x8+0x2660>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3780 <decomp_8x8+0x2680>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    3794 <decomp_8x8+0x2694>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0x3ec4,-0x14c(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x148(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x144(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    37cd <decomp_8x8+0x26cd>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3807 <decomp_8x8+0x2707>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    381e <decomp_8x8+0x271e>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    383e <decomp_8x8+0x273e>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0x3538,-0x14c(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x148(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x144(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3877 <decomp_8x8+0x2777>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    38b1 <decomp_8x8+0x27b1>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    38c8 <decomp_8x8+0x27c8>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    38e8 <decomp_8x8+0x27e8>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0x2390,-0x14c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x148(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x144(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3921 <decomp_8x8+0x2821>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    395b <decomp_8x8+0x285b>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3972 <decomp_8x8+0x2872>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3992 <decomp_8x8+0x2892>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0xc7c,-0x14c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x148(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x144(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    39cb <decomp_8x8+0x28cb>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3a05 <decomp_8x8+0x2905>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3a1c <decomp_8x8+0x291c>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3a3c <decomp_8x8+0x293c>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0xfffff384,-0x14c(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x148(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x144(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3a75 <decomp_8x8+0x2975>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3aaf <decomp_8x8+0x29af>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3ac6 <decomp_8x8+0x29c6>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3ae6 <decomp_8x8+0x29e6>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0xffffdc70,-0x14c(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x148(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x144(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3b1f <decomp_8x8+0x2a1f>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3b59 <decomp_8x8+0x2a59>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3b70 <decomp_8x8+0x2a70>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3b90 <decomp_8x8+0x2a90>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0xffffcac8,-0x14c(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x148(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x144(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3bc9 <decomp_8x8+0x2ac9>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3c03 <decomp_8x8+0x2b03>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3c1a <decomp_8x8+0x2b1a>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3c3a <decomp_8x8+0x2b3a>
imul   $0x2d40,-0x150(%rbp),%eax
imul   $0xffffc13c,-0x14c(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x148(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x144(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3c73 <decomp_8x8+0x2b73>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3cad <decomp_8x8+0x2bad>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3cc4 <decomp_8x8+0x2bc4>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3ce4 <decomp_8x8+0x2be4>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    3cf8 <decomp_8x8+0x2bf8>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0x3ec4,-0x12c(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x128(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x124(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3d31 <decomp_8x8+0x2c31>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3d6b <decomp_8x8+0x2c6b>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3d82 <decomp_8x8+0x2c82>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3da2 <decomp_8x8+0x2ca2>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0x3538,-0x12c(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x128(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x124(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3ddb <decomp_8x8+0x2cdb>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3e15 <decomp_8x8+0x2d15>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3e2c <decomp_8x8+0x2d2c>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3e4c <decomp_8x8+0x2d4c>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0x2390,-0x12c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x128(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x124(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3e85 <decomp_8x8+0x2d85>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3ebf <decomp_8x8+0x2dbf>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3ed6 <decomp_8x8+0x2dd6>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3ef6 <decomp_8x8+0x2df6>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0xc7c,-0x12c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x128(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x124(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3f2f <decomp_8x8+0x2e2f>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    3f69 <decomp_8x8+0x2e69>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    3f80 <decomp_8x8+0x2e80>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    3fa0 <decomp_8x8+0x2ea0>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0xfffff384,-0x12c(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x128(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x124(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    3fd9 <decomp_8x8+0x2ed9>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4013 <decomp_8x8+0x2f13>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    402a <decomp_8x8+0x2f2a>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    404a <decomp_8x8+0x2f4a>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0xffffdc70,-0x12c(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x128(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x124(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    4083 <decomp_8x8+0x2f83>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    40bd <decomp_8x8+0x2fbd>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    40d4 <decomp_8x8+0x2fd4>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    40f4 <decomp_8x8+0x2ff4>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0xffffcac8,-0x12c(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x128(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x124(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    412d <decomp_8x8+0x302d>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4167 <decomp_8x8+0x3067>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    417e <decomp_8x8+0x307e>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    419e <decomp_8x8+0x309e>
imul   $0x2d40,-0x130(%rbp),%eax
imul   $0xffffc13c,-0x12c(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x128(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x124(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    41d7 <decomp_8x8+0x30d7>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4211 <decomp_8x8+0x3111>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4228 <decomp_8x8+0x3128>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4248 <decomp_8x8+0x3148>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    425c <decomp_8x8+0x315c>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0x3ec4,-0x10c(%rbp),%ecx
add    %ecx,%eax
imul   $0x3b20,-0x108(%rbp),%ecx
add    %ecx,%eax
imul   $0x3538,-0x104(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    4295 <decomp_8x8+0x3195>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    42cf <decomp_8x8+0x31cf>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    42e6 <decomp_8x8+0x31e6>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4306 <decomp_8x8+0x3206>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0x3538,-0x10c(%rbp),%ecx
add    %ecx,%eax
imul   $0x187e,-0x108(%rbp),%ecx
add    %ecx,%eax
imul   $0xfffff384,-0x104(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    433f <decomp_8x8+0x323f>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4379 <decomp_8x8+0x3279>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4390 <decomp_8x8+0x3290>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    43b0 <decomp_8x8+0x32b0>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0x2390,-0x10c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffe782,-0x108(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0xffffc13c,-0x104(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    43e9 <decomp_8x8+0x32e9>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4423 <decomp_8x8+0x3323>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    443a <decomp_8x8+0x333a>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    445a <decomp_8x8+0x335a>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0xc7c,-0x10c(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffc4e0,-0x108(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0xffffdc70,-0x104(%rbp),%ecx
dc ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    4493 <decomp_8x8+0x3393>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    44cd <decomp_8x8+0x33cd>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    44e4 <decomp_8x8+0x33e4>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4504 <decomp_8x8+0x3404>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0xfffff384,-0x10c(%rbp),%ecx
f3 ff ff
add    %ecx,%eax
imul   $0xffffc4e0,-0x108(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
imul   $0x2390,-0x104(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    453d <decomp_8x8+0x343d>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4577 <decomp_8x8+0x3477>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    458e <decomp_8x8+0x348e>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    45ae <decomp_8x8+0x34ae>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0xffffdc70,-0x10c(%rbp),%ecx
dc ff ff
add    %ecx,%eax
imul   $0xffffe782,-0x108(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
imul   $0x3ec4,-0x104(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    45e7 <decomp_8x8+0x34e7>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4621 <decomp_8x8+0x3521>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4638 <decomp_8x8+0x3538>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4658 <decomp_8x8+0x3558>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0xffffcac8,-0x10c(%rbp),%ecx
ca ff ff
add    %ecx,%eax
imul   $0x187e,-0x108(%rbp),%ecx
add    %ecx,%eax
imul   $0xc7c,-0x104(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    4691 <decomp_8x8+0x3591>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    46cb <decomp_8x8+0x35cb>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    46e2 <decomp_8x8+0x35e2>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4702 <decomp_8x8+0x3602>
imul   $0x2d40,-0x110(%rbp),%eax
imul   $0xffffc13c,-0x10c(%rbp),%ecx
c1 ff ff
add    %ecx,%eax
imul   $0x3b20,-0x108(%rbp),%ecx
add    %ecx,%eax
imul   $0xffffcac8,-0x104(%rbp),%ecx
ca ff ff
add    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
jmp    473b <decomp_8x8+0x363b>
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4775 <decomp_8x8+0x3675>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    478c <decomp_8x8+0x368c>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    47ac <decomp_8x8+0x36ac>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    47c0 <decomp_8x8+0x36c0>
imul   $0x2d40,-0xf0(%rbp),%eax
imul   $0x3b20,-0xe8(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x3ec4,-0xec(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x3538,-0xe4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4801 <decomp_8x8+0x3701>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4853 <decomp_8x8+0x3753>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    486a <decomp_8x8+0x376a>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    48d7 <decomp_8x8+0x37d7>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    48ee <decomp_8x8+0x37ee>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    490e <decomp_8x8+0x380e>
jmp    4913 <decomp_8x8+0x3813>
imul   $0x2d40,-0xf0(%rbp),%eax
imul   $0x187e,-0xe8(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x3538,-0xec(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0xc7c,-0xe4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4954 <decomp_8x8+0x3854>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    49a6 <decomp_8x8+0x38a6>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    49bd <decomp_8x8+0x38bd>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4a2a <decomp_8x8+0x392a>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4a41 <decomp_8x8+0x3941>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4a61 <decomp_8x8+0x3961>
jmp    4a66 <decomp_8x8+0x3966>
imul   $0x2d40,-0xf0(%rbp),%eax
imul   $0xffffe782,-0xe8(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x2390,-0xec(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x3ec4,-0xe4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4aa7 <decomp_8x8+0x39a7>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4af9 <decomp_8x8+0x39f9>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4b10 <decomp_8x8+0x3a10>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4b7d <decomp_8x8+0x3a7d>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4b94 <decomp_8x8+0x3a94>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4bb4 <decomp_8x8+0x3ab4>
jmp    4bb9 <decomp_8x8+0x3ab9>
imul   $0x2d40,-0xf0(%rbp),%eax
imul   $0xffffc4e0,-0xe8(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0xc7c,-0xec(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x2390,-0xe4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4bfa <decomp_8x8+0x3afa>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4c4c <decomp_8x8+0x3b4c>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4c63 <decomp_8x8+0x3b63>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4cd0 <decomp_8x8+0x3bd0>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4ce7 <decomp_8x8+0x3be7>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4d07 <decomp_8x8+0x3c07>
jmp    4d0c <decomp_8x8+0x3c0c>
mov    -0x24(%rbp),%eax
add    -0x2e4(%rbp),%eax
mov    %eax,-0x2e4(%rbp)
jmp    4d20 <decomp_8x8+0x3c20>
imul   $0x2d40,-0xd0(%rbp),%eax
imul   $0x3b20,-0xc8(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x3ec4,-0xcc(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x3538,-0xc4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4d61 <decomp_8x8+0x3c61>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4db3 <decomp_8x8+0x3cb3>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4dca <decomp_8x8+0x3cca>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x0,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4e37 <decomp_8x8+0x3d37>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4e4e <decomp_8x8+0x3d4e>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x7,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4e6e <decomp_8x8+0x3d6e>
jmp    4e73 <decomp_8x8+0x3d73>
imul   $0x2d40,-0xd0(%rbp),%eax
imul   $0x187e,-0xc8(%rbp),%ecx
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x3538,-0xcc(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0xc7c,-0xc4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    4eb4 <decomp_8x8+0x3db4>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4f06 <decomp_8x8+0x3e06>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4f1d <decomp_8x8+0x3e1d>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    4f8a <decomp_8x8+0x3e8a>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    4fa1 <decomp_8x8+0x3ea1>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x6,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    4fc1 <decomp_8x8+0x3ec1>
jmp    4fc6 <decomp_8x8+0x3ec6>
imul   $0x2d40,-0xd0(%rbp),%eax
imul   $0xffffe782,-0xc8(%rbp),%ecx
e7 ff ff
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0x2390,-0xcc(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x3ec4,-0xc4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    5007 <decomp_8x8+0x3f07>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    5059 <decomp_8x8+0x3f59>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    5070 <decomp_8x8+0x3f70>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    50dd <decomp_8x8+0x3fdd>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    50f4 <decomp_8x8+0x3ff4>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x5,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    5114 <decomp_8x8+0x4014>
jmp    5119 <decomp_8x8+0x4019>
imul   $0x2d40,-0xd0(%rbp),%eax
imul   $0xffffc4e0,-0xc8(%rbp),%ecx
c4 ff ff
add    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
imul   $0xc7c,-0xcc(%rbp),%eax
mov    %eax,-0x1cc(%rbp)
imul   $0x2390,-0xc4(%rbp),%eax
mov    %eax,-0x1d0(%rbp)
jmp    515a <decomp_8x8+0x405a>
mov    -0x1c8(%rbp),%eax
add    -0x1cc(%rbp),%eax
sub    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    51ac <decomp_8x8+0x40ac>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    51c3 <decomp_8x8+0x40c3>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x3,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
mov    -0x1c8(%rbp),%eax
sub    -0x1cc(%rbp),%eax
add    -0x1d0(%rbp),%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
sar    $0xf,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
add    $0x80,%eax
mov    %eax,-0x1c4(%rbp)
cmpl   $0xff,-0x1c4(%rbp)
jle    5230 <decomp_8x8+0x4130>
movl   $0xff,-0x1c4(%rbp)
cmpl   $0x0,-0x1c4(%rbp)
jge    5247 <decomp_8x8+0x4147>
movl   $0x0,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %al,%dl
mov    -0x10(%rbp),%rax
mov    -0x2e4(%rbp),%ecx
add    $0x4,%ecx
movslq %ecx,%rcx
mov    %dl,(%rax,%rcx,1)
jmp    5267 <decomp_8x8+0x4167>
jmp    526c <decomp_8x8+0x416c>
mov    -0x1bc(%rbp),%ecx
mov    -0x18(%rbp),%rax
mov    %ecx,(%rax)
mov    -0x1c0(%rbp),%ecx
add    $0x8,%ecx
mov    -0x20(%rbp),%rax
mov    %ecx,(%rax)
add    $0x270,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<decomp_8x8>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x1d8,%rsp
mov    %rdx,%rbp
mov    %rdi,%r15
movslq (%rdx),%rax
movslq (%rcx),%r11
pxor   %xmm0,%xmm0
movdqa %xmm0,0xf0(%rsp)
movdqa %xmm0,0x100(%rsp)
movdqa %xmm0,0x110(%rsp)
movdqa %xmm0,0x120(%rsp)
movdqa %xmm0,0x130(%rsp)
movdqa %xmm0,0x140(%rsp)
movdqa %xmm0,0x150(%rsp)
movdqa %xmm0,0x160(%rsp)
movzbl (%rdi,%rax,1),%r10d
lea    0x1(%rax),%r12d
mov    %r10d,%edi
and    $0x3f,%edi
mov    %rdi,%r13
add    $0x1,%r13
test   $0x80,%r10b
mov    %rcx,0x188(%rsp)
mov    %rdx,0x180(%rsp)
mov    %rsi,0x178(%rsp)
mov    %r11,0xe8(%rsp)
mov    %r8,0x70(%rsp)
jne    126a <decomp_8x8+0x15a>
mov    %rdi,%r11
movslq %r12d,%rdx
movzbl (%r15,%rdx,1),%edi
mov    %di,0xf0(%rsp)
lea    0x3(%rax),%ebp
movzbl 0x2(%rax,%r15,1),%ebx
mov    %ebx,%edx
shl    $0xc,%edx
shl    $0x4,%edi
or     %edx,%edi
movswl %di,%r14d
shr    $0x4,%r14d
test   $0x40,%r10b
jne    12c7 <decomp_8x8+0x1b7>
test   %r11d,%r11d
je     1405 <decomp_8x8+0x2f5>
add    $0xffffffffffffffff,%r13
xor    %edi,%edi
xor    %edx,%edx
jmp    1243 <decomp_8x8+0x133>
nopl   0x0(%rax)
movslq %ebp,%rdx
movzbl (%r15,%rdx,1),%edx
shl    $0x8,%edx
and    $0xf0,%ebx
mov    %ebx,%eax
or     %edx,%eax
xor    %edx,%edx
cwtl
shr    $0x4,%eax
mov    %ax,0xf2(%rsp,%rdi,2)
add    $0x1,%ebp
add    $0x1,%rdi
cmp    %rdi,%r13
je     1405 <decomp_8x8+0x2f5>
test   %edx,%edx
jne    1210 <decomp_8x8+0x100>
movslq %ebp,%rdx
lea    0x1(%rdx),%rbp
movzbl (%r15,%rdx,1),%eax
movzbl 0x1(%r15,%rdx,1),%ebx
mov    %ebx,%edx
shl    $0xc,%edx
shl    $0x4,%eax
or     %edx,%eax
mov    $0x1,%edx
jmp    1227 <decomp_8x8+0x117>
mov    %r13,%rbx
shr    $0x3,%rbx
xor    %r14d,%r14d
test   $0x7,%r13b
setne  %r14b
mov    %rbx,%rdx
add    %r14,%rdx
mov    %r9d,0x20(%rsp)
je     1411 <decomp_8x8+0x301>
movslq %r12d,%rsi
add    %r15,%rsi
mov    %rdi,0x30(%rsp)
lea    0x190(%rsp),%rdi
mov    %r10,%rbp
call   1030 <memcpy@plt>
mov    %rbp,%r10
mov    0x30(%rsp),%rdi
add    %r12d,%ebx
add    %ebx,%r14d
mov    0x190(%rsp),%al
add    %al,%al
mov    %r14d,%r12d
jmp    1413 <decomp_8x8+0x303>
test   %r11d,%r11d
je     1405 <decomp_8x8+0x2f5>
movslq %ebp,%rbp
lea    -0x1(%r13),%rdx
mov    $0x1,%eax
cmp    $0x8,%rdx
jb     13d3 <decomp_8x8+0x2c3>
mov    %rdx,%rax
and    $0xfffffffffffffff8,%rax
movq   (%r15,%rbp,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0xf2(%rsp)
cmp    $0x8,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x8(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x102(%rsp)
cmp    $0x10,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x10(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x112(%rsp)
cmp    $0x18,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x18(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x122(%rsp)
cmp    $0x20,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x20(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x132(%rsp)
cmp    $0x28,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x28(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x142(%rsp)
cmp    $0x30,%rax
je     13c7 <decomp_8x8+0x2b7>
movq   0x30(%rbp,%r15,1),%xmm0
punpcklbw %xmm0,%xmm0
psraw  $0x8,%xmm0
movdqu %xmm0,0x152(%rsp)
add    %rax,%rbp
cmp    %rax,%rdx
je     1405 <decomp_8x8+0x2f5>
or     $0x1,%rax
add    %rbp,%r15
sub    %rax,%r13
lea    (%rsp,%rax,2),%rcx
add    $0xf0,%rcx
xor    %eax,%eax
cs nopw 0x0(%rax,%rax,1)
movsbl (%r15,%rax,1),%edx
mov    %dx,(%rcx,%rax,2)
add    $0x1,%rax
cmp    %rax,%r13
jne    13f0 <decomp_8x8+0x2e0>
add    %rax,%rbp
mov    %rbp,(%rsp)
mov    %r14d,%edx
jmp    15c5 <decomp_8x8+0x4b5>
xor    %eax,%eax
movslq %r12d,%rcx
movzbl (%r15,%rcx,1),%edx
lea    0x2(%rcx),%ebp
movzbl 0x1(%r15,%rcx,1),%r9d
mov    %r9d,%ecx
shl    $0xc,%ecx
shl    $0x4,%edx
or     %ecx,%edx
movswl %dx,%edx
shr    $0x4,%edx
mov    %dx,0xf0(%rsp)
mov    %al,0x190(%rsp)
test   $0x40,%r10b
jne    1519 <decomp_8x8+0x409>
test   %edi,%edi
je     15b6 <decomp_8x8+0x4a6>
mov    %edx,%r8d
add    $0xffffffffffffffff,%r13
mov    $0x7,%dx
mov    $0x1,%esi
xor    %r10d,%r10d
mov    $0x8,%r11d
xor    %edi,%edi
test   %al,%al
jns    14d5 <decomp_8x8+0x3c5>
cs nopw 0x0(%rax,%rax,1)
nop
movslq %ebp,%rcx
lea    0x1(%rcx),%rbx
movzbl (%r15,%rcx,1),%ecx
test   %r10w,%r10w
jne    14b0 <decomp_8x8+0x3a0>
add    $0x2,%ebp
movzbl (%r15,%rbx,1),%r9d
mov    %r9d,%ebx
shl    $0xc,%ebx
movzwl %cx,%ecx
shl    $0x4,%ecx
or     %ebx,%ecx
mov    $0x1,%r10w
jmp    14c7 <decomp_8x8+0x3b7>
nop
movzwl %cx,%ebp
shl    $0x8,%ebp
and    $0xf0,%r9d
mov    %r9d,%ecx
or     %ebp,%ecx
xor    %r10d,%r10d
mov    %ebx,%ebp
movswl %cx,%ecx
shr    $0x4,%ecx
mov    %cx,0xf0(%rsp,%rsi,2)
movswq %di,%rcx
add    %al,%al
mov    %al,0x190(%rsp,%rcx,1)
xor    %edi,%edi
add    $0xffff,%dx
sete   %al
cmp    %rsi,%r13
je     159f <decomp_8x8+0x48f>
mov    %al,%dil
add    %ecx,%edi
test   %dx,%dx
cmove  %r11d,%edx
movswq %di,%rax
movzbl 0x190(%rsp,%rax,1),%eax
add    $0x1,%rsi
test   %al,%al
jns    14d5 <decomp_8x8+0x3c5>
jmp    1480 <decomp_8x8+0x370>
test   %edi,%edi
mov    0x20(%rsp),%r9d
je     15c1 <decomp_8x8+0x4b1>
mov    %edx,%r8d
add    $0xffffffffffffffff,%r13
mov    $0x7,%cx
mov    $0x1,%edx
xor    %edi,%edi
mov    $0x8,%esi
test   %al,%al
jns    1563 <decomp_8x8+0x453>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movslq %ebp,%rbx
add    $0x1,%ebp
movsbl (%r15,%rbx,1),%ebx
mov    %bx,0xf0(%rsp,%rdx,2)
movswq %di,%rbx
add    %al,%al
mov    %al,0x190(%rsp,%rbx,1)
xor    %edi,%edi
add    $0xffff,%cx
sete   %al
cmp    %rdx,%r13
je     15ad <decomp_8x8+0x49d>
mov    %al,%dil
add    %ebx,%edi
test   %cx,%cx
cmove  %esi,%ecx
movswq %di,%rax
movzbl 0x190(%rsp,%rax,1),%eax
add    $0x1,%rdx
test   %al,%al
jns    1563 <decomp_8x8+0x453>
jmp    1550 <decomp_8x8+0x440>
mov    %rbp,(%rsp)
mov    0x20(%rsp),%r9d
mov    %r8d,%edx
jmp    15c5 <decomp_8x8+0x4b5>
mov    %rbp,(%rsp)
mov    %r8d,%edx
jmp    15c5 <decomp_8x8+0x4b5>
mov    %rbp,(%rsp)
mov    0x20(%rsp),%r9d
jmp    15c5 <decomp_8x8+0x4b5>
mov    %rbp,(%rsp)
cmp    $0x1,%r9d
setne  %r9b
sete   %r12b
movzwl 0xf2(%rsp),%ebp
mov    $0x2,%bl
sub    %r12b,%bl
mov    %ebx,%ecx
shl    %cl,%ebp
movzwl 0xfa(%rsp),%edi
shl    %cl,%edi
mov    0xfc(%rsp),%esi
mov    %r12d,%r14d
xor    $0x3,%r14b
mov    %r14d,%ecx
shl    %cl,%esi
mov    0xf4(%rsp),%r10d
mov    %ebx,%ecx
shl    %cl,%r10d
mov    0xf8(%rsp),%r15d
shl    %cl,%r15d
movzwl 0xfe(%rsp),%r11d
shl    %cl,%r11d
movswl %bp,%ecx
mov    %ecx,0x18(%rsp)
movswl %si,%eax
mov    %eax,0xd4(%rsp)
imul   $0x3ec4,%ecx,%ecx
imul   $0x3538,%eax,%esi
add    %ecx,%esi
add    %r9b,%r9b
add    $0x2,%r9b
movzwl 0x10a(%rsp),%ebp
mov    %r9d,%ecx
shl    %cl,%ebp
movswl %dx,%ecx
imul   $0x2d40,%ecx,%eax
mov    %eax,0x14(%rsp)
movswl %di,%r13d
imul   $0x3b20,%r13d,%ecx
add    %eax,%ecx
lea    (%rsi,%rcx,1),%edx
mov    %edx,0xe0(%rsp)
sub    %esi,%ecx
mov    %rcx,0xc0(%rsp)
movswl %r15w,%ecx
mov    %ecx,0x28(%rsp)
movswl %bp,%eax
mov    %eax,0x1c(%rsp)
imul   $0x3ec4,%ecx,%ecx
imul   $0x3538,%eax,%esi
add    %ecx,%esi
movzwl 0xf6(%rsp),%r8d
mov    %ebx,%ecx
shl    %cl,%r8d
mov    0x100(%rsp),%ebp
shl    %cl,%ebp
mov    0x108(%rsp),%ebx
mov    %r14d,%ecx
shl    %cl,%ebx
movzwl 0x112(%rsp),%edx
mov    %r9d,%ecx
shl    %cl,%edx
movswl %r10w,%ecx
imul   $0x2d40,%ecx,%edi
mov    %edi,0xc(%rsp)
movswl %r11w,%r15d
imul   $0x3b20,%r15d,%ecx
add    %edi,%ecx
lea    (%rsi,%rcx,1),%eax
mov    %eax,0xdc(%rsp)
sub    %esi,%ecx
mov    %rcx,0xb8(%rsp)
movswl %bp,%eax
mov    %eax,0x10(%rsp)
movswl %dx,%edx
mov    %edx,0xd0(%rsp)
imul   $0x3ec4,%eax,%ecx
imul   $0x3538,%edx,%edx
add    %ecx,%edx
movswl %r8w,%ecx
imul   $0x2d40,%ecx,%edi
movswl %bx,%r8d
imul   $0x3b20,%r8d,%ecx
add    %edi,%ecx
lea    (%rdx,%rcx,1),%esi
mov    %esi,0xe4(%rsp)
sub    %edx,%ecx
mov    %rcx,0x20(%rsp)
mov    $0x4,%bl
sub    %r12b,%bl
movzwl 0x102(%rsp),%edx
mov    %r14d,%ecx
shl    %cl,%edx
movzwl 0x106(%rsp),%esi
mov    %r9d,%ecx
shl    %cl,%esi
mov    0x114(%rsp),%ebp
shl    %cl,%ebp
mov    0x120(%rsp),%eax
mov    %ebx,%ecx
shl    %cl,%eax
movswl %si,%ecx
mov    %ecx,0x68(%rsp)
movswl %ax,%esi
imul   $0x3ec4,%ecx,%eax
imul   $0x3538,%esi,%ecx
add    %eax,%ecx
movswl %dx,%eax
imul   $0x2d40,%eax,%edx
mov    %edx,0x60(%rsp)
movswl %bp,%eax
mov    %eax,0x58(%rsp)
imul   $0x3b20,%eax,%eax
add    %edx,%eax
lea    (%rcx,%rax,1),%edx
mov    %edx,0xd8(%rsp)
sub    %ecx,%eax
mov    %rax,0xb0(%rsp)
mov    %r13d,%r14d
imul   $0x187e,%r13d,%ecx
mov    0x14(%rsp),%r12d
add    %r12d,%ecx
mov    0x18(%rsp),%r10d
imul   $0x3538,%r10d,%eax
lea    (%rcx,%rax,1),%edx
sub    %eax,%ecx
mov    0xd4(%rsp),%r13d
imul   $0xc7c,%r13d,%eax
sub    %eax,%edx
mov    %edx,0x44(%rsp)
add    %eax,%ecx
mov    %rcx,0x30(%rsp)
imul   $0x187e,%r15d,%ecx
mov    0xc(%rsp),%ebp
add    %ebp,%ecx
imul   $0x3538,0x28(%rsp),%eax
lea    (%rcx,%rax,1),%edx
sub    %eax,%ecx
mov    0x1c(%rsp),%ebx
imul   $0xc7c,%ebx,%eax
sub    %eax,%edx
mov    %edx,0x40(%rsp)
add    %eax,%ecx
mov    %rcx,0xa8(%rsp)
imul   $0x187e,%r8d,%ecx
mov    %edi,0xc8(%rsp)
add    %edi,%ecx
mov    0x10(%rsp),%r9d
imul   $0x3538,%r9d,%eax
lea    (%rcx,%rax,1),%edx
sub    %eax,%ecx
mov    0xd0(%rsp),%r11d
imul   $0xc7c,%r11d,%eax
sub    %eax,%edx
mov    %edx,0x3c(%rsp)
add    %eax,%ecx
mov    %rcx,0xa0(%rsp)
imul   $0x187e,0x58(%rsp),%ecx
add    0x60(%rsp),%ecx
imul   $0x3538,0x68(%rsp),%eax
lea    (%rcx,%rax,1),%edx
sub    %eax,%ecx
mov    %esi,0xcc(%rsp)
imul   $0xc7c,%esi,%esi
sub    %esi,%edx
mov    %edx,0x38(%rsp)
add    %esi,%ecx
mov    %rcx,0x98(%rsp)
imul   $0xffffe782,%r14d,%ecx
add    %r12d,%ecx
imul   $0x2390,%r10d,%eax
lea    (%rcx,%rax,1),%edx
sub    %eax,%ecx
imul   $0x3ec4,%r13d,%eax
sub    %eax,%edx
mov    %edx,0x54(%rsp)
add    %eax,%ecx
mov    %rcx,0x80(%rsp)
imul   $0xffffe782,%r15d,%edx
mov    %r15d,%esi
add    %ebp,%edx
imul   $0x2390,0x28(%rsp),%eax
lea    (%rdx,%rax,1),%ecx
sub    %eax,%edx
imul   $0x3ec4,%ebx,%eax
sub    %eax,%ecx
mov    %ecx,0x50(%rsp)
add    %eax,%edx
mov    %rdx,0x90(%rsp)
imul   $0xffffe782,%r8d,%edx
mov    %r8d,%r12d
add    %edi,%edx
imul   $0x2390,%r9d,%eax
lea    (%rdx,%rax,1),%ecx
sub    %eax,%edx
imul   $0x3ec4,%r11d,%eax
mov    %r11d,%edi
sub    %eax,%ecx
mov    %ecx,0x4c(%rsp)
add    %eax,%edx
mov    %rdx,0x78(%rsp)
mov    0x58(%rsp),%r9d
imul   $0xffffe782,%r9d,%edx
mov    0x60(%rsp),%r15d
add    %r15d,%edx
mov    0x68(%rsp),%ebp
imul   $0x2390,%ebp,%eax
lea    (%rdx,%rax,1),%ecx
sub    %eax,%edx
mov    0xcc(%rsp),%r10d
imul   $0x3ec4,%r10d,%eax
sub    %eax,%ecx
mov    %ecx,0x48(%rsp)
add    %eax,%edx
mov    %rdx,0x88(%rsp)
imul   $0xffffc4e0,%r14d,%ebx
add    0x14(%rsp),%ebx
imul   $0xc7c,0x18(%rsp),%eax
lea    (%rbx,%rax,1),%r14d
sub    %eax,%ebx
imul   $0x2390,%r13d,%eax
sub    %eax,%r14d
add    %eax,%ebx
imul   $0xffffc4e0,%esi,%eax
add    0xc(%rsp),%eax
imul   $0xc7c,0x28(%rsp),%r11d
lea    (%rax,%r11,1),%r8d
sub    %r11d,%eax
imul   $0x2390,0x1c(%rsp),%r11d
sub    %r11d,%r8d
add    %r11d,%eax
mov    %rax,%r11
imul   $0xffffc4e0,%r12d,%esi
add    0xc8(%rsp),%esi
imul   $0xc7c,0x10(%rsp),%eax
lea    (%rsi,%rax,1),%edx
sub    %eax,%esi
imul   $0x2390,%edi,%eax
sub    %eax,%edx
mov    %edx,%edi
add    %eax,%esi
imul   $0xffffc4e0,%r9d,%ecx
add    %r15d,%ecx
imul   $0xc7c,%ebp,%r9d
lea    (%rcx,%r9,1),%edx
sub    %r9d,%ecx
imul   $0x2390,%r10d,%r9d
sub    %r9d,%edx
add    %r9d,%ecx
mov    0xe0(%rsp),%eax
sar    $0xf,%eax
mov    0xdc(%rsp),%r10d
sar    $0xf,%r10d
mov    0xe4(%rsp),%r13d
sar    $0xf,%r13d
mov    0xd8(%rsp),%ebp
sar    $0xf,%ebp
imul   $0x2d40,%eax,%r12d
imul   $0x3b20,%r13d,%eax
add    %r12d,%eax
mov    %eax,0xc(%rsp)
imul   $0x3ec4,%r10d,%r9d
add    %eax,%r9d
imul   $0x3538,%ebp,%eax
add    %eax,%r9d
mov    0xc0(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0xc0(%rsp)
mov    0xb8(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0xb8(%rsp)
mov    0x20(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x20(%rsp)
mov    0xb0(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0xb0(%rsp)
sarl   $0xf,0x44(%rsp)
mov    0x30(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x30(%rsp)
sarl   $0xf,0x40(%rsp)
mov    0xa8(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0xa8(%rsp)
sarl   $0xf,0x3c(%rsp)
mov    0xa0(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0xa0(%rsp)
sarl   $0xf,0x38(%rsp)
mov    0x98(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x98(%rsp)
sarl   $0xf,0x54(%rsp)
mov    0x80(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x80(%rsp)
sarl   $0xf,0x50(%rsp)
mov    0x90(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x90(%rsp)
sarl   $0xf,0x4c(%rsp)
mov    0x78(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x78(%rsp)
sarl   $0xf,0x48(%rsp)
mov    0x88(%rsp),%rax
sar    $0xf,%eax
mov    %rax,0x88(%rsp)
sar    $0xf,%r14d
mov    %r14d,0x14(%rsp)
sar    $0xf,%ebx
mov    %rbx,0x60(%rsp)
sar    $0xf,%r8d
mov    %r8d,0x1c(%rsp)
sar    $0xf,%r11d
mov    %r11,0x28(%rsp)
sar    $0xf,%edi
mov    %edi,0x10(%rsp)
sar    $0xf,%esi
mov    %rsi,0x58(%rsp)
sar    $0xf,%edx
mov    %edx,0x18(%rsp)
sar    $0xf,%ecx
mov    %rcx,0x68(%rsp)
sar    $0xf,%r9d
cmp    $0x7f,%r9d
mov    $0x7f,%eax
cmovge %eax,%r9d
mov    $0x7f,%edx
cmp    $0xffffff81,%r9d
mov    $0x80,%eax
cmovl  %eax,%r9d
mov    $0x80,%ecx
imul   $0x187e,%r13d,%r11d
add    %r12d,%r11d
imul   $0x3538,%r10d,%eax
add    %r11d,%eax
imul   $0xfffff384,%ebp,%ebx
add    %ebx,%eax
xor    $0x80,%r9b
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %edx,%eax
cmp    $0xffffff81,%eax
cmovl  %ecx,%eax
mov    0x178(%rsp),%r8
mov    0xe8(%rsp),%rdi
mov    %r9b,(%r8,%rdi,1)
imul   $0xffffe782,%r13d,%r9d
add    %r12d,%r9d
imul   $0x2390,%r10d,%ebx
add    %r9d,%ebx
imul   $0xffffc13c,%ebp,%r14d
add    %r14d,%ebx
xor    $0x80,%al
sar    $0xf,%ebx
cmp    $0x7f,%ebx
mov    $0x7f,%edx
cmovge %edx,%ebx
mov    %al,0x1(%rdi,%r8,1)
cmp    $0xffffff81,%ebx
cmovl  %ecx,%ebx
xor    $0x80,%bl
mov    %bl,0x2(%rdi,%r8,1)
imul   $0xffffc4e0,%r13d,%ebx
add    %r12d,%ebx
imul   $0xc7c,%r10d,%r12d
add    %ebx,%r12d
imul   $0xffffdc70,%ebp,%eax
add    %eax,%r12d
sar    $0xf,%r12d
cmp    $0x7f,%r12d
cmovge %edx,%r12d
mov    $0x7f,%edx
cmp    $0xffffff81,%r12d
cmovl  %ecx,%r12d
imul   $0xfffff384,%r10d,%eax
add    %ebx,%eax
imul   $0x2390,%ebp,%ebx
add    %ebx,%eax
xor    $0x80,%r12b
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %edx,%eax
cmp    $0xffffff81,%eax
cmovl  %ecx,%eax
imul   $0xffffdc70,%r10d,%ebx
add    %r9d,%ebx
imul   $0x3ec4,%ebp,%ecx
add    %ecx,%ebx
xor    $0x80,%al
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %edx,%ebx
mov    %r12b,0x3(%rdi,%r8,1)
cmp    $0xffffff81,%ebx
mov    $0x80,%r9d
cmovl  %r9d,%ebx
mov    %al,0x4(%rdi,%r8,1)
xor    $0x80,%bl
mov    %bl,0x5(%rdi,%r8,1)
imul   $0xffffcac8,%r10d,%eax
add    %r11d,%eax
imul   $0xc7c,%ebp,%ecx
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
mov    $0x7f,%edx
cmovge %edx,%eax
cmp    $0xffffff81,%eax
cmovl  %r9d,%eax
mov    $0x80,%r14d
xor    $0x80,%al
mov    %al,0x6(%rdi,%r8,1)
imul   $0xffffc13c,%r10d,%eax
add    0xc(%rsp),%eax
imul   $0xffffcac8,%ebp,%ecx
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %edx,%eax
mov    $0x7f,%r15d
cmp    $0xffffff81,%eax
cmovl  %r14d,%eax
xor    $0x80,%al
mov    %al,0x7(%rdi,%r8,1)
imul   $0x2d40,0x44(%rsp),%r9d
mov    0x3c(%rsp),%r13d
imul   $0x3b20,%r13d,%r10d
add    %r9d,%r10d
mov    0x40(%rsp),%esi
imul   $0x3ec4,%esi,%eax
add    %r10d,%eax
mov    0x38(%rsp),%ebp
imul   $0x3538,%ebp,%ecx
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %r15d,%eax
cmp    $0xffffff81,%eax
cmovl  %r14d,%eax
imul   $0x187e,%r13d,%r12d
add    %r9d,%r12d
imul   $0x3538,%esi,%ecx
add    %r12d,%ecx
imul   $0xfffff384,%ebp,%edx
add    %edx,%ecx
xor    $0x80,%al
mov    0x70(%rsp),%rbx
lea    (%rdi,%rbx,1),%edx
mov    %rbx,%r11
movslq %edx,%rdx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
mov    %al,(%r8,%rdx,1)
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
xor    $0x80,%cl
mov    %cl,0x1(%r8,%rdx,1)
imul   $0xffffe782,%r13d,%edi
add    %r9d,%edi
imul   $0x2390,%esi,%eax
add    %edi,%eax
imul   $0xffffc13c,%ebp,%ecx
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %r15d,%eax
cmp    $0xffffff81,%eax
cmovl  %r14d,%eax
xor    $0x80,%al
mov    %al,0x2(%r8,%rdx,1)
imul   $0xffffc4e0,%r13d,%eax
add    %r9d,%eax
imul   $0xc7c,%esi,%ecx
add    %eax,%ecx
imul   $0xffffdc70,%ebp,%ebx
add    %ebx,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
xor    $0x80,%cl
mov    %cl,0x3(%r8,%rdx,1)
imul   $0xfffff384,%esi,%ebx
add    %eax,%ebx
imul   $0x2390,%ebp,%eax
add    %eax,%ebx
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %r14d,%ebx
imul   $0xffffdc70,%esi,%eax
add    %edi,%eax
imul   $0x3ec4,%ebp,%ecx
add    %ecx,%eax
xor    $0x80,%bl
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %r15d,%eax
cmp    $0xffffff81,%eax
cmovl  %r14d,%eax
imul   $0xffffcac8,%esi,%ecx
add    %r12d,%ecx
imul   $0xc7c,%ebp,%edi
add    %edi,%ecx
xor    $0x80,%al
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
mov    %bl,0x4(%r8,%rdx,1)
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
mov    %al,0x5(%r8,%rdx,1)
xor    $0x80,%cl
mov    %cl,0x6(%r8,%rdx,1)
imul   $0xffffc13c,%esi,%eax
add    %r10d,%eax
imul   $0xffffcac8,%ebp,%ecx
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %r15d,%eax
cmp    $0xffffff81,%eax
cmovl  %r14d,%eax
xor    $0x80,%al
mov    %al,0x7(%r8,%rdx,1)
imul   $0x2d40,0x54(%rsp),%ebx
mov    0x4c(%rsp),%r12d
imul   $0x3b20,%r12d,%r9d
add    %ebx,%r9d
mov    0x50(%rsp),%ebp
imul   $0x3ec4,%ebp,%ecx
add    %r9d,%ecx
mov    0x48(%rsp),%edi
imul   $0x3538,%edi,%eax
add    %eax,%ecx
add    %r11d,%edx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
imul   $0x187e,%r12d,%r10d
add    %ebx,%r10d
imul   $0x3538,%ebp,%esi
add    %r10d,%esi
imul   $0xfffff384,%edi,%eax
add    %eax,%esi
xor    $0x80,%cl
movslq %edx,%rax
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
mov    %cl,(%r8,%rax,1)
cmp    $0xffffff81,%esi
cmovl  %r14d,%esi
xor    $0x80,%sil
mov    %sil,0x1(%r8,%rax,1)
imul   $0xffffe782,%r12d,%edx
add    %ebx,%edx
imul   $0x2390,%ebp,%ecx
add    %edx,%ecx
imul   $0xffffc13c,%edi,%esi
add    %esi,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
xor    $0x80,%cl
mov    %cl,0x2(%r8,%rax,1)
imul   $0xffffc4e0,%r12d,%ecx
add    %ebx,%ecx
imul   $0xc7c,%ebp,%esi
add    %ecx,%esi
imul   $0xffffdc70,%edi,%ebx
add    %ebx,%esi
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
cmp    $0xffffff81,%esi
cmovl  %r14d,%esi
xor    $0x80,%sil
mov    %sil,0x3(%r8,%rax,1)
imul   $0xfffff384,%ebp,%ebx
add    %ecx,%ebx
imul   $0x2390,%edi,%ecx
add    %ecx,%ebx
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %r14d,%ebx
imul   $0xffffdc70,%ebp,%ecx
add    %edx,%ecx
imul   $0x3ec4,%edi,%edx
add    %edx,%ecx
xor    $0x80,%bl
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
imul   $0xffffcac8,%ebp,%edx
add    %r10d,%edx
imul   $0xc7c,%edi,%esi
add    %esi,%edx
xor    $0x80,%cl
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
mov    %bl,0x4(%r8,%rax,1)
cmp    $0xffffff81,%edx
cmovl  %r14d,%edx
mov    %cl,0x5(%r8,%rax,1)
xor    $0x80,%dl
mov    %dl,0x6(%r8,%rax,1)
imul   $0xffffc13c,%ebp,%ecx
add    %r9d,%ecx
imul   $0xffffcac8,%edi,%edx
add    %edx,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r14d,%ecx
xor    $0x80,%cl
mov    %cl,0x7(%r8,%rax,1)
imul   $0x2d40,0x14(%rsp),%esi
mov    0x10(%rsp),%ebx
imul   $0x3b20,%ebx,%r9d
add    %esi,%r9d
mov    0x1c(%rsp),%ecx
imul   $0x3ec4,%ecx,%edi
add    %r9d,%edi
mov    0x18(%rsp),%r10d
imul   $0x3538,%r10d,%edx
add    %edx,%edi
add    %r11d,%eax
mov    %r11,%r12
sar    $0xf,%edi
cmp    $0x7f,%edi
cmovge %r15d,%edi
cmp    $0xffffff81,%edi
cmovl  %r14d,%edi
imul   $0x187e,%ebx,%r11d
mov    %ebx,%edx
add    %esi,%r11d
imul   $0x3538,%ecx,%ebx
add    %r11d,%ebx
imul   $0xfffff384,%r10d,%ebp
add    %ebp,%ebx
xor    $0x80,%dil
cltq
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
mov    %dil,(%r8,%rax,1)
cmp    $0xffffff81,%ebx
cmovl  %r14d,%ebx
xor    $0x80,%bl
mov    %bl,0x1(%r8,%rax,1)
imul   $0xffffe782,%edx,%edi
add    %esi,%edi
imul   $0x2390,%ecx,%ebp
add    %edi,%ebp
imul   $0xffffc13c,%r10d,%ebx
add    %ebx,%ebp
sar    $0xf,%ebp
cmp    $0x7f,%ebp
cmovge %r15d,%ebp
cmp    $0xffffff81,%ebp
cmovl  %r14d,%ebp
xor    $0x80,%bpl
mov    %bpl,0x2(%r8,%rax,1)
imul   $0xffffc4e0,%edx,%ebp
add    %esi,%ebp
imul   $0xc7c,%ecx,%esi
add    %ebp,%esi
imul   $0xffffdc70,%r10d,%ebx
add    %ebx,%esi
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
cmp    $0xffffff81,%esi
cmovl  %r14d,%esi
xor    $0x80,%sil
mov    %sil,0x3(%r8,%rax,1)
imul   $0xfffff384,%ecx,%esi
add    %ebp,%esi
imul   $0x2390,%r10d,%ebp
add    %ebp,%esi
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
cmp    $0xffffff81,%esi
mov    $0x80,%ebp
cmovl  %ebp,%esi
imul   $0xffffdc70,%ecx,%ebx
add    %edi,%ebx
imul   $0x3ec4,%r10d,%edi
add    %edi,%ebx
xor    $0x80,%sil
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %ebp,%ebx
mov    $0x80,%r14d
imul   $0xffffcac8,%ecx,%edi
add    %r11d,%edi
imul   $0xc7c,%r10d,%edx
add    %edx,%edi
xor    $0x80,%bl
sar    $0xf,%edi
cmp    $0x7f,%edi
cmovge %r15d,%edi
mov    %sil,0x4(%r8,%rax,1)
cmp    $0xffffff81,%edi
cmovl  %r14d,%edi
mov    %bl,0x5(%r8,%rax,1)
xor    $0x80,%dil
mov    %dil,0x6(%r8,%rax,1)
imul   $0xffffc13c,%ecx,%edx
add    %r9d,%edx
imul   $0xffffcac8,%r10d,%ecx
add    %ecx,%edx
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
cmp    $0xffffff81,%edx
cmovl  %r14d,%edx
xor    $0x80,%dl
mov    %dl,0x7(%r8,%rax,1)
imul   $0x2d40,0x60(%rsp),%esi
mov    0x58(%rsp),%r11
imul   $0x3b20,%r11d,%r9d
add    %esi,%r9d
mov    0x28(%rsp),%rbx
imul   $0x3ec4,%ebx,%edi
add    %r9d,%edi
mov    0x68(%rsp),%rcx
imul   $0x3538,%ecx,%edx
add    %edx,%edi
add    %r12d,%eax
sar    $0xf,%edi
cmp    $0x7f,%edi
cmovge %r15d,%edi
cmp    $0xffffff81,%edi
cmovl  %r14d,%edi
imul   $0x187e,%r11d,%r10d
add    %esi,%r10d
imul   $0x3538,%ebx,%ebp
mov    %rbx,%rdx
add    %r10d,%ebp
imul   $0xfffff384,%ecx,%ebx
add    %ebx,%ebp
xor    $0x80,%dil
cltq
sar    $0xf,%ebp
cmp    $0x7f,%ebp
cmovge %r15d,%ebp
mov    %dil,(%r8,%rax,1)
cmp    $0xffffff81,%ebp
cmovl  %r14d,%ebp
xor    $0x80,%bpl
mov    %bpl,0x1(%r8,%rax,1)
imul   $0xffffe782,%r11d,%edi
add    %esi,%edi
imul   $0x2390,%edx,%ebp
add    %edi,%ebp
imul   $0xffffc13c,%ecx,%ebx
add    %ebx,%ebp
sar    $0xf,%ebp
cmp    $0x7f,%ebp
cmovge %r15d,%ebp
cmp    $0xffffff81,%ebp
cmovl  %r14d,%ebp
xor    $0x80,%bpl
mov    %bpl,0x2(%r8,%rax,1)
imul   $0xffffc4e0,%r11d,%ebp
add    %esi,%ebp
imul   $0xc7c,%edx,%esi
add    %ebp,%esi
imul   $0xffffdc70,%ecx,%ebx
add    %ebx,%esi
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
cmp    $0xffffff81,%esi
mov    $0x80,%ebx
cmovl  %ebx,%esi
xor    $0x80,%sil
mov    %sil,0x3(%r8,%rax,1)
imul   $0xfffff384,%edx,%esi
add    %ebp,%esi
imul   $0x2390,%ecx,%ebp
add    %ebp,%esi
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
cmp    $0xffffff81,%esi
cmovl  %ebx,%esi
mov    $0x80,%r11d
mov    %rdx,%rbp
imul   $0xffffdc70,%ebp,%ebx
add    %edi,%ebx
imul   $0x3ec4,%ecx,%edi
add    %edi,%ebx
xor    $0x80,%sil
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %r11d,%ebx
imul   $0xffffcac8,%ebp,%edi
add    %r10d,%edi
imul   $0xc7c,%ecx,%edx
add    %edx,%edi
xor    $0x80,%bl
sar    $0xf,%edi
cmp    $0x7f,%edi
cmovge %r15d,%edi
mov    %sil,0x4(%r8,%rax,1)
cmp    $0xffffff81,%edi
mov    $0x80,%esi
cmovl  %esi,%edi
mov    %bl,0x5(%r8,%rax,1)
xor    $0x80,%dil
mov    %dil,0x6(%r8,%rax,1)
imul   $0xffffc13c,%ebp,%edx
add    %r9d,%edx
imul   $0xffffcac8,%ecx,%ecx
add    %ecx,%edx
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
cmp    $0xffffff81,%edx
cmovl  %esi,%edx
mov    $0x80,%edi
xor    $0x80,%dl
mov    %dl,0x7(%r8,%rax,1)
imul   $0x2d40,0x80(%rsp),%esi
mov    0x78(%rsp),%r13
imul   $0x3b20,%r13d,%r14d
add    %esi,%r14d
mov    0x90(%rsp),%r11
imul   $0x3ec4,%r11d,%ebx
add    %r14d,%ebx
mov    0x88(%rsp),%r12
imul   $0x3538,%r12d,%ecx
add    %ecx,%ebx
add    0x70(%rsp),%eax
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %edi,%ebx
mov    $0x80,%edi
imul   $0x187e,%r13d,%r10d
add    %esi,%r10d
imul   $0x3538,%r11d,%ecx
add    %r10d,%ecx
imul   $0xfffff384,%r12d,%edx
add    %edx,%ecx
xor    $0x80,%bl
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %edi,%ecx
imul   $0xffffe782,%r13d,%edi
add    %esi,%edi
imul   $0x2390,%r11d,%edx
add    %edi,%edx
imul   $0xffffc13c,%r12d,%ebp
add    %ebp,%edx
xor    $0x80,%cl
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
movslq %eax,%r9
cmp    $0xffffff81,%edx
mov    $0x80,%eax
cmovl  %eax,%edx
mov    %bl,(%r8,%r9,1)
imul   $0xffffc4e0,%r13d,%eax
add    %esi,%eax
mov    %r11,%rbp
imul   $0xc7c,%ebp,%esi
add    %eax,%esi
imul   $0xffffdc70,%r12d,%ebx
add    %ebx,%esi
xor    $0x80,%dl
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
mov    %cl,0x1(%r8,%r9,1)
cmp    $0xffffff81,%esi
mov    $0x80,%ecx
cmovl  %ecx,%esi
mov    %dl,0x2(%r8,%r9,1)
xor    $0x80,%sil
mov    %sil,0x3(%r8,%r9,1)
imul   $0xfffff384,%ebp,%ecx
mov    %r11,%rsi
add    %eax,%ecx
mov    %r12,%rdx
imul   $0x2390,%edx,%eax
add    %eax,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
mov    $0x80,%ebp
cmovl  %ebp,%ecx
xor    $0x80,%cl
mov    %cl,0x4(%r8,%r9,1)
imul   $0xffffdc70,%esi,%eax
add    %edi,%eax
imul   $0x3ec4,%edx,%ecx
mov    %r12,%rdi
add    %ecx,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
cmovge %r15d,%eax
cmp    $0xffffff81,%eax
cmovl  %ebp,%eax
mov    $0x80,%r13d
imul   $0xffffcac8,%esi,%ecx
add    %r10d,%ecx
imul   $0xc7c,%edi,%edx
add    %edx,%ecx
xor    $0x80,%al
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r13d,%ecx
imul   $0xffffc13c,%esi,%edx
add    %r14d,%edx
imul   $0xffffcac8,%edi,%esi
add    %esi,%edx
xor    $0x80,%cl
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
mov    %al,0x5(%r8,%r9,1)
cmp    $0xffffff81,%edx
cmovl  %r13d,%edx
mov    %cl,0x6(%r8,%r9,1)
xor    $0x80,%dl
mov    %dl,0x7(%r8,%r9,1)
mov    0xa8(%rsp),%r12
imul   $0x3ec4,%r12d,%eax
mov    0x98(%rsp),%r15
imul   $0x3538,%r15d,%ecx
add    %eax,%ecx
add    0x70(%rsp),%r9d
imul   $0x2d40,0x30(%rsp),%r14d
mov    0xa0(%rsp),%r11
imul   $0x3b20,%r11d,%edx
add    %r14d,%edx
lea    (%rcx,%rdx,1),%edi
sar    $0xf,%edi
cmp    $0x7f,%edi
mov    $0x7f,%eax
cmovge %eax,%edi
cmp    $0xffffff81,%edi
cmovl  %r13d,%edi
sub    %ecx,%edx
xor    $0x80,%dil
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %eax,%edx
cmp    $0xffffff81,%edx
cmovl  %r13d,%edx
xor    $0x80,%dl
imul   $0x187e,%r11d,%esi
add    %r14d,%esi
imul   $0x3538,%r12d,%eax
imul   $0xc7c,%r15d,%ebp
lea    (%rsi,%rax,1),%ecx
sub    %ebp,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
mov    $0x7f,%ebx
cmovge %ebx,%ecx
cmp    $0xffffff81,%ecx
cmovl  %r13d,%ecx
sub    %eax,%esi
add    %ebp,%esi
xor    $0x80,%cl
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %ebx,%esi
cmp    $0xffffff81,%esi
cmovl  %r13d,%esi
xor    $0x80,%sil
imul   $0xffffe782,%r11d,%ebx
add    %r14d,%ebx
imul   $0x2390,%r12d,%ebp
imul   $0x3ec4,%r15d,%r10d
lea    (%rbx,%rbp,1),%eax
sub    %r10d,%eax
sar    $0xf,%eax
cmp    $0x7f,%eax
mov    $0x7f,%r13d
cmovge %r13d,%eax
movslq %r9d,%r9
cmp    $0xffffff81,%eax
mov    $0x80,%r13d
cmovl  %r13d,%eax
mov    %dil,(%r8,%r9,1)
sub    %ebp,%ebx
add    %r10d,%ebx
xor    $0x80,%al
sar    $0xf,%ebx
cmp    $0x7f,%ebx
mov    $0x7f,%r10d
cmovge %r10d,%ebx
mov    %dl,0x7(%r8,%r9,1)
cmp    $0xffffff81,%ebx
cmovl  %r13d,%ebx
mov    $0x80,%r13d
mov    %cl,0x1(%r8,%r9,1)
imul   $0xffffc4e0,%r11d,%ecx
add    %r14d,%ecx
xor    $0x80,%bl
imul   $0xc7c,%r12d,%edx
imul   $0x2390,%r15d,%edi
lea    (%rcx,%rdx,1),%ebp
sub    %edi,%ebp
sar    $0xf,%ebp
cmp    $0x7f,%ebp
cmovge %r10d,%ebp
mov    %sil,0x6(%r8,%r9,1)
cmp    $0xffffff81,%ebp
cmovl  %r13d,%ebp
mov    %al,0x2(%r8,%r9,1)
sub    %edx,%ecx
add    %edi,%ecx
xor    $0x80,%bpl
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r10d,%ecx
mov    %bl,0x5(%r8,%r9,1)
cmp    $0xffffff81,%ecx
cmovl  %r13d,%ecx
mov    %bpl,0x3(%r8,%r9,1)
xor    $0x80,%cl
mov    %cl,0x4(%r8,%r9,1)
add    0x70(%rsp),%r9d
imul   $0x2d40,0xc0(%rsp),%r10d
mov    0x20(%rsp),%r12
imul   $0x3b20,%r12d,%edx
add    %r10d,%edx
mov    0xb8(%rsp),%r14
imul   $0x3ec4,%r14d,%eax
mov    0xb0(%rsp),%r13
imul   $0x3538,%r13d,%esi
add    %eax,%esi
lea    (%rsi,%rdx,1),%edi
sar    $0xf,%edi
cmp    $0x7f,%edi
mov    $0x7f,%ecx
cmovge %ecx,%edi
cmp    $0xffffff81,%edi
mov    $0x80,%eax
cmovl  %eax,%edi
xor    $0x80,%dil
sub    %esi,%edx
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %ecx,%edx
mov    $0x7f,%r15d
cmp    $0xffffff81,%edx
cmovl  %eax,%edx
mov    $0x80,%r11d
xor    $0x80,%dl
imul   $0x187e,%r12d,%esi
add    %r10d,%esi
imul   $0x3538,%r14d,%eax
imul   $0xc7c,%r13d,%ebp
lea    (%rsi,%rax,1),%ebx
sub    %ebp,%ebx
sar    $0xf,%ebx
cmp    $0x7f,%ebx
cmovge %r15d,%ebx
cmp    $0xffffff81,%ebx
cmovl  %r11d,%ebx
sub    %eax,%esi
add    %ebp,%esi
xor    $0x80,%bl
sar    $0xf,%esi
cmp    $0x7f,%esi
cmovge %r15d,%esi
movslq %r9d,%rax
cmp    $0xffffff81,%esi
cmovl  %r11d,%esi
mov    %dil,(%r8,%rax,1)
xor    $0x80,%sil
imul   $0xffffe782,%r12d,%edi
add    %r10d,%edi
imul   $0x2390,%r14d,%ebp
imul   $0x3ec4,%r13d,%r9d
lea    (%rdi,%rbp,1),%ecx
sub    %r9d,%ecx
sar    $0xf,%ecx
cmp    $0x7f,%ecx
cmovge %r15d,%ecx
mov    %dl,0x7(%r8,%rax,1)
cmp    $0xffffff81,%ecx
cmovl  %r11d,%ecx
mov    %bl,0x1(%r8,%rax,1)
sub    %ebp,%edi
add    %r9d,%edi
xor    $0x80,%cl
sar    $0xf,%edi
cmp    $0x7f,%edi
cmovge %r15d,%edi
mov    %sil,0x6(%r8,%rax,1)
cmp    $0xffffff81,%edi
cmovl  %r11d,%edi
mov    %cl,0x2(%r8,%rax,1)
xor    $0x80,%dil
imul   $0xffffc4e0,%r12d,%edx
add    %r10d,%edx
imul   $0xc7c,%r14d,%ecx
imul   $0x2390,%r13d,%esi
lea    (%rdx,%rcx,1),%ebp
sub    %esi,%ebp
sar    $0xf,%ebp
cmp    $0x7f,%ebp
cmovge %r15d,%ebp
mov    %dil,0x5(%r8,%rax,1)
cmp    $0xffffff81,%ebp
cmovl  %r11d,%ebp
xor    $0x80,%bpl
mov    %bpl,0x3(%r8,%rax,1)
sub    %ecx,%edx
add    %esi,%edx
sar    $0xf,%edx
cmp    $0x7f,%edx
cmovge %r15d,%edx
cmp    $0xffffff81,%edx
cmovl  %r11d,%edx
xor    $0x80,%dl
mov    %dl,0x4(%r8,%rax,1)
mov    0x180(%rsp),%rax
mov    (%rsp),%rcx
mov    %ecx,(%rax)
mov    0xe8(%rsp),%rax
add    $0x8,%eax
mov    0x188(%rsp),%rcx
mov    %eax,(%rcx)
add    $0x1d8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

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