short get_first_winning_move_3(short a, short b, short c, short d, short e,
                               short f, short g, short h) {
  short tmp, org, dst;
  if (get_first_losing_move(a, b, c, d, e, f, g, h) != -1)
    return -2;
  for (short move = 0; move < 32; move++) {
    {
      if (move == 0) {
        if (a != 0 && a < 21) {
          org = a;
          dst = org + 4;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 1) {
        if (a != 0 && a < 21 && a % 4 != 0) {
          org = a;
          dst = org + 5;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 2) {
        if (a != 0 && a % 4 != 0) {
          org = a;
          dst = org + 1;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 3) {
        if (a != 0 && 4 < a && a % 4 != 0) {
          org = a;
          dst = org - 3;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 4) {
        if (a != 0 && 4 < a) {
          org = a;
          dst = org - 4;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 5) {
        if (a != 0 && 4 < a && a % 4 != 1) {
          org = a;
          dst = org - 5;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 6) {
        if (a != 0 && a % 4 != 1) {
          org = a;
          dst = org - 1;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 7) {
        if (a != 0 && a < 21 && a % 4 != 1) {
          org = a;
          dst = org + 3;
          if (dst != b && dst != c && dst != d && dst != e && dst != f) {
            a = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else if (h == dst) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            a = org;
          }
        }
      } else if (move == 8) {
        if (b != 0 && b < 21) {
          org = b;
          dst = org + 4;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 9) {
        if (b != 0 && b < 21 && b % 4 != 0) {
          org = b;
          dst = org + 5;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 10) {
        if (b != 0 && b % 4 != 0) {
          org = b;
          dst = org + 1;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 11) {
        if (b != 0 && 4 < b && b % 4 != 0) {
          org = b;
          dst = org - 3;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 12) {
        if (b != 0 && 4 < b) {
          org = b;
          dst = org - 4;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 13) {
        if (b != 0 && 4 < b && b % 4 != 1) {
          org = b;
          dst = org - 5;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 14) {
        if (b != 0 && b % 4 != 1) {
          org = b;
          dst = org - 1;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 15) {
        if (b != 0 && b < 21 && b % 4 != 1) {
          org = b;
          dst = org + 3;
          if (dst != a && dst != c && dst != d && dst != f && dst != g) {
            b = dst;
            if (e == dst) {
              e = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              e = dst;
            } else if (dst == h) {
              h = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              h = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            b = org;
          }
        }
      } else if (move == 16) {
        if (c != 0 && c < 21) {
          org = c;
          dst = org + 4;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 17) {
        if (c != 0 && c < 21 && c % 4 != 0) {
          org = c;
          dst = org + 5;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 18) {
        if (c != 0 && c % 4 != 0) {
          org = c;
          dst = org + 1;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 19) {
        if (c != 0 && 4 < c && c % 4 != 0) {
          org = c;
          dst = org - 3;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 20) {
        if (c != 0 && 4 < c) {
          org = c;
          dst = org - 4;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 21) {
        if (c != 0 && 4 < c && c % 4 != 1) {
          org = c;
          dst = org - 5;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 22) {
        if (c != 0 && c % 4 != 1) {
          org = c;
          dst = org - 1;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 23) {
        if (c != 0 && c < 21 && c % 4 != 1) {
          org = c;
          dst = org + 3;
          if (dst != a && dst != b && dst != d && dst != e && dst != g &&
              dst != h) {
            c = dst;
            if (f == dst) {
              f = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              f = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            c = org;
          }
        }
      } else if (move == 24) {
        if (d != 0 && d < 21) {
          org = d;
          dst = org + 4;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 25) {
        if (d != 0 && d < 21 && d % 4 != 0) {
          org = d;
          dst = org + 5;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 26) {
        if (d != 0 && d % 4 != 0) {
          org = d;
          dst = org + 1;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 27) {
        if (d != 0 && 4 < d && d % 4 != 0) {
          org = d;
          dst = org - 3;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 28) {
        if (d != 0 && 4 < d) {
          org = d;
          dst = org - 4;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 29) {
        if (d != 0 && 4 < d && d % 4 != 1) {
          org = d;
          dst = org - 5;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 30) {
        if (d != 0 && d % 4 != 1) {
          org = d;
          dst = org - 1;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      } else if (move == 31) {
        if (d != 0 && d < 21 && d % 4 != 1) {
          org = d;
          dst = org + 3;
          if (dst != a && dst != b && dst != c && dst != e && dst != f &&
              dst != h) {
            d = dst;
            if (g == dst) {
              g = 0;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              g = dst;
            } else {
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
              if (0 <= get_first_losing_move(a, b, c, d, e, f, g, h))
                return move;
              {
                tmp = a;
                a = (e == 0 ? 0 : 25 - e);
                e = (tmp == 0 ? 0 : 25 - tmp);
                tmp = b;
                b = (f == 0 ? 0 : 25 - f);
                f = (tmp == 0 ? 0 : 25 - tmp);
                tmp = c;
                c = (g == 0 ? 0 : 25 - g);
                g = (tmp == 0 ? 0 : 25 - tmp);
                tmp = d;
                d = (h == 0 ? 0 : 25 - h);
                h = (tmp == 0 ? 0 : 25 - tmp);
              }
            }
            d = org;
          }
        }
      }
    }
  }
  return -1;
}


x86 assembly (clang, -O0):
<get_first_winning_move_3>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1440,%rsp
mov    %r8d,-0x28(%rbp)
mov    %ecx,%eax
mov    -0x28(%rbp),%ecx
mov    %eax,-0x24(%rbp)
mov    %edx,%eax
mov    -0x24(%rbp),%edx
mov    %eax,-0x20(%rbp)
mov    %esi,%eax
mov    -0x20(%rbp),%esi
mov    %eax,-0x1c(%rbp)
mov    %edi,%r8d
mov    -0x1c(%rbp),%edi
mov    %r9w,%ax
mov    0x18(%rbp),%r9w
mov    0x10(%rbp),%r9w
mov    %r8w,-0x4(%rbp)
mov    %di,-0x6(%rbp)
mov    %si,-0x8(%rbp)
mov    %dx,-0xa(%rbp)
mov    %cx,-0xc(%rbp)
mov    %ax,-0xe(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
cmp    $0xffffffff,%eax
je     11aa <get_first_winning_move_3+0x9a>
movw   $0xfffe,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
movw   $0x0,-0x16(%rbp)
movswl -0x16(%rbp),%eax
cmp    $0x20,%eax
jge    16438 <get_first_winning_move_3+0x15328>
movswl -0x16(%rbp),%eax
cmp    $0x0,%eax
jne    1d77 <get_first_winning_move_3+0xc67>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     1d72 <get_first_winning_move_3+0xc62>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    1d72 <get_first_winning_move_3+0xc62>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1d6d <get_first_winning_move_3+0xc5d>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1d6d <get_first_winning_move_3+0xc5d>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     1d6d <get_first_winning_move_3+0xc5d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1d6d <get_first_winning_move_3+0xc5d>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1d6d <get_first_winning_move_3+0xc5d>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    15bd <get_first_winning_move_3+0x4ad>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1284 <get_first_winning_move_3+0x174>
xor    %eax,%eax
mov    %eax,-0x2c(%rbp)
jmp    1292 <get_first_winning_move_3+0x182>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12b0 <get_first_winning_move_3+0x1a0>
xor    %eax,%eax
mov    %eax,-0x30(%rbp)
jmp    12be <get_first_winning_move_3+0x1ae>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x30(%rbp)
mov    -0x30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    12e4 <get_first_winning_move_3+0x1d4>
xor    %eax,%eax
mov    %eax,-0x34(%rbp)
jmp    12f2 <get_first_winning_move_3+0x1e2>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1310 <get_first_winning_move_3+0x200>
xor    %eax,%eax
mov    %eax,-0x38(%rbp)
jmp    131e <get_first_winning_move_3+0x20e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x38(%rbp)
mov    -0x38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1344 <get_first_winning_move_3+0x234>
xor    %eax,%eax
mov    %eax,-0x3c(%rbp)
jmp    1352 <get_first_winning_move_3+0x242>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1370 <get_first_winning_move_3+0x260>
xor    %eax,%eax
mov    %eax,-0x40(%rbp)
jmp    137e <get_first_winning_move_3+0x26e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x40(%rbp)
mov    -0x40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13a4 <get_first_winning_move_3+0x294>
xor    %eax,%eax
mov    %eax,-0x44(%rbp)
jmp    13b2 <get_first_winning_move_3+0x2a2>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x44(%rbp)
mov    -0x44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13d0 <get_first_winning_move_3+0x2c0>
xor    %eax,%eax
mov    %eax,-0x48(%rbp)
jmp    13de <get_first_winning_move_3+0x2ce>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x48(%rbp)
mov    -0x48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1430 <get_first_winning_move_3+0x320>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    144f <get_first_winning_move_3+0x33f>
xor    %eax,%eax
mov    %eax,-0x4c(%rbp)
jmp    145d <get_first_winning_move_3+0x34d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    147b <get_first_winning_move_3+0x36b>
xor    %eax,%eax
mov    %eax,-0x50(%rbp)
jmp    1489 <get_first_winning_move_3+0x379>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x50(%rbp)
mov    -0x50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14af <get_first_winning_move_3+0x39f>
xor    %eax,%eax
mov    %eax,-0x54(%rbp)
jmp    14bd <get_first_winning_move_3+0x3ad>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x54(%rbp)
mov    -0x54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14db <get_first_winning_move_3+0x3cb>
xor    %eax,%eax
mov    %eax,-0x58(%rbp)
jmp    14e9 <get_first_winning_move_3+0x3d9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x58(%rbp)
mov    -0x58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    150f <get_first_winning_move_3+0x3ff>
xor    %eax,%eax
mov    %eax,-0x5c(%rbp)
jmp    151d <get_first_winning_move_3+0x40d>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5c(%rbp)
mov    -0x5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    153b <get_first_winning_move_3+0x42b>
xor    %eax,%eax
mov    %eax,-0x60(%rbp)
jmp    1549 <get_first_winning_move_3+0x439>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x60(%rbp)
mov    -0x60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    156f <get_first_winning_move_3+0x45f>
xor    %eax,%eax
mov    %eax,-0x64(%rbp)
jmp    157d <get_first_winning_move_3+0x46d>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x64(%rbp)
mov    -0x64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    159b <get_first_winning_move_3+0x48b>
xor    %eax,%eax
mov    %eax,-0x68(%rbp)
jmp    15a9 <get_first_winning_move_3+0x499>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1d65 <get_first_winning_move_3+0xc55>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1985 <get_first_winning_move_3+0x875>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15f2 <get_first_winning_move_3+0x4e2>
xor    %eax,%eax
mov    %eax,-0x6c(%rbp)
jmp    1600 <get_first_winning_move_3+0x4f0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    161e <get_first_winning_move_3+0x50e>
xor    %eax,%eax
mov    %eax,-0x70(%rbp)
jmp    162c <get_first_winning_move_3+0x51c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x70(%rbp)
mov    -0x70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1652 <get_first_winning_move_3+0x542>
xor    %eax,%eax
mov    %eax,-0x74(%rbp)
jmp    1660 <get_first_winning_move_3+0x550>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x74(%rbp)
mov    -0x74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    167e <get_first_winning_move_3+0x56e>
xor    %eax,%eax
mov    %eax,-0x78(%rbp)
jmp    168c <get_first_winning_move_3+0x57c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x78(%rbp)
mov    -0x78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16b2 <get_first_winning_move_3+0x5a2>
xor    %eax,%eax
mov    %eax,-0x7c(%rbp)
jmp    16c0 <get_first_winning_move_3+0x5b0>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16de <get_first_winning_move_3+0x5ce>
xor    %eax,%eax
mov    %eax,-0x80(%rbp)
jmp    16ec <get_first_winning_move_3+0x5dc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x80(%rbp)
mov    -0x80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1715 <get_first_winning_move_3+0x605>
xor    %eax,%eax
mov    %eax,-0x84(%rbp)
jmp    1726 <get_first_winning_move_3+0x616>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x84(%rbp)
mov    -0x84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    174a <get_first_winning_move_3+0x63a>
xor    %eax,%eax
mov    %eax,-0x88(%rbp)
jmp    175b <get_first_winning_move_3+0x64b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x88(%rbp)
mov    -0x88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     17b0 <get_first_winning_move_3+0x6a0>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    17d2 <get_first_winning_move_3+0x6c2>
xor    %eax,%eax
mov    %eax,-0x8c(%rbp)
jmp    17e3 <get_first_winning_move_3+0x6d3>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8c(%rbp)
mov    -0x8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1807 <get_first_winning_move_3+0x6f7>
xor    %eax,%eax
mov    %eax,-0x90(%rbp)
jmp    1818 <get_first_winning_move_3+0x708>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x90(%rbp)
mov    -0x90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1844 <get_first_winning_move_3+0x734>
xor    %eax,%eax
mov    %eax,-0x94(%rbp)
jmp    1855 <get_first_winning_move_3+0x745>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x94(%rbp)
mov    -0x94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1879 <get_first_winning_move_3+0x769>
xor    %eax,%eax
mov    %eax,-0x98(%rbp)
jmp    188a <get_first_winning_move_3+0x77a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x98(%rbp)
mov    -0x98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    18b6 <get_first_winning_move_3+0x7a6>
xor    %eax,%eax
mov    %eax,-0x9c(%rbp)
jmp    18c7 <get_first_winning_move_3+0x7b7>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    18eb <get_first_winning_move_3+0x7db>
xor    %eax,%eax
mov    %eax,-0xa0(%rbp)
jmp    18fc <get_first_winning_move_3+0x7ec>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa0(%rbp)
mov    -0xa0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1928 <get_first_winning_move_3+0x818>
xor    %eax,%eax
mov    %eax,-0xa4(%rbp)
jmp    1939 <get_first_winning_move_3+0x829>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa4(%rbp)
mov    -0xa4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    195d <get_first_winning_move_3+0x84d>
xor    %eax,%eax
mov    %eax,-0xa8(%rbp)
jmp    196e <get_first_winning_move_3+0x85e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    1d60 <get_first_winning_move_3+0xc50>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    19a7 <get_first_winning_move_3+0x897>
xor    %eax,%eax
mov    %eax,-0xac(%rbp)
jmp    19b8 <get_first_winning_move_3+0x8a8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xac(%rbp)
mov    -0xac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    19dc <get_first_winning_move_3+0x8cc>
xor    %eax,%eax
mov    %eax,-0xb0(%rbp)
jmp    19ed <get_first_winning_move_3+0x8dd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb0(%rbp)
mov    -0xb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1a19 <get_first_winning_move_3+0x909>
xor    %eax,%eax
mov    %eax,-0xb4(%rbp)
jmp    1a2a <get_first_winning_move_3+0x91a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb4(%rbp)
mov    -0xb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1a4e <get_first_winning_move_3+0x93e>
xor    %eax,%eax
mov    %eax,-0xb8(%rbp)
jmp    1a5f <get_first_winning_move_3+0x94f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb8(%rbp)
mov    -0xb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1a8b <get_first_winning_move_3+0x97b>
xor    %eax,%eax
mov    %eax,-0xbc(%rbp)
jmp    1a9c <get_first_winning_move_3+0x98c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1ac0 <get_first_winning_move_3+0x9b0>
xor    %eax,%eax
mov    %eax,-0xc0(%rbp)
jmp    1ad1 <get_first_winning_move_3+0x9c1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc0(%rbp)
mov    -0xc0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1afd <get_first_winning_move_3+0x9ed>
xor    %eax,%eax
mov    %eax,-0xc4(%rbp)
jmp    1b0e <get_first_winning_move_3+0x9fe>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc4(%rbp)
mov    -0xc4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1b32 <get_first_winning_move_3+0xa22>
xor    %eax,%eax
mov    %eax,-0xc8(%rbp)
jmp    1b43 <get_first_winning_move_3+0xa33>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc8(%rbp)
mov    -0xc8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1b98 <get_first_winning_move_3+0xa88>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1bba <get_first_winning_move_3+0xaaa>
xor    %eax,%eax
mov    %eax,-0xcc(%rbp)
jmp    1bcb <get_first_winning_move_3+0xabb>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcc(%rbp)
mov    -0xcc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1bef <get_first_winning_move_3+0xadf>
xor    %eax,%eax
mov    %eax,-0xd0(%rbp)
jmp    1c00 <get_first_winning_move_3+0xaf0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd0(%rbp)
mov    -0xd0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1c2c <get_first_winning_move_3+0xb1c>
xor    %eax,%eax
mov    %eax,-0xd4(%rbp)
jmp    1c3d <get_first_winning_move_3+0xb2d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd4(%rbp)
mov    -0xd4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1c61 <get_first_winning_move_3+0xb51>
xor    %eax,%eax
mov    %eax,-0xd8(%rbp)
jmp    1c72 <get_first_winning_move_3+0xb62>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd8(%rbp)
mov    -0xd8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1c9e <get_first_winning_move_3+0xb8e>
xor    %eax,%eax
mov    %eax,-0xdc(%rbp)
jmp    1caf <get_first_winning_move_3+0xb9f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdc(%rbp)
mov    -0xdc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1cd3 <get_first_winning_move_3+0xbc3>
xor    %eax,%eax
mov    %eax,-0xe0(%rbp)
jmp    1ce4 <get_first_winning_move_3+0xbd4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe0(%rbp)
mov    -0xe0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1d10 <get_first_winning_move_3+0xc00>
xor    %eax,%eax
mov    %eax,-0xe4(%rbp)
jmp    1d21 <get_first_winning_move_3+0xc11>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe4(%rbp)
mov    -0xe4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1d45 <get_first_winning_move_3+0xc35>
xor    %eax,%eax
mov    %eax,-0xe8(%rbp)
jmp    1d56 <get_first_winning_move_3+0xc46>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe8(%rbp)
mov    -0xe8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    1d65 <get_first_winning_move_3+0xc55>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    1d72 <get_first_winning_move_3+0xc62>
jmp    16422 <get_first_winning_move_3+0x15312>
movswl -0x16(%rbp),%eax
cmp    $0x1,%eax
jne    2a0c <get_first_winning_move_3+0x18fc>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     2a07 <get_first_winning_move_3+0x18f7>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    2a07 <get_first_winning_move_3+0x18f7>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     2a07 <get_first_winning_move_3+0x18f7>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     2a02 <get_first_winning_move_3+0x18f2>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     2a02 <get_first_winning_move_3+0x18f2>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     2a02 <get_first_winning_move_3+0x18f2>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     2a02 <get_first_winning_move_3+0x18f2>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     2a02 <get_first_winning_move_3+0x18f2>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    221c <get_first_winning_move_3+0x110c>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1e56 <get_first_winning_move_3+0xd46>
xor    %eax,%eax
mov    %eax,-0xec(%rbp)
jmp    1e67 <get_first_winning_move_3+0xd57>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xec(%rbp)
mov    -0xec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1e8b <get_first_winning_move_3+0xd7b>
xor    %eax,%eax
mov    %eax,-0xf0(%rbp)
jmp    1e9c <get_first_winning_move_3+0xd8c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf0(%rbp)
mov    -0xf0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1ec8 <get_first_winning_move_3+0xdb8>
xor    %eax,%eax
mov    %eax,-0xf4(%rbp)
jmp    1ed9 <get_first_winning_move_3+0xdc9>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf4(%rbp)
mov    -0xf4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1efd <get_first_winning_move_3+0xded>
xor    %eax,%eax
mov    %eax,-0xf8(%rbp)
jmp    1f0e <get_first_winning_move_3+0xdfe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf8(%rbp)
mov    -0xf8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1f3a <get_first_winning_move_3+0xe2a>
xor    %eax,%eax
mov    %eax,-0xfc(%rbp)
jmp    1f4b <get_first_winning_move_3+0xe3b>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfc(%rbp)
mov    -0xfc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1f6f <get_first_winning_move_3+0xe5f>
xor    %eax,%eax
mov    %eax,-0x100(%rbp)
jmp    1f80 <get_first_winning_move_3+0xe70>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x100(%rbp)
mov    -0x100(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1fac <get_first_winning_move_3+0xe9c>
xor    %eax,%eax
mov    %eax,-0x104(%rbp)
jmp    1fbd <get_first_winning_move_3+0xead>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x104(%rbp)
mov    -0x104(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1fe1 <get_first_winning_move_3+0xed1>
xor    %eax,%eax
mov    %eax,-0x108(%rbp)
jmp    1ff2 <get_first_winning_move_3+0xee2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x108(%rbp)
mov    -0x108(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     2047 <get_first_winning_move_3+0xf37>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2069 <get_first_winning_move_3+0xf59>
xor    %eax,%eax
mov    %eax,-0x10c(%rbp)
jmp    207a <get_first_winning_move_3+0xf6a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10c(%rbp)
mov    -0x10c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    209e <get_first_winning_move_3+0xf8e>
xor    %eax,%eax
mov    %eax,-0x110(%rbp)
jmp    20af <get_first_winning_move_3+0xf9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x110(%rbp)
mov    -0x110(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    20db <get_first_winning_move_3+0xfcb>
xor    %eax,%eax
mov    %eax,-0x114(%rbp)
jmp    20ec <get_first_winning_move_3+0xfdc>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x114(%rbp)
mov    -0x114(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2110 <get_first_winning_move_3+0x1000>
xor    %eax,%eax
mov    %eax,-0x118(%rbp)
jmp    2121 <get_first_winning_move_3+0x1011>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x118(%rbp)
mov    -0x118(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    214d <get_first_winning_move_3+0x103d>
xor    %eax,%eax
mov    %eax,-0x11c(%rbp)
jmp    215e <get_first_winning_move_3+0x104e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x11c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2182 <get_first_winning_move_3+0x1072>
xor    %eax,%eax
mov    %eax,-0x120(%rbp)
jmp    2193 <get_first_winning_move_3+0x1083>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x120(%rbp)
mov    -0x120(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    21bf <get_first_winning_move_3+0x10af>
xor    %eax,%eax
mov    %eax,-0x124(%rbp)
jmp    21d0 <get_first_winning_move_3+0x10c0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x124(%rbp)
mov    -0x124(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    21f4 <get_first_winning_move_3+0x10e4>
xor    %eax,%eax
mov    %eax,-0x128(%rbp)
jmp    2205 <get_first_winning_move_3+0x10f5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x128(%rbp)
mov    -0x128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    29fa <get_first_winning_move_3+0x18ea>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    261a <get_first_winning_move_3+0x150a>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2254 <get_first_winning_move_3+0x1144>
xor    %eax,%eax
mov    %eax,-0x12c(%rbp)
jmp    2265 <get_first_winning_move_3+0x1155>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12c(%rbp)
mov    -0x12c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2289 <get_first_winning_move_3+0x1179>
xor    %eax,%eax
mov    %eax,-0x130(%rbp)
jmp    229a <get_first_winning_move_3+0x118a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x130(%rbp)
mov    -0x130(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    22c6 <get_first_winning_move_3+0x11b6>
xor    %eax,%eax
mov    %eax,-0x134(%rbp)
jmp    22d7 <get_first_winning_move_3+0x11c7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x134(%rbp)
mov    -0x134(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    22fb <get_first_winning_move_3+0x11eb>
xor    %eax,%eax
mov    %eax,-0x138(%rbp)
jmp    230c <get_first_winning_move_3+0x11fc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x138(%rbp)
mov    -0x138(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2338 <get_first_winning_move_3+0x1228>
xor    %eax,%eax
mov    %eax,-0x13c(%rbp)
jmp    2349 <get_first_winning_move_3+0x1239>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13c(%rbp)
mov    -0x13c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    236d <get_first_winning_move_3+0x125d>
xor    %eax,%eax
mov    %eax,-0x140(%rbp)
jmp    237e <get_first_winning_move_3+0x126e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x140(%rbp)
mov    -0x140(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    23aa <get_first_winning_move_3+0x129a>
xor    %eax,%eax
mov    %eax,-0x144(%rbp)
jmp    23bb <get_first_winning_move_3+0x12ab>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x144(%rbp)
mov    -0x144(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    23df <get_first_winning_move_3+0x12cf>
xor    %eax,%eax
mov    %eax,-0x148(%rbp)
jmp    23f0 <get_first_winning_move_3+0x12e0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x148(%rbp)
mov    -0x148(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     2445 <get_first_winning_move_3+0x1335>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2467 <get_first_winning_move_3+0x1357>
xor    %eax,%eax
mov    %eax,-0x14c(%rbp)
jmp    2478 <get_first_winning_move_3+0x1368>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x14c(%rbp)
mov    -0x14c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    249c <get_first_winning_move_3+0x138c>
xor    %eax,%eax
mov    %eax,-0x150(%rbp)
jmp    24ad <get_first_winning_move_3+0x139d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x150(%rbp)
mov    -0x150(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    24d9 <get_first_winning_move_3+0x13c9>
xor    %eax,%eax
mov    %eax,-0x154(%rbp)
jmp    24ea <get_first_winning_move_3+0x13da>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x154(%rbp)
mov    -0x154(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    250e <get_first_winning_move_3+0x13fe>
xor    %eax,%eax
mov    %eax,-0x158(%rbp)
jmp    251f <get_first_winning_move_3+0x140f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x158(%rbp)
mov    -0x158(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    254b <get_first_winning_move_3+0x143b>
xor    %eax,%eax
mov    %eax,-0x15c(%rbp)
jmp    255c <get_first_winning_move_3+0x144c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x15c(%rbp)
mov    -0x15c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2580 <get_first_winning_move_3+0x1470>
xor    %eax,%eax
mov    %eax,-0x160(%rbp)
jmp    2591 <get_first_winning_move_3+0x1481>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x160(%rbp)
mov    -0x160(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    25bd <get_first_winning_move_3+0x14ad>
xor    %eax,%eax
mov    %eax,-0x164(%rbp)
jmp    25ce <get_first_winning_move_3+0x14be>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x164(%rbp)
mov    -0x164(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    25f2 <get_first_winning_move_3+0x14e2>
xor    %eax,%eax
mov    %eax,-0x168(%rbp)
jmp    2603 <get_first_winning_move_3+0x14f3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x168(%rbp)
mov    -0x168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    29f5 <get_first_winning_move_3+0x18e5>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    263c <get_first_winning_move_3+0x152c>
xor    %eax,%eax
mov    %eax,-0x16c(%rbp)
jmp    264d <get_first_winning_move_3+0x153d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x16c(%rbp)
mov    -0x16c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2671 <get_first_winning_move_3+0x1561>
xor    %eax,%eax
mov    %eax,-0x170(%rbp)
jmp    2682 <get_first_winning_move_3+0x1572>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x170(%rbp)
mov    -0x170(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    26ae <get_first_winning_move_3+0x159e>
xor    %eax,%eax
mov    %eax,-0x174(%rbp)
jmp    26bf <get_first_winning_move_3+0x15af>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x174(%rbp)
mov    -0x174(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    26e3 <get_first_winning_move_3+0x15d3>
xor    %eax,%eax
mov    %eax,-0x178(%rbp)
jmp    26f4 <get_first_winning_move_3+0x15e4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x178(%rbp)
mov    -0x178(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2720 <get_first_winning_move_3+0x1610>
xor    %eax,%eax
mov    %eax,-0x17c(%rbp)
jmp    2731 <get_first_winning_move_3+0x1621>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x17c(%rbp)
mov    -0x17c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2755 <get_first_winning_move_3+0x1645>
xor    %eax,%eax
mov    %eax,-0x180(%rbp)
jmp    2766 <get_first_winning_move_3+0x1656>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x180(%rbp)
mov    -0x180(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    2792 <get_first_winning_move_3+0x1682>
xor    %eax,%eax
mov    %eax,-0x184(%rbp)
jmp    27a3 <get_first_winning_move_3+0x1693>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x184(%rbp)
mov    -0x184(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    27c7 <get_first_winning_move_3+0x16b7>
xor    %eax,%eax
mov    %eax,-0x188(%rbp)
jmp    27d8 <get_first_winning_move_3+0x16c8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x188(%rbp)
mov    -0x188(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     282d <get_first_winning_move_3+0x171d>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    284f <get_first_winning_move_3+0x173f>
xor    %eax,%eax
mov    %eax,-0x18c(%rbp)
jmp    2860 <get_first_winning_move_3+0x1750>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x18c(%rbp)
mov    -0x18c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2884 <get_first_winning_move_3+0x1774>
xor    %eax,%eax
mov    %eax,-0x190(%rbp)
jmp    2895 <get_first_winning_move_3+0x1785>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x190(%rbp)
mov    -0x190(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    28c1 <get_first_winning_move_3+0x17b1>
xor    %eax,%eax
mov    %eax,-0x194(%rbp)
jmp    28d2 <get_first_winning_move_3+0x17c2>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x194(%rbp)
mov    -0x194(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    28f6 <get_first_winning_move_3+0x17e6>
xor    %eax,%eax
mov    %eax,-0x198(%rbp)
jmp    2907 <get_first_winning_move_3+0x17f7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x198(%rbp)
mov    -0x198(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2933 <get_first_winning_move_3+0x1823>
xor    %eax,%eax
mov    %eax,-0x19c(%rbp)
jmp    2944 <get_first_winning_move_3+0x1834>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x19c(%rbp)
mov    -0x19c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2968 <get_first_winning_move_3+0x1858>
xor    %eax,%eax
mov    %eax,-0x1a0(%rbp)
jmp    2979 <get_first_winning_move_3+0x1869>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1a0(%rbp)
mov    -0x1a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    29a5 <get_first_winning_move_3+0x1895>
xor    %eax,%eax
mov    %eax,-0x1a4(%rbp)
jmp    29b6 <get_first_winning_move_3+0x18a6>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1a4(%rbp)
mov    -0x1a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    29da <get_first_winning_move_3+0x18ca>
xor    %eax,%eax
mov    %eax,-0x1a8(%rbp)
jmp    29eb <get_first_winning_move_3+0x18db>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    29fa <get_first_winning_move_3+0x18ea>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    2a07 <get_first_winning_move_3+0x18f7>
jmp    1641d <get_first_winning_move_3+0x1530d>
movswl -0x16(%rbp),%eax
cmp    $0x2,%eax
jne    3694 <get_first_winning_move_3+0x2584>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     368f <get_first_winning_move_3+0x257f>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     368f <get_first_winning_move_3+0x257f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     368a <get_first_winning_move_3+0x257a>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     368a <get_first_winning_move_3+0x257a>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     368a <get_first_winning_move_3+0x257a>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     368a <get_first_winning_move_3+0x257a>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     368a <get_first_winning_move_3+0x257a>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    2ea4 <get_first_winning_move_3+0x1d94>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2ade <get_first_winning_move_3+0x19ce>
xor    %eax,%eax
mov    %eax,-0x1ac(%rbp)
jmp    2aef <get_first_winning_move_3+0x19df>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1ac(%rbp)
mov    -0x1ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2b13 <get_first_winning_move_3+0x1a03>
xor    %eax,%eax
mov    %eax,-0x1b0(%rbp)
jmp    2b24 <get_first_winning_move_3+0x1a14>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1b0(%rbp)
mov    -0x1b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    2b50 <get_first_winning_move_3+0x1a40>
xor    %eax,%eax
mov    %eax,-0x1b4(%rbp)
jmp    2b61 <get_first_winning_move_3+0x1a51>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1b4(%rbp)
mov    -0x1b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2b85 <get_first_winning_move_3+0x1a75>
xor    %eax,%eax
mov    %eax,-0x1b8(%rbp)
jmp    2b96 <get_first_winning_move_3+0x1a86>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1b8(%rbp)
mov    -0x1b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2bc2 <get_first_winning_move_3+0x1ab2>
xor    %eax,%eax
mov    %eax,-0x1bc(%rbp)
jmp    2bd3 <get_first_winning_move_3+0x1ac3>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1bc(%rbp)
mov    -0x1bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2bf7 <get_first_winning_move_3+0x1ae7>
xor    %eax,%eax
mov    %eax,-0x1c0(%rbp)
jmp    2c08 <get_first_winning_move_3+0x1af8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1c0(%rbp)
mov    -0x1c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    2c34 <get_first_winning_move_3+0x1b24>
xor    %eax,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2c45 <get_first_winning_move_3+0x1b35>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1c4(%rbp)
mov    -0x1c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2c69 <get_first_winning_move_3+0x1b59>
xor    %eax,%eax
mov    %eax,-0x1c8(%rbp)
jmp    2c7a <get_first_winning_move_3+0x1b6a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1c8(%rbp)
mov    -0x1c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     2ccf <get_first_winning_move_3+0x1bbf>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2cf1 <get_first_winning_move_3+0x1be1>
xor    %eax,%eax
mov    %eax,-0x1cc(%rbp)
jmp    2d02 <get_first_winning_move_3+0x1bf2>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1cc(%rbp)
mov    -0x1cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2d26 <get_first_winning_move_3+0x1c16>
xor    %eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2d37 <get_first_winning_move_3+0x1c27>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1d0(%rbp)
mov    -0x1d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    2d63 <get_first_winning_move_3+0x1c53>
xor    %eax,%eax
mov    %eax,-0x1d4(%rbp)
jmp    2d74 <get_first_winning_move_3+0x1c64>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1d4(%rbp)
mov    -0x1d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2d98 <get_first_winning_move_3+0x1c88>
xor    %eax,%eax
mov    %eax,-0x1d8(%rbp)
jmp    2da9 <get_first_winning_move_3+0x1c99>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1d8(%rbp)
mov    -0x1d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2dd5 <get_first_winning_move_3+0x1cc5>
xor    %eax,%eax
mov    %eax,-0x1dc(%rbp)
jmp    2de6 <get_first_winning_move_3+0x1cd6>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1dc(%rbp)
mov    -0x1dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2e0a <get_first_winning_move_3+0x1cfa>
xor    %eax,%eax
mov    %eax,-0x1e0(%rbp)
jmp    2e1b <get_first_winning_move_3+0x1d0b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1e0(%rbp)
mov    -0x1e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    2e47 <get_first_winning_move_3+0x1d37>
xor    %eax,%eax
mov    %eax,-0x1e4(%rbp)
jmp    2e58 <get_first_winning_move_3+0x1d48>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1e4(%rbp)
mov    -0x1e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2e7c <get_first_winning_move_3+0x1d6c>
xor    %eax,%eax
mov    %eax,-0x1e8(%rbp)
jmp    2e8d <get_first_winning_move_3+0x1d7d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    3682 <get_first_winning_move_3+0x2572>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    32a2 <get_first_winning_move_3+0x2192>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2edc <get_first_winning_move_3+0x1dcc>
xor    %eax,%eax
mov    %eax,-0x1ec(%rbp)
jmp    2eed <get_first_winning_move_3+0x1ddd>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1ec(%rbp)
mov    -0x1ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2f11 <get_first_winning_move_3+0x1e01>
xor    %eax,%eax
mov    %eax,-0x1f0(%rbp)
jmp    2f22 <get_first_winning_move_3+0x1e12>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1f0(%rbp)
mov    -0x1f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    2f4e <get_first_winning_move_3+0x1e3e>
xor    %eax,%eax
mov    %eax,-0x1f4(%rbp)
jmp    2f5f <get_first_winning_move_3+0x1e4f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1f4(%rbp)
mov    -0x1f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2f83 <get_first_winning_move_3+0x1e73>
xor    %eax,%eax
mov    %eax,-0x1f8(%rbp)
jmp    2f94 <get_first_winning_move_3+0x1e84>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1f8(%rbp)
mov    -0x1f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2fc0 <get_first_winning_move_3+0x1eb0>
xor    %eax,%eax
mov    %eax,-0x1fc(%rbp)
jmp    2fd1 <get_first_winning_move_3+0x1ec1>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1fc(%rbp)
mov    -0x1fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    2ff5 <get_first_winning_move_3+0x1ee5>
xor    %eax,%eax
mov    %eax,-0x200(%rbp)
jmp    3006 <get_first_winning_move_3+0x1ef6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x200(%rbp)
mov    -0x200(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    3032 <get_first_winning_move_3+0x1f22>
xor    %eax,%eax
mov    %eax,-0x204(%rbp)
jmp    3043 <get_first_winning_move_3+0x1f33>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x204(%rbp)
mov    -0x204(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3067 <get_first_winning_move_3+0x1f57>
xor    %eax,%eax
mov    %eax,-0x208(%rbp)
jmp    3078 <get_first_winning_move_3+0x1f68>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x208(%rbp)
mov    -0x208(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     30cd <get_first_winning_move_3+0x1fbd>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    30ef <get_first_winning_move_3+0x1fdf>
xor    %eax,%eax
mov    %eax,-0x20c(%rbp)
jmp    3100 <get_first_winning_move_3+0x1ff0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x20c(%rbp)
mov    -0x20c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3124 <get_first_winning_move_3+0x2014>
xor    %eax,%eax
mov    %eax,-0x210(%rbp)
jmp    3135 <get_first_winning_move_3+0x2025>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x210(%rbp)
mov    -0x210(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3161 <get_first_winning_move_3+0x2051>
xor    %eax,%eax
mov    %eax,-0x214(%rbp)
jmp    3172 <get_first_winning_move_3+0x2062>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x214(%rbp)
mov    -0x214(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3196 <get_first_winning_move_3+0x2086>
xor    %eax,%eax
mov    %eax,-0x218(%rbp)
jmp    31a7 <get_first_winning_move_3+0x2097>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x218(%rbp)
mov    -0x218(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    31d3 <get_first_winning_move_3+0x20c3>
xor    %eax,%eax
mov    %eax,-0x21c(%rbp)
jmp    31e4 <get_first_winning_move_3+0x20d4>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x21c(%rbp)
mov    -0x21c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3208 <get_first_winning_move_3+0x20f8>
xor    %eax,%eax
mov    %eax,-0x220(%rbp)
jmp    3219 <get_first_winning_move_3+0x2109>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x220(%rbp)
mov    -0x220(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    3245 <get_first_winning_move_3+0x2135>
xor    %eax,%eax
mov    %eax,-0x224(%rbp)
jmp    3256 <get_first_winning_move_3+0x2146>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x224(%rbp)
mov    -0x224(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    327a <get_first_winning_move_3+0x216a>
xor    %eax,%eax
mov    %eax,-0x228(%rbp)
jmp    328b <get_first_winning_move_3+0x217b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x228(%rbp)
mov    -0x228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    367d <get_first_winning_move_3+0x256d>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    32c4 <get_first_winning_move_3+0x21b4>
xor    %eax,%eax
mov    %eax,-0x22c(%rbp)
jmp    32d5 <get_first_winning_move_3+0x21c5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x22c(%rbp)
mov    -0x22c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    32f9 <get_first_winning_move_3+0x21e9>
xor    %eax,%eax
mov    %eax,-0x230(%rbp)
jmp    330a <get_first_winning_move_3+0x21fa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x230(%rbp)
mov    -0x230(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3336 <get_first_winning_move_3+0x2226>
xor    %eax,%eax
mov    %eax,-0x234(%rbp)
jmp    3347 <get_first_winning_move_3+0x2237>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x234(%rbp)
mov    -0x234(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    336b <get_first_winning_move_3+0x225b>
xor    %eax,%eax
mov    %eax,-0x238(%rbp)
jmp    337c <get_first_winning_move_3+0x226c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x238(%rbp)
mov    -0x238(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    33a8 <get_first_winning_move_3+0x2298>
xor    %eax,%eax
mov    %eax,-0x23c(%rbp)
jmp    33b9 <get_first_winning_move_3+0x22a9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x23c(%rbp)
mov    -0x23c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    33dd <get_first_winning_move_3+0x22cd>
xor    %eax,%eax
mov    %eax,-0x240(%rbp)
jmp    33ee <get_first_winning_move_3+0x22de>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x240(%rbp)
mov    -0x240(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    341a <get_first_winning_move_3+0x230a>
xor    %eax,%eax
mov    %eax,-0x244(%rbp)
jmp    342b <get_first_winning_move_3+0x231b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x244(%rbp)
mov    -0x244(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    344f <get_first_winning_move_3+0x233f>
xor    %eax,%eax
mov    %eax,-0x248(%rbp)
jmp    3460 <get_first_winning_move_3+0x2350>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x248(%rbp)
mov    -0x248(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     34b5 <get_first_winning_move_3+0x23a5>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    34d7 <get_first_winning_move_3+0x23c7>
xor    %eax,%eax
mov    %eax,-0x24c(%rbp)
jmp    34e8 <get_first_winning_move_3+0x23d8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x24c(%rbp)
mov    -0x24c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    350c <get_first_winning_move_3+0x23fc>
xor    %eax,%eax
mov    %eax,-0x250(%rbp)
jmp    351d <get_first_winning_move_3+0x240d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x250(%rbp)
mov    -0x250(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3549 <get_first_winning_move_3+0x2439>
xor    %eax,%eax
mov    %eax,-0x254(%rbp)
jmp    355a <get_first_winning_move_3+0x244a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x254(%rbp)
mov    -0x254(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    357e <get_first_winning_move_3+0x246e>
xor    %eax,%eax
mov    %eax,-0x258(%rbp)
jmp    358f <get_first_winning_move_3+0x247f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x258(%rbp)
mov    -0x258(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    35bb <get_first_winning_move_3+0x24ab>
xor    %eax,%eax
mov    %eax,-0x25c(%rbp)
jmp    35cc <get_first_winning_move_3+0x24bc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x25c(%rbp)
mov    -0x25c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    35f0 <get_first_winning_move_3+0x24e0>
xor    %eax,%eax
mov    %eax,-0x260(%rbp)
jmp    3601 <get_first_winning_move_3+0x24f1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x260(%rbp)
mov    -0x260(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    362d <get_first_winning_move_3+0x251d>
xor    %eax,%eax
mov    %eax,-0x264(%rbp)
jmp    363e <get_first_winning_move_3+0x252e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x264(%rbp)
mov    -0x264(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3662 <get_first_winning_move_3+0x2552>
xor    %eax,%eax
mov    %eax,-0x268(%rbp)
jmp    3673 <get_first_winning_move_3+0x2563>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x268(%rbp)
mov    -0x268(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    3682 <get_first_winning_move_3+0x2572>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    368f <get_first_winning_move_3+0x257f>
jmp    16418 <get_first_winning_move_3+0x15308>
movswl -0x16(%rbp),%eax
cmp    $0x3,%eax
jne    432d <get_first_winning_move_3+0x321d>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     4328 <get_first_winning_move_3+0x3218>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    4328 <get_first_winning_move_3+0x3218>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     4328 <get_first_winning_move_3+0x3218>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     4323 <get_first_winning_move_3+0x3213>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     4323 <get_first_winning_move_3+0x3213>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     4323 <get_first_winning_move_3+0x3213>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     4323 <get_first_winning_move_3+0x3213>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     4323 <get_first_winning_move_3+0x3213>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3b3d <get_first_winning_move_3+0x2a2d>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3777 <get_first_winning_move_3+0x2667>
xor    %eax,%eax
mov    %eax,-0x26c(%rbp)
jmp    3788 <get_first_winning_move_3+0x2678>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x26c(%rbp)
mov    -0x26c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    37ac <get_first_winning_move_3+0x269c>
xor    %eax,%eax
mov    %eax,-0x270(%rbp)
jmp    37bd <get_first_winning_move_3+0x26ad>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x270(%rbp)
mov    -0x270(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    37e9 <get_first_winning_move_3+0x26d9>
xor    %eax,%eax
mov    %eax,-0x274(%rbp)
jmp    37fa <get_first_winning_move_3+0x26ea>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x274(%rbp)
mov    -0x274(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    381e <get_first_winning_move_3+0x270e>
xor    %eax,%eax
mov    %eax,-0x278(%rbp)
jmp    382f <get_first_winning_move_3+0x271f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x278(%rbp)
mov    -0x278(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    385b <get_first_winning_move_3+0x274b>
xor    %eax,%eax
mov    %eax,-0x27c(%rbp)
jmp    386c <get_first_winning_move_3+0x275c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x27c(%rbp)
mov    -0x27c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3890 <get_first_winning_move_3+0x2780>
xor    %eax,%eax
mov    %eax,-0x280(%rbp)
jmp    38a1 <get_first_winning_move_3+0x2791>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x280(%rbp)
mov    -0x280(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    38cd <get_first_winning_move_3+0x27bd>
xor    %eax,%eax
mov    %eax,-0x284(%rbp)
jmp    38de <get_first_winning_move_3+0x27ce>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x284(%rbp)
mov    -0x284(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3902 <get_first_winning_move_3+0x27f2>
xor    %eax,%eax
mov    %eax,-0x288(%rbp)
jmp    3913 <get_first_winning_move_3+0x2803>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x288(%rbp)
mov    -0x288(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     3968 <get_first_winning_move_3+0x2858>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    398a <get_first_winning_move_3+0x287a>
xor    %eax,%eax
mov    %eax,-0x28c(%rbp)
jmp    399b <get_first_winning_move_3+0x288b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x28c(%rbp)
mov    -0x28c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    39bf <get_first_winning_move_3+0x28af>
xor    %eax,%eax
mov    %eax,-0x290(%rbp)
jmp    39d0 <get_first_winning_move_3+0x28c0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x290(%rbp)
mov    -0x290(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    39fc <get_first_winning_move_3+0x28ec>
xor    %eax,%eax
mov    %eax,-0x294(%rbp)
jmp    3a0d <get_first_winning_move_3+0x28fd>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x294(%rbp)
mov    -0x294(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3a31 <get_first_winning_move_3+0x2921>
xor    %eax,%eax
mov    %eax,-0x298(%rbp)
jmp    3a42 <get_first_winning_move_3+0x2932>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x298(%rbp)
mov    -0x298(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3a6e <get_first_winning_move_3+0x295e>
xor    %eax,%eax
mov    %eax,-0x29c(%rbp)
jmp    3a7f <get_first_winning_move_3+0x296f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x29c(%rbp)
mov    -0x29c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3aa3 <get_first_winning_move_3+0x2993>
xor    %eax,%eax
mov    %eax,-0x2a0(%rbp)
jmp    3ab4 <get_first_winning_move_3+0x29a4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2a0(%rbp)
mov    -0x2a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    3ae0 <get_first_winning_move_3+0x29d0>
xor    %eax,%eax
mov    %eax,-0x2a4(%rbp)
jmp    3af1 <get_first_winning_move_3+0x29e1>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2a4(%rbp)
mov    -0x2a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3b15 <get_first_winning_move_3+0x2a05>
xor    %eax,%eax
mov    %eax,-0x2a8(%rbp)
jmp    3b26 <get_first_winning_move_3+0x2a16>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2a8(%rbp)
mov    -0x2a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    431b <get_first_winning_move_3+0x320b>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3f3b <get_first_winning_move_3+0x2e2b>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3b75 <get_first_winning_move_3+0x2a65>
xor    %eax,%eax
mov    %eax,-0x2ac(%rbp)
jmp    3b86 <get_first_winning_move_3+0x2a76>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2ac(%rbp)
mov    -0x2ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3baa <get_first_winning_move_3+0x2a9a>
xor    %eax,%eax
mov    %eax,-0x2b0(%rbp)
jmp    3bbb <get_first_winning_move_3+0x2aab>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2b0(%rbp)
mov    -0x2b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3be7 <get_first_winning_move_3+0x2ad7>
xor    %eax,%eax
mov    %eax,-0x2b4(%rbp)
jmp    3bf8 <get_first_winning_move_3+0x2ae8>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2b4(%rbp)
mov    -0x2b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3c1c <get_first_winning_move_3+0x2b0c>
xor    %eax,%eax
mov    %eax,-0x2b8(%rbp)
jmp    3c2d <get_first_winning_move_3+0x2b1d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2b8(%rbp)
mov    -0x2b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3c59 <get_first_winning_move_3+0x2b49>
xor    %eax,%eax
mov    %eax,-0x2bc(%rbp)
jmp    3c6a <get_first_winning_move_3+0x2b5a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2bc(%rbp)
mov    -0x2bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3c8e <get_first_winning_move_3+0x2b7e>
xor    %eax,%eax
mov    %eax,-0x2c0(%rbp)
jmp    3c9f <get_first_winning_move_3+0x2b8f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2c0(%rbp)
mov    -0x2c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    3ccb <get_first_winning_move_3+0x2bbb>
xor    %eax,%eax
mov    %eax,-0x2c4(%rbp)
jmp    3cdc <get_first_winning_move_3+0x2bcc>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2c4(%rbp)
mov    -0x2c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3d00 <get_first_winning_move_3+0x2bf0>
xor    %eax,%eax
mov    %eax,-0x2c8(%rbp)
jmp    3d11 <get_first_winning_move_3+0x2c01>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2c8(%rbp)
mov    -0x2c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     3d66 <get_first_winning_move_3+0x2c56>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3d88 <get_first_winning_move_3+0x2c78>
xor    %eax,%eax
mov    %eax,-0x2cc(%rbp)
jmp    3d99 <get_first_winning_move_3+0x2c89>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2cc(%rbp)
mov    -0x2cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3dbd <get_first_winning_move_3+0x2cad>
xor    %eax,%eax
mov    %eax,-0x2d0(%rbp)
jmp    3dce <get_first_winning_move_3+0x2cbe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2d0(%rbp)
mov    -0x2d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3dfa <get_first_winning_move_3+0x2cea>
xor    %eax,%eax
mov    %eax,-0x2d4(%rbp)
jmp    3e0b <get_first_winning_move_3+0x2cfb>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2d4(%rbp)
mov    -0x2d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3e2f <get_first_winning_move_3+0x2d1f>
xor    %eax,%eax
mov    %eax,-0x2d8(%rbp)
jmp    3e40 <get_first_winning_move_3+0x2d30>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2d8(%rbp)
mov    -0x2d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3e6c <get_first_winning_move_3+0x2d5c>
xor    %eax,%eax
mov    %eax,-0x2dc(%rbp)
jmp    3e7d <get_first_winning_move_3+0x2d6d>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2dc(%rbp)
mov    -0x2dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3ea1 <get_first_winning_move_3+0x2d91>
xor    %eax,%eax
mov    %eax,-0x2e0(%rbp)
jmp    3eb2 <get_first_winning_move_3+0x2da2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2e0(%rbp)
mov    -0x2e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    3ede <get_first_winning_move_3+0x2dce>
xor    %eax,%eax
mov    %eax,-0x2e4(%rbp)
jmp    3eef <get_first_winning_move_3+0x2ddf>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2e4(%rbp)
mov    -0x2e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3f13 <get_first_winning_move_3+0x2e03>
xor    %eax,%eax
mov    %eax,-0x2e8(%rbp)
jmp    3f24 <get_first_winning_move_3+0x2e14>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2e8(%rbp)
mov    -0x2e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    4316 <get_first_winning_move_3+0x3206>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3f5d <get_first_winning_move_3+0x2e4d>
xor    %eax,%eax
mov    %eax,-0x2ec(%rbp)
jmp    3f6e <get_first_winning_move_3+0x2e5e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2ec(%rbp)
mov    -0x2ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    3f92 <get_first_winning_move_3+0x2e82>
xor    %eax,%eax
mov    %eax,-0x2f0(%rbp)
jmp    3fa3 <get_first_winning_move_3+0x2e93>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2f0(%rbp)
mov    -0x2f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    3fcf <get_first_winning_move_3+0x2ebf>
xor    %eax,%eax
mov    %eax,-0x2f4(%rbp)
jmp    3fe0 <get_first_winning_move_3+0x2ed0>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2f4(%rbp)
mov    -0x2f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4004 <get_first_winning_move_3+0x2ef4>
xor    %eax,%eax
mov    %eax,-0x2f8(%rbp)
jmp    4015 <get_first_winning_move_3+0x2f05>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2f8(%rbp)
mov    -0x2f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4041 <get_first_winning_move_3+0x2f31>
xor    %eax,%eax
mov    %eax,-0x2fc(%rbp)
jmp    4052 <get_first_winning_move_3+0x2f42>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2fc(%rbp)
mov    -0x2fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4076 <get_first_winning_move_3+0x2f66>
xor    %eax,%eax
mov    %eax,-0x300(%rbp)
jmp    4087 <get_first_winning_move_3+0x2f77>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x300(%rbp)
mov    -0x300(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    40b3 <get_first_winning_move_3+0x2fa3>
xor    %eax,%eax
mov    %eax,-0x304(%rbp)
jmp    40c4 <get_first_winning_move_3+0x2fb4>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x304(%rbp)
mov    -0x304(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    40e8 <get_first_winning_move_3+0x2fd8>
xor    %eax,%eax
mov    %eax,-0x308(%rbp)
jmp    40f9 <get_first_winning_move_3+0x2fe9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x308(%rbp)
mov    -0x308(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     414e <get_first_winning_move_3+0x303e>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4170 <get_first_winning_move_3+0x3060>
xor    %eax,%eax
mov    %eax,-0x30c(%rbp)
jmp    4181 <get_first_winning_move_3+0x3071>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x30c(%rbp)
mov    -0x30c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    41a5 <get_first_winning_move_3+0x3095>
xor    %eax,%eax
mov    %eax,-0x310(%rbp)
jmp    41b6 <get_first_winning_move_3+0x30a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x310(%rbp)
mov    -0x310(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    41e2 <get_first_winning_move_3+0x30d2>
xor    %eax,%eax
mov    %eax,-0x314(%rbp)
jmp    41f3 <get_first_winning_move_3+0x30e3>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x314(%rbp)
mov    -0x314(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4217 <get_first_winning_move_3+0x3107>
xor    %eax,%eax
mov    %eax,-0x318(%rbp)
jmp    4228 <get_first_winning_move_3+0x3118>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x318(%rbp)
mov    -0x318(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4254 <get_first_winning_move_3+0x3144>
xor    %eax,%eax
mov    %eax,-0x31c(%rbp)
jmp    4265 <get_first_winning_move_3+0x3155>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x31c(%rbp)
mov    -0x31c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4289 <get_first_winning_move_3+0x3179>
xor    %eax,%eax
mov    %eax,-0x320(%rbp)
jmp    429a <get_first_winning_move_3+0x318a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x320(%rbp)
mov    -0x320(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    42c6 <get_first_winning_move_3+0x31b6>
xor    %eax,%eax
mov    %eax,-0x324(%rbp)
jmp    42d7 <get_first_winning_move_3+0x31c7>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x324(%rbp)
mov    -0x324(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    42fb <get_first_winning_move_3+0x31eb>
xor    %eax,%eax
mov    %eax,-0x328(%rbp)
jmp    430c <get_first_winning_move_3+0x31fc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x328(%rbp)
mov    -0x328(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    431b <get_first_winning_move_3+0x320b>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    4328 <get_first_winning_move_3+0x3218>
jmp    16413 <get_first_winning_move_3+0x15303>
movswl -0x16(%rbp),%eax
cmp    $0x4,%eax
jne    4fb1 <get_first_winning_move_3+0x3ea1>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     4fac <get_first_winning_move_3+0x3e9c>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    4fac <get_first_winning_move_3+0x3e9c>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     4fa7 <get_first_winning_move_3+0x3e97>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     4fa7 <get_first_winning_move_3+0x3e97>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     4fa7 <get_first_winning_move_3+0x3e97>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     4fa7 <get_first_winning_move_3+0x3e97>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     4fa7 <get_first_winning_move_3+0x3e97>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    47c1 <get_first_winning_move_3+0x36b1>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    43fb <get_first_winning_move_3+0x32eb>
xor    %eax,%eax
mov    %eax,-0x32c(%rbp)
jmp    440c <get_first_winning_move_3+0x32fc>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x32c(%rbp)
mov    -0x32c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4430 <get_first_winning_move_3+0x3320>
xor    %eax,%eax
mov    %eax,-0x330(%rbp)
jmp    4441 <get_first_winning_move_3+0x3331>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x330(%rbp)
mov    -0x330(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    446d <get_first_winning_move_3+0x335d>
xor    %eax,%eax
mov    %eax,-0x334(%rbp)
jmp    447e <get_first_winning_move_3+0x336e>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x334(%rbp)
mov    -0x334(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    44a2 <get_first_winning_move_3+0x3392>
xor    %eax,%eax
mov    %eax,-0x338(%rbp)
jmp    44b3 <get_first_winning_move_3+0x33a3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x338(%rbp)
mov    -0x338(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    44df <get_first_winning_move_3+0x33cf>
xor    %eax,%eax
mov    %eax,-0x33c(%rbp)
jmp    44f0 <get_first_winning_move_3+0x33e0>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x33c(%rbp)
mov    -0x33c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4514 <get_first_winning_move_3+0x3404>
xor    %eax,%eax
mov    %eax,-0x340(%rbp)
jmp    4525 <get_first_winning_move_3+0x3415>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x340(%rbp)
mov    -0x340(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    4551 <get_first_winning_move_3+0x3441>
xor    %eax,%eax
mov    %eax,-0x344(%rbp)
jmp    4562 <get_first_winning_move_3+0x3452>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x344(%rbp)
mov    -0x344(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4586 <get_first_winning_move_3+0x3476>
xor    %eax,%eax
mov    %eax,-0x348(%rbp)
jmp    4597 <get_first_winning_move_3+0x3487>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x348(%rbp)
mov    -0x348(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     45ec <get_first_winning_move_3+0x34dc>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    460e <get_first_winning_move_3+0x34fe>
xor    %eax,%eax
mov    %eax,-0x34c(%rbp)
jmp    461f <get_first_winning_move_3+0x350f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x34c(%rbp)
mov    -0x34c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4643 <get_first_winning_move_3+0x3533>
xor    %eax,%eax
mov    %eax,-0x350(%rbp)
jmp    4654 <get_first_winning_move_3+0x3544>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x350(%rbp)
mov    -0x350(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    4680 <get_first_winning_move_3+0x3570>
xor    %eax,%eax
mov    %eax,-0x354(%rbp)
jmp    4691 <get_first_winning_move_3+0x3581>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x354(%rbp)
mov    -0x354(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    46b5 <get_first_winning_move_3+0x35a5>
xor    %eax,%eax
mov    %eax,-0x358(%rbp)
jmp    46c6 <get_first_winning_move_3+0x35b6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x358(%rbp)
mov    -0x358(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    46f2 <get_first_winning_move_3+0x35e2>
xor    %eax,%eax
mov    %eax,-0x35c(%rbp)
jmp    4703 <get_first_winning_move_3+0x35f3>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x35c(%rbp)
mov    -0x35c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4727 <get_first_winning_move_3+0x3617>
xor    %eax,%eax
mov    %eax,-0x360(%rbp)
jmp    4738 <get_first_winning_move_3+0x3628>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x360(%rbp)
mov    -0x360(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    4764 <get_first_winning_move_3+0x3654>
xor    %eax,%eax
mov    %eax,-0x364(%rbp)
jmp    4775 <get_first_winning_move_3+0x3665>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x364(%rbp)
mov    -0x364(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4799 <get_first_winning_move_3+0x3689>
xor    %eax,%eax
mov    %eax,-0x368(%rbp)
jmp    47aa <get_first_winning_move_3+0x369a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x368(%rbp)
mov    -0x368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    4f9f <get_first_winning_move_3+0x3e8f>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    4bbf <get_first_winning_move_3+0x3aaf>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    47f9 <get_first_winning_move_3+0x36e9>
xor    %eax,%eax
mov    %eax,-0x36c(%rbp)
jmp    480a <get_first_winning_move_3+0x36fa>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x36c(%rbp)
mov    -0x36c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    482e <get_first_winning_move_3+0x371e>
xor    %eax,%eax
mov    %eax,-0x370(%rbp)
jmp    483f <get_first_winning_move_3+0x372f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x370(%rbp)
mov    -0x370(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    486b <get_first_winning_move_3+0x375b>
xor    %eax,%eax
mov    %eax,-0x374(%rbp)
jmp    487c <get_first_winning_move_3+0x376c>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x374(%rbp)
mov    -0x374(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    48a0 <get_first_winning_move_3+0x3790>
xor    %eax,%eax
mov    %eax,-0x378(%rbp)
jmp    48b1 <get_first_winning_move_3+0x37a1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x378(%rbp)
mov    -0x378(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    48dd <get_first_winning_move_3+0x37cd>
xor    %eax,%eax
mov    %eax,-0x37c(%rbp)
jmp    48ee <get_first_winning_move_3+0x37de>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x37c(%rbp)
mov    -0x37c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4912 <get_first_winning_move_3+0x3802>
xor    %eax,%eax
mov    %eax,-0x380(%rbp)
jmp    4923 <get_first_winning_move_3+0x3813>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x380(%rbp)
mov    -0x380(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    494f <get_first_winning_move_3+0x383f>
xor    %eax,%eax
mov    %eax,-0x384(%rbp)
jmp    4960 <get_first_winning_move_3+0x3850>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x384(%rbp)
mov    -0x384(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4984 <get_first_winning_move_3+0x3874>
xor    %eax,%eax
mov    %eax,-0x388(%rbp)
jmp    4995 <get_first_winning_move_3+0x3885>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x388(%rbp)
mov    -0x388(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     49ea <get_first_winning_move_3+0x38da>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4a0c <get_first_winning_move_3+0x38fc>
xor    %eax,%eax
mov    %eax,-0x38c(%rbp)
jmp    4a1d <get_first_winning_move_3+0x390d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x38c(%rbp)
mov    -0x38c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4a41 <get_first_winning_move_3+0x3931>
xor    %eax,%eax
mov    %eax,-0x390(%rbp)
jmp    4a52 <get_first_winning_move_3+0x3942>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x390(%rbp)
mov    -0x390(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    4a7e <get_first_winning_move_3+0x396e>
xor    %eax,%eax
mov    %eax,-0x394(%rbp)
jmp    4a8f <get_first_winning_move_3+0x397f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x394(%rbp)
mov    -0x394(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4ab3 <get_first_winning_move_3+0x39a3>
xor    %eax,%eax
mov    %eax,-0x398(%rbp)
jmp    4ac4 <get_first_winning_move_3+0x39b4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x398(%rbp)
mov    -0x398(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4af0 <get_first_winning_move_3+0x39e0>
xor    %eax,%eax
mov    %eax,-0x39c(%rbp)
jmp    4b01 <get_first_winning_move_3+0x39f1>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x39c(%rbp)
mov    -0x39c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4b25 <get_first_winning_move_3+0x3a15>
xor    %eax,%eax
mov    %eax,-0x3a0(%rbp)
jmp    4b36 <get_first_winning_move_3+0x3a26>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3a0(%rbp)
mov    -0x3a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    4b62 <get_first_winning_move_3+0x3a52>
xor    %eax,%eax
mov    %eax,-0x3a4(%rbp)
jmp    4b73 <get_first_winning_move_3+0x3a63>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3a4(%rbp)
mov    -0x3a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4b97 <get_first_winning_move_3+0x3a87>
xor    %eax,%eax
mov    %eax,-0x3a8(%rbp)
jmp    4ba8 <get_first_winning_move_3+0x3a98>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3a8(%rbp)
mov    -0x3a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    4f9a <get_first_winning_move_3+0x3e8a>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4be1 <get_first_winning_move_3+0x3ad1>
xor    %eax,%eax
mov    %eax,-0x3ac(%rbp)
jmp    4bf2 <get_first_winning_move_3+0x3ae2>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3ac(%rbp)
mov    -0x3ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4c16 <get_first_winning_move_3+0x3b06>
xor    %eax,%eax
mov    %eax,-0x3b0(%rbp)
jmp    4c27 <get_first_winning_move_3+0x3b17>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3b0(%rbp)
mov    -0x3b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    4c53 <get_first_winning_move_3+0x3b43>
xor    %eax,%eax
mov    %eax,-0x3b4(%rbp)
jmp    4c64 <get_first_winning_move_3+0x3b54>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3b4(%rbp)
mov    -0x3b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4c88 <get_first_winning_move_3+0x3b78>
xor    %eax,%eax
mov    %eax,-0x3b8(%rbp)
jmp    4c99 <get_first_winning_move_3+0x3b89>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3b8(%rbp)
mov    -0x3b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4cc5 <get_first_winning_move_3+0x3bb5>
xor    %eax,%eax
mov    %eax,-0x3bc(%rbp)
jmp    4cd6 <get_first_winning_move_3+0x3bc6>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3bc(%rbp)
mov    -0x3bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4cfa <get_first_winning_move_3+0x3bea>
xor    %eax,%eax
mov    %eax,-0x3c0(%rbp)
jmp    4d0b <get_first_winning_move_3+0x3bfb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3c0(%rbp)
mov    -0x3c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    4d37 <get_first_winning_move_3+0x3c27>
xor    %eax,%eax
mov    %eax,-0x3c4(%rbp)
jmp    4d48 <get_first_winning_move_3+0x3c38>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3c4(%rbp)
mov    -0x3c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4d6c <get_first_winning_move_3+0x3c5c>
xor    %eax,%eax
mov    %eax,-0x3c8(%rbp)
jmp    4d7d <get_first_winning_move_3+0x3c6d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3c8(%rbp)
mov    -0x3c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     4dd2 <get_first_winning_move_3+0x3cc2>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4df4 <get_first_winning_move_3+0x3ce4>
xor    %eax,%eax
mov    %eax,-0x3cc(%rbp)
jmp    4e05 <get_first_winning_move_3+0x3cf5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3cc(%rbp)
mov    -0x3cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4e29 <get_first_winning_move_3+0x3d19>
xor    %eax,%eax
mov    %eax,-0x3d0(%rbp)
jmp    4e3a <get_first_winning_move_3+0x3d2a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3d0(%rbp)
mov    -0x3d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    4e66 <get_first_winning_move_3+0x3d56>
xor    %eax,%eax
mov    %eax,-0x3d4(%rbp)
jmp    4e77 <get_first_winning_move_3+0x3d67>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3d4(%rbp)
mov    -0x3d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4e9b <get_first_winning_move_3+0x3d8b>
xor    %eax,%eax
mov    %eax,-0x3d8(%rbp)
jmp    4eac <get_first_winning_move_3+0x3d9c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3d8(%rbp)
mov    -0x3d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4ed8 <get_first_winning_move_3+0x3dc8>
xor    %eax,%eax
mov    %eax,-0x3dc(%rbp)
jmp    4ee9 <get_first_winning_move_3+0x3dd9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3dc(%rbp)
mov    -0x3dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4f0d <get_first_winning_move_3+0x3dfd>
xor    %eax,%eax
mov    %eax,-0x3e0(%rbp)
jmp    4f1e <get_first_winning_move_3+0x3e0e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3e0(%rbp)
mov    -0x3e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    4f4a <get_first_winning_move_3+0x3e3a>
xor    %eax,%eax
mov    %eax,-0x3e4(%rbp)
jmp    4f5b <get_first_winning_move_3+0x3e4b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3e4(%rbp)
mov    -0x3e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    4f7f <get_first_winning_move_3+0x3e6f>
xor    %eax,%eax
mov    %eax,-0x3e8(%rbp)
jmp    4f90 <get_first_winning_move_3+0x3e80>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3e8(%rbp)
mov    -0x3e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    4f9f <get_first_winning_move_3+0x3e8f>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    4fac <get_first_winning_move_3+0x3e9c>
jmp    1640e <get_first_winning_move_3+0x152fe>
movswl -0x16(%rbp),%eax
cmp    $0x5,%eax
jne    5c4a <get_first_winning_move_3+0x4b3a>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     5c45 <get_first_winning_move_3+0x4b35>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    5c45 <get_first_winning_move_3+0x4b35>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     5c45 <get_first_winning_move_3+0x4b35>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     5c40 <get_first_winning_move_3+0x4b30>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     5c40 <get_first_winning_move_3+0x4b30>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     5c40 <get_first_winning_move_3+0x4b30>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     5c40 <get_first_winning_move_3+0x4b30>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     5c40 <get_first_winning_move_3+0x4b30>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    545a <get_first_winning_move_3+0x434a>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5094 <get_first_winning_move_3+0x3f84>
xor    %eax,%eax
mov    %eax,-0x3ec(%rbp)
jmp    50a5 <get_first_winning_move_3+0x3f95>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3ec(%rbp)
mov    -0x3ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    50c9 <get_first_winning_move_3+0x3fb9>
xor    %eax,%eax
mov    %eax,-0x3f0(%rbp)
jmp    50da <get_first_winning_move_3+0x3fca>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3f0(%rbp)
mov    -0x3f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5106 <get_first_winning_move_3+0x3ff6>
xor    %eax,%eax
mov    %eax,-0x3f4(%rbp)
jmp    5117 <get_first_winning_move_3+0x4007>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3f4(%rbp)
mov    -0x3f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    513b <get_first_winning_move_3+0x402b>
xor    %eax,%eax
mov    %eax,-0x3f8(%rbp)
jmp    514c <get_first_winning_move_3+0x403c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3f8(%rbp)
mov    -0x3f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5178 <get_first_winning_move_3+0x4068>
xor    %eax,%eax
mov    %eax,-0x3fc(%rbp)
jmp    5189 <get_first_winning_move_3+0x4079>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3fc(%rbp)
mov    -0x3fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    51ad <get_first_winning_move_3+0x409d>
xor    %eax,%eax
mov    %eax,-0x400(%rbp)
jmp    51be <get_first_winning_move_3+0x40ae>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x400(%rbp)
mov    -0x400(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    51ea <get_first_winning_move_3+0x40da>
xor    %eax,%eax
mov    %eax,-0x404(%rbp)
jmp    51fb <get_first_winning_move_3+0x40eb>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x404(%rbp)
mov    -0x404(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    521f <get_first_winning_move_3+0x410f>
xor    %eax,%eax
mov    %eax,-0x408(%rbp)
jmp    5230 <get_first_winning_move_3+0x4120>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x408(%rbp)
mov    -0x408(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5285 <get_first_winning_move_3+0x4175>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    52a7 <get_first_winning_move_3+0x4197>
xor    %eax,%eax
mov    %eax,-0x40c(%rbp)
jmp    52b8 <get_first_winning_move_3+0x41a8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x40c(%rbp)
mov    -0x40c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    52dc <get_first_winning_move_3+0x41cc>
xor    %eax,%eax
mov    %eax,-0x410(%rbp)
jmp    52ed <get_first_winning_move_3+0x41dd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x410(%rbp)
mov    -0x410(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5319 <get_first_winning_move_3+0x4209>
xor    %eax,%eax
mov    %eax,-0x414(%rbp)
jmp    532a <get_first_winning_move_3+0x421a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x414(%rbp)
mov    -0x414(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    534e <get_first_winning_move_3+0x423e>
xor    %eax,%eax
mov    %eax,-0x418(%rbp)
jmp    535f <get_first_winning_move_3+0x424f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x418(%rbp)
mov    -0x418(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    538b <get_first_winning_move_3+0x427b>
xor    %eax,%eax
mov    %eax,-0x41c(%rbp)
jmp    539c <get_first_winning_move_3+0x428c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x41c(%rbp)
mov    -0x41c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    53c0 <get_first_winning_move_3+0x42b0>
xor    %eax,%eax
mov    %eax,-0x420(%rbp)
jmp    53d1 <get_first_winning_move_3+0x42c1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x420(%rbp)
mov    -0x420(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    53fd <get_first_winning_move_3+0x42ed>
xor    %eax,%eax
mov    %eax,-0x424(%rbp)
jmp    540e <get_first_winning_move_3+0x42fe>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x424(%rbp)
mov    -0x424(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5432 <get_first_winning_move_3+0x4322>
xor    %eax,%eax
mov    %eax,-0x428(%rbp)
jmp    5443 <get_first_winning_move_3+0x4333>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x428(%rbp)
mov    -0x428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    5c38 <get_first_winning_move_3+0x4b28>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    5858 <get_first_winning_move_3+0x4748>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5492 <get_first_winning_move_3+0x4382>
xor    %eax,%eax
mov    %eax,-0x42c(%rbp)
jmp    54a3 <get_first_winning_move_3+0x4393>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x42c(%rbp)
mov    -0x42c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    54c7 <get_first_winning_move_3+0x43b7>
xor    %eax,%eax
mov    %eax,-0x430(%rbp)
jmp    54d8 <get_first_winning_move_3+0x43c8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x430(%rbp)
mov    -0x430(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5504 <get_first_winning_move_3+0x43f4>
xor    %eax,%eax
mov    %eax,-0x434(%rbp)
jmp    5515 <get_first_winning_move_3+0x4405>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x434(%rbp)
mov    -0x434(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5539 <get_first_winning_move_3+0x4429>
xor    %eax,%eax
mov    %eax,-0x438(%rbp)
jmp    554a <get_first_winning_move_3+0x443a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x438(%rbp)
mov    -0x438(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5576 <get_first_winning_move_3+0x4466>
xor    %eax,%eax
mov    %eax,-0x43c(%rbp)
jmp    5587 <get_first_winning_move_3+0x4477>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x43c(%rbp)
mov    -0x43c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    55ab <get_first_winning_move_3+0x449b>
xor    %eax,%eax
mov    %eax,-0x440(%rbp)
jmp    55bc <get_first_winning_move_3+0x44ac>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x440(%rbp)
mov    -0x440(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    55e8 <get_first_winning_move_3+0x44d8>
xor    %eax,%eax
mov    %eax,-0x444(%rbp)
jmp    55f9 <get_first_winning_move_3+0x44e9>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x444(%rbp)
mov    -0x444(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    561d <get_first_winning_move_3+0x450d>
xor    %eax,%eax
mov    %eax,-0x448(%rbp)
jmp    562e <get_first_winning_move_3+0x451e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x448(%rbp)
mov    -0x448(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5683 <get_first_winning_move_3+0x4573>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    56a5 <get_first_winning_move_3+0x4595>
xor    %eax,%eax
mov    %eax,-0x44c(%rbp)
jmp    56b6 <get_first_winning_move_3+0x45a6>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x44c(%rbp)
mov    -0x44c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    56da <get_first_winning_move_3+0x45ca>
xor    %eax,%eax
mov    %eax,-0x450(%rbp)
jmp    56eb <get_first_winning_move_3+0x45db>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x450(%rbp)
mov    -0x450(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5717 <get_first_winning_move_3+0x4607>
xor    %eax,%eax
mov    %eax,-0x454(%rbp)
jmp    5728 <get_first_winning_move_3+0x4618>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x454(%rbp)
mov    -0x454(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    574c <get_first_winning_move_3+0x463c>
xor    %eax,%eax
mov    %eax,-0x458(%rbp)
jmp    575d <get_first_winning_move_3+0x464d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x458(%rbp)
mov    -0x458(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5789 <get_first_winning_move_3+0x4679>
xor    %eax,%eax
mov    %eax,-0x45c(%rbp)
jmp    579a <get_first_winning_move_3+0x468a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x45c(%rbp)
mov    -0x45c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    57be <get_first_winning_move_3+0x46ae>
xor    %eax,%eax
mov    %eax,-0x460(%rbp)
jmp    57cf <get_first_winning_move_3+0x46bf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x460(%rbp)
mov    -0x460(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    57fb <get_first_winning_move_3+0x46eb>
xor    %eax,%eax
mov    %eax,-0x464(%rbp)
jmp    580c <get_first_winning_move_3+0x46fc>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x464(%rbp)
mov    -0x464(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5830 <get_first_winning_move_3+0x4720>
xor    %eax,%eax
mov    %eax,-0x468(%rbp)
jmp    5841 <get_first_winning_move_3+0x4731>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x468(%rbp)
mov    -0x468(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    5c33 <get_first_winning_move_3+0x4b23>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    587a <get_first_winning_move_3+0x476a>
xor    %eax,%eax
mov    %eax,-0x46c(%rbp)
jmp    588b <get_first_winning_move_3+0x477b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x46c(%rbp)
mov    -0x46c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    58af <get_first_winning_move_3+0x479f>
xor    %eax,%eax
mov    %eax,-0x470(%rbp)
jmp    58c0 <get_first_winning_move_3+0x47b0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x470(%rbp)
mov    -0x470(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    58ec <get_first_winning_move_3+0x47dc>
xor    %eax,%eax
mov    %eax,-0x474(%rbp)
jmp    58fd <get_first_winning_move_3+0x47ed>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x474(%rbp)
mov    -0x474(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5921 <get_first_winning_move_3+0x4811>
xor    %eax,%eax
mov    %eax,-0x478(%rbp)
jmp    5932 <get_first_winning_move_3+0x4822>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x478(%rbp)
mov    -0x478(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    595e <get_first_winning_move_3+0x484e>
xor    %eax,%eax
mov    %eax,-0x47c(%rbp)
jmp    596f <get_first_winning_move_3+0x485f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x47c(%rbp)
mov    -0x47c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5993 <get_first_winning_move_3+0x4883>
xor    %eax,%eax
mov    %eax,-0x480(%rbp)
jmp    59a4 <get_first_winning_move_3+0x4894>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x480(%rbp)
mov    -0x480(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    59d0 <get_first_winning_move_3+0x48c0>
xor    %eax,%eax
mov    %eax,-0x484(%rbp)
jmp    59e1 <get_first_winning_move_3+0x48d1>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x484(%rbp)
mov    -0x484(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5a05 <get_first_winning_move_3+0x48f5>
xor    %eax,%eax
mov    %eax,-0x488(%rbp)
jmp    5a16 <get_first_winning_move_3+0x4906>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x488(%rbp)
mov    -0x488(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5a6b <get_first_winning_move_3+0x495b>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5a8d <get_first_winning_move_3+0x497d>
xor    %eax,%eax
mov    %eax,-0x48c(%rbp)
jmp    5a9e <get_first_winning_move_3+0x498e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x48c(%rbp)
mov    -0x48c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5ac2 <get_first_winning_move_3+0x49b2>
xor    %eax,%eax
mov    %eax,-0x490(%rbp)
jmp    5ad3 <get_first_winning_move_3+0x49c3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x490(%rbp)
mov    -0x490(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5aff <get_first_winning_move_3+0x49ef>
xor    %eax,%eax
mov    %eax,-0x494(%rbp)
jmp    5b10 <get_first_winning_move_3+0x4a00>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x494(%rbp)
mov    -0x494(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5b34 <get_first_winning_move_3+0x4a24>
xor    %eax,%eax
mov    %eax,-0x498(%rbp)
jmp    5b45 <get_first_winning_move_3+0x4a35>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x498(%rbp)
mov    -0x498(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5b71 <get_first_winning_move_3+0x4a61>
xor    %eax,%eax
mov    %eax,-0x49c(%rbp)
jmp    5b82 <get_first_winning_move_3+0x4a72>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x49c(%rbp)
mov    -0x49c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5ba6 <get_first_winning_move_3+0x4a96>
xor    %eax,%eax
mov    %eax,-0x4a0(%rbp)
jmp    5bb7 <get_first_winning_move_3+0x4aa7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4a0(%rbp)
mov    -0x4a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    5be3 <get_first_winning_move_3+0x4ad3>
xor    %eax,%eax
mov    %eax,-0x4a4(%rbp)
jmp    5bf4 <get_first_winning_move_3+0x4ae4>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4a4(%rbp)
mov    -0x4a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5c18 <get_first_winning_move_3+0x4b08>
xor    %eax,%eax
mov    %eax,-0x4a8(%rbp)
jmp    5c29 <get_first_winning_move_3+0x4b19>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4a8(%rbp)
mov    -0x4a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    5c38 <get_first_winning_move_3+0x4b28>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    5c45 <get_first_winning_move_3+0x4b35>
jmp    16409 <get_first_winning_move_3+0x152f9>
movswl -0x16(%rbp),%eax
cmp    $0x6,%eax
jne    68d2 <get_first_winning_move_3+0x57c2>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     68cd <get_first_winning_move_3+0x57bd>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     68cd <get_first_winning_move_3+0x57bd>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     68c8 <get_first_winning_move_3+0x57b8>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     68c8 <get_first_winning_move_3+0x57b8>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     68c8 <get_first_winning_move_3+0x57b8>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     68c8 <get_first_winning_move_3+0x57b8>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     68c8 <get_first_winning_move_3+0x57b8>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    60e2 <get_first_winning_move_3+0x4fd2>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5d1c <get_first_winning_move_3+0x4c0c>
xor    %eax,%eax
mov    %eax,-0x4ac(%rbp)
jmp    5d2d <get_first_winning_move_3+0x4c1d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4ac(%rbp)
mov    -0x4ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5d51 <get_first_winning_move_3+0x4c41>
xor    %eax,%eax
mov    %eax,-0x4b0(%rbp)
jmp    5d62 <get_first_winning_move_3+0x4c52>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4b0(%rbp)
mov    -0x4b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5d8e <get_first_winning_move_3+0x4c7e>
xor    %eax,%eax
mov    %eax,-0x4b4(%rbp)
jmp    5d9f <get_first_winning_move_3+0x4c8f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4b4(%rbp)
mov    -0x4b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5dc3 <get_first_winning_move_3+0x4cb3>
xor    %eax,%eax
mov    %eax,-0x4b8(%rbp)
jmp    5dd4 <get_first_winning_move_3+0x4cc4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4b8(%rbp)
mov    -0x4b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5e00 <get_first_winning_move_3+0x4cf0>
xor    %eax,%eax
mov    %eax,-0x4bc(%rbp)
jmp    5e11 <get_first_winning_move_3+0x4d01>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4bc(%rbp)
mov    -0x4bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5e35 <get_first_winning_move_3+0x4d25>
xor    %eax,%eax
mov    %eax,-0x4c0(%rbp)
jmp    5e46 <get_first_winning_move_3+0x4d36>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4c0(%rbp)
mov    -0x4c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    5e72 <get_first_winning_move_3+0x4d62>
xor    %eax,%eax
mov    %eax,-0x4c4(%rbp)
jmp    5e83 <get_first_winning_move_3+0x4d73>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4c4(%rbp)
mov    -0x4c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5ea7 <get_first_winning_move_3+0x4d97>
xor    %eax,%eax
mov    %eax,-0x4c8(%rbp)
jmp    5eb8 <get_first_winning_move_3+0x4da8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4c8(%rbp)
mov    -0x4c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5f0d <get_first_winning_move_3+0x4dfd>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5f2f <get_first_winning_move_3+0x4e1f>
xor    %eax,%eax
mov    %eax,-0x4cc(%rbp)
jmp    5f40 <get_first_winning_move_3+0x4e30>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4cc(%rbp)
mov    -0x4cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5f64 <get_first_winning_move_3+0x4e54>
xor    %eax,%eax
mov    %eax,-0x4d0(%rbp)
jmp    5f75 <get_first_winning_move_3+0x4e65>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4d0(%rbp)
mov    -0x4d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    5fa1 <get_first_winning_move_3+0x4e91>
xor    %eax,%eax
mov    %eax,-0x4d4(%rbp)
jmp    5fb2 <get_first_winning_move_3+0x4ea2>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4d4(%rbp)
mov    -0x4d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    5fd6 <get_first_winning_move_3+0x4ec6>
xor    %eax,%eax
mov    %eax,-0x4d8(%rbp)
jmp    5fe7 <get_first_winning_move_3+0x4ed7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4d8(%rbp)
mov    -0x4d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6013 <get_first_winning_move_3+0x4f03>
xor    %eax,%eax
mov    %eax,-0x4dc(%rbp)
jmp    6024 <get_first_winning_move_3+0x4f14>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4dc(%rbp)
mov    -0x4dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6048 <get_first_winning_move_3+0x4f38>
xor    %eax,%eax
mov    %eax,-0x4e0(%rbp)
jmp    6059 <get_first_winning_move_3+0x4f49>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4e0(%rbp)
mov    -0x4e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6085 <get_first_winning_move_3+0x4f75>
xor    %eax,%eax
mov    %eax,-0x4e4(%rbp)
jmp    6096 <get_first_winning_move_3+0x4f86>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4e4(%rbp)
mov    -0x4e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    60ba <get_first_winning_move_3+0x4faa>
xor    %eax,%eax
mov    %eax,-0x4e8(%rbp)
jmp    60cb <get_first_winning_move_3+0x4fbb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4e8(%rbp)
mov    -0x4e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    68c0 <get_first_winning_move_3+0x57b0>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    64e0 <get_first_winning_move_3+0x53d0>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    611a <get_first_winning_move_3+0x500a>
xor    %eax,%eax
mov    %eax,-0x4ec(%rbp)
jmp    612b <get_first_winning_move_3+0x501b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4ec(%rbp)
mov    -0x4ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    614f <get_first_winning_move_3+0x503f>
xor    %eax,%eax
mov    %eax,-0x4f0(%rbp)
jmp    6160 <get_first_winning_move_3+0x5050>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4f0(%rbp)
mov    -0x4f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    618c <get_first_winning_move_3+0x507c>
xor    %eax,%eax
mov    %eax,-0x4f4(%rbp)
jmp    619d <get_first_winning_move_3+0x508d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4f4(%rbp)
mov    -0x4f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    61c1 <get_first_winning_move_3+0x50b1>
xor    %eax,%eax
mov    %eax,-0x4f8(%rbp)
jmp    61d2 <get_first_winning_move_3+0x50c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4f8(%rbp)
mov    -0x4f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    61fe <get_first_winning_move_3+0x50ee>
xor    %eax,%eax
mov    %eax,-0x4fc(%rbp)
jmp    620f <get_first_winning_move_3+0x50ff>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4fc(%rbp)
mov    -0x4fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6233 <get_first_winning_move_3+0x5123>
xor    %eax,%eax
mov    %eax,-0x500(%rbp)
jmp    6244 <get_first_winning_move_3+0x5134>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x500(%rbp)
mov    -0x500(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6270 <get_first_winning_move_3+0x5160>
xor    %eax,%eax
mov    %eax,-0x504(%rbp)
jmp    6281 <get_first_winning_move_3+0x5171>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x504(%rbp)
mov    -0x504(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    62a5 <get_first_winning_move_3+0x5195>
xor    %eax,%eax
mov    %eax,-0x508(%rbp)
jmp    62b6 <get_first_winning_move_3+0x51a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x508(%rbp)
mov    -0x508(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     630b <get_first_winning_move_3+0x51fb>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    632d <get_first_winning_move_3+0x521d>
xor    %eax,%eax
mov    %eax,-0x50c(%rbp)
jmp    633e <get_first_winning_move_3+0x522e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x50c(%rbp)
mov    -0x50c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6362 <get_first_winning_move_3+0x5252>
xor    %eax,%eax
mov    %eax,-0x510(%rbp)
jmp    6373 <get_first_winning_move_3+0x5263>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x510(%rbp)
mov    -0x510(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    639f <get_first_winning_move_3+0x528f>
xor    %eax,%eax
mov    %eax,-0x514(%rbp)
jmp    63b0 <get_first_winning_move_3+0x52a0>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x514(%rbp)
mov    -0x514(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    63d4 <get_first_winning_move_3+0x52c4>
xor    %eax,%eax
mov    %eax,-0x518(%rbp)
jmp    63e5 <get_first_winning_move_3+0x52d5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x518(%rbp)
mov    -0x518(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6411 <get_first_winning_move_3+0x5301>
xor    %eax,%eax
mov    %eax,-0x51c(%rbp)
jmp    6422 <get_first_winning_move_3+0x5312>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x51c(%rbp)
mov    -0x51c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6446 <get_first_winning_move_3+0x5336>
xor    %eax,%eax
mov    %eax,-0x520(%rbp)
jmp    6457 <get_first_winning_move_3+0x5347>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x520(%rbp)
mov    -0x520(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6483 <get_first_winning_move_3+0x5373>
xor    %eax,%eax
mov    %eax,-0x524(%rbp)
jmp    6494 <get_first_winning_move_3+0x5384>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x524(%rbp)
mov    -0x524(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    64b8 <get_first_winning_move_3+0x53a8>
xor    %eax,%eax
mov    %eax,-0x528(%rbp)
jmp    64c9 <get_first_winning_move_3+0x53b9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x528(%rbp)
mov    -0x528(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    68bb <get_first_winning_move_3+0x57ab>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6502 <get_first_winning_move_3+0x53f2>
xor    %eax,%eax
mov    %eax,-0x52c(%rbp)
jmp    6513 <get_first_winning_move_3+0x5403>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x52c(%rbp)
mov    -0x52c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6537 <get_first_winning_move_3+0x5427>
xor    %eax,%eax
mov    %eax,-0x530(%rbp)
jmp    6548 <get_first_winning_move_3+0x5438>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x530(%rbp)
mov    -0x530(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    6574 <get_first_winning_move_3+0x5464>
xor    %eax,%eax
mov    %eax,-0x534(%rbp)
jmp    6585 <get_first_winning_move_3+0x5475>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x534(%rbp)
mov    -0x534(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    65a9 <get_first_winning_move_3+0x5499>
xor    %eax,%eax
mov    %eax,-0x538(%rbp)
jmp    65ba <get_first_winning_move_3+0x54aa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x538(%rbp)
mov    -0x538(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    65e6 <get_first_winning_move_3+0x54d6>
xor    %eax,%eax
mov    %eax,-0x53c(%rbp)
jmp    65f7 <get_first_winning_move_3+0x54e7>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x53c(%rbp)
mov    -0x53c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    661b <get_first_winning_move_3+0x550b>
xor    %eax,%eax
mov    %eax,-0x540(%rbp)
jmp    662c <get_first_winning_move_3+0x551c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x540(%rbp)
mov    -0x540(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6658 <get_first_winning_move_3+0x5548>
xor    %eax,%eax
mov    %eax,-0x544(%rbp)
jmp    6669 <get_first_winning_move_3+0x5559>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x544(%rbp)
mov    -0x544(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    668d <get_first_winning_move_3+0x557d>
xor    %eax,%eax
mov    %eax,-0x548(%rbp)
jmp    669e <get_first_winning_move_3+0x558e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x548(%rbp)
mov    -0x548(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     66f3 <get_first_winning_move_3+0x55e3>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6715 <get_first_winning_move_3+0x5605>
xor    %eax,%eax
mov    %eax,-0x54c(%rbp)
jmp    6726 <get_first_winning_move_3+0x5616>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x54c(%rbp)
mov    -0x54c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    674a <get_first_winning_move_3+0x563a>
xor    %eax,%eax
mov    %eax,-0x550(%rbp)
jmp    675b <get_first_winning_move_3+0x564b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x550(%rbp)
mov    -0x550(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    6787 <get_first_winning_move_3+0x5677>
xor    %eax,%eax
mov    %eax,-0x554(%rbp)
jmp    6798 <get_first_winning_move_3+0x5688>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x554(%rbp)
mov    -0x554(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    67bc <get_first_winning_move_3+0x56ac>
xor    %eax,%eax
mov    %eax,-0x558(%rbp)
jmp    67cd <get_first_winning_move_3+0x56bd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x558(%rbp)
mov    -0x558(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    67f9 <get_first_winning_move_3+0x56e9>
xor    %eax,%eax
mov    %eax,-0x55c(%rbp)
jmp    680a <get_first_winning_move_3+0x56fa>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x55c(%rbp)
mov    -0x55c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    682e <get_first_winning_move_3+0x571e>
xor    %eax,%eax
mov    %eax,-0x560(%rbp)
jmp    683f <get_first_winning_move_3+0x572f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x560(%rbp)
mov    -0x560(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    686b <get_first_winning_move_3+0x575b>
xor    %eax,%eax
mov    %eax,-0x564(%rbp)
jmp    687c <get_first_winning_move_3+0x576c>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x564(%rbp)
mov    -0x564(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    68a0 <get_first_winning_move_3+0x5790>
xor    %eax,%eax
mov    %eax,-0x568(%rbp)
jmp    68b1 <get_first_winning_move_3+0x57a1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x568(%rbp)
mov    -0x568(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    68c0 <get_first_winning_move_3+0x57b0>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    68cd <get_first_winning_move_3+0x57bd>
jmp    16404 <get_first_winning_move_3+0x152f4>
movswl -0x16(%rbp),%eax
cmp    $0x7,%eax
jne    7567 <get_first_winning_move_3+0x6457>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     7562 <get_first_winning_move_3+0x6452>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    7562 <get_first_winning_move_3+0x6452>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     7562 <get_first_winning_move_3+0x6452>
mov    -0x4(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     755d <get_first_winning_move_3+0x644d>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     755d <get_first_winning_move_3+0x644d>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     755d <get_first_winning_move_3+0x644d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     755d <get_first_winning_move_3+0x644d>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     755d <get_first_winning_move_3+0x644d>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    6d77 <get_first_winning_move_3+0x5c67>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    69b1 <get_first_winning_move_3+0x58a1>
xor    %eax,%eax
mov    %eax,-0x56c(%rbp)
jmp    69c2 <get_first_winning_move_3+0x58b2>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x56c(%rbp)
mov    -0x56c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    69e6 <get_first_winning_move_3+0x58d6>
xor    %eax,%eax
mov    %eax,-0x570(%rbp)
jmp    69f7 <get_first_winning_move_3+0x58e7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x570(%rbp)
mov    -0x570(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    6a23 <get_first_winning_move_3+0x5913>
xor    %eax,%eax
mov    %eax,-0x574(%rbp)
jmp    6a34 <get_first_winning_move_3+0x5924>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x574(%rbp)
mov    -0x574(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6a58 <get_first_winning_move_3+0x5948>
xor    %eax,%eax
mov    %eax,-0x578(%rbp)
jmp    6a69 <get_first_winning_move_3+0x5959>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x578(%rbp)
mov    -0x578(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6a95 <get_first_winning_move_3+0x5985>
xor    %eax,%eax
mov    %eax,-0x57c(%rbp)
jmp    6aa6 <get_first_winning_move_3+0x5996>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x57c(%rbp)
mov    -0x57c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6aca <get_first_winning_move_3+0x59ba>
xor    %eax,%eax
mov    %eax,-0x580(%rbp)
jmp    6adb <get_first_winning_move_3+0x59cb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x580(%rbp)
mov    -0x580(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6b07 <get_first_winning_move_3+0x59f7>
xor    %eax,%eax
mov    %eax,-0x584(%rbp)
jmp    6b18 <get_first_winning_move_3+0x5a08>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x584(%rbp)
mov    -0x584(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6b3c <get_first_winning_move_3+0x5a2c>
xor    %eax,%eax
mov    %eax,-0x588(%rbp)
jmp    6b4d <get_first_winning_move_3+0x5a3d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x588(%rbp)
mov    -0x588(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     6ba2 <get_first_winning_move_3+0x5a92>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6bc4 <get_first_winning_move_3+0x5ab4>
xor    %eax,%eax
mov    %eax,-0x58c(%rbp)
jmp    6bd5 <get_first_winning_move_3+0x5ac5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x58c(%rbp)
mov    -0x58c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6bf9 <get_first_winning_move_3+0x5ae9>
xor    %eax,%eax
mov    %eax,-0x590(%rbp)
jmp    6c0a <get_first_winning_move_3+0x5afa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x590(%rbp)
mov    -0x590(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    6c36 <get_first_winning_move_3+0x5b26>
xor    %eax,%eax
mov    %eax,-0x594(%rbp)
jmp    6c47 <get_first_winning_move_3+0x5b37>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x594(%rbp)
mov    -0x594(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6c6b <get_first_winning_move_3+0x5b5b>
xor    %eax,%eax
mov    %eax,-0x598(%rbp)
jmp    6c7c <get_first_winning_move_3+0x5b6c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x598(%rbp)
mov    -0x598(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6ca8 <get_first_winning_move_3+0x5b98>
xor    %eax,%eax
mov    %eax,-0x59c(%rbp)
jmp    6cb9 <get_first_winning_move_3+0x5ba9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x59c(%rbp)
mov    -0x59c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6cdd <get_first_winning_move_3+0x5bcd>
xor    %eax,%eax
mov    %eax,-0x5a0(%rbp)
jmp    6cee <get_first_winning_move_3+0x5bde>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5a0(%rbp)
mov    -0x5a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6d1a <get_first_winning_move_3+0x5c0a>
xor    %eax,%eax
mov    %eax,-0x5a4(%rbp)
jmp    6d2b <get_first_winning_move_3+0x5c1b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5a4(%rbp)
mov    -0x5a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6d4f <get_first_winning_move_3+0x5c3f>
xor    %eax,%eax
mov    %eax,-0x5a8(%rbp)
jmp    6d60 <get_first_winning_move_3+0x5c50>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5a8(%rbp)
mov    -0x5a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    7555 <get_first_winning_move_3+0x6445>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    7175 <get_first_winning_move_3+0x6065>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6daf <get_first_winning_move_3+0x5c9f>
xor    %eax,%eax
mov    %eax,-0x5ac(%rbp)
jmp    6dc0 <get_first_winning_move_3+0x5cb0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5ac(%rbp)
mov    -0x5ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6de4 <get_first_winning_move_3+0x5cd4>
xor    %eax,%eax
mov    %eax,-0x5b0(%rbp)
jmp    6df5 <get_first_winning_move_3+0x5ce5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5b0(%rbp)
mov    -0x5b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    6e21 <get_first_winning_move_3+0x5d11>
xor    %eax,%eax
mov    %eax,-0x5b4(%rbp)
jmp    6e32 <get_first_winning_move_3+0x5d22>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5b4(%rbp)
mov    -0x5b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6e56 <get_first_winning_move_3+0x5d46>
xor    %eax,%eax
mov    %eax,-0x5b8(%rbp)
jmp    6e67 <get_first_winning_move_3+0x5d57>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5b8(%rbp)
mov    -0x5b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6e93 <get_first_winning_move_3+0x5d83>
xor    %eax,%eax
mov    %eax,-0x5bc(%rbp)
jmp    6ea4 <get_first_winning_move_3+0x5d94>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5bc(%rbp)
mov    -0x5bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6ec8 <get_first_winning_move_3+0x5db8>
xor    %eax,%eax
mov    %eax,-0x5c0(%rbp)
jmp    6ed9 <get_first_winning_move_3+0x5dc9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5c0(%rbp)
mov    -0x5c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    6f05 <get_first_winning_move_3+0x5df5>
xor    %eax,%eax
mov    %eax,-0x5c4(%rbp)
jmp    6f16 <get_first_winning_move_3+0x5e06>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5c4(%rbp)
mov    -0x5c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6f3a <get_first_winning_move_3+0x5e2a>
xor    %eax,%eax
mov    %eax,-0x5c8(%rbp)
jmp    6f4b <get_first_winning_move_3+0x5e3b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5c8(%rbp)
mov    -0x5c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     6fa0 <get_first_winning_move_3+0x5e90>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6fc2 <get_first_winning_move_3+0x5eb2>
xor    %eax,%eax
mov    %eax,-0x5cc(%rbp)
jmp    6fd3 <get_first_winning_move_3+0x5ec3>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5cc(%rbp)
mov    -0x5cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    6ff7 <get_first_winning_move_3+0x5ee7>
xor    %eax,%eax
mov    %eax,-0x5d0(%rbp)
jmp    7008 <get_first_winning_move_3+0x5ef8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5d0(%rbp)
mov    -0x5d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    7034 <get_first_winning_move_3+0x5f24>
xor    %eax,%eax
mov    %eax,-0x5d4(%rbp)
jmp    7045 <get_first_winning_move_3+0x5f35>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5d4(%rbp)
mov    -0x5d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7069 <get_first_winning_move_3+0x5f59>
xor    %eax,%eax
mov    %eax,-0x5d8(%rbp)
jmp    707a <get_first_winning_move_3+0x5f6a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5d8(%rbp)
mov    -0x5d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    70a6 <get_first_winning_move_3+0x5f96>
xor    %eax,%eax
mov    %eax,-0x5dc(%rbp)
jmp    70b7 <get_first_winning_move_3+0x5fa7>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5dc(%rbp)
mov    -0x5dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    70db <get_first_winning_move_3+0x5fcb>
xor    %eax,%eax
mov    %eax,-0x5e0(%rbp)
jmp    70ec <get_first_winning_move_3+0x5fdc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5e0(%rbp)
mov    -0x5e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7118 <get_first_winning_move_3+0x6008>
xor    %eax,%eax
mov    %eax,-0x5e4(%rbp)
jmp    7129 <get_first_winning_move_3+0x6019>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5e4(%rbp)
mov    -0x5e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    714d <get_first_winning_move_3+0x603d>
xor    %eax,%eax
mov    %eax,-0x5e8(%rbp)
jmp    715e <get_first_winning_move_3+0x604e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5e8(%rbp)
mov    -0x5e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    7550 <get_first_winning_move_3+0x6440>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7197 <get_first_winning_move_3+0x6087>
xor    %eax,%eax
mov    %eax,-0x5ec(%rbp)
jmp    71a8 <get_first_winning_move_3+0x6098>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5ec(%rbp)
mov    -0x5ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    71cc <get_first_winning_move_3+0x60bc>
xor    %eax,%eax
mov    %eax,-0x5f0(%rbp)
jmp    71dd <get_first_winning_move_3+0x60cd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5f0(%rbp)
mov    -0x5f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    7209 <get_first_winning_move_3+0x60f9>
xor    %eax,%eax
mov    %eax,-0x5f4(%rbp)
jmp    721a <get_first_winning_move_3+0x610a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5f4(%rbp)
mov    -0x5f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    723e <get_first_winning_move_3+0x612e>
xor    %eax,%eax
mov    %eax,-0x5f8(%rbp)
jmp    724f <get_first_winning_move_3+0x613f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5f8(%rbp)
mov    -0x5f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    727b <get_first_winning_move_3+0x616b>
xor    %eax,%eax
mov    %eax,-0x5fc(%rbp)
jmp    728c <get_first_winning_move_3+0x617c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5fc(%rbp)
mov    -0x5fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    72b0 <get_first_winning_move_3+0x61a0>
xor    %eax,%eax
mov    %eax,-0x600(%rbp)
jmp    72c1 <get_first_winning_move_3+0x61b1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x600(%rbp)
mov    -0x600(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    72ed <get_first_winning_move_3+0x61dd>
xor    %eax,%eax
mov    %eax,-0x604(%rbp)
jmp    72fe <get_first_winning_move_3+0x61ee>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x604(%rbp)
mov    -0x604(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7322 <get_first_winning_move_3+0x6212>
xor    %eax,%eax
mov    %eax,-0x608(%rbp)
jmp    7333 <get_first_winning_move_3+0x6223>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x608(%rbp)
mov    -0x608(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     7388 <get_first_winning_move_3+0x6278>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    73aa <get_first_winning_move_3+0x629a>
xor    %eax,%eax
mov    %eax,-0x60c(%rbp)
jmp    73bb <get_first_winning_move_3+0x62ab>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x60c(%rbp)
mov    -0x60c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    73df <get_first_winning_move_3+0x62cf>
xor    %eax,%eax
mov    %eax,-0x610(%rbp)
jmp    73f0 <get_first_winning_move_3+0x62e0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x610(%rbp)
mov    -0x610(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    741c <get_first_winning_move_3+0x630c>
xor    %eax,%eax
mov    %eax,-0x614(%rbp)
jmp    742d <get_first_winning_move_3+0x631d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x614(%rbp)
mov    -0x614(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7451 <get_first_winning_move_3+0x6341>
xor    %eax,%eax
mov    %eax,-0x618(%rbp)
jmp    7462 <get_first_winning_move_3+0x6352>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x618(%rbp)
mov    -0x618(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    748e <get_first_winning_move_3+0x637e>
xor    %eax,%eax
mov    %eax,-0x61c(%rbp)
jmp    749f <get_first_winning_move_3+0x638f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x61c(%rbp)
mov    -0x61c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    74c3 <get_first_winning_move_3+0x63b3>
xor    %eax,%eax
mov    %eax,-0x620(%rbp)
jmp    74d4 <get_first_winning_move_3+0x63c4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x620(%rbp)
mov    -0x620(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7500 <get_first_winning_move_3+0x63f0>
xor    %eax,%eax
mov    %eax,-0x624(%rbp)
jmp    7511 <get_first_winning_move_3+0x6401>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x624(%rbp)
mov    -0x624(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7535 <get_first_winning_move_3+0x6425>
xor    %eax,%eax
mov    %eax,-0x628(%rbp)
jmp    7546 <get_first_winning_move_3+0x6436>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x628(%rbp)
mov    -0x628(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    7555 <get_first_winning_move_3+0x6445>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    7562 <get_first_winning_move_3+0x6452>
jmp    163ff <get_first_winning_move_3+0x152ef>
movswl -0x16(%rbp),%eax
cmp    $0x8,%eax
jne    81e7 <get_first_winning_move_3+0x70d7>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     81e2 <get_first_winning_move_3+0x70d2>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    81e2 <get_first_winning_move_3+0x70d2>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     81dd <get_first_winning_move_3+0x70cd>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     81dd <get_first_winning_move_3+0x70cd>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     81dd <get_first_winning_move_3+0x70cd>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     81dd <get_first_winning_move_3+0x70cd>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     81dd <get_first_winning_move_3+0x70cd>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    79f7 <get_first_winning_move_3+0x68e7>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7631 <get_first_winning_move_3+0x6521>
xor    %eax,%eax
mov    %eax,-0x62c(%rbp)
jmp    7642 <get_first_winning_move_3+0x6532>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x62c(%rbp)
mov    -0x62c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7666 <get_first_winning_move_3+0x6556>
xor    %eax,%eax
mov    %eax,-0x630(%rbp)
jmp    7677 <get_first_winning_move_3+0x6567>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x630(%rbp)
mov    -0x630(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    76a3 <get_first_winning_move_3+0x6593>
xor    %eax,%eax
mov    %eax,-0x634(%rbp)
jmp    76b4 <get_first_winning_move_3+0x65a4>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x634(%rbp)
mov    -0x634(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    76d8 <get_first_winning_move_3+0x65c8>
xor    %eax,%eax
mov    %eax,-0x638(%rbp)
jmp    76e9 <get_first_winning_move_3+0x65d9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x638(%rbp)
mov    -0x638(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7715 <get_first_winning_move_3+0x6605>
xor    %eax,%eax
mov    %eax,-0x63c(%rbp)
jmp    7726 <get_first_winning_move_3+0x6616>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x63c(%rbp)
mov    -0x63c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    774a <get_first_winning_move_3+0x663a>
xor    %eax,%eax
mov    %eax,-0x640(%rbp)
jmp    775b <get_first_winning_move_3+0x664b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x640(%rbp)
mov    -0x640(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7787 <get_first_winning_move_3+0x6677>
xor    %eax,%eax
mov    %eax,-0x644(%rbp)
jmp    7798 <get_first_winning_move_3+0x6688>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x644(%rbp)
mov    -0x644(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    77bc <get_first_winning_move_3+0x66ac>
xor    %eax,%eax
mov    %eax,-0x648(%rbp)
jmp    77cd <get_first_winning_move_3+0x66bd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x648(%rbp)
mov    -0x648(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     7822 <get_first_winning_move_3+0x6712>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7844 <get_first_winning_move_3+0x6734>
xor    %eax,%eax
mov    %eax,-0x64c(%rbp)
jmp    7855 <get_first_winning_move_3+0x6745>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x64c(%rbp)
mov    -0x64c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7879 <get_first_winning_move_3+0x6769>
xor    %eax,%eax
mov    %eax,-0x650(%rbp)
jmp    788a <get_first_winning_move_3+0x677a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x650(%rbp)
mov    -0x650(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    78b6 <get_first_winning_move_3+0x67a6>
xor    %eax,%eax
mov    %eax,-0x654(%rbp)
jmp    78c7 <get_first_winning_move_3+0x67b7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x654(%rbp)
mov    -0x654(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    78eb <get_first_winning_move_3+0x67db>
xor    %eax,%eax
mov    %eax,-0x658(%rbp)
jmp    78fc <get_first_winning_move_3+0x67ec>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x658(%rbp)
mov    -0x658(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7928 <get_first_winning_move_3+0x6818>
xor    %eax,%eax
mov    %eax,-0x65c(%rbp)
jmp    7939 <get_first_winning_move_3+0x6829>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x65c(%rbp)
mov    -0x65c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    795d <get_first_winning_move_3+0x684d>
xor    %eax,%eax
mov    %eax,-0x660(%rbp)
jmp    796e <get_first_winning_move_3+0x685e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x660(%rbp)
mov    -0x660(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    799a <get_first_winning_move_3+0x688a>
xor    %eax,%eax
mov    %eax,-0x664(%rbp)
jmp    79ab <get_first_winning_move_3+0x689b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x664(%rbp)
mov    -0x664(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    79cf <get_first_winning_move_3+0x68bf>
xor    %eax,%eax
mov    %eax,-0x668(%rbp)
jmp    79e0 <get_first_winning_move_3+0x68d0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x668(%rbp)
mov    -0x668(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    81d5 <get_first_winning_move_3+0x70c5>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    7df5 <get_first_winning_move_3+0x6ce5>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7a2f <get_first_winning_move_3+0x691f>
xor    %eax,%eax
mov    %eax,-0x66c(%rbp)
jmp    7a40 <get_first_winning_move_3+0x6930>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x66c(%rbp)
mov    -0x66c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7a64 <get_first_winning_move_3+0x6954>
xor    %eax,%eax
mov    %eax,-0x670(%rbp)
jmp    7a75 <get_first_winning_move_3+0x6965>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x670(%rbp)
mov    -0x670(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    7aa1 <get_first_winning_move_3+0x6991>
xor    %eax,%eax
mov    %eax,-0x674(%rbp)
jmp    7ab2 <get_first_winning_move_3+0x69a2>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x674(%rbp)
mov    -0x674(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7ad6 <get_first_winning_move_3+0x69c6>
xor    %eax,%eax
mov    %eax,-0x678(%rbp)
jmp    7ae7 <get_first_winning_move_3+0x69d7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x678(%rbp)
mov    -0x678(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7b13 <get_first_winning_move_3+0x6a03>
xor    %eax,%eax
mov    %eax,-0x67c(%rbp)
jmp    7b24 <get_first_winning_move_3+0x6a14>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x67c(%rbp)
mov    -0x67c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7b48 <get_first_winning_move_3+0x6a38>
xor    %eax,%eax
mov    %eax,-0x680(%rbp)
jmp    7b59 <get_first_winning_move_3+0x6a49>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x680(%rbp)
mov    -0x680(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7b85 <get_first_winning_move_3+0x6a75>
xor    %eax,%eax
mov    %eax,-0x684(%rbp)
jmp    7b96 <get_first_winning_move_3+0x6a86>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x684(%rbp)
mov    -0x684(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7bba <get_first_winning_move_3+0x6aaa>
xor    %eax,%eax
mov    %eax,-0x688(%rbp)
jmp    7bcb <get_first_winning_move_3+0x6abb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x688(%rbp)
mov    -0x688(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     7c20 <get_first_winning_move_3+0x6b10>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7c42 <get_first_winning_move_3+0x6b32>
xor    %eax,%eax
mov    %eax,-0x68c(%rbp)
jmp    7c53 <get_first_winning_move_3+0x6b43>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x68c(%rbp)
mov    -0x68c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7c77 <get_first_winning_move_3+0x6b67>
xor    %eax,%eax
mov    %eax,-0x690(%rbp)
jmp    7c88 <get_first_winning_move_3+0x6b78>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x690(%rbp)
mov    -0x690(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    7cb4 <get_first_winning_move_3+0x6ba4>
xor    %eax,%eax
mov    %eax,-0x694(%rbp)
jmp    7cc5 <get_first_winning_move_3+0x6bb5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x694(%rbp)
mov    -0x694(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7ce9 <get_first_winning_move_3+0x6bd9>
xor    %eax,%eax
mov    %eax,-0x698(%rbp)
jmp    7cfa <get_first_winning_move_3+0x6bea>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x698(%rbp)
mov    -0x698(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7d26 <get_first_winning_move_3+0x6c16>
xor    %eax,%eax
mov    %eax,-0x69c(%rbp)
jmp    7d37 <get_first_winning_move_3+0x6c27>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x69c(%rbp)
mov    -0x69c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7d5b <get_first_winning_move_3+0x6c4b>
xor    %eax,%eax
mov    %eax,-0x6a0(%rbp)
jmp    7d6c <get_first_winning_move_3+0x6c5c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6a0(%rbp)
mov    -0x6a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7d98 <get_first_winning_move_3+0x6c88>
xor    %eax,%eax
mov    %eax,-0x6a4(%rbp)
jmp    7da9 <get_first_winning_move_3+0x6c99>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6a4(%rbp)
mov    -0x6a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7dcd <get_first_winning_move_3+0x6cbd>
xor    %eax,%eax
mov    %eax,-0x6a8(%rbp)
jmp    7dde <get_first_winning_move_3+0x6cce>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6a8(%rbp)
mov    -0x6a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    81d0 <get_first_winning_move_3+0x70c0>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7e17 <get_first_winning_move_3+0x6d07>
xor    %eax,%eax
mov    %eax,-0x6ac(%rbp)
jmp    7e28 <get_first_winning_move_3+0x6d18>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6ac(%rbp)
mov    -0x6ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7e4c <get_first_winning_move_3+0x6d3c>
xor    %eax,%eax
mov    %eax,-0x6b0(%rbp)
jmp    7e5d <get_first_winning_move_3+0x6d4d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6b0(%rbp)
mov    -0x6b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    7e89 <get_first_winning_move_3+0x6d79>
xor    %eax,%eax
mov    %eax,-0x6b4(%rbp)
jmp    7e9a <get_first_winning_move_3+0x6d8a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6b4(%rbp)
mov    -0x6b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7ebe <get_first_winning_move_3+0x6dae>
xor    %eax,%eax
mov    %eax,-0x6b8(%rbp)
jmp    7ecf <get_first_winning_move_3+0x6dbf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6b8(%rbp)
mov    -0x6b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7efb <get_first_winning_move_3+0x6deb>
xor    %eax,%eax
mov    %eax,-0x6bc(%rbp)
jmp    7f0c <get_first_winning_move_3+0x6dfc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6bc(%rbp)
mov    -0x6bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7f30 <get_first_winning_move_3+0x6e20>
xor    %eax,%eax
mov    %eax,-0x6c0(%rbp)
jmp    7f41 <get_first_winning_move_3+0x6e31>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6c0(%rbp)
mov    -0x6c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    7f6d <get_first_winning_move_3+0x6e5d>
xor    %eax,%eax
mov    %eax,-0x6c4(%rbp)
jmp    7f7e <get_first_winning_move_3+0x6e6e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6c4(%rbp)
mov    -0x6c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    7fa2 <get_first_winning_move_3+0x6e92>
xor    %eax,%eax
mov    %eax,-0x6c8(%rbp)
jmp    7fb3 <get_first_winning_move_3+0x6ea3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6c8(%rbp)
mov    -0x6c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     8008 <get_first_winning_move_3+0x6ef8>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    802a <get_first_winning_move_3+0x6f1a>
xor    %eax,%eax
mov    %eax,-0x6cc(%rbp)
jmp    803b <get_first_winning_move_3+0x6f2b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6cc(%rbp)
mov    -0x6cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    805f <get_first_winning_move_3+0x6f4f>
xor    %eax,%eax
mov    %eax,-0x6d0(%rbp)
jmp    8070 <get_first_winning_move_3+0x6f60>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6d0(%rbp)
mov    -0x6d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    809c <get_first_winning_move_3+0x6f8c>
xor    %eax,%eax
mov    %eax,-0x6d4(%rbp)
jmp    80ad <get_first_winning_move_3+0x6f9d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6d4(%rbp)
mov    -0x6d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    80d1 <get_first_winning_move_3+0x6fc1>
xor    %eax,%eax
mov    %eax,-0x6d8(%rbp)
jmp    80e2 <get_first_winning_move_3+0x6fd2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6d8(%rbp)
mov    -0x6d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    810e <get_first_winning_move_3+0x6ffe>
xor    %eax,%eax
mov    %eax,-0x6dc(%rbp)
jmp    811f <get_first_winning_move_3+0x700f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6dc(%rbp)
mov    -0x6dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8143 <get_first_winning_move_3+0x7033>
xor    %eax,%eax
mov    %eax,-0x6e0(%rbp)
jmp    8154 <get_first_winning_move_3+0x7044>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6e0(%rbp)
mov    -0x6e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    8180 <get_first_winning_move_3+0x7070>
xor    %eax,%eax
mov    %eax,-0x6e4(%rbp)
jmp    8191 <get_first_winning_move_3+0x7081>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6e4(%rbp)
mov    -0x6e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    81b5 <get_first_winning_move_3+0x70a5>
xor    %eax,%eax
mov    %eax,-0x6e8(%rbp)
jmp    81c6 <get_first_winning_move_3+0x70b6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6e8(%rbp)
mov    -0x6e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    81d5 <get_first_winning_move_3+0x70c5>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    81e2 <get_first_winning_move_3+0x70d2>
jmp    163fa <get_first_winning_move_3+0x152ea>
movswl -0x16(%rbp),%eax
cmp    $0x9,%eax
jne    8e7c <get_first_winning_move_3+0x7d6c>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     8e77 <get_first_winning_move_3+0x7d67>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    8e77 <get_first_winning_move_3+0x7d67>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     8e77 <get_first_winning_move_3+0x7d67>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     8e72 <get_first_winning_move_3+0x7d62>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     8e72 <get_first_winning_move_3+0x7d62>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     8e72 <get_first_winning_move_3+0x7d62>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     8e72 <get_first_winning_move_3+0x7d62>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     8e72 <get_first_winning_move_3+0x7d62>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    868c <get_first_winning_move_3+0x757c>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    82c6 <get_first_winning_move_3+0x71b6>
xor    %eax,%eax
mov    %eax,-0x6ec(%rbp)
jmp    82d7 <get_first_winning_move_3+0x71c7>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6ec(%rbp)
mov    -0x6ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    82fb <get_first_winning_move_3+0x71eb>
xor    %eax,%eax
mov    %eax,-0x6f0(%rbp)
jmp    830c <get_first_winning_move_3+0x71fc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6f0(%rbp)
mov    -0x6f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8338 <get_first_winning_move_3+0x7228>
xor    %eax,%eax
mov    %eax,-0x6f4(%rbp)
jmp    8349 <get_first_winning_move_3+0x7239>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6f4(%rbp)
mov    -0x6f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    836d <get_first_winning_move_3+0x725d>
xor    %eax,%eax
mov    %eax,-0x6f8(%rbp)
jmp    837e <get_first_winning_move_3+0x726e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6f8(%rbp)
mov    -0x6f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    83aa <get_first_winning_move_3+0x729a>
xor    %eax,%eax
mov    %eax,-0x6fc(%rbp)
jmp    83bb <get_first_winning_move_3+0x72ab>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6fc(%rbp)
mov    -0x6fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    83df <get_first_winning_move_3+0x72cf>
xor    %eax,%eax
mov    %eax,-0x700(%rbp)
jmp    83f0 <get_first_winning_move_3+0x72e0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x700(%rbp)
mov    -0x700(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    841c <get_first_winning_move_3+0x730c>
xor    %eax,%eax
mov    %eax,-0x704(%rbp)
jmp    842d <get_first_winning_move_3+0x731d>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x704(%rbp)
mov    -0x704(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8451 <get_first_winning_move_3+0x7341>
xor    %eax,%eax
mov    %eax,-0x708(%rbp)
jmp    8462 <get_first_winning_move_3+0x7352>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x708(%rbp)
mov    -0x708(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     84b7 <get_first_winning_move_3+0x73a7>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    84d9 <get_first_winning_move_3+0x73c9>
xor    %eax,%eax
mov    %eax,-0x70c(%rbp)
jmp    84ea <get_first_winning_move_3+0x73da>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x70c(%rbp)
mov    -0x70c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    850e <get_first_winning_move_3+0x73fe>
xor    %eax,%eax
mov    %eax,-0x710(%rbp)
jmp    851f <get_first_winning_move_3+0x740f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x710(%rbp)
mov    -0x710(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    854b <get_first_winning_move_3+0x743b>
xor    %eax,%eax
mov    %eax,-0x714(%rbp)
jmp    855c <get_first_winning_move_3+0x744c>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x714(%rbp)
mov    -0x714(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8580 <get_first_winning_move_3+0x7470>
xor    %eax,%eax
mov    %eax,-0x718(%rbp)
jmp    8591 <get_first_winning_move_3+0x7481>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x718(%rbp)
mov    -0x718(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    85bd <get_first_winning_move_3+0x74ad>
xor    %eax,%eax
mov    %eax,-0x71c(%rbp)
jmp    85ce <get_first_winning_move_3+0x74be>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x71c(%rbp)
mov    -0x71c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    85f2 <get_first_winning_move_3+0x74e2>
xor    %eax,%eax
mov    %eax,-0x720(%rbp)
jmp    8603 <get_first_winning_move_3+0x74f3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x720(%rbp)
mov    -0x720(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    862f <get_first_winning_move_3+0x751f>
xor    %eax,%eax
mov    %eax,-0x724(%rbp)
jmp    8640 <get_first_winning_move_3+0x7530>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x724(%rbp)
mov    -0x724(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8664 <get_first_winning_move_3+0x7554>
xor    %eax,%eax
mov    %eax,-0x728(%rbp)
jmp    8675 <get_first_winning_move_3+0x7565>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x728(%rbp)
mov    -0x728(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    8e6a <get_first_winning_move_3+0x7d5a>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    8a8a <get_first_winning_move_3+0x797a>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    86c4 <get_first_winning_move_3+0x75b4>
xor    %eax,%eax
mov    %eax,-0x72c(%rbp)
jmp    86d5 <get_first_winning_move_3+0x75c5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x72c(%rbp)
mov    -0x72c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    86f9 <get_first_winning_move_3+0x75e9>
xor    %eax,%eax
mov    %eax,-0x730(%rbp)
jmp    870a <get_first_winning_move_3+0x75fa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x730(%rbp)
mov    -0x730(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8736 <get_first_winning_move_3+0x7626>
xor    %eax,%eax
mov    %eax,-0x734(%rbp)
jmp    8747 <get_first_winning_move_3+0x7637>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x734(%rbp)
mov    -0x734(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    876b <get_first_winning_move_3+0x765b>
xor    %eax,%eax
mov    %eax,-0x738(%rbp)
jmp    877c <get_first_winning_move_3+0x766c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x738(%rbp)
mov    -0x738(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    87a8 <get_first_winning_move_3+0x7698>
xor    %eax,%eax
mov    %eax,-0x73c(%rbp)
jmp    87b9 <get_first_winning_move_3+0x76a9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x73c(%rbp)
mov    -0x73c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    87dd <get_first_winning_move_3+0x76cd>
xor    %eax,%eax
mov    %eax,-0x740(%rbp)
jmp    87ee <get_first_winning_move_3+0x76de>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x740(%rbp)
mov    -0x740(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    881a <get_first_winning_move_3+0x770a>
xor    %eax,%eax
mov    %eax,-0x744(%rbp)
jmp    882b <get_first_winning_move_3+0x771b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x744(%rbp)
mov    -0x744(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    884f <get_first_winning_move_3+0x773f>
xor    %eax,%eax
mov    %eax,-0x748(%rbp)
jmp    8860 <get_first_winning_move_3+0x7750>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x748(%rbp)
mov    -0x748(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     88b5 <get_first_winning_move_3+0x77a5>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    88d7 <get_first_winning_move_3+0x77c7>
xor    %eax,%eax
mov    %eax,-0x74c(%rbp)
jmp    88e8 <get_first_winning_move_3+0x77d8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x74c(%rbp)
mov    -0x74c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    890c <get_first_winning_move_3+0x77fc>
xor    %eax,%eax
mov    %eax,-0x750(%rbp)
jmp    891d <get_first_winning_move_3+0x780d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x750(%rbp)
mov    -0x750(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8949 <get_first_winning_move_3+0x7839>
xor    %eax,%eax
mov    %eax,-0x754(%rbp)
jmp    895a <get_first_winning_move_3+0x784a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x754(%rbp)
mov    -0x754(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    897e <get_first_winning_move_3+0x786e>
xor    %eax,%eax
mov    %eax,-0x758(%rbp)
jmp    898f <get_first_winning_move_3+0x787f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x758(%rbp)
mov    -0x758(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    89bb <get_first_winning_move_3+0x78ab>
xor    %eax,%eax
mov    %eax,-0x75c(%rbp)
jmp    89cc <get_first_winning_move_3+0x78bc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x75c(%rbp)
mov    -0x75c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    89f0 <get_first_winning_move_3+0x78e0>
xor    %eax,%eax
mov    %eax,-0x760(%rbp)
jmp    8a01 <get_first_winning_move_3+0x78f1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x760(%rbp)
mov    -0x760(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    8a2d <get_first_winning_move_3+0x791d>
xor    %eax,%eax
mov    %eax,-0x764(%rbp)
jmp    8a3e <get_first_winning_move_3+0x792e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x764(%rbp)
mov    -0x764(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8a62 <get_first_winning_move_3+0x7952>
xor    %eax,%eax
mov    %eax,-0x768(%rbp)
jmp    8a73 <get_first_winning_move_3+0x7963>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x768(%rbp)
mov    -0x768(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    8e65 <get_first_winning_move_3+0x7d55>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8aac <get_first_winning_move_3+0x799c>
xor    %eax,%eax
mov    %eax,-0x76c(%rbp)
jmp    8abd <get_first_winning_move_3+0x79ad>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x76c(%rbp)
mov    -0x76c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8ae1 <get_first_winning_move_3+0x79d1>
xor    %eax,%eax
mov    %eax,-0x770(%rbp)
jmp    8af2 <get_first_winning_move_3+0x79e2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x770(%rbp)
mov    -0x770(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8b1e <get_first_winning_move_3+0x7a0e>
xor    %eax,%eax
mov    %eax,-0x774(%rbp)
jmp    8b2f <get_first_winning_move_3+0x7a1f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x774(%rbp)
mov    -0x774(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8b53 <get_first_winning_move_3+0x7a43>
xor    %eax,%eax
mov    %eax,-0x778(%rbp)
jmp    8b64 <get_first_winning_move_3+0x7a54>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x778(%rbp)
mov    -0x778(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8b90 <get_first_winning_move_3+0x7a80>
xor    %eax,%eax
mov    %eax,-0x77c(%rbp)
jmp    8ba1 <get_first_winning_move_3+0x7a91>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x77c(%rbp)
mov    -0x77c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8bc5 <get_first_winning_move_3+0x7ab5>
xor    %eax,%eax
mov    %eax,-0x780(%rbp)
jmp    8bd6 <get_first_winning_move_3+0x7ac6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x780(%rbp)
mov    -0x780(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    8c02 <get_first_winning_move_3+0x7af2>
xor    %eax,%eax
mov    %eax,-0x784(%rbp)
jmp    8c13 <get_first_winning_move_3+0x7b03>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x784(%rbp)
mov    -0x784(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8c37 <get_first_winning_move_3+0x7b27>
xor    %eax,%eax
mov    %eax,-0x788(%rbp)
jmp    8c48 <get_first_winning_move_3+0x7b38>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x788(%rbp)
mov    -0x788(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     8c9d <get_first_winning_move_3+0x7b8d>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8cbf <get_first_winning_move_3+0x7baf>
xor    %eax,%eax
mov    %eax,-0x78c(%rbp)
jmp    8cd0 <get_first_winning_move_3+0x7bc0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x78c(%rbp)
mov    -0x78c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8cf4 <get_first_winning_move_3+0x7be4>
xor    %eax,%eax
mov    %eax,-0x790(%rbp)
jmp    8d05 <get_first_winning_move_3+0x7bf5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x790(%rbp)
mov    -0x790(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8d31 <get_first_winning_move_3+0x7c21>
xor    %eax,%eax
mov    %eax,-0x794(%rbp)
jmp    8d42 <get_first_winning_move_3+0x7c32>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x794(%rbp)
mov    -0x794(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8d66 <get_first_winning_move_3+0x7c56>
xor    %eax,%eax
mov    %eax,-0x798(%rbp)
jmp    8d77 <get_first_winning_move_3+0x7c67>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x798(%rbp)
mov    -0x798(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8da3 <get_first_winning_move_3+0x7c93>
xor    %eax,%eax
mov    %eax,-0x79c(%rbp)
jmp    8db4 <get_first_winning_move_3+0x7ca4>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x79c(%rbp)
mov    -0x79c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8dd8 <get_first_winning_move_3+0x7cc8>
xor    %eax,%eax
mov    %eax,-0x7a0(%rbp)
jmp    8de9 <get_first_winning_move_3+0x7cd9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7a0(%rbp)
mov    -0x7a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    8e15 <get_first_winning_move_3+0x7d05>
xor    %eax,%eax
mov    %eax,-0x7a4(%rbp)
jmp    8e26 <get_first_winning_move_3+0x7d16>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7a4(%rbp)
mov    -0x7a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8e4a <get_first_winning_move_3+0x7d3a>
xor    %eax,%eax
mov    %eax,-0x7a8(%rbp)
jmp    8e5b <get_first_winning_move_3+0x7d4b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7a8(%rbp)
mov    -0x7a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    8e6a <get_first_winning_move_3+0x7d5a>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    8e77 <get_first_winning_move_3+0x7d67>
jmp    163f5 <get_first_winning_move_3+0x152e5>
movswl -0x16(%rbp),%eax
cmp    $0xa,%eax
jne    9b04 <get_first_winning_move_3+0x89f4>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     9aff <get_first_winning_move_3+0x89ef>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     9aff <get_first_winning_move_3+0x89ef>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     9afa <get_first_winning_move_3+0x89ea>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     9afa <get_first_winning_move_3+0x89ea>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     9afa <get_first_winning_move_3+0x89ea>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     9afa <get_first_winning_move_3+0x89ea>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     9afa <get_first_winning_move_3+0x89ea>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    9314 <get_first_winning_move_3+0x8204>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8f4e <get_first_winning_move_3+0x7e3e>
xor    %eax,%eax
mov    %eax,-0x7ac(%rbp)
jmp    8f5f <get_first_winning_move_3+0x7e4f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7ac(%rbp)
mov    -0x7ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8f83 <get_first_winning_move_3+0x7e73>
xor    %eax,%eax
mov    %eax,-0x7b0(%rbp)
jmp    8f94 <get_first_winning_move_3+0x7e84>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7b0(%rbp)
mov    -0x7b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    8fc0 <get_first_winning_move_3+0x7eb0>
xor    %eax,%eax
mov    %eax,-0x7b4(%rbp)
jmp    8fd1 <get_first_winning_move_3+0x7ec1>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7b4(%rbp)
mov    -0x7b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    8ff5 <get_first_winning_move_3+0x7ee5>
xor    %eax,%eax
mov    %eax,-0x7b8(%rbp)
jmp    9006 <get_first_winning_move_3+0x7ef6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7b8(%rbp)
mov    -0x7b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9032 <get_first_winning_move_3+0x7f22>
xor    %eax,%eax
mov    %eax,-0x7bc(%rbp)
jmp    9043 <get_first_winning_move_3+0x7f33>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7bc(%rbp)
mov    -0x7bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9067 <get_first_winning_move_3+0x7f57>
xor    %eax,%eax
mov    %eax,-0x7c0(%rbp)
jmp    9078 <get_first_winning_move_3+0x7f68>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7c0(%rbp)
mov    -0x7c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    90a4 <get_first_winning_move_3+0x7f94>
xor    %eax,%eax
mov    %eax,-0x7c4(%rbp)
jmp    90b5 <get_first_winning_move_3+0x7fa5>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7c4(%rbp)
mov    -0x7c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    90d9 <get_first_winning_move_3+0x7fc9>
xor    %eax,%eax
mov    %eax,-0x7c8(%rbp)
jmp    90ea <get_first_winning_move_3+0x7fda>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7c8(%rbp)
mov    -0x7c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     913f <get_first_winning_move_3+0x802f>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9161 <get_first_winning_move_3+0x8051>
xor    %eax,%eax
mov    %eax,-0x7cc(%rbp)
jmp    9172 <get_first_winning_move_3+0x8062>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7cc(%rbp)
mov    -0x7cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9196 <get_first_winning_move_3+0x8086>
xor    %eax,%eax
mov    %eax,-0x7d0(%rbp)
jmp    91a7 <get_first_winning_move_3+0x8097>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7d0(%rbp)
mov    -0x7d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    91d3 <get_first_winning_move_3+0x80c3>
xor    %eax,%eax
mov    %eax,-0x7d4(%rbp)
jmp    91e4 <get_first_winning_move_3+0x80d4>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7d4(%rbp)
mov    -0x7d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9208 <get_first_winning_move_3+0x80f8>
xor    %eax,%eax
mov    %eax,-0x7d8(%rbp)
jmp    9219 <get_first_winning_move_3+0x8109>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7d8(%rbp)
mov    -0x7d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9245 <get_first_winning_move_3+0x8135>
xor    %eax,%eax
mov    %eax,-0x7dc(%rbp)
jmp    9256 <get_first_winning_move_3+0x8146>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7dc(%rbp)
mov    -0x7dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    927a <get_first_winning_move_3+0x816a>
xor    %eax,%eax
mov    %eax,-0x7e0(%rbp)
jmp    928b <get_first_winning_move_3+0x817b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7e0(%rbp)
mov    -0x7e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    92b7 <get_first_winning_move_3+0x81a7>
xor    %eax,%eax
mov    %eax,-0x7e4(%rbp)
jmp    92c8 <get_first_winning_move_3+0x81b8>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7e4(%rbp)
mov    -0x7e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    92ec <get_first_winning_move_3+0x81dc>
xor    %eax,%eax
mov    %eax,-0x7e8(%rbp)
jmp    92fd <get_first_winning_move_3+0x81ed>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7e8(%rbp)
mov    -0x7e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    9af2 <get_first_winning_move_3+0x89e2>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    9712 <get_first_winning_move_3+0x8602>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    934c <get_first_winning_move_3+0x823c>
xor    %eax,%eax
mov    %eax,-0x7ec(%rbp)
jmp    935d <get_first_winning_move_3+0x824d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7ec(%rbp)
mov    -0x7ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9381 <get_first_winning_move_3+0x8271>
xor    %eax,%eax
mov    %eax,-0x7f0(%rbp)
jmp    9392 <get_first_winning_move_3+0x8282>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7f0(%rbp)
mov    -0x7f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    93be <get_first_winning_move_3+0x82ae>
xor    %eax,%eax
mov    %eax,-0x7f4(%rbp)
jmp    93cf <get_first_winning_move_3+0x82bf>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7f4(%rbp)
mov    -0x7f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    93f3 <get_first_winning_move_3+0x82e3>
xor    %eax,%eax
mov    %eax,-0x7f8(%rbp)
jmp    9404 <get_first_winning_move_3+0x82f4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7f8(%rbp)
mov    -0x7f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9430 <get_first_winning_move_3+0x8320>
xor    %eax,%eax
mov    %eax,-0x7fc(%rbp)
jmp    9441 <get_first_winning_move_3+0x8331>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7fc(%rbp)
mov    -0x7fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9465 <get_first_winning_move_3+0x8355>
xor    %eax,%eax
mov    %eax,-0x800(%rbp)
jmp    9476 <get_first_winning_move_3+0x8366>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x800(%rbp)
mov    -0x800(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    94a2 <get_first_winning_move_3+0x8392>
xor    %eax,%eax
mov    %eax,-0x804(%rbp)
jmp    94b3 <get_first_winning_move_3+0x83a3>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x804(%rbp)
mov    -0x804(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    94d7 <get_first_winning_move_3+0x83c7>
xor    %eax,%eax
mov    %eax,-0x808(%rbp)
jmp    94e8 <get_first_winning_move_3+0x83d8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x808(%rbp)
mov    -0x808(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     953d <get_first_winning_move_3+0x842d>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    955f <get_first_winning_move_3+0x844f>
xor    %eax,%eax
mov    %eax,-0x80c(%rbp)
jmp    9570 <get_first_winning_move_3+0x8460>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x80c(%rbp)
mov    -0x80c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9594 <get_first_winning_move_3+0x8484>
xor    %eax,%eax
mov    %eax,-0x810(%rbp)
jmp    95a5 <get_first_winning_move_3+0x8495>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x810(%rbp)
mov    -0x810(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    95d1 <get_first_winning_move_3+0x84c1>
xor    %eax,%eax
mov    %eax,-0x814(%rbp)
jmp    95e2 <get_first_winning_move_3+0x84d2>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x814(%rbp)
mov    -0x814(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9606 <get_first_winning_move_3+0x84f6>
xor    %eax,%eax
mov    %eax,-0x818(%rbp)
jmp    9617 <get_first_winning_move_3+0x8507>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x818(%rbp)
mov    -0x818(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9643 <get_first_winning_move_3+0x8533>
xor    %eax,%eax
mov    %eax,-0x81c(%rbp)
jmp    9654 <get_first_winning_move_3+0x8544>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x81c(%rbp)
mov    -0x81c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9678 <get_first_winning_move_3+0x8568>
xor    %eax,%eax
mov    %eax,-0x820(%rbp)
jmp    9689 <get_first_winning_move_3+0x8579>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x820(%rbp)
mov    -0x820(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    96b5 <get_first_winning_move_3+0x85a5>
xor    %eax,%eax
mov    %eax,-0x824(%rbp)
jmp    96c6 <get_first_winning_move_3+0x85b6>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x824(%rbp)
mov    -0x824(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    96ea <get_first_winning_move_3+0x85da>
xor    %eax,%eax
mov    %eax,-0x828(%rbp)
jmp    96fb <get_first_winning_move_3+0x85eb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x828(%rbp)
mov    -0x828(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    9aed <get_first_winning_move_3+0x89dd>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9734 <get_first_winning_move_3+0x8624>
xor    %eax,%eax
mov    %eax,-0x82c(%rbp)
jmp    9745 <get_first_winning_move_3+0x8635>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x82c(%rbp)
mov    -0x82c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9769 <get_first_winning_move_3+0x8659>
xor    %eax,%eax
mov    %eax,-0x830(%rbp)
jmp    977a <get_first_winning_move_3+0x866a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x830(%rbp)
mov    -0x830(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    97a6 <get_first_winning_move_3+0x8696>
xor    %eax,%eax
mov    %eax,-0x834(%rbp)
jmp    97b7 <get_first_winning_move_3+0x86a7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x834(%rbp)
mov    -0x834(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    97db <get_first_winning_move_3+0x86cb>
xor    %eax,%eax
mov    %eax,-0x838(%rbp)
jmp    97ec <get_first_winning_move_3+0x86dc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x838(%rbp)
mov    -0x838(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9818 <get_first_winning_move_3+0x8708>
xor    %eax,%eax
mov    %eax,-0x83c(%rbp)
jmp    9829 <get_first_winning_move_3+0x8719>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x83c(%rbp)
mov    -0x83c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    984d <get_first_winning_move_3+0x873d>
xor    %eax,%eax
mov    %eax,-0x840(%rbp)
jmp    985e <get_first_winning_move_3+0x874e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x840(%rbp)
mov    -0x840(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    988a <get_first_winning_move_3+0x877a>
xor    %eax,%eax
mov    %eax,-0x844(%rbp)
jmp    989b <get_first_winning_move_3+0x878b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x844(%rbp)
mov    -0x844(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    98bf <get_first_winning_move_3+0x87af>
xor    %eax,%eax
mov    %eax,-0x848(%rbp)
jmp    98d0 <get_first_winning_move_3+0x87c0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x848(%rbp)
mov    -0x848(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     9925 <get_first_winning_move_3+0x8815>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9947 <get_first_winning_move_3+0x8837>
xor    %eax,%eax
mov    %eax,-0x84c(%rbp)
jmp    9958 <get_first_winning_move_3+0x8848>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x84c(%rbp)
mov    -0x84c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    997c <get_first_winning_move_3+0x886c>
xor    %eax,%eax
mov    %eax,-0x850(%rbp)
jmp    998d <get_first_winning_move_3+0x887d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x850(%rbp)
mov    -0x850(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    99b9 <get_first_winning_move_3+0x88a9>
xor    %eax,%eax
mov    %eax,-0x854(%rbp)
jmp    99ca <get_first_winning_move_3+0x88ba>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x854(%rbp)
mov    -0x854(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    99ee <get_first_winning_move_3+0x88de>
xor    %eax,%eax
mov    %eax,-0x858(%rbp)
jmp    99ff <get_first_winning_move_3+0x88ef>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x858(%rbp)
mov    -0x858(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9a2b <get_first_winning_move_3+0x891b>
xor    %eax,%eax
mov    %eax,-0x85c(%rbp)
jmp    9a3c <get_first_winning_move_3+0x892c>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x85c(%rbp)
mov    -0x85c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9a60 <get_first_winning_move_3+0x8950>
xor    %eax,%eax
mov    %eax,-0x860(%rbp)
jmp    9a71 <get_first_winning_move_3+0x8961>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x860(%rbp)
mov    -0x860(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    9a9d <get_first_winning_move_3+0x898d>
xor    %eax,%eax
mov    %eax,-0x864(%rbp)
jmp    9aae <get_first_winning_move_3+0x899e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x864(%rbp)
mov    -0x864(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9ad2 <get_first_winning_move_3+0x89c2>
xor    %eax,%eax
mov    %eax,-0x868(%rbp)
jmp    9ae3 <get_first_winning_move_3+0x89d3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x868(%rbp)
mov    -0x868(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    9af2 <get_first_winning_move_3+0x89e2>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    9aff <get_first_winning_move_3+0x89ef>
jmp    163f0 <get_first_winning_move_3+0x152e0>
movswl -0x16(%rbp),%eax
cmp    $0xb,%eax
jne    a79d <get_first_winning_move_3+0x968d>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     a798 <get_first_winning_move_3+0x9688>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    a798 <get_first_winning_move_3+0x9688>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     a798 <get_first_winning_move_3+0x9688>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     a793 <get_first_winning_move_3+0x9683>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     a793 <get_first_winning_move_3+0x9683>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     a793 <get_first_winning_move_3+0x9683>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     a793 <get_first_winning_move_3+0x9683>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     a793 <get_first_winning_move_3+0x9683>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    9fad <get_first_winning_move_3+0x8e9d>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9be7 <get_first_winning_move_3+0x8ad7>
xor    %eax,%eax
mov    %eax,-0x86c(%rbp)
jmp    9bf8 <get_first_winning_move_3+0x8ae8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x86c(%rbp)
mov    -0x86c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9c1c <get_first_winning_move_3+0x8b0c>
xor    %eax,%eax
mov    %eax,-0x870(%rbp)
jmp    9c2d <get_first_winning_move_3+0x8b1d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x870(%rbp)
mov    -0x870(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    9c59 <get_first_winning_move_3+0x8b49>
xor    %eax,%eax
mov    %eax,-0x874(%rbp)
jmp    9c6a <get_first_winning_move_3+0x8b5a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x874(%rbp)
mov    -0x874(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9c8e <get_first_winning_move_3+0x8b7e>
xor    %eax,%eax
mov    %eax,-0x878(%rbp)
jmp    9c9f <get_first_winning_move_3+0x8b8f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x878(%rbp)
mov    -0x878(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9ccb <get_first_winning_move_3+0x8bbb>
xor    %eax,%eax
mov    %eax,-0x87c(%rbp)
jmp    9cdc <get_first_winning_move_3+0x8bcc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x87c(%rbp)
mov    -0x87c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9d00 <get_first_winning_move_3+0x8bf0>
xor    %eax,%eax
mov    %eax,-0x880(%rbp)
jmp    9d11 <get_first_winning_move_3+0x8c01>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x880(%rbp)
mov    -0x880(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    9d3d <get_first_winning_move_3+0x8c2d>
xor    %eax,%eax
mov    %eax,-0x884(%rbp)
jmp    9d4e <get_first_winning_move_3+0x8c3e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x884(%rbp)
mov    -0x884(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9d72 <get_first_winning_move_3+0x8c62>
xor    %eax,%eax
mov    %eax,-0x888(%rbp)
jmp    9d83 <get_first_winning_move_3+0x8c73>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x888(%rbp)
mov    -0x888(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     9dd8 <get_first_winning_move_3+0x8cc8>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9dfa <get_first_winning_move_3+0x8cea>
xor    %eax,%eax
mov    %eax,-0x88c(%rbp)
jmp    9e0b <get_first_winning_move_3+0x8cfb>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x88c(%rbp)
mov    -0x88c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9e2f <get_first_winning_move_3+0x8d1f>
xor    %eax,%eax
mov    %eax,-0x890(%rbp)
jmp    9e40 <get_first_winning_move_3+0x8d30>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x890(%rbp)
mov    -0x890(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    9e6c <get_first_winning_move_3+0x8d5c>
xor    %eax,%eax
mov    %eax,-0x894(%rbp)
jmp    9e7d <get_first_winning_move_3+0x8d6d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x894(%rbp)
mov    -0x894(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9ea1 <get_first_winning_move_3+0x8d91>
xor    %eax,%eax
mov    %eax,-0x898(%rbp)
jmp    9eb2 <get_first_winning_move_3+0x8da2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x898(%rbp)
mov    -0x898(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9ede <get_first_winning_move_3+0x8dce>
xor    %eax,%eax
mov    %eax,-0x89c(%rbp)
jmp    9eef <get_first_winning_move_3+0x8ddf>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x89c(%rbp)
mov    -0x89c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9f13 <get_first_winning_move_3+0x8e03>
xor    %eax,%eax
mov    %eax,-0x8a0(%rbp)
jmp    9f24 <get_first_winning_move_3+0x8e14>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8a0(%rbp)
mov    -0x8a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    9f50 <get_first_winning_move_3+0x8e40>
xor    %eax,%eax
mov    %eax,-0x8a4(%rbp)
jmp    9f61 <get_first_winning_move_3+0x8e51>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8a4(%rbp)
mov    -0x8a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    9f85 <get_first_winning_move_3+0x8e75>
xor    %eax,%eax
mov    %eax,-0x8a8(%rbp)
jmp    9f96 <get_first_winning_move_3+0x8e86>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8a8(%rbp)
mov    -0x8a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    a78b <get_first_winning_move_3+0x967b>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    a3ab <get_first_winning_move_3+0x929b>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9fe5 <get_first_winning_move_3+0x8ed5>
xor    %eax,%eax
mov    %eax,-0x8ac(%rbp)
jmp    9ff6 <get_first_winning_move_3+0x8ee6>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8ac(%rbp)
mov    -0x8ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a01a <get_first_winning_move_3+0x8f0a>
xor    %eax,%eax
mov    %eax,-0x8b0(%rbp)
jmp    a02b <get_first_winning_move_3+0x8f1b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8b0(%rbp)
mov    -0x8b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    a057 <get_first_winning_move_3+0x8f47>
xor    %eax,%eax
mov    %eax,-0x8b4(%rbp)
jmp    a068 <get_first_winning_move_3+0x8f58>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8b4(%rbp)
mov    -0x8b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a08c <get_first_winning_move_3+0x8f7c>
xor    %eax,%eax
mov    %eax,-0x8b8(%rbp)
jmp    a09d <get_first_winning_move_3+0x8f8d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8b8(%rbp)
mov    -0x8b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a0c9 <get_first_winning_move_3+0x8fb9>
xor    %eax,%eax
mov    %eax,-0x8bc(%rbp)
jmp    a0da <get_first_winning_move_3+0x8fca>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8bc(%rbp)
mov    -0x8bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a0fe <get_first_winning_move_3+0x8fee>
xor    %eax,%eax
mov    %eax,-0x8c0(%rbp)
jmp    a10f <get_first_winning_move_3+0x8fff>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8c0(%rbp)
mov    -0x8c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    a13b <get_first_winning_move_3+0x902b>
xor    %eax,%eax
mov    %eax,-0x8c4(%rbp)
jmp    a14c <get_first_winning_move_3+0x903c>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8c4(%rbp)
mov    -0x8c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a170 <get_first_winning_move_3+0x9060>
xor    %eax,%eax
mov    %eax,-0x8c8(%rbp)
jmp    a181 <get_first_winning_move_3+0x9071>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8c8(%rbp)
mov    -0x8c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     a1d6 <get_first_winning_move_3+0x90c6>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a1f8 <get_first_winning_move_3+0x90e8>
xor    %eax,%eax
mov    %eax,-0x8cc(%rbp)
jmp    a209 <get_first_winning_move_3+0x90f9>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8cc(%rbp)
mov    -0x8cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a22d <get_first_winning_move_3+0x911d>
xor    %eax,%eax
mov    %eax,-0x8d0(%rbp)
jmp    a23e <get_first_winning_move_3+0x912e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8d0(%rbp)
mov    -0x8d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    a26a <get_first_winning_move_3+0x915a>
xor    %eax,%eax
mov    %eax,-0x8d4(%rbp)
jmp    a27b <get_first_winning_move_3+0x916b>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8d4(%rbp)
mov    -0x8d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a29f <get_first_winning_move_3+0x918f>
xor    %eax,%eax
mov    %eax,-0x8d8(%rbp)
jmp    a2b0 <get_first_winning_move_3+0x91a0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8d8(%rbp)
mov    -0x8d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a2dc <get_first_winning_move_3+0x91cc>
xor    %eax,%eax
mov    %eax,-0x8dc(%rbp)
jmp    a2ed <get_first_winning_move_3+0x91dd>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8dc(%rbp)
mov    -0x8dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a311 <get_first_winning_move_3+0x9201>
xor    %eax,%eax
mov    %eax,-0x8e0(%rbp)
jmp    a322 <get_first_winning_move_3+0x9212>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8e0(%rbp)
mov    -0x8e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    a34e <get_first_winning_move_3+0x923e>
xor    %eax,%eax
mov    %eax,-0x8e4(%rbp)
jmp    a35f <get_first_winning_move_3+0x924f>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8e4(%rbp)
mov    -0x8e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a383 <get_first_winning_move_3+0x9273>
xor    %eax,%eax
mov    %eax,-0x8e8(%rbp)
jmp    a394 <get_first_winning_move_3+0x9284>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8e8(%rbp)
mov    -0x8e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    a786 <get_first_winning_move_3+0x9676>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a3cd <get_first_winning_move_3+0x92bd>
xor    %eax,%eax
mov    %eax,-0x8ec(%rbp)
jmp    a3de <get_first_winning_move_3+0x92ce>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8ec(%rbp)
mov    -0x8ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a402 <get_first_winning_move_3+0x92f2>
xor    %eax,%eax
mov    %eax,-0x8f0(%rbp)
jmp    a413 <get_first_winning_move_3+0x9303>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8f0(%rbp)
mov    -0x8f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    a43f <get_first_winning_move_3+0x932f>
xor    %eax,%eax
mov    %eax,-0x8f4(%rbp)
jmp    a450 <get_first_winning_move_3+0x9340>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8f4(%rbp)
mov    -0x8f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a474 <get_first_winning_move_3+0x9364>
xor    %eax,%eax
mov    %eax,-0x8f8(%rbp)
jmp    a485 <get_first_winning_move_3+0x9375>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8f8(%rbp)
mov    -0x8f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a4b1 <get_first_winning_move_3+0x93a1>
xor    %eax,%eax
mov    %eax,-0x8fc(%rbp)
jmp    a4c2 <get_first_winning_move_3+0x93b2>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8fc(%rbp)
mov    -0x8fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a4e6 <get_first_winning_move_3+0x93d6>
xor    %eax,%eax
mov    %eax,-0x900(%rbp)
jmp    a4f7 <get_first_winning_move_3+0x93e7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x900(%rbp)
mov    -0x900(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    a523 <get_first_winning_move_3+0x9413>
xor    %eax,%eax
mov    %eax,-0x904(%rbp)
jmp    a534 <get_first_winning_move_3+0x9424>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x904(%rbp)
mov    -0x904(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a558 <get_first_winning_move_3+0x9448>
xor    %eax,%eax
mov    %eax,-0x908(%rbp)
jmp    a569 <get_first_winning_move_3+0x9459>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x908(%rbp)
mov    -0x908(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     a5be <get_first_winning_move_3+0x94ae>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a5e0 <get_first_winning_move_3+0x94d0>
xor    %eax,%eax
mov    %eax,-0x90c(%rbp)
jmp    a5f1 <get_first_winning_move_3+0x94e1>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x90c(%rbp)
mov    -0x90c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a615 <get_first_winning_move_3+0x9505>
xor    %eax,%eax
mov    %eax,-0x910(%rbp)
jmp    a626 <get_first_winning_move_3+0x9516>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x910(%rbp)
mov    -0x910(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    a652 <get_first_winning_move_3+0x9542>
xor    %eax,%eax
mov    %eax,-0x914(%rbp)
jmp    a663 <get_first_winning_move_3+0x9553>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x914(%rbp)
mov    -0x914(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a687 <get_first_winning_move_3+0x9577>
xor    %eax,%eax
mov    %eax,-0x918(%rbp)
jmp    a698 <get_first_winning_move_3+0x9588>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x918(%rbp)
mov    -0x918(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a6c4 <get_first_winning_move_3+0x95b4>
xor    %eax,%eax
mov    %eax,-0x91c(%rbp)
jmp    a6d5 <get_first_winning_move_3+0x95c5>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x91c(%rbp)
mov    -0x91c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a6f9 <get_first_winning_move_3+0x95e9>
xor    %eax,%eax
mov    %eax,-0x920(%rbp)
jmp    a70a <get_first_winning_move_3+0x95fa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x920(%rbp)
mov    -0x920(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    a736 <get_first_winning_move_3+0x9626>
xor    %eax,%eax
mov    %eax,-0x924(%rbp)
jmp    a747 <get_first_winning_move_3+0x9637>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x924(%rbp)
mov    -0x924(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a76b <get_first_winning_move_3+0x965b>
xor    %eax,%eax
mov    %eax,-0x928(%rbp)
jmp    a77c <get_first_winning_move_3+0x966c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x928(%rbp)
mov    -0x928(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    a78b <get_first_winning_move_3+0x967b>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    a798 <get_first_winning_move_3+0x9688>
jmp    163eb <get_first_winning_move_3+0x152db>
movswl -0x16(%rbp),%eax
cmp    $0xc,%eax
jne    b421 <get_first_winning_move_3+0xa311>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     b41c <get_first_winning_move_3+0xa30c>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    b41c <get_first_winning_move_3+0xa30c>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     b417 <get_first_winning_move_3+0xa307>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     b417 <get_first_winning_move_3+0xa307>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     b417 <get_first_winning_move_3+0xa307>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     b417 <get_first_winning_move_3+0xa307>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     b417 <get_first_winning_move_3+0xa307>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    ac31 <get_first_winning_move_3+0x9b21>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a86b <get_first_winning_move_3+0x975b>
xor    %eax,%eax
mov    %eax,-0x92c(%rbp)
jmp    a87c <get_first_winning_move_3+0x976c>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x92c(%rbp)
mov    -0x92c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a8a0 <get_first_winning_move_3+0x9790>
xor    %eax,%eax
mov    %eax,-0x930(%rbp)
jmp    a8b1 <get_first_winning_move_3+0x97a1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x930(%rbp)
mov    -0x930(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    a8dd <get_first_winning_move_3+0x97cd>
xor    %eax,%eax
mov    %eax,-0x934(%rbp)
jmp    a8ee <get_first_winning_move_3+0x97de>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x934(%rbp)
mov    -0x934(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a912 <get_first_winning_move_3+0x9802>
xor    %eax,%eax
mov    %eax,-0x938(%rbp)
jmp    a923 <get_first_winning_move_3+0x9813>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x938(%rbp)
mov    -0x938(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a94f <get_first_winning_move_3+0x983f>
xor    %eax,%eax
mov    %eax,-0x93c(%rbp)
jmp    a960 <get_first_winning_move_3+0x9850>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x93c(%rbp)
mov    -0x93c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a984 <get_first_winning_move_3+0x9874>
xor    %eax,%eax
mov    %eax,-0x940(%rbp)
jmp    a995 <get_first_winning_move_3+0x9885>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x940(%rbp)
mov    -0x940(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    a9c1 <get_first_winning_move_3+0x98b1>
xor    %eax,%eax
mov    %eax,-0x944(%rbp)
jmp    a9d2 <get_first_winning_move_3+0x98c2>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x944(%rbp)
mov    -0x944(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    a9f6 <get_first_winning_move_3+0x98e6>
xor    %eax,%eax
mov    %eax,-0x948(%rbp)
jmp    aa07 <get_first_winning_move_3+0x98f7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x948(%rbp)
mov    -0x948(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     aa5c <get_first_winning_move_3+0x994c>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    aa7e <get_first_winning_move_3+0x996e>
xor    %eax,%eax
mov    %eax,-0x94c(%rbp)
jmp    aa8f <get_first_winning_move_3+0x997f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x94c(%rbp)
mov    -0x94c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    aab3 <get_first_winning_move_3+0x99a3>
xor    %eax,%eax
mov    %eax,-0x950(%rbp)
jmp    aac4 <get_first_winning_move_3+0x99b4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x950(%rbp)
mov    -0x950(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    aaf0 <get_first_winning_move_3+0x99e0>
xor    %eax,%eax
mov    %eax,-0x954(%rbp)
jmp    ab01 <get_first_winning_move_3+0x99f1>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x954(%rbp)
mov    -0x954(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ab25 <get_first_winning_move_3+0x9a15>
xor    %eax,%eax
mov    %eax,-0x958(%rbp)
jmp    ab36 <get_first_winning_move_3+0x9a26>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x958(%rbp)
mov    -0x958(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ab62 <get_first_winning_move_3+0x9a52>
xor    %eax,%eax
mov    %eax,-0x95c(%rbp)
jmp    ab73 <get_first_winning_move_3+0x9a63>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x95c(%rbp)
mov    -0x95c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ab97 <get_first_winning_move_3+0x9a87>
xor    %eax,%eax
mov    %eax,-0x960(%rbp)
jmp    aba8 <get_first_winning_move_3+0x9a98>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x960(%rbp)
mov    -0x960(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    abd4 <get_first_winning_move_3+0x9ac4>
xor    %eax,%eax
mov    %eax,-0x964(%rbp)
jmp    abe5 <get_first_winning_move_3+0x9ad5>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x964(%rbp)
mov    -0x964(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ac09 <get_first_winning_move_3+0x9af9>
xor    %eax,%eax
mov    %eax,-0x968(%rbp)
jmp    ac1a <get_first_winning_move_3+0x9b0a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x968(%rbp)
mov    -0x968(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    b40f <get_first_winning_move_3+0xa2ff>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    b02f <get_first_winning_move_3+0x9f1f>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ac69 <get_first_winning_move_3+0x9b59>
xor    %eax,%eax
mov    %eax,-0x96c(%rbp)
jmp    ac7a <get_first_winning_move_3+0x9b6a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x96c(%rbp)
mov    -0x96c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ac9e <get_first_winning_move_3+0x9b8e>
xor    %eax,%eax
mov    %eax,-0x970(%rbp)
jmp    acaf <get_first_winning_move_3+0x9b9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x970(%rbp)
mov    -0x970(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    acdb <get_first_winning_move_3+0x9bcb>
xor    %eax,%eax
mov    %eax,-0x974(%rbp)
jmp    acec <get_first_winning_move_3+0x9bdc>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x974(%rbp)
mov    -0x974(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ad10 <get_first_winning_move_3+0x9c00>
xor    %eax,%eax
mov    %eax,-0x978(%rbp)
jmp    ad21 <get_first_winning_move_3+0x9c11>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x978(%rbp)
mov    -0x978(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ad4d <get_first_winning_move_3+0x9c3d>
xor    %eax,%eax
mov    %eax,-0x97c(%rbp)
jmp    ad5e <get_first_winning_move_3+0x9c4e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x97c(%rbp)
mov    -0x97c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ad82 <get_first_winning_move_3+0x9c72>
xor    %eax,%eax
mov    %eax,-0x980(%rbp)
jmp    ad93 <get_first_winning_move_3+0x9c83>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x980(%rbp)
mov    -0x980(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    adbf <get_first_winning_move_3+0x9caf>
xor    %eax,%eax
mov    %eax,-0x984(%rbp)
jmp    add0 <get_first_winning_move_3+0x9cc0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x984(%rbp)
mov    -0x984(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    adf4 <get_first_winning_move_3+0x9ce4>
xor    %eax,%eax
mov    %eax,-0x988(%rbp)
jmp    ae05 <get_first_winning_move_3+0x9cf5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x988(%rbp)
mov    -0x988(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ae5a <get_first_winning_move_3+0x9d4a>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ae7c <get_first_winning_move_3+0x9d6c>
xor    %eax,%eax
mov    %eax,-0x98c(%rbp)
jmp    ae8d <get_first_winning_move_3+0x9d7d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x98c(%rbp)
mov    -0x98c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    aeb1 <get_first_winning_move_3+0x9da1>
xor    %eax,%eax
mov    %eax,-0x990(%rbp)
jmp    aec2 <get_first_winning_move_3+0x9db2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x990(%rbp)
mov    -0x990(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    aeee <get_first_winning_move_3+0x9dde>
xor    %eax,%eax
mov    %eax,-0x994(%rbp)
jmp    aeff <get_first_winning_move_3+0x9def>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x994(%rbp)
mov    -0x994(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    af23 <get_first_winning_move_3+0x9e13>
xor    %eax,%eax
mov    %eax,-0x998(%rbp)
jmp    af34 <get_first_winning_move_3+0x9e24>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x998(%rbp)
mov    -0x998(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    af60 <get_first_winning_move_3+0x9e50>
xor    %eax,%eax
mov    %eax,-0x99c(%rbp)
jmp    af71 <get_first_winning_move_3+0x9e61>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x99c(%rbp)
mov    -0x99c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    af95 <get_first_winning_move_3+0x9e85>
xor    %eax,%eax
mov    %eax,-0x9a0(%rbp)
jmp    afa6 <get_first_winning_move_3+0x9e96>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9a0(%rbp)
mov    -0x9a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    afd2 <get_first_winning_move_3+0x9ec2>
xor    %eax,%eax
mov    %eax,-0x9a4(%rbp)
jmp    afe3 <get_first_winning_move_3+0x9ed3>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9a4(%rbp)
mov    -0x9a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b007 <get_first_winning_move_3+0x9ef7>
xor    %eax,%eax
mov    %eax,-0x9a8(%rbp)
jmp    b018 <get_first_winning_move_3+0x9f08>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9a8(%rbp)
mov    -0x9a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    b40a <get_first_winning_move_3+0xa2fa>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b051 <get_first_winning_move_3+0x9f41>
xor    %eax,%eax
mov    %eax,-0x9ac(%rbp)
jmp    b062 <get_first_winning_move_3+0x9f52>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9ac(%rbp)
mov    -0x9ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b086 <get_first_winning_move_3+0x9f76>
xor    %eax,%eax
mov    %eax,-0x9b0(%rbp)
jmp    b097 <get_first_winning_move_3+0x9f87>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9b0(%rbp)
mov    -0x9b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    b0c3 <get_first_winning_move_3+0x9fb3>
xor    %eax,%eax
mov    %eax,-0x9b4(%rbp)
jmp    b0d4 <get_first_winning_move_3+0x9fc4>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9b4(%rbp)
mov    -0x9b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b0f8 <get_first_winning_move_3+0x9fe8>
xor    %eax,%eax
mov    %eax,-0x9b8(%rbp)
jmp    b109 <get_first_winning_move_3+0x9ff9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9b8(%rbp)
mov    -0x9b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b135 <get_first_winning_move_3+0xa025>
xor    %eax,%eax
mov    %eax,-0x9bc(%rbp)
jmp    b146 <get_first_winning_move_3+0xa036>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9bc(%rbp)
mov    -0x9bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b16a <get_first_winning_move_3+0xa05a>
xor    %eax,%eax
mov    %eax,-0x9c0(%rbp)
jmp    b17b <get_first_winning_move_3+0xa06b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9c0(%rbp)
mov    -0x9c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    b1a7 <get_first_winning_move_3+0xa097>
xor    %eax,%eax
mov    %eax,-0x9c4(%rbp)
jmp    b1b8 <get_first_winning_move_3+0xa0a8>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9c4(%rbp)
mov    -0x9c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b1dc <get_first_winning_move_3+0xa0cc>
xor    %eax,%eax
mov    %eax,-0x9c8(%rbp)
jmp    b1ed <get_first_winning_move_3+0xa0dd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9c8(%rbp)
mov    -0x9c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     b242 <get_first_winning_move_3+0xa132>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b264 <get_first_winning_move_3+0xa154>
xor    %eax,%eax
mov    %eax,-0x9cc(%rbp)
jmp    b275 <get_first_winning_move_3+0xa165>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9cc(%rbp)
mov    -0x9cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b299 <get_first_winning_move_3+0xa189>
xor    %eax,%eax
mov    %eax,-0x9d0(%rbp)
jmp    b2aa <get_first_winning_move_3+0xa19a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9d0(%rbp)
mov    -0x9d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    b2d6 <get_first_winning_move_3+0xa1c6>
xor    %eax,%eax
mov    %eax,-0x9d4(%rbp)
jmp    b2e7 <get_first_winning_move_3+0xa1d7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9d4(%rbp)
mov    -0x9d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b30b <get_first_winning_move_3+0xa1fb>
xor    %eax,%eax
mov    %eax,-0x9d8(%rbp)
jmp    b31c <get_first_winning_move_3+0xa20c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9d8(%rbp)
mov    -0x9d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b348 <get_first_winning_move_3+0xa238>
xor    %eax,%eax
mov    %eax,-0x9dc(%rbp)
jmp    b359 <get_first_winning_move_3+0xa249>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9dc(%rbp)
mov    -0x9dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b37d <get_first_winning_move_3+0xa26d>
xor    %eax,%eax
mov    %eax,-0x9e0(%rbp)
jmp    b38e <get_first_winning_move_3+0xa27e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9e0(%rbp)
mov    -0x9e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    b3ba <get_first_winning_move_3+0xa2aa>
xor    %eax,%eax
mov    %eax,-0x9e4(%rbp)
jmp    b3cb <get_first_winning_move_3+0xa2bb>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9e4(%rbp)
mov    -0x9e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b3ef <get_first_winning_move_3+0xa2df>
xor    %eax,%eax
mov    %eax,-0x9e8(%rbp)
jmp    b400 <get_first_winning_move_3+0xa2f0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9e8(%rbp)
mov    -0x9e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    b40f <get_first_winning_move_3+0xa2ff>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    b41c <get_first_winning_move_3+0xa30c>
jmp    163e6 <get_first_winning_move_3+0x152d6>
movswl -0x16(%rbp),%eax
cmp    $0xd,%eax
jne    c0ba <get_first_winning_move_3+0xafaa>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     c0b5 <get_first_winning_move_3+0xafa5>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    c0b5 <get_first_winning_move_3+0xafa5>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     c0b5 <get_first_winning_move_3+0xafa5>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     c0b0 <get_first_winning_move_3+0xafa0>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     c0b0 <get_first_winning_move_3+0xafa0>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     c0b0 <get_first_winning_move_3+0xafa0>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     c0b0 <get_first_winning_move_3+0xafa0>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     c0b0 <get_first_winning_move_3+0xafa0>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    b8ca <get_first_winning_move_3+0xa7ba>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b504 <get_first_winning_move_3+0xa3f4>
xor    %eax,%eax
mov    %eax,-0x9ec(%rbp)
jmp    b515 <get_first_winning_move_3+0xa405>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9ec(%rbp)
mov    -0x9ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b539 <get_first_winning_move_3+0xa429>
xor    %eax,%eax
mov    %eax,-0x9f0(%rbp)
jmp    b54a <get_first_winning_move_3+0xa43a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9f0(%rbp)
mov    -0x9f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    b576 <get_first_winning_move_3+0xa466>
xor    %eax,%eax
mov    %eax,-0x9f4(%rbp)
jmp    b587 <get_first_winning_move_3+0xa477>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9f4(%rbp)
mov    -0x9f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b5ab <get_first_winning_move_3+0xa49b>
xor    %eax,%eax
mov    %eax,-0x9f8(%rbp)
jmp    b5bc <get_first_winning_move_3+0xa4ac>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9f8(%rbp)
mov    -0x9f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b5e8 <get_first_winning_move_3+0xa4d8>
xor    %eax,%eax
mov    %eax,-0x9fc(%rbp)
jmp    b5f9 <get_first_winning_move_3+0xa4e9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9fc(%rbp)
mov    -0x9fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b61d <get_first_winning_move_3+0xa50d>
xor    %eax,%eax
mov    %eax,-0xa00(%rbp)
jmp    b62e <get_first_winning_move_3+0xa51e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa00(%rbp)
mov    -0xa00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    b65a <get_first_winning_move_3+0xa54a>
xor    %eax,%eax
mov    %eax,-0xa04(%rbp)
jmp    b66b <get_first_winning_move_3+0xa55b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa04(%rbp)
mov    -0xa04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b68f <get_first_winning_move_3+0xa57f>
xor    %eax,%eax
mov    %eax,-0xa08(%rbp)
jmp    b6a0 <get_first_winning_move_3+0xa590>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa08(%rbp)
mov    -0xa08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     b6f5 <get_first_winning_move_3+0xa5e5>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b717 <get_first_winning_move_3+0xa607>
xor    %eax,%eax
mov    %eax,-0xa0c(%rbp)
jmp    b728 <get_first_winning_move_3+0xa618>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa0c(%rbp)
mov    -0xa0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b74c <get_first_winning_move_3+0xa63c>
xor    %eax,%eax
mov    %eax,-0xa10(%rbp)
jmp    b75d <get_first_winning_move_3+0xa64d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa10(%rbp)
mov    -0xa10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    b789 <get_first_winning_move_3+0xa679>
xor    %eax,%eax
mov    %eax,-0xa14(%rbp)
jmp    b79a <get_first_winning_move_3+0xa68a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa14(%rbp)
mov    -0xa14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b7be <get_first_winning_move_3+0xa6ae>
xor    %eax,%eax
mov    %eax,-0xa18(%rbp)
jmp    b7cf <get_first_winning_move_3+0xa6bf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa18(%rbp)
mov    -0xa18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b7fb <get_first_winning_move_3+0xa6eb>
xor    %eax,%eax
mov    %eax,-0xa1c(%rbp)
jmp    b80c <get_first_winning_move_3+0xa6fc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa1c(%rbp)
mov    -0xa1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b830 <get_first_winning_move_3+0xa720>
xor    %eax,%eax
mov    %eax,-0xa20(%rbp)
jmp    b841 <get_first_winning_move_3+0xa731>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa20(%rbp)
mov    -0xa20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    b86d <get_first_winning_move_3+0xa75d>
xor    %eax,%eax
mov    %eax,-0xa24(%rbp)
jmp    b87e <get_first_winning_move_3+0xa76e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa24(%rbp)
mov    -0xa24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b8a2 <get_first_winning_move_3+0xa792>
xor    %eax,%eax
mov    %eax,-0xa28(%rbp)
jmp    b8b3 <get_first_winning_move_3+0xa7a3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa28(%rbp)
mov    -0xa28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    c0a8 <get_first_winning_move_3+0xaf98>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    bcc8 <get_first_winning_move_3+0xabb8>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b902 <get_first_winning_move_3+0xa7f2>
xor    %eax,%eax
mov    %eax,-0xa2c(%rbp)
jmp    b913 <get_first_winning_move_3+0xa803>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa2c(%rbp)
mov    -0xa2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b937 <get_first_winning_move_3+0xa827>
xor    %eax,%eax
mov    %eax,-0xa30(%rbp)
jmp    b948 <get_first_winning_move_3+0xa838>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa30(%rbp)
mov    -0xa30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    b974 <get_first_winning_move_3+0xa864>
xor    %eax,%eax
mov    %eax,-0xa34(%rbp)
jmp    b985 <get_first_winning_move_3+0xa875>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa34(%rbp)
mov    -0xa34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b9a9 <get_first_winning_move_3+0xa899>
xor    %eax,%eax
mov    %eax,-0xa38(%rbp)
jmp    b9ba <get_first_winning_move_3+0xa8aa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa38(%rbp)
mov    -0xa38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    b9e6 <get_first_winning_move_3+0xa8d6>
xor    %eax,%eax
mov    %eax,-0xa3c(%rbp)
jmp    b9f7 <get_first_winning_move_3+0xa8e7>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa3c(%rbp)
mov    -0xa3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ba1b <get_first_winning_move_3+0xa90b>
xor    %eax,%eax
mov    %eax,-0xa40(%rbp)
jmp    ba2c <get_first_winning_move_3+0xa91c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa40(%rbp)
mov    -0xa40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    ba58 <get_first_winning_move_3+0xa948>
xor    %eax,%eax
mov    %eax,-0xa44(%rbp)
jmp    ba69 <get_first_winning_move_3+0xa959>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa44(%rbp)
mov    -0xa44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ba8d <get_first_winning_move_3+0xa97d>
xor    %eax,%eax
mov    %eax,-0xa48(%rbp)
jmp    ba9e <get_first_winning_move_3+0xa98e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa48(%rbp)
mov    -0xa48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     baf3 <get_first_winning_move_3+0xa9e3>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bb15 <get_first_winning_move_3+0xaa05>
xor    %eax,%eax
mov    %eax,-0xa4c(%rbp)
jmp    bb26 <get_first_winning_move_3+0xaa16>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa4c(%rbp)
mov    -0xa4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bb4a <get_first_winning_move_3+0xaa3a>
xor    %eax,%eax
mov    %eax,-0xa50(%rbp)
jmp    bb5b <get_first_winning_move_3+0xaa4b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa50(%rbp)
mov    -0xa50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    bb87 <get_first_winning_move_3+0xaa77>
xor    %eax,%eax
mov    %eax,-0xa54(%rbp)
jmp    bb98 <get_first_winning_move_3+0xaa88>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa54(%rbp)
mov    -0xa54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bbbc <get_first_winning_move_3+0xaaac>
xor    %eax,%eax
mov    %eax,-0xa58(%rbp)
jmp    bbcd <get_first_winning_move_3+0xaabd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa58(%rbp)
mov    -0xa58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bbf9 <get_first_winning_move_3+0xaae9>
xor    %eax,%eax
mov    %eax,-0xa5c(%rbp)
jmp    bc0a <get_first_winning_move_3+0xaafa>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa5c(%rbp)
mov    -0xa5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bc2e <get_first_winning_move_3+0xab1e>
xor    %eax,%eax
mov    %eax,-0xa60(%rbp)
jmp    bc3f <get_first_winning_move_3+0xab2f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa60(%rbp)
mov    -0xa60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    bc6b <get_first_winning_move_3+0xab5b>
xor    %eax,%eax
mov    %eax,-0xa64(%rbp)
jmp    bc7c <get_first_winning_move_3+0xab6c>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa64(%rbp)
mov    -0xa64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bca0 <get_first_winning_move_3+0xab90>
xor    %eax,%eax
mov    %eax,-0xa68(%rbp)
jmp    bcb1 <get_first_winning_move_3+0xaba1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa68(%rbp)
mov    -0xa68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    c0a3 <get_first_winning_move_3+0xaf93>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bcea <get_first_winning_move_3+0xabda>
xor    %eax,%eax
mov    %eax,-0xa6c(%rbp)
jmp    bcfb <get_first_winning_move_3+0xabeb>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa6c(%rbp)
mov    -0xa6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bd1f <get_first_winning_move_3+0xac0f>
xor    %eax,%eax
mov    %eax,-0xa70(%rbp)
jmp    bd30 <get_first_winning_move_3+0xac20>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa70(%rbp)
mov    -0xa70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    bd5c <get_first_winning_move_3+0xac4c>
xor    %eax,%eax
mov    %eax,-0xa74(%rbp)
jmp    bd6d <get_first_winning_move_3+0xac5d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa74(%rbp)
mov    -0xa74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bd91 <get_first_winning_move_3+0xac81>
xor    %eax,%eax
mov    %eax,-0xa78(%rbp)
jmp    bda2 <get_first_winning_move_3+0xac92>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa78(%rbp)
mov    -0xa78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bdce <get_first_winning_move_3+0xacbe>
xor    %eax,%eax
mov    %eax,-0xa7c(%rbp)
jmp    bddf <get_first_winning_move_3+0xaccf>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa7c(%rbp)
mov    -0xa7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    be03 <get_first_winning_move_3+0xacf3>
xor    %eax,%eax
mov    %eax,-0xa80(%rbp)
jmp    be14 <get_first_winning_move_3+0xad04>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa80(%rbp)
mov    -0xa80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    be40 <get_first_winning_move_3+0xad30>
xor    %eax,%eax
mov    %eax,-0xa84(%rbp)
jmp    be51 <get_first_winning_move_3+0xad41>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa84(%rbp)
mov    -0xa84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    be75 <get_first_winning_move_3+0xad65>
xor    %eax,%eax
mov    %eax,-0xa88(%rbp)
jmp    be86 <get_first_winning_move_3+0xad76>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa88(%rbp)
mov    -0xa88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     bedb <get_first_winning_move_3+0xadcb>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    befd <get_first_winning_move_3+0xaded>
xor    %eax,%eax
mov    %eax,-0xa8c(%rbp)
jmp    bf0e <get_first_winning_move_3+0xadfe>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa8c(%rbp)
mov    -0xa8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bf32 <get_first_winning_move_3+0xae22>
xor    %eax,%eax
mov    %eax,-0xa90(%rbp)
jmp    bf43 <get_first_winning_move_3+0xae33>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa90(%rbp)
mov    -0xa90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    bf6f <get_first_winning_move_3+0xae5f>
xor    %eax,%eax
mov    %eax,-0xa94(%rbp)
jmp    bf80 <get_first_winning_move_3+0xae70>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa94(%rbp)
mov    -0xa94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bfa4 <get_first_winning_move_3+0xae94>
xor    %eax,%eax
mov    %eax,-0xa98(%rbp)
jmp    bfb5 <get_first_winning_move_3+0xaea5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa98(%rbp)
mov    -0xa98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    bfe1 <get_first_winning_move_3+0xaed1>
xor    %eax,%eax
mov    %eax,-0xa9c(%rbp)
jmp    bff2 <get_first_winning_move_3+0xaee2>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa9c(%rbp)
mov    -0xa9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c016 <get_first_winning_move_3+0xaf06>
xor    %eax,%eax
mov    %eax,-0xaa0(%rbp)
jmp    c027 <get_first_winning_move_3+0xaf17>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaa0(%rbp)
mov    -0xaa0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    c053 <get_first_winning_move_3+0xaf43>
xor    %eax,%eax
mov    %eax,-0xaa4(%rbp)
jmp    c064 <get_first_winning_move_3+0xaf54>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaa4(%rbp)
mov    -0xaa4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c088 <get_first_winning_move_3+0xaf78>
xor    %eax,%eax
mov    %eax,-0xaa8(%rbp)
jmp    c099 <get_first_winning_move_3+0xaf89>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaa8(%rbp)
mov    -0xaa8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    c0a8 <get_first_winning_move_3+0xaf98>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    c0b5 <get_first_winning_move_3+0xafa5>
jmp    163e1 <get_first_winning_move_3+0x152d1>
movswl -0x16(%rbp),%eax
cmp    $0xe,%eax
jne    cd42 <get_first_winning_move_3+0xbc32>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     cd3d <get_first_winning_move_3+0xbc2d>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     cd3d <get_first_winning_move_3+0xbc2d>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     cd38 <get_first_winning_move_3+0xbc28>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     cd38 <get_first_winning_move_3+0xbc28>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     cd38 <get_first_winning_move_3+0xbc28>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     cd38 <get_first_winning_move_3+0xbc28>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     cd38 <get_first_winning_move_3+0xbc28>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    c552 <get_first_winning_move_3+0xb442>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c18c <get_first_winning_move_3+0xb07c>
xor    %eax,%eax
mov    %eax,-0xaac(%rbp)
jmp    c19d <get_first_winning_move_3+0xb08d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaac(%rbp)
mov    -0xaac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c1c1 <get_first_winning_move_3+0xb0b1>
xor    %eax,%eax
mov    %eax,-0xab0(%rbp)
jmp    c1d2 <get_first_winning_move_3+0xb0c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xab0(%rbp)
mov    -0xab0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    c1fe <get_first_winning_move_3+0xb0ee>
xor    %eax,%eax
mov    %eax,-0xab4(%rbp)
jmp    c20f <get_first_winning_move_3+0xb0ff>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xab4(%rbp)
mov    -0xab4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c233 <get_first_winning_move_3+0xb123>
xor    %eax,%eax
mov    %eax,-0xab8(%rbp)
jmp    c244 <get_first_winning_move_3+0xb134>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xab8(%rbp)
mov    -0xab8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c270 <get_first_winning_move_3+0xb160>
xor    %eax,%eax
mov    %eax,-0xabc(%rbp)
jmp    c281 <get_first_winning_move_3+0xb171>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xabc(%rbp)
mov    -0xabc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c2a5 <get_first_winning_move_3+0xb195>
xor    %eax,%eax
mov    %eax,-0xac0(%rbp)
jmp    c2b6 <get_first_winning_move_3+0xb1a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xac0(%rbp)
mov    -0xac0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    c2e2 <get_first_winning_move_3+0xb1d2>
xor    %eax,%eax
mov    %eax,-0xac4(%rbp)
jmp    c2f3 <get_first_winning_move_3+0xb1e3>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xac4(%rbp)
mov    -0xac4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c317 <get_first_winning_move_3+0xb207>
xor    %eax,%eax
mov    %eax,-0xac8(%rbp)
jmp    c328 <get_first_winning_move_3+0xb218>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xac8(%rbp)
mov    -0xac8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     c37d <get_first_winning_move_3+0xb26d>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c39f <get_first_winning_move_3+0xb28f>
xor    %eax,%eax
mov    %eax,-0xacc(%rbp)
jmp    c3b0 <get_first_winning_move_3+0xb2a0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xacc(%rbp)
mov    -0xacc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c3d4 <get_first_winning_move_3+0xb2c4>
xor    %eax,%eax
mov    %eax,-0xad0(%rbp)
jmp    c3e5 <get_first_winning_move_3+0xb2d5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xad0(%rbp)
mov    -0xad0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    c411 <get_first_winning_move_3+0xb301>
xor    %eax,%eax
mov    %eax,-0xad4(%rbp)
jmp    c422 <get_first_winning_move_3+0xb312>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xad4(%rbp)
mov    -0xad4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c446 <get_first_winning_move_3+0xb336>
xor    %eax,%eax
mov    %eax,-0xad8(%rbp)
jmp    c457 <get_first_winning_move_3+0xb347>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xad8(%rbp)
mov    -0xad8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c483 <get_first_winning_move_3+0xb373>
xor    %eax,%eax
mov    %eax,-0xadc(%rbp)
jmp    c494 <get_first_winning_move_3+0xb384>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xadc(%rbp)
mov    -0xadc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c4b8 <get_first_winning_move_3+0xb3a8>
xor    %eax,%eax
mov    %eax,-0xae0(%rbp)
jmp    c4c9 <get_first_winning_move_3+0xb3b9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xae0(%rbp)
mov    -0xae0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    c4f5 <get_first_winning_move_3+0xb3e5>
xor    %eax,%eax
mov    %eax,-0xae4(%rbp)
jmp    c506 <get_first_winning_move_3+0xb3f6>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xae4(%rbp)
mov    -0xae4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c52a <get_first_winning_move_3+0xb41a>
xor    %eax,%eax
mov    %eax,-0xae8(%rbp)
jmp    c53b <get_first_winning_move_3+0xb42b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xae8(%rbp)
mov    -0xae8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    cd30 <get_first_winning_move_3+0xbc20>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    c950 <get_first_winning_move_3+0xb840>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c58a <get_first_winning_move_3+0xb47a>
xor    %eax,%eax
mov    %eax,-0xaec(%rbp)
jmp    c59b <get_first_winning_move_3+0xb48b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaec(%rbp)
mov    -0xaec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c5bf <get_first_winning_move_3+0xb4af>
xor    %eax,%eax
mov    %eax,-0xaf0(%rbp)
jmp    c5d0 <get_first_winning_move_3+0xb4c0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaf0(%rbp)
mov    -0xaf0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    c5fc <get_first_winning_move_3+0xb4ec>
xor    %eax,%eax
mov    %eax,-0xaf4(%rbp)
jmp    c60d <get_first_winning_move_3+0xb4fd>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaf4(%rbp)
mov    -0xaf4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c631 <get_first_winning_move_3+0xb521>
xor    %eax,%eax
mov    %eax,-0xaf8(%rbp)
jmp    c642 <get_first_winning_move_3+0xb532>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaf8(%rbp)
mov    -0xaf8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c66e <get_first_winning_move_3+0xb55e>
xor    %eax,%eax
mov    %eax,-0xafc(%rbp)
jmp    c67f <get_first_winning_move_3+0xb56f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xafc(%rbp)
mov    -0xafc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c6a3 <get_first_winning_move_3+0xb593>
xor    %eax,%eax
mov    %eax,-0xb00(%rbp)
jmp    c6b4 <get_first_winning_move_3+0xb5a4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb00(%rbp)
mov    -0xb00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    c6e0 <get_first_winning_move_3+0xb5d0>
xor    %eax,%eax
mov    %eax,-0xb04(%rbp)
jmp    c6f1 <get_first_winning_move_3+0xb5e1>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb04(%rbp)
mov    -0xb04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c715 <get_first_winning_move_3+0xb605>
xor    %eax,%eax
mov    %eax,-0xb08(%rbp)
jmp    c726 <get_first_winning_move_3+0xb616>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb08(%rbp)
mov    -0xb08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     c77b <get_first_winning_move_3+0xb66b>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c79d <get_first_winning_move_3+0xb68d>
xor    %eax,%eax
mov    %eax,-0xb0c(%rbp)
jmp    c7ae <get_first_winning_move_3+0xb69e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb0c(%rbp)
mov    -0xb0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c7d2 <get_first_winning_move_3+0xb6c2>
xor    %eax,%eax
mov    %eax,-0xb10(%rbp)
jmp    c7e3 <get_first_winning_move_3+0xb6d3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb10(%rbp)
mov    -0xb10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    c80f <get_first_winning_move_3+0xb6ff>
xor    %eax,%eax
mov    %eax,-0xb14(%rbp)
jmp    c820 <get_first_winning_move_3+0xb710>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb14(%rbp)
mov    -0xb14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c844 <get_first_winning_move_3+0xb734>
xor    %eax,%eax
mov    %eax,-0xb18(%rbp)
jmp    c855 <get_first_winning_move_3+0xb745>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb18(%rbp)
mov    -0xb18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c881 <get_first_winning_move_3+0xb771>
xor    %eax,%eax
mov    %eax,-0xb1c(%rbp)
jmp    c892 <get_first_winning_move_3+0xb782>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb1c(%rbp)
mov    -0xb1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c8b6 <get_first_winning_move_3+0xb7a6>
xor    %eax,%eax
mov    %eax,-0xb20(%rbp)
jmp    c8c7 <get_first_winning_move_3+0xb7b7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb20(%rbp)
mov    -0xb20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    c8f3 <get_first_winning_move_3+0xb7e3>
xor    %eax,%eax
mov    %eax,-0xb24(%rbp)
jmp    c904 <get_first_winning_move_3+0xb7f4>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb24(%rbp)
mov    -0xb24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c928 <get_first_winning_move_3+0xb818>
xor    %eax,%eax
mov    %eax,-0xb28(%rbp)
jmp    c939 <get_first_winning_move_3+0xb829>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb28(%rbp)
mov    -0xb28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    cd2b <get_first_winning_move_3+0xbc1b>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c972 <get_first_winning_move_3+0xb862>
xor    %eax,%eax
mov    %eax,-0xb2c(%rbp)
jmp    c983 <get_first_winning_move_3+0xb873>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb2c(%rbp)
mov    -0xb2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    c9a7 <get_first_winning_move_3+0xb897>
xor    %eax,%eax
mov    %eax,-0xb30(%rbp)
jmp    c9b8 <get_first_winning_move_3+0xb8a8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb30(%rbp)
mov    -0xb30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    c9e4 <get_first_winning_move_3+0xb8d4>
xor    %eax,%eax
mov    %eax,-0xb34(%rbp)
jmp    c9f5 <get_first_winning_move_3+0xb8e5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb34(%rbp)
mov    -0xb34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ca19 <get_first_winning_move_3+0xb909>
xor    %eax,%eax
mov    %eax,-0xb38(%rbp)
jmp    ca2a <get_first_winning_move_3+0xb91a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb38(%rbp)
mov    -0xb38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ca56 <get_first_winning_move_3+0xb946>
xor    %eax,%eax
mov    %eax,-0xb3c(%rbp)
jmp    ca67 <get_first_winning_move_3+0xb957>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb3c(%rbp)
mov    -0xb3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ca8b <get_first_winning_move_3+0xb97b>
xor    %eax,%eax
mov    %eax,-0xb40(%rbp)
jmp    ca9c <get_first_winning_move_3+0xb98c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb40(%rbp)
mov    -0xb40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    cac8 <get_first_winning_move_3+0xb9b8>
xor    %eax,%eax
mov    %eax,-0xb44(%rbp)
jmp    cad9 <get_first_winning_move_3+0xb9c9>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb44(%rbp)
mov    -0xb44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cafd <get_first_winning_move_3+0xb9ed>
xor    %eax,%eax
mov    %eax,-0xb48(%rbp)
jmp    cb0e <get_first_winning_move_3+0xb9fe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb48(%rbp)
mov    -0xb48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     cb63 <get_first_winning_move_3+0xba53>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    cb85 <get_first_winning_move_3+0xba75>
xor    %eax,%eax
mov    %eax,-0xb4c(%rbp)
jmp    cb96 <get_first_winning_move_3+0xba86>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb4c(%rbp)
mov    -0xb4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cbba <get_first_winning_move_3+0xbaaa>
xor    %eax,%eax
mov    %eax,-0xb50(%rbp)
jmp    cbcb <get_first_winning_move_3+0xbabb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb50(%rbp)
mov    -0xb50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    cbf7 <get_first_winning_move_3+0xbae7>
xor    %eax,%eax
mov    %eax,-0xb54(%rbp)
jmp    cc08 <get_first_winning_move_3+0xbaf8>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb54(%rbp)
mov    -0xb54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cc2c <get_first_winning_move_3+0xbb1c>
xor    %eax,%eax
mov    %eax,-0xb58(%rbp)
jmp    cc3d <get_first_winning_move_3+0xbb2d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb58(%rbp)
mov    -0xb58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cc69 <get_first_winning_move_3+0xbb59>
xor    %eax,%eax
mov    %eax,-0xb5c(%rbp)
jmp    cc7a <get_first_winning_move_3+0xbb6a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb5c(%rbp)
mov    -0xb5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cc9e <get_first_winning_move_3+0xbb8e>
xor    %eax,%eax
mov    %eax,-0xb60(%rbp)
jmp    ccaf <get_first_winning_move_3+0xbb9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb60(%rbp)
mov    -0xb60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    ccdb <get_first_winning_move_3+0xbbcb>
xor    %eax,%eax
mov    %eax,-0xb64(%rbp)
jmp    ccec <get_first_winning_move_3+0xbbdc>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb64(%rbp)
mov    -0xb64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cd10 <get_first_winning_move_3+0xbc00>
xor    %eax,%eax
mov    %eax,-0xb68(%rbp)
jmp    cd21 <get_first_winning_move_3+0xbc11>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb68(%rbp)
mov    -0xb68(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    cd30 <get_first_winning_move_3+0xbc20>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    cd3d <get_first_winning_move_3+0xbc2d>
jmp    163dc <get_first_winning_move_3+0x152cc>
movswl -0x16(%rbp),%eax
cmp    $0xf,%eax
jne    d9d7 <get_first_winning_move_3+0xc8c7>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     d9d2 <get_first_winning_move_3+0xc8c2>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    d9d2 <get_first_winning_move_3+0xc8c2>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     d9d2 <get_first_winning_move_3+0xc8c2>
mov    -0x6(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     d9cd <get_first_winning_move_3+0xc8bd>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     d9cd <get_first_winning_move_3+0xc8bd>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     d9cd <get_first_winning_move_3+0xc8bd>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     d9cd <get_first_winning_move_3+0xc8bd>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     d9cd <get_first_winning_move_3+0xc8bd>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    d1e7 <get_first_winning_move_3+0xc0d7>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ce21 <get_first_winning_move_3+0xbd11>
xor    %eax,%eax
mov    %eax,-0xb6c(%rbp)
jmp    ce32 <get_first_winning_move_3+0xbd22>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb6c(%rbp)
mov    -0xb6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ce56 <get_first_winning_move_3+0xbd46>
xor    %eax,%eax
mov    %eax,-0xb70(%rbp)
jmp    ce67 <get_first_winning_move_3+0xbd57>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb70(%rbp)
mov    -0xb70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    ce93 <get_first_winning_move_3+0xbd83>
xor    %eax,%eax
mov    %eax,-0xb74(%rbp)
jmp    cea4 <get_first_winning_move_3+0xbd94>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb74(%rbp)
mov    -0xb74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cec8 <get_first_winning_move_3+0xbdb8>
xor    %eax,%eax
mov    %eax,-0xb78(%rbp)
jmp    ced9 <get_first_winning_move_3+0xbdc9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb78(%rbp)
mov    -0xb78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cf05 <get_first_winning_move_3+0xbdf5>
xor    %eax,%eax
mov    %eax,-0xb7c(%rbp)
jmp    cf16 <get_first_winning_move_3+0xbe06>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb7c(%rbp)
mov    -0xb7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cf3a <get_first_winning_move_3+0xbe2a>
xor    %eax,%eax
mov    %eax,-0xb80(%rbp)
jmp    cf4b <get_first_winning_move_3+0xbe3b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb80(%rbp)
mov    -0xb80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    cf77 <get_first_winning_move_3+0xbe67>
xor    %eax,%eax
mov    %eax,-0xb84(%rbp)
jmp    cf88 <get_first_winning_move_3+0xbe78>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb84(%rbp)
mov    -0xb84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    cfac <get_first_winning_move_3+0xbe9c>
xor    %eax,%eax
mov    %eax,-0xb88(%rbp)
jmp    cfbd <get_first_winning_move_3+0xbead>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb88(%rbp)
mov    -0xb88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     d012 <get_first_winning_move_3+0xbf02>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d034 <get_first_winning_move_3+0xbf24>
xor    %eax,%eax
mov    %eax,-0xb8c(%rbp)
jmp    d045 <get_first_winning_move_3+0xbf35>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb8c(%rbp)
mov    -0xb8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d069 <get_first_winning_move_3+0xbf59>
xor    %eax,%eax
mov    %eax,-0xb90(%rbp)
jmp    d07a <get_first_winning_move_3+0xbf6a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb90(%rbp)
mov    -0xb90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    d0a6 <get_first_winning_move_3+0xbf96>
xor    %eax,%eax
mov    %eax,-0xb94(%rbp)
jmp    d0b7 <get_first_winning_move_3+0xbfa7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb94(%rbp)
mov    -0xb94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d0db <get_first_winning_move_3+0xbfcb>
xor    %eax,%eax
mov    %eax,-0xb98(%rbp)
jmp    d0ec <get_first_winning_move_3+0xbfdc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb98(%rbp)
mov    -0xb98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d118 <get_first_winning_move_3+0xc008>
xor    %eax,%eax
mov    %eax,-0xb9c(%rbp)
jmp    d129 <get_first_winning_move_3+0xc019>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb9c(%rbp)
mov    -0xb9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d14d <get_first_winning_move_3+0xc03d>
xor    %eax,%eax
mov    %eax,-0xba0(%rbp)
jmp    d15e <get_first_winning_move_3+0xc04e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xba0(%rbp)
mov    -0xba0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    d18a <get_first_winning_move_3+0xc07a>
xor    %eax,%eax
mov    %eax,-0xba4(%rbp)
jmp    d19b <get_first_winning_move_3+0xc08b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xba4(%rbp)
mov    -0xba4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d1bf <get_first_winning_move_3+0xc0af>
xor    %eax,%eax
mov    %eax,-0xba8(%rbp)
jmp    d1d0 <get_first_winning_move_3+0xc0c0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xba8(%rbp)
mov    -0xba8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    d9c5 <get_first_winning_move_3+0xc8b5>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    d5e5 <get_first_winning_move_3+0xc4d5>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d21f <get_first_winning_move_3+0xc10f>
xor    %eax,%eax
mov    %eax,-0xbac(%rbp)
jmp    d230 <get_first_winning_move_3+0xc120>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbac(%rbp)
mov    -0xbac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d254 <get_first_winning_move_3+0xc144>
xor    %eax,%eax
mov    %eax,-0xbb0(%rbp)
jmp    d265 <get_first_winning_move_3+0xc155>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbb0(%rbp)
mov    -0xbb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    d291 <get_first_winning_move_3+0xc181>
xor    %eax,%eax
mov    %eax,-0xbb4(%rbp)
jmp    d2a2 <get_first_winning_move_3+0xc192>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbb4(%rbp)
mov    -0xbb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d2c6 <get_first_winning_move_3+0xc1b6>
xor    %eax,%eax
mov    %eax,-0xbb8(%rbp)
jmp    d2d7 <get_first_winning_move_3+0xc1c7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbb8(%rbp)
mov    -0xbb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d303 <get_first_winning_move_3+0xc1f3>
xor    %eax,%eax
mov    %eax,-0xbbc(%rbp)
jmp    d314 <get_first_winning_move_3+0xc204>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbbc(%rbp)
mov    -0xbbc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d338 <get_first_winning_move_3+0xc228>
xor    %eax,%eax
mov    %eax,-0xbc0(%rbp)
jmp    d349 <get_first_winning_move_3+0xc239>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbc0(%rbp)
mov    -0xbc0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    d375 <get_first_winning_move_3+0xc265>
xor    %eax,%eax
mov    %eax,-0xbc4(%rbp)
jmp    d386 <get_first_winning_move_3+0xc276>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbc4(%rbp)
mov    -0xbc4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d3aa <get_first_winning_move_3+0xc29a>
xor    %eax,%eax
mov    %eax,-0xbc8(%rbp)
jmp    d3bb <get_first_winning_move_3+0xc2ab>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbc8(%rbp)
mov    -0xbc8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     d410 <get_first_winning_move_3+0xc300>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d432 <get_first_winning_move_3+0xc322>
xor    %eax,%eax
mov    %eax,-0xbcc(%rbp)
jmp    d443 <get_first_winning_move_3+0xc333>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbcc(%rbp)
mov    -0xbcc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d467 <get_first_winning_move_3+0xc357>
xor    %eax,%eax
mov    %eax,-0xbd0(%rbp)
jmp    d478 <get_first_winning_move_3+0xc368>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbd0(%rbp)
mov    -0xbd0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    d4a4 <get_first_winning_move_3+0xc394>
xor    %eax,%eax
mov    %eax,-0xbd4(%rbp)
jmp    d4b5 <get_first_winning_move_3+0xc3a5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbd4(%rbp)
mov    -0xbd4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d4d9 <get_first_winning_move_3+0xc3c9>
xor    %eax,%eax
mov    %eax,-0xbd8(%rbp)
jmp    d4ea <get_first_winning_move_3+0xc3da>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbd8(%rbp)
mov    -0xbd8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d516 <get_first_winning_move_3+0xc406>
xor    %eax,%eax
mov    %eax,-0xbdc(%rbp)
jmp    d527 <get_first_winning_move_3+0xc417>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbdc(%rbp)
mov    -0xbdc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d54b <get_first_winning_move_3+0xc43b>
xor    %eax,%eax
mov    %eax,-0xbe0(%rbp)
jmp    d55c <get_first_winning_move_3+0xc44c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbe0(%rbp)
mov    -0xbe0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    d588 <get_first_winning_move_3+0xc478>
xor    %eax,%eax
mov    %eax,-0xbe4(%rbp)
jmp    d599 <get_first_winning_move_3+0xc489>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbe4(%rbp)
mov    -0xbe4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d5bd <get_first_winning_move_3+0xc4ad>
xor    %eax,%eax
mov    %eax,-0xbe8(%rbp)
jmp    d5ce <get_first_winning_move_3+0xc4be>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbe8(%rbp)
mov    -0xbe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    d9c0 <get_first_winning_move_3+0xc8b0>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d607 <get_first_winning_move_3+0xc4f7>
xor    %eax,%eax
mov    %eax,-0xbec(%rbp)
jmp    d618 <get_first_winning_move_3+0xc508>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbec(%rbp)
mov    -0xbec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d63c <get_first_winning_move_3+0xc52c>
xor    %eax,%eax
mov    %eax,-0xbf0(%rbp)
jmp    d64d <get_first_winning_move_3+0xc53d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbf0(%rbp)
mov    -0xbf0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    d679 <get_first_winning_move_3+0xc569>
xor    %eax,%eax
mov    %eax,-0xbf4(%rbp)
jmp    d68a <get_first_winning_move_3+0xc57a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbf4(%rbp)
mov    -0xbf4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d6ae <get_first_winning_move_3+0xc59e>
xor    %eax,%eax
mov    %eax,-0xbf8(%rbp)
jmp    d6bf <get_first_winning_move_3+0xc5af>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbf8(%rbp)
mov    -0xbf8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d6eb <get_first_winning_move_3+0xc5db>
xor    %eax,%eax
mov    %eax,-0xbfc(%rbp)
jmp    d6fc <get_first_winning_move_3+0xc5ec>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbfc(%rbp)
mov    -0xbfc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d720 <get_first_winning_move_3+0xc610>
xor    %eax,%eax
mov    %eax,-0xc00(%rbp)
jmp    d731 <get_first_winning_move_3+0xc621>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc00(%rbp)
mov    -0xc00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    d75d <get_first_winning_move_3+0xc64d>
xor    %eax,%eax
mov    %eax,-0xc04(%rbp)
jmp    d76e <get_first_winning_move_3+0xc65e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc04(%rbp)
mov    -0xc04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d792 <get_first_winning_move_3+0xc682>
xor    %eax,%eax
mov    %eax,-0xc08(%rbp)
jmp    d7a3 <get_first_winning_move_3+0xc693>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc08(%rbp)
mov    -0xc08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     d7f8 <get_first_winning_move_3+0xc6e8>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d81a <get_first_winning_move_3+0xc70a>
xor    %eax,%eax
mov    %eax,-0xc0c(%rbp)
jmp    d82b <get_first_winning_move_3+0xc71b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc0c(%rbp)
mov    -0xc0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d84f <get_first_winning_move_3+0xc73f>
xor    %eax,%eax
mov    %eax,-0xc10(%rbp)
jmp    d860 <get_first_winning_move_3+0xc750>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc10(%rbp)
mov    -0xc10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    d88c <get_first_winning_move_3+0xc77c>
xor    %eax,%eax
mov    %eax,-0xc14(%rbp)
jmp    d89d <get_first_winning_move_3+0xc78d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc14(%rbp)
mov    -0xc14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d8c1 <get_first_winning_move_3+0xc7b1>
xor    %eax,%eax
mov    %eax,-0xc18(%rbp)
jmp    d8d2 <get_first_winning_move_3+0xc7c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc18(%rbp)
mov    -0xc18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d8fe <get_first_winning_move_3+0xc7ee>
xor    %eax,%eax
mov    %eax,-0xc1c(%rbp)
jmp    d90f <get_first_winning_move_3+0xc7ff>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc1c(%rbp)
mov    -0xc1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d933 <get_first_winning_move_3+0xc823>
xor    %eax,%eax
mov    %eax,-0xc20(%rbp)
jmp    d944 <get_first_winning_move_3+0xc834>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc20(%rbp)
mov    -0xc20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    d970 <get_first_winning_move_3+0xc860>
xor    %eax,%eax
mov    %eax,-0xc24(%rbp)
jmp    d981 <get_first_winning_move_3+0xc871>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc24(%rbp)
mov    -0xc24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    d9a5 <get_first_winning_move_3+0xc895>
xor    %eax,%eax
mov    %eax,-0xc28(%rbp)
jmp    d9b6 <get_first_winning_move_3+0xc8a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc28(%rbp)
mov    -0xc28(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    d9c5 <get_first_winning_move_3+0xc8b5>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    d9d2 <get_first_winning_move_3+0xc8c2>
jmp    163d7 <get_first_winning_move_3+0x152c7>
movswl -0x16(%rbp),%eax
cmp    $0x10,%eax
jne    e264 <get_first_winning_move_3+0xd154>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     e25f <get_first_winning_move_3+0xd14f>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    e25f <get_first_winning_move_3+0xd14f>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     e25a <get_first_winning_move_3+0xd14a>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    de77 <get_first_winning_move_3+0xcd67>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    dab1 <get_first_winning_move_3+0xc9a1>
xor    %eax,%eax
mov    %eax,-0xc2c(%rbp)
jmp    dac2 <get_first_winning_move_3+0xc9b2>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc2c(%rbp)
mov    -0xc2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dae6 <get_first_winning_move_3+0xc9d6>
xor    %eax,%eax
mov    %eax,-0xc30(%rbp)
jmp    daf7 <get_first_winning_move_3+0xc9e7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc30(%rbp)
mov    -0xc30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    db23 <get_first_winning_move_3+0xca13>
xor    %eax,%eax
mov    %eax,-0xc34(%rbp)
jmp    db34 <get_first_winning_move_3+0xca24>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc34(%rbp)
mov    -0xc34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    db58 <get_first_winning_move_3+0xca48>
xor    %eax,%eax
mov    %eax,-0xc38(%rbp)
jmp    db69 <get_first_winning_move_3+0xca59>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc38(%rbp)
mov    -0xc38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    db95 <get_first_winning_move_3+0xca85>
xor    %eax,%eax
mov    %eax,-0xc3c(%rbp)
jmp    dba6 <get_first_winning_move_3+0xca96>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc3c(%rbp)
mov    -0xc3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dbca <get_first_winning_move_3+0xcaba>
xor    %eax,%eax
mov    %eax,-0xc40(%rbp)
jmp    dbdb <get_first_winning_move_3+0xcacb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc40(%rbp)
mov    -0xc40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    dc07 <get_first_winning_move_3+0xcaf7>
xor    %eax,%eax
mov    %eax,-0xc44(%rbp)
jmp    dc18 <get_first_winning_move_3+0xcb08>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc44(%rbp)
mov    -0xc44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dc3c <get_first_winning_move_3+0xcb2c>
xor    %eax,%eax
mov    %eax,-0xc48(%rbp)
jmp    dc4d <get_first_winning_move_3+0xcb3d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc48(%rbp)
mov    -0xc48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     dca2 <get_first_winning_move_3+0xcb92>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    dcc4 <get_first_winning_move_3+0xcbb4>
xor    %eax,%eax
mov    %eax,-0xc4c(%rbp)
jmp    dcd5 <get_first_winning_move_3+0xcbc5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc4c(%rbp)
mov    -0xc4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dcf9 <get_first_winning_move_3+0xcbe9>
xor    %eax,%eax
mov    %eax,-0xc50(%rbp)
jmp    dd0a <get_first_winning_move_3+0xcbfa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc50(%rbp)
mov    -0xc50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    dd36 <get_first_winning_move_3+0xcc26>
xor    %eax,%eax
mov    %eax,-0xc54(%rbp)
jmp    dd47 <get_first_winning_move_3+0xcc37>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc54(%rbp)
mov    -0xc54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dd6b <get_first_winning_move_3+0xcc5b>
xor    %eax,%eax
mov    %eax,-0xc58(%rbp)
jmp    dd7c <get_first_winning_move_3+0xcc6c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc58(%rbp)
mov    -0xc58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dda8 <get_first_winning_move_3+0xcc98>
xor    %eax,%eax
mov    %eax,-0xc5c(%rbp)
jmp    ddb9 <get_first_winning_move_3+0xcca9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc5c(%rbp)
mov    -0xc5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dddd <get_first_winning_move_3+0xcccd>
xor    %eax,%eax
mov    %eax,-0xc60(%rbp)
jmp    ddee <get_first_winning_move_3+0xccde>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc60(%rbp)
mov    -0xc60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    de1a <get_first_winning_move_3+0xcd0a>
xor    %eax,%eax
mov    %eax,-0xc64(%rbp)
jmp    de2b <get_first_winning_move_3+0xcd1b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc64(%rbp)
mov    -0xc64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    de4f <get_first_winning_move_3+0xcd3f>
xor    %eax,%eax
mov    %eax,-0xc68(%rbp)
jmp    de60 <get_first_winning_move_3+0xcd50>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc68(%rbp)
mov    -0xc68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    e252 <get_first_winning_move_3+0xd142>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    de99 <get_first_winning_move_3+0xcd89>
xor    %eax,%eax
mov    %eax,-0xc6c(%rbp)
jmp    deaa <get_first_winning_move_3+0xcd9a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc6c(%rbp)
mov    -0xc6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dece <get_first_winning_move_3+0xcdbe>
xor    %eax,%eax
mov    %eax,-0xc70(%rbp)
jmp    dedf <get_first_winning_move_3+0xcdcf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc70(%rbp)
mov    -0xc70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    df0b <get_first_winning_move_3+0xcdfb>
xor    %eax,%eax
mov    %eax,-0xc74(%rbp)
jmp    df1c <get_first_winning_move_3+0xce0c>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc74(%rbp)
mov    -0xc74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    df40 <get_first_winning_move_3+0xce30>
xor    %eax,%eax
mov    %eax,-0xc78(%rbp)
jmp    df51 <get_first_winning_move_3+0xce41>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc78(%rbp)
mov    -0xc78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    df7d <get_first_winning_move_3+0xce6d>
xor    %eax,%eax
mov    %eax,-0xc7c(%rbp)
jmp    df8e <get_first_winning_move_3+0xce7e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc7c(%rbp)
mov    -0xc7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    dfb2 <get_first_winning_move_3+0xcea2>
xor    %eax,%eax
mov    %eax,-0xc80(%rbp)
jmp    dfc3 <get_first_winning_move_3+0xceb3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc80(%rbp)
mov    -0xc80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    dfef <get_first_winning_move_3+0xcedf>
xor    %eax,%eax
mov    %eax,-0xc84(%rbp)
jmp    e000 <get_first_winning_move_3+0xcef0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc84(%rbp)
mov    -0xc84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e024 <get_first_winning_move_3+0xcf14>
xor    %eax,%eax
mov    %eax,-0xc88(%rbp)
jmp    e035 <get_first_winning_move_3+0xcf25>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc88(%rbp)
mov    -0xc88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     e08a <get_first_winning_move_3+0xcf7a>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e0ac <get_first_winning_move_3+0xcf9c>
xor    %eax,%eax
mov    %eax,-0xc8c(%rbp)
jmp    e0bd <get_first_winning_move_3+0xcfad>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc8c(%rbp)
mov    -0xc8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e0e1 <get_first_winning_move_3+0xcfd1>
xor    %eax,%eax
mov    %eax,-0xc90(%rbp)
jmp    e0f2 <get_first_winning_move_3+0xcfe2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc90(%rbp)
mov    -0xc90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    e11e <get_first_winning_move_3+0xd00e>
xor    %eax,%eax
mov    %eax,-0xc94(%rbp)
jmp    e12f <get_first_winning_move_3+0xd01f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc94(%rbp)
mov    -0xc94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e153 <get_first_winning_move_3+0xd043>
xor    %eax,%eax
mov    %eax,-0xc98(%rbp)
jmp    e164 <get_first_winning_move_3+0xd054>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc98(%rbp)
mov    -0xc98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e190 <get_first_winning_move_3+0xd080>
xor    %eax,%eax
mov    %eax,-0xc9c(%rbp)
jmp    e1a1 <get_first_winning_move_3+0xd091>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc9c(%rbp)
mov    -0xc9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e1c5 <get_first_winning_move_3+0xd0b5>
xor    %eax,%eax
mov    %eax,-0xca0(%rbp)
jmp    e1d6 <get_first_winning_move_3+0xd0c6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xca0(%rbp)
mov    -0xca0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    e202 <get_first_winning_move_3+0xd0f2>
xor    %eax,%eax
mov    %eax,-0xca4(%rbp)
jmp    e213 <get_first_winning_move_3+0xd103>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xca4(%rbp)
mov    -0xca4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e237 <get_first_winning_move_3+0xd127>
xor    %eax,%eax
mov    %eax,-0xca8(%rbp)
jmp    e248 <get_first_winning_move_3+0xd138>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xca8(%rbp)
mov    -0xca8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    e25f <get_first_winning_move_3+0xd14f>
jmp    163d2 <get_first_winning_move_3+0x152c2>
movswl -0x16(%rbp),%eax
cmp    $0x11,%eax
jne    eb06 <get_first_winning_move_3+0xd9f6>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     eb01 <get_first_winning_move_3+0xd9f1>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    eb01 <get_first_winning_move_3+0xd9f1>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     eb01 <get_first_winning_move_3+0xd9f1>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     eafc <get_first_winning_move_3+0xd9ec>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    e719 <get_first_winning_move_3+0xd609>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e353 <get_first_winning_move_3+0xd243>
xor    %eax,%eax
mov    %eax,-0xcac(%rbp)
jmp    e364 <get_first_winning_move_3+0xd254>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcac(%rbp)
mov    -0xcac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e388 <get_first_winning_move_3+0xd278>
xor    %eax,%eax
mov    %eax,-0xcb0(%rbp)
jmp    e399 <get_first_winning_move_3+0xd289>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcb0(%rbp)
mov    -0xcb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    e3c5 <get_first_winning_move_3+0xd2b5>
xor    %eax,%eax
mov    %eax,-0xcb4(%rbp)
jmp    e3d6 <get_first_winning_move_3+0xd2c6>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcb4(%rbp)
mov    -0xcb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e3fa <get_first_winning_move_3+0xd2ea>
xor    %eax,%eax
mov    %eax,-0xcb8(%rbp)
jmp    e40b <get_first_winning_move_3+0xd2fb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcb8(%rbp)
mov    -0xcb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e437 <get_first_winning_move_3+0xd327>
xor    %eax,%eax
mov    %eax,-0xcbc(%rbp)
jmp    e448 <get_first_winning_move_3+0xd338>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcbc(%rbp)
mov    -0xcbc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e46c <get_first_winning_move_3+0xd35c>
xor    %eax,%eax
mov    %eax,-0xcc0(%rbp)
jmp    e47d <get_first_winning_move_3+0xd36d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcc0(%rbp)
mov    -0xcc0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    e4a9 <get_first_winning_move_3+0xd399>
xor    %eax,%eax
mov    %eax,-0xcc4(%rbp)
jmp    e4ba <get_first_winning_move_3+0xd3aa>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcc4(%rbp)
mov    -0xcc4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e4de <get_first_winning_move_3+0xd3ce>
xor    %eax,%eax
mov    %eax,-0xcc8(%rbp)
jmp    e4ef <get_first_winning_move_3+0xd3df>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcc8(%rbp)
mov    -0xcc8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     e544 <get_first_winning_move_3+0xd434>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e566 <get_first_winning_move_3+0xd456>
xor    %eax,%eax
mov    %eax,-0xccc(%rbp)
jmp    e577 <get_first_winning_move_3+0xd467>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xccc(%rbp)
mov    -0xccc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e59b <get_first_winning_move_3+0xd48b>
xor    %eax,%eax
mov    %eax,-0xcd0(%rbp)
jmp    e5ac <get_first_winning_move_3+0xd49c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcd0(%rbp)
mov    -0xcd0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    e5d8 <get_first_winning_move_3+0xd4c8>
xor    %eax,%eax
mov    %eax,-0xcd4(%rbp)
jmp    e5e9 <get_first_winning_move_3+0xd4d9>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcd4(%rbp)
mov    -0xcd4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e60d <get_first_winning_move_3+0xd4fd>
xor    %eax,%eax
mov    %eax,-0xcd8(%rbp)
jmp    e61e <get_first_winning_move_3+0xd50e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcd8(%rbp)
mov    -0xcd8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e64a <get_first_winning_move_3+0xd53a>
xor    %eax,%eax
mov    %eax,-0xcdc(%rbp)
jmp    e65b <get_first_winning_move_3+0xd54b>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcdc(%rbp)
mov    -0xcdc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e67f <get_first_winning_move_3+0xd56f>
xor    %eax,%eax
mov    %eax,-0xce0(%rbp)
jmp    e690 <get_first_winning_move_3+0xd580>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xce0(%rbp)
mov    -0xce0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    e6bc <get_first_winning_move_3+0xd5ac>
xor    %eax,%eax
mov    %eax,-0xce4(%rbp)
jmp    e6cd <get_first_winning_move_3+0xd5bd>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xce4(%rbp)
mov    -0xce4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e6f1 <get_first_winning_move_3+0xd5e1>
xor    %eax,%eax
mov    %eax,-0xce8(%rbp)
jmp    e702 <get_first_winning_move_3+0xd5f2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xce8(%rbp)
mov    -0xce8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    eaf4 <get_first_winning_move_3+0xd9e4>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e73b <get_first_winning_move_3+0xd62b>
xor    %eax,%eax
mov    %eax,-0xcec(%rbp)
jmp    e74c <get_first_winning_move_3+0xd63c>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcec(%rbp)
mov    -0xcec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e770 <get_first_winning_move_3+0xd660>
xor    %eax,%eax
mov    %eax,-0xcf0(%rbp)
jmp    e781 <get_first_winning_move_3+0xd671>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcf0(%rbp)
mov    -0xcf0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    e7ad <get_first_winning_move_3+0xd69d>
xor    %eax,%eax
mov    %eax,-0xcf4(%rbp)
jmp    e7be <get_first_winning_move_3+0xd6ae>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcf4(%rbp)
mov    -0xcf4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e7e2 <get_first_winning_move_3+0xd6d2>
xor    %eax,%eax
mov    %eax,-0xcf8(%rbp)
jmp    e7f3 <get_first_winning_move_3+0xd6e3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcf8(%rbp)
mov    -0xcf8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e81f <get_first_winning_move_3+0xd70f>
xor    %eax,%eax
mov    %eax,-0xcfc(%rbp)
jmp    e830 <get_first_winning_move_3+0xd720>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xcfc(%rbp)
mov    -0xcfc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e854 <get_first_winning_move_3+0xd744>
xor    %eax,%eax
mov    %eax,-0xd00(%rbp)
jmp    e865 <get_first_winning_move_3+0xd755>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd00(%rbp)
mov    -0xd00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    e891 <get_first_winning_move_3+0xd781>
xor    %eax,%eax
mov    %eax,-0xd04(%rbp)
jmp    e8a2 <get_first_winning_move_3+0xd792>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd04(%rbp)
mov    -0xd04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e8c6 <get_first_winning_move_3+0xd7b6>
xor    %eax,%eax
mov    %eax,-0xd08(%rbp)
jmp    e8d7 <get_first_winning_move_3+0xd7c7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd08(%rbp)
mov    -0xd08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     e92c <get_first_winning_move_3+0xd81c>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e94e <get_first_winning_move_3+0xd83e>
xor    %eax,%eax
mov    %eax,-0xd0c(%rbp)
jmp    e95f <get_first_winning_move_3+0xd84f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd0c(%rbp)
mov    -0xd0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e983 <get_first_winning_move_3+0xd873>
xor    %eax,%eax
mov    %eax,-0xd10(%rbp)
jmp    e994 <get_first_winning_move_3+0xd884>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd10(%rbp)
mov    -0xd10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    e9c0 <get_first_winning_move_3+0xd8b0>
xor    %eax,%eax
mov    %eax,-0xd14(%rbp)
jmp    e9d1 <get_first_winning_move_3+0xd8c1>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd14(%rbp)
mov    -0xd14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    e9f5 <get_first_winning_move_3+0xd8e5>
xor    %eax,%eax
mov    %eax,-0xd18(%rbp)
jmp    ea06 <get_first_winning_move_3+0xd8f6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd18(%rbp)
mov    -0xd18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ea32 <get_first_winning_move_3+0xd922>
xor    %eax,%eax
mov    %eax,-0xd1c(%rbp)
jmp    ea43 <get_first_winning_move_3+0xd933>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd1c(%rbp)
mov    -0xd1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ea67 <get_first_winning_move_3+0xd957>
xor    %eax,%eax
mov    %eax,-0xd20(%rbp)
jmp    ea78 <get_first_winning_move_3+0xd968>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd20(%rbp)
mov    -0xd20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    eaa4 <get_first_winning_move_3+0xd994>
xor    %eax,%eax
mov    %eax,-0xd24(%rbp)
jmp    eab5 <get_first_winning_move_3+0xd9a5>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd24(%rbp)
mov    -0xd24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ead9 <get_first_winning_move_3+0xd9c9>
xor    %eax,%eax
mov    %eax,-0xd28(%rbp)
jmp    eaea <get_first_winning_move_3+0xd9da>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd28(%rbp)
mov    -0xd28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    eb01 <get_first_winning_move_3+0xd9f1>
jmp    163cd <get_first_winning_move_3+0x152bd>
movswl -0x16(%rbp),%eax
cmp    $0x12,%eax
jne    f39b <get_first_winning_move_3+0xe28b>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     f396 <get_first_winning_move_3+0xe286>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     f396 <get_first_winning_move_3+0xe286>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     f391 <get_first_winning_move_3+0xe281>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    efae <get_first_winning_move_3+0xde9e>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ebe8 <get_first_winning_move_3+0xdad8>
xor    %eax,%eax
mov    %eax,-0xd2c(%rbp)
jmp    ebf9 <get_first_winning_move_3+0xdae9>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd2c(%rbp)
mov    -0xd2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ec1d <get_first_winning_move_3+0xdb0d>
xor    %eax,%eax
mov    %eax,-0xd30(%rbp)
jmp    ec2e <get_first_winning_move_3+0xdb1e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd30(%rbp)
mov    -0xd30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    ec5a <get_first_winning_move_3+0xdb4a>
xor    %eax,%eax
mov    %eax,-0xd34(%rbp)
jmp    ec6b <get_first_winning_move_3+0xdb5b>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd34(%rbp)
mov    -0xd34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ec8f <get_first_winning_move_3+0xdb7f>
xor    %eax,%eax
mov    %eax,-0xd38(%rbp)
jmp    eca0 <get_first_winning_move_3+0xdb90>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd38(%rbp)
mov    -0xd38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    eccc <get_first_winning_move_3+0xdbbc>
xor    %eax,%eax
mov    %eax,-0xd3c(%rbp)
jmp    ecdd <get_first_winning_move_3+0xdbcd>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd3c(%rbp)
mov    -0xd3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ed01 <get_first_winning_move_3+0xdbf1>
xor    %eax,%eax
mov    %eax,-0xd40(%rbp)
jmp    ed12 <get_first_winning_move_3+0xdc02>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd40(%rbp)
mov    -0xd40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    ed3e <get_first_winning_move_3+0xdc2e>
xor    %eax,%eax
mov    %eax,-0xd44(%rbp)
jmp    ed4f <get_first_winning_move_3+0xdc3f>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd44(%rbp)
mov    -0xd44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ed73 <get_first_winning_move_3+0xdc63>
xor    %eax,%eax
mov    %eax,-0xd48(%rbp)
jmp    ed84 <get_first_winning_move_3+0xdc74>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd48(%rbp)
mov    -0xd48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     edd9 <get_first_winning_move_3+0xdcc9>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    edfb <get_first_winning_move_3+0xdceb>
xor    %eax,%eax
mov    %eax,-0xd4c(%rbp)
jmp    ee0c <get_first_winning_move_3+0xdcfc>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd4c(%rbp)
mov    -0xd4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ee30 <get_first_winning_move_3+0xdd20>
xor    %eax,%eax
mov    %eax,-0xd50(%rbp)
jmp    ee41 <get_first_winning_move_3+0xdd31>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd50(%rbp)
mov    -0xd50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    ee6d <get_first_winning_move_3+0xdd5d>
xor    %eax,%eax
mov    %eax,-0xd54(%rbp)
jmp    ee7e <get_first_winning_move_3+0xdd6e>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd54(%rbp)
mov    -0xd54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    eea2 <get_first_winning_move_3+0xdd92>
xor    %eax,%eax
mov    %eax,-0xd58(%rbp)
jmp    eeb3 <get_first_winning_move_3+0xdda3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd58(%rbp)
mov    -0xd58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    eedf <get_first_winning_move_3+0xddcf>
xor    %eax,%eax
mov    %eax,-0xd5c(%rbp)
jmp    eef0 <get_first_winning_move_3+0xdde0>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd5c(%rbp)
mov    -0xd5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ef14 <get_first_winning_move_3+0xde04>
xor    %eax,%eax
mov    %eax,-0xd60(%rbp)
jmp    ef25 <get_first_winning_move_3+0xde15>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd60(%rbp)
mov    -0xd60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    ef51 <get_first_winning_move_3+0xde41>
xor    %eax,%eax
mov    %eax,-0xd64(%rbp)
jmp    ef62 <get_first_winning_move_3+0xde52>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd64(%rbp)
mov    -0xd64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ef86 <get_first_winning_move_3+0xde76>
xor    %eax,%eax
mov    %eax,-0xd68(%rbp)
jmp    ef97 <get_first_winning_move_3+0xde87>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd68(%rbp)
mov    -0xd68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    f389 <get_first_winning_move_3+0xe279>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    efd0 <get_first_winning_move_3+0xdec0>
xor    %eax,%eax
mov    %eax,-0xd6c(%rbp)
jmp    efe1 <get_first_winning_move_3+0xded1>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd6c(%rbp)
mov    -0xd6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f005 <get_first_winning_move_3+0xdef5>
xor    %eax,%eax
mov    %eax,-0xd70(%rbp)
jmp    f016 <get_first_winning_move_3+0xdf06>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd70(%rbp)
mov    -0xd70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    f042 <get_first_winning_move_3+0xdf32>
xor    %eax,%eax
mov    %eax,-0xd74(%rbp)
jmp    f053 <get_first_winning_move_3+0xdf43>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd74(%rbp)
mov    -0xd74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f077 <get_first_winning_move_3+0xdf67>
xor    %eax,%eax
mov    %eax,-0xd78(%rbp)
jmp    f088 <get_first_winning_move_3+0xdf78>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd78(%rbp)
mov    -0xd78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f0b4 <get_first_winning_move_3+0xdfa4>
xor    %eax,%eax
mov    %eax,-0xd7c(%rbp)
jmp    f0c5 <get_first_winning_move_3+0xdfb5>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd7c(%rbp)
mov    -0xd7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f0e9 <get_first_winning_move_3+0xdfd9>
xor    %eax,%eax
mov    %eax,-0xd80(%rbp)
jmp    f0fa <get_first_winning_move_3+0xdfea>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd80(%rbp)
mov    -0xd80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    f126 <get_first_winning_move_3+0xe016>
xor    %eax,%eax
mov    %eax,-0xd84(%rbp)
jmp    f137 <get_first_winning_move_3+0xe027>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd84(%rbp)
mov    -0xd84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f15b <get_first_winning_move_3+0xe04b>
xor    %eax,%eax
mov    %eax,-0xd88(%rbp)
jmp    f16c <get_first_winning_move_3+0xe05c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd88(%rbp)
mov    -0xd88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     f1c1 <get_first_winning_move_3+0xe0b1>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f1e3 <get_first_winning_move_3+0xe0d3>
xor    %eax,%eax
mov    %eax,-0xd8c(%rbp)
jmp    f1f4 <get_first_winning_move_3+0xe0e4>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd8c(%rbp)
mov    -0xd8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f218 <get_first_winning_move_3+0xe108>
xor    %eax,%eax
mov    %eax,-0xd90(%rbp)
jmp    f229 <get_first_winning_move_3+0xe119>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd90(%rbp)
mov    -0xd90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    f255 <get_first_winning_move_3+0xe145>
xor    %eax,%eax
mov    %eax,-0xd94(%rbp)
jmp    f266 <get_first_winning_move_3+0xe156>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd94(%rbp)
mov    -0xd94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f28a <get_first_winning_move_3+0xe17a>
xor    %eax,%eax
mov    %eax,-0xd98(%rbp)
jmp    f29b <get_first_winning_move_3+0xe18b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd98(%rbp)
mov    -0xd98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f2c7 <get_first_winning_move_3+0xe1b7>
xor    %eax,%eax
mov    %eax,-0xd9c(%rbp)
jmp    f2d8 <get_first_winning_move_3+0xe1c8>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd9c(%rbp)
mov    -0xd9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f2fc <get_first_winning_move_3+0xe1ec>
xor    %eax,%eax
mov    %eax,-0xda0(%rbp)
jmp    f30d <get_first_winning_move_3+0xe1fd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xda0(%rbp)
mov    -0xda0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    f339 <get_first_winning_move_3+0xe229>
xor    %eax,%eax
mov    %eax,-0xda4(%rbp)
jmp    f34a <get_first_winning_move_3+0xe23a>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xda4(%rbp)
mov    -0xda4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f36e <get_first_winning_move_3+0xe25e>
xor    %eax,%eax
mov    %eax,-0xda8(%rbp)
jmp    f37f <get_first_winning_move_3+0xe26f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xda8(%rbp)
mov    -0xda8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    f396 <get_first_winning_move_3+0xe286>
jmp    163c8 <get_first_winning_move_3+0x152b8>
movswl -0x16(%rbp),%eax
cmp    $0x13,%eax
jne    fc41 <get_first_winning_move_3+0xeb31>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     fc3c <get_first_winning_move_3+0xeb2c>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    fc3c <get_first_winning_move_3+0xeb2c>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     fc3c <get_first_winning_move_3+0xeb2c>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     fc37 <get_first_winning_move_3+0xeb27>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    f854 <get_first_winning_move_3+0xe744>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f48e <get_first_winning_move_3+0xe37e>
xor    %eax,%eax
mov    %eax,-0xdac(%rbp)
jmp    f49f <get_first_winning_move_3+0xe38f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdac(%rbp)
mov    -0xdac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f4c3 <get_first_winning_move_3+0xe3b3>
xor    %eax,%eax
mov    %eax,-0xdb0(%rbp)
jmp    f4d4 <get_first_winning_move_3+0xe3c4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdb0(%rbp)
mov    -0xdb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    f500 <get_first_winning_move_3+0xe3f0>
xor    %eax,%eax
mov    %eax,-0xdb4(%rbp)
jmp    f511 <get_first_winning_move_3+0xe401>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdb4(%rbp)
mov    -0xdb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f535 <get_first_winning_move_3+0xe425>
xor    %eax,%eax
mov    %eax,-0xdb8(%rbp)
jmp    f546 <get_first_winning_move_3+0xe436>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdb8(%rbp)
mov    -0xdb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f572 <get_first_winning_move_3+0xe462>
xor    %eax,%eax
mov    %eax,-0xdbc(%rbp)
jmp    f583 <get_first_winning_move_3+0xe473>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdbc(%rbp)
mov    -0xdbc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f5a7 <get_first_winning_move_3+0xe497>
xor    %eax,%eax
mov    %eax,-0xdc0(%rbp)
jmp    f5b8 <get_first_winning_move_3+0xe4a8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdc0(%rbp)
mov    -0xdc0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    f5e4 <get_first_winning_move_3+0xe4d4>
xor    %eax,%eax
mov    %eax,-0xdc4(%rbp)
jmp    f5f5 <get_first_winning_move_3+0xe4e5>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdc4(%rbp)
mov    -0xdc4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f619 <get_first_winning_move_3+0xe509>
xor    %eax,%eax
mov    %eax,-0xdc8(%rbp)
jmp    f62a <get_first_winning_move_3+0xe51a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdc8(%rbp)
mov    -0xdc8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     f67f <get_first_winning_move_3+0xe56f>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f6a1 <get_first_winning_move_3+0xe591>
xor    %eax,%eax
mov    %eax,-0xdcc(%rbp)
jmp    f6b2 <get_first_winning_move_3+0xe5a2>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdcc(%rbp)
mov    -0xdcc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f6d6 <get_first_winning_move_3+0xe5c6>
xor    %eax,%eax
mov    %eax,-0xdd0(%rbp)
jmp    f6e7 <get_first_winning_move_3+0xe5d7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdd0(%rbp)
mov    -0xdd0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    f713 <get_first_winning_move_3+0xe603>
xor    %eax,%eax
mov    %eax,-0xdd4(%rbp)
jmp    f724 <get_first_winning_move_3+0xe614>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdd4(%rbp)
mov    -0xdd4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f748 <get_first_winning_move_3+0xe638>
xor    %eax,%eax
mov    %eax,-0xdd8(%rbp)
jmp    f759 <get_first_winning_move_3+0xe649>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdd8(%rbp)
mov    -0xdd8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f785 <get_first_winning_move_3+0xe675>
xor    %eax,%eax
mov    %eax,-0xddc(%rbp)
jmp    f796 <get_first_winning_move_3+0xe686>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xddc(%rbp)
mov    -0xddc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f7ba <get_first_winning_move_3+0xe6aa>
xor    %eax,%eax
mov    %eax,-0xde0(%rbp)
jmp    f7cb <get_first_winning_move_3+0xe6bb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xde0(%rbp)
mov    -0xde0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    f7f7 <get_first_winning_move_3+0xe6e7>
xor    %eax,%eax
mov    %eax,-0xde4(%rbp)
jmp    f808 <get_first_winning_move_3+0xe6f8>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xde4(%rbp)
mov    -0xde4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f82c <get_first_winning_move_3+0xe71c>
xor    %eax,%eax
mov    %eax,-0xde8(%rbp)
jmp    f83d <get_first_winning_move_3+0xe72d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xde8(%rbp)
mov    -0xde8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    fc2f <get_first_winning_move_3+0xeb1f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f876 <get_first_winning_move_3+0xe766>
xor    %eax,%eax
mov    %eax,-0xdec(%rbp)
jmp    f887 <get_first_winning_move_3+0xe777>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdec(%rbp)
mov    -0xdec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f8ab <get_first_winning_move_3+0xe79b>
xor    %eax,%eax
mov    %eax,-0xdf0(%rbp)
jmp    f8bc <get_first_winning_move_3+0xe7ac>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdf0(%rbp)
mov    -0xdf0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    f8e8 <get_first_winning_move_3+0xe7d8>
xor    %eax,%eax
mov    %eax,-0xdf4(%rbp)
jmp    f8f9 <get_first_winning_move_3+0xe7e9>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdf4(%rbp)
mov    -0xdf4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f91d <get_first_winning_move_3+0xe80d>
xor    %eax,%eax
mov    %eax,-0xdf8(%rbp)
jmp    f92e <get_first_winning_move_3+0xe81e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdf8(%rbp)
mov    -0xdf8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f95a <get_first_winning_move_3+0xe84a>
xor    %eax,%eax
mov    %eax,-0xdfc(%rbp)
jmp    f96b <get_first_winning_move_3+0xe85b>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xdfc(%rbp)
mov    -0xdfc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    f98f <get_first_winning_move_3+0xe87f>
xor    %eax,%eax
mov    %eax,-0xe00(%rbp)
jmp    f9a0 <get_first_winning_move_3+0xe890>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe00(%rbp)
mov    -0xe00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    f9cc <get_first_winning_move_3+0xe8bc>
xor    %eax,%eax
mov    %eax,-0xe04(%rbp)
jmp    f9dd <get_first_winning_move_3+0xe8cd>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe04(%rbp)
mov    -0xe04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fa01 <get_first_winning_move_3+0xe8f1>
xor    %eax,%eax
mov    %eax,-0xe08(%rbp)
jmp    fa12 <get_first_winning_move_3+0xe902>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe08(%rbp)
mov    -0xe08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     fa67 <get_first_winning_move_3+0xe957>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fa89 <get_first_winning_move_3+0xe979>
xor    %eax,%eax
mov    %eax,-0xe0c(%rbp)
jmp    fa9a <get_first_winning_move_3+0xe98a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe0c(%rbp)
mov    -0xe0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fabe <get_first_winning_move_3+0xe9ae>
xor    %eax,%eax
mov    %eax,-0xe10(%rbp)
jmp    facf <get_first_winning_move_3+0xe9bf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe10(%rbp)
mov    -0xe10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    fafb <get_first_winning_move_3+0xe9eb>
xor    %eax,%eax
mov    %eax,-0xe14(%rbp)
jmp    fb0c <get_first_winning_move_3+0xe9fc>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe14(%rbp)
mov    -0xe14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fb30 <get_first_winning_move_3+0xea20>
xor    %eax,%eax
mov    %eax,-0xe18(%rbp)
jmp    fb41 <get_first_winning_move_3+0xea31>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe18(%rbp)
mov    -0xe18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fb6d <get_first_winning_move_3+0xea5d>
xor    %eax,%eax
mov    %eax,-0xe1c(%rbp)
jmp    fb7e <get_first_winning_move_3+0xea6e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe1c(%rbp)
mov    -0xe1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fba2 <get_first_winning_move_3+0xea92>
xor    %eax,%eax
mov    %eax,-0xe20(%rbp)
jmp    fbb3 <get_first_winning_move_3+0xeaa3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe20(%rbp)
mov    -0xe20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    fbdf <get_first_winning_move_3+0xeacf>
xor    %eax,%eax
mov    %eax,-0xe24(%rbp)
jmp    fbf0 <get_first_winning_move_3+0xeae0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe24(%rbp)
mov    -0xe24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fc14 <get_first_winning_move_3+0xeb04>
xor    %eax,%eax
mov    %eax,-0xe28(%rbp)
jmp    fc25 <get_first_winning_move_3+0xeb15>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe28(%rbp)
mov    -0xe28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    fc3c <get_first_winning_move_3+0xeb2c>
jmp    163c3 <get_first_winning_move_3+0x152b3>
movswl -0x16(%rbp),%eax
cmp    $0x14,%eax
jne    104d2 <get_first_winning_move_3+0xf3c2>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     104cd <get_first_winning_move_3+0xf3bd>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    104cd <get_first_winning_move_3+0xf3bd>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     104c8 <get_first_winning_move_3+0xf3b8>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    100e5 <get_first_winning_move_3+0xefd5>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fd1f <get_first_winning_move_3+0xec0f>
xor    %eax,%eax
mov    %eax,-0xe2c(%rbp)
jmp    fd30 <get_first_winning_move_3+0xec20>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe2c(%rbp)
mov    -0xe2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fd54 <get_first_winning_move_3+0xec44>
xor    %eax,%eax
mov    %eax,-0xe30(%rbp)
jmp    fd65 <get_first_winning_move_3+0xec55>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe30(%rbp)
mov    -0xe30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    fd91 <get_first_winning_move_3+0xec81>
xor    %eax,%eax
mov    %eax,-0xe34(%rbp)
jmp    fda2 <get_first_winning_move_3+0xec92>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe34(%rbp)
mov    -0xe34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fdc6 <get_first_winning_move_3+0xecb6>
xor    %eax,%eax
mov    %eax,-0xe38(%rbp)
jmp    fdd7 <get_first_winning_move_3+0xecc7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe38(%rbp)
mov    -0xe38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fe03 <get_first_winning_move_3+0xecf3>
xor    %eax,%eax
mov    %eax,-0xe3c(%rbp)
jmp    fe14 <get_first_winning_move_3+0xed04>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe3c(%rbp)
mov    -0xe3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    fe38 <get_first_winning_move_3+0xed28>
xor    %eax,%eax
mov    %eax,-0xe40(%rbp)
jmp    fe49 <get_first_winning_move_3+0xed39>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe40(%rbp)
mov    -0xe40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    fe75 <get_first_winning_move_3+0xed65>
xor    %eax,%eax
mov    %eax,-0xe44(%rbp)
jmp    fe86 <get_first_winning_move_3+0xed76>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe44(%rbp)
mov    -0xe44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    feaa <get_first_winning_move_3+0xed9a>
xor    %eax,%eax
mov    %eax,-0xe48(%rbp)
jmp    febb <get_first_winning_move_3+0xedab>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe48(%rbp)
mov    -0xe48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ff10 <get_first_winning_move_3+0xee00>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ff32 <get_first_winning_move_3+0xee22>
xor    %eax,%eax
mov    %eax,-0xe4c(%rbp)
jmp    ff43 <get_first_winning_move_3+0xee33>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe4c(%rbp)
mov    -0xe4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ff67 <get_first_winning_move_3+0xee57>
xor    %eax,%eax
mov    %eax,-0xe50(%rbp)
jmp    ff78 <get_first_winning_move_3+0xee68>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe50(%rbp)
mov    -0xe50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    ffa4 <get_first_winning_move_3+0xee94>
xor    %eax,%eax
mov    %eax,-0xe54(%rbp)
jmp    ffb5 <get_first_winning_move_3+0xeea5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe54(%rbp)
mov    -0xe54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    ffd9 <get_first_winning_move_3+0xeec9>
xor    %eax,%eax
mov    %eax,-0xe58(%rbp)
jmp    ffea <get_first_winning_move_3+0xeeda>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe58(%rbp)
mov    -0xe58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10016 <get_first_winning_move_3+0xef06>
xor    %eax,%eax
mov    %eax,-0xe5c(%rbp)
jmp    10027 <get_first_winning_move_3+0xef17>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe5c(%rbp)
mov    -0xe5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1004b <get_first_winning_move_3+0xef3b>
xor    %eax,%eax
mov    %eax,-0xe60(%rbp)
jmp    1005c <get_first_winning_move_3+0xef4c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe60(%rbp)
mov    -0xe60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    10088 <get_first_winning_move_3+0xef78>
xor    %eax,%eax
mov    %eax,-0xe64(%rbp)
jmp    10099 <get_first_winning_move_3+0xef89>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe64(%rbp)
mov    -0xe64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    100bd <get_first_winning_move_3+0xefad>
xor    %eax,%eax
mov    %eax,-0xe68(%rbp)
jmp    100ce <get_first_winning_move_3+0xefbe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe68(%rbp)
mov    -0xe68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    104c0 <get_first_winning_move_3+0xf3b0>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10107 <get_first_winning_move_3+0xeff7>
xor    %eax,%eax
mov    %eax,-0xe6c(%rbp)
jmp    10118 <get_first_winning_move_3+0xf008>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe6c(%rbp)
mov    -0xe6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1013c <get_first_winning_move_3+0xf02c>
xor    %eax,%eax
mov    %eax,-0xe70(%rbp)
jmp    1014d <get_first_winning_move_3+0xf03d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe70(%rbp)
mov    -0xe70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    10179 <get_first_winning_move_3+0xf069>
xor    %eax,%eax
mov    %eax,-0xe74(%rbp)
jmp    1018a <get_first_winning_move_3+0xf07a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe74(%rbp)
mov    -0xe74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    101ae <get_first_winning_move_3+0xf09e>
xor    %eax,%eax
mov    %eax,-0xe78(%rbp)
jmp    101bf <get_first_winning_move_3+0xf0af>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe78(%rbp)
mov    -0xe78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    101eb <get_first_winning_move_3+0xf0db>
xor    %eax,%eax
mov    %eax,-0xe7c(%rbp)
jmp    101fc <get_first_winning_move_3+0xf0ec>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe7c(%rbp)
mov    -0xe7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10220 <get_first_winning_move_3+0xf110>
xor    %eax,%eax
mov    %eax,-0xe80(%rbp)
jmp    10231 <get_first_winning_move_3+0xf121>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe80(%rbp)
mov    -0xe80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1025d <get_first_winning_move_3+0xf14d>
xor    %eax,%eax
mov    %eax,-0xe84(%rbp)
jmp    1026e <get_first_winning_move_3+0xf15e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe84(%rbp)
mov    -0xe84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10292 <get_first_winning_move_3+0xf182>
xor    %eax,%eax
mov    %eax,-0xe88(%rbp)
jmp    102a3 <get_first_winning_move_3+0xf193>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe88(%rbp)
mov    -0xe88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     102f8 <get_first_winning_move_3+0xf1e8>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1031a <get_first_winning_move_3+0xf20a>
xor    %eax,%eax
mov    %eax,-0xe8c(%rbp)
jmp    1032b <get_first_winning_move_3+0xf21b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe8c(%rbp)
mov    -0xe8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1034f <get_first_winning_move_3+0xf23f>
xor    %eax,%eax
mov    %eax,-0xe90(%rbp)
jmp    10360 <get_first_winning_move_3+0xf250>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe90(%rbp)
mov    -0xe90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1038c <get_first_winning_move_3+0xf27c>
xor    %eax,%eax
mov    %eax,-0xe94(%rbp)
jmp    1039d <get_first_winning_move_3+0xf28d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe94(%rbp)
mov    -0xe94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    103c1 <get_first_winning_move_3+0xf2b1>
xor    %eax,%eax
mov    %eax,-0xe98(%rbp)
jmp    103d2 <get_first_winning_move_3+0xf2c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe98(%rbp)
mov    -0xe98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    103fe <get_first_winning_move_3+0xf2ee>
xor    %eax,%eax
mov    %eax,-0xe9c(%rbp)
jmp    1040f <get_first_winning_move_3+0xf2ff>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe9c(%rbp)
mov    -0xe9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10433 <get_first_winning_move_3+0xf323>
xor    %eax,%eax
mov    %eax,-0xea0(%rbp)
jmp    10444 <get_first_winning_move_3+0xf334>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xea0(%rbp)
mov    -0xea0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    10470 <get_first_winning_move_3+0xf360>
xor    %eax,%eax
mov    %eax,-0xea4(%rbp)
jmp    10481 <get_first_winning_move_3+0xf371>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xea4(%rbp)
mov    -0xea4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    104a5 <get_first_winning_move_3+0xf395>
xor    %eax,%eax
mov    %eax,-0xea8(%rbp)
jmp    104b6 <get_first_winning_move_3+0xf3a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xea8(%rbp)
mov    -0xea8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    104cd <get_first_winning_move_3+0xf3bd>
jmp    163be <get_first_winning_move_3+0x152ae>
movswl -0x16(%rbp),%eax
cmp    $0x15,%eax
jne    10d78 <get_first_winning_move_3+0xfc68>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     10d73 <get_first_winning_move_3+0xfc63>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    10d73 <get_first_winning_move_3+0xfc63>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     10d73 <get_first_winning_move_3+0xfc63>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     10d6e <get_first_winning_move_3+0xfc5e>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1098b <get_first_winning_move_3+0xf87b>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    105c5 <get_first_winning_move_3+0xf4b5>
xor    %eax,%eax
mov    %eax,-0xeac(%rbp)
jmp    105d6 <get_first_winning_move_3+0xf4c6>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xeac(%rbp)
mov    -0xeac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    105fa <get_first_winning_move_3+0xf4ea>
xor    %eax,%eax
mov    %eax,-0xeb0(%rbp)
jmp    1060b <get_first_winning_move_3+0xf4fb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xeb0(%rbp)
mov    -0xeb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    10637 <get_first_winning_move_3+0xf527>
xor    %eax,%eax
mov    %eax,-0xeb4(%rbp)
jmp    10648 <get_first_winning_move_3+0xf538>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xeb4(%rbp)
mov    -0xeb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1066c <get_first_winning_move_3+0xf55c>
xor    %eax,%eax
mov    %eax,-0xeb8(%rbp)
jmp    1067d <get_first_winning_move_3+0xf56d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xeb8(%rbp)
mov    -0xeb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    106a9 <get_first_winning_move_3+0xf599>
xor    %eax,%eax
mov    %eax,-0xebc(%rbp)
jmp    106ba <get_first_winning_move_3+0xf5aa>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xebc(%rbp)
mov    -0xebc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    106de <get_first_winning_move_3+0xf5ce>
xor    %eax,%eax
mov    %eax,-0xec0(%rbp)
jmp    106ef <get_first_winning_move_3+0xf5df>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xec0(%rbp)
mov    -0xec0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1071b <get_first_winning_move_3+0xf60b>
xor    %eax,%eax
mov    %eax,-0xec4(%rbp)
jmp    1072c <get_first_winning_move_3+0xf61c>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xec4(%rbp)
mov    -0xec4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10750 <get_first_winning_move_3+0xf640>
xor    %eax,%eax
mov    %eax,-0xec8(%rbp)
jmp    10761 <get_first_winning_move_3+0xf651>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xec8(%rbp)
mov    -0xec8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     107b6 <get_first_winning_move_3+0xf6a6>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    107d8 <get_first_winning_move_3+0xf6c8>
xor    %eax,%eax
mov    %eax,-0xecc(%rbp)
jmp    107e9 <get_first_winning_move_3+0xf6d9>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xecc(%rbp)
mov    -0xecc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1080d <get_first_winning_move_3+0xf6fd>
xor    %eax,%eax
mov    %eax,-0xed0(%rbp)
jmp    1081e <get_first_winning_move_3+0xf70e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xed0(%rbp)
mov    -0xed0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1084a <get_first_winning_move_3+0xf73a>
xor    %eax,%eax
mov    %eax,-0xed4(%rbp)
jmp    1085b <get_first_winning_move_3+0xf74b>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xed4(%rbp)
mov    -0xed4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1087f <get_first_winning_move_3+0xf76f>
xor    %eax,%eax
mov    %eax,-0xed8(%rbp)
jmp    10890 <get_first_winning_move_3+0xf780>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xed8(%rbp)
mov    -0xed8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    108bc <get_first_winning_move_3+0xf7ac>
xor    %eax,%eax
mov    %eax,-0xedc(%rbp)
jmp    108cd <get_first_winning_move_3+0xf7bd>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xedc(%rbp)
mov    -0xedc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    108f1 <get_first_winning_move_3+0xf7e1>
xor    %eax,%eax
mov    %eax,-0xee0(%rbp)
jmp    10902 <get_first_winning_move_3+0xf7f2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xee0(%rbp)
mov    -0xee0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1092e <get_first_winning_move_3+0xf81e>
xor    %eax,%eax
mov    %eax,-0xee4(%rbp)
jmp    1093f <get_first_winning_move_3+0xf82f>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xee4(%rbp)
mov    -0xee4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10963 <get_first_winning_move_3+0xf853>
xor    %eax,%eax
mov    %eax,-0xee8(%rbp)
jmp    10974 <get_first_winning_move_3+0xf864>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xee8(%rbp)
mov    -0xee8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    10d66 <get_first_winning_move_3+0xfc56>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    109ad <get_first_winning_move_3+0xf89d>
xor    %eax,%eax
mov    %eax,-0xeec(%rbp)
jmp    109be <get_first_winning_move_3+0xf8ae>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xeec(%rbp)
mov    -0xeec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    109e2 <get_first_winning_move_3+0xf8d2>
xor    %eax,%eax
mov    %eax,-0xef0(%rbp)
jmp    109f3 <get_first_winning_move_3+0xf8e3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xef0(%rbp)
mov    -0xef0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    10a1f <get_first_winning_move_3+0xf90f>
xor    %eax,%eax
mov    %eax,-0xef4(%rbp)
jmp    10a30 <get_first_winning_move_3+0xf920>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xef4(%rbp)
mov    -0xef4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10a54 <get_first_winning_move_3+0xf944>
xor    %eax,%eax
mov    %eax,-0xef8(%rbp)
jmp    10a65 <get_first_winning_move_3+0xf955>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xef8(%rbp)
mov    -0xef8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10a91 <get_first_winning_move_3+0xf981>
xor    %eax,%eax
mov    %eax,-0xefc(%rbp)
jmp    10aa2 <get_first_winning_move_3+0xf992>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xefc(%rbp)
mov    -0xefc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10ac6 <get_first_winning_move_3+0xf9b6>
xor    %eax,%eax
mov    %eax,-0xf00(%rbp)
jmp    10ad7 <get_first_winning_move_3+0xf9c7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf00(%rbp)
mov    -0xf00(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    10b03 <get_first_winning_move_3+0xf9f3>
xor    %eax,%eax
mov    %eax,-0xf04(%rbp)
jmp    10b14 <get_first_winning_move_3+0xfa04>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf04(%rbp)
mov    -0xf04(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10b38 <get_first_winning_move_3+0xfa28>
xor    %eax,%eax
mov    %eax,-0xf08(%rbp)
jmp    10b49 <get_first_winning_move_3+0xfa39>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf08(%rbp)
mov    -0xf08(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     10b9e <get_first_winning_move_3+0xfa8e>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10bc0 <get_first_winning_move_3+0xfab0>
xor    %eax,%eax
mov    %eax,-0xf0c(%rbp)
jmp    10bd1 <get_first_winning_move_3+0xfac1>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf0c(%rbp)
mov    -0xf0c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10bf5 <get_first_winning_move_3+0xfae5>
xor    %eax,%eax
mov    %eax,-0xf10(%rbp)
jmp    10c06 <get_first_winning_move_3+0xfaf6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf10(%rbp)
mov    -0xf10(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    10c32 <get_first_winning_move_3+0xfb22>
xor    %eax,%eax
mov    %eax,-0xf14(%rbp)
jmp    10c43 <get_first_winning_move_3+0xfb33>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf14(%rbp)
mov    -0xf14(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10c67 <get_first_winning_move_3+0xfb57>
xor    %eax,%eax
mov    %eax,-0xf18(%rbp)
jmp    10c78 <get_first_winning_move_3+0xfb68>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf18(%rbp)
mov    -0xf18(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10ca4 <get_first_winning_move_3+0xfb94>
xor    %eax,%eax
mov    %eax,-0xf1c(%rbp)
jmp    10cb5 <get_first_winning_move_3+0xfba5>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf1c(%rbp)
mov    -0xf1c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10cd9 <get_first_winning_move_3+0xfbc9>
xor    %eax,%eax
mov    %eax,-0xf20(%rbp)
jmp    10cea <get_first_winning_move_3+0xfbda>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf20(%rbp)
mov    -0xf20(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    10d16 <get_first_winning_move_3+0xfc06>
xor    %eax,%eax
mov    %eax,-0xf24(%rbp)
jmp    10d27 <get_first_winning_move_3+0xfc17>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf24(%rbp)
mov    -0xf24(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10d4b <get_first_winning_move_3+0xfc3b>
xor    %eax,%eax
mov    %eax,-0xf28(%rbp)
jmp    10d5c <get_first_winning_move_3+0xfc4c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf28(%rbp)
mov    -0xf28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    10d73 <get_first_winning_move_3+0xfc63>
jmp    163b9 <get_first_winning_move_3+0x152a9>
movswl -0x16(%rbp),%eax
cmp    $0x16,%eax
jne    1160d <get_first_winning_move_3+0x104fd>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     11608 <get_first_winning_move_3+0x104f8>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     11608 <get_first_winning_move_3+0x104f8>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     11603 <get_first_winning_move_3+0x104f3>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    11220 <get_first_winning_move_3+0x10110>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10e5a <get_first_winning_move_3+0xfd4a>
xor    %eax,%eax
mov    %eax,-0xf2c(%rbp)
jmp    10e6b <get_first_winning_move_3+0xfd5b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf2c(%rbp)
mov    -0xf2c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10e8f <get_first_winning_move_3+0xfd7f>
xor    %eax,%eax
mov    %eax,-0xf30(%rbp)
jmp    10ea0 <get_first_winning_move_3+0xfd90>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf30(%rbp)
mov    -0xf30(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    10ecc <get_first_winning_move_3+0xfdbc>
xor    %eax,%eax
mov    %eax,-0xf34(%rbp)
jmp    10edd <get_first_winning_move_3+0xfdcd>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf34(%rbp)
mov    -0xf34(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10f01 <get_first_winning_move_3+0xfdf1>
xor    %eax,%eax
mov    %eax,-0xf38(%rbp)
jmp    10f12 <get_first_winning_move_3+0xfe02>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf38(%rbp)
mov    -0xf38(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10f3e <get_first_winning_move_3+0xfe2e>
xor    %eax,%eax
mov    %eax,-0xf3c(%rbp)
jmp    10f4f <get_first_winning_move_3+0xfe3f>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf3c(%rbp)
mov    -0xf3c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10f73 <get_first_winning_move_3+0xfe63>
xor    %eax,%eax
mov    %eax,-0xf40(%rbp)
jmp    10f84 <get_first_winning_move_3+0xfe74>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf40(%rbp)
mov    -0xf40(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    10fb0 <get_first_winning_move_3+0xfea0>
xor    %eax,%eax
mov    %eax,-0xf44(%rbp)
jmp    10fc1 <get_first_winning_move_3+0xfeb1>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf44(%rbp)
mov    -0xf44(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    10fe5 <get_first_winning_move_3+0xfed5>
xor    %eax,%eax
mov    %eax,-0xf48(%rbp)
jmp    10ff6 <get_first_winning_move_3+0xfee6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf48(%rbp)
mov    -0xf48(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1104b <get_first_winning_move_3+0xff3b>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1106d <get_first_winning_move_3+0xff5d>
xor    %eax,%eax
mov    %eax,-0xf4c(%rbp)
jmp    1107e <get_first_winning_move_3+0xff6e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf4c(%rbp)
mov    -0xf4c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    110a2 <get_first_winning_move_3+0xff92>
xor    %eax,%eax
mov    %eax,-0xf50(%rbp)
jmp    110b3 <get_first_winning_move_3+0xffa3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf50(%rbp)
mov    -0xf50(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    110df <get_first_winning_move_3+0xffcf>
xor    %eax,%eax
mov    %eax,-0xf54(%rbp)
jmp    110f0 <get_first_winning_move_3+0xffe0>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf54(%rbp)
mov    -0xf54(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11114 <get_first_winning_move_3+0x10004>
xor    %eax,%eax
mov    %eax,-0xf58(%rbp)
jmp    11125 <get_first_winning_move_3+0x10015>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf58(%rbp)
mov    -0xf58(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11151 <get_first_winning_move_3+0x10041>
xor    %eax,%eax
mov    %eax,-0xf5c(%rbp)
jmp    11162 <get_first_winning_move_3+0x10052>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf5c(%rbp)
mov    -0xf5c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11186 <get_first_winning_move_3+0x10076>
xor    %eax,%eax
mov    %eax,-0xf60(%rbp)
jmp    11197 <get_first_winning_move_3+0x10087>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf60(%rbp)
mov    -0xf60(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    111c3 <get_first_winning_move_3+0x100b3>
xor    %eax,%eax
mov    %eax,-0xf64(%rbp)
jmp    111d4 <get_first_winning_move_3+0x100c4>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf64(%rbp)
mov    -0xf64(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    111f8 <get_first_winning_move_3+0x100e8>
xor    %eax,%eax
mov    %eax,-0xf68(%rbp)
jmp    11209 <get_first_winning_move_3+0x100f9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf68(%rbp)
mov    -0xf68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    115fb <get_first_winning_move_3+0x104eb>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11242 <get_first_winning_move_3+0x10132>
xor    %eax,%eax
mov    %eax,-0xf6c(%rbp)
jmp    11253 <get_first_winning_move_3+0x10143>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf6c(%rbp)
mov    -0xf6c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11277 <get_first_winning_move_3+0x10167>
xor    %eax,%eax
mov    %eax,-0xf70(%rbp)
jmp    11288 <get_first_winning_move_3+0x10178>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf70(%rbp)
mov    -0xf70(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    112b4 <get_first_winning_move_3+0x101a4>
xor    %eax,%eax
mov    %eax,-0xf74(%rbp)
jmp    112c5 <get_first_winning_move_3+0x101b5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf74(%rbp)
mov    -0xf74(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    112e9 <get_first_winning_move_3+0x101d9>
xor    %eax,%eax
mov    %eax,-0xf78(%rbp)
jmp    112fa <get_first_winning_move_3+0x101ea>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf78(%rbp)
mov    -0xf78(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11326 <get_first_winning_move_3+0x10216>
xor    %eax,%eax
mov    %eax,-0xf7c(%rbp)
jmp    11337 <get_first_winning_move_3+0x10227>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf7c(%rbp)
mov    -0xf7c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1135b <get_first_winning_move_3+0x1024b>
xor    %eax,%eax
mov    %eax,-0xf80(%rbp)
jmp    1136c <get_first_winning_move_3+0x1025c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf80(%rbp)
mov    -0xf80(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11398 <get_first_winning_move_3+0x10288>
xor    %eax,%eax
mov    %eax,-0xf84(%rbp)
jmp    113a9 <get_first_winning_move_3+0x10299>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf84(%rbp)
mov    -0xf84(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    113cd <get_first_winning_move_3+0x102bd>
xor    %eax,%eax
mov    %eax,-0xf88(%rbp)
jmp    113de <get_first_winning_move_3+0x102ce>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf88(%rbp)
mov    -0xf88(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11433 <get_first_winning_move_3+0x10323>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11455 <get_first_winning_move_3+0x10345>
xor    %eax,%eax
mov    %eax,-0xf8c(%rbp)
jmp    11466 <get_first_winning_move_3+0x10356>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf8c(%rbp)
mov    -0xf8c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1148a <get_first_winning_move_3+0x1037a>
xor    %eax,%eax
mov    %eax,-0xf90(%rbp)
jmp    1149b <get_first_winning_move_3+0x1038b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf90(%rbp)
mov    -0xf90(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    114c7 <get_first_winning_move_3+0x103b7>
xor    %eax,%eax
mov    %eax,-0xf94(%rbp)
jmp    114d8 <get_first_winning_move_3+0x103c8>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf94(%rbp)
mov    -0xf94(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    114fc <get_first_winning_move_3+0x103ec>
xor    %eax,%eax
mov    %eax,-0xf98(%rbp)
jmp    1150d <get_first_winning_move_3+0x103fd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf98(%rbp)
mov    -0xf98(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11539 <get_first_winning_move_3+0x10429>
xor    %eax,%eax
mov    %eax,-0xf9c(%rbp)
jmp    1154a <get_first_winning_move_3+0x1043a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf9c(%rbp)
mov    -0xf9c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1156e <get_first_winning_move_3+0x1045e>
xor    %eax,%eax
mov    %eax,-0xfa0(%rbp)
jmp    1157f <get_first_winning_move_3+0x1046f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfa0(%rbp)
mov    -0xfa0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    115ab <get_first_winning_move_3+0x1049b>
xor    %eax,%eax
mov    %eax,-0xfa4(%rbp)
jmp    115bc <get_first_winning_move_3+0x104ac>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfa4(%rbp)
mov    -0xfa4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    115e0 <get_first_winning_move_3+0x104d0>
xor    %eax,%eax
mov    %eax,-0xfa8(%rbp)
jmp    115f1 <get_first_winning_move_3+0x104e1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfa8(%rbp)
mov    -0xfa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    11608 <get_first_winning_move_3+0x104f8>
jmp    163b4 <get_first_winning_move_3+0x152a4>
movswl -0x16(%rbp),%eax
cmp    $0x17,%eax
jne    11eaf <get_first_winning_move_3+0x10d9f>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     11eaa <get_first_winning_move_3+0x10d9a>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    11eaa <get_first_winning_move_3+0x10d9a>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     11eaa <get_first_winning_move_3+0x10d9a>
mov    -0x8(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     11ea5 <get_first_winning_move_3+0x10d95>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    11ac2 <get_first_winning_move_3+0x109b2>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    116fc <get_first_winning_move_3+0x105ec>
xor    %eax,%eax
mov    %eax,-0xfac(%rbp)
jmp    1170d <get_first_winning_move_3+0x105fd>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfac(%rbp)
mov    -0xfac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11731 <get_first_winning_move_3+0x10621>
xor    %eax,%eax
mov    %eax,-0xfb0(%rbp)
jmp    11742 <get_first_winning_move_3+0x10632>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfb0(%rbp)
mov    -0xfb0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1176e <get_first_winning_move_3+0x1065e>
xor    %eax,%eax
mov    %eax,-0xfb4(%rbp)
jmp    1177f <get_first_winning_move_3+0x1066f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfb4(%rbp)
mov    -0xfb4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    117a3 <get_first_winning_move_3+0x10693>
xor    %eax,%eax
mov    %eax,-0xfb8(%rbp)
jmp    117b4 <get_first_winning_move_3+0x106a4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfb8(%rbp)
mov    -0xfb8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    117e0 <get_first_winning_move_3+0x106d0>
xor    %eax,%eax
mov    %eax,-0xfbc(%rbp)
jmp    117f1 <get_first_winning_move_3+0x106e1>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfbc(%rbp)
mov    -0xfbc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11815 <get_first_winning_move_3+0x10705>
xor    %eax,%eax
mov    %eax,-0xfc0(%rbp)
jmp    11826 <get_first_winning_move_3+0x10716>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfc0(%rbp)
mov    -0xfc0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11852 <get_first_winning_move_3+0x10742>
xor    %eax,%eax
mov    %eax,-0xfc4(%rbp)
jmp    11863 <get_first_winning_move_3+0x10753>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfc4(%rbp)
mov    -0xfc4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11887 <get_first_winning_move_3+0x10777>
xor    %eax,%eax
mov    %eax,-0xfc8(%rbp)
jmp    11898 <get_first_winning_move_3+0x10788>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfc8(%rbp)
mov    -0xfc8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     118ed <get_first_winning_move_3+0x107dd>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1190f <get_first_winning_move_3+0x107ff>
xor    %eax,%eax
mov    %eax,-0xfcc(%rbp)
jmp    11920 <get_first_winning_move_3+0x10810>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfcc(%rbp)
mov    -0xfcc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11944 <get_first_winning_move_3+0x10834>
xor    %eax,%eax
mov    %eax,-0xfd0(%rbp)
jmp    11955 <get_first_winning_move_3+0x10845>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfd0(%rbp)
mov    -0xfd0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    11981 <get_first_winning_move_3+0x10871>
xor    %eax,%eax
mov    %eax,-0xfd4(%rbp)
jmp    11992 <get_first_winning_move_3+0x10882>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfd4(%rbp)
mov    -0xfd4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    119b6 <get_first_winning_move_3+0x108a6>
xor    %eax,%eax
mov    %eax,-0xfd8(%rbp)
jmp    119c7 <get_first_winning_move_3+0x108b7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfd8(%rbp)
mov    -0xfd8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    119f3 <get_first_winning_move_3+0x108e3>
xor    %eax,%eax
mov    %eax,-0xfdc(%rbp)
jmp    11a04 <get_first_winning_move_3+0x108f4>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfdc(%rbp)
mov    -0xfdc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11a28 <get_first_winning_move_3+0x10918>
xor    %eax,%eax
mov    %eax,-0xfe0(%rbp)
jmp    11a39 <get_first_winning_move_3+0x10929>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfe0(%rbp)
mov    -0xfe0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11a65 <get_first_winning_move_3+0x10955>
xor    %eax,%eax
mov    %eax,-0xfe4(%rbp)
jmp    11a76 <get_first_winning_move_3+0x10966>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfe4(%rbp)
mov    -0xfe4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11a9a <get_first_winning_move_3+0x1098a>
xor    %eax,%eax
mov    %eax,-0xfe8(%rbp)
jmp    11aab <get_first_winning_move_3+0x1099b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfe8(%rbp)
mov    -0xfe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    11e9d <get_first_winning_move_3+0x10d8d>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11ae4 <get_first_winning_move_3+0x109d4>
xor    %eax,%eax
mov    %eax,-0xfec(%rbp)
jmp    11af5 <get_first_winning_move_3+0x109e5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfec(%rbp)
mov    -0xfec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11b19 <get_first_winning_move_3+0x10a09>
xor    %eax,%eax
mov    %eax,-0xff0(%rbp)
jmp    11b2a <get_first_winning_move_3+0x10a1a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xff0(%rbp)
mov    -0xff0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    11b56 <get_first_winning_move_3+0x10a46>
xor    %eax,%eax
mov    %eax,-0xff4(%rbp)
jmp    11b67 <get_first_winning_move_3+0x10a57>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xff4(%rbp)
mov    -0xff4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11b8b <get_first_winning_move_3+0x10a7b>
xor    %eax,%eax
mov    %eax,-0xff8(%rbp)
jmp    11b9c <get_first_winning_move_3+0x10a8c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xff8(%rbp)
mov    -0xff8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11bc8 <get_first_winning_move_3+0x10ab8>
xor    %eax,%eax
mov    %eax,-0xffc(%rbp)
jmp    11bd9 <get_first_winning_move_3+0x10ac9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xffc(%rbp)
mov    -0xffc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11bfd <get_first_winning_move_3+0x10aed>
xor    %eax,%eax
mov    %eax,-0x1000(%rbp)
jmp    11c0e <get_first_winning_move_3+0x10afe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1000(%rbp)
mov    -0x1000(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11c3a <get_first_winning_move_3+0x10b2a>
xor    %eax,%eax
mov    %eax,-0x1004(%rbp)
jmp    11c4b <get_first_winning_move_3+0x10b3b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1004(%rbp)
mov    -0x1004(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11c6f <get_first_winning_move_3+0x10b5f>
xor    %eax,%eax
mov    %eax,-0x1008(%rbp)
jmp    11c80 <get_first_winning_move_3+0x10b70>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1008(%rbp)
mov    -0x1008(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11cd5 <get_first_winning_move_3+0x10bc5>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11cf7 <get_first_winning_move_3+0x10be7>
xor    %eax,%eax
mov    %eax,-0x100c(%rbp)
jmp    11d08 <get_first_winning_move_3+0x10bf8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x100c(%rbp)
mov    -0x100c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11d2c <get_first_winning_move_3+0x10c1c>
xor    %eax,%eax
mov    %eax,-0x1010(%rbp)
jmp    11d3d <get_first_winning_move_3+0x10c2d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1010(%rbp)
mov    -0x1010(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    11d69 <get_first_winning_move_3+0x10c59>
xor    %eax,%eax
mov    %eax,-0x1014(%rbp)
jmp    11d7a <get_first_winning_move_3+0x10c6a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1014(%rbp)
mov    -0x1014(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11d9e <get_first_winning_move_3+0x10c8e>
xor    %eax,%eax
mov    %eax,-0x1018(%rbp)
jmp    11daf <get_first_winning_move_3+0x10c9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1018(%rbp)
mov    -0x1018(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11ddb <get_first_winning_move_3+0x10ccb>
xor    %eax,%eax
mov    %eax,-0x101c(%rbp)
jmp    11dec <get_first_winning_move_3+0x10cdc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x101c(%rbp)
mov    -0x101c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11e10 <get_first_winning_move_3+0x10d00>
xor    %eax,%eax
mov    %eax,-0x1020(%rbp)
jmp    11e21 <get_first_winning_move_3+0x10d11>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1020(%rbp)
mov    -0x1020(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    11e4d <get_first_winning_move_3+0x10d3d>
xor    %eax,%eax
mov    %eax,-0x1024(%rbp)
jmp    11e5e <get_first_winning_move_3+0x10d4e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1024(%rbp)
mov    -0x1024(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11e82 <get_first_winning_move_3+0x10d72>
xor    %eax,%eax
mov    %eax,-0x1028(%rbp)
jmp    11e93 <get_first_winning_move_3+0x10d83>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1028(%rbp)
mov    -0x1028(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    11eaa <get_first_winning_move_3+0x10d9a>
jmp    163af <get_first_winning_move_3+0x1529f>
movswl -0x16(%rbp),%eax
cmp    $0x18,%eax
jne    1273c <get_first_winning_move_3+0x1162c>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     12737 <get_first_winning_move_3+0x11627>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    12737 <get_first_winning_move_3+0x11627>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     12732 <get_first_winning_move_3+0x11622>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1234f <get_first_winning_move_3+0x1123f>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11f89 <get_first_winning_move_3+0x10e79>
xor    %eax,%eax
mov    %eax,-0x102c(%rbp)
jmp    11f9a <get_first_winning_move_3+0x10e8a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x102c(%rbp)
mov    -0x102c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    11fbe <get_first_winning_move_3+0x10eae>
xor    %eax,%eax
mov    %eax,-0x1030(%rbp)
jmp    11fcf <get_first_winning_move_3+0x10ebf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1030(%rbp)
mov    -0x1030(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    11ffb <get_first_winning_move_3+0x10eeb>
xor    %eax,%eax
mov    %eax,-0x1034(%rbp)
jmp    1200c <get_first_winning_move_3+0x10efc>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1034(%rbp)
mov    -0x1034(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12030 <get_first_winning_move_3+0x10f20>
xor    %eax,%eax
mov    %eax,-0x1038(%rbp)
jmp    12041 <get_first_winning_move_3+0x10f31>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1038(%rbp)
mov    -0x1038(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1206d <get_first_winning_move_3+0x10f5d>
xor    %eax,%eax
mov    %eax,-0x103c(%rbp)
jmp    1207e <get_first_winning_move_3+0x10f6e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x103c(%rbp)
mov    -0x103c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    120a2 <get_first_winning_move_3+0x10f92>
xor    %eax,%eax
mov    %eax,-0x1040(%rbp)
jmp    120b3 <get_first_winning_move_3+0x10fa3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1040(%rbp)
mov    -0x1040(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    120df <get_first_winning_move_3+0x10fcf>
xor    %eax,%eax
mov    %eax,-0x1044(%rbp)
jmp    120f0 <get_first_winning_move_3+0x10fe0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1044(%rbp)
mov    -0x1044(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12114 <get_first_winning_move_3+0x11004>
xor    %eax,%eax
mov    %eax,-0x1048(%rbp)
jmp    12125 <get_first_winning_move_3+0x11015>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1048(%rbp)
mov    -0x1048(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1217a <get_first_winning_move_3+0x1106a>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1219c <get_first_winning_move_3+0x1108c>
xor    %eax,%eax
mov    %eax,-0x104c(%rbp)
jmp    121ad <get_first_winning_move_3+0x1109d>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x104c(%rbp)
mov    -0x104c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    121d1 <get_first_winning_move_3+0x110c1>
xor    %eax,%eax
mov    %eax,-0x1050(%rbp)
jmp    121e2 <get_first_winning_move_3+0x110d2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1050(%rbp)
mov    -0x1050(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1220e <get_first_winning_move_3+0x110fe>
xor    %eax,%eax
mov    %eax,-0x1054(%rbp)
jmp    1221f <get_first_winning_move_3+0x1110f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1054(%rbp)
mov    -0x1054(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12243 <get_first_winning_move_3+0x11133>
xor    %eax,%eax
mov    %eax,-0x1058(%rbp)
jmp    12254 <get_first_winning_move_3+0x11144>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1058(%rbp)
mov    -0x1058(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12280 <get_first_winning_move_3+0x11170>
xor    %eax,%eax
mov    %eax,-0x105c(%rbp)
jmp    12291 <get_first_winning_move_3+0x11181>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x105c(%rbp)
mov    -0x105c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    122b5 <get_first_winning_move_3+0x111a5>
xor    %eax,%eax
mov    %eax,-0x1060(%rbp)
jmp    122c6 <get_first_winning_move_3+0x111b6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1060(%rbp)
mov    -0x1060(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    122f2 <get_first_winning_move_3+0x111e2>
xor    %eax,%eax
mov    %eax,-0x1064(%rbp)
jmp    12303 <get_first_winning_move_3+0x111f3>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1064(%rbp)
mov    -0x1064(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12327 <get_first_winning_move_3+0x11217>
xor    %eax,%eax
mov    %eax,-0x1068(%rbp)
jmp    12338 <get_first_winning_move_3+0x11228>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1068(%rbp)
mov    -0x1068(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1272a <get_first_winning_move_3+0x1161a>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12371 <get_first_winning_move_3+0x11261>
xor    %eax,%eax
mov    %eax,-0x106c(%rbp)
jmp    12382 <get_first_winning_move_3+0x11272>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x106c(%rbp)
mov    -0x106c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    123a6 <get_first_winning_move_3+0x11296>
xor    %eax,%eax
mov    %eax,-0x1070(%rbp)
jmp    123b7 <get_first_winning_move_3+0x112a7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1070(%rbp)
mov    -0x1070(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    123e3 <get_first_winning_move_3+0x112d3>
xor    %eax,%eax
mov    %eax,-0x1074(%rbp)
jmp    123f4 <get_first_winning_move_3+0x112e4>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1074(%rbp)
mov    -0x1074(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12418 <get_first_winning_move_3+0x11308>
xor    %eax,%eax
mov    %eax,-0x1078(%rbp)
jmp    12429 <get_first_winning_move_3+0x11319>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1078(%rbp)
mov    -0x1078(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12455 <get_first_winning_move_3+0x11345>
xor    %eax,%eax
mov    %eax,-0x107c(%rbp)
jmp    12466 <get_first_winning_move_3+0x11356>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x107c(%rbp)
mov    -0x107c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1248a <get_first_winning_move_3+0x1137a>
xor    %eax,%eax
mov    %eax,-0x1080(%rbp)
jmp    1249b <get_first_winning_move_3+0x1138b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1080(%rbp)
mov    -0x1080(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    124c7 <get_first_winning_move_3+0x113b7>
xor    %eax,%eax
mov    %eax,-0x1084(%rbp)
jmp    124d8 <get_first_winning_move_3+0x113c8>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1084(%rbp)
mov    -0x1084(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    124fc <get_first_winning_move_3+0x113ec>
xor    %eax,%eax
mov    %eax,-0x1088(%rbp)
jmp    1250d <get_first_winning_move_3+0x113fd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1088(%rbp)
mov    -0x1088(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     12562 <get_first_winning_move_3+0x11452>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12584 <get_first_winning_move_3+0x11474>
xor    %eax,%eax
mov    %eax,-0x108c(%rbp)
jmp    12595 <get_first_winning_move_3+0x11485>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x108c(%rbp)
mov    -0x108c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    125b9 <get_first_winning_move_3+0x114a9>
xor    %eax,%eax
mov    %eax,-0x1090(%rbp)
jmp    125ca <get_first_winning_move_3+0x114ba>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1090(%rbp)
mov    -0x1090(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    125f6 <get_first_winning_move_3+0x114e6>
xor    %eax,%eax
mov    %eax,-0x1094(%rbp)
jmp    12607 <get_first_winning_move_3+0x114f7>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1094(%rbp)
mov    -0x1094(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1262b <get_first_winning_move_3+0x1151b>
xor    %eax,%eax
mov    %eax,-0x1098(%rbp)
jmp    1263c <get_first_winning_move_3+0x1152c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1098(%rbp)
mov    -0x1098(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12668 <get_first_winning_move_3+0x11558>
xor    %eax,%eax
mov    %eax,-0x109c(%rbp)
jmp    12679 <get_first_winning_move_3+0x11569>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x109c(%rbp)
mov    -0x109c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1269d <get_first_winning_move_3+0x1158d>
xor    %eax,%eax
mov    %eax,-0x10a0(%rbp)
jmp    126ae <get_first_winning_move_3+0x1159e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10a0(%rbp)
mov    -0x10a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    126da <get_first_winning_move_3+0x115ca>
xor    %eax,%eax
mov    %eax,-0x10a4(%rbp)
jmp    126eb <get_first_winning_move_3+0x115db>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10a4(%rbp)
mov    -0x10a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1270f <get_first_winning_move_3+0x115ff>
xor    %eax,%eax
mov    %eax,-0x10a8(%rbp)
jmp    12720 <get_first_winning_move_3+0x11610>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10a8(%rbp)
mov    -0x10a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    12737 <get_first_winning_move_3+0x11627>
jmp    163aa <get_first_winning_move_3+0x1529a>
movswl -0x16(%rbp),%eax
cmp    $0x19,%eax
jne    12fde <get_first_winning_move_3+0x11ece>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     12fd9 <get_first_winning_move_3+0x11ec9>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    12fd9 <get_first_winning_move_3+0x11ec9>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     12fd9 <get_first_winning_move_3+0x11ec9>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     12fd4 <get_first_winning_move_3+0x11ec4>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    12bf1 <get_first_winning_move_3+0x11ae1>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1282b <get_first_winning_move_3+0x1171b>
xor    %eax,%eax
mov    %eax,-0x10ac(%rbp)
jmp    1283c <get_first_winning_move_3+0x1172c>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10ac(%rbp)
mov    -0x10ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12860 <get_first_winning_move_3+0x11750>
xor    %eax,%eax
mov    %eax,-0x10b0(%rbp)
jmp    12871 <get_first_winning_move_3+0x11761>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10b0(%rbp)
mov    -0x10b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1289d <get_first_winning_move_3+0x1178d>
xor    %eax,%eax
mov    %eax,-0x10b4(%rbp)
jmp    128ae <get_first_winning_move_3+0x1179e>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10b4(%rbp)
mov    -0x10b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    128d2 <get_first_winning_move_3+0x117c2>
xor    %eax,%eax
mov    %eax,-0x10b8(%rbp)
jmp    128e3 <get_first_winning_move_3+0x117d3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10b8(%rbp)
mov    -0x10b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1290f <get_first_winning_move_3+0x117ff>
xor    %eax,%eax
mov    %eax,-0x10bc(%rbp)
jmp    12920 <get_first_winning_move_3+0x11810>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10bc(%rbp)
mov    -0x10bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12944 <get_first_winning_move_3+0x11834>
xor    %eax,%eax
mov    %eax,-0x10c0(%rbp)
jmp    12955 <get_first_winning_move_3+0x11845>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10c0(%rbp)
mov    -0x10c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    12981 <get_first_winning_move_3+0x11871>
xor    %eax,%eax
mov    %eax,-0x10c4(%rbp)
jmp    12992 <get_first_winning_move_3+0x11882>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10c4(%rbp)
mov    -0x10c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    129b6 <get_first_winning_move_3+0x118a6>
xor    %eax,%eax
mov    %eax,-0x10c8(%rbp)
jmp    129c7 <get_first_winning_move_3+0x118b7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10c8(%rbp)
mov    -0x10c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     12a1c <get_first_winning_move_3+0x1190c>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12a3e <get_first_winning_move_3+0x1192e>
xor    %eax,%eax
mov    %eax,-0x10cc(%rbp)
jmp    12a4f <get_first_winning_move_3+0x1193f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10cc(%rbp)
mov    -0x10cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12a73 <get_first_winning_move_3+0x11963>
xor    %eax,%eax
mov    %eax,-0x10d0(%rbp)
jmp    12a84 <get_first_winning_move_3+0x11974>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10d0(%rbp)
mov    -0x10d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    12ab0 <get_first_winning_move_3+0x119a0>
xor    %eax,%eax
mov    %eax,-0x10d4(%rbp)
jmp    12ac1 <get_first_winning_move_3+0x119b1>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10d4(%rbp)
mov    -0x10d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12ae5 <get_first_winning_move_3+0x119d5>
xor    %eax,%eax
mov    %eax,-0x10d8(%rbp)
jmp    12af6 <get_first_winning_move_3+0x119e6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10d8(%rbp)
mov    -0x10d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12b22 <get_first_winning_move_3+0x11a12>
xor    %eax,%eax
mov    %eax,-0x10dc(%rbp)
jmp    12b33 <get_first_winning_move_3+0x11a23>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10dc(%rbp)
mov    -0x10dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12b57 <get_first_winning_move_3+0x11a47>
xor    %eax,%eax
mov    %eax,-0x10e0(%rbp)
jmp    12b68 <get_first_winning_move_3+0x11a58>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10e0(%rbp)
mov    -0x10e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    12b94 <get_first_winning_move_3+0x11a84>
xor    %eax,%eax
mov    %eax,-0x10e4(%rbp)
jmp    12ba5 <get_first_winning_move_3+0x11a95>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10e4(%rbp)
mov    -0x10e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12bc9 <get_first_winning_move_3+0x11ab9>
xor    %eax,%eax
mov    %eax,-0x10e8(%rbp)
jmp    12bda <get_first_winning_move_3+0x11aca>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10e8(%rbp)
mov    -0x10e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    12fcc <get_first_winning_move_3+0x11ebc>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12c13 <get_first_winning_move_3+0x11b03>
xor    %eax,%eax
mov    %eax,-0x10ec(%rbp)
jmp    12c24 <get_first_winning_move_3+0x11b14>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10ec(%rbp)
mov    -0x10ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12c48 <get_first_winning_move_3+0x11b38>
xor    %eax,%eax
mov    %eax,-0x10f0(%rbp)
jmp    12c59 <get_first_winning_move_3+0x11b49>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10f0(%rbp)
mov    -0x10f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    12c85 <get_first_winning_move_3+0x11b75>
xor    %eax,%eax
mov    %eax,-0x10f4(%rbp)
jmp    12c96 <get_first_winning_move_3+0x11b86>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10f4(%rbp)
mov    -0x10f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12cba <get_first_winning_move_3+0x11baa>
xor    %eax,%eax
mov    %eax,-0x10f8(%rbp)
jmp    12ccb <get_first_winning_move_3+0x11bbb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10f8(%rbp)
mov    -0x10f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12cf7 <get_first_winning_move_3+0x11be7>
xor    %eax,%eax
mov    %eax,-0x10fc(%rbp)
jmp    12d08 <get_first_winning_move_3+0x11bf8>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10fc(%rbp)
mov    -0x10fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12d2c <get_first_winning_move_3+0x11c1c>
xor    %eax,%eax
mov    %eax,-0x1100(%rbp)
jmp    12d3d <get_first_winning_move_3+0x11c2d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1100(%rbp)
mov    -0x1100(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    12d69 <get_first_winning_move_3+0x11c59>
xor    %eax,%eax
mov    %eax,-0x1104(%rbp)
jmp    12d7a <get_first_winning_move_3+0x11c6a>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1104(%rbp)
mov    -0x1104(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12d9e <get_first_winning_move_3+0x11c8e>
xor    %eax,%eax
mov    %eax,-0x1108(%rbp)
jmp    12daf <get_first_winning_move_3+0x11c9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1108(%rbp)
mov    -0x1108(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     12e04 <get_first_winning_move_3+0x11cf4>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12e26 <get_first_winning_move_3+0x11d16>
xor    %eax,%eax
mov    %eax,-0x110c(%rbp)
jmp    12e37 <get_first_winning_move_3+0x11d27>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x110c(%rbp)
mov    -0x110c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12e5b <get_first_winning_move_3+0x11d4b>
xor    %eax,%eax
mov    %eax,-0x1110(%rbp)
jmp    12e6c <get_first_winning_move_3+0x11d5c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1110(%rbp)
mov    -0x1110(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    12e98 <get_first_winning_move_3+0x11d88>
xor    %eax,%eax
mov    %eax,-0x1114(%rbp)
jmp    12ea9 <get_first_winning_move_3+0x11d99>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1114(%rbp)
mov    -0x1114(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12ecd <get_first_winning_move_3+0x11dbd>
xor    %eax,%eax
mov    %eax,-0x1118(%rbp)
jmp    12ede <get_first_winning_move_3+0x11dce>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1118(%rbp)
mov    -0x1118(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12f0a <get_first_winning_move_3+0x11dfa>
xor    %eax,%eax
mov    %eax,-0x111c(%rbp)
jmp    12f1b <get_first_winning_move_3+0x11e0b>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x111c(%rbp)
mov    -0x111c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12f3f <get_first_winning_move_3+0x11e2f>
xor    %eax,%eax
mov    %eax,-0x1120(%rbp)
jmp    12f50 <get_first_winning_move_3+0x11e40>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1120(%rbp)
mov    -0x1120(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    12f7c <get_first_winning_move_3+0x11e6c>
xor    %eax,%eax
mov    %eax,-0x1124(%rbp)
jmp    12f8d <get_first_winning_move_3+0x11e7d>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1124(%rbp)
mov    -0x1124(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    12fb1 <get_first_winning_move_3+0x11ea1>
xor    %eax,%eax
mov    %eax,-0x1128(%rbp)
jmp    12fc2 <get_first_winning_move_3+0x11eb2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1128(%rbp)
mov    -0x1128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    12fd9 <get_first_winning_move_3+0x11ec9>
jmp    163a5 <get_first_winning_move_3+0x15295>
movswl -0x16(%rbp),%eax
cmp    $0x1a,%eax
jne    13873 <get_first_winning_move_3+0x12763>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     1386e <get_first_winning_move_3+0x1275e>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1386e <get_first_winning_move_3+0x1275e>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     13869 <get_first_winning_move_3+0x12759>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    13486 <get_first_winning_move_3+0x12376>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    130c0 <get_first_winning_move_3+0x11fb0>
xor    %eax,%eax
mov    %eax,-0x112c(%rbp)
jmp    130d1 <get_first_winning_move_3+0x11fc1>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x112c(%rbp)
mov    -0x112c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    130f5 <get_first_winning_move_3+0x11fe5>
xor    %eax,%eax
mov    %eax,-0x1130(%rbp)
jmp    13106 <get_first_winning_move_3+0x11ff6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1130(%rbp)
mov    -0x1130(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    13132 <get_first_winning_move_3+0x12022>
xor    %eax,%eax
mov    %eax,-0x1134(%rbp)
jmp    13143 <get_first_winning_move_3+0x12033>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1134(%rbp)
mov    -0x1134(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13167 <get_first_winning_move_3+0x12057>
xor    %eax,%eax
mov    %eax,-0x1138(%rbp)
jmp    13178 <get_first_winning_move_3+0x12068>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1138(%rbp)
mov    -0x1138(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    131a4 <get_first_winning_move_3+0x12094>
xor    %eax,%eax
mov    %eax,-0x113c(%rbp)
jmp    131b5 <get_first_winning_move_3+0x120a5>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x113c(%rbp)
mov    -0x113c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    131d9 <get_first_winning_move_3+0x120c9>
xor    %eax,%eax
mov    %eax,-0x1140(%rbp)
jmp    131ea <get_first_winning_move_3+0x120da>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1140(%rbp)
mov    -0x1140(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13216 <get_first_winning_move_3+0x12106>
xor    %eax,%eax
mov    %eax,-0x1144(%rbp)
jmp    13227 <get_first_winning_move_3+0x12117>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1144(%rbp)
mov    -0x1144(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1324b <get_first_winning_move_3+0x1213b>
xor    %eax,%eax
mov    %eax,-0x1148(%rbp)
jmp    1325c <get_first_winning_move_3+0x1214c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1148(%rbp)
mov    -0x1148(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     132b1 <get_first_winning_move_3+0x121a1>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    132d3 <get_first_winning_move_3+0x121c3>
xor    %eax,%eax
mov    %eax,-0x114c(%rbp)
jmp    132e4 <get_first_winning_move_3+0x121d4>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x114c(%rbp)
mov    -0x114c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13308 <get_first_winning_move_3+0x121f8>
xor    %eax,%eax
mov    %eax,-0x1150(%rbp)
jmp    13319 <get_first_winning_move_3+0x12209>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1150(%rbp)
mov    -0x1150(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    13345 <get_first_winning_move_3+0x12235>
xor    %eax,%eax
mov    %eax,-0x1154(%rbp)
jmp    13356 <get_first_winning_move_3+0x12246>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1154(%rbp)
mov    -0x1154(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1337a <get_first_winning_move_3+0x1226a>
xor    %eax,%eax
mov    %eax,-0x1158(%rbp)
jmp    1338b <get_first_winning_move_3+0x1227b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1158(%rbp)
mov    -0x1158(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    133b7 <get_first_winning_move_3+0x122a7>
xor    %eax,%eax
mov    %eax,-0x115c(%rbp)
jmp    133c8 <get_first_winning_move_3+0x122b8>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x115c(%rbp)
mov    -0x115c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    133ec <get_first_winning_move_3+0x122dc>
xor    %eax,%eax
mov    %eax,-0x1160(%rbp)
jmp    133fd <get_first_winning_move_3+0x122ed>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1160(%rbp)
mov    -0x1160(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13429 <get_first_winning_move_3+0x12319>
xor    %eax,%eax
mov    %eax,-0x1164(%rbp)
jmp    1343a <get_first_winning_move_3+0x1232a>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1164(%rbp)
mov    -0x1164(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1345e <get_first_winning_move_3+0x1234e>
xor    %eax,%eax
mov    %eax,-0x1168(%rbp)
jmp    1346f <get_first_winning_move_3+0x1235f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1168(%rbp)
mov    -0x1168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    13861 <get_first_winning_move_3+0x12751>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    134a8 <get_first_winning_move_3+0x12398>
xor    %eax,%eax
mov    %eax,-0x116c(%rbp)
jmp    134b9 <get_first_winning_move_3+0x123a9>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x116c(%rbp)
mov    -0x116c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    134dd <get_first_winning_move_3+0x123cd>
xor    %eax,%eax
mov    %eax,-0x1170(%rbp)
jmp    134ee <get_first_winning_move_3+0x123de>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1170(%rbp)
mov    -0x1170(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1351a <get_first_winning_move_3+0x1240a>
xor    %eax,%eax
mov    %eax,-0x1174(%rbp)
jmp    1352b <get_first_winning_move_3+0x1241b>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1174(%rbp)
mov    -0x1174(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1354f <get_first_winning_move_3+0x1243f>
xor    %eax,%eax
mov    %eax,-0x1178(%rbp)
jmp    13560 <get_first_winning_move_3+0x12450>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1178(%rbp)
mov    -0x1178(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1358c <get_first_winning_move_3+0x1247c>
xor    %eax,%eax
mov    %eax,-0x117c(%rbp)
jmp    1359d <get_first_winning_move_3+0x1248d>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x117c(%rbp)
mov    -0x117c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    135c1 <get_first_winning_move_3+0x124b1>
xor    %eax,%eax
mov    %eax,-0x1180(%rbp)
jmp    135d2 <get_first_winning_move_3+0x124c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1180(%rbp)
mov    -0x1180(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    135fe <get_first_winning_move_3+0x124ee>
xor    %eax,%eax
mov    %eax,-0x1184(%rbp)
jmp    1360f <get_first_winning_move_3+0x124ff>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1184(%rbp)
mov    -0x1184(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13633 <get_first_winning_move_3+0x12523>
xor    %eax,%eax
mov    %eax,-0x1188(%rbp)
jmp    13644 <get_first_winning_move_3+0x12534>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1188(%rbp)
mov    -0x1188(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     13699 <get_first_winning_move_3+0x12589>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    136bb <get_first_winning_move_3+0x125ab>
xor    %eax,%eax
mov    %eax,-0x118c(%rbp)
jmp    136cc <get_first_winning_move_3+0x125bc>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x118c(%rbp)
mov    -0x118c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    136f0 <get_first_winning_move_3+0x125e0>
xor    %eax,%eax
mov    %eax,-0x1190(%rbp)
jmp    13701 <get_first_winning_move_3+0x125f1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1190(%rbp)
mov    -0x1190(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1372d <get_first_winning_move_3+0x1261d>
xor    %eax,%eax
mov    %eax,-0x1194(%rbp)
jmp    1373e <get_first_winning_move_3+0x1262e>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1194(%rbp)
mov    -0x1194(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13762 <get_first_winning_move_3+0x12652>
xor    %eax,%eax
mov    %eax,-0x1198(%rbp)
jmp    13773 <get_first_winning_move_3+0x12663>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1198(%rbp)
mov    -0x1198(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1379f <get_first_winning_move_3+0x1268f>
xor    %eax,%eax
mov    %eax,-0x119c(%rbp)
jmp    137b0 <get_first_winning_move_3+0x126a0>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x119c(%rbp)
mov    -0x119c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    137d4 <get_first_winning_move_3+0x126c4>
xor    %eax,%eax
mov    %eax,-0x11a0(%rbp)
jmp    137e5 <get_first_winning_move_3+0x126d5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11a0(%rbp)
mov    -0x11a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13811 <get_first_winning_move_3+0x12701>
xor    %eax,%eax
mov    %eax,-0x11a4(%rbp)
jmp    13822 <get_first_winning_move_3+0x12712>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11a4(%rbp)
mov    -0x11a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13846 <get_first_winning_move_3+0x12736>
xor    %eax,%eax
mov    %eax,-0x11a8(%rbp)
jmp    13857 <get_first_winning_move_3+0x12747>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11a8(%rbp)
mov    -0x11a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    1386e <get_first_winning_move_3+0x1275e>
jmp    163a0 <get_first_winning_move_3+0x15290>
movswl -0x16(%rbp),%eax
cmp    $0x1b,%eax
jne    14119 <get_first_winning_move_3+0x13009>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     14114 <get_first_winning_move_3+0x13004>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    14114 <get_first_winning_move_3+0x13004>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     14114 <get_first_winning_move_3+0x13004>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     1410f <get_first_winning_move_3+0x12fff>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    13d2c <get_first_winning_move_3+0x12c1c>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13966 <get_first_winning_move_3+0x12856>
xor    %eax,%eax
mov    %eax,-0x11ac(%rbp)
jmp    13977 <get_first_winning_move_3+0x12867>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11ac(%rbp)
mov    -0x11ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1399b <get_first_winning_move_3+0x1288b>
xor    %eax,%eax
mov    %eax,-0x11b0(%rbp)
jmp    139ac <get_first_winning_move_3+0x1289c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11b0(%rbp)
mov    -0x11b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    139d8 <get_first_winning_move_3+0x128c8>
xor    %eax,%eax
mov    %eax,-0x11b4(%rbp)
jmp    139e9 <get_first_winning_move_3+0x128d9>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11b4(%rbp)
mov    -0x11b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13a0d <get_first_winning_move_3+0x128fd>
xor    %eax,%eax
mov    %eax,-0x11b8(%rbp)
jmp    13a1e <get_first_winning_move_3+0x1290e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11b8(%rbp)
mov    -0x11b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13a4a <get_first_winning_move_3+0x1293a>
xor    %eax,%eax
mov    %eax,-0x11bc(%rbp)
jmp    13a5b <get_first_winning_move_3+0x1294b>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11bc(%rbp)
mov    -0x11bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13a7f <get_first_winning_move_3+0x1296f>
xor    %eax,%eax
mov    %eax,-0x11c0(%rbp)
jmp    13a90 <get_first_winning_move_3+0x12980>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11c0(%rbp)
mov    -0x11c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13abc <get_first_winning_move_3+0x129ac>
xor    %eax,%eax
mov    %eax,-0x11c4(%rbp)
jmp    13acd <get_first_winning_move_3+0x129bd>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11c4(%rbp)
mov    -0x11c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13af1 <get_first_winning_move_3+0x129e1>
xor    %eax,%eax
mov    %eax,-0x11c8(%rbp)
jmp    13b02 <get_first_winning_move_3+0x129f2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11c8(%rbp)
mov    -0x11c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     13b57 <get_first_winning_move_3+0x12a47>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13b79 <get_first_winning_move_3+0x12a69>
xor    %eax,%eax
mov    %eax,-0x11cc(%rbp)
jmp    13b8a <get_first_winning_move_3+0x12a7a>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11cc(%rbp)
mov    -0x11cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13bae <get_first_winning_move_3+0x12a9e>
xor    %eax,%eax
mov    %eax,-0x11d0(%rbp)
jmp    13bbf <get_first_winning_move_3+0x12aaf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11d0(%rbp)
mov    -0x11d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    13beb <get_first_winning_move_3+0x12adb>
xor    %eax,%eax
mov    %eax,-0x11d4(%rbp)
jmp    13bfc <get_first_winning_move_3+0x12aec>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11d4(%rbp)
mov    -0x11d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13c20 <get_first_winning_move_3+0x12b10>
xor    %eax,%eax
mov    %eax,-0x11d8(%rbp)
jmp    13c31 <get_first_winning_move_3+0x12b21>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11d8(%rbp)
mov    -0x11d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13c5d <get_first_winning_move_3+0x12b4d>
xor    %eax,%eax
mov    %eax,-0x11dc(%rbp)
jmp    13c6e <get_first_winning_move_3+0x12b5e>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11dc(%rbp)
mov    -0x11dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13c92 <get_first_winning_move_3+0x12b82>
xor    %eax,%eax
mov    %eax,-0x11e0(%rbp)
jmp    13ca3 <get_first_winning_move_3+0x12b93>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11e0(%rbp)
mov    -0x11e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13ccf <get_first_winning_move_3+0x12bbf>
xor    %eax,%eax
mov    %eax,-0x11e4(%rbp)
jmp    13ce0 <get_first_winning_move_3+0x12bd0>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11e4(%rbp)
mov    -0x11e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13d04 <get_first_winning_move_3+0x12bf4>
xor    %eax,%eax
mov    %eax,-0x11e8(%rbp)
jmp    13d15 <get_first_winning_move_3+0x12c05>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11e8(%rbp)
mov    -0x11e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    14107 <get_first_winning_move_3+0x12ff7>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13d4e <get_first_winning_move_3+0x12c3e>
xor    %eax,%eax
mov    %eax,-0x11ec(%rbp)
jmp    13d5f <get_first_winning_move_3+0x12c4f>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11ec(%rbp)
mov    -0x11ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13d83 <get_first_winning_move_3+0x12c73>
xor    %eax,%eax
mov    %eax,-0x11f0(%rbp)
jmp    13d94 <get_first_winning_move_3+0x12c84>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11f0(%rbp)
mov    -0x11f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    13dc0 <get_first_winning_move_3+0x12cb0>
xor    %eax,%eax
mov    %eax,-0x11f4(%rbp)
jmp    13dd1 <get_first_winning_move_3+0x12cc1>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11f4(%rbp)
mov    -0x11f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13df5 <get_first_winning_move_3+0x12ce5>
xor    %eax,%eax
mov    %eax,-0x11f8(%rbp)
jmp    13e06 <get_first_winning_move_3+0x12cf6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11f8(%rbp)
mov    -0x11f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13e32 <get_first_winning_move_3+0x12d22>
xor    %eax,%eax
mov    %eax,-0x11fc(%rbp)
jmp    13e43 <get_first_winning_move_3+0x12d33>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11fc(%rbp)
mov    -0x11fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13e67 <get_first_winning_move_3+0x12d57>
xor    %eax,%eax
mov    %eax,-0x1200(%rbp)
jmp    13e78 <get_first_winning_move_3+0x12d68>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1200(%rbp)
mov    -0x1200(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    13ea4 <get_first_winning_move_3+0x12d94>
xor    %eax,%eax
mov    %eax,-0x1204(%rbp)
jmp    13eb5 <get_first_winning_move_3+0x12da5>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1204(%rbp)
mov    -0x1204(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13ed9 <get_first_winning_move_3+0x12dc9>
xor    %eax,%eax
mov    %eax,-0x1208(%rbp)
jmp    13eea <get_first_winning_move_3+0x12dda>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1208(%rbp)
mov    -0x1208(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     13f3f <get_first_winning_move_3+0x12e2f>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13f61 <get_first_winning_move_3+0x12e51>
xor    %eax,%eax
mov    %eax,-0x120c(%rbp)
jmp    13f72 <get_first_winning_move_3+0x12e62>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x120c(%rbp)
mov    -0x120c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    13f96 <get_first_winning_move_3+0x12e86>
xor    %eax,%eax
mov    %eax,-0x1210(%rbp)
jmp    13fa7 <get_first_winning_move_3+0x12e97>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1210(%rbp)
mov    -0x1210(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    13fd3 <get_first_winning_move_3+0x12ec3>
xor    %eax,%eax
mov    %eax,-0x1214(%rbp)
jmp    13fe4 <get_first_winning_move_3+0x12ed4>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1214(%rbp)
mov    -0x1214(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14008 <get_first_winning_move_3+0x12ef8>
xor    %eax,%eax
mov    %eax,-0x1218(%rbp)
jmp    14019 <get_first_winning_move_3+0x12f09>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1218(%rbp)
mov    -0x1218(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14045 <get_first_winning_move_3+0x12f35>
xor    %eax,%eax
mov    %eax,-0x121c(%rbp)
jmp    14056 <get_first_winning_move_3+0x12f46>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x121c(%rbp)
mov    -0x121c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1407a <get_first_winning_move_3+0x12f6a>
xor    %eax,%eax
mov    %eax,-0x1220(%rbp)
jmp    1408b <get_first_winning_move_3+0x12f7b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1220(%rbp)
mov    -0x1220(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    140b7 <get_first_winning_move_3+0x12fa7>
xor    %eax,%eax
mov    %eax,-0x1224(%rbp)
jmp    140c8 <get_first_winning_move_3+0x12fb8>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1224(%rbp)
mov    -0x1224(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    140ec <get_first_winning_move_3+0x12fdc>
xor    %eax,%eax
mov    %eax,-0x1228(%rbp)
jmp    140fd <get_first_winning_move_3+0x12fed>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1228(%rbp)
mov    -0x1228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    14114 <get_first_winning_move_3+0x13004>
jmp    1639b <get_first_winning_move_3+0x1528b>
movswl -0x16(%rbp),%eax
cmp    $0x1c,%eax
jne    149aa <get_first_winning_move_3+0x1389a>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     149a5 <get_first_winning_move_3+0x13895>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    149a5 <get_first_winning_move_3+0x13895>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x4,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     149a0 <get_first_winning_move_3+0x13890>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    145bd <get_first_winning_move_3+0x134ad>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    141f7 <get_first_winning_move_3+0x130e7>
xor    %eax,%eax
mov    %eax,-0x122c(%rbp)
jmp    14208 <get_first_winning_move_3+0x130f8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x122c(%rbp)
mov    -0x122c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1422c <get_first_winning_move_3+0x1311c>
xor    %eax,%eax
mov    %eax,-0x1230(%rbp)
jmp    1423d <get_first_winning_move_3+0x1312d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1230(%rbp)
mov    -0x1230(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14269 <get_first_winning_move_3+0x13159>
xor    %eax,%eax
mov    %eax,-0x1234(%rbp)
jmp    1427a <get_first_winning_move_3+0x1316a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1234(%rbp)
mov    -0x1234(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1429e <get_first_winning_move_3+0x1318e>
xor    %eax,%eax
mov    %eax,-0x1238(%rbp)
jmp    142af <get_first_winning_move_3+0x1319f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1238(%rbp)
mov    -0x1238(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    142db <get_first_winning_move_3+0x131cb>
xor    %eax,%eax
mov    %eax,-0x123c(%rbp)
jmp    142ec <get_first_winning_move_3+0x131dc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x123c(%rbp)
mov    -0x123c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14310 <get_first_winning_move_3+0x13200>
xor    %eax,%eax
mov    %eax,-0x1240(%rbp)
jmp    14321 <get_first_winning_move_3+0x13211>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1240(%rbp)
mov    -0x1240(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1434d <get_first_winning_move_3+0x1323d>
xor    %eax,%eax
mov    %eax,-0x1244(%rbp)
jmp    1435e <get_first_winning_move_3+0x1324e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1244(%rbp)
mov    -0x1244(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14382 <get_first_winning_move_3+0x13272>
xor    %eax,%eax
mov    %eax,-0x1248(%rbp)
jmp    14393 <get_first_winning_move_3+0x13283>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1248(%rbp)
mov    -0x1248(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     143e8 <get_first_winning_move_3+0x132d8>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1440a <get_first_winning_move_3+0x132fa>
xor    %eax,%eax
mov    %eax,-0x124c(%rbp)
jmp    1441b <get_first_winning_move_3+0x1330b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x124c(%rbp)
mov    -0x124c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1443f <get_first_winning_move_3+0x1332f>
xor    %eax,%eax
mov    %eax,-0x1250(%rbp)
jmp    14450 <get_first_winning_move_3+0x13340>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1250(%rbp)
mov    -0x1250(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1447c <get_first_winning_move_3+0x1336c>
xor    %eax,%eax
mov    %eax,-0x1254(%rbp)
jmp    1448d <get_first_winning_move_3+0x1337d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1254(%rbp)
mov    -0x1254(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    144b1 <get_first_winning_move_3+0x133a1>
xor    %eax,%eax
mov    %eax,-0x1258(%rbp)
jmp    144c2 <get_first_winning_move_3+0x133b2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1258(%rbp)
mov    -0x1258(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    144ee <get_first_winning_move_3+0x133de>
xor    %eax,%eax
mov    %eax,-0x125c(%rbp)
jmp    144ff <get_first_winning_move_3+0x133ef>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x125c(%rbp)
mov    -0x125c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14523 <get_first_winning_move_3+0x13413>
xor    %eax,%eax
mov    %eax,-0x1260(%rbp)
jmp    14534 <get_first_winning_move_3+0x13424>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1260(%rbp)
mov    -0x1260(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14560 <get_first_winning_move_3+0x13450>
xor    %eax,%eax
mov    %eax,-0x1264(%rbp)
jmp    14571 <get_first_winning_move_3+0x13461>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1264(%rbp)
mov    -0x1264(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14595 <get_first_winning_move_3+0x13485>
xor    %eax,%eax
mov    %eax,-0x1268(%rbp)
jmp    145a6 <get_first_winning_move_3+0x13496>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1268(%rbp)
mov    -0x1268(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    14998 <get_first_winning_move_3+0x13888>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    145df <get_first_winning_move_3+0x134cf>
xor    %eax,%eax
mov    %eax,-0x126c(%rbp)
jmp    145f0 <get_first_winning_move_3+0x134e0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x126c(%rbp)
mov    -0x126c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14614 <get_first_winning_move_3+0x13504>
xor    %eax,%eax
mov    %eax,-0x1270(%rbp)
jmp    14625 <get_first_winning_move_3+0x13515>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1270(%rbp)
mov    -0x1270(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14651 <get_first_winning_move_3+0x13541>
xor    %eax,%eax
mov    %eax,-0x1274(%rbp)
jmp    14662 <get_first_winning_move_3+0x13552>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1274(%rbp)
mov    -0x1274(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14686 <get_first_winning_move_3+0x13576>
xor    %eax,%eax
mov    %eax,-0x1278(%rbp)
jmp    14697 <get_first_winning_move_3+0x13587>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1278(%rbp)
mov    -0x1278(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    146c3 <get_first_winning_move_3+0x135b3>
xor    %eax,%eax
mov    %eax,-0x127c(%rbp)
jmp    146d4 <get_first_winning_move_3+0x135c4>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x127c(%rbp)
mov    -0x127c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    146f8 <get_first_winning_move_3+0x135e8>
xor    %eax,%eax
mov    %eax,-0x1280(%rbp)
jmp    14709 <get_first_winning_move_3+0x135f9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1280(%rbp)
mov    -0x1280(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14735 <get_first_winning_move_3+0x13625>
xor    %eax,%eax
mov    %eax,-0x1284(%rbp)
jmp    14746 <get_first_winning_move_3+0x13636>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1284(%rbp)
mov    -0x1284(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1476a <get_first_winning_move_3+0x1365a>
xor    %eax,%eax
mov    %eax,-0x1288(%rbp)
jmp    1477b <get_first_winning_move_3+0x1366b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1288(%rbp)
mov    -0x1288(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     147d0 <get_first_winning_move_3+0x136c0>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    147f2 <get_first_winning_move_3+0x136e2>
xor    %eax,%eax
mov    %eax,-0x128c(%rbp)
jmp    14803 <get_first_winning_move_3+0x136f3>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x128c(%rbp)
mov    -0x128c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14827 <get_first_winning_move_3+0x13717>
xor    %eax,%eax
mov    %eax,-0x1290(%rbp)
jmp    14838 <get_first_winning_move_3+0x13728>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1290(%rbp)
mov    -0x1290(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14864 <get_first_winning_move_3+0x13754>
xor    %eax,%eax
mov    %eax,-0x1294(%rbp)
jmp    14875 <get_first_winning_move_3+0x13765>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1294(%rbp)
mov    -0x1294(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14899 <get_first_winning_move_3+0x13789>
xor    %eax,%eax
mov    %eax,-0x1298(%rbp)
jmp    148aa <get_first_winning_move_3+0x1379a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1298(%rbp)
mov    -0x1298(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    148d6 <get_first_winning_move_3+0x137c6>
xor    %eax,%eax
mov    %eax,-0x129c(%rbp)
jmp    148e7 <get_first_winning_move_3+0x137d7>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x129c(%rbp)
mov    -0x129c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1490b <get_first_winning_move_3+0x137fb>
xor    %eax,%eax
mov    %eax,-0x12a0(%rbp)
jmp    1491c <get_first_winning_move_3+0x1380c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12a0(%rbp)
mov    -0x12a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14948 <get_first_winning_move_3+0x13838>
xor    %eax,%eax
mov    %eax,-0x12a4(%rbp)
jmp    14959 <get_first_winning_move_3+0x13849>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12a4(%rbp)
mov    -0x12a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1497d <get_first_winning_move_3+0x1386d>
xor    %eax,%eax
mov    %eax,-0x12a8(%rbp)
jmp    1498e <get_first_winning_move_3+0x1387e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12a8(%rbp)
mov    -0x12a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    149a5 <get_first_winning_move_3+0x13895>
jmp    16396 <get_first_winning_move_3+0x15286>
movswl -0x16(%rbp),%eax
cmp    $0x1d,%eax
jne    15250 <get_first_winning_move_3+0x14140>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     1524b <get_first_winning_move_3+0x1413b>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    1524b <get_first_winning_move_3+0x1413b>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     1524b <get_first_winning_move_3+0x1413b>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x5,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     15246 <get_first_winning_move_3+0x14136>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    14e63 <get_first_winning_move_3+0x13d53>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14a9d <get_first_winning_move_3+0x1398d>
xor    %eax,%eax
mov    %eax,-0x12ac(%rbp)
jmp    14aae <get_first_winning_move_3+0x1399e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12ac(%rbp)
mov    -0x12ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14ad2 <get_first_winning_move_3+0x139c2>
xor    %eax,%eax
mov    %eax,-0x12b0(%rbp)
jmp    14ae3 <get_first_winning_move_3+0x139d3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12b0(%rbp)
mov    -0x12b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14b0f <get_first_winning_move_3+0x139ff>
xor    %eax,%eax
mov    %eax,-0x12b4(%rbp)
jmp    14b20 <get_first_winning_move_3+0x13a10>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12b4(%rbp)
mov    -0x12b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14b44 <get_first_winning_move_3+0x13a34>
xor    %eax,%eax
mov    %eax,-0x12b8(%rbp)
jmp    14b55 <get_first_winning_move_3+0x13a45>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12b8(%rbp)
mov    -0x12b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14b81 <get_first_winning_move_3+0x13a71>
xor    %eax,%eax
mov    %eax,-0x12bc(%rbp)
jmp    14b92 <get_first_winning_move_3+0x13a82>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12bc(%rbp)
mov    -0x12bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14bb6 <get_first_winning_move_3+0x13aa6>
xor    %eax,%eax
mov    %eax,-0x12c0(%rbp)
jmp    14bc7 <get_first_winning_move_3+0x13ab7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12c0(%rbp)
mov    -0x12c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14bf3 <get_first_winning_move_3+0x13ae3>
xor    %eax,%eax
mov    %eax,-0x12c4(%rbp)
jmp    14c04 <get_first_winning_move_3+0x13af4>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12c4(%rbp)
mov    -0x12c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14c28 <get_first_winning_move_3+0x13b18>
xor    %eax,%eax
mov    %eax,-0x12c8(%rbp)
jmp    14c39 <get_first_winning_move_3+0x13b29>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12c8(%rbp)
mov    -0x12c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     14c8e <get_first_winning_move_3+0x13b7e>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14cb0 <get_first_winning_move_3+0x13ba0>
xor    %eax,%eax
mov    %eax,-0x12cc(%rbp)
jmp    14cc1 <get_first_winning_move_3+0x13bb1>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12cc(%rbp)
mov    -0x12cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14ce5 <get_first_winning_move_3+0x13bd5>
xor    %eax,%eax
mov    %eax,-0x12d0(%rbp)
jmp    14cf6 <get_first_winning_move_3+0x13be6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12d0(%rbp)
mov    -0x12d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14d22 <get_first_winning_move_3+0x13c12>
xor    %eax,%eax
mov    %eax,-0x12d4(%rbp)
jmp    14d33 <get_first_winning_move_3+0x13c23>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12d4(%rbp)
mov    -0x12d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14d57 <get_first_winning_move_3+0x13c47>
xor    %eax,%eax
mov    %eax,-0x12d8(%rbp)
jmp    14d68 <get_first_winning_move_3+0x13c58>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12d8(%rbp)
mov    -0x12d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14d94 <get_first_winning_move_3+0x13c84>
xor    %eax,%eax
mov    %eax,-0x12dc(%rbp)
jmp    14da5 <get_first_winning_move_3+0x13c95>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12dc(%rbp)
mov    -0x12dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14dc9 <get_first_winning_move_3+0x13cb9>
xor    %eax,%eax
mov    %eax,-0x12e0(%rbp)
jmp    14dda <get_first_winning_move_3+0x13cca>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12e0(%rbp)
mov    -0x12e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14e06 <get_first_winning_move_3+0x13cf6>
xor    %eax,%eax
mov    %eax,-0x12e4(%rbp)
jmp    14e17 <get_first_winning_move_3+0x13d07>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12e4(%rbp)
mov    -0x12e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14e3b <get_first_winning_move_3+0x13d2b>
xor    %eax,%eax
mov    %eax,-0x12e8(%rbp)
jmp    14e4c <get_first_winning_move_3+0x13d3c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12e8(%rbp)
mov    -0x12e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1523e <get_first_winning_move_3+0x1412e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14e85 <get_first_winning_move_3+0x13d75>
xor    %eax,%eax
mov    %eax,-0x12ec(%rbp)
jmp    14e96 <get_first_winning_move_3+0x13d86>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12ec(%rbp)
mov    -0x12ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14eba <get_first_winning_move_3+0x13daa>
xor    %eax,%eax
mov    %eax,-0x12f0(%rbp)
jmp    14ecb <get_first_winning_move_3+0x13dbb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12f0(%rbp)
mov    -0x12f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    14ef7 <get_first_winning_move_3+0x13de7>
xor    %eax,%eax
mov    %eax,-0x12f4(%rbp)
jmp    14f08 <get_first_winning_move_3+0x13df8>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12f4(%rbp)
mov    -0x12f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14f2c <get_first_winning_move_3+0x13e1c>
xor    %eax,%eax
mov    %eax,-0x12f8(%rbp)
jmp    14f3d <get_first_winning_move_3+0x13e2d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12f8(%rbp)
mov    -0x12f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14f69 <get_first_winning_move_3+0x13e59>
xor    %eax,%eax
mov    %eax,-0x12fc(%rbp)
jmp    14f7a <get_first_winning_move_3+0x13e6a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12fc(%rbp)
mov    -0x12fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    14f9e <get_first_winning_move_3+0x13e8e>
xor    %eax,%eax
mov    %eax,-0x1300(%rbp)
jmp    14faf <get_first_winning_move_3+0x13e9f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1300(%rbp)
mov    -0x1300(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    14fdb <get_first_winning_move_3+0x13ecb>
xor    %eax,%eax
mov    %eax,-0x1304(%rbp)
jmp    14fec <get_first_winning_move_3+0x13edc>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1304(%rbp)
mov    -0x1304(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15010 <get_first_winning_move_3+0x13f00>
xor    %eax,%eax
mov    %eax,-0x1308(%rbp)
jmp    15021 <get_first_winning_move_3+0x13f11>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1308(%rbp)
mov    -0x1308(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     15076 <get_first_winning_move_3+0x13f66>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15098 <get_first_winning_move_3+0x13f88>
xor    %eax,%eax
mov    %eax,-0x130c(%rbp)
jmp    150a9 <get_first_winning_move_3+0x13f99>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x130c(%rbp)
mov    -0x130c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    150cd <get_first_winning_move_3+0x13fbd>
xor    %eax,%eax
mov    %eax,-0x1310(%rbp)
jmp    150de <get_first_winning_move_3+0x13fce>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1310(%rbp)
mov    -0x1310(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1510a <get_first_winning_move_3+0x13ffa>
xor    %eax,%eax
mov    %eax,-0x1314(%rbp)
jmp    1511b <get_first_winning_move_3+0x1400b>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1314(%rbp)
mov    -0x1314(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1513f <get_first_winning_move_3+0x1402f>
xor    %eax,%eax
mov    %eax,-0x1318(%rbp)
jmp    15150 <get_first_winning_move_3+0x14040>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1318(%rbp)
mov    -0x1318(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1517c <get_first_winning_move_3+0x1406c>
xor    %eax,%eax
mov    %eax,-0x131c(%rbp)
jmp    1518d <get_first_winning_move_3+0x1407d>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x131c(%rbp)
mov    -0x131c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    151b1 <get_first_winning_move_3+0x140a1>
xor    %eax,%eax
mov    %eax,-0x1320(%rbp)
jmp    151c2 <get_first_winning_move_3+0x140b2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1320(%rbp)
mov    -0x1320(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    151ee <get_first_winning_move_3+0x140de>
xor    %eax,%eax
mov    %eax,-0x1324(%rbp)
jmp    151ff <get_first_winning_move_3+0x140ef>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1324(%rbp)
mov    -0x1324(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15223 <get_first_winning_move_3+0x14113>
xor    %eax,%eax
mov    %eax,-0x1328(%rbp)
jmp    15234 <get_first_winning_move_3+0x14124>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1328(%rbp)
mov    -0x1328(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    1524b <get_first_winning_move_3+0x1413b>
jmp    16391 <get_first_winning_move_3+0x15281>
movswl -0x16(%rbp),%eax
cmp    $0x1e,%eax
jne    15ae5 <get_first_winning_move_3+0x149d5>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     15ae0 <get_first_winning_move_3+0x149d0>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     15ae0 <get_first_winning_move_3+0x149d0>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
sub    $0x1,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     15adb <get_first_winning_move_3+0x149cb>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    156f8 <get_first_winning_move_3+0x145e8>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15332 <get_first_winning_move_3+0x14222>
xor    %eax,%eax
mov    %eax,-0x132c(%rbp)
jmp    15343 <get_first_winning_move_3+0x14233>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x132c(%rbp)
mov    -0x132c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15367 <get_first_winning_move_3+0x14257>
xor    %eax,%eax
mov    %eax,-0x1330(%rbp)
jmp    15378 <get_first_winning_move_3+0x14268>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1330(%rbp)
mov    -0x1330(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    153a4 <get_first_winning_move_3+0x14294>
xor    %eax,%eax
mov    %eax,-0x1334(%rbp)
jmp    153b5 <get_first_winning_move_3+0x142a5>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1334(%rbp)
mov    -0x1334(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    153d9 <get_first_winning_move_3+0x142c9>
xor    %eax,%eax
mov    %eax,-0x1338(%rbp)
jmp    153ea <get_first_winning_move_3+0x142da>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1338(%rbp)
mov    -0x1338(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15416 <get_first_winning_move_3+0x14306>
xor    %eax,%eax
mov    %eax,-0x133c(%rbp)
jmp    15427 <get_first_winning_move_3+0x14317>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x133c(%rbp)
mov    -0x133c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1544b <get_first_winning_move_3+0x1433b>
xor    %eax,%eax
mov    %eax,-0x1340(%rbp)
jmp    1545c <get_first_winning_move_3+0x1434c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1340(%rbp)
mov    -0x1340(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    15488 <get_first_winning_move_3+0x14378>
xor    %eax,%eax
mov    %eax,-0x1344(%rbp)
jmp    15499 <get_first_winning_move_3+0x14389>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1344(%rbp)
mov    -0x1344(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    154bd <get_first_winning_move_3+0x143ad>
xor    %eax,%eax
mov    %eax,-0x1348(%rbp)
jmp    154ce <get_first_winning_move_3+0x143be>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1348(%rbp)
mov    -0x1348(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     15523 <get_first_winning_move_3+0x14413>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15545 <get_first_winning_move_3+0x14435>
xor    %eax,%eax
mov    %eax,-0x134c(%rbp)
jmp    15556 <get_first_winning_move_3+0x14446>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x134c(%rbp)
mov    -0x134c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1557a <get_first_winning_move_3+0x1446a>
xor    %eax,%eax
mov    %eax,-0x1350(%rbp)
jmp    1558b <get_first_winning_move_3+0x1447b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1350(%rbp)
mov    -0x1350(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    155b7 <get_first_winning_move_3+0x144a7>
xor    %eax,%eax
mov    %eax,-0x1354(%rbp)
jmp    155c8 <get_first_winning_move_3+0x144b8>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1354(%rbp)
mov    -0x1354(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    155ec <get_first_winning_move_3+0x144dc>
xor    %eax,%eax
mov    %eax,-0x1358(%rbp)
jmp    155fd <get_first_winning_move_3+0x144ed>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1358(%rbp)
mov    -0x1358(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15629 <get_first_winning_move_3+0x14519>
xor    %eax,%eax
mov    %eax,-0x135c(%rbp)
jmp    1563a <get_first_winning_move_3+0x1452a>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x135c(%rbp)
mov    -0x135c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1565e <get_first_winning_move_3+0x1454e>
xor    %eax,%eax
mov    %eax,-0x1360(%rbp)
jmp    1566f <get_first_winning_move_3+0x1455f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1360(%rbp)
mov    -0x1360(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1569b <get_first_winning_move_3+0x1458b>
xor    %eax,%eax
mov    %eax,-0x1364(%rbp)
jmp    156ac <get_first_winning_move_3+0x1459c>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1364(%rbp)
mov    -0x1364(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    156d0 <get_first_winning_move_3+0x145c0>
xor    %eax,%eax
mov    %eax,-0x1368(%rbp)
jmp    156e1 <get_first_winning_move_3+0x145d1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1368(%rbp)
mov    -0x1368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    15ad3 <get_first_winning_move_3+0x149c3>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1571a <get_first_winning_move_3+0x1460a>
xor    %eax,%eax
mov    %eax,-0x136c(%rbp)
jmp    1572b <get_first_winning_move_3+0x1461b>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x136c(%rbp)
mov    -0x136c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1574f <get_first_winning_move_3+0x1463f>
xor    %eax,%eax
mov    %eax,-0x1370(%rbp)
jmp    15760 <get_first_winning_move_3+0x14650>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1370(%rbp)
mov    -0x1370(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1578c <get_first_winning_move_3+0x1467c>
xor    %eax,%eax
mov    %eax,-0x1374(%rbp)
jmp    1579d <get_first_winning_move_3+0x1468d>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1374(%rbp)
mov    -0x1374(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    157c1 <get_first_winning_move_3+0x146b1>
xor    %eax,%eax
mov    %eax,-0x1378(%rbp)
jmp    157d2 <get_first_winning_move_3+0x146c2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1378(%rbp)
mov    -0x1378(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    157fe <get_first_winning_move_3+0x146ee>
xor    %eax,%eax
mov    %eax,-0x137c(%rbp)
jmp    1580f <get_first_winning_move_3+0x146ff>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x137c(%rbp)
mov    -0x137c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15833 <get_first_winning_move_3+0x14723>
xor    %eax,%eax
mov    %eax,-0x1380(%rbp)
jmp    15844 <get_first_winning_move_3+0x14734>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1380(%rbp)
mov    -0x1380(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    15870 <get_first_winning_move_3+0x14760>
xor    %eax,%eax
mov    %eax,-0x1384(%rbp)
jmp    15881 <get_first_winning_move_3+0x14771>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1384(%rbp)
mov    -0x1384(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    158a5 <get_first_winning_move_3+0x14795>
xor    %eax,%eax
mov    %eax,-0x1388(%rbp)
jmp    158b6 <get_first_winning_move_3+0x147a6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1388(%rbp)
mov    -0x1388(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1590b <get_first_winning_move_3+0x147fb>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1592d <get_first_winning_move_3+0x1481d>
xor    %eax,%eax
mov    %eax,-0x138c(%rbp)
jmp    1593e <get_first_winning_move_3+0x1482e>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x138c(%rbp)
mov    -0x138c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15962 <get_first_winning_move_3+0x14852>
xor    %eax,%eax
mov    %eax,-0x1390(%rbp)
jmp    15973 <get_first_winning_move_3+0x14863>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1390(%rbp)
mov    -0x1390(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1599f <get_first_winning_move_3+0x1488f>
xor    %eax,%eax
mov    %eax,-0x1394(%rbp)
jmp    159b0 <get_first_winning_move_3+0x148a0>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1394(%rbp)
mov    -0x1394(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    159d4 <get_first_winning_move_3+0x148c4>
xor    %eax,%eax
mov    %eax,-0x1398(%rbp)
jmp    159e5 <get_first_winning_move_3+0x148d5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1398(%rbp)
mov    -0x1398(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15a11 <get_first_winning_move_3+0x14901>
xor    %eax,%eax
mov    %eax,-0x139c(%rbp)
jmp    15a22 <get_first_winning_move_3+0x14912>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x139c(%rbp)
mov    -0x139c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15a46 <get_first_winning_move_3+0x14936>
xor    %eax,%eax
mov    %eax,-0x13a0(%rbp)
jmp    15a57 <get_first_winning_move_3+0x14947>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13a0(%rbp)
mov    -0x13a0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    15a83 <get_first_winning_move_3+0x14973>
xor    %eax,%eax
mov    %eax,-0x13a4(%rbp)
jmp    15a94 <get_first_winning_move_3+0x14984>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13a4(%rbp)
mov    -0x13a4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15ab8 <get_first_winning_move_3+0x149a8>
xor    %eax,%eax
mov    %eax,-0x13a8(%rbp)
jmp    15ac9 <get_first_winning_move_3+0x149b9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13a8(%rbp)
mov    -0x13a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    15ae0 <get_first_winning_move_3+0x149d0>
jmp    1638c <get_first_winning_move_3+0x1527c>
movswl -0x16(%rbp),%eax
cmp    $0x1f,%eax
jne    16387 <get_first_winning_move_3+0x15277>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     16382 <get_first_winning_move_3+0x15272>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    16382 <get_first_winning_move_3+0x15272>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     16382 <get_first_winning_move_3+0x15272>
mov    -0xa(%rbp),%ax
mov    %ax,-0x12(%rbp)
movswl -0x12(%rbp),%eax
add    $0x3,%eax
mov    %ax,-0x14(%rbp)
movswl -0x14(%rbp),%eax
movswl -0x4(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     1637d <get_first_winning_move_3+0x1526d>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    15f9a <get_first_winning_move_3+0x14e8a>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15bd4 <get_first_winning_move_3+0x14ac4>
xor    %eax,%eax
mov    %eax,-0x13ac(%rbp)
jmp    15be5 <get_first_winning_move_3+0x14ad5>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13ac(%rbp)
mov    -0x13ac(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15c09 <get_first_winning_move_3+0x14af9>
xor    %eax,%eax
mov    %eax,-0x13b0(%rbp)
jmp    15c1a <get_first_winning_move_3+0x14b0a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13b0(%rbp)
mov    -0x13b0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    15c46 <get_first_winning_move_3+0x14b36>
xor    %eax,%eax
mov    %eax,-0x13b4(%rbp)
jmp    15c57 <get_first_winning_move_3+0x14b47>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13b4(%rbp)
mov    -0x13b4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15c7b <get_first_winning_move_3+0x14b6b>
xor    %eax,%eax
mov    %eax,-0x13b8(%rbp)
jmp    15c8c <get_first_winning_move_3+0x14b7c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13b8(%rbp)
mov    -0x13b8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15cb8 <get_first_winning_move_3+0x14ba8>
xor    %eax,%eax
mov    %eax,-0x13bc(%rbp)
jmp    15cc9 <get_first_winning_move_3+0x14bb9>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13bc(%rbp)
mov    -0x13bc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15ced <get_first_winning_move_3+0x14bdd>
xor    %eax,%eax
mov    %eax,-0x13c0(%rbp)
jmp    15cfe <get_first_winning_move_3+0x14bee>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13c0(%rbp)
mov    -0x13c0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    15d2a <get_first_winning_move_3+0x14c1a>
xor    %eax,%eax
mov    %eax,-0x13c4(%rbp)
jmp    15d3b <get_first_winning_move_3+0x14c2b>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13c4(%rbp)
mov    -0x13c4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15d5f <get_first_winning_move_3+0x14c4f>
xor    %eax,%eax
mov    %eax,-0x13c8(%rbp)
jmp    15d70 <get_first_winning_move_3+0x14c60>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13c8(%rbp)
mov    -0x13c8(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     15dc5 <get_first_winning_move_3+0x14cb5>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15de7 <get_first_winning_move_3+0x14cd7>
xor    %eax,%eax
mov    %eax,-0x13cc(%rbp)
jmp    15df8 <get_first_winning_move_3+0x14ce8>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13cc(%rbp)
mov    -0x13cc(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15e1c <get_first_winning_move_3+0x14d0c>
xor    %eax,%eax
mov    %eax,-0x13d0(%rbp)
jmp    15e2d <get_first_winning_move_3+0x14d1d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13d0(%rbp)
mov    -0x13d0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    15e59 <get_first_winning_move_3+0x14d49>
xor    %eax,%eax
mov    %eax,-0x13d4(%rbp)
jmp    15e6a <get_first_winning_move_3+0x14d5a>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13d4(%rbp)
mov    -0x13d4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15e8e <get_first_winning_move_3+0x14d7e>
xor    %eax,%eax
mov    %eax,-0x13d8(%rbp)
jmp    15e9f <get_first_winning_move_3+0x14d8f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13d8(%rbp)
mov    -0x13d8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15ecb <get_first_winning_move_3+0x14dbb>
xor    %eax,%eax
mov    %eax,-0x13dc(%rbp)
jmp    15edc <get_first_winning_move_3+0x14dcc>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13dc(%rbp)
mov    -0x13dc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15f00 <get_first_winning_move_3+0x14df0>
xor    %eax,%eax
mov    %eax,-0x13e0(%rbp)
jmp    15f11 <get_first_winning_move_3+0x14e01>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13e0(%rbp)
mov    -0x13e0(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    15f3d <get_first_winning_move_3+0x14e2d>
xor    %eax,%eax
mov    %eax,-0x13e4(%rbp)
jmp    15f4e <get_first_winning_move_3+0x14e3e>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13e4(%rbp)
mov    -0x13e4(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15f72 <get_first_winning_move_3+0x14e62>
xor    %eax,%eax
mov    %eax,-0x13e8(%rbp)
jmp    15f83 <get_first_winning_move_3+0x14e73>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13e8(%rbp)
mov    -0x13e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    16375 <get_first_winning_move_3+0x15265>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15fbc <get_first_winning_move_3+0x14eac>
xor    %eax,%eax
mov    %eax,-0x13ec(%rbp)
jmp    15fcd <get_first_winning_move_3+0x14ebd>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13ec(%rbp)
mov    -0x13ec(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    15ff1 <get_first_winning_move_3+0x14ee1>
xor    %eax,%eax
mov    %eax,-0x13f0(%rbp)
jmp    16002 <get_first_winning_move_3+0x14ef2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13f0(%rbp)
mov    -0x13f0(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    1602e <get_first_winning_move_3+0x14f1e>
xor    %eax,%eax
mov    %eax,-0x13f4(%rbp)
jmp    1603f <get_first_winning_move_3+0x14f2f>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13f4(%rbp)
mov    -0x13f4(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16063 <get_first_winning_move_3+0x14f53>
xor    %eax,%eax
mov    %eax,-0x13f8(%rbp)
jmp    16074 <get_first_winning_move_3+0x14f64>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13f8(%rbp)
mov    -0x13f8(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    160a0 <get_first_winning_move_3+0x14f90>
xor    %eax,%eax
mov    %eax,-0x13fc(%rbp)
jmp    160b1 <get_first_winning_move_3+0x14fa1>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13fc(%rbp)
mov    -0x13fc(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    160d5 <get_first_winning_move_3+0x14fc5>
xor    %eax,%eax
mov    %eax,-0x1400(%rbp)
jmp    160e6 <get_first_winning_move_3+0x14fd6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1400(%rbp)
mov    -0x1400(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    16112 <get_first_winning_move_3+0x15002>
xor    %eax,%eax
mov    %eax,-0x1404(%rbp)
jmp    16123 <get_first_winning_move_3+0x15013>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1404(%rbp)
mov    -0x1404(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16147 <get_first_winning_move_3+0x15037>
xor    %eax,%eax
mov    %eax,-0x1408(%rbp)
jmp    16158 <get_first_winning_move_3+0x15048>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1408(%rbp)
mov    -0x1408(%rbp),%eax
mov    %ax,0x18(%rbp)
movswl -0x4(%rbp),%edi
movswl -0x6(%rbp),%esi
movswl -0x8(%rbp),%edx
movswl -0xa(%rbp),%ecx
movswl -0xc(%rbp),%r8d
movswl -0xe(%rbp),%r9d
movswl 0x10(%rbp),%r10d
movswl 0x18(%rbp),%eax
mov    %r10d,(%rsp)
mov    %eax,0x8(%rsp)
mov    $0x0,%al
call   1030 <get_first_losing_move@plt>
mov    %eax,%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     161ad <get_first_winning_move_3+0x1509d>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
jmp    1643e <get_first_winning_move_3+0x1532e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    161cf <get_first_winning_move_3+0x150bf>
xor    %eax,%eax
mov    %eax,-0x140c(%rbp)
jmp    161e0 <get_first_winning_move_3+0x150d0>
movswl -0xc(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x140c(%rbp)
mov    -0x140c(%rbp),%eax
mov    %ax,-0x4(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16204 <get_first_winning_move_3+0x150f4>
xor    %eax,%eax
mov    %eax,-0x1410(%rbp)
jmp    16215 <get_first_winning_move_3+0x15105>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1410(%rbp)
mov    -0x1410(%rbp),%eax
mov    %ax,-0xc(%rbp)
mov    -0x6(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xe(%rbp),%eax
cmp    $0x0,%eax
jne    16241 <get_first_winning_move_3+0x15131>
xor    %eax,%eax
mov    %eax,-0x1414(%rbp)
jmp    16252 <get_first_winning_move_3+0x15142>
movswl -0xe(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1414(%rbp)
mov    -0x1414(%rbp),%eax
mov    %ax,-0x6(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    16276 <get_first_winning_move_3+0x15166>
xor    %eax,%eax
mov    %eax,-0x1418(%rbp)
jmp    16287 <get_first_winning_move_3+0x15177>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1418(%rbp)
mov    -0x1418(%rbp),%eax
mov    %ax,-0xe(%rbp)
mov    -0x8(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x10(%rbp),%eax
cmp    $0x0,%eax
jne    162b3 <get_first_winning_move_3+0x151a3>
xor    %eax,%eax
mov    %eax,-0x141c(%rbp)
jmp    162c4 <get_first_winning_move_3+0x151b4>
movswl 0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x141c(%rbp)
mov    -0x141c(%rbp),%eax
mov    %ax,-0x8(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    162e8 <get_first_winning_move_3+0x151d8>
xor    %eax,%eax
mov    %eax,-0x1420(%rbp)
jmp    162f9 <get_first_winning_move_3+0x151e9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1420(%rbp)
mov    -0x1420(%rbp),%eax
mov    %ax,0x10(%rbp)
mov    -0xa(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl 0x18(%rbp),%eax
cmp    $0x0,%eax
jne    16325 <get_first_winning_move_3+0x15215>
xor    %eax,%eax
mov    %eax,-0x1424(%rbp)
jmp    16336 <get_first_winning_move_3+0x15226>
movswl 0x18(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1424(%rbp)
mov    -0x1424(%rbp),%eax
mov    %ax,-0xa(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0x0,%eax
jne    1635a <get_first_winning_move_3+0x1524a>
xor    %eax,%eax
mov    %eax,-0x1428(%rbp)
jmp    1636b <get_first_winning_move_3+0x1525b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1428(%rbp)
mov    -0x1428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    16382 <get_first_winning_move_3+0x15272>
jmp    16387 <get_first_winning_move_3+0x15277>
jmp    1638c <get_first_winning_move_3+0x1527c>
jmp    16391 <get_first_winning_move_3+0x15281>
jmp    16396 <get_first_winning_move_3+0x15286>
jmp    1639b <get_first_winning_move_3+0x1528b>
jmp    163a0 <get_first_winning_move_3+0x15290>
jmp    163a5 <get_first_winning_move_3+0x15295>
jmp    163aa <get_first_winning_move_3+0x1529a>
jmp    163af <get_first_winning_move_3+0x1529f>
jmp    163b4 <get_first_winning_move_3+0x152a4>
jmp    163b9 <get_first_winning_move_3+0x152a9>
jmp    163be <get_first_winning_move_3+0x152ae>
jmp    163c3 <get_first_winning_move_3+0x152b3>
jmp    163c8 <get_first_winning_move_3+0x152b8>
jmp    163cd <get_first_winning_move_3+0x152bd>
jmp    163d2 <get_first_winning_move_3+0x152c2>
jmp    163d7 <get_first_winning_move_3+0x152c7>
jmp    163dc <get_first_winning_move_3+0x152cc>
jmp    163e1 <get_first_winning_move_3+0x152d1>
jmp    163e6 <get_first_winning_move_3+0x152d6>
jmp    163eb <get_first_winning_move_3+0x152db>
jmp    163f0 <get_first_winning_move_3+0x152e0>
jmp    163f5 <get_first_winning_move_3+0x152e5>
jmp    163fa <get_first_winning_move_3+0x152ea>
jmp    163ff <get_first_winning_move_3+0x152ef>
jmp    16404 <get_first_winning_move_3+0x152f4>
jmp    16409 <get_first_winning_move_3+0x152f9>
jmp    1640e <get_first_winning_move_3+0x152fe>
jmp    16413 <get_first_winning_move_3+0x15303>
jmp    16418 <get_first_winning_move_3+0x15308>
jmp    1641d <get_first_winning_move_3+0x1530d>
jmp    16422 <get_first_winning_move_3+0x15312>
jmp    16427 <get_first_winning_move_3+0x15317>
mov    -0x16(%rbp),%ax
add    $0x1,%ax
mov    %ax,-0x16(%rbp)
jmp    11b0 <get_first_winning_move_3+0xa0>
movw   $0xffff,-0x2(%rbp)
movswl -0x2(%rbp),%eax
add    $0x1440,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<get_first_winning_move_3>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x58,%rsp
mov    %r9d,%r12d
mov    %r8d,%r13d
mov    %edx,%r15d
mov    %esi,%r14d
movswl 0x98(%rsp),%ebx
movswl 0x90(%rsp),%ebp
mov    %rdi,0x20(%rsp)
mov    %rcx,0x48(%rsp)
xor    %eax,%eax
mov    %rbx,0x10(%rsp)
push   %rbx
mov    %rbp,%rbx
push   %rbp
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
mov    $0xfffe,%cx
cmp    $0xffffffff,%eax
je     1173 <get_first_winning_move_3+0x63>
mov    %ecx,%eax
add    $0x58,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
movd   %r15d,%xmm0
pinsrw $0x1,%r12d,%xmm0
pinsrw $0x2,%r14d,%xmm0
pinsrw $0x3,%r13d,%xmm0
xor    %r13d,%r13d
lea    0x5ebc(%rip),%r12
movdqa %xmm0,%xmm2
mov    0x48(%rsp),%r11
mov    0x20(%rsp),%r9
mov    0x10(%rsp),%r10
mov    %rbx,%r8
jmp    1244 <get_first_winning_move_3+0x134>
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r8d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    641f <get_first_winning_move_3+0x530f>
pxor   %xmm2,%xmm2
movdqa 0x5e1c(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
mov    %r14d,%r10d
mov    0x20(%rsp),%r9
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
add    $0x1,%r13d
cmp    $0x1f,%r13w
ja     1240 <get_first_winning_move_3+0x130>
movzwl %r13w,%eax
movslq (%r12,%rax,4),%rax
add    %r12,%rax
jmp    *%rax
test   %r9w,%r9w
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%r9w
jg     1240 <get_first_winning_move_3+0x130>
lea    0x4(%r9),%ecx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%cx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%cx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%cx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edx
cmp    %dx,%cx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%cx
je     1240 <get_first_winning_move_3+0x130>
cmp    %cx,%r8w
mov    %r9,0x20(%rsp)
jne    3feb <get_first_winning_move_3+0x2edb>
mov    $0x15,%eax
sub    %r9d,%eax
xor    %r15d,%r15d
mov    %r8,%r12
test   %r8w,%r8w
cmove  %r15d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5d49(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebx
sub    %edi,%ebx
test   %di,%di
cmove  %r15d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r15d,%ebp
mov    $0x19,%r14d
movswl %si,%edi
movswl %cx,%esi
movswl %bx,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bp,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6428 <get_first_winning_move_3+0x5318>
movdqa 0x5cc2(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r15d,%r11d
sub    %ebx,%r14d
test   %bx,%bx
cmove  %r15d,%r14d
mov    %r14d,%r10d
jmp    1ba0 <get_first_winning_move_3+0xa90>
cmp    $0x14,%r9w
jg     1240 <get_first_winning_move_3+0x130>
mov    %r9d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    0x5(%r9),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %dx,%r8w
mov    %r9,0x20(%rsp)
jne    40ab <get_first_winning_move_3+0x2f9b>
mov    $0x14,%eax
sub    %r9d,%eax
xor    %r14d,%r14d
mov    %r8,%r12
test   %r8w,%r8w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5bfa(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     1b65 <get_first_winning_move_3+0xa55>
jmp    642f <get_first_winning_move_3+0x531f>
test   $0x3,%r9b
je     1240 <get_first_winning_move_3+0x130>
lea    0x1(%r9),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %dx,%r8w
mov    %r9,0x20(%rsp)
jne    3cdf <get_first_winning_move_3+0x2bcf>
mov    $0x18,%eax
sub    %r9d,%eax
xor    %r14d,%r14d
mov    %r8,%r12
test   %r8w,%r8w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5af6(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     1b65 <get_first_winning_move_3+0xa55>
jmp    63aa <get_first_winning_move_3+0x529a>
cmp    $0x5,%r9w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r9d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    -0x3(%r9),%r14d
movzwl %r14w,%eax
pshuflw $0xe2,%xmm2,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %eax,%ecx
mov    %r9,0x20(%rsp)
jne    416b <get_first_winning_move_3+0x305b>
mov    $0x1c,%eax
sub    %r9d,%eax
pxor   %xmm1,%xmm1
movdqa 0x59e0(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x2,%xmm2,%r9d
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %r10d,%ebp
xor    %r15d,%r15d
test   %r10w,%r10w
cmove  %r15d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r15d,%ebx
mov    $0x19,%r12d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     18dc <get_first_winning_move_3+0x7cc>
jmp    641f <get_first_winning_move_3+0x530f>
cmp    $0x5,%r9w
jl     1240 <get_first_winning_move_3+0x130>
lea    -0x4(%r9),%r14d
movzwl %r14w,%eax
pshuflw $0xe2,%xmm2,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %eax,%ecx
mov    %r9,0x20(%rsp)
jne    422a <get_first_winning_move_3+0x311a>
mov    $0x1d,%eax
sub    %r9d,%eax
pxor   %xmm1,%xmm1
movdqa 0x58d7(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x2,%xmm2,%r9d
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %r10d,%ebp
xor    %r15d,%r15d
test   %r10w,%r10w
cmove  %r15d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r15d,%ebx
mov    $0x19,%r12d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     18dc <get_first_winning_move_3+0x7cc>
jmp    6438 <get_first_winning_move_3+0x5328>
cmp    $0x5,%r9w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r9d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    -0x5(%r9),%r14d
movzwl %r14w,%eax
pshuflw $0xe2,%xmm2,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %eax,%ecx
mov    %r9,0x20(%rsp)
jne    42d8 <get_first_winning_move_3+0x31c8>
mov    $0x1e,%eax
sub    %r9d,%eax
xor    %r15d,%r15d
test   %r14w,%r14w
cmove  %r15d,%eax
pxor   %xmm1,%xmm1
movdqa 0x57b3(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r15d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r15d,%ebx
mov    $0x19,%r12d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6441 <get_first_winning_move_3+0x5331>
movdqa 0x572c(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r15d,%r11d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r15d,%r12d
mov    %r14d,%r8d
mov    %r12d,%r10d
jmp    612b <get_first_winning_move_3+0x501b>
test   %r9w,%r9w
je     3c8f <get_first_winning_move_3+0x2b7f>
lea    0x3(%r9),%eax
test   %r9w,%r9w
cmovns %r9d,%eax
and    $0xfffffffc,%eax
mov    %r9d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x1(%r9),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %dx,%r8w
mov    %r9,0x20(%rsp)
jne    5231 <get_first_winning_move_3+0x4121>
mov    $0x1a,%eax
sub    %r9d,%eax
xor    %r14d,%r14d
mov    %r8,%r12
test   %r8w,%r8w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5653(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     1b65 <get_first_winning_move_3+0xa55>
jmp    6492 <get_first_winning_move_3+0x5382>
lea    0x3(%r9),%eax
test   %r9w,%r9w
cmovns %r9d,%eax
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%r9w
jg     1240 <get_first_winning_move_3+0x130>
and    $0xfffffffc,%eax
mov    %r9d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    0x3(%r9),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %dx,%r8w
mov    %r9,0x20(%rsp)
jne    43d0 <get_first_winning_move_3+0x32c0>
mov    $0x16,%eax
sub    %r9d,%eax
xor    %r14d,%r14d
mov    %r8,%r12
test   %r8w,%r8w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x552a(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r10,%rdi
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %dx,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    644a <get_first_winning_move_3+0x533a>
movdqa 0x54a3(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r14d,%r11d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %r14d,%r15d
mov    %r15d,%r10d
mov    0x20(%rsp),%r9
mov    %r12,%r8
lea    0x54a1(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%bp
jg     1240 <get_first_winning_move_3+0x130>
lea    0x4(%rbp),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4490 <get_first_winning_move_3+0x3380>
mov    $0x19,%r12d
sub    %r9d,%r12d
xor    %r14d,%r14d
test   %r9w,%r9w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x15,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x539d(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x20(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r12w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %bp,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
movdqa %xmm2,0x20(%rsp)
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     266c <get_first_winning_move_3+0x155c>
jmp    6453 <get_first_winning_move_3+0x5343>
pextrw $0x2,%xmm2,%ebp
cmp    $0x14,%bp
jg     1240 <get_first_winning_move_3+0x130>
mov    %ebp,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    0x5(%rbp),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4554 <get_first_winning_move_3+0x3444>
mov    $0x19,%r12d
sub    %r9d,%r12d
xor    %r14d,%r14d
test   %r9w,%r9w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x14,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x526f(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x20(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r12w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %bp,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
movdqa %xmm2,0x20(%rsp)
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     266c <get_first_winning_move_3+0x155c>
jmp    645c <get_first_winning_move_3+0x534c>
mov    %r13d,0x30(%rsp)
pextrw $0x2,%xmm2,%r13d
test   $0x3,%r13b
je     3c9b <get_first_winning_move_3+0x2b8b>
lea    0x1(%r13),%edx
cmp    %r9w,%dx
je     625a <get_first_winning_move_3+0x514a>
movd   %xmm2,%eax
cmp    %ax,%dx
je     6268 <get_first_winning_move_3+0x5158>
cmp    %r11w,%dx
je     600c <get_first_winning_move_3+0x4efc>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     5358 <get_first_winning_move_3+0x4248>
cmp    %r8w,%dx
je     3d9f <get_first_winning_move_3+0x2c8f>
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    3dad <get_first_winning_move_3+0x2c9d>
mov    $0x19,%r12d
sub    %r9d,%r12d
xor    %r14d,%r14d
test   %r9w,%r9w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x18,%eax
sub    %r13d,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x514c(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
movdqa %xmm3,0x20(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bp,%ecx
movswl %r12w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %bx,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
movdqa %xmm2,0x20(%rsp)
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63b3 <get_first_winning_move_3+0x52a3>
mov    $0x19,%r9d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %r14d,%r9d
movdqa 0x50bb(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r8d
sub    %r13d,%r8d
test   %r13w,%r13w
cmove  %r14d,%r8d
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r14d,%r11d
sub    %ebp,%r15d
test   %bp,%bp
jmp    26c2 <get_first_winning_move_3+0x15b2>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r15d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    -0x3(%r15),%edx
movd   %xmm2,%eax
movd   %r9d,%xmm0
pinsrw $0x1,%eax,%xmm0
pinsrw $0x2,%r11d,%xmm0
movzwl %dx,%eax
punpcklwd %xmm2,%xmm0
pshufd $0x64,%xmm0,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
mov    %edx,0xc(%rsp)
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    4618 <get_first_winning_move_3+0x3508>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %r9d,%ebx
xor    %edx,%edx
test   %r9w,%r9w
cmove  %edx,%ebx
mov    $0x1c,%eax
sub    %r15d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4fa8(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %edx,%ebp
mov    $0x19,%r14d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %edx,%r14d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bp,%ecx
movswl %bx,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r14w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     21fb <get_first_winning_move_3+0x10eb>
jmp    6465 <get_first_winning_move_3+0x5355>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     1240 <get_first_winning_move_3+0x130>
lea    -0x4(%r15),%edx
movd   %xmm2,%eax
movd   %r9d,%xmm0
pinsrw $0x1,%eax,%xmm0
pinsrw $0x2,%r11d,%xmm0
movzwl %dx,%eax
punpcklwd %xmm2,%xmm0
pshufd $0x64,%xmm0,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
mov    %edx,0xc(%rsp)
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    46de <get_first_winning_move_3+0x35ce>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %r9d,%ebx
xor    %edx,%edx
test   %r9w,%r9w
cmove  %edx,%ebx
mov    $0x1d,%eax
sub    %r15d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4e73(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %edx,%ebp
mov    $0x19,%r14d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %edx,%r14d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bp,%ecx
movswl %bx,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r14w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    646e <get_first_winning_move_3+0x535e>
mov    $0x19,%r9d
sub    %ebx,%r9d
test   %bx,%bx
mov    $0x0,%eax
cmove  %eax,%r9d
movdqa 0x4de8(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r8d
sub    %r13d,%r8d
test   %r13w,%r13w
jmp    23c5 <get_first_winning_move_3+0x12b5>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r15d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    -0x5(%r15),%esi
movd   %xmm2,%eax
movd   %r9d,%xmm0
pinsrw $0x1,%eax,%xmm0
pinsrw $0x2,%r11d,%xmm0
movzwl %si,%eax
punpcklwd %xmm2,%xmm0
pshufd $0x64,%xmm0,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
movswl %r8w,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
mov    %esi,0xc(%rsp)
jne    47a4 <get_first_winning_move_3+0x3694>
mov    $0x19,%r13d
sub    %r9d,%r13d
xor    %edx,%edx
test   %r9w,%r9w
cmove  %edx,%r13d
mov    $0x19,%r12d
mov    $0x1e,%eax
sub    %r15d,%eax
test   %si,%si
cmove  %edx,%eax
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %edx,%ebx
pxor   %xmm1,%xmm1
movdqa 0x4ce8(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %edx,%ebp
mov    $0x19,%r14d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %edx,%r14d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r13w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r14w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6477 <get_first_winning_move_3+0x5367>
mov    $0x19,%r9d
sub    %r13d,%r9d
test   %r13w,%r13w
mov    $0x0,%eax
cmove  %eax,%r9d
movdqa 0x4c5d(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %eax,%r11d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %eax,%r12d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,0xc(%rsp),%xmm2
mov    %r12d,%r10d
jmp    5eea <get_first_winning_move_3+0x4dda>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     3ca9 <get_first_winning_move_3+0x2b99>
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x1(%rbp),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%ecx
cmp    %cx,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    5366 <get_first_winning_move_3+0x4256>
mov    $0x19,%r12d
sub    %r9d,%r12d
xor    %r14d,%r14d
test   %r9w,%r9w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x1a,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4b4c(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x20(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r12w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %bp,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
movdqa %xmm2,0x20(%rsp)
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     266c <get_first_winning_move_3+0x155c>
jmp    649b <get_first_winning_move_3+0x538b>
pextrw $0x2,%xmm2,%ebp
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%bp
jg     1240 <get_first_winning_move_3+0x130>
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    0x3(%rbp),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    48e5 <get_first_winning_move_3+0x37d5>
mov    $0x19,%r12d
sub    %r9d,%r12d
xor    %r14d,%r14d
test   %r9w,%r9w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x16,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4a0c(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x20(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r12w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %bp,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
movdqa %xmm2,0x20(%rsp)
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6480 <get_first_winning_move_3+0x5370>
mov    $0x19,%r9d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %r14d,%r9d
movdqa 0x497b(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r8d
sub    %r13d,%r8d
test   %r13w,%r13w
cmove  %r14d,%r8d
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r14d,%r11d
sub    %ebx,%r15d
test   %bx,%bx
cmove  %r14d,%r15d
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    %r15d,%r10d
jmp    5eea <get_first_winning_move_3+0x4dda>
movd   %xmm2,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%ax
jg     1240 <get_first_winning_move_3+0x130>
lea    0x4(%rax),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
cmove  %ecx,%r13d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r13w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %dx,%bp
jne    4a31 <get_first_winning_move_3+0x3921>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x15,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r14w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     2a43 <get_first_winning_move_3+0x1933>
jmp    63bc <get_first_winning_move_3+0x52ac>
movd   %xmm2,%eax
cmp    $0x14,%ax
jg     1240 <get_first_winning_move_3+0x130>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    0x5(%rax),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
cmove  %ecx,%r13d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r13w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %dx,%bp
jne    4ac2 <get_first_winning_move_3+0x39b2>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x14,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r14w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     2a43 <get_first_winning_move_3+0x1933>
jmp    63c5 <get_first_winning_move_3+0x52b5>
movd   %xmm2,%eax
test   $0x3,%al
je     1240 <get_first_winning_move_3+0x130>
lea    0x1(%rax),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%dx
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
cmove  %ecx,%r13d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r13w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %dx,%bp
jne    3ef8 <get_first_winning_move_3+0x2de8>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x18,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r14w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6398 <get_first_winning_move_3+0x5288>
mov    $0x19,%r9d
sub    %r13d,%r9d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r9d
mov    $0x19,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x458d(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %r14d,%r8d
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
movdqa %xmm0,%xmm2
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1240 <get_first_winning_move_3+0x130>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x3(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r9d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r12d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    5842 <get_first_winning_move_3+0x4732>
movswl %r8w,%ecx
cmp    %ecx,%r12d
je     5852 <get_first_winning_move_3+0x4742>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     4bc2 <get_first_winning_move_3+0x3ab2>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%esi
movswl %si,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %r12d,%ebp
jne    4bd2 <get_first_winning_move_3+0x3ac2>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    $0x1c,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %ecx,%r13d
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     2d50 <get_first_winning_move_3+0x1c40>
jmp    63ce <get_first_winning_move_3+0x52be>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1240 <get_first_winning_move_3+0x130>
lea    -0x4(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r9d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r12d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    5862 <get_first_winning_move_3+0x4752>
movswl %r8w,%ecx
cmp    %ecx,%r12d
je     5872 <get_first_winning_move_3+0x4762>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     4c5c <get_first_winning_move_3+0x3b4c>
mov    %r13d,0x30(%rsp)
pextrw $0x3,%xmm2,%edi
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%esi
movswl %si,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %r12d,%ebp
jne    4c6c <get_first_winning_move_3+0x3b5c>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    $0x1d,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %ecx,%r13d
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63d7 <get_first_winning_move_3+0x52c7>
mov    $0x19,%r10d
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4280(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
movdqa 0x10(%rsp),%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq %xmm1,%xmm0
movdqa %xmm0,%xmm2
jmp    5eea <get_first_winning_move_3+0x4dda>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1240 <get_first_winning_move_3+0x130>
mov    %eax,%ecx
and    $0x3,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x5(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r9d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r12d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    5882 <get_first_winning_move_3+0x4772>
movswl %r8w,%ecx
cmp    %ecx,%r12d
je     5892 <get_first_winning_move_3+0x4782>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     4d3b <get_first_winning_move_3+0x3c2b>
pextrw $0x3,%xmm2,%edi
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%esi
movswl %si,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%ecx
sub    %r9d,%ecx
test   %r9w,%r9w
mov    $0x0,%r9d
cmove  %r9d,%ecx
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
mov    %ecx,0x54(%rsp)
movswl %cx,%ecx
mov    %ecx,0x20(%rsp)
cmp    %r12d,%ebp
jne    4d4b <get_first_winning_move_3+0x3c3b>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %r9d,%r14d
mov    $0x1e,%esi
sub    %eax,%esi
test   %r12d,%r12d
cmove  %r12d,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r14w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63e0 <get_first_winning_move_3+0x52d0>
mov    $0x19,%r10d
mov    $0x19,%r9d
mov    0x54(%rsp),%ecx
sub    %ecx,%r9d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x40a6(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r8d
sub    %r14d,%r8d
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
movdqa 0x10(%rsp),%xmm0
pinsrw $0x1,%r12d,%xmm0
jmp    32d1 <get_first_winning_move_3+0x21c1>
movd   %xmm2,%eax
test   %ax,%ax
je     3cba <get_first_winning_move_3+0x2baa>
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x1(%rax),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%dx
je     1240 <get_first_winning_move_3+0x130>
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x19,%r12d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %dx,%bp
jne    54a7 <get_first_winning_move_3+0x4397>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x1a,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %ecx,%r12d
movswl %r15w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r12w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    64a4 <get_first_winning_move_3+0x5394>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
mov    $0x19,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3f00(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %r15d,%r8d
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
jmp    32bd <get_first_winning_move_3+0x21ad>
movd   %xmm2,%eax
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%ax
jg     1240 <get_first_winning_move_3+0x130>
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     1240 <get_first_winning_move_3+0x130>
lea    0x3(%rax),%edx
cmp    %r9w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r11w,%dx
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r8w,%dx
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%dx
je     1240 <get_first_winning_move_3+0x130>
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x20(%rsp)
cmp    %dx,%bp
jne    4e55 <get_first_winning_move_3+0x3d45>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r12d
sub    %r8d,%r12d
test   %r8w,%r8w
cmove  %ecx,%r12d
mov    $0x16,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63e9 <get_first_winning_move_3+0x52d9>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
mov    $0x19,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3d6d(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
movdqa %xmm0,%xmm2
lea    0x3d70(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
test   %r11w,%r11w
je     1240 <get_first_winning_move_3+0x130>
cmp    $0x14,%r11w
jg     1240 <get_first_winning_move_3+0x130>
lea    0x4(%r11),%eax
cmp    %r9w,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%ax
je     1240 <get_first_winning_move_3+0x130>
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3c79(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edi
movswl %r14w,%esi
mov    %r8,%rbp
movswl %r15w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x48(%rsp)
mov    $0x19,%ebx
jne    4f59 <get_first_winning_move_3+0x3e49>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x15,%eax
sub    %r11d,%eax
mov    %rbp,0x30(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %di,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     3c25 <get_first_winning_move_3+0x2b15>
jmp    63f2 <get_first_winning_move_3+0x52e2>
cmp    $0x14,%r11w
jg     1240 <get_first_winning_move_3+0x130>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    0x5(%r11),%eax
cmp    %r9w,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%ax
je     1240 <get_first_winning_move_3+0x130>
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3b47(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edi
movswl %r14w,%esi
mov    %r8,%rbp
movswl %r15w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x48(%rsp)
mov    $0x19,%ebx
jne    4fbb <get_first_winning_move_3+0x3eab>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x14,%eax
sub    %r11d,%eax
mov    %rbp,0x30(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %di,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     3c25 <get_first_winning_move_3+0x2b15>
jmp    63fb <get_first_winning_move_3+0x52eb>
test   $0x3,%r11b
je     1240 <get_first_winning_move_3+0x130>
lea    0x1(%r11),%eax
cmp    %r9w,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%ax
je     1240 <get_first_winning_move_3+0x130>
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3a25(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edi
movswl %r14w,%esi
mov    %r8,%rbp
movswl %r15w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x48(%rsp)
mov    $0x19,%ebx
jne    3f89 <get_first_winning_move_3+0x2e79>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x18,%eax
sub    %r11d,%eax
mov    %rbp,0x30(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %di,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     3c25 <get_first_winning_move_3+0x2b15>
jmp    63a1 <get_first_winning_move_3+0x5291>
cmp    $0x5,%r11w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1240 <get_first_winning_move_3+0x130>
lea    -0x3(%r11),%r14d
movzwl %r14w,%eax
movd   %r9d,%xmm0
movdqa %xmm2,%xmm1
punpcklwd %xmm0,%xmm1
pshufd $0xc8,%xmm1,%xmm0
pshuflw $0xa4,%xmm0,%xmm0
pshufhw $0xa0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
movswl %r10w,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
movd   %xmm2,%edi
movswl %r8w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x38d3(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r13w,%esi
movswl %r15w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
mov    $0x19,%ebx
cmp    %eax,%ebp
jne    501d <get_first_winning_move_3+0x3f0d>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1c,%eax
mov    %r11,0x48(%rsp)
sub    %r11d,%eax
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     38ee <get_first_winning_move_3+0x27de>
jmp    6404 <get_first_winning_move_3+0x52f4>
cmp    $0x5,%r11w
jl     1240 <get_first_winning_move_3+0x130>
lea    -0x4(%r11),%r14d
movzwl %r14w,%eax
movd   %r9d,%xmm0
movdqa %xmm2,%xmm1
punpcklwd %xmm0,%xmm1
pshufd $0xc8,%xmm1,%xmm0
pshuflw $0xa4,%xmm0,%xmm0
pshufhw $0xa0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %eax,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
movswl %r10w,%ecx
cmp    %ecx,%eax
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
movd   %xmm2,%edi
movswl %r8w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3796(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r13w,%esi
movswl %r15w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
mov    $0x19,%ebx
cmp    %eax,%ebp
jne    507d <get_first_winning_move_3+0x3f6d>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1d,%eax
mov    %r11,0x48(%rsp)
sub    %r11d,%eax
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    640d <get_first_winning_move_3+0x52fd>
mov    $0x19,%r10d
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,%r13d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x36ed(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
mov    %r14d,%r8d
jmp    5223 <get_first_winning_move_3+0x4113>
cmp    $0x5,%r11w
jl     1240 <get_first_winning_move_3+0x130>
mov    %r11d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1240 <get_first_winning_move_3+0x130>
mov    %r13d,0x30(%rsp)
lea    -0x5(%r11),%r13d
movzwl %r13w,%ecx
movd   %r9d,%xmm0
movdqa %xmm2,%xmm1
punpcklwd %xmm0,%xmm1
pshufd $0xc8,%xmm1,%xmm0
pshuflw $0xa4,%xmm0,%xmm0
pshufhw $0xa0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %ecx,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%eax
test   %eax,%eax
jne    58a2 <get_first_winning_move_3+0x4792>
pextrw $0x1,%xmm2,%edx
movswl %dx,%eax
cmp    %eax,%ecx
je     58b0 <get_first_winning_move_3+0x47a0>
movswl %r10w,%eax
cmp    %eax,%ecx
je     5154 <get_first_winning_move_3+0x4044>
mov    %r10,%rax
movd   %xmm2,%edi
movswl %r8w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %r10d,%r10d
test   %r9w,%r9w
cmove  %r10d,%r15d
mov    $0x19,%r14d
sub    %edx,%r14d
test   %dx,%dx
cmove  %r10d,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x35f6(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r14w,%esi
movswl %r15w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
cmp    %ecx,%ebp
mov    %r11,0x48(%rsp)
mov    $0x19,%ebx
jne    5162 <get_first_winning_move_3+0x4052>
sub    %edi,%ebx
test   %di,%di
cmove  %r10d,%ebx
sub    %eax,%r12d
test   %ax,%ax
cmove  %r10d,%r12d
mov    $0x1e,%ebp
sub    %r11d,%ebp
test   %r13w,%r13w
cmove  %r10d,%ebp
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %bp,%ebp
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6416 <get_first_winning_move_3+0x5306>
mov    $0x19,%r10d
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3545(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
mov    %r13d,%r8d
jmp    5223 <get_first_winning_move_3+0x4113>
test   %r11w,%r11w
je     3cd3 <get_first_winning_move_3+0x2bc3>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1240 <get_first_winning_move_3+0x130>
lea    -0x1(%r11),%eax
cmp    %r9w,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1240 <get_first_winning_move_3+0x130>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1240 <get_first_winning_move_3+0x130>
cmp    %r10w,%ax
je     1240 <get_first_winning_move_3+0x130>
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r9d,%r15d
xor    %ecx,%ecx
test   %r9w,%r9w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3465(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edi
movswl %r14w,%esi
mov    %r8,%rbp
movswl %r15w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x48(%rsp)
mov    $0x19,%ebx
jne    55c8 <get_first_winning_move_3+0x44b8>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1a,%eax
sub    %r11d,%eax
mov    %rbp,0x30(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %di,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6489 <get_first_winning_move_3+0x5379>
mov    $0x19,%r10d
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x10(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x33b6(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
movdqa %xmm1,%xmm2
lea    0x33d4(%rip),%r12
mov    0x48(%rsp),%r11
mov    0x30(%rsp),%r8
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
xor    %r9d,%r9d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
pand   0x337f(%rip),%xmm2
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
movdqa %xmm2,%xmm0
pand   0x335a(%rip),%xmm0
movdqa %xmm0,%xmm2
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
xor    %r11d,%r11d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %dx,%r10w
jne    569a <get_first_winning_move_3+0x458a>
mov    $0x18,%ecx
sub    %r9d,%ecx
mov    %r10,%r12
test   %r10w,%r10w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x32d8(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %esi,%ebx
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movswl %dx,%esi
movswl %bx,%edx
movswl %cx,%r8d
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     52ec <get_first_winning_move_3+0x41dc>
jmp    63aa <get_first_winning_move_3+0x529a>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r8,%rbp
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r8d,%r8d
test   %di,%di
cmove  %r8d,%ebx
mov    $0x19,%r15d
sub    %r9d,%r15d
test   %r9w,%r9w
cmove  %r8d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r8d,%ecx
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
mov    %ecx,0x20(%rsp)
movswl %cx,%esi
movswl %r15w,%ecx
mov    %ecx,0x10(%rsp)
cmp    %r10w,%dx
jne    5747 <get_first_winning_move_3+0x4637>
mov    $0x18,%ecx
sub    %r13d,%ecx
mov    %r10,%r14
test   %r10w,%r10w
cmove  %r8d,%ecx
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
cmove  %r8d,%ebx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %r8d,%ebp
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r8d,%r12d
movswl %bx,%edx
movswl %cx,%r9d
movswl %bp,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63b3 <get_first_winning_move_3+0x52a3>
mov    $0x19,%r11d
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %ebp,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3152(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
pinsrw $0x2,%r13d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0x30(%rsp),%r13d
lea    0x3164(%rip),%r12
mov    %r14,%r10
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %ecx,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
mov    %r10,%rsi
mov    $0x18,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     4b4e <get_first_winning_move_3+0x3a3e>
jmp    6398 <get_first_winning_move_3+0x5288>
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x18,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %di,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5625 <get_first_winning_move_3+0x4515>
jmp    63a1 <get_first_winning_move_3+0x5291>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %edx,%r14d
xor    %esi,%esi
test   %dx,%dx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %cx,%r10w
jne    58be <get_first_winning_move_3+0x47ae>
mov    $0x15,%ecx
sub    %r9d,%ecx
mov    %r10,%r12
test   %r10w,%r10w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x2fcc(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %esi,%ebx
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movswl %dx,%esi
movswl %bx,%edx
movswl %cx,%r8d
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     52ec <get_first_winning_move_3+0x41dc>
jmp    6428 <get_first_winning_move_3+0x5318>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %dx,%r10w
jne    596b <get_first_winning_move_3+0x485b>
mov    $0x14,%ecx
sub    %r9d,%ecx
mov    %r10,%r12
test   %r10w,%r10w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x2f0c(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %esi,%ebx
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movswl %dx,%esi
movswl %bx,%edx
movswl %cx,%r8d
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     52ec <get_first_winning_move_3+0x41dc>
jmp    642f <get_first_winning_move_3+0x531f>
movswl %r10w,%ebp
mov    $0x1c,%ecx
sub    %r9d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
mov    %r8,%rdx
xor    %r8d,%r8d
test   %dx,%dx
cmove  %r8d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2e72(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%edi
pextrw $0x1,%xmm1,%esi
movswl %r15w,%edx
movswl %cx,%ecx
mov    %ecx,0x30(%rsp)
pextrw $0x2,%xmm1,%r9d
mov    %r10,%rcx
movd   %xmm1,%r10d
cmp    %eax,%ebp
movdqa %xmm1,0x10(%rsp)
je     11af <get_first_winning_move_3+0x9f>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r8d,%ebp
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r8d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5a62 <get_first_winning_move_3+0x4952>
jmp    641f <get_first_winning_move_3+0x530f>
movswl %r10w,%ebp
mov    $0x1d,%ecx
sub    %r9d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
mov    %r8,%rdx
xor    %r8d,%r8d
test   %dx,%dx
cmove  %r8d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2db3(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%edi
pextrw $0x1,%xmm1,%esi
movswl %r15w,%edx
movswl %cx,%ecx
mov    %ecx,0x30(%rsp)
pextrw $0x2,%xmm1,%r9d
mov    %r10,%rcx
movd   %xmm1,%r10d
cmp    %eax,%ebp
movdqa %xmm1,0x10(%rsp)
jne    5a18 <get_first_winning_move_3+0x4908>
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r8d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     11e8 <get_first_winning_move_3+0xd8>
jmp    6438 <get_first_winning_move_3+0x5328>
mov    %r8,%rcx
mov    %r11,%r8
movswl %r10w,%edi
mov    $0x1e,%ebp
sub    %r9d,%ebp
xor    %r11d,%r11d
test   %ax,%ax
cmove  %r11d,%ebp
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r11d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2cfb(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%ecx
pextrw $0x1,%xmm1,%r12d
movswl %r15w,%edx
movswl %bp,%ebp
pextrw $0x2,%xmm1,%r9d
mov    %r10,%rsi
movd   %xmm1,%r10d
cmp    %eax,%edi
movdqa %xmm1,0x30(%rsp)
jne    5ac1 <get_first_winning_move_3+0x49b1>
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r11d,%ebx
movswl %cx,%edi
movswl %r12w,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
mov    %ebp,%r8d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6441 <get_first_winning_move_3+0x5331>
pxor   %xmm2,%xmm2
movdqa 0x2c7d(%rip),%xmm0
movdqa 0x30(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
mov    %r14d,%r10d
jmp    5b5d <get_first_winning_move_3+0x4a4d>
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
mov    $0x19,%r15d
psrlq  $0x10,%xmm2
movswl %r14w,%edi
cmp    %dx,%r10w
jne    5b72 <get_first_winning_move_3+0x4a62>
mov    $0x16,%ecx
sub    %r9d,%ecx
mov    %r10,%r12
test   %r10w,%r10w
cmove  %esi,%ecx
pxor   %xmm1,%xmm1
movdqa 0x2be7(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %esi,%ebx
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movswl %dx,%esi
movswl %bx,%edx
movswl %cx,%r8d
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     52ec <get_first_winning_move_3+0x41dc>
jmp    644a <get_first_winning_move_3+0x533a>
mov    %r8,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r8d,%r8d
test   %di,%di
cmove  %r8d,%ebx
mov    $0x19,%r15d
sub    %r9d,%r15d
test   %r9w,%r9w
cmove  %r8d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r8d,%ecx
movswl %bx,%edi
movswl %cx,%esi
movswl %r15w,%r9d
cmp    %r10w,%dx
mov    %ecx,0x20(%rsp)
mov    %ebx,0xc(%rsp)
jne    5c1a <get_first_winning_move_3+0x4b0a>
mov    $0x15,%ecx
sub    %ebp,%ecx
mov    %r10,0x10(%rsp)
test   %r10w,%r10w
cmove  %r8d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r8d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r8d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %r14w,%edx
mov    %r9d,%r8d
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     49a4 <get_first_winning_move_3+0x3894>
jmp    6453 <get_first_winning_move_3+0x5343>
mov    %r8,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r8d,%r8d
test   %di,%di
cmove  %r8d,%ebx
mov    $0x19,%r15d
sub    %r9d,%r15d
test   %r9w,%r9w
cmove  %r8d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r8d,%ecx
movswl %bx,%edi
movswl %cx,%esi
movswl %r15w,%r9d
cmp    %r10w,%dx
mov    %ecx,0x20(%rsp)
mov    %ebx,0xc(%rsp)
jne    5c9f <get_first_winning_move_3+0x4b8f>
mov    $0x14,%ecx
sub    %ebp,%ecx
mov    %r10,0x10(%rsp)
test   %r10w,%r10w
cmove  %r8d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r8d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r8d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %r14w,%edx
mov    %r9d,%r8d
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     49a4 <get_first_winning_move_3+0x3894>
jmp    645c <get_first_winning_move_3+0x534c>
mov    %r11,0x48(%rsp)
movswl %r10w,%r11d
mov    $0x19,%ebx
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %r12d,%r12d
test   %dx,%dx
cmove  %r12d,%r13d
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %r12d,%r14d
mov    $0x1c,%ebp
sub    %r15d,%ebp
mov    $0x19,%ecx
sub    %r8d,%ecx
test   %r8w,%r8w
cmove  %r12d,%ecx
pxor   %xmm1,%xmm1
movdqa 0x2992(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
movswl %r13w,%edi
pextrw $0x1,%xmm1,%esi
mov    %ecx,0x10(%rsp)
movswl %cx,%edx
movswl %r14w,%r8d
movswl %bp,%r9d
mov    %r10,%rcx
movd   %xmm1,%r10d
cmp    %r11d,%eax
movdqa %xmm1,0x20(%rsp)
jne    5da3 <get_first_winning_move_3+0x4c93>
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r12d,%ebx
movswl %si,%esi
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     486a <get_first_winning_move_3+0x375a>
jmp    6465 <get_first_winning_move_3+0x5355>
mov    %r11,0x48(%rsp)
movswl %r10w,%r11d
mov    $0x19,%ebx
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %r12d,%r12d
test   %dx,%dx
cmove  %r12d,%r13d
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %r12d,%r14d
mov    $0x1d,%ebp
sub    %r15d,%ebp
mov    $0x19,%ecx
sub    %r8d,%ecx
test   %r8w,%r8w
cmove  %r12d,%ecx
pxor   %xmm1,%xmm1
movdqa 0x28cc(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
movswl %r13w,%edi
pextrw $0x1,%xmm1,%esi
mov    %ecx,0x10(%rsp)
movswl %cx,%edx
movswl %r14w,%r8d
movswl %bp,%r9d
mov    %r10,%rcx
movd   %xmm1,%r10d
cmp    %r11d,%eax
movdqa %xmm1,0x20(%rsp)
jne    5de9 <get_first_winning_move_3+0x4cd9>
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r12d,%ebx
movswl %si,%esi
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     486a <get_first_winning_move_3+0x375a>
jmp    646e <get_first_winning_move_3+0x535e>
mov    %r11,0x48(%rsp)
movswl %r10w,%r11d
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%r13d
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x19,%ebx
mov    $0x1e,%ebp
sub    %r15d,%ebp
test   %ax,%ax
cmove  %ecx,%ebp
mov    $0x19,%edx
sub    %r8d,%edx
test   %r8w,%r8w
cmove  %ecx,%edx
pxor   %xmm1,%xmm1
movdqa 0x2802(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
movswl %r13w,%edi
pextrw $0x1,%xmm1,%r12d
mov    %edx,0x10(%rsp)
movswl %dx,%edx
movswl %r14w,%r8d
movswl %bp,%r9d
mov    %r10,%rsi
movd   %xmm1,%r10d
cmp    %r11d,%eax
movdqa %xmm1,0x20(%rsp)
jne    5e2b <get_first_winning_move_3+0x4d1b>
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r12w,%esi
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6477 <get_first_winning_move_3+0x5367>
mov    $0x19,%r11d
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
pxor   %xmm2,%xmm2
movdqa 0x2762(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r8d
mov    0x10(%rsp),%edx
sub    %edx,%r8d
test   %dx,%dx
cmove  %eax,%r8d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0xc(%rsp),%eax
mov    %eax,%r10d
jmp    5eea <get_first_winning_move_3+0x4dda>
mov    %r8,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r8d,%r8d
test   %di,%di
cmove  %r8d,%ebx
mov    $0x19,%r15d
sub    %r9d,%r15d
test   %r9w,%r9w
cmove  %r8d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r8d,%ecx
movswl %bx,%edi
movswl %cx,%esi
movswl %r15w,%r9d
cmp    %r10w,%dx
mov    %ecx,0x20(%rsp)
mov    %ebx,0xc(%rsp)
jne    5eff <get_first_winning_move_3+0x4def>
mov    $0x16,%ecx
sub    %ebp,%ecx
mov    %r10,0x10(%rsp)
test   %r10w,%r10w
cmove  %r8d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r8d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r8d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %r14w,%edx
mov    %r9d,%r8d
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6480 <get_first_winning_move_3+0x5370>
mov    $0x19,%r11d
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x261b(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %r14d,%r8d
test   %r14w,%r14w
cmove  %eax,%r8d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0x30(%rsp),%r13d
mov    0x10(%rsp),%r10
lea    0x2628(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %ecx,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
mov    %r10,%rsi
mov    $0x15,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     4b4e <get_first_winning_move_3+0x3a3e>
jmp    63bc <get_first_winning_move_3+0x52ac>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %ecx,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
mov    %r10,%rsi
mov    $0x14,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63c5 <get_first_winning_move_3+0x52b5>
mov    $0x19,%r9d
sub    %r13d,%r9d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x2481(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r8d
sub    %ebp,%r8d
test   %bp,%bp
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebx,%r10d
test   %bx,%bx
jmp    55a8 <get_first_winning_move_3+0x4498>
lea    0x2487(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    %r10,%rdx
mov    $0x1c,%r10d
sub    %eax,%r10d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r13w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     4cf1 <get_first_winning_move_3+0x3be1>
jmp    63ce <get_first_winning_move_3+0x52be>
lea    0x23ed(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    %r10,%rdx
mov    $0x1d,%r10d
sub    %eax,%r10d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %r12w,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r13w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63d7 <get_first_winning_move_3+0x52c7>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
movd   %r13d,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x22de(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
jmp    4e26 <get_first_winning_move_3+0x3d16>
lea    0x230e(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r13d,0x30(%rsp)
mov    $0x19,%r13d
sub    %esi,%r13d
test   %si,%si
cmove  %r9d,%r13d
mov    $0x19,%r14d
sub    %edx,%r14d
test   %dx,%dx
cmove  %r9d,%r14d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r9d,%ebx
mov    %r10,%rdx
mov    $0x1e,%r10d
sub    %eax,%r10d
test   %r12d,%r12d
cmove  %r12d,%r10d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r13w,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63e0 <get_first_winning_move_3+0x52d0>
mov    $0x19,%r9d
mov    0x54(%rsp),%ecx
sub    %ecx,%r9d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x21ee(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
jmp    55a8 <get_first_winning_move_3+0x4498>
mov    %r13d,0x30(%rsp)
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %ecx,%ebp
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %ecx,%r13d
mov    %r10,%rsi
mov    $0x16,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %ecx,%r15d
movswl %bx,%esi
movswl %r13w,%edx
movswl %r12w,%ecx
movswl %bp,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63e9 <get_first_winning_move_3+0x52d9>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
movd   %ebp,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x20ea(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%ecx
sub    %ebx,%ecx
test   %bx,%bx
cmove  %eax,%ecx
mov    $0x19,%r8d
sub    %r13d,%r8d
test   %r13w,%r13w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %r12d,%r10d
test   %r12w,%r12w
jmp    55a8 <get_first_winning_move_3+0x4498>
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x15,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %di,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5625 <get_first_winning_move_3+0x4515>
jmp    63f2 <get_first_winning_move_3+0x52e2>
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x14,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %di,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5625 <get_first_winning_move_3+0x4515>
jmp    63fb <get_first_winning_move_3+0x52eb>
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1c,%eax
mov    %r11,%r14
sub    %r11d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     50dc <get_first_winning_move_3+0x3fcc>
jmp    6404 <get_first_winning_move_3+0x52f4>
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1d,%eax
mov    %r11,%r14
sub    %r11d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    640d <get_first_winning_move_3+0x52fd>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r13d,%xmm0
mov    $0x19,%r10d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x1eff(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
movdqa %xmm1,%xmm2
mov    0x30(%rsp),%r13d
lea    0x1f08(%rip),%r12
mov    %r14,%r11
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r10d,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r10d,%ebp
sub    %eax,%r12d
test   %ax,%ax
cmove  %r10d,%r12d
mov    $0x1e,%eax
sub    %r11d,%eax
test   %r13w,%r13w
cmove  %r10d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6416 <get_first_winning_move_3+0x5306>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r10d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x1e14(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
movdqa %xmm1,%xmm2
mov    0x30(%rsp),%r13d
jmp    5685 <get_first_winning_move_3+0x4575>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
cmp    %dx,%r10w
jne    601a <get_first_winning_move_3+0x4f0a>
mov    $0x1a,%ecx
sub    %r9d,%ecx
mov    %r10,%r12
test   %r10w,%r10w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1d8a(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movd   %xmm2,%eax
movswl %r14w,%edi
movswl %ax,%esi
movswl %bx,%edx
movswl %cx,%r8d
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6492 <get_first_winning_move_3+0x5382>
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x1d03(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x1d27(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r8d
sub    %ebx,%r8d
xor    %eax,%eax
test   %bx,%bx
cmove  %eax,%r8d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
mov    0x20(%rsp),%r9
mov    %r12,%r10
lea    0x1d01(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %esi,%esi
test   %di,%di
cmove  %esi,%ebx
mov    %ebx,0xc(%rsp)
mov    $0x19,%r13d
mov    $0x19,%edi
sub    %r9d,%edi
test   %r9w,%r9w
cmove  %esi,%edi
mov    %edi,0x20(%rsp)
mov    $0x19,%edi
sub    %ecx,%edi
test   %cx,%cx
cmove  %esi,%edi
mov    %edi,0x10(%rsp)
cmp    %r10w,%dx
jne    6140 <get_first_winning_move_3+0x5030>
mov    $0x1a,%ecx
sub    %ebp,%ecx
mov    %r10,%r15
test   %r10w,%r10w
cmove  %esi,%ecx
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %esi,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %esi,%r13d
movswl 0xc(%rsp),%edi
movswl 0x10(%rsp),%esi
movswl %r14w,%edx
movswl 0x20(%rsp),%r8d
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    649b <get_first_winning_move_3+0x538b>
mov    $0x19,%r11d
mov    $0x19,%r9d
mov    0x20(%rsp),%ecx
sub    %ecx,%r9d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x1b9c(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %r14d,%r8d
test   %r14w,%r14w
cmove  %eax,%r8d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0x30(%rsp),%r13d
mov    %r15,%r10
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r13d,0x30(%rsp)
mov    $0x19,%r15d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %ecx,%r15d
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
mov    %r10,%rsi
mov    $0x1a,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%r13d
sub    %esi,%r13d
test   %si,%si
cmove  %ecx,%r13d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %ecx,%r12d
movswl %r15w,%esi
movswl %bp,%edx
movswl %r13w,%ecx
movswl %bx,%r9d
movswl %r10w,%r10d
movswl %r12w,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    64a4 <get_first_winning_move_3+0x5394>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
movd   %ebx,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x1a97(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%ecx
sub    %r15d,%ecx
test   %r15w,%r15w
cmove  %eax,%ecx
mov    $0x19,%r8d
sub    %ebp,%r8d
test   %bp,%bp
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %eax,%r10d
pandn  %xmm2,%xmm0
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%ecx,%xmm1
punpckldq %xmm0,%xmm1
movdqa %xmm1,%xmm2
jmp    5eea <get_first_winning_move_3+0x4dda>
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1a,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %di,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6489 <get_first_winning_move_3+0x5379>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r10d
punpckldq 0x10(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x19b6(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
movdqa %xmm1,%xmm2
lea    0x19c4(%rip),%r12
mov    0x48(%rsp),%r11
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r8,%rcx
mov    $0x18,%r8d
sub    %r9d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1942(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movd   %xmm2,%eax
movswl %ax,%esi
movswl %r12w,%edx
movswl %bp,%ecx
movswl %r8w,%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     60c6 <get_first_winning_move_3+0x4fb6>
jmp    63aa <get_first_winning_move_3+0x529a>
mov    $0x18,%r9d
sub    %r13d,%r9d
test   %dx,%dx
cmove  %r8d,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
cmove  %r8d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r8d,%r14d
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r8d,%ebp
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r8d,%r12d
movswl %bx,%edx
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r12w,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    63b3 <get_first_winning_move_3+0x52a3>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
mov    $0x19,%r10d
pxor   %xmm2,%xmm2
movdqa 0x1800(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
pinsrw $0x2,%r13d,%xmm2
jmp    5ee5 <get_first_winning_move_3+0x4dd5>
lea    0x1807(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x17f7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x17e7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x17d7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x17c7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x17b7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r8,%rdx
mov    $0x15,%r8d
sub    %r9d,%r8d
test   %cx,%cx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x171e(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %edx,%r12d
test   %dx,%dx
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movd   %xmm2,%eax
movswl %ax,%esi
movswl %r12w,%edx
movswl %bp,%ecx
movswl %r8w,%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     60c6 <get_first_winning_move_3+0x4fb6>
jmp    6428 <get_first_winning_move_3+0x5318>
mov    %r8,%rcx
mov    $0x14,%r8d
sub    %r9d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1671(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movd   %xmm2,%eax
movswl %ax,%esi
movswl %r12w,%edx
movswl %bp,%ecx
movswl %r8w,%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     60c6 <get_first_winning_move_3+0x4fb6>
jmp    642f <get_first_winning_move_3+0x531f>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r8d,%ebp
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r8d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6438 <get_first_winning_move_3+0x5328>
pxor   %xmm2,%xmm2
movdqa 0x15a2(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    0x20(%rsp),%r9
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %ebp,%eax
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %r11d,%ebp
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r11d,%ebx
movswl %cx,%edi
movswl %r12w,%esi
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
mov    %eax,%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6441 <get_first_winning_move_3+0x5331>
pxor   %xmm2,%xmm2
movdqa 0x14f8(%rip),%xmm0
movdqa 0x30(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    0x20(%rsp),%r9
lea    0x14e7(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r8,%rcx
mov    $0x16,%r8d
sub    %r9d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
pxor   %xmm1,%xmm1
movdqa 0x146f(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movd   %xmm2,%eax
movswl %ax,%esi
movswl %r12w,%edx
movswl %bp,%ecx
movswl %r8w,%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     60c6 <get_first_winning_move_3+0x4fb6>
jmp    644a <get_first_winning_move_3+0x533a>
mov    %r9d,0x10(%rsp)
mov    $0x15,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r8d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r8d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r8d,%r14d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %r8d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5d1f <get_first_winning_move_3+0x4c0f>
jmp    6453 <get_first_winning_move_3+0x5343>
mov    %r9d,0x10(%rsp)
mov    $0x14,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r8d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r8d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r8d,%r14d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %r8d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    645c <get_first_winning_move_3+0x534c>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
mov    $0x19,%r10d
pxor   %xmm2,%xmm2
movdqa 0x129f(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
pinsrw $0x2,%ebp,%xmm2
jmp    5ee5 <get_first_winning_move_3+0x4dd5>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r12d,%ebp
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r12d,%ebx
movswl %si,%esi
movswl %bp,%ecx
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5e6b <get_first_winning_move_3+0x4d5b>
jmp    6465 <get_first_winning_move_3+0x5355>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r12d,%ebp
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r12d,%ebx
movswl %si,%esi
movswl %bp,%ecx
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
js     5e6b <get_first_winning_move_3+0x4d5b>
jmp    646e <get_first_winning_move_3+0x535e>
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %ecx,%ebp
mov    0x48(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r12w,%esi
movswl %bp,%ecx
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6477 <get_first_winning_move_3+0x5367>
mov    $0x19,%r9d
sub    %r14d,%r9d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r9d
mov    $0x19,%r10d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
pxor   %xmm2,%xmm2
movdqa 0x1161(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r8d
mov    0x10(%rsp),%edx
sub    %edx,%r8d
test   %dx,%dx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0x30(%rsp),%r13d
lea    0x115a(%rip),%r12
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r9d,0x10(%rsp)
mov    $0x16,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r8d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r8d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r8d,%r14d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %r8d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r8d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6480 <get_first_winning_move_3+0x5370>
mov    $0x19,%r9d
sub    %r15d,%r9d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
mov    $0x19,%r10d
pxor   %xmm0,%xmm0
movdqa 0x103f(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
pinsrw $0x2,%ebp,%xmm0
pinsrw $0x3,%ecx,%xmm0
movdqa %xmm0,%xmm2
jmp    5eea <get_first_winning_move_3+0x4dda>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    %r8,%rdi
mov    $0x1a,%r8d
sub    %r9d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0xfc2(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
movd   %xmm2,%ecx
mov    $0x19,%r12d
sub    %edi,%r12d
test   %di,%di
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %esi,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %esi,%r15d
movswl %r14w,%edi
movswl %cx,%esi
movswl %r12w,%edx
movswl %bp,%ecx
movswl %r8w,%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    6492 <get_first_winning_move_3+0x5382>
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0xf29(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0xf4d(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    $0x19,%r8d
sub    %r12d,%r8d
xor    %eax,%eax
test   %r12w,%r12w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
lea    0xf1e(%rip),%r12
mov    0x20(%rsp),%r9
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    $0x1a,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %esi,%r9d
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %esi,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%r15d
sub    %r10d,%r15d
test   %r10w,%r10w
cmove  %esi,%r15d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %esi,%r13d
movswl 0xc(%rsp),%edi
movswl 0x10(%rsp),%esi
movswl %r14w,%edx
movswl %r15w,%ecx
movswl 0x20(%rsp),%r8d
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
test   %eax,%eax
jns    649b <get_first_winning_move_3+0x538b>
mov    $0x19,%r9d
mov    0x20(%rsp),%ecx
sub    %ecx,%r9d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r9d
mov    $0x19,%ecx
mov    0xc(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
mov    $0x19,%r10d
pxor   %xmm2,%xmm2
movdqa 0xdf7(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r8d
sub    %r14d,%r8d
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r15d,%r10d
test   %r15w,%r15w
cmove  %eax,%r10d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
mov    0x30(%rsp),%r13d
add    $0x1,%r13d
jmp    1244 <get_first_winning_move_3+0x134>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
je     6518 <get_first_winning_move_3+0x5408>
cmp    $0x14,%r11w
jg     6518 <get_first_winning_move_3+0x5408>
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     6518 <get_first_winning_move_3+0x5408>
mov    %r9,%rbx
lea    0x3(%r11),%eax
cmp    %bx,%ax
je     6518 <get_first_winning_move_3+0x5408>
pextrw $0x2,%xmm2,%edi
cmp    %di,%ax
je     6518 <get_first_winning_move_3+0x5408>
movd   %xmm2,%esi
cmp    %si,%ax
je     6518 <get_first_winning_move_3+0x5408>
pextrw $0x3,%xmm2,%edx
cmp    %dx,%ax
je     6518 <get_first_winning_move_3+0x5408>
pextrw $0x1,%xmm2,%ebp
cmp    %bp,%ax
je     6518 <get_first_winning_move_3+0x5408>
mov    %r10,%r12
cmp    %r12w,%ax
je     6518 <get_first_winning_move_3+0x5408>
mov    %r8,%r13
mov    %r11,%r15
mov    $0x19,%r14d
sub    %edx,%r14d
xor    %r9d,%r9d
test   %dx,%dx
cmove  %r9d,%r14d
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
cmove  %r9d,%r8d
mov    $0x19,%ecx
mov    $0x19,%edx
sub    %ebp,%edx
test   %bp,%bp
cmove  %r9d,%edx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r9d,%ebp
mov    $0x19,%r10d
cmp    %ax,%r13w
jne    64ad <get_first_winning_move_3+0x539d>
sub    %esi,%r10d
test   %si,%si
cmove  %r9d,%r10d
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %r9d,%ecx
mov    $0x16,%eax
sub    %r15d,%eax
test   %r13w,%r13w
cmove  %r9d,%eax
movswl %r14w,%edi
movswl %dx,%esi
movswl %cx,%ecx
movswl %r8w,%r8d
movswl %bp,%r9d
movswl %r10w,%ebp
movswl %ax,%ebx
xor    %edx,%edx
jmp    64ff <get_first_winning_move_3+0x53ef>
mov    $0x12,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1a,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x2,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xa,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x10,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x11,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x13,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x14,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x15,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x17,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x18,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x19,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1b,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1c,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1d,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x3,%cx
jmp    1162 <get_first_winning_move_3+0x52>
xor    %ecx,%ecx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x4,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x5,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x7,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x8,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x9,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xb,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xc,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xd,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xf,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x1e,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x6,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0xe,%cx
jmp    1162 <get_first_winning_move_3+0x52>
mov    $0x16,%cx
jmp    1162 <get_first_winning_move_3+0x52>
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r9d,%r10d
mov    $0x19,%r11d
sub    %esi,%r11d
test   %si,%si
cmove  %r9d,%r11d
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %r9d,%ecx
mov    $0x16,%ebx
sub    %r15d,%ebx
test   %ax,%ax
cmove  %r9d,%ebx
movswl %r14w,%edi
movswl %dx,%esi
movswl %r10w,%edx
movswl %cx,%ecx
movswl %r8w,%r8d
movswl %bp,%r9d
movswl %r11w,%ebp
movswl %bx,%ebx
xor    %eax,%eax
push   %rbx
push   %rbp
call   1030 <get_first_losing_move@plt>
add    $0x10,%rsp
mov    $0x1f,%cx
test   %eax,%eax
jns    1162 <get_first_winning_move_3+0x52>
mov    $0xffff,%cx
jmp    1162 <get_first_winning_move_3+0x52>

LLVM IR (-O0):
define signext i16 @get_first_winning_move_3(i16 signext %0, i16 signext %1, i16 signext %2, i16 signext %3, i16 signext %4, i16 signext %5, i16 signext %6, i16 signext %7) {
%9 = alloca i16
%10 = alloca i16
%11 = alloca i16
%12 = alloca i16
%13 = alloca i16
%14 = alloca i16
%15 = alloca i16
%16 = alloca i16
%17 = alloca i16
%18 = alloca i16
%19 = alloca i16
%20 = alloca i16
%21 = alloca i16
store i16 %0, i16* %10
store i16 %1, i16* %11
store i16 %2, i16* %12
store i16 %3, i16* %13
store i16 %4, i16* %14
store i16 %5, i16* %15
store i16 %6, i16* %16
store i16 %7, i16* %17
%22 = load i16, i16* %10
%23 = sext i16 %22 to i32
%24 = load i16, i16* %11
%25 = sext i16 %24 to i32
%26 = load i16, i16* %12
%27 = sext i16 %26 to i32
%28 = load i16, i16* %13
%29 = sext i16 %28 to i32
%30 = load i16, i16* %14
%31 = sext i16 %30 to i32
%32 = load i16, i16* %15
%33 = sext i16 %32 to i32
%34 = load i16, i16* %16
%35 = sext i16 %34 to i32
%36 = load i16, i16* %17
%37 = sext i16 %36 to i32
%38 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %23, i32 %25, i32 %27, i32 %29, i32 %31, i32 %33, i32 %35, i32 %37)
%39 = icmp ne i32 %38, -1
br i1 %39, label %40, label %41
40: ; preds = %8
store i16 -2, i16* %9
br label %18762
41: ; preds = %8
store i16 0, i16* %21
br label %42
42: ; preds = %18758, %41
%43 = load i16, i16* %21
%44 = sext i16 %43 to i32
%45 = icmp slt i32 %44, 32
br i1 %45, label %46, label %18761
46: ; preds = %42
%47 = load i16, i16* %21
%48 = sext i16 %47 to i32
%49 = icmp eq i32 %48, 0
br i1 %49, label %50, label %731
50: ; preds = %46
%51 = load i16, i16* %10
%52 = sext i16 %51 to i32
%53 = icmp ne i32 %52, 0
br i1 %53, label %54, label %730
54: ; preds = %50
%55 = load i16, i16* %10
%56 = sext i16 %55 to i32
%57 = icmp slt i32 %56, 21
br i1 %57, label %58, label %730
58: ; preds = %54
%59 = load i16, i16* %10
store i16 %59, i16* %19
%60 = load i16, i16* %19
%61 = sext i16 %60 to i32
%62 = add nsw i32 %61, 4
%63 = trunc i32 %62 to i16
store i16 %63, i16* %20
%64 = load i16, i16* %20
%65 = sext i16 %64 to i32
%66 = load i16, i16* %11
%67 = sext i16 %66 to i32
%68 = icmp ne i32 %65, %67
br i1 %68, label %69, label %729
69: ; preds = %58
%70 = load i16, i16* %20
%71 = sext i16 %70 to i32
%72 = load i16, i16* %12
%73 = sext i16 %72 to i32
%74 = icmp ne i32 %71, %73
br i1 %74, label %75, label %729
75: ; preds = %69
%76 = load i16, i16* %20
%77 = sext i16 %76 to i32
%78 = load i16, i16* %13
%79 = sext i16 %78 to i32
%80 = icmp ne i32 %77, %79
br i1 %80, label %81, label %729
81: ; preds = %75
%82 = load i16, i16* %20
%83 = sext i16 %82 to i32
%84 = load i16, i16* %14
%85 = sext i16 %84 to i32
%86 = icmp ne i32 %83, %85
br i1 %86, label %87, label %729
87: ; preds = %81
%88 = load i16, i16* %20
%89 = sext i16 %88 to i32
%90 = load i16, i16* %15
%91 = sext i16 %90 to i32
%92 = icmp ne i32 %89, %91
br i1 %92, label %93, label %729
93: ; preds = %87
%94 = load i16, i16* %20
store i16 %94, i16* %10
%95 = load i16, i16* %16
%96 = sext i16 %95 to i32
%97 = load i16, i16* %20
%98 = sext i16 %97 to i32
%99 = icmp eq i32 %96, %98
br i1 %99, label %100, label %307
100: ; preds = %93
store i16 0, i16* %16
%101 = load i16, i16* %10
store i16 %101, i16* %18
%102 = load i16, i16* %14
%103 = sext i16 %102 to i32
%104 = icmp eq i32 %103, 0
br i1 %104, label %105, label %106
105: ; preds = %100
br label %110
106: ; preds = %100
%107 = load i16, i16* %14
%108 = sext i16 %107 to i32
%109 = sub nsw i32 25, %108
br label %110
110: ; preds = %106, %105
%111 = phi i32 [ 0, %105 ], [ %109, %106 ]
%112 = trunc i32 %111 to i16
store i16 %112, i16* %10
%113 = load i16, i16* %18
%114 = sext i16 %113 to i32
%115 = icmp eq i32 %114, 0
br i1 %115, label %116, label %117
116: ; preds = %110
br label %121
117: ; preds = %110
%118 = load i16, i16* %18
%119 = sext i16 %118 to i32
%120 = sub nsw i32 25, %119
br label %121
121: ; preds = %117, %116
%122 = phi i32 [ 0, %116 ], [ %120, %117 ]
%123 = trunc i32 %122 to i16
store i16 %123, i16* %14
%124 = load i16, i16* %11
store i16 %124, i16* %18
%125 = load i16, i16* %15
%126 = sext i16 %125 to i32
%127 = icmp eq i32 %126, 0
br i1 %127, label %128, label %129
128: ; preds = %121
br label %133
129: ; preds = %121
%130 = load i16, i16* %15
%131 = sext i16 %130 to i32
%132 = sub nsw i32 25, %131
br label %133
133: ; preds = %129, %128
%134 = phi i32 [ 0, %128 ], [ %132, %129 ]
%135 = trunc i32 %134 to i16
store i16 %135, i16* %11
%136 = load i16, i16* %18
%137 = sext i16 %136 to i32
%138 = icmp eq i32 %137, 0
br i1 %138, label %139, label %140
139: ; preds = %133
br label %144
140: ; preds = %133
%141 = load i16, i16* %18
%142 = sext i16 %141 to i32
%143 = sub nsw i32 25, %142
br label %144
144: ; preds = %140, %139
%145 = phi i32 [ 0, %139 ], [ %143, %140 ]
%146 = trunc i32 %145 to i16
store i16 %146, i16* %15
%147 = load i16, i16* %12
store i16 %147, i16* %18
%148 = load i16, i16* %16
%149 = sext i16 %148 to i32
%150 = icmp eq i32 %149, 0
br i1 %150, label %151, label %152
151: ; preds = %144
br label %156
152: ; preds = %144
%153 = load i16, i16* %16
%154 = sext i16 %153 to i32
%155 = sub nsw i32 25, %154
br label %156
156: ; preds = %152, %151
%157 = phi i32 [ 0, %151 ], [ %155, %152 ]
%158 = trunc i32 %157 to i16
store i16 %158, i16* %12
%159 = load i16, i16* %18
%160 = sext i16 %159 to i32
%161 = icmp eq i32 %160, 0
br i1 %161, label %162, label %163
162: ; preds = %156
br label %167
163: ; preds = %156
%164 = load i16, i16* %18
%165 = sext i16 %164 to i32
%166 = sub nsw i32 25, %165
br label %167
167: ; preds = %163, %162
%168 = phi i32 [ 0, %162 ], [ %166, %163 ]
%169 = trunc i32 %168 to i16
store i16 %169, i16* %16
%170 = load i16, i16* %13
store i16 %170, i16* %18
%171 = load i16, i16* %17
%172 = sext i16 %171 to i32
%173 = icmp eq i32 %172, 0
br i1 %173, label %174, label %175
174: ; preds = %167
br label %179
175: ; preds = %167
%176 = load i16, i16* %17
%177 = sext i16 %176 to i32
%178 = sub nsw i32 25, %177
br label %179
179: ; preds = %175, %174
%180 = phi i32 [ 0, %174 ], [ %178, %175 ]
%181 = trunc i32 %180 to i16
store i16 %181, i16* %13
%182 = load i16, i16* %18
%183 = sext i16 %182 to i32
%184 = icmp eq i32 %183, 0
br i1 %184, label %185, label %186
185: ; preds = %179
br label %190
186: ; preds = %179
%187 = load i16, i16* %18
%188 = sext i16 %187 to i32
%189 = sub nsw i32 25, %188
br label %190
190: ; preds = %186, %185
%191 = phi i32 [ 0, %185 ], [ %189, %186 ]
%192 = trunc i32 %191 to i16
store i16 %192, i16* %17
%193 = load i16, i16* %10
%194 = sext i16 %193 to i32
%195 = load i16, i16* %11
%196 = sext i16 %195 to i32
%197 = load i16, i16* %12
%198 = sext i16 %197 to i32
%199 = load i16, i16* %13
%200 = sext i16 %199 to i32
%201 = load i16, i16* %14
%202 = sext i16 %201 to i32
%203 = load i16, i16* %15
%204 = sext i16 %203 to i32
%205 = load i16, i16* %16
%206 = sext i16 %205 to i32
%207 = load i16, i16* %17
%208 = sext i16 %207 to i32
%209 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %194, i32 %196, i32 %198, i32 %200, i32 %202, i32 %204, i32 %206, i32 %208)
%210 = icmp sle i32 0, %209
br i1 %210, label %211, label %213
211: ; preds = %190
%212 = load i16, i16* %21
store i16 %212, i16* %9
br label %18762
213: ; preds = %190
%214 = load i16, i16* %10
store i16 %214, i16* %18
%215 = load i16, i16* %14
%216 = sext i16 %215 to i32
%217 = icmp eq i32 %216, 0
br i1 %217, label %218, label %219
218: ; preds = %213
br label %223
219: ; preds = %213
%220 = load i16, i16* %14
%221 = sext i16 %220 to i32
%222 = sub nsw i32 25, %221
br label %223
223: ; preds = %219, %218
%224 = phi i32 [ 0, %218 ], [ %222, %219 ]
%225 = trunc i32 %224 to i16
store i16 %225, i16* %10
%226 = load i16, i16* %18
%227 = sext i16 %226 to i32
%228 = icmp eq i32 %227, 0
br i1 %228, label %229, label %230
229: ; preds = %223
br label %234
230: ; preds = %223
%231 = load i16, i16* %18
%232 = sext i16 %231 to i32
%233 = sub nsw i32 25, %232
br label %234
234: ; preds = %230, %229
%235 = phi i32 [ 0, %229 ], [ %233, %230 ]
%236 = trunc i32 %235 to i16
store i16 %236, i16* %14
%237 = load i16, i16* %11
store i16 %237, i16* %18
%238 = load i16, i16* %15
%239 = sext i16 %238 to i32
%240 = icmp eq i32 %239, 0
br i1 %240, label %241, label %242
241: ; preds = %234
br label %246
242: ; preds = %234
%243 = load i16, i16* %15
%244 = sext i16 %243 to i32
%245 = sub nsw i32 25, %244
br label %246
246: ; preds = %242, %241
%247 = phi i32 [ 0, %241 ], [ %245, %242 ]
%248 = trunc i32 %247 to i16
store i16 %248, i16* %11
%249 = load i16, i16* %18
%250 = sext i16 %249 to i32
%251 = icmp eq i32 %250, 0
br i1 %251, label %252, label %253
252: ; preds = %246
br label %257
253: ; preds = %246
%254 = load i16, i16* %18
%255 = sext i16 %254 to i32
%256 = sub nsw i32 25, %255
br label %257
257: ; preds = %253, %252
%258 = phi i32 [ 0, %252 ], [ %256, %253 ]
%259 = trunc i32 %258 to i16
store i16 %259, i16* %15
%260 = load i16, i16* %12
store i16 %260, i16* %18
%261 = load i16, i16* %16
%262 = sext i16 %261 to i32
%263 = icmp eq i32 %262, 0
br i1 %263, label %264, label %265
264: ; preds = %257
br label %269
265: ; preds = %257
%266 = load i16, i16* %16
%267 = sext i16 %266 to i32
%268 = sub nsw i32 25, %267
br label %269
269: ; preds = %265, %264
%270 = phi i32 [ 0, %264 ], [ %268, %265 ]
%271 = trunc i32 %270 to i16
store i16 %271, i16* %12
%272 = load i16, i16* %18
%273 = sext i16 %272 to i32
%274 = icmp eq i32 %273, 0
br i1 %274, label %275, label %276
275: ; preds = %269
br label %280
276: ; preds = %269
%277 = load i16, i16* %18
%278 = sext i16 %277 to i32
%279 = sub nsw i32 25, %278
br label %280
280: ; preds = %276, %275
%281 = phi i32 [ 0, %275 ], [ %279, %276 ]
%282 = trunc i32 %281 to i16
store i16 %282, i16* %16
%283 = load i16, i16* %13
store i16 %283, i16* %18
%284 = load i16, i16* %17
%285 = sext i16 %284 to i32
%286 = icmp eq i32 %285, 0
br i1 %286, label %287, label %288
287: ; preds = %280
br label %292
288: ; preds = %280
%289 = load i16, i16* %17
%290 = sext i16 %289 to i32
%291 = sub nsw i32 25, %290
br label %292
292: ; preds = %288, %287
%293 = phi i32 [ 0, %287 ], [ %291, %288 ]
%294 = trunc i32 %293 to i16
store i16 %294, i16* %13
%295 = load i16, i16* %18
%296 = sext i16 %295 to i32
%297 = icmp eq i32 %296, 0
br i1 %297, label %298, label %299
298: ; preds = %292
br label %303
299: ; preds = %292
%300 = load i16, i16* %18
%301 = sext i16 %300 to i32
%302 = sub nsw i32 25, %301
br label %303
303: ; preds = %299, %298
%304 = phi i32 [ 0, %298 ], [ %302, %299 ]
%305 = trunc i32 %304 to i16
store i16 %305, i16* %17
%306 = load i16, i16* %20
store i16 %306, i16* %16
br label %727
307: ; preds = %93
%308 = load i16, i16* %17
%309 = sext i16 %308 to i32
%310 = load i16, i16* %20
%311 = sext i16 %310 to i32
%312 = icmp eq i32 %309, %311
br i1 %312, label %313, label %520
313: ; preds = %307
store i16 0, i16* %17
%314 = load i16, i16* %10
store i16 %314, i16* %18
%315 = load i16, i16* %14
%316 = sext i16 %315 to i32
%317 = icmp eq i32 %316, 0
br i1 %317, label %318, label %319
318: ; preds = %313
br label %323
319: ; preds = %313
%320 = load i16, i16* %14
%321 = sext i16 %320 to i32
%322 = sub nsw i32 25, %321
br label %323
323: ; preds = %319, %318
%324 = phi i32 [ 0, %318 ], [ %322, %319 ]
%325 = trunc i32 %324 to i16
store i16 %325, i16* %10
%326 = load i16, i16* %18
%327 = sext i16 %326 to i32
%328 = icmp eq i32 %327, 0
br i1 %328, label %329, label %330
329: ; preds = %323
br label %334
330: ; preds = %323
%331 = load i16, i16* %18
%332 = sext i16 %331 to i32
%333 = sub nsw i32 25, %332
br label %334
334: ; preds = %330, %329
%335 = phi i32 [ 0, %329 ], [ %333, %330 ]
%336 = trunc i32 %335 to i16
store i16 %336, i16* %14
%337 = load i16, i16* %11
store i16 %337, i16* %18
%338 = load i16, i16* %15
%339 = sext i16 %338 to i32
%340 = icmp eq i32 %339, 0
br i1 %340, label %341, label %342
341: ; preds = %334
br label %346
342: ; preds = %334
%343 = load i16, i16* %15
%344 = sext i16 %343 to i32
%345 = sub nsw i32 25, %344
br label %346
346: ; preds = %342, %341
%347 = phi i32 [ 0, %341 ], [ %345, %342 ]
%348 = trunc i32 %347 to i16
store i16 %348, i16* %11
%349 = load i16, i16* %18
%350 = sext i16 %349 to i32
%351 = icmp eq i32 %350, 0
br i1 %351, label %352, label %353
352: ; preds = %346
br label %357
353: ; preds = %346
%354 = load i16, i16* %18
%355 = sext i16 %354 to i32
%356 = sub nsw i32 25, %355
br label %357
357: ; preds = %353, %352
%358 = phi i32 [ 0, %352 ], [ %356, %353 ]
%359 = trunc i32 %358 to i16
store i16 %359, i16* %15
%360 = load i16, i16* %12
store i16 %360, i16* %18
%361 = load i16, i16* %16
%362 = sext i16 %361 to i32
%363 = icmp eq i32 %362, 0
br i1 %363, label %364, label %365
364: ; preds = %357
br label %369
365: ; preds = %357
%366 = load i16, i16* %16
%367 = sext i16 %366 to i32
%368 = sub nsw i32 25, %367
br label %369
369: ; preds = %365, %364
%370 = phi i32 [ 0, %364 ], [ %368, %365 ]
%371 = trunc i32 %370 to i16
store i16 %371, i16* %12
%372 = load i16, i16* %18
%373 = sext i16 %372 to i32
%374 = icmp eq i32 %373, 0
br i1 %374, label %375, label %376
375: ; preds = %369
br label %380
376: ; preds = %369
%377 = load i16, i16* %18
%378 = sext i16 %377 to i32
%379 = sub nsw i32 25, %378
br label %380
380: ; preds = %376, %375
%381 = phi i32 [ 0, %375 ], [ %379, %376 ]
%382 = trunc i32 %381 to i16
store i16 %382, i16* %16
%383 = load i16, i16* %13
store i16 %383, i16* %18
%384 = load i16, i16* %17
%385 = sext i16 %384 to i32
%386 = icmp eq i32 %385, 0
br i1 %386, label %387, label %388
387: ; preds = %380
br label %392
388: ; preds = %380
%389 = load i16, i16* %17
%390 = sext i16 %389 to i32
%391 = sub nsw i32 25, %390
br label %392
392: ; preds = %388, %387
%393 = phi i32 [ 0, %387 ], [ %391, %388 ]
%394 = trunc i32 %393 to i16
store i16 %394, i16* %13
%395 = load i16, i16* %18
%396 = sext i16 %395 to i32
%397 = icmp eq i32 %396, 0
br i1 %397, label %398, label %399
398: ; preds = %392
br label %403
399: ; preds = %392
%400 = load i16, i16* %18
%401 = sext i16 %400 to i32
%402 = sub nsw i32 25, %401
br label %403
403: ; preds = %399, %398
%404 = phi i32 [ 0, %398 ], [ %402, %399 ]
%405 = trunc i32 %404 to i16
store i16 %405, i16* %17
%406 = load i16, i16* %10
%407 = sext i16 %406 to i32
%408 = load i16, i16* %11
%409 = sext i16 %408 to i32
%410 = load i16, i16* %12
%411 = sext i16 %410 to i32
%412 = load i16, i16* %13
%413 = sext i16 %412 to i32
%414 = load i16, i16* %14
%415 = sext i16 %414 to i32
%416 = load i16, i16* %15
%417 = sext i16 %416 to i32
%418 = load i16, i16* %16
%419 = sext i16 %418 to i32
%420 = load i16, i16* %17
%421 = sext i16 %420 to i32
%422 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %407, i32 %409, i32 %411, i32 %413, i32 %415, i32 %417, i32 %419, i32 %421)
%423 = icmp sle i32 0, %422
br i1 %423, label %424, label %426
424: ; preds = %403
%425 = load i16, i16* %21
store i16 %425, i16* %9
br label %18762
426: ; preds = %403
%427 = load i16, i16* %10
store i16 %427, i16* %18
%428 = load i16, i16* %14
%429 = sext i16 %428 to i32
%430 = icmp eq i32 %429, 0
br i1 %430, label %431, label %432
431: ; preds = %426
br label %436
432: ; preds = %426
%433 = load i16, i16* %14
%434 = sext i16 %433 to i32
%435 = sub nsw i32 25, %434
br label %436
436: ; preds = %432, %431
%437 = phi i32 [ 0, %431 ], [ %435, %432 ]
%438 = trunc i32 %437 to i16
store i16 %438, i16* %10
%439 = load i16, i16* %18
%440 = sext i16 %439 to i32
%441 = icmp eq i32 %440, 0
br i1 %441, label %442, label %443
442: ; preds = %436
br label %447
443: ; preds = %436
%444 = load i16, i16* %18
%445 = sext i16 %444 to i32
%446 = sub nsw i32 25, %445
br label %447
447: ; preds = %443, %442
%448 = phi i32 [ 0, %442 ], [ %446, %443 ]
%449 = trunc i32 %448 to i16
store i16 %449, i16* %14
%450 = load i16, i16* %11
store i16 %450, i16* %18
%451 = load i16, i16* %15
%452 = sext i16 %451 to i32
%453 = icmp eq i32 %452, 0
br i1 %453, label %454, label %455
454: ; preds = %447
br label %459
455: ; preds = %447
%456 = load i16, i16* %15
%457 = sext i16 %456 to i32
%458 = sub nsw i32 25, %457
br label %459
459: ; preds = %455, %454
%460 = phi i32 [ 0, %454 ], [ %458, %455 ]
%461 = trunc i32 %460 to i16
store i16 %461, i16* %11
%462 = load i16, i16* %18
%463 = sext i16 %462 to i32
%464 = icmp eq i32 %463, 0
br i1 %464, label %465, label %466
465: ; preds = %459
br label %470
466: ; preds = %459
%467 = load i16, i16* %18
%468 = sext i16 %467 to i32
%469 = sub nsw i32 25, %468
br label %470
470: ; preds = %466, %465
%471 = phi i32 [ 0, %465 ], [ %469, %466 ]
%472 = trunc i32 %471 to i16
store i16 %472, i16* %15
%473 = load i16, i16* %12
store i16 %473, i16* %18
%474 = load i16, i16* %16
%475 = sext i16 %474 to i32
%476 = icmp eq i32 %475, 0
br i1 %476, label %477, label %478
477: ; preds = %470
br label %482
478: ; preds = %470
%479 = load i16, i16* %16
%480 = sext i16 %479 to i32
%481 = sub nsw i32 25, %480
br label %482
482: ; preds = %478, %477
%483 = phi i32 [ 0, %477 ], [ %481, %478 ]
%484 = trunc i32 %483 to i16
store i16 %484, i16* %12
%485 = load i16, i16* %18
%486 = sext i16 %485 to i32
%487 = icmp eq i32 %486, 0
br i1 %487, label %488, label %489
488: ; preds = %482
br label %493
489: ; preds = %482
%490 = load i16, i16* %18
%491 = sext i16 %490 to i32
%492 = sub nsw i32 25, %491
br label %493
493: ; preds = %489, %488
%494 = phi i32 [ 0, %488 ], [ %492, %489 ]
%495 = trunc i32 %494 to i16
store i16 %495, i16* %16
%496 = load i16, i16* %13
store i16 %496, i16* %18
%497 = load i16, i16* %17
%498 = sext i16 %497 to i32
%499 = icmp eq i32 %498, 0
br i1 %499, label %500, label %501
500: ; preds = %493
br label %505
501: ; preds = %493
%502 = load i16, i16* %17
%503 = sext i16 %502 to i32
%504 = sub nsw i32 25, %503
br label %505
505: ; preds = %501, %500
%506 = phi i32 [ 0, %500 ], [ %504, %501 ]
%507 = trunc i32 %506 to i16
store i16 %507, i16* %13
%508 = load i16, i16* %18
%509 = sext i16 %508 to i32
%510 = icmp eq i32 %509, 0
br i1 %510, label %511, label %512
511: ; preds = %505
br label %516
512: ; preds = %505
%513 = load i16, i16* %18
%514 = sext i16 %513 to i32
%515 = sub nsw i32 25, %514
br label %516
516: ; preds = %512, %511
%517 = phi i32 [ 0, %511 ], [ %515, %512 ]
%518 = trunc i32 %517 to i16
store i16 %518, i16* %17
%519 = load i16, i16* %20
store i16 %519, i16* %17
br label %726
520: ; preds = %307
%521 = load i16, i16* %10
store i16 %521, i16* %18
%522 = load i16, i16* %14
%523 = sext i16 %522 to i32
%524 = icmp eq i32 %523, 0
br i1 %524, label %525, label %526
525: ; preds = %520
br label %530
526: ; preds = %520
%527 = load i16, i16* %14
%528 = sext i16 %527 to i32
%529 = sub nsw i32 25, %528
br label %530
530: ; preds = %526, %525
%531 = phi i32 [ 0, %525 ], [ %529, %526 ]
%532 = trunc i32 %531 to i16
store i16 %532, i16* %10
%533 = load i16, i16* %18
%534 = sext i16 %533 to i32
%535 = icmp eq i32 %534, 0
br i1 %535, label %536, label %537
536: ; preds = %530
br label %541
537: ; preds = %530
%538 = load i16, i16* %18
%539 = sext i16 %538 to i32
%540 = sub nsw i32 25, %539
br label %541
541: ; preds = %537, %536
%542 = phi i32 [ 0, %536 ], [ %540, %537 ]
%543 = trunc i32 %542 to i16
store i16 %543, i16* %14
%544 = load i16, i16* %11
store i16 %544, i16* %18
%545 = load i16, i16* %15
%546 = sext i16 %545 to i32
%547 = icmp eq i32 %546, 0
br i1 %547, label %548, label %549
548: ; preds = %541
br label %553
549: ; preds = %541
%550 = load i16, i16* %15
%551 = sext i16 %550 to i32
%552 = sub nsw i32 25, %551
br label %553
553: ; preds = %549, %548
%554 = phi i32 [ 0, %548 ], [ %552, %549 ]
%555 = trunc i32 %554 to i16
store i16 %555, i16* %11
%556 = load i16, i16* %18
%557 = sext i16 %556 to i32
%558 = icmp eq i32 %557, 0
br i1 %558, label %559, label %560
559: ; preds = %553
br label %564
560: ; preds = %553
%561 = load i16, i16* %18
%562 = sext i16 %561 to i32
%563 = sub nsw i32 25, %562
br label %564
564: ; preds = %560, %559
%565 = phi i32 [ 0, %559 ], [ %563, %560 ]
%566 = trunc i32 %565 to i16
store i16 %566, i16* %15
%567 = load i16, i16* %12
store i16 %567, i16* %18
%568 = load i16, i16* %16
%569 = sext i16 %568 to i32
%570 = icmp eq i32 %569, 0
br i1 %570, label %571, label %572
571: ; preds = %564
br label %576
572: ; preds = %564
%573 = load i16, i16* %16
%574 = sext i16 %573 to i32
%575 = sub nsw i32 25, %574
br label %576
576: ; preds = %572, %571
%577 = phi i32 [ 0, %571 ], [ %575, %572 ]
%578 = trunc i32 %577 to i16
store i16 %578, i16* %12
%579 = load i16, i16* %18
%580 = sext i16 %579 to i32
%581 = icmp eq i32 %580, 0
br i1 %581, label %582, label %583
582: ; preds = %576
br label %587
583: ; preds = %576
%584 = load i16, i16* %18
%585 = sext i16 %584 to i32
%586 = sub nsw i32 25, %585
br label %587
587: ; preds = %583, %582
%588 = phi i32 [ 0, %582 ], [ %586, %583 ]
%589 = trunc i32 %588 to i16
store i16 %589, i16* %16
%590 = load i16, i16* %13
store i16 %590, i16* %18
%591 = load i16, i16* %17
%592 = sext i16 %591 to i32
%593 = icmp eq i32 %592, 0
br i1 %593, label %594, label %595
594: ; preds = %587
br label %599
595: ; preds = %587
%596 = load i16, i16* %17
%597 = sext i16 %596 to i32
%598 = sub nsw i32 25, %597
br label %599
599: ; preds = %595, %594
%600 = phi i32 [ 0, %594 ], [ %598, %595 ]
%601 = trunc i32 %600 to i16
store i16 %601, i16* %13
%602 = load i16, i16* %18
%603 = sext i16 %602 to i32
%604 = icmp eq i32 %603, 0
br i1 %604, label %605, label %606
605: ; preds = %599
br label %610
606: ; preds = %599
%607 = load i16, i16* %18
%608 = sext i16 %607 to i32
%609 = sub nsw i32 25, %608
br label %610
610: ; preds = %606, %605
%611 = phi i32 [ 0, %605 ], [ %609, %606 ]
%612 = trunc i32 %611 to i16
store i16 %612, i16* %17
%613 = load i16, i16* %10
%614 = sext i16 %613 to i32
%615 = load i16, i16* %11
%616 = sext i16 %615 to i32
%617 = load i16, i16* %12
%618 = sext i16 %617 to i32
%619 = load i16, i16* %13
%620 = sext i16 %619 to i32
%621 = load i16, i16* %14
%622 = sext i16 %621 to i32
%623 = load i16, i16* %15
%624 = sext i16 %623 to i32
%625 = load i16, i16* %16
%626 = sext i16 %625 to i32
%627 = load i16, i16* %17
%628 = sext i16 %627 to i32
%629 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %614, i32 %616, i32 %618, i32 %620, i32 %622, i32 %624, i32 %626, i32 %628)
%630 = icmp sle i32 0, %629
br i1 %630, label %631, label %633
631: ; preds = %610
%632 = load i16, i16* %21
store i16 %632, i16* %9
br label %18762
633: ; preds = %610
%634 = load i16, i16* %10
store i16 %634, i16* %18
%635 = load i16, i16* %14
%636 = sext i16 %635 to i32
%637 = icmp eq i32 %636, 0
br i1 %637, label %638, label %639
638: ; preds = %633
br label %643
639: ; preds = %633
%640 = load i16, i16* %14
%641 = sext i16 %640 to i32
%642 = sub nsw i32 25, %641
br label %643
643: ; preds = %639, %638
%644 = phi i32 [ 0, %638 ], [ %642, %639 ]
%645 = trunc i32 %644 to i16
store i16 %645, i16* %10
%646 = load i16, i16* %18
%647 = sext i16 %646 to i32
%648 = icmp eq i32 %647, 0
br i1 %648, label %649, label %650
649: ; preds = %643
br label %654
650: ; preds = %643
%651 = load i16, i16* %18
%652 = sext i16 %651 to i32
%653 = sub nsw i32 25, %652
br label %654
654: ; preds = %650, %649
%655 = phi i32 [ 0, %649 ], [ %653, %650 ]
%656 = trunc i32 %655 to i16
store i16 %656, i16* %14
%657 = load i16, i16* %11
store i16 %657, i16* %18
%658 = load i16, i16* %15
%659 = sext i16 %658 to i32
%660 = icmp eq i32 %659, 0
br i1 %660, label %661, label %662
661: ; preds = %654
br label %666
662: ; preds = %654
%663 = load i16, i16* %15
%664 = sext i16 %663 to i32
%665 = sub nsw i32 25, %664
br label %666
666: ; preds = %662, %661
%667 = phi i32 [ 0, %661 ], [ %665, %662 ]
%668 = trunc i32 %667 to i16
store i16 %668, i16* %11
%669 = load i16, i16* %18
%670 = sext i16 %669 to i32
%671 = icmp eq i32 %670, 0
br i1 %671, label %672, label %673
672: ; preds = %666
br label %677
673: ; preds = %666
%674 = load i16, i16* %18
%675 = sext i16 %674 to i32
%676 = sub nsw i32 25, %675
br label %677
677: ; preds = %673, %672
%678 = phi i32 [ 0, %672 ], [ %676, %673 ]
%679 = trunc i32 %678 to i16
store i16 %679, i16* %15
%680 = load i16, i16* %12
store i16 %680, i16* %18
%681 = load i16, i16* %16
%682 = sext i16 %681 to i32
%683 = icmp eq i32 %682, 0
br i1 %683, label %684, label %685
684: ; preds = %677
br label %689
685: ; preds = %677
%686 = load i16, i16* %16
%687 = sext i16 %686 to i32
%688 = sub nsw i32 25, %687
br label %689
689: ; preds = %685, %684
%690 = phi i32 [ 0, %684 ], [ %688, %685 ]
%691 = trunc i32 %690 to i16
store i16 %691, i16* %12
%692 = load i16, i16* %18
%693 = sext i16 %692 to i32
%694 = icmp eq i32 %693, 0
br i1 %694, label %695, label %696
695: ; preds = %689
br label %700
696: ; preds = %689
%697 = load i16, i16* %18
%698 = sext i16 %697 to i32
%699 = sub nsw i32 25, %698
br label %700
700: ; preds = %696, %695
%701 = phi i32 [ 0, %695 ], [ %699, %696 ]
%702 = trunc i32 %701 to i16
store i16 %702, i16* %16
%703 = load i16, i16* %13
store i16 %703, i16* %18
%704 = load i16, i16* %17
%705 = sext i16 %704 to i32
%706 = icmp eq i32 %705, 0
br i1 %706, label %707, label %708
707: ; preds = %700
br label %712
708: ; preds = %700
%709 = load i16, i16* %17
%710 = sext i16 %709 to i32
%711 = sub nsw i32 25, %710
br label %712
712: ; preds = %708, %707
%713 = phi i32 [ 0, %707 ], [ %711, %708 ]
%714 = trunc i32 %713 to i16
store i16 %714, i16* %13
%715 = load i16, i16* %18
%716 = sext i16 %715 to i32
%717 = icmp eq i32 %716, 0
br i1 %717, label %718, label %719
718: ; preds = %712
br label %723
719: ; preds = %712
%720 = load i16, i16* %18
%721 = sext i16 %720 to i32
%722 = sub nsw i32 25, %721
br label %723
723: ; preds = %719, %718
%724 = phi i32 [ 0, %718 ], [ %722, %719 ]
%725 = trunc i32 %724 to i16
store i16 %725, i16* %17
br label %726
726: ; preds = %723, %516
br label %727
727: ; preds = %726, %303
%728 = load i16, i16* %19
store i16 %728, i16* %10
br label %729
729: ; preds = %727, %87, %81, %75, %69, %58
br label %730
730: ; preds = %729, %54, %50
br label %18757
731: ; preds = %46
%732 = load i16, i16* %21
%733 = sext i16 %732 to i32
%734 = icmp eq i32 %733, 1
br i1 %734, label %735, label %1421
735: ; preds = %731
%736 = load i16, i16* %10
%737 = sext i16 %736 to i32
%738 = icmp ne i32 %737, 0
br i1 %738, label %739, label %1420
739: ; preds = %735
%740 = load i16, i16* %10
%741 = sext i16 %740 to i32
%742 = icmp slt i32 %741, 21
br i1 %742, label %743, label %1420
743: ; preds = %739
%744 = load i16, i16* %10
%745 = sext i16 %744 to i32
%746 = srem i32 %745, 4
%747 = icmp ne i32 %746, 0
br i1 %747, label %748, label %1420
748: ; preds = %743
%749 = load i16, i16* %10
store i16 %749, i16* %19
%750 = load i16, i16* %19
%751 = sext i16 %750 to i32
%752 = add nsw i32 %751, 5
%753 = trunc i32 %752 to i16
store i16 %753, i16* %20
%754 = load i16, i16* %20
%755 = sext i16 %754 to i32
%756 = load i16, i16* %11
%757 = sext i16 %756 to i32
%758 = icmp ne i32 %755, %757
br i1 %758, label %759, label %1419
759: ; preds = %748
%760 = load i16, i16* %20
%761 = sext i16 %760 to i32
%762 = load i16, i16* %12
%763 = sext i16 %762 to i32
%764 = icmp ne i32 %761, %763
br i1 %764, label %765, label %1419
765: ; preds = %759
%766 = load i16, i16* %20
%767 = sext i16 %766 to i32
%768 = load i16, i16* %13
%769 = sext i16 %768 to i32
%770 = icmp ne i32 %767, %769
br i1 %770, label %771, label %1419
771: ; preds = %765
%772 = load i16, i16* %20
%773 = sext i16 %772 to i32
%774 = load i16, i16* %14
%775 = sext i16 %774 to i32
%776 = icmp ne i32 %773, %775
br i1 %776, label %777, label %1419
777: ; preds = %771
%778 = load i16, i16* %20
%779 = sext i16 %778 to i32
%780 = load i16, i16* %15
%781 = sext i16 %780 to i32
%782 = icmp ne i32 %779, %781
br i1 %782, label %783, label %1419
783: ; preds = %777
%784 = load i16, i16* %20
store i16 %784, i16* %10
%785 = load i16, i16* %16
%786 = sext i16 %785 to i32
%787 = load i16, i16* %20
%788 = sext i16 %787 to i32
%789 = icmp eq i32 %786, %788
br i1 %789, label %790, label %997
790: ; preds = %783
store i16 0, i16* %16
%791 = load i16, i16* %10
store i16 %791, i16* %18
%792 = load i16, i16* %14
%793 = sext i16 %792 to i32
%794 = icmp eq i32 %793, 0
br i1 %794, label %795, label %796
795: ; preds = %790
br label %800
796: ; preds = %790
%797 = load i16, i16* %14
%798 = sext i16 %797 to i32
%799 = sub nsw i32 25, %798
br label %800
800: ; preds = %796, %795
%801 = phi i32 [ 0, %795 ], [ %799, %796 ]
%802 = trunc i32 %801 to i16
store i16 %802, i16* %10
%803 = load i16, i16* %18
%804 = sext i16 %803 to i32
%805 = icmp eq i32 %804, 0
br i1 %805, label %806, label %807
806: ; preds = %800
br label %811
807: ; preds = %800
%808 = load i16, i16* %18
%809 = sext i16 %808 to i32
%810 = sub nsw i32 25, %809
br label %811
811: ; preds = %807, %806
%812 = phi i32 [ 0, %806 ], [ %810, %807 ]
%813 = trunc i32 %812 to i16
store i16 %813, i16* %14
%814 = load i16, i16* %11
store i16 %814, i16* %18
%815 = load i16, i16* %15
%816 = sext i16 %815 to i32
%817 = icmp eq i32 %816, 0
br i1 %817, label %818, label %819
818: ; preds = %811
br label %823
819: ; preds = %811
%820 = load i16, i16* %15
%821 = sext i16 %820 to i32
%822 = sub nsw i32 25, %821
br label %823
823: ; preds = %819, %818
%824 = phi i32 [ 0, %818 ], [ %822, %819 ]
%825 = trunc i32 %824 to i16
store i16 %825, i16* %11
%826 = load i16, i16* %18
%827 = sext i16 %826 to i32
%828 = icmp eq i32 %827, 0
br i1 %828, label %829, label %830
829: ; preds = %823
br label %834
830: ; preds = %823
%831 = load i16, i16* %18
%832 = sext i16 %831 to i32
%833 = sub nsw i32 25, %832
br label %834
834: ; preds = %830, %829
%835 = phi i32 [ 0, %829 ], [ %833, %830 ]
%836 = trunc i32 %835 to i16
store i16 %836, i16* %15
%837 = load i16, i16* %12
store i16 %837, i16* %18
%838 = load i16, i16* %16
%839 = sext i16 %838 to i32
%840 = icmp eq i32 %839, 0
br i1 %840, label %841, label %842
841: ; preds = %834
br label %846
842: ; preds = %834
%843 = load i16, i16* %16
%844 = sext i16 %843 to i32
%845 = sub nsw i32 25, %844
br label %846
846: ; preds = %842, %841
%847 = phi i32 [ 0, %841 ], [ %845, %842 ]
%848 = trunc i32 %847 to i16
store i16 %848, i16* %12
%849 = load i16, i16* %18
%850 = sext i16 %849 to i32
%851 = icmp eq i32 %850, 0
br i1 %851, label %852, label %853
852: ; preds = %846
br label %857
853: ; preds = %846
%854 = load i16, i16* %18
%855 = sext i16 %854 to i32
%856 = sub nsw i32 25, %855
br label %857
857: ; preds = %853, %852
%858 = phi i32 [ 0, %852 ], [ %856, %853 ]
%859 = trunc i32 %858 to i16
store i16 %859, i16* %16
%860 = load i16, i16* %13
store i16 %860, i16* %18
%861 = load i16, i16* %17
%862 = sext i16 %861 to i32
%863 = icmp eq i32 %862, 0
br i1 %863, label %864, label %865
864: ; preds = %857
br label %869
865: ; preds = %857
%866 = load i16, i16* %17
%867 = sext i16 %866 to i32
%868 = sub nsw i32 25, %867
br label %869
869: ; preds = %865, %864
%870 = phi i32 [ 0, %864 ], [ %868, %865 ]
%871 = trunc i32 %870 to i16
store i16 %871, i16* %13
%872 = load i16, i16* %18
%873 = sext i16 %872 to i32
%874 = icmp eq i32 %873, 0
br i1 %874, label %875, label %876
875: ; preds = %869
br label %880
876: ; preds = %869
%877 = load i16, i16* %18
%878 = sext i16 %877 to i32
%879 = sub nsw i32 25, %878
br label %880
880: ; preds = %876, %875
%881 = phi i32 [ 0, %875 ], [ %879, %876 ]
%882 = trunc i32 %881 to i16
store i16 %882, i16* %17
%883 = load i16, i16* %10
%884 = sext i16 %883 to i32
%885 = load i16, i16* %11
%886 = sext i16 %885 to i32
%887 = load i16, i16* %12
%888 = sext i16 %887 to i32
%889 = load i16, i16* %13
%890 = sext i16 %889 to i32
%891 = load i16, i16* %14
%892 = sext i16 %891 to i32
%893 = load i16, i16* %15
%894 = sext i16 %893 to i32
%895 = load i16, i16* %16
%896 = sext i16 %895 to i32
%897 = load i16, i16* %17
%898 = sext i16 %897 to i32
%899 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %884, i32 %886, i32 %888, i32 %890, i32 %892, i32 %894, i32 %896, i32 %898)
%900 = icmp sle i32 0, %899
br i1 %900, label %901, label %903
901: ; preds = %880
%902 = load i16, i16* %21
store i16 %902, i16* %9
br label %18762
903: ; preds = %880
%904 = load i16, i16* %10
store i16 %904, i16* %18
%905 = load i16, i16* %14
%906 = sext i16 %905 to i32
%907 = icmp eq i32 %906, 0
br i1 %907, label %908, label %909
908: ; preds = %903
br label %913
909: ; preds = %903
%910 = load i16, i16* %14
%911 = sext i16 %910 to i32
%912 = sub nsw i32 25, %911
br label %913
913: ; preds = %909, %908
%914 = phi i32 [ 0, %908 ], [ %912, %909 ]
%915 = trunc i32 %914 to i16
store i16 %915, i16* %10
%916 = load i16, i16* %18
%917 = sext i16 %916 to i32
%918 = icmp eq i32 %917, 0
br i1 %918, label %919, label %920
919: ; preds = %913
br label %924
920: ; preds = %913
%921 = load i16, i16* %18
%922 = sext i16 %921 to i32
%923 = sub nsw i32 25, %922
br label %924
924: ; preds = %920, %919
%925 = phi i32 [ 0, %919 ], [ %923, %920 ]
%926 = trunc i32 %925 to i16
store i16 %926, i16* %14
%927 = load i16, i16* %11
store i16 %927, i16* %18
%928 = load i16, i16* %15
%929 = sext i16 %928 to i32
%930 = icmp eq i32 %929, 0
br i1 %930, label %931, label %932
931: ; preds = %924
br label %936
932: ; preds = %924
%933 = load i16, i16* %15
%934 = sext i16 %933 to i32
%935 = sub nsw i32 25, %934
br label %936
936: ; preds = %932, %931
%937 = phi i32 [ 0, %931 ], [ %935, %932 ]
%938 = trunc i32 %937 to i16
store i16 %938, i16* %11
%939 = load i16, i16* %18
%940 = sext i16 %939 to i32
%941 = icmp eq i32 %940, 0
br i1 %941, label %942, label %943
942: ; preds = %936
br label %947
943: ; preds = %936
%944 = load i16, i16* %18
%945 = sext i16 %944 to i32
%946 = sub nsw i32 25, %945
br label %947
947: ; preds = %943, %942
%948 = phi i32 [ 0, %942 ], [ %946, %943 ]
%949 = trunc i32 %948 to i16
store i16 %949, i16* %15
%950 = load i16, i16* %12
store i16 %950, i16* %18
%951 = load i16, i16* %16
%952 = sext i16 %951 to i32
%953 = icmp eq i32 %952, 0
br i1 %953, label %954, label %955
954: ; preds = %947
br label %959
955: ; preds = %947
%956 = load i16, i16* %16
%957 = sext i16 %956 to i32
%958 = sub nsw i32 25, %957
br label %959
959: ; preds = %955, %954
%960 = phi i32 [ 0, %954 ], [ %958, %955 ]
%961 = trunc i32 %960 to i16
store i16 %961, i16* %12
%962 = load i16, i16* %18
%963 = sext i16 %962 to i32
%964 = icmp eq i32 %963, 0
br i1 %964, label %965, label %966
965: ; preds = %959
br label %970
966: ; preds = %959
%967 = load i16, i16* %18
%968 = sext i16 %967 to i32
%969 = sub nsw i32 25, %968
br label %970
970: ; preds = %966, %965
%971 = phi i32 [ 0, %965 ], [ %969, %966 ]
%972 = trunc i32 %971 to i16
store i16 %972, i16* %16
%973 = load i16, i16* %13
store i16 %973, i16* %18
%974 = load i16, i16* %17
%975 = sext i16 %974 to i32
%976 = icmp eq i32 %975, 0
br i1 %976, label %977, label %978
977: ; preds = %970
br label %982
978: ; preds = %970
%979 = load i16, i16* %17
%980 = sext i16 %979 to i32
%981 = sub nsw i32 25, %980
br label %982
982: ; preds = %978, %977
%983 = phi i32 [ 0, %977 ], [ %981, %978 ]
%984 = trunc i32 %983 to i16
store i16 %984, i16* %13
%985 = load i16, i16* %18
%986 = sext i16 %985 to i32
%987 = icmp eq i32 %986, 0
br i1 %987, label %988, label %989
988: ; preds = %982
br label %993
989: ; preds = %982
%990 = load i16, i16* %18
%991 = sext i16 %990 to i32
%992 = sub nsw i32 25, %991
br label %993
993: ; preds = %989, %988
%994 = phi i32 [ 0, %988 ], [ %992, %989 ]
%995 = trunc i32 %994 to i16
store i16 %995, i16* %17
%996 = load i16, i16* %20
store i16 %996, i16* %16
br label %1417
997: ; preds = %783
%998 = load i16, i16* %17
%999 = sext i16 %998 to i32
%1000 = load i16, i16* %20
%1001 = sext i16 %1000 to i32
%1002 = icmp eq i32 %999, %1001
br i1 %1002, label %1003, label %1210
1003: ; preds = %997
store i16 0, i16* %17
%1004 = load i16, i16* %10
store i16 %1004, i16* %18
%1005 = load i16, i16* %14
%1006 = sext i16 %1005 to i32
%1007 = icmp eq i32 %1006, 0
br i1 %1007, label %1008, label %1009
1008: ; preds = %1003
br label %1013
1009: ; preds = %1003
%1010 = load i16, i16* %14
%1011 = sext i16 %1010 to i32
%1012 = sub nsw i32 25, %1011
br label %1013
1013: ; preds = %1009, %1008
%1014 = phi i32 [ 0, %1008 ], [ %1012, %1009 ]
%1015 = trunc i32 %1014 to i16
store i16 %1015, i16* %10
%1016 = load i16, i16* %18
%1017 = sext i16 %1016 to i32
%1018 = icmp eq i32 %1017, 0
br i1 %1018, label %1019, label %1020
1019: ; preds = %1013
br label %1024
1020: ; preds = %1013
%1021 = load i16, i16* %18
%1022 = sext i16 %1021 to i32
%1023 = sub nsw i32 25, %1022
br label %1024
1024: ; preds = %1020, %1019
%1025 = phi i32 [ 0, %1019 ], [ %1023, %1020 ]
%1026 = trunc i32 %1025 to i16
store i16 %1026, i16* %14
%1027 = load i16, i16* %11
store i16 %1027, i16* %18
%1028 = load i16, i16* %15
%1029 = sext i16 %1028 to i32
%1030 = icmp eq i32 %1029, 0
br i1 %1030, label %1031, label %1032
1031: ; preds = %1024
br label %1036
1032: ; preds = %1024
%1033 = load i16, i16* %15
%1034 = sext i16 %1033 to i32
%1035 = sub nsw i32 25, %1034
br label %1036
1036: ; preds = %1032, %1031
%1037 = phi i32 [ 0, %1031 ], [ %1035, %1032 ]
%1038 = trunc i32 %1037 to i16
store i16 %1038, i16* %11
%1039 = load i16, i16* %18
%1040 = sext i16 %1039 to i32
%1041 = icmp eq i32 %1040, 0
br i1 %1041, label %1042, label %1043
1042: ; preds = %1036
br label %1047
1043: ; preds = %1036
%1044 = load i16, i16* %18
%1045 = sext i16 %1044 to i32
%1046 = sub nsw i32 25, %1045
br label %1047
1047: ; preds = %1043, %1042
%1048 = phi i32 [ 0, %1042 ], [ %1046, %1043 ]
%1049 = trunc i32 %1048 to i16
store i16 %1049, i16* %15
%1050 = load i16, i16* %12
store i16 %1050, i16* %18
%1051 = load i16, i16* %16
%1052 = sext i16 %1051 to i32
%1053 = icmp eq i32 %1052, 0
br i1 %1053, label %1054, label %1055
1054: ; preds = %1047
br label %1059
1055: ; preds = %1047
%1056 = load i16, i16* %16
%1057 = sext i16 %1056 to i32
%1058 = sub nsw i32 25, %1057
br label %1059
1059: ; preds = %1055, %1054
%1060 = phi i32 [ 0, %1054 ], [ %1058, %1055 ]
%1061 = trunc i32 %1060 to i16
store i16 %1061, i16* %12
%1062 = load i16, i16* %18
%1063 = sext i16 %1062 to i32
%1064 = icmp eq i32 %1063, 0
br i1 %1064, label %1065, label %1066
1065: ; preds = %1059
br label %1070
1066: ; preds = %1059
%1067 = load i16, i16* %18
%1068 = sext i16 %1067 to i32
%1069 = sub nsw i32 25, %1068
br label %1070
1070: ; preds = %1066, %1065
%1071 = phi i32 [ 0, %1065 ], [ %1069, %1066 ]
%1072 = trunc i32 %1071 to i16
store i16 %1072, i16* %16
%1073 = load i16, i16* %13
store i16 %1073, i16* %18
%1074 = load i16, i16* %17
%1075 = sext i16 %1074 to i32
%1076 = icmp eq i32 %1075, 0
br i1 %1076, label %1077, label %1078
1077: ; preds = %1070
br label %1082
1078: ; preds = %1070
%1079 = load i16, i16* %17
%1080 = sext i16 %1079 to i32
%1081 = sub nsw i32 25, %1080
br label %1082
1082: ; preds = %1078, %1077
%1083 = phi i32 [ 0, %1077 ], [ %1081, %1078 ]
%1084 = trunc i32 %1083 to i16
store i16 %1084, i16* %13
%1085 = load i16, i16* %18
%1086 = sext i16 %1085 to i32
%1087 = icmp eq i32 %1086, 0
br i1 %1087, label %1088, label %1089
1088: ; preds = %1082
br label %1093
1089: ; preds = %1082
%1090 = load i16, i16* %18
%1091 = sext i16 %1090 to i32
%1092 = sub nsw i32 25, %1091
br label %1093
1093: ; preds = %1089, %1088
%1094 = phi i32 [ 0, %1088 ], [ %1092, %1089 ]
%1095 = trunc i32 %1094 to i16
store i16 %1095, i16* %17
%1096 = load i16, i16* %10
%1097 = sext i16 %1096 to i32
%1098 = load i16, i16* %11
%1099 = sext i16 %1098 to i32
%1100 = load i16, i16* %12
%1101 = sext i16 %1100 to i32
%1102 = load i16, i16* %13
%1103 = sext i16 %1102 to i32
%1104 = load i16, i16* %14
%1105 = sext i16 %1104 to i32
%1106 = load i16, i16* %15
%1107 = sext i16 %1106 to i32
%1108 = load i16, i16* %16
%1109 = sext i16 %1108 to i32
%1110 = load i16, i16* %17
%1111 = sext i16 %1110 to i32
%1112 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1097, i32 %1099, i32 %1101, i32 %1103, i32 %1105, i32 %1107, i32 %1109, i32 %1111)
%1113 = icmp sle i32 0, %1112
br i1 %1113, label %1114, label %1116
1114: ; preds = %1093
%1115 = load i16, i16* %21
store i16 %1115, i16* %9
br label %18762
1116: ; preds = %1093
%1117 = load i16, i16* %10
store i16 %1117, i16* %18
%1118 = load i16, i16* %14
%1119 = sext i16 %1118 to i32
%1120 = icmp eq i32 %1119, 0
br i1 %1120, label %1121, label %1122
1121: ; preds = %1116
br label %1126
1122: ; preds = %1116
%1123 = load i16, i16* %14
%1124 = sext i16 %1123 to i32
%1125 = sub nsw i32 25, %1124
br label %1126
1126: ; preds = %1122, %1121
%1127 = phi i32 [ 0, %1121 ], [ %1125, %1122 ]
%1128 = trunc i32 %1127 to i16
store i16 %1128, i16* %10
%1129 = load i16, i16* %18
%1130 = sext i16 %1129 to i32
%1131 = icmp eq i32 %1130, 0
br i1 %1131, label %1132, label %1133
1132: ; preds = %1126
br label %1137
1133: ; preds = %1126
%1134 = load i16, i16* %18
%1135 = sext i16 %1134 to i32
%1136 = sub nsw i32 25, %1135
br label %1137
1137: ; preds = %1133, %1132
%1138 = phi i32 [ 0, %1132 ], [ %1136, %1133 ]
%1139 = trunc i32 %1138 to i16
store i16 %1139, i16* %14
%1140 = load i16, i16* %11
store i16 %1140, i16* %18
%1141 = load i16, i16* %15
%1142 = sext i16 %1141 to i32
%1143 = icmp eq i32 %1142, 0
br i1 %1143, label %1144, label %1145
1144: ; preds = %1137
br label %1149
1145: ; preds = %1137
%1146 = load i16, i16* %15
%1147 = sext i16 %1146 to i32
%1148 = sub nsw i32 25, %1147
br label %1149
1149: ; preds = %1145, %1144
%1150 = phi i32 [ 0, %1144 ], [ %1148, %1145 ]
%1151 = trunc i32 %1150 to i16
store i16 %1151, i16* %11
%1152 = load i16, i16* %18
%1153 = sext i16 %1152 to i32
%1154 = icmp eq i32 %1153, 0
br i1 %1154, label %1155, label %1156
1155: ; preds = %1149
br label %1160
1156: ; preds = %1149
%1157 = load i16, i16* %18
%1158 = sext i16 %1157 to i32
%1159 = sub nsw i32 25, %1158
br label %1160
1160: ; preds = %1156, %1155
%1161 = phi i32 [ 0, %1155 ], [ %1159, %1156 ]
%1162 = trunc i32 %1161 to i16
store i16 %1162, i16* %15
%1163 = load i16, i16* %12
store i16 %1163, i16* %18
%1164 = load i16, i16* %16
%1165 = sext i16 %1164 to i32
%1166 = icmp eq i32 %1165, 0
br i1 %1166, label %1167, label %1168
1167: ; preds = %1160
br label %1172
1168: ; preds = %1160
%1169 = load i16, i16* %16
%1170 = sext i16 %1169 to i32
%1171 = sub nsw i32 25, %1170
br label %1172
1172: ; preds = %1168, %1167
%1173 = phi i32 [ 0, %1167 ], [ %1171, %1168 ]
%1174 = trunc i32 %1173 to i16
store i16 %1174, i16* %12
%1175 = load i16, i16* %18
%1176 = sext i16 %1175 to i32
%1177 = icmp eq i32 %1176, 0
br i1 %1177, label %1178, label %1179
1178: ; preds = %1172
br label %1183
1179: ; preds = %1172
%1180 = load i16, i16* %18
%1181 = sext i16 %1180 to i32
%1182 = sub nsw i32 25, %1181
br label %1183
1183: ; preds = %1179, %1178
%1184 = phi i32 [ 0, %1178 ], [ %1182, %1179 ]
%1185 = trunc i32 %1184 to i16
store i16 %1185, i16* %16
%1186 = load i16, i16* %13
store i16 %1186, i16* %18
%1187 = load i16, i16* %17
%1188 = sext i16 %1187 to i32
%1189 = icmp eq i32 %1188, 0
br i1 %1189, label %1190, label %1191
1190: ; preds = %1183
br label %1195
1191: ; preds = %1183
%1192 = load i16, i16* %17
%1193 = sext i16 %1192 to i32
%1194 = sub nsw i32 25, %1193
br label %1195
1195: ; preds = %1191, %1190
%1196 = phi i32 [ 0, %1190 ], [ %1194, %1191 ]
%1197 = trunc i32 %1196 to i16
store i16 %1197, i16* %13
%1198 = load i16, i16* %18
%1199 = sext i16 %1198 to i32
%1200 = icmp eq i32 %1199, 0
br i1 %1200, label %1201, label %1202
1201: ; preds = %1195
br label %1206
1202: ; preds = %1195
%1203 = load i16, i16* %18
%1204 = sext i16 %1203 to i32
%1205 = sub nsw i32 25, %1204
br label %1206
1206: ; preds = %1202, %1201
%1207 = phi i32 [ 0, %1201 ], [ %1205, %1202 ]
%1208 = trunc i32 %1207 to i16
store i16 %1208, i16* %17
%1209 = load i16, i16* %20
store i16 %1209, i16* %17
br label %1416
1210: ; preds = %997
%1211 = load i16, i16* %10
store i16 %1211, i16* %18
%1212 = load i16, i16* %14
%1213 = sext i16 %1212 to i32
%1214 = icmp eq i32 %1213, 0
br i1 %1214, label %1215, label %1216
1215: ; preds = %1210
br label %1220
1216: ; preds = %1210
%1217 = load i16, i16* %14
%1218 = sext i16 %1217 to i32
%1219 = sub nsw i32 25, %1218
br label %1220
1220: ; preds = %1216, %1215
%1221 = phi i32 [ 0, %1215 ], [ %1219, %1216 ]
%1222 = trunc i32 %1221 to i16
store i16 %1222, i16* %10
%1223 = load i16, i16* %18
%1224 = sext i16 %1223 to i32
%1225 = icmp eq i32 %1224, 0
br i1 %1225, label %1226, label %1227
1226: ; preds = %1220
br label %1231
1227: ; preds = %1220
%1228 = load i16, i16* %18
%1229 = sext i16 %1228 to i32
%1230 = sub nsw i32 25, %1229
br label %1231
1231: ; preds = %1227, %1226
%1232 = phi i32 [ 0, %1226 ], [ %1230, %1227 ]
%1233 = trunc i32 %1232 to i16
store i16 %1233, i16* %14
%1234 = load i16, i16* %11
store i16 %1234, i16* %18
%1235 = load i16, i16* %15
%1236 = sext i16 %1235 to i32
%1237 = icmp eq i32 %1236, 0
br i1 %1237, label %1238, label %1239
1238: ; preds = %1231
br label %1243
1239: ; preds = %1231
%1240 = load i16, i16* %15
%1241 = sext i16 %1240 to i32
%1242 = sub nsw i32 25, %1241
br label %1243
1243: ; preds = %1239, %1238
%1244 = phi i32 [ 0, %1238 ], [ %1242, %1239 ]
%1245 = trunc i32 %1244 to i16
store i16 %1245, i16* %11
%1246 = load i16, i16* %18
%1247 = sext i16 %1246 to i32
%1248 = icmp eq i32 %1247, 0
br i1 %1248, label %1249, label %1250
1249: ; preds = %1243
br label %1254
1250: ; preds = %1243
%1251 = load i16, i16* %18
%1252 = sext i16 %1251 to i32
%1253 = sub nsw i32 25, %1252
br label %1254
1254: ; preds = %1250, %1249
%1255 = phi i32 [ 0, %1249 ], [ %1253, %1250 ]
%1256 = trunc i32 %1255 to i16
store i16 %1256, i16* %15
%1257 = load i16, i16* %12
store i16 %1257, i16* %18
%1258 = load i16, i16* %16
%1259 = sext i16 %1258 to i32
%1260 = icmp eq i32 %1259, 0
br i1 %1260, label %1261, label %1262
1261: ; preds = %1254
br label %1266
1262: ; preds = %1254
%1263 = load i16, i16* %16
%1264 = sext i16 %1263 to i32
%1265 = sub nsw i32 25, %1264
br label %1266
1266: ; preds = %1262, %1261
%1267 = phi i32 [ 0, %1261 ], [ %1265, %1262 ]
%1268 = trunc i32 %1267 to i16
store i16 %1268, i16* %12
%1269 = load i16, i16* %18
%1270 = sext i16 %1269 to i32
%1271 = icmp eq i32 %1270, 0
br i1 %1271, label %1272, label %1273
1272: ; preds = %1266
br label %1277
1273: ; preds = %1266
%1274 = load i16, i16* %18
%1275 = sext i16 %1274 to i32
%1276 = sub nsw i32 25, %1275
br label %1277
1277: ; preds = %1273, %1272
%1278 = phi i32 [ 0, %1272 ], [ %1276, %1273 ]
%1279 = trunc i32 %1278 to i16
store i16 %1279, i16* %16
%1280 = load i16, i16* %13
store i16 %1280, i16* %18
%1281 = load i16, i16* %17
%1282 = sext i16 %1281 to i32
%1283 = icmp eq i32 %1282, 0
br i1 %1283, label %1284, label %1285
1284: ; preds = %1277
br label %1289
1285: ; preds = %1277
%1286 = load i16, i16* %17
%1287 = sext i16 %1286 to i32
%1288 = sub nsw i32 25, %1287
br label %1289
1289: ; preds = %1285, %1284
%1290 = phi i32 [ 0, %1284 ], [ %1288, %1285 ]
%1291 = trunc i32 %1290 to i16
store i16 %1291, i16* %13
%1292 = load i16, i16* %18
%1293 = sext i16 %1292 to i32
%1294 = icmp eq i32 %1293, 0
br i1 %1294, label %1295, label %1296
1295: ; preds = %1289
br label %1300
1296: ; preds = %1289
%1297 = load i16, i16* %18
%1298 = sext i16 %1297 to i32
%1299 = sub nsw i32 25, %1298
br label %1300
1300: ; preds = %1296, %1295
%1301 = phi i32 [ 0, %1295 ], [ %1299, %1296 ]
%1302 = trunc i32 %1301 to i16
store i16 %1302, i16* %17
%1303 = load i16, i16* %10
%1304 = sext i16 %1303 to i32
%1305 = load i16, i16* %11
%1306 = sext i16 %1305 to i32
%1307 = load i16, i16* %12
%1308 = sext i16 %1307 to i32
%1309 = load i16, i16* %13
%1310 = sext i16 %1309 to i32
%1311 = load i16, i16* %14
%1312 = sext i16 %1311 to i32
%1313 = load i16, i16* %15
%1314 = sext i16 %1313 to i32
%1315 = load i16, i16* %16
%1316 = sext i16 %1315 to i32
%1317 = load i16, i16* %17
%1318 = sext i16 %1317 to i32
%1319 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1304, i32 %1306, i32 %1308, i32 %1310, i32 %1312, i32 %1314, i32 %1316, i32 %1318)
%1320 = icmp sle i32 0, %1319
br i1 %1320, label %1321, label %1323
1321: ; preds = %1300
%1322 = load i16, i16* %21
store i16 %1322, i16* %9
br label %18762
1323: ; preds = %1300
%1324 = load i16, i16* %10
store i16 %1324, i16* %18
%1325 = load i16, i16* %14
%1326 = sext i16 %1325 to i32
%1327 = icmp eq i32 %1326, 0
br i1 %1327, label %1328, label %1329
1328: ; preds = %1323
br label %1333
1329: ; preds = %1323
%1330 = load i16, i16* %14
%1331 = sext i16 %1330 to i32
%1332 = sub nsw i32 25, %1331
br label %1333
1333: ; preds = %1329, %1328
%1334 = phi i32 [ 0, %1328 ], [ %1332, %1329 ]
%1335 = trunc i32 %1334 to i16
store i16 %1335, i16* %10
%1336 = load i16, i16* %18
%1337 = sext i16 %1336 to i32
%1338 = icmp eq i32 %1337, 0
br i1 %1338, label %1339, label %1340
1339: ; preds = %1333
br label %1344
1340: ; preds = %1333
%1341 = load i16, i16* %18
%1342 = sext i16 %1341 to i32
%1343 = sub nsw i32 25, %1342
br label %1344
1344: ; preds = %1340, %1339
%1345 = phi i32 [ 0, %1339 ], [ %1343, %1340 ]
%1346 = trunc i32 %1345 to i16
store i16 %1346, i16* %14
%1347 = load i16, i16* %11
store i16 %1347, i16* %18
%1348 = load i16, i16* %15
%1349 = sext i16 %1348 to i32
%1350 = icmp eq i32 %1349, 0
br i1 %1350, label %1351, label %1352
1351: ; preds = %1344
br label %1356
1352: ; preds = %1344
%1353 = load i16, i16* %15
%1354 = sext i16 %1353 to i32
%1355 = sub nsw i32 25, %1354
br label %1356
1356: ; preds = %1352, %1351
%1357 = phi i32 [ 0, %1351 ], [ %1355, %1352 ]
%1358 = trunc i32 %1357 to i16
store i16 %1358, i16* %11
%1359 = load i16, i16* %18
%1360 = sext i16 %1359 to i32
%1361 = icmp eq i32 %1360, 0
br i1 %1361, label %1362, label %1363
1362: ; preds = %1356
br label %1367
1363: ; preds = %1356
%1364 = load i16, i16* %18
%1365 = sext i16 %1364 to i32
%1366 = sub nsw i32 25, %1365
br label %1367
1367: ; preds = %1363, %1362
%1368 = phi i32 [ 0, %1362 ], [ %1366, %1363 ]
%1369 = trunc i32 %1368 to i16
store i16 %1369, i16* %15
%1370 = load i16, i16* %12
store i16 %1370, i16* %18
%1371 = load i16, i16* %16
%1372 = sext i16 %1371 to i32
%1373 = icmp eq i32 %1372, 0
br i1 %1373, label %1374, label %1375
1374: ; preds = %1367
br label %1379
1375: ; preds = %1367
%1376 = load i16, i16* %16
%1377 = sext i16 %1376 to i32
%1378 = sub nsw i32 25, %1377
br label %1379
1379: ; preds = %1375, %1374
%1380 = phi i32 [ 0, %1374 ], [ %1378, %1375 ]
%1381 = trunc i32 %1380 to i16
store i16 %1381, i16* %12
%1382 = load i16, i16* %18
%1383 = sext i16 %1382 to i32
%1384 = icmp eq i32 %1383, 0
br i1 %1384, label %1385, label %1386
1385: ; preds = %1379
br label %1390
1386: ; preds = %1379
%1387 = load i16, i16* %18
%1388 = sext i16 %1387 to i32
%1389 = sub nsw i32 25, %1388
br label %1390
1390: ; preds = %1386, %1385
%1391 = phi i32 [ 0, %1385 ], [ %1389, %1386 ]
%1392 = trunc i32 %1391 to i16
store i16 %1392, i16* %16
%1393 = load i16, i16* %13
store i16 %1393, i16* %18
%1394 = load i16, i16* %17
%1395 = sext i16 %1394 to i32
%1396 = icmp eq i32 %1395, 0
br i1 %1396, label %1397, label %1398
1397: ; preds = %1390
br label %1402
1398: ; preds = %1390
%1399 = load i16, i16* %17
%1400 = sext i16 %1399 to i32
%1401 = sub nsw i32 25, %1400
br label %1402
1402: ; preds = %1398, %1397
%1403 = phi i32 [ 0, %1397 ], [ %1401, %1398 ]
%1404 = trunc i32 %1403 to i16
store i16 %1404, i16* %13
%1405 = load i16, i16* %18
%1406 = sext i16 %1405 to i32
%1407 = icmp eq i32 %1406, 0
br i1 %1407, label %1408, label %1409
1408: ; preds = %1402
br label %1413
1409: ; preds = %1402
%1410 = load i16, i16* %18
%1411 = sext i16 %1410 to i32
%1412 = sub nsw i32 25, %1411
br label %1413
1413: ; preds = %1409, %1408
%1414 = phi i32 [ 0, %1408 ], [ %1412, %1409 ]
%1415 = trunc i32 %1414 to i16
store i16 %1415, i16* %17
br label %1416
1416: ; preds = %1413, %1206
br label %1417
1417: ; preds = %1416, %993
%1418 = load i16, i16* %19
store i16 %1418, i16* %10
br label %1419
1419: ; preds = %1417, %777, %771, %765, %759, %748
br label %1420
1420: ; preds = %1419, %743, %739, %735
br label %18756
1421: ; preds = %731
%1422 = load i16, i16* %21
%1423 = sext i16 %1422 to i32
%1424 = icmp eq i32 %1423, 2
br i1 %1424, label %1425, label %2107
1425: ; preds = %1421
%1426 = load i16, i16* %10
%1427 = sext i16 %1426 to i32
%1428 = icmp ne i32 %1427, 0
br i1 %1428, label %1429, label %2106
1429: ; preds = %1425
%1430 = load i16, i16* %10
%1431 = sext i16 %1430 to i32
%1432 = srem i32 %1431, 4
%1433 = icmp ne i32 %1432, 0
br i1 %1433, label %1434, label %2106
1434: ; preds = %1429
%1435 = load i16, i16* %10
store i16 %1435, i16* %19
%1436 = load i16, i16* %19
%1437 = sext i16 %1436 to i32
%1438 = add nsw i32 %1437, 1
%1439 = trunc i32 %1438 to i16
store i16 %1439, i16* %20
%1440 = load i16, i16* %20
%1441 = sext i16 %1440 to i32
%1442 = load i16, i16* %11
%1443 = sext i16 %1442 to i32
%1444 = icmp ne i32 %1441, %1443
br i1 %1444, label %1445, label %2105
1445: ; preds = %1434
%1446 = load i16, i16* %20
%1447 = sext i16 %1446 to i32
%1448 = load i16, i16* %12
%1449 = sext i16 %1448 to i32
%1450 = icmp ne i32 %1447, %1449
br i1 %1450, label %1451, label %2105
1451: ; preds = %1445
%1452 = load i16, i16* %20
%1453 = sext i16 %1452 to i32
%1454 = load i16, i16* %13
%1455 = sext i16 %1454 to i32
%1456 = icmp ne i32 %1453, %1455
br i1 %1456, label %1457, label %2105
1457: ; preds = %1451
%1458 = load i16, i16* %20
%1459 = sext i16 %1458 to i32
%1460 = load i16, i16* %14
%1461 = sext i16 %1460 to i32
%1462 = icmp ne i32 %1459, %1461
br i1 %1462, label %1463, label %2105
1463: ; preds = %1457
%1464 = load i16, i16* %20
%1465 = sext i16 %1464 to i32
%1466 = load i16, i16* %15
%1467 = sext i16 %1466 to i32
%1468 = icmp ne i32 %1465, %1467
br i1 %1468, label %1469, label %2105
1469: ; preds = %1463
%1470 = load i16, i16* %20
store i16 %1470, i16* %10
%1471 = load i16, i16* %16
%1472 = sext i16 %1471 to i32
%1473 = load i16, i16* %20
%1474 = sext i16 %1473 to i32
%1475 = icmp eq i32 %1472, %1474
br i1 %1475, label %1476, label %1683
1476: ; preds = %1469
store i16 0, i16* %16
%1477 = load i16, i16* %10
store i16 %1477, i16* %18
%1478 = load i16, i16* %14
%1479 = sext i16 %1478 to i32
%1480 = icmp eq i32 %1479, 0
br i1 %1480, label %1481, label %1482
1481: ; preds = %1476
br label %1486
1482: ; preds = %1476
%1483 = load i16, i16* %14
%1484 = sext i16 %1483 to i32
%1485 = sub nsw i32 25, %1484
br label %1486
1486: ; preds = %1482, %1481
%1487 = phi i32 [ 0, %1481 ], [ %1485, %1482 ]
%1488 = trunc i32 %1487 to i16
store i16 %1488, i16* %10
%1489 = load i16, i16* %18
%1490 = sext i16 %1489 to i32
%1491 = icmp eq i32 %1490, 0
br i1 %1491, label %1492, label %1493
1492: ; preds = %1486
br label %1497
1493: ; preds = %1486
%1494 = load i16, i16* %18
%1495 = sext i16 %1494 to i32
%1496 = sub nsw i32 25, %1495
br label %1497
1497: ; preds = %1493, %1492
%1498 = phi i32 [ 0, %1492 ], [ %1496, %1493 ]
%1499 = trunc i32 %1498 to i16
store i16 %1499, i16* %14
%1500 = load i16, i16* %11
store i16 %1500, i16* %18
%1501 = load i16, i16* %15
%1502 = sext i16 %1501 to i32
%1503 = icmp eq i32 %1502, 0
br i1 %1503, label %1504, label %1505
1504: ; preds = %1497
br label %1509
1505: ; preds = %1497
%1506 = load i16, i16* %15
%1507 = sext i16 %1506 to i32
%1508 = sub nsw i32 25, %1507
br label %1509
1509: ; preds = %1505, %1504
%1510 = phi i32 [ 0, %1504 ], [ %1508, %1505 ]
%1511 = trunc i32 %1510 to i16
store i16 %1511, i16* %11
%1512 = load i16, i16* %18
%1513 = sext i16 %1512 to i32
%1514 = icmp eq i32 %1513, 0
br i1 %1514, label %1515, label %1516
1515: ; preds = %1509
br label %1520
1516: ; preds = %1509
%1517 = load i16, i16* %18
%1518 = sext i16 %1517 to i32
%1519 = sub nsw i32 25, %1518
br label %1520
1520: ; preds = %1516, %1515
%1521 = phi i32 [ 0, %1515 ], [ %1519, %1516 ]
%1522 = trunc i32 %1521 to i16
store i16 %1522, i16* %15
%1523 = load i16, i16* %12
store i16 %1523, i16* %18
%1524 = load i16, i16* %16
%1525 = sext i16 %1524 to i32
%1526 = icmp eq i32 %1525, 0
br i1 %1526, label %1527, label %1528
1527: ; preds = %1520
br label %1532
1528: ; preds = %1520
%1529 = load i16, i16* %16
%1530 = sext i16 %1529 to i32
%1531 = sub nsw i32 25, %1530
br label %1532
1532: ; preds = %1528, %1527
%1533 = phi i32 [ 0, %1527 ], [ %1531, %1528 ]
%1534 = trunc i32 %1533 to i16
store i16 %1534, i16* %12
%1535 = load i16, i16* %18
%1536 = sext i16 %1535 to i32
%1537 = icmp eq i32 %1536, 0
br i1 %1537, label %1538, label %1539
1538: ; preds = %1532
br label %1543
1539: ; preds = %1532
%1540 = load i16, i16* %18
%1541 = sext i16 %1540 to i32
%1542 = sub nsw i32 25, %1541
br label %1543
1543: ; preds = %1539, %1538
%1544 = phi i32 [ 0, %1538 ], [ %1542, %1539 ]
%1545 = trunc i32 %1544 to i16
store i16 %1545, i16* %16
%1546 = load i16, i16* %13
store i16 %1546, i16* %18
%1547 = load i16, i16* %17
%1548 = sext i16 %1547 to i32
%1549 = icmp eq i32 %1548, 0
br i1 %1549, label %1550, label %1551
1550: ; preds = %1543
br label %1555
1551: ; preds = %1543
%1552 = load i16, i16* %17
%1553 = sext i16 %1552 to i32
%1554 = sub nsw i32 25, %1553
br label %1555
1555: ; preds = %1551, %1550
%1556 = phi i32 [ 0, %1550 ], [ %1554, %1551 ]
%1557 = trunc i32 %1556 to i16
store i16 %1557, i16* %13
%1558 = load i16, i16* %18
%1559 = sext i16 %1558 to i32
%1560 = icmp eq i32 %1559, 0
br i1 %1560, label %1561, label %1562
1561: ; preds = %1555
br label %1566
1562: ; preds = %1555
%1563 = load i16, i16* %18
%1564 = sext i16 %1563 to i32
%1565 = sub nsw i32 25, %1564
br label %1566
1566: ; preds = %1562, %1561
%1567 = phi i32 [ 0, %1561 ], [ %1565, %1562 ]
%1568 = trunc i32 %1567 to i16
store i16 %1568, i16* %17
%1569 = load i16, i16* %10
%1570 = sext i16 %1569 to i32
%1571 = load i16, i16* %11
%1572 = sext i16 %1571 to i32
%1573 = load i16, i16* %12
%1574 = sext i16 %1573 to i32
%1575 = load i16, i16* %13
%1576 = sext i16 %1575 to i32
%1577 = load i16, i16* %14
%1578 = sext i16 %1577 to i32
%1579 = load i16, i16* %15
%1580 = sext i16 %1579 to i32
%1581 = load i16, i16* %16
%1582 = sext i16 %1581 to i32
%1583 = load i16, i16* %17
%1584 = sext i16 %1583 to i32
%1585 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1570, i32 %1572, i32 %1574, i32 %1576, i32 %1578, i32 %1580, i32 %1582, i32 %1584)
%1586 = icmp sle i32 0, %1585
br i1 %1586, label %1587, label %1589
1587: ; preds = %1566
%1588 = load i16, i16* %21
store i16 %1588, i16* %9
br label %18762
1589: ; preds = %1566
%1590 = load i16, i16* %10
store i16 %1590, i16* %18
%1591 = load i16, i16* %14
%1592 = sext i16 %1591 to i32
%1593 = icmp eq i32 %1592, 0
br i1 %1593, label %1594, label %1595
1594: ; preds = %1589
br label %1599
1595: ; preds = %1589
%1596 = load i16, i16* %14
%1597 = sext i16 %1596 to i32
%1598 = sub nsw i32 25, %1597
br label %1599
1599: ; preds = %1595, %1594
%1600 = phi i32 [ 0, %1594 ], [ %1598, %1595 ]
%1601 = trunc i32 %1600 to i16
store i16 %1601, i16* %10
%1602 = load i16, i16* %18
%1603 = sext i16 %1602 to i32
%1604 = icmp eq i32 %1603, 0
br i1 %1604, label %1605, label %1606
1605: ; preds = %1599
br label %1610
1606: ; preds = %1599
%1607 = load i16, i16* %18
%1608 = sext i16 %1607 to i32
%1609 = sub nsw i32 25, %1608
br label %1610
1610: ; preds = %1606, %1605
%1611 = phi i32 [ 0, %1605 ], [ %1609, %1606 ]
%1612 = trunc i32 %1611 to i16
store i16 %1612, i16* %14
%1613 = load i16, i16* %11
store i16 %1613, i16* %18
%1614 = load i16, i16* %15
%1615 = sext i16 %1614 to i32
%1616 = icmp eq i32 %1615, 0
br i1 %1616, label %1617, label %1618
1617: ; preds = %1610
br label %1622
1618: ; preds = %1610
%1619 = load i16, i16* %15
%1620 = sext i16 %1619 to i32
%1621 = sub nsw i32 25, %1620
br label %1622
1622: ; preds = %1618, %1617
%1623 = phi i32 [ 0, %1617 ], [ %1621, %1618 ]
%1624 = trunc i32 %1623 to i16
store i16 %1624, i16* %11
%1625 = load i16, i16* %18
%1626 = sext i16 %1625 to i32
%1627 = icmp eq i32 %1626, 0
br i1 %1627, label %1628, label %1629
1628: ; preds = %1622
br label %1633
1629: ; preds = %1622
%1630 = load i16, i16* %18
%1631 = sext i16 %1630 to i32
%1632 = sub nsw i32 25, %1631
br label %1633
1633: ; preds = %1629, %1628
%1634 = phi i32 [ 0, %1628 ], [ %1632, %1629 ]
%1635 = trunc i32 %1634 to i16
store i16 %1635, i16* %15
%1636 = load i16, i16* %12
store i16 %1636, i16* %18
%1637 = load i16, i16* %16
%1638 = sext i16 %1637 to i32
%1639 = icmp eq i32 %1638, 0
br i1 %1639, label %1640, label %1641
1640: ; preds = %1633
br label %1645
1641: ; preds = %1633
%1642 = load i16, i16* %16
%1643 = sext i16 %1642 to i32
%1644 = sub nsw i32 25, %1643
br label %1645
1645: ; preds = %1641, %1640
%1646 = phi i32 [ 0, %1640 ], [ %1644, %1641 ]
%1647 = trunc i32 %1646 to i16
store i16 %1647, i16* %12
%1648 = load i16, i16* %18
%1649 = sext i16 %1648 to i32
%1650 = icmp eq i32 %1649, 0
br i1 %1650, label %1651, label %1652
1651: ; preds = %1645
br label %1656
1652: ; preds = %1645
%1653 = load i16, i16* %18
%1654 = sext i16 %1653 to i32
%1655 = sub nsw i32 25, %1654
br label %1656
1656: ; preds = %1652, %1651
%1657 = phi i32 [ 0, %1651 ], [ %1655, %1652 ]
%1658 = trunc i32 %1657 to i16
store i16 %1658, i16* %16
%1659 = load i16, i16* %13
store i16 %1659, i16* %18
%1660 = load i16, i16* %17
%1661 = sext i16 %1660 to i32
%1662 = icmp eq i32 %1661, 0
br i1 %1662, label %1663, label %1664
1663: ; preds = %1656
br label %1668
1664: ; preds = %1656
%1665 = load i16, i16* %17
%1666 = sext i16 %1665 to i32
%1667 = sub nsw i32 25, %1666
br label %1668
1668: ; preds = %1664, %1663
%1669 = phi i32 [ 0, %1663 ], [ %1667, %1664 ]
%1670 = trunc i32 %1669 to i16
store i16 %1670, i16* %13
%1671 = load i16, i16* %18
%1672 = sext i16 %1671 to i32
%1673 = icmp eq i32 %1672, 0
br i1 %1673, label %1674, label %1675
1674: ; preds = %1668
br label %1679
1675: ; preds = %1668
%1676 = load i16, i16* %18
%1677 = sext i16 %1676 to i32
%1678 = sub nsw i32 25, %1677
br label %1679
1679: ; preds = %1675, %1674
%1680 = phi i32 [ 0, %1674 ], [ %1678, %1675 ]
%1681 = trunc i32 %1680 to i16
store i16 %1681, i16* %17
%1682 = load i16, i16* %20
store i16 %1682, i16* %16
br label %2103
1683: ; preds = %1469
%1684 = load i16, i16* %17
%1685 = sext i16 %1684 to i32
%1686 = load i16, i16* %20
%1687 = sext i16 %1686 to i32
%1688 = icmp eq i32 %1685, %1687
br i1 %1688, label %1689, label %1896
1689: ; preds = %1683
store i16 0, i16* %17
%1690 = load i16, i16* %10
store i16 %1690, i16* %18
%1691 = load i16, i16* %14
%1692 = sext i16 %1691 to i32
%1693 = icmp eq i32 %1692, 0
br i1 %1693, label %1694, label %1695
1694: ; preds = %1689
br label %1699
1695: ; preds = %1689
%1696 = load i16, i16* %14
%1697 = sext i16 %1696 to i32
%1698 = sub nsw i32 25, %1697
br label %1699
1699: ; preds = %1695, %1694
%1700 = phi i32 [ 0, %1694 ], [ %1698, %1695 ]
%1701 = trunc i32 %1700 to i16
store i16 %1701, i16* %10
%1702 = load i16, i16* %18
%1703 = sext i16 %1702 to i32
%1704 = icmp eq i32 %1703, 0
br i1 %1704, label %1705, label %1706
1705: ; preds = %1699
br label %1710
1706: ; preds = %1699
%1707 = load i16, i16* %18
%1708 = sext i16 %1707 to i32
%1709 = sub nsw i32 25, %1708
br label %1710
1710: ; preds = %1706, %1705
%1711 = phi i32 [ 0, %1705 ], [ %1709, %1706 ]
%1712 = trunc i32 %1711 to i16
store i16 %1712, i16* %14
%1713 = load i16, i16* %11
store i16 %1713, i16* %18
%1714 = load i16, i16* %15
%1715 = sext i16 %1714 to i32
%1716 = icmp eq i32 %1715, 0
br i1 %1716, label %1717, label %1718
1717: ; preds = %1710
br label %1722
1718: ; preds = %1710
%1719 = load i16, i16* %15
%1720 = sext i16 %1719 to i32
%1721 = sub nsw i32 25, %1720
br label %1722
1722: ; preds = %1718, %1717
%1723 = phi i32 [ 0, %1717 ], [ %1721, %1718 ]
%1724 = trunc i32 %1723 to i16
store i16 %1724, i16* %11
%1725 = load i16, i16* %18
%1726 = sext i16 %1725 to i32
%1727 = icmp eq i32 %1726, 0
br i1 %1727, label %1728, label %1729
1728: ; preds = %1722
br label %1733
1729: ; preds = %1722
%1730 = load i16, i16* %18
%1731 = sext i16 %1730 to i32
%1732 = sub nsw i32 25, %1731
br label %1733
1733: ; preds = %1729, %1728
%1734 = phi i32 [ 0, %1728 ], [ %1732, %1729 ]
%1735 = trunc i32 %1734 to i16
store i16 %1735, i16* %15
%1736 = load i16, i16* %12
store i16 %1736, i16* %18
%1737 = load i16, i16* %16
%1738 = sext i16 %1737 to i32
%1739 = icmp eq i32 %1738, 0
br i1 %1739, label %1740, label %1741
1740: ; preds = %1733
br label %1745
1741: ; preds = %1733
%1742 = load i16, i16* %16
%1743 = sext i16 %1742 to i32
%1744 = sub nsw i32 25, %1743
br label %1745
1745: ; preds = %1741, %1740
%1746 = phi i32 [ 0, %1740 ], [ %1744, %1741 ]
%1747 = trunc i32 %1746 to i16
store i16 %1747, i16* %12
%1748 = load i16, i16* %18
%1749 = sext i16 %1748 to i32
%1750 = icmp eq i32 %1749, 0
br i1 %1750, label %1751, label %1752
1751: ; preds = %1745
br label %1756
1752: ; preds = %1745
%1753 = load i16, i16* %18
%1754 = sext i16 %1753 to i32
%1755 = sub nsw i32 25, %1754
br label %1756
1756: ; preds = %1752, %1751
%1757 = phi i32 [ 0, %1751 ], [ %1755, %1752 ]
%1758 = trunc i32 %1757 to i16
store i16 %1758, i16* %16
%1759 = load i16, i16* %13
store i16 %1759, i16* %18
%1760 = load i16, i16* %17
%1761 = sext i16 %1760 to i32
%1762 = icmp eq i32 %1761, 0
br i1 %1762, label %1763, label %1764
1763: ; preds = %1756
br label %1768
1764: ; preds = %1756
%1765 = load i16, i16* %17
%1766 = sext i16 %1765 to i32
%1767 = sub nsw i32 25, %1766
br label %1768
1768: ; preds = %1764, %1763
%1769 = phi i32 [ 0, %1763 ], [ %1767, %1764 ]
%1770 = trunc i32 %1769 to i16
store i16 %1770, i16* %13
%1771 = load i16, i16* %18
%1772 = sext i16 %1771 to i32
%1773 = icmp eq i32 %1772, 0
br i1 %1773, label %1774, label %1775
1774: ; preds = %1768
br label %1779
1775: ; preds = %1768
%1776 = load i16, i16* %18
%1777 = sext i16 %1776 to i32
%1778 = sub nsw i32 25, %1777
br label %1779
1779: ; preds = %1775, %1774
%1780 = phi i32 [ 0, %1774 ], [ %1778, %1775 ]
%1781 = trunc i32 %1780 to i16
store i16 %1781, i16* %17
%1782 = load i16, i16* %10
%1783 = sext i16 %1782 to i32
%1784 = load i16, i16* %11
%1785 = sext i16 %1784 to i32
%1786 = load i16, i16* %12
%1787 = sext i16 %1786 to i32
%1788 = load i16, i16* %13
%1789 = sext i16 %1788 to i32
%1790 = load i16, i16* %14
%1791 = sext i16 %1790 to i32
%1792 = load i16, i16* %15
%1793 = sext i16 %1792 to i32
%1794 = load i16, i16* %16
%1795 = sext i16 %1794 to i32
%1796 = load i16, i16* %17
%1797 = sext i16 %1796 to i32
%1798 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1783, i32 %1785, i32 %1787, i32 %1789, i32 %1791, i32 %1793, i32 %1795, i32 %1797)
%1799 = icmp sle i32 0, %1798
br i1 %1799, label %1800, label %1802
1800: ; preds = %1779
%1801 = load i16, i16* %21
store i16 %1801, i16* %9
br label %18762
1802: ; preds = %1779
%1803 = load i16, i16* %10
store i16 %1803, i16* %18
%1804 = load i16, i16* %14
%1805 = sext i16 %1804 to i32
%1806 = icmp eq i32 %1805, 0
br i1 %1806, label %1807, label %1808
1807: ; preds = %1802
br label %1812
1808: ; preds = %1802
%1809 = load i16, i16* %14
%1810 = sext i16 %1809 to i32
%1811 = sub nsw i32 25, %1810
br label %1812
1812: ; preds = %1808, %1807
%1813 = phi i32 [ 0, %1807 ], [ %1811, %1808 ]
%1814 = trunc i32 %1813 to i16
store i16 %1814, i16* %10
%1815 = load i16, i16* %18
%1816 = sext i16 %1815 to i32
%1817 = icmp eq i32 %1816, 0
br i1 %1817, label %1818, label %1819
1818: ; preds = %1812
br label %1823
1819: ; preds = %1812
%1820 = load i16, i16* %18
%1821 = sext i16 %1820 to i32
%1822 = sub nsw i32 25, %1821
br label %1823
1823: ; preds = %1819, %1818
%1824 = phi i32 [ 0, %1818 ], [ %1822, %1819 ]
%1825 = trunc i32 %1824 to i16
store i16 %1825, i16* %14
%1826 = load i16, i16* %11
store i16 %1826, i16* %18
%1827 = load i16, i16* %15
%1828 = sext i16 %1827 to i32
%1829 = icmp eq i32 %1828, 0
br i1 %1829, label %1830, label %1831
1830: ; preds = %1823
br label %1835
1831: ; preds = %1823
%1832 = load i16, i16* %15
%1833 = sext i16 %1832 to i32
%1834 = sub nsw i32 25, %1833
br label %1835
1835: ; preds = %1831, %1830
%1836 = phi i32 [ 0, %1830 ], [ %1834, %1831 ]
%1837 = trunc i32 %1836 to i16
store i16 %1837, i16* %11
%1838 = load i16, i16* %18
%1839 = sext i16 %1838 to i32
%1840 = icmp eq i32 %1839, 0
br i1 %1840, label %1841, label %1842
1841: ; preds = %1835
br label %1846
1842: ; preds = %1835
%1843 = load i16, i16* %18
%1844 = sext i16 %1843 to i32
%1845 = sub nsw i32 25, %1844
br label %1846
1846: ; preds = %1842, %1841
%1847 = phi i32 [ 0, %1841 ], [ %1845, %1842 ]
%1848 = trunc i32 %1847 to i16
store i16 %1848, i16* %15
%1849 = load i16, i16* %12
store i16 %1849, i16* %18
%1850 = load i16, i16* %16
%1851 = sext i16 %1850 to i32
%1852 = icmp eq i32 %1851, 0
br i1 %1852, label %1853, label %1854
1853: ; preds = %1846
br label %1858
1854: ; preds = %1846
%1855 = load i16, i16* %16
%1856 = sext i16 %1855 to i32
%1857 = sub nsw i32 25, %1856
br label %1858
1858: ; preds = %1854, %1853
%1859 = phi i32 [ 0, %1853 ], [ %1857, %1854 ]
%1860 = trunc i32 %1859 to i16
store i16 %1860, i16* %12
%1861 = load i16, i16* %18
%1862 = sext i16 %1861 to i32
%1863 = icmp eq i32 %1862, 0
br i1 %1863, label %1864, label %1865
1864: ; preds = %1858
br label %1869
1865: ; preds = %1858
%1866 = load i16, i16* %18
%1867 = sext i16 %1866 to i32
%1868 = sub nsw i32 25, %1867
br label %1869
1869: ; preds = %1865, %1864
%1870 = phi i32 [ 0, %1864 ], [ %1868, %1865 ]
%1871 = trunc i32 %1870 to i16
store i16 %1871, i16* %16
%1872 = load i16, i16* %13
store i16 %1872, i16* %18
%1873 = load i16, i16* %17
%1874 = sext i16 %1873 to i32
%1875 = icmp eq i32 %1874, 0
br i1 %1875, label %1876, label %1877
1876: ; preds = %1869
br label %1881
1877: ; preds = %1869
%1878 = load i16, i16* %17
%1879 = sext i16 %1878 to i32
%1880 = sub nsw i32 25, %1879
br label %1881
1881: ; preds = %1877, %1876
%1882 = phi i32 [ 0, %1876 ], [ %1880, %1877 ]
%1883 = trunc i32 %1882 to i16
store i16 %1883, i16* %13
%1884 = load i16, i16* %18
%1885 = sext i16 %1884 to i32
%1886 = icmp eq i32 %1885, 0
br i1 %1886, label %1887, label %1888
1887: ; preds = %1881
br label %1892
1888: ; preds = %1881
%1889 = load i16, i16* %18
%1890 = sext i16 %1889 to i32
%1891 = sub nsw i32 25, %1890
br label %1892
1892: ; preds = %1888, %1887
%1893 = phi i32 [ 0, %1887 ], [ %1891, %1888 ]
%1894 = trunc i32 %1893 to i16
store i16 %1894, i16* %17
%1895 = load i16, i16* %20
store i16 %1895, i16* %17
br label %2102
1896: ; preds = %1683
%1897 = load i16, i16* %10
store i16 %1897, i16* %18
%1898 = load i16, i16* %14
%1899 = sext i16 %1898 to i32
%1900 = icmp eq i32 %1899, 0
br i1 %1900, label %1901, label %1902
1901: ; preds = %1896
br label %1906
1902: ; preds = %1896
%1903 = load i16, i16* %14
%1904 = sext i16 %1903 to i32
%1905 = sub nsw i32 25, %1904
br label %1906
1906: ; preds = %1902, %1901
%1907 = phi i32 [ 0, %1901 ], [ %1905, %1902 ]
%1908 = trunc i32 %1907 to i16
store i16 %1908, i16* %10
%1909 = load i16, i16* %18
%1910 = sext i16 %1909 to i32
%1911 = icmp eq i32 %1910, 0
br i1 %1911, label %1912, label %1913
1912: ; preds = %1906
br label %1917
1913: ; preds = %1906
%1914 = load i16, i16* %18
%1915 = sext i16 %1914 to i32
%1916 = sub nsw i32 25, %1915
br label %1917
1917: ; preds = %1913, %1912
%1918 = phi i32 [ 0, %1912 ], [ %1916, %1913 ]
%1919 = trunc i32 %1918 to i16
store i16 %1919, i16* %14
%1920 = load i16, i16* %11
store i16 %1920, i16* %18
%1921 = load i16, i16* %15
%1922 = sext i16 %1921 to i32
%1923 = icmp eq i32 %1922, 0
br i1 %1923, label %1924, label %1925
1924: ; preds = %1917
br label %1929
1925: ; preds = %1917
%1926 = load i16, i16* %15
%1927 = sext i16 %1926 to i32
%1928 = sub nsw i32 25, %1927
br label %1929
1929: ; preds = %1925, %1924
%1930 = phi i32 [ 0, %1924 ], [ %1928, %1925 ]
%1931 = trunc i32 %1930 to i16
store i16 %1931, i16* %11
%1932 = load i16, i16* %18
%1933 = sext i16 %1932 to i32
%1934 = icmp eq i32 %1933, 0
br i1 %1934, label %1935, label %1936
1935: ; preds = %1929
br label %1940
1936: ; preds = %1929
%1937 = load i16, i16* %18
%1938 = sext i16 %1937 to i32
%1939 = sub nsw i32 25, %1938
br label %1940
1940: ; preds = %1936, %1935
%1941 = phi i32 [ 0, %1935 ], [ %1939, %1936 ]
%1942 = trunc i32 %1941 to i16
store i16 %1942, i16* %15
%1943 = load i16, i16* %12
store i16 %1943, i16* %18
%1944 = load i16, i16* %16
%1945 = sext i16 %1944 to i32
%1946 = icmp eq i32 %1945, 0
br i1 %1946, label %1947, label %1948
1947: ; preds = %1940
br label %1952
1948: ; preds = %1940
%1949 = load i16, i16* %16
%1950 = sext i16 %1949 to i32
%1951 = sub nsw i32 25, %1950
br label %1952
1952: ; preds = %1948, %1947
%1953 = phi i32 [ 0, %1947 ], [ %1951, %1948 ]
%1954 = trunc i32 %1953 to i16
store i16 %1954, i16* %12
%1955 = load i16, i16* %18
%1956 = sext i16 %1955 to i32
%1957 = icmp eq i32 %1956, 0
br i1 %1957, label %1958, label %1959
1958: ; preds = %1952
br label %1963
1959: ; preds = %1952
%1960 = load i16, i16* %18
%1961 = sext i16 %1960 to i32
%1962 = sub nsw i32 25, %1961
br label %1963
1963: ; preds = %1959, %1958
%1964 = phi i32 [ 0, %1958 ], [ %1962, %1959 ]
%1965 = trunc i32 %1964 to i16
store i16 %1965, i16* %16
%1966 = load i16, i16* %13
store i16 %1966, i16* %18
%1967 = load i16, i16* %17
%1968 = sext i16 %1967 to i32
%1969 = icmp eq i32 %1968, 0
br i1 %1969, label %1970, label %1971
1970: ; preds = %1963
br label %1975
1971: ; preds = %1963
%1972 = load i16, i16* %17
%1973 = sext i16 %1972 to i32
%1974 = sub nsw i32 25, %1973
br label %1975
1975: ; preds = %1971, %1970
%1976 = phi i32 [ 0, %1970 ], [ %1974, %1971 ]
%1977 = trunc i32 %1976 to i16
store i16 %1977, i16* %13
%1978 = load i16, i16* %18
%1979 = sext i16 %1978 to i32
%1980 = icmp eq i32 %1979, 0
br i1 %1980, label %1981, label %1982
1981: ; preds = %1975
br label %1986
1982: ; preds = %1975
%1983 = load i16, i16* %18
%1984 = sext i16 %1983 to i32
%1985 = sub nsw i32 25, %1984
br label %1986
1986: ; preds = %1982, %1981
%1987 = phi i32 [ 0, %1981 ], [ %1985, %1982 ]
%1988 = trunc i32 %1987 to i16
store i16 %1988, i16* %17
%1989 = load i16, i16* %10
%1990 = sext i16 %1989 to i32
%1991 = load i16, i16* %11
%1992 = sext i16 %1991 to i32
%1993 = load i16, i16* %12
%1994 = sext i16 %1993 to i32
%1995 = load i16, i16* %13
%1996 = sext i16 %1995 to i32
%1997 = load i16, i16* %14
%1998 = sext i16 %1997 to i32
%1999 = load i16, i16* %15
%2000 = sext i16 %1999 to i32
%2001 = load i16, i16* %16
%2002 = sext i16 %2001 to i32
%2003 = load i16, i16* %17
%2004 = sext i16 %2003 to i32
%2005 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1990, i32 %1992, i32 %1994, i32 %1996, i32 %1998, i32 %2000, i32 %2002, i32 %2004)
%2006 = icmp sle i32 0, %2005
br i1 %2006, label %2007, label %2009
2007: ; preds = %1986
%2008 = load i16, i16* %21
store i16 %2008, i16* %9
br label %18762
2009: ; preds = %1986
%2010 = load i16, i16* %10
store i16 %2010, i16* %18
%2011 = load i16, i16* %14
%2012 = sext i16 %2011 to i32
%2013 = icmp eq i32 %2012, 0
br i1 %2013, label %2014, label %2015
2014: ; preds = %2009
br label %2019
2015: ; preds = %2009
%2016 = load i16, i16* %14
%2017 = sext i16 %2016 to i32
%2018 = sub nsw i32 25, %2017
br label %2019
2019: ; preds = %2015, %2014
%2020 = phi i32 [ 0, %2014 ], [ %2018, %2015 ]
%2021 = trunc i32 %2020 to i16
store i16 %2021, i16* %10
%2022 = load i16, i16* %18
%2023 = sext i16 %2022 to i32
%2024 = icmp eq i32 %2023, 0
br i1 %2024, label %2025, label %2026
2025: ; preds = %2019
br label %2030
2026: ; preds = %2019
%2027 = load i16, i16* %18
%2028 = sext i16 %2027 to i32
%2029 = sub nsw i32 25, %2028
br label %2030
2030: ; preds = %2026, %2025
%2031 = phi i32 [ 0, %2025 ], [ %2029, %2026 ]
%2032 = trunc i32 %2031 to i16
store i16 %2032, i16* %14
%2033 = load i16, i16* %11
store i16 %2033, i16* %18
%2034 = load i16, i16* %15
%2035 = sext i16 %2034 to i32
%2036 = icmp eq i32 %2035, 0
br i1 %2036, label %2037, label %2038
2037: ; preds = %2030
br label %2042
2038: ; preds = %2030
%2039 = load i16, i16* %15
%2040 = sext i16 %2039 to i32
%2041 = sub nsw i32 25, %2040
br label %2042
2042: ; preds = %2038, %2037
%2043 = phi i32 [ 0, %2037 ], [ %2041, %2038 ]
%2044 = trunc i32 %2043 to i16
store i16 %2044, i16* %11
%2045 = load i16, i16* %18
%2046 = sext i16 %2045 to i32
%2047 = icmp eq i32 %2046, 0
br i1 %2047, label %2048, label %2049
2048: ; preds = %2042
br label %2053
2049: ; preds = %2042
%2050 = load i16, i16* %18
%2051 = sext i16 %2050 to i32
%2052 = sub nsw i32 25, %2051
br label %2053
2053: ; preds = %2049, %2048
%2054 = phi i32 [ 0, %2048 ], [ %2052, %2049 ]
%2055 = trunc i32 %2054 to i16
store i16 %2055, i16* %15
%2056 = load i16, i16* %12
store i16 %2056, i16* %18
%2057 = load i16, i16* %16
%2058 = sext i16 %2057 to i32
%2059 = icmp eq i32 %2058, 0
br i1 %2059, label %2060, label %2061
2060: ; preds = %2053
br label %2065
2061: ; preds = %2053
%2062 = load i16, i16* %16
%2063 = sext i16 %2062 to i32
%2064 = sub nsw i32 25, %2063
br label %2065
2065: ; preds = %2061, %2060
%2066 = phi i32 [ 0, %2060 ], [ %2064, %2061 ]
%2067 = trunc i32 %2066 to i16
store i16 %2067, i16* %12
%2068 = load i16, i16* %18
%2069 = sext i16 %2068 to i32
%2070 = icmp eq i32 %2069, 0
br i1 %2070, label %2071, label %2072
2071: ; preds = %2065
br label %2076
2072: ; preds = %2065
%2073 = load i16, i16* %18
%2074 = sext i16 %2073 to i32
%2075 = sub nsw i32 25, %2074
br label %2076
2076: ; preds = %2072, %2071
%2077 = phi i32 [ 0, %2071 ], [ %2075, %2072 ]
%2078 = trunc i32 %2077 to i16
store i16 %2078, i16* %16
%2079 = load i16, i16* %13
store i16 %2079, i16* %18
%2080 = load i16, i16* %17
%2081 = sext i16 %2080 to i32
%2082 = icmp eq i32 %2081, 0
br i1 %2082, label %2083, label %2084
2083: ; preds = %2076
br label %2088
2084: ; preds = %2076
%2085 = load i16, i16* %17
%2086 = sext i16 %2085 to i32
%2087 = sub nsw i32 25, %2086
br label %2088
2088: ; preds = %2084, %2083
%2089 = phi i32 [ 0, %2083 ], [ %2087, %2084 ]
%2090 = trunc i32 %2089 to i16
store i16 %2090, i16* %13
%2091 = load i16, i16* %18
%2092 = sext i16 %2091 to i32
%2093 = icmp eq i32 %2092, 0
br i1 %2093, label %2094, label %2095
2094: ; preds = %2088
br label %2099
2095: ; preds = %2088
%2096 = load i16, i16* %18
%2097 = sext i16 %2096 to i32
%2098 = sub nsw i32 25, %2097
br label %2099
2099: ; preds = %2095, %2094
%2100 = phi i32 [ 0, %2094 ], [ %2098, %2095 ]
%2101 = trunc i32 %2100 to i16
store i16 %2101, i16* %17
br label %2102
2102: ; preds = %2099, %1892
br label %2103
2103: ; preds = %2102, %1679
%2104 = load i16, i16* %19
store i16 %2104, i16* %10
br label %2105
2105: ; preds = %2103, %1463, %1457, %1451, %1445, %1434
br label %2106
2106: ; preds = %2105, %1429, %1425
br label %18755
2107: ; preds = %1421
%2108 = load i16, i16* %21
%2109 = sext i16 %2108 to i32
%2110 = icmp eq i32 %2109, 3
br i1 %2110, label %2111, label %2797
2111: ; preds = %2107
%2112 = load i16, i16* %10
%2113 = sext i16 %2112 to i32
%2114 = icmp ne i32 %2113, 0
br i1 %2114, label %2115, label %2796
2115: ; preds = %2111
%2116 = load i16, i16* %10
%2117 = sext i16 %2116 to i32
%2118 = icmp slt i32 4, %2117
br i1 %2118, label %2119, label %2796
2119: ; preds = %2115
%2120 = load i16, i16* %10
%2121 = sext i16 %2120 to i32
%2122 = srem i32 %2121, 4
%2123 = icmp ne i32 %2122, 0
br i1 %2123, label %2124, label %2796
2124: ; preds = %2119
%2125 = load i16, i16* %10
store i16 %2125, i16* %19
%2126 = load i16, i16* %19
%2127 = sext i16 %2126 to i32
%2128 = sub nsw i32 %2127, 3
%2129 = trunc i32 %2128 to i16
store i16 %2129, i16* %20
%2130 = load i16, i16* %20
%2131 = sext i16 %2130 to i32
%2132 = load i16, i16* %11
%2133 = sext i16 %2132 to i32
%2134 = icmp ne i32 %2131, %2133
br i1 %2134, label %2135, label %2795
2135: ; preds = %2124
%2136 = load i16, i16* %20
%2137 = sext i16 %2136 to i32
%2138 = load i16, i16* %12
%2139 = sext i16 %2138 to i32
%2140 = icmp ne i32 %2137, %2139
br i1 %2140, label %2141, label %2795
2141: ; preds = %2135
%2142 = load i16, i16* %20
%2143 = sext i16 %2142 to i32
%2144 = load i16, i16* %13
%2145 = sext i16 %2144 to i32
%2146 = icmp ne i32 %2143, %2145
br i1 %2146, label %2147, label %2795
2147: ; preds = %2141
%2148 = load i16, i16* %20
%2149 = sext i16 %2148 to i32
%2150 = load i16, i16* %14
%2151 = sext i16 %2150 to i32
%2152 = icmp ne i32 %2149, %2151
br i1 %2152, label %2153, label %2795
2153: ; preds = %2147
%2154 = load i16, i16* %20
%2155 = sext i16 %2154 to i32
%2156 = load i16, i16* %15
%2157 = sext i16 %2156 to i32
%2158 = icmp ne i32 %2155, %2157
br i1 %2158, label %2159, label %2795
2159: ; preds = %2153
%2160 = load i16, i16* %20
store i16 %2160, i16* %10
%2161 = load i16, i16* %16
%2162 = sext i16 %2161 to i32
%2163 = load i16, i16* %20
%2164 = sext i16 %2163 to i32
%2165 = icmp eq i32 %2162, %2164
br i1 %2165, label %2166, label %2373
2166: ; preds = %2159
store i16 0, i16* %16
%2167 = load i16, i16* %10
store i16 %2167, i16* %18
%2168 = load i16, i16* %14
%2169 = sext i16 %2168 to i32
%2170 = icmp eq i32 %2169, 0
br i1 %2170, label %2171, label %2172
2171: ; preds = %2166
br label %2176
2172: ; preds = %2166
%2173 = load i16, i16* %14
%2174 = sext i16 %2173 to i32
%2175 = sub nsw i32 25, %2174
br label %2176
2176: ; preds = %2172, %2171
%2177 = phi i32 [ 0, %2171 ], [ %2175, %2172 ]
%2178 = trunc i32 %2177 to i16
store i16 %2178, i16* %10
%2179 = load i16, i16* %18
%2180 = sext i16 %2179 to i32
%2181 = icmp eq i32 %2180, 0
br i1 %2181, label %2182, label %2183
2182: ; preds = %2176
br label %2187
2183: ; preds = %2176
%2184 = load i16, i16* %18
%2185 = sext i16 %2184 to i32
%2186 = sub nsw i32 25, %2185
br label %2187
2187: ; preds = %2183, %2182
%2188 = phi i32 [ 0, %2182 ], [ %2186, %2183 ]
%2189 = trunc i32 %2188 to i16
store i16 %2189, i16* %14
%2190 = load i16, i16* %11
store i16 %2190, i16* %18
%2191 = load i16, i16* %15
%2192 = sext i16 %2191 to i32
%2193 = icmp eq i32 %2192, 0
br i1 %2193, label %2194, label %2195
2194: ; preds = %2187
br label %2199
2195: ; preds = %2187
%2196 = load i16, i16* %15
%2197 = sext i16 %2196 to i32
%2198 = sub nsw i32 25, %2197
br label %2199
2199: ; preds = %2195, %2194
%2200 = phi i32 [ 0, %2194 ], [ %2198, %2195 ]
%2201 = trunc i32 %2200 to i16
store i16 %2201, i16* %11
%2202 = load i16, i16* %18
%2203 = sext i16 %2202 to i32
%2204 = icmp eq i32 %2203, 0
br i1 %2204, label %2205, label %2206
2205: ; preds = %2199
br label %2210
2206: ; preds = %2199
%2207 = load i16, i16* %18
%2208 = sext i16 %2207 to i32
%2209 = sub nsw i32 25, %2208
br label %2210
2210: ; preds = %2206, %2205
%2211 = phi i32 [ 0, %2205 ], [ %2209, %2206 ]
%2212 = trunc i32 %2211 to i16
store i16 %2212, i16* %15
%2213 = load i16, i16* %12
store i16 %2213, i16* %18
%2214 = load i16, i16* %16
%2215 = sext i16 %2214 to i32
%2216 = icmp eq i32 %2215, 0
br i1 %2216, label %2217, label %2218
2217: ; preds = %2210
br label %2222
2218: ; preds = %2210
%2219 = load i16, i16* %16
%2220 = sext i16 %2219 to i32
%2221 = sub nsw i32 25, %2220
br label %2222
2222: ; preds = %2218, %2217
%2223 = phi i32 [ 0, %2217 ], [ %2221, %2218 ]
%2224 = trunc i32 %2223 to i16
store i16 %2224, i16* %12
%2225 = load i16, i16* %18
%2226 = sext i16 %2225 to i32
%2227 = icmp eq i32 %2226, 0
br i1 %2227, label %2228, label %2229
2228: ; preds = %2222
br label %2233
2229: ; preds = %2222
%2230 = load i16, i16* %18
%2231 = sext i16 %2230 to i32
%2232 = sub nsw i32 25, %2231
br label %2233
2233: ; preds = %2229, %2228
%2234 = phi i32 [ 0, %2228 ], [ %2232, %2229 ]
%2235 = trunc i32 %2234 to i16
store i16 %2235, i16* %16
%2236 = load i16, i16* %13
store i16 %2236, i16* %18
%2237 = load i16, i16* %17
%2238 = sext i16 %2237 to i32
%2239 = icmp eq i32 %2238, 0
br i1 %2239, label %2240, label %2241
2240: ; preds = %2233
br label %2245
2241: ; preds = %2233
%2242 = load i16, i16* %17
%2243 = sext i16 %2242 to i32
%2244 = sub nsw i32 25, %2243
br label %2245
2245: ; preds = %2241, %2240
%2246 = phi i32 [ 0, %2240 ], [ %2244, %2241 ]
%2247 = trunc i32 %2246 to i16
store i16 %2247, i16* %13
%2248 = load i16, i16* %18
%2249 = sext i16 %2248 to i32
%2250 = icmp eq i32 %2249, 0
br i1 %2250, label %2251, label %2252
2251: ; preds = %2245
br label %2256
2252: ; preds = %2245
%2253 = load i16, i16* %18
%2254 = sext i16 %2253 to i32
%2255 = sub nsw i32 25, %2254
br label %2256
2256: ; preds = %2252, %2251
%2257 = phi i32 [ 0, %2251 ], [ %2255, %2252 ]
%2258 = trunc i32 %2257 to i16
store i16 %2258, i16* %17
%2259 = load i16, i16* %10
%2260 = sext i16 %2259 to i32
%2261 = load i16, i16* %11
%2262 = sext i16 %2261 to i32
%2263 = load i16, i16* %12
%2264 = sext i16 %2263 to i32
%2265 = load i16, i16* %13
%2266 = sext i16 %2265 to i32
%2267 = load i16, i16* %14
%2268 = sext i16 %2267 to i32
%2269 = load i16, i16* %15
%2270 = sext i16 %2269 to i32
%2271 = load i16, i16* %16
%2272 = sext i16 %2271 to i32
%2273 = load i16, i16* %17
%2274 = sext i16 %2273 to i32
%2275 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2260, i32 %2262, i32 %2264, i32 %2266, i32 %2268, i32 %2270, i32 %2272, i32 %2274)
%2276 = icmp sle i32 0, %2275
br i1 %2276, label %2277, label %2279
2277: ; preds = %2256
%2278 = load i16, i16* %21
store i16 %2278, i16* %9
br label %18762
2279: ; preds = %2256
%2280 = load i16, i16* %10
store i16 %2280, i16* %18
%2281 = load i16, i16* %14
%2282 = sext i16 %2281 to i32
%2283 = icmp eq i32 %2282, 0
br i1 %2283, label %2284, label %2285
2284: ; preds = %2279
br label %2289
2285: ; preds = %2279
%2286 = load i16, i16* %14
%2287 = sext i16 %2286 to i32
%2288 = sub nsw i32 25, %2287
br label %2289
2289: ; preds = %2285, %2284
%2290 = phi i32 [ 0, %2284 ], [ %2288, %2285 ]
%2291 = trunc i32 %2290 to i16
store i16 %2291, i16* %10
%2292 = load i16, i16* %18
%2293 = sext i16 %2292 to i32
%2294 = icmp eq i32 %2293, 0
br i1 %2294, label %2295, label %2296
2295: ; preds = %2289
br label %2300
2296: ; preds = %2289
%2297 = load i16, i16* %18
%2298 = sext i16 %2297 to i32
%2299 = sub nsw i32 25, %2298
br label %2300
2300: ; preds = %2296, %2295
%2301 = phi i32 [ 0, %2295 ], [ %2299, %2296 ]
%2302 = trunc i32 %2301 to i16
store i16 %2302, i16* %14
%2303 = load i16, i16* %11
store i16 %2303, i16* %18
%2304 = load i16, i16* %15
%2305 = sext i16 %2304 to i32
%2306 = icmp eq i32 %2305, 0
br i1 %2306, label %2307, label %2308
2307: ; preds = %2300
br label %2312
2308: ; preds = %2300
%2309 = load i16, i16* %15
%2310 = sext i16 %2309 to i32
%2311 = sub nsw i32 25, %2310
br label %2312
2312: ; preds = %2308, %2307
%2313 = phi i32 [ 0, %2307 ], [ %2311, %2308 ]
%2314 = trunc i32 %2313 to i16
store i16 %2314, i16* %11
%2315 = load i16, i16* %18
%2316 = sext i16 %2315 to i32
%2317 = icmp eq i32 %2316, 0
br i1 %2317, label %2318, label %2319
2318: ; preds = %2312
br label %2323
2319: ; preds = %2312
%2320 = load i16, i16* %18
%2321 = sext i16 %2320 to i32
%2322 = sub nsw i32 25, %2321
br label %2323
2323: ; preds = %2319, %2318
%2324 = phi i32 [ 0, %2318 ], [ %2322, %2319 ]
%2325 = trunc i32 %2324 to i16
store i16 %2325, i16* %15
%2326 = load i16, i16* %12
store i16 %2326, i16* %18
%2327 = load i16, i16* %16
%2328 = sext i16 %2327 to i32
%2329 = icmp eq i32 %2328, 0
br i1 %2329, label %2330, label %2331
2330: ; preds = %2323
br label %2335
2331: ; preds = %2323
%2332 = load i16, i16* %16
%2333 = sext i16 %2332 to i32
%2334 = sub nsw i32 25, %2333
br label %2335
2335: ; preds = %2331, %2330
%2336 = phi i32 [ 0, %2330 ], [ %2334, %2331 ]
%2337 = trunc i32 %2336 to i16
store i16 %2337, i16* %12
%2338 = load i16, i16* %18
%2339 = sext i16 %2338 to i32
%2340 = icmp eq i32 %2339, 0
br i1 %2340, label %2341, label %2342
2341: ; preds = %2335
br label %2346
2342: ; preds = %2335
%2343 = load i16, i16* %18
%2344 = sext i16 %2343 to i32
%2345 = sub nsw i32 25, %2344
br label %2346
2346: ; preds = %2342, %2341
%2347 = phi i32 [ 0, %2341 ], [ %2345, %2342 ]
%2348 = trunc i32 %2347 to i16
store i16 %2348, i16* %16
%2349 = load i16, i16* %13
store i16 %2349, i16* %18
%2350 = load i16, i16* %17
%2351 = sext i16 %2350 to i32
%2352 = icmp eq i32 %2351, 0
br i1 %2352, label %2353, label %2354
2353: ; preds = %2346
br label %2358
2354: ; preds = %2346
%2355 = load i16, i16* %17
%2356 = sext i16 %2355 to i32
%2357 = sub nsw i32 25, %2356
br label %2358
2358: ; preds = %2354, %2353
%2359 = phi i32 [ 0, %2353 ], [ %2357, %2354 ]
%2360 = trunc i32 %2359 to i16
store i16 %2360, i16* %13
%2361 = load i16, i16* %18
%2362 = sext i16 %2361 to i32
%2363 = icmp eq i32 %2362, 0
br i1 %2363, label %2364, label %2365
2364: ; preds = %2358
br label %2369
2365: ; preds = %2358
%2366 = load i16, i16* %18
%2367 = sext i16 %2366 to i32
%2368 = sub nsw i32 25, %2367
br label %2369
2369: ; preds = %2365, %2364
%2370 = phi i32 [ 0, %2364 ], [ %2368, %2365 ]
%2371 = trunc i32 %2370 to i16
store i16 %2371, i16* %17
%2372 = load i16, i16* %20
store i16 %2372, i16* %16
br label %2793
2373: ; preds = %2159
%2374 = load i16, i16* %17
%2375 = sext i16 %2374 to i32
%2376 = load i16, i16* %20
%2377 = sext i16 %2376 to i32
%2378 = icmp eq i32 %2375, %2377
br i1 %2378, label %2379, label %2586
2379: ; preds = %2373
store i16 0, i16* %17
%2380 = load i16, i16* %10
store i16 %2380, i16* %18
%2381 = load i16, i16* %14
%2382 = sext i16 %2381 to i32
%2383 = icmp eq i32 %2382, 0
br i1 %2383, label %2384, label %2385
2384: ; preds = %2379
br label %2389
2385: ; preds = %2379
%2386 = load i16, i16* %14
%2387 = sext i16 %2386 to i32
%2388 = sub nsw i32 25, %2387
br label %2389
2389: ; preds = %2385, %2384
%2390 = phi i32 [ 0, %2384 ], [ %2388, %2385 ]
%2391 = trunc i32 %2390 to i16
store i16 %2391, i16* %10
%2392 = load i16, i16* %18
%2393 = sext i16 %2392 to i32
%2394 = icmp eq i32 %2393, 0
br i1 %2394, label %2395, label %2396
2395: ; preds = %2389
br label %2400
2396: ; preds = %2389
%2397 = load i16, i16* %18
%2398 = sext i16 %2397 to i32
%2399 = sub nsw i32 25, %2398
br label %2400
2400: ; preds = %2396, %2395
%2401 = phi i32 [ 0, %2395 ], [ %2399, %2396 ]
%2402 = trunc i32 %2401 to i16
store i16 %2402, i16* %14
%2403 = load i16, i16* %11
store i16 %2403, i16* %18
%2404 = load i16, i16* %15
%2405 = sext i16 %2404 to i32
%2406 = icmp eq i32 %2405, 0
br i1 %2406, label %2407, label %2408
2407: ; preds = %2400
br label %2412
2408: ; preds = %2400
%2409 = load i16, i16* %15
%2410 = sext i16 %2409 to i32
%2411 = sub nsw i32 25, %2410
br label %2412
2412: ; preds = %2408, %2407
%2413 = phi i32 [ 0, %2407 ], [ %2411, %2408 ]
%2414 = trunc i32 %2413 to i16
store i16 %2414, i16* %11
%2415 = load i16, i16* %18
%2416 = sext i16 %2415 to i32
%2417 = icmp eq i32 %2416, 0
br i1 %2417, label %2418, label %2419
2418: ; preds = %2412
br label %2423
2419: ; preds = %2412
%2420 = load i16, i16* %18
%2421 = sext i16 %2420 to i32
%2422 = sub nsw i32 25, %2421
br label %2423
2423: ; preds = %2419, %2418
%2424 = phi i32 [ 0, %2418 ], [ %2422, %2419 ]
%2425 = trunc i32 %2424 to i16
store i16 %2425, i16* %15
%2426 = load i16, i16* %12
store i16 %2426, i16* %18
%2427 = load i16, i16* %16
%2428 = sext i16 %2427 to i32
%2429 = icmp eq i32 %2428, 0
br i1 %2429, label %2430, label %2431
2430: ; preds = %2423
br label %2435
2431: ; preds = %2423
%2432 = load i16, i16* %16
%2433 = sext i16 %2432 to i32
%2434 = sub nsw i32 25, %2433
br label %2435
2435: ; preds = %2431, %2430
%2436 = phi i32 [ 0, %2430 ], [ %2434, %2431 ]
%2437 = trunc i32 %2436 to i16
store i16 %2437, i16* %12
%2438 = load i16, i16* %18
%2439 = sext i16 %2438 to i32
%2440 = icmp eq i32 %2439, 0
br i1 %2440, label %2441, label %2442
2441: ; preds = %2435
br label %2446
2442: ; preds = %2435
%2443 = load i16, i16* %18
%2444 = sext i16 %2443 to i32
%2445 = sub nsw i32 25, %2444
br label %2446
2446: ; preds = %2442, %2441
%2447 = phi i32 [ 0, %2441 ], [ %2445, %2442 ]
%2448 = trunc i32 %2447 to i16
store i16 %2448, i16* %16
%2449 = load i16, i16* %13
store i16 %2449, i16* %18
%2450 = load i16, i16* %17
%2451 = sext i16 %2450 to i32
%2452 = icmp eq i32 %2451, 0
br i1 %2452, label %2453, label %2454
2453: ; preds = %2446
br label %2458
2454: ; preds = %2446
%2455 = load i16, i16* %17
%2456 = sext i16 %2455 to i32
%2457 = sub nsw i32 25, %2456
br label %2458
2458: ; preds = %2454, %2453
%2459 = phi i32 [ 0, %2453 ], [ %2457, %2454 ]
%2460 = trunc i32 %2459 to i16
store i16 %2460, i16* %13
%2461 = load i16, i16* %18
%2462 = sext i16 %2461 to i32
%2463 = icmp eq i32 %2462, 0
br i1 %2463, label %2464, label %2465
2464: ; preds = %2458
br label %2469
2465: ; preds = %2458
%2466 = load i16, i16* %18
%2467 = sext i16 %2466 to i32
%2468 = sub nsw i32 25, %2467
br label %2469
2469: ; preds = %2465, %2464
%2470 = phi i32 [ 0, %2464 ], [ %2468, %2465 ]
%2471 = trunc i32 %2470 to i16
store i16 %2471, i16* %17
%2472 = load i16, i16* %10
%2473 = sext i16 %2472 to i32
%2474 = load i16, i16* %11
%2475 = sext i16 %2474 to i32
%2476 = load i16, i16* %12
%2477 = sext i16 %2476 to i32
%2478 = load i16, i16* %13
%2479 = sext i16 %2478 to i32
%2480 = load i16, i16* %14
%2481 = sext i16 %2480 to i32
%2482 = load i16, i16* %15
%2483 = sext i16 %2482 to i32
%2484 = load i16, i16* %16
%2485 = sext i16 %2484 to i32
%2486 = load i16, i16* %17
%2487 = sext i16 %2486 to i32
%2488 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2473, i32 %2475, i32 %2477, i32 %2479, i32 %2481, i32 %2483, i32 %2485, i32 %2487)
%2489 = icmp sle i32 0, %2488
br i1 %2489, label %2490, label %2492
2490: ; preds = %2469
%2491 = load i16, i16* %21
store i16 %2491, i16* %9
br label %18762
2492: ; preds = %2469
%2493 = load i16, i16* %10
store i16 %2493, i16* %18
%2494 = load i16, i16* %14
%2495 = sext i16 %2494 to i32
%2496 = icmp eq i32 %2495, 0
br i1 %2496, label %2497, label %2498
2497: ; preds = %2492
br label %2502
2498: ; preds = %2492
%2499 = load i16, i16* %14
%2500 = sext i16 %2499 to i32
%2501 = sub nsw i32 25, %2500
br label %2502
2502: ; preds = %2498, %2497
%2503 = phi i32 [ 0, %2497 ], [ %2501, %2498 ]
%2504 = trunc i32 %2503 to i16
store i16 %2504, i16* %10
%2505 = load i16, i16* %18
%2506 = sext i16 %2505 to i32
%2507 = icmp eq i32 %2506, 0
br i1 %2507, label %2508, label %2509
2508: ; preds = %2502
br label %2513
2509: ; preds = %2502
%2510 = load i16, i16* %18
%2511 = sext i16 %2510 to i32
%2512 = sub nsw i32 25, %2511
br label %2513
2513: ; preds = %2509, %2508
%2514 = phi i32 [ 0, %2508 ], [ %2512, %2509 ]
%2515 = trunc i32 %2514 to i16
store i16 %2515, i16* %14
%2516 = load i16, i16* %11
store i16 %2516, i16* %18
%2517 = load i16, i16* %15
%2518 = sext i16 %2517 to i32
%2519 = icmp eq i32 %2518, 0
br i1 %2519, label %2520, label %2521
2520: ; preds = %2513
br label %2525
2521: ; preds = %2513
%2522 = load i16, i16* %15
%2523 = sext i16 %2522 to i32
%2524 = sub nsw i32 25, %2523
br label %2525
2525: ; preds = %2521, %2520
%2526 = phi i32 [ 0, %2520 ], [ %2524, %2521 ]
%2527 = trunc i32 %2526 to i16
store i16 %2527, i16* %11
%2528 = load i16, i16* %18
%2529 = sext i16 %2528 to i32
%2530 = icmp eq i32 %2529, 0
br i1 %2530, label %2531, label %2532
2531: ; preds = %2525
br label %2536
2532: ; preds = %2525
%2533 = load i16, i16* %18
%2534 = sext i16 %2533 to i32
%2535 = sub nsw i32 25, %2534
br label %2536
2536: ; preds = %2532, %2531
%2537 = phi i32 [ 0, %2531 ], [ %2535, %2532 ]
%2538 = trunc i32 %2537 to i16
store i16 %2538, i16* %15
%2539 = load i16, i16* %12
store i16 %2539, i16* %18
%2540 = load i16, i16* %16
%2541 = sext i16 %2540 to i32
%2542 = icmp eq i32 %2541, 0
br i1 %2542, label %2543, label %2544
2543: ; preds = %2536
br label %2548
2544: ; preds = %2536
%2545 = load i16, i16* %16
%2546 = sext i16 %2545 to i32
%2547 = sub nsw i32 25, %2546
br label %2548
2548: ; preds = %2544, %2543
%2549 = phi i32 [ 0, %2543 ], [ %2547, %2544 ]
%2550 = trunc i32 %2549 to i16
store i16 %2550, i16* %12
%2551 = load i16, i16* %18
%2552 = sext i16 %2551 to i32
%2553 = icmp eq i32 %2552, 0
br i1 %2553, label %2554, label %2555
2554: ; preds = %2548
br label %2559
2555: ; preds = %2548
%2556 = load i16, i16* %18
%2557 = sext i16 %2556 to i32
%2558 = sub nsw i32 25, %2557
br label %2559
2559: ; preds = %2555, %2554
%2560 = phi i32 [ 0, %2554 ], [ %2558, %2555 ]
%2561 = trunc i32 %2560 to i16
store i16 %2561, i16* %16
%2562 = load i16, i16* %13
store i16 %2562, i16* %18
%2563 = load i16, i16* %17
%2564 = sext i16 %2563 to i32
%2565 = icmp eq i32 %2564, 0
br i1 %2565, label %2566, label %2567
2566: ; preds = %2559
br label %2571
2567: ; preds = %2559
%2568 = load i16, i16* %17
%2569 = sext i16 %2568 to i32
%2570 = sub nsw i32 25, %2569
br label %2571
2571: ; preds = %2567, %2566
%2572 = phi i32 [ 0, %2566 ], [ %2570, %2567 ]
%2573 = trunc i32 %2572 to i16
store i16 %2573, i16* %13
%2574 = load i16, i16* %18
%2575 = sext i16 %2574 to i32
%2576 = icmp eq i32 %2575, 0
br i1 %2576, label %2577, label %2578
2577: ; preds = %2571
br label %2582
2578: ; preds = %2571
%2579 = load i16, i16* %18
%2580 = sext i16 %2579 to i32
%2581 = sub nsw i32 25, %2580
br label %2582
2582: ; preds = %2578, %2577
%2583 = phi i32 [ 0, %2577 ], [ %2581, %2578 ]
%2584 = trunc i32 %2583 to i16
store i16 %2584, i16* %17
%2585 = load i16, i16* %20
store i16 %2585, i16* %17
br label %2792
2586: ; preds = %2373
%2587 = load i16, i16* %10
store i16 %2587, i16* %18
%2588 = load i16, i16* %14
%2589 = sext i16 %2588 to i32
%2590 = icmp eq i32 %2589, 0
br i1 %2590, label %2591, label %2592
2591: ; preds = %2586
br label %2596
2592: ; preds = %2586
%2593 = load i16, i16* %14
%2594 = sext i16 %2593 to i32
%2595 = sub nsw i32 25, %2594
br label %2596
2596: ; preds = %2592, %2591
%2597 = phi i32 [ 0, %2591 ], [ %2595, %2592 ]
%2598 = trunc i32 %2597 to i16
store i16 %2598, i16* %10
%2599 = load i16, i16* %18
%2600 = sext i16 %2599 to i32
%2601 = icmp eq i32 %2600, 0
br i1 %2601, label %2602, label %2603
2602: ; preds = %2596
br label %2607
2603: ; preds = %2596
%2604 = load i16, i16* %18
%2605 = sext i16 %2604 to i32
%2606 = sub nsw i32 25, %2605
br label %2607
2607: ; preds = %2603, %2602
%2608 = phi i32 [ 0, %2602 ], [ %2606, %2603 ]
%2609 = trunc i32 %2608 to i16
store i16 %2609, i16* %14
%2610 = load i16, i16* %11
store i16 %2610, i16* %18
%2611 = load i16, i16* %15
%2612 = sext i16 %2611 to i32
%2613 = icmp eq i32 %2612, 0
br i1 %2613, label %2614, label %2615
2614: ; preds = %2607
br label %2619
2615: ; preds = %2607
%2616 = load i16, i16* %15
%2617 = sext i16 %2616 to i32
%2618 = sub nsw i32 25, %2617
br label %2619
2619: ; preds = %2615, %2614
%2620 = phi i32 [ 0, %2614 ], [ %2618, %2615 ]
%2621 = trunc i32 %2620 to i16
store i16 %2621, i16* %11
%2622 = load i16, i16* %18
%2623 = sext i16 %2622 to i32
%2624 = icmp eq i32 %2623, 0
br i1 %2624, label %2625, label %2626
2625: ; preds = %2619
br label %2630
2626: ; preds = %2619
%2627 = load i16, i16* %18
%2628 = sext i16 %2627 to i32
%2629 = sub nsw i32 25, %2628
br label %2630
2630: ; preds = %2626, %2625
%2631 = phi i32 [ 0, %2625 ], [ %2629, %2626 ]
%2632 = trunc i32 %2631 to i16
store i16 %2632, i16* %15
%2633 = load i16, i16* %12
store i16 %2633, i16* %18
%2634 = load i16, i16* %16
%2635 = sext i16 %2634 to i32
%2636 = icmp eq i32 %2635, 0
br i1 %2636, label %2637, label %2638
2637: ; preds = %2630
br label %2642
2638: ; preds = %2630
%2639 = load i16, i16* %16
%2640 = sext i16 %2639 to i32
%2641 = sub nsw i32 25, %2640
br label %2642
2642: ; preds = %2638, %2637
%2643 = phi i32 [ 0, %2637 ], [ %2641, %2638 ]
%2644 = trunc i32 %2643 to i16
store i16 %2644, i16* %12
%2645 = load i16, i16* %18
%2646 = sext i16 %2645 to i32
%2647 = icmp eq i32 %2646, 0
br i1 %2647, label %2648, label %2649
2648: ; preds = %2642
br label %2653
2649: ; preds = %2642
%2650 = load i16, i16* %18
%2651 = sext i16 %2650 to i32
%2652 = sub nsw i32 25, %2651
br label %2653
2653: ; preds = %2649, %2648
%2654 = phi i32 [ 0, %2648 ], [ %2652, %2649 ]
%2655 = trunc i32 %2654 to i16
store i16 %2655, i16* %16
%2656 = load i16, i16* %13
store i16 %2656, i16* %18
%2657 = load i16, i16* %17
%2658 = sext i16 %2657 to i32
%2659 = icmp eq i32 %2658, 0
br i1 %2659, label %2660, label %2661
2660: ; preds = %2653
br label %2665
2661: ; preds = %2653
%2662 = load i16, i16* %17
%2663 = sext i16 %2662 to i32
%2664 = sub nsw i32 25, %2663
br label %2665
2665: ; preds = %2661, %2660
%2666 = phi i32 [ 0, %2660 ], [ %2664, %2661 ]
%2667 = trunc i32 %2666 to i16
store i16 %2667, i16* %13
%2668 = load i16, i16* %18
%2669 = sext i16 %2668 to i32
%2670 = icmp eq i32 %2669, 0
br i1 %2670, label %2671, label %2672
2671: ; preds = %2665
br label %2676
2672: ; preds = %2665
%2673 = load i16, i16* %18
%2674 = sext i16 %2673 to i32
%2675 = sub nsw i32 25, %2674
br label %2676
2676: ; preds = %2672, %2671
%2677 = phi i32 [ 0, %2671 ], [ %2675, %2672 ]
%2678 = trunc i32 %2677 to i16
store i16 %2678, i16* %17
%2679 = load i16, i16* %10
%2680 = sext i16 %2679 to i32
%2681 = load i16, i16* %11
%2682 = sext i16 %2681 to i32
%2683 = load i16, i16* %12
%2684 = sext i16 %2683 to i32
%2685 = load i16, i16* %13
%2686 = sext i16 %2685 to i32
%2687 = load i16, i16* %14
%2688 = sext i16 %2687 to i32
%2689 = load i16, i16* %15
%2690 = sext i16 %2689 to i32
%2691 = load i16, i16* %16
%2692 = sext i16 %2691 to i32
%2693 = load i16, i16* %17
%2694 = sext i16 %2693 to i32
%2695 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2680, i32 %2682, i32 %2684, i32 %2686, i32 %2688, i32 %2690, i32 %2692, i32 %2694)
%2696 = icmp sle i32 0, %2695
br i1 %2696, label %2697, label %2699
2697: ; preds = %2676
%2698 = load i16, i16* %21
store i16 %2698, i16* %9
br label %18762
2699: ; preds = %2676
%2700 = load i16, i16* %10
store i16 %2700, i16* %18
%2701 = load i16, i16* %14
%2702 = sext i16 %2701 to i32
%2703 = icmp eq i32 %2702, 0
br i1 %2703, label %2704, label %2705
2704: ; preds = %2699
br label %2709
2705: ; preds = %2699
%2706 = load i16, i16* %14
%2707 = sext i16 %2706 to i32
%2708 = sub nsw i32 25, %2707
br label %2709
2709: ; preds = %2705, %2704
%2710 = phi i32 [ 0, %2704 ], [ %2708, %2705 ]
%2711 = trunc i32 %2710 to i16
store i16 %2711, i16* %10
%2712 = load i16, i16* %18
%2713 = sext i16 %2712 to i32
%2714 = icmp eq i32 %2713, 0
br i1 %2714, label %2715, label %2716
2715: ; preds = %2709
br label %2720
2716: ; preds = %2709
%2717 = load i16, i16* %18
%2718 = sext i16 %2717 to i32
%2719 = sub nsw i32 25, %2718
br label %2720
2720: ; preds = %2716, %2715
%2721 = phi i32 [ 0, %2715 ], [ %2719, %2716 ]
%2722 = trunc i32 %2721 to i16
store i16 %2722, i16* %14
%2723 = load i16, i16* %11
store i16 %2723, i16* %18
%2724 = load i16, i16* %15
%2725 = sext i16 %2724 to i32
%2726 = icmp eq i32 %2725, 0
br i1 %2726, label %2727, label %2728
2727: ; preds = %2720
br label %2732
2728: ; preds = %2720
%2729 = load i16, i16* %15
%2730 = sext i16 %2729 to i32
%2731 = sub nsw i32 25, %2730
br label %2732
2732: ; preds = %2728, %2727
%2733 = phi i32 [ 0, %2727 ], [ %2731, %2728 ]
%2734 = trunc i32 %2733 to i16
store i16 %2734, i16* %11
%2735 = load i16, i16* %18
%2736 = sext i16 %2735 to i32
%2737 = icmp eq i32 %2736, 0
br i1 %2737, label %2738, label %2739
2738: ; preds = %2732
br label %2743
2739: ; preds = %2732
%2740 = load i16, i16* %18
%2741 = sext i16 %2740 to i32
%2742 = sub nsw i32 25, %2741
br label %2743
2743: ; preds = %2739, %2738
%2744 = phi i32 [ 0, %2738 ], [ %2742, %2739 ]
%2745 = trunc i32 %2744 to i16
store i16 %2745, i16* %15
%2746 = load i16, i16* %12
store i16 %2746, i16* %18
%2747 = load i16, i16* %16
%2748 = sext i16 %2747 to i32
%2749 = icmp eq i32 %2748, 0
br i1 %2749, label %2750, label %2751
2750: ; preds = %2743
br label %2755
2751: ; preds = %2743
%2752 = load i16, i16* %16
%2753 = sext i16 %2752 to i32
%2754 = sub nsw i32 25, %2753
br label %2755
2755: ; preds = %2751, %2750
%2756 = phi i32 [ 0, %2750 ], [ %2754, %2751 ]
%2757 = trunc i32 %2756 to i16
store i16 %2757, i16* %12
%2758 = load i16, i16* %18
%2759 = sext i16 %2758 to i32
%2760 = icmp eq i32 %2759, 0
br i1 %2760, label %2761, label %2762
2761: ; preds = %2755
br label %2766
2762: ; preds = %2755
%2763 = load i16, i16* %18
%2764 = sext i16 %2763 to i32
%2765 = sub nsw i32 25, %2764
br label %2766
2766: ; preds = %2762, %2761
%2767 = phi i32 [ 0, %2761 ], [ %2765, %2762 ]
%2768 = trunc i32 %2767 to i16
store i16 %2768, i16* %16
%2769 = load i16, i16* %13
store i16 %2769, i16* %18
%2770 = load i16, i16* %17
%2771 = sext i16 %2770 to i32
%2772 = icmp eq i32 %2771, 0
br i1 %2772, label %2773, label %2774
2773: ; preds = %2766
br label %2778
2774: ; preds = %2766
%2775 = load i16, i16* %17
%2776 = sext i16 %2775 to i32
%2777 = sub nsw i32 25, %2776
br label %2778
2778: ; preds = %2774, %2773
%2779 = phi i32 [ 0, %2773 ], [ %2777, %2774 ]
%2780 = trunc i32 %2779 to i16
store i16 %2780, i16* %13
%2781 = load i16, i16* %18
%2782 = sext i16 %2781 to i32
%2783 = icmp eq i32 %2782, 0
br i1 %2783, label %2784, label %2785
2784: ; preds = %2778
br label %2789
2785: ; preds = %2778
%2786 = load i16, i16* %18
%2787 = sext i16 %2786 to i32
%2788 = sub nsw i32 25, %2787
br label %2789
2789: ; preds = %2785, %2784
%2790 = phi i32 [ 0, %2784 ], [ %2788, %2785 ]
%2791 = trunc i32 %2790 to i16
store i16 %2791, i16* %17
br label %2792
2792: ; preds = %2789, %2582
br label %2793
2793: ; preds = %2792, %2369
%2794 = load i16, i16* %19
store i16 %2794, i16* %10
br label %2795
2795: ; preds = %2793, %2153, %2147, %2141, %2135, %2124
br label %2796
2796: ; preds = %2795, %2119, %2115, %2111
br label %18754
2797: ; preds = %2107
%2798 = load i16, i16* %21
%2799 = sext i16 %2798 to i32
%2800 = icmp eq i32 %2799, 4
br i1 %2800, label %2801, label %3482
2801: ; preds = %2797
%2802 = load i16, i16* %10
%2803 = sext i16 %2802 to i32
%2804 = icmp ne i32 %2803, 0
br i1 %2804, label %2805, label %3481
2805: ; preds = %2801
%2806 = load i16, i16* %10
%2807 = sext i16 %2806 to i32
%2808 = icmp slt i32 4, %2807
br i1 %2808, label %2809, label %3481
2809: ; preds = %2805
%2810 = load i16, i16* %10
store i16 %2810, i16* %19
%2811 = load i16, i16* %19
%2812 = sext i16 %2811 to i32
%2813 = sub nsw i32 %2812, 4
%2814 = trunc i32 %2813 to i16
store i16 %2814, i16* %20
%2815 = load i16, i16* %20
%2816 = sext i16 %2815 to i32
%2817 = load i16, i16* %11
%2818 = sext i16 %2817 to i32
%2819 = icmp ne i32 %2816, %2818
br i1 %2819, label %2820, label %3480
2820: ; preds = %2809
%2821 = load i16, i16* %20
%2822 = sext i16 %2821 to i32
%2823 = load i16, i16* %12
%2824 = sext i16 %2823 to i32
%2825 = icmp ne i32 %2822, %2824
br i1 %2825, label %2826, label %3480
2826: ; preds = %2820
%2827 = load i16, i16* %20
%2828 = sext i16 %2827 to i32
%2829 = load i16, i16* %13
%2830 = sext i16 %2829 to i32
%2831 = icmp ne i32 %2828, %2830
br i1 %2831, label %2832, label %3480
2832: ; preds = %2826
%2833 = load i16, i16* %20
%2834 = sext i16 %2833 to i32
%2835 = load i16, i16* %14
%2836 = sext i16 %2835 to i32
%2837 = icmp ne i32 %2834, %2836
br i1 %2837, label %2838, label %3480
2838: ; preds = %2832
%2839 = load i16, i16* %20
%2840 = sext i16 %2839 to i32
%2841 = load i16, i16* %15
%2842 = sext i16 %2841 to i32
%2843 = icmp ne i32 %2840, %2842
br i1 %2843, label %2844, label %3480
2844: ; preds = %2838
%2845 = load i16, i16* %20
store i16 %2845, i16* %10
%2846 = load i16, i16* %16
%2847 = sext i16 %2846 to i32
%2848 = load i16, i16* %20
%2849 = sext i16 %2848 to i32
%2850 = icmp eq i32 %2847, %2849
br i1 %2850, label %2851, label %3058
2851: ; preds = %2844
store i16 0, i16* %16
%2852 = load i16, i16* %10
store i16 %2852, i16* %18
%2853 = load i16, i16* %14
%2854 = sext i16 %2853 to i32
%2855 = icmp eq i32 %2854, 0
br i1 %2855, label %2856, label %2857
2856: ; preds = %2851
br label %2861
2857: ; preds = %2851
%2858 = load i16, i16* %14
%2859 = sext i16 %2858 to i32
%2860 = sub nsw i32 25, %2859
br label %2861
2861: ; preds = %2857, %2856
%2862 = phi i32 [ 0, %2856 ], [ %2860, %2857 ]
%2863 = trunc i32 %2862 to i16
store i16 %2863, i16* %10
%2864 = load i16, i16* %18
%2865 = sext i16 %2864 to i32
%2866 = icmp eq i32 %2865, 0
br i1 %2866, label %2867, label %2868
2867: ; preds = %2861
br label %2872
2868: ; preds = %2861
%2869 = load i16, i16* %18
%2870 = sext i16 %2869 to i32
%2871 = sub nsw i32 25, %2870
br label %2872
2872: ; preds = %2868, %2867
%2873 = phi i32 [ 0, %2867 ], [ %2871, %2868 ]
%2874 = trunc i32 %2873 to i16
store i16 %2874, i16* %14
%2875 = load i16, i16* %11
store i16 %2875, i16* %18
%2876 = load i16, i16* %15
%2877 = sext i16 %2876 to i32
%2878 = icmp eq i32 %2877, 0
br i1 %2878, label %2879, label %2880
2879: ; preds = %2872
br label %2884
2880: ; preds = %2872
%2881 = load i16, i16* %15
%2882 = sext i16 %2881 to i32
%2883 = sub nsw i32 25, %2882
br label %2884
2884: ; preds = %2880, %2879
%2885 = phi i32 [ 0, %2879 ], [ %2883, %2880 ]
%2886 = trunc i32 %2885 to i16
store i16 %2886, i16* %11
%2887 = load i16, i16* %18
%2888 = sext i16 %2887 to i32
%2889 = icmp eq i32 %2888, 0
br i1 %2889, label %2890, label %2891
2890: ; preds = %2884
br label %2895
2891: ; preds = %2884
%2892 = load i16, i16* %18
%2893 = sext i16 %2892 to i32
%2894 = sub nsw i32 25, %2893
br label %2895
2895: ; preds = %2891, %2890
%2896 = phi i32 [ 0, %2890 ], [ %2894, %2891 ]
%2897 = trunc i32 %2896 to i16
store i16 %2897, i16* %15
%2898 = load i16, i16* %12
store i16 %2898, i16* %18
%2899 = load i16, i16* %16
%2900 = sext i16 %2899 to i32
%2901 = icmp eq i32 %2900, 0
br i1 %2901, label %2902, label %2903
2902: ; preds = %2895
br label %2907
2903: ; preds = %2895
%2904 = load i16, i16* %16
%2905 = sext i16 %2904 to i32
%2906 = sub nsw i32 25, %2905
br label %2907
2907: ; preds = %2903, %2902
%2908 = phi i32 [ 0, %2902 ], [ %2906, %2903 ]
%2909 = trunc i32 %2908 to i16
store i16 %2909, i16* %12
%2910 = load i16, i16* %18
%2911 = sext i16 %2910 to i32
%2912 = icmp eq i32 %2911, 0
br i1 %2912, label %2913, label %2914
2913: ; preds = %2907
br label %2918
2914: ; preds = %2907
%2915 = load i16, i16* %18
%2916 = sext i16 %2915 to i32
%2917 = sub nsw i32 25, %2916
br label %2918
2918: ; preds = %2914, %2913
%2919 = phi i32 [ 0, %2913 ], [ %2917, %2914 ]
%2920 = trunc i32 %2919 to i16
store i16 %2920, i16* %16
%2921 = load i16, i16* %13
store i16 %2921, i16* %18
%2922 = load i16, i16* %17
%2923 = sext i16 %2922 to i32
%2924 = icmp eq i32 %2923, 0
br i1 %2924, label %2925, label %2926
2925: ; preds = %2918
br label %2930
2926: ; preds = %2918
%2927 = load i16, i16* %17
%2928 = sext i16 %2927 to i32
%2929 = sub nsw i32 25, %2928
br label %2930
2930: ; preds = %2926, %2925
%2931 = phi i32 [ 0, %2925 ], [ %2929, %2926 ]
%2932 = trunc i32 %2931 to i16
store i16 %2932, i16* %13
%2933 = load i16, i16* %18
%2934 = sext i16 %2933 to i32
%2935 = icmp eq i32 %2934, 0
br i1 %2935, label %2936, label %2937
2936: ; preds = %2930
br label %2941
2937: ; preds = %2930
%2938 = load i16, i16* %18
%2939 = sext i16 %2938 to i32
%2940 = sub nsw i32 25, %2939
br label %2941
2941: ; preds = %2937, %2936
%2942 = phi i32 [ 0, %2936 ], [ %2940, %2937 ]
%2943 = trunc i32 %2942 to i16
store i16 %2943, i16* %17
%2944 = load i16, i16* %10
%2945 = sext i16 %2944 to i32
%2946 = load i16, i16* %11
%2947 = sext i16 %2946 to i32
%2948 = load i16, i16* %12
%2949 = sext i16 %2948 to i32
%2950 = load i16, i16* %13
%2951 = sext i16 %2950 to i32
%2952 = load i16, i16* %14
%2953 = sext i16 %2952 to i32
%2954 = load i16, i16* %15
%2955 = sext i16 %2954 to i32
%2956 = load i16, i16* %16
%2957 = sext i16 %2956 to i32
%2958 = load i16, i16* %17
%2959 = sext i16 %2958 to i32
%2960 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2945, i32 %2947, i32 %2949, i32 %2951, i32 %2953, i32 %2955, i32 %2957, i32 %2959)
%2961 = icmp sle i32 0, %2960
br i1 %2961, label %2962, label %2964
2962: ; preds = %2941
%2963 = load i16, i16* %21
store i16 %2963, i16* %9
br label %18762
2964: ; preds = %2941
%2965 = load i16, i16* %10
store i16 %2965, i16* %18
%2966 = load i16, i16* %14
%2967 = sext i16 %2966 to i32
%2968 = icmp eq i32 %2967, 0
br i1 %2968, label %2969, label %2970
2969: ; preds = %2964
br label %2974
2970: ; preds = %2964
%2971 = load i16, i16* %14
%2972 = sext i16 %2971 to i32
%2973 = sub nsw i32 25, %2972
br label %2974
2974: ; preds = %2970, %2969
%2975 = phi i32 [ 0, %2969 ], [ %2973, %2970 ]
%2976 = trunc i32 %2975 to i16
store i16 %2976, i16* %10
%2977 = load i16, i16* %18
%2978 = sext i16 %2977 to i32
%2979 = icmp eq i32 %2978, 0
br i1 %2979, label %2980, label %2981
2980: ; preds = %2974
br label %2985
2981: ; preds = %2974
%2982 = load i16, i16* %18
%2983 = sext i16 %2982 to i32
%2984 = sub nsw i32 25, %2983
br label %2985
2985: ; preds = %2981, %2980
%2986 = phi i32 [ 0, %2980 ], [ %2984, %2981 ]
%2987 = trunc i32 %2986 to i16
store i16 %2987, i16* %14
%2988 = load i16, i16* %11
store i16 %2988, i16* %18
%2989 = load i16, i16* %15
%2990 = sext i16 %2989 to i32
%2991 = icmp eq i32 %2990, 0
br i1 %2991, label %2992, label %2993
2992: ; preds = %2985
br label %2997
2993: ; preds = %2985
%2994 = load i16, i16* %15
%2995 = sext i16 %2994 to i32
%2996 = sub nsw i32 25, %2995
br label %2997
2997: ; preds = %2993, %2992
%2998 = phi i32 [ 0, %2992 ], [ %2996, %2993 ]
%2999 = trunc i32 %2998 to i16
store i16 %2999, i16* %11
%3000 = load i16, i16* %18
%3001 = sext i16 %3000 to i32
%3002 = icmp eq i32 %3001, 0
br i1 %3002, label %3003, label %3004
3003: ; preds = %2997
br label %3008
3004: ; preds = %2997
%3005 = load i16, i16* %18
%3006 = sext i16 %3005 to i32
%3007 = sub nsw i32 25, %3006
br label %3008
3008: ; preds = %3004, %3003
%3009 = phi i32 [ 0, %3003 ], [ %3007, %3004 ]
%3010 = trunc i32 %3009 to i16
store i16 %3010, i16* %15
%3011 = load i16, i16* %12
store i16 %3011, i16* %18
%3012 = load i16, i16* %16
%3013 = sext i16 %3012 to i32
%3014 = icmp eq i32 %3013, 0
br i1 %3014, label %3015, label %3016
3015: ; preds = %3008
br label %3020
3016: ; preds = %3008
%3017 = load i16, i16* %16
%3018 = sext i16 %3017 to i32
%3019 = sub nsw i32 25, %3018
br label %3020
3020: ; preds = %3016, %3015
%3021 = phi i32 [ 0, %3015 ], [ %3019, %3016 ]
%3022 = trunc i32 %3021 to i16
store i16 %3022, i16* %12
%3023 = load i16, i16* %18
%3024 = sext i16 %3023 to i32
%3025 = icmp eq i32 %3024, 0
br i1 %3025, label %3026, label %3027
3026: ; preds = %3020
br label %3031
3027: ; preds = %3020
%3028 = load i16, i16* %18
%3029 = sext i16 %3028 to i32
%3030 = sub nsw i32 25, %3029
br label %3031
3031: ; preds = %3027, %3026
%3032 = phi i32 [ 0, %3026 ], [ %3030, %3027 ]
%3033 = trunc i32 %3032 to i16
store i16 %3033, i16* %16
%3034 = load i16, i16* %13
store i16 %3034, i16* %18
%3035 = load i16, i16* %17
%3036 = sext i16 %3035 to i32
%3037 = icmp eq i32 %3036, 0
br i1 %3037, label %3038, label %3039
3038: ; preds = %3031
br label %3043
3039: ; preds = %3031
%3040 = load i16, i16* %17
%3041 = sext i16 %3040 to i32
%3042 = sub nsw i32 25, %3041
br label %3043
3043: ; preds = %3039, %3038
%3044 = phi i32 [ 0, %3038 ], [ %3042, %3039 ]
%3045 = trunc i32 %3044 to i16
store i16 %3045, i16* %13
%3046 = load i16, i16* %18
%3047 = sext i16 %3046 to i32
%3048 = icmp eq i32 %3047, 0
br i1 %3048, label %3049, label %3050
3049: ; preds = %3043
br label %3054
3050: ; preds = %3043
%3051 = load i16, i16* %18
%3052 = sext i16 %3051 to i32
%3053 = sub nsw i32 25, %3052
br label %3054
3054: ; preds = %3050, %3049
%3055 = phi i32 [ 0, %3049 ], [ %3053, %3050 ]
%3056 = trunc i32 %3055 to i16
store i16 %3056, i16* %17
%3057 = load i16, i16* %20
store i16 %3057, i16* %16
br label %3478
3058: ; preds = %2844
%3059 = load i16, i16* %17
%3060 = sext i16 %3059 to i32
%3061 = load i16, i16* %20
%3062 = sext i16 %3061 to i32
%3063 = icmp eq i32 %3060, %3062
br i1 %3063, label %3064, label %3271
3064: ; preds = %3058
store i16 0, i16* %17
%3065 = load i16, i16* %10
store i16 %3065, i16* %18
%3066 = load i16, i16* %14
%3067 = sext i16 %3066 to i32
%3068 = icmp eq i32 %3067, 0
br i1 %3068, label %3069, label %3070
3069: ; preds = %3064
br label %3074
3070: ; preds = %3064
%3071 = load i16, i16* %14
%3072 = sext i16 %3071 to i32
%3073 = sub nsw i32 25, %3072
br label %3074
3074: ; preds = %3070, %3069
%3075 = phi i32 [ 0, %3069 ], [ %3073, %3070 ]
%3076 = trunc i32 %3075 to i16
store i16 %3076, i16* %10
%3077 = load i16, i16* %18
%3078 = sext i16 %3077 to i32
%3079 = icmp eq i32 %3078, 0
br i1 %3079, label %3080, label %3081
3080: ; preds = %3074
br label %3085
3081: ; preds = %3074
%3082 = load i16, i16* %18
%3083 = sext i16 %3082 to i32
%3084 = sub nsw i32 25, %3083
br label %3085
3085: ; preds = %3081, %3080
%3086 = phi i32 [ 0, %3080 ], [ %3084, %3081 ]
%3087 = trunc i32 %3086 to i16
store i16 %3087, i16* %14
%3088 = load i16, i16* %11
store i16 %3088, i16* %18
%3089 = load i16, i16* %15
%3090 = sext i16 %3089 to i32
%3091 = icmp eq i32 %3090, 0
br i1 %3091, label %3092, label %3093
3092: ; preds = %3085
br label %3097
3093: ; preds = %3085
%3094 = load i16, i16* %15
%3095 = sext i16 %3094 to i32
%3096 = sub nsw i32 25, %3095
br label %3097
3097: ; preds = %3093, %3092
%3098 = phi i32 [ 0, %3092 ], [ %3096, %3093 ]
%3099 = trunc i32 %3098 to i16
store i16 %3099, i16* %11
%3100 = load i16, i16* %18
%3101 = sext i16 %3100 to i32
%3102 = icmp eq i32 %3101, 0
br i1 %3102, label %3103, label %3104
3103: ; preds = %3097
br label %3108
3104: ; preds = %3097
%3105 = load i16, i16* %18
%3106 = sext i16 %3105 to i32
%3107 = sub nsw i32 25, %3106
br label %3108
3108: ; preds = %3104, %3103
%3109 = phi i32 [ 0, %3103 ], [ %3107, %3104 ]
%3110 = trunc i32 %3109 to i16
store i16 %3110, i16* %15
%3111 = load i16, i16* %12
store i16 %3111, i16* %18
%3112 = load i16, i16* %16
%3113 = sext i16 %3112 to i32
%3114 = icmp eq i32 %3113, 0
br i1 %3114, label %3115, label %3116
3115: ; preds = %3108
br label %3120
3116: ; preds = %3108
%3117 = load i16, i16* %16
%3118 = sext i16 %3117 to i32
%3119 = sub nsw i32 25, %3118
br label %3120
3120: ; preds = %3116, %3115
%3121 = phi i32 [ 0, %3115 ], [ %3119, %3116 ]
%3122 = trunc i32 %3121 to i16
store i16 %3122, i16* %12
%3123 = load i16, i16* %18
%3124 = sext i16 %3123 to i32
%3125 = icmp eq i32 %3124, 0
br i1 %3125, label %3126, label %3127
3126: ; preds = %3120
br label %3131
3127: ; preds = %3120
%3128 = load i16, i16* %18
%3129 = sext i16 %3128 to i32
%3130 = sub nsw i32 25, %3129
br label %3131
3131: ; preds = %3127, %3126
%3132 = phi i32 [ 0, %3126 ], [ %3130, %3127 ]
%3133 = trunc i32 %3132 to i16
store i16 %3133, i16* %16
%3134 = load i16, i16* %13
store i16 %3134, i16* %18
%3135 = load i16, i16* %17
%3136 = sext i16 %3135 to i32
%3137 = icmp eq i32 %3136, 0
br i1 %3137, label %3138, label %3139
3138: ; preds = %3131
br label %3143
3139: ; preds = %3131
%3140 = load i16, i16* %17
%3141 = sext i16 %3140 to i32
%3142 = sub nsw i32 25, %3141
br label %3143
3143: ; preds = %3139, %3138
%3144 = phi i32 [ 0, %3138 ], [ %3142, %3139 ]
%3145 = trunc i32 %3144 to i16
store i16 %3145, i16* %13
%3146 = load i16, i16* %18
%3147 = sext i16 %3146 to i32
%3148 = icmp eq i32 %3147, 0
br i1 %3148, label %3149, label %3150
3149: ; preds = %3143
br label %3154
3150: ; preds = %3143
%3151 = load i16, i16* %18
%3152 = sext i16 %3151 to i32
%3153 = sub nsw i32 25, %3152
br label %3154
3154: ; preds = %3150, %3149
%3155 = phi i32 [ 0, %3149 ], [ %3153, %3150 ]
%3156 = trunc i32 %3155 to i16
store i16 %3156, i16* %17
%3157 = load i16, i16* %10
%3158 = sext i16 %3157 to i32
%3159 = load i16, i16* %11
%3160 = sext i16 %3159 to i32
%3161 = load i16, i16* %12
%3162 = sext i16 %3161 to i32
%3163 = load i16, i16* %13
%3164 = sext i16 %3163 to i32
%3165 = load i16, i16* %14
%3166 = sext i16 %3165 to i32
%3167 = load i16, i16* %15
%3168 = sext i16 %3167 to i32
%3169 = load i16, i16* %16
%3170 = sext i16 %3169 to i32
%3171 = load i16, i16* %17
%3172 = sext i16 %3171 to i32
%3173 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3158, i32 %3160, i32 %3162, i32 %3164, i32 %3166, i32 %3168, i32 %3170, i32 %3172)
%3174 = icmp sle i32 0, %3173
br i1 %3174, label %3175, label %3177
3175: ; preds = %3154
%3176 = load i16, i16* %21
store i16 %3176, i16* %9
br label %18762
3177: ; preds = %3154
%3178 = load i16, i16* %10
store i16 %3178, i16* %18
%3179 = load i16, i16* %14
%3180 = sext i16 %3179 to i32
%3181 = icmp eq i32 %3180, 0
br i1 %3181, label %3182, label %3183
3182: ; preds = %3177
br label %3187
3183: ; preds = %3177
%3184 = load i16, i16* %14
%3185 = sext i16 %3184 to i32
%3186 = sub nsw i32 25, %3185
br label %3187
3187: ; preds = %3183, %3182
%3188 = phi i32 [ 0, %3182 ], [ %3186, %3183 ]
%3189 = trunc i32 %3188 to i16
store i16 %3189, i16* %10
%3190 = load i16, i16* %18
%3191 = sext i16 %3190 to i32
%3192 = icmp eq i32 %3191, 0
br i1 %3192, label %3193, label %3194
3193: ; preds = %3187
br label %3198
3194: ; preds = %3187
%3195 = load i16, i16* %18
%3196 = sext i16 %3195 to i32
%3197 = sub nsw i32 25, %3196
br label %3198
3198: ; preds = %3194, %3193
%3199 = phi i32 [ 0, %3193 ], [ %3197, %3194 ]
%3200 = trunc i32 %3199 to i16
store i16 %3200, i16* %14
%3201 = load i16, i16* %11
store i16 %3201, i16* %18
%3202 = load i16, i16* %15
%3203 = sext i16 %3202 to i32
%3204 = icmp eq i32 %3203, 0
br i1 %3204, label %3205, label %3206
3205: ; preds = %3198
br label %3210
3206: ; preds = %3198
%3207 = load i16, i16* %15
%3208 = sext i16 %3207 to i32
%3209 = sub nsw i32 25, %3208
br label %3210
3210: ; preds = %3206, %3205
%3211 = phi i32 [ 0, %3205 ], [ %3209, %3206 ]
%3212 = trunc i32 %3211 to i16
store i16 %3212, i16* %11
%3213 = load i16, i16* %18
%3214 = sext i16 %3213 to i32
%3215 = icmp eq i32 %3214, 0
br i1 %3215, label %3216, label %3217
3216: ; preds = %3210
br label %3221
3217: ; preds = %3210
%3218 = load i16, i16* %18
%3219 = sext i16 %3218 to i32
%3220 = sub nsw i32 25, %3219
br label %3221
3221: ; preds = %3217, %3216
%3222 = phi i32 [ 0, %3216 ], [ %3220, %3217 ]
%3223 = trunc i32 %3222 to i16
store i16 %3223, i16* %15
%3224 = load i16, i16* %12
store i16 %3224, i16* %18
%3225 = load i16, i16* %16
%3226 = sext i16 %3225 to i32
%3227 = icmp eq i32 %3226, 0
br i1 %3227, label %3228, label %3229
3228: ; preds = %3221
br label %3233
3229: ; preds = %3221
%3230 = load i16, i16* %16
%3231 = sext i16 %3230 to i32
%3232 = sub nsw i32 25, %3231
br label %3233
3233: ; preds = %3229, %3228
%3234 = phi i32 [ 0, %3228 ], [ %3232, %3229 ]
%3235 = trunc i32 %3234 to i16
store i16 %3235, i16* %12
%3236 = load i16, i16* %18
%3237 = sext i16 %3236 to i32
%3238 = icmp eq i32 %3237, 0
br i1 %3238, label %3239, label %3240
3239: ; preds = %3233
br label %3244
3240: ; preds = %3233
%3241 = load i16, i16* %18
%3242 = sext i16 %3241 to i32
%3243 = sub nsw i32 25, %3242
br label %3244
3244: ; preds = %3240, %3239
%3245 = phi i32 [ 0, %3239 ], [ %3243, %3240 ]
%3246 = trunc i32 %3245 to i16
store i16 %3246, i16* %16
%3247 = load i16, i16* %13
store i16 %3247, i16* %18
%3248 = load i16, i16* %17
%3249 = sext i16 %3248 to i32
%3250 = icmp eq i32 %3249, 0
br i1 %3250, label %3251, label %3252
3251: ; preds = %3244
br label %3256
3252: ; preds = %3244
%3253 = load i16, i16* %17
%3254 = sext i16 %3253 to i32
%3255 = sub nsw i32 25, %3254
br label %3256
3256: ; preds = %3252, %3251
%3257 = phi i32 [ 0, %3251 ], [ %3255, %3252 ]
%3258 = trunc i32 %3257 to i16
store i16 %3258, i16* %13
%3259 = load i16, i16* %18
%3260 = sext i16 %3259 to i32
%3261 = icmp eq i32 %3260, 0
br i1 %3261, label %3262, label %3263
3262: ; preds = %3256
br label %3267
3263: ; preds = %3256
%3264 = load i16, i16* %18
%3265 = sext i16 %3264 to i32
%3266 = sub nsw i32 25, %3265
br label %3267
3267: ; preds = %3263, %3262
%3268 = phi i32 [ 0, %3262 ], [ %3266, %3263 ]
%3269 = trunc i32 %3268 to i16
store i16 %3269, i16* %17
%3270 = load i16, i16* %20
store i16 %3270, i16* %17
br label %3477
3271: ; preds = %3058
%3272 = load i16, i16* %10
store i16 %3272, i16* %18
%3273 = load i16, i16* %14
%3274 = sext i16 %3273 to i32
%3275 = icmp eq i32 %3274, 0
br i1 %3275, label %3276, label %3277
3276: ; preds = %3271
br label %3281
3277: ; preds = %3271
%3278 = load i16, i16* %14
%3279 = sext i16 %3278 to i32
%3280 = sub nsw i32 25, %3279
br label %3281
3281: ; preds = %3277, %3276
%3282 = phi i32 [ 0, %3276 ], [ %3280, %3277 ]
%3283 = trunc i32 %3282 to i16
store i16 %3283, i16* %10
%3284 = load i16, i16* %18
%3285 = sext i16 %3284 to i32
%3286 = icmp eq i32 %3285, 0
br i1 %3286, label %3287, label %3288
3287: ; preds = %3281
br label %3292
3288: ; preds = %3281
%3289 = load i16, i16* %18
%3290 = sext i16 %3289 to i32
%3291 = sub nsw i32 25, %3290
br label %3292
3292: ; preds = %3288, %3287
%3293 = phi i32 [ 0, %3287 ], [ %3291, %3288 ]
%3294 = trunc i32 %3293 to i16
store i16 %3294, i16* %14
%3295 = load i16, i16* %11
store i16 %3295, i16* %18
%3296 = load i16, i16* %15
%3297 = sext i16 %3296 to i32
%3298 = icmp eq i32 %3297, 0
br i1 %3298, label %3299, label %3300
3299: ; preds = %3292
br label %3304
3300: ; preds = %3292
%3301 = load i16, i16* %15
%3302 = sext i16 %3301 to i32
%3303 = sub nsw i32 25, %3302
br label %3304
3304: ; preds = %3300, %3299
%3305 = phi i32 [ 0, %3299 ], [ %3303, %3300 ]
%3306 = trunc i32 %3305 to i16
store i16 %3306, i16* %11
%3307 = load i16, i16* %18
%3308 = sext i16 %3307 to i32
%3309 = icmp eq i32 %3308, 0
br i1 %3309, label %3310, label %3311
3310: ; preds = %3304
br label %3315
3311: ; preds = %3304
%3312 = load i16, i16* %18
%3313 = sext i16 %3312 to i32
%3314 = sub nsw i32 25, %3313
br label %3315
3315: ; preds = %3311, %3310
%3316 = phi i32 [ 0, %3310 ], [ %3314, %3311 ]
%3317 = trunc i32 %3316 to i16
store i16 %3317, i16* %15
%3318 = load i16, i16* %12
store i16 %3318, i16* %18
%3319 = load i16, i16* %16
%3320 = sext i16 %3319 to i32
%3321 = icmp eq i32 %3320, 0
br i1 %3321, label %3322, label %3323
3322: ; preds = %3315
br label %3327
3323: ; preds = %3315
%3324 = load i16, i16* %16
%3325 = sext i16 %3324 to i32
%3326 = sub nsw i32 25, %3325
br label %3327
3327: ; preds = %3323, %3322
%3328 = phi i32 [ 0, %3322 ], [ %3326, %3323 ]
%3329 = trunc i32 %3328 to i16
store i16 %3329, i16* %12
%3330 = load i16, i16* %18
%3331 = sext i16 %3330 to i32
%3332 = icmp eq i32 %3331, 0
br i1 %3332, label %3333, label %3334
3333: ; preds = %3327
br label %3338
3334: ; preds = %3327
%3335 = load i16, i16* %18
%3336 = sext i16 %3335 to i32
%3337 = sub nsw i32 25, %3336
br label %3338
3338: ; preds = %3334, %3333
%3339 = phi i32 [ 0, %3333 ], [ %3337, %3334 ]
%3340 = trunc i32 %3339 to i16
store i16 %3340, i16* %16
%3341 = load i16, i16* %13
store i16 %3341, i16* %18
%3342 = load i16, i16* %17
%3343 = sext i16 %3342 to i32
%3344 = icmp eq i32 %3343, 0
br i1 %3344, label %3345, label %3346
3345: ; preds = %3338
br label %3350
3346: ; preds = %3338
%3347 = load i16, i16* %17
%3348 = sext i16 %3347 to i32
%3349 = sub nsw i32 25, %3348
br label %3350
3350: ; preds = %3346, %3345
%3351 = phi i32 [ 0, %3345 ], [ %3349, %3346 ]
%3352 = trunc i32 %3351 to i16
store i16 %3352, i16* %13
%3353 = load i16, i16* %18
%3354 = sext i16 %3353 to i32
%3355 = icmp eq i32 %3354, 0
br i1 %3355, label %3356, label %3357
3356: ; preds = %3350
br label %3361
3357: ; preds = %3350
%3358 = load i16, i16* %18
%3359 = sext i16 %3358 to i32
%3360 = sub nsw i32 25, %3359
br label %3361
3361: ; preds = %3357, %3356
%3362 = phi i32 [ 0, %3356 ], [ %3360, %3357 ]
%3363 = trunc i32 %3362 to i16
store i16 %3363, i16* %17
%3364 = load i16, i16* %10
%3365 = sext i16 %3364 to i32
%3366 = load i16, i16* %11
%3367 = sext i16 %3366 to i32
%3368 = load i16, i16* %12
%3369 = sext i16 %3368 to i32
%3370 = load i16, i16* %13
%3371 = sext i16 %3370 to i32
%3372 = load i16, i16* %14
%3373 = sext i16 %3372 to i32
%3374 = load i16, i16* %15
%3375 = sext i16 %3374 to i32
%3376 = load i16, i16* %16
%3377 = sext i16 %3376 to i32
%3378 = load i16, i16* %17
%3379 = sext i16 %3378 to i32
%3380 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3365, i32 %3367, i32 %3369, i32 %3371, i32 %3373, i32 %3375, i32 %3377, i32 %3379)
%3381 = icmp sle i32 0, %3380
br i1 %3381, label %3382, label %3384
3382: ; preds = %3361
%3383 = load i16, i16* %21
store i16 %3383, i16* %9
br label %18762
3384: ; preds = %3361
%3385 = load i16, i16* %10
store i16 %3385, i16* %18
%3386 = load i16, i16* %14
%3387 = sext i16 %3386 to i32
%3388 = icmp eq i32 %3387, 0
br i1 %3388, label %3389, label %3390
3389: ; preds = %3384
br label %3394
3390: ; preds = %3384
%3391 = load i16, i16* %14
%3392 = sext i16 %3391 to i32
%3393 = sub nsw i32 25, %3392
br label %3394
3394: ; preds = %3390, %3389
%3395 = phi i32 [ 0, %3389 ], [ %3393, %3390 ]
%3396 = trunc i32 %3395 to i16
store i16 %3396, i16* %10
%3397 = load i16, i16* %18
%3398 = sext i16 %3397 to i32
%3399 = icmp eq i32 %3398, 0
br i1 %3399, label %3400, label %3401
3400: ; preds = %3394
br label %3405
3401: ; preds = %3394
%3402 = load i16, i16* %18
%3403 = sext i16 %3402 to i32
%3404 = sub nsw i32 25, %3403
br label %3405
3405: ; preds = %3401, %3400
%3406 = phi i32 [ 0, %3400 ], [ %3404, %3401 ]
%3407 = trunc i32 %3406 to i16
store i16 %3407, i16* %14
%3408 = load i16, i16* %11
store i16 %3408, i16* %18
%3409 = load i16, i16* %15
%3410 = sext i16 %3409 to i32
%3411 = icmp eq i32 %3410, 0
br i1 %3411, label %3412, label %3413
3412: ; preds = %3405
br label %3417
3413: ; preds = %3405
%3414 = load i16, i16* %15
%3415 = sext i16 %3414 to i32
%3416 = sub nsw i32 25, %3415
br label %3417
3417: ; preds = %3413, %3412
%3418 = phi i32 [ 0, %3412 ], [ %3416, %3413 ]
%3419 = trunc i32 %3418 to i16
store i16 %3419, i16* %11
%3420 = load i16, i16* %18
%3421 = sext i16 %3420 to i32
%3422 = icmp eq i32 %3421, 0
br i1 %3422, label %3423, label %3424
3423: ; preds = %3417
br label %3428
3424: ; preds = %3417
%3425 = load i16, i16* %18
%3426 = sext i16 %3425 to i32
%3427 = sub nsw i32 25, %3426
br label %3428
3428: ; preds = %3424, %3423
%3429 = phi i32 [ 0, %3423 ], [ %3427, %3424 ]
%3430 = trunc i32 %3429 to i16
store i16 %3430, i16* %15
%3431 = load i16, i16* %12
store i16 %3431, i16* %18
%3432 = load i16, i16* %16
%3433 = sext i16 %3432 to i32
%3434 = icmp eq i32 %3433, 0
br i1 %3434, label %3435, label %3436
3435: ; preds = %3428
br label %3440
3436: ; preds = %3428
%3437 = load i16, i16* %16
%3438 = sext i16 %3437 to i32
%3439 = sub nsw i32 25, %3438
br label %3440
3440: ; preds = %3436, %3435
%3441 = phi i32 [ 0, %3435 ], [ %3439, %3436 ]
%3442 = trunc i32 %3441 to i16
store i16 %3442, i16* %12
%3443 = load i16, i16* %18
%3444 = sext i16 %3443 to i32
%3445 = icmp eq i32 %3444, 0
br i1 %3445, label %3446, label %3447
3446: ; preds = %3440
br label %3451
3447: ; preds = %3440
%3448 = load i16, i16* %18
%3449 = sext i16 %3448 to i32
%3450 = sub nsw i32 25, %3449
br label %3451
3451: ; preds = %3447, %3446
%3452 = phi i32 [ 0, %3446 ], [ %3450, %3447 ]
%3453 = trunc i32 %3452 to i16
store i16 %3453, i16* %16
%3454 = load i16, i16* %13
store i16 %3454, i16* %18
%3455 = load i16, i16* %17
%3456 = sext i16 %3455 to i32
%3457 = icmp eq i32 %3456, 0
br i1 %3457, label %3458, label %3459
3458: ; preds = %3451
br label %3463
3459: ; preds = %3451
%3460 = load i16, i16* %17
%3461 = sext i16 %3460 to i32
%3462 = sub nsw i32 25, %3461
br label %3463
3463: ; preds = %3459, %3458
%3464 = phi i32 [ 0, %3458 ], [ %3462, %3459 ]
%3465 = trunc i32 %3464 to i16
store i16 %3465, i16* %13
%3466 = load i16, i16* %18
%3467 = sext i16 %3466 to i32
%3468 = icmp eq i32 %3467, 0
br i1 %3468, label %3469, label %3470
3469: ; preds = %3463
br label %3474
3470: ; preds = %3463
%3471 = load i16, i16* %18
%3472 = sext i16 %3471 to i32
%3473 = sub nsw i32 25, %3472
br label %3474
3474: ; preds = %3470, %3469
%3475 = phi i32 [ 0, %3469 ], [ %3473, %3470 ]
%3476 = trunc i32 %3475 to i16
store i16 %3476, i16* %17
br label %3477
3477: ; preds = %3474, %3267
br label %3478
3478: ; preds = %3477, %3054
%3479 = load i16, i16* %19
store i16 %3479, i16* %10
br label %3480
3480: ; preds = %3478, %2838, %2832, %2826, %2820, %2809
br label %3481
3481: ; preds = %3480, %2805, %2801
br label %18753
3482: ; preds = %2797
%3483 = load i16, i16* %21
%3484 = sext i16 %3483 to i32
%3485 = icmp eq i32 %3484, 5
br i1 %3485, label %3486, label %4172
3486: ; preds = %3482
%3487 = load i16, i16* %10
%3488 = sext i16 %3487 to i32
%3489 = icmp ne i32 %3488, 0
br i1 %3489, label %3490, label %4171
3490: ; preds = %3486
%3491 = load i16, i16* %10
%3492 = sext i16 %3491 to i32
%3493 = icmp slt i32 4, %3492
br i1 %3493, label %3494, label %4171
3494: ; preds = %3490
%3495 = load i16, i16* %10
%3496 = sext i16 %3495 to i32
%3497 = srem i32 %3496, 4
%3498 = icmp ne i32 %3497, 1
br i1 %3498, label %3499, label %4171
3499: ; preds = %3494
%3500 = load i16, i16* %10
store i16 %3500, i16* %19
%3501 = load i16, i16* %19
%3502 = sext i16 %3501 to i32
%3503 = sub nsw i32 %3502, 5
%3504 = trunc i32 %3503 to i16
store i16 %3504, i16* %20
%3505 = load i16, i16* %20
%3506 = sext i16 %3505 to i32
%3507 = load i16, i16* %11
%3508 = sext i16 %3507 to i32
%3509 = icmp ne i32 %3506, %3508
br i1 %3509, label %3510, label %4170
3510: ; preds = %3499
%3511 = load i16, i16* %20
%3512 = sext i16 %3511 to i32
%3513 = load i16, i16* %12
%3514 = sext i16 %3513 to i32
%3515 = icmp ne i32 %3512, %3514
br i1 %3515, label %3516, label %4170
3516: ; preds = %3510
%3517 = load i16, i16* %20
%3518 = sext i16 %3517 to i32
%3519 = load i16, i16* %13
%3520 = sext i16 %3519 to i32
%3521 = icmp ne i32 %3518, %3520
br i1 %3521, label %3522, label %4170
3522: ; preds = %3516
%3523 = load i16, i16* %20
%3524 = sext i16 %3523 to i32
%3525 = load i16, i16* %14
%3526 = sext i16 %3525 to i32
%3527 = icmp ne i32 %3524, %3526
br i1 %3527, label %3528, label %4170
3528: ; preds = %3522
%3529 = load i16, i16* %20
%3530 = sext i16 %3529 to i32
%3531 = load i16, i16* %15
%3532 = sext i16 %3531 to i32
%3533 = icmp ne i32 %3530, %3532
br i1 %3533, label %3534, label %4170
3534: ; preds = %3528
%3535 = load i16, i16* %20
store i16 %3535, i16* %10
%3536 = load i16, i16* %16
%3537 = sext i16 %3536 to i32
%3538 = load i16, i16* %20
%3539 = sext i16 %3538 to i32
%3540 = icmp eq i32 %3537, %3539
br i1 %3540, label %3541, label %3748
3541: ; preds = %3534
store i16 0, i16* %16
%3542 = load i16, i16* %10
store i16 %3542, i16* %18
%3543 = load i16, i16* %14
%3544 = sext i16 %3543 to i32
%3545 = icmp eq i32 %3544, 0
br i1 %3545, label %3546, label %3547
3546: ; preds = %3541
br label %3551
3547: ; preds = %3541
%3548 = load i16, i16* %14
%3549 = sext i16 %3548 to i32
%3550 = sub nsw i32 25, %3549
br label %3551
3551: ; preds = %3547, %3546
%3552 = phi i32 [ 0, %3546 ], [ %3550, %3547 ]
%3553 = trunc i32 %3552 to i16
store i16 %3553, i16* %10
%3554 = load i16, i16* %18
%3555 = sext i16 %3554 to i32
%3556 = icmp eq i32 %3555, 0
br i1 %3556, label %3557, label %3558
3557: ; preds = %3551
br label %3562
3558: ; preds = %3551
%3559 = load i16, i16* %18
%3560 = sext i16 %3559 to i32
%3561 = sub nsw i32 25, %3560
br label %3562
3562: ; preds = %3558, %3557
%3563 = phi i32 [ 0, %3557 ], [ %3561, %3558 ]
%3564 = trunc i32 %3563 to i16
store i16 %3564, i16* %14
%3565 = load i16, i16* %11
store i16 %3565, i16* %18
%3566 = load i16, i16* %15
%3567 = sext i16 %3566 to i32
%3568 = icmp eq i32 %3567, 0
br i1 %3568, label %3569, label %3570
3569: ; preds = %3562
br label %3574
3570: ; preds = %3562
%3571 = load i16, i16* %15
%3572 = sext i16 %3571 to i32
%3573 = sub nsw i32 25, %3572
br label %3574
3574: ; preds = %3570, %3569
%3575 = phi i32 [ 0, %3569 ], [ %3573, %3570 ]
%3576 = trunc i32 %3575 to i16
store i16 %3576, i16* %11
%3577 = load i16, i16* %18
%3578 = sext i16 %3577 to i32
%3579 = icmp eq i32 %3578, 0
br i1 %3579, label %3580, label %3581
3580: ; preds = %3574
br label %3585
3581: ; preds = %3574
%3582 = load i16, i16* %18
%3583 = sext i16 %3582 to i32
%3584 = sub nsw i32 25, %3583
br label %3585
3585: ; preds = %3581, %3580
%3586 = phi i32 [ 0, %3580 ], [ %3584, %3581 ]
%3587 = trunc i32 %3586 to i16
store i16 %3587, i16* %15
%3588 = load i16, i16* %12
store i16 %3588, i16* %18
%3589 = load i16, i16* %16
%3590 = sext i16 %3589 to i32
%3591 = icmp eq i32 %3590, 0
br i1 %3591, label %3592, label %3593
3592: ; preds = %3585
br label %3597
3593: ; preds = %3585
%3594 = load i16, i16* %16
%3595 = sext i16 %3594 to i32
%3596 = sub nsw i32 25, %3595
br label %3597
3597: ; preds = %3593, %3592
%3598 = phi i32 [ 0, %3592 ], [ %3596, %3593 ]
%3599 = trunc i32 %3598 to i16
store i16 %3599, i16* %12
%3600 = load i16, i16* %18
%3601 = sext i16 %3600 to i32
%3602 = icmp eq i32 %3601, 0
br i1 %3602, label %3603, label %3604
3603: ; preds = %3597
br label %3608
3604: ; preds = %3597
%3605 = load i16, i16* %18
%3606 = sext i16 %3605 to i32
%3607 = sub nsw i32 25, %3606
br label %3608
3608: ; preds = %3604, %3603
%3609 = phi i32 [ 0, %3603 ], [ %3607, %3604 ]
%3610 = trunc i32 %3609 to i16
store i16 %3610, i16* %16
%3611 = load i16, i16* %13
store i16 %3611, i16* %18
%3612 = load i16, i16* %17
%3613 = sext i16 %3612 to i32
%3614 = icmp eq i32 %3613, 0
br i1 %3614, label %3615, label %3616
3615: ; preds = %3608
br label %3620
3616: ; preds = %3608
%3617 = load i16, i16* %17
%3618 = sext i16 %3617 to i32
%3619 = sub nsw i32 25, %3618
br label %3620
3620: ; preds = %3616, %3615
%3621 = phi i32 [ 0, %3615 ], [ %3619, %3616 ]
%3622 = trunc i32 %3621 to i16
store i16 %3622, i16* %13
%3623 = load i16, i16* %18
%3624 = sext i16 %3623 to i32
%3625 = icmp eq i32 %3624, 0
br i1 %3625, label %3626, label %3627
3626: ; preds = %3620
br label %3631
3627: ; preds = %3620
%3628 = load i16, i16* %18
%3629 = sext i16 %3628 to i32
%3630 = sub nsw i32 25, %3629
br label %3631
3631: ; preds = %3627, %3626
%3632 = phi i32 [ 0, %3626 ], [ %3630, %3627 ]
%3633 = trunc i32 %3632 to i16
store i16 %3633, i16* %17
%3634 = load i16, i16* %10
%3635 = sext i16 %3634 to i32
%3636 = load i16, i16* %11
%3637 = sext i16 %3636 to i32
%3638 = load i16, i16* %12
%3639 = sext i16 %3638 to i32
%3640 = load i16, i16* %13
%3641 = sext i16 %3640 to i32
%3642 = load i16, i16* %14
%3643 = sext i16 %3642 to i32
%3644 = load i16, i16* %15
%3645 = sext i16 %3644 to i32
%3646 = load i16, i16* %16
%3647 = sext i16 %3646 to i32
%3648 = load i16, i16* %17
%3649 = sext i16 %3648 to i32
%3650 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3635, i32 %3637, i32 %3639, i32 %3641, i32 %3643, i32 %3645, i32 %3647, i32 %3649)
%3651 = icmp sle i32 0, %3650
br i1 %3651, label %3652, label %3654
3652: ; preds = %3631
%3653 = load i16, i16* %21
store i16 %3653, i16* %9
br label %18762
3654: ; preds = %3631
%3655 = load i16, i16* %10
store i16 %3655, i16* %18
%3656 = load i16, i16* %14
%3657 = sext i16 %3656 to i32
%3658 = icmp eq i32 %3657, 0
br i1 %3658, label %3659, label %3660
3659: ; preds = %3654
br label %3664
3660: ; preds = %3654
%3661 = load i16, i16* %14
%3662 = sext i16 %3661 to i32
%3663 = sub nsw i32 25, %3662
br label %3664
3664: ; preds = %3660, %3659
%3665 = phi i32 [ 0, %3659 ], [ %3663, %3660 ]
%3666 = trunc i32 %3665 to i16
store i16 %3666, i16* %10
%3667 = load i16, i16* %18
%3668 = sext i16 %3667 to i32
%3669 = icmp eq i32 %3668, 0
br i1 %3669, label %3670, label %3671
3670: ; preds = %3664
br label %3675
3671: ; preds = %3664
%3672 = load i16, i16* %18
%3673 = sext i16 %3672 to i32
%3674 = sub nsw i32 25, %3673
br label %3675
3675: ; preds = %3671, %3670
%3676 = phi i32 [ 0, %3670 ], [ %3674, %3671 ]
%3677 = trunc i32 %3676 to i16
store i16 %3677, i16* %14
%3678 = load i16, i16* %11
store i16 %3678, i16* %18
%3679 = load i16, i16* %15
%3680 = sext i16 %3679 to i32
%3681 = icmp eq i32 %3680, 0
br i1 %3681, label %3682, label %3683
3682: ; preds = %3675
br label %3687
3683: ; preds = %3675
%3684 = load i16, i16* %15
%3685 = sext i16 %3684 to i32
%3686 = sub nsw i32 25, %3685
br label %3687
3687: ; preds = %3683, %3682
%3688 = phi i32 [ 0, %3682 ], [ %3686, %3683 ]
%3689 = trunc i32 %3688 to i16
store i16 %3689, i16* %11
%3690 = load i16, i16* %18
%3691 = sext i16 %3690 to i32
%3692 = icmp eq i32 %3691, 0
br i1 %3692, label %3693, label %3694
3693: ; preds = %3687
br label %3698
3694: ; preds = %3687
%3695 = load i16, i16* %18
%3696 = sext i16 %3695 to i32
%3697 = sub nsw i32 25, %3696
br label %3698
3698: ; preds = %3694, %3693
%3699 = phi i32 [ 0, %3693 ], [ %3697, %3694 ]
%3700 = trunc i32 %3699 to i16
store i16 %3700, i16* %15
%3701 = load i16, i16* %12
store i16 %3701, i16* %18
%3702 = load i16, i16* %16
%3703 = sext i16 %3702 to i32
%3704 = icmp eq i32 %3703, 0
br i1 %3704, label %3705, label %3706
3705: ; preds = %3698
br label %3710
3706: ; preds = %3698
%3707 = load i16, i16* %16
%3708 = sext i16 %3707 to i32
%3709 = sub nsw i32 25, %3708
br label %3710
3710: ; preds = %3706, %3705
%3711 = phi i32 [ 0, %3705 ], [ %3709, %3706 ]
%3712 = trunc i32 %3711 to i16
store i16 %3712, i16* %12
%3713 = load i16, i16* %18
%3714 = sext i16 %3713 to i32
%3715 = icmp eq i32 %3714, 0
br i1 %3715, label %3716, label %3717
3716: ; preds = %3710
br label %3721
3717: ; preds = %3710
%3718 = load i16, i16* %18
%3719 = sext i16 %3718 to i32
%3720 = sub nsw i32 25, %3719
br label %3721
3721: ; preds = %3717, %3716
%3722 = phi i32 [ 0, %3716 ], [ %3720, %3717 ]
%3723 = trunc i32 %3722 to i16
store i16 %3723, i16* %16
%3724 = load i16, i16* %13
store i16 %3724, i16* %18
%3725 = load i16, i16* %17
%3726 = sext i16 %3725 to i32
%3727 = icmp eq i32 %3726, 0
br i1 %3727, label %3728, label %3729
3728: ; preds = %3721
br label %3733
3729: ; preds = %3721
%3730 = load i16, i16* %17
%3731 = sext i16 %3730 to i32
%3732 = sub nsw i32 25, %3731
br label %3733
3733: ; preds = %3729, %3728
%3734 = phi i32 [ 0, %3728 ], [ %3732, %3729 ]
%3735 = trunc i32 %3734 to i16
store i16 %3735, i16* %13
%3736 = load i16, i16* %18
%3737 = sext i16 %3736 to i32
%3738 = icmp eq i32 %3737, 0
br i1 %3738, label %3739, label %3740
3739: ; preds = %3733
br label %3744
3740: ; preds = %3733
%3741 = load i16, i16* %18
%3742 = sext i16 %3741 to i32
%3743 = sub nsw i32 25, %3742
br label %3744
3744: ; preds = %3740, %3739
%3745 = phi i32 [ 0, %3739 ], [ %3743, %3740 ]
%3746 = trunc i32 %3745 to i16
store i16 %3746, i16* %17
%3747 = load i16, i16* %20
store i16 %3747, i16* %16
br label %4168
3748: ; preds = %3534
%3749 = load i16, i16* %17
%3750 = sext i16 %3749 to i32
%3751 = load i16, i16* %20
%3752 = sext i16 %3751 to i32
%3753 = icmp eq i32 %3750, %3752
br i1 %3753, label %3754, label %3961
3754: ; preds = %3748
store i16 0, i16* %17
%3755 = load i16, i16* %10
store i16 %3755, i16* %18
%3756 = load i16, i16* %14
%3757 = sext i16 %3756 to i32
%3758 = icmp eq i32 %3757, 0
br i1 %3758, label %3759, label %3760
3759: ; preds = %3754
br label %3764
3760: ; preds = %3754
%3761 = load i16, i16* %14
%3762 = sext i16 %3761 to i32
%3763 = sub nsw i32 25, %3762
br label %3764
3764: ; preds = %3760, %3759
%3765 = phi i32 [ 0, %3759 ], [ %3763, %3760 ]
%3766 = trunc i32 %3765 to i16
store i16 %3766, i16* %10
%3767 = load i16, i16* %18
%3768 = sext i16 %3767 to i32
%3769 = icmp eq i32 %3768, 0
br i1 %3769, label %3770, label %3771
3770: ; preds = %3764
br label %3775
3771: ; preds = %3764
%3772 = load i16, i16* %18
%3773 = sext i16 %3772 to i32
%3774 = sub nsw i32 25, %3773
br label %3775
3775: ; preds = %3771, %3770
%3776 = phi i32 [ 0, %3770 ], [ %3774, %3771 ]
%3777 = trunc i32 %3776 to i16
store i16 %3777, i16* %14
%3778 = load i16, i16* %11
store i16 %3778, i16* %18
%3779 = load i16, i16* %15
%3780 = sext i16 %3779 to i32
%3781 = icmp eq i32 %3780, 0
br i1 %3781, label %3782, label %3783
3782: ; preds = %3775
br label %3787
3783: ; preds = %3775
%3784 = load i16, i16* %15
%3785 = sext i16 %3784 to i32
%3786 = sub nsw i32 25, %3785
br label %3787
3787: ; preds = %3783, %3782
%3788 = phi i32 [ 0, %3782 ], [ %3786, %3783 ]
%3789 = trunc i32 %3788 to i16
store i16 %3789, i16* %11
%3790 = load i16, i16* %18
%3791 = sext i16 %3790 to i32
%3792 = icmp eq i32 %3791, 0
br i1 %3792, label %3793, label %3794
3793: ; preds = %3787
br label %3798
3794: ; preds = %3787
%3795 = load i16, i16* %18
%3796 = sext i16 %3795 to i32
%3797 = sub nsw i32 25, %3796
br label %3798
3798: ; preds = %3794, %3793
%3799 = phi i32 [ 0, %3793 ], [ %3797, %3794 ]
%3800 = trunc i32 %3799 to i16
store i16 %3800, i16* %15
%3801 = load i16, i16* %12
store i16 %3801, i16* %18
%3802 = load i16, i16* %16
%3803 = sext i16 %3802 to i32
%3804 = icmp eq i32 %3803, 0
br i1 %3804, label %3805, label %3806
3805: ; preds = %3798
br label %3810
3806: ; preds = %3798
%3807 = load i16, i16* %16
%3808 = sext i16 %3807 to i32
%3809 = sub nsw i32 25, %3808
br label %3810
3810: ; preds = %3806, %3805
%3811 = phi i32 [ 0, %3805 ], [ %3809, %3806 ]
%3812 = trunc i32 %3811 to i16
store i16 %3812, i16* %12
%3813 = load i16, i16* %18
%3814 = sext i16 %3813 to i32
%3815 = icmp eq i32 %3814, 0
br i1 %3815, label %3816, label %3817
3816: ; preds = %3810
br label %3821
3817: ; preds = %3810
%3818 = load i16, i16* %18
%3819 = sext i16 %3818 to i32
%3820 = sub nsw i32 25, %3819
br label %3821
3821: ; preds = %3817, %3816
%3822 = phi i32 [ 0, %3816 ], [ %3820, %3817 ]
%3823 = trunc i32 %3822 to i16
store i16 %3823, i16* %16
%3824 = load i16, i16* %13
store i16 %3824, i16* %18
%3825 = load i16, i16* %17
%3826 = sext i16 %3825 to i32
%3827 = icmp eq i32 %3826, 0
br i1 %3827, label %3828, label %3829
3828: ; preds = %3821
br label %3833
3829: ; preds = %3821
%3830 = load i16, i16* %17
%3831 = sext i16 %3830 to i32
%3832 = sub nsw i32 25, %3831
br label %3833
3833: ; preds = %3829, %3828
%3834 = phi i32 [ 0, %3828 ], [ %3832, %3829 ]
%3835 = trunc i32 %3834 to i16
store i16 %3835, i16* %13
%3836 = load i16, i16* %18
%3837 = sext i16 %3836 to i32
%3838 = icmp eq i32 %3837, 0
br i1 %3838, label %3839, label %3840
3839: ; preds = %3833
br label %3844
3840: ; preds = %3833
%3841 = load i16, i16* %18
%3842 = sext i16 %3841 to i32
%3843 = sub nsw i32 25, %3842
br label %3844
3844: ; preds = %3840, %3839
%3845 = phi i32 [ 0, %3839 ], [ %3843, %3840 ]
%3846 = trunc i32 %3845 to i16
store i16 %3846, i16* %17
%3847 = load i16, i16* %10
%3848 = sext i16 %3847 to i32
%3849 = load i16, i16* %11
%3850 = sext i16 %3849 to i32
%3851 = load i16, i16* %12
%3852 = sext i16 %3851 to i32
%3853 = load i16, i16* %13
%3854 = sext i16 %3853 to i32
%3855 = load i16, i16* %14
%3856 = sext i16 %3855 to i32
%3857 = load i16, i16* %15
%3858 = sext i16 %3857 to i32
%3859 = load i16, i16* %16
%3860 = sext i16 %3859 to i32
%3861 = load i16, i16* %17
%3862 = sext i16 %3861 to i32
%3863 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3848, i32 %3850, i32 %3852, i32 %3854, i32 %3856, i32 %3858, i32 %3860, i32 %3862)
%3864 = icmp sle i32 0, %3863
br i1 %3864, label %3865, label %3867
3865: ; preds = %3844
%3866 = load i16, i16* %21
store i16 %3866, i16* %9
br label %18762
3867: ; preds = %3844
%3868 = load i16, i16* %10
store i16 %3868, i16* %18
%3869 = load i16, i16* %14
%3870 = sext i16 %3869 to i32
%3871 = icmp eq i32 %3870, 0
br i1 %3871, label %3872, label %3873
3872: ; preds = %3867
br label %3877
3873: ; preds = %3867
%3874 = load i16, i16* %14
%3875 = sext i16 %3874 to i32
%3876 = sub nsw i32 25, %3875
br label %3877
3877: ; preds = %3873, %3872
%3878 = phi i32 [ 0, %3872 ], [ %3876, %3873 ]
%3879 = trunc i32 %3878 to i16
store i16 %3879, i16* %10
%3880 = load i16, i16* %18
%3881 = sext i16 %3880 to i32
%3882 = icmp eq i32 %3881, 0
br i1 %3882, label %3883, label %3884
3883: ; preds = %3877
br label %3888
3884: ; preds = %3877
%3885 = load i16, i16* %18
%3886 = sext i16 %3885 to i32
%3887 = sub nsw i32 25, %3886
br label %3888
3888: ; preds = %3884, %3883
%3889 = phi i32 [ 0, %3883 ], [ %3887, %3884 ]
%3890 = trunc i32 %3889 to i16
store i16 %3890, i16* %14
%3891 = load i16, i16* %11
store i16 %3891, i16* %18
%3892 = load i16, i16* %15
%3893 = sext i16 %3892 to i32
%3894 = icmp eq i32 %3893, 0
br i1 %3894, label %3895, label %3896
3895: ; preds = %3888
br label %3900
3896: ; preds = %3888
%3897 = load i16, i16* %15
%3898 = sext i16 %3897 to i32
%3899 = sub nsw i32 25, %3898
br label %3900
3900: ; preds = %3896, %3895
%3901 = phi i32 [ 0, %3895 ], [ %3899, %3896 ]
%3902 = trunc i32 %3901 to i16
store i16 %3902, i16* %11
%3903 = load i16, i16* %18
%3904 = sext i16 %3903 to i32
%3905 = icmp eq i32 %3904, 0
br i1 %3905, label %3906, label %3907
3906: ; preds = %3900
br label %3911
3907: ; preds = %3900
%3908 = load i16, i16* %18
%3909 = sext i16 %3908 to i32
%3910 = sub nsw i32 25, %3909
br label %3911
3911: ; preds = %3907, %3906
%3912 = phi i32 [ 0, %3906 ], [ %3910, %3907 ]
%3913 = trunc i32 %3912 to i16
store i16 %3913, i16* %15
%3914 = load i16, i16* %12
store i16 %3914, i16* %18
%3915 = load i16, i16* %16
%3916 = sext i16 %3915 to i32
%3917 = icmp eq i32 %3916, 0
br i1 %3917, label %3918, label %3919
3918: ; preds = %3911
br label %3923
3919: ; preds = %3911
%3920 = load i16, i16* %16
%3921 = sext i16 %3920 to i32
%3922 = sub nsw i32 25, %3921
br label %3923
3923: ; preds = %3919, %3918
%3924 = phi i32 [ 0, %3918 ], [ %3922, %3919 ]
%3925 = trunc i32 %3924 to i16
store i16 %3925, i16* %12
%3926 = load i16, i16* %18
%3927 = sext i16 %3926 to i32
%3928 = icmp eq i32 %3927, 0
br i1 %3928, label %3929, label %3930
3929: ; preds = %3923
br label %3934
3930: ; preds = %3923
%3931 = load i16, i16* %18
%3932 = sext i16 %3931 to i32
%3933 = sub nsw i32 25, %3932
br label %3934
3934: ; preds = %3930, %3929
%3935 = phi i32 [ 0, %3929 ], [ %3933, %3930 ]
%3936 = trunc i32 %3935 to i16
store i16 %3936, i16* %16
%3937 = load i16, i16* %13
store i16 %3937, i16* %18
%3938 = load i16, i16* %17
%3939 = sext i16 %3938 to i32
%3940 = icmp eq i32 %3939, 0
br i1 %3940, label %3941, label %3942
3941: ; preds = %3934
br label %3946
3942: ; preds = %3934
%3943 = load i16, i16* %17
%3944 = sext i16 %3943 to i32
%3945 = sub nsw i32 25, %3944
br label %3946
3946: ; preds = %3942, %3941
%3947 = phi i32 [ 0, %3941 ], [ %3945, %3942 ]
%3948 = trunc i32 %3947 to i16
store i16 %3948, i16* %13
%3949 = load i16, i16* %18
%3950 = sext i16 %3949 to i32
%3951 = icmp eq i32 %3950, 0
br i1 %3951, label %3952, label %3953
3952: ; preds = %3946
br label %3957
3953: ; preds = %3946
%3954 = load i16, i16* %18
%3955 = sext i16 %3954 to i32
%3956 = sub nsw i32 25, %3955
br label %3957
3957: ; preds = %3953, %3952
%3958 = phi i32 [ 0, %3952 ], [ %3956, %3953 ]
%3959 = trunc i32 %3958 to i16
store i16 %3959, i16* %17
%3960 = load i16, i16* %20
store i16 %3960, i16* %17
br label %4167
3961: ; preds = %3748
%3962 = load i16, i16* %10
store i16 %3962, i16* %18
%3963 = load i16, i16* %14
%3964 = sext i16 %3963 to i32
%3965 = icmp eq i32 %3964, 0
br i1 %3965, label %3966, label %3967
3966: ; preds = %3961
br label %3971
3967: ; preds = %3961
%3968 = load i16, i16* %14
%3969 = sext i16 %3968 to i32
%3970 = sub nsw i32 25, %3969
br label %3971
3971: ; preds = %3967, %3966
%3972 = phi i32 [ 0, %3966 ], [ %3970, %3967 ]
%3973 = trunc i32 %3972 to i16
store i16 %3973, i16* %10
%3974 = load i16, i16* %18
%3975 = sext i16 %3974 to i32
%3976 = icmp eq i32 %3975, 0
br i1 %3976, label %3977, label %3978
3977: ; preds = %3971
br label %3982
3978: ; preds = %3971
%3979 = load i16, i16* %18
%3980 = sext i16 %3979 to i32
%3981 = sub nsw i32 25, %3980
br label %3982
3982: ; preds = %3978, %3977
%3983 = phi i32 [ 0, %3977 ], [ %3981, %3978 ]
%3984 = trunc i32 %3983 to i16
store i16 %3984, i16* %14
%3985 = load i16, i16* %11
store i16 %3985, i16* %18
%3986 = load i16, i16* %15
%3987 = sext i16 %3986 to i32
%3988 = icmp eq i32 %3987, 0
br i1 %3988, label %3989, label %3990
3989: ; preds = %3982
br label %3994
3990: ; preds = %3982
%3991 = load i16, i16* %15
%3992 = sext i16 %3991 to i32
%3993 = sub nsw i32 25, %3992
br label %3994
3994: ; preds = %3990, %3989
%3995 = phi i32 [ 0, %3989 ], [ %3993, %3990 ]
%3996 = trunc i32 %3995 to i16
store i16 %3996, i16* %11
%3997 = load i16, i16* %18
%3998 = sext i16 %3997 to i32
%3999 = icmp eq i32 %3998, 0
br i1 %3999, label %4000, label %4001
4000: ; preds = %3994
br label %4005
4001: ; preds = %3994
%4002 = load i16, i16* %18
%4003 = sext i16 %4002 to i32
%4004 = sub nsw i32 25, %4003
br label %4005
4005: ; preds = %4001, %4000
%4006 = phi i32 [ 0, %4000 ], [ %4004, %4001 ]
%4007 = trunc i32 %4006 to i16
store i16 %4007, i16* %15
%4008 = load i16, i16* %12
store i16 %4008, i16* %18
%4009 = load i16, i16* %16
%4010 = sext i16 %4009 to i32
%4011 = icmp eq i32 %4010, 0
br i1 %4011, label %4012, label %4013
4012: ; preds = %4005
br label %4017
4013: ; preds = %4005
%4014 = load i16, i16* %16
%4015 = sext i16 %4014 to i32
%4016 = sub nsw i32 25, %4015
br label %4017
4017: ; preds = %4013, %4012
%4018 = phi i32 [ 0, %4012 ], [ %4016, %4013 ]
%4019 = trunc i32 %4018 to i16
store i16 %4019, i16* %12
%4020 = load i16, i16* %18
%4021 = sext i16 %4020 to i32
%4022 = icmp eq i32 %4021, 0
br i1 %4022, label %4023, label %4024
4023: ; preds = %4017
br label %4028
4024: ; preds = %4017
%4025 = load i16, i16* %18
%4026 = sext i16 %4025 to i32
%4027 = sub nsw i32 25, %4026
br label %4028
4028: ; preds = %4024, %4023
%4029 = phi i32 [ 0, %4023 ], [ %4027, %4024 ]
%4030 = trunc i32 %4029 to i16
store i16 %4030, i16* %16
%4031 = load i16, i16* %13
store i16 %4031, i16* %18
%4032 = load i16, i16* %17
%4033 = sext i16 %4032 to i32
%4034 = icmp eq i32 %4033, 0
br i1 %4034, label %4035, label %4036
4035: ; preds = %4028
br label %4040
4036: ; preds = %4028
%4037 = load i16, i16* %17
%4038 = sext i16 %4037 to i32
%4039 = sub nsw i32 25, %4038
br label %4040
4040: ; preds = %4036, %4035
%4041 = phi i32 [ 0, %4035 ], [ %4039, %4036 ]
%4042 = trunc i32 %4041 to i16
store i16 %4042, i16* %13
%4043 = load i16, i16* %18
%4044 = sext i16 %4043 to i32
%4045 = icmp eq i32 %4044, 0
br i1 %4045, label %4046, label %4047
4046: ; preds = %4040
br label %4051
4047: ; preds = %4040
%4048 = load i16, i16* %18
%4049 = sext i16 %4048 to i32
%4050 = sub nsw i32 25, %4049
br label %4051
4051: ; preds = %4047, %4046
%4052 = phi i32 [ 0, %4046 ], [ %4050, %4047 ]
%4053 = trunc i32 %4052 to i16
store i16 %4053, i16* %17
%4054 = load i16, i16* %10
%4055 = sext i16 %4054 to i32
%4056 = load i16, i16* %11
%4057 = sext i16 %4056 to i32
%4058 = load i16, i16* %12
%4059 = sext i16 %4058 to i32
%4060 = load i16, i16* %13
%4061 = sext i16 %4060 to i32
%4062 = load i16, i16* %14
%4063 = sext i16 %4062 to i32
%4064 = load i16, i16* %15
%4065 = sext i16 %4064 to i32
%4066 = load i16, i16* %16
%4067 = sext i16 %4066 to i32
%4068 = load i16, i16* %17
%4069 = sext i16 %4068 to i32
%4070 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4055, i32 %4057, i32 %4059, i32 %4061, i32 %4063, i32 %4065, i32 %4067, i32 %4069)
%4071 = icmp sle i32 0, %4070
br i1 %4071, label %4072, label %4074
4072: ; preds = %4051
%4073 = load i16, i16* %21
store i16 %4073, i16* %9
br label %18762
4074: ; preds = %4051
%4075 = load i16, i16* %10
store i16 %4075, i16* %18
%4076 = load i16, i16* %14
%4077 = sext i16 %4076 to i32
%4078 = icmp eq i32 %4077, 0
br i1 %4078, label %4079, label %4080
4079: ; preds = %4074
br label %4084
4080: ; preds = %4074
%4081 = load i16, i16* %14
%4082 = sext i16 %4081 to i32
%4083 = sub nsw i32 25, %4082
br label %4084
4084: ; preds = %4080, %4079
%4085 = phi i32 [ 0, %4079 ], [ %4083, %4080 ]
%4086 = trunc i32 %4085 to i16
store i16 %4086, i16* %10
%4087 = load i16, i16* %18
%4088 = sext i16 %4087 to i32
%4089 = icmp eq i32 %4088, 0
br i1 %4089, label %4090, label %4091
4090: ; preds = %4084
br label %4095
4091: ; preds = %4084
%4092 = load i16, i16* %18
%4093 = sext i16 %4092 to i32
%4094 = sub nsw i32 25, %4093
br label %4095
4095: ; preds = %4091, %4090
%4096 = phi i32 [ 0, %4090 ], [ %4094, %4091 ]
%4097 = trunc i32 %4096 to i16
store i16 %4097, i16* %14
%4098 = load i16, i16* %11
store i16 %4098, i16* %18
%4099 = load i16, i16* %15
%4100 = sext i16 %4099 to i32
%4101 = icmp eq i32 %4100, 0
br i1 %4101, label %4102, label %4103
4102: ; preds = %4095
br label %4107
4103: ; preds = %4095
%4104 = load i16, i16* %15
%4105 = sext i16 %4104 to i32
%4106 = sub nsw i32 25, %4105
br label %4107
4107: ; preds = %4103, %4102
%4108 = phi i32 [ 0, %4102 ], [ %4106, %4103 ]
%4109 = trunc i32 %4108 to i16
store i16 %4109, i16* %11
%4110 = load i16, i16* %18
%4111 = sext i16 %4110 to i32
%4112 = icmp eq i32 %4111, 0
br i1 %4112, label %4113, label %4114
4113: ; preds = %4107
br label %4118
4114: ; preds = %4107
%4115 = load i16, i16* %18
%4116 = sext i16 %4115 to i32
%4117 = sub nsw i32 25, %4116
br label %4118
4118: ; preds = %4114, %4113
%4119 = phi i32 [ 0, %4113 ], [ %4117, %4114 ]
%4120 = trunc i32 %4119 to i16
store i16 %4120, i16* %15
%4121 = load i16, i16* %12
store i16 %4121, i16* %18
%4122 = load i16, i16* %16
%4123 = sext i16 %4122 to i32
%4124 = icmp eq i32 %4123, 0
br i1 %4124, label %4125, label %4126
4125: ; preds = %4118
br label %4130
4126: ; preds = %4118
%4127 = load i16, i16* %16
%4128 = sext i16 %4127 to i32
%4129 = sub nsw i32 25, %4128
br label %4130
4130: ; preds = %4126, %4125
%4131 = phi i32 [ 0, %4125 ], [ %4129, %4126 ]
%4132 = trunc i32 %4131 to i16
store i16 %4132, i16* %12
%4133 = load i16, i16* %18
%4134 = sext i16 %4133 to i32
%4135 = icmp eq i32 %4134, 0
br i1 %4135, label %4136, label %4137
4136: ; preds = %4130
br label %4141
4137: ; preds = %4130
%4138 = load i16, i16* %18
%4139 = sext i16 %4138 to i32
%4140 = sub nsw i32 25, %4139
br label %4141
4141: ; preds = %4137, %4136
%4142 = phi i32 [ 0, %4136 ], [ %4140, %4137 ]
%4143 = trunc i32 %4142 to i16
store i16 %4143, i16* %16
%4144 = load i16, i16* %13
store i16 %4144, i16* %18
%4145 = load i16, i16* %17
%4146 = sext i16 %4145 to i32
%4147 = icmp eq i32 %4146, 0
br i1 %4147, label %4148, label %4149
4148: ; preds = %4141
br label %4153
4149: ; preds = %4141
%4150 = load i16, i16* %17
%4151 = sext i16 %4150 to i32
%4152 = sub nsw i32 25, %4151
br label %4153
4153: ; preds = %4149, %4148
%4154 = phi i32 [ 0, %4148 ], [ %4152, %4149 ]
%4155 = trunc i32 %4154 to i16
store i16 %4155, i16* %13
%4156 = load i16, i16* %18
%4157 = sext i16 %4156 to i32
%4158 = icmp eq i32 %4157, 0
br i1 %4158, label %4159, label %4160
4159: ; preds = %4153
br label %4164
4160: ; preds = %4153
%4161 = load i16, i16* %18
%4162 = sext i16 %4161 to i32
%4163 = sub nsw i32 25, %4162
br label %4164
4164: ; preds = %4160, %4159
%4165 = phi i32 [ 0, %4159 ], [ %4163, %4160 ]
%4166 = trunc i32 %4165 to i16
store i16 %4166, i16* %17
br label %4167
4167: ; preds = %4164, %3957
br label %4168
4168: ; preds = %4167, %3744
%4169 = load i16, i16* %19
store i16 %4169, i16* %10
br label %4170
4170: ; preds = %4168, %3528, %3522, %3516, %3510, %3499
br label %4171
4171: ; preds = %4170, %3494, %3490, %3486
br label %18752
4172: ; preds = %3482
%4173 = load i16, i16* %21
%4174 = sext i16 %4173 to i32
%4175 = icmp eq i32 %4174, 6
br i1 %4175, label %4176, label %4858
4176: ; preds = %4172
%4177 = load i16, i16* %10
%4178 = sext i16 %4177 to i32
%4179 = icmp ne i32 %4178, 0
br i1 %4179, label %4180, label %4857
4180: ; preds = %4176
%4181 = load i16, i16* %10
%4182 = sext i16 %4181 to i32
%4183 = srem i32 %4182, 4
%4184 = icmp ne i32 %4183, 1
br i1 %4184, label %4185, label %4857
4185: ; preds = %4180
%4186 = load i16, i16* %10
store i16 %4186, i16* %19
%4187 = load i16, i16* %19
%4188 = sext i16 %4187 to i32
%4189 = sub nsw i32 %4188, 1
%4190 = trunc i32 %4189 to i16
store i16 %4190, i16* %20
%4191 = load i16, i16* %20
%4192 = sext i16 %4191 to i32
%4193 = load i16, i16* %11
%4194 = sext i16 %4193 to i32
%4195 = icmp ne i32 %4192, %4194
br i1 %4195, label %4196, label %4856
4196: ; preds = %4185
%4197 = load i16, i16* %20
%4198 = sext i16 %4197 to i32
%4199 = load i16, i16* %12
%4200 = sext i16 %4199 to i32
%4201 = icmp ne i32 %4198, %4200
br i1 %4201, label %4202, label %4856
4202: ; preds = %4196
%4203 = load i16, i16* %20
%4204 = sext i16 %4203 to i32
%4205 = load i16, i16* %13
%4206 = sext i16 %4205 to i32
%4207 = icmp ne i32 %4204, %4206
br i1 %4207, label %4208, label %4856
4208: ; preds = %4202
%4209 = load i16, i16* %20
%4210 = sext i16 %4209 to i32
%4211 = load i16, i16* %14
%4212 = sext i16 %4211 to i32
%4213 = icmp ne i32 %4210, %4212
br i1 %4213, label %4214, label %4856
4214: ; preds = %4208
%4215 = load i16, i16* %20
%4216 = sext i16 %4215 to i32
%4217 = load i16, i16* %15
%4218 = sext i16 %4217 to i32
%4219 = icmp ne i32 %4216, %4218
br i1 %4219, label %4220, label %4856
4220: ; preds = %4214
%4221 = load i16, i16* %20
store i16 %4221, i16* %10
%4222 = load i16, i16* %16
%4223 = sext i16 %4222 to i32
%4224 = load i16, i16* %20
%4225 = sext i16 %4224 to i32
%4226 = icmp eq i32 %4223, %4225
br i1 %4226, label %4227, label %4434
4227: ; preds = %4220
store i16 0, i16* %16
%4228 = load i16, i16* %10
store i16 %4228, i16* %18
%4229 = load i16, i16* %14
%4230 = sext i16 %4229 to i32
%4231 = icmp eq i32 %4230, 0
br i1 %4231, label %4232, label %4233
4232: ; preds = %4227
br label %4237
4233: ; preds = %4227
%4234 = load i16, i16* %14
%4235 = sext i16 %4234 to i32
%4236 = sub nsw i32 25, %4235
br label %4237
4237: ; preds = %4233, %4232
%4238 = phi i32 [ 0, %4232 ], [ %4236, %4233 ]
%4239 = trunc i32 %4238 to i16
store i16 %4239, i16* %10
%4240 = load i16, i16* %18
%4241 = sext i16 %4240 to i32
%4242 = icmp eq i32 %4241, 0
br i1 %4242, label %4243, label %4244
4243: ; preds = %4237
br label %4248
4244: ; preds = %4237
%4245 = load i16, i16* %18
%4246 = sext i16 %4245 to i32
%4247 = sub nsw i32 25, %4246
br label %4248
4248: ; preds = %4244, %4243
%4249 = phi i32 [ 0, %4243 ], [ %4247, %4244 ]
%4250 = trunc i32 %4249 to i16
store i16 %4250, i16* %14
%4251 = load i16, i16* %11
store i16 %4251, i16* %18
%4252 = load i16, i16* %15
%4253 = sext i16 %4252 to i32
%4254 = icmp eq i32 %4253, 0
br i1 %4254, label %4255, label %4256
4255: ; preds = %4248
br label %4260
4256: ; preds = %4248
%4257 = load i16, i16* %15
%4258 = sext i16 %4257 to i32
%4259 = sub nsw i32 25, %4258
br label %4260
4260: ; preds = %4256, %4255
%4261 = phi i32 [ 0, %4255 ], [ %4259, %4256 ]
%4262 = trunc i32 %4261 to i16
store i16 %4262, i16* %11
%4263 = load i16, i16* %18
%4264 = sext i16 %4263 to i32
%4265 = icmp eq i32 %4264, 0
br i1 %4265, label %4266, label %4267
4266: ; preds = %4260
br label %4271
4267: ; preds = %4260
%4268 = load i16, i16* %18
%4269 = sext i16 %4268 to i32
%4270 = sub nsw i32 25, %4269
br label %4271
4271: ; preds = %4267, %4266
%4272 = phi i32 [ 0, %4266 ], [ %4270, %4267 ]
%4273 = trunc i32 %4272 to i16
store i16 %4273, i16* %15
%4274 = load i16, i16* %12
store i16 %4274, i16* %18
%4275 = load i16, i16* %16
%4276 = sext i16 %4275 to i32
%4277 = icmp eq i32 %4276, 0
br i1 %4277, label %4278, label %4279
4278: ; preds = %4271
br label %4283
4279: ; preds = %4271
%4280 = load i16, i16* %16
%4281 = sext i16 %4280 to i32
%4282 = sub nsw i32 25, %4281
br label %4283
4283: ; preds = %4279, %4278
%4284 = phi i32 [ 0, %4278 ], [ %4282, %4279 ]
%4285 = trunc i32 %4284 to i16
store i16 %4285, i16* %12
%4286 = load i16, i16* %18
%4287 = sext i16 %4286 to i32
%4288 = icmp eq i32 %4287, 0
br i1 %4288, label %4289, label %4290
4289: ; preds = %4283
br label %4294
4290: ; preds = %4283
%4291 = load i16, i16* %18
%4292 = sext i16 %4291 to i32
%4293 = sub nsw i32 25, %4292
br label %4294
4294: ; preds = %4290, %4289
%4295 = phi i32 [ 0, %4289 ], [ %4293, %4290 ]
%4296 = trunc i32 %4295 to i16
store i16 %4296, i16* %16
%4297 = load i16, i16* %13
store i16 %4297, i16* %18
%4298 = load i16, i16* %17
%4299 = sext i16 %4298 to i32
%4300 = icmp eq i32 %4299, 0
br i1 %4300, label %4301, label %4302
4301: ; preds = %4294
br label %4306
4302: ; preds = %4294
%4303 = load i16, i16* %17
%4304 = sext i16 %4303 to i32
%4305 = sub nsw i32 25, %4304
br label %4306
4306: ; preds = %4302, %4301
%4307 = phi i32 [ 0, %4301 ], [ %4305, %4302 ]
%4308 = trunc i32 %4307 to i16
store i16 %4308, i16* %13
%4309 = load i16, i16* %18
%4310 = sext i16 %4309 to i32
%4311 = icmp eq i32 %4310, 0
br i1 %4311, label %4312, label %4313
4312: ; preds = %4306
br label %4317
4313: ; preds = %4306
%4314 = load i16, i16* %18
%4315 = sext i16 %4314 to i32
%4316 = sub nsw i32 25, %4315
br label %4317
4317: ; preds = %4313, %4312
%4318 = phi i32 [ 0, %4312 ], [ %4316, %4313 ]
%4319 = trunc i32 %4318 to i16
store i16 %4319, i16* %17
%4320 = load i16, i16* %10
%4321 = sext i16 %4320 to i32
%4322 = load i16, i16* %11
%4323 = sext i16 %4322 to i32
%4324 = load i16, i16* %12
%4325 = sext i16 %4324 to i32
%4326 = load i16, i16* %13
%4327 = sext i16 %4326 to i32
%4328 = load i16, i16* %14
%4329 = sext i16 %4328 to i32
%4330 = load i16, i16* %15
%4331 = sext i16 %4330 to i32
%4332 = load i16, i16* %16
%4333 = sext i16 %4332 to i32
%4334 = load i16, i16* %17
%4335 = sext i16 %4334 to i32
%4336 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4321, i32 %4323, i32 %4325, i32 %4327, i32 %4329, i32 %4331, i32 %4333, i32 %4335)
%4337 = icmp sle i32 0, %4336
br i1 %4337, label %4338, label %4340
4338: ; preds = %4317
%4339 = load i16, i16* %21
store i16 %4339, i16* %9
br label %18762
4340: ; preds = %4317
%4341 = load i16, i16* %10
store i16 %4341, i16* %18
%4342 = load i16, i16* %14
%4343 = sext i16 %4342 to i32
%4344 = icmp eq i32 %4343, 0
br i1 %4344, label %4345, label %4346
4345: ; preds = %4340
br label %4350
4346: ; preds = %4340
%4347 = load i16, i16* %14
%4348 = sext i16 %4347 to i32
%4349 = sub nsw i32 25, %4348
br label %4350
4350: ; preds = %4346, %4345
%4351 = phi i32 [ 0, %4345 ], [ %4349, %4346 ]
%4352 = trunc i32 %4351 to i16
store i16 %4352, i16* %10
%4353 = load i16, i16* %18
%4354 = sext i16 %4353 to i32
%4355 = icmp eq i32 %4354, 0
br i1 %4355, label %4356, label %4357
4356: ; preds = %4350
br label %4361
4357: ; preds = %4350
%4358 = load i16, i16* %18
%4359 = sext i16 %4358 to i32
%4360 = sub nsw i32 25, %4359
br label %4361
4361: ; preds = %4357, %4356
%4362 = phi i32 [ 0, %4356 ], [ %4360, %4357 ]
%4363 = trunc i32 %4362 to i16
store i16 %4363, i16* %14
%4364 = load i16, i16* %11
store i16 %4364, i16* %18
%4365 = load i16, i16* %15
%4366 = sext i16 %4365 to i32
%4367 = icmp eq i32 %4366, 0
br i1 %4367, label %4368, label %4369
4368: ; preds = %4361
br label %4373
4369: ; preds = %4361
%4370 = load i16, i16* %15
%4371 = sext i16 %4370 to i32
%4372 = sub nsw i32 25, %4371
br label %4373
4373: ; preds = %4369, %4368
%4374 = phi i32 [ 0, %4368 ], [ %4372, %4369 ]
%4375 = trunc i32 %4374 to i16
store i16 %4375, i16* %11
%4376 = load i16, i16* %18
%4377 = sext i16 %4376 to i32
%4378 = icmp eq i32 %4377, 0
br i1 %4378, label %4379, label %4380
4379: ; preds = %4373
br label %4384
4380: ; preds = %4373
%4381 = load i16, i16* %18
%4382 = sext i16 %4381 to i32
%4383 = sub nsw i32 25, %4382
br label %4384
4384: ; preds = %4380, %4379
%4385 = phi i32 [ 0, %4379 ], [ %4383, %4380 ]
%4386 = trunc i32 %4385 to i16
store i16 %4386, i16* %15
%4387 = load i16, i16* %12
store i16 %4387, i16* %18
%4388 = load i16, i16* %16
%4389 = sext i16 %4388 to i32
%4390 = icmp eq i32 %4389, 0
br i1 %4390, label %4391, label %4392
4391: ; preds = %4384
br label %4396
4392: ; preds = %4384
%4393 = load i16, i16* %16
%4394 = sext i16 %4393 to i32
%4395 = sub nsw i32 25, %4394
br label %4396
4396: ; preds = %4392, %4391
%4397 = phi i32 [ 0, %4391 ], [ %4395, %4392 ]
%4398 = trunc i32 %4397 to i16
store i16 %4398, i16* %12
%4399 = load i16, i16* %18
%4400 = sext i16 %4399 to i32
%4401 = icmp eq i32 %4400, 0
br i1 %4401, label %4402, label %4403
4402: ; preds = %4396
br label %4407
4403: ; preds = %4396
%4404 = load i16, i16* %18
%4405 = sext i16 %4404 to i32
%4406 = sub nsw i32 25, %4405
br label %4407
4407: ; preds = %4403, %4402
%4408 = phi i32 [ 0, %4402 ], [ %4406, %4403 ]
%4409 = trunc i32 %4408 to i16
store i16 %4409, i16* %16
%4410 = load i16, i16* %13
store i16 %4410, i16* %18
%4411 = load i16, i16* %17
%4412 = sext i16 %4411 to i32
%4413 = icmp eq i32 %4412, 0
br i1 %4413, label %4414, label %4415
4414: ; preds = %4407
br label %4419
4415: ; preds = %4407
%4416 = load i16, i16* %17
%4417 = sext i16 %4416 to i32
%4418 = sub nsw i32 25, %4417
br label %4419
4419: ; preds = %4415, %4414
%4420 = phi i32 [ 0, %4414 ], [ %4418, %4415 ]
%4421 = trunc i32 %4420 to i16
store i16 %4421, i16* %13
%4422 = load i16, i16* %18
%4423 = sext i16 %4422 to i32
%4424 = icmp eq i32 %4423, 0
br i1 %4424, label %4425, label %4426
4425: ; preds = %4419
br label %4430
4426: ; preds = %4419
%4427 = load i16, i16* %18
%4428 = sext i16 %4427 to i32
%4429 = sub nsw i32 25, %4428
br label %4430
4430: ; preds = %4426, %4425
%4431 = phi i32 [ 0, %4425 ], [ %4429, %4426 ]
%4432 = trunc i32 %4431 to i16
store i16 %4432, i16* %17
%4433 = load i16, i16* %20
store i16 %4433, i16* %16
br label %4854
4434: ; preds = %4220
%4435 = load i16, i16* %17
%4436 = sext i16 %4435 to i32
%4437 = load i16, i16* %20
%4438 = sext i16 %4437 to i32
%4439 = icmp eq i32 %4436, %4438
br i1 %4439, label %4440, label %4647
4440: ; preds = %4434
store i16 0, i16* %17
%4441 = load i16, i16* %10
store i16 %4441, i16* %18
%4442 = load i16, i16* %14
%4443 = sext i16 %4442 to i32
%4444 = icmp eq i32 %4443, 0
br i1 %4444, label %4445, label %4446
4445: ; preds = %4440
br label %4450
4446: ; preds = %4440
%4447 = load i16, i16* %14
%4448 = sext i16 %4447 to i32
%4449 = sub nsw i32 25, %4448
br label %4450
4450: ; preds = %4446, %4445
%4451 = phi i32 [ 0, %4445 ], [ %4449, %4446 ]
%4452 = trunc i32 %4451 to i16
store i16 %4452, i16* %10
%4453 = load i16, i16* %18
%4454 = sext i16 %4453 to i32
%4455 = icmp eq i32 %4454, 0
br i1 %4455, label %4456, label %4457
4456: ; preds = %4450
br label %4461
4457: ; preds = %4450
%4458 = load i16, i16* %18
%4459 = sext i16 %4458 to i32
%4460 = sub nsw i32 25, %4459
br label %4461
4461: ; preds = %4457, %4456
%4462 = phi i32 [ 0, %4456 ], [ %4460, %4457 ]
%4463 = trunc i32 %4462 to i16
store i16 %4463, i16* %14
%4464 = load i16, i16* %11
store i16 %4464, i16* %18
%4465 = load i16, i16* %15
%4466 = sext i16 %4465 to i32
%4467 = icmp eq i32 %4466, 0
br i1 %4467, label %4468, label %4469
4468: ; preds = %4461
br label %4473
4469: ; preds = %4461
%4470 = load i16, i16* %15
%4471 = sext i16 %4470 to i32
%4472 = sub nsw i32 25, %4471
br label %4473
4473: ; preds = %4469, %4468
%4474 = phi i32 [ 0, %4468 ], [ %4472, %4469 ]
%4475 = trunc i32 %4474 to i16
store i16 %4475, i16* %11
%4476 = load i16, i16* %18
%4477 = sext i16 %4476 to i32
%4478 = icmp eq i32 %4477, 0
br i1 %4478, label %4479, label %4480
4479: ; preds = %4473
br label %4484
4480: ; preds = %4473
%4481 = load i16, i16* %18
%4482 = sext i16 %4481 to i32
%4483 = sub nsw i32 25, %4482
br label %4484
4484: ; preds = %4480, %4479
%4485 = phi i32 [ 0, %4479 ], [ %4483, %4480 ]
%4486 = trunc i32 %4485 to i16
store i16 %4486, i16* %15
%4487 = load i16, i16* %12
store i16 %4487, i16* %18
%4488 = load i16, i16* %16
%4489 = sext i16 %4488 to i32
%4490 = icmp eq i32 %4489, 0
br i1 %4490, label %4491, label %4492
4491: ; preds = %4484
br label %4496
4492: ; preds = %4484
%4493 = load i16, i16* %16
%4494 = sext i16 %4493 to i32
%4495 = sub nsw i32 25, %4494
br label %4496
4496: ; preds = %4492, %4491
%4497 = phi i32 [ 0, %4491 ], [ %4495, %4492 ]
%4498 = trunc i32 %4497 to i16
store i16 %4498, i16* %12
%4499 = load i16, i16* %18
%4500 = sext i16 %4499 to i32
%4501 = icmp eq i32 %4500, 0
br i1 %4501, label %4502, label %4503
4502: ; preds = %4496
br label %4507
4503: ; preds = %4496
%4504 = load i16, i16* %18
%4505 = sext i16 %4504 to i32
%4506 = sub nsw i32 25, %4505
br label %4507
4507: ; preds = %4503, %4502
%4508 = phi i32 [ 0, %4502 ], [ %4506, %4503 ]
%4509 = trunc i32 %4508 to i16
store i16 %4509, i16* %16
%4510 = load i16, i16* %13
store i16 %4510, i16* %18
%4511 = load i16, i16* %17
%4512 = sext i16 %4511 to i32
%4513 = icmp eq i32 %4512, 0
br i1 %4513, label %4514, label %4515
4514: ; preds = %4507
br label %4519
4515: ; preds = %4507
%4516 = load i16, i16* %17
%4517 = sext i16 %4516 to i32
%4518 = sub nsw i32 25, %4517
br label %4519
4519: ; preds = %4515, %4514
%4520 = phi i32 [ 0, %4514 ], [ %4518, %4515 ]
%4521 = trunc i32 %4520 to i16
store i16 %4521, i16* %13
%4522 = load i16, i16* %18
%4523 = sext i16 %4522 to i32
%4524 = icmp eq i32 %4523, 0
br i1 %4524, label %4525, label %4526
4525: ; preds = %4519
br label %4530
4526: ; preds = %4519
%4527 = load i16, i16* %18
%4528 = sext i16 %4527 to i32
%4529 = sub nsw i32 25, %4528
br label %4530
4530: ; preds = %4526, %4525
%4531 = phi i32 [ 0, %4525 ], [ %4529, %4526 ]
%4532 = trunc i32 %4531 to i16
store i16 %4532, i16* %17
%4533 = load i16, i16* %10
%4534 = sext i16 %4533 to i32
%4535 = load i16, i16* %11
%4536 = sext i16 %4535 to i32
%4537 = load i16, i16* %12
%4538 = sext i16 %4537 to i32
%4539 = load i16, i16* %13
%4540 = sext i16 %4539 to i32
%4541 = load i16, i16* %14
%4542 = sext i16 %4541 to i32
%4543 = load i16, i16* %15
%4544 = sext i16 %4543 to i32
%4545 = load i16, i16* %16
%4546 = sext i16 %4545 to i32
%4547 = load i16, i16* %17
%4548 = sext i16 %4547 to i32
%4549 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4534, i32 %4536, i32 %4538, i32 %4540, i32 %4542, i32 %4544, i32 %4546, i32 %4548)
%4550 = icmp sle i32 0, %4549
br i1 %4550, label %4551, label %4553
4551: ; preds = %4530
%4552 = load i16, i16* %21
store i16 %4552, i16* %9
br label %18762
4553: ; preds = %4530
%4554 = load i16, i16* %10
store i16 %4554, i16* %18
%4555 = load i16, i16* %14
%4556 = sext i16 %4555 to i32
%4557 = icmp eq i32 %4556, 0
br i1 %4557, label %4558, label %4559
4558: ; preds = %4553
br label %4563
4559: ; preds = %4553
%4560 = load i16, i16* %14
%4561 = sext i16 %4560 to i32
%4562 = sub nsw i32 25, %4561
br label %4563
4563: ; preds = %4559, %4558
%4564 = phi i32 [ 0, %4558 ], [ %4562, %4559 ]
%4565 = trunc i32 %4564 to i16
store i16 %4565, i16* %10
%4566 = load i16, i16* %18
%4567 = sext i16 %4566 to i32
%4568 = icmp eq i32 %4567, 0
br i1 %4568, label %4569, label %4570
4569: ; preds = %4563
br label %4574
4570: ; preds = %4563
%4571 = load i16, i16* %18
%4572 = sext i16 %4571 to i32
%4573 = sub nsw i32 25, %4572
br label %4574
4574: ; preds = %4570, %4569
%4575 = phi i32 [ 0, %4569 ], [ %4573, %4570 ]
%4576 = trunc i32 %4575 to i16
store i16 %4576, i16* %14
%4577 = load i16, i16* %11
store i16 %4577, i16* %18
%4578 = load i16, i16* %15
%4579 = sext i16 %4578 to i32
%4580 = icmp eq i32 %4579, 0
br i1 %4580, label %4581, label %4582
4581: ; preds = %4574
br label %4586
4582: ; preds = %4574
%4583 = load i16, i16* %15
%4584 = sext i16 %4583 to i32
%4585 = sub nsw i32 25, %4584
br label %4586
4586: ; preds = %4582, %4581
%4587 = phi i32 [ 0, %4581 ], [ %4585, %4582 ]
%4588 = trunc i32 %4587 to i16
store i16 %4588, i16* %11
%4589 = load i16, i16* %18
%4590 = sext i16 %4589 to i32
%4591 = icmp eq i32 %4590, 0
br i1 %4591, label %4592, label %4593
4592: ; preds = %4586
br label %4597
4593: ; preds = %4586
%4594 = load i16, i16* %18
%4595 = sext i16 %4594 to i32
%4596 = sub nsw i32 25, %4595
br label %4597
4597: ; preds = %4593, %4592
%4598 = phi i32 [ 0, %4592 ], [ %4596, %4593 ]
%4599 = trunc i32 %4598 to i16
store i16 %4599, i16* %15
%4600 = load i16, i16* %12
store i16 %4600, i16* %18
%4601 = load i16, i16* %16
%4602 = sext i16 %4601 to i32
%4603 = icmp eq i32 %4602, 0
br i1 %4603, label %4604, label %4605
4604: ; preds = %4597
br label %4609
4605: ; preds = %4597
%4606 = load i16, i16* %16
%4607 = sext i16 %4606 to i32
%4608 = sub nsw i32 25, %4607
br label %4609
4609: ; preds = %4605, %4604
%4610 = phi i32 [ 0, %4604 ], [ %4608, %4605 ]
%4611 = trunc i32 %4610 to i16
store i16 %4611, i16* %12
%4612 = load i16, i16* %18
%4613 = sext i16 %4612 to i32
%4614 = icmp eq i32 %4613, 0
br i1 %4614, label %4615, label %4616
4615: ; preds = %4609
br label %4620
4616: ; preds = %4609
%4617 = load i16, i16* %18
%4618 = sext i16 %4617 to i32
%4619 = sub nsw i32 25, %4618
br label %4620
4620: ; preds = %4616, %4615
%4621 = phi i32 [ 0, %4615 ], [ %4619, %4616 ]
%4622 = trunc i32 %4621 to i16
store i16 %4622, i16* %16
%4623 = load i16, i16* %13
store i16 %4623, i16* %18
%4624 = load i16, i16* %17
%4625 = sext i16 %4624 to i32
%4626 = icmp eq i32 %4625, 0
br i1 %4626, label %4627, label %4628
4627: ; preds = %4620
br label %4632
4628: ; preds = %4620
%4629 = load i16, i16* %17
%4630 = sext i16 %4629 to i32
%4631 = sub nsw i32 25, %4630
br label %4632
4632: ; preds = %4628, %4627
%4633 = phi i32 [ 0, %4627 ], [ %4631, %4628 ]
%4634 = trunc i32 %4633 to i16
store i16 %4634, i16* %13
%4635 = load i16, i16* %18
%4636 = sext i16 %4635 to i32
%4637 = icmp eq i32 %4636, 0
br i1 %4637, label %4638, label %4639
4638: ; preds = %4632
br label %4643
4639: ; preds = %4632
%4640 = load i16, i16* %18
%4641 = sext i16 %4640 to i32
%4642 = sub nsw i32 25, %4641
br label %4643
4643: ; preds = %4639, %4638
%4644 = phi i32 [ 0, %4638 ], [ %4642, %4639 ]
%4645 = trunc i32 %4644 to i16
store i16 %4645, i16* %17
%4646 = load i16, i16* %20
store i16 %4646, i16* %17
br label %4853
4647: ; preds = %4434
%4648 = load i16, i16* %10
store i16 %4648, i16* %18
%4649 = load i16, i16* %14
%4650 = sext i16 %4649 to i32
%4651 = icmp eq i32 %4650, 0
br i1 %4651, label %4652, label %4653
4652: ; preds = %4647
br label %4657
4653: ; preds = %4647
%4654 = load i16, i16* %14
%4655 = sext i16 %4654 to i32
%4656 = sub nsw i32 25, %4655
br label %4657
4657: ; preds = %4653, %4652
%4658 = phi i32 [ 0, %4652 ], [ %4656, %4653 ]
%4659 = trunc i32 %4658 to i16
store i16 %4659, i16* %10
%4660 = load i16, i16* %18
%4661 = sext i16 %4660 to i32
%4662 = icmp eq i32 %4661, 0
br i1 %4662, label %4663, label %4664
4663: ; preds = %4657
br label %4668
4664: ; preds = %4657
%4665 = load i16, i16* %18
%4666 = sext i16 %4665 to i32
%4667 = sub nsw i32 25, %4666
br label %4668
4668: ; preds = %4664, %4663
%4669 = phi i32 [ 0, %4663 ], [ %4667, %4664 ]
%4670 = trunc i32 %4669 to i16
store i16 %4670, i16* %14
%4671 = load i16, i16* %11
store i16 %4671, i16* %18
%4672 = load i16, i16* %15
%4673 = sext i16 %4672 to i32
%4674 = icmp eq i32 %4673, 0
br i1 %4674, label %4675, label %4676
4675: ; preds = %4668
br label %4680
4676: ; preds = %4668
%4677 = load i16, i16* %15
%4678 = sext i16 %4677 to i32
%4679 = sub nsw i32 25, %4678
br label %4680
4680: ; preds = %4676, %4675
%4681 = phi i32 [ 0, %4675 ], [ %4679, %4676 ]
%4682 = trunc i32 %4681 to i16
store i16 %4682, i16* %11
%4683 = load i16, i16* %18
%4684 = sext i16 %4683 to i32
%4685 = icmp eq i32 %4684, 0
br i1 %4685, label %4686, label %4687
4686: ; preds = %4680
br label %4691
4687: ; preds = %4680
%4688 = load i16, i16* %18
%4689 = sext i16 %4688 to i32
%4690 = sub nsw i32 25, %4689
br label %4691
4691: ; preds = %4687, %4686
%4692 = phi i32 [ 0, %4686 ], [ %4690, %4687 ]
%4693 = trunc i32 %4692 to i16
store i16 %4693, i16* %15
%4694 = load i16, i16* %12
store i16 %4694, i16* %18
%4695 = load i16, i16* %16
%4696 = sext i16 %4695 to i32
%4697 = icmp eq i32 %4696, 0
br i1 %4697, label %4698, label %4699
4698: ; preds = %4691
br label %4703
4699: ; preds = %4691
%4700 = load i16, i16* %16
%4701 = sext i16 %4700 to i32
%4702 = sub nsw i32 25, %4701
br label %4703
4703: ; preds = %4699, %4698
%4704 = phi i32 [ 0, %4698 ], [ %4702, %4699 ]
%4705 = trunc i32 %4704 to i16
store i16 %4705, i16* %12
%4706 = load i16, i16* %18
%4707 = sext i16 %4706 to i32
%4708 = icmp eq i32 %4707, 0
br i1 %4708, label %4709, label %4710
4709: ; preds = %4703
br label %4714
4710: ; preds = %4703
%4711 = load i16, i16* %18
%4712 = sext i16 %4711 to i32
%4713 = sub nsw i32 25, %4712
br label %4714
4714: ; preds = %4710, %4709
%4715 = phi i32 [ 0, %4709 ], [ %4713, %4710 ]
%4716 = trunc i32 %4715 to i16
store i16 %4716, i16* %16
%4717 = load i16, i16* %13
store i16 %4717, i16* %18
%4718 = load i16, i16* %17
%4719 = sext i16 %4718 to i32
%4720 = icmp eq i32 %4719, 0
br i1 %4720, label %4721, label %4722
4721: ; preds = %4714
br label %4726
4722: ; preds = %4714
%4723 = load i16, i16* %17
%4724 = sext i16 %4723 to i32
%4725 = sub nsw i32 25, %4724
br label %4726
4726: ; preds = %4722, %4721
%4727 = phi i32 [ 0, %4721 ], [ %4725, %4722 ]
%4728 = trunc i32 %4727 to i16
store i16 %4728, i16* %13
%4729 = load i16, i16* %18
%4730 = sext i16 %4729 to i32
%4731 = icmp eq i32 %4730, 0
br i1 %4731, label %4732, label %4733
4732: ; preds = %4726
br label %4737
4733: ; preds = %4726
%4734 = load i16, i16* %18
%4735 = sext i16 %4734 to i32
%4736 = sub nsw i32 25, %4735
br label %4737
4737: ; preds = %4733, %4732
%4738 = phi i32 [ 0, %4732 ], [ %4736, %4733 ]
%4739 = trunc i32 %4738 to i16
store i16 %4739, i16* %17
%4740 = load i16, i16* %10
%4741 = sext i16 %4740 to i32
%4742 = load i16, i16* %11
%4743 = sext i16 %4742 to i32
%4744 = load i16, i16* %12
%4745 = sext i16 %4744 to i32
%4746 = load i16, i16* %13
%4747 = sext i16 %4746 to i32
%4748 = load i16, i16* %14
%4749 = sext i16 %4748 to i32
%4750 = load i16, i16* %15
%4751 = sext i16 %4750 to i32
%4752 = load i16, i16* %16
%4753 = sext i16 %4752 to i32
%4754 = load i16, i16* %17
%4755 = sext i16 %4754 to i32
%4756 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4741, i32 %4743, i32 %4745, i32 %4747, i32 %4749, i32 %4751, i32 %4753, i32 %4755)
%4757 = icmp sle i32 0, %4756
br i1 %4757, label %4758, label %4760
4758: ; preds = %4737
%4759 = load i16, i16* %21
store i16 %4759, i16* %9
br label %18762
4760: ; preds = %4737
%4761 = load i16, i16* %10
store i16 %4761, i16* %18
%4762 = load i16, i16* %14
%4763 = sext i16 %4762 to i32
%4764 = icmp eq i32 %4763, 0
br i1 %4764, label %4765, label %4766
4765: ; preds = %4760
br label %4770
4766: ; preds = %4760
%4767 = load i16, i16* %14
%4768 = sext i16 %4767 to i32
%4769 = sub nsw i32 25, %4768
br label %4770
4770: ; preds = %4766, %4765
%4771 = phi i32 [ 0, %4765 ], [ %4769, %4766 ]
%4772 = trunc i32 %4771 to i16
store i16 %4772, i16* %10
%4773 = load i16, i16* %18
%4774 = sext i16 %4773 to i32
%4775 = icmp eq i32 %4774, 0
br i1 %4775, label %4776, label %4777
4776: ; preds = %4770
br label %4781
4777: ; preds = %4770
%4778 = load i16, i16* %18
%4779 = sext i16 %4778 to i32
%4780 = sub nsw i32 25, %4779
br label %4781
4781: ; preds = %4777, %4776
%4782 = phi i32 [ 0, %4776 ], [ %4780, %4777 ]
%4783 = trunc i32 %4782 to i16
store i16 %4783, i16* %14
%4784 = load i16, i16* %11
store i16 %4784, i16* %18
%4785 = load i16, i16* %15
%4786 = sext i16 %4785 to i32
%4787 = icmp eq i32 %4786, 0
br i1 %4787, label %4788, label %4789
4788: ; preds = %4781
br label %4793
4789: ; preds = %4781
%4790 = load i16, i16* %15
%4791 = sext i16 %4790 to i32
%4792 = sub nsw i32 25, %4791
br label %4793
4793: ; preds = %4789, %4788
%4794 = phi i32 [ 0, %4788 ], [ %4792, %4789 ]
%4795 = trunc i32 %4794 to i16
store i16 %4795, i16* %11
%4796 = load i16, i16* %18
%4797 = sext i16 %4796 to i32
%4798 = icmp eq i32 %4797, 0
br i1 %4798, label %4799, label %4800
4799: ; preds = %4793
br label %4804
4800: ; preds = %4793
%4801 = load i16, i16* %18
%4802 = sext i16 %4801 to i32
%4803 = sub nsw i32 25, %4802
br label %4804
4804: ; preds = %4800, %4799
%4805 = phi i32 [ 0, %4799 ], [ %4803, %4800 ]
%4806 = trunc i32 %4805 to i16
store i16 %4806, i16* %15
%4807 = load i16, i16* %12
store i16 %4807, i16* %18
%4808 = load i16, i16* %16
%4809 = sext i16 %4808 to i32
%4810 = icmp eq i32 %4809, 0
br i1 %4810, label %4811, label %4812
4811: ; preds = %4804
br label %4816
4812: ; preds = %4804
%4813 = load i16, i16* %16
%4814 = sext i16 %4813 to i32
%4815 = sub nsw i32 25, %4814
br label %4816
4816: ; preds = %4812, %4811
%4817 = phi i32 [ 0, %4811 ], [ %4815, %4812 ]
%4818 = trunc i32 %4817 to i16
store i16 %4818, i16* %12
%4819 = load i16, i16* %18
%4820 = sext i16 %4819 to i32
%4821 = icmp eq i32 %4820, 0
br i1 %4821, label %4822, label %4823
4822: ; preds = %4816
br label %4827
4823: ; preds = %4816
%4824 = load i16, i16* %18
%4825 = sext i16 %4824 to i32
%4826 = sub nsw i32 25, %4825
br label %4827
4827: ; preds = %4823, %4822
%4828 = phi i32 [ 0, %4822 ], [ %4826, %4823 ]
%4829 = trunc i32 %4828 to i16
store i16 %4829, i16* %16
%4830 = load i16, i16* %13
store i16 %4830, i16* %18
%4831 = load i16, i16* %17
%4832 = sext i16 %4831 to i32
%4833 = icmp eq i32 %4832, 0
br i1 %4833, label %4834, label %4835
4834: ; preds = %4827
br label %4839
4835: ; preds = %4827
%4836 = load i16, i16* %17
%4837 = sext i16 %4836 to i32
%4838 = sub nsw i32 25, %4837
br label %4839
4839: ; preds = %4835, %4834
%4840 = phi i32 [ 0, %4834 ], [ %4838, %4835 ]
%4841 = trunc i32 %4840 to i16
store i16 %4841, i16* %13
%4842 = load i16, i16* %18
%4843 = sext i16 %4842 to i32
%4844 = icmp eq i32 %4843, 0
br i1 %4844, label %4845, label %4846
4845: ; preds = %4839
br label %4850
4846: ; preds = %4839
%4847 = load i16, i16* %18
%4848 = sext i16 %4847 to i32
%4849 = sub nsw i32 25, %4848
br label %4850
4850: ; preds = %4846, %4845
%4851 = phi i32 [ 0, %4845 ], [ %4849, %4846 ]
%4852 = trunc i32 %4851 to i16
store i16 %4852, i16* %17
br label %4853
4853: ; preds = %4850, %4643
br label %4854
4854: ; preds = %4853, %4430
%4855 = load i16, i16* %19
store i16 %4855, i16* %10
br label %4856
4856: ; preds = %4854, %4214, %4208, %4202, %4196, %4185
br label %4857
4857: ; preds = %4856, %4180, %4176
br label %18751
4858: ; preds = %4172
%4859 = load i16, i16* %21
%4860 = sext i16 %4859 to i32
%4861 = icmp eq i32 %4860, 7
br i1 %4861, label %4862, label %5548
4862: ; preds = %4858
%4863 = load i16, i16* %10
%4864 = sext i16 %4863 to i32
%4865 = icmp ne i32 %4864, 0
br i1 %4865, label %4866, label %5547
4866: ; preds = %4862
%4867 = load i16, i16* %10
%4868 = sext i16 %4867 to i32
%4869 = icmp slt i32 %4868, 21
br i1 %4869, label %4870, label %5547
4870: ; preds = %4866
%4871 = load i16, i16* %10
%4872 = sext i16 %4871 to i32
%4873 = srem i32 %4872, 4
%4874 = icmp ne i32 %4873, 1
br i1 %4874, label %4875, label %5547
4875: ; preds = %4870
%4876 = load i16, i16* %10
store i16 %4876, i16* %19
%4877 = load i16, i16* %19
%4878 = sext i16 %4877 to i32
%4879 = add nsw i32 %4878, 3
%4880 = trunc i32 %4879 to i16
store i16 %4880, i16* %20
%4881 = load i16, i16* %20
%4882 = sext i16 %4881 to i32
%4883 = load i16, i16* %11
%4884 = sext i16 %4883 to i32
%4885 = icmp ne i32 %4882, %4884
br i1 %4885, label %4886, label %5546
4886: ; preds = %4875
%4887 = load i16, i16* %20
%4888 = sext i16 %4887 to i32
%4889 = load i16, i16* %12
%4890 = sext i16 %4889 to i32
%4891 = icmp ne i32 %4888, %4890
br i1 %4891, label %4892, label %5546
4892: ; preds = %4886
%4893 = load i16, i16* %20
%4894 = sext i16 %4893 to i32
%4895 = load i16, i16* %13
%4896 = sext i16 %4895 to i32
%4897 = icmp ne i32 %4894, %4896
br i1 %4897, label %4898, label %5546
4898: ; preds = %4892
%4899 = load i16, i16* %20
%4900 = sext i16 %4899 to i32
%4901 = load i16, i16* %14
%4902 = sext i16 %4901 to i32
%4903 = icmp ne i32 %4900, %4902
br i1 %4903, label %4904, label %5546
4904: ; preds = %4898
%4905 = load i16, i16* %20
%4906 = sext i16 %4905 to i32
%4907 = load i16, i16* %15
%4908 = sext i16 %4907 to i32
%4909 = icmp ne i32 %4906, %4908
br i1 %4909, label %4910, label %5546
4910: ; preds = %4904
%4911 = load i16, i16* %20
store i16 %4911, i16* %10
%4912 = load i16, i16* %16
%4913 = sext i16 %4912 to i32
%4914 = load i16, i16* %20
%4915 = sext i16 %4914 to i32
%4916 = icmp eq i32 %4913, %4915
br i1 %4916, label %4917, label %5124
4917: ; preds = %4910
store i16 0, i16* %16
%4918 = load i16, i16* %10
store i16 %4918, i16* %18
%4919 = load i16, i16* %14
%4920 = sext i16 %4919 to i32
%4921 = icmp eq i32 %4920, 0
br i1 %4921, label %4922, label %4923
4922: ; preds = %4917
br label %4927
4923: ; preds = %4917
%4924 = load i16, i16* %14
%4925 = sext i16 %4924 to i32
%4926 = sub nsw i32 25, %4925
br label %4927
4927: ; preds = %4923, %4922
%4928 = phi i32 [ 0, %4922 ], [ %4926, %4923 ]
%4929 = trunc i32 %4928 to i16
store i16 %4929, i16* %10
%4930 = load i16, i16* %18
%4931 = sext i16 %4930 to i32
%4932 = icmp eq i32 %4931, 0
br i1 %4932, label %4933, label %4934
4933: ; preds = %4927
br label %4938
4934: ; preds = %4927
%4935 = load i16, i16* %18
%4936 = sext i16 %4935 to i32
%4937 = sub nsw i32 25, %4936
br label %4938
4938: ; preds = %4934, %4933
%4939 = phi i32 [ 0, %4933 ], [ %4937, %4934 ]
%4940 = trunc i32 %4939 to i16
store i16 %4940, i16* %14
%4941 = load i16, i16* %11
store i16 %4941, i16* %18
%4942 = load i16, i16* %15
%4943 = sext i16 %4942 to i32
%4944 = icmp eq i32 %4943, 0
br i1 %4944, label %4945, label %4946
4945: ; preds = %4938
br label %4950
4946: ; preds = %4938
%4947 = load i16, i16* %15
%4948 = sext i16 %4947 to i32
%4949 = sub nsw i32 25, %4948
br label %4950
4950: ; preds = %4946, %4945
%4951 = phi i32 [ 0, %4945 ], [ %4949, %4946 ]
%4952 = trunc i32 %4951 to i16
store i16 %4952, i16* %11
%4953 = load i16, i16* %18
%4954 = sext i16 %4953 to i32
%4955 = icmp eq i32 %4954, 0
br i1 %4955, label %4956, label %4957
4956: ; preds = %4950
br label %4961
4957: ; preds = %4950
%4958 = load i16, i16* %18
%4959 = sext i16 %4958 to i32
%4960 = sub nsw i32 25, %4959
br label %4961
4961: ; preds = %4957, %4956
%4962 = phi i32 [ 0, %4956 ], [ %4960, %4957 ]
%4963 = trunc i32 %4962 to i16
store i16 %4963, i16* %15
%4964 = load i16, i16* %12
store i16 %4964, i16* %18
%4965 = load i16, i16* %16
%4966 = sext i16 %4965 to i32
%4967 = icmp eq i32 %4966, 0
br i1 %4967, label %4968, label %4969
4968: ; preds = %4961
br label %4973
4969: ; preds = %4961
%4970 = load i16, i16* %16
%4971 = sext i16 %4970 to i32
%4972 = sub nsw i32 25, %4971
br label %4973
4973: ; preds = %4969, %4968
%4974 = phi i32 [ 0, %4968 ], [ %4972, %4969 ]
%4975 = trunc i32 %4974 to i16
store i16 %4975, i16* %12
%4976 = load i16, i16* %18
%4977 = sext i16 %4976 to i32
%4978 = icmp eq i32 %4977, 0
br i1 %4978, label %4979, label %4980
4979: ; preds = %4973
br label %4984
4980: ; preds = %4973
%4981 = load i16, i16* %18
%4982 = sext i16 %4981 to i32
%4983 = sub nsw i32 25, %4982
br label %4984
4984: ; preds = %4980, %4979
%4985 = phi i32 [ 0, %4979 ], [ %4983, %4980 ]
%4986 = trunc i32 %4985 to i16
store i16 %4986, i16* %16
%4987 = load i16, i16* %13
store i16 %4987, i16* %18
%4988 = load i16, i16* %17
%4989 = sext i16 %4988 to i32
%4990 = icmp eq i32 %4989, 0
br i1 %4990, label %4991, label %4992
4991: ; preds = %4984
br label %4996
4992: ; preds = %4984
%4993 = load i16, i16* %17
%4994 = sext i16 %4993 to i32
%4995 = sub nsw i32 25, %4994
br label %4996
4996: ; preds = %4992, %4991
%4997 = phi i32 [ 0, %4991 ], [ %4995, %4992 ]
%4998 = trunc i32 %4997 to i16
store i16 %4998, i16* %13
%4999 = load i16, i16* %18
%5000 = sext i16 %4999 to i32
%5001 = icmp eq i32 %5000, 0
br i1 %5001, label %5002, label %5003
5002: ; preds = %4996
br label %5007
5003: ; preds = %4996
%5004 = load i16, i16* %18
%5005 = sext i16 %5004 to i32
%5006 = sub nsw i32 25, %5005
br label %5007
5007: ; preds = %5003, %5002
%5008 = phi i32 [ 0, %5002 ], [ %5006, %5003 ]
%5009 = trunc i32 %5008 to i16
store i16 %5009, i16* %17
%5010 = load i16, i16* %10
%5011 = sext i16 %5010 to i32
%5012 = load i16, i16* %11
%5013 = sext i16 %5012 to i32
%5014 = load i16, i16* %12
%5015 = sext i16 %5014 to i32
%5016 = load i16, i16* %13
%5017 = sext i16 %5016 to i32
%5018 = load i16, i16* %14
%5019 = sext i16 %5018 to i32
%5020 = load i16, i16* %15
%5021 = sext i16 %5020 to i32
%5022 = load i16, i16* %16
%5023 = sext i16 %5022 to i32
%5024 = load i16, i16* %17
%5025 = sext i16 %5024 to i32
%5026 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5011, i32 %5013, i32 %5015, i32 %5017, i32 %5019, i32 %5021, i32 %5023, i32 %5025)
%5027 = icmp sle i32 0, %5026
br i1 %5027, label %5028, label %5030
5028: ; preds = %5007
%5029 = load i16, i16* %21
store i16 %5029, i16* %9
br label %18762
5030: ; preds = %5007
%5031 = load i16, i16* %10
store i16 %5031, i16* %18
%5032 = load i16, i16* %14
%5033 = sext i16 %5032 to i32
%5034 = icmp eq i32 %5033, 0
br i1 %5034, label %5035, label %5036
5035: ; preds = %5030
br label %5040
5036: ; preds = %5030
%5037 = load i16, i16* %14
%5038 = sext i16 %5037 to i32
%5039 = sub nsw i32 25, %5038
br label %5040
5040: ; preds = %5036, %5035
%5041 = phi i32 [ 0, %5035 ], [ %5039, %5036 ]
%5042 = trunc i32 %5041 to i16
store i16 %5042, i16* %10
%5043 = load i16, i16* %18
%5044 = sext i16 %5043 to i32
%5045 = icmp eq i32 %5044, 0
br i1 %5045, label %5046, label %5047
5046: ; preds = %5040
br label %5051
5047: ; preds = %5040
%5048 = load i16, i16* %18
%5049 = sext i16 %5048 to i32
%5050 = sub nsw i32 25, %5049
br label %5051
5051: ; preds = %5047, %5046
%5052 = phi i32 [ 0, %5046 ], [ %5050, %5047 ]
%5053 = trunc i32 %5052 to i16
store i16 %5053, i16* %14
%5054 = load i16, i16* %11
store i16 %5054, i16* %18
%5055 = load i16, i16* %15
%5056 = sext i16 %5055 to i32
%5057 = icmp eq i32 %5056, 0
br i1 %5057, label %5058, label %5059
5058: ; preds = %5051
br label %5063
5059: ; preds = %5051
%5060 = load i16, i16* %15
%5061 = sext i16 %5060 to i32
%5062 = sub nsw i32 25, %5061
br label %5063
5063: ; preds = %5059, %5058
%5064 = phi i32 [ 0, %5058 ], [ %5062, %5059 ]
%5065 = trunc i32 %5064 to i16
store i16 %5065, i16* %11
%5066 = load i16, i16* %18
%5067 = sext i16 %5066 to i32
%5068 = icmp eq i32 %5067, 0
br i1 %5068, label %5069, label %5070
5069: ; preds = %5063
br label %5074
5070: ; preds = %5063
%5071 = load i16, i16* %18
%5072 = sext i16 %5071 to i32
%5073 = sub nsw i32 25, %5072
br label %5074
5074: ; preds = %5070, %5069
%5075 = phi i32 [ 0, %5069 ], [ %5073, %5070 ]
%5076 = trunc i32 %5075 to i16
store i16 %5076, i16* %15
%5077 = load i16, i16* %12
store i16 %5077, i16* %18
%5078 = load i16, i16* %16
%5079 = sext i16 %5078 to i32
%5080 = icmp eq i32 %5079, 0
br i1 %5080, label %5081, label %5082
5081: ; preds = %5074
br label %5086
5082: ; preds = %5074
%5083 = load i16, i16* %16
%5084 = sext i16 %5083 to i32
%5085 = sub nsw i32 25, %5084
br label %5086
5086: ; preds = %5082, %5081
%5087 = phi i32 [ 0, %5081 ], [ %5085, %5082 ]
%5088 = trunc i32 %5087 to i16
store i16 %5088, i16* %12
%5089 = load i16, i16* %18
%5090 = sext i16 %5089 to i32
%5091 = icmp eq i32 %5090, 0
br i1 %5091, label %5092, label %5093
5092: ; preds = %5086
br label %5097
5093: ; preds = %5086
%5094 = load i16, i16* %18
%5095 = sext i16 %5094 to i32
%5096 = sub nsw i32 25, %5095
br label %5097
5097: ; preds = %5093, %5092
%5098 = phi i32 [ 0, %5092 ], [ %5096, %5093 ]
%5099 = trunc i32 %5098 to i16
store i16 %5099, i16* %16
%5100 = load i16, i16* %13
store i16 %5100, i16* %18
%5101 = load i16, i16* %17
%5102 = sext i16 %5101 to i32
%5103 = icmp eq i32 %5102, 0
br i1 %5103, label %5104, label %5105
5104: ; preds = %5097
br label %5109
5105: ; preds = %5097
%5106 = load i16, i16* %17
%5107 = sext i16 %5106 to i32
%5108 = sub nsw i32 25, %5107
br label %5109
5109: ; preds = %5105, %5104
%5110 = phi i32 [ 0, %5104 ], [ %5108, %5105 ]
%5111 = trunc i32 %5110 to i16
store i16 %5111, i16* %13
%5112 = load i16, i16* %18
%5113 = sext i16 %5112 to i32
%5114 = icmp eq i32 %5113, 0
br i1 %5114, label %5115, label %5116
5115: ; preds = %5109
br label %5120
5116: ; preds = %5109
%5117 = load i16, i16* %18
%5118 = sext i16 %5117 to i32
%5119 = sub nsw i32 25, %5118
br label %5120
5120: ; preds = %5116, %5115
%5121 = phi i32 [ 0, %5115 ], [ %5119, %5116 ]
%5122 = trunc i32 %5121 to i16
store i16 %5122, i16* %17
%5123 = load i16, i16* %20
store i16 %5123, i16* %16
br label %5544
5124: ; preds = %4910
%5125 = load i16, i16* %17
%5126 = sext i16 %5125 to i32
%5127 = load i16, i16* %20
%5128 = sext i16 %5127 to i32
%5129 = icmp eq i32 %5126, %5128
br i1 %5129, label %5130, label %5337
5130: ; preds = %5124
store i16 0, i16* %17
%5131 = load i16, i16* %10
store i16 %5131, i16* %18
%5132 = load i16, i16* %14
%5133 = sext i16 %5132 to i32
%5134 = icmp eq i32 %5133, 0
br i1 %5134, label %5135, label %5136
5135: ; preds = %5130
br label %5140
5136: ; preds = %5130
%5137 = load i16, i16* %14
%5138 = sext i16 %5137 to i32
%5139 = sub nsw i32 25, %5138
br label %5140
5140: ; preds = %5136, %5135
%5141 = phi i32 [ 0, %5135 ], [ %5139, %5136 ]
%5142 = trunc i32 %5141 to i16
store i16 %5142, i16* %10
%5143 = load i16, i16* %18
%5144 = sext i16 %5143 to i32
%5145 = icmp eq i32 %5144, 0
br i1 %5145, label %5146, label %5147
5146: ; preds = %5140
br label %5151
5147: ; preds = %5140
%5148 = load i16, i16* %18
%5149 = sext i16 %5148 to i32
%5150 = sub nsw i32 25, %5149
br label %5151
5151: ; preds = %5147, %5146
%5152 = phi i32 [ 0, %5146 ], [ %5150, %5147 ]
%5153 = trunc i32 %5152 to i16
store i16 %5153, i16* %14
%5154 = load i16, i16* %11
store i16 %5154, i16* %18
%5155 = load i16, i16* %15
%5156 = sext i16 %5155 to i32
%5157 = icmp eq i32 %5156, 0
br i1 %5157, label %5158, label %5159
5158: ; preds = %5151
br label %5163
5159: ; preds = %5151
%5160 = load i16, i16* %15
%5161 = sext i16 %5160 to i32
%5162 = sub nsw i32 25, %5161
br label %5163
5163: ; preds = %5159, %5158
%5164 = phi i32 [ 0, %5158 ], [ %5162, %5159 ]
%5165 = trunc i32 %5164 to i16
store i16 %5165, i16* %11
%5166 = load i16, i16* %18
%5167 = sext i16 %5166 to i32
%5168 = icmp eq i32 %5167, 0
br i1 %5168, label %5169, label %5170
5169: ; preds = %5163
br label %5174
5170: ; preds = %5163
%5171 = load i16, i16* %18
%5172 = sext i16 %5171 to i32
%5173 = sub nsw i32 25, %5172
br label %5174
5174: ; preds = %5170, %5169
%5175 = phi i32 [ 0, %5169 ], [ %5173, %5170 ]
%5176 = trunc i32 %5175 to i16
store i16 %5176, i16* %15
%5177 = load i16, i16* %12
store i16 %5177, i16* %18
%5178 = load i16, i16* %16
%5179 = sext i16 %5178 to i32
%5180 = icmp eq i32 %5179, 0
br i1 %5180, label %5181, label %5182
5181: ; preds = %5174
br label %5186
5182: ; preds = %5174
%5183 = load i16, i16* %16
%5184 = sext i16 %5183 to i32
%5185 = sub nsw i32 25, %5184
br label %5186
5186: ; preds = %5182, %5181
%5187 = phi i32 [ 0, %5181 ], [ %5185, %5182 ]
%5188 = trunc i32 %5187 to i16
store i16 %5188, i16* %12
%5189 = load i16, i16* %18
%5190 = sext i16 %5189 to i32
%5191 = icmp eq i32 %5190, 0
br i1 %5191, label %5192, label %5193
5192: ; preds = %5186
br label %5197
5193: ; preds = %5186
%5194 = load i16, i16* %18
%5195 = sext i16 %5194 to i32
%5196 = sub nsw i32 25, %5195
br label %5197
5197: ; preds = %5193, %5192
%5198 = phi i32 [ 0, %5192 ], [ %5196, %5193 ]
%5199 = trunc i32 %5198 to i16
store i16 %5199, i16* %16
%5200 = load i16, i16* %13
store i16 %5200, i16* %18
%5201 = load i16, i16* %17
%5202 = sext i16 %5201 to i32
%5203 = icmp eq i32 %5202, 0
br i1 %5203, label %5204, label %5205
5204: ; preds = %5197
br label %5209
5205: ; preds = %5197
%5206 = load i16, i16* %17
%5207 = sext i16 %5206 to i32
%5208 = sub nsw i32 25, %5207
br label %5209
5209: ; preds = %5205, %5204
%5210 = phi i32 [ 0, %5204 ], [ %5208, %5205 ]
%5211 = trunc i32 %5210 to i16
store i16 %5211, i16* %13
%5212 = load i16, i16* %18
%5213 = sext i16 %5212 to i32
%5214 = icmp eq i32 %5213, 0
br i1 %5214, label %5215, label %5216
5215: ; preds = %5209
br label %5220
5216: ; preds = %5209
%5217 = load i16, i16* %18
%5218 = sext i16 %5217 to i32
%5219 = sub nsw i32 25, %5218
br label %5220
5220: ; preds = %5216, %5215
%5221 = phi i32 [ 0, %5215 ], [ %5219, %5216 ]
%5222 = trunc i32 %5221 to i16
store i16 %5222, i16* %17
%5223 = load i16, i16* %10
%5224 = sext i16 %5223 to i32
%5225 = load i16, i16* %11
%5226 = sext i16 %5225 to i32
%5227 = load i16, i16* %12
%5228 = sext i16 %5227 to i32
%5229 = load i16, i16* %13
%5230 = sext i16 %5229 to i32
%5231 = load i16, i16* %14
%5232 = sext i16 %5231 to i32
%5233 = load i16, i16* %15
%5234 = sext i16 %5233 to i32
%5235 = load i16, i16* %16
%5236 = sext i16 %5235 to i32
%5237 = load i16, i16* %17
%5238 = sext i16 %5237 to i32
%5239 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5224, i32 %5226, i32 %5228, i32 %5230, i32 %5232, i32 %5234, i32 %5236, i32 %5238)
%5240 = icmp sle i32 0, %5239
br i1 %5240, label %5241, label %5243
5241: ; preds = %5220
%5242 = load i16, i16* %21
store i16 %5242, i16* %9
br label %18762
5243: ; preds = %5220
%5244 = load i16, i16* %10
store i16 %5244, i16* %18
%5245 = load i16, i16* %14
%5246 = sext i16 %5245 to i32
%5247 = icmp eq i32 %5246, 0
br i1 %5247, label %5248, label %5249
5248: ; preds = %5243
br label %5253
5249: ; preds = %5243
%5250 = load i16, i16* %14
%5251 = sext i16 %5250 to i32
%5252 = sub nsw i32 25, %5251
br label %5253
5253: ; preds = %5249, %5248
%5254 = phi i32 [ 0, %5248 ], [ %5252, %5249 ]
%5255 = trunc i32 %5254 to i16
store i16 %5255, i16* %10
%5256 = load i16, i16* %18
%5257 = sext i16 %5256 to i32
%5258 = icmp eq i32 %5257, 0
br i1 %5258, label %5259, label %5260
5259: ; preds = %5253
br label %5264
5260: ; preds = %5253
%5261 = load i16, i16* %18
%5262 = sext i16 %5261 to i32
%5263 = sub nsw i32 25, %5262
br label %5264
5264: ; preds = %5260, %5259
%5265 = phi i32 [ 0, %5259 ], [ %5263, %5260 ]
%5266 = trunc i32 %5265 to i16
store i16 %5266, i16* %14
%5267 = load i16, i16* %11
store i16 %5267, i16* %18
%5268 = load i16, i16* %15
%5269 = sext i16 %5268 to i32
%5270 = icmp eq i32 %5269, 0
br i1 %5270, label %5271, label %5272
5271: ; preds = %5264
br label %5276
5272: ; preds = %5264
%5273 = load i16, i16* %15
%5274 = sext i16 %5273 to i32
%5275 = sub nsw i32 25, %5274
br label %5276
5276: ; preds = %5272, %5271
%5277 = phi i32 [ 0, %5271 ], [ %5275, %5272 ]
%5278 = trunc i32 %5277 to i16
store i16 %5278, i16* %11
%5279 = load i16, i16* %18
%5280 = sext i16 %5279 to i32
%5281 = icmp eq i32 %5280, 0
br i1 %5281, label %5282, label %5283
5282: ; preds = %5276
br label %5287
5283: ; preds = %5276
%5284 = load i16, i16* %18
%5285 = sext i16 %5284 to i32
%5286 = sub nsw i32 25, %5285
br label %5287
5287: ; preds = %5283, %5282
%5288 = phi i32 [ 0, %5282 ], [ %5286, %5283 ]
%5289 = trunc i32 %5288 to i16
store i16 %5289, i16* %15
%5290 = load i16, i16* %12
store i16 %5290, i16* %18
%5291 = load i16, i16* %16
%5292 = sext i16 %5291 to i32
%5293 = icmp eq i32 %5292, 0
br i1 %5293, label %5294, label %5295
5294: ; preds = %5287
br label %5299
5295: ; preds = %5287
%5296 = load i16, i16* %16
%5297 = sext i16 %5296 to i32
%5298 = sub nsw i32 25, %5297
br label %5299
5299: ; preds = %5295, %5294
%5300 = phi i32 [ 0, %5294 ], [ %5298, %5295 ]
%5301 = trunc i32 %5300 to i16
store i16 %5301, i16* %12
%5302 = load i16, i16* %18
%5303 = sext i16 %5302 to i32
%5304 = icmp eq i32 %5303, 0
br i1 %5304, label %5305, label %5306
5305: ; preds = %5299
br label %5310
5306: ; preds = %5299
%5307 = load i16, i16* %18
%5308 = sext i16 %5307 to i32
%5309 = sub nsw i32 25, %5308
br label %5310
5310: ; preds = %5306, %5305
%5311 = phi i32 [ 0, %5305 ], [ %5309, %5306 ]
%5312 = trunc i32 %5311 to i16
store i16 %5312, i16* %16
%5313 = load i16, i16* %13
store i16 %5313, i16* %18
%5314 = load i16, i16* %17
%5315 = sext i16 %5314 to i32
%5316 = icmp eq i32 %5315, 0
br i1 %5316, label %5317, label %5318
5317: ; preds = %5310
br label %5322
5318: ; preds = %5310
%5319 = load i16, i16* %17
%5320 = sext i16 %5319 to i32
%5321 = sub nsw i32 25, %5320
br label %5322
5322: ; preds = %5318, %5317
%5323 = phi i32 [ 0, %5317 ], [ %5321, %5318 ]
%5324 = trunc i32 %5323 to i16
store i16 %5324, i16* %13
%5325 = load i16, i16* %18
%5326 = sext i16 %5325 to i32
%5327 = icmp eq i32 %5326, 0
br i1 %5327, label %5328, label %5329
5328: ; preds = %5322
br label %5333
5329: ; preds = %5322
%5330 = load i16, i16* %18
%5331 = sext i16 %5330 to i32
%5332 = sub nsw i32 25, %5331
br label %5333
5333: ; preds = %5329, %5328
%5334 = phi i32 [ 0, %5328 ], [ %5332, %5329 ]
%5335 = trunc i32 %5334 to i16
store i16 %5335, i16* %17
%5336 = load i16, i16* %20
store i16 %5336, i16* %17
br label %5543
5337: ; preds = %5124
%5338 = load i16, i16* %10
store i16 %5338, i16* %18
%5339 = load i16, i16* %14
%5340 = sext i16 %5339 to i32
%5341 = icmp eq i32 %5340, 0
br i1 %5341, label %5342, label %5343
5342: ; preds = %5337
br label %5347
5343: ; preds = %5337
%5344 = load i16, i16* %14
%5345 = sext i16 %5344 to i32
%5346 = sub nsw i32 25, %5345
br label %5347
5347: ; preds = %5343, %5342
%5348 = phi i32 [ 0, %5342 ], [ %5346, %5343 ]
%5349 = trunc i32 %5348 to i16
store i16 %5349, i16* %10
%5350 = load i16, i16* %18
%5351 = sext i16 %5350 to i32
%5352 = icmp eq i32 %5351, 0
br i1 %5352, label %5353, label %5354
5353: ; preds = %5347
br label %5358
5354: ; preds = %5347
%5355 = load i16, i16* %18
%5356 = sext i16 %5355 to i32
%5357 = sub nsw i32 25, %5356
br label %5358
5358: ; preds = %5354, %5353
%5359 = phi i32 [ 0, %5353 ], [ %5357, %5354 ]
%5360 = trunc i32 %5359 to i16
store i16 %5360, i16* %14
%5361 = load i16, i16* %11
store i16 %5361, i16* %18
%5362 = load i16, i16* %15
%5363 = sext i16 %5362 to i32
%5364 = icmp eq i32 %5363, 0
br i1 %5364, label %5365, label %5366
5365: ; preds = %5358
br label %5370
5366: ; preds = %5358
%5367 = load i16, i16* %15
%5368 = sext i16 %5367 to i32
%5369 = sub nsw i32 25, %5368
br label %5370
5370: ; preds = %5366, %5365
%5371 = phi i32 [ 0, %5365 ], [ %5369, %5366 ]
%5372 = trunc i32 %5371 to i16
store i16 %5372, i16* %11
%5373 = load i16, i16* %18
%5374 = sext i16 %5373 to i32
%5375 = icmp eq i32 %5374, 0
br i1 %5375, label %5376, label %5377
5376: ; preds = %5370
br label %5381
5377: ; preds = %5370
%5378 = load i16, i16* %18
%5379 = sext i16 %5378 to i32
%5380 = sub nsw i32 25, %5379
br label %5381
5381: ; preds = %5377, %5376
%5382 = phi i32 [ 0, %5376 ], [ %5380, %5377 ]
%5383 = trunc i32 %5382 to i16
store i16 %5383, i16* %15
%5384 = load i16, i16* %12
store i16 %5384, i16* %18
%5385 = load i16, i16* %16
%5386 = sext i16 %5385 to i32
%5387 = icmp eq i32 %5386, 0
br i1 %5387, label %5388, label %5389
5388: ; preds = %5381
br label %5393
5389: ; preds = %5381
%5390 = load i16, i16* %16
%5391 = sext i16 %5390 to i32
%5392 = sub nsw i32 25, %5391
br label %5393
5393: ; preds = %5389, %5388
%5394 = phi i32 [ 0, %5388 ], [ %5392, %5389 ]
%5395 = trunc i32 %5394 to i16
store i16 %5395, i16* %12
%5396 = load i16, i16* %18
%5397 = sext i16 %5396 to i32
%5398 = icmp eq i32 %5397, 0
br i1 %5398, label %5399, label %5400
5399: ; preds = %5393
br label %5404
5400: ; preds = %5393
%5401 = load i16, i16* %18
%5402 = sext i16 %5401 to i32
%5403 = sub nsw i32 25, %5402
br label %5404
5404: ; preds = %5400, %5399
%5405 = phi i32 [ 0, %5399 ], [ %5403, %5400 ]
%5406 = trunc i32 %5405 to i16
store i16 %5406, i16* %16
%5407 = load i16, i16* %13
store i16 %5407, i16* %18
%5408 = load i16, i16* %17
%5409 = sext i16 %5408 to i32
%5410 = icmp eq i32 %5409, 0
br i1 %5410, label %5411, label %5412
5411: ; preds = %5404
br label %5416
5412: ; preds = %5404
%5413 = load i16, i16* %17
%5414 = sext i16 %5413 to i32
%5415 = sub nsw i32 25, %5414
br label %5416
5416: ; preds = %5412, %5411
%5417 = phi i32 [ 0, %5411 ], [ %5415, %5412 ]
%5418 = trunc i32 %5417 to i16
store i16 %5418, i16* %13
%5419 = load i16, i16* %18
%5420 = sext i16 %5419 to i32
%5421 = icmp eq i32 %5420, 0
br i1 %5421, label %5422, label %5423
5422: ; preds = %5416
br label %5427
5423: ; preds = %5416
%5424 = load i16, i16* %18
%5425 = sext i16 %5424 to i32
%5426 = sub nsw i32 25, %5425
br label %5427
5427: ; preds = %5423, %5422
%5428 = phi i32 [ 0, %5422 ], [ %5426, %5423 ]
%5429 = trunc i32 %5428 to i16
store i16 %5429, i16* %17
%5430 = load i16, i16* %10
%5431 = sext i16 %5430 to i32
%5432 = load i16, i16* %11
%5433 = sext i16 %5432 to i32
%5434 = load i16, i16* %12
%5435 = sext i16 %5434 to i32
%5436 = load i16, i16* %13
%5437 = sext i16 %5436 to i32
%5438 = load i16, i16* %14
%5439 = sext i16 %5438 to i32
%5440 = load i16, i16* %15
%5441 = sext i16 %5440 to i32
%5442 = load i16, i16* %16
%5443 = sext i16 %5442 to i32
%5444 = load i16, i16* %17
%5445 = sext i16 %5444 to i32
%5446 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5431, i32 %5433, i32 %5435, i32 %5437, i32 %5439, i32 %5441, i32 %5443, i32 %5445)
%5447 = icmp sle i32 0, %5446
br i1 %5447, label %5448, label %5450
5448: ; preds = %5427
%5449 = load i16, i16* %21
store i16 %5449, i16* %9
br label %18762
5450: ; preds = %5427
%5451 = load i16, i16* %10
store i16 %5451, i16* %18
%5452 = load i16, i16* %14
%5453 = sext i16 %5452 to i32
%5454 = icmp eq i32 %5453, 0
br i1 %5454, label %5455, label %5456
5455: ; preds = %5450
br label %5460
5456: ; preds = %5450
%5457 = load i16, i16* %14
%5458 = sext i16 %5457 to i32
%5459 = sub nsw i32 25, %5458
br label %5460
5460: ; preds = %5456, %5455
%5461 = phi i32 [ 0, %5455 ], [ %5459, %5456 ]
%5462 = trunc i32 %5461 to i16
store i16 %5462, i16* %10
%5463 = load i16, i16* %18
%5464 = sext i16 %5463 to i32
%5465 = icmp eq i32 %5464, 0
br i1 %5465, label %5466, label %5467
5466: ; preds = %5460
br label %5471
5467: ; preds = %5460
%5468 = load i16, i16* %18
%5469 = sext i16 %5468 to i32
%5470 = sub nsw i32 25, %5469
br label %5471
5471: ; preds = %5467, %5466
%5472 = phi i32 [ 0, %5466 ], [ %5470, %5467 ]
%5473 = trunc i32 %5472 to i16
store i16 %5473, i16* %14
%5474 = load i16, i16* %11
store i16 %5474, i16* %18
%5475 = load i16, i16* %15
%5476 = sext i16 %5475 to i32
%5477 = icmp eq i32 %5476, 0
br i1 %5477, label %5478, label %5479
5478: ; preds = %5471
br label %5483
5479: ; preds = %5471
%5480 = load i16, i16* %15
%5481 = sext i16 %5480 to i32
%5482 = sub nsw i32 25, %5481
br label %5483
5483: ; preds = %5479, %5478
%5484 = phi i32 [ 0, %5478 ], [ %5482, %5479 ]
%5485 = trunc i32 %5484 to i16
store i16 %5485, i16* %11
%5486 = load i16, i16* %18
%5487 = sext i16 %5486 to i32
%5488 = icmp eq i32 %5487, 0
br i1 %5488, label %5489, label %5490
5489: ; preds = %5483
br label %5494
5490: ; preds = %5483
%5491 = load i16, i16* %18
%5492 = sext i16 %5491 to i32
%5493 = sub nsw i32 25, %5492
br label %5494
5494: ; preds = %5490, %5489
%5495 = phi i32 [ 0, %5489 ], [ %5493, %5490 ]
%5496 = trunc i32 %5495 to i16
store i16 %5496, i16* %15
%5497 = load i16, i16* %12
store i16 %5497, i16* %18
%5498 = load i16, i16* %16
%5499 = sext i16 %5498 to i32
%5500 = icmp eq i32 %5499, 0
br i1 %5500, label %5501, label %5502
5501: ; preds = %5494
br label %5506
5502: ; preds = %5494
%5503 = load i16, i16* %16
%5504 = sext i16 %5503 to i32
%5505 = sub nsw i32 25, %5504
br label %5506
5506: ; preds = %5502, %5501
%5507 = phi i32 [ 0, %5501 ], [ %5505, %5502 ]
%5508 = trunc i32 %5507 to i16
store i16 %5508, i16* %12
%5509 = load i16, i16* %18
%5510 = sext i16 %5509 to i32
%5511 = icmp eq i32 %5510, 0
br i1 %5511, label %5512, label %5513
5512: ; preds = %5506
br label %5517
5513: ; preds = %5506
%5514 = load i16, i16* %18
%5515 = sext i16 %5514 to i32
%5516 = sub nsw i32 25, %5515
br label %5517
5517: ; preds = %5513, %5512
%5518 = phi i32 [ 0, %5512 ], [ %5516, %5513 ]
%5519 = trunc i32 %5518 to i16
store i16 %5519, i16* %16
%5520 = load i16, i16* %13
store i16 %5520, i16* %18
%5521 = load i16, i16* %17
%5522 = sext i16 %5521 to i32
%5523 = icmp eq i32 %5522, 0
br i1 %5523, label %5524, label %5525
5524: ; preds = %5517
br label %5529
5525: ; preds = %5517
%5526 = load i16, i16* %17
%5527 = sext i16 %5526 to i32
%5528 = sub nsw i32 25, %5527
br label %5529
5529: ; preds = %5525, %5524
%5530 = phi i32 [ 0, %5524 ], [ %5528, %5525 ]
%5531 = trunc i32 %5530 to i16
store i16 %5531, i16* %13
%5532 = load i16, i16* %18
%5533 = sext i16 %5532 to i32
%5534 = icmp eq i32 %5533, 0
br i1 %5534, label %5535, label %5536
5535: ; preds = %5529
br label %5540
5536: ; preds = %5529
%5537 = load i16, i16* %18
%5538 = sext i16 %5537 to i32
%5539 = sub nsw i32 25, %5538
br label %5540
5540: ; preds = %5536, %5535
%5541 = phi i32 [ 0, %5535 ], [ %5539, %5536 ]
%5542 = trunc i32 %5541 to i16
store i16 %5542, i16* %17
br label %5543
5543: ; preds = %5540, %5333
br label %5544
5544: ; preds = %5543, %5120
%5545 = load i16, i16* %19
store i16 %5545, i16* %10
br label %5546
5546: ; preds = %5544, %4904, %4898, %4892, %4886, %4875
br label %5547
5547: ; preds = %5546, %4870, %4866, %4862
br label %18750
5548: ; preds = %4858
%5549 = load i16, i16* %21
%5550 = sext i16 %5549 to i32
%5551 = icmp eq i32 %5550, 8
br i1 %5551, label %5552, label %6233
5552: ; preds = %5548
%5553 = load i16, i16* %11
%5554 = sext i16 %5553 to i32
%5555 = icmp ne i32 %5554, 0
br i1 %5555, label %5556, label %6232
5556: ; preds = %5552
%5557 = load i16, i16* %11
%5558 = sext i16 %5557 to i32
%5559 = icmp slt i32 %5558, 21
br i1 %5559, label %5560, label %6232
5560: ; preds = %5556
%5561 = load i16, i16* %11
store i16 %5561, i16* %19
%5562 = load i16, i16* %19
%5563 = sext i16 %5562 to i32
%5564 = add nsw i32 %5563, 4
%5565 = trunc i32 %5564 to i16
store i16 %5565, i16* %20
%5566 = load i16, i16* %20
%5567 = sext i16 %5566 to i32
%5568 = load i16, i16* %10
%5569 = sext i16 %5568 to i32
%5570 = icmp ne i32 %5567, %5569
br i1 %5570, label %5571, label %6231
5571: ; preds = %5560
%5572 = load i16, i16* %20
%5573 = sext i16 %5572 to i32
%5574 = load i16, i16* %12
%5575 = sext i16 %5574 to i32
%5576 = icmp ne i32 %5573, %5575
br i1 %5576, label %5577, label %6231
5577: ; preds = %5571
%5578 = load i16, i16* %20
%5579 = sext i16 %5578 to i32
%5580 = load i16, i16* %13
%5581 = sext i16 %5580 to i32
%5582 = icmp ne i32 %5579, %5581
br i1 %5582, label %5583, label %6231
5583: ; preds = %5577
%5584 = load i16, i16* %20
%5585 = sext i16 %5584 to i32
%5586 = load i16, i16* %15
%5587 = sext i16 %5586 to i32
%5588 = icmp ne i32 %5585, %5587
br i1 %5588, label %5589, label %6231
5589: ; preds = %5583
%5590 = load i16, i16* %20
%5591 = sext i16 %5590 to i32
%5592 = load i16, i16* %16
%5593 = sext i16 %5592 to i32
%5594 = icmp ne i32 %5591, %5593
br i1 %5594, label %5595, label %6231
5595: ; preds = %5589
%5596 = load i16, i16* %20
store i16 %5596, i16* %11
%5597 = load i16, i16* %14
%5598 = sext i16 %5597 to i32
%5599 = load i16, i16* %20
%5600 = sext i16 %5599 to i32
%5601 = icmp eq i32 %5598, %5600
br i1 %5601, label %5602, label %5809
5602: ; preds = %5595
store i16 0, i16* %14
%5603 = load i16, i16* %10
store i16 %5603, i16* %18
%5604 = load i16, i16* %14
%5605 = sext i16 %5604 to i32
%5606 = icmp eq i32 %5605, 0
br i1 %5606, label %5607, label %5608
5607: ; preds = %5602
br label %5612
5608: ; preds = %5602
%5609 = load i16, i16* %14
%5610 = sext i16 %5609 to i32
%5611 = sub nsw i32 25, %5610
br label %5612
5612: ; preds = %5608, %5607
%5613 = phi i32 [ 0, %5607 ], [ %5611, %5608 ]
%5614 = trunc i32 %5613 to i16
store i16 %5614, i16* %10
%5615 = load i16, i16* %18
%5616 = sext i16 %5615 to i32
%5617 = icmp eq i32 %5616, 0
br i1 %5617, label %5618, label %5619
5618: ; preds = %5612
br label %5623
5619: ; preds = %5612
%5620 = load i16, i16* %18
%5621 = sext i16 %5620 to i32
%5622 = sub nsw i32 25, %5621
br label %5623
5623: ; preds = %5619, %5618
%5624 = phi i32 [ 0, %5618 ], [ %5622, %5619 ]
%5625 = trunc i32 %5624 to i16
store i16 %5625, i16* %14
%5626 = load i16, i16* %11
store i16 %5626, i16* %18
%5627 = load i16, i16* %15
%5628 = sext i16 %5627 to i32
%5629 = icmp eq i32 %5628, 0
br i1 %5629, label %5630, label %5631
5630: ; preds = %5623
br label %5635
5631: ; preds = %5623
%5632 = load i16, i16* %15
%5633 = sext i16 %5632 to i32
%5634 = sub nsw i32 25, %5633
br label %5635
5635: ; preds = %5631, %5630
%5636 = phi i32 [ 0, %5630 ], [ %5634, %5631 ]
%5637 = trunc i32 %5636 to i16
store i16 %5637, i16* %11
%5638 = load i16, i16* %18
%5639 = sext i16 %5638 to i32
%5640 = icmp eq i32 %5639, 0
br i1 %5640, label %5641, label %5642
5641: ; preds = %5635
br label %5646
5642: ; preds = %5635
%5643 = load i16, i16* %18
%5644 = sext i16 %5643 to i32
%5645 = sub nsw i32 25, %5644
br label %5646
5646: ; preds = %5642, %5641
%5647 = phi i32 [ 0, %5641 ], [ %5645, %5642 ]
%5648 = trunc i32 %5647 to i16
store i16 %5648, i16* %15
%5649 = load i16, i16* %12
store i16 %5649, i16* %18
%5650 = load i16, i16* %16
%5651 = sext i16 %5650 to i32
%5652 = icmp eq i32 %5651, 0
br i1 %5652, label %5653, label %5654
5653: ; preds = %5646
br label %5658
5654: ; preds = %5646
%5655 = load i16, i16* %16
%5656 = sext i16 %5655 to i32
%5657 = sub nsw i32 25, %5656
br label %5658
5658: ; preds = %5654, %5653
%5659 = phi i32 [ 0, %5653 ], [ %5657, %5654 ]
%5660 = trunc i32 %5659 to i16
store i16 %5660, i16* %12
%5661 = load i16, i16* %18
%5662 = sext i16 %5661 to i32
%5663 = icmp eq i32 %5662, 0
br i1 %5663, label %5664, label %5665
5664: ; preds = %5658
br label %5669
5665: ; preds = %5658
%5666 = load i16, i16* %18
%5667 = sext i16 %5666 to i32
%5668 = sub nsw i32 25, %5667
br label %5669
5669: ; preds = %5665, %5664
%5670 = phi i32 [ 0, %5664 ], [ %5668, %5665 ]
%5671 = trunc i32 %5670 to i16
store i16 %5671, i16* %16
%5672 = load i16, i16* %13
store i16 %5672, i16* %18
%5673 = load i16, i16* %17
%5674 = sext i16 %5673 to i32
%5675 = icmp eq i32 %5674, 0
br i1 %5675, label %5676, label %5677
5676: ; preds = %5669
br label %5681
5677: ; preds = %5669
%5678 = load i16, i16* %17
%5679 = sext i16 %5678 to i32
%5680 = sub nsw i32 25, %5679
br label %5681
5681: ; preds = %5677, %5676
%5682 = phi i32 [ 0, %5676 ], [ %5680, %5677 ]
%5683 = trunc i32 %5682 to i16
store i16 %5683, i16* %13
%5684 = load i16, i16* %18
%5685 = sext i16 %5684 to i32
%5686 = icmp eq i32 %5685, 0
br i1 %5686, label %5687, label %5688
5687: ; preds = %5681
br label %5692
5688: ; preds = %5681
%5689 = load i16, i16* %18
%5690 = sext i16 %5689 to i32
%5691 = sub nsw i32 25, %5690
br label %5692
5692: ; preds = %5688, %5687
%5693 = phi i32 [ 0, %5687 ], [ %5691, %5688 ]
%5694 = trunc i32 %5693 to i16
store i16 %5694, i16* %17
%5695 = load i16, i16* %10
%5696 = sext i16 %5695 to i32
%5697 = load i16, i16* %11
%5698 = sext i16 %5697 to i32
%5699 = load i16, i16* %12
%5700 = sext i16 %5699 to i32
%5701 = load i16, i16* %13
%5702 = sext i16 %5701 to i32
%5703 = load i16, i16* %14
%5704 = sext i16 %5703 to i32
%5705 = load i16, i16* %15
%5706 = sext i16 %5705 to i32
%5707 = load i16, i16* %16
%5708 = sext i16 %5707 to i32
%5709 = load i16, i16* %17
%5710 = sext i16 %5709 to i32
%5711 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5696, i32 %5698, i32 %5700, i32 %5702, i32 %5704, i32 %5706, i32 %5708, i32 %5710)
%5712 = icmp sle i32 0, %5711
br i1 %5712, label %5713, label %5715
5713: ; preds = %5692
%5714 = load i16, i16* %21
store i16 %5714, i16* %9
br label %18762
5715: ; preds = %5692
%5716 = load i16, i16* %10
store i16 %5716, i16* %18
%5717 = load i16, i16* %14
%5718 = sext i16 %5717 to i32
%5719 = icmp eq i32 %5718, 0
br i1 %5719, label %5720, label %5721
5720: ; preds = %5715
br label %5725
5721: ; preds = %5715
%5722 = load i16, i16* %14
%5723 = sext i16 %5722 to i32
%5724 = sub nsw i32 25, %5723
br label %5725
5725: ; preds = %5721, %5720
%5726 = phi i32 [ 0, %5720 ], [ %5724, %5721 ]
%5727 = trunc i32 %5726 to i16
store i16 %5727, i16* %10
%5728 = load i16, i16* %18
%5729 = sext i16 %5728 to i32
%5730 = icmp eq i32 %5729, 0
br i1 %5730, label %5731, label %5732
5731: ; preds = %5725
br label %5736
5732: ; preds = %5725
%5733 = load i16, i16* %18
%5734 = sext i16 %5733 to i32
%5735 = sub nsw i32 25, %5734
br label %5736
5736: ; preds = %5732, %5731
%5737 = phi i32 [ 0, %5731 ], [ %5735, %5732 ]
%5738 = trunc i32 %5737 to i16
store i16 %5738, i16* %14
%5739 = load i16, i16* %11
store i16 %5739, i16* %18
%5740 = load i16, i16* %15
%5741 = sext i16 %5740 to i32
%5742 = icmp eq i32 %5741, 0
br i1 %5742, label %5743, label %5744
5743: ; preds = %5736
br label %5748
5744: ; preds = %5736
%5745 = load i16, i16* %15
%5746 = sext i16 %5745 to i32
%5747 = sub nsw i32 25, %5746
br label %5748
5748: ; preds = %5744, %5743
%5749 = phi i32 [ 0, %5743 ], [ %5747, %5744 ]
%5750 = trunc i32 %5749 to i16
store i16 %5750, i16* %11
%5751 = load i16, i16* %18
%5752 = sext i16 %5751 to i32
%5753 = icmp eq i32 %5752, 0
br i1 %5753, label %5754, label %5755
5754: ; preds = %5748
br label %5759
5755: ; preds = %5748
%5756 = load i16, i16* %18
%5757 = sext i16 %5756 to i32
%5758 = sub nsw i32 25, %5757
br label %5759
5759: ; preds = %5755, %5754
%5760 = phi i32 [ 0, %5754 ], [ %5758, %5755 ]
%5761 = trunc i32 %5760 to i16
store i16 %5761, i16* %15
%5762 = load i16, i16* %12
store i16 %5762, i16* %18
%5763 = load i16, i16* %16
%5764 = sext i16 %5763 to i32
%5765 = icmp eq i32 %5764, 0
br i1 %5765, label %5766, label %5767
5766: ; preds = %5759
br label %5771
5767: ; preds = %5759
%5768 = load i16, i16* %16
%5769 = sext i16 %5768 to i32
%5770 = sub nsw i32 25, %5769
br label %5771
5771: ; preds = %5767, %5766
%5772 = phi i32 [ 0, %5766 ], [ %5770, %5767 ]
%5773 = trunc i32 %5772 to i16
store i16 %5773, i16* %12
%5774 = load i16, i16* %18
%5775 = sext i16 %5774 to i32
%5776 = icmp eq i32 %5775, 0
br i1 %5776, label %5777, label %5778
5777: ; preds = %5771
br label %5782
5778: ; preds = %5771
%5779 = load i16, i16* %18
%5780 = sext i16 %5779 to i32
%5781 = sub nsw i32 25, %5780
br label %5782
5782: ; preds = %5778, %5777
%5783 = phi i32 [ 0, %5777 ], [ %5781, %5778 ]
%5784 = trunc i32 %5783 to i16
store i16 %5784, i16* %16
%5785 = load i16, i16* %13
store i16 %5785, i16* %18
%5786 = load i16, i16* %17
%5787 = sext i16 %5786 to i32
%5788 = icmp eq i32 %5787, 0
br i1 %5788, label %5789, label %5790
5789: ; preds = %5782
br label %5794
5790: ; preds = %5782
%5791 = load i16, i16* %17
%5792 = sext i16 %5791 to i32
%5793 = sub nsw i32 25, %5792
br label %5794
5794: ; preds = %5790, %5789
%5795 = phi i32 [ 0, %5789 ], [ %5793, %5790 ]
%5796 = trunc i32 %5795 to i16
store i16 %5796, i16* %13
%5797 = load i16, i16* %18
%5798 = sext i16 %5797 to i32
%5799 = icmp eq i32 %5798, 0
br i1 %5799, label %5800, label %5801
5800: ; preds = %5794
br label %5805
5801: ; preds = %5794
%5802 = load i16, i16* %18
%5803 = sext i16 %5802 to i32
%5804 = sub nsw i32 25, %5803
br label %5805
5805: ; preds = %5801, %5800
%5806 = phi i32 [ 0, %5800 ], [ %5804, %5801 ]
%5807 = trunc i32 %5806 to i16
store i16 %5807, i16* %17
%5808 = load i16, i16* %20
store i16 %5808, i16* %14
br label %6229
5809: ; preds = %5595
%5810 = load i16, i16* %20
%5811 = sext i16 %5810 to i32
%5812 = load i16, i16* %17
%5813 = sext i16 %5812 to i32
%5814 = icmp eq i32 %5811, %5813
br i1 %5814, label %5815, label %6022
5815: ; preds = %5809
store i16 0, i16* %17
%5816 = load i16, i16* %10
store i16 %5816, i16* %18
%5817 = load i16, i16* %14
%5818 = sext i16 %5817 to i32
%5819 = icmp eq i32 %5818, 0
br i1 %5819, label %5820, label %5821
5820: ; preds = %5815
br label %5825
5821: ; preds = %5815
%5822 = load i16, i16* %14
%5823 = sext i16 %5822 to i32
%5824 = sub nsw i32 25, %5823
br label %5825
5825: ; preds = %5821, %5820
%5826 = phi i32 [ 0, %5820 ], [ %5824, %5821 ]
%5827 = trunc i32 %5826 to i16
store i16 %5827, i16* %10
%5828 = load i16, i16* %18
%5829 = sext i16 %5828 to i32
%5830 = icmp eq i32 %5829, 0
br i1 %5830, label %5831, label %5832
5831: ; preds = %5825
br label %5836
5832: ; preds = %5825
%5833 = load i16, i16* %18
%5834 = sext i16 %5833 to i32
%5835 = sub nsw i32 25, %5834
br label %5836
5836: ; preds = %5832, %5831
%5837 = phi i32 [ 0, %5831 ], [ %5835, %5832 ]
%5838 = trunc i32 %5837 to i16
store i16 %5838, i16* %14
%5839 = load i16, i16* %11
store i16 %5839, i16* %18
%5840 = load i16, i16* %15
%5841 = sext i16 %5840 to i32
%5842 = icmp eq i32 %5841, 0
br i1 %5842, label %5843, label %5844
5843: ; preds = %5836
br label %5848
5844: ; preds = %5836
%5845 = load i16, i16* %15
%5846 = sext i16 %5845 to i32
%5847 = sub nsw i32 25, %5846
br label %5848
5848: ; preds = %5844, %5843
%5849 = phi i32 [ 0, %5843 ], [ %5847, %5844 ]
%5850 = trunc i32 %5849 to i16
store i16 %5850, i16* %11
%5851 = load i16, i16* %18
%5852 = sext i16 %5851 to i32
%5853 = icmp eq i32 %5852, 0
br i1 %5853, label %5854, label %5855
5854: ; preds = %5848
br label %5859
5855: ; preds = %5848
%5856 = load i16, i16* %18
%5857 = sext i16 %5856 to i32
%5858 = sub nsw i32 25, %5857
br label %5859
5859: ; preds = %5855, %5854
%5860 = phi i32 [ 0, %5854 ], [ %5858, %5855 ]
%5861 = trunc i32 %5860 to i16
store i16 %5861, i16* %15
%5862 = load i16, i16* %12
store i16 %5862, i16* %18
%5863 = load i16, i16* %16
%5864 = sext i16 %5863 to i32
%5865 = icmp eq i32 %5864, 0
br i1 %5865, label %5866, label %5867
5866: ; preds = %5859
br label %5871
5867: ; preds = %5859
%5868 = load i16, i16* %16
%5869 = sext i16 %5868 to i32
%5870 = sub nsw i32 25, %5869
br label %5871
5871: ; preds = %5867, %5866
%5872 = phi i32 [ 0, %5866 ], [ %5870, %5867 ]
%5873 = trunc i32 %5872 to i16
store i16 %5873, i16* %12
%5874 = load i16, i16* %18
%5875 = sext i16 %5874 to i32
%5876 = icmp eq i32 %5875, 0
br i1 %5876, label %5877, label %5878
5877: ; preds = %5871
br label %5882
5878: ; preds = %5871
%5879 = load i16, i16* %18
%5880 = sext i16 %5879 to i32
%5881 = sub nsw i32 25, %5880
br label %5882
5882: ; preds = %5878, %5877
%5883 = phi i32 [ 0, %5877 ], [ %5881, %5878 ]
%5884 = trunc i32 %5883 to i16
store i16 %5884, i16* %16
%5885 = load i16, i16* %13
store i16 %5885, i16* %18
%5886 = load i16, i16* %17
%5887 = sext i16 %5886 to i32
%5888 = icmp eq i32 %5887, 0
br i1 %5888, label %5889, label %5890
5889: ; preds = %5882
br label %5894
5890: ; preds = %5882
%5891 = load i16, i16* %17
%5892 = sext i16 %5891 to i32
%5893 = sub nsw i32 25, %5892
br label %5894
5894: ; preds = %5890, %5889
%5895 = phi i32 [ 0, %5889 ], [ %5893, %5890 ]
%5896 = trunc i32 %5895 to i16
store i16 %5896, i16* %13
%5897 = load i16, i16* %18
%5898 = sext i16 %5897 to i32
%5899 = icmp eq i32 %5898, 0
br i1 %5899, label %5900, label %5901
5900: ; preds = %5894
br label %5905
5901: ; preds = %5894
%5902 = load i16, i16* %18
%5903 = sext i16 %5902 to i32
%5904 = sub nsw i32 25, %5903
br label %5905
5905: ; preds = %5901, %5900
%5906 = phi i32 [ 0, %5900 ], [ %5904, %5901 ]
%5907 = trunc i32 %5906 to i16
store i16 %5907, i16* %17
%5908 = load i16, i16* %10
%5909 = sext i16 %5908 to i32
%5910 = load i16, i16* %11
%5911 = sext i16 %5910 to i32
%5912 = load i16, i16* %12
%5913 = sext i16 %5912 to i32
%5914 = load i16, i16* %13
%5915 = sext i16 %5914 to i32
%5916 = load i16, i16* %14
%5917 = sext i16 %5916 to i32
%5918 = load i16, i16* %15
%5919 = sext i16 %5918 to i32
%5920 = load i16, i16* %16
%5921 = sext i16 %5920 to i32
%5922 = load i16, i16* %17
%5923 = sext i16 %5922 to i32
%5924 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5909, i32 %5911, i32 %5913, i32 %5915, i32 %5917, i32 %5919, i32 %5921, i32 %5923)
%5925 = icmp sle i32 0, %5924
br i1 %5925, label %5926, label %5928
5926: ; preds = %5905
%5927 = load i16, i16* %21
store i16 %5927, i16* %9
br label %18762
5928: ; preds = %5905
%5929 = load i16, i16* %10
store i16 %5929, i16* %18
%5930 = load i16, i16* %14
%5931 = sext i16 %5930 to i32
%5932 = icmp eq i32 %5931, 0
br i1 %5932, label %5933, label %5934
5933: ; preds = %5928
br label %5938
5934: ; preds = %5928
%5935 = load i16, i16* %14
%5936 = sext i16 %5935 to i32
%5937 = sub nsw i32 25, %5936
br label %5938
5938: ; preds = %5934, %5933
%5939 = phi i32 [ 0, %5933 ], [ %5937, %5934 ]
%5940 = trunc i32 %5939 to i16
store i16 %5940, i16* %10
%5941 = load i16, i16* %18
%5942 = sext i16 %5941 to i32
%5943 = icmp eq i32 %5942, 0
br i1 %5943, label %5944, label %5945
5944: ; preds = %5938
br label %5949
5945: ; preds = %5938
%5946 = load i16, i16* %18
%5947 = sext i16 %5946 to i32
%5948 = sub nsw i32 25, %5947
br label %5949
5949: ; preds = %5945, %5944
%5950 = phi i32 [ 0, %5944 ], [ %5948, %5945 ]
%5951 = trunc i32 %5950 to i16
store i16 %5951, i16* %14
%5952 = load i16, i16* %11
store i16 %5952, i16* %18
%5953 = load i16, i16* %15
%5954 = sext i16 %5953 to i32
%5955 = icmp eq i32 %5954, 0
br i1 %5955, label %5956, label %5957
5956: ; preds = %5949
br label %5961
5957: ; preds = %5949
%5958 = load i16, i16* %15
%5959 = sext i16 %5958 to i32
%5960 = sub nsw i32 25, %5959
br label %5961
5961: ; preds = %5957, %5956
%5962 = phi i32 [ 0, %5956 ], [ %5960, %5957 ]
%5963 = trunc i32 %5962 to i16
store i16 %5963, i16* %11
%5964 = load i16, i16* %18
%5965 = sext i16 %5964 to i32
%5966 = icmp eq i32 %5965, 0
br i1 %5966, label %5967, label %5968
5967: ; preds = %5961
br label %5972
5968: ; preds = %5961
%5969 = load i16, i16* %18
%5970 = sext i16 %5969 to i32
%5971 = sub nsw i32 25, %5970
br label %5972
5972: ; preds = %5968, %5967
%5973 = phi i32 [ 0, %5967 ], [ %5971, %5968 ]
%5974 = trunc i32 %5973 to i16
store i16 %5974, i16* %15
%5975 = load i16, i16* %12
store i16 %5975, i16* %18
%5976 = load i16, i16* %16
%5977 = sext i16 %5976 to i32
%5978 = icmp eq i32 %5977, 0
br i1 %5978, label %5979, label %5980
5979: ; preds = %5972
br label %5984
5980: ; preds = %5972
%5981 = load i16, i16* %16
%5982 = sext i16 %5981 to i32
%5983 = sub nsw i32 25, %5982
br label %5984
5984: ; preds = %5980, %5979
%5985 = phi i32 [ 0, %5979 ], [ %5983, %5980 ]
%5986 = trunc i32 %5985 to i16
store i16 %5986, i16* %12
%5987 = load i16, i16* %18
%5988 = sext i16 %5987 to i32
%5989 = icmp eq i32 %5988, 0
br i1 %5989, label %5990, label %5991
5990: ; preds = %5984
br label %5995
5991: ; preds = %5984
%5992 = load i16, i16* %18
%5993 = sext i16 %5992 to i32
%5994 = sub nsw i32 25, %5993
br label %5995
5995: ; preds = %5991, %5990
%5996 = phi i32 [ 0, %5990 ], [ %5994, %5991 ]
%5997 = trunc i32 %5996 to i16
store i16 %5997, i16* %16
%5998 = load i16, i16* %13
store i16 %5998, i16* %18
%5999 = load i16, i16* %17
%6000 = sext i16 %5999 to i32
%6001 = icmp eq i32 %6000, 0
br i1 %6001, label %6002, label %6003
6002: ; preds = %5995
br label %6007
6003: ; preds = %5995
%6004 = load i16, i16* %17
%6005 = sext i16 %6004 to i32
%6006 = sub nsw i32 25, %6005
br label %6007
6007: ; preds = %6003, %6002
%6008 = phi i32 [ 0, %6002 ], [ %6006, %6003 ]
%6009 = trunc i32 %6008 to i16
store i16 %6009, i16* %13
%6010 = load i16, i16* %18
%6011 = sext i16 %6010 to i32
%6012 = icmp eq i32 %6011, 0
br i1 %6012, label %6013, label %6014
6013: ; preds = %6007
br label %6018
6014: ; preds = %6007
%6015 = load i16, i16* %18
%6016 = sext i16 %6015 to i32
%6017 = sub nsw i32 25, %6016
br label %6018
6018: ; preds = %6014, %6013
%6019 = phi i32 [ 0, %6013 ], [ %6017, %6014 ]
%6020 = trunc i32 %6019 to i16
store i16 %6020, i16* %17
%6021 = load i16, i16* %20
store i16 %6021, i16* %17
br label %6228
6022: ; preds = %5809
%6023 = load i16, i16* %10
store i16 %6023, i16* %18
%6024 = load i16, i16* %14
%6025 = sext i16 %6024 to i32
%6026 = icmp eq i32 %6025, 0
br i1 %6026, label %6027, label %6028
6027: ; preds = %6022
br label %6032
6028: ; preds = %6022
%6029 = load i16, i16* %14
%6030 = sext i16 %6029 to i32
%6031 = sub nsw i32 25, %6030
br label %6032
6032: ; preds = %6028, %6027
%6033 = phi i32 [ 0, %6027 ], [ %6031, %6028 ]
%6034 = trunc i32 %6033 to i16
store i16 %6034, i16* %10
%6035 = load i16, i16* %18
%6036 = sext i16 %6035 to i32
%6037 = icmp eq i32 %6036, 0
br i1 %6037, label %6038, label %6039
6038: ; preds = %6032
br label %6043
6039: ; preds = %6032
%6040 = load i16, i16* %18
%6041 = sext i16 %6040 to i32
%6042 = sub nsw i32 25, %6041
br label %6043
6043: ; preds = %6039, %6038
%6044 = phi i32 [ 0, %6038 ], [ %6042, %6039 ]
%6045 = trunc i32 %6044 to i16
store i16 %6045, i16* %14
%6046 = load i16, i16* %11
store i16 %6046, i16* %18
%6047 = load i16, i16* %15
%6048 = sext i16 %6047 to i32
%6049 = icmp eq i32 %6048, 0
br i1 %6049, label %6050, label %6051
6050: ; preds = %6043
br label %6055
6051: ; preds = %6043
%6052 = load i16, i16* %15
%6053 = sext i16 %6052 to i32
%6054 = sub nsw i32 25, %6053
br label %6055
6055: ; preds = %6051, %6050
%6056 = phi i32 [ 0, %6050 ], [ %6054, %6051 ]
%6057 = trunc i32 %6056 to i16
store i16 %6057, i16* %11
%6058 = load i16, i16* %18
%6059 = sext i16 %6058 to i32
%6060 = icmp eq i32 %6059, 0
br i1 %6060, label %6061, label %6062
6061: ; preds = %6055
br label %6066
6062: ; preds = %6055
%6063 = load i16, i16* %18
%6064 = sext i16 %6063 to i32
%6065 = sub nsw i32 25, %6064
br label %6066
6066: ; preds = %6062, %6061
%6067 = phi i32 [ 0, %6061 ], [ %6065, %6062 ]
%6068 = trunc i32 %6067 to i16
store i16 %6068, i16* %15
%6069 = load i16, i16* %12
store i16 %6069, i16* %18
%6070 = load i16, i16* %16
%6071 = sext i16 %6070 to i32
%6072 = icmp eq i32 %6071, 0
br i1 %6072, label %6073, label %6074
6073: ; preds = %6066
br label %6078
6074: ; preds = %6066
%6075 = load i16, i16* %16
%6076 = sext i16 %6075 to i32
%6077 = sub nsw i32 25, %6076
br label %6078
6078: ; preds = %6074, %6073
%6079 = phi i32 [ 0, %6073 ], [ %6077, %6074 ]
%6080 = trunc i32 %6079 to i16
store i16 %6080, i16* %12
%6081 = load i16, i16* %18
%6082 = sext i16 %6081 to i32
%6083 = icmp eq i32 %6082, 0
br i1 %6083, label %6084, label %6085
6084: ; preds = %6078
br label %6089
6085: ; preds = %6078
%6086 = load i16, i16* %18
%6087 = sext i16 %6086 to i32
%6088 = sub nsw i32 25, %6087
br label %6089
6089: ; preds = %6085, %6084
%6090 = phi i32 [ 0, %6084 ], [ %6088, %6085 ]
%6091 = trunc i32 %6090 to i16
store i16 %6091, i16* %16
%6092 = load i16, i16* %13
store i16 %6092, i16* %18
%6093 = load i16, i16* %17
%6094 = sext i16 %6093 to i32
%6095 = icmp eq i32 %6094, 0
br i1 %6095, label %6096, label %6097
6096: ; preds = %6089
br label %6101
6097: ; preds = %6089
%6098 = load i16, i16* %17
%6099 = sext i16 %6098 to i32
%6100 = sub nsw i32 25, %6099
br label %6101
6101: ; preds = %6097, %6096
%6102 = phi i32 [ 0, %6096 ], [ %6100, %6097 ]
%6103 = trunc i32 %6102 to i16
store i16 %6103, i16* %13
%6104 = load i16, i16* %18
%6105 = sext i16 %6104 to i32
%6106 = icmp eq i32 %6105, 0
br i1 %6106, label %6107, label %6108
6107: ; preds = %6101
br label %6112
6108: ; preds = %6101
%6109 = load i16, i16* %18
%6110 = sext i16 %6109 to i32
%6111 = sub nsw i32 25, %6110
br label %6112
6112: ; preds = %6108, %6107
%6113 = phi i32 [ 0, %6107 ], [ %6111, %6108 ]
%6114 = trunc i32 %6113 to i16
store i16 %6114, i16* %17
%6115 = load i16, i16* %10
%6116 = sext i16 %6115 to i32
%6117 = load i16, i16* %11
%6118 = sext i16 %6117 to i32
%6119 = load i16, i16* %12
%6120 = sext i16 %6119 to i32
%6121 = load i16, i16* %13
%6122 = sext i16 %6121 to i32
%6123 = load i16, i16* %14
%6124 = sext i16 %6123 to i32
%6125 = load i16, i16* %15
%6126 = sext i16 %6125 to i32
%6127 = load i16, i16* %16
%6128 = sext i16 %6127 to i32
%6129 = load i16, i16* %17
%6130 = sext i16 %6129 to i32
%6131 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6116, i32 %6118, i32 %6120, i32 %6122, i32 %6124, i32 %6126, i32 %6128, i32 %6130)
%6132 = icmp sle i32 0, %6131
br i1 %6132, label %6133, label %6135
6133: ; preds = %6112
%6134 = load i16, i16* %21
store i16 %6134, i16* %9
br label %18762
6135: ; preds = %6112
%6136 = load i16, i16* %10
store i16 %6136, i16* %18
%6137 = load i16, i16* %14
%6138 = sext i16 %6137 to i32
%6139 = icmp eq i32 %6138, 0
br i1 %6139, label %6140, label %6141
6140: ; preds = %6135
br label %6145
6141: ; preds = %6135
%6142 = load i16, i16* %14
%6143 = sext i16 %6142 to i32
%6144 = sub nsw i32 25, %6143
br label %6145
6145: ; preds = %6141, %6140
%6146 = phi i32 [ 0, %6140 ], [ %6144, %6141 ]
%6147 = trunc i32 %6146 to i16
store i16 %6147, i16* %10
%6148 = load i16, i16* %18
%6149 = sext i16 %6148 to i32
%6150 = icmp eq i32 %6149, 0
br i1 %6150, label %6151, label %6152
6151: ; preds = %6145
br label %6156
6152: ; preds = %6145
%6153 = load i16, i16* %18
%6154 = sext i16 %6153 to i32
%6155 = sub nsw i32 25, %6154
br label %6156
6156: ; preds = %6152, %6151
%6157 = phi i32 [ 0, %6151 ], [ %6155, %6152 ]
%6158 = trunc i32 %6157 to i16
store i16 %6158, i16* %14
%6159 = load i16, i16* %11
store i16 %6159, i16* %18
%6160 = load i16, i16* %15
%6161 = sext i16 %6160 to i32
%6162 = icmp eq i32 %6161, 0
br i1 %6162, label %6163, label %6164
6163: ; preds = %6156
br label %6168
6164: ; preds = %6156
%6165 = load i16, i16* %15
%6166 = sext i16 %6165 to i32
%6167 = sub nsw i32 25, %6166
br label %6168
6168: ; preds = %6164, %6163
%6169 = phi i32 [ 0, %6163 ], [ %6167, %6164 ]
%6170 = trunc i32 %6169 to i16
store i16 %6170, i16* %11
%6171 = load i16, i16* %18
%6172 = sext i16 %6171 to i32
%6173 = icmp eq i32 %6172, 0
br i1 %6173, label %6174, label %6175
6174: ; preds = %6168
br label %6179
6175: ; preds = %6168
%6176 = load i16, i16* %18
%6177 = sext i16 %6176 to i32
%6178 = sub nsw i32 25, %6177
br label %6179
6179: ; preds = %6175, %6174
%6180 = phi i32 [ 0, %6174 ], [ %6178, %6175 ]
%6181 = trunc i32 %6180 to i16
store i16 %6181, i16* %15
%6182 = load i16, i16* %12
store i16 %6182, i16* %18
%6183 = load i16, i16* %16
%6184 = sext i16 %6183 to i32
%6185 = icmp eq i32 %6184, 0
br i1 %6185, label %6186, label %6187
6186: ; preds = %6179
br label %6191
6187: ; preds = %6179
%6188 = load i16, i16* %16
%6189 = sext i16 %6188 to i32
%6190 = sub nsw i32 25, %6189
br label %6191
6191: ; preds = %6187, %6186
%6192 = phi i32 [ 0, %6186 ], [ %6190, %6187 ]
%6193 = trunc i32 %6192 to i16
store i16 %6193, i16* %12
%6194 = load i16, i16* %18
%6195 = sext i16 %6194 to i32
%6196 = icmp eq i32 %6195, 0
br i1 %6196, label %6197, label %6198
6197: ; preds = %6191
br label %6202
6198: ; preds = %6191
%6199 = load i16, i16* %18
%6200 = sext i16 %6199 to i32
%6201 = sub nsw i32 25, %6200
br label %6202
6202: ; preds = %6198, %6197
%6203 = phi i32 [ 0, %6197 ], [ %6201, %6198 ]
%6204 = trunc i32 %6203 to i16
store i16 %6204, i16* %16
%6205 = load i16, i16* %13
store i16 %6205, i16* %18
%6206 = load i16, i16* %17
%6207 = sext i16 %6206 to i32
%6208 = icmp eq i32 %6207, 0
br i1 %6208, label %6209, label %6210
6209: ; preds = %6202
br label %6214
6210: ; preds = %6202
%6211 = load i16, i16* %17
%6212 = sext i16 %6211 to i32
%6213 = sub nsw i32 25, %6212
br label %6214
6214: ; preds = %6210, %6209
%6215 = phi i32 [ 0, %6209 ], [ %6213, %6210 ]
%6216 = trunc i32 %6215 to i16
store i16 %6216, i16* %13
%6217 = load i16, i16* %18
%6218 = sext i16 %6217 to i32
%6219 = icmp eq i32 %6218, 0
br i1 %6219, label %6220, label %6221
6220: ; preds = %6214
br label %6225
6221: ; preds = %6214
%6222 = load i16, i16* %18
%6223 = sext i16 %6222 to i32
%6224 = sub nsw i32 25, %6223
br label %6225
6225: ; preds = %6221, %6220
%6226 = phi i32 [ 0, %6220 ], [ %6224, %6221 ]
%6227 = trunc i32 %6226 to i16
store i16 %6227, i16* %17
br label %6228
6228: ; preds = %6225, %6018
br label %6229
6229: ; preds = %6228, %5805
%6230 = load i16, i16* %19
store i16 %6230, i16* %11
br label %6231
6231: ; preds = %6229, %5589, %5583, %5577, %5571, %5560
br label %6232
6232: ; preds = %6231, %5556, %5552
br label %18749
6233: ; preds = %5548
%6234 = load i16, i16* %21
%6235 = sext i16 %6234 to i32
%6236 = icmp eq i32 %6235, 9
br i1 %6236, label %6237, label %6923
6237: ; preds = %6233
%6238 = load i16, i16* %11
%6239 = sext i16 %6238 to i32
%6240 = icmp ne i32 %6239, 0
br i1 %6240, label %6241, label %6922
6241: ; preds = %6237
%6242 = load i16, i16* %11
%6243 = sext i16 %6242 to i32
%6244 = icmp slt i32 %6243, 21
br i1 %6244, label %6245, label %6922
6245: ; preds = %6241
%6246 = load i16, i16* %11
%6247 = sext i16 %6246 to i32
%6248 = srem i32 %6247, 4
%6249 = icmp ne i32 %6248, 0
br i1 %6249, label %6250, label %6922
6250: ; preds = %6245
%6251 = load i16, i16* %11
store i16 %6251, i16* %19
%6252 = load i16, i16* %19
%6253 = sext i16 %6252 to i32
%6254 = add nsw i32 %6253, 5
%6255 = trunc i32 %6254 to i16
store i16 %6255, i16* %20
%6256 = load i16, i16* %20
%6257 = sext i16 %6256 to i32
%6258 = load i16, i16* %10
%6259 = sext i16 %6258 to i32
%6260 = icmp ne i32 %6257, %6259
br i1 %6260, label %6261, label %6921
6261: ; preds = %6250
%6262 = load i16, i16* %20
%6263 = sext i16 %6262 to i32
%6264 = load i16, i16* %12
%6265 = sext i16 %6264 to i32
%6266 = icmp ne i32 %6263, %6265
br i1 %6266, label %6267, label %6921
6267: ; preds = %6261
%6268 = load i16, i16* %20
%6269 = sext i16 %6268 to i32
%6270 = load i16, i16* %13
%6271 = sext i16 %6270 to i32
%6272 = icmp ne i32 %6269, %6271
br i1 %6272, label %6273, label %6921
6273: ; preds = %6267
%6274 = load i16, i16* %20
%6275 = sext i16 %6274 to i32
%6276 = load i16, i16* %15
%6277 = sext i16 %6276 to i32
%6278 = icmp ne i32 %6275, %6277
br i1 %6278, label %6279, label %6921
6279: ; preds = %6273
%6280 = load i16, i16* %20
%6281 = sext i16 %6280 to i32
%6282 = load i16, i16* %16
%6283 = sext i16 %6282 to i32
%6284 = icmp ne i32 %6281, %6283
br i1 %6284, label %6285, label %6921
6285: ; preds = %6279
%6286 = load i16, i16* %20
store i16 %6286, i16* %11
%6287 = load i16, i16* %14
%6288 = sext i16 %6287 to i32
%6289 = load i16, i16* %20
%6290 = sext i16 %6289 to i32
%6291 = icmp eq i32 %6288, %6290
br i1 %6291, label %6292, label %6499
6292: ; preds = %6285
store i16 0, i16* %14
%6293 = load i16, i16* %10
store i16 %6293, i16* %18
%6294 = load i16, i16* %14
%6295 = sext i16 %6294 to i32
%6296 = icmp eq i32 %6295, 0
br i1 %6296, label %6297, label %6298
6297: ; preds = %6292
br label %6302
6298: ; preds = %6292
%6299 = load i16, i16* %14
%6300 = sext i16 %6299 to i32
%6301 = sub nsw i32 25, %6300
br label %6302
6302: ; preds = %6298, %6297
%6303 = phi i32 [ 0, %6297 ], [ %6301, %6298 ]
%6304 = trunc i32 %6303 to i16
store i16 %6304, i16* %10
%6305 = load i16, i16* %18
%6306 = sext i16 %6305 to i32
%6307 = icmp eq i32 %6306, 0
br i1 %6307, label %6308, label %6309
6308: ; preds = %6302
br label %6313
6309: ; preds = %6302
%6310 = load i16, i16* %18
%6311 = sext i16 %6310 to i32
%6312 = sub nsw i32 25, %6311
br label %6313
6313: ; preds = %6309, %6308
%6314 = phi i32 [ 0, %6308 ], [ %6312, %6309 ]
%6315 = trunc i32 %6314 to i16
store i16 %6315, i16* %14
%6316 = load i16, i16* %11
store i16 %6316, i16* %18
%6317 = load i16, i16* %15
%6318 = sext i16 %6317 to i32
%6319 = icmp eq i32 %6318, 0
br i1 %6319, label %6320, label %6321
6320: ; preds = %6313
br label %6325
6321: ; preds = %6313
%6322 = load i16, i16* %15
%6323 = sext i16 %6322 to i32
%6324 = sub nsw i32 25, %6323
br label %6325
6325: ; preds = %6321, %6320
%6326 = phi i32 [ 0, %6320 ], [ %6324, %6321 ]
%6327 = trunc i32 %6326 to i16
store i16 %6327, i16* %11
%6328 = load i16, i16* %18
%6329 = sext i16 %6328 to i32
%6330 = icmp eq i32 %6329, 0
br i1 %6330, label %6331, label %6332
6331: ; preds = %6325
br label %6336
6332: ; preds = %6325
%6333 = load i16, i16* %18
%6334 = sext i16 %6333 to i32
%6335 = sub nsw i32 25, %6334
br label %6336
6336: ; preds = %6332, %6331
%6337 = phi i32 [ 0, %6331 ], [ %6335, %6332 ]
%6338 = trunc i32 %6337 to i16
store i16 %6338, i16* %15
%6339 = load i16, i16* %12
store i16 %6339, i16* %18
%6340 = load i16, i16* %16
%6341 = sext i16 %6340 to i32
%6342 = icmp eq i32 %6341, 0
br i1 %6342, label %6343, label %6344
6343: ; preds = %6336
br label %6348
6344: ; preds = %6336
%6345 = load i16, i16* %16
%6346 = sext i16 %6345 to i32
%6347 = sub nsw i32 25, %6346
br label %6348
6348: ; preds = %6344, %6343
%6349 = phi i32 [ 0, %6343 ], [ %6347, %6344 ]
%6350 = trunc i32 %6349 to i16
store i16 %6350, i16* %12
%6351 = load i16, i16* %18
%6352 = sext i16 %6351 to i32
%6353 = icmp eq i32 %6352, 0
br i1 %6353, label %6354, label %6355
6354: ; preds = %6348
br label %6359
6355: ; preds = %6348
%6356 = load i16, i16* %18
%6357 = sext i16 %6356 to i32
%6358 = sub nsw i32 25, %6357
br label %6359
6359: ; preds = %6355, %6354
%6360 = phi i32 [ 0, %6354 ], [ %6358, %6355 ]
%6361 = trunc i32 %6360 to i16
store i16 %6361, i16* %16
%6362 = load i16, i16* %13
store i16 %6362, i16* %18
%6363 = load i16, i16* %17
%6364 = sext i16 %6363 to i32
%6365 = icmp eq i32 %6364, 0
br i1 %6365, label %6366, label %6367
6366: ; preds = %6359
br label %6371
6367: ; preds = %6359
%6368 = load i16, i16* %17
%6369 = sext i16 %6368 to i32
%6370 = sub nsw i32 25, %6369
br label %6371
6371: ; preds = %6367, %6366
%6372 = phi i32 [ 0, %6366 ], [ %6370, %6367 ]
%6373 = trunc i32 %6372 to i16
store i16 %6373, i16* %13
%6374 = load i16, i16* %18
%6375 = sext i16 %6374 to i32
%6376 = icmp eq i32 %6375, 0
br i1 %6376, label %6377, label %6378
6377: ; preds = %6371
br label %6382
6378: ; preds = %6371
%6379 = load i16, i16* %18
%6380 = sext i16 %6379 to i32
%6381 = sub nsw i32 25, %6380
br label %6382
6382: ; preds = %6378, %6377
%6383 = phi i32 [ 0, %6377 ], [ %6381, %6378 ]
%6384 = trunc i32 %6383 to i16
store i16 %6384, i16* %17
%6385 = load i16, i16* %10
%6386 = sext i16 %6385 to i32
%6387 = load i16, i16* %11
%6388 = sext i16 %6387 to i32
%6389 = load i16, i16* %12
%6390 = sext i16 %6389 to i32
%6391 = load i16, i16* %13
%6392 = sext i16 %6391 to i32
%6393 = load i16, i16* %14
%6394 = sext i16 %6393 to i32
%6395 = load i16, i16* %15
%6396 = sext i16 %6395 to i32
%6397 = load i16, i16* %16
%6398 = sext i16 %6397 to i32
%6399 = load i16, i16* %17
%6400 = sext i16 %6399 to i32
%6401 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6386, i32 %6388, i32 %6390, i32 %6392, i32 %6394, i32 %6396, i32 %6398, i32 %6400)
%6402 = icmp sle i32 0, %6401
br i1 %6402, label %6403, label %6405
6403: ; preds = %6382
%6404 = load i16, i16* %21
store i16 %6404, i16* %9
br label %18762
6405: ; preds = %6382
%6406 = load i16, i16* %10
store i16 %6406, i16* %18
%6407 = load i16, i16* %14
%6408 = sext i16 %6407 to i32
%6409 = icmp eq i32 %6408, 0
br i1 %6409, label %6410, label %6411
6410: ; preds = %6405
br label %6415
6411: ; preds = %6405
%6412 = load i16, i16* %14
%6413 = sext i16 %6412 to i32
%6414 = sub nsw i32 25, %6413
br label %6415
6415: ; preds = %6411, %6410
%6416 = phi i32 [ 0, %6410 ], [ %6414, %6411 ]
%6417 = trunc i32 %6416 to i16
store i16 %6417, i16* %10
%6418 = load i16, i16* %18
%6419 = sext i16 %6418 to i32
%6420 = icmp eq i32 %6419, 0
br i1 %6420, label %6421, label %6422
6421: ; preds = %6415
br label %6426
6422: ; preds = %6415
%6423 = load i16, i16* %18
%6424 = sext i16 %6423 to i32
%6425 = sub nsw i32 25, %6424
br label %6426
6426: ; preds = %6422, %6421
%6427 = phi i32 [ 0, %6421 ], [ %6425, %6422 ]
%6428 = trunc i32 %6427 to i16
store i16 %6428, i16* %14
%6429 = load i16, i16* %11
store i16 %6429, i16* %18
%6430 = load i16, i16* %15
%6431 = sext i16 %6430 to i32
%6432 = icmp eq i32 %6431, 0
br i1 %6432, label %6433, label %6434
6433: ; preds = %6426
br label %6438
6434: ; preds = %6426
%6435 = load i16, i16* %15
%6436 = sext i16 %6435 to i32
%6437 = sub nsw i32 25, %6436
br label %6438
6438: ; preds = %6434, %6433
%6439 = phi i32 [ 0, %6433 ], [ %6437, %6434 ]
%6440 = trunc i32 %6439 to i16
store i16 %6440, i16* %11
%6441 = load i16, i16* %18
%6442 = sext i16 %6441 to i32
%6443 = icmp eq i32 %6442, 0
br i1 %6443, label %6444, label %6445
6444: ; preds = %6438
br label %6449
6445: ; preds = %6438
%6446 = load i16, i16* %18
%6447 = sext i16 %6446 to i32
%6448 = sub nsw i32 25, %6447
br label %6449
6449: ; preds = %6445, %6444
%6450 = phi i32 [ 0, %6444 ], [ %6448, %6445 ]
%6451 = trunc i32 %6450 to i16
store i16 %6451, i16* %15
%6452 = load i16, i16* %12
store i16 %6452, i16* %18
%6453 = load i16, i16* %16
%6454 = sext i16 %6453 to i32
%6455 = icmp eq i32 %6454, 0
br i1 %6455, label %6456, label %6457
6456: ; preds = %6449
br label %6461
6457: ; preds = %6449
%6458 = load i16, i16* %16
%6459 = sext i16 %6458 to i32
%6460 = sub nsw i32 25, %6459
br label %6461
6461: ; preds = %6457, %6456
%6462 = phi i32 [ 0, %6456 ], [ %6460, %6457 ]
%6463 = trunc i32 %6462 to i16
store i16 %6463, i16* %12
%6464 = load i16, i16* %18
%6465 = sext i16 %6464 to i32
%6466 = icmp eq i32 %6465, 0
br i1 %6466, label %6467, label %6468
6467: ; preds = %6461
br label %6472
6468: ; preds = %6461
%6469 = load i16, i16* %18
%6470 = sext i16 %6469 to i32
%6471 = sub nsw i32 25, %6470
br label %6472
6472: ; preds = %6468, %6467
%6473 = phi i32 [ 0, %6467 ], [ %6471, %6468 ]
%6474 = trunc i32 %6473 to i16
store i16 %6474, i16* %16
%6475 = load i16, i16* %13
store i16 %6475, i16* %18
%6476 = load i16, i16* %17
%6477 = sext i16 %6476 to i32
%6478 = icmp eq i32 %6477, 0
br i1 %6478, label %6479, label %6480
6479: ; preds = %6472
br label %6484
6480: ; preds = %6472
%6481 = load i16, i16* %17
%6482 = sext i16 %6481 to i32
%6483 = sub nsw i32 25, %6482
br label %6484
6484: ; preds = %6480, %6479
%6485 = phi i32 [ 0, %6479 ], [ %6483, %6480 ]
%6486 = trunc i32 %6485 to i16
store i16 %6486, i16* %13
%6487 = load i16, i16* %18
%6488 = sext i16 %6487 to i32
%6489 = icmp eq i32 %6488, 0
br i1 %6489, label %6490, label %6491
6490: ; preds = %6484
br label %6495
6491: ; preds = %6484
%6492 = load i16, i16* %18
%6493 = sext i16 %6492 to i32
%6494 = sub nsw i32 25, %6493
br label %6495
6495: ; preds = %6491, %6490
%6496 = phi i32 [ 0, %6490 ], [ %6494, %6491 ]
%6497 = trunc i32 %6496 to i16
store i16 %6497, i16* %17
%6498 = load i16, i16* %20
store i16 %6498, i16* %14
br label %6919
6499: ; preds = %6285
%6500 = load i16, i16* %20
%6501 = sext i16 %6500 to i32
%6502 = load i16, i16* %17
%6503 = sext i16 %6502 to i32
%6504 = icmp eq i32 %6501, %6503
br i1 %6504, label %6505, label %6712
6505: ; preds = %6499
store i16 0, i16* %17
%6506 = load i16, i16* %10
store i16 %6506, i16* %18
%6507 = load i16, i16* %14
%6508 = sext i16 %6507 to i32
%6509 = icmp eq i32 %6508, 0
br i1 %6509, label %6510, label %6511
6510: ; preds = %6505
br label %6515
6511: ; preds = %6505
%6512 = load i16, i16* %14
%6513 = sext i16 %6512 to i32
%6514 = sub nsw i32 25, %6513
br label %6515
6515: ; preds = %6511, %6510
%6516 = phi i32 [ 0, %6510 ], [ %6514, %6511 ]
%6517 = trunc i32 %6516 to i16
store i16 %6517, i16* %10
%6518 = load i16, i16* %18
%6519 = sext i16 %6518 to i32
%6520 = icmp eq i32 %6519, 0
br i1 %6520, label %6521, label %6522
6521: ; preds = %6515
br label %6526
6522: ; preds = %6515
%6523 = load i16, i16* %18
%6524 = sext i16 %6523 to i32
%6525 = sub nsw i32 25, %6524
br label %6526
6526: ; preds = %6522, %6521
%6527 = phi i32 [ 0, %6521 ], [ %6525, %6522 ]
%6528 = trunc i32 %6527 to i16
store i16 %6528, i16* %14
%6529 = load i16, i16* %11
store i16 %6529, i16* %18
%6530 = load i16, i16* %15
%6531 = sext i16 %6530 to i32
%6532 = icmp eq i32 %6531, 0
br i1 %6532, label %6533, label %6534
6533: ; preds = %6526
br label %6538
6534: ; preds = %6526
%6535 = load i16, i16* %15
%6536 = sext i16 %6535 to i32
%6537 = sub nsw i32 25, %6536
br label %6538
6538: ; preds = %6534, %6533
%6539 = phi i32 [ 0, %6533 ], [ %6537, %6534 ]
%6540 = trunc i32 %6539 to i16
store i16 %6540, i16* %11
%6541 = load i16, i16* %18
%6542 = sext i16 %6541 to i32
%6543 = icmp eq i32 %6542, 0
br i1 %6543, label %6544, label %6545
6544: ; preds = %6538
br label %6549
6545: ; preds = %6538
%6546 = load i16, i16* %18
%6547 = sext i16 %6546 to i32
%6548 = sub nsw i32 25, %6547
br label %6549
6549: ; preds = %6545, %6544
%6550 = phi i32 [ 0, %6544 ], [ %6548, %6545 ]
%6551 = trunc i32 %6550 to i16
store i16 %6551, i16* %15
%6552 = load i16, i16* %12
store i16 %6552, i16* %18
%6553 = load i16, i16* %16
%6554 = sext i16 %6553 to i32
%6555 = icmp eq i32 %6554, 0
br i1 %6555, label %6556, label %6557
6556: ; preds = %6549
br label %6561
6557: ; preds = %6549
%6558 = load i16, i16* %16
%6559 = sext i16 %6558 to i32
%6560 = sub nsw i32 25, %6559
br label %6561
6561: ; preds = %6557, %6556
%6562 = phi i32 [ 0, %6556 ], [ %6560, %6557 ]
%6563 = trunc i32 %6562 to i16
store i16 %6563, i16* %12
%6564 = load i16, i16* %18
%6565 = sext i16 %6564 to i32
%6566 = icmp eq i32 %6565, 0
br i1 %6566, label %6567, label %6568
6567: ; preds = %6561
br label %6572
6568: ; preds = %6561
%6569 = load i16, i16* %18
%6570 = sext i16 %6569 to i32
%6571 = sub nsw i32 25, %6570
br label %6572
6572: ; preds = %6568, %6567
%6573 = phi i32 [ 0, %6567 ], [ %6571, %6568 ]
%6574 = trunc i32 %6573 to i16
store i16 %6574, i16* %16
%6575 = load i16, i16* %13
store i16 %6575, i16* %18
%6576 = load i16, i16* %17
%6577 = sext i16 %6576 to i32
%6578 = icmp eq i32 %6577, 0
br i1 %6578, label %6579, label %6580
6579: ; preds = %6572
br label %6584
6580: ; preds = %6572
%6581 = load i16, i16* %17
%6582 = sext i16 %6581 to i32
%6583 = sub nsw i32 25, %6582
br label %6584
6584: ; preds = %6580, %6579
%6585 = phi i32 [ 0, %6579 ], [ %6583, %6580 ]
%6586 = trunc i32 %6585 to i16
store i16 %6586, i16* %13
%6587 = load i16, i16* %18
%6588 = sext i16 %6587 to i32
%6589 = icmp eq i32 %6588, 0
br i1 %6589, label %6590, label %6591
6590: ; preds = %6584
br label %6595
6591: ; preds = %6584
%6592 = load i16, i16* %18
%6593 = sext i16 %6592 to i32
%6594 = sub nsw i32 25, %6593
br label %6595
6595: ; preds = %6591, %6590
%6596 = phi i32 [ 0, %6590 ], [ %6594, %6591 ]
%6597 = trunc i32 %6596 to i16
store i16 %6597, i16* %17
%6598 = load i16, i16* %10
%6599 = sext i16 %6598 to i32
%6600 = load i16, i16* %11
%6601 = sext i16 %6600 to i32
%6602 = load i16, i16* %12
%6603 = sext i16 %6602 to i32
%6604 = load i16, i16* %13
%6605 = sext i16 %6604 to i32
%6606 = load i16, i16* %14
%6607 = sext i16 %6606 to i32
%6608 = load i16, i16* %15
%6609 = sext i16 %6608 to i32
%6610 = load i16, i16* %16
%6611 = sext i16 %6610 to i32
%6612 = load i16, i16* %17
%6613 = sext i16 %6612 to i32
%6614 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6599, i32 %6601, i32 %6603, i32 %6605, i32 %6607, i32 %6609, i32 %6611, i32 %6613)
%6615 = icmp sle i32 0, %6614
br i1 %6615, label %6616, label %6618
6616: ; preds = %6595
%6617 = load i16, i16* %21
store i16 %6617, i16* %9
br label %18762
6618: ; preds = %6595
%6619 = load i16, i16* %10
store i16 %6619, i16* %18
%6620 = load i16, i16* %14
%6621 = sext i16 %6620 to i32
%6622 = icmp eq i32 %6621, 0
br i1 %6622, label %6623, label %6624
6623: ; preds = %6618
br label %6628
6624: ; preds = %6618
%6625 = load i16, i16* %14
%6626 = sext i16 %6625 to i32
%6627 = sub nsw i32 25, %6626
br label %6628
6628: ; preds = %6624, %6623
%6629 = phi i32 [ 0, %6623 ], [ %6627, %6624 ]
%6630 = trunc i32 %6629 to i16
store i16 %6630, i16* %10
%6631 = load i16, i16* %18
%6632 = sext i16 %6631 to i32
%6633 = icmp eq i32 %6632, 0
br i1 %6633, label %6634, label %6635
6634: ; preds = %6628
br label %6639
6635: ; preds = %6628
%6636 = load i16, i16* %18
%6637 = sext i16 %6636 to i32
%6638 = sub nsw i32 25, %6637
br label %6639
6639: ; preds = %6635, %6634
%6640 = phi i32 [ 0, %6634 ], [ %6638, %6635 ]
%6641 = trunc i32 %6640 to i16
store i16 %6641, i16* %14
%6642 = load i16, i16* %11
store i16 %6642, i16* %18
%6643 = load i16, i16* %15
%6644 = sext i16 %6643 to i32
%6645 = icmp eq i32 %6644, 0
br i1 %6645, label %6646, label %6647
6646: ; preds = %6639
br label %6651
6647: ; preds = %6639
%6648 = load i16, i16* %15
%6649 = sext i16 %6648 to i32
%6650 = sub nsw i32 25, %6649
br label %6651
6651: ; preds = %6647, %6646
%6652 = phi i32 [ 0, %6646 ], [ %6650, %6647 ]
%6653 = trunc i32 %6652 to i16
store i16 %6653, i16* %11
%6654 = load i16, i16* %18
%6655 = sext i16 %6654 to i32
%6656 = icmp eq i32 %6655, 0
br i1 %6656, label %6657, label %6658
6657: ; preds = %6651
br label %6662
6658: ; preds = %6651
%6659 = load i16, i16* %18
%6660 = sext i16 %6659 to i32
%6661 = sub nsw i32 25, %6660
br label %6662
6662: ; preds = %6658, %6657
%6663 = phi i32 [ 0, %6657 ], [ %6661, %6658 ]
%6664 = trunc i32 %6663 to i16
store i16 %6664, i16* %15
%6665 = load i16, i16* %12
store i16 %6665, i16* %18
%6666 = load i16, i16* %16
%6667 = sext i16 %6666 to i32
%6668 = icmp eq i32 %6667, 0
br i1 %6668, label %6669, label %6670
6669: ; preds = %6662
br label %6674
6670: ; preds = %6662
%6671 = load i16, i16* %16
%6672 = sext i16 %6671 to i32
%6673 = sub nsw i32 25, %6672
br label %6674
6674: ; preds = %6670, %6669
%6675 = phi i32 [ 0, %6669 ], [ %6673, %6670 ]
%6676 = trunc i32 %6675 to i16
store i16 %6676, i16* %12
%6677 = load i16, i16* %18
%6678 = sext i16 %6677 to i32
%6679 = icmp eq i32 %6678, 0
br i1 %6679, label %6680, label %6681
6680: ; preds = %6674
br label %6685
6681: ; preds = %6674
%6682 = load i16, i16* %18
%6683 = sext i16 %6682 to i32
%6684 = sub nsw i32 25, %6683
br label %6685
6685: ; preds = %6681, %6680
%6686 = phi i32 [ 0, %6680 ], [ %6684, %6681 ]
%6687 = trunc i32 %6686 to i16
store i16 %6687, i16* %16
%6688 = load i16, i16* %13
store i16 %6688, i16* %18
%6689 = load i16, i16* %17
%6690 = sext i16 %6689 to i32
%6691 = icmp eq i32 %6690, 0
br i1 %6691, label %6692, label %6693
6692: ; preds = %6685
br label %6697
6693: ; preds = %6685
%6694 = load i16, i16* %17
%6695 = sext i16 %6694 to i32
%6696 = sub nsw i32 25, %6695
br label %6697
6697: ; preds = %6693, %6692
%6698 = phi i32 [ 0, %6692 ], [ %6696, %6693 ]
%6699 = trunc i32 %6698 to i16
store i16 %6699, i16* %13
%6700 = load i16, i16* %18
%6701 = sext i16 %6700 to i32
%6702 = icmp eq i32 %6701, 0
br i1 %6702, label %6703, label %6704
6703: ; preds = %6697
br label %6708
6704: ; preds = %6697
%6705 = load i16, i16* %18
%6706 = sext i16 %6705 to i32
%6707 = sub nsw i32 25, %6706
br label %6708
6708: ; preds = %6704, %6703
%6709 = phi i32 [ 0, %6703 ], [ %6707, %6704 ]
%6710 = trunc i32 %6709 to i16
store i16 %6710, i16* %17
%6711 = load i16, i16* %20
store i16 %6711, i16* %17
br label %6918
6712: ; preds = %6499
%6713 = load i16, i16* %10
store i16 %6713, i16* %18
%6714 = load i16, i16* %14
%6715 = sext i16 %6714 to i32
%6716 = icmp eq i32 %6715, 0
br i1 %6716, label %6717, label %6718
6717: ; preds = %6712
br label %6722
6718: ; preds = %6712
%6719 = load i16, i16* %14
%6720 = sext i16 %6719 to i32
%6721 = sub nsw i32 25, %6720
br label %6722
6722: ; preds = %6718, %6717
%6723 = phi i32 [ 0, %6717 ], [ %6721, %6718 ]
%6724 = trunc i32 %6723 to i16
store i16 %6724, i16* %10
%6725 = load i16, i16* %18
%6726 = sext i16 %6725 to i32
%6727 = icmp eq i32 %6726, 0
br i1 %6727, label %6728, label %6729
6728: ; preds = %6722
br label %6733
6729: ; preds = %6722
%6730 = load i16, i16* %18
%6731 = sext i16 %6730 to i32
%6732 = sub nsw i32 25, %6731
br label %6733
6733: ; preds = %6729, %6728
%6734 = phi i32 [ 0, %6728 ], [ %6732, %6729 ]
%6735 = trunc i32 %6734 to i16
store i16 %6735, i16* %14
%6736 = load i16, i16* %11
store i16 %6736, i16* %18
%6737 = load i16, i16* %15
%6738 = sext i16 %6737 to i32
%6739 = icmp eq i32 %6738, 0
br i1 %6739, label %6740, label %6741
6740: ; preds = %6733
br label %6745
6741: ; preds = %6733
%6742 = load i16, i16* %15
%6743 = sext i16 %6742 to i32
%6744 = sub nsw i32 25, %6743
br label %6745
6745: ; preds = %6741, %6740
%6746 = phi i32 [ 0, %6740 ], [ %6744, %6741 ]
%6747 = trunc i32 %6746 to i16
store i16 %6747, i16* %11
%6748 = load i16, i16* %18
%6749 = sext i16 %6748 to i32
%6750 = icmp eq i32 %6749, 0
br i1 %6750, label %6751, label %6752
6751: ; preds = %6745
br label %6756
6752: ; preds = %6745
%6753 = load i16, i16* %18
%6754 = sext i16 %6753 to i32
%6755 = sub nsw i32 25, %6754
br label %6756
6756: ; preds = %6752, %6751
%6757 = phi i32 [ 0, %6751 ], [ %6755, %6752 ]
%6758 = trunc i32 %6757 to i16
store i16 %6758, i16* %15
%6759 = load i16, i16* %12
store i16 %6759, i16* %18
%6760 = load i16, i16* %16
%6761 = sext i16 %6760 to i32
%6762 = icmp eq i32 %6761, 0
br i1 %6762, label %6763, label %6764
6763: ; preds = %6756
br label %6768
6764: ; preds = %6756
%6765 = load i16, i16* %16
%6766 = sext i16 %6765 to i32
%6767 = sub nsw i32 25, %6766
br label %6768
6768: ; preds = %6764, %6763
%6769 = phi i32 [ 0, %6763 ], [ %6767, %6764 ]
%6770 = trunc i32 %6769 to i16
store i16 %6770, i16* %12
%6771 = load i16, i16* %18
%6772 = sext i16 %6771 to i32
%6773 = icmp eq i32 %6772, 0
br i1 %6773, label %6774, label %6775
6774: ; preds = %6768
br label %6779
6775: ; preds = %6768
%6776 = load i16, i16* %18
%6777 = sext i16 %6776 to i32
%6778 = sub nsw i32 25, %6777
br label %6779
6779: ; preds = %6775, %6774
%6780 = phi i32 [ 0, %6774 ], [ %6778, %6775 ]
%6781 = trunc i32 %6780 to i16
store i16 %6781, i16* %16
%6782 = load i16, i16* %13
store i16 %6782, i16* %18
%6783 = load i16, i16* %17
%6784 = sext i16 %6783 to i32
%6785 = icmp eq i32 %6784, 0
br i1 %6785, label %6786, label %6787
6786: ; preds = %6779
br label %6791
6787: ; preds = %6779
%6788 = load i16, i16* %17
%6789 = sext i16 %6788 to i32
%6790 = sub nsw i32 25, %6789
br label %6791
6791: ; preds = %6787, %6786
%6792 = phi i32 [ 0, %6786 ], [ %6790, %6787 ]
%6793 = trunc i32 %6792 to i16
store i16 %6793, i16* %13
%6794 = load i16, i16* %18
%6795 = sext i16 %6794 to i32
%6796 = icmp eq i32 %6795, 0
br i1 %6796, label %6797, label %6798
6797: ; preds = %6791
br label %6802
6798: ; preds = %6791
%6799 = load i16, i16* %18
%6800 = sext i16 %6799 to i32
%6801 = sub nsw i32 25, %6800
br label %6802
6802: ; preds = %6798, %6797
%6803 = phi i32 [ 0, %6797 ], [ %6801, %6798 ]
%6804 = trunc i32 %6803 to i16
store i16 %6804, i16* %17
%6805 = load i16, i16* %10
%6806 = sext i16 %6805 to i32
%6807 = load i16, i16* %11
%6808 = sext i16 %6807 to i32
%6809 = load i16, i16* %12
%6810 = sext i16 %6809 to i32
%6811 = load i16, i16* %13
%6812 = sext i16 %6811 to i32
%6813 = load i16, i16* %14
%6814 = sext i16 %6813 to i32
%6815 = load i16, i16* %15
%6816 = sext i16 %6815 to i32
%6817 = load i16, i16* %16
%6818 = sext i16 %6817 to i32
%6819 = load i16, i16* %17
%6820 = sext i16 %6819 to i32
%6821 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6806, i32 %6808, i32 %6810, i32 %6812, i32 %6814, i32 %6816, i32 %6818, i32 %6820)
%6822 = icmp sle i32 0, %6821
br i1 %6822, label %6823, label %6825
6823: ; preds = %6802
%6824 = load i16, i16* %21
store i16 %6824, i16* %9
br label %18762
6825: ; preds = %6802
%6826 = load i16, i16* %10
store i16 %6826, i16* %18
%6827 = load i16, i16* %14
%6828 = sext i16 %6827 to i32
%6829 = icmp eq i32 %6828, 0
br i1 %6829, label %6830, label %6831
6830: ; preds = %6825
br label %6835
6831: ; preds = %6825
%6832 = load i16, i16* %14
%6833 = sext i16 %6832 to i32
%6834 = sub nsw i32 25, %6833
br label %6835
6835: ; preds = %6831, %6830
%6836 = phi i32 [ 0, %6830 ], [ %6834, %6831 ]
%6837 = trunc i32 %6836 to i16
store i16 %6837, i16* %10
%6838 = load i16, i16* %18
%6839 = sext i16 %6838 to i32
%6840 = icmp eq i32 %6839, 0
br i1 %6840, label %6841, label %6842
6841: ; preds = %6835
br label %6846
6842: ; preds = %6835
%6843 = load i16, i16* %18
%6844 = sext i16 %6843 to i32
%6845 = sub nsw i32 25, %6844
br label %6846
6846: ; preds = %6842, %6841
%6847 = phi i32 [ 0, %6841 ], [ %6845, %6842 ]
%6848 = trunc i32 %6847 to i16
store i16 %6848, i16* %14
%6849 = load i16, i16* %11
store i16 %6849, i16* %18
%6850 = load i16, i16* %15
%6851 = sext i16 %6850 to i32
%6852 = icmp eq i32 %6851, 0
br i1 %6852, label %6853, label %6854
6853: ; preds = %6846
br label %6858
6854: ; preds = %6846
%6855 = load i16, i16* %15
%6856 = sext i16 %6855 to i32
%6857 = sub nsw i32 25, %6856
br label %6858
6858: ; preds = %6854, %6853
%6859 = phi i32 [ 0, %6853 ], [ %6857, %6854 ]
%6860 = trunc i32 %6859 to i16
store i16 %6860, i16* %11
%6861 = load i16, i16* %18
%6862 = sext i16 %6861 to i32
%6863 = icmp eq i32 %6862, 0
br i1 %6863, label %6864, label %6865
6864: ; preds = %6858
br label %6869
6865: ; preds = %6858
%6866 = load i16, i16* %18
%6867 = sext i16 %6866 to i32
%6868 = sub nsw i32 25, %6867
br label %6869
6869: ; preds = %6865, %6864
%6870 = phi i32 [ 0, %6864 ], [ %6868, %6865 ]
%6871 = trunc i32 %6870 to i16
store i16 %6871, i16* %15
%6872 = load i16, i16* %12
store i16 %6872, i16* %18
%6873 = load i16, i16* %16
%6874 = sext i16 %6873 to i32
%6875 = icmp eq i32 %6874, 0
br i1 %6875, label %6876, label %6877
6876: ; preds = %6869
br label %6881
6877: ; preds = %6869
%6878 = load i16, i16* %16
%6879 = sext i16 %6878 to i32
%6880 = sub nsw i32 25, %6879
br label %6881
6881: ; preds = %6877, %6876
%6882 = phi i32 [ 0, %6876 ], [ %6880, %6877 ]
%6883 = trunc i32 %6882 to i16
store i16 %6883, i16* %12
%6884 = load i16, i16* %18
%6885 = sext i16 %6884 to i32
%6886 = icmp eq i32 %6885, 0
br i1 %6886, label %6887, label %6888
6887: ; preds = %6881
br label %6892
6888: ; preds = %6881
%6889 = load i16, i16* %18
%6890 = sext i16 %6889 to i32
%6891 = sub nsw i32 25, %6890
br label %6892
6892: ; preds = %6888, %6887
%6893 = phi i32 [ 0, %6887 ], [ %6891, %6888 ]
%6894 = trunc i32 %6893 to i16
store i16 %6894, i16* %16
%6895 = load i16, i16* %13
store i16 %6895, i16* %18
%6896 = load i16, i16* %17
%6897 = sext i16 %6896 to i32
%6898 = icmp eq i32 %6897, 0
br i1 %6898, label %6899, label %6900
6899: ; preds = %6892
br label %6904
6900: ; preds = %6892
%6901 = load i16, i16* %17
%6902 = sext i16 %6901 to i32
%6903 = sub nsw i32 25, %6902
br label %6904
6904: ; preds = %6900, %6899
%6905 = phi i32 [ 0, %6899 ], [ %6903, %6900 ]
%6906 = trunc i32 %6905 to i16
store i16 %6906, i16* %13
%6907 = load i16, i16* %18
%6908 = sext i16 %6907 to i32
%6909 = icmp eq i32 %6908, 0
br i1 %6909, label %6910, label %6911
6910: ; preds = %6904
br label %6915
6911: ; preds = %6904
%6912 = load i16, i16* %18
%6913 = sext i16 %6912 to i32
%6914 = sub nsw i32 25, %6913
br label %6915
6915: ; preds = %6911, %6910
%6916 = phi i32 [ 0, %6910 ], [ %6914, %6911 ]
%6917 = trunc i32 %6916 to i16
store i16 %6917, i16* %17
br label %6918
6918: ; preds = %6915, %6708
br label %6919
6919: ; preds = %6918, %6495
%6920 = load i16, i16* %19
store i16 %6920, i16* %11
br label %6921
6921: ; preds = %6919, %6279, %6273, %6267, %6261, %6250
br label %6922
6922: ; preds = %6921, %6245, %6241, %6237
br label %18748
6923: ; preds = %6233
%6924 = load i16, i16* %21
%6925 = sext i16 %6924 to i32
%6926 = icmp eq i32 %6925, 10
br i1 %6926, label %6927, label %7609
6927: ; preds = %6923
%6928 = load i16, i16* %11
%6929 = sext i16 %6928 to i32
%6930 = icmp ne i32 %6929, 0
br i1 %6930, label %6931, label %7608
6931: ; preds = %6927
%6932 = load i16, i16* %11
%6933 = sext i16 %6932 to i32
%6934 = srem i32 %6933, 4
%6935 = icmp ne i32 %6934, 0
br i1 %6935, label %6936, label %7608
6936: ; preds = %6931
%6937 = load i16, i16* %11
store i16 %6937, i16* %19
%6938 = load i16, i16* %19
%6939 = sext i16 %6938 to i32
%6940 = add nsw i32 %6939, 1
%6941 = trunc i32 %6940 to i16
store i16 %6941, i16* %20
%6942 = load i16, i16* %20
%6943 = sext i16 %6942 to i32
%6944 = load i16, i16* %10
%6945 = sext i16 %6944 to i32
%6946 = icmp ne i32 %6943, %6945
br i1 %6946, label %6947, label %7607
6947: ; preds = %6936
%6948 = load i16, i16* %20
%6949 = sext i16 %6948 to i32
%6950 = load i16, i16* %12
%6951 = sext i16 %6950 to i32
%6952 = icmp ne i32 %6949, %6951
br i1 %6952, label %6953, label %7607
6953: ; preds = %6947
%6954 = load i16, i16* %20
%6955 = sext i16 %6954 to i32
%6956 = load i16, i16* %13
%6957 = sext i16 %6956 to i32
%6958 = icmp ne i32 %6955, %6957
br i1 %6958, label %6959, label %7607
6959: ; preds = %6953
%6960 = load i16, i16* %20
%6961 = sext i16 %6960 to i32
%6962 = load i16, i16* %15
%6963 = sext i16 %6962 to i32
%6964 = icmp ne i32 %6961, %6963
br i1 %6964, label %6965, label %7607
6965: ; preds = %6959
%6966 = load i16, i16* %20
%6967 = sext i16 %6966 to i32
%6968 = load i16, i16* %16
%6969 = sext i16 %6968 to i32
%6970 = icmp ne i32 %6967, %6969
br i1 %6970, label %6971, label %7607
6971: ; preds = %6965
%6972 = load i16, i16* %20
store i16 %6972, i16* %11
%6973 = load i16, i16* %14
%6974 = sext i16 %6973 to i32
%6975 = load i16, i16* %20
%6976 = sext i16 %6975 to i32
%6977 = icmp eq i32 %6974, %6976
br i1 %6977, label %6978, label %7185
6978: ; preds = %6971
store i16 0, i16* %14
%6979 = load i16, i16* %10
store i16 %6979, i16* %18
%6980 = load i16, i16* %14
%6981 = sext i16 %6980 to i32
%6982 = icmp eq i32 %6981, 0
br i1 %6982, label %6983, label %6984
6983: ; preds = %6978
br label %6988
6984: ; preds = %6978
%6985 = load i16, i16* %14
%6986 = sext i16 %6985 to i32
%6987 = sub nsw i32 25, %6986
br label %6988
6988: ; preds = %6984, %6983
%6989 = phi i32 [ 0, %6983 ], [ %6987, %6984 ]
%6990 = trunc i32 %6989 to i16
store i16 %6990, i16* %10
%6991 = load i16, i16* %18
%6992 = sext i16 %6991 to i32
%6993 = icmp eq i32 %6992, 0
br i1 %6993, label %6994, label %6995
6994: ; preds = %6988
br label %6999
6995: ; preds = %6988
%6996 = load i16, i16* %18
%6997 = sext i16 %6996 to i32
%6998 = sub nsw i32 25, %6997
br label %6999
6999: ; preds = %6995, %6994
%7000 = phi i32 [ 0, %6994 ], [ %6998, %6995 ]
%7001 = trunc i32 %7000 to i16
store i16 %7001, i16* %14
%7002 = load i16, i16* %11
store i16 %7002, i16* %18
%7003 = load i16, i16* %15
%7004 = sext i16 %7003 to i32
%7005 = icmp eq i32 %7004, 0
br i1 %7005, label %7006, label %7007
7006: ; preds = %6999
br label %7011
7007: ; preds = %6999
%7008 = load i16, i16* %15
%7009 = sext i16 %7008 to i32
%7010 = sub nsw i32 25, %7009
br label %7011
7011: ; preds = %7007, %7006
%7012 = phi i32 [ 0, %7006 ], [ %7010, %7007 ]
%7013 = trunc i32 %7012 to i16
store i16 %7013, i16* %11
%7014 = load i16, i16* %18
%7015 = sext i16 %7014 to i32
%7016 = icmp eq i32 %7015, 0
br i1 %7016, label %7017, label %7018
7017: ; preds = %7011
br label %7022
7018: ; preds = %7011
%7019 = load i16, i16* %18
%7020 = sext i16 %7019 to i32
%7021 = sub nsw i32 25, %7020
br label %7022
7022: ; preds = %7018, %7017
%7023 = phi i32 [ 0, %7017 ], [ %7021, %7018 ]
%7024 = trunc i32 %7023 to i16
store i16 %7024, i16* %15
%7025 = load i16, i16* %12
store i16 %7025, i16* %18
%7026 = load i16, i16* %16
%7027 = sext i16 %7026 to i32
%7028 = icmp eq i32 %7027, 0
br i1 %7028, label %7029, label %7030
7029: ; preds = %7022
br label %7034
7030: ; preds = %7022
%7031 = load i16, i16* %16
%7032 = sext i16 %7031 to i32
%7033 = sub nsw i32 25, %7032
br label %7034
7034: ; preds = %7030, %7029
%7035 = phi i32 [ 0, %7029 ], [ %7033, %7030 ]
%7036 = trunc i32 %7035 to i16
store i16 %7036, i16* %12
%7037 = load i16, i16* %18
%7038 = sext i16 %7037 to i32
%7039 = icmp eq i32 %7038, 0
br i1 %7039, label %7040, label %7041
7040: ; preds = %7034
br label %7045
7041: ; preds = %7034
%7042 = load i16, i16* %18
%7043 = sext i16 %7042 to i32
%7044 = sub nsw i32 25, %7043
br label %7045
7045: ; preds = %7041, %7040
%7046 = phi i32 [ 0, %7040 ], [ %7044, %7041 ]
%7047 = trunc i32 %7046 to i16
store i16 %7047, i16* %16
%7048 = load i16, i16* %13
store i16 %7048, i16* %18
%7049 = load i16, i16* %17
%7050 = sext i16 %7049 to i32
%7051 = icmp eq i32 %7050, 0
br i1 %7051, label %7052, label %7053
7052: ; preds = %7045
br label %7057
7053: ; preds = %7045
%7054 = load i16, i16* %17
%7055 = sext i16 %7054 to i32
%7056 = sub nsw i32 25, %7055
br label %7057
7057: ; preds = %7053, %7052
%7058 = phi i32 [ 0, %7052 ], [ %7056, %7053 ]
%7059 = trunc i32 %7058 to i16
store i16 %7059, i16* %13
%7060 = load i16, i16* %18
%7061 = sext i16 %7060 to i32
%7062 = icmp eq i32 %7061, 0
br i1 %7062, label %7063, label %7064
7063: ; preds = %7057
br label %7068
7064: ; preds = %7057
%7065 = load i16, i16* %18
%7066 = sext i16 %7065 to i32
%7067 = sub nsw i32 25, %7066
br label %7068
7068: ; preds = %7064, %7063
%7069 = phi i32 [ 0, %7063 ], [ %7067, %7064 ]
%7070 = trunc i32 %7069 to i16
store i16 %7070, i16* %17
%7071 = load i16, i16* %10
%7072 = sext i16 %7071 to i32
%7073 = load i16, i16* %11
%7074 = sext i16 %7073 to i32
%7075 = load i16, i16* %12
%7076 = sext i16 %7075 to i32
%7077 = load i16, i16* %13
%7078 = sext i16 %7077 to i32
%7079 = load i16, i16* %14
%7080 = sext i16 %7079 to i32
%7081 = load i16, i16* %15
%7082 = sext i16 %7081 to i32
%7083 = load i16, i16* %16
%7084 = sext i16 %7083 to i32
%7085 = load i16, i16* %17
%7086 = sext i16 %7085 to i32
%7087 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7072, i32 %7074, i32 %7076, i32 %7078, i32 %7080, i32 %7082, i32 %7084, i32 %7086)
%7088 = icmp sle i32 0, %7087
br i1 %7088, label %7089, label %7091
7089: ; preds = %7068
%7090 = load i16, i16* %21
store i16 %7090, i16* %9
br label %18762
7091: ; preds = %7068
%7092 = load i16, i16* %10
store i16 %7092, i16* %18
%7093 = load i16, i16* %14
%7094 = sext i16 %7093 to i32
%7095 = icmp eq i32 %7094, 0
br i1 %7095, label %7096, label %7097
7096: ; preds = %7091
br label %7101
7097: ; preds = %7091
%7098 = load i16, i16* %14
%7099 = sext i16 %7098 to i32
%7100 = sub nsw i32 25, %7099
br label %7101
7101: ; preds = %7097, %7096
%7102 = phi i32 [ 0, %7096 ], [ %7100, %7097 ]
%7103 = trunc i32 %7102 to i16
store i16 %7103, i16* %10
%7104 = load i16, i16* %18
%7105 = sext i16 %7104 to i32
%7106 = icmp eq i32 %7105, 0
br i1 %7106, label %7107, label %7108
7107: ; preds = %7101
br label %7112
7108: ; preds = %7101
%7109 = load i16, i16* %18
%7110 = sext i16 %7109 to i32
%7111 = sub nsw i32 25, %7110
br label %7112
7112: ; preds = %7108, %7107
%7113 = phi i32 [ 0, %7107 ], [ %7111, %7108 ]
%7114 = trunc i32 %7113 to i16
store i16 %7114, i16* %14
%7115 = load i16, i16* %11
store i16 %7115, i16* %18
%7116 = load i16, i16* %15
%7117 = sext i16 %7116 to i32
%7118 = icmp eq i32 %7117, 0
br i1 %7118, label %7119, label %7120
7119: ; preds = %7112
br label %7124
7120: ; preds = %7112
%7121 = load i16, i16* %15
%7122 = sext i16 %7121 to i32
%7123 = sub nsw i32 25, %7122
br label %7124
7124: ; preds = %7120, %7119
%7125 = phi i32 [ 0, %7119 ], [ %7123, %7120 ]
%7126 = trunc i32 %7125 to i16
store i16 %7126, i16* %11
%7127 = load i16, i16* %18
%7128 = sext i16 %7127 to i32
%7129 = icmp eq i32 %7128, 0
br i1 %7129, label %7130, label %7131
7130: ; preds = %7124
br label %7135
7131: ; preds = %7124
%7132 = load i16, i16* %18
%7133 = sext i16 %7132 to i32
%7134 = sub nsw i32 25, %7133
br label %7135
7135: ; preds = %7131, %7130
%7136 = phi i32 [ 0, %7130 ], [ %7134, %7131 ]
%7137 = trunc i32 %7136 to i16
store i16 %7137, i16* %15
%7138 = load i16, i16* %12
store i16 %7138, i16* %18
%7139 = load i16, i16* %16
%7140 = sext i16 %7139 to i32
%7141 = icmp eq i32 %7140, 0
br i1 %7141, label %7142, label %7143
7142: ; preds = %7135
br label %7147
7143: ; preds = %7135
%7144 = load i16, i16* %16
%7145 = sext i16 %7144 to i32
%7146 = sub nsw i32 25, %7145
br label %7147
7147: ; preds = %7143, %7142
%7148 = phi i32 [ 0, %7142 ], [ %7146, %7143 ]
%7149 = trunc i32 %7148 to i16
store i16 %7149, i16* %12
%7150 = load i16, i16* %18
%7151 = sext i16 %7150 to i32
%7152 = icmp eq i32 %7151, 0
br i1 %7152, label %7153, label %7154
7153: ; preds = %7147
br label %7158
7154: ; preds = %7147
%7155 = load i16, i16* %18
%7156 = sext i16 %7155 to i32
%7157 = sub nsw i32 25, %7156
br label %7158
7158: ; preds = %7154, %7153
%7159 = phi i32 [ 0, %7153 ], [ %7157, %7154 ]
%7160 = trunc i32 %7159 to i16
store i16 %7160, i16* %16
%7161 = load i16, i16* %13
store i16 %7161, i16* %18
%7162 = load i16, i16* %17
%7163 = sext i16 %7162 to i32
%7164 = icmp eq i32 %7163, 0
br i1 %7164, label %7165, label %7166
7165: ; preds = %7158
br label %7170
7166: ; preds = %7158
%7167 = load i16, i16* %17
%7168 = sext i16 %7167 to i32
%7169 = sub nsw i32 25, %7168
br label %7170
7170: ; preds = %7166, %7165
%7171 = phi i32 [ 0, %7165 ], [ %7169, %7166 ]
%7172 = trunc i32 %7171 to i16
store i16 %7172, i16* %13
%7173 = load i16, i16* %18
%7174 = sext i16 %7173 to i32
%7175 = icmp eq i32 %7174, 0
br i1 %7175, label %7176, label %7177
7176: ; preds = %7170
br label %7181
7177: ; preds = %7170
%7178 = load i16, i16* %18
%7179 = sext i16 %7178 to i32
%7180 = sub nsw i32 25, %7179
br label %7181
7181: ; preds = %7177, %7176
%7182 = phi i32 [ 0, %7176 ], [ %7180, %7177 ]
%7183 = trunc i32 %7182 to i16
store i16 %7183, i16* %17
%7184 = load i16, i16* %20
store i16 %7184, i16* %14
br label %7605
7185: ; preds = %6971
%7186 = load i16, i16* %20
%7187 = sext i16 %7186 to i32
%7188 = load i16, i16* %17
%7189 = sext i16 %7188 to i32
%7190 = icmp eq i32 %7187, %7189
br i1 %7190, label %7191, label %7398
7191: ; preds = %7185
store i16 0, i16* %17
%7192 = load i16, i16* %10
store i16 %7192, i16* %18
%7193 = load i16, i16* %14
%7194 = sext i16 %7193 to i32
%7195 = icmp eq i32 %7194, 0
br i1 %7195, label %7196, label %7197
7196: ; preds = %7191
br label %7201
7197: ; preds = %7191
%7198 = load i16, i16* %14
%7199 = sext i16 %7198 to i32
%7200 = sub nsw i32 25, %7199
br label %7201
7201: ; preds = %7197, %7196
%7202 = phi i32 [ 0, %7196 ], [ %7200, %7197 ]
%7203 = trunc i32 %7202 to i16
store i16 %7203, i16* %10
%7204 = load i16, i16* %18
%7205 = sext i16 %7204 to i32
%7206 = icmp eq i32 %7205, 0
br i1 %7206, label %7207, label %7208
7207: ; preds = %7201
br label %7212
7208: ; preds = %7201
%7209 = load i16, i16* %18
%7210 = sext i16 %7209 to i32
%7211 = sub nsw i32 25, %7210
br label %7212
7212: ; preds = %7208, %7207
%7213 = phi i32 [ 0, %7207 ], [ %7211, %7208 ]
%7214 = trunc i32 %7213 to i16
store i16 %7214, i16* %14
%7215 = load i16, i16* %11
store i16 %7215, i16* %18
%7216 = load i16, i16* %15
%7217 = sext i16 %7216 to i32
%7218 = icmp eq i32 %7217, 0
br i1 %7218, label %7219, label %7220
7219: ; preds = %7212
br label %7224
7220: ; preds = %7212
%7221 = load i16, i16* %15
%7222 = sext i16 %7221 to i32
%7223 = sub nsw i32 25, %7222
br label %7224
7224: ; preds = %7220, %7219
%7225 = phi i32 [ 0, %7219 ], [ %7223, %7220 ]
%7226 = trunc i32 %7225 to i16
store i16 %7226, i16* %11
%7227 = load i16, i16* %18
%7228 = sext i16 %7227 to i32
%7229 = icmp eq i32 %7228, 0
br i1 %7229, label %7230, label %7231
7230: ; preds = %7224
br label %7235
7231: ; preds = %7224
%7232 = load i16, i16* %18
%7233 = sext i16 %7232 to i32
%7234 = sub nsw i32 25, %7233
br label %7235
7235: ; preds = %7231, %7230
%7236 = phi i32 [ 0, %7230 ], [ %7234, %7231 ]
%7237 = trunc i32 %7236 to i16
store i16 %7237, i16* %15
%7238 = load i16, i16* %12
store i16 %7238, i16* %18
%7239 = load i16, i16* %16
%7240 = sext i16 %7239 to i32
%7241 = icmp eq i32 %7240, 0
br i1 %7241, label %7242, label %7243
7242: ; preds = %7235
br label %7247
7243: ; preds = %7235
%7244 = load i16, i16* %16
%7245 = sext i16 %7244 to i32
%7246 = sub nsw i32 25, %7245
br label %7247
7247: ; preds = %7243, %7242
%7248 = phi i32 [ 0, %7242 ], [ %7246, %7243 ]
%7249 = trunc i32 %7248 to i16
store i16 %7249, i16* %12
%7250 = load i16, i16* %18
%7251 = sext i16 %7250 to i32
%7252 = icmp eq i32 %7251, 0
br i1 %7252, label %7253, label %7254
7253: ; preds = %7247
br label %7258
7254: ; preds = %7247
%7255 = load i16, i16* %18
%7256 = sext i16 %7255 to i32
%7257 = sub nsw i32 25, %7256
br label %7258
7258: ; preds = %7254, %7253
%7259 = phi i32 [ 0, %7253 ], [ %7257, %7254 ]
%7260 = trunc i32 %7259 to i16
store i16 %7260, i16* %16
%7261 = load i16, i16* %13
store i16 %7261, i16* %18
%7262 = load i16, i16* %17
%7263 = sext i16 %7262 to i32
%7264 = icmp eq i32 %7263, 0
br i1 %7264, label %7265, label %7266
7265: ; preds = %7258
br label %7270
7266: ; preds = %7258
%7267 = load i16, i16* %17
%7268 = sext i16 %7267 to i32
%7269 = sub nsw i32 25, %7268
br label %7270
7270: ; preds = %7266, %7265
%7271 = phi i32 [ 0, %7265 ], [ %7269, %7266 ]
%7272 = trunc i32 %7271 to i16
store i16 %7272, i16* %13
%7273 = load i16, i16* %18
%7274 = sext i16 %7273 to i32
%7275 = icmp eq i32 %7274, 0
br i1 %7275, label %7276, label %7277
7276: ; preds = %7270
br label %7281
7277: ; preds = %7270
%7278 = load i16, i16* %18
%7279 = sext i16 %7278 to i32
%7280 = sub nsw i32 25, %7279
br label %7281
7281: ; preds = %7277, %7276
%7282 = phi i32 [ 0, %7276 ], [ %7280, %7277 ]
%7283 = trunc i32 %7282 to i16
store i16 %7283, i16* %17
%7284 = load i16, i16* %10
%7285 = sext i16 %7284 to i32
%7286 = load i16, i16* %11
%7287 = sext i16 %7286 to i32
%7288 = load i16, i16* %12
%7289 = sext i16 %7288 to i32
%7290 = load i16, i16* %13
%7291 = sext i16 %7290 to i32
%7292 = load i16, i16* %14
%7293 = sext i16 %7292 to i32
%7294 = load i16, i16* %15
%7295 = sext i16 %7294 to i32
%7296 = load i16, i16* %16
%7297 = sext i16 %7296 to i32
%7298 = load i16, i16* %17
%7299 = sext i16 %7298 to i32
%7300 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7285, i32 %7287, i32 %7289, i32 %7291, i32 %7293, i32 %7295, i32 %7297, i32 %7299)
%7301 = icmp sle i32 0, %7300
br i1 %7301, label %7302, label %7304
7302: ; preds = %7281
%7303 = load i16, i16* %21
store i16 %7303, i16* %9
br label %18762
7304: ; preds = %7281
%7305 = load i16, i16* %10
store i16 %7305, i16* %18
%7306 = load i16, i16* %14
%7307 = sext i16 %7306 to i32
%7308 = icmp eq i32 %7307, 0
br i1 %7308, label %7309, label %7310
7309: ; preds = %7304
br label %7314
7310: ; preds = %7304
%7311 = load i16, i16* %14
%7312 = sext i16 %7311 to i32
%7313 = sub nsw i32 25, %7312
br label %7314
7314: ; preds = %7310, %7309
%7315 = phi i32 [ 0, %7309 ], [ %7313, %7310 ]
%7316 = trunc i32 %7315 to i16
store i16 %7316, i16* %10
%7317 = load i16, i16* %18
%7318 = sext i16 %7317 to i32
%7319 = icmp eq i32 %7318, 0
br i1 %7319, label %7320, label %7321
7320: ; preds = %7314
br label %7325
7321: ; preds = %7314
%7322 = load i16, i16* %18
%7323 = sext i16 %7322 to i32
%7324 = sub nsw i32 25, %7323
br label %7325
7325: ; preds = %7321, %7320
%7326 = phi i32 [ 0, %7320 ], [ %7324, %7321 ]
%7327 = trunc i32 %7326 to i16
store i16 %7327, i16* %14
%7328 = load i16, i16* %11
store i16 %7328, i16* %18
%7329 = load i16, i16* %15
%7330 = sext i16 %7329 to i32
%7331 = icmp eq i32 %7330, 0
br i1 %7331, label %7332, label %7333
7332: ; preds = %7325
br label %7337
7333: ; preds = %7325
%7334 = load i16, i16* %15
%7335 = sext i16 %7334 to i32
%7336 = sub nsw i32 25, %7335
br label %7337
7337: ; preds = %7333, %7332
%7338 = phi i32 [ 0, %7332 ], [ %7336, %7333 ]
%7339 = trunc i32 %7338 to i16
store i16 %7339, i16* %11
%7340 = load i16, i16* %18
%7341 = sext i16 %7340 to i32
%7342 = icmp eq i32 %7341, 0
br i1 %7342, label %7343, label %7344
7343: ; preds = %7337
br label %7348
7344: ; preds = %7337
%7345 = load i16, i16* %18
%7346 = sext i16 %7345 to i32
%7347 = sub nsw i32 25, %7346
br label %7348
7348: ; preds = %7344, %7343
%7349 = phi i32 [ 0, %7343 ], [ %7347, %7344 ]
%7350 = trunc i32 %7349 to i16
store i16 %7350, i16* %15
%7351 = load i16, i16* %12
store i16 %7351, i16* %18
%7352 = load i16, i16* %16
%7353 = sext i16 %7352 to i32
%7354 = icmp eq i32 %7353, 0
br i1 %7354, label %7355, label %7356
7355: ; preds = %7348
br label %7360
7356: ; preds = %7348
%7357 = load i16, i16* %16
%7358 = sext i16 %7357 to i32
%7359 = sub nsw i32 25, %7358
br label %7360
7360: ; preds = %7356, %7355
%7361 = phi i32 [ 0, %7355 ], [ %7359, %7356 ]
%7362 = trunc i32 %7361 to i16
store i16 %7362, i16* %12
%7363 = load i16, i16* %18
%7364 = sext i16 %7363 to i32
%7365 = icmp eq i32 %7364, 0
br i1 %7365, label %7366, label %7367
7366: ; preds = %7360
br label %7371
7367: ; preds = %7360
%7368 = load i16, i16* %18
%7369 = sext i16 %7368 to i32
%7370 = sub nsw i32 25, %7369
br label %7371
7371: ; preds = %7367, %7366
%7372 = phi i32 [ 0, %7366 ], [ %7370, %7367 ]
%7373 = trunc i32 %7372 to i16
store i16 %7373, i16* %16
%7374 = load i16, i16* %13
store i16 %7374, i16* %18
%7375 = load i16, i16* %17
%7376 = sext i16 %7375 to i32
%7377 = icmp eq i32 %7376, 0
br i1 %7377, label %7378, label %7379
7378: ; preds = %7371
br label %7383
7379: ; preds = %7371
%7380 = load i16, i16* %17
%7381 = sext i16 %7380 to i32
%7382 = sub nsw i32 25, %7381
br label %7383
7383: ; preds = %7379, %7378
%7384 = phi i32 [ 0, %7378 ], [ %7382, %7379 ]
%7385 = trunc i32 %7384 to i16
store i16 %7385, i16* %13
%7386 = load i16, i16* %18
%7387 = sext i16 %7386 to i32
%7388 = icmp eq i32 %7387, 0
br i1 %7388, label %7389, label %7390
7389: ; preds = %7383
br label %7394
7390: ; preds = %7383
%7391 = load i16, i16* %18
%7392 = sext i16 %7391 to i32
%7393 = sub nsw i32 25, %7392
br label %7394
7394: ; preds = %7390, %7389
%7395 = phi i32 [ 0, %7389 ], [ %7393, %7390 ]
%7396 = trunc i32 %7395 to i16
store i16 %7396, i16* %17
%7397 = load i16, i16* %20
store i16 %7397, i16* %17
br label %7604
7398: ; preds = %7185
%7399 = load i16, i16* %10
store i16 %7399, i16* %18
%7400 = load i16, i16* %14
%7401 = sext i16 %7400 to i32
%7402 = icmp eq i32 %7401, 0
br i1 %7402, label %7403, label %7404
7403: ; preds = %7398
br label %7408
7404: ; preds = %7398
%7405 = load i16, i16* %14
%7406 = sext i16 %7405 to i32
%7407 = sub nsw i32 25, %7406
br label %7408
7408: ; preds = %7404, %7403
%7409 = phi i32 [ 0, %7403 ], [ %7407, %7404 ]
%7410 = trunc i32 %7409 to i16
store i16 %7410, i16* %10
%7411 = load i16, i16* %18
%7412 = sext i16 %7411 to i32
%7413 = icmp eq i32 %7412, 0
br i1 %7413, label %7414, label %7415
7414: ; preds = %7408
br label %7419
7415: ; preds = %7408
%7416 = load i16, i16* %18
%7417 = sext i16 %7416 to i32
%7418 = sub nsw i32 25, %7417
br label %7419
7419: ; preds = %7415, %7414
%7420 = phi i32 [ 0, %7414 ], [ %7418, %7415 ]
%7421 = trunc i32 %7420 to i16
store i16 %7421, i16* %14
%7422 = load i16, i16* %11
store i16 %7422, i16* %18
%7423 = load i16, i16* %15
%7424 = sext i16 %7423 to i32
%7425 = icmp eq i32 %7424, 0
br i1 %7425, label %7426, label %7427
7426: ; preds = %7419
br label %7431
7427: ; preds = %7419
%7428 = load i16, i16* %15
%7429 = sext i16 %7428 to i32
%7430 = sub nsw i32 25, %7429
br label %7431
7431: ; preds = %7427, %7426
%7432 = phi i32 [ 0, %7426 ], [ %7430, %7427 ]
%7433 = trunc i32 %7432 to i16
store i16 %7433, i16* %11
%7434 = load i16, i16* %18
%7435 = sext i16 %7434 to i32
%7436 = icmp eq i32 %7435, 0
br i1 %7436, label %7437, label %7438
7437: ; preds = %7431
br label %7442
7438: ; preds = %7431
%7439 = load i16, i16* %18
%7440 = sext i16 %7439 to i32
%7441 = sub nsw i32 25, %7440
br label %7442
7442: ; preds = %7438, %7437
%7443 = phi i32 [ 0, %7437 ], [ %7441, %7438 ]
%7444 = trunc i32 %7443 to i16
store i16 %7444, i16* %15
%7445 = load i16, i16* %12
store i16 %7445, i16* %18
%7446 = load i16, i16* %16
%7447 = sext i16 %7446 to i32
%7448 = icmp eq i32 %7447, 0
br i1 %7448, label %7449, label %7450
7449: ; preds = %7442
br label %7454
7450: ; preds = %7442
%7451 = load i16, i16* %16
%7452 = sext i16 %7451 to i32
%7453 = sub nsw i32 25, %7452
br label %7454
7454: ; preds = %7450, %7449
%7455 = phi i32 [ 0, %7449 ], [ %7453, %7450 ]
%7456 = trunc i32 %7455 to i16
store i16 %7456, i16* %12
%7457 = load i16, i16* %18
%7458 = sext i16 %7457 to i32
%7459 = icmp eq i32 %7458, 0
br i1 %7459, label %7460, label %7461
7460: ; preds = %7454
br label %7465
7461: ; preds = %7454
%7462 = load i16, i16* %18
%7463 = sext i16 %7462 to i32
%7464 = sub nsw i32 25, %7463
br label %7465
7465: ; preds = %7461, %7460
%7466 = phi i32 [ 0, %7460 ], [ %7464, %7461 ]
%7467 = trunc i32 %7466 to i16
store i16 %7467, i16* %16
%7468 = load i16, i16* %13
store i16 %7468, i16* %18
%7469 = load i16, i16* %17
%7470 = sext i16 %7469 to i32
%7471 = icmp eq i32 %7470, 0
br i1 %7471, label %7472, label %7473
7472: ; preds = %7465
br label %7477
7473: ; preds = %7465
%7474 = load i16, i16* %17
%7475 = sext i16 %7474 to i32
%7476 = sub nsw i32 25, %7475
br label %7477
7477: ; preds = %7473, %7472
%7478 = phi i32 [ 0, %7472 ], [ %7476, %7473 ]
%7479 = trunc i32 %7478 to i16
store i16 %7479, i16* %13
%7480 = load i16, i16* %18
%7481 = sext i16 %7480 to i32
%7482 = icmp eq i32 %7481, 0
br i1 %7482, label %7483, label %7484
7483: ; preds = %7477
br label %7488
7484: ; preds = %7477
%7485 = load i16, i16* %18
%7486 = sext i16 %7485 to i32
%7487 = sub nsw i32 25, %7486
br label %7488
7488: ; preds = %7484, %7483
%7489 = phi i32 [ 0, %7483 ], [ %7487, %7484 ]
%7490 = trunc i32 %7489 to i16
store i16 %7490, i16* %17
%7491 = load i16, i16* %10
%7492 = sext i16 %7491 to i32
%7493 = load i16, i16* %11
%7494 = sext i16 %7493 to i32
%7495 = load i16, i16* %12
%7496 = sext i16 %7495 to i32
%7497 = load i16, i16* %13
%7498 = sext i16 %7497 to i32
%7499 = load i16, i16* %14
%7500 = sext i16 %7499 to i32
%7501 = load i16, i16* %15
%7502 = sext i16 %7501 to i32
%7503 = load i16, i16* %16
%7504 = sext i16 %7503 to i32
%7505 = load i16, i16* %17
%7506 = sext i16 %7505 to i32
%7507 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7492, i32 %7494, i32 %7496, i32 %7498, i32 %7500, i32 %7502, i32 %7504, i32 %7506)
%7508 = icmp sle i32 0, %7507
br i1 %7508, label %7509, label %7511
7509: ; preds = %7488
%7510 = load i16, i16* %21
store i16 %7510, i16* %9
br label %18762
7511: ; preds = %7488
%7512 = load i16, i16* %10
store i16 %7512, i16* %18
%7513 = load i16, i16* %14
%7514 = sext i16 %7513 to i32
%7515 = icmp eq i32 %7514, 0
br i1 %7515, label %7516, label %7517
7516: ; preds = %7511
br label %7521
7517: ; preds = %7511
%7518 = load i16, i16* %14
%7519 = sext i16 %7518 to i32
%7520 = sub nsw i32 25, %7519
br label %7521
7521: ; preds = %7517, %7516
%7522 = phi i32 [ 0, %7516 ], [ %7520, %7517 ]
%7523 = trunc i32 %7522 to i16
store i16 %7523, i16* %10
%7524 = load i16, i16* %18
%7525 = sext i16 %7524 to i32
%7526 = icmp eq i32 %7525, 0
br i1 %7526, label %7527, label %7528
7527: ; preds = %7521
br label %7532
7528: ; preds = %7521
%7529 = load i16, i16* %18
%7530 = sext i16 %7529 to i32
%7531 = sub nsw i32 25, %7530
br label %7532
7532: ; preds = %7528, %7527
%7533 = phi i32 [ 0, %7527 ], [ %7531, %7528 ]
%7534 = trunc i32 %7533 to i16
store i16 %7534, i16* %14
%7535 = load i16, i16* %11
store i16 %7535, i16* %18
%7536 = load i16, i16* %15
%7537 = sext i16 %7536 to i32
%7538 = icmp eq i32 %7537, 0
br i1 %7538, label %7539, label %7540
7539: ; preds = %7532
br label %7544
7540: ; preds = %7532
%7541 = load i16, i16* %15
%7542 = sext i16 %7541 to i32
%7543 = sub nsw i32 25, %7542
br label %7544
7544: ; preds = %7540, %7539
%7545 = phi i32 [ 0, %7539 ], [ %7543, %7540 ]
%7546 = trunc i32 %7545 to i16
store i16 %7546, i16* %11
%7547 = load i16, i16* %18
%7548 = sext i16 %7547 to i32
%7549 = icmp eq i32 %7548, 0
br i1 %7549, label %7550, label %7551
7550: ; preds = %7544
br label %7555
7551: ; preds = %7544
%7552 = load i16, i16* %18
%7553 = sext i16 %7552 to i32
%7554 = sub nsw i32 25, %7553
br label %7555
7555: ; preds = %7551, %7550
%7556 = phi i32 [ 0, %7550 ], [ %7554, %7551 ]
%7557 = trunc i32 %7556 to i16
store i16 %7557, i16* %15
%7558 = load i16, i16* %12
store i16 %7558, i16* %18
%7559 = load i16, i16* %16
%7560 = sext i16 %7559 to i32
%7561 = icmp eq i32 %7560, 0
br i1 %7561, label %7562, label %7563
7562: ; preds = %7555
br label %7567
7563: ; preds = %7555
%7564 = load i16, i16* %16
%7565 = sext i16 %7564 to i32
%7566 = sub nsw i32 25, %7565
br label %7567
7567: ; preds = %7563, %7562
%7568 = phi i32 [ 0, %7562 ], [ %7566, %7563 ]
%7569 = trunc i32 %7568 to i16
store i16 %7569, i16* %12
%7570 = load i16, i16* %18
%7571 = sext i16 %7570 to i32
%7572 = icmp eq i32 %7571, 0
br i1 %7572, label %7573, label %7574
7573: ; preds = %7567
br label %7578
7574: ; preds = %7567
%7575 = load i16, i16* %18
%7576 = sext i16 %7575 to i32
%7577 = sub nsw i32 25, %7576
br label %7578
7578: ; preds = %7574, %7573
%7579 = phi i32 [ 0, %7573 ], [ %7577, %7574 ]
%7580 = trunc i32 %7579 to i16
store i16 %7580, i16* %16
%7581 = load i16, i16* %13
store i16 %7581, i16* %18
%7582 = load i16, i16* %17
%7583 = sext i16 %7582 to i32
%7584 = icmp eq i32 %7583, 0
br i1 %7584, label %7585, label %7586
7585: ; preds = %7578
br label %7590
7586: ; preds = %7578
%7587 = load i16, i16* %17
%7588 = sext i16 %7587 to i32
%7589 = sub nsw i32 25, %7588
br label %7590
7590: ; preds = %7586, %7585
%7591 = phi i32 [ 0, %7585 ], [ %7589, %7586 ]
%7592 = trunc i32 %7591 to i16
store i16 %7592, i16* %13
%7593 = load i16, i16* %18
%7594 = sext i16 %7593 to i32
%7595 = icmp eq i32 %7594, 0
br i1 %7595, label %7596, label %7597
7596: ; preds = %7590
br label %7601
7597: ; preds = %7590
%7598 = load i16, i16* %18
%7599 = sext i16 %7598 to i32
%7600 = sub nsw i32 25, %7599
br label %7601
7601: ; preds = %7597, %7596
%7602 = phi i32 [ 0, %7596 ], [ %7600, %7597 ]
%7603 = trunc i32 %7602 to i16
store i16 %7603, i16* %17
br label %7604
7604: ; preds = %7601, %7394
br label %7605
7605: ; preds = %7604, %7181
%7606 = load i16, i16* %19
store i16 %7606, i16* %11
br label %7607
7607: ; preds = %7605, %6965, %6959, %6953, %6947, %6936
br label %7608
7608: ; preds = %7607, %6931, %6927
br label %18747
7609: ; preds = %6923
%7610 = load i16, i16* %21
%7611 = sext i16 %7610 to i32
%7612 = icmp eq i32 %7611, 11
br i1 %7612, label %7613, label %8299
7613: ; preds = %7609
%7614 = load i16, i16* %11
%7615 = sext i16 %7614 to i32
%7616 = icmp ne i32 %7615, 0
br i1 %7616, label %7617, label %8298
7617: ; preds = %7613
%7618 = load i16, i16* %11
%7619 = sext i16 %7618 to i32
%7620 = icmp slt i32 4, %7619
br i1 %7620, label %7621, label %8298
7621: ; preds = %7617
%7622 = load i16, i16* %11
%7623 = sext i16 %7622 to i32
%7624 = srem i32 %7623, 4
%7625 = icmp ne i32 %7624, 0
br i1 %7625, label %7626, label %8298
7626: ; preds = %7621
%7627 = load i16, i16* %11
store i16 %7627, i16* %19
%7628 = load i16, i16* %19
%7629 = sext i16 %7628 to i32
%7630 = sub nsw i32 %7629, 3
%7631 = trunc i32 %7630 to i16
store i16 %7631, i16* %20
%7632 = load i16, i16* %20
%7633 = sext i16 %7632 to i32
%7634 = load i16, i16* %10
%7635 = sext i16 %7634 to i32
%7636 = icmp ne i32 %7633, %7635
br i1 %7636, label %7637, label %8297
7637: ; preds = %7626
%7638 = load i16, i16* %20
%7639 = sext i16 %7638 to i32
%7640 = load i16, i16* %12
%7641 = sext i16 %7640 to i32
%7642 = icmp ne i32 %7639, %7641
br i1 %7642, label %7643, label %8297
7643: ; preds = %7637
%7644 = load i16, i16* %20
%7645 = sext i16 %7644 to i32
%7646 = load i16, i16* %13
%7647 = sext i16 %7646 to i32
%7648 = icmp ne i32 %7645, %7647
br i1 %7648, label %7649, label %8297
7649: ; preds = %7643
%7650 = load i16, i16* %20
%7651 = sext i16 %7650 to i32
%7652 = load i16, i16* %15
%7653 = sext i16 %7652 to i32
%7654 = icmp ne i32 %7651, %7653
br i1 %7654, label %7655, label %8297
7655: ; preds = %7649
%7656 = load i16, i16* %20
%7657 = sext i16 %7656 to i32
%7658 = load i16, i16* %16
%7659 = sext i16 %7658 to i32
%7660 = icmp ne i32 %7657, %7659
br i1 %7660, label %7661, label %8297
7661: ; preds = %7655
%7662 = load i16, i16* %20
store i16 %7662, i16* %11
%7663 = load i16, i16* %14
%7664 = sext i16 %7663 to i32
%7665 = load i16, i16* %20
%7666 = sext i16 %7665 to i32
%7667 = icmp eq i32 %7664, %7666
br i1 %7667, label %7668, label %7875
7668: ; preds = %7661
store i16 0, i16* %14
%7669 = load i16, i16* %10
store i16 %7669, i16* %18
%7670 = load i16, i16* %14
%7671 = sext i16 %7670 to i32
%7672 = icmp eq i32 %7671, 0
br i1 %7672, label %7673, label %7674
7673: ; preds = %7668
br label %7678
7674: ; preds = %7668
%7675 = load i16, i16* %14
%7676 = sext i16 %7675 to i32
%7677 = sub nsw i32 25, %7676
br label %7678
7678: ; preds = %7674, %7673
%7679 = phi i32 [ 0, %7673 ], [ %7677, %7674 ]
%7680 = trunc i32 %7679 to i16
store i16 %7680, i16* %10
%7681 = load i16, i16* %18
%7682 = sext i16 %7681 to i32
%7683 = icmp eq i32 %7682, 0
br i1 %7683, label %7684, label %7685
7684: ; preds = %7678
br label %7689
7685: ; preds = %7678
%7686 = load i16, i16* %18
%7687 = sext i16 %7686 to i32
%7688 = sub nsw i32 25, %7687
br label %7689
7689: ; preds = %7685, %7684
%7690 = phi i32 [ 0, %7684 ], [ %7688, %7685 ]
%7691 = trunc i32 %7690 to i16
store i16 %7691, i16* %14
%7692 = load i16, i16* %11
store i16 %7692, i16* %18
%7693 = load i16, i16* %15
%7694 = sext i16 %7693 to i32
%7695 = icmp eq i32 %7694, 0
br i1 %7695, label %7696, label %7697
7696: ; preds = %7689
br label %7701
7697: ; preds = %7689
%7698 = load i16, i16* %15
%7699 = sext i16 %7698 to i32
%7700 = sub nsw i32 25, %7699
br label %7701
7701: ; preds = %7697, %7696
%7702 = phi i32 [ 0, %7696 ], [ %7700, %7697 ]
%7703 = trunc i32 %7702 to i16
store i16 %7703, i16* %11
%7704 = load i16, i16* %18
%7705 = sext i16 %7704 to i32
%7706 = icmp eq i32 %7705, 0
br i1 %7706, label %7707, label %7708
7707: ; preds = %7701
br label %7712
7708: ; preds = %7701
%7709 = load i16, i16* %18
%7710 = sext i16 %7709 to i32
%7711 = sub nsw i32 25, %7710
br label %7712
7712: ; preds = %7708, %7707
%7713 = phi i32 [ 0, %7707 ], [ %7711, %7708 ]
%7714 = trunc i32 %7713 to i16
store i16 %7714, i16* %15
%7715 = load i16, i16* %12
store i16 %7715, i16* %18
%7716 = load i16, i16* %16
%7717 = sext i16 %7716 to i32
%7718 = icmp eq i32 %7717, 0
br i1 %7718, label %7719, label %7720
7719: ; preds = %7712
br label %7724
7720: ; preds = %7712
%7721 = load i16, i16* %16
%7722 = sext i16 %7721 to i32
%7723 = sub nsw i32 25, %7722
br label %7724
7724: ; preds = %7720, %7719
%7725 = phi i32 [ 0, %7719 ], [ %7723, %7720 ]
%7726 = trunc i32 %7725 to i16
store i16 %7726, i16* %12
%7727 = load i16, i16* %18
%7728 = sext i16 %7727 to i32
%7729 = icmp eq i32 %7728, 0
br i1 %7729, label %7730, label %7731
7730: ; preds = %7724
br label %7735
7731: ; preds = %7724
%7732 = load i16, i16* %18
%7733 = sext i16 %7732 to i32
%7734 = sub nsw i32 25, %7733
br label %7735
7735: ; preds = %7731, %7730
%7736 = phi i32 [ 0, %7730 ], [ %7734, %7731 ]
%7737 = trunc i32 %7736 to i16
store i16 %7737, i16* %16
%7738 = load i16, i16* %13
store i16 %7738, i16* %18
%7739 = load i16, i16* %17
%7740 = sext i16 %7739 to i32
%7741 = icmp eq i32 %7740, 0
br i1 %7741, label %7742, label %7743
7742: ; preds = %7735
br label %7747
7743: ; preds = %7735
%7744 = load i16, i16* %17
%7745 = sext i16 %7744 to i32
%7746 = sub nsw i32 25, %7745
br label %7747
7747: ; preds = %7743, %7742
%7748 = phi i32 [ 0, %7742 ], [ %7746, %7743 ]
%7749 = trunc i32 %7748 to i16
store i16 %7749, i16* %13
%7750 = load i16, i16* %18
%7751 = sext i16 %7750 to i32
%7752 = icmp eq i32 %7751, 0
br i1 %7752, label %7753, label %7754
7753: ; preds = %7747
br label %7758
7754: ; preds = %7747
%7755 = load i16, i16* %18
%7756 = sext i16 %7755 to i32
%7757 = sub nsw i32 25, %7756
br label %7758
7758: ; preds = %7754, %7753
%7759 = phi i32 [ 0, %7753 ], [ %7757, %7754 ]
%7760 = trunc i32 %7759 to i16
store i16 %7760, i16* %17
%7761 = load i16, i16* %10
%7762 = sext i16 %7761 to i32
%7763 = load i16, i16* %11
%7764 = sext i16 %7763 to i32
%7765 = load i16, i16* %12
%7766 = sext i16 %7765 to i32
%7767 = load i16, i16* %13
%7768 = sext i16 %7767 to i32
%7769 = load i16, i16* %14
%7770 = sext i16 %7769 to i32
%7771 = load i16, i16* %15
%7772 = sext i16 %7771 to i32
%7773 = load i16, i16* %16
%7774 = sext i16 %7773 to i32
%7775 = load i16, i16* %17
%7776 = sext i16 %7775 to i32
%7777 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7762, i32 %7764, i32 %7766, i32 %7768, i32 %7770, i32 %7772, i32 %7774, i32 %7776)
%7778 = icmp sle i32 0, %7777
br i1 %7778, label %7779, label %7781
7779: ; preds = %7758
%7780 = load i16, i16* %21
store i16 %7780, i16* %9
br label %18762
7781: ; preds = %7758
%7782 = load i16, i16* %10
store i16 %7782, i16* %18
%7783 = load i16, i16* %14
%7784 = sext i16 %7783 to i32
%7785 = icmp eq i32 %7784, 0
br i1 %7785, label %7786, label %7787
7786: ; preds = %7781
br label %7791
7787: ; preds = %7781
%7788 = load i16, i16* %14
%7789 = sext i16 %7788 to i32
%7790 = sub nsw i32 25, %7789
br label %7791
7791: ; preds = %7787, %7786
%7792 = phi i32 [ 0, %7786 ], [ %7790, %7787 ]
%7793 = trunc i32 %7792 to i16
store i16 %7793, i16* %10
%7794 = load i16, i16* %18
%7795 = sext i16 %7794 to i32
%7796 = icmp eq i32 %7795, 0
br i1 %7796, label %7797, label %7798
7797: ; preds = %7791
br label %7802
7798: ; preds = %7791
%7799 = load i16, i16* %18
%7800 = sext i16 %7799 to i32
%7801 = sub nsw i32 25, %7800
br label %7802
7802: ; preds = %7798, %7797
%7803 = phi i32 [ 0, %7797 ], [ %7801, %7798 ]
%7804 = trunc i32 %7803 to i16
store i16 %7804, i16* %14
%7805 = load i16, i16* %11
store i16 %7805, i16* %18
%7806 = load i16, i16* %15
%7807 = sext i16 %7806 to i32
%7808 = icmp eq i32 %7807, 0
br i1 %7808, label %7809, label %7810
7809: ; preds = %7802
br label %7814
7810: ; preds = %7802
%7811 = load i16, i16* %15
%7812 = sext i16 %7811 to i32
%7813 = sub nsw i32 25, %7812
br label %7814
7814: ; preds = %7810, %7809
%7815 = phi i32 [ 0, %7809 ], [ %7813, %7810 ]
%7816 = trunc i32 %7815 to i16
store i16 %7816, i16* %11
%7817 = load i16, i16* %18
%7818 = sext i16 %7817 to i32
%7819 = icmp eq i32 %7818, 0
br i1 %7819, label %7820, label %7821
7820: ; preds = %7814
br label %7825
7821: ; preds = %7814
%7822 = load i16, i16* %18
%7823 = sext i16 %7822 to i32
%7824 = sub nsw i32 25, %7823
br label %7825
7825: ; preds = %7821, %7820
%7826 = phi i32 [ 0, %7820 ], [ %7824, %7821 ]
%7827 = trunc i32 %7826 to i16
store i16 %7827, i16* %15
%7828 = load i16, i16* %12
store i16 %7828, i16* %18
%7829 = load i16, i16* %16
%7830 = sext i16 %7829 to i32
%7831 = icmp eq i32 %7830, 0
br i1 %7831, label %7832, label %7833
7832: ; preds = %7825
br label %7837
7833: ; preds = %7825
%7834 = load i16, i16* %16
%7835 = sext i16 %7834 to i32
%7836 = sub nsw i32 25, %7835
br label %7837
7837: ; preds = %7833, %7832
%7838 = phi i32 [ 0, %7832 ], [ %7836, %7833 ]
%7839 = trunc i32 %7838 to i16
store i16 %7839, i16* %12
%7840 = load i16, i16* %18
%7841 = sext i16 %7840 to i32
%7842 = icmp eq i32 %7841, 0
br i1 %7842, label %7843, label %7844
7843: ; preds = %7837
br label %7848
7844: ; preds = %7837
%7845 = load i16, i16* %18
%7846 = sext i16 %7845 to i32
%7847 = sub nsw i32 25, %7846
br label %7848
7848: ; preds = %7844, %7843
%7849 = phi i32 [ 0, %7843 ], [ %7847, %7844 ]
%7850 = trunc i32 %7849 to i16
store i16 %7850, i16* %16
%7851 = load i16, i16* %13
store i16 %7851, i16* %18
%7852 = load i16, i16* %17
%7853 = sext i16 %7852 to i32
%7854 = icmp eq i32 %7853, 0
br i1 %7854, label %7855, label %7856
7855: ; preds = %7848
br label %7860
7856: ; preds = %7848
%7857 = load i16, i16* %17
%7858 = sext i16 %7857 to i32
%7859 = sub nsw i32 25, %7858
br label %7860
7860: ; preds = %7856, %7855
%7861 = phi i32 [ 0, %7855 ], [ %7859, %7856 ]
%7862 = trunc i32 %7861 to i16
store i16 %7862, i16* %13
%7863 = load i16, i16* %18
%7864 = sext i16 %7863 to i32
%7865 = icmp eq i32 %7864, 0
br i1 %7865, label %7866, label %7867
7866: ; preds = %7860
br label %7871
7867: ; preds = %7860
%7868 = load i16, i16* %18
%7869 = sext i16 %7868 to i32
%7870 = sub nsw i32 25, %7869
br label %7871
7871: ; preds = %7867, %7866
%7872 = phi i32 [ 0, %7866 ], [ %7870, %7867 ]
%7873 = trunc i32 %7872 to i16
store i16 %7873, i16* %17
%7874 = load i16, i16* %20
store i16 %7874, i16* %14
br label %8295
7875: ; preds = %7661
%7876 = load i16, i16* %20
%7877 = sext i16 %7876 to i32
%7878 = load i16, i16* %17
%7879 = sext i16 %7878 to i32
%7880 = icmp eq i32 %7877, %7879
br i1 %7880, label %7881, label %8088
7881: ; preds = %7875
store i16 0, i16* %17
%7882 = load i16, i16* %10
store i16 %7882, i16* %18
%7883 = load i16, i16* %14
%7884 = sext i16 %7883 to i32
%7885 = icmp eq i32 %7884, 0
br i1 %7885, label %7886, label %7887
7886: ; preds = %7881
br label %7891
7887: ; preds = %7881
%7888 = load i16, i16* %14
%7889 = sext i16 %7888 to i32
%7890 = sub nsw i32 25, %7889
br label %7891
7891: ; preds = %7887, %7886
%7892 = phi i32 [ 0, %7886 ], [ %7890, %7887 ]
%7893 = trunc i32 %7892 to i16
store i16 %7893, i16* %10
%7894 = load i16, i16* %18
%7895 = sext i16 %7894 to i32
%7896 = icmp eq i32 %7895, 0
br i1 %7896, label %7897, label %7898
7897: ; preds = %7891
br label %7902
7898: ; preds = %7891
%7899 = load i16, i16* %18
%7900 = sext i16 %7899 to i32
%7901 = sub nsw i32 25, %7900
br label %7902
7902: ; preds = %7898, %7897
%7903 = phi i32 [ 0, %7897 ], [ %7901, %7898 ]
%7904 = trunc i32 %7903 to i16
store i16 %7904, i16* %14
%7905 = load i16, i16* %11
store i16 %7905, i16* %18
%7906 = load i16, i16* %15
%7907 = sext i16 %7906 to i32
%7908 = icmp eq i32 %7907, 0
br i1 %7908, label %7909, label %7910
7909: ; preds = %7902
br label %7914
7910: ; preds = %7902
%7911 = load i16, i16* %15
%7912 = sext i16 %7911 to i32
%7913 = sub nsw i32 25, %7912
br label %7914
7914: ; preds = %7910, %7909
%7915 = phi i32 [ 0, %7909 ], [ %7913, %7910 ]
%7916 = trunc i32 %7915 to i16
store i16 %7916, i16* %11
%7917 = load i16, i16* %18
%7918 = sext i16 %7917 to i32
%7919 = icmp eq i32 %7918, 0
br i1 %7919, label %7920, label %7921
7920: ; preds = %7914
br label %7925
7921: ; preds = %7914
%7922 = load i16, i16* %18
%7923 = sext i16 %7922 to i32
%7924 = sub nsw i32 25, %7923
br label %7925
7925: ; preds = %7921, %7920
%7926 = phi i32 [ 0, %7920 ], [ %7924, %7921 ]
%7927 = trunc i32 %7926 to i16
store i16 %7927, i16* %15
%7928 = load i16, i16* %12
store i16 %7928, i16* %18
%7929 = load i16, i16* %16
%7930 = sext i16 %7929 to i32
%7931 = icmp eq i32 %7930, 0
br i1 %7931, label %7932, label %7933
7932: ; preds = %7925
br label %7937
7933: ; preds = %7925
%7934 = load i16, i16* %16
%7935 = sext i16 %7934 to i32
%7936 = sub nsw i32 25, %7935
br label %7937
7937: ; preds = %7933, %7932
%7938 = phi i32 [ 0, %7932 ], [ %7936, %7933 ]
%7939 = trunc i32 %7938 to i16
store i16 %7939, i16* %12
%7940 = load i16, i16* %18
%7941 = sext i16 %7940 to i32
%7942 = icmp eq i32 %7941, 0
br i1 %7942, label %7943, label %7944
7943: ; preds = %7937
br label %7948
7944: ; preds = %7937
%7945 = load i16, i16* %18
%7946 = sext i16 %7945 to i32
%7947 = sub nsw i32 25, %7946
br label %7948
7948: ; preds = %7944, %7943
%7949 = phi i32 [ 0, %7943 ], [ %7947, %7944 ]
%7950 = trunc i32 %7949 to i16
store i16 %7950, i16* %16
%7951 = load i16, i16* %13
store i16 %7951, i16* %18
%7952 = load i16, i16* %17
%7953 = sext i16 %7952 to i32
%7954 = icmp eq i32 %7953, 0
br i1 %7954, label %7955, label %7956
7955: ; preds = %7948
br label %7960
7956: ; preds = %7948
%7957 = load i16, i16* %17
%7958 = sext i16 %7957 to i32
%7959 = sub nsw i32 25, %7958
br label %7960
7960: ; preds = %7956, %7955
%7961 = phi i32 [ 0, %7955 ], [ %7959, %7956 ]
%7962 = trunc i32 %7961 to i16
store i16 %7962, i16* %13
%7963 = load i16, i16* %18
%7964 = sext i16 %7963 to i32
%7965 = icmp eq i32 %7964, 0
br i1 %7965, label %7966, label %7967
7966: ; preds = %7960
br label %7971
7967: ; preds = %7960
%7968 = load i16, i16* %18
%7969 = sext i16 %7968 to i32
%7970 = sub nsw i32 25, %7969
br label %7971
7971: ; preds = %7967, %7966
%7972 = phi i32 [ 0, %7966 ], [ %7970, %7967 ]
%7973 = trunc i32 %7972 to i16
store i16 %7973, i16* %17
%7974 = load i16, i16* %10
%7975 = sext i16 %7974 to i32
%7976 = load i16, i16* %11
%7977 = sext i16 %7976 to i32
%7978 = load i16, i16* %12
%7979 = sext i16 %7978 to i32
%7980 = load i16, i16* %13
%7981 = sext i16 %7980 to i32
%7982 = load i16, i16* %14
%7983 = sext i16 %7982 to i32
%7984 = load i16, i16* %15
%7985 = sext i16 %7984 to i32
%7986 = load i16, i16* %16
%7987 = sext i16 %7986 to i32
%7988 = load i16, i16* %17
%7989 = sext i16 %7988 to i32
%7990 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7975, i32 %7977, i32 %7979, i32 %7981, i32 %7983, i32 %7985, i32 %7987, i32 %7989)
%7991 = icmp sle i32 0, %7990
br i1 %7991, label %7992, label %7994
7992: ; preds = %7971
%7993 = load i16, i16* %21
store i16 %7993, i16* %9
br label %18762
7994: ; preds = %7971
%7995 = load i16, i16* %10
store i16 %7995, i16* %18
%7996 = load i16, i16* %14
%7997 = sext i16 %7996 to i32
%7998 = icmp eq i32 %7997, 0
br i1 %7998, label %7999, label %8000
7999: ; preds = %7994
br label %8004
8000: ; preds = %7994
%8001 = load i16, i16* %14
%8002 = sext i16 %8001 to i32
%8003 = sub nsw i32 25, %8002
br label %8004
8004: ; preds = %8000, %7999
%8005 = phi i32 [ 0, %7999 ], [ %8003, %8000 ]
%8006 = trunc i32 %8005 to i16
store i16 %8006, i16* %10
%8007 = load i16, i16* %18
%8008 = sext i16 %8007 to i32
%8009 = icmp eq i32 %8008, 0
br i1 %8009, label %8010, label %8011
8010: ; preds = %8004
br label %8015
8011: ; preds = %8004
%8012 = load i16, i16* %18
%8013 = sext i16 %8012 to i32
%8014 = sub nsw i32 25, %8013
br label %8015
8015: ; preds = %8011, %8010
%8016 = phi i32 [ 0, %8010 ], [ %8014, %8011 ]
%8017 = trunc i32 %8016 to i16
store i16 %8017, i16* %14
%8018 = load i16, i16* %11
store i16 %8018, i16* %18
%8019 = load i16, i16* %15
%8020 = sext i16 %8019 to i32
%8021 = icmp eq i32 %8020, 0
br i1 %8021, label %8022, label %8023
8022: ; preds = %8015
br label %8027
8023: ; preds = %8015
%8024 = load i16, i16* %15
%8025 = sext i16 %8024 to i32
%8026 = sub nsw i32 25, %8025
br label %8027
8027: ; preds = %8023, %8022
%8028 = phi i32 [ 0, %8022 ], [ %8026, %8023 ]
%8029 = trunc i32 %8028 to i16
store i16 %8029, i16* %11
%8030 = load i16, i16* %18
%8031 = sext i16 %8030 to i32
%8032 = icmp eq i32 %8031, 0
br i1 %8032, label %8033, label %8034
8033: ; preds = %8027
br label %8038
8034: ; preds = %8027
%8035 = load i16, i16* %18
%8036 = sext i16 %8035 to i32
%8037 = sub nsw i32 25, %8036
br label %8038
8038: ; preds = %8034, %8033
%8039 = phi i32 [ 0, %8033 ], [ %8037, %8034 ]
%8040 = trunc i32 %8039 to i16
store i16 %8040, i16* %15
%8041 = load i16, i16* %12
store i16 %8041, i16* %18
%8042 = load i16, i16* %16
%8043 = sext i16 %8042 to i32
%8044 = icmp eq i32 %8043, 0
br i1 %8044, label %8045, label %8046
8045: ; preds = %8038
br label %8050
8046: ; preds = %8038
%8047 = load i16, i16* %16
%8048 = sext i16 %8047 to i32
%8049 = sub nsw i32 25, %8048
br label %8050
8050: ; preds = %8046, %8045
%8051 = phi i32 [ 0, %8045 ], [ %8049, %8046 ]
%8052 = trunc i32 %8051 to i16
store i16 %8052, i16* %12
%8053 = load i16, i16* %18
%8054 = sext i16 %8053 to i32
%8055 = icmp eq i32 %8054, 0
br i1 %8055, label %8056, label %8057
8056: ; preds = %8050
br label %8061
8057: ; preds = %8050
%8058 = load i16, i16* %18
%8059 = sext i16 %8058 to i32
%8060 = sub nsw i32 25, %8059
br label %8061
8061: ; preds = %8057, %8056
%8062 = phi i32 [ 0, %8056 ], [ %8060, %8057 ]
%8063 = trunc i32 %8062 to i16
store i16 %8063, i16* %16
%8064 = load i16, i16* %13
store i16 %8064, i16* %18
%8065 = load i16, i16* %17
%8066 = sext i16 %8065 to i32
%8067 = icmp eq i32 %8066, 0
br i1 %8067, label %8068, label %8069
8068: ; preds = %8061
br label %8073
8069: ; preds = %8061
%8070 = load i16, i16* %17
%8071 = sext i16 %8070 to i32
%8072 = sub nsw i32 25, %8071
br label %8073
8073: ; preds = %8069, %8068
%8074 = phi i32 [ 0, %8068 ], [ %8072, %8069 ]
%8075 = trunc i32 %8074 to i16
store i16 %8075, i16* %13
%8076 = load i16, i16* %18
%8077 = sext i16 %8076 to i32
%8078 = icmp eq i32 %8077, 0
br i1 %8078, label %8079, label %8080
8079: ; preds = %8073
br label %8084
8080: ; preds = %8073
%8081 = load i16, i16* %18
%8082 = sext i16 %8081 to i32
%8083 = sub nsw i32 25, %8082
br label %8084
8084: ; preds = %8080, %8079
%8085 = phi i32 [ 0, %8079 ], [ %8083, %8080 ]
%8086 = trunc i32 %8085 to i16
store i16 %8086, i16* %17
%8087 = load i16, i16* %20
store i16 %8087, i16* %17
br label %8294
8088: ; preds = %7875
%8089 = load i16, i16* %10
store i16 %8089, i16* %18
%8090 = load i16, i16* %14
%8091 = sext i16 %8090 to i32
%8092 = icmp eq i32 %8091, 0
br i1 %8092, label %8093, label %8094
8093: ; preds = %8088
br label %8098
8094: ; preds = %8088
%8095 = load i16, i16* %14
%8096 = sext i16 %8095 to i32
%8097 = sub nsw i32 25, %8096
br label %8098
8098: ; preds = %8094, %8093
%8099 = phi i32 [ 0, %8093 ], [ %8097, %8094 ]
%8100 = trunc i32 %8099 to i16
store i16 %8100, i16* %10
%8101 = load i16, i16* %18
%8102 = sext i16 %8101 to i32
%8103 = icmp eq i32 %8102, 0
br i1 %8103, label %8104, label %8105
8104: ; preds = %8098
br label %8109
8105: ; preds = %8098
%8106 = load i16, i16* %18
%8107 = sext i16 %8106 to i32
%8108 = sub nsw i32 25, %8107
br label %8109
8109: ; preds = %8105, %8104
%8110 = phi i32 [ 0, %8104 ], [ %8108, %8105 ]
%8111 = trunc i32 %8110 to i16
store i16 %8111, i16* %14
%8112 = load i16, i16* %11
store i16 %8112, i16* %18
%8113 = load i16, i16* %15
%8114 = sext i16 %8113 to i32
%8115 = icmp eq i32 %8114, 0
br i1 %8115, label %8116, label %8117
8116: ; preds = %8109
br label %8121
8117: ; preds = %8109
%8118 = load i16, i16* %15
%8119 = sext i16 %8118 to i32
%8120 = sub nsw i32 25, %8119
br label %8121
8121: ; preds = %8117, %8116
%8122 = phi i32 [ 0, %8116 ], [ %8120, %8117 ]
%8123 = trunc i32 %8122 to i16
store i16 %8123, i16* %11
%8124 = load i16, i16* %18
%8125 = sext i16 %8124 to i32
%8126 = icmp eq i32 %8125, 0
br i1 %8126, label %8127, label %8128
8127: ; preds = %8121
br label %8132
8128: ; preds = %8121
%8129 = load i16, i16* %18
%8130 = sext i16 %8129 to i32
%8131 = sub nsw i32 25, %8130
br label %8132
8132: ; preds = %8128, %8127
%8133 = phi i32 [ 0, %8127 ], [ %8131, %8128 ]
%8134 = trunc i32 %8133 to i16
store i16 %8134, i16* %15
%8135 = load i16, i16* %12
store i16 %8135, i16* %18
%8136 = load i16, i16* %16
%8137 = sext i16 %8136 to i32
%8138 = icmp eq i32 %8137, 0
br i1 %8138, label %8139, label %8140
8139: ; preds = %8132
br label %8144
8140: ; preds = %8132
%8141 = load i16, i16* %16
%8142 = sext i16 %8141 to i32
%8143 = sub nsw i32 25, %8142
br label %8144
8144: ; preds = %8140, %8139
%8145 = phi i32 [ 0, %8139 ], [ %8143, %8140 ]
%8146 = trunc i32 %8145 to i16
store i16 %8146, i16* %12
%8147 = load i16, i16* %18
%8148 = sext i16 %8147 to i32
%8149 = icmp eq i32 %8148, 0
br i1 %8149, label %8150, label %8151
8150: ; preds = %8144
br label %8155
8151: ; preds = %8144
%8152 = load i16, i16* %18
%8153 = sext i16 %8152 to i32
%8154 = sub nsw i32 25, %8153
br label %8155
8155: ; preds = %8151, %8150
%8156 = phi i32 [ 0, %8150 ], [ %8154, %8151 ]
%8157 = trunc i32 %8156 to i16
store i16 %8157, i16* %16
%8158 = load i16, i16* %13
store i16 %8158, i16* %18
%8159 = load i16, i16* %17
%8160 = sext i16 %8159 to i32
%8161 = icmp eq i32 %8160, 0
br i1 %8161, label %8162, label %8163
8162: ; preds = %8155
br label %8167
8163: ; preds = %8155
%8164 = load i16, i16* %17
%8165 = sext i16 %8164 to i32
%8166 = sub nsw i32 25, %8165
br label %8167
8167: ; preds = %8163, %8162
%8168 = phi i32 [ 0, %8162 ], [ %8166, %8163 ]
%8169 = trunc i32 %8168 to i16
store i16 %8169, i16* %13
%8170 = load i16, i16* %18
%8171 = sext i16 %8170 to i32
%8172 = icmp eq i32 %8171, 0
br i1 %8172, label %8173, label %8174
8173: ; preds = %8167
br label %8178
8174: ; preds = %8167
%8175 = load i16, i16* %18
%8176 = sext i16 %8175 to i32
%8177 = sub nsw i32 25, %8176
br label %8178
8178: ; preds = %8174, %8173
%8179 = phi i32 [ 0, %8173 ], [ %8177, %8174 ]
%8180 = trunc i32 %8179 to i16
store i16 %8180, i16* %17
%8181 = load i16, i16* %10
%8182 = sext i16 %8181 to i32
%8183 = load i16, i16* %11
%8184 = sext i16 %8183 to i32
%8185 = load i16, i16* %12
%8186 = sext i16 %8185 to i32
%8187 = load i16, i16* %13
%8188 = sext i16 %8187 to i32
%8189 = load i16, i16* %14
%8190 = sext i16 %8189 to i32
%8191 = load i16, i16* %15
%8192 = sext i16 %8191 to i32
%8193 = load i16, i16* %16
%8194 = sext i16 %8193 to i32
%8195 = load i16, i16* %17
%8196 = sext i16 %8195 to i32
%8197 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8182, i32 %8184, i32 %8186, i32 %8188, i32 %8190, i32 %8192, i32 %8194, i32 %8196)
%8198 = icmp sle i32 0, %8197
br i1 %8198, label %8199, label %8201
8199: ; preds = %8178
%8200 = load i16, i16* %21
store i16 %8200, i16* %9
br label %18762
8201: ; preds = %8178
%8202 = load i16, i16* %10
store i16 %8202, i16* %18
%8203 = load i16, i16* %14
%8204 = sext i16 %8203 to i32
%8205 = icmp eq i32 %8204, 0
br i1 %8205, label %8206, label %8207
8206: ; preds = %8201
br label %8211
8207: ; preds = %8201
%8208 = load i16, i16* %14
%8209 = sext i16 %8208 to i32
%8210 = sub nsw i32 25, %8209
br label %8211
8211: ; preds = %8207, %8206
%8212 = phi i32 [ 0, %8206 ], [ %8210, %8207 ]
%8213 = trunc i32 %8212 to i16
store i16 %8213, i16* %10
%8214 = load i16, i16* %18
%8215 = sext i16 %8214 to i32
%8216 = icmp eq i32 %8215, 0
br i1 %8216, label %8217, label %8218
8217: ; preds = %8211
br label %8222
8218: ; preds = %8211
%8219 = load i16, i16* %18
%8220 = sext i16 %8219 to i32
%8221 = sub nsw i32 25, %8220
br label %8222
8222: ; preds = %8218, %8217
%8223 = phi i32 [ 0, %8217 ], [ %8221, %8218 ]
%8224 = trunc i32 %8223 to i16
store i16 %8224, i16* %14
%8225 = load i16, i16* %11
store i16 %8225, i16* %18
%8226 = load i16, i16* %15
%8227 = sext i16 %8226 to i32
%8228 = icmp eq i32 %8227, 0
br i1 %8228, label %8229, label %8230
8229: ; preds = %8222
br label %8234
8230: ; preds = %8222
%8231 = load i16, i16* %15
%8232 = sext i16 %8231 to i32
%8233 = sub nsw i32 25, %8232
br label %8234
8234: ; preds = %8230, %8229
%8235 = phi i32 [ 0, %8229 ], [ %8233, %8230 ]
%8236 = trunc i32 %8235 to i16
store i16 %8236, i16* %11
%8237 = load i16, i16* %18
%8238 = sext i16 %8237 to i32
%8239 = icmp eq i32 %8238, 0
br i1 %8239, label %8240, label %8241
8240: ; preds = %8234
br label %8245
8241: ; preds = %8234
%8242 = load i16, i16* %18
%8243 = sext i16 %8242 to i32
%8244 = sub nsw i32 25, %8243
br label %8245
8245: ; preds = %8241, %8240
%8246 = phi i32 [ 0, %8240 ], [ %8244, %8241 ]
%8247 = trunc i32 %8246 to i16
store i16 %8247, i16* %15
%8248 = load i16, i16* %12
store i16 %8248, i16* %18
%8249 = load i16, i16* %16
%8250 = sext i16 %8249 to i32
%8251 = icmp eq i32 %8250, 0
br i1 %8251, label %8252, label %8253
8252: ; preds = %8245
br label %8257
8253: ; preds = %8245
%8254 = load i16, i16* %16
%8255 = sext i16 %8254 to i32
%8256 = sub nsw i32 25, %8255
br label %8257
8257: ; preds = %8253, %8252
%8258 = phi i32 [ 0, %8252 ], [ %8256, %8253 ]
%8259 = trunc i32 %8258 to i16
store i16 %8259, i16* %12
%8260 = load i16, i16* %18
%8261 = sext i16 %8260 to i32
%8262 = icmp eq i32 %8261, 0
br i1 %8262, label %8263, label %8264
8263: ; preds = %8257
br label %8268
8264: ; preds = %8257
%8265 = load i16, i16* %18
%8266 = sext i16 %8265 to i32
%8267 = sub nsw i32 25, %8266
br label %8268
8268: ; preds = %8264, %8263
%8269 = phi i32 [ 0, %8263 ], [ %8267, %8264 ]
%8270 = trunc i32 %8269 to i16
store i16 %8270, i16* %16
%8271 = load i16, i16* %13
store i16 %8271, i16* %18
%8272 = load i16, i16* %17
%8273 = sext i16 %8272 to i32
%8274 = icmp eq i32 %8273, 0
br i1 %8274, label %8275, label %8276
8275: ; preds = %8268
br label %8280
8276: ; preds = %8268
%8277 = load i16, i16* %17
%8278 = sext i16 %8277 to i32
%8279 = sub nsw i32 25, %8278
br label %8280
8280: ; preds = %8276, %8275
%8281 = phi i32 [ 0, %8275 ], [ %8279, %8276 ]
%8282 = trunc i32 %8281 to i16
store i16 %8282, i16* %13
%8283 = load i16, i16* %18
%8284 = sext i16 %8283 to i32
%8285 = icmp eq i32 %8284, 0
br i1 %8285, label %8286, label %8287
8286: ; preds = %8280
br label %8291
8287: ; preds = %8280
%8288 = load i16, i16* %18
%8289 = sext i16 %8288 to i32
%8290 = sub nsw i32 25, %8289
br label %8291
8291: ; preds = %8287, %8286
%8292 = phi i32 [ 0, %8286 ], [ %8290, %8287 ]
%8293 = trunc i32 %8292 to i16
store i16 %8293, i16* %17
br label %8294
8294: ; preds = %8291, %8084
br label %8295
8295: ; preds = %8294, %7871
%8296 = load i16, i16* %19
store i16 %8296, i16* %11
br label %8297
8297: ; preds = %8295, %7655, %7649, %7643, %7637, %7626
br label %8298
8298: ; preds = %8297, %7621, %7617, %7613
br label %18746
8299: ; preds = %7609
%8300 = load i16, i16* %21
%8301 = sext i16 %8300 to i32
%8302 = icmp eq i32 %8301, 12
br i1 %8302, label %8303, label %8984
8303: ; preds = %8299
%8304 = load i16, i16* %11
%8305 = sext i16 %8304 to i32
%8306 = icmp ne i32 %8305, 0
br i1 %8306, label %8307, label %8983
8307: ; preds = %8303
%8308 = load i16, i16* %11
%8309 = sext i16 %8308 to i32
%8310 = icmp slt i32 4, %8309
br i1 %8310, label %8311, label %8983
8311: ; preds = %8307
%8312 = load i16, i16* %11
store i16 %8312, i16* %19
%8313 = load i16, i16* %19
%8314 = sext i16 %8313 to i32
%8315 = sub nsw i32 %8314, 4
%8316 = trunc i32 %8315 to i16
store i16 %8316, i16* %20
%8317 = load i16, i16* %20
%8318 = sext i16 %8317 to i32
%8319 = load i16, i16* %10
%8320 = sext i16 %8319 to i32
%8321 = icmp ne i32 %8318, %8320
br i1 %8321, label %8322, label %8982
8322: ; preds = %8311
%8323 = load i16, i16* %20
%8324 = sext i16 %8323 to i32
%8325 = load i16, i16* %12
%8326 = sext i16 %8325 to i32
%8327 = icmp ne i32 %8324, %8326
br i1 %8327, label %8328, label %8982
8328: ; preds = %8322
%8329 = load i16, i16* %20
%8330 = sext i16 %8329 to i32
%8331 = load i16, i16* %13
%8332 = sext i16 %8331 to i32
%8333 = icmp ne i32 %8330, %8332
br i1 %8333, label %8334, label %8982
8334: ; preds = %8328
%8335 = load i16, i16* %20
%8336 = sext i16 %8335 to i32
%8337 = load i16, i16* %15
%8338 = sext i16 %8337 to i32
%8339 = icmp ne i32 %8336, %8338
br i1 %8339, label %8340, label %8982
8340: ; preds = %8334
%8341 = load i16, i16* %20
%8342 = sext i16 %8341 to i32
%8343 = load i16, i16* %16
%8344 = sext i16 %8343 to i32
%8345 = icmp ne i32 %8342, %8344
br i1 %8345, label %8346, label %8982
8346: ; preds = %8340
%8347 = load i16, i16* %20
store i16 %8347, i16* %11
%8348 = load i16, i16* %14
%8349 = sext i16 %8348 to i32
%8350 = load i16, i16* %20
%8351 = sext i16 %8350 to i32
%8352 = icmp eq i32 %8349, %8351
br i1 %8352, label %8353, label %8560
8353: ; preds = %8346
store i16 0, i16* %14
%8354 = load i16, i16* %10
store i16 %8354, i16* %18
%8355 = load i16, i16* %14
%8356 = sext i16 %8355 to i32
%8357 = icmp eq i32 %8356, 0
br i1 %8357, label %8358, label %8359
8358: ; preds = %8353
br label %8363
8359: ; preds = %8353
%8360 = load i16, i16* %14
%8361 = sext i16 %8360 to i32
%8362 = sub nsw i32 25, %8361
br label %8363
8363: ; preds = %8359, %8358
%8364 = phi i32 [ 0, %8358 ], [ %8362, %8359 ]
%8365 = trunc i32 %8364 to i16
store i16 %8365, i16* %10
%8366 = load i16, i16* %18
%8367 = sext i16 %8366 to i32
%8368 = icmp eq i32 %8367, 0
br i1 %8368, label %8369, label %8370
8369: ; preds = %8363
br label %8374
8370: ; preds = %8363
%8371 = load i16, i16* %18
%8372 = sext i16 %8371 to i32
%8373 = sub nsw i32 25, %8372
br label %8374
8374: ; preds = %8370, %8369
%8375 = phi i32 [ 0, %8369 ], [ %8373, %8370 ]
%8376 = trunc i32 %8375 to i16
store i16 %8376, i16* %14
%8377 = load i16, i16* %11
store i16 %8377, i16* %18
%8378 = load i16, i16* %15
%8379 = sext i16 %8378 to i32
%8380 = icmp eq i32 %8379, 0
br i1 %8380, label %8381, label %8382
8381: ; preds = %8374
br label %8386
8382: ; preds = %8374
%8383 = load i16, i16* %15
%8384 = sext i16 %8383 to i32
%8385 = sub nsw i32 25, %8384
br label %8386
8386: ; preds = %8382, %8381
%8387 = phi i32 [ 0, %8381 ], [ %8385, %8382 ]
%8388 = trunc i32 %8387 to i16
store i16 %8388, i16* %11
%8389 = load i16, i16* %18
%8390 = sext i16 %8389 to i32
%8391 = icmp eq i32 %8390, 0
br i1 %8391, label %8392, label %8393
8392: ; preds = %8386
br label %8397
8393: ; preds = %8386
%8394 = load i16, i16* %18
%8395 = sext i16 %8394 to i32
%8396 = sub nsw i32 25, %8395
br label %8397
8397: ; preds = %8393, %8392
%8398 = phi i32 [ 0, %8392 ], [ %8396, %8393 ]
%8399 = trunc i32 %8398 to i16
store i16 %8399, i16* %15
%8400 = load i16, i16* %12
store i16 %8400, i16* %18
%8401 = load i16, i16* %16
%8402 = sext i16 %8401 to i32
%8403 = icmp eq i32 %8402, 0
br i1 %8403, label %8404, label %8405
8404: ; preds = %8397
br label %8409
8405: ; preds = %8397
%8406 = load i16, i16* %16
%8407 = sext i16 %8406 to i32
%8408 = sub nsw i32 25, %8407
br label %8409
8409: ; preds = %8405, %8404
%8410 = phi i32 [ 0, %8404 ], [ %8408, %8405 ]
%8411 = trunc i32 %8410 to i16
store i16 %8411, i16* %12
%8412 = load i16, i16* %18
%8413 = sext i16 %8412 to i32
%8414 = icmp eq i32 %8413, 0
br i1 %8414, label %8415, label %8416
8415: ; preds = %8409
br label %8420
8416: ; preds = %8409
%8417 = load i16, i16* %18
%8418 = sext i16 %8417 to i32
%8419 = sub nsw i32 25, %8418
br label %8420
8420: ; preds = %8416, %8415
%8421 = phi i32 [ 0, %8415 ], [ %8419, %8416 ]
%8422 = trunc i32 %8421 to i16
store i16 %8422, i16* %16
%8423 = load i16, i16* %13
store i16 %8423, i16* %18
%8424 = load i16, i16* %17
%8425 = sext i16 %8424 to i32
%8426 = icmp eq i32 %8425, 0
br i1 %8426, label %8427, label %8428
8427: ; preds = %8420
br label %8432
8428: ; preds = %8420
%8429 = load i16, i16* %17
%8430 = sext i16 %8429 to i32
%8431 = sub nsw i32 25, %8430
br label %8432
8432: ; preds = %8428, %8427
%8433 = phi i32 [ 0, %8427 ], [ %8431, %8428 ]
%8434 = trunc i32 %8433 to i16
store i16 %8434, i16* %13
%8435 = load i16, i16* %18
%8436 = sext i16 %8435 to i32
%8437 = icmp eq i32 %8436, 0
br i1 %8437, label %8438, label %8439
8438: ; preds = %8432
br label %8443
8439: ; preds = %8432
%8440 = load i16, i16* %18
%8441 = sext i16 %8440 to i32
%8442 = sub nsw i32 25, %8441
br label %8443
8443: ; preds = %8439, %8438
%8444 = phi i32 [ 0, %8438 ], [ %8442, %8439 ]
%8445 = trunc i32 %8444 to i16
store i16 %8445, i16* %17
%8446 = load i16, i16* %10
%8447 = sext i16 %8446 to i32
%8448 = load i16, i16* %11
%8449 = sext i16 %8448 to i32
%8450 = load i16, i16* %12
%8451 = sext i16 %8450 to i32
%8452 = load i16, i16* %13
%8453 = sext i16 %8452 to i32
%8454 = load i16, i16* %14
%8455 = sext i16 %8454 to i32
%8456 = load i16, i16* %15
%8457 = sext i16 %8456 to i32
%8458 = load i16, i16* %16
%8459 = sext i16 %8458 to i32
%8460 = load i16, i16* %17
%8461 = sext i16 %8460 to i32
%8462 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8447, i32 %8449, i32 %8451, i32 %8453, i32 %8455, i32 %8457, i32 %8459, i32 %8461)
%8463 = icmp sle i32 0, %8462
br i1 %8463, label %8464, label %8466
8464: ; preds = %8443
%8465 = load i16, i16* %21
store i16 %8465, i16* %9
br label %18762
8466: ; preds = %8443
%8467 = load i16, i16* %10
store i16 %8467, i16* %18
%8468 = load i16, i16* %14
%8469 = sext i16 %8468 to i32
%8470 = icmp eq i32 %8469, 0
br i1 %8470, label %8471, label %8472
8471: ; preds = %8466
br label %8476
8472: ; preds = %8466
%8473 = load i16, i16* %14
%8474 = sext i16 %8473 to i32
%8475 = sub nsw i32 25, %8474
br label %8476
8476: ; preds = %8472, %8471
%8477 = phi i32 [ 0, %8471 ], [ %8475, %8472 ]
%8478 = trunc i32 %8477 to i16
store i16 %8478, i16* %10
%8479 = load i16, i16* %18
%8480 = sext i16 %8479 to i32
%8481 = icmp eq i32 %8480, 0
br i1 %8481, label %8482, label %8483
8482: ; preds = %8476
br label %8487
8483: ; preds = %8476
%8484 = load i16, i16* %18
%8485 = sext i16 %8484 to i32
%8486 = sub nsw i32 25, %8485
br label %8487
8487: ; preds = %8483, %8482
%8488 = phi i32 [ 0, %8482 ], [ %8486, %8483 ]
%8489 = trunc i32 %8488 to i16
store i16 %8489, i16* %14
%8490 = load i16, i16* %11
store i16 %8490, i16* %18
%8491 = load i16, i16* %15
%8492 = sext i16 %8491 to i32
%8493 = icmp eq i32 %8492, 0
br i1 %8493, label %8494, label %8495
8494: ; preds = %8487
br label %8499
8495: ; preds = %8487
%8496 = load i16, i16* %15
%8497 = sext i16 %8496 to i32
%8498 = sub nsw i32 25, %8497
br label %8499
8499: ; preds = %8495, %8494
%8500 = phi i32 [ 0, %8494 ], [ %8498, %8495 ]
%8501 = trunc i32 %8500 to i16
store i16 %8501, i16* %11
%8502 = load i16, i16* %18
%8503 = sext i16 %8502 to i32
%8504 = icmp eq i32 %8503, 0
br i1 %8504, label %8505, label %8506
8505: ; preds = %8499
br label %8510
8506: ; preds = %8499
%8507 = load i16, i16* %18
%8508 = sext i16 %8507 to i32
%8509 = sub nsw i32 25, %8508
br label %8510
8510: ; preds = %8506, %8505
%8511 = phi i32 [ 0, %8505 ], [ %8509, %8506 ]
%8512 = trunc i32 %8511 to i16
store i16 %8512, i16* %15
%8513 = load i16, i16* %12
store i16 %8513, i16* %18
%8514 = load i16, i16* %16
%8515 = sext i16 %8514 to i32
%8516 = icmp eq i32 %8515, 0
br i1 %8516, label %8517, label %8518
8517: ; preds = %8510
br label %8522
8518: ; preds = %8510
%8519 = load i16, i16* %16
%8520 = sext i16 %8519 to i32
%8521 = sub nsw i32 25, %8520
br label %8522
8522: ; preds = %8518, %8517
%8523 = phi i32 [ 0, %8517 ], [ %8521, %8518 ]
%8524 = trunc i32 %8523 to i16
store i16 %8524, i16* %12
%8525 = load i16, i16* %18
%8526 = sext i16 %8525 to i32
%8527 = icmp eq i32 %8526, 0
br i1 %8527, label %8528, label %8529
8528: ; preds = %8522
br label %8533
8529: ; preds = %8522
%8530 = load i16, i16* %18
%8531 = sext i16 %8530 to i32
%8532 = sub nsw i32 25, %8531
br label %8533
8533: ; preds = %8529, %8528
%8534 = phi i32 [ 0, %8528 ], [ %8532, %8529 ]
%8535 = trunc i32 %8534 to i16
store i16 %8535, i16* %16
%8536 = load i16, i16* %13
store i16 %8536, i16* %18
%8537 = load i16, i16* %17
%8538 = sext i16 %8537 to i32
%8539 = icmp eq i32 %8538, 0
br i1 %8539, label %8540, label %8541
8540: ; preds = %8533
br label %8545
8541: ; preds = %8533
%8542 = load i16, i16* %17
%8543 = sext i16 %8542 to i32
%8544 = sub nsw i32 25, %8543
br label %8545
8545: ; preds = %8541, %8540
%8546 = phi i32 [ 0, %8540 ], [ %8544, %8541 ]
%8547 = trunc i32 %8546 to i16
store i16 %8547, i16* %13
%8548 = load i16, i16* %18
%8549 = sext i16 %8548 to i32
%8550 = icmp eq i32 %8549, 0
br i1 %8550, label %8551, label %8552
8551: ; preds = %8545
br label %8556
8552: ; preds = %8545
%8553 = load i16, i16* %18
%8554 = sext i16 %8553 to i32
%8555 = sub nsw i32 25, %8554
br label %8556
8556: ; preds = %8552, %8551
%8557 = phi i32 [ 0, %8551 ], [ %8555, %8552 ]
%8558 = trunc i32 %8557 to i16
store i16 %8558, i16* %17
%8559 = load i16, i16* %20
store i16 %8559, i16* %14
br label %8980
8560: ; preds = %8346
%8561 = load i16, i16* %20
%8562 = sext i16 %8561 to i32
%8563 = load i16, i16* %17
%8564 = sext i16 %8563 to i32
%8565 = icmp eq i32 %8562, %8564
br i1 %8565, label %8566, label %8773
8566: ; preds = %8560
store i16 0, i16* %17
%8567 = load i16, i16* %10
store i16 %8567, i16* %18
%8568 = load i16, i16* %14
%8569 = sext i16 %8568 to i32
%8570 = icmp eq i32 %8569, 0
br i1 %8570, label %8571, label %8572
8571: ; preds = %8566
br label %8576
8572: ; preds = %8566
%8573 = load i16, i16* %14
%8574 = sext i16 %8573 to i32
%8575 = sub nsw i32 25, %8574
br label %8576
8576: ; preds = %8572, %8571
%8577 = phi i32 [ 0, %8571 ], [ %8575, %8572 ]
%8578 = trunc i32 %8577 to i16
store i16 %8578, i16* %10
%8579 = load i16, i16* %18
%8580 = sext i16 %8579 to i32
%8581 = icmp eq i32 %8580, 0
br i1 %8581, label %8582, label %8583
8582: ; preds = %8576
br label %8587
8583: ; preds = %8576
%8584 = load i16, i16* %18
%8585 = sext i16 %8584 to i32
%8586 = sub nsw i32 25, %8585
br label %8587
8587: ; preds = %8583, %8582
%8588 = phi i32 [ 0, %8582 ], [ %8586, %8583 ]
%8589 = trunc i32 %8588 to i16
store i16 %8589, i16* %14
%8590 = load i16, i16* %11
store i16 %8590, i16* %18
%8591 = load i16, i16* %15
%8592 = sext i16 %8591 to i32
%8593 = icmp eq i32 %8592, 0
br i1 %8593, label %8594, label %8595
8594: ; preds = %8587
br label %8599
8595: ; preds = %8587
%8596 = load i16, i16* %15
%8597 = sext i16 %8596 to i32
%8598 = sub nsw i32 25, %8597
br label %8599
8599: ; preds = %8595, %8594
%8600 = phi i32 [ 0, %8594 ], [ %8598, %8595 ]
%8601 = trunc i32 %8600 to i16
store i16 %8601, i16* %11
%8602 = load i16, i16* %18
%8603 = sext i16 %8602 to i32
%8604 = icmp eq i32 %8603, 0
br i1 %8604, label %8605, label %8606
8605: ; preds = %8599
br label %8610
8606: ; preds = %8599
%8607 = load i16, i16* %18
%8608 = sext i16 %8607 to i32
%8609 = sub nsw i32 25, %8608
br label %8610
8610: ; preds = %8606, %8605
%8611 = phi i32 [ 0, %8605 ], [ %8609, %8606 ]
%8612 = trunc i32 %8611 to i16
store i16 %8612, i16* %15
%8613 = load i16, i16* %12
store i16 %8613, i16* %18
%8614 = load i16, i16* %16
%8615 = sext i16 %8614 to i32
%8616 = icmp eq i32 %8615, 0
br i1 %8616, label %8617, label %8618
8617: ; preds = %8610
br label %8622
8618: ; preds = %8610
%8619 = load i16, i16* %16
%8620 = sext i16 %8619 to i32
%8621 = sub nsw i32 25, %8620
br label %8622
8622: ; preds = %8618, %8617
%8623 = phi i32 [ 0, %8617 ], [ %8621, %8618 ]
%8624 = trunc i32 %8623 to i16
store i16 %8624, i16* %12
%8625 = load i16, i16* %18
%8626 = sext i16 %8625 to i32
%8627 = icmp eq i32 %8626, 0
br i1 %8627, label %8628, label %8629
8628: ; preds = %8622
br label %8633
8629: ; preds = %8622
%8630 = load i16, i16* %18
%8631 = sext i16 %8630 to i32
%8632 = sub nsw i32 25, %8631
br label %8633
8633: ; preds = %8629, %8628
%8634 = phi i32 [ 0, %8628 ], [ %8632, %8629 ]
%8635 = trunc i32 %8634 to i16
store i16 %8635, i16* %16
%8636 = load i16, i16* %13
store i16 %8636, i16* %18
%8637 = load i16, i16* %17
%8638 = sext i16 %8637 to i32
%8639 = icmp eq i32 %8638, 0
br i1 %8639, label %8640, label %8641
8640: ; preds = %8633
br label %8645
8641: ; preds = %8633
%8642 = load i16, i16* %17
%8643 = sext i16 %8642 to i32
%8644 = sub nsw i32 25, %8643
br label %8645
8645: ; preds = %8641, %8640
%8646 = phi i32 [ 0, %8640 ], [ %8644, %8641 ]
%8647 = trunc i32 %8646 to i16
store i16 %8647, i16* %13
%8648 = load i16, i16* %18
%8649 = sext i16 %8648 to i32
%8650 = icmp eq i32 %8649, 0
br i1 %8650, label %8651, label %8652
8651: ; preds = %8645
br label %8656
8652: ; preds = %8645
%8653 = load i16, i16* %18
%8654 = sext i16 %8653 to i32
%8655 = sub nsw i32 25, %8654
br label %8656
8656: ; preds = %8652, %8651
%8657 = phi i32 [ 0, %8651 ], [ %8655, %8652 ]
%8658 = trunc i32 %8657 to i16
store i16 %8658, i16* %17
%8659 = load i16, i16* %10
%8660 = sext i16 %8659 to i32
%8661 = load i16, i16* %11
%8662 = sext i16 %8661 to i32
%8663 = load i16, i16* %12
%8664 = sext i16 %8663 to i32
%8665 = load i16, i16* %13
%8666 = sext i16 %8665 to i32
%8667 = load i16, i16* %14
%8668 = sext i16 %8667 to i32
%8669 = load i16, i16* %15
%8670 = sext i16 %8669 to i32
%8671 = load i16, i16* %16
%8672 = sext i16 %8671 to i32
%8673 = load i16, i16* %17
%8674 = sext i16 %8673 to i32
%8675 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8660, i32 %8662, i32 %8664, i32 %8666, i32 %8668, i32 %8670, i32 %8672, i32 %8674)
%8676 = icmp sle i32 0, %8675
br i1 %8676, label %8677, label %8679
8677: ; preds = %8656
%8678 = load i16, i16* %21
store i16 %8678, i16* %9
br label %18762
8679: ; preds = %8656
%8680 = load i16, i16* %10
store i16 %8680, i16* %18
%8681 = load i16, i16* %14
%8682 = sext i16 %8681 to i32
%8683 = icmp eq i32 %8682, 0
br i1 %8683, label %8684, label %8685
8684: ; preds = %8679
br label %8689
8685: ; preds = %8679
%8686 = load i16, i16* %14
%8687 = sext i16 %8686 to i32
%8688 = sub nsw i32 25, %8687
br label %8689
8689: ; preds = %8685, %8684
%8690 = phi i32 [ 0, %8684 ], [ %8688, %8685 ]
%8691 = trunc i32 %8690 to i16
store i16 %8691, i16* %10
%8692 = load i16, i16* %18
%8693 = sext i16 %8692 to i32
%8694 = icmp eq i32 %8693, 0
br i1 %8694, label %8695, label %8696
8695: ; preds = %8689
br label %8700
8696: ; preds = %8689
%8697 = load i16, i16* %18
%8698 = sext i16 %8697 to i32
%8699 = sub nsw i32 25, %8698
br label %8700
8700: ; preds = %8696, %8695
%8701 = phi i32 [ 0, %8695 ], [ %8699, %8696 ]
%8702 = trunc i32 %8701 to i16
store i16 %8702, i16* %14
%8703 = load i16, i16* %11
store i16 %8703, i16* %18
%8704 = load i16, i16* %15
%8705 = sext i16 %8704 to i32
%8706 = icmp eq i32 %8705, 0
br i1 %8706, label %8707, label %8708
8707: ; preds = %8700
br label %8712
8708: ; preds = %8700
%8709 = load i16, i16* %15
%8710 = sext i16 %8709 to i32
%8711 = sub nsw i32 25, %8710
br label %8712
8712: ; preds = %8708, %8707
%8713 = phi i32 [ 0, %8707 ], [ %8711, %8708 ]
%8714 = trunc i32 %8713 to i16
store i16 %8714, i16* %11
%8715 = load i16, i16* %18
%8716 = sext i16 %8715 to i32
%8717 = icmp eq i32 %8716, 0
br i1 %8717, label %8718, label %8719
8718: ; preds = %8712
br label %8723
8719: ; preds = %8712
%8720 = load i16, i16* %18
%8721 = sext i16 %8720 to i32
%8722 = sub nsw i32 25, %8721
br label %8723
8723: ; preds = %8719, %8718
%8724 = phi i32 [ 0, %8718 ], [ %8722, %8719 ]
%8725 = trunc i32 %8724 to i16
store i16 %8725, i16* %15
%8726 = load i16, i16* %12
store i16 %8726, i16* %18
%8727 = load i16, i16* %16
%8728 = sext i16 %8727 to i32
%8729 = icmp eq i32 %8728, 0
br i1 %8729, label %8730, label %8731
8730: ; preds = %8723
br label %8735
8731: ; preds = %8723
%8732 = load i16, i16* %16
%8733 = sext i16 %8732 to i32
%8734 = sub nsw i32 25, %8733
br label %8735
8735: ; preds = %8731, %8730
%8736 = phi i32 [ 0, %8730 ], [ %8734, %8731 ]
%8737 = trunc i32 %8736 to i16
store i16 %8737, i16* %12
%8738 = load i16, i16* %18
%8739 = sext i16 %8738 to i32
%8740 = icmp eq i32 %8739, 0
br i1 %8740, label %8741, label %8742
8741: ; preds = %8735
br label %8746
8742: ; preds = %8735
%8743 = load i16, i16* %18
%8744 = sext i16 %8743 to i32
%8745 = sub nsw i32 25, %8744
br label %8746
8746: ; preds = %8742, %8741
%8747 = phi i32 [ 0, %8741 ], [ %8745, %8742 ]
%8748 = trunc i32 %8747 to i16
store i16 %8748, i16* %16
%8749 = load i16, i16* %13
store i16 %8749, i16* %18
%8750 = load i16, i16* %17
%8751 = sext i16 %8750 to i32
%8752 = icmp eq i32 %8751, 0
br i1 %8752, label %8753, label %8754
8753: ; preds = %8746
br label %8758
8754: ; preds = %8746
%8755 = load i16, i16* %17
%8756 = sext i16 %8755 to i32
%8757 = sub nsw i32 25, %8756
br label %8758
8758: ; preds = %8754, %8753
%8759 = phi i32 [ 0, %8753 ], [ %8757, %8754 ]
%8760 = trunc i32 %8759 to i16
store i16 %8760, i16* %13
%8761 = load i16, i16* %18
%8762 = sext i16 %8761 to i32
%8763 = icmp eq i32 %8762, 0
br i1 %8763, label %8764, label %8765
8764: ; preds = %8758
br label %8769
8765: ; preds = %8758
%8766 = load i16, i16* %18
%8767 = sext i16 %8766 to i32
%8768 = sub nsw i32 25, %8767
br label %8769
8769: ; preds = %8765, %8764
%8770 = phi i32 [ 0, %8764 ], [ %8768, %8765 ]
%8771 = trunc i32 %8770 to i16
store i16 %8771, i16* %17
%8772 = load i16, i16* %20
store i16 %8772, i16* %17
br label %8979
8773: ; preds = %8560
%8774 = load i16, i16* %10
store i16 %8774, i16* %18
%8775 = load i16, i16* %14
%8776 = sext i16 %8775 to i32
%8777 = icmp eq i32 %8776, 0
br i1 %8777, label %8778, label %8779
8778: ; preds = %8773
br label %8783
8779: ; preds = %8773
%8780 = load i16, i16* %14
%8781 = sext i16 %8780 to i32
%8782 = sub nsw i32 25, %8781
br label %8783
8783: ; preds = %8779, %8778
%8784 = phi i32 [ 0, %8778 ], [ %8782, %8779 ]
%8785 = trunc i32 %8784 to i16
store i16 %8785, i16* %10
%8786 = load i16, i16* %18
%8787 = sext i16 %8786 to i32
%8788 = icmp eq i32 %8787, 0
br i1 %8788, label %8789, label %8790
8789: ; preds = %8783
br label %8794
8790: ; preds = %8783
%8791 = load i16, i16* %18
%8792 = sext i16 %8791 to i32
%8793 = sub nsw i32 25, %8792
br label %8794
8794: ; preds = %8790, %8789
%8795 = phi i32 [ 0, %8789 ], [ %8793, %8790 ]
%8796 = trunc i32 %8795 to i16
store i16 %8796, i16* %14
%8797 = load i16, i16* %11
store i16 %8797, i16* %18
%8798 = load i16, i16* %15
%8799 = sext i16 %8798 to i32
%8800 = icmp eq i32 %8799, 0
br i1 %8800, label %8801, label %8802
8801: ; preds = %8794
br label %8806
8802: ; preds = %8794
%8803 = load i16, i16* %15
%8804 = sext i16 %8803 to i32
%8805 = sub nsw i32 25, %8804
br label %8806
8806: ; preds = %8802, %8801
%8807 = phi i32 [ 0, %8801 ], [ %8805, %8802 ]
%8808 = trunc i32 %8807 to i16
store i16 %8808, i16* %11
%8809 = load i16, i16* %18
%8810 = sext i16 %8809 to i32
%8811 = icmp eq i32 %8810, 0
br i1 %8811, label %8812, label %8813
8812: ; preds = %8806
br label %8817
8813: ; preds = %8806
%8814 = load i16, i16* %18
%8815 = sext i16 %8814 to i32
%8816 = sub nsw i32 25, %8815
br label %8817
8817: ; preds = %8813, %8812
%8818 = phi i32 [ 0, %8812 ], [ %8816, %8813 ]
%8819 = trunc i32 %8818 to i16
store i16 %8819, i16* %15
%8820 = load i16, i16* %12
store i16 %8820, i16* %18
%8821 = load i16, i16* %16
%8822 = sext i16 %8821 to i32
%8823 = icmp eq i32 %8822, 0
br i1 %8823, label %8824, label %8825
8824: ; preds = %8817
br label %8829
8825: ; preds = %8817
%8826 = load i16, i16* %16
%8827 = sext i16 %8826 to i32
%8828 = sub nsw i32 25, %8827
br label %8829
8829: ; preds = %8825, %8824
%8830 = phi i32 [ 0, %8824 ], [ %8828, %8825 ]
%8831 = trunc i32 %8830 to i16
store i16 %8831, i16* %12
%8832 = load i16, i16* %18
%8833 = sext i16 %8832 to i32
%8834 = icmp eq i32 %8833, 0
br i1 %8834, label %8835, label %8836
8835: ; preds = %8829
br label %8840
8836: ; preds = %8829
%8837 = load i16, i16* %18
%8838 = sext i16 %8837 to i32
%8839 = sub nsw i32 25, %8838
br label %8840
8840: ; preds = %8836, %8835
%8841 = phi i32 [ 0, %8835 ], [ %8839, %8836 ]
%8842 = trunc i32 %8841 to i16
store i16 %8842, i16* %16
%8843 = load i16, i16* %13
store i16 %8843, i16* %18
%8844 = load i16, i16* %17
%8845 = sext i16 %8844 to i32
%8846 = icmp eq i32 %8845, 0
br i1 %8846, label %8847, label %8848
8847: ; preds = %8840
br label %8852
8848: ; preds = %8840
%8849 = load i16, i16* %17
%8850 = sext i16 %8849 to i32
%8851 = sub nsw i32 25, %8850
br label %8852
8852: ; preds = %8848, %8847
%8853 = phi i32 [ 0, %8847 ], [ %8851, %8848 ]
%8854 = trunc i32 %8853 to i16
store i16 %8854, i16* %13
%8855 = load i16, i16* %18
%8856 = sext i16 %8855 to i32
%8857 = icmp eq i32 %8856, 0
br i1 %8857, label %8858, label %8859
8858: ; preds = %8852
br label %8863
8859: ; preds = %8852
%8860 = load i16, i16* %18
%8861 = sext i16 %8860 to i32
%8862 = sub nsw i32 25, %8861
br label %8863
8863: ; preds = %8859, %8858
%8864 = phi i32 [ 0, %8858 ], [ %8862, %8859 ]
%8865 = trunc i32 %8864 to i16
store i16 %8865, i16* %17
%8866 = load i16, i16* %10
%8867 = sext i16 %8866 to i32
%8868 = load i16, i16* %11
%8869 = sext i16 %8868 to i32
%8870 = load i16, i16* %12
%8871 = sext i16 %8870 to i32
%8872 = load i16, i16* %13
%8873 = sext i16 %8872 to i32
%8874 = load i16, i16* %14
%8875 = sext i16 %8874 to i32
%8876 = load i16, i16* %15
%8877 = sext i16 %8876 to i32
%8878 = load i16, i16* %16
%8879 = sext i16 %8878 to i32
%8880 = load i16, i16* %17
%8881 = sext i16 %8880 to i32
%8882 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8867, i32 %8869, i32 %8871, i32 %8873, i32 %8875, i32 %8877, i32 %8879, i32 %8881)
%8883 = icmp sle i32 0, %8882
br i1 %8883, label %8884, label %8886
8884: ; preds = %8863
%8885 = load i16, i16* %21
store i16 %8885, i16* %9
br label %18762
8886: ; preds = %8863
%8887 = load i16, i16* %10
store i16 %8887, i16* %18
%8888 = load i16, i16* %14
%8889 = sext i16 %8888 to i32
%8890 = icmp eq i32 %8889, 0
br i1 %8890, label %8891, label %8892
8891: ; preds = %8886
br label %8896
8892: ; preds = %8886
%8893 = load i16, i16* %14
%8894 = sext i16 %8893 to i32
%8895 = sub nsw i32 25, %8894
br label %8896
8896: ; preds = %8892, %8891
%8897 = phi i32 [ 0, %8891 ], [ %8895, %8892 ]
%8898 = trunc i32 %8897 to i16
store i16 %8898, i16* %10
%8899 = load i16, i16* %18
%8900 = sext i16 %8899 to i32
%8901 = icmp eq i32 %8900, 0
br i1 %8901, label %8902, label %8903
8902: ; preds = %8896
br label %8907
8903: ; preds = %8896
%8904 = load i16, i16* %18
%8905 = sext i16 %8904 to i32
%8906 = sub nsw i32 25, %8905
br label %8907
8907: ; preds = %8903, %8902
%8908 = phi i32 [ 0, %8902 ], [ %8906, %8903 ]
%8909 = trunc i32 %8908 to i16
store i16 %8909, i16* %14
%8910 = load i16, i16* %11
store i16 %8910, i16* %18
%8911 = load i16, i16* %15
%8912 = sext i16 %8911 to i32
%8913 = icmp eq i32 %8912, 0
br i1 %8913, label %8914, label %8915
8914: ; preds = %8907
br label %8919
8915: ; preds = %8907
%8916 = load i16, i16* %15
%8917 = sext i16 %8916 to i32
%8918 = sub nsw i32 25, %8917
br label %8919
8919: ; preds = %8915, %8914
%8920 = phi i32 [ 0, %8914 ], [ %8918, %8915 ]
%8921 = trunc i32 %8920 to i16
store i16 %8921, i16* %11
%8922 = load i16, i16* %18
%8923 = sext i16 %8922 to i32
%8924 = icmp eq i32 %8923, 0
br i1 %8924, label %8925, label %8926
8925: ; preds = %8919
br label %8930
8926: ; preds = %8919
%8927 = load i16, i16* %18
%8928 = sext i16 %8927 to i32
%8929 = sub nsw i32 25, %8928
br label %8930
8930: ; preds = %8926, %8925
%8931 = phi i32 [ 0, %8925 ], [ %8929, %8926 ]
%8932 = trunc i32 %8931 to i16
store i16 %8932, i16* %15
%8933 = load i16, i16* %12
store i16 %8933, i16* %18
%8934 = load i16, i16* %16
%8935 = sext i16 %8934 to i32
%8936 = icmp eq i32 %8935, 0
br i1 %8936, label %8937, label %8938
8937: ; preds = %8930
br label %8942
8938: ; preds = %8930
%8939 = load i16, i16* %16
%8940 = sext i16 %8939 to i32
%8941 = sub nsw i32 25, %8940
br label %8942
8942: ; preds = %8938, %8937
%8943 = phi i32 [ 0, %8937 ], [ %8941, %8938 ]
%8944 = trunc i32 %8943 to i16
store i16 %8944, i16* %12
%8945 = load i16, i16* %18
%8946 = sext i16 %8945 to i32
%8947 = icmp eq i32 %8946, 0
br i1 %8947, label %8948, label %8949
8948: ; preds = %8942
br label %8953
8949: ; preds = %8942
%8950 = load i16, i16* %18
%8951 = sext i16 %8950 to i32
%8952 = sub nsw i32 25, %8951
br label %8953
8953: ; preds = %8949, %8948
%8954 = phi i32 [ 0, %8948 ], [ %8952, %8949 ]
%8955 = trunc i32 %8954 to i16
store i16 %8955, i16* %16
%8956 = load i16, i16* %13
store i16 %8956, i16* %18
%8957 = load i16, i16* %17
%8958 = sext i16 %8957 to i32
%8959 = icmp eq i32 %8958, 0
br i1 %8959, label %8960, label %8961
8960: ; preds = %8953
br label %8965
8961: ; preds = %8953
%8962 = load i16, i16* %17
%8963 = sext i16 %8962 to i32
%8964 = sub nsw i32 25, %8963
br label %8965
8965: ; preds = %8961, %8960
%8966 = phi i32 [ 0, %8960 ], [ %8964, %8961 ]
%8967 = trunc i32 %8966 to i16
store i16 %8967, i16* %13
%8968 = load i16, i16* %18
%8969 = sext i16 %8968 to i32
%8970 = icmp eq i32 %8969, 0
br i1 %8970, label %8971, label %8972
8971: ; preds = %8965
br label %8976
8972: ; preds = %8965
%8973 = load i16, i16* %18
%8974 = sext i16 %8973 to i32
%8975 = sub nsw i32 25, %8974
br label %8976
8976: ; preds = %8972, %8971
%8977 = phi i32 [ 0, %8971 ], [ %8975, %8972 ]
%8978 = trunc i32 %8977 to i16
store i16 %8978, i16* %17
br label %8979
8979: ; preds = %8976, %8769
br label %8980
8980: ; preds = %8979, %8556
%8981 = load i16, i16* %19
store i16 %8981, i16* %11
br label %8982
8982: ; preds = %8980, %8340, %8334, %8328, %8322, %8311
br label %8983
8983: ; preds = %8982, %8307, %8303
br label %18745
8984: ; preds = %8299
%8985 = load i16, i16* %21
%8986 = sext i16 %8985 to i32
%8987 = icmp eq i32 %8986, 13
br i1 %8987, label %8988, label %9674
8988: ; preds = %8984
%8989 = load i16, i16* %11
%8990 = sext i16 %8989 to i32
%8991 = icmp ne i32 %8990, 0
br i1 %8991, label %8992, label %9673
8992: ; preds = %8988
%8993 = load i16, i16* %11
%8994 = sext i16 %8993 to i32
%8995 = icmp slt i32 4, %8994
br i1 %8995, label %8996, label %9673
8996: ; preds = %8992
%8997 = load i16, i16* %11
%8998 = sext i16 %8997 to i32
%8999 = srem i32 %8998, 4
%9000 = icmp ne i32 %8999, 1
br i1 %9000, label %9001, label %9673
9001: ; preds = %8996
%9002 = load i16, i16* %11
store i16 %9002, i16* %19
%9003 = load i16, i16* %19
%9004 = sext i16 %9003 to i32
%9005 = sub nsw i32 %9004, 5
%9006 = trunc i32 %9005 to i16
store i16 %9006, i16* %20
%9007 = load i16, i16* %20
%9008 = sext i16 %9007 to i32
%9009 = load i16, i16* %10
%9010 = sext i16 %9009 to i32
%9011 = icmp ne i32 %9008, %9010
br i1 %9011, label %9012, label %9672
9012: ; preds = %9001
%9013 = load i16, i16* %20
%9014 = sext i16 %9013 to i32
%9015 = load i16, i16* %12
%9016 = sext i16 %9015 to i32
%9017 = icmp ne i32 %9014, %9016
br i1 %9017, label %9018, label %9672
9018: ; preds = %9012
%9019 = load i16, i16* %20
%9020 = sext i16 %9019 to i32
%9021 = load i16, i16* %13
%9022 = sext i16 %9021 to i32
%9023 = icmp ne i32 %9020, %9022
br i1 %9023, label %9024, label %9672
9024: ; preds = %9018
%9025 = load i16, i16* %20
%9026 = sext i16 %9025 to i32
%9027 = load i16, i16* %15
%9028 = sext i16 %9027 to i32
%9029 = icmp ne i32 %9026, %9028
br i1 %9029, label %9030, label %9672
9030: ; preds = %9024
%9031 = load i16, i16* %20
%9032 = sext i16 %9031 to i32
%9033 = load i16, i16* %16
%9034 = sext i16 %9033 to i32
%9035 = icmp ne i32 %9032, %9034
br i1 %9035, label %9036, label %9672
9036: ; preds = %9030
%9037 = load i16, i16* %20
store i16 %9037, i16* %11
%9038 = load i16, i16* %14
%9039 = sext i16 %9038 to i32
%9040 = load i16, i16* %20
%9041 = sext i16 %9040 to i32
%9042 = icmp eq i32 %9039, %9041
br i1 %9042, label %9043, label %9250
9043: ; preds = %9036
store i16 0, i16* %14
%9044 = load i16, i16* %10
store i16 %9044, i16* %18
%9045 = load i16, i16* %14
%9046 = sext i16 %9045 to i32
%9047 = icmp eq i32 %9046, 0
br i1 %9047, label %9048, label %9049
9048: ; preds = %9043
br label %9053
9049: ; preds = %9043
%9050 = load i16, i16* %14
%9051 = sext i16 %9050 to i32
%9052 = sub nsw i32 25, %9051
br label %9053
9053: ; preds = %9049, %9048
%9054 = phi i32 [ 0, %9048 ], [ %9052, %9049 ]
%9055 = trunc i32 %9054 to i16
store i16 %9055, i16* %10
%9056 = load i16, i16* %18
%9057 = sext i16 %9056 to i32
%9058 = icmp eq i32 %9057, 0
br i1 %9058, label %9059, label %9060
9059: ; preds = %9053
br label %9064
9060: ; preds = %9053
%9061 = load i16, i16* %18
%9062 = sext i16 %9061 to i32
%9063 = sub nsw i32 25, %9062
br label %9064
9064: ; preds = %9060, %9059
%9065 = phi i32 [ 0, %9059 ], [ %9063, %9060 ]
%9066 = trunc i32 %9065 to i16
store i16 %9066, i16* %14
%9067 = load i16, i16* %11
store i16 %9067, i16* %18
%9068 = load i16, i16* %15
%9069 = sext i16 %9068 to i32
%9070 = icmp eq i32 %9069, 0
br i1 %9070, label %9071, label %9072
9071: ; preds = %9064
br label %9076
9072: ; preds = %9064
%9073 = load i16, i16* %15
%9074 = sext i16 %9073 to i32
%9075 = sub nsw i32 25, %9074
br label %9076
9076: ; preds = %9072, %9071
%9077 = phi i32 [ 0, %9071 ], [ %9075, %9072 ]
%9078 = trunc i32 %9077 to i16
store i16 %9078, i16* %11
%9079 = load i16, i16* %18
%9080 = sext i16 %9079 to i32
%9081 = icmp eq i32 %9080, 0
br i1 %9081, label %9082, label %9083
9082: ; preds = %9076
br label %9087
9083: ; preds = %9076
%9084 = load i16, i16* %18
%9085 = sext i16 %9084 to i32
%9086 = sub nsw i32 25, %9085
br label %9087
9087: ; preds = %9083, %9082
%9088 = phi i32 [ 0, %9082 ], [ %9086, %9083 ]
%9089 = trunc i32 %9088 to i16
store i16 %9089, i16* %15
%9090 = load i16, i16* %12
store i16 %9090, i16* %18
%9091 = load i16, i16* %16
%9092 = sext i16 %9091 to i32
%9093 = icmp eq i32 %9092, 0
br i1 %9093, label %9094, label %9095
9094: ; preds = %9087
br label %9099
9095: ; preds = %9087
%9096 = load i16, i16* %16
%9097 = sext i16 %9096 to i32
%9098 = sub nsw i32 25, %9097
br label %9099
9099: ; preds = %9095, %9094
%9100 = phi i32 [ 0, %9094 ], [ %9098, %9095 ]
%9101 = trunc i32 %9100 to i16
store i16 %9101, i16* %12
%9102 = load i16, i16* %18
%9103 = sext i16 %9102 to i32
%9104 = icmp eq i32 %9103, 0
br i1 %9104, label %9105, label %9106
9105: ; preds = %9099
br label %9110
9106: ; preds = %9099
%9107 = load i16, i16* %18
%9108 = sext i16 %9107 to i32
%9109 = sub nsw i32 25, %9108
br label %9110
9110: ; preds = %9106, %9105
%9111 = phi i32 [ 0, %9105 ], [ %9109, %9106 ]
%9112 = trunc i32 %9111 to i16
store i16 %9112, i16* %16
%9113 = load i16, i16* %13
store i16 %9113, i16* %18
%9114 = load i16, i16* %17
%9115 = sext i16 %9114 to i32
%9116 = icmp eq i32 %9115, 0
br i1 %9116, label %9117, label %9118
9117: ; preds = %9110
br label %9122
9118: ; preds = %9110
%9119 = load i16, i16* %17
%9120 = sext i16 %9119 to i32
%9121 = sub nsw i32 25, %9120
br label %9122
9122: ; preds = %9118, %9117
%9123 = phi i32 [ 0, %9117 ], [ %9121, %9118 ]
%9124 = trunc i32 %9123 to i16
store i16 %9124, i16* %13
%9125 = load i16, i16* %18
%9126 = sext i16 %9125 to i32
%9127 = icmp eq i32 %9126, 0
br i1 %9127, label %9128, label %9129
9128: ; preds = %9122
br label %9133
9129: ; preds = %9122
%9130 = load i16, i16* %18
%9131 = sext i16 %9130 to i32
%9132 = sub nsw i32 25, %9131
br label %9133
9133: ; preds = %9129, %9128
%9134 = phi i32 [ 0, %9128 ], [ %9132, %9129 ]
%9135 = trunc i32 %9134 to i16
store i16 %9135, i16* %17
%9136 = load i16, i16* %10
%9137 = sext i16 %9136 to i32
%9138 = load i16, i16* %11
%9139 = sext i16 %9138 to i32
%9140 = load i16, i16* %12
%9141 = sext i16 %9140 to i32
%9142 = load i16, i16* %13
%9143 = sext i16 %9142 to i32
%9144 = load i16, i16* %14
%9145 = sext i16 %9144 to i32
%9146 = load i16, i16* %15
%9147 = sext i16 %9146 to i32
%9148 = load i16, i16* %16
%9149 = sext i16 %9148 to i32
%9150 = load i16, i16* %17
%9151 = sext i16 %9150 to i32
%9152 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9137, i32 %9139, i32 %9141, i32 %9143, i32 %9145, i32 %9147, i32 %9149, i32 %9151)
%9153 = icmp sle i32 0, %9152
br i1 %9153, label %9154, label %9156
9154: ; preds = %9133
%9155 = load i16, i16* %21
store i16 %9155, i16* %9
br label %18762
9156: ; preds = %9133
%9157 = load i16, i16* %10
store i16 %9157, i16* %18
%9158 = load i16, i16* %14
%9159 = sext i16 %9158 to i32
%9160 = icmp eq i32 %9159, 0
br i1 %9160, label %9161, label %9162
9161: ; preds = %9156
br label %9166
9162: ; preds = %9156
%9163 = load i16, i16* %14
%9164 = sext i16 %9163 to i32
%9165 = sub nsw i32 25, %9164
br label %9166
9166: ; preds = %9162, %9161
%9167 = phi i32 [ 0, %9161 ], [ %9165, %9162 ]
%9168 = trunc i32 %9167 to i16
store i16 %9168, i16* %10
%9169 = load i16, i16* %18
%9170 = sext i16 %9169 to i32
%9171 = icmp eq i32 %9170, 0
br i1 %9171, label %9172, label %9173
9172: ; preds = %9166
br label %9177
9173: ; preds = %9166
%9174 = load i16, i16* %18
%9175 = sext i16 %9174 to i32
%9176 = sub nsw i32 25, %9175
br label %9177
9177: ; preds = %9173, %9172
%9178 = phi i32 [ 0, %9172 ], [ %9176, %9173 ]
%9179 = trunc i32 %9178 to i16
store i16 %9179, i16* %14
%9180 = load i16, i16* %11
store i16 %9180, i16* %18
%9181 = load i16, i16* %15
%9182 = sext i16 %9181 to i32
%9183 = icmp eq i32 %9182, 0
br i1 %9183, label %9184, label %9185
9184: ; preds = %9177
br label %9189
9185: ; preds = %9177
%9186 = load i16, i16* %15
%9187 = sext i16 %9186 to i32
%9188 = sub nsw i32 25, %9187
br label %9189
9189: ; preds = %9185, %9184
%9190 = phi i32 [ 0, %9184 ], [ %9188, %9185 ]
%9191 = trunc i32 %9190 to i16
store i16 %9191, i16* %11
%9192 = load i16, i16* %18
%9193 = sext i16 %9192 to i32
%9194 = icmp eq i32 %9193, 0
br i1 %9194, label %9195, label %9196
9195: ; preds = %9189
br label %9200
9196: ; preds = %9189
%9197 = load i16, i16* %18
%9198 = sext i16 %9197 to i32
%9199 = sub nsw i32 25, %9198
br label %9200
9200: ; preds = %9196, %9195
%9201 = phi i32 [ 0, %9195 ], [ %9199, %9196 ]
%9202 = trunc i32 %9201 to i16
store i16 %9202, i16* %15
%9203 = load i16, i16* %12
store i16 %9203, i16* %18
%9204 = load i16, i16* %16
%9205 = sext i16 %9204 to i32
%9206 = icmp eq i32 %9205, 0
br i1 %9206, label %9207, label %9208
9207: ; preds = %9200
br label %9212
9208: ; preds = %9200
%9209 = load i16, i16* %16
%9210 = sext i16 %9209 to i32
%9211 = sub nsw i32 25, %9210
br label %9212
9212: ; preds = %9208, %9207
%9213 = phi i32 [ 0, %9207 ], [ %9211, %9208 ]
%9214 = trunc i32 %9213 to i16
store i16 %9214, i16* %12
%9215 = load i16, i16* %18
%9216 = sext i16 %9215 to i32
%9217 = icmp eq i32 %9216, 0
br i1 %9217, label %9218, label %9219
9218: ; preds = %9212
br label %9223
9219: ; preds = %9212
%9220 = load i16, i16* %18
%9221 = sext i16 %9220 to i32
%9222 = sub nsw i32 25, %9221
br label %9223
9223: ; preds = %9219, %9218
%9224 = phi i32 [ 0, %9218 ], [ %9222, %9219 ]
%9225 = trunc i32 %9224 to i16
store i16 %9225, i16* %16
%9226 = load i16, i16* %13
store i16 %9226, i16* %18
%9227 = load i16, i16* %17
%9228 = sext i16 %9227 to i32
%9229 = icmp eq i32 %9228, 0
br i1 %9229, label %9230, label %9231
9230: ; preds = %9223
br label %9235
9231: ; preds = %9223
%9232 = load i16, i16* %17
%9233 = sext i16 %9232 to i32
%9234 = sub nsw i32 25, %9233
br label %9235
9235: ; preds = %9231, %9230
%9236 = phi i32 [ 0, %9230 ], [ %9234, %9231 ]
%9237 = trunc i32 %9236 to i16
store i16 %9237, i16* %13
%9238 = load i16, i16* %18
%9239 = sext i16 %9238 to i32
%9240 = icmp eq i32 %9239, 0
br i1 %9240, label %9241, label %9242
9241: ; preds = %9235
br label %9246
9242: ; preds = %9235
%9243 = load i16, i16* %18
%9244 = sext i16 %9243 to i32
%9245 = sub nsw i32 25, %9244
br label %9246
9246: ; preds = %9242, %9241
%9247 = phi i32 [ 0, %9241 ], [ %9245, %9242 ]
%9248 = trunc i32 %9247 to i16
store i16 %9248, i16* %17
%9249 = load i16, i16* %20
store i16 %9249, i16* %14
br label %9670
9250: ; preds = %9036
%9251 = load i16, i16* %20
%9252 = sext i16 %9251 to i32
%9253 = load i16, i16* %17
%9254 = sext i16 %9253 to i32
%9255 = icmp eq i32 %9252, %9254
br i1 %9255, label %9256, label %9463
9256: ; preds = %9250
store i16 0, i16* %17
%9257 = load i16, i16* %10
store i16 %9257, i16* %18
%9258 = load i16, i16* %14
%9259 = sext i16 %9258 to i32
%9260 = icmp eq i32 %9259, 0
br i1 %9260, label %9261, label %9262
9261: ; preds = %9256
br label %9266
9262: ; preds = %9256
%9263 = load i16, i16* %14
%9264 = sext i16 %9263 to i32
%9265 = sub nsw i32 25, %9264
br label %9266
9266: ; preds = %9262, %9261
%9267 = phi i32 [ 0, %9261 ], [ %9265, %9262 ]
%9268 = trunc i32 %9267 to i16
store i16 %9268, i16* %10
%9269 = load i16, i16* %18
%9270 = sext i16 %9269 to i32
%9271 = icmp eq i32 %9270, 0
br i1 %9271, label %9272, label %9273
9272: ; preds = %9266
br label %9277
9273: ; preds = %9266
%9274 = load i16, i16* %18
%9275 = sext i16 %9274 to i32
%9276 = sub nsw i32 25, %9275
br label %9277
9277: ; preds = %9273, %9272
%9278 = phi i32 [ 0, %9272 ], [ %9276, %9273 ]
%9279 = trunc i32 %9278 to i16
store i16 %9279, i16* %14
%9280 = load i16, i16* %11
store i16 %9280, i16* %18
%9281 = load i16, i16* %15
%9282 = sext i16 %9281 to i32
%9283 = icmp eq i32 %9282, 0
br i1 %9283, label %9284, label %9285
9284: ; preds = %9277
br label %9289
9285: ; preds = %9277
%9286 = load i16, i16* %15
%9287 = sext i16 %9286 to i32
%9288 = sub nsw i32 25, %9287
br label %9289
9289: ; preds = %9285, %9284
%9290 = phi i32 [ 0, %9284 ], [ %9288, %9285 ]
%9291 = trunc i32 %9290 to i16
store i16 %9291, i16* %11
%9292 = load i16, i16* %18
%9293 = sext i16 %9292 to i32
%9294 = icmp eq i32 %9293, 0
br i1 %9294, label %9295, label %9296
9295: ; preds = %9289
br label %9300
9296: ; preds = %9289
%9297 = load i16, i16* %18
%9298 = sext i16 %9297 to i32
%9299 = sub nsw i32 25, %9298
br label %9300
9300: ; preds = %9296, %9295
%9301 = phi i32 [ 0, %9295 ], [ %9299, %9296 ]
%9302 = trunc i32 %9301 to i16
store i16 %9302, i16* %15
%9303 = load i16, i16* %12
store i16 %9303, i16* %18
%9304 = load i16, i16* %16
%9305 = sext i16 %9304 to i32
%9306 = icmp eq i32 %9305, 0
br i1 %9306, label %9307, label %9308
9307: ; preds = %9300
br label %9312
9308: ; preds = %9300
%9309 = load i16, i16* %16
%9310 = sext i16 %9309 to i32
%9311 = sub nsw i32 25, %9310
br label %9312
9312: ; preds = %9308, %9307
%9313 = phi i32 [ 0, %9307 ], [ %9311, %9308 ]
%9314 = trunc i32 %9313 to i16
store i16 %9314, i16* %12
%9315 = load i16, i16* %18
%9316 = sext i16 %9315 to i32
%9317 = icmp eq i32 %9316, 0
br i1 %9317, label %9318, label %9319
9318: ; preds = %9312
br label %9323
9319: ; preds = %9312
%9320 = load i16, i16* %18
%9321 = sext i16 %9320 to i32
%9322 = sub nsw i32 25, %9321
br label %9323
9323: ; preds = %9319, %9318
%9324 = phi i32 [ 0, %9318 ], [ %9322, %9319 ]
%9325 = trunc i32 %9324 to i16
store i16 %9325, i16* %16
%9326 = load i16, i16* %13
store i16 %9326, i16* %18
%9327 = load i16, i16* %17
%9328 = sext i16 %9327 to i32
%9329 = icmp eq i32 %9328, 0
br i1 %9329, label %9330, label %9331
9330: ; preds = %9323
br label %9335
9331: ; preds = %9323
%9332 = load i16, i16* %17
%9333 = sext i16 %9332 to i32
%9334 = sub nsw i32 25, %9333
br label %9335
9335: ; preds = %9331, %9330
%9336 = phi i32 [ 0, %9330 ], [ %9334, %9331 ]
%9337 = trunc i32 %9336 to i16
store i16 %9337, i16* %13
%9338 = load i16, i16* %18
%9339 = sext i16 %9338 to i32
%9340 = icmp eq i32 %9339, 0
br i1 %9340, label %9341, label %9342
9341: ; preds = %9335
br label %9346
9342: ; preds = %9335
%9343 = load i16, i16* %18
%9344 = sext i16 %9343 to i32
%9345 = sub nsw i32 25, %9344
br label %9346
9346: ; preds = %9342, %9341
%9347 = phi i32 [ 0, %9341 ], [ %9345, %9342 ]
%9348 = trunc i32 %9347 to i16
store i16 %9348, i16* %17
%9349 = load i16, i16* %10
%9350 = sext i16 %9349 to i32
%9351 = load i16, i16* %11
%9352 = sext i16 %9351 to i32
%9353 = load i16, i16* %12
%9354 = sext i16 %9353 to i32
%9355 = load i16, i16* %13
%9356 = sext i16 %9355 to i32
%9357 = load i16, i16* %14
%9358 = sext i16 %9357 to i32
%9359 = load i16, i16* %15
%9360 = sext i16 %9359 to i32
%9361 = load i16, i16* %16
%9362 = sext i16 %9361 to i32
%9363 = load i16, i16* %17
%9364 = sext i16 %9363 to i32
%9365 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9350, i32 %9352, i32 %9354, i32 %9356, i32 %9358, i32 %9360, i32 %9362, i32 %9364)
%9366 = icmp sle i32 0, %9365
br i1 %9366, label %9367, label %9369
9367: ; preds = %9346
%9368 = load i16, i16* %21
store i16 %9368, i16* %9
br label %18762
9369: ; preds = %9346
%9370 = load i16, i16* %10
store i16 %9370, i16* %18
%9371 = load i16, i16* %14
%9372 = sext i16 %9371 to i32
%9373 = icmp eq i32 %9372, 0
br i1 %9373, label %9374, label %9375
9374: ; preds = %9369
br label %9379
9375: ; preds = %9369
%9376 = load i16, i16* %14
%9377 = sext i16 %9376 to i32
%9378 = sub nsw i32 25, %9377
br label %9379
9379: ; preds = %9375, %9374
%9380 = phi i32 [ 0, %9374 ], [ %9378, %9375 ]
%9381 = trunc i32 %9380 to i16
store i16 %9381, i16* %10
%9382 = load i16, i16* %18
%9383 = sext i16 %9382 to i32
%9384 = icmp eq i32 %9383, 0
br i1 %9384, label %9385, label %9386
9385: ; preds = %9379
br label %9390
9386: ; preds = %9379
%9387 = load i16, i16* %18
%9388 = sext i16 %9387 to i32
%9389 = sub nsw i32 25, %9388
br label %9390
9390: ; preds = %9386, %9385
%9391 = phi i32 [ 0, %9385 ], [ %9389, %9386 ]
%9392 = trunc i32 %9391 to i16
store i16 %9392, i16* %14
%9393 = load i16, i16* %11
store i16 %9393, i16* %18
%9394 = load i16, i16* %15
%9395 = sext i16 %9394 to i32
%9396 = icmp eq i32 %9395, 0
br i1 %9396, label %9397, label %9398
9397: ; preds = %9390
br label %9402
9398: ; preds = %9390
%9399 = load i16, i16* %15
%9400 = sext i16 %9399 to i32
%9401 = sub nsw i32 25, %9400
br label %9402
9402: ; preds = %9398, %9397
%9403 = phi i32 [ 0, %9397 ], [ %9401, %9398 ]
%9404 = trunc i32 %9403 to i16
store i16 %9404, i16* %11
%9405 = load i16, i16* %18
%9406 = sext i16 %9405 to i32
%9407 = icmp eq i32 %9406, 0
br i1 %9407, label %9408, label %9409
9408: ; preds = %9402
br label %9413
9409: ; preds = %9402
%9410 = load i16, i16* %18
%9411 = sext i16 %9410 to i32
%9412 = sub nsw i32 25, %9411
br label %9413
9413: ; preds = %9409, %9408
%9414 = phi i32 [ 0, %9408 ], [ %9412, %9409 ]
%9415 = trunc i32 %9414 to i16
store i16 %9415, i16* %15
%9416 = load i16, i16* %12
store i16 %9416, i16* %18
%9417 = load i16, i16* %16
%9418 = sext i16 %9417 to i32
%9419 = icmp eq i32 %9418, 0
br i1 %9419, label %9420, label %9421
9420: ; preds = %9413
br label %9425
9421: ; preds = %9413
%9422 = load i16, i16* %16
%9423 = sext i16 %9422 to i32
%9424 = sub nsw i32 25, %9423
br label %9425
9425: ; preds = %9421, %9420
%9426 = phi i32 [ 0, %9420 ], [ %9424, %9421 ]
%9427 = trunc i32 %9426 to i16
store i16 %9427, i16* %12
%9428 = load i16, i16* %18
%9429 = sext i16 %9428 to i32
%9430 = icmp eq i32 %9429, 0
br i1 %9430, label %9431, label %9432
9431: ; preds = %9425
br label %9436
9432: ; preds = %9425
%9433 = load i16, i16* %18
%9434 = sext i16 %9433 to i32
%9435 = sub nsw i32 25, %9434
br label %9436
9436: ; preds = %9432, %9431
%9437 = phi i32 [ 0, %9431 ], [ %9435, %9432 ]
%9438 = trunc i32 %9437 to i16
store i16 %9438, i16* %16
%9439 = load i16, i16* %13
store i16 %9439, i16* %18
%9440 = load i16, i16* %17
%9441 = sext i16 %9440 to i32
%9442 = icmp eq i32 %9441, 0
br i1 %9442, label %9443, label %9444
9443: ; preds = %9436
br label %9448
9444: ; preds = %9436
%9445 = load i16, i16* %17
%9446 = sext i16 %9445 to i32
%9447 = sub nsw i32 25, %9446
br label %9448
9448: ; preds = %9444, %9443
%9449 = phi i32 [ 0, %9443 ], [ %9447, %9444 ]
%9450 = trunc i32 %9449 to i16
store i16 %9450, i16* %13
%9451 = load i16, i16* %18
%9452 = sext i16 %9451 to i32
%9453 = icmp eq i32 %9452, 0
br i1 %9453, label %9454, label %9455
9454: ; preds = %9448
br label %9459
9455: ; preds = %9448
%9456 = load i16, i16* %18
%9457 = sext i16 %9456 to i32
%9458 = sub nsw i32 25, %9457
br label %9459
9459: ; preds = %9455, %9454
%9460 = phi i32 [ 0, %9454 ], [ %9458, %9455 ]
%9461 = trunc i32 %9460 to i16
store i16 %9461, i16* %17
%9462 = load i16, i16* %20
store i16 %9462, i16* %17
br label %9669
9463: ; preds = %9250
%9464 = load i16, i16* %10
store i16 %9464, i16* %18
%9465 = load i16, i16* %14
%9466 = sext i16 %9465 to i32
%9467 = icmp eq i32 %9466, 0
br i1 %9467, label %9468, label %9469
9468: ; preds = %9463
br label %9473
9469: ; preds = %9463
%9470 = load i16, i16* %14
%9471 = sext i16 %9470 to i32
%9472 = sub nsw i32 25, %9471
br label %9473
9473: ; preds = %9469, %9468
%9474 = phi i32 [ 0, %9468 ], [ %9472, %9469 ]
%9475 = trunc i32 %9474 to i16
store i16 %9475, i16* %10
%9476 = load i16, i16* %18
%9477 = sext i16 %9476 to i32
%9478 = icmp eq i32 %9477, 0
br i1 %9478, label %9479, label %9480
9479: ; preds = %9473
br label %9484
9480: ; preds = %9473
%9481 = load i16, i16* %18
%9482 = sext i16 %9481 to i32
%9483 = sub nsw i32 25, %9482
br label %9484
9484: ; preds = %9480, %9479
%9485 = phi i32 [ 0, %9479 ], [ %9483, %9480 ]
%9486 = trunc i32 %9485 to i16
store i16 %9486, i16* %14
%9487 = load i16, i16* %11
store i16 %9487, i16* %18
%9488 = load i16, i16* %15
%9489 = sext i16 %9488 to i32
%9490 = icmp eq i32 %9489, 0
br i1 %9490, label %9491, label %9492
9491: ; preds = %9484
br label %9496
9492: ; preds = %9484
%9493 = load i16, i16* %15
%9494 = sext i16 %9493 to i32
%9495 = sub nsw i32 25, %9494
br label %9496
9496: ; preds = %9492, %9491
%9497 = phi i32 [ 0, %9491 ], [ %9495, %9492 ]
%9498 = trunc i32 %9497 to i16
store i16 %9498, i16* %11
%9499 = load i16, i16* %18
%9500 = sext i16 %9499 to i32
%9501 = icmp eq i32 %9500, 0
br i1 %9501, label %9502, label %9503
9502: ; preds = %9496
br label %9507
9503: ; preds = %9496
%9504 = load i16, i16* %18
%9505 = sext i16 %9504 to i32
%9506 = sub nsw i32 25, %9505
br label %9507
9507: ; preds = %9503, %9502
%9508 = phi i32 [ 0, %9502 ], [ %9506, %9503 ]
%9509 = trunc i32 %9508 to i16
store i16 %9509, i16* %15
%9510 = load i16, i16* %12
store i16 %9510, i16* %18
%9511 = load i16, i16* %16
%9512 = sext i16 %9511 to i32
%9513 = icmp eq i32 %9512, 0
br i1 %9513, label %9514, label %9515
9514: ; preds = %9507
br label %9519
9515: ; preds = %9507
%9516 = load i16, i16* %16
%9517 = sext i16 %9516 to i32
%9518 = sub nsw i32 25, %9517
br label %9519
9519: ; preds = %9515, %9514
%9520 = phi i32 [ 0, %9514 ], [ %9518, %9515 ]
%9521 = trunc i32 %9520 to i16
store i16 %9521, i16* %12
%9522 = load i16, i16* %18
%9523 = sext i16 %9522 to i32
%9524 = icmp eq i32 %9523, 0
br i1 %9524, label %9525, label %9526
9525: ; preds = %9519
br label %9530
9526: ; preds = %9519
%9527 = load i16, i16* %18
%9528 = sext i16 %9527 to i32
%9529 = sub nsw i32 25, %9528
br label %9530
9530: ; preds = %9526, %9525
%9531 = phi i32 [ 0, %9525 ], [ %9529, %9526 ]
%9532 = trunc i32 %9531 to i16
store i16 %9532, i16* %16
%9533 = load i16, i16* %13
store i16 %9533, i16* %18
%9534 = load i16, i16* %17
%9535 = sext i16 %9534 to i32
%9536 = icmp eq i32 %9535, 0
br i1 %9536, label %9537, label %9538
9537: ; preds = %9530
br label %9542
9538: ; preds = %9530
%9539 = load i16, i16* %17
%9540 = sext i16 %9539 to i32
%9541 = sub nsw i32 25, %9540
br label %9542
9542: ; preds = %9538, %9537
%9543 = phi i32 [ 0, %9537 ], [ %9541, %9538 ]
%9544 = trunc i32 %9543 to i16
store i16 %9544, i16* %13
%9545 = load i16, i16* %18
%9546 = sext i16 %9545 to i32
%9547 = icmp eq i32 %9546, 0
br i1 %9547, label %9548, label %9549
9548: ; preds = %9542
br label %9553
9549: ; preds = %9542
%9550 = load i16, i16* %18
%9551 = sext i16 %9550 to i32
%9552 = sub nsw i32 25, %9551
br label %9553
9553: ; preds = %9549, %9548
%9554 = phi i32 [ 0, %9548 ], [ %9552, %9549 ]
%9555 = trunc i32 %9554 to i16
store i16 %9555, i16* %17
%9556 = load i16, i16* %10
%9557 = sext i16 %9556 to i32
%9558 = load i16, i16* %11
%9559 = sext i16 %9558 to i32
%9560 = load i16, i16* %12
%9561 = sext i16 %9560 to i32
%9562 = load i16, i16* %13
%9563 = sext i16 %9562 to i32
%9564 = load i16, i16* %14
%9565 = sext i16 %9564 to i32
%9566 = load i16, i16* %15
%9567 = sext i16 %9566 to i32
%9568 = load i16, i16* %16
%9569 = sext i16 %9568 to i32
%9570 = load i16, i16* %17
%9571 = sext i16 %9570 to i32
%9572 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9557, i32 %9559, i32 %9561, i32 %9563, i32 %9565, i32 %9567, i32 %9569, i32 %9571)
%9573 = icmp sle i32 0, %9572
br i1 %9573, label %9574, label %9576
9574: ; preds = %9553
%9575 = load i16, i16* %21
store i16 %9575, i16* %9
br label %18762
9576: ; preds = %9553
%9577 = load i16, i16* %10
store i16 %9577, i16* %18
%9578 = load i16, i16* %14
%9579 = sext i16 %9578 to i32
%9580 = icmp eq i32 %9579, 0
br i1 %9580, label %9581, label %9582
9581: ; preds = %9576
br label %9586
9582: ; preds = %9576
%9583 = load i16, i16* %14
%9584 = sext i16 %9583 to i32
%9585 = sub nsw i32 25, %9584
br label %9586
9586: ; preds = %9582, %9581
%9587 = phi i32 [ 0, %9581 ], [ %9585, %9582 ]
%9588 = trunc i32 %9587 to i16
store i16 %9588, i16* %10
%9589 = load i16, i16* %18
%9590 = sext i16 %9589 to i32
%9591 = icmp eq i32 %9590, 0
br i1 %9591, label %9592, label %9593
9592: ; preds = %9586
br label %9597
9593: ; preds = %9586
%9594 = load i16, i16* %18
%9595 = sext i16 %9594 to i32
%9596 = sub nsw i32 25, %9595
br label %9597
9597: ; preds = %9593, %9592
%9598 = phi i32 [ 0, %9592 ], [ %9596, %9593 ]
%9599 = trunc i32 %9598 to i16
store i16 %9599, i16* %14
%9600 = load i16, i16* %11
store i16 %9600, i16* %18
%9601 = load i16, i16* %15
%9602 = sext i16 %9601 to i32
%9603 = icmp eq i32 %9602, 0
br i1 %9603, label %9604, label %9605
9604: ; preds = %9597
br label %9609
9605: ; preds = %9597
%9606 = load i16, i16* %15
%9607 = sext i16 %9606 to i32
%9608 = sub nsw i32 25, %9607
br label %9609
9609: ; preds = %9605, %9604
%9610 = phi i32 [ 0, %9604 ], [ %9608, %9605 ]
%9611 = trunc i32 %9610 to i16
store i16 %9611, i16* %11
%9612 = load i16, i16* %18
%9613 = sext i16 %9612 to i32
%9614 = icmp eq i32 %9613, 0
br i1 %9614, label %9615, label %9616
9615: ; preds = %9609
br label %9620
9616: ; preds = %9609
%9617 = load i16, i16* %18
%9618 = sext i16 %9617 to i32
%9619 = sub nsw i32 25, %9618
br label %9620
9620: ; preds = %9616, %9615
%9621 = phi i32 [ 0, %9615 ], [ %9619, %9616 ]
%9622 = trunc i32 %9621 to i16
store i16 %9622, i16* %15
%9623 = load i16, i16* %12
store i16 %9623, i16* %18
%9624 = load i16, i16* %16
%9625 = sext i16 %9624 to i32
%9626 = icmp eq i32 %9625, 0
br i1 %9626, label %9627, label %9628
9627: ; preds = %9620
br label %9632
9628: ; preds = %9620
%9629 = load i16, i16* %16
%9630 = sext i16 %9629 to i32
%9631 = sub nsw i32 25, %9630
br label %9632
9632: ; preds = %9628, %9627
%9633 = phi i32 [ 0, %9627 ], [ %9631, %9628 ]
%9634 = trunc i32 %9633 to i16
store i16 %9634, i16* %12
%9635 = load i16, i16* %18
%9636 = sext i16 %9635 to i32
%9637 = icmp eq i32 %9636, 0
br i1 %9637, label %9638, label %9639
9638: ; preds = %9632
br label %9643
9639: ; preds = %9632
%9640 = load i16, i16* %18
%9641 = sext i16 %9640 to i32
%9642 = sub nsw i32 25, %9641
br label %9643
9643: ; preds = %9639, %9638
%9644 = phi i32 [ 0, %9638 ], [ %9642, %9639 ]
%9645 = trunc i32 %9644 to i16
store i16 %9645, i16* %16
%9646 = load i16, i16* %13
store i16 %9646, i16* %18
%9647 = load i16, i16* %17
%9648 = sext i16 %9647 to i32
%9649 = icmp eq i32 %9648, 0
br i1 %9649, label %9650, label %9651
9650: ; preds = %9643
br label %9655
9651: ; preds = %9643
%9652 = load i16, i16* %17
%9653 = sext i16 %9652 to i32
%9654 = sub nsw i32 25, %9653
br label %9655
9655: ; preds = %9651, %9650
%9656 = phi i32 [ 0, %9650 ], [ %9654, %9651 ]
%9657 = trunc i32 %9656 to i16
store i16 %9657, i16* %13
%9658 = load i16, i16* %18
%9659 = sext i16 %9658 to i32
%9660 = icmp eq i32 %9659, 0
br i1 %9660, label %9661, label %9662
9661: ; preds = %9655
br label %9666
9662: ; preds = %9655
%9663 = load i16, i16* %18
%9664 = sext i16 %9663 to i32
%9665 = sub nsw i32 25, %9664
br label %9666
9666: ; preds = %9662, %9661
%9667 = phi i32 [ 0, %9661 ], [ %9665, %9662 ]
%9668 = trunc i32 %9667 to i16
store i16 %9668, i16* %17
br label %9669
9669: ; preds = %9666, %9459
br label %9670
9670: ; preds = %9669, %9246
%9671 = load i16, i16* %19
store i16 %9671, i16* %11
br label %9672
9672: ; preds = %9670, %9030, %9024, %9018, %9012, %9001
br label %9673
9673: ; preds = %9672, %8996, %8992, %8988
br label %18744
9674: ; preds = %8984
%9675 = load i16, i16* %21
%9676 = sext i16 %9675 to i32
%9677 = icmp eq i32 %9676, 14
br i1 %9677, label %9678, label %10360
9678: ; preds = %9674
%9679 = load i16, i16* %11
%9680 = sext i16 %9679 to i32
%9681 = icmp ne i32 %9680, 0
br i1 %9681, label %9682, label %10359
9682: ; preds = %9678
%9683 = load i16, i16* %11
%9684 = sext i16 %9683 to i32
%9685 = srem i32 %9684, 4
%9686 = icmp ne i32 %9685, 1
br i1 %9686, label %9687, label %10359
9687: ; preds = %9682
%9688 = load i16, i16* %11
store i16 %9688, i16* %19
%9689 = load i16, i16* %19
%9690 = sext i16 %9689 to i32
%9691 = sub nsw i32 %9690, 1
%9692 = trunc i32 %9691 to i16
store i16 %9692, i16* %20
%9693 = load i16, i16* %20
%9694 = sext i16 %9693 to i32
%9695 = load i16, i16* %10
%9696 = sext i16 %9695 to i32
%9697 = icmp ne i32 %9694, %9696
br i1 %9697, label %9698, label %10358
9698: ; preds = %9687
%9699 = load i16, i16* %20
%9700 = sext i16 %9699 to i32
%9701 = load i16, i16* %12
%9702 = sext i16 %9701 to i32
%9703 = icmp ne i32 %9700, %9702
br i1 %9703, label %9704, label %10358
9704: ; preds = %9698
%9705 = load i16, i16* %20
%9706 = sext i16 %9705 to i32
%9707 = load i16, i16* %13
%9708 = sext i16 %9707 to i32
%9709 = icmp ne i32 %9706, %9708
br i1 %9709, label %9710, label %10358
9710: ; preds = %9704
%9711 = load i16, i16* %20
%9712 = sext i16 %9711 to i32
%9713 = load i16, i16* %15
%9714 = sext i16 %9713 to i32
%9715 = icmp ne i32 %9712, %9714
br i1 %9715, label %9716, label %10358
9716: ; preds = %9710
%9717 = load i16, i16* %20
%9718 = sext i16 %9717 to i32
%9719 = load i16, i16* %16
%9720 = sext i16 %9719 to i32
%9721 = icmp ne i32 %9718, %9720
br i1 %9721, label %9722, label %10358
9722: ; preds = %9716
%9723 = load i16, i16* %20
store i16 %9723, i16* %11
%9724 = load i16, i16* %14
%9725 = sext i16 %9724 to i32
%9726 = load i16, i16* %20
%9727 = sext i16 %9726 to i32
%9728 = icmp eq i32 %9725, %9727
br i1 %9728, label %9729, label %9936
9729: ; preds = %9722
store i16 0, i16* %14
%9730 = load i16, i16* %10
store i16 %9730, i16* %18
%9731 = load i16, i16* %14
%9732 = sext i16 %9731 to i32
%9733 = icmp eq i32 %9732, 0
br i1 %9733, label %9734, label %9735
9734: ; preds = %9729
br label %9739
9735: ; preds = %9729
%9736 = load i16, i16* %14
%9737 = sext i16 %9736 to i32
%9738 = sub nsw i32 25, %9737
br label %9739
9739: ; preds = %9735, %9734
%9740 = phi i32 [ 0, %9734 ], [ %9738, %9735 ]
%9741 = trunc i32 %9740 to i16
store i16 %9741, i16* %10
%9742 = load i16, i16* %18
%9743 = sext i16 %9742 to i32
%9744 = icmp eq i32 %9743, 0
br i1 %9744, label %9745, label %9746
9745: ; preds = %9739
br label %9750
9746: ; preds = %9739
%9747 = load i16, i16* %18
%9748 = sext i16 %9747 to i32
%9749 = sub nsw i32 25, %9748
br label %9750
9750: ; preds = %9746, %9745
%9751 = phi i32 [ 0, %9745 ], [ %9749, %9746 ]
%9752 = trunc i32 %9751 to i16
store i16 %9752, i16* %14
%9753 = load i16, i16* %11
store i16 %9753, i16* %18
%9754 = load i16, i16* %15
%9755 = sext i16 %9754 to i32
%9756 = icmp eq i32 %9755, 0
br i1 %9756, label %9757, label %9758
9757: ; preds = %9750
br label %9762
9758: ; preds = %9750
%9759 = load i16, i16* %15
%9760 = sext i16 %9759 to i32
%9761 = sub nsw i32 25, %9760
br label %9762
9762: ; preds = %9758, %9757
%9763 = phi i32 [ 0, %9757 ], [ %9761, %9758 ]
%9764 = trunc i32 %9763 to i16
store i16 %9764, i16* %11
%9765 = load i16, i16* %18
%9766 = sext i16 %9765 to i32
%9767 = icmp eq i32 %9766, 0
br i1 %9767, label %9768, label %9769
9768: ; preds = %9762
br label %9773
9769: ; preds = %9762
%9770 = load i16, i16* %18
%9771 = sext i16 %9770 to i32
%9772 = sub nsw i32 25, %9771
br label %9773
9773: ; preds = %9769, %9768
%9774 = phi i32 [ 0, %9768 ], [ %9772, %9769 ]
%9775 = trunc i32 %9774 to i16
store i16 %9775, i16* %15
%9776 = load i16, i16* %12
store i16 %9776, i16* %18
%9777 = load i16, i16* %16
%9778 = sext i16 %9777 to i32
%9779 = icmp eq i32 %9778, 0
br i1 %9779, label %9780, label %9781
9780: ; preds = %9773
br label %9785
9781: ; preds = %9773
%9782 = load i16, i16* %16
%9783 = sext i16 %9782 to i32
%9784 = sub nsw i32 25, %9783
br label %9785
9785: ; preds = %9781, %9780
%9786 = phi i32 [ 0, %9780 ], [ %9784, %9781 ]
%9787 = trunc i32 %9786 to i16
store i16 %9787, i16* %12
%9788 = load i16, i16* %18
%9789 = sext i16 %9788 to i32
%9790 = icmp eq i32 %9789, 0
br i1 %9790, label %9791, label %9792
9791: ; preds = %9785
br label %9796
9792: ; preds = %9785
%9793 = load i16, i16* %18
%9794 = sext i16 %9793 to i32
%9795 = sub nsw i32 25, %9794
br label %9796
9796: ; preds = %9792, %9791
%9797 = phi i32 [ 0, %9791 ], [ %9795, %9792 ]
%9798 = trunc i32 %9797 to i16
store i16 %9798, i16* %16
%9799 = load i16, i16* %13
store i16 %9799, i16* %18
%9800 = load i16, i16* %17
%9801 = sext i16 %9800 to i32
%9802 = icmp eq i32 %9801, 0
br i1 %9802, label %9803, label %9804
9803: ; preds = %9796
br label %9808
9804: ; preds = %9796
%9805 = load i16, i16* %17
%9806 = sext i16 %9805 to i32
%9807 = sub nsw i32 25, %9806
br label %9808
9808: ; preds = %9804, %9803
%9809 = phi i32 [ 0, %9803 ], [ %9807, %9804 ]
%9810 = trunc i32 %9809 to i16
store i16 %9810, i16* %13
%9811 = load i16, i16* %18
%9812 = sext i16 %9811 to i32
%9813 = icmp eq i32 %9812, 0
br i1 %9813, label %9814, label %9815
9814: ; preds = %9808
br label %9819
9815: ; preds = %9808
%9816 = load i16, i16* %18
%9817 = sext i16 %9816 to i32
%9818 = sub nsw i32 25, %9817
br label %9819
9819: ; preds = %9815, %9814
%9820 = phi i32 [ 0, %9814 ], [ %9818, %9815 ]
%9821 = trunc i32 %9820 to i16
store i16 %9821, i16* %17
%9822 = load i16, i16* %10
%9823 = sext i16 %9822 to i32
%9824 = load i16, i16* %11
%9825 = sext i16 %9824 to i32
%9826 = load i16, i16* %12
%9827 = sext i16 %9826 to i32
%9828 = load i16, i16* %13
%9829 = sext i16 %9828 to i32
%9830 = load i16, i16* %14
%9831 = sext i16 %9830 to i32
%9832 = load i16, i16* %15
%9833 = sext i16 %9832 to i32
%9834 = load i16, i16* %16
%9835 = sext i16 %9834 to i32
%9836 = load i16, i16* %17
%9837 = sext i16 %9836 to i32
%9838 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9823, i32 %9825, i32 %9827, i32 %9829, i32 %9831, i32 %9833, i32 %9835, i32 %9837)
%9839 = icmp sle i32 0, %9838
br i1 %9839, label %9840, label %9842
9840: ; preds = %9819
%9841 = load i16, i16* %21
store i16 %9841, i16* %9
br label %18762
9842: ; preds = %9819
%9843 = load i16, i16* %10
store i16 %9843, i16* %18
%9844 = load i16, i16* %14
%9845 = sext i16 %9844 to i32
%9846 = icmp eq i32 %9845, 0
br i1 %9846, label %9847, label %9848
9847: ; preds = %9842
br label %9852
9848: ; preds = %9842
%9849 = load i16, i16* %14
%9850 = sext i16 %9849 to i32
%9851 = sub nsw i32 25, %9850
br label %9852
9852: ; preds = %9848, %9847
%9853 = phi i32 [ 0, %9847 ], [ %9851, %9848 ]
%9854 = trunc i32 %9853 to i16
store i16 %9854, i16* %10
%9855 = load i16, i16* %18
%9856 = sext i16 %9855 to i32
%9857 = icmp eq i32 %9856, 0
br i1 %9857, label %9858, label %9859
9858: ; preds = %9852
br label %9863
9859: ; preds = %9852
%9860 = load i16, i16* %18
%9861 = sext i16 %9860 to i32
%9862 = sub nsw i32 25, %9861
br label %9863
9863: ; preds = %9859, %9858
%9864 = phi i32 [ 0, %9858 ], [ %9862, %9859 ]
%9865 = trunc i32 %9864 to i16
store i16 %9865, i16* %14
%9866 = load i16, i16* %11
store i16 %9866, i16* %18
%9867 = load i16, i16* %15
%9868 = sext i16 %9867 to i32
%9869 = icmp eq i32 %9868, 0
br i1 %9869, label %9870, label %9871
9870: ; preds = %9863
br label %9875
9871: ; preds = %9863
%9872 = load i16, i16* %15
%9873 = sext i16 %9872 to i32
%9874 = sub nsw i32 25, %9873
br label %9875
9875: ; preds = %9871, %9870
%9876 = phi i32 [ 0, %9870 ], [ %9874, %9871 ]
%9877 = trunc i32 %9876 to i16
store i16 %9877, i16* %11
%9878 = load i16, i16* %18
%9879 = sext i16 %9878 to i32
%9880 = icmp eq i32 %9879, 0
br i1 %9880, label %9881, label %9882
9881: ; preds = %9875
br label %9886
9882: ; preds = %9875
%9883 = load i16, i16* %18
%9884 = sext i16 %9883 to i32
%9885 = sub nsw i32 25, %9884
br label %9886
9886: ; preds = %9882, %9881
%9887 = phi i32 [ 0, %9881 ], [ %9885, %9882 ]
%9888 = trunc i32 %9887 to i16
store i16 %9888, i16* %15
%9889 = load i16, i16* %12
store i16 %9889, i16* %18
%9890 = load i16, i16* %16
%9891 = sext i16 %9890 to i32
%9892 = icmp eq i32 %9891, 0
br i1 %9892, label %9893, label %9894
9893: ; preds = %9886
br label %9898
9894: ; preds = %9886
%9895 = load i16, i16* %16
%9896 = sext i16 %9895 to i32
%9897 = sub nsw i32 25, %9896
br label %9898
9898: ; preds = %9894, %9893
%9899 = phi i32 [ 0, %9893 ], [ %9897, %9894 ]
%9900 = trunc i32 %9899 to i16
store i16 %9900, i16* %12
%9901 = load i16, i16* %18
%9902 = sext i16 %9901 to i32
%9903 = icmp eq i32 %9902, 0
br i1 %9903, label %9904, label %9905
9904: ; preds = %9898
br label %9909
9905: ; preds = %9898
%9906 = load i16, i16* %18
%9907 = sext i16 %9906 to i32
%9908 = sub nsw i32 25, %9907
br label %9909
9909: ; preds = %9905, %9904
%9910 = phi i32 [ 0, %9904 ], [ %9908, %9905 ]
%9911 = trunc i32 %9910 to i16
store i16 %9911, i16* %16
%9912 = load i16, i16* %13
store i16 %9912, i16* %18
%9913 = load i16, i16* %17
%9914 = sext i16 %9913 to i32
%9915 = icmp eq i32 %9914, 0
br i1 %9915, label %9916, label %9917
9916: ; preds = %9909
br label %9921
9917: ; preds = %9909
%9918 = load i16, i16* %17
%9919 = sext i16 %9918 to i32
%9920 = sub nsw i32 25, %9919
br label %9921
9921: ; preds = %9917, %9916
%9922 = phi i32 [ 0, %9916 ], [ %9920, %9917 ]
%9923 = trunc i32 %9922 to i16
store i16 %9923, i16* %13
%9924 = load i16, i16* %18
%9925 = sext i16 %9924 to i32
%9926 = icmp eq i32 %9925, 0
br i1 %9926, label %9927, label %9928
9927: ; preds = %9921
br label %9932
9928: ; preds = %9921
%9929 = load i16, i16* %18
%9930 = sext i16 %9929 to i32
%9931 = sub nsw i32 25, %9930
br label %9932
9932: ; preds = %9928, %9927
%9933 = phi i32 [ 0, %9927 ], [ %9931, %9928 ]
%9934 = trunc i32 %9933 to i16
store i16 %9934, i16* %17
%9935 = load i16, i16* %20
store i16 %9935, i16* %14
br label %10356
9936: ; preds = %9722
%9937 = load i16, i16* %20
%9938 = sext i16 %9937 to i32
%9939 = load i16, i16* %17
%9940 = sext i16 %9939 to i32
%9941 = icmp eq i32 %9938, %9940
br i1 %9941, label %9942, label %10149
9942: ; preds = %9936
store i16 0, i16* %17
%9943 = load i16, i16* %10
store i16 %9943, i16* %18
%9944 = load i16, i16* %14
%9945 = sext i16 %9944 to i32
%9946 = icmp eq i32 %9945, 0
br i1 %9946, label %9947, label %9948
9947: ; preds = %9942
br label %9952
9948: ; preds = %9942
%9949 = load i16, i16* %14
%9950 = sext i16 %9949 to i32
%9951 = sub nsw i32 25, %9950
br label %9952
9952: ; preds = %9948, %9947
%9953 = phi i32 [ 0, %9947 ], [ %9951, %9948 ]
%9954 = trunc i32 %9953 to i16
store i16 %9954, i16* %10
%9955 = load i16, i16* %18
%9956 = sext i16 %9955 to i32
%9957 = icmp eq i32 %9956, 0
br i1 %9957, label %9958, label %9959
9958: ; preds = %9952
br label %9963
9959: ; preds = %9952
%9960 = load i16, i16* %18
%9961 = sext i16 %9960 to i32
%9962 = sub nsw i32 25, %9961
br label %9963
9963: ; preds = %9959, %9958
%9964 = phi i32 [ 0, %9958 ], [ %9962, %9959 ]
%9965 = trunc i32 %9964 to i16
store i16 %9965, i16* %14
%9966 = load i16, i16* %11
store i16 %9966, i16* %18
%9967 = load i16, i16* %15
%9968 = sext i16 %9967 to i32
%9969 = icmp eq i32 %9968, 0
br i1 %9969, label %9970, label %9971
9970: ; preds = %9963
br label %9975
9971: ; preds = %9963
%9972 = load i16, i16* %15
%9973 = sext i16 %9972 to i32
%9974 = sub nsw i32 25, %9973
br label %9975
9975: ; preds = %9971, %9970
%9976 = phi i32 [ 0, %9970 ], [ %9974, %9971 ]
%9977 = trunc i32 %9976 to i16
store i16 %9977, i16* %11
%9978 = load i16, i16* %18
%9979 = sext i16 %9978 to i32
%9980 = icmp eq i32 %9979, 0
br i1 %9980, label %9981, label %9982
9981: ; preds = %9975
br label %9986
9982: ; preds = %9975
%9983 = load i16, i16* %18
%9984 = sext i16 %9983 to i32
%9985 = sub nsw i32 25, %9984
br label %9986
9986: ; preds = %9982, %9981
%9987 = phi i32 [ 0, %9981 ], [ %9985, %9982 ]
%9988 = trunc i32 %9987 to i16
store i16 %9988, i16* %15
%9989 = load i16, i16* %12
store i16 %9989, i16* %18
%9990 = load i16, i16* %16
%9991 = sext i16 %9990 to i32
%9992 = icmp eq i32 %9991, 0
br i1 %9992, label %9993, label %9994
9993: ; preds = %9986
br label %9998
9994: ; preds = %9986
%9995 = load i16, i16* %16
%9996 = sext i16 %9995 to i32
%9997 = sub nsw i32 25, %9996
br label %9998
9998: ; preds = %9994, %9993
%9999 = phi i32 [ 0, %9993 ], [ %9997, %9994 ]
%10000 = trunc i32 %9999 to i16
store i16 %10000, i16* %12
%10001 = load i16, i16* %18
%10002 = sext i16 %10001 to i32
%10003 = icmp eq i32 %10002, 0
br i1 %10003, label %10004, label %10005
10004: ; preds = %9998
br label %10009
10005: ; preds = %9998
%10006 = load i16, i16* %18
%10007 = sext i16 %10006 to i32
%10008 = sub nsw i32 25, %10007
br label %10009
10009: ; preds = %10005, %10004
%10010 = phi i32 [ 0, %10004 ], [ %10008, %10005 ]
%10011 = trunc i32 %10010 to i16
store i16 %10011, i16* %16
%10012 = load i16, i16* %13
store i16 %10012, i16* %18
%10013 = load i16, i16* %17
%10014 = sext i16 %10013 to i32
%10015 = icmp eq i32 %10014, 0
br i1 %10015, label %10016, label %10017
10016: ; preds = %10009
br label %10021
10017: ; preds = %10009
%10018 = load i16, i16* %17
%10019 = sext i16 %10018 to i32
%10020 = sub nsw i32 25, %10019
br label %10021
10021: ; preds = %10017, %10016
%10022 = phi i32 [ 0, %10016 ], [ %10020, %10017 ]
%10023 = trunc i32 %10022 to i16
store i16 %10023, i16* %13
%10024 = load i16, i16* %18
%10025 = sext i16 %10024 to i32
%10026 = icmp eq i32 %10025, 0
br i1 %10026, label %10027, label %10028
10027: ; preds = %10021
br label %10032
10028: ; preds = %10021
%10029 = load i16, i16* %18
%10030 = sext i16 %10029 to i32
%10031 = sub nsw i32 25, %10030
br label %10032
10032: ; preds = %10028, %10027
%10033 = phi i32 [ 0, %10027 ], [ %10031, %10028 ]
%10034 = trunc i32 %10033 to i16
store i16 %10034, i16* %17
%10035 = load i16, i16* %10
%10036 = sext i16 %10035 to i32
%10037 = load i16, i16* %11
%10038 = sext i16 %10037 to i32
%10039 = load i16, i16* %12
%10040 = sext i16 %10039 to i32
%10041 = load i16, i16* %13
%10042 = sext i16 %10041 to i32
%10043 = load i16, i16* %14
%10044 = sext i16 %10043 to i32
%10045 = load i16, i16* %15
%10046 = sext i16 %10045 to i32
%10047 = load i16, i16* %16
%10048 = sext i16 %10047 to i32
%10049 = load i16, i16* %17
%10050 = sext i16 %10049 to i32
%10051 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10036, i32 %10038, i32 %10040, i32 %10042, i32 %10044, i32 %10046, i32 %10048, i32 %10050)
%10052 = icmp sle i32 0, %10051
br i1 %10052, label %10053, label %10055
10053: ; preds = %10032
%10054 = load i16, i16* %21
store i16 %10054, i16* %9
br label %18762
10055: ; preds = %10032
%10056 = load i16, i16* %10
store i16 %10056, i16* %18
%10057 = load i16, i16* %14
%10058 = sext i16 %10057 to i32
%10059 = icmp eq i32 %10058, 0
br i1 %10059, label %10060, label %10061
10060: ; preds = %10055
br label %10065
10061: ; preds = %10055
%10062 = load i16, i16* %14
%10063 = sext i16 %10062 to i32
%10064 = sub nsw i32 25, %10063
br label %10065
10065: ; preds = %10061, %10060
%10066 = phi i32 [ 0, %10060 ], [ %10064, %10061 ]
%10067 = trunc i32 %10066 to i16
store i16 %10067, i16* %10
%10068 = load i16, i16* %18
%10069 = sext i16 %10068 to i32
%10070 = icmp eq i32 %10069, 0
br i1 %10070, label %10071, label %10072
10071: ; preds = %10065
br label %10076
10072: ; preds = %10065
%10073 = load i16, i16* %18
%10074 = sext i16 %10073 to i32
%10075 = sub nsw i32 25, %10074
br label %10076
10076: ; preds = %10072, %10071
%10077 = phi i32 [ 0, %10071 ], [ %10075, %10072 ]
%10078 = trunc i32 %10077 to i16
store i16 %10078, i16* %14
%10079 = load i16, i16* %11
store i16 %10079, i16* %18
%10080 = load i16, i16* %15
%10081 = sext i16 %10080 to i32
%10082 = icmp eq i32 %10081, 0
br i1 %10082, label %10083, label %10084
10083: ; preds = %10076
br label %10088
10084: ; preds = %10076
%10085 = load i16, i16* %15
%10086 = sext i16 %10085 to i32
%10087 = sub nsw i32 25, %10086
br label %10088
10088: ; preds = %10084, %10083
%10089 = phi i32 [ 0, %10083 ], [ %10087, %10084 ]
%10090 = trunc i32 %10089 to i16
store i16 %10090, i16* %11
%10091 = load i16, i16* %18
%10092 = sext i16 %10091 to i32
%10093 = icmp eq i32 %10092, 0
br i1 %10093, label %10094, label %10095
10094: ; preds = %10088
br label %10099
10095: ; preds = %10088
%10096 = load i16, i16* %18
%10097 = sext i16 %10096 to i32
%10098 = sub nsw i32 25, %10097
br label %10099
10099: ; preds = %10095, %10094
%10100 = phi i32 [ 0, %10094 ], [ %10098, %10095 ]
%10101 = trunc i32 %10100 to i16
store i16 %10101, i16* %15
%10102 = load i16, i16* %12
store i16 %10102, i16* %18
%10103 = load i16, i16* %16
%10104 = sext i16 %10103 to i32
%10105 = icmp eq i32 %10104, 0
br i1 %10105, label %10106, label %10107
10106: ; preds = %10099
br label %10111
10107: ; preds = %10099
%10108 = load i16, i16* %16
%10109 = sext i16 %10108 to i32
%10110 = sub nsw i32 25, %10109
br label %10111
10111: ; preds = %10107, %10106
%10112 = phi i32 [ 0, %10106 ], [ %10110, %10107 ]
%10113 = trunc i32 %10112 to i16
store i16 %10113, i16* %12
%10114 = load i16, i16* %18
%10115 = sext i16 %10114 to i32
%10116 = icmp eq i32 %10115, 0
br i1 %10116, label %10117, label %10118
10117: ; preds = %10111
br label %10122
10118: ; preds = %10111
%10119 = load i16, i16* %18
%10120 = sext i16 %10119 to i32
%10121 = sub nsw i32 25, %10120
br label %10122
10122: ; preds = %10118, %10117
%10123 = phi i32 [ 0, %10117 ], [ %10121, %10118 ]
%10124 = trunc i32 %10123 to i16
store i16 %10124, i16* %16
%10125 = load i16, i16* %13
store i16 %10125, i16* %18
%10126 = load i16, i16* %17
%10127 = sext i16 %10126 to i32
%10128 = icmp eq i32 %10127, 0
br i1 %10128, label %10129, label %10130
10129: ; preds = %10122
br label %10134
10130: ; preds = %10122
%10131 = load i16, i16* %17
%10132 = sext i16 %10131 to i32
%10133 = sub nsw i32 25, %10132
br label %10134
10134: ; preds = %10130, %10129
%10135 = phi i32 [ 0, %10129 ], [ %10133, %10130 ]
%10136 = trunc i32 %10135 to i16
store i16 %10136, i16* %13
%10137 = load i16, i16* %18
%10138 = sext i16 %10137 to i32
%10139 = icmp eq i32 %10138, 0
br i1 %10139, label %10140, label %10141
10140: ; preds = %10134
br label %10145
10141: ; preds = %10134
%10142 = load i16, i16* %18
%10143 = sext i16 %10142 to i32
%10144 = sub nsw i32 25, %10143
br label %10145
10145: ; preds = %10141, %10140
%10146 = phi i32 [ 0, %10140 ], [ %10144, %10141 ]
%10147 = trunc i32 %10146 to i16
store i16 %10147, i16* %17
%10148 = load i16, i16* %20
store i16 %10148, i16* %17
br label %10355
10149: ; preds = %9936
%10150 = load i16, i16* %10
store i16 %10150, i16* %18
%10151 = load i16, i16* %14
%10152 = sext i16 %10151 to i32
%10153 = icmp eq i32 %10152, 0
br i1 %10153, label %10154, label %10155
10154: ; preds = %10149
br label %10159
10155: ; preds = %10149
%10156 = load i16, i16* %14
%10157 = sext i16 %10156 to i32
%10158 = sub nsw i32 25, %10157
br label %10159
10159: ; preds = %10155, %10154
%10160 = phi i32 [ 0, %10154 ], [ %10158, %10155 ]
%10161 = trunc i32 %10160 to i16
store i16 %10161, i16* %10
%10162 = load i16, i16* %18
%10163 = sext i16 %10162 to i32
%10164 = icmp eq i32 %10163, 0
br i1 %10164, label %10165, label %10166
10165: ; preds = %10159
br label %10170
10166: ; preds = %10159
%10167 = load i16, i16* %18
%10168 = sext i16 %10167 to i32
%10169 = sub nsw i32 25, %10168
br label %10170
10170: ; preds = %10166, %10165
%10171 = phi i32 [ 0, %10165 ], [ %10169, %10166 ]
%10172 = trunc i32 %10171 to i16
store i16 %10172, i16* %14
%10173 = load i16, i16* %11
store i16 %10173, i16* %18
%10174 = load i16, i16* %15
%10175 = sext i16 %10174 to i32
%10176 = icmp eq i32 %10175, 0
br i1 %10176, label %10177, label %10178
10177: ; preds = %10170
br label %10182
10178: ; preds = %10170
%10179 = load i16, i16* %15
%10180 = sext i16 %10179 to i32
%10181 = sub nsw i32 25, %10180
br label %10182
10182: ; preds = %10178, %10177
%10183 = phi i32 [ 0, %10177 ], [ %10181, %10178 ]
%10184 = trunc i32 %10183 to i16
store i16 %10184, i16* %11
%10185 = load i16, i16* %18
%10186 = sext i16 %10185 to i32
%10187 = icmp eq i32 %10186, 0
br i1 %10187, label %10188, label %10189
10188: ; preds = %10182
br label %10193
10189: ; preds = %10182
%10190 = load i16, i16* %18
%10191 = sext i16 %10190 to i32
%10192 = sub nsw i32 25, %10191
br label %10193
10193: ; preds = %10189, %10188
%10194 = phi i32 [ 0, %10188 ], [ %10192, %10189 ]
%10195 = trunc i32 %10194 to i16
store i16 %10195, i16* %15
%10196 = load i16, i16* %12
store i16 %10196, i16* %18
%10197 = load i16, i16* %16
%10198 = sext i16 %10197 to i32
%10199 = icmp eq i32 %10198, 0
br i1 %10199, label %10200, label %10201
10200: ; preds = %10193
br label %10205
10201: ; preds = %10193
%10202 = load i16, i16* %16
%10203 = sext i16 %10202 to i32
%10204 = sub nsw i32 25, %10203
br label %10205
10205: ; preds = %10201, %10200
%10206 = phi i32 [ 0, %10200 ], [ %10204, %10201 ]
%10207 = trunc i32 %10206 to i16
store i16 %10207, i16* %12
%10208 = load i16, i16* %18
%10209 = sext i16 %10208 to i32
%10210 = icmp eq i32 %10209, 0
br i1 %10210, label %10211, label %10212
10211: ; preds = %10205
br label %10216
10212: ; preds = %10205
%10213 = load i16, i16* %18
%10214 = sext i16 %10213 to i32
%10215 = sub nsw i32 25, %10214
br label %10216
10216: ; preds = %10212, %10211
%10217 = phi i32 [ 0, %10211 ], [ %10215, %10212 ]
%10218 = trunc i32 %10217 to i16
store i16 %10218, i16* %16
%10219 = load i16, i16* %13
store i16 %10219, i16* %18
%10220 = load i16, i16* %17
%10221 = sext i16 %10220 to i32
%10222 = icmp eq i32 %10221, 0
br i1 %10222, label %10223, label %10224
10223: ; preds = %10216
br label %10228
10224: ; preds = %10216
%10225 = load i16, i16* %17
%10226 = sext i16 %10225 to i32
%10227 = sub nsw i32 25, %10226
br label %10228
10228: ; preds = %10224, %10223
%10229 = phi i32 [ 0, %10223 ], [ %10227, %10224 ]
%10230 = trunc i32 %10229 to i16
store i16 %10230, i16* %13
%10231 = load i16, i16* %18
%10232 = sext i16 %10231 to i32
%10233 = icmp eq i32 %10232, 0
br i1 %10233, label %10234, label %10235
10234: ; preds = %10228
br label %10239
10235: ; preds = %10228
%10236 = load i16, i16* %18
%10237 = sext i16 %10236 to i32
%10238 = sub nsw i32 25, %10237
br label %10239
10239: ; preds = %10235, %10234
%10240 = phi i32 [ 0, %10234 ], [ %10238, %10235 ]
%10241 = trunc i32 %10240 to i16
store i16 %10241, i16* %17
%10242 = load i16, i16* %10
%10243 = sext i16 %10242 to i32
%10244 = load i16, i16* %11
%10245 = sext i16 %10244 to i32
%10246 = load i16, i16* %12
%10247 = sext i16 %10246 to i32
%10248 = load i16, i16* %13
%10249 = sext i16 %10248 to i32
%10250 = load i16, i16* %14
%10251 = sext i16 %10250 to i32
%10252 = load i16, i16* %15
%10253 = sext i16 %10252 to i32
%10254 = load i16, i16* %16
%10255 = sext i16 %10254 to i32
%10256 = load i16, i16* %17
%10257 = sext i16 %10256 to i32
%10258 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10243, i32 %10245, i32 %10247, i32 %10249, i32 %10251, i32 %10253, i32 %10255, i32 %10257)
%10259 = icmp sle i32 0, %10258
br i1 %10259, label %10260, label %10262
10260: ; preds = %10239
%10261 = load i16, i16* %21
store i16 %10261, i16* %9
br label %18762
10262: ; preds = %10239
%10263 = load i16, i16* %10
store i16 %10263, i16* %18
%10264 = load i16, i16* %14
%10265 = sext i16 %10264 to i32
%10266 = icmp eq i32 %10265, 0
br i1 %10266, label %10267, label %10268
10267: ; preds = %10262
br label %10272
10268: ; preds = %10262
%10269 = load i16, i16* %14
%10270 = sext i16 %10269 to i32
%10271 = sub nsw i32 25, %10270
br label %10272
10272: ; preds = %10268, %10267
%10273 = phi i32 [ 0, %10267 ], [ %10271, %10268 ]
%10274 = trunc i32 %10273 to i16
store i16 %10274, i16* %10
%10275 = load i16, i16* %18
%10276 = sext i16 %10275 to i32
%10277 = icmp eq i32 %10276, 0
br i1 %10277, label %10278, label %10279
10278: ; preds = %10272
br label %10283
10279: ; preds = %10272
%10280 = load i16, i16* %18
%10281 = sext i16 %10280 to i32
%10282 = sub nsw i32 25, %10281
br label %10283
10283: ; preds = %10279, %10278
%10284 = phi i32 [ 0, %10278 ], [ %10282, %10279 ]
%10285 = trunc i32 %10284 to i16
store i16 %10285, i16* %14
%10286 = load i16, i16* %11
store i16 %10286, i16* %18
%10287 = load i16, i16* %15
%10288 = sext i16 %10287 to i32
%10289 = icmp eq i32 %10288, 0
br i1 %10289, label %10290, label %10291
10290: ; preds = %10283
br label %10295
10291: ; preds = %10283
%10292 = load i16, i16* %15
%10293 = sext i16 %10292 to i32
%10294 = sub nsw i32 25, %10293
br label %10295
10295: ; preds = %10291, %10290
%10296 = phi i32 [ 0, %10290 ], [ %10294, %10291 ]
%10297 = trunc i32 %10296 to i16
store i16 %10297, i16* %11
%10298 = load i16, i16* %18
%10299 = sext i16 %10298 to i32
%10300 = icmp eq i32 %10299, 0
br i1 %10300, label %10301, label %10302
10301: ; preds = %10295
br label %10306
10302: ; preds = %10295
%10303 = load i16, i16* %18
%10304 = sext i16 %10303 to i32
%10305 = sub nsw i32 25, %10304
br label %10306
10306: ; preds = %10302, %10301
%10307 = phi i32 [ 0, %10301 ], [ %10305, %10302 ]
%10308 = trunc i32 %10307 to i16
store i16 %10308, i16* %15
%10309 = load i16, i16* %12
store i16 %10309, i16* %18
%10310 = load i16, i16* %16
%10311 = sext i16 %10310 to i32
%10312 = icmp eq i32 %10311, 0
br i1 %10312, label %10313, label %10314
10313: ; preds = %10306
br label %10318
10314: ; preds = %10306
%10315 = load i16, i16* %16
%10316 = sext i16 %10315 to i32
%10317 = sub nsw i32 25, %10316
br label %10318
10318: ; preds = %10314, %10313
%10319 = phi i32 [ 0, %10313 ], [ %10317, %10314 ]
%10320 = trunc i32 %10319 to i16
store i16 %10320, i16* %12
%10321 = load i16, i16* %18
%10322 = sext i16 %10321 to i32
%10323 = icmp eq i32 %10322, 0
br i1 %10323, label %10324, label %10325
10324: ; preds = %10318
br label %10329
10325: ; preds = %10318
%10326 = load i16, i16* %18
%10327 = sext i16 %10326 to i32
%10328 = sub nsw i32 25, %10327
br label %10329
10329: ; preds = %10325, %10324
%10330 = phi i32 [ 0, %10324 ], [ %10328, %10325 ]
%10331 = trunc i32 %10330 to i16
store i16 %10331, i16* %16
%10332 = load i16, i16* %13
store i16 %10332, i16* %18
%10333 = load i16, i16* %17
%10334 = sext i16 %10333 to i32
%10335 = icmp eq i32 %10334, 0
br i1 %10335, label %10336, label %10337
10336: ; preds = %10329
br label %10341
10337: ; preds = %10329
%10338 = load i16, i16* %17
%10339 = sext i16 %10338 to i32
%10340 = sub nsw i32 25, %10339
br label %10341
10341: ; preds = %10337, %10336
%10342 = phi i32 [ 0, %10336 ], [ %10340, %10337 ]
%10343 = trunc i32 %10342 to i16
store i16 %10343, i16* %13
%10344 = load i16, i16* %18
%10345 = sext i16 %10344 to i32
%10346 = icmp eq i32 %10345, 0
br i1 %10346, label %10347, label %10348
10347: ; preds = %10341
br label %10352
10348: ; preds = %10341
%10349 = load i16, i16* %18
%10350 = sext i16 %10349 to i32
%10351 = sub nsw i32 25, %10350
br label %10352
10352: ; preds = %10348, %10347
%10353 = phi i32 [ 0, %10347 ], [ %10351, %10348 ]
%10354 = trunc i32 %10353 to i16
store i16 %10354, i16* %17
br label %10355
10355: ; preds = %10352, %10145
br label %10356
10356: ; preds = %10355, %9932
%10357 = load i16, i16* %19
store i16 %10357, i16* %11
br label %10358
10358: ; preds = %10356, %9716, %9710, %9704, %9698, %9687
br label %10359
10359: ; preds = %10358, %9682, %9678
br label %18743
10360: ; preds = %9674
%10361 = load i16, i16* %21
%10362 = sext i16 %10361 to i32
%10363 = icmp eq i32 %10362, 15
br i1 %10363, label %10364, label %11050
10364: ; preds = %10360
%10365 = load i16, i16* %11
%10366 = sext i16 %10365 to i32
%10367 = icmp ne i32 %10366, 0
br i1 %10367, label %10368, label %11049
10368: ; preds = %10364
%10369 = load i16, i16* %11
%10370 = sext i16 %10369 to i32
%10371 = icmp slt i32 %10370, 21
br i1 %10371, label %10372, label %11049
10372: ; preds = %10368
%10373 = load i16, i16* %11
%10374 = sext i16 %10373 to i32
%10375 = srem i32 %10374, 4
%10376 = icmp ne i32 %10375, 1
br i1 %10376, label %10377, label %11049
10377: ; preds = %10372
%10378 = load i16, i16* %11
store i16 %10378, i16* %19
%10379 = load i16, i16* %19
%10380 = sext i16 %10379 to i32
%10381 = add nsw i32 %10380, 3
%10382 = trunc i32 %10381 to i16
store i16 %10382, i16* %20
%10383 = load i16, i16* %20
%10384 = sext i16 %10383 to i32
%10385 = load i16, i16* %10
%10386 = sext i16 %10385 to i32
%10387 = icmp ne i32 %10384, %10386
br i1 %10387, label %10388, label %11048
10388: ; preds = %10377
%10389 = load i16, i16* %20
%10390 = sext i16 %10389 to i32
%10391 = load i16, i16* %12
%10392 = sext i16 %10391 to i32
%10393 = icmp ne i32 %10390, %10392
br i1 %10393, label %10394, label %11048
10394: ; preds = %10388
%10395 = load i16, i16* %20
%10396 = sext i16 %10395 to i32
%10397 = load i16, i16* %13
%10398 = sext i16 %10397 to i32
%10399 = icmp ne i32 %10396, %10398
br i1 %10399, label %10400, label %11048
10400: ; preds = %10394
%10401 = load i16, i16* %20
%10402 = sext i16 %10401 to i32
%10403 = load i16, i16* %15
%10404 = sext i16 %10403 to i32
%10405 = icmp ne i32 %10402, %10404
br i1 %10405, label %10406, label %11048
10406: ; preds = %10400
%10407 = load i16, i16* %20
%10408 = sext i16 %10407 to i32
%10409 = load i16, i16* %16
%10410 = sext i16 %10409 to i32
%10411 = icmp ne i32 %10408, %10410
br i1 %10411, label %10412, label %11048
10412: ; preds = %10406
%10413 = load i16, i16* %20
store i16 %10413, i16* %11
%10414 = load i16, i16* %14
%10415 = sext i16 %10414 to i32
%10416 = load i16, i16* %20
%10417 = sext i16 %10416 to i32
%10418 = icmp eq i32 %10415, %10417
br i1 %10418, label %10419, label %10626
10419: ; preds = %10412
store i16 0, i16* %14
%10420 = load i16, i16* %10
store i16 %10420, i16* %18
%10421 = load i16, i16* %14
%10422 = sext i16 %10421 to i32
%10423 = icmp eq i32 %10422, 0
br i1 %10423, label %10424, label %10425
10424: ; preds = %10419
br label %10429
10425: ; preds = %10419
%10426 = load i16, i16* %14
%10427 = sext i16 %10426 to i32
%10428 = sub nsw i32 25, %10427
br label %10429
10429: ; preds = %10425, %10424
%10430 = phi i32 [ 0, %10424 ], [ %10428, %10425 ]
%10431 = trunc i32 %10430 to i16
store i16 %10431, i16* %10
%10432 = load i16, i16* %18
%10433 = sext i16 %10432 to i32
%10434 = icmp eq i32 %10433, 0
br i1 %10434, label %10435, label %10436
10435: ; preds = %10429
br label %10440
10436: ; preds = %10429
%10437 = load i16, i16* %18
%10438 = sext i16 %10437 to i32
%10439 = sub nsw i32 25, %10438
br label %10440
10440: ; preds = %10436, %10435
%10441 = phi i32 [ 0, %10435 ], [ %10439, %10436 ]
%10442 = trunc i32 %10441 to i16
store i16 %10442, i16* %14
%10443 = load i16, i16* %11
store i16 %10443, i16* %18
%10444 = load i16, i16* %15
%10445 = sext i16 %10444 to i32
%10446 = icmp eq i32 %10445, 0
br i1 %10446, label %10447, label %10448
10447: ; preds = %10440
br label %10452
10448: ; preds = %10440
%10449 = load i16, i16* %15
%10450 = sext i16 %10449 to i32
%10451 = sub nsw i32 25, %10450
br label %10452
10452: ; preds = %10448, %10447
%10453 = phi i32 [ 0, %10447 ], [ %10451, %10448 ]
%10454 = trunc i32 %10453 to i16
store i16 %10454, i16* %11
%10455 = load i16, i16* %18
%10456 = sext i16 %10455 to i32
%10457 = icmp eq i32 %10456, 0
br i1 %10457, label %10458, label %10459
10458: ; preds = %10452
br label %10463
10459: ; preds = %10452
%10460 = load i16, i16* %18
%10461 = sext i16 %10460 to i32
%10462 = sub nsw i32 25, %10461
br label %10463
10463: ; preds = %10459, %10458
%10464 = phi i32 [ 0, %10458 ], [ %10462, %10459 ]
%10465 = trunc i32 %10464 to i16
store i16 %10465, i16* %15
%10466 = load i16, i16* %12
store i16 %10466, i16* %18
%10467 = load i16, i16* %16
%10468 = sext i16 %10467 to i32
%10469 = icmp eq i32 %10468, 0
br i1 %10469, label %10470, label %10471
10470: ; preds = %10463
br label %10475
10471: ; preds = %10463
%10472 = load i16, i16* %16
%10473 = sext i16 %10472 to i32
%10474 = sub nsw i32 25, %10473
br label %10475
10475: ; preds = %10471, %10470
%10476 = phi i32 [ 0, %10470 ], [ %10474, %10471 ]
%10477 = trunc i32 %10476 to i16
store i16 %10477, i16* %12
%10478 = load i16, i16* %18
%10479 = sext i16 %10478 to i32
%10480 = icmp eq i32 %10479, 0
br i1 %10480, label %10481, label %10482
10481: ; preds = %10475
br label %10486
10482: ; preds = %10475
%10483 = load i16, i16* %18
%10484 = sext i16 %10483 to i32
%10485 = sub nsw i32 25, %10484
br label %10486
10486: ; preds = %10482, %10481
%10487 = phi i32 [ 0, %10481 ], [ %10485, %10482 ]
%10488 = trunc i32 %10487 to i16
store i16 %10488, i16* %16
%10489 = load i16, i16* %13
store i16 %10489, i16* %18
%10490 = load i16, i16* %17
%10491 = sext i16 %10490 to i32
%10492 = icmp eq i32 %10491, 0
br i1 %10492, label %10493, label %10494
10493: ; preds = %10486
br label %10498
10494: ; preds = %10486
%10495 = load i16, i16* %17
%10496 = sext i16 %10495 to i32
%10497 = sub nsw i32 25, %10496
br label %10498
10498: ; preds = %10494, %10493
%10499 = phi i32 [ 0, %10493 ], [ %10497, %10494 ]
%10500 = trunc i32 %10499 to i16
store i16 %10500, i16* %13
%10501 = load i16, i16* %18
%10502 = sext i16 %10501 to i32
%10503 = icmp eq i32 %10502, 0
br i1 %10503, label %10504, label %10505
10504: ; preds = %10498
br label %10509
10505: ; preds = %10498
%10506 = load i16, i16* %18
%10507 = sext i16 %10506 to i32
%10508 = sub nsw i32 25, %10507
br label %10509
10509: ; preds = %10505, %10504
%10510 = phi i32 [ 0, %10504 ], [ %10508, %10505 ]
%10511 = trunc i32 %10510 to i16
store i16 %10511, i16* %17
%10512 = load i16, i16* %10
%10513 = sext i16 %10512 to i32
%10514 = load i16, i16* %11
%10515 = sext i16 %10514 to i32
%10516 = load i16, i16* %12
%10517 = sext i16 %10516 to i32
%10518 = load i16, i16* %13
%10519 = sext i16 %10518 to i32
%10520 = load i16, i16* %14
%10521 = sext i16 %10520 to i32
%10522 = load i16, i16* %15
%10523 = sext i16 %10522 to i32
%10524 = load i16, i16* %16
%10525 = sext i16 %10524 to i32
%10526 = load i16, i16* %17
%10527 = sext i16 %10526 to i32
%10528 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10513, i32 %10515, i32 %10517, i32 %10519, i32 %10521, i32 %10523, i32 %10525, i32 %10527)
%10529 = icmp sle i32 0, %10528
br i1 %10529, label %10530, label %10532
10530: ; preds = %10509
%10531 = load i16, i16* %21
store i16 %10531, i16* %9
br label %18762
10532: ; preds = %10509
%10533 = load i16, i16* %10
store i16 %10533, i16* %18
%10534 = load i16, i16* %14
%10535 = sext i16 %10534 to i32
%10536 = icmp eq i32 %10535, 0
br i1 %10536, label %10537, label %10538
10537: ; preds = %10532
br label %10542
10538: ; preds = %10532
%10539 = load i16, i16* %14
%10540 = sext i16 %10539 to i32
%10541 = sub nsw i32 25, %10540
br label %10542
10542: ; preds = %10538, %10537
%10543 = phi i32 [ 0, %10537 ], [ %10541, %10538 ]
%10544 = trunc i32 %10543 to i16
store i16 %10544, i16* %10
%10545 = load i16, i16* %18
%10546 = sext i16 %10545 to i32
%10547 = icmp eq i32 %10546, 0
br i1 %10547, label %10548, label %10549
10548: ; preds = %10542
br label %10553
10549: ; preds = %10542
%10550 = load i16, i16* %18
%10551 = sext i16 %10550 to i32
%10552 = sub nsw i32 25, %10551
br label %10553
10553: ; preds = %10549, %10548
%10554 = phi i32 [ 0, %10548 ], [ %10552, %10549 ]
%10555 = trunc i32 %10554 to i16
store i16 %10555, i16* %14
%10556 = load i16, i16* %11
store i16 %10556, i16* %18
%10557 = load i16, i16* %15
%10558 = sext i16 %10557 to i32
%10559 = icmp eq i32 %10558, 0
br i1 %10559, label %10560, label %10561
10560: ; preds = %10553
br label %10565
10561: ; preds = %10553
%10562 = load i16, i16* %15
%10563 = sext i16 %10562 to i32
%10564 = sub nsw i32 25, %10563
br label %10565
10565: ; preds = %10561, %10560
%10566 = phi i32 [ 0, %10560 ], [ %10564, %10561 ]
%10567 = trunc i32 %10566 to i16
store i16 %10567, i16* %11
%10568 = load i16, i16* %18
%10569 = sext i16 %10568 to i32
%10570 = icmp eq i32 %10569, 0
br i1 %10570, label %10571, label %10572
10571: ; preds = %10565
br label %10576
10572: ; preds = %10565
%10573 = load i16, i16* %18
%10574 = sext i16 %10573 to i32
%10575 = sub nsw i32 25, %10574
br label %10576
10576: ; preds = %10572, %10571
%10577 = phi i32 [ 0, %10571 ], [ %10575, %10572 ]
%10578 = trunc i32 %10577 to i16
store i16 %10578, i16* %15
%10579 = load i16, i16* %12
store i16 %10579, i16* %18
%10580 = load i16, i16* %16
%10581 = sext i16 %10580 to i32
%10582 = icmp eq i32 %10581, 0
br i1 %10582, label %10583, label %10584
10583: ; preds = %10576
br label %10588
10584: ; preds = %10576
%10585 = load i16, i16* %16
%10586 = sext i16 %10585 to i32
%10587 = sub nsw i32 25, %10586
br label %10588
10588: ; preds = %10584, %10583
%10589 = phi i32 [ 0, %10583 ], [ %10587, %10584 ]
%10590 = trunc i32 %10589 to i16
store i16 %10590, i16* %12
%10591 = load i16, i16* %18
%10592 = sext i16 %10591 to i32
%10593 = icmp eq i32 %10592, 0
br i1 %10593, label %10594, label %10595
10594: ; preds = %10588
br label %10599
10595: ; preds = %10588
%10596 = load i16, i16* %18
%10597 = sext i16 %10596 to i32
%10598 = sub nsw i32 25, %10597
br label %10599
10599: ; preds = %10595, %10594
%10600 = phi i32 [ 0, %10594 ], [ %10598, %10595 ]
%10601 = trunc i32 %10600 to i16
store i16 %10601, i16* %16
%10602 = load i16, i16* %13
store i16 %10602, i16* %18
%10603 = load i16, i16* %17
%10604 = sext i16 %10603 to i32
%10605 = icmp eq i32 %10604, 0
br i1 %10605, label %10606, label %10607
10606: ; preds = %10599
br label %10611
10607: ; preds = %10599
%10608 = load i16, i16* %17
%10609 = sext i16 %10608 to i32
%10610 = sub nsw i32 25, %10609
br label %10611
10611: ; preds = %10607, %10606
%10612 = phi i32 [ 0, %10606 ], [ %10610, %10607 ]
%10613 = trunc i32 %10612 to i16
store i16 %10613, i16* %13
%10614 = load i16, i16* %18
%10615 = sext i16 %10614 to i32
%10616 = icmp eq i32 %10615, 0
br i1 %10616, label %10617, label %10618
10617: ; preds = %10611
br label %10622
10618: ; preds = %10611
%10619 = load i16, i16* %18
%10620 = sext i16 %10619 to i32
%10621 = sub nsw i32 25, %10620
br label %10622
10622: ; preds = %10618, %10617
%10623 = phi i32 [ 0, %10617 ], [ %10621, %10618 ]
%10624 = trunc i32 %10623 to i16
store i16 %10624, i16* %17
%10625 = load i16, i16* %20
store i16 %10625, i16* %14
br label %11046
10626: ; preds = %10412
%10627 = load i16, i16* %20
%10628 = sext i16 %10627 to i32
%10629 = load i16, i16* %17
%10630 = sext i16 %10629 to i32
%10631 = icmp eq i32 %10628, %10630
br i1 %10631, label %10632, label %10839
10632: ; preds = %10626
store i16 0, i16* %17
%10633 = load i16, i16* %10
store i16 %10633, i16* %18
%10634 = load i16, i16* %14
%10635 = sext i16 %10634 to i32
%10636 = icmp eq i32 %10635, 0
br i1 %10636, label %10637, label %10638
10637: ; preds = %10632
br label %10642
10638: ; preds = %10632
%10639 = load i16, i16* %14
%10640 = sext i16 %10639 to i32
%10641 = sub nsw i32 25, %10640
br label %10642
10642: ; preds = %10638, %10637
%10643 = phi i32 [ 0, %10637 ], [ %10641, %10638 ]
%10644 = trunc i32 %10643 to i16
store i16 %10644, i16* %10
%10645 = load i16, i16* %18
%10646 = sext i16 %10645 to i32
%10647 = icmp eq i32 %10646, 0
br i1 %10647, label %10648, label %10649
10648: ; preds = %10642
br label %10653
10649: ; preds = %10642
%10650 = load i16, i16* %18
%10651 = sext i16 %10650 to i32
%10652 = sub nsw i32 25, %10651
br label %10653
10653: ; preds = %10649, %10648
%10654 = phi i32 [ 0, %10648 ], [ %10652, %10649 ]
%10655 = trunc i32 %10654 to i16
store i16 %10655, i16* %14
%10656 = load i16, i16* %11
store i16 %10656, i16* %18
%10657 = load i16, i16* %15
%10658 = sext i16 %10657 to i32
%10659 = icmp eq i32 %10658, 0
br i1 %10659, label %10660, label %10661
10660: ; preds = %10653
br label %10665
10661: ; preds = %10653
%10662 = load i16, i16* %15
%10663 = sext i16 %10662 to i32
%10664 = sub nsw i32 25, %10663
br label %10665
10665: ; preds = %10661, %10660
%10666 = phi i32 [ 0, %10660 ], [ %10664, %10661 ]
%10667 = trunc i32 %10666 to i16
store i16 %10667, i16* %11
%10668 = load i16, i16* %18
%10669 = sext i16 %10668 to i32
%10670 = icmp eq i32 %10669, 0
br i1 %10670, label %10671, label %10672
10671: ; preds = %10665
br label %10676
10672: ; preds = %10665
%10673 = load i16, i16* %18
%10674 = sext i16 %10673 to i32
%10675 = sub nsw i32 25, %10674
br label %10676
10676: ; preds = %10672, %10671
%10677 = phi i32 [ 0, %10671 ], [ %10675, %10672 ]
%10678 = trunc i32 %10677 to i16
store i16 %10678, i16* %15
%10679 = load i16, i16* %12
store i16 %10679, i16* %18
%10680 = load i16, i16* %16
%10681 = sext i16 %10680 to i32
%10682 = icmp eq i32 %10681, 0
br i1 %10682, label %10683, label %10684
10683: ; preds = %10676
br label %10688
10684: ; preds = %10676
%10685 = load i16, i16* %16
%10686 = sext i16 %10685 to i32
%10687 = sub nsw i32 25, %10686
br label %10688
10688: ; preds = %10684, %10683
%10689 = phi i32 [ 0, %10683 ], [ %10687, %10684 ]
%10690 = trunc i32 %10689 to i16
store i16 %10690, i16* %12
%10691 = load i16, i16* %18
%10692 = sext i16 %10691 to i32
%10693 = icmp eq i32 %10692, 0
br i1 %10693, label %10694, label %10695
10694: ; preds = %10688
br label %10699
10695: ; preds = %10688
%10696 = load i16, i16* %18
%10697 = sext i16 %10696 to i32
%10698 = sub nsw i32 25, %10697
br label %10699
10699: ; preds = %10695, %10694
%10700 = phi i32 [ 0, %10694 ], [ %10698, %10695 ]
%10701 = trunc i32 %10700 to i16
store i16 %10701, i16* %16
%10702 = load i16, i16* %13
store i16 %10702, i16* %18
%10703 = load i16, i16* %17
%10704 = sext i16 %10703 to i32
%10705 = icmp eq i32 %10704, 0
br i1 %10705, label %10706, label %10707
10706: ; preds = %10699
br label %10711
10707: ; preds = %10699
%10708 = load i16, i16* %17
%10709 = sext i16 %10708 to i32
%10710 = sub nsw i32 25, %10709
br label %10711
10711: ; preds = %10707, %10706
%10712 = phi i32 [ 0, %10706 ], [ %10710, %10707 ]
%10713 = trunc i32 %10712 to i16
store i16 %10713, i16* %13
%10714 = load i16, i16* %18
%10715 = sext i16 %10714 to i32
%10716 = icmp eq i32 %10715, 0
br i1 %10716, label %10717, label %10718
10717: ; preds = %10711
br label %10722
10718: ; preds = %10711
%10719 = load i16, i16* %18
%10720 = sext i16 %10719 to i32
%10721 = sub nsw i32 25, %10720
br label %10722
10722: ; preds = %10718, %10717
%10723 = phi i32 [ 0, %10717 ], [ %10721, %10718 ]
%10724 = trunc i32 %10723 to i16
store i16 %10724, i16* %17
%10725 = load i16, i16* %10
%10726 = sext i16 %10725 to i32
%10727 = load i16, i16* %11
%10728 = sext i16 %10727 to i32
%10729 = load i16, i16* %12
%10730 = sext i16 %10729 to i32
%10731 = load i16, i16* %13
%10732 = sext i16 %10731 to i32
%10733 = load i16, i16* %14
%10734 = sext i16 %10733 to i32
%10735 = load i16, i16* %15
%10736 = sext i16 %10735 to i32
%10737 = load i16, i16* %16
%10738 = sext i16 %10737 to i32
%10739 = load i16, i16* %17
%10740 = sext i16 %10739 to i32
%10741 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10726, i32 %10728, i32 %10730, i32 %10732, i32 %10734, i32 %10736, i32 %10738, i32 %10740)
%10742 = icmp sle i32 0, %10741
br i1 %10742, label %10743, label %10745
10743: ; preds = %10722
%10744 = load i16, i16* %21
store i16 %10744, i16* %9
br label %18762
10745: ; preds = %10722
%10746 = load i16, i16* %10
store i16 %10746, i16* %18
%10747 = load i16, i16* %14
%10748 = sext i16 %10747 to i32
%10749 = icmp eq i32 %10748, 0
br i1 %10749, label %10750, label %10751
10750: ; preds = %10745
br label %10755
10751: ; preds = %10745
%10752 = load i16, i16* %14
%10753 = sext i16 %10752 to i32
%10754 = sub nsw i32 25, %10753
br label %10755
10755: ; preds = %10751, %10750
%10756 = phi i32 [ 0, %10750 ], [ %10754, %10751 ]
%10757 = trunc i32 %10756 to i16
store i16 %10757, i16* %10
%10758 = load i16, i16* %18
%10759 = sext i16 %10758 to i32
%10760 = icmp eq i32 %10759, 0
br i1 %10760, label %10761, label %10762
10761: ; preds = %10755
br label %10766
10762: ; preds = %10755
%10763 = load i16, i16* %18
%10764 = sext i16 %10763 to i32
%10765 = sub nsw i32 25, %10764
br label %10766
10766: ; preds = %10762, %10761
%10767 = phi i32 [ 0, %10761 ], [ %10765, %10762 ]
%10768 = trunc i32 %10767 to i16
store i16 %10768, i16* %14
%10769 = load i16, i16* %11
store i16 %10769, i16* %18
%10770 = load i16, i16* %15
%10771 = sext i16 %10770 to i32
%10772 = icmp eq i32 %10771, 0
br i1 %10772, label %10773, label %10774
10773: ; preds = %10766
br label %10778
10774: ; preds = %10766
%10775 = load i16, i16* %15
%10776 = sext i16 %10775 to i32
%10777 = sub nsw i32 25, %10776
br label %10778
10778: ; preds = %10774, %10773
%10779 = phi i32 [ 0, %10773 ], [ %10777, %10774 ]
%10780 = trunc i32 %10779 to i16
store i16 %10780, i16* %11
%10781 = load i16, i16* %18
%10782 = sext i16 %10781 to i32
%10783 = icmp eq i32 %10782, 0
br i1 %10783, label %10784, label %10785
10784: ; preds = %10778
br label %10789
10785: ; preds = %10778
%10786 = load i16, i16* %18
%10787 = sext i16 %10786 to i32
%10788 = sub nsw i32 25, %10787
br label %10789
10789: ; preds = %10785, %10784
%10790 = phi i32 [ 0, %10784 ], [ %10788, %10785 ]
%10791 = trunc i32 %10790 to i16
store i16 %10791, i16* %15
%10792 = load i16, i16* %12
store i16 %10792, i16* %18
%10793 = load i16, i16* %16
%10794 = sext i16 %10793 to i32
%10795 = icmp eq i32 %10794, 0
br i1 %10795, label %10796, label %10797
10796: ; preds = %10789
br label %10801
10797: ; preds = %10789
%10798 = load i16, i16* %16
%10799 = sext i16 %10798 to i32
%10800 = sub nsw i32 25, %10799
br label %10801
10801: ; preds = %10797, %10796
%10802 = phi i32 [ 0, %10796 ], [ %10800, %10797 ]
%10803 = trunc i32 %10802 to i16
store i16 %10803, i16* %12
%10804 = load i16, i16* %18
%10805 = sext i16 %10804 to i32
%10806 = icmp eq i32 %10805, 0
br i1 %10806, label %10807, label %10808
10807: ; preds = %10801
br label %10812
10808: ; preds = %10801
%10809 = load i16, i16* %18
%10810 = sext i16 %10809 to i32
%10811 = sub nsw i32 25, %10810
br label %10812
10812: ; preds = %10808, %10807
%10813 = phi i32 [ 0, %10807 ], [ %10811, %10808 ]
%10814 = trunc i32 %10813 to i16
store i16 %10814, i16* %16
%10815 = load i16, i16* %13
store i16 %10815, i16* %18
%10816 = load i16, i16* %17
%10817 = sext i16 %10816 to i32
%10818 = icmp eq i32 %10817, 0
br i1 %10818, label %10819, label %10820
10819: ; preds = %10812
br label %10824
10820: ; preds = %10812
%10821 = load i16, i16* %17
%10822 = sext i16 %10821 to i32
%10823 = sub nsw i32 25, %10822
br label %10824
10824: ; preds = %10820, %10819
%10825 = phi i32 [ 0, %10819 ], [ %10823, %10820 ]
%10826 = trunc i32 %10825 to i16
store i16 %10826, i16* %13
%10827 = load i16, i16* %18
%10828 = sext i16 %10827 to i32
%10829 = icmp eq i32 %10828, 0
br i1 %10829, label %10830, label %10831
10830: ; preds = %10824
br label %10835
10831: ; preds = %10824
%10832 = load i16, i16* %18
%10833 = sext i16 %10832 to i32
%10834 = sub nsw i32 25, %10833
br label %10835
10835: ; preds = %10831, %10830
%10836 = phi i32 [ 0, %10830 ], [ %10834, %10831 ]
%10837 = trunc i32 %10836 to i16
store i16 %10837, i16* %17
%10838 = load i16, i16* %20
store i16 %10838, i16* %17
br label %11045
10839: ; preds = %10626
%10840 = load i16, i16* %10
store i16 %10840, i16* %18
%10841 = load i16, i16* %14
%10842 = sext i16 %10841 to i32
%10843 = icmp eq i32 %10842, 0
br i1 %10843, label %10844, label %10845
10844: ; preds = %10839
br label %10849
10845: ; preds = %10839
%10846 = load i16, i16* %14
%10847 = sext i16 %10846 to i32
%10848 = sub nsw i32 25, %10847
br label %10849
10849: ; preds = %10845, %10844
%10850 = phi i32 [ 0, %10844 ], [ %10848, %10845 ]
%10851 = trunc i32 %10850 to i16
store i16 %10851, i16* %10
%10852 = load i16, i16* %18
%10853 = sext i16 %10852 to i32
%10854 = icmp eq i32 %10853, 0
br i1 %10854, label %10855, label %10856
10855: ; preds = %10849
br label %10860
10856: ; preds = %10849
%10857 = load i16, i16* %18
%10858 = sext i16 %10857 to i32
%10859 = sub nsw i32 25, %10858
br label %10860
10860: ; preds = %10856, %10855
%10861 = phi i32 [ 0, %10855 ], [ %10859, %10856 ]
%10862 = trunc i32 %10861 to i16
store i16 %10862, i16* %14
%10863 = load i16, i16* %11
store i16 %10863, i16* %18
%10864 = load i16, i16* %15
%10865 = sext i16 %10864 to i32
%10866 = icmp eq i32 %10865, 0
br i1 %10866, label %10867, label %10868
10867: ; preds = %10860
br label %10872
10868: ; preds = %10860
%10869 = load i16, i16* %15
%10870 = sext i16 %10869 to i32
%10871 = sub nsw i32 25, %10870
br label %10872
10872: ; preds = %10868, %10867
%10873 = phi i32 [ 0, %10867 ], [ %10871, %10868 ]
%10874 = trunc i32 %10873 to i16
store i16 %10874, i16* %11
%10875 = load i16, i16* %18
%10876 = sext i16 %10875 to i32
%10877 = icmp eq i32 %10876, 0
br i1 %10877, label %10878, label %10879
10878: ; preds = %10872
br label %10883
10879: ; preds = %10872
%10880 = load i16, i16* %18
%10881 = sext i16 %10880 to i32
%10882 = sub nsw i32 25, %10881
br label %10883
10883: ; preds = %10879, %10878
%10884 = phi i32 [ 0, %10878 ], [ %10882, %10879 ]
%10885 = trunc i32 %10884 to i16
store i16 %10885, i16* %15
%10886 = load i16, i16* %12
store i16 %10886, i16* %18
%10887 = load i16, i16* %16
%10888 = sext i16 %10887 to i32
%10889 = icmp eq i32 %10888, 0
br i1 %10889, label %10890, label %10891
10890: ; preds = %10883
br label %10895
10891: ; preds = %10883
%10892 = load i16, i16* %16
%10893 = sext i16 %10892 to i32
%10894 = sub nsw i32 25, %10893
br label %10895
10895: ; preds = %10891, %10890
%10896 = phi i32 [ 0, %10890 ], [ %10894, %10891 ]
%10897 = trunc i32 %10896 to i16
store i16 %10897, i16* %12
%10898 = load i16, i16* %18
%10899 = sext i16 %10898 to i32
%10900 = icmp eq i32 %10899, 0
br i1 %10900, label %10901, label %10902
10901: ; preds = %10895
br label %10906
10902: ; preds = %10895
%10903 = load i16, i16* %18
%10904 = sext i16 %10903 to i32
%10905 = sub nsw i32 25, %10904
br label %10906
10906: ; preds = %10902, %10901
%10907 = phi i32 [ 0, %10901 ], [ %10905, %10902 ]
%10908 = trunc i32 %10907 to i16
store i16 %10908, i16* %16
%10909 = load i16, i16* %13
store i16 %10909, i16* %18
%10910 = load i16, i16* %17
%10911 = sext i16 %10910 to i32
%10912 = icmp eq i32 %10911, 0
br i1 %10912, label %10913, label %10914
10913: ; preds = %10906
br label %10918
10914: ; preds = %10906
%10915 = load i16, i16* %17
%10916 = sext i16 %10915 to i32
%10917 = sub nsw i32 25, %10916
br label %10918
10918: ; preds = %10914, %10913
%10919 = phi i32 [ 0, %10913 ], [ %10917, %10914 ]
%10920 = trunc i32 %10919 to i16
store i16 %10920, i16* %13
%10921 = load i16, i16* %18
%10922 = sext i16 %10921 to i32
%10923 = icmp eq i32 %10922, 0
br i1 %10923, label %10924, label %10925
10924: ; preds = %10918
br label %10929
10925: ; preds = %10918
%10926 = load i16, i16* %18
%10927 = sext i16 %10926 to i32
%10928 = sub nsw i32 25, %10927
br label %10929
10929: ; preds = %10925, %10924
%10930 = phi i32 [ 0, %10924 ], [ %10928, %10925 ]
%10931 = trunc i32 %10930 to i16
store i16 %10931, i16* %17
%10932 = load i16, i16* %10
%10933 = sext i16 %10932 to i32
%10934 = load i16, i16* %11
%10935 = sext i16 %10934 to i32
%10936 = load i16, i16* %12
%10937 = sext i16 %10936 to i32
%10938 = load i16, i16* %13
%10939 = sext i16 %10938 to i32
%10940 = load i16, i16* %14
%10941 = sext i16 %10940 to i32
%10942 = load i16, i16* %15
%10943 = sext i16 %10942 to i32
%10944 = load i16, i16* %16
%10945 = sext i16 %10944 to i32
%10946 = load i16, i16* %17
%10947 = sext i16 %10946 to i32
%10948 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10933, i32 %10935, i32 %10937, i32 %10939, i32 %10941, i32 %10943, i32 %10945, i32 %10947)
%10949 = icmp sle i32 0, %10948
br i1 %10949, label %10950, label %10952
10950: ; preds = %10929
%10951 = load i16, i16* %21
store i16 %10951, i16* %9
br label %18762
10952: ; preds = %10929
%10953 = load i16, i16* %10
store i16 %10953, i16* %18
%10954 = load i16, i16* %14
%10955 = sext i16 %10954 to i32
%10956 = icmp eq i32 %10955, 0
br i1 %10956, label %10957, label %10958
10957: ; preds = %10952
br label %10962
10958: ; preds = %10952
%10959 = load i16, i16* %14
%10960 = sext i16 %10959 to i32
%10961 = sub nsw i32 25, %10960
br label %10962
10962: ; preds = %10958, %10957
%10963 = phi i32 [ 0, %10957 ], [ %10961, %10958 ]
%10964 = trunc i32 %10963 to i16
store i16 %10964, i16* %10
%10965 = load i16, i16* %18
%10966 = sext i16 %10965 to i32
%10967 = icmp eq i32 %10966, 0
br i1 %10967, label %10968, label %10969
10968: ; preds = %10962
br label %10973
10969: ; preds = %10962
%10970 = load i16, i16* %18
%10971 = sext i16 %10970 to i32
%10972 = sub nsw i32 25, %10971
br label %10973
10973: ; preds = %10969, %10968
%10974 = phi i32 [ 0, %10968 ], [ %10972, %10969 ]
%10975 = trunc i32 %10974 to i16
store i16 %10975, i16* %14
%10976 = load i16, i16* %11
store i16 %10976, i16* %18
%10977 = load i16, i16* %15
%10978 = sext i16 %10977 to i32
%10979 = icmp eq i32 %10978, 0
br i1 %10979, label %10980, label %10981
10980: ; preds = %10973
br label %10985
10981: ; preds = %10973
%10982 = load i16, i16* %15
%10983 = sext i16 %10982 to i32
%10984 = sub nsw i32 25, %10983
br label %10985
10985: ; preds = %10981, %10980
%10986 = phi i32 [ 0, %10980 ], [ %10984, %10981 ]
%10987 = trunc i32 %10986 to i16
store i16 %10987, i16* %11
%10988 = load i16, i16* %18
%10989 = sext i16 %10988 to i32
%10990 = icmp eq i32 %10989, 0
br i1 %10990, label %10991, label %10992
10991: ; preds = %10985
br label %10996
10992: ; preds = %10985
%10993 = load i16, i16* %18
%10994 = sext i16 %10993 to i32
%10995 = sub nsw i32 25, %10994
br label %10996
10996: ; preds = %10992, %10991
%10997 = phi i32 [ 0, %10991 ], [ %10995, %10992 ]
%10998 = trunc i32 %10997 to i16
store i16 %10998, i16* %15
%10999 = load i16, i16* %12
store i16 %10999, i16* %18
%11000 = load i16, i16* %16
%11001 = sext i16 %11000 to i32
%11002 = icmp eq i32 %11001, 0
br i1 %11002, label %11003, label %11004
11003: ; preds = %10996
br label %11008
11004: ; preds = %10996
%11005 = load i16, i16* %16
%11006 = sext i16 %11005 to i32
%11007 = sub nsw i32 25, %11006
br label %11008
11008: ; preds = %11004, %11003
%11009 = phi i32 [ 0, %11003 ], [ %11007, %11004 ]
%11010 = trunc i32 %11009 to i16
store i16 %11010, i16* %12
%11011 = load i16, i16* %18
%11012 = sext i16 %11011 to i32
%11013 = icmp eq i32 %11012, 0
br i1 %11013, label %11014, label %11015
11014: ; preds = %11008
br label %11019
11015: ; preds = %11008
%11016 = load i16, i16* %18
%11017 = sext i16 %11016 to i32
%11018 = sub nsw i32 25, %11017
br label %11019
11019: ; preds = %11015, %11014
%11020 = phi i32 [ 0, %11014 ], [ %11018, %11015 ]
%11021 = trunc i32 %11020 to i16
store i16 %11021, i16* %16
%11022 = load i16, i16* %13
store i16 %11022, i16* %18
%11023 = load i16, i16* %17
%11024 = sext i16 %11023 to i32
%11025 = icmp eq i32 %11024, 0
br i1 %11025, label %11026, label %11027
11026: ; preds = %11019
br label %11031
11027: ; preds = %11019
%11028 = load i16, i16* %17
%11029 = sext i16 %11028 to i32
%11030 = sub nsw i32 25, %11029
br label %11031
11031: ; preds = %11027, %11026
%11032 = phi i32 [ 0, %11026 ], [ %11030, %11027 ]
%11033 = trunc i32 %11032 to i16
store i16 %11033, i16* %13
%11034 = load i16, i16* %18
%11035 = sext i16 %11034 to i32
%11036 = icmp eq i32 %11035, 0
br i1 %11036, label %11037, label %11038
11037: ; preds = %11031
br label %11042
11038: ; preds = %11031
%11039 = load i16, i16* %18
%11040 = sext i16 %11039 to i32
%11041 = sub nsw i32 25, %11040
br label %11042
11042: ; preds = %11038, %11037
%11043 = phi i32 [ 0, %11037 ], [ %11041, %11038 ]
%11044 = trunc i32 %11043 to i16
store i16 %11044, i16* %17
br label %11045
11045: ; preds = %11042, %10835
br label %11046
11046: ; preds = %11045, %10622
%11047 = load i16, i16* %19
store i16 %11047, i16* %11
br label %11048
11048: ; preds = %11046, %10406, %10400, %10394, %10388, %10377
br label %11049
11049: ; preds = %11048, %10372, %10368, %10364
br label %18742
11050: ; preds = %10360
%11051 = load i16, i16* %21
%11052 = sext i16 %11051 to i32
%11053 = icmp eq i32 %11052, 16
br i1 %11053, label %11054, label %11527
11054: ; preds = %11050
%11055 = load i16, i16* %12
%11056 = sext i16 %11055 to i32
%11057 = icmp ne i32 %11056, 0
br i1 %11057, label %11058, label %11526
11058: ; preds = %11054
%11059 = load i16, i16* %12
%11060 = sext i16 %11059 to i32
%11061 = icmp slt i32 %11060, 21
br i1 %11061, label %11062, label %11526
11062: ; preds = %11058
%11063 = load i16, i16* %12
store i16 %11063, i16* %19
%11064 = load i16, i16* %19
%11065 = sext i16 %11064 to i32
%11066 = add nsw i32 %11065, 4
%11067 = trunc i32 %11066 to i16
store i16 %11067, i16* %20
%11068 = load i16, i16* %20
%11069 = sext i16 %11068 to i32
%11070 = load i16, i16* %10
%11071 = sext i16 %11070 to i32
%11072 = icmp ne i32 %11069, %11071
br i1 %11072, label %11073, label %11525
11073: ; preds = %11062
%11074 = load i16, i16* %20
%11075 = sext i16 %11074 to i32
%11076 = load i16, i16* %11
%11077 = sext i16 %11076 to i32
%11078 = icmp ne i32 %11075, %11077
br i1 %11078, label %11079, label %11525
11079: ; preds = %11073
%11080 = load i16, i16* %20
%11081 = sext i16 %11080 to i32
%11082 = load i16, i16* %13
%11083 = sext i16 %11082 to i32
%11084 = icmp ne i32 %11081, %11083
br i1 %11084, label %11085, label %11525
11085: ; preds = %11079
%11086 = load i16, i16* %20
%11087 = sext i16 %11086 to i32
%11088 = load i16, i16* %14
%11089 = sext i16 %11088 to i32
%11090 = icmp ne i32 %11087, %11089
br i1 %11090, label %11091, label %11525
11091: ; preds = %11085
%11092 = load i16, i16* %20
%11093 = sext i16 %11092 to i32
%11094 = load i16, i16* %16
%11095 = sext i16 %11094 to i32
%11096 = icmp ne i32 %11093, %11095
br i1 %11096, label %11097, label %11525
11097: ; preds = %11091
%11098 = load i16, i16* %20
%11099 = sext i16 %11098 to i32
%11100 = load i16, i16* %17
%11101 = sext i16 %11100 to i32
%11102 = icmp ne i32 %11099, %11101
br i1 %11102, label %11103, label %11525
11103: ; preds = %11097
%11104 = load i16, i16* %20
store i16 %11104, i16* %12
%11105 = load i16, i16* %15
%11106 = sext i16 %11105 to i32
%11107 = load i16, i16* %20
%11108 = sext i16 %11107 to i32
%11109 = icmp eq i32 %11106, %11108
br i1 %11109, label %11110, label %11317
11110: ; preds = %11103
store i16 0, i16* %15
%11111 = load i16, i16* %10
store i16 %11111, i16* %18
%11112 = load i16, i16* %14
%11113 = sext i16 %11112 to i32
%11114 = icmp eq i32 %11113, 0
br i1 %11114, label %11115, label %11116
11115: ; preds = %11110
br label %11120
11116: ; preds = %11110
%11117 = load i16, i16* %14
%11118 = sext i16 %11117 to i32
%11119 = sub nsw i32 25, %11118
br label %11120
11120: ; preds = %11116, %11115
%11121 = phi i32 [ 0, %11115 ], [ %11119, %11116 ]
%11122 = trunc i32 %11121 to i16
store i16 %11122, i16* %10
%11123 = load i16, i16* %18
%11124 = sext i16 %11123 to i32
%11125 = icmp eq i32 %11124, 0
br i1 %11125, label %11126, label %11127
11126: ; preds = %11120
br label %11131
11127: ; preds = %11120
%11128 = load i16, i16* %18
%11129 = sext i16 %11128 to i32
%11130 = sub nsw i32 25, %11129
br label %11131
11131: ; preds = %11127, %11126
%11132 = phi i32 [ 0, %11126 ], [ %11130, %11127 ]
%11133 = trunc i32 %11132 to i16
store i16 %11133, i16* %14
%11134 = load i16, i16* %11
store i16 %11134, i16* %18
%11135 = load i16, i16* %15
%11136 = sext i16 %11135 to i32
%11137 = icmp eq i32 %11136, 0
br i1 %11137, label %11138, label %11139
11138: ; preds = %11131
br label %11143
11139: ; preds = %11131
%11140 = load i16, i16* %15
%11141 = sext i16 %11140 to i32
%11142 = sub nsw i32 25, %11141
br label %11143
11143: ; preds = %11139, %11138
%11144 = phi i32 [ 0, %11138 ], [ %11142, %11139 ]
%11145 = trunc i32 %11144 to i16
store i16 %11145, i16* %11
%11146 = load i16, i16* %18
%11147 = sext i16 %11146 to i32
%11148 = icmp eq i32 %11147, 0
br i1 %11148, label %11149, label %11150
11149: ; preds = %11143
br label %11154
11150: ; preds = %11143
%11151 = load i16, i16* %18
%11152 = sext i16 %11151 to i32
%11153 = sub nsw i32 25, %11152
br label %11154
11154: ; preds = %11150, %11149
%11155 = phi i32 [ 0, %11149 ], [ %11153, %11150 ]
%11156 = trunc i32 %11155 to i16
store i16 %11156, i16* %15
%11157 = load i16, i16* %12
store i16 %11157, i16* %18
%11158 = load i16, i16* %16
%11159 = sext i16 %11158 to i32
%11160 = icmp eq i32 %11159, 0
br i1 %11160, label %11161, label %11162
11161: ; preds = %11154
br label %11166
11162: ; preds = %11154
%11163 = load i16, i16* %16
%11164 = sext i16 %11163 to i32
%11165 = sub nsw i32 25, %11164
br label %11166
11166: ; preds = %11162, %11161
%11167 = phi i32 [ 0, %11161 ], [ %11165, %11162 ]
%11168 = trunc i32 %11167 to i16
store i16 %11168, i16* %12
%11169 = load i16, i16* %18
%11170 = sext i16 %11169 to i32
%11171 = icmp eq i32 %11170, 0
br i1 %11171, label %11172, label %11173
11172: ; preds = %11166
br label %11177
11173: ; preds = %11166
%11174 = load i16, i16* %18
%11175 = sext i16 %11174 to i32
%11176 = sub nsw i32 25, %11175
br label %11177
11177: ; preds = %11173, %11172
%11178 = phi i32 [ 0, %11172 ], [ %11176, %11173 ]
%11179 = trunc i32 %11178 to i16
store i16 %11179, i16* %16
%11180 = load i16, i16* %13
store i16 %11180, i16* %18
%11181 = load i16, i16* %17
%11182 = sext i16 %11181 to i32
%11183 = icmp eq i32 %11182, 0
br i1 %11183, label %11184, label %11185
11184: ; preds = %11177
br label %11189
11185: ; preds = %11177
%11186 = load i16, i16* %17
%11187 = sext i16 %11186 to i32
%11188 = sub nsw i32 25, %11187
br label %11189
11189: ; preds = %11185, %11184
%11190 = phi i32 [ 0, %11184 ], [ %11188, %11185 ]
%11191 = trunc i32 %11190 to i16
store i16 %11191, i16* %13
%11192 = load i16, i16* %18
%11193 = sext i16 %11192 to i32
%11194 = icmp eq i32 %11193, 0
br i1 %11194, label %11195, label %11196
11195: ; preds = %11189
br label %11200
11196: ; preds = %11189
%11197 = load i16, i16* %18
%11198 = sext i16 %11197 to i32
%11199 = sub nsw i32 25, %11198
br label %11200
11200: ; preds = %11196, %11195
%11201 = phi i32 [ 0, %11195 ], [ %11199, %11196 ]
%11202 = trunc i32 %11201 to i16
store i16 %11202, i16* %17
%11203 = load i16, i16* %10
%11204 = sext i16 %11203 to i32
%11205 = load i16, i16* %11
%11206 = sext i16 %11205 to i32
%11207 = load i16, i16* %12
%11208 = sext i16 %11207 to i32
%11209 = load i16, i16* %13
%11210 = sext i16 %11209 to i32
%11211 = load i16, i16* %14
%11212 = sext i16 %11211 to i32
%11213 = load i16, i16* %15
%11214 = sext i16 %11213 to i32
%11215 = load i16, i16* %16
%11216 = sext i16 %11215 to i32
%11217 = load i16, i16* %17
%11218 = sext i16 %11217 to i32
%11219 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11204, i32 %11206, i32 %11208, i32 %11210, i32 %11212, i32 %11214, i32 %11216, i32 %11218)
%11220 = icmp sle i32 0, %11219
br i1 %11220, label %11221, label %11223
11221: ; preds = %11200
%11222 = load i16, i16* %21
store i16 %11222, i16* %9
br label %18762
11223: ; preds = %11200
%11224 = load i16, i16* %10
store i16 %11224, i16* %18
%11225 = load i16, i16* %14
%11226 = sext i16 %11225 to i32
%11227 = icmp eq i32 %11226, 0
br i1 %11227, label %11228, label %11229
11228: ; preds = %11223
br label %11233
11229: ; preds = %11223
%11230 = load i16, i16* %14
%11231 = sext i16 %11230 to i32
%11232 = sub nsw i32 25, %11231
br label %11233
11233: ; preds = %11229, %11228
%11234 = phi i32 [ 0, %11228 ], [ %11232, %11229 ]
%11235 = trunc i32 %11234 to i16
store i16 %11235, i16* %10
%11236 = load i16, i16* %18
%11237 = sext i16 %11236 to i32
%11238 = icmp eq i32 %11237, 0
br i1 %11238, label %11239, label %11240
11239: ; preds = %11233
br label %11244
11240: ; preds = %11233
%11241 = load i16, i16* %18
%11242 = sext i16 %11241 to i32
%11243 = sub nsw i32 25, %11242
br label %11244
11244: ; preds = %11240, %11239
%11245 = phi i32 [ 0, %11239 ], [ %11243, %11240 ]
%11246 = trunc i32 %11245 to i16
store i16 %11246, i16* %14
%11247 = load i16, i16* %11
store i16 %11247, i16* %18
%11248 = load i16, i16* %15
%11249 = sext i16 %11248 to i32
%11250 = icmp eq i32 %11249, 0
br i1 %11250, label %11251, label %11252
11251: ; preds = %11244
br label %11256
11252: ; preds = %11244
%11253 = load i16, i16* %15
%11254 = sext i16 %11253 to i32
%11255 = sub nsw i32 25, %11254
br label %11256
11256: ; preds = %11252, %11251
%11257 = phi i32 [ 0, %11251 ], [ %11255, %11252 ]
%11258 = trunc i32 %11257 to i16
store i16 %11258, i16* %11
%11259 = load i16, i16* %18
%11260 = sext i16 %11259 to i32
%11261 = icmp eq i32 %11260, 0
br i1 %11261, label %11262, label %11263
11262: ; preds = %11256
br label %11267
11263: ; preds = %11256
%11264 = load i16, i16* %18
%11265 = sext i16 %11264 to i32
%11266 = sub nsw i32 25, %11265
br label %11267
11267: ; preds = %11263, %11262
%11268 = phi i32 [ 0, %11262 ], [ %11266, %11263 ]
%11269 = trunc i32 %11268 to i16
store i16 %11269, i16* %15
%11270 = load i16, i16* %12
store i16 %11270, i16* %18
%11271 = load i16, i16* %16
%11272 = sext i16 %11271 to i32
%11273 = icmp eq i32 %11272, 0
br i1 %11273, label %11274, label %11275
11274: ; preds = %11267
br label %11279
11275: ; preds = %11267
%11276 = load i16, i16* %16
%11277 = sext i16 %11276 to i32
%11278 = sub nsw i32 25, %11277
br label %11279
11279: ; preds = %11275, %11274
%11280 = phi i32 [ 0, %11274 ], [ %11278, %11275 ]
%11281 = trunc i32 %11280 to i16
store i16 %11281, i16* %12
%11282 = load i16, i16* %18
%11283 = sext i16 %11282 to i32
%11284 = icmp eq i32 %11283, 0
br i1 %11284, label %11285, label %11286
11285: ; preds = %11279
br label %11290
11286: ; preds = %11279
%11287 = load i16, i16* %18
%11288 = sext i16 %11287 to i32
%11289 = sub nsw i32 25, %11288
br label %11290
11290: ; preds = %11286, %11285
%11291 = phi i32 [ 0, %11285 ], [ %11289, %11286 ]
%11292 = trunc i32 %11291 to i16
store i16 %11292, i16* %16
%11293 = load i16, i16* %13
store i16 %11293, i16* %18
%11294 = load i16, i16* %17
%11295 = sext i16 %11294 to i32
%11296 = icmp eq i32 %11295, 0
br i1 %11296, label %11297, label %11298
11297: ; preds = %11290
br label %11302
11298: ; preds = %11290
%11299 = load i16, i16* %17
%11300 = sext i16 %11299 to i32
%11301 = sub nsw i32 25, %11300
br label %11302
11302: ; preds = %11298, %11297
%11303 = phi i32 [ 0, %11297 ], [ %11301, %11298 ]
%11304 = trunc i32 %11303 to i16
store i16 %11304, i16* %13
%11305 = load i16, i16* %18
%11306 = sext i16 %11305 to i32
%11307 = icmp eq i32 %11306, 0
br i1 %11307, label %11308, label %11309
11308: ; preds = %11302
br label %11313
11309: ; preds = %11302
%11310 = load i16, i16* %18
%11311 = sext i16 %11310 to i32
%11312 = sub nsw i32 25, %11311
br label %11313
11313: ; preds = %11309, %11308
%11314 = phi i32 [ 0, %11308 ], [ %11312, %11309 ]
%11315 = trunc i32 %11314 to i16
store i16 %11315, i16* %17
%11316 = load i16, i16* %20
store i16 %11316, i16* %15
br label %11523
11317: ; preds = %11103
%11318 = load i16, i16* %10
store i16 %11318, i16* %18
%11319 = load i16, i16* %14
%11320 = sext i16 %11319 to i32
%11321 = icmp eq i32 %11320, 0
br i1 %11321, label %11322, label %11323
11322: ; preds = %11317
br label %11327
11323: ; preds = %11317
%11324 = load i16, i16* %14
%11325 = sext i16 %11324 to i32
%11326 = sub nsw i32 25, %11325
br label %11327
11327: ; preds = %11323, %11322
%11328 = phi i32 [ 0, %11322 ], [ %11326, %11323 ]
%11329 = trunc i32 %11328 to i16
store i16 %11329, i16* %10
%11330 = load i16, i16* %18
%11331 = sext i16 %11330 to i32
%11332 = icmp eq i32 %11331, 0
br i1 %11332, label %11333, label %11334
11333: ; preds = %11327
br label %11338
11334: ; preds = %11327
%11335 = load i16, i16* %18
%11336 = sext i16 %11335 to i32
%11337 = sub nsw i32 25, %11336
br label %11338
11338: ; preds = %11334, %11333
%11339 = phi i32 [ 0, %11333 ], [ %11337, %11334 ]
%11340 = trunc i32 %11339 to i16
store i16 %11340, i16* %14
%11341 = load i16, i16* %11
store i16 %11341, i16* %18
%11342 = load i16, i16* %15
%11343 = sext i16 %11342 to i32
%11344 = icmp eq i32 %11343, 0
br i1 %11344, label %11345, label %11346
11345: ; preds = %11338
br label %11350
11346: ; preds = %11338
%11347 = load i16, i16* %15
%11348 = sext i16 %11347 to i32
%11349 = sub nsw i32 25, %11348
br label %11350
11350: ; preds = %11346, %11345
%11351 = phi i32 [ 0, %11345 ], [ %11349, %11346 ]
%11352 = trunc i32 %11351 to i16
store i16 %11352, i16* %11
%11353 = load i16, i16* %18
%11354 = sext i16 %11353 to i32
%11355 = icmp eq i32 %11354, 0
br i1 %11355, label %11356, label %11357
11356: ; preds = %11350
br label %11361
11357: ; preds = %11350
%11358 = load i16, i16* %18
%11359 = sext i16 %11358 to i32
%11360 = sub nsw i32 25, %11359
br label %11361
11361: ; preds = %11357, %11356
%11362 = phi i32 [ 0, %11356 ], [ %11360, %11357 ]
%11363 = trunc i32 %11362 to i16
store i16 %11363, i16* %15
%11364 = load i16, i16* %12
store i16 %11364, i16* %18
%11365 = load i16, i16* %16
%11366 = sext i16 %11365 to i32
%11367 = icmp eq i32 %11366, 0
br i1 %11367, label %11368, label %11369
11368: ; preds = %11361
br label %11373
11369: ; preds = %11361
%11370 = load i16, i16* %16
%11371 = sext i16 %11370 to i32
%11372 = sub nsw i32 25, %11371
br label %11373
11373: ; preds = %11369, %11368
%11374 = phi i32 [ 0, %11368 ], [ %11372, %11369 ]
%11375 = trunc i32 %11374 to i16
store i16 %11375, i16* %12
%11376 = load i16, i16* %18
%11377 = sext i16 %11376 to i32
%11378 = icmp eq i32 %11377, 0
br i1 %11378, label %11379, label %11380
11379: ; preds = %11373
br label %11384
11380: ; preds = %11373
%11381 = load i16, i16* %18
%11382 = sext i16 %11381 to i32
%11383 = sub nsw i32 25, %11382
br label %11384
11384: ; preds = %11380, %11379
%11385 = phi i32 [ 0, %11379 ], [ %11383, %11380 ]
%11386 = trunc i32 %11385 to i16
store i16 %11386, i16* %16
%11387 = load i16, i16* %13
store i16 %11387, i16* %18
%11388 = load i16, i16* %17
%11389 = sext i16 %11388 to i32
%11390 = icmp eq i32 %11389, 0
br i1 %11390, label %11391, label %11392
11391: ; preds = %11384
br label %11396
11392: ; preds = %11384
%11393 = load i16, i16* %17
%11394 = sext i16 %11393 to i32
%11395 = sub nsw i32 25, %11394
br label %11396
11396: ; preds = %11392, %11391
%11397 = phi i32 [ 0, %11391 ], [ %11395, %11392 ]
%11398 = trunc i32 %11397 to i16
store i16 %11398, i16* %13
%11399 = load i16, i16* %18
%11400 = sext i16 %11399 to i32
%11401 = icmp eq i32 %11400, 0
br i1 %11401, label %11402, label %11403
11402: ; preds = %11396
br label %11407
11403: ; preds = %11396
%11404 = load i16, i16* %18
%11405 = sext i16 %11404 to i32
%11406 = sub nsw i32 25, %11405
br label %11407
11407: ; preds = %11403, %11402
%11408 = phi i32 [ 0, %11402 ], [ %11406, %11403 ]
%11409 = trunc i32 %11408 to i16
store i16 %11409, i16* %17
%11410 = load i16, i16* %10
%11411 = sext i16 %11410 to i32
%11412 = load i16, i16* %11
%11413 = sext i16 %11412 to i32
%11414 = load i16, i16* %12
%11415 = sext i16 %11414 to i32
%11416 = load i16, i16* %13
%11417 = sext i16 %11416 to i32
%11418 = load i16, i16* %14
%11419 = sext i16 %11418 to i32
%11420 = load i16, i16* %15
%11421 = sext i16 %11420 to i32
%11422 = load i16, i16* %16
%11423 = sext i16 %11422 to i32
%11424 = load i16, i16* %17
%11425 = sext i16 %11424 to i32
%11426 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11411, i32 %11413, i32 %11415, i32 %11417, i32 %11419, i32 %11421, i32 %11423, i32 %11425)
%11427 = icmp sle i32 0, %11426
br i1 %11427, label %11428, label %11430
11428: ; preds = %11407
%11429 = load i16, i16* %21
store i16 %11429, i16* %9
br label %18762
11430: ; preds = %11407
%11431 = load i16, i16* %10
store i16 %11431, i16* %18
%11432 = load i16, i16* %14
%11433 = sext i16 %11432 to i32
%11434 = icmp eq i32 %11433, 0
br i1 %11434, label %11435, label %11436
11435: ; preds = %11430
br label %11440
11436: ; preds = %11430
%11437 = load i16, i16* %14
%11438 = sext i16 %11437 to i32
%11439 = sub nsw i32 25, %11438
br label %11440
11440: ; preds = %11436, %11435
%11441 = phi i32 [ 0, %11435 ], [ %11439, %11436 ]
%11442 = trunc i32 %11441 to i16
store i16 %11442, i16* %10
%11443 = load i16, i16* %18
%11444 = sext i16 %11443 to i32
%11445 = icmp eq i32 %11444, 0
br i1 %11445, label %11446, label %11447
11446: ; preds = %11440
br label %11451
11447: ; preds = %11440
%11448 = load i16, i16* %18
%11449 = sext i16 %11448 to i32
%11450 = sub nsw i32 25, %11449
br label %11451
11451: ; preds = %11447, %11446
%11452 = phi i32 [ 0, %11446 ], [ %11450, %11447 ]
%11453 = trunc i32 %11452 to i16
store i16 %11453, i16* %14
%11454 = load i16, i16* %11
store i16 %11454, i16* %18
%11455 = load i16, i16* %15
%11456 = sext i16 %11455 to i32
%11457 = icmp eq i32 %11456, 0
br i1 %11457, label %11458, label %11459
11458: ; preds = %11451
br label %11463
11459: ; preds = %11451
%11460 = load i16, i16* %15
%11461 = sext i16 %11460 to i32
%11462 = sub nsw i32 25, %11461
br label %11463
11463: ; preds = %11459, %11458
%11464 = phi i32 [ 0, %11458 ], [ %11462, %11459 ]
%11465 = trunc i32 %11464 to i16
store i16 %11465, i16* %11
%11466 = load i16, i16* %18
%11467 = sext i16 %11466 to i32
%11468 = icmp eq i32 %11467, 0
br i1 %11468, label %11469, label %11470
11469: ; preds = %11463
br label %11474
11470: ; preds = %11463
%11471 = load i16, i16* %18
%11472 = sext i16 %11471 to i32
%11473 = sub nsw i32 25, %11472
br label %11474
11474: ; preds = %11470, %11469
%11475 = phi i32 [ 0, %11469 ], [ %11473, %11470 ]
%11476 = trunc i32 %11475 to i16
store i16 %11476, i16* %15
%11477 = load i16, i16* %12
store i16 %11477, i16* %18
%11478 = load i16, i16* %16
%11479 = sext i16 %11478 to i32
%11480 = icmp eq i32 %11479, 0
br i1 %11480, label %11481, label %11482
11481: ; preds = %11474
br label %11486
11482: ; preds = %11474
%11483 = load i16, i16* %16
%11484 = sext i16 %11483 to i32
%11485 = sub nsw i32 25, %11484
br label %11486
11486: ; preds = %11482, %11481
%11487 = phi i32 [ 0, %11481 ], [ %11485, %11482 ]
%11488 = trunc i32 %11487 to i16
store i16 %11488, i16* %12
%11489 = load i16, i16* %18
%11490 = sext i16 %11489 to i32
%11491 = icmp eq i32 %11490, 0
br i1 %11491, label %11492, label %11493
11492: ; preds = %11486
br label %11497
11493: ; preds = %11486
%11494 = load i16, i16* %18
%11495 = sext i16 %11494 to i32
%11496 = sub nsw i32 25, %11495
br label %11497
11497: ; preds = %11493, %11492
%11498 = phi i32 [ 0, %11492 ], [ %11496, %11493 ]
%11499 = trunc i32 %11498 to i16
store i16 %11499, i16* %16
%11500 = load i16, i16* %13
store i16 %11500, i16* %18
%11501 = load i16, i16* %17
%11502 = sext i16 %11501 to i32
%11503 = icmp eq i32 %11502, 0
br i1 %11503, label %11504, label %11505
11504: ; preds = %11497
br label %11509
11505: ; preds = %11497
%11506 = load i16, i16* %17
%11507 = sext i16 %11506 to i32
%11508 = sub nsw i32 25, %11507
br label %11509
11509: ; preds = %11505, %11504
%11510 = phi i32 [ 0, %11504 ], [ %11508, %11505 ]
%11511 = trunc i32 %11510 to i16
store i16 %11511, i16* %13
%11512 = load i16, i16* %18
%11513 = sext i16 %11512 to i32
%11514 = icmp eq i32 %11513, 0
br i1 %11514, label %11515, label %11516
11515: ; preds = %11509
br label %11520
11516: ; preds = %11509
%11517 = load i16, i16* %18
%11518 = sext i16 %11517 to i32
%11519 = sub nsw i32 25, %11518
br label %11520
11520: ; preds = %11516, %11515
%11521 = phi i32 [ 0, %11515 ], [ %11519, %11516 ]
%11522 = trunc i32 %11521 to i16
store i16 %11522, i16* %17
br label %11523
11523: ; preds = %11520, %11313
%11524 = load i16, i16* %19
store i16 %11524, i16* %12
br label %11525
11525: ; preds = %11523, %11097, %11091, %11085, %11079, %11073, %11062
br label %11526
11526: ; preds = %11525, %11058, %11054
br label %18741
11527: ; preds = %11050
%11528 = load i16, i16* %21
%11529 = sext i16 %11528 to i32
%11530 = icmp eq i32 %11529, 17
br i1 %11530, label %11531, label %12009
11531: ; preds = %11527
%11532 = load i16, i16* %12
%11533 = sext i16 %11532 to i32
%11534 = icmp ne i32 %11533, 0
br i1 %11534, label %11535, label %12008
11535: ; preds = %11531
%11536 = load i16, i16* %12
%11537 = sext i16 %11536 to i32
%11538 = icmp slt i32 %11537, 21
br i1 %11538, label %11539, label %12008
11539: ; preds = %11535
%11540 = load i16, i16* %12
%11541 = sext i16 %11540 to i32
%11542 = srem i32 %11541, 4
%11543 = icmp ne i32 %11542, 0
br i1 %11543, label %11544, label %12008
11544: ; preds = %11539
%11545 = load i16, i16* %12
store i16 %11545, i16* %19
%11546 = load i16, i16* %19
%11547 = sext i16 %11546 to i32
%11548 = add nsw i32 %11547, 5
%11549 = trunc i32 %11548 to i16
store i16 %11549, i16* %20
%11550 = load i16, i16* %20
%11551 = sext i16 %11550 to i32
%11552 = load i16, i16* %10
%11553 = sext i16 %11552 to i32
%11554 = icmp ne i32 %11551, %11553
br i1 %11554, label %11555, label %12007
11555: ; preds = %11544
%11556 = load i16, i16* %20
%11557 = sext i16 %11556 to i32
%11558 = load i16, i16* %11
%11559 = sext i16 %11558 to i32
%11560 = icmp ne i32 %11557, %11559
br i1 %11560, label %11561, label %12007
11561: ; preds = %11555
%11562 = load i16, i16* %20
%11563 = sext i16 %11562 to i32
%11564 = load i16, i16* %13
%11565 = sext i16 %11564 to i32
%11566 = icmp ne i32 %11563, %11565
br i1 %11566, label %11567, label %12007
11567: ; preds = %11561
%11568 = load i16, i16* %20
%11569 = sext i16 %11568 to i32
%11570 = load i16, i16* %14
%11571 = sext i16 %11570 to i32
%11572 = icmp ne i32 %11569, %11571
br i1 %11572, label %11573, label %12007
11573: ; preds = %11567
%11574 = load i16, i16* %20
%11575 = sext i16 %11574 to i32
%11576 = load i16, i16* %16
%11577 = sext i16 %11576 to i32
%11578 = icmp ne i32 %11575, %11577
br i1 %11578, label %11579, label %12007
11579: ; preds = %11573
%11580 = load i16, i16* %20
%11581 = sext i16 %11580 to i32
%11582 = load i16, i16* %17
%11583 = sext i16 %11582 to i32
%11584 = icmp ne i32 %11581, %11583
br i1 %11584, label %11585, label %12007
11585: ; preds = %11579
%11586 = load i16, i16* %20
store i16 %11586, i16* %12
%11587 = load i16, i16* %15
%11588 = sext i16 %11587 to i32
%11589 = load i16, i16* %20
%11590 = sext i16 %11589 to i32
%11591 = icmp eq i32 %11588, %11590
br i1 %11591, label %11592, label %11799
11592: ; preds = %11585
store i16 0, i16* %15
%11593 = load i16, i16* %10
store i16 %11593, i16* %18
%11594 = load i16, i16* %14
%11595 = sext i16 %11594 to i32
%11596 = icmp eq i32 %11595, 0
br i1 %11596, label %11597, label %11598
11597: ; preds = %11592
br label %11602
11598: ; preds = %11592
%11599 = load i16, i16* %14
%11600 = sext i16 %11599 to i32
%11601 = sub nsw i32 25, %11600
br label %11602
11602: ; preds = %11598, %11597
%11603 = phi i32 [ 0, %11597 ], [ %11601, %11598 ]
%11604 = trunc i32 %11603 to i16
store i16 %11604, i16* %10
%11605 = load i16, i16* %18
%11606 = sext i16 %11605 to i32
%11607 = icmp eq i32 %11606, 0
br i1 %11607, label %11608, label %11609
11608: ; preds = %11602
br label %11613
11609: ; preds = %11602
%11610 = load i16, i16* %18
%11611 = sext i16 %11610 to i32
%11612 = sub nsw i32 25, %11611
br label %11613
11613: ; preds = %11609, %11608
%11614 = phi i32 [ 0, %11608 ], [ %11612, %11609 ]
%11615 = trunc i32 %11614 to i16
store i16 %11615, i16* %14
%11616 = load i16, i16* %11
store i16 %11616, i16* %18
%11617 = load i16, i16* %15
%11618 = sext i16 %11617 to i32
%11619 = icmp eq i32 %11618, 0
br i1 %11619, label %11620, label %11621
11620: ; preds = %11613
br label %11625
11621: ; preds = %11613
%11622 = load i16, i16* %15
%11623 = sext i16 %11622 to i32
%11624 = sub nsw i32 25, %11623
br label %11625
11625: ; preds = %11621, %11620
%11626 = phi i32 [ 0, %11620 ], [ %11624, %11621 ]
%11627 = trunc i32 %11626 to i16
store i16 %11627, i16* %11
%11628 = load i16, i16* %18
%11629 = sext i16 %11628 to i32
%11630 = icmp eq i32 %11629, 0
br i1 %11630, label %11631, label %11632
11631: ; preds = %11625
br label %11636
11632: ; preds = %11625
%11633 = load i16, i16* %18
%11634 = sext i16 %11633 to i32
%11635 = sub nsw i32 25, %11634
br label %11636
11636: ; preds = %11632, %11631
%11637 = phi i32 [ 0, %11631 ], [ %11635, %11632 ]
%11638 = trunc i32 %11637 to i16
store i16 %11638, i16* %15
%11639 = load i16, i16* %12
store i16 %11639, i16* %18
%11640 = load i16, i16* %16
%11641 = sext i16 %11640 to i32
%11642 = icmp eq i32 %11641, 0
br i1 %11642, label %11643, label %11644
11643: ; preds = %11636
br label %11648
11644: ; preds = %11636
%11645 = load i16, i16* %16
%11646 = sext i16 %11645 to i32
%11647 = sub nsw i32 25, %11646
br label %11648
11648: ; preds = %11644, %11643
%11649 = phi i32 [ 0, %11643 ], [ %11647, %11644 ]
%11650 = trunc i32 %11649 to i16
store i16 %11650, i16* %12
%11651 = load i16, i16* %18
%11652 = sext i16 %11651 to i32
%11653 = icmp eq i32 %11652, 0
br i1 %11653, label %11654, label %11655
11654: ; preds = %11648
br label %11659
11655: ; preds = %11648
%11656 = load i16, i16* %18
%11657 = sext i16 %11656 to i32
%11658 = sub nsw i32 25, %11657
br label %11659
11659: ; preds = %11655, %11654
%11660 = phi i32 [ 0, %11654 ], [ %11658, %11655 ]
%11661 = trunc i32 %11660 to i16
store i16 %11661, i16* %16
%11662 = load i16, i16* %13
store i16 %11662, i16* %18
%11663 = load i16, i16* %17
%11664 = sext i16 %11663 to i32
%11665 = icmp eq i32 %11664, 0
br i1 %11665, label %11666, label %11667
11666: ; preds = %11659
br label %11671
11667: ; preds = %11659
%11668 = load i16, i16* %17
%11669 = sext i16 %11668 to i32
%11670 = sub nsw i32 25, %11669
br label %11671
11671: ; preds = %11667, %11666
%11672 = phi i32 [ 0, %11666 ], [ %11670, %11667 ]
%11673 = trunc i32 %11672 to i16
store i16 %11673, i16* %13
%11674 = load i16, i16* %18
%11675 = sext i16 %11674 to i32
%11676 = icmp eq i32 %11675, 0
br i1 %11676, label %11677, label %11678
11677: ; preds = %11671
br label %11682
11678: ; preds = %11671
%11679 = load i16, i16* %18
%11680 = sext i16 %11679 to i32
%11681 = sub nsw i32 25, %11680
br label %11682
11682: ; preds = %11678, %11677
%11683 = phi i32 [ 0, %11677 ], [ %11681, %11678 ]
%11684 = trunc i32 %11683 to i16
store i16 %11684, i16* %17
%11685 = load i16, i16* %10
%11686 = sext i16 %11685 to i32
%11687 = load i16, i16* %11
%11688 = sext i16 %11687 to i32
%11689 = load i16, i16* %12
%11690 = sext i16 %11689 to i32
%11691 = load i16, i16* %13
%11692 = sext i16 %11691 to i32
%11693 = load i16, i16* %14
%11694 = sext i16 %11693 to i32
%11695 = load i16, i16* %15
%11696 = sext i16 %11695 to i32
%11697 = load i16, i16* %16
%11698 = sext i16 %11697 to i32
%11699 = load i16, i16* %17
%11700 = sext i16 %11699 to i32
%11701 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11686, i32 %11688, i32 %11690, i32 %11692, i32 %11694, i32 %11696, i32 %11698, i32 %11700)
%11702 = icmp sle i32 0, %11701
br i1 %11702, label %11703, label %11705
11703: ; preds = %11682
%11704 = load i16, i16* %21
store i16 %11704, i16* %9
br label %18762
11705: ; preds = %11682
%11706 = load i16, i16* %10
store i16 %11706, i16* %18
%11707 = load i16, i16* %14
%11708 = sext i16 %11707 to i32
%11709 = icmp eq i32 %11708, 0
br i1 %11709, label %11710, label %11711
11710: ; preds = %11705
br label %11715
11711: ; preds = %11705
%11712 = load i16, i16* %14
%11713 = sext i16 %11712 to i32
%11714 = sub nsw i32 25, %11713
br label %11715
11715: ; preds = %11711, %11710
%11716 = phi i32 [ 0, %11710 ], [ %11714, %11711 ]
%11717 = trunc i32 %11716 to i16
store i16 %11717, i16* %10
%11718 = load i16, i16* %18
%11719 = sext i16 %11718 to i32
%11720 = icmp eq i32 %11719, 0
br i1 %11720, label %11721, label %11722
11721: ; preds = %11715
br label %11726
11722: ; preds = %11715
%11723 = load i16, i16* %18
%11724 = sext i16 %11723 to i32
%11725 = sub nsw i32 25, %11724
br label %11726
11726: ; preds = %11722, %11721
%11727 = phi i32 [ 0, %11721 ], [ %11725, %11722 ]
%11728 = trunc i32 %11727 to i16
store i16 %11728, i16* %14
%11729 = load i16, i16* %11
store i16 %11729, i16* %18
%11730 = load i16, i16* %15
%11731 = sext i16 %11730 to i32
%11732 = icmp eq i32 %11731, 0
br i1 %11732, label %11733, label %11734
11733: ; preds = %11726
br label %11738
11734: ; preds = %11726
%11735 = load i16, i16* %15
%11736 = sext i16 %11735 to i32
%11737 = sub nsw i32 25, %11736
br label %11738
11738: ; preds = %11734, %11733
%11739 = phi i32 [ 0, %11733 ], [ %11737, %11734 ]
%11740 = trunc i32 %11739 to i16
store i16 %11740, i16* %11
%11741 = load i16, i16* %18
%11742 = sext i16 %11741 to i32
%11743 = icmp eq i32 %11742, 0
br i1 %11743, label %11744, label %11745
11744: ; preds = %11738
br label %11749
11745: ; preds = %11738
%11746 = load i16, i16* %18
%11747 = sext i16 %11746 to i32
%11748 = sub nsw i32 25, %11747
br label %11749
11749: ; preds = %11745, %11744
%11750 = phi i32 [ 0, %11744 ], [ %11748, %11745 ]
%11751 = trunc i32 %11750 to i16
store i16 %11751, i16* %15
%11752 = load i16, i16* %12
store i16 %11752, i16* %18
%11753 = load i16, i16* %16
%11754 = sext i16 %11753 to i32
%11755 = icmp eq i32 %11754, 0
br i1 %11755, label %11756, label %11757
11756: ; preds = %11749
br label %11761
11757: ; preds = %11749
%11758 = load i16, i16* %16
%11759 = sext i16 %11758 to i32
%11760 = sub nsw i32 25, %11759
br label %11761
11761: ; preds = %11757, %11756
%11762 = phi i32 [ 0, %11756 ], [ %11760, %11757 ]
%11763 = trunc i32 %11762 to i16
store i16 %11763, i16* %12
%11764 = load i16, i16* %18
%11765 = sext i16 %11764 to i32
%11766 = icmp eq i32 %11765, 0
br i1 %11766, label %11767, label %11768
11767: ; preds = %11761
br label %11772
11768: ; preds = %11761
%11769 = load i16, i16* %18
%11770 = sext i16 %11769 to i32
%11771 = sub nsw i32 25, %11770
br label %11772
11772: ; preds = %11768, %11767
%11773 = phi i32 [ 0, %11767 ], [ %11771, %11768 ]
%11774 = trunc i32 %11773 to i16
store i16 %11774, i16* %16
%11775 = load i16, i16* %13
store i16 %11775, i16* %18
%11776 = load i16, i16* %17
%11777 = sext i16 %11776 to i32
%11778 = icmp eq i32 %11777, 0
br i1 %11778, label %11779, label %11780
11779: ; preds = %11772
br label %11784
11780: ; preds = %11772
%11781 = load i16, i16* %17
%11782 = sext i16 %11781 to i32
%11783 = sub nsw i32 25, %11782
br label %11784
11784: ; preds = %11780, %11779
%11785 = phi i32 [ 0, %11779 ], [ %11783, %11780 ]
%11786 = trunc i32 %11785 to i16
store i16 %11786, i16* %13
%11787 = load i16, i16* %18
%11788 = sext i16 %11787 to i32
%11789 = icmp eq i32 %11788, 0
br i1 %11789, label %11790, label %11791
11790: ; preds = %11784
br label %11795
11791: ; preds = %11784
%11792 = load i16, i16* %18
%11793 = sext i16 %11792 to i32
%11794 = sub nsw i32 25, %11793
br label %11795
11795: ; preds = %11791, %11790
%11796 = phi i32 [ 0, %11790 ], [ %11794, %11791 ]
%11797 = trunc i32 %11796 to i16
store i16 %11797, i16* %17
%11798 = load i16, i16* %20
store i16 %11798, i16* %15
br label %12005
11799: ; preds = %11585
%11800 = load i16, i16* %10
store i16 %11800, i16* %18
%11801 = load i16, i16* %14
%11802 = sext i16 %11801 to i32
%11803 = icmp eq i32 %11802, 0
br i1 %11803, label %11804, label %11805
11804: ; preds = %11799
br label %11809
11805: ; preds = %11799
%11806 = load i16, i16* %14
%11807 = sext i16 %11806 to i32
%11808 = sub nsw i32 25, %11807
br label %11809
11809: ; preds = %11805, %11804
%11810 = phi i32 [ 0, %11804 ], [ %11808, %11805 ]
%11811 = trunc i32 %11810 to i16
store i16 %11811, i16* %10
%11812 = load i16, i16* %18
%11813 = sext i16 %11812 to i32
%11814 = icmp eq i32 %11813, 0
br i1 %11814, label %11815, label %11816
11815: ; preds = %11809
br label %11820
11816: ; preds = %11809
%11817 = load i16, i16* %18
%11818 = sext i16 %11817 to i32
%11819 = sub nsw i32 25, %11818
br label %11820
11820: ; preds = %11816, %11815
%11821 = phi i32 [ 0, %11815 ], [ %11819, %11816 ]
%11822 = trunc i32 %11821 to i16
store i16 %11822, i16* %14
%11823 = load i16, i16* %11
store i16 %11823, i16* %18
%11824 = load i16, i16* %15
%11825 = sext i16 %11824 to i32
%11826 = icmp eq i32 %11825, 0
br i1 %11826, label %11827, label %11828
11827: ; preds = %11820
br label %11832
11828: ; preds = %11820
%11829 = load i16, i16* %15
%11830 = sext i16 %11829 to i32
%11831 = sub nsw i32 25, %11830
br label %11832
11832: ; preds = %11828, %11827
%11833 = phi i32 [ 0, %11827 ], [ %11831, %11828 ]
%11834 = trunc i32 %11833 to i16
store i16 %11834, i16* %11
%11835 = load i16, i16* %18
%11836 = sext i16 %11835 to i32
%11837 = icmp eq i32 %11836, 0
br i1 %11837, label %11838, label %11839
11838: ; preds = %11832
br label %11843
11839: ; preds = %11832
%11840 = load i16, i16* %18
%11841 = sext i16 %11840 to i32
%11842 = sub nsw i32 25, %11841
br label %11843
11843: ; preds = %11839, %11838
%11844 = phi i32 [ 0, %11838 ], [ %11842, %11839 ]
%11845 = trunc i32 %11844 to i16
store i16 %11845, i16* %15
%11846 = load i16, i16* %12
store i16 %11846, i16* %18
%11847 = load i16, i16* %16
%11848 = sext i16 %11847 to i32
%11849 = icmp eq i32 %11848, 0
br i1 %11849, label %11850, label %11851
11850: ; preds = %11843
br label %11855
11851: ; preds = %11843
%11852 = load i16, i16* %16
%11853 = sext i16 %11852 to i32
%11854 = sub nsw i32 25, %11853
br label %11855
11855: ; preds = %11851, %11850
%11856 = phi i32 [ 0, %11850 ], [ %11854, %11851 ]
%11857 = trunc i32 %11856 to i16
store i16 %11857, i16* %12
%11858 = load i16, i16* %18
%11859 = sext i16 %11858 to i32
%11860 = icmp eq i32 %11859, 0
br i1 %11860, label %11861, label %11862
11861: ; preds = %11855
br label %11866
11862: ; preds = %11855
%11863 = load i16, i16* %18
%11864 = sext i16 %11863 to i32
%11865 = sub nsw i32 25, %11864
br label %11866
11866: ; preds = %11862, %11861
%11867 = phi i32 [ 0, %11861 ], [ %11865, %11862 ]
%11868 = trunc i32 %11867 to i16
store i16 %11868, i16* %16
%11869 = load i16, i16* %13
store i16 %11869, i16* %18
%11870 = load i16, i16* %17
%11871 = sext i16 %11870 to i32
%11872 = icmp eq i32 %11871, 0
br i1 %11872, label %11873, label %11874
11873: ; preds = %11866
br label %11878
11874: ; preds = %11866
%11875 = load i16, i16* %17
%11876 = sext i16 %11875 to i32
%11877 = sub nsw i32 25, %11876
br label %11878
11878: ; preds = %11874, %11873
%11879 = phi i32 [ 0, %11873 ], [ %11877, %11874 ]
%11880 = trunc i32 %11879 to i16
store i16 %11880, i16* %13
%11881 = load i16, i16* %18
%11882 = sext i16 %11881 to i32
%11883 = icmp eq i32 %11882, 0
br i1 %11883, label %11884, label %11885
11884: ; preds = %11878
br label %11889
11885: ; preds = %11878
%11886 = load i16, i16* %18
%11887 = sext i16 %11886 to i32
%11888 = sub nsw i32 25, %11887
br label %11889
11889: ; preds = %11885, %11884
%11890 = phi i32 [ 0, %11884 ], [ %11888, %11885 ]
%11891 = trunc i32 %11890 to i16
store i16 %11891, i16* %17
%11892 = load i16, i16* %10
%11893 = sext i16 %11892 to i32
%11894 = load i16, i16* %11
%11895 = sext i16 %11894 to i32
%11896 = load i16, i16* %12
%11897 = sext i16 %11896 to i32
%11898 = load i16, i16* %13
%11899 = sext i16 %11898 to i32
%11900 = load i16, i16* %14
%11901 = sext i16 %11900 to i32
%11902 = load i16, i16* %15
%11903 = sext i16 %11902 to i32
%11904 = load i16, i16* %16
%11905 = sext i16 %11904 to i32
%11906 = load i16, i16* %17
%11907 = sext i16 %11906 to i32
%11908 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11893, i32 %11895, i32 %11897, i32 %11899, i32 %11901, i32 %11903, i32 %11905, i32 %11907)
%11909 = icmp sle i32 0, %11908
br i1 %11909, label %11910, label %11912
11910: ; preds = %11889
%11911 = load i16, i16* %21
store i16 %11911, i16* %9
br label %18762
11912: ; preds = %11889
%11913 = load i16, i16* %10
store i16 %11913, i16* %18
%11914 = load i16, i16* %14
%11915 = sext i16 %11914 to i32
%11916 = icmp eq i32 %11915, 0
br i1 %11916, label %11917, label %11918
11917: ; preds = %11912
br label %11922
11918: ; preds = %11912
%11919 = load i16, i16* %14
%11920 = sext i16 %11919 to i32
%11921 = sub nsw i32 25, %11920
br label %11922
11922: ; preds = %11918, %11917
%11923 = phi i32 [ 0, %11917 ], [ %11921, %11918 ]
%11924 = trunc i32 %11923 to i16
store i16 %11924, i16* %10
%11925 = load i16, i16* %18
%11926 = sext i16 %11925 to i32
%11927 = icmp eq i32 %11926, 0
br i1 %11927, label %11928, label %11929
11928: ; preds = %11922
br label %11933
11929: ; preds = %11922
%11930 = load i16, i16* %18
%11931 = sext i16 %11930 to i32
%11932 = sub nsw i32 25, %11931
br label %11933
11933: ; preds = %11929, %11928
%11934 = phi i32 [ 0, %11928 ], [ %11932, %11929 ]
%11935 = trunc i32 %11934 to i16
store i16 %11935, i16* %14
%11936 = load i16, i16* %11
store i16 %11936, i16* %18
%11937 = load i16, i16* %15
%11938 = sext i16 %11937 to i32
%11939 = icmp eq i32 %11938, 0
br i1 %11939, label %11940, label %11941
11940: ; preds = %11933
br label %11945
11941: ; preds = %11933
%11942 = load i16, i16* %15
%11943 = sext i16 %11942 to i32
%11944 = sub nsw i32 25, %11943
br label %11945
11945: ; preds = %11941, %11940
%11946 = phi i32 [ 0, %11940 ], [ %11944, %11941 ]
%11947 = trunc i32 %11946 to i16
store i16 %11947, i16* %11
%11948 = load i16, i16* %18
%11949 = sext i16 %11948 to i32
%11950 = icmp eq i32 %11949, 0
br i1 %11950, label %11951, label %11952
11951: ; preds = %11945
br label %11956
11952: ; preds = %11945
%11953 = load i16, i16* %18
%11954 = sext i16 %11953 to i32
%11955 = sub nsw i32 25, %11954
br label %11956
11956: ; preds = %11952, %11951
%11957 = phi i32 [ 0, %11951 ], [ %11955, %11952 ]
%11958 = trunc i32 %11957 to i16
store i16 %11958, i16* %15
%11959 = load i16, i16* %12
store i16 %11959, i16* %18
%11960 = load i16, i16* %16
%11961 = sext i16 %11960 to i32
%11962 = icmp eq i32 %11961, 0
br i1 %11962, label %11963, label %11964
11963: ; preds = %11956
br label %11968
11964: ; preds = %11956
%11965 = load i16, i16* %16
%11966 = sext i16 %11965 to i32
%11967 = sub nsw i32 25, %11966
br label %11968
11968: ; preds = %11964, %11963
%11969 = phi i32 [ 0, %11963 ], [ %11967, %11964 ]
%11970 = trunc i32 %11969 to i16
store i16 %11970, i16* %12
%11971 = load i16, i16* %18
%11972 = sext i16 %11971 to i32
%11973 = icmp eq i32 %11972, 0
br i1 %11973, label %11974, label %11975
11974: ; preds = %11968
br label %11979
11975: ; preds = %11968
%11976 = load i16, i16* %18
%11977 = sext i16 %11976 to i32
%11978 = sub nsw i32 25, %11977
br label %11979
11979: ; preds = %11975, %11974
%11980 = phi i32 [ 0, %11974 ], [ %11978, %11975 ]
%11981 = trunc i32 %11980 to i16
store i16 %11981, i16* %16
%11982 = load i16, i16* %13
store i16 %11982, i16* %18
%11983 = load i16, i16* %17
%11984 = sext i16 %11983 to i32
%11985 = icmp eq i32 %11984, 0
br i1 %11985, label %11986, label %11987
11986: ; preds = %11979
br label %11991
11987: ; preds = %11979
%11988 = load i16, i16* %17
%11989 = sext i16 %11988 to i32
%11990 = sub nsw i32 25, %11989
br label %11991
11991: ; preds = %11987, %11986
%11992 = phi i32 [ 0, %11986 ], [ %11990, %11987 ]
%11993 = trunc i32 %11992 to i16
store i16 %11993, i16* %13
%11994 = load i16, i16* %18
%11995 = sext i16 %11994 to i32
%11996 = icmp eq i32 %11995, 0
br i1 %11996, label %11997, label %11998
11997: ; preds = %11991
br label %12002
11998: ; preds = %11991
%11999 = load i16, i16* %18
%12000 = sext i16 %11999 to i32
%12001 = sub nsw i32 25, %12000
br label %12002
12002: ; preds = %11998, %11997
%12003 = phi i32 [ 0, %11997 ], [ %12001, %11998 ]
%12004 = trunc i32 %12003 to i16
store i16 %12004, i16* %17
br label %12005
12005: ; preds = %12002, %11795
%12006 = load i16, i16* %19
store i16 %12006, i16* %12
br label %12007
12007: ; preds = %12005, %11579, %11573, %11567, %11561, %11555, %11544
br label %12008
12008: ; preds = %12007, %11539, %11535, %11531
br label %18740
12009: ; preds = %11527
%12010 = load i16, i16* %21
%12011 = sext i16 %12010 to i32
%12012 = icmp eq i32 %12011, 18
br i1 %12012, label %12013, label %12487
12013: ; preds = %12009
%12014 = load i16, i16* %12
%12015 = sext i16 %12014 to i32
%12016 = icmp ne i32 %12015, 0
br i1 %12016, label %12017, label %12486
12017: ; preds = %12013
%12018 = load i16, i16* %12
%12019 = sext i16 %12018 to i32
%12020 = srem i32 %12019, 4
%12021 = icmp ne i32 %12020, 0
br i1 %12021, label %12022, label %12486
12022: ; preds = %12017
%12023 = load i16, i16* %12
store i16 %12023, i16* %19
%12024 = load i16, i16* %19
%12025 = sext i16 %12024 to i32
%12026 = add nsw i32 %12025, 1
%12027 = trunc i32 %12026 to i16
store i16 %12027, i16* %20
%12028 = load i16, i16* %20
%12029 = sext i16 %12028 to i32
%12030 = load i16, i16* %10
%12031 = sext i16 %12030 to i32
%12032 = icmp ne i32 %12029, %12031
br i1 %12032, label %12033, label %12485
12033: ; preds = %12022
%12034 = load i16, i16* %20
%12035 = sext i16 %12034 to i32
%12036 = load i16, i16* %11
%12037 = sext i16 %12036 to i32
%12038 = icmp ne i32 %12035, %12037
br i1 %12038, label %12039, label %12485
12039: ; preds = %12033
%12040 = load i16, i16* %20
%12041 = sext i16 %12040 to i32
%12042 = load i16, i16* %13
%12043 = sext i16 %12042 to i32
%12044 = icmp ne i32 %12041, %12043
br i1 %12044, label %12045, label %12485
12045: ; preds = %12039
%12046 = load i16, i16* %20
%12047 = sext i16 %12046 to i32
%12048 = load i16, i16* %14
%12049 = sext i16 %12048 to i32
%12050 = icmp ne i32 %12047, %12049
br i1 %12050, label %12051, label %12485
12051: ; preds = %12045
%12052 = load i16, i16* %20
%12053 = sext i16 %12052 to i32
%12054 = load i16, i16* %16
%12055 = sext i16 %12054 to i32
%12056 = icmp ne i32 %12053, %12055
br i1 %12056, label %12057, label %12485
12057: ; preds = %12051
%12058 = load i16, i16* %20
%12059 = sext i16 %12058 to i32
%12060 = load i16, i16* %17
%12061 = sext i16 %12060 to i32
%12062 = icmp ne i32 %12059, %12061
br i1 %12062, label %12063, label %12485
12063: ; preds = %12057
%12064 = load i16, i16* %20
store i16 %12064, i16* %12
%12065 = load i16, i16* %15
%12066 = sext i16 %12065 to i32
%12067 = load i16, i16* %20
%12068 = sext i16 %12067 to i32
%12069 = icmp eq i32 %12066, %12068
br i1 %12069, label %12070, label %12277
12070: ; preds = %12063
store i16 0, i16* %15
%12071 = load i16, i16* %10
store i16 %12071, i16* %18
%12072 = load i16, i16* %14
%12073 = sext i16 %12072 to i32
%12074 = icmp eq i32 %12073, 0
br i1 %12074, label %12075, label %12076
12075: ; preds = %12070
br label %12080
12076: ; preds = %12070
%12077 = load i16, i16* %14
%12078 = sext i16 %12077 to i32
%12079 = sub nsw i32 25, %12078
br label %12080
12080: ; preds = %12076, %12075
%12081 = phi i32 [ 0, %12075 ], [ %12079, %12076 ]
%12082 = trunc i32 %12081 to i16
store i16 %12082, i16* %10
%12083 = load i16, i16* %18
%12084 = sext i16 %12083 to i32
%12085 = icmp eq i32 %12084, 0
br i1 %12085, label %12086, label %12087
12086: ; preds = %12080
br label %12091
12087: ; preds = %12080
%12088 = load i16, i16* %18
%12089 = sext i16 %12088 to i32
%12090 = sub nsw i32 25, %12089
br label %12091
12091: ; preds = %12087, %12086
%12092 = phi i32 [ 0, %12086 ], [ %12090, %12087 ]
%12093 = trunc i32 %12092 to i16
store i16 %12093, i16* %14
%12094 = load i16, i16* %11
store i16 %12094, i16* %18
%12095 = load i16, i16* %15
%12096 = sext i16 %12095 to i32
%12097 = icmp eq i32 %12096, 0
br i1 %12097, label %12098, label %12099
12098: ; preds = %12091
br label %12103
12099: ; preds = %12091
%12100 = load i16, i16* %15
%12101 = sext i16 %12100 to i32
%12102 = sub nsw i32 25, %12101
br label %12103
12103: ; preds = %12099, %12098
%12104 = phi i32 [ 0, %12098 ], [ %12102, %12099 ]
%12105 = trunc i32 %12104 to i16
store i16 %12105, i16* %11
%12106 = load i16, i16* %18
%12107 = sext i16 %12106 to i32
%12108 = icmp eq i32 %12107, 0
br i1 %12108, label %12109, label %12110
12109: ; preds = %12103
br label %12114
12110: ; preds = %12103
%12111 = load i16, i16* %18
%12112 = sext i16 %12111 to i32
%12113 = sub nsw i32 25, %12112
br label %12114
12114: ; preds = %12110, %12109
%12115 = phi i32 [ 0, %12109 ], [ %12113, %12110 ]
%12116 = trunc i32 %12115 to i16
store i16 %12116, i16* %15
%12117 = load i16, i16* %12
store i16 %12117, i16* %18
%12118 = load i16, i16* %16
%12119 = sext i16 %12118 to i32
%12120 = icmp eq i32 %12119, 0
br i1 %12120, label %12121, label %12122
12121: ; preds = %12114
br label %12126
12122: ; preds = %12114
%12123 = load i16, i16* %16
%12124 = sext i16 %12123 to i32
%12125 = sub nsw i32 25, %12124
br label %12126
12126: ; preds = %12122, %12121
%12127 = phi i32 [ 0, %12121 ], [ %12125, %12122 ]
%12128 = trunc i32 %12127 to i16
store i16 %12128, i16* %12
%12129 = load i16, i16* %18
%12130 = sext i16 %12129 to i32
%12131 = icmp eq i32 %12130, 0
br i1 %12131, label %12132, label %12133
12132: ; preds = %12126
br label %12137
12133: ; preds = %12126
%12134 = load i16, i16* %18
%12135 = sext i16 %12134 to i32
%12136 = sub nsw i32 25, %12135
br label %12137
12137: ; preds = %12133, %12132
%12138 = phi i32 [ 0, %12132 ], [ %12136, %12133 ]
%12139 = trunc i32 %12138 to i16
store i16 %12139, i16* %16
%12140 = load i16, i16* %13
store i16 %12140, i16* %18
%12141 = load i16, i16* %17
%12142 = sext i16 %12141 to i32
%12143 = icmp eq i32 %12142, 0
br i1 %12143, label %12144, label %12145
12144: ; preds = %12137
br label %12149
12145: ; preds = %12137
%12146 = load i16, i16* %17
%12147 = sext i16 %12146 to i32
%12148 = sub nsw i32 25, %12147
br label %12149
12149: ; preds = %12145, %12144
%12150 = phi i32 [ 0, %12144 ], [ %12148, %12145 ]
%12151 = trunc i32 %12150 to i16
store i16 %12151, i16* %13
%12152 = load i16, i16* %18
%12153 = sext i16 %12152 to i32
%12154 = icmp eq i32 %12153, 0
br i1 %12154, label %12155, label %12156
12155: ; preds = %12149
br label %12160
12156: ; preds = %12149
%12157 = load i16, i16* %18
%12158 = sext i16 %12157 to i32
%12159 = sub nsw i32 25, %12158
br label %12160
12160: ; preds = %12156, %12155
%12161 = phi i32 [ 0, %12155 ], [ %12159, %12156 ]
%12162 = trunc i32 %12161 to i16
store i16 %12162, i16* %17
%12163 = load i16, i16* %10
%12164 = sext i16 %12163 to i32
%12165 = load i16, i16* %11
%12166 = sext i16 %12165 to i32
%12167 = load i16, i16* %12
%12168 = sext i16 %12167 to i32
%12169 = load i16, i16* %13
%12170 = sext i16 %12169 to i32
%12171 = load i16, i16* %14
%12172 = sext i16 %12171 to i32
%12173 = load i16, i16* %15
%12174 = sext i16 %12173 to i32
%12175 = load i16, i16* %16
%12176 = sext i16 %12175 to i32
%12177 = load i16, i16* %17
%12178 = sext i16 %12177 to i32
%12179 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12164, i32 %12166, i32 %12168, i32 %12170, i32 %12172, i32 %12174, i32 %12176, i32 %12178)
%12180 = icmp sle i32 0, %12179
br i1 %12180, label %12181, label %12183
12181: ; preds = %12160
%12182 = load i16, i16* %21
store i16 %12182, i16* %9
br label %18762
12183: ; preds = %12160
%12184 = load i16, i16* %10
store i16 %12184, i16* %18
%12185 = load i16, i16* %14
%12186 = sext i16 %12185 to i32
%12187 = icmp eq i32 %12186, 0
br i1 %12187, label %12188, label %12189
12188: ; preds = %12183
br label %12193
12189: ; preds = %12183
%12190 = load i16, i16* %14
%12191 = sext i16 %12190 to i32
%12192 = sub nsw i32 25, %12191
br label %12193
12193: ; preds = %12189, %12188
%12194 = phi i32 [ 0, %12188 ], [ %12192, %12189 ]
%12195 = trunc i32 %12194 to i16
store i16 %12195, i16* %10
%12196 = load i16, i16* %18
%12197 = sext i16 %12196 to i32
%12198 = icmp eq i32 %12197, 0
br i1 %12198, label %12199, label %12200
12199: ; preds = %12193
br label %12204
12200: ; preds = %12193
%12201 = load i16, i16* %18
%12202 = sext i16 %12201 to i32
%12203 = sub nsw i32 25, %12202
br label %12204
12204: ; preds = %12200, %12199
%12205 = phi i32 [ 0, %12199 ], [ %12203, %12200 ]
%12206 = trunc i32 %12205 to i16
store i16 %12206, i16* %14
%12207 = load i16, i16* %11
store i16 %12207, i16* %18
%12208 = load i16, i16* %15
%12209 = sext i16 %12208 to i32
%12210 = icmp eq i32 %12209, 0
br i1 %12210, label %12211, label %12212
12211: ; preds = %12204
br label %12216
12212: ; preds = %12204
%12213 = load i16, i16* %15
%12214 = sext i16 %12213 to i32
%12215 = sub nsw i32 25, %12214
br label %12216
12216: ; preds = %12212, %12211
%12217 = phi i32 [ 0, %12211 ], [ %12215, %12212 ]
%12218 = trunc i32 %12217 to i16
store i16 %12218, i16* %11
%12219 = load i16, i16* %18
%12220 = sext i16 %12219 to i32
%12221 = icmp eq i32 %12220, 0
br i1 %12221, label %12222, label %12223
12222: ; preds = %12216
br label %12227
12223: ; preds = %12216
%12224 = load i16, i16* %18
%12225 = sext i16 %12224 to i32
%12226 = sub nsw i32 25, %12225
br label %12227
12227: ; preds = %12223, %12222
%12228 = phi i32 [ 0, %12222 ], [ %12226, %12223 ]
%12229 = trunc i32 %12228 to i16
store i16 %12229, i16* %15
%12230 = load i16, i16* %12
store i16 %12230, i16* %18
%12231 = load i16, i16* %16
%12232 = sext i16 %12231 to i32
%12233 = icmp eq i32 %12232, 0
br i1 %12233, label %12234, label %12235
12234: ; preds = %12227
br label %12239
12235: ; preds = %12227
%12236 = load i16, i16* %16
%12237 = sext i16 %12236 to i32
%12238 = sub nsw i32 25, %12237
br label %12239
12239: ; preds = %12235, %12234
%12240 = phi i32 [ 0, %12234 ], [ %12238, %12235 ]
%12241 = trunc i32 %12240 to i16
store i16 %12241, i16* %12
%12242 = load i16, i16* %18
%12243 = sext i16 %12242 to i32
%12244 = icmp eq i32 %12243, 0
br i1 %12244, label %12245, label %12246
12245: ; preds = %12239
br label %12250
12246: ; preds = %12239
%12247 = load i16, i16* %18
%12248 = sext i16 %12247 to i32
%12249 = sub nsw i32 25, %12248
br label %12250
12250: ; preds = %12246, %12245
%12251 = phi i32 [ 0, %12245 ], [ %12249, %12246 ]
%12252 = trunc i32 %12251 to i16
store i16 %12252, i16* %16
%12253 = load i16, i16* %13
store i16 %12253, i16* %18
%12254 = load i16, i16* %17
%12255 = sext i16 %12254 to i32
%12256 = icmp eq i32 %12255, 0
br i1 %12256, label %12257, label %12258
12257: ; preds = %12250
br label %12262
12258: ; preds = %12250
%12259 = load i16, i16* %17
%12260 = sext i16 %12259 to i32
%12261 = sub nsw i32 25, %12260
br label %12262
12262: ; preds = %12258, %12257
%12263 = phi i32 [ 0, %12257 ], [ %12261, %12258 ]
%12264 = trunc i32 %12263 to i16
store i16 %12264, i16* %13
%12265 = load i16, i16* %18
%12266 = sext i16 %12265 to i32
%12267 = icmp eq i32 %12266, 0
br i1 %12267, label %12268, label %12269
12268: ; preds = %12262
br label %12273
12269: ; preds = %12262
%12270 = load i16, i16* %18
%12271 = sext i16 %12270 to i32
%12272 = sub nsw i32 25, %12271
br label %12273
12273: ; preds = %12269, %12268
%12274 = phi i32 [ 0, %12268 ], [ %12272, %12269 ]
%12275 = trunc i32 %12274 to i16
store i16 %12275, i16* %17
%12276 = load i16, i16* %20
store i16 %12276, i16* %15
br label %12483
12277: ; preds = %12063
%12278 = load i16, i16* %10
store i16 %12278, i16* %18
%12279 = load i16, i16* %14
%12280 = sext i16 %12279 to i32
%12281 = icmp eq i32 %12280, 0
br i1 %12281, label %12282, label %12283
12282: ; preds = %12277
br label %12287
12283: ; preds = %12277
%12284 = load i16, i16* %14
%12285 = sext i16 %12284 to i32
%12286 = sub nsw i32 25, %12285
br label %12287
12287: ; preds = %12283, %12282
%12288 = phi i32 [ 0, %12282 ], [ %12286, %12283 ]
%12289 = trunc i32 %12288 to i16
store i16 %12289, i16* %10
%12290 = load i16, i16* %18
%12291 = sext i16 %12290 to i32
%12292 = icmp eq i32 %12291, 0
br i1 %12292, label %12293, label %12294
12293: ; preds = %12287
br label %12298
12294: ; preds = %12287
%12295 = load i16, i16* %18
%12296 = sext i16 %12295 to i32
%12297 = sub nsw i32 25, %12296
br label %12298
12298: ; preds = %12294, %12293
%12299 = phi i32 [ 0, %12293 ], [ %12297, %12294 ]
%12300 = trunc i32 %12299 to i16
store i16 %12300, i16* %14
%12301 = load i16, i16* %11
store i16 %12301, i16* %18
%12302 = load i16, i16* %15
%12303 = sext i16 %12302 to i32
%12304 = icmp eq i32 %12303, 0
br i1 %12304, label %12305, label %12306
12305: ; preds = %12298
br label %12310
12306: ; preds = %12298
%12307 = load i16, i16* %15
%12308 = sext i16 %12307 to i32
%12309 = sub nsw i32 25, %12308
br label %12310
12310: ; preds = %12306, %12305
%12311 = phi i32 [ 0, %12305 ], [ %12309, %12306 ]
%12312 = trunc i32 %12311 to i16
store i16 %12312, i16* %11
%12313 = load i16, i16* %18
%12314 = sext i16 %12313 to i32
%12315 = icmp eq i32 %12314, 0
br i1 %12315, label %12316, label %12317
12316: ; preds = %12310
br label %12321
12317: ; preds = %12310
%12318 = load i16, i16* %18
%12319 = sext i16 %12318 to i32
%12320 = sub nsw i32 25, %12319
br label %12321
12321: ; preds = %12317, %12316
%12322 = phi i32 [ 0, %12316 ], [ %12320, %12317 ]
%12323 = trunc i32 %12322 to i16
store i16 %12323, i16* %15
%12324 = load i16, i16* %12
store i16 %12324, i16* %18
%12325 = load i16, i16* %16
%12326 = sext i16 %12325 to i32
%12327 = icmp eq i32 %12326, 0
br i1 %12327, label %12328, label %12329
12328: ; preds = %12321
br label %12333
12329: ; preds = %12321
%12330 = load i16, i16* %16
%12331 = sext i16 %12330 to i32
%12332 = sub nsw i32 25, %12331
br label %12333
12333: ; preds = %12329, %12328
%12334 = phi i32 [ 0, %12328 ], [ %12332, %12329 ]
%12335 = trunc i32 %12334 to i16
store i16 %12335, i16* %12
%12336 = load i16, i16* %18
%12337 = sext i16 %12336 to i32
%12338 = icmp eq i32 %12337, 0
br i1 %12338, label %12339, label %12340
12339: ; preds = %12333
br label %12344
12340: ; preds = %12333
%12341 = load i16, i16* %18
%12342 = sext i16 %12341 to i32
%12343 = sub nsw i32 25, %12342
br label %12344
12344: ; preds = %12340, %12339
%12345 = phi i32 [ 0, %12339 ], [ %12343, %12340 ]
%12346 = trunc i32 %12345 to i16
store i16 %12346, i16* %16
%12347 = load i16, i16* %13
store i16 %12347, i16* %18
%12348 = load i16, i16* %17
%12349 = sext i16 %12348 to i32
%12350 = icmp eq i32 %12349, 0
br i1 %12350, label %12351, label %12352
12351: ; preds = %12344
br label %12356
12352: ; preds = %12344
%12353 = load i16, i16* %17
%12354 = sext i16 %12353 to i32
%12355 = sub nsw i32 25, %12354
br label %12356
12356: ; preds = %12352, %12351
%12357 = phi i32 [ 0, %12351 ], [ %12355, %12352 ]
%12358 = trunc i32 %12357 to i16
store i16 %12358, i16* %13
%12359 = load i16, i16* %18
%12360 = sext i16 %12359 to i32
%12361 = icmp eq i32 %12360, 0
br i1 %12361, label %12362, label %12363
12362: ; preds = %12356
br label %12367
12363: ; preds = %12356
%12364 = load i16, i16* %18
%12365 = sext i16 %12364 to i32
%12366 = sub nsw i32 25, %12365
br label %12367
12367: ; preds = %12363, %12362
%12368 = phi i32 [ 0, %12362 ], [ %12366, %12363 ]
%12369 = trunc i32 %12368 to i16
store i16 %12369, i16* %17
%12370 = load i16, i16* %10
%12371 = sext i16 %12370 to i32
%12372 = load i16, i16* %11
%12373 = sext i16 %12372 to i32
%12374 = load i16, i16* %12
%12375 = sext i16 %12374 to i32
%12376 = load i16, i16* %13
%12377 = sext i16 %12376 to i32
%12378 = load i16, i16* %14
%12379 = sext i16 %12378 to i32
%12380 = load i16, i16* %15
%12381 = sext i16 %12380 to i32
%12382 = load i16, i16* %16
%12383 = sext i16 %12382 to i32
%12384 = load i16, i16* %17
%12385 = sext i16 %12384 to i32
%12386 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12371, i32 %12373, i32 %12375, i32 %12377, i32 %12379, i32 %12381, i32 %12383, i32 %12385)
%12387 = icmp sle i32 0, %12386
br i1 %12387, label %12388, label %12390
12388: ; preds = %12367
%12389 = load i16, i16* %21
store i16 %12389, i16* %9
br label %18762
12390: ; preds = %12367
%12391 = load i16, i16* %10
store i16 %12391, i16* %18
%12392 = load i16, i16* %14
%12393 = sext i16 %12392 to i32
%12394 = icmp eq i32 %12393, 0
br i1 %12394, label %12395, label %12396
12395: ; preds = %12390
br label %12400
12396: ; preds = %12390
%12397 = load i16, i16* %14
%12398 = sext i16 %12397 to i32
%12399 = sub nsw i32 25, %12398
br label %12400
12400: ; preds = %12396, %12395
%12401 = phi i32 [ 0, %12395 ], [ %12399, %12396 ]
%12402 = trunc i32 %12401 to i16
store i16 %12402, i16* %10
%12403 = load i16, i16* %18
%12404 = sext i16 %12403 to i32
%12405 = icmp eq i32 %12404, 0
br i1 %12405, label %12406, label %12407
12406: ; preds = %12400
br label %12411
12407: ; preds = %12400
%12408 = load i16, i16* %18
%12409 = sext i16 %12408 to i32
%12410 = sub nsw i32 25, %12409
br label %12411
12411: ; preds = %12407, %12406
%12412 = phi i32 [ 0, %12406 ], [ %12410, %12407 ]
%12413 = trunc i32 %12412 to i16
store i16 %12413, i16* %14
%12414 = load i16, i16* %11
store i16 %12414, i16* %18
%12415 = load i16, i16* %15
%12416 = sext i16 %12415 to i32
%12417 = icmp eq i32 %12416, 0
br i1 %12417, label %12418, label %12419
12418: ; preds = %12411
br label %12423
12419: ; preds = %12411
%12420 = load i16, i16* %15
%12421 = sext i16 %12420 to i32
%12422 = sub nsw i32 25, %12421
br label %12423
12423: ; preds = %12419, %12418
%12424 = phi i32 [ 0, %12418 ], [ %12422, %12419 ]
%12425 = trunc i32 %12424 to i16
store i16 %12425, i16* %11
%12426 = load i16, i16* %18
%12427 = sext i16 %12426 to i32
%12428 = icmp eq i32 %12427, 0
br i1 %12428, label %12429, label %12430
12429: ; preds = %12423
br label %12434
12430: ; preds = %12423
%12431 = load i16, i16* %18
%12432 = sext i16 %12431 to i32
%12433 = sub nsw i32 25, %12432
br label %12434
12434: ; preds = %12430, %12429
%12435 = phi i32 [ 0, %12429 ], [ %12433, %12430 ]
%12436 = trunc i32 %12435 to i16
store i16 %12436, i16* %15
%12437 = load i16, i16* %12
store i16 %12437, i16* %18
%12438 = load i16, i16* %16
%12439 = sext i16 %12438 to i32
%12440 = icmp eq i32 %12439, 0
br i1 %12440, label %12441, label %12442
12441: ; preds = %12434
br label %12446
12442: ; preds = %12434
%12443 = load i16, i16* %16
%12444 = sext i16 %12443 to i32
%12445 = sub nsw i32 25, %12444
br label %12446
12446: ; preds = %12442, %12441
%12447 = phi i32 [ 0, %12441 ], [ %12445, %12442 ]
%12448 = trunc i32 %12447 to i16
store i16 %12448, i16* %12
%12449 = load i16, i16* %18
%12450 = sext i16 %12449 to i32
%12451 = icmp eq i32 %12450, 0
br i1 %12451, label %12452, label %12453
12452: ; preds = %12446
br label %12457
12453: ; preds = %12446
%12454 = load i16, i16* %18
%12455 = sext i16 %12454 to i32
%12456 = sub nsw i32 25, %12455
br label %12457
12457: ; preds = %12453, %12452
%12458 = phi i32 [ 0, %12452 ], [ %12456, %12453 ]
%12459 = trunc i32 %12458 to i16
store i16 %12459, i16* %16
%12460 = load i16, i16* %13
store i16 %12460, i16* %18
%12461 = load i16, i16* %17
%12462 = sext i16 %12461 to i32
%12463 = icmp eq i32 %12462, 0
br i1 %12463, label %12464, label %12465
12464: ; preds = %12457
br label %12469
12465: ; preds = %12457
%12466 = load i16, i16* %17
%12467 = sext i16 %12466 to i32
%12468 = sub nsw i32 25, %12467
br label %12469
12469: ; preds = %12465, %12464
%12470 = phi i32 [ 0, %12464 ], [ %12468, %12465 ]
%12471 = trunc i32 %12470 to i16
store i16 %12471, i16* %13
%12472 = load i16, i16* %18
%12473 = sext i16 %12472 to i32
%12474 = icmp eq i32 %12473, 0
br i1 %12474, label %12475, label %12476
12475: ; preds = %12469
br label %12480
12476: ; preds = %12469
%12477 = load i16, i16* %18
%12478 = sext i16 %12477 to i32
%12479 = sub nsw i32 25, %12478
br label %12480
12480: ; preds = %12476, %12475
%12481 = phi i32 [ 0, %12475 ], [ %12479, %12476 ]
%12482 = trunc i32 %12481 to i16
store i16 %12482, i16* %17
br label %12483
12483: ; preds = %12480, %12273
%12484 = load i16, i16* %19
store i16 %12484, i16* %12
br label %12485
12485: ; preds = %12483, %12057, %12051, %12045, %12039, %12033, %12022
br label %12486
12486: ; preds = %12485, %12017, %12013
br label %18739
12487: ; preds = %12009
%12488 = load i16, i16* %21
%12489 = sext i16 %12488 to i32
%12490 = icmp eq i32 %12489, 19
br i1 %12490, label %12491, label %12969
12491: ; preds = %12487
%12492 = load i16, i16* %12
%12493 = sext i16 %12492 to i32
%12494 = icmp ne i32 %12493, 0
br i1 %12494, label %12495, label %12968
12495: ; preds = %12491
%12496 = load i16, i16* %12
%12497 = sext i16 %12496 to i32
%12498 = icmp slt i32 4, %12497
br i1 %12498, label %12499, label %12968
12499: ; preds = %12495
%12500 = load i16, i16* %12
%12501 = sext i16 %12500 to i32
%12502 = srem i32 %12501, 4
%12503 = icmp ne i32 %12502, 0
br i1 %12503, label %12504, label %12968
12504: ; preds = %12499
%12505 = load i16, i16* %12
store i16 %12505, i16* %19
%12506 = load i16, i16* %19
%12507 = sext i16 %12506 to i32
%12508 = sub nsw i32 %12507, 3
%12509 = trunc i32 %12508 to i16
store i16 %12509, i16* %20
%12510 = load i16, i16* %20
%12511 = sext i16 %12510 to i32
%12512 = load i16, i16* %10
%12513 = sext i16 %12512 to i32
%12514 = icmp ne i32 %12511, %12513
br i1 %12514, label %12515, label %12967
12515: ; preds = %12504
%12516 = load i16, i16* %20
%12517 = sext i16 %12516 to i32
%12518 = load i16, i16* %11
%12519 = sext i16 %12518 to i32
%12520 = icmp ne i32 %12517, %12519
br i1 %12520, label %12521, label %12967
12521: ; preds = %12515
%12522 = load i16, i16* %20
%12523 = sext i16 %12522 to i32
%12524 = load i16, i16* %13
%12525 = sext i16 %12524 to i32
%12526 = icmp ne i32 %12523, %12525
br i1 %12526, label %12527, label %12967
12527: ; preds = %12521
%12528 = load i16, i16* %20
%12529 = sext i16 %12528 to i32
%12530 = load i16, i16* %14
%12531 = sext i16 %12530 to i32
%12532 = icmp ne i32 %12529, %12531
br i1 %12532, label %12533, label %12967
12533: ; preds = %12527
%12534 = load i16, i16* %20
%12535 = sext i16 %12534 to i32
%12536 = load i16, i16* %16
%12537 = sext i16 %12536 to i32
%12538 = icmp ne i32 %12535, %12537
br i1 %12538, label %12539, label %12967
12539: ; preds = %12533
%12540 = load i16, i16* %20
%12541 = sext i16 %12540 to i32
%12542 = load i16, i16* %17
%12543 = sext i16 %12542 to i32
%12544 = icmp ne i32 %12541, %12543
br i1 %12544, label %12545, label %12967
12545: ; preds = %12539
%12546 = load i16, i16* %20
store i16 %12546, i16* %12
%12547 = load i16, i16* %15
%12548 = sext i16 %12547 to i32
%12549 = load i16, i16* %20
%12550 = sext i16 %12549 to i32
%12551 = icmp eq i32 %12548, %12550
br i1 %12551, label %12552, label %12759
12552: ; preds = %12545
store i16 0, i16* %15
%12553 = load i16, i16* %10
store i16 %12553, i16* %18
%12554 = load i16, i16* %14
%12555 = sext i16 %12554 to i32
%12556 = icmp eq i32 %12555, 0
br i1 %12556, label %12557, label %12558
12557: ; preds = %12552
br label %12562
12558: ; preds = %12552
%12559 = load i16, i16* %14
%12560 = sext i16 %12559 to i32
%12561 = sub nsw i32 25, %12560
br label %12562
12562: ; preds = %12558, %12557
%12563 = phi i32 [ 0, %12557 ], [ %12561, %12558 ]
%12564 = trunc i32 %12563 to i16
store i16 %12564, i16* %10
%12565 = load i16, i16* %18
%12566 = sext i16 %12565 to i32
%12567 = icmp eq i32 %12566, 0
br i1 %12567, label %12568, label %12569
12568: ; preds = %12562
br label %12573
12569: ; preds = %12562
%12570 = load i16, i16* %18
%12571 = sext i16 %12570 to i32
%12572 = sub nsw i32 25, %12571
br label %12573
12573: ; preds = %12569, %12568
%12574 = phi i32 [ 0, %12568 ], [ %12572, %12569 ]
%12575 = trunc i32 %12574 to i16
store i16 %12575, i16* %14
%12576 = load i16, i16* %11
store i16 %12576, i16* %18
%12577 = load i16, i16* %15
%12578 = sext i16 %12577 to i32
%12579 = icmp eq i32 %12578, 0
br i1 %12579, label %12580, label %12581
12580: ; preds = %12573
br label %12585
12581: ; preds = %12573
%12582 = load i16, i16* %15
%12583 = sext i16 %12582 to i32
%12584 = sub nsw i32 25, %12583
br label %12585
12585: ; preds = %12581, %12580
%12586 = phi i32 [ 0, %12580 ], [ %12584, %12581 ]
%12587 = trunc i32 %12586 to i16
store i16 %12587, i16* %11
%12588 = load i16, i16* %18
%12589 = sext i16 %12588 to i32
%12590 = icmp eq i32 %12589, 0
br i1 %12590, label %12591, label %12592
12591: ; preds = %12585
br label %12596
12592: ; preds = %12585
%12593 = load i16, i16* %18
%12594 = sext i16 %12593 to i32
%12595 = sub nsw i32 25, %12594
br label %12596
12596: ; preds = %12592, %12591
%12597 = phi i32 [ 0, %12591 ], [ %12595, %12592 ]
%12598 = trunc i32 %12597 to i16
store i16 %12598, i16* %15
%12599 = load i16, i16* %12
store i16 %12599, i16* %18
%12600 = load i16, i16* %16
%12601 = sext i16 %12600 to i32
%12602 = icmp eq i32 %12601, 0
br i1 %12602, label %12603, label %12604
12603: ; preds = %12596
br label %12608
12604: ; preds = %12596
%12605 = load i16, i16* %16
%12606 = sext i16 %12605 to i32
%12607 = sub nsw i32 25, %12606
br label %12608
12608: ; preds = %12604, %12603
%12609 = phi i32 [ 0, %12603 ], [ %12607, %12604 ]
%12610 = trunc i32 %12609 to i16
store i16 %12610, i16* %12
%12611 = load i16, i16* %18
%12612 = sext i16 %12611 to i32
%12613 = icmp eq i32 %12612, 0
br i1 %12613, label %12614, label %12615
12614: ; preds = %12608
br label %12619
12615: ; preds = %12608
%12616 = load i16, i16* %18
%12617 = sext i16 %12616 to i32
%12618 = sub nsw i32 25, %12617
br label %12619
12619: ; preds = %12615, %12614
%12620 = phi i32 [ 0, %12614 ], [ %12618, %12615 ]
%12621 = trunc i32 %12620 to i16
store i16 %12621, i16* %16
%12622 = load i16, i16* %13
store i16 %12622, i16* %18
%12623 = load i16, i16* %17
%12624 = sext i16 %12623 to i32
%12625 = icmp eq i32 %12624, 0
br i1 %12625, label %12626, label %12627
12626: ; preds = %12619
br label %12631
12627: ; preds = %12619
%12628 = load i16, i16* %17
%12629 = sext i16 %12628 to i32
%12630 = sub nsw i32 25, %12629
br label %12631
12631: ; preds = %12627, %12626
%12632 = phi i32 [ 0, %12626 ], [ %12630, %12627 ]
%12633 = trunc i32 %12632 to i16
store i16 %12633, i16* %13
%12634 = load i16, i16* %18
%12635 = sext i16 %12634 to i32
%12636 = icmp eq i32 %12635, 0
br i1 %12636, label %12637, label %12638
12637: ; preds = %12631
br label %12642
12638: ; preds = %12631
%12639 = load i16, i16* %18
%12640 = sext i16 %12639 to i32
%12641 = sub nsw i32 25, %12640
br label %12642
12642: ; preds = %12638, %12637
%12643 = phi i32 [ 0, %12637 ], [ %12641, %12638 ]
%12644 = trunc i32 %12643 to i16
store i16 %12644, i16* %17
%12645 = load i16, i16* %10
%12646 = sext i16 %12645 to i32
%12647 = load i16, i16* %11
%12648 = sext i16 %12647 to i32
%12649 = load i16, i16* %12
%12650 = sext i16 %12649 to i32
%12651 = load i16, i16* %13
%12652 = sext i16 %12651 to i32
%12653 = load i16, i16* %14
%12654 = sext i16 %12653 to i32
%12655 = load i16, i16* %15
%12656 = sext i16 %12655 to i32
%12657 = load i16, i16* %16
%12658 = sext i16 %12657 to i32
%12659 = load i16, i16* %17
%12660 = sext i16 %12659 to i32
%12661 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12646, i32 %12648, i32 %12650, i32 %12652, i32 %12654, i32 %12656, i32 %12658, i32 %12660)
%12662 = icmp sle i32 0, %12661
br i1 %12662, label %12663, label %12665
12663: ; preds = %12642
%12664 = load i16, i16* %21
store i16 %12664, i16* %9
br label %18762
12665: ; preds = %12642
%12666 = load i16, i16* %10
store i16 %12666, i16* %18
%12667 = load i16, i16* %14
%12668 = sext i16 %12667 to i32
%12669 = icmp eq i32 %12668, 0
br i1 %12669, label %12670, label %12671
12670: ; preds = %12665
br label %12675
12671: ; preds = %12665
%12672 = load i16, i16* %14
%12673 = sext i16 %12672 to i32
%12674 = sub nsw i32 25, %12673
br label %12675
12675: ; preds = %12671, %12670
%12676 = phi i32 [ 0, %12670 ], [ %12674, %12671 ]
%12677 = trunc i32 %12676 to i16
store i16 %12677, i16* %10
%12678 = load i16, i16* %18
%12679 = sext i16 %12678 to i32
%12680 = icmp eq i32 %12679, 0
br i1 %12680, label %12681, label %12682
12681: ; preds = %12675
br label %12686
12682: ; preds = %12675
%12683 = load i16, i16* %18
%12684 = sext i16 %12683 to i32
%12685 = sub nsw i32 25, %12684
br label %12686
12686: ; preds = %12682, %12681
%12687 = phi i32 [ 0, %12681 ], [ %12685, %12682 ]
%12688 = trunc i32 %12687 to i16
store i16 %12688, i16* %14
%12689 = load i16, i16* %11
store i16 %12689, i16* %18
%12690 = load i16, i16* %15
%12691 = sext i16 %12690 to i32
%12692 = icmp eq i32 %12691, 0
br i1 %12692, label %12693, label %12694
12693: ; preds = %12686
br label %12698
12694: ; preds = %12686
%12695 = load i16, i16* %15
%12696 = sext i16 %12695 to i32
%12697 = sub nsw i32 25, %12696
br label %12698
12698: ; preds = %12694, %12693
%12699 = phi i32 [ 0, %12693 ], [ %12697, %12694 ]
%12700 = trunc i32 %12699 to i16
store i16 %12700, i16* %11
%12701 = load i16, i16* %18
%12702 = sext i16 %12701 to i32
%12703 = icmp eq i32 %12702, 0
br i1 %12703, label %12704, label %12705
12704: ; preds = %12698
br label %12709
12705: ; preds = %12698
%12706 = load i16, i16* %18
%12707 = sext i16 %12706 to i32
%12708 = sub nsw i32 25, %12707
br label %12709
12709: ; preds = %12705, %12704
%12710 = phi i32 [ 0, %12704 ], [ %12708, %12705 ]
%12711 = trunc i32 %12710 to i16
store i16 %12711, i16* %15
%12712 = load i16, i16* %12
store i16 %12712, i16* %18
%12713 = load i16, i16* %16
%12714 = sext i16 %12713 to i32
%12715 = icmp eq i32 %12714, 0
br i1 %12715, label %12716, label %12717
12716: ; preds = %12709
br label %12721
12717: ; preds = %12709
%12718 = load i16, i16* %16
%12719 = sext i16 %12718 to i32
%12720 = sub nsw i32 25, %12719
br label %12721
12721: ; preds = %12717, %12716
%12722 = phi i32 [ 0, %12716 ], [ %12720, %12717 ]
%12723 = trunc i32 %12722 to i16
store i16 %12723, i16* %12
%12724 = load i16, i16* %18
%12725 = sext i16 %12724 to i32
%12726 = icmp eq i32 %12725, 0
br i1 %12726, label %12727, label %12728
12727: ; preds = %12721
br label %12732
12728: ; preds = %12721
%12729 = load i16, i16* %18
%12730 = sext i16 %12729 to i32
%12731 = sub nsw i32 25, %12730
br label %12732
12732: ; preds = %12728, %12727
%12733 = phi i32 [ 0, %12727 ], [ %12731, %12728 ]
%12734 = trunc i32 %12733 to i16
store i16 %12734, i16* %16
%12735 = load i16, i16* %13
store i16 %12735, i16* %18
%12736 = load i16, i16* %17
%12737 = sext i16 %12736 to i32
%12738 = icmp eq i32 %12737, 0
br i1 %12738, label %12739, label %12740
12739: ; preds = %12732
br label %12744
12740: ; preds = %12732
%12741 = load i16, i16* %17
%12742 = sext i16 %12741 to i32
%12743 = sub nsw i32 25, %12742
br label %12744
12744: ; preds = %12740, %12739
%12745 = phi i32 [ 0, %12739 ], [ %12743, %12740 ]
%12746 = trunc i32 %12745 to i16
store i16 %12746, i16* %13
%12747 = load i16, i16* %18
%12748 = sext i16 %12747 to i32
%12749 = icmp eq i32 %12748, 0
br i1 %12749, label %12750, label %12751
12750: ; preds = %12744
br label %12755
12751: ; preds = %12744
%12752 = load i16, i16* %18
%12753 = sext i16 %12752 to i32
%12754 = sub nsw i32 25, %12753
br label %12755
12755: ; preds = %12751, %12750
%12756 = phi i32 [ 0, %12750 ], [ %12754, %12751 ]
%12757 = trunc i32 %12756 to i16
store i16 %12757, i16* %17
%12758 = load i16, i16* %20
store i16 %12758, i16* %15
br label %12965
12759: ; preds = %12545
%12760 = load i16, i16* %10
store i16 %12760, i16* %18
%12761 = load i16, i16* %14
%12762 = sext i16 %12761 to i32
%12763 = icmp eq i32 %12762, 0
br i1 %12763, label %12764, label %12765
12764: ; preds = %12759
br label %12769
12765: ; preds = %12759
%12766 = load i16, i16* %14
%12767 = sext i16 %12766 to i32
%12768 = sub nsw i32 25, %12767
br label %12769
12769: ; preds = %12765, %12764
%12770 = phi i32 [ 0, %12764 ], [ %12768, %12765 ]
%12771 = trunc i32 %12770 to i16
store i16 %12771, i16* %10
%12772 = load i16, i16* %18
%12773 = sext i16 %12772 to i32
%12774 = icmp eq i32 %12773, 0
br i1 %12774, label %12775, label %12776
12775: ; preds = %12769
br label %12780
12776: ; preds = %12769
%12777 = load i16, i16* %18
%12778 = sext i16 %12777 to i32
%12779 = sub nsw i32 25, %12778
br label %12780
12780: ; preds = %12776, %12775
%12781 = phi i32 [ 0, %12775 ], [ %12779, %12776 ]
%12782 = trunc i32 %12781 to i16
store i16 %12782, i16* %14
%12783 = load i16, i16* %11
store i16 %12783, i16* %18
%12784 = load i16, i16* %15
%12785 = sext i16 %12784 to i32
%12786 = icmp eq i32 %12785, 0
br i1 %12786, label %12787, label %12788
12787: ; preds = %12780
br label %12792
12788: ; preds = %12780
%12789 = load i16, i16* %15
%12790 = sext i16 %12789 to i32
%12791 = sub nsw i32 25, %12790
br label %12792
12792: ; preds = %12788, %12787
%12793 = phi i32 [ 0, %12787 ], [ %12791, %12788 ]
%12794 = trunc i32 %12793 to i16
store i16 %12794, i16* %11
%12795 = load i16, i16* %18
%12796 = sext i16 %12795 to i32
%12797 = icmp eq i32 %12796, 0
br i1 %12797, label %12798, label %12799
12798: ; preds = %12792
br label %12803
12799: ; preds = %12792
%12800 = load i16, i16* %18
%12801 = sext i16 %12800 to i32
%12802 = sub nsw i32 25, %12801
br label %12803
12803: ; preds = %12799, %12798
%12804 = phi i32 [ 0, %12798 ], [ %12802, %12799 ]
%12805 = trunc i32 %12804 to i16
store i16 %12805, i16* %15
%12806 = load i16, i16* %12
store i16 %12806, i16* %18
%12807 = load i16, i16* %16
%12808 = sext i16 %12807 to i32
%12809 = icmp eq i32 %12808, 0
br i1 %12809, label %12810, label %12811
12810: ; preds = %12803
br label %12815
12811: ; preds = %12803
%12812 = load i16, i16* %16
%12813 = sext i16 %12812 to i32
%12814 = sub nsw i32 25, %12813
br label %12815
12815: ; preds = %12811, %12810
%12816 = phi i32 [ 0, %12810 ], [ %12814, %12811 ]
%12817 = trunc i32 %12816 to i16
store i16 %12817, i16* %12
%12818 = load i16, i16* %18
%12819 = sext i16 %12818 to i32
%12820 = icmp eq i32 %12819, 0
br i1 %12820, label %12821, label %12822
12821: ; preds = %12815
br label %12826
12822: ; preds = %12815
%12823 = load i16, i16* %18
%12824 = sext i16 %12823 to i32
%12825 = sub nsw i32 25, %12824
br label %12826
12826: ; preds = %12822, %12821
%12827 = phi i32 [ 0, %12821 ], [ %12825, %12822 ]
%12828 = trunc i32 %12827 to i16
store i16 %12828, i16* %16
%12829 = load i16, i16* %13
store i16 %12829, i16* %18
%12830 = load i16, i16* %17
%12831 = sext i16 %12830 to i32
%12832 = icmp eq i32 %12831, 0
br i1 %12832, label %12833, label %12834
12833: ; preds = %12826
br label %12838
12834: ; preds = %12826
%12835 = load i16, i16* %17
%12836 = sext i16 %12835 to i32
%12837 = sub nsw i32 25, %12836
br label %12838
12838: ; preds = %12834, %12833
%12839 = phi i32 [ 0, %12833 ], [ %12837, %12834 ]
%12840 = trunc i32 %12839 to i16
store i16 %12840, i16* %13
%12841 = load i16, i16* %18
%12842 = sext i16 %12841 to i32
%12843 = icmp eq i32 %12842, 0
br i1 %12843, label %12844, label %12845
12844: ; preds = %12838
br label %12849
12845: ; preds = %12838
%12846 = load i16, i16* %18
%12847 = sext i16 %12846 to i32
%12848 = sub nsw i32 25, %12847
br label %12849
12849: ; preds = %12845, %12844
%12850 = phi i32 [ 0, %12844 ], [ %12848, %12845 ]
%12851 = trunc i32 %12850 to i16
store i16 %12851, i16* %17
%12852 = load i16, i16* %10
%12853 = sext i16 %12852 to i32
%12854 = load i16, i16* %11
%12855 = sext i16 %12854 to i32
%12856 = load i16, i16* %12
%12857 = sext i16 %12856 to i32
%12858 = load i16, i16* %13
%12859 = sext i16 %12858 to i32
%12860 = load i16, i16* %14
%12861 = sext i16 %12860 to i32
%12862 = load i16, i16* %15
%12863 = sext i16 %12862 to i32
%12864 = load i16, i16* %16
%12865 = sext i16 %12864 to i32
%12866 = load i16, i16* %17
%12867 = sext i16 %12866 to i32
%12868 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12853, i32 %12855, i32 %12857, i32 %12859, i32 %12861, i32 %12863, i32 %12865, i32 %12867)
%12869 = icmp sle i32 0, %12868
br i1 %12869, label %12870, label %12872
12870: ; preds = %12849
%12871 = load i16, i16* %21
store i16 %12871, i16* %9
br label %18762
12872: ; preds = %12849
%12873 = load i16, i16* %10
store i16 %12873, i16* %18
%12874 = load i16, i16* %14
%12875 = sext i16 %12874 to i32
%12876 = icmp eq i32 %12875, 0
br i1 %12876, label %12877, label %12878
12877: ; preds = %12872
br label %12882
12878: ; preds = %12872
%12879 = load i16, i16* %14
%12880 = sext i16 %12879 to i32
%12881 = sub nsw i32 25, %12880
br label %12882
12882: ; preds = %12878, %12877
%12883 = phi i32 [ 0, %12877 ], [ %12881, %12878 ]
%12884 = trunc i32 %12883 to i16
store i16 %12884, i16* %10
%12885 = load i16, i16* %18
%12886 = sext i16 %12885 to i32
%12887 = icmp eq i32 %12886, 0
br i1 %12887, label %12888, label %12889
12888: ; preds = %12882
br label %12893
12889: ; preds = %12882
%12890 = load i16, i16* %18
%12891 = sext i16 %12890 to i32
%12892 = sub nsw i32 25, %12891
br label %12893
12893: ; preds = %12889, %12888
%12894 = phi i32 [ 0, %12888 ], [ %12892, %12889 ]
%12895 = trunc i32 %12894 to i16
store i16 %12895, i16* %14
%12896 = load i16, i16* %11
store i16 %12896, i16* %18
%12897 = load i16, i16* %15
%12898 = sext i16 %12897 to i32
%12899 = icmp eq i32 %12898, 0
br i1 %12899, label %12900, label %12901
12900: ; preds = %12893
br label %12905
12901: ; preds = %12893
%12902 = load i16, i16* %15
%12903 = sext i16 %12902 to i32
%12904 = sub nsw i32 25, %12903
br label %12905
12905: ; preds = %12901, %12900
%12906 = phi i32 [ 0, %12900 ], [ %12904, %12901 ]
%12907 = trunc i32 %12906 to i16
store i16 %12907, i16* %11
%12908 = load i16, i16* %18
%12909 = sext i16 %12908 to i32
%12910 = icmp eq i32 %12909, 0
br i1 %12910, label %12911, label %12912
12911: ; preds = %12905
br label %12916
12912: ; preds = %12905
%12913 = load i16, i16* %18
%12914 = sext i16 %12913 to i32
%12915 = sub nsw i32 25, %12914
br label %12916
12916: ; preds = %12912, %12911
%12917 = phi i32 [ 0, %12911 ], [ %12915, %12912 ]
%12918 = trunc i32 %12917 to i16
store i16 %12918, i16* %15
%12919 = load i16, i16* %12
store i16 %12919, i16* %18
%12920 = load i16, i16* %16
%12921 = sext i16 %12920 to i32
%12922 = icmp eq i32 %12921, 0
br i1 %12922, label %12923, label %12924
12923: ; preds = %12916
br label %12928
12924: ; preds = %12916
%12925 = load i16, i16* %16
%12926 = sext i16 %12925 to i32
%12927 = sub nsw i32 25, %12926
br label %12928
12928: ; preds = %12924, %12923
%12929 = phi i32 [ 0, %12923 ], [ %12927, %12924 ]
%12930 = trunc i32 %12929 to i16
store i16 %12930, i16* %12
%12931 = load i16, i16* %18
%12932 = sext i16 %12931 to i32
%12933 = icmp eq i32 %12932, 0
br i1 %12933, label %12934, label %12935
12934: ; preds = %12928
br label %12939
12935: ; preds = %12928
%12936 = load i16, i16* %18
%12937 = sext i16 %12936 to i32
%12938 = sub nsw i32 25, %12937
br label %12939
12939: ; preds = %12935, %12934
%12940 = phi i32 [ 0, %12934 ], [ %12938, %12935 ]
%12941 = trunc i32 %12940 to i16
store i16 %12941, i16* %16
%12942 = load i16, i16* %13
store i16 %12942, i16* %18
%12943 = load i16, i16* %17
%12944 = sext i16 %12943 to i32
%12945 = icmp eq i32 %12944, 0
br i1 %12945, label %12946, label %12947
12946: ; preds = %12939
br label %12951
12947: ; preds = %12939
%12948 = load i16, i16* %17
%12949 = sext i16 %12948 to i32
%12950 = sub nsw i32 25, %12949
br label %12951
12951: ; preds = %12947, %12946
%12952 = phi i32 [ 0, %12946 ], [ %12950, %12947 ]
%12953 = trunc i32 %12952 to i16
store i16 %12953, i16* %13
%12954 = load i16, i16* %18
%12955 = sext i16 %12954 to i32
%12956 = icmp eq i32 %12955, 0
br i1 %12956, label %12957, label %12958
12957: ; preds = %12951
br label %12962
12958: ; preds = %12951
%12959 = load i16, i16* %18
%12960 = sext i16 %12959 to i32
%12961 = sub nsw i32 25, %12960
br label %12962
12962: ; preds = %12958, %12957
%12963 = phi i32 [ 0, %12957 ], [ %12961, %12958 ]
%12964 = trunc i32 %12963 to i16
store i16 %12964, i16* %17
br label %12965
12965: ; preds = %12962, %12755
%12966 = load i16, i16* %19
store i16 %12966, i16* %12
br label %12967
12967: ; preds = %12965, %12539, %12533, %12527, %12521, %12515, %12504
br label %12968
12968: ; preds = %12967, %12499, %12495, %12491
br label %18738
12969: ; preds = %12487
%12970 = load i16, i16* %21
%12971 = sext i16 %12970 to i32
%12972 = icmp eq i32 %12971, 20
br i1 %12972, label %12973, label %13446
12973: ; preds = %12969
%12974 = load i16, i16* %12
%12975 = sext i16 %12974 to i32
%12976 = icmp ne i32 %12975, 0
br i1 %12976, label %12977, label %13445
12977: ; preds = %12973
%12978 = load i16, i16* %12
%12979 = sext i16 %12978 to i32
%12980 = icmp slt i32 4, %12979
br i1 %12980, label %12981, label %13445
12981: ; preds = %12977
%12982 = load i16, i16* %12
store i16 %12982, i16* %19
%12983 = load i16, i16* %19
%12984 = sext i16 %12983 to i32
%12985 = sub nsw i32 %12984, 4
%12986 = trunc i32 %12985 to i16
store i16 %12986, i16* %20
%12987 = load i16, i16* %20
%12988 = sext i16 %12987 to i32
%12989 = load i16, i16* %10
%12990 = sext i16 %12989 to i32
%12991 = icmp ne i32 %12988, %12990
br i1 %12991, label %12992, label %13444
12992: ; preds = %12981
%12993 = load i16, i16* %20
%12994 = sext i16 %12993 to i32
%12995 = load i16, i16* %11
%12996 = sext i16 %12995 to i32
%12997 = icmp ne i32 %12994, %12996
br i1 %12997, label %12998, label %13444
12998: ; preds = %12992
%12999 = load i16, i16* %20
%13000 = sext i16 %12999 to i32
%13001 = load i16, i16* %13
%13002 = sext i16 %13001 to i32
%13003 = icmp ne i32 %13000, %13002
br i1 %13003, label %13004, label %13444
13004: ; preds = %12998
%13005 = load i16, i16* %20
%13006 = sext i16 %13005 to i32
%13007 = load i16, i16* %14
%13008 = sext i16 %13007 to i32
%13009 = icmp ne i32 %13006, %13008
br i1 %13009, label %13010, label %13444
13010: ; preds = %13004
%13011 = load i16, i16* %20
%13012 = sext i16 %13011 to i32
%13013 = load i16, i16* %16
%13014 = sext i16 %13013 to i32
%13015 = icmp ne i32 %13012, %13014
br i1 %13015, label %13016, label %13444
13016: ; preds = %13010
%13017 = load i16, i16* %20
%13018 = sext i16 %13017 to i32
%13019 = load i16, i16* %17
%13020 = sext i16 %13019 to i32
%13021 = icmp ne i32 %13018, %13020
br i1 %13021, label %13022, label %13444
13022: ; preds = %13016
%13023 = load i16, i16* %20
store i16 %13023, i16* %12
%13024 = load i16, i16* %15
%13025 = sext i16 %13024 to i32
%13026 = load i16, i16* %20
%13027 = sext i16 %13026 to i32
%13028 = icmp eq i32 %13025, %13027
br i1 %13028, label %13029, label %13236
13029: ; preds = %13022
store i16 0, i16* %15
%13030 = load i16, i16* %10
store i16 %13030, i16* %18
%13031 = load i16, i16* %14
%13032 = sext i16 %13031 to i32
%13033 = icmp eq i32 %13032, 0
br i1 %13033, label %13034, label %13035
13034: ; preds = %13029
br label %13039
13035: ; preds = %13029
%13036 = load i16, i16* %14
%13037 = sext i16 %13036 to i32
%13038 = sub nsw i32 25, %13037
br label %13039
13039: ; preds = %13035, %13034
%13040 = phi i32 [ 0, %13034 ], [ %13038, %13035 ]
%13041 = trunc i32 %13040 to i16
store i16 %13041, i16* %10
%13042 = load i16, i16* %18
%13043 = sext i16 %13042 to i32
%13044 = icmp eq i32 %13043, 0
br i1 %13044, label %13045, label %13046
13045: ; preds = %13039
br label %13050
13046: ; preds = %13039
%13047 = load i16, i16* %18
%13048 = sext i16 %13047 to i32
%13049 = sub nsw i32 25, %13048
br label %13050
13050: ; preds = %13046, %13045
%13051 = phi i32 [ 0, %13045 ], [ %13049, %13046 ]
%13052 = trunc i32 %13051 to i16
store i16 %13052, i16* %14
%13053 = load i16, i16* %11
store i16 %13053, i16* %18
%13054 = load i16, i16* %15
%13055 = sext i16 %13054 to i32
%13056 = icmp eq i32 %13055, 0
br i1 %13056, label %13057, label %13058
13057: ; preds = %13050
br label %13062
13058: ; preds = %13050
%13059 = load i16, i16* %15
%13060 = sext i16 %13059 to i32
%13061 = sub nsw i32 25, %13060
br label %13062
13062: ; preds = %13058, %13057
%13063 = phi i32 [ 0, %13057 ], [ %13061, %13058 ]
%13064 = trunc i32 %13063 to i16
store i16 %13064, i16* %11
%13065 = load i16, i16* %18
%13066 = sext i16 %13065 to i32
%13067 = icmp eq i32 %13066, 0
br i1 %13067, label %13068, label %13069
13068: ; preds = %13062
br label %13073
13069: ; preds = %13062
%13070 = load i16, i16* %18
%13071 = sext i16 %13070 to i32
%13072 = sub nsw i32 25, %13071
br label %13073
13073: ; preds = %13069, %13068
%13074 = phi i32 [ 0, %13068 ], [ %13072, %13069 ]
%13075 = trunc i32 %13074 to i16
store i16 %13075, i16* %15
%13076 = load i16, i16* %12
store i16 %13076, i16* %18
%13077 = load i16, i16* %16
%13078 = sext i16 %13077 to i32
%13079 = icmp eq i32 %13078, 0
br i1 %13079, label %13080, label %13081
13080: ; preds = %13073
br label %13085
13081: ; preds = %13073
%13082 = load i16, i16* %16
%13083 = sext i16 %13082 to i32
%13084 = sub nsw i32 25, %13083
br label %13085
13085: ; preds = %13081, %13080
%13086 = phi i32 [ 0, %13080 ], [ %13084, %13081 ]
%13087 = trunc i32 %13086 to i16
store i16 %13087, i16* %12
%13088 = load i16, i16* %18
%13089 = sext i16 %13088 to i32
%13090 = icmp eq i32 %13089, 0
br i1 %13090, label %13091, label %13092
13091: ; preds = %13085
br label %13096
13092: ; preds = %13085
%13093 = load i16, i16* %18
%13094 = sext i16 %13093 to i32
%13095 = sub nsw i32 25, %13094
br label %13096
13096: ; preds = %13092, %13091
%13097 = phi i32 [ 0, %13091 ], [ %13095, %13092 ]
%13098 = trunc i32 %13097 to i16
store i16 %13098, i16* %16
%13099 = load i16, i16* %13
store i16 %13099, i16* %18
%13100 = load i16, i16* %17
%13101 = sext i16 %13100 to i32
%13102 = icmp eq i32 %13101, 0
br i1 %13102, label %13103, label %13104
13103: ; preds = %13096
br label %13108
13104: ; preds = %13096
%13105 = load i16, i16* %17
%13106 = sext i16 %13105 to i32
%13107 = sub nsw i32 25, %13106
br label %13108
13108: ; preds = %13104, %13103
%13109 = phi i32 [ 0, %13103 ], [ %13107, %13104 ]
%13110 = trunc i32 %13109 to i16
store i16 %13110, i16* %13
%13111 = load i16, i16* %18
%13112 = sext i16 %13111 to i32
%13113 = icmp eq i32 %13112, 0
br i1 %13113, label %13114, label %13115
13114: ; preds = %13108
br label %13119
13115: ; preds = %13108
%13116 = load i16, i16* %18
%13117 = sext i16 %13116 to i32
%13118 = sub nsw i32 25, %13117
br label %13119
13119: ; preds = %13115, %13114
%13120 = phi i32 [ 0, %13114 ], [ %13118, %13115 ]
%13121 = trunc i32 %13120 to i16
store i16 %13121, i16* %17
%13122 = load i16, i16* %10
%13123 = sext i16 %13122 to i32
%13124 = load i16, i16* %11
%13125 = sext i16 %13124 to i32
%13126 = load i16, i16* %12
%13127 = sext i16 %13126 to i32
%13128 = load i16, i16* %13
%13129 = sext i16 %13128 to i32
%13130 = load i16, i16* %14
%13131 = sext i16 %13130 to i32
%13132 = load i16, i16* %15
%13133 = sext i16 %13132 to i32
%13134 = load i16, i16* %16
%13135 = sext i16 %13134 to i32
%13136 = load i16, i16* %17
%13137 = sext i16 %13136 to i32
%13138 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13123, i32 %13125, i32 %13127, i32 %13129, i32 %13131, i32 %13133, i32 %13135, i32 %13137)
%13139 = icmp sle i32 0, %13138
br i1 %13139, label %13140, label %13142
13140: ; preds = %13119
%13141 = load i16, i16* %21
store i16 %13141, i16* %9
br label %18762
13142: ; preds = %13119
%13143 = load i16, i16* %10
store i16 %13143, i16* %18
%13144 = load i16, i16* %14
%13145 = sext i16 %13144 to i32
%13146 = icmp eq i32 %13145, 0
br i1 %13146, label %13147, label %13148
13147: ; preds = %13142
br label %13152
13148: ; preds = %13142
%13149 = load i16, i16* %14
%13150 = sext i16 %13149 to i32
%13151 = sub nsw i32 25, %13150
br label %13152
13152: ; preds = %13148, %13147
%13153 = phi i32 [ 0, %13147 ], [ %13151, %13148 ]
%13154 = trunc i32 %13153 to i16
store i16 %13154, i16* %10
%13155 = load i16, i16* %18
%13156 = sext i16 %13155 to i32
%13157 = icmp eq i32 %13156, 0
br i1 %13157, label %13158, label %13159
13158: ; preds = %13152
br label %13163
13159: ; preds = %13152
%13160 = load i16, i16* %18
%13161 = sext i16 %13160 to i32
%13162 = sub nsw i32 25, %13161
br label %13163
13163: ; preds = %13159, %13158
%13164 = phi i32 [ 0, %13158 ], [ %13162, %13159 ]
%13165 = trunc i32 %13164 to i16
store i16 %13165, i16* %14
%13166 = load i16, i16* %11
store i16 %13166, i16* %18
%13167 = load i16, i16* %15
%13168 = sext i16 %13167 to i32
%13169 = icmp eq i32 %13168, 0
br i1 %13169, label %13170, label %13171
13170: ; preds = %13163
br label %13175
13171: ; preds = %13163
%13172 = load i16, i16* %15
%13173 = sext i16 %13172 to i32
%13174 = sub nsw i32 25, %13173
br label %13175
13175: ; preds = %13171, %13170
%13176 = phi i32 [ 0, %13170 ], [ %13174, %13171 ]
%13177 = trunc i32 %13176 to i16
store i16 %13177, i16* %11
%13178 = load i16, i16* %18
%13179 = sext i16 %13178 to i32
%13180 = icmp eq i32 %13179, 0
br i1 %13180, label %13181, label %13182
13181: ; preds = %13175
br label %13186
13182: ; preds = %13175
%13183 = load i16, i16* %18
%13184 = sext i16 %13183 to i32
%13185 = sub nsw i32 25, %13184
br label %13186
13186: ; preds = %13182, %13181
%13187 = phi i32 [ 0, %13181 ], [ %13185, %13182 ]
%13188 = trunc i32 %13187 to i16
store i16 %13188, i16* %15
%13189 = load i16, i16* %12
store i16 %13189, i16* %18
%13190 = load i16, i16* %16
%13191 = sext i16 %13190 to i32
%13192 = icmp eq i32 %13191, 0
br i1 %13192, label %13193, label %13194
13193: ; preds = %13186
br label %13198
13194: ; preds = %13186
%13195 = load i16, i16* %16
%13196 = sext i16 %13195 to i32
%13197 = sub nsw i32 25, %13196
br label %13198
13198: ; preds = %13194, %13193
%13199 = phi i32 [ 0, %13193 ], [ %13197, %13194 ]
%13200 = trunc i32 %13199 to i16
store i16 %13200, i16* %12
%13201 = load i16, i16* %18
%13202 = sext i16 %13201 to i32
%13203 = icmp eq i32 %13202, 0
br i1 %13203, label %13204, label %13205
13204: ; preds = %13198
br label %13209
13205: ; preds = %13198
%13206 = load i16, i16* %18
%13207 = sext i16 %13206 to i32
%13208 = sub nsw i32 25, %13207
br label %13209
13209: ; preds = %13205, %13204
%13210 = phi i32 [ 0, %13204 ], [ %13208, %13205 ]
%13211 = trunc i32 %13210 to i16
store i16 %13211, i16* %16
%13212 = load i16, i16* %13
store i16 %13212, i16* %18
%13213 = load i16, i16* %17
%13214 = sext i16 %13213 to i32
%13215 = icmp eq i32 %13214, 0
br i1 %13215, label %13216, label %13217
13216: ; preds = %13209
br label %13221
13217: ; preds = %13209
%13218 = load i16, i16* %17
%13219 = sext i16 %13218 to i32
%13220 = sub nsw i32 25, %13219
br label %13221
13221: ; preds = %13217, %13216
%13222 = phi i32 [ 0, %13216 ], [ %13220, %13217 ]
%13223 = trunc i32 %13222 to i16
store i16 %13223, i16* %13
%13224 = load i16, i16* %18
%13225 = sext i16 %13224 to i32
%13226 = icmp eq i32 %13225, 0
br i1 %13226, label %13227, label %13228
13227: ; preds = %13221
br label %13232
13228: ; preds = %13221
%13229 = load i16, i16* %18
%13230 = sext i16 %13229 to i32
%13231 = sub nsw i32 25, %13230
br label %13232
13232: ; preds = %13228, %13227
%13233 = phi i32 [ 0, %13227 ], [ %13231, %13228 ]
%13234 = trunc i32 %13233 to i16
store i16 %13234, i16* %17
%13235 = load i16, i16* %20
store i16 %13235, i16* %15
br label %13442
13236: ; preds = %13022
%13237 = load i16, i16* %10
store i16 %13237, i16* %18
%13238 = load i16, i16* %14
%13239 = sext i16 %13238 to i32
%13240 = icmp eq i32 %13239, 0
br i1 %13240, label %13241, label %13242
13241: ; preds = %13236
br label %13246
13242: ; preds = %13236
%13243 = load i16, i16* %14
%13244 = sext i16 %13243 to i32
%13245 = sub nsw i32 25, %13244
br label %13246
13246: ; preds = %13242, %13241
%13247 = phi i32 [ 0, %13241 ], [ %13245, %13242 ]
%13248 = trunc i32 %13247 to i16
store i16 %13248, i16* %10
%13249 = load i16, i16* %18
%13250 = sext i16 %13249 to i32
%13251 = icmp eq i32 %13250, 0
br i1 %13251, label %13252, label %13253
13252: ; preds = %13246
br label %13257
13253: ; preds = %13246
%13254 = load i16, i16* %18
%13255 = sext i16 %13254 to i32
%13256 = sub nsw i32 25, %13255
br label %13257
13257: ; preds = %13253, %13252
%13258 = phi i32 [ 0, %13252 ], [ %13256, %13253 ]
%13259 = trunc i32 %13258 to i16
store i16 %13259, i16* %14
%13260 = load i16, i16* %11
store i16 %13260, i16* %18
%13261 = load i16, i16* %15
%13262 = sext i16 %13261 to i32
%13263 = icmp eq i32 %13262, 0
br i1 %13263, label %13264, label %13265
13264: ; preds = %13257
br label %13269
13265: ; preds = %13257
%13266 = load i16, i16* %15
%13267 = sext i16 %13266 to i32
%13268 = sub nsw i32 25, %13267
br label %13269
13269: ; preds = %13265, %13264
%13270 = phi i32 [ 0, %13264 ], [ %13268, %13265 ]
%13271 = trunc i32 %13270 to i16
store i16 %13271, i16* %11
%13272 = load i16, i16* %18
%13273 = sext i16 %13272 to i32
%13274 = icmp eq i32 %13273, 0
br i1 %13274, label %13275, label %13276
13275: ; preds = %13269
br label %13280
13276: ; preds = %13269
%13277 = load i16, i16* %18
%13278 = sext i16 %13277 to i32
%13279 = sub nsw i32 25, %13278
br label %13280
13280: ; preds = %13276, %13275
%13281 = phi i32 [ 0, %13275 ], [ %13279, %13276 ]
%13282 = trunc i32 %13281 to i16
store i16 %13282, i16* %15
%13283 = load i16, i16* %12
store i16 %13283, i16* %18
%13284 = load i16, i16* %16
%13285 = sext i16 %13284 to i32
%13286 = icmp eq i32 %13285, 0
br i1 %13286, label %13287, label %13288
13287: ; preds = %13280
br label %13292
13288: ; preds = %13280
%13289 = load i16, i16* %16
%13290 = sext i16 %13289 to i32
%13291 = sub nsw i32 25, %13290
br label %13292
13292: ; preds = %13288, %13287
%13293 = phi i32 [ 0, %13287 ], [ %13291, %13288 ]
%13294 = trunc i32 %13293 to i16
store i16 %13294, i16* %12
%13295 = load i16, i16* %18
%13296 = sext i16 %13295 to i32
%13297 = icmp eq i32 %13296, 0
br i1 %13297, label %13298, label %13299
13298: ; preds = %13292
br label %13303
13299: ; preds = %13292
%13300 = load i16, i16* %18
%13301 = sext i16 %13300 to i32
%13302 = sub nsw i32 25, %13301
br label %13303
13303: ; preds = %13299, %13298
%13304 = phi i32 [ 0, %13298 ], [ %13302, %13299 ]
%13305 = trunc i32 %13304 to i16
store i16 %13305, i16* %16
%13306 = load i16, i16* %13
store i16 %13306, i16* %18
%13307 = load i16, i16* %17
%13308 = sext i16 %13307 to i32
%13309 = icmp eq i32 %13308, 0
br i1 %13309, label %13310, label %13311
13310: ; preds = %13303
br label %13315
13311: ; preds = %13303
%13312 = load i16, i16* %17
%13313 = sext i16 %13312 to i32
%13314 = sub nsw i32 25, %13313
br label %13315
13315: ; preds = %13311, %13310
%13316 = phi i32 [ 0, %13310 ], [ %13314, %13311 ]
%13317 = trunc i32 %13316 to i16
store i16 %13317, i16* %13
%13318 = load i16, i16* %18
%13319 = sext i16 %13318 to i32
%13320 = icmp eq i32 %13319, 0
br i1 %13320, label %13321, label %13322
13321: ; preds = %13315
br label %13326
13322: ; preds = %13315
%13323 = load i16, i16* %18
%13324 = sext i16 %13323 to i32
%13325 = sub nsw i32 25, %13324
br label %13326
13326: ; preds = %13322, %13321
%13327 = phi i32 [ 0, %13321 ], [ %13325, %13322 ]
%13328 = trunc i32 %13327 to i16
store i16 %13328, i16* %17
%13329 = load i16, i16* %10
%13330 = sext i16 %13329 to i32
%13331 = load i16, i16* %11
%13332 = sext i16 %13331 to i32
%13333 = load i16, i16* %12
%13334 = sext i16 %13333 to i32
%13335 = load i16, i16* %13
%13336 = sext i16 %13335 to i32
%13337 = load i16, i16* %14
%13338 = sext i16 %13337 to i32
%13339 = load i16, i16* %15
%13340 = sext i16 %13339 to i32
%13341 = load i16, i16* %16
%13342 = sext i16 %13341 to i32
%13343 = load i16, i16* %17
%13344 = sext i16 %13343 to i32
%13345 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13330, i32 %13332, i32 %13334, i32 %13336, i32 %13338, i32 %13340, i32 %13342, i32 %13344)
%13346 = icmp sle i32 0, %13345
br i1 %13346, label %13347, label %13349
13347: ; preds = %13326
%13348 = load i16, i16* %21
store i16 %13348, i16* %9
br label %18762
13349: ; preds = %13326
%13350 = load i16, i16* %10
store i16 %13350, i16* %18
%13351 = load i16, i16* %14
%13352 = sext i16 %13351 to i32
%13353 = icmp eq i32 %13352, 0
br i1 %13353, label %13354, label %13355
13354: ; preds = %13349
br label %13359
13355: ; preds = %13349
%13356 = load i16, i16* %14
%13357 = sext i16 %13356 to i32
%13358 = sub nsw i32 25, %13357
br label %13359
13359: ; preds = %13355, %13354
%13360 = phi i32 [ 0, %13354 ], [ %13358, %13355 ]
%13361 = trunc i32 %13360 to i16
store i16 %13361, i16* %10
%13362 = load i16, i16* %18
%13363 = sext i16 %13362 to i32
%13364 = icmp eq i32 %13363, 0
br i1 %13364, label %13365, label %13366
13365: ; preds = %13359
br label %13370
13366: ; preds = %13359
%13367 = load i16, i16* %18
%13368 = sext i16 %13367 to i32
%13369 = sub nsw i32 25, %13368
br label %13370
13370: ; preds = %13366, %13365
%13371 = phi i32 [ 0, %13365 ], [ %13369, %13366 ]
%13372 = trunc i32 %13371 to i16
store i16 %13372, i16* %14
%13373 = load i16, i16* %11
store i16 %13373, i16* %18
%13374 = load i16, i16* %15
%13375 = sext i16 %13374 to i32
%13376 = icmp eq i32 %13375, 0
br i1 %13376, label %13377, label %13378
13377: ; preds = %13370
br label %13382
13378: ; preds = %13370
%13379 = load i16, i16* %15
%13380 = sext i16 %13379 to i32
%13381 = sub nsw i32 25, %13380
br label %13382
13382: ; preds = %13378, %13377
%13383 = phi i32 [ 0, %13377 ], [ %13381, %13378 ]
%13384 = trunc i32 %13383 to i16
store i16 %13384, i16* %11
%13385 = load i16, i16* %18
%13386 = sext i16 %13385 to i32
%13387 = icmp eq i32 %13386, 0
br i1 %13387, label %13388, label %13389
13388: ; preds = %13382
br label %13393
13389: ; preds = %13382
%13390 = load i16, i16* %18
%13391 = sext i16 %13390 to i32
%13392 = sub nsw i32 25, %13391
br label %13393
13393: ; preds = %13389, %13388
%13394 = phi i32 [ 0, %13388 ], [ %13392, %13389 ]
%13395 = trunc i32 %13394 to i16
store i16 %13395, i16* %15
%13396 = load i16, i16* %12
store i16 %13396, i16* %18
%13397 = load i16, i16* %16
%13398 = sext i16 %13397 to i32
%13399 = icmp eq i32 %13398, 0
br i1 %13399, label %13400, label %13401
13400: ; preds = %13393
br label %13405
13401: ; preds = %13393
%13402 = load i16, i16* %16
%13403 = sext i16 %13402 to i32
%13404 = sub nsw i32 25, %13403
br label %13405
13405: ; preds = %13401, %13400
%13406 = phi i32 [ 0, %13400 ], [ %13404, %13401 ]
%13407 = trunc i32 %13406 to i16
store i16 %13407, i16* %12
%13408 = load i16, i16* %18
%13409 = sext i16 %13408 to i32
%13410 = icmp eq i32 %13409, 0
br i1 %13410, label %13411, label %13412
13411: ; preds = %13405
br label %13416
13412: ; preds = %13405
%13413 = load i16, i16* %18
%13414 = sext i16 %13413 to i32
%13415 = sub nsw i32 25, %13414
br label %13416
13416: ; preds = %13412, %13411
%13417 = phi i32 [ 0, %13411 ], [ %13415, %13412 ]
%13418 = trunc i32 %13417 to i16
store i16 %13418, i16* %16
%13419 = load i16, i16* %13
store i16 %13419, i16* %18
%13420 = load i16, i16* %17
%13421 = sext i16 %13420 to i32
%13422 = icmp eq i32 %13421, 0
br i1 %13422, label %13423, label %13424
13423: ; preds = %13416
br label %13428
13424: ; preds = %13416
%13425 = load i16, i16* %17
%13426 = sext i16 %13425 to i32
%13427 = sub nsw i32 25, %13426
br label %13428
13428: ; preds = %13424, %13423
%13429 = phi i32 [ 0, %13423 ], [ %13427, %13424 ]
%13430 = trunc i32 %13429 to i16
store i16 %13430, i16* %13
%13431 = load i16, i16* %18
%13432 = sext i16 %13431 to i32
%13433 = icmp eq i32 %13432, 0
br i1 %13433, label %13434, label %13435
13434: ; preds = %13428
br label %13439
13435: ; preds = %13428
%13436 = load i16, i16* %18
%13437 = sext i16 %13436 to i32
%13438 = sub nsw i32 25, %13437
br label %13439
13439: ; preds = %13435, %13434
%13440 = phi i32 [ 0, %13434 ], [ %13438, %13435 ]
%13441 = trunc i32 %13440 to i16
store i16 %13441, i16* %17
br label %13442
13442: ; preds = %13439, %13232
%13443 = load i16, i16* %19
store i16 %13443, i16* %12
br label %13444
13444: ; preds = %13442, %13016, %13010, %13004, %12998, %12992, %12981
br label %13445
13445: ; preds = %13444, %12977, %12973
br label %18737
13446: ; preds = %12969
%13447 = load i16, i16* %21
%13448 = sext i16 %13447 to i32
%13449 = icmp eq i32 %13448, 21
br i1 %13449, label %13450, label %13928
13450: ; preds = %13446
%13451 = load i16, i16* %12
%13452 = sext i16 %13451 to i32
%13453 = icmp ne i32 %13452, 0
br i1 %13453, label %13454, label %13927
13454: ; preds = %13450
%13455 = load i16, i16* %12
%13456 = sext i16 %13455 to i32
%13457 = icmp slt i32 4, %13456
br i1 %13457, label %13458, label %13927
13458: ; preds = %13454
%13459 = load i16, i16* %12
%13460 = sext i16 %13459 to i32
%13461 = srem i32 %13460, 4
%13462 = icmp ne i32 %13461, 1
br i1 %13462, label %13463, label %13927
13463: ; preds = %13458
%13464 = load i16, i16* %12
store i16 %13464, i16* %19
%13465 = load i16, i16* %19
%13466 = sext i16 %13465 to i32
%13467 = sub nsw i32 %13466, 5
%13468 = trunc i32 %13467 to i16
store i16 %13468, i16* %20
%13469 = load i16, i16* %20
%13470 = sext i16 %13469 to i32
%13471 = load i16, i16* %10
%13472 = sext i16 %13471 to i32
%13473 = icmp ne i32 %13470, %13472
br i1 %13473, label %13474, label %13926
13474: ; preds = %13463
%13475 = load i16, i16* %20
%13476 = sext i16 %13475 to i32
%13477 = load i16, i16* %11
%13478 = sext i16 %13477 to i32
%13479 = icmp ne i32 %13476, %13478
br i1 %13479, label %13480, label %13926
13480: ; preds = %13474
%13481 = load i16, i16* %20
%13482 = sext i16 %13481 to i32
%13483 = load i16, i16* %13
%13484 = sext i16 %13483 to i32
%13485 = icmp ne i32 %13482, %13484
br i1 %13485, label %13486, label %13926
13486: ; preds = %13480
%13487 = load i16, i16* %20
%13488 = sext i16 %13487 to i32
%13489 = load i16, i16* %14
%13490 = sext i16 %13489 to i32
%13491 = icmp ne i32 %13488, %13490
br i1 %13491, label %13492, label %13926
13492: ; preds = %13486
%13493 = load i16, i16* %20
%13494 = sext i16 %13493 to i32
%13495 = load i16, i16* %16
%13496 = sext i16 %13495 to i32
%13497 = icmp ne i32 %13494, %13496
br i1 %13497, label %13498, label %13926
13498: ; preds = %13492
%13499 = load i16, i16* %20
%13500 = sext i16 %13499 to i32
%13501 = load i16, i16* %17
%13502 = sext i16 %13501 to i32
%13503 = icmp ne i32 %13500, %13502
br i1 %13503, label %13504, label %13926
13504: ; preds = %13498
%13505 = load i16, i16* %20
store i16 %13505, i16* %12
%13506 = load i16, i16* %15
%13507 = sext i16 %13506 to i32
%13508 = load i16, i16* %20
%13509 = sext i16 %13508 to i32
%13510 = icmp eq i32 %13507, %13509
br i1 %13510, label %13511, label %13718
13511: ; preds = %13504
store i16 0, i16* %15
%13512 = load i16, i16* %10
store i16 %13512, i16* %18
%13513 = load i16, i16* %14
%13514 = sext i16 %13513 to i32
%13515 = icmp eq i32 %13514, 0
br i1 %13515, label %13516, label %13517
13516: ; preds = %13511
br label %13521
13517: ; preds = %13511
%13518 = load i16, i16* %14
%13519 = sext i16 %13518 to i32
%13520 = sub nsw i32 25, %13519
br label %13521
13521: ; preds = %13517, %13516
%13522 = phi i32 [ 0, %13516 ], [ %13520, %13517 ]
%13523 = trunc i32 %13522 to i16
store i16 %13523, i16* %10
%13524 = load i16, i16* %18
%13525 = sext i16 %13524 to i32
%13526 = icmp eq i32 %13525, 0
br i1 %13526, label %13527, label %13528
13527: ; preds = %13521
br label %13532
13528: ; preds = %13521
%13529 = load i16, i16* %18
%13530 = sext i16 %13529 to i32
%13531 = sub nsw i32 25, %13530
br label %13532
13532: ; preds = %13528, %13527
%13533 = phi i32 [ 0, %13527 ], [ %13531, %13528 ]
%13534 = trunc i32 %13533 to i16
store i16 %13534, i16* %14
%13535 = load i16, i16* %11
store i16 %13535, i16* %18
%13536 = load i16, i16* %15
%13537 = sext i16 %13536 to i32
%13538 = icmp eq i32 %13537, 0
br i1 %13538, label %13539, label %13540
13539: ; preds = %13532
br label %13544
13540: ; preds = %13532
%13541 = load i16, i16* %15
%13542 = sext i16 %13541 to i32
%13543 = sub nsw i32 25, %13542
br label %13544
13544: ; preds = %13540, %13539
%13545 = phi i32 [ 0, %13539 ], [ %13543, %13540 ]
%13546 = trunc i32 %13545 to i16
store i16 %13546, i16* %11
%13547 = load i16, i16* %18
%13548 = sext i16 %13547 to i32
%13549 = icmp eq i32 %13548, 0
br i1 %13549, label %13550, label %13551
13550: ; preds = %13544
br label %13555
13551: ; preds = %13544
%13552 = load i16, i16* %18
%13553 = sext i16 %13552 to i32
%13554 = sub nsw i32 25, %13553
br label %13555
13555: ; preds = %13551, %13550
%13556 = phi i32 [ 0, %13550 ], [ %13554, %13551 ]
%13557 = trunc i32 %13556 to i16
store i16 %13557, i16* %15
%13558 = load i16, i16* %12
store i16 %13558, i16* %18
%13559 = load i16, i16* %16
%13560 = sext i16 %13559 to i32
%13561 = icmp eq i32 %13560, 0
br i1 %13561, label %13562, label %13563
13562: ; preds = %13555
br label %13567
13563: ; preds = %13555
%13564 = load i16, i16* %16
%13565 = sext i16 %13564 to i32
%13566 = sub nsw i32 25, %13565
br label %13567
13567: ; preds = %13563, %13562
%13568 = phi i32 [ 0, %13562 ], [ %13566, %13563 ]
%13569 = trunc i32 %13568 to i16
store i16 %13569, i16* %12
%13570 = load i16, i16* %18
%13571 = sext i16 %13570 to i32
%13572 = icmp eq i32 %13571, 0
br i1 %13572, label %13573, label %13574
13573: ; preds = %13567
br label %13578
13574: ; preds = %13567
%13575 = load i16, i16* %18
%13576 = sext i16 %13575 to i32
%13577 = sub nsw i32 25, %13576
br label %13578
13578: ; preds = %13574, %13573
%13579 = phi i32 [ 0, %13573 ], [ %13577, %13574 ]
%13580 = trunc i32 %13579 to i16
store i16 %13580, i16* %16
%13581 = load i16, i16* %13
store i16 %13581, i16* %18
%13582 = load i16, i16* %17
%13583 = sext i16 %13582 to i32
%13584 = icmp eq i32 %13583, 0
br i1 %13584, label %13585, label %13586
13585: ; preds = %13578
br label %13590
13586: ; preds = %13578
%13587 = load i16, i16* %17
%13588 = sext i16 %13587 to i32
%13589 = sub nsw i32 25, %13588
br label %13590
13590: ; preds = %13586, %13585
%13591 = phi i32 [ 0, %13585 ], [ %13589, %13586 ]
%13592 = trunc i32 %13591 to i16
store i16 %13592, i16* %13
%13593 = load i16, i16* %18
%13594 = sext i16 %13593 to i32
%13595 = icmp eq i32 %13594, 0
br i1 %13595, label %13596, label %13597
13596: ; preds = %13590
br label %13601
13597: ; preds = %13590
%13598 = load i16, i16* %18
%13599 = sext i16 %13598 to i32
%13600 = sub nsw i32 25, %13599
br label %13601
13601: ; preds = %13597, %13596
%13602 = phi i32 [ 0, %13596 ], [ %13600, %13597 ]
%13603 = trunc i32 %13602 to i16
store i16 %13603, i16* %17
%13604 = load i16, i16* %10
%13605 = sext i16 %13604 to i32
%13606 = load i16, i16* %11
%13607 = sext i16 %13606 to i32
%13608 = load i16, i16* %12
%13609 = sext i16 %13608 to i32
%13610 = load i16, i16* %13
%13611 = sext i16 %13610 to i32
%13612 = load i16, i16* %14
%13613 = sext i16 %13612 to i32
%13614 = load i16, i16* %15
%13615 = sext i16 %13614 to i32
%13616 = load i16, i16* %16
%13617 = sext i16 %13616 to i32
%13618 = load i16, i16* %17
%13619 = sext i16 %13618 to i32
%13620 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13605, i32 %13607, i32 %13609, i32 %13611, i32 %13613, i32 %13615, i32 %13617, i32 %13619)
%13621 = icmp sle i32 0, %13620
br i1 %13621, label %13622, label %13624
13622: ; preds = %13601
%13623 = load i16, i16* %21
store i16 %13623, i16* %9
br label %18762
13624: ; preds = %13601
%13625 = load i16, i16* %10
store i16 %13625, i16* %18
%13626 = load i16, i16* %14
%13627 = sext i16 %13626 to i32
%13628 = icmp eq i32 %13627, 0
br i1 %13628, label %13629, label %13630
13629: ; preds = %13624
br label %13634
13630: ; preds = %13624
%13631 = load i16, i16* %14
%13632 = sext i16 %13631 to i32
%13633 = sub nsw i32 25, %13632
br label %13634
13634: ; preds = %13630, %13629
%13635 = phi i32 [ 0, %13629 ], [ %13633, %13630 ]
%13636 = trunc i32 %13635 to i16
store i16 %13636, i16* %10
%13637 = load i16, i16* %18
%13638 = sext i16 %13637 to i32
%13639 = icmp eq i32 %13638, 0
br i1 %13639, label %13640, label %13641
13640: ; preds = %13634
br label %13645
13641: ; preds = %13634
%13642 = load i16, i16* %18
%13643 = sext i16 %13642 to i32
%13644 = sub nsw i32 25, %13643
br label %13645
13645: ; preds = %13641, %13640
%13646 = phi i32 [ 0, %13640 ], [ %13644, %13641 ]
%13647 = trunc i32 %13646 to i16
store i16 %13647, i16* %14
%13648 = load i16, i16* %11
store i16 %13648, i16* %18
%13649 = load i16, i16* %15
%13650 = sext i16 %13649 to i32
%13651 = icmp eq i32 %13650, 0
br i1 %13651, label %13652, label %13653
13652: ; preds = %13645
br label %13657
13653: ; preds = %13645
%13654 = load i16, i16* %15
%13655 = sext i16 %13654 to i32
%13656 = sub nsw i32 25, %13655
br label %13657
13657: ; preds = %13653, %13652
%13658 = phi i32 [ 0, %13652 ], [ %13656, %13653 ]
%13659 = trunc i32 %13658 to i16
store i16 %13659, i16* %11
%13660 = load i16, i16* %18
%13661 = sext i16 %13660 to i32
%13662 = icmp eq i32 %13661, 0
br i1 %13662, label %13663, label %13664
13663: ; preds = %13657
br label %13668
13664: ; preds = %13657
%13665 = load i16, i16* %18
%13666 = sext i16 %13665 to i32
%13667 = sub nsw i32 25, %13666
br label %13668
13668: ; preds = %13664, %13663
%13669 = phi i32 [ 0, %13663 ], [ %13667, %13664 ]
%13670 = trunc i32 %13669 to i16
store i16 %13670, i16* %15
%13671 = load i16, i16* %12
store i16 %13671, i16* %18
%13672 = load i16, i16* %16
%13673 = sext i16 %13672 to i32
%13674 = icmp eq i32 %13673, 0
br i1 %13674, label %13675, label %13676
13675: ; preds = %13668
br label %13680
13676: ; preds = %13668
%13677 = load i16, i16* %16
%13678 = sext i16 %13677 to i32
%13679 = sub nsw i32 25, %13678
br label %13680
13680: ; preds = %13676, %13675
%13681 = phi i32 [ 0, %13675 ], [ %13679, %13676 ]
%13682 = trunc i32 %13681 to i16
store i16 %13682, i16* %12
%13683 = load i16, i16* %18
%13684 = sext i16 %13683 to i32
%13685 = icmp eq i32 %13684, 0
br i1 %13685, label %13686, label %13687
13686: ; preds = %13680
br label %13691
13687: ; preds = %13680
%13688 = load i16, i16* %18
%13689 = sext i16 %13688 to i32
%13690 = sub nsw i32 25, %13689
br label %13691
13691: ; preds = %13687, %13686
%13692 = phi i32 [ 0, %13686 ], [ %13690, %13687 ]
%13693 = trunc i32 %13692 to i16
store i16 %13693, i16* %16
%13694 = load i16, i16* %13
store i16 %13694, i16* %18
%13695 = load i16, i16* %17
%13696 = sext i16 %13695 to i32
%13697 = icmp eq i32 %13696, 0
br i1 %13697, label %13698, label %13699
13698: ; preds = %13691
br label %13703
13699: ; preds = %13691
%13700 = load i16, i16* %17
%13701 = sext i16 %13700 to i32
%13702 = sub nsw i32 25, %13701
br label %13703
13703: ; preds = %13699, %13698
%13704 = phi i32 [ 0, %13698 ], [ %13702, %13699 ]
%13705 = trunc i32 %13704 to i16
store i16 %13705, i16* %13
%13706 = load i16, i16* %18
%13707 = sext i16 %13706 to i32
%13708 = icmp eq i32 %13707, 0
br i1 %13708, label %13709, label %13710
13709: ; preds = %13703
br label %13714
13710: ; preds = %13703
%13711 = load i16, i16* %18
%13712 = sext i16 %13711 to i32
%13713 = sub nsw i32 25, %13712
br label %13714
13714: ; preds = %13710, %13709
%13715 = phi i32 [ 0, %13709 ], [ %13713, %13710 ]
%13716 = trunc i32 %13715 to i16
store i16 %13716, i16* %17
%13717 = load i16, i16* %20
store i16 %13717, i16* %15
br label %13924
13718: ; preds = %13504
%13719 = load i16, i16* %10
store i16 %13719, i16* %18
%13720 = load i16, i16* %14
%13721 = sext i16 %13720 to i32
%13722 = icmp eq i32 %13721, 0
br i1 %13722, label %13723, label %13724
13723: ; preds = %13718
br label %13728
13724: ; preds = %13718
%13725 = load i16, i16* %14
%13726 = sext i16 %13725 to i32
%13727 = sub nsw i32 25, %13726
br label %13728
13728: ; preds = %13724, %13723
%13729 = phi i32 [ 0, %13723 ], [ %13727, %13724 ]
%13730 = trunc i32 %13729 to i16
store i16 %13730, i16* %10
%13731 = load i16, i16* %18
%13732 = sext i16 %13731 to i32
%13733 = icmp eq i32 %13732, 0
br i1 %13733, label %13734, label %13735
13734: ; preds = %13728
br label %13739
13735: ; preds = %13728
%13736 = load i16, i16* %18
%13737 = sext i16 %13736 to i32
%13738 = sub nsw i32 25, %13737
br label %13739
13739: ; preds = %13735, %13734
%13740 = phi i32 [ 0, %13734 ], [ %13738, %13735 ]
%13741 = trunc i32 %13740 to i16
store i16 %13741, i16* %14
%13742 = load i16, i16* %11
store i16 %13742, i16* %18
%13743 = load i16, i16* %15
%13744 = sext i16 %13743 to i32
%13745 = icmp eq i32 %13744, 0
br i1 %13745, label %13746, label %13747
13746: ; preds = %13739
br label %13751
13747: ; preds = %13739
%13748 = load i16, i16* %15
%13749 = sext i16 %13748 to i32
%13750 = sub nsw i32 25, %13749
br label %13751
13751: ; preds = %13747, %13746
%13752 = phi i32 [ 0, %13746 ], [ %13750, %13747 ]
%13753 = trunc i32 %13752 to i16
store i16 %13753, i16* %11
%13754 = load i16, i16* %18
%13755 = sext i16 %13754 to i32
%13756 = icmp eq i32 %13755, 0
br i1 %13756, label %13757, label %13758
13757: ; preds = %13751
br label %13762
13758: ; preds = %13751
%13759 = load i16, i16* %18
%13760 = sext i16 %13759 to i32
%13761 = sub nsw i32 25, %13760
br label %13762
13762: ; preds = %13758, %13757
%13763 = phi i32 [ 0, %13757 ], [ %13761, %13758 ]
%13764 = trunc i32 %13763 to i16
store i16 %13764, i16* %15
%13765 = load i16, i16* %12
store i16 %13765, i16* %18
%13766 = load i16, i16* %16
%13767 = sext i16 %13766 to i32
%13768 = icmp eq i32 %13767, 0
br i1 %13768, label %13769, label %13770
13769: ; preds = %13762
br label %13774
13770: ; preds = %13762
%13771 = load i16, i16* %16
%13772 = sext i16 %13771 to i32
%13773 = sub nsw i32 25, %13772
br label %13774
13774: ; preds = %13770, %13769
%13775 = phi i32 [ 0, %13769 ], [ %13773, %13770 ]
%13776 = trunc i32 %13775 to i16
store i16 %13776, i16* %12
%13777 = load i16, i16* %18
%13778 = sext i16 %13777 to i32
%13779 = icmp eq i32 %13778, 0
br i1 %13779, label %13780, label %13781
13780: ; preds = %13774
br label %13785
13781: ; preds = %13774
%13782 = load i16, i16* %18
%13783 = sext i16 %13782 to i32
%13784 = sub nsw i32 25, %13783
br label %13785
13785: ; preds = %13781, %13780
%13786 = phi i32 [ 0, %13780 ], [ %13784, %13781 ]
%13787 = trunc i32 %13786 to i16
store i16 %13787, i16* %16
%13788 = load i16, i16* %13
store i16 %13788, i16* %18
%13789 = load i16, i16* %17
%13790 = sext i16 %13789 to i32
%13791 = icmp eq i32 %13790, 0
br i1 %13791, label %13792, label %13793
13792: ; preds = %13785
br label %13797
13793: ; preds = %13785
%13794 = load i16, i16* %17
%13795 = sext i16 %13794 to i32
%13796 = sub nsw i32 25, %13795
br label %13797
13797: ; preds = %13793, %13792
%13798 = phi i32 [ 0, %13792 ], [ %13796, %13793 ]
%13799 = trunc i32 %13798 to i16
store i16 %13799, i16* %13
%13800 = load i16, i16* %18
%13801 = sext i16 %13800 to i32
%13802 = icmp eq i32 %13801, 0
br i1 %13802, label %13803, label %13804
13803: ; preds = %13797
br label %13808
13804: ; preds = %13797
%13805 = load i16, i16* %18
%13806 = sext i16 %13805 to i32
%13807 = sub nsw i32 25, %13806
br label %13808
13808: ; preds = %13804, %13803
%13809 = phi i32 [ 0, %13803 ], [ %13807, %13804 ]
%13810 = trunc i32 %13809 to i16
store i16 %13810, i16* %17
%13811 = load i16, i16* %10
%13812 = sext i16 %13811 to i32
%13813 = load i16, i16* %11
%13814 = sext i16 %13813 to i32
%13815 = load i16, i16* %12
%13816 = sext i16 %13815 to i32
%13817 = load i16, i16* %13
%13818 = sext i16 %13817 to i32
%13819 = load i16, i16* %14
%13820 = sext i16 %13819 to i32
%13821 = load i16, i16* %15
%13822 = sext i16 %13821 to i32
%13823 = load i16, i16* %16
%13824 = sext i16 %13823 to i32
%13825 = load i16, i16* %17
%13826 = sext i16 %13825 to i32
%13827 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13812, i32 %13814, i32 %13816, i32 %13818, i32 %13820, i32 %13822, i32 %13824, i32 %13826)
%13828 = icmp sle i32 0, %13827
br i1 %13828, label %13829, label %13831
13829: ; preds = %13808
%13830 = load i16, i16* %21
store i16 %13830, i16* %9
br label %18762
13831: ; preds = %13808
%13832 = load i16, i16* %10
store i16 %13832, i16* %18
%13833 = load i16, i16* %14
%13834 = sext i16 %13833 to i32
%13835 = icmp eq i32 %13834, 0
br i1 %13835, label %13836, label %13837
13836: ; preds = %13831
br label %13841
13837: ; preds = %13831
%13838 = load i16, i16* %14
%13839 = sext i16 %13838 to i32
%13840 = sub nsw i32 25, %13839
br label %13841
13841: ; preds = %13837, %13836
%13842 = phi i32 [ 0, %13836 ], [ %13840, %13837 ]
%13843 = trunc i32 %13842 to i16
store i16 %13843, i16* %10
%13844 = load i16, i16* %18
%13845 = sext i16 %13844 to i32
%13846 = icmp eq i32 %13845, 0
br i1 %13846, label %13847, label %13848
13847: ; preds = %13841
br label %13852
13848: ; preds = %13841
%13849 = load i16, i16* %18
%13850 = sext i16 %13849 to i32
%13851 = sub nsw i32 25, %13850
br label %13852
13852: ; preds = %13848, %13847
%13853 = phi i32 [ 0, %13847 ], [ %13851, %13848 ]
%13854 = trunc i32 %13853 to i16
store i16 %13854, i16* %14
%13855 = load i16, i16* %11
store i16 %13855, i16* %18
%13856 = load i16, i16* %15
%13857 = sext i16 %13856 to i32
%13858 = icmp eq i32 %13857, 0
br i1 %13858, label %13859, label %13860
13859: ; preds = %13852
br label %13864
13860: ; preds = %13852
%13861 = load i16, i16* %15
%13862 = sext i16 %13861 to i32
%13863 = sub nsw i32 25, %13862
br label %13864
13864: ; preds = %13860, %13859
%13865 = phi i32 [ 0, %13859 ], [ %13863, %13860 ]
%13866 = trunc i32 %13865 to i16
store i16 %13866, i16* %11
%13867 = load i16, i16* %18
%13868 = sext i16 %13867 to i32
%13869 = icmp eq i32 %13868, 0
br i1 %13869, label %13870, label %13871
13870: ; preds = %13864
br label %13875
13871: ; preds = %13864
%13872 = load i16, i16* %18
%13873 = sext i16 %13872 to i32
%13874 = sub nsw i32 25, %13873
br label %13875
13875: ; preds = %13871, %13870
%13876 = phi i32 [ 0, %13870 ], [ %13874, %13871 ]
%13877 = trunc i32 %13876 to i16
store i16 %13877, i16* %15
%13878 = load i16, i16* %12
store i16 %13878, i16* %18
%13879 = load i16, i16* %16
%13880 = sext i16 %13879 to i32
%13881 = icmp eq i32 %13880, 0
br i1 %13881, label %13882, label %13883
13882: ; preds = %13875
br label %13887
13883: ; preds = %13875
%13884 = load i16, i16* %16
%13885 = sext i16 %13884 to i32
%13886 = sub nsw i32 25, %13885
br label %13887
13887: ; preds = %13883, %13882
%13888 = phi i32 [ 0, %13882 ], [ %13886, %13883 ]
%13889 = trunc i32 %13888 to i16
store i16 %13889, i16* %12
%13890 = load i16, i16* %18
%13891 = sext i16 %13890 to i32
%13892 = icmp eq i32 %13891, 0
br i1 %13892, label %13893, label %13894
13893: ; preds = %13887
br label %13898
13894: ; preds = %13887
%13895 = load i16, i16* %18
%13896 = sext i16 %13895 to i32
%13897 = sub nsw i32 25, %13896
br label %13898
13898: ; preds = %13894, %13893
%13899 = phi i32 [ 0, %13893 ], [ %13897, %13894 ]
%13900 = trunc i32 %13899 to i16
store i16 %13900, i16* %16
%13901 = load i16, i16* %13
store i16 %13901, i16* %18
%13902 = load i16, i16* %17
%13903 = sext i16 %13902 to i32
%13904 = icmp eq i32 %13903, 0
br i1 %13904, label %13905, label %13906
13905: ; preds = %13898
br label %13910
13906: ; preds = %13898
%13907 = load i16, i16* %17
%13908 = sext i16 %13907 to i32
%13909 = sub nsw i32 25, %13908
br label %13910
13910: ; preds = %13906, %13905
%13911 = phi i32 [ 0, %13905 ], [ %13909, %13906 ]
%13912 = trunc i32 %13911 to i16
store i16 %13912, i16* %13
%13913 = load i16, i16* %18
%13914 = sext i16 %13913 to i32
%13915 = icmp eq i32 %13914, 0
br i1 %13915, label %13916, label %13917
13916: ; preds = %13910
br label %13921
13917: ; preds = %13910
%13918 = load i16, i16* %18
%13919 = sext i16 %13918 to i32
%13920 = sub nsw i32 25, %13919
br label %13921
13921: ; preds = %13917, %13916
%13922 = phi i32 [ 0, %13916 ], [ %13920, %13917 ]
%13923 = trunc i32 %13922 to i16
store i16 %13923, i16* %17
br label %13924
13924: ; preds = %13921, %13714
%13925 = load i16, i16* %19
store i16 %13925, i16* %12
br label %13926
13926: ; preds = %13924, %13498, %13492, %13486, %13480, %13474, %13463
br label %13927
13927: ; preds = %13926, %13458, %13454, %13450
br label %18736
13928: ; preds = %13446
%13929 = load i16, i16* %21
%13930 = sext i16 %13929 to i32
%13931 = icmp eq i32 %13930, 22
br i1 %13931, label %13932, label %14406
13932: ; preds = %13928
%13933 = load i16, i16* %12
%13934 = sext i16 %13933 to i32
%13935 = icmp ne i32 %13934, 0
br i1 %13935, label %13936, label %14405
13936: ; preds = %13932
%13937 = load i16, i16* %12
%13938 = sext i16 %13937 to i32
%13939 = srem i32 %13938, 4
%13940 = icmp ne i32 %13939, 1
br i1 %13940, label %13941, label %14405
13941: ; preds = %13936
%13942 = load i16, i16* %12
store i16 %13942, i16* %19
%13943 = load i16, i16* %19
%13944 = sext i16 %13943 to i32
%13945 = sub nsw i32 %13944, 1
%13946 = trunc i32 %13945 to i16
store i16 %13946, i16* %20
%13947 = load i16, i16* %20
%13948 = sext i16 %13947 to i32
%13949 = load i16, i16* %10
%13950 = sext i16 %13949 to i32
%13951 = icmp ne i32 %13948, %13950
br i1 %13951, label %13952, label %14404
13952: ; preds = %13941
%13953 = load i16, i16* %20
%13954 = sext i16 %13953 to i32
%13955 = load i16, i16* %11
%13956 = sext i16 %13955 to i32
%13957 = icmp ne i32 %13954, %13956
br i1 %13957, label %13958, label %14404
13958: ; preds = %13952
%13959 = load i16, i16* %20
%13960 = sext i16 %13959 to i32
%13961 = load i16, i16* %13
%13962 = sext i16 %13961 to i32
%13963 = icmp ne i32 %13960, %13962
br i1 %13963, label %13964, label %14404
13964: ; preds = %13958
%13965 = load i16, i16* %20
%13966 = sext i16 %13965 to i32
%13967 = load i16, i16* %14
%13968 = sext i16 %13967 to i32
%13969 = icmp ne i32 %13966, %13968
br i1 %13969, label %13970, label %14404
13970: ; preds = %13964
%13971 = load i16, i16* %20
%13972 = sext i16 %13971 to i32
%13973 = load i16, i16* %16
%13974 = sext i16 %13973 to i32
%13975 = icmp ne i32 %13972, %13974
br i1 %13975, label %13976, label %14404
13976: ; preds = %13970
%13977 = load i16, i16* %20
%13978 = sext i16 %13977 to i32
%13979 = load i16, i16* %17
%13980 = sext i16 %13979 to i32
%13981 = icmp ne i32 %13978, %13980
br i1 %13981, label %13982, label %14404
13982: ; preds = %13976
%13983 = load i16, i16* %20
store i16 %13983, i16* %12
%13984 = load i16, i16* %15
%13985 = sext i16 %13984 to i32
%13986 = load i16, i16* %20
%13987 = sext i16 %13986 to i32
%13988 = icmp eq i32 %13985, %13987
br i1 %13988, label %13989, label %14196
13989: ; preds = %13982
store i16 0, i16* %15
%13990 = load i16, i16* %10
store i16 %13990, i16* %18
%13991 = load i16, i16* %14
%13992 = sext i16 %13991 to i32
%13993 = icmp eq i32 %13992, 0
br i1 %13993, label %13994, label %13995
13994: ; preds = %13989
br label %13999
13995: ; preds = %13989
%13996 = load i16, i16* %14
%13997 = sext i16 %13996 to i32
%13998 = sub nsw i32 25, %13997
br label %13999
13999: ; preds = %13995, %13994
%14000 = phi i32 [ 0, %13994 ], [ %13998, %13995 ]
%14001 = trunc i32 %14000 to i16
store i16 %14001, i16* %10
%14002 = load i16, i16* %18
%14003 = sext i16 %14002 to i32
%14004 = icmp eq i32 %14003, 0
br i1 %14004, label %14005, label %14006
14005: ; preds = %13999
br label %14010
14006: ; preds = %13999
%14007 = load i16, i16* %18
%14008 = sext i16 %14007 to i32
%14009 = sub nsw i32 25, %14008
br label %14010
14010: ; preds = %14006, %14005
%14011 = phi i32 [ 0, %14005 ], [ %14009, %14006 ]
%14012 = trunc i32 %14011 to i16
store i16 %14012, i16* %14
%14013 = load i16, i16* %11
store i16 %14013, i16* %18
%14014 = load i16, i16* %15
%14015 = sext i16 %14014 to i32
%14016 = icmp eq i32 %14015, 0
br i1 %14016, label %14017, label %14018
14017: ; preds = %14010
br label %14022
14018: ; preds = %14010
%14019 = load i16, i16* %15
%14020 = sext i16 %14019 to i32
%14021 = sub nsw i32 25, %14020
br label %14022
14022: ; preds = %14018, %14017
%14023 = phi i32 [ 0, %14017 ], [ %14021, %14018 ]
%14024 = trunc i32 %14023 to i16
store i16 %14024, i16* %11
%14025 = load i16, i16* %18
%14026 = sext i16 %14025 to i32
%14027 = icmp eq i32 %14026, 0
br i1 %14027, label %14028, label %14029
14028: ; preds = %14022
br label %14033
14029: ; preds = %14022
%14030 = load i16, i16* %18
%14031 = sext i16 %14030 to i32
%14032 = sub nsw i32 25, %14031
br label %14033
14033: ; preds = %14029, %14028
%14034 = phi i32 [ 0, %14028 ], [ %14032, %14029 ]
%14035 = trunc i32 %14034 to i16
store i16 %14035, i16* %15
%14036 = load i16, i16* %12
store i16 %14036, i16* %18
%14037 = load i16, i16* %16
%14038 = sext i16 %14037 to i32
%14039 = icmp eq i32 %14038, 0
br i1 %14039, label %14040, label %14041
14040: ; preds = %14033
br label %14045
14041: ; preds = %14033
%14042 = load i16, i16* %16
%14043 = sext i16 %14042 to i32
%14044 = sub nsw i32 25, %14043
br label %14045
14045: ; preds = %14041, %14040
%14046 = phi i32 [ 0, %14040 ], [ %14044, %14041 ]
%14047 = trunc i32 %14046 to i16
store i16 %14047, i16* %12
%14048 = load i16, i16* %18
%14049 = sext i16 %14048 to i32
%14050 = icmp eq i32 %14049, 0
br i1 %14050, label %14051, label %14052
14051: ; preds = %14045
br label %14056
14052: ; preds = %14045
%14053 = load i16, i16* %18
%14054 = sext i16 %14053 to i32
%14055 = sub nsw i32 25, %14054
br label %14056
14056: ; preds = %14052, %14051
%14057 = phi i32 [ 0, %14051 ], [ %14055, %14052 ]
%14058 = trunc i32 %14057 to i16
store i16 %14058, i16* %16
%14059 = load i16, i16* %13
store i16 %14059, i16* %18
%14060 = load i16, i16* %17
%14061 = sext i16 %14060 to i32
%14062 = icmp eq i32 %14061, 0
br i1 %14062, label %14063, label %14064
14063: ; preds = %14056
br label %14068
14064: ; preds = %14056
%14065 = load i16, i16* %17
%14066 = sext i16 %14065 to i32
%14067 = sub nsw i32 25, %14066
br label %14068
14068: ; preds = %14064, %14063
%14069 = phi i32 [ 0, %14063 ], [ %14067, %14064 ]
%14070 = trunc i32 %14069 to i16
store i16 %14070, i16* %13
%14071 = load i16, i16* %18
%14072 = sext i16 %14071 to i32
%14073 = icmp eq i32 %14072, 0
br i1 %14073, label %14074, label %14075
14074: ; preds = %14068
br label %14079
14075: ; preds = %14068
%14076 = load i16, i16* %18
%14077 = sext i16 %14076 to i32
%14078 = sub nsw i32 25, %14077
br label %14079
14079: ; preds = %14075, %14074
%14080 = phi i32 [ 0, %14074 ], [ %14078, %14075 ]
%14081 = trunc i32 %14080 to i16
store i16 %14081, i16* %17
%14082 = load i16, i16* %10
%14083 = sext i16 %14082 to i32
%14084 = load i16, i16* %11
%14085 = sext i16 %14084 to i32
%14086 = load i16, i16* %12
%14087 = sext i16 %14086 to i32
%14088 = load i16, i16* %13
%14089 = sext i16 %14088 to i32
%14090 = load i16, i16* %14
%14091 = sext i16 %14090 to i32
%14092 = load i16, i16* %15
%14093 = sext i16 %14092 to i32
%14094 = load i16, i16* %16
%14095 = sext i16 %14094 to i32
%14096 = load i16, i16* %17
%14097 = sext i16 %14096 to i32
%14098 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14083, i32 %14085, i32 %14087, i32 %14089, i32 %14091, i32 %14093, i32 %14095, i32 %14097)
%14099 = icmp sle i32 0, %14098
br i1 %14099, label %14100, label %14102
14100: ; preds = %14079
%14101 = load i16, i16* %21
store i16 %14101, i16* %9
br label %18762
14102: ; preds = %14079
%14103 = load i16, i16* %10
store i16 %14103, i16* %18
%14104 = load i16, i16* %14
%14105 = sext i16 %14104 to i32
%14106 = icmp eq i32 %14105, 0
br i1 %14106, label %14107, label %14108
14107: ; preds = %14102
br label %14112
14108: ; preds = %14102
%14109 = load i16, i16* %14
%14110 = sext i16 %14109 to i32
%14111 = sub nsw i32 25, %14110
br label %14112
14112: ; preds = %14108, %14107
%14113 = phi i32 [ 0, %14107 ], [ %14111, %14108 ]
%14114 = trunc i32 %14113 to i16
store i16 %14114, i16* %10
%14115 = load i16, i16* %18
%14116 = sext i16 %14115 to i32
%14117 = icmp eq i32 %14116, 0
br i1 %14117, label %14118, label %14119
14118: ; preds = %14112
br label %14123
14119: ; preds = %14112
%14120 = load i16, i16* %18
%14121 = sext i16 %14120 to i32
%14122 = sub nsw i32 25, %14121
br label %14123
14123: ; preds = %14119, %14118
%14124 = phi i32 [ 0, %14118 ], [ %14122, %14119 ]
%14125 = trunc i32 %14124 to i16
store i16 %14125, i16* %14
%14126 = load i16, i16* %11
store i16 %14126, i16* %18
%14127 = load i16, i16* %15
%14128 = sext i16 %14127 to i32
%14129 = icmp eq i32 %14128, 0
br i1 %14129, label %14130, label %14131
14130: ; preds = %14123
br label %14135
14131: ; preds = %14123
%14132 = load i16, i16* %15
%14133 = sext i16 %14132 to i32
%14134 = sub nsw i32 25, %14133
br label %14135
14135: ; preds = %14131, %14130
%14136 = phi i32 [ 0, %14130 ], [ %14134, %14131 ]
%14137 = trunc i32 %14136 to i16
store i16 %14137, i16* %11
%14138 = load i16, i16* %18
%14139 = sext i16 %14138 to i32
%14140 = icmp eq i32 %14139, 0
br i1 %14140, label %14141, label %14142
14141: ; preds = %14135
br label %14146
14142: ; preds = %14135
%14143 = load i16, i16* %18
%14144 = sext i16 %14143 to i32
%14145 = sub nsw i32 25, %14144
br label %14146
14146: ; preds = %14142, %14141
%14147 = phi i32 [ 0, %14141 ], [ %14145, %14142 ]
%14148 = trunc i32 %14147 to i16
store i16 %14148, i16* %15
%14149 = load i16, i16* %12
store i16 %14149, i16* %18
%14150 = load i16, i16* %16
%14151 = sext i16 %14150 to i32
%14152 = icmp eq i32 %14151, 0
br i1 %14152, label %14153, label %14154
14153: ; preds = %14146
br label %14158
14154: ; preds = %14146
%14155 = load i16, i16* %16
%14156 = sext i16 %14155 to i32
%14157 = sub nsw i32 25, %14156
br label %14158
14158: ; preds = %14154, %14153
%14159 = phi i32 [ 0, %14153 ], [ %14157, %14154 ]
%14160 = trunc i32 %14159 to i16
store i16 %14160, i16* %12
%14161 = load i16, i16* %18
%14162 = sext i16 %14161 to i32
%14163 = icmp eq i32 %14162, 0
br i1 %14163, label %14164, label %14165
14164: ; preds = %14158
br label %14169
14165: ; preds = %14158
%14166 = load i16, i16* %18
%14167 = sext i16 %14166 to i32
%14168 = sub nsw i32 25, %14167
br label %14169
14169: ; preds = %14165, %14164
%14170 = phi i32 [ 0, %14164 ], [ %14168, %14165 ]
%14171 = trunc i32 %14170 to i16
store i16 %14171, i16* %16
%14172 = load i16, i16* %13
store i16 %14172, i16* %18
%14173 = load i16, i16* %17
%14174 = sext i16 %14173 to i32
%14175 = icmp eq i32 %14174, 0
br i1 %14175, label %14176, label %14177
14176: ; preds = %14169
br label %14181
14177: ; preds = %14169
%14178 = load i16, i16* %17
%14179 = sext i16 %14178 to i32
%14180 = sub nsw i32 25, %14179
br label %14181
14181: ; preds = %14177, %14176
%14182 = phi i32 [ 0, %14176 ], [ %14180, %14177 ]
%14183 = trunc i32 %14182 to i16
store i16 %14183, i16* %13
%14184 = load i16, i16* %18
%14185 = sext i16 %14184 to i32
%14186 = icmp eq i32 %14185, 0
br i1 %14186, label %14187, label %14188
14187: ; preds = %14181
br label %14192
14188: ; preds = %14181
%14189 = load i16, i16* %18
%14190 = sext i16 %14189 to i32
%14191 = sub nsw i32 25, %14190
br label %14192
14192: ; preds = %14188, %14187
%14193 = phi i32 [ 0, %14187 ], [ %14191, %14188 ]
%14194 = trunc i32 %14193 to i16
store i16 %14194, i16* %17
%14195 = load i16, i16* %20
store i16 %14195, i16* %15
br label %14402
14196: ; preds = %13982
%14197 = load i16, i16* %10
store i16 %14197, i16* %18
%14198 = load i16, i16* %14
%14199 = sext i16 %14198 to i32
%14200 = icmp eq i32 %14199, 0
br i1 %14200, label %14201, label %14202
14201: ; preds = %14196
br label %14206
14202: ; preds = %14196
%14203 = load i16, i16* %14
%14204 = sext i16 %14203 to i32
%14205 = sub nsw i32 25, %14204
br label %14206
14206: ; preds = %14202, %14201
%14207 = phi i32 [ 0, %14201 ], [ %14205, %14202 ]
%14208 = trunc i32 %14207 to i16
store i16 %14208, i16* %10
%14209 = load i16, i16* %18
%14210 = sext i16 %14209 to i32
%14211 = icmp eq i32 %14210, 0
br i1 %14211, label %14212, label %14213
14212: ; preds = %14206
br label %14217
14213: ; preds = %14206
%14214 = load i16, i16* %18
%14215 = sext i16 %14214 to i32
%14216 = sub nsw i32 25, %14215
br label %14217
14217: ; preds = %14213, %14212
%14218 = phi i32 [ 0, %14212 ], [ %14216, %14213 ]
%14219 = trunc i32 %14218 to i16
store i16 %14219, i16* %14
%14220 = load i16, i16* %11
store i16 %14220, i16* %18
%14221 = load i16, i16* %15
%14222 = sext i16 %14221 to i32
%14223 = icmp eq i32 %14222, 0
br i1 %14223, label %14224, label %14225
14224: ; preds = %14217
br label %14229
14225: ; preds = %14217
%14226 = load i16, i16* %15
%14227 = sext i16 %14226 to i32
%14228 = sub nsw i32 25, %14227
br label %14229
14229: ; preds = %14225, %14224
%14230 = phi i32 [ 0, %14224 ], [ %14228, %14225 ]
%14231 = trunc i32 %14230 to i16
store i16 %14231, i16* %11
%14232 = load i16, i16* %18
%14233 = sext i16 %14232 to i32
%14234 = icmp eq i32 %14233, 0
br i1 %14234, label %14235, label %14236
14235: ; preds = %14229
br label %14240
14236: ; preds = %14229
%14237 = load i16, i16* %18
%14238 = sext i16 %14237 to i32
%14239 = sub nsw i32 25, %14238
br label %14240
14240: ; preds = %14236, %14235
%14241 = phi i32 [ 0, %14235 ], [ %14239, %14236 ]
%14242 = trunc i32 %14241 to i16
store i16 %14242, i16* %15
%14243 = load i16, i16* %12
store i16 %14243, i16* %18
%14244 = load i16, i16* %16
%14245 = sext i16 %14244 to i32
%14246 = icmp eq i32 %14245, 0
br i1 %14246, label %14247, label %14248
14247: ; preds = %14240
br label %14252
14248: ; preds = %14240
%14249 = load i16, i16* %16
%14250 = sext i16 %14249 to i32
%14251 = sub nsw i32 25, %14250
br label %14252
14252: ; preds = %14248, %14247
%14253 = phi i32 [ 0, %14247 ], [ %14251, %14248 ]
%14254 = trunc i32 %14253 to i16
store i16 %14254, i16* %12
%14255 = load i16, i16* %18
%14256 = sext i16 %14255 to i32
%14257 = icmp eq i32 %14256, 0
br i1 %14257, label %14258, label %14259
14258: ; preds = %14252
br label %14263
14259: ; preds = %14252
%14260 = load i16, i16* %18
%14261 = sext i16 %14260 to i32
%14262 = sub nsw i32 25, %14261
br label %14263
14263: ; preds = %14259, %14258
%14264 = phi i32 [ 0, %14258 ], [ %14262, %14259 ]
%14265 = trunc i32 %14264 to i16
store i16 %14265, i16* %16
%14266 = load i16, i16* %13
store i16 %14266, i16* %18
%14267 = load i16, i16* %17
%14268 = sext i16 %14267 to i32
%14269 = icmp eq i32 %14268, 0
br i1 %14269, label %14270, label %14271
14270: ; preds = %14263
br label %14275
14271: ; preds = %14263
%14272 = load i16, i16* %17
%14273 = sext i16 %14272 to i32
%14274 = sub nsw i32 25, %14273
br label %14275
14275: ; preds = %14271, %14270
%14276 = phi i32 [ 0, %14270 ], [ %14274, %14271 ]
%14277 = trunc i32 %14276 to i16
store i16 %14277, i16* %13
%14278 = load i16, i16* %18
%14279 = sext i16 %14278 to i32
%14280 = icmp eq i32 %14279, 0
br i1 %14280, label %14281, label %14282
14281: ; preds = %14275
br label %14286
14282: ; preds = %14275
%14283 = load i16, i16* %18
%14284 = sext i16 %14283 to i32
%14285 = sub nsw i32 25, %14284
br label %14286
14286: ; preds = %14282, %14281
%14287 = phi i32 [ 0, %14281 ], [ %14285, %14282 ]
%14288 = trunc i32 %14287 to i16
store i16 %14288, i16* %17
%14289 = load i16, i16* %10
%14290 = sext i16 %14289 to i32
%14291 = load i16, i16* %11
%14292 = sext i16 %14291 to i32
%14293 = load i16, i16* %12
%14294 = sext i16 %14293 to i32
%14295 = load i16, i16* %13
%14296 = sext i16 %14295 to i32
%14297 = load i16, i16* %14
%14298 = sext i16 %14297 to i32
%14299 = load i16, i16* %15
%14300 = sext i16 %14299 to i32
%14301 = load i16, i16* %16
%14302 = sext i16 %14301 to i32
%14303 = load i16, i16* %17
%14304 = sext i16 %14303 to i32
%14305 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14290, i32 %14292, i32 %14294, i32 %14296, i32 %14298, i32 %14300, i32 %14302, i32 %14304)
%14306 = icmp sle i32 0, %14305
br i1 %14306, label %14307, label %14309
14307: ; preds = %14286
%14308 = load i16, i16* %21
store i16 %14308, i16* %9
br label %18762
14309: ; preds = %14286
%14310 = load i16, i16* %10
store i16 %14310, i16* %18
%14311 = load i16, i16* %14
%14312 = sext i16 %14311 to i32
%14313 = icmp eq i32 %14312, 0
br i1 %14313, label %14314, label %14315
14314: ; preds = %14309
br label %14319
14315: ; preds = %14309
%14316 = load i16, i16* %14
%14317 = sext i16 %14316 to i32
%14318 = sub nsw i32 25, %14317
br label %14319
14319: ; preds = %14315, %14314
%14320 = phi i32 [ 0, %14314 ], [ %14318, %14315 ]
%14321 = trunc i32 %14320 to i16
store i16 %14321, i16* %10
%14322 = load i16, i16* %18
%14323 = sext i16 %14322 to i32
%14324 = icmp eq i32 %14323, 0
br i1 %14324, label %14325, label %14326
14325: ; preds = %14319
br label %14330
14326: ; preds = %14319
%14327 = load i16, i16* %18
%14328 = sext i16 %14327 to i32
%14329 = sub nsw i32 25, %14328
br label %14330
14330: ; preds = %14326, %14325
%14331 = phi i32 [ 0, %14325 ], [ %14329, %14326 ]
%14332 = trunc i32 %14331 to i16
store i16 %14332, i16* %14
%14333 = load i16, i16* %11
store i16 %14333, i16* %18
%14334 = load i16, i16* %15
%14335 = sext i16 %14334 to i32
%14336 = icmp eq i32 %14335, 0
br i1 %14336, label %14337, label %14338
14337: ; preds = %14330
br label %14342
14338: ; preds = %14330
%14339 = load i16, i16* %15
%14340 = sext i16 %14339 to i32
%14341 = sub nsw i32 25, %14340
br label %14342
14342: ; preds = %14338, %14337
%14343 = phi i32 [ 0, %14337 ], [ %14341, %14338 ]
%14344 = trunc i32 %14343 to i16
store i16 %14344, i16* %11
%14345 = load i16, i16* %18
%14346 = sext i16 %14345 to i32
%14347 = icmp eq i32 %14346, 0
br i1 %14347, label %14348, label %14349
14348: ; preds = %14342
br label %14353
14349: ; preds = %14342
%14350 = load i16, i16* %18
%14351 = sext i16 %14350 to i32
%14352 = sub nsw i32 25, %14351
br label %14353
14353: ; preds = %14349, %14348
%14354 = phi i32 [ 0, %14348 ], [ %14352, %14349 ]
%14355 = trunc i32 %14354 to i16
store i16 %14355, i16* %15
%14356 = load i16, i16* %12
store i16 %14356, i16* %18
%14357 = load i16, i16* %16
%14358 = sext i16 %14357 to i32
%14359 = icmp eq i32 %14358, 0
br i1 %14359, label %14360, label %14361
14360: ; preds = %14353
br label %14365
14361: ; preds = %14353
%14362 = load i16, i16* %16
%14363 = sext i16 %14362 to i32
%14364 = sub nsw i32 25, %14363
br label %14365
14365: ; preds = %14361, %14360
%14366 = phi i32 [ 0, %14360 ], [ %14364, %14361 ]
%14367 = trunc i32 %14366 to i16
store i16 %14367, i16* %12
%14368 = load i16, i16* %18
%14369 = sext i16 %14368 to i32
%14370 = icmp eq i32 %14369, 0
br i1 %14370, label %14371, label %14372
14371: ; preds = %14365
br label %14376
14372: ; preds = %14365
%14373 = load i16, i16* %18
%14374 = sext i16 %14373 to i32
%14375 = sub nsw i32 25, %14374
br label %14376
14376: ; preds = %14372, %14371
%14377 = phi i32 [ 0, %14371 ], [ %14375, %14372 ]
%14378 = trunc i32 %14377 to i16
store i16 %14378, i16* %16
%14379 = load i16, i16* %13
store i16 %14379, i16* %18
%14380 = load i16, i16* %17
%14381 = sext i16 %14380 to i32
%14382 = icmp eq i32 %14381, 0
br i1 %14382, label %14383, label %14384
14383: ; preds = %14376
br label %14388
14384: ; preds = %14376
%14385 = load i16, i16* %17
%14386 = sext i16 %14385 to i32
%14387 = sub nsw i32 25, %14386
br label %14388
14388: ; preds = %14384, %14383
%14389 = phi i32 [ 0, %14383 ], [ %14387, %14384 ]
%14390 = trunc i32 %14389 to i16
store i16 %14390, i16* %13
%14391 = load i16, i16* %18
%14392 = sext i16 %14391 to i32
%14393 = icmp eq i32 %14392, 0
br i1 %14393, label %14394, label %14395
14394: ; preds = %14388
br label %14399
14395: ; preds = %14388
%14396 = load i16, i16* %18
%14397 = sext i16 %14396 to i32
%14398 = sub nsw i32 25, %14397
br label %14399
14399: ; preds = %14395, %14394
%14400 = phi i32 [ 0, %14394 ], [ %14398, %14395 ]
%14401 = trunc i32 %14400 to i16
store i16 %14401, i16* %17
br label %14402
14402: ; preds = %14399, %14192
%14403 = load i16, i16* %19
store i16 %14403, i16* %12
br label %14404
14404: ; preds = %14402, %13976, %13970, %13964, %13958, %13952, %13941
br label %14405
14405: ; preds = %14404, %13936, %13932
br label %18735
14406: ; preds = %13928
%14407 = load i16, i16* %21
%14408 = sext i16 %14407 to i32
%14409 = icmp eq i32 %14408, 23
br i1 %14409, label %14410, label %14888
14410: ; preds = %14406
%14411 = load i16, i16* %12
%14412 = sext i16 %14411 to i32
%14413 = icmp ne i32 %14412, 0
br i1 %14413, label %14414, label %14887
14414: ; preds = %14410
%14415 = load i16, i16* %12
%14416 = sext i16 %14415 to i32
%14417 = icmp slt i32 %14416, 21
br i1 %14417, label %14418, label %14887
14418: ; preds = %14414
%14419 = load i16, i16* %12
%14420 = sext i16 %14419 to i32
%14421 = srem i32 %14420, 4
%14422 = icmp ne i32 %14421, 1
br i1 %14422, label %14423, label %14887
14423: ; preds = %14418
%14424 = load i16, i16* %12
store i16 %14424, i16* %19
%14425 = load i16, i16* %19
%14426 = sext i16 %14425 to i32
%14427 = add nsw i32 %14426, 3
%14428 = trunc i32 %14427 to i16
store i16 %14428, i16* %20
%14429 = load i16, i16* %20
%14430 = sext i16 %14429 to i32
%14431 = load i16, i16* %10
%14432 = sext i16 %14431 to i32
%14433 = icmp ne i32 %14430, %14432
br i1 %14433, label %14434, label %14886
14434: ; preds = %14423
%14435 = load i16, i16* %20
%14436 = sext i16 %14435 to i32
%14437 = load i16, i16* %11
%14438 = sext i16 %14437 to i32
%14439 = icmp ne i32 %14436, %14438
br i1 %14439, label %14440, label %14886
14440: ; preds = %14434
%14441 = load i16, i16* %20
%14442 = sext i16 %14441 to i32
%14443 = load i16, i16* %13
%14444 = sext i16 %14443 to i32
%14445 = icmp ne i32 %14442, %14444
br i1 %14445, label %14446, label %14886
14446: ; preds = %14440
%14447 = load i16, i16* %20
%14448 = sext i16 %14447 to i32
%14449 = load i16, i16* %14
%14450 = sext i16 %14449 to i32
%14451 = icmp ne i32 %14448, %14450
br i1 %14451, label %14452, label %14886
14452: ; preds = %14446
%14453 = load i16, i16* %20
%14454 = sext i16 %14453 to i32
%14455 = load i16, i16* %16
%14456 = sext i16 %14455 to i32
%14457 = icmp ne i32 %14454, %14456
br i1 %14457, label %14458, label %14886
14458: ; preds = %14452
%14459 = load i16, i16* %20
%14460 = sext i16 %14459 to i32
%14461 = load i16, i16* %17
%14462 = sext i16 %14461 to i32
%14463 = icmp ne i32 %14460, %14462
br i1 %14463, label %14464, label %14886
14464: ; preds = %14458
%14465 = load i16, i16* %20
store i16 %14465, i16* %12
%14466 = load i16, i16* %15
%14467 = sext i16 %14466 to i32
%14468 = load i16, i16* %20
%14469 = sext i16 %14468 to i32
%14470 = icmp eq i32 %14467, %14469
br i1 %14470, label %14471, label %14678
14471: ; preds = %14464
store i16 0, i16* %15
%14472 = load i16, i16* %10
store i16 %14472, i16* %18
%14473 = load i16, i16* %14
%14474 = sext i16 %14473 to i32
%14475 = icmp eq i32 %14474, 0
br i1 %14475, label %14476, label %14477
14476: ; preds = %14471
br label %14481
14477: ; preds = %14471
%14478 = load i16, i16* %14
%14479 = sext i16 %14478 to i32
%14480 = sub nsw i32 25, %14479
br label %14481
14481: ; preds = %14477, %14476
%14482 = phi i32 [ 0, %14476 ], [ %14480, %14477 ]
%14483 = trunc i32 %14482 to i16
store i16 %14483, i16* %10
%14484 = load i16, i16* %18
%14485 = sext i16 %14484 to i32
%14486 = icmp eq i32 %14485, 0
br i1 %14486, label %14487, label %14488
14487: ; preds = %14481
br label %14492
14488: ; preds = %14481
%14489 = load i16, i16* %18
%14490 = sext i16 %14489 to i32
%14491 = sub nsw i32 25, %14490
br label %14492
14492: ; preds = %14488, %14487
%14493 = phi i32 [ 0, %14487 ], [ %14491, %14488 ]
%14494 = trunc i32 %14493 to i16
store i16 %14494, i16* %14
%14495 = load i16, i16* %11
store i16 %14495, i16* %18
%14496 = load i16, i16* %15
%14497 = sext i16 %14496 to i32
%14498 = icmp eq i32 %14497, 0
br i1 %14498, label %14499, label %14500
14499: ; preds = %14492
br label %14504
14500: ; preds = %14492
%14501 = load i16, i16* %15
%14502 = sext i16 %14501 to i32
%14503 = sub nsw i32 25, %14502
br label %14504
14504: ; preds = %14500, %14499
%14505 = phi i32 [ 0, %14499 ], [ %14503, %14500 ]
%14506 = trunc i32 %14505 to i16
store i16 %14506, i16* %11
%14507 = load i16, i16* %18
%14508 = sext i16 %14507 to i32
%14509 = icmp eq i32 %14508, 0
br i1 %14509, label %14510, label %14511
14510: ; preds = %14504
br label %14515
14511: ; preds = %14504
%14512 = load i16, i16* %18
%14513 = sext i16 %14512 to i32
%14514 = sub nsw i32 25, %14513
br label %14515
14515: ; preds = %14511, %14510
%14516 = phi i32 [ 0, %14510 ], [ %14514, %14511 ]
%14517 = trunc i32 %14516 to i16
store i16 %14517, i16* %15
%14518 = load i16, i16* %12
store i16 %14518, i16* %18
%14519 = load i16, i16* %16
%14520 = sext i16 %14519 to i32
%14521 = icmp eq i32 %14520, 0
br i1 %14521, label %14522, label %14523
14522: ; preds = %14515
br label %14527
14523: ; preds = %14515
%14524 = load i16, i16* %16
%14525 = sext i16 %14524 to i32
%14526 = sub nsw i32 25, %14525
br label %14527
14527: ; preds = %14523, %14522
%14528 = phi i32 [ 0, %14522 ], [ %14526, %14523 ]
%14529 = trunc i32 %14528 to i16
store i16 %14529, i16* %12
%14530 = load i16, i16* %18
%14531 = sext i16 %14530 to i32
%14532 = icmp eq i32 %14531, 0
br i1 %14532, label %14533, label %14534
14533: ; preds = %14527
br label %14538
14534: ; preds = %14527
%14535 = load i16, i16* %18
%14536 = sext i16 %14535 to i32
%14537 = sub nsw i32 25, %14536
br label %14538
14538: ; preds = %14534, %14533
%14539 = phi i32 [ 0, %14533 ], [ %14537, %14534 ]
%14540 = trunc i32 %14539 to i16
store i16 %14540, i16* %16
%14541 = load i16, i16* %13
store i16 %14541, i16* %18
%14542 = load i16, i16* %17
%14543 = sext i16 %14542 to i32
%14544 = icmp eq i32 %14543, 0
br i1 %14544, label %14545, label %14546
14545: ; preds = %14538
br label %14550
14546: ; preds = %14538
%14547 = load i16, i16* %17
%14548 = sext i16 %14547 to i32
%14549 = sub nsw i32 25, %14548
br label %14550
14550: ; preds = %14546, %14545
%14551 = phi i32 [ 0, %14545 ], [ %14549, %14546 ]
%14552 = trunc i32 %14551 to i16
store i16 %14552, i16* %13
%14553 = load i16, i16* %18
%14554 = sext i16 %14553 to i32
%14555 = icmp eq i32 %14554, 0
br i1 %14555, label %14556, label %14557
14556: ; preds = %14550
br label %14561
14557: ; preds = %14550
%14558 = load i16, i16* %18
%14559 = sext i16 %14558 to i32
%14560 = sub nsw i32 25, %14559
br label %14561
14561: ; preds = %14557, %14556
%14562 = phi i32 [ 0, %14556 ], [ %14560, %14557 ]
%14563 = trunc i32 %14562 to i16
store i16 %14563, i16* %17
%14564 = load i16, i16* %10
%14565 = sext i16 %14564 to i32
%14566 = load i16, i16* %11
%14567 = sext i16 %14566 to i32
%14568 = load i16, i16* %12
%14569 = sext i16 %14568 to i32
%14570 = load i16, i16* %13
%14571 = sext i16 %14570 to i32
%14572 = load i16, i16* %14
%14573 = sext i16 %14572 to i32
%14574 = load i16, i16* %15
%14575 = sext i16 %14574 to i32
%14576 = load i16, i16* %16
%14577 = sext i16 %14576 to i32
%14578 = load i16, i16* %17
%14579 = sext i16 %14578 to i32
%14580 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14565, i32 %14567, i32 %14569, i32 %14571, i32 %14573, i32 %14575, i32 %14577, i32 %14579)
%14581 = icmp sle i32 0, %14580
br i1 %14581, label %14582, label %14584
14582: ; preds = %14561
%14583 = load i16, i16* %21
store i16 %14583, i16* %9
br label %18762
14584: ; preds = %14561
%14585 = load i16, i16* %10
store i16 %14585, i16* %18
%14586 = load i16, i16* %14
%14587 = sext i16 %14586 to i32
%14588 = icmp eq i32 %14587, 0
br i1 %14588, label %14589, label %14590
14589: ; preds = %14584
br label %14594
14590: ; preds = %14584
%14591 = load i16, i16* %14
%14592 = sext i16 %14591 to i32
%14593 = sub nsw i32 25, %14592
br label %14594
14594: ; preds = %14590, %14589
%14595 = phi i32 [ 0, %14589 ], [ %14593, %14590 ]
%14596 = trunc i32 %14595 to i16
store i16 %14596, i16* %10
%14597 = load i16, i16* %18
%14598 = sext i16 %14597 to i32
%14599 = icmp eq i32 %14598, 0
br i1 %14599, label %14600, label %14601
14600: ; preds = %14594
br label %14605
14601: ; preds = %14594
%14602 = load i16, i16* %18
%14603 = sext i16 %14602 to i32
%14604 = sub nsw i32 25, %14603
br label %14605
14605: ; preds = %14601, %14600
%14606 = phi i32 [ 0, %14600 ], [ %14604, %14601 ]
%14607 = trunc i32 %14606 to i16
store i16 %14607, i16* %14
%14608 = load i16, i16* %11
store i16 %14608, i16* %18
%14609 = load i16, i16* %15
%14610 = sext i16 %14609 to i32
%14611 = icmp eq i32 %14610, 0
br i1 %14611, label %14612, label %14613
14612: ; preds = %14605
br label %14617
14613: ; preds = %14605
%14614 = load i16, i16* %15
%14615 = sext i16 %14614 to i32
%14616 = sub nsw i32 25, %14615
br label %14617
14617: ; preds = %14613, %14612
%14618 = phi i32 [ 0, %14612 ], [ %14616, %14613 ]
%14619 = trunc i32 %14618 to i16
store i16 %14619, i16* %11
%14620 = load i16, i16* %18
%14621 = sext i16 %14620 to i32
%14622 = icmp eq i32 %14621, 0
br i1 %14622, label %14623, label %14624
14623: ; preds = %14617
br label %14628
14624: ; preds = %14617
%14625 = load i16, i16* %18
%14626 = sext i16 %14625 to i32
%14627 = sub nsw i32 25, %14626
br label %14628
14628: ; preds = %14624, %14623
%14629 = phi i32 [ 0, %14623 ], [ %14627, %14624 ]
%14630 = trunc i32 %14629 to i16
store i16 %14630, i16* %15
%14631 = load i16, i16* %12
store i16 %14631, i16* %18
%14632 = load i16, i16* %16
%14633 = sext i16 %14632 to i32
%14634 = icmp eq i32 %14633, 0
br i1 %14634, label %14635, label %14636
14635: ; preds = %14628
br label %14640
14636: ; preds = %14628
%14637 = load i16, i16* %16
%14638 = sext i16 %14637 to i32
%14639 = sub nsw i32 25, %14638
br label %14640
14640: ; preds = %14636, %14635
%14641 = phi i32 [ 0, %14635 ], [ %14639, %14636 ]
%14642 = trunc i32 %14641 to i16
store i16 %14642, i16* %12
%14643 = load i16, i16* %18
%14644 = sext i16 %14643 to i32
%14645 = icmp eq i32 %14644, 0
br i1 %14645, label %14646, label %14647
14646: ; preds = %14640
br label %14651
14647: ; preds = %14640
%14648 = load i16, i16* %18
%14649 = sext i16 %14648 to i32
%14650 = sub nsw i32 25, %14649
br label %14651
14651: ; preds = %14647, %14646
%14652 = phi i32 [ 0, %14646 ], [ %14650, %14647 ]
%14653 = trunc i32 %14652 to i16
store i16 %14653, i16* %16
%14654 = load i16, i16* %13
store i16 %14654, i16* %18
%14655 = load i16, i16* %17
%14656 = sext i16 %14655 to i32
%14657 = icmp eq i32 %14656, 0
br i1 %14657, label %14658, label %14659
14658: ; preds = %14651
br label %14663
14659: ; preds = %14651
%14660 = load i16, i16* %17
%14661 = sext i16 %14660 to i32
%14662 = sub nsw i32 25, %14661
br label %14663
14663: ; preds = %14659, %14658
%14664 = phi i32 [ 0, %14658 ], [ %14662, %14659 ]
%14665 = trunc i32 %14664 to i16
store i16 %14665, i16* %13
%14666 = load i16, i16* %18
%14667 = sext i16 %14666 to i32
%14668 = icmp eq i32 %14667, 0
br i1 %14668, label %14669, label %14670
14669: ; preds = %14663
br label %14674
14670: ; preds = %14663
%14671 = load i16, i16* %18
%14672 = sext i16 %14671 to i32
%14673 = sub nsw i32 25, %14672
br label %14674
14674: ; preds = %14670, %14669
%14675 = phi i32 [ 0, %14669 ], [ %14673, %14670 ]
%14676 = trunc i32 %14675 to i16
store i16 %14676, i16* %17
%14677 = load i16, i16* %20
store i16 %14677, i16* %15
br label %14884
14678: ; preds = %14464
%14679 = load i16, i16* %10
store i16 %14679, i16* %18
%14680 = load i16, i16* %14
%14681 = sext i16 %14680 to i32
%14682 = icmp eq i32 %14681, 0
br i1 %14682, label %14683, label %14684
14683: ; preds = %14678
br label %14688
14684: ; preds = %14678
%14685 = load i16, i16* %14
%14686 = sext i16 %14685 to i32
%14687 = sub nsw i32 25, %14686
br label %14688
14688: ; preds = %14684, %14683
%14689 = phi i32 [ 0, %14683 ], [ %14687, %14684 ]
%14690 = trunc i32 %14689 to i16
store i16 %14690, i16* %10
%14691 = load i16, i16* %18
%14692 = sext i16 %14691 to i32
%14693 = icmp eq i32 %14692, 0
br i1 %14693, label %14694, label %14695
14694: ; preds = %14688
br label %14699
14695: ; preds = %14688
%14696 = load i16, i16* %18
%14697 = sext i16 %14696 to i32
%14698 = sub nsw i32 25, %14697
br label %14699
14699: ; preds = %14695, %14694
%14700 = phi i32 [ 0, %14694 ], [ %14698, %14695 ]
%14701 = trunc i32 %14700 to i16
store i16 %14701, i16* %14
%14702 = load i16, i16* %11
store i16 %14702, i16* %18
%14703 = load i16, i16* %15
%14704 = sext i16 %14703 to i32
%14705 = icmp eq i32 %14704, 0
br i1 %14705, label %14706, label %14707
14706: ; preds = %14699
br label %14711
14707: ; preds = %14699
%14708 = load i16, i16* %15
%14709 = sext i16 %14708 to i32
%14710 = sub nsw i32 25, %14709
br label %14711
14711: ; preds = %14707, %14706
%14712 = phi i32 [ 0, %14706 ], [ %14710, %14707 ]
%14713 = trunc i32 %14712 to i16
store i16 %14713, i16* %11
%14714 = load i16, i16* %18
%14715 = sext i16 %14714 to i32
%14716 = icmp eq i32 %14715, 0
br i1 %14716, label %14717, label %14718
14717: ; preds = %14711
br label %14722
14718: ; preds = %14711
%14719 = load i16, i16* %18
%14720 = sext i16 %14719 to i32
%14721 = sub nsw i32 25, %14720
br label %14722
14722: ; preds = %14718, %14717
%14723 = phi i32 [ 0, %14717 ], [ %14721, %14718 ]
%14724 = trunc i32 %14723 to i16
store i16 %14724, i16* %15
%14725 = load i16, i16* %12
store i16 %14725, i16* %18
%14726 = load i16, i16* %16
%14727 = sext i16 %14726 to i32
%14728 = icmp eq i32 %14727, 0
br i1 %14728, label %14729, label %14730
14729: ; preds = %14722
br label %14734
14730: ; preds = %14722
%14731 = load i16, i16* %16
%14732 = sext i16 %14731 to i32
%14733 = sub nsw i32 25, %14732
br label %14734
14734: ; preds = %14730, %14729
%14735 = phi i32 [ 0, %14729 ], [ %14733, %14730 ]
%14736 = trunc i32 %14735 to i16
store i16 %14736, i16* %12
%14737 = load i16, i16* %18
%14738 = sext i16 %14737 to i32
%14739 = icmp eq i32 %14738, 0
br i1 %14739, label %14740, label %14741
14740: ; preds = %14734
br label %14745
14741: ; preds = %14734
%14742 = load i16, i16* %18
%14743 = sext i16 %14742 to i32
%14744 = sub nsw i32 25, %14743
br label %14745
14745: ; preds = %14741, %14740
%14746 = phi i32 [ 0, %14740 ], [ %14744, %14741 ]
%14747 = trunc i32 %14746 to i16
store i16 %14747, i16* %16
%14748 = load i16, i16* %13
store i16 %14748, i16* %18
%14749 = load i16, i16* %17
%14750 = sext i16 %14749 to i32
%14751 = icmp eq i32 %14750, 0
br i1 %14751, label %14752, label %14753
14752: ; preds = %14745
br label %14757
14753: ; preds = %14745
%14754 = load i16, i16* %17
%14755 = sext i16 %14754 to i32
%14756 = sub nsw i32 25, %14755
br label %14757
14757: ; preds = %14753, %14752
%14758 = phi i32 [ 0, %14752 ], [ %14756, %14753 ]
%14759 = trunc i32 %14758 to i16
store i16 %14759, i16* %13
%14760 = load i16, i16* %18
%14761 = sext i16 %14760 to i32
%14762 = icmp eq i32 %14761, 0
br i1 %14762, label %14763, label %14764
14763: ; preds = %14757
br label %14768
14764: ; preds = %14757
%14765 = load i16, i16* %18
%14766 = sext i16 %14765 to i32
%14767 = sub nsw i32 25, %14766
br label %14768
14768: ; preds = %14764, %14763
%14769 = phi i32 [ 0, %14763 ], [ %14767, %14764 ]
%14770 = trunc i32 %14769 to i16
store i16 %14770, i16* %17
%14771 = load i16, i16* %10
%14772 = sext i16 %14771 to i32
%14773 = load i16, i16* %11
%14774 = sext i16 %14773 to i32
%14775 = load i16, i16* %12
%14776 = sext i16 %14775 to i32
%14777 = load i16, i16* %13
%14778 = sext i16 %14777 to i32
%14779 = load i16, i16* %14
%14780 = sext i16 %14779 to i32
%14781 = load i16, i16* %15
%14782 = sext i16 %14781 to i32
%14783 = load i16, i16* %16
%14784 = sext i16 %14783 to i32
%14785 = load i16, i16* %17
%14786 = sext i16 %14785 to i32
%14787 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14772, i32 %14774, i32 %14776, i32 %14778, i32 %14780, i32 %14782, i32 %14784, i32 %14786)
%14788 = icmp sle i32 0, %14787
br i1 %14788, label %14789, label %14791
14789: ; preds = %14768
%14790 = load i16, i16* %21
store i16 %14790, i16* %9
br label %18762
14791: ; preds = %14768
%14792 = load i16, i16* %10
store i16 %14792, i16* %18
%14793 = load i16, i16* %14
%14794 = sext i16 %14793 to i32
%14795 = icmp eq i32 %14794, 0
br i1 %14795, label %14796, label %14797
14796: ; preds = %14791
br label %14801
14797: ; preds = %14791
%14798 = load i16, i16* %14
%14799 = sext i16 %14798 to i32
%14800 = sub nsw i32 25, %14799
br label %14801
14801: ; preds = %14797, %14796
%14802 = phi i32 [ 0, %14796 ], [ %14800, %14797 ]
%14803 = trunc i32 %14802 to i16
store i16 %14803, i16* %10
%14804 = load i16, i16* %18
%14805 = sext i16 %14804 to i32
%14806 = icmp eq i32 %14805, 0
br i1 %14806, label %14807, label %14808
14807: ; preds = %14801
br label %14812
14808: ; preds = %14801
%14809 = load i16, i16* %18
%14810 = sext i16 %14809 to i32
%14811 = sub nsw i32 25, %14810
br label %14812
14812: ; preds = %14808, %14807
%14813 = phi i32 [ 0, %14807 ], [ %14811, %14808 ]
%14814 = trunc i32 %14813 to i16
store i16 %14814, i16* %14
%14815 = load i16, i16* %11
store i16 %14815, i16* %18
%14816 = load i16, i16* %15
%14817 = sext i16 %14816 to i32
%14818 = icmp eq i32 %14817, 0
br i1 %14818, label %14819, label %14820
14819: ; preds = %14812
br label %14824
14820: ; preds = %14812
%14821 = load i16, i16* %15
%14822 = sext i16 %14821 to i32
%14823 = sub nsw i32 25, %14822
br label %14824
14824: ; preds = %14820, %14819
%14825 = phi i32 [ 0, %14819 ], [ %14823, %14820 ]
%14826 = trunc i32 %14825 to i16
store i16 %14826, i16* %11
%14827 = load i16, i16* %18
%14828 = sext i16 %14827 to i32
%14829 = icmp eq i32 %14828, 0
br i1 %14829, label %14830, label %14831
14830: ; preds = %14824
br label %14835
14831: ; preds = %14824
%14832 = load i16, i16* %18
%14833 = sext i16 %14832 to i32
%14834 = sub nsw i32 25, %14833
br label %14835
14835: ; preds = %14831, %14830
%14836 = phi i32 [ 0, %14830 ], [ %14834, %14831 ]
%14837 = trunc i32 %14836 to i16
store i16 %14837, i16* %15
%14838 = load i16, i16* %12
store i16 %14838, i16* %18
%14839 = load i16, i16* %16
%14840 = sext i16 %14839 to i32
%14841 = icmp eq i32 %14840, 0
br i1 %14841, label %14842, label %14843
14842: ; preds = %14835
br label %14847
14843: ; preds = %14835
%14844 = load i16, i16* %16
%14845 = sext i16 %14844 to i32
%14846 = sub nsw i32 25, %14845
br label %14847
14847: ; preds = %14843, %14842
%14848 = phi i32 [ 0, %14842 ], [ %14846, %14843 ]
%14849 = trunc i32 %14848 to i16
store i16 %14849, i16* %12
%14850 = load i16, i16* %18
%14851 = sext i16 %14850 to i32
%14852 = icmp eq i32 %14851, 0
br i1 %14852, label %14853, label %14854
14853: ; preds = %14847
br label %14858
14854: ; preds = %14847
%14855 = load i16, i16* %18
%14856 = sext i16 %14855 to i32
%14857 = sub nsw i32 25, %14856
br label %14858
14858: ; preds = %14854, %14853
%14859 = phi i32 [ 0, %14853 ], [ %14857, %14854 ]
%14860 = trunc i32 %14859 to i16
store i16 %14860, i16* %16
%14861 = load i16, i16* %13
store i16 %14861, i16* %18
%14862 = load i16, i16* %17
%14863 = sext i16 %14862 to i32
%14864 = icmp eq i32 %14863, 0
br i1 %14864, label %14865, label %14866
14865: ; preds = %14858
br label %14870
14866: ; preds = %14858
%14867 = load i16, i16* %17
%14868 = sext i16 %14867 to i32
%14869 = sub nsw i32 25, %14868
br label %14870
14870: ; preds = %14866, %14865
%14871 = phi i32 [ 0, %14865 ], [ %14869, %14866 ]
%14872 = trunc i32 %14871 to i16
store i16 %14872, i16* %13
%14873 = load i16, i16* %18
%14874 = sext i16 %14873 to i32
%14875 = icmp eq i32 %14874, 0
br i1 %14875, label %14876, label %14877
14876: ; preds = %14870
br label %14881
14877: ; preds = %14870
%14878 = load i16, i16* %18
%14879 = sext i16 %14878 to i32
%14880 = sub nsw i32 25, %14879
br label %14881
14881: ; preds = %14877, %14876
%14882 = phi i32 [ 0, %14876 ], [ %14880, %14877 ]
%14883 = trunc i32 %14882 to i16
store i16 %14883, i16* %17
br label %14884
14884: ; preds = %14881, %14674
%14885 = load i16, i16* %19
store i16 %14885, i16* %12
br label %14886
14886: ; preds = %14884, %14458, %14452, %14446, %14440, %14434, %14423
br label %14887
14887: ; preds = %14886, %14418, %14414, %14410
br label %18734
14888: ; preds = %14406
%14889 = load i16, i16* %21
%14890 = sext i16 %14889 to i32
%14891 = icmp eq i32 %14890, 24
br i1 %14891, label %14892, label %15365
14892: ; preds = %14888
%14893 = load i16, i16* %13
%14894 = sext i16 %14893 to i32
%14895 = icmp ne i32 %14894, 0
br i1 %14895, label %14896, label %15364
14896: ; preds = %14892
%14897 = load i16, i16* %13
%14898 = sext i16 %14897 to i32
%14899 = icmp slt i32 %14898, 21
br i1 %14899, label %14900, label %15364
14900: ; preds = %14896
%14901 = load i16, i16* %13
store i16 %14901, i16* %19
%14902 = load i16, i16* %19
%14903 = sext i16 %14902 to i32
%14904 = add nsw i32 %14903, 4
%14905 = trunc i32 %14904 to i16
store i16 %14905, i16* %20
%14906 = load i16, i16* %20
%14907 = sext i16 %14906 to i32
%14908 = load i16, i16* %10
%14909 = sext i16 %14908 to i32
%14910 = icmp ne i32 %14907, %14909
br i1 %14910, label %14911, label %15363
14911: ; preds = %14900
%14912 = load i16, i16* %20
%14913 = sext i16 %14912 to i32
%14914 = load i16, i16* %11
%14915 = sext i16 %14914 to i32
%14916 = icmp ne i32 %14913, %14915
br i1 %14916, label %14917, label %15363
14917: ; preds = %14911
%14918 = load i16, i16* %20
%14919 = sext i16 %14918 to i32
%14920 = load i16, i16* %12
%14921 = sext i16 %14920 to i32
%14922 = icmp ne i32 %14919, %14921
br i1 %14922, label %14923, label %15363
14923: ; preds = %14917
%14924 = load i16, i16* %20
%14925 = sext i16 %14924 to i32
%14926 = load i16, i16* %14
%14927 = sext i16 %14926 to i32
%14928 = icmp ne i32 %14925, %14927
br i1 %14928, label %14929, label %15363
14929: ; preds = %14923
%14930 = load i16, i16* %20
%14931 = sext i16 %14930 to i32
%14932 = load i16, i16* %15
%14933 = sext i16 %14932 to i32
%14934 = icmp ne i32 %14931, %14933
br i1 %14934, label %14935, label %15363
14935: ; preds = %14929
%14936 = load i16, i16* %20
%14937 = sext i16 %14936 to i32
%14938 = load i16, i16* %17
%14939 = sext i16 %14938 to i32
%14940 = icmp ne i32 %14937, %14939
br i1 %14940, label %14941, label %15363
14941: ; preds = %14935
%14942 = load i16, i16* %20
store i16 %14942, i16* %13
%14943 = load i16, i16* %16
%14944 = sext i16 %14943 to i32
%14945 = load i16, i16* %20
%14946 = sext i16 %14945 to i32
%14947 = icmp eq i32 %14944, %14946
br i1 %14947, label %14948, label %15155
14948: ; preds = %14941
store i16 0, i16* %16
%14949 = load i16, i16* %10
store i16 %14949, i16* %18
%14950 = load i16, i16* %14
%14951 = sext i16 %14950 to i32
%14952 = icmp eq i32 %14951, 0
br i1 %14952, label %14953, label %14954
14953: ; preds = %14948
br label %14958
14954: ; preds = %14948
%14955 = load i16, i16* %14
%14956 = sext i16 %14955 to i32
%14957 = sub nsw i32 25, %14956
br label %14958
14958: ; preds = %14954, %14953
%14959 = phi i32 [ 0, %14953 ], [ %14957, %14954 ]
%14960 = trunc i32 %14959 to i16
store i16 %14960, i16* %10
%14961 = load i16, i16* %18
%14962 = sext i16 %14961 to i32
%14963 = icmp eq i32 %14962, 0
br i1 %14963, label %14964, label %14965
14964: ; preds = %14958
br label %14969
14965: ; preds = %14958
%14966 = load i16, i16* %18
%14967 = sext i16 %14966 to i32
%14968 = sub nsw i32 25, %14967
br label %14969
14969: ; preds = %14965, %14964
%14970 = phi i32 [ 0, %14964 ], [ %14968, %14965 ]
%14971 = trunc i32 %14970 to i16
store i16 %14971, i16* %14
%14972 = load i16, i16* %11
store i16 %14972, i16* %18
%14973 = load i16, i16* %15
%14974 = sext i16 %14973 to i32
%14975 = icmp eq i32 %14974, 0
br i1 %14975, label %14976, label %14977
14976: ; preds = %14969
br label %14981
14977: ; preds = %14969
%14978 = load i16, i16* %15
%14979 = sext i16 %14978 to i32
%14980 = sub nsw i32 25, %14979
br label %14981
14981: ; preds = %14977, %14976
%14982 = phi i32 [ 0, %14976 ], [ %14980, %14977 ]
%14983 = trunc i32 %14982 to i16
store i16 %14983, i16* %11
%14984 = load i16, i16* %18
%14985 = sext i16 %14984 to i32
%14986 = icmp eq i32 %14985, 0
br i1 %14986, label %14987, label %14988
14987: ; preds = %14981
br label %14992
14988: ; preds = %14981
%14989 = load i16, i16* %18
%14990 = sext i16 %14989 to i32
%14991 = sub nsw i32 25, %14990
br label %14992
14992: ; preds = %14988, %14987
%14993 = phi i32 [ 0, %14987 ], [ %14991, %14988 ]
%14994 = trunc i32 %14993 to i16
store i16 %14994, i16* %15
%14995 = load i16, i16* %12
store i16 %14995, i16* %18
%14996 = load i16, i16* %16
%14997 = sext i16 %14996 to i32
%14998 = icmp eq i32 %14997, 0
br i1 %14998, label %14999, label %15000
14999: ; preds = %14992
br label %15004
15000: ; preds = %14992
%15001 = load i16, i16* %16
%15002 = sext i16 %15001 to i32
%15003 = sub nsw i32 25, %15002
br label %15004
15004: ; preds = %15000, %14999
%15005 = phi i32 [ 0, %14999 ], [ %15003, %15000 ]
%15006 = trunc i32 %15005 to i16
store i16 %15006, i16* %12
%15007 = load i16, i16* %18
%15008 = sext i16 %15007 to i32
%15009 = icmp eq i32 %15008, 0
br i1 %15009, label %15010, label %15011
15010: ; preds = %15004
br label %15015
15011: ; preds = %15004
%15012 = load i16, i16* %18
%15013 = sext i16 %15012 to i32
%15014 = sub nsw i32 25, %15013
br label %15015
15015: ; preds = %15011, %15010
%15016 = phi i32 [ 0, %15010 ], [ %15014, %15011 ]
%15017 = trunc i32 %15016 to i16
store i16 %15017, i16* %16
%15018 = load i16, i16* %13
store i16 %15018, i16* %18
%15019 = load i16, i16* %17
%15020 = sext i16 %15019 to i32
%15021 = icmp eq i32 %15020, 0
br i1 %15021, label %15022, label %15023
15022: ; preds = %15015
br label %15027
15023: ; preds = %15015
%15024 = load i16, i16* %17
%15025 = sext i16 %15024 to i32
%15026 = sub nsw i32 25, %15025
br label %15027
15027: ; preds = %15023, %15022
%15028 = phi i32 [ 0, %15022 ], [ %15026, %15023 ]
%15029 = trunc i32 %15028 to i16
store i16 %15029, i16* %13
%15030 = load i16, i16* %18
%15031 = sext i16 %15030 to i32
%15032 = icmp eq i32 %15031, 0
br i1 %15032, label %15033, label %15034
15033: ; preds = %15027
br label %15038
15034: ; preds = %15027
%15035 = load i16, i16* %18
%15036 = sext i16 %15035 to i32
%15037 = sub nsw i32 25, %15036
br label %15038
15038: ; preds = %15034, %15033
%15039 = phi i32 [ 0, %15033 ], [ %15037, %15034 ]
%15040 = trunc i32 %15039 to i16
store i16 %15040, i16* %17
%15041 = load i16, i16* %10
%15042 = sext i16 %15041 to i32
%15043 = load i16, i16* %11
%15044 = sext i16 %15043 to i32
%15045 = load i16, i16* %12
%15046 = sext i16 %15045 to i32
%15047 = load i16, i16* %13
%15048 = sext i16 %15047 to i32
%15049 = load i16, i16* %14
%15050 = sext i16 %15049 to i32
%15051 = load i16, i16* %15
%15052 = sext i16 %15051 to i32
%15053 = load i16, i16* %16
%15054 = sext i16 %15053 to i32
%15055 = load i16, i16* %17
%15056 = sext i16 %15055 to i32
%15057 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15042, i32 %15044, i32 %15046, i32 %15048, i32 %15050, i32 %15052, i32 %15054, i32 %15056)
%15058 = icmp sle i32 0, %15057
br i1 %15058, label %15059, label %15061
15059: ; preds = %15038
%15060 = load i16, i16* %21
store i16 %15060, i16* %9
br label %18762
15061: ; preds = %15038
%15062 = load i16, i16* %10
store i16 %15062, i16* %18
%15063 = load i16, i16* %14
%15064 = sext i16 %15063 to i32
%15065 = icmp eq i32 %15064, 0
br i1 %15065, label %15066, label %15067
15066: ; preds = %15061
br label %15071
15067: ; preds = %15061
%15068 = load i16, i16* %14
%15069 = sext i16 %15068 to i32
%15070 = sub nsw i32 25, %15069
br label %15071
15071: ; preds = %15067, %15066
%15072 = phi i32 [ 0, %15066 ], [ %15070, %15067 ]
%15073 = trunc i32 %15072 to i16
store i16 %15073, i16* %10
%15074 = load i16, i16* %18
%15075 = sext i16 %15074 to i32
%15076 = icmp eq i32 %15075, 0
br i1 %15076, label %15077, label %15078
15077: ; preds = %15071
br label %15082
15078: ; preds = %15071
%15079 = load i16, i16* %18
%15080 = sext i16 %15079 to i32
%15081 = sub nsw i32 25, %15080
br label %15082
15082: ; preds = %15078, %15077
%15083 = phi i32 [ 0, %15077 ], [ %15081, %15078 ]
%15084 = trunc i32 %15083 to i16
store i16 %15084, i16* %14
%15085 = load i16, i16* %11
store i16 %15085, i16* %18
%15086 = load i16, i16* %15
%15087 = sext i16 %15086 to i32
%15088 = icmp eq i32 %15087, 0
br i1 %15088, label %15089, label %15090
15089: ; preds = %15082
br label %15094
15090: ; preds = %15082
%15091 = load i16, i16* %15
%15092 = sext i16 %15091 to i32
%15093 = sub nsw i32 25, %15092
br label %15094
15094: ; preds = %15090, %15089
%15095 = phi i32 [ 0, %15089 ], [ %15093, %15090 ]
%15096 = trunc i32 %15095 to i16
store i16 %15096, i16* %11
%15097 = load i16, i16* %18
%15098 = sext i16 %15097 to i32
%15099 = icmp eq i32 %15098, 0
br i1 %15099, label %15100, label %15101
15100: ; preds = %15094
br label %15105
15101: ; preds = %15094
%15102 = load i16, i16* %18
%15103 = sext i16 %15102 to i32
%15104 = sub nsw i32 25, %15103
br label %15105
15105: ; preds = %15101, %15100
%15106 = phi i32 [ 0, %15100 ], [ %15104, %15101 ]
%15107 = trunc i32 %15106 to i16
store i16 %15107, i16* %15
%15108 = load i16, i16* %12
store i16 %15108, i16* %18
%15109 = load i16, i16* %16
%15110 = sext i16 %15109 to i32
%15111 = icmp eq i32 %15110, 0
br i1 %15111, label %15112, label %15113
15112: ; preds = %15105
br label %15117
15113: ; preds = %15105
%15114 = load i16, i16* %16
%15115 = sext i16 %15114 to i32
%15116 = sub nsw i32 25, %15115
br label %15117
15117: ; preds = %15113, %15112
%15118 = phi i32 [ 0, %15112 ], [ %15116, %15113 ]
%15119 = trunc i32 %15118 to i16
store i16 %15119, i16* %12
%15120 = load i16, i16* %18
%15121 = sext i16 %15120 to i32
%15122 = icmp eq i32 %15121, 0
br i1 %15122, label %15123, label %15124
15123: ; preds = %15117
br label %15128
15124: ; preds = %15117
%15125 = load i16, i16* %18
%15126 = sext i16 %15125 to i32
%15127 = sub nsw i32 25, %15126
br label %15128
15128: ; preds = %15124, %15123
%15129 = phi i32 [ 0, %15123 ], [ %15127, %15124 ]
%15130 = trunc i32 %15129 to i16
store i16 %15130, i16* %16
%15131 = load i16, i16* %13
store i16 %15131, i16* %18
%15132 = load i16, i16* %17
%15133 = sext i16 %15132 to i32
%15134 = icmp eq i32 %15133, 0
br i1 %15134, label %15135, label %15136
15135: ; preds = %15128
br label %15140
15136: ; preds = %15128
%15137 = load i16, i16* %17
%15138 = sext i16 %15137 to i32
%15139 = sub nsw i32 25, %15138
br label %15140
15140: ; preds = %15136, %15135
%15141 = phi i32 [ 0, %15135 ], [ %15139, %15136 ]
%15142 = trunc i32 %15141 to i16
store i16 %15142, i16* %13
%15143 = load i16, i16* %18
%15144 = sext i16 %15143 to i32
%15145 = icmp eq i32 %15144, 0
br i1 %15145, label %15146, label %15147
15146: ; preds = %15140
br label %15151
15147: ; preds = %15140
%15148 = load i16, i16* %18
%15149 = sext i16 %15148 to i32
%15150 = sub nsw i32 25, %15149
br label %15151
15151: ; preds = %15147, %15146
%15152 = phi i32 [ 0, %15146 ], [ %15150, %15147 ]
%15153 = trunc i32 %15152 to i16
store i16 %15153, i16* %17
%15154 = load i16, i16* %20
store i16 %15154, i16* %16
br label %15361
15155: ; preds = %14941
%15156 = load i16, i16* %10
store i16 %15156, i16* %18
%15157 = load i16, i16* %14
%15158 = sext i16 %15157 to i32
%15159 = icmp eq i32 %15158, 0
br i1 %15159, label %15160, label %15161
15160: ; preds = %15155
br label %15165
15161: ; preds = %15155
%15162 = load i16, i16* %14
%15163 = sext i16 %15162 to i32
%15164 = sub nsw i32 25, %15163
br label %15165
15165: ; preds = %15161, %15160
%15166 = phi i32 [ 0, %15160 ], [ %15164, %15161 ]
%15167 = trunc i32 %15166 to i16
store i16 %15167, i16* %10
%15168 = load i16, i16* %18
%15169 = sext i16 %15168 to i32
%15170 = icmp eq i32 %15169, 0
br i1 %15170, label %15171, label %15172
15171: ; preds = %15165
br label %15176
15172: ; preds = %15165
%15173 = load i16, i16* %18
%15174 = sext i16 %15173 to i32
%15175 = sub nsw i32 25, %15174
br label %15176
15176: ; preds = %15172, %15171
%15177 = phi i32 [ 0, %15171 ], [ %15175, %15172 ]
%15178 = trunc i32 %15177 to i16
store i16 %15178, i16* %14
%15179 = load i16, i16* %11
store i16 %15179, i16* %18
%15180 = load i16, i16* %15
%15181 = sext i16 %15180 to i32
%15182 = icmp eq i32 %15181, 0
br i1 %15182, label %15183, label %15184
15183: ; preds = %15176
br label %15188
15184: ; preds = %15176
%15185 = load i16, i16* %15
%15186 = sext i16 %15185 to i32
%15187 = sub nsw i32 25, %15186
br label %15188
15188: ; preds = %15184, %15183
%15189 = phi i32 [ 0, %15183 ], [ %15187, %15184 ]
%15190 = trunc i32 %15189 to i16
store i16 %15190, i16* %11
%15191 = load i16, i16* %18
%15192 = sext i16 %15191 to i32
%15193 = icmp eq i32 %15192, 0
br i1 %15193, label %15194, label %15195
15194: ; preds = %15188
br label %15199
15195: ; preds = %15188
%15196 = load i16, i16* %18
%15197 = sext i16 %15196 to i32
%15198 = sub nsw i32 25, %15197
br label %15199
15199: ; preds = %15195, %15194
%15200 = phi i32 [ 0, %15194 ], [ %15198, %15195 ]
%15201 = trunc i32 %15200 to i16
store i16 %15201, i16* %15
%15202 = load i16, i16* %12
store i16 %15202, i16* %18
%15203 = load i16, i16* %16
%15204 = sext i16 %15203 to i32
%15205 = icmp eq i32 %15204, 0
br i1 %15205, label %15206, label %15207
15206: ; preds = %15199
br label %15211
15207: ; preds = %15199
%15208 = load i16, i16* %16
%15209 = sext i16 %15208 to i32
%15210 = sub nsw i32 25, %15209
br label %15211
15211: ; preds = %15207, %15206
%15212 = phi i32 [ 0, %15206 ], [ %15210, %15207 ]
%15213 = trunc i32 %15212 to i16
store i16 %15213, i16* %12
%15214 = load i16, i16* %18
%15215 = sext i16 %15214 to i32
%15216 = icmp eq i32 %15215, 0
br i1 %15216, label %15217, label %15218
15217: ; preds = %15211
br label %15222
15218: ; preds = %15211
%15219 = load i16, i16* %18
%15220 = sext i16 %15219 to i32
%15221 = sub nsw i32 25, %15220
br label %15222
15222: ; preds = %15218, %15217
%15223 = phi i32 [ 0, %15217 ], [ %15221, %15218 ]
%15224 = trunc i32 %15223 to i16
store i16 %15224, i16* %16
%15225 = load i16, i16* %13
store i16 %15225, i16* %18
%15226 = load i16, i16* %17
%15227 = sext i16 %15226 to i32
%15228 = icmp eq i32 %15227, 0
br i1 %15228, label %15229, label %15230
15229: ; preds = %15222
br label %15234
15230: ; preds = %15222
%15231 = load i16, i16* %17
%15232 = sext i16 %15231 to i32
%15233 = sub nsw i32 25, %15232
br label %15234
15234: ; preds = %15230, %15229
%15235 = phi i32 [ 0, %15229 ], [ %15233, %15230 ]
%15236 = trunc i32 %15235 to i16
store i16 %15236, i16* %13
%15237 = load i16, i16* %18
%15238 = sext i16 %15237 to i32
%15239 = icmp eq i32 %15238, 0
br i1 %15239, label %15240, label %15241
15240: ; preds = %15234
br label %15245
15241: ; preds = %15234
%15242 = load i16, i16* %18
%15243 = sext i16 %15242 to i32
%15244 = sub nsw i32 25, %15243
br label %15245
15245: ; preds = %15241, %15240
%15246 = phi i32 [ 0, %15240 ], [ %15244, %15241 ]
%15247 = trunc i32 %15246 to i16
store i16 %15247, i16* %17
%15248 = load i16, i16* %10
%15249 = sext i16 %15248 to i32
%15250 = load i16, i16* %11
%15251 = sext i16 %15250 to i32
%15252 = load i16, i16* %12
%15253 = sext i16 %15252 to i32
%15254 = load i16, i16* %13
%15255 = sext i16 %15254 to i32
%15256 = load i16, i16* %14
%15257 = sext i16 %15256 to i32
%15258 = load i16, i16* %15
%15259 = sext i16 %15258 to i32
%15260 = load i16, i16* %16
%15261 = sext i16 %15260 to i32
%15262 = load i16, i16* %17
%15263 = sext i16 %15262 to i32
%15264 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15249, i32 %15251, i32 %15253, i32 %15255, i32 %15257, i32 %15259, i32 %15261, i32 %15263)
%15265 = icmp sle i32 0, %15264
br i1 %15265, label %15266, label %15268
15266: ; preds = %15245
%15267 = load i16, i16* %21
store i16 %15267, i16* %9
br label %18762
15268: ; preds = %15245
%15269 = load i16, i16* %10
store i16 %15269, i16* %18
%15270 = load i16, i16* %14
%15271 = sext i16 %15270 to i32
%15272 = icmp eq i32 %15271, 0
br i1 %15272, label %15273, label %15274
15273: ; preds = %15268
br label %15278
15274: ; preds = %15268
%15275 = load i16, i16* %14
%15276 = sext i16 %15275 to i32
%15277 = sub nsw i32 25, %15276
br label %15278
15278: ; preds = %15274, %15273
%15279 = phi i32 [ 0, %15273 ], [ %15277, %15274 ]
%15280 = trunc i32 %15279 to i16
store i16 %15280, i16* %10
%15281 = load i16, i16* %18
%15282 = sext i16 %15281 to i32
%15283 = icmp eq i32 %15282, 0
br i1 %15283, label %15284, label %15285
15284: ; preds = %15278
br label %15289
15285: ; preds = %15278
%15286 = load i16, i16* %18
%15287 = sext i16 %15286 to i32
%15288 = sub nsw i32 25, %15287
br label %15289
15289: ; preds = %15285, %15284
%15290 = phi i32 [ 0, %15284 ], [ %15288, %15285 ]
%15291 = trunc i32 %15290 to i16
store i16 %15291, i16* %14
%15292 = load i16, i16* %11
store i16 %15292, i16* %18
%15293 = load i16, i16* %15
%15294 = sext i16 %15293 to i32
%15295 = icmp eq i32 %15294, 0
br i1 %15295, label %15296, label %15297
15296: ; preds = %15289
br label %15301
15297: ; preds = %15289
%15298 = load i16, i16* %15
%15299 = sext i16 %15298 to i32
%15300 = sub nsw i32 25, %15299
br label %15301
15301: ; preds = %15297, %15296
%15302 = phi i32 [ 0, %15296 ], [ %15300, %15297 ]
%15303 = trunc i32 %15302 to i16
store i16 %15303, i16* %11
%15304 = load i16, i16* %18
%15305 = sext i16 %15304 to i32
%15306 = icmp eq i32 %15305, 0
br i1 %15306, label %15307, label %15308
15307: ; preds = %15301
br label %15312
15308: ; preds = %15301
%15309 = load i16, i16* %18
%15310 = sext i16 %15309 to i32
%15311 = sub nsw i32 25, %15310
br label %15312
15312: ; preds = %15308, %15307
%15313 = phi i32 [ 0, %15307 ], [ %15311, %15308 ]
%15314 = trunc i32 %15313 to i16
store i16 %15314, i16* %15
%15315 = load i16, i16* %12
store i16 %15315, i16* %18
%15316 = load i16, i16* %16
%15317 = sext i16 %15316 to i32
%15318 = icmp eq i32 %15317, 0
br i1 %15318, label %15319, label %15320
15319: ; preds = %15312
br label %15324
15320: ; preds = %15312
%15321 = load i16, i16* %16
%15322 = sext i16 %15321 to i32
%15323 = sub nsw i32 25, %15322
br label %15324
15324: ; preds = %15320, %15319
%15325 = phi i32 [ 0, %15319 ], [ %15323, %15320 ]
%15326 = trunc i32 %15325 to i16
store i16 %15326, i16* %12
%15327 = load i16, i16* %18
%15328 = sext i16 %15327 to i32
%15329 = icmp eq i32 %15328, 0
br i1 %15329, label %15330, label %15331
15330: ; preds = %15324
br label %15335
15331: ; preds = %15324
%15332 = load i16, i16* %18
%15333 = sext i16 %15332 to i32
%15334 = sub nsw i32 25, %15333
br label %15335
15335: ; preds = %15331, %15330
%15336 = phi i32 [ 0, %15330 ], [ %15334, %15331 ]
%15337 = trunc i32 %15336 to i16
store i16 %15337, i16* %16
%15338 = load i16, i16* %13
store i16 %15338, i16* %18
%15339 = load i16, i16* %17
%15340 = sext i16 %15339 to i32
%15341 = icmp eq i32 %15340, 0
br i1 %15341, label %15342, label %15343
15342: ; preds = %15335
br label %15347
15343: ; preds = %15335
%15344 = load i16, i16* %17
%15345 = sext i16 %15344 to i32
%15346 = sub nsw i32 25, %15345
br label %15347
15347: ; preds = %15343, %15342
%15348 = phi i32 [ 0, %15342 ], [ %15346, %15343 ]
%15349 = trunc i32 %15348 to i16
store i16 %15349, i16* %13
%15350 = load i16, i16* %18
%15351 = sext i16 %15350 to i32
%15352 = icmp eq i32 %15351, 0
br i1 %15352, label %15353, label %15354
15353: ; preds = %15347
br label %15358
15354: ; preds = %15347
%15355 = load i16, i16* %18
%15356 = sext i16 %15355 to i32
%15357 = sub nsw i32 25, %15356
br label %15358
15358: ; preds = %15354, %15353
%15359 = phi i32 [ 0, %15353 ], [ %15357, %15354 ]
%15360 = trunc i32 %15359 to i16
store i16 %15360, i16* %17
br label %15361
15361: ; preds = %15358, %15151
%15362 = load i16, i16* %19
store i16 %15362, i16* %13
br label %15363
15363: ; preds = %15361, %14935, %14929, %14923, %14917, %14911, %14900
br label %15364
15364: ; preds = %15363, %14896, %14892
br label %18733
15365: ; preds = %14888
%15366 = load i16, i16* %21
%15367 = sext i16 %15366 to i32
%15368 = icmp eq i32 %15367, 25
br i1 %15368, label %15369, label %15847
15369: ; preds = %15365
%15370 = load i16, i16* %13
%15371 = sext i16 %15370 to i32
%15372 = icmp ne i32 %15371, 0
br i1 %15372, label %15373, label %15846
15373: ; preds = %15369
%15374 = load i16, i16* %13
%15375 = sext i16 %15374 to i32
%15376 = icmp slt i32 %15375, 21
br i1 %15376, label %15377, label %15846
15377: ; preds = %15373
%15378 = load i16, i16* %13
%15379 = sext i16 %15378 to i32
%15380 = srem i32 %15379, 4
%15381 = icmp ne i32 %15380, 0
br i1 %15381, label %15382, label %15846
15382: ; preds = %15377
%15383 = load i16, i16* %13
store i16 %15383, i16* %19
%15384 = load i16, i16* %19
%15385 = sext i16 %15384 to i32
%15386 = add nsw i32 %15385, 5
%15387 = trunc i32 %15386 to i16
store i16 %15387, i16* %20
%15388 = load i16, i16* %20
%15389 = sext i16 %15388 to i32
%15390 = load i16, i16* %10
%15391 = sext i16 %15390 to i32
%15392 = icmp ne i32 %15389, %15391
br i1 %15392, label %15393, label %15845
15393: ; preds = %15382
%15394 = load i16, i16* %20
%15395 = sext i16 %15394 to i32
%15396 = load i16, i16* %11
%15397 = sext i16 %15396 to i32
%15398 = icmp ne i32 %15395, %15397
br i1 %15398, label %15399, label %15845
15399: ; preds = %15393
%15400 = load i16, i16* %20
%15401 = sext i16 %15400 to i32
%15402 = load i16, i16* %12
%15403 = sext i16 %15402 to i32
%15404 = icmp ne i32 %15401, %15403
br i1 %15404, label %15405, label %15845
15405: ; preds = %15399
%15406 = load i16, i16* %20
%15407 = sext i16 %15406 to i32
%15408 = load i16, i16* %14
%15409 = sext i16 %15408 to i32
%15410 = icmp ne i32 %15407, %15409
br i1 %15410, label %15411, label %15845
15411: ; preds = %15405
%15412 = load i16, i16* %20
%15413 = sext i16 %15412 to i32
%15414 = load i16, i16* %15
%15415 = sext i16 %15414 to i32
%15416 = icmp ne i32 %15413, %15415
br i1 %15416, label %15417, label %15845
15417: ; preds = %15411
%15418 = load i16, i16* %20
%15419 = sext i16 %15418 to i32
%15420 = load i16, i16* %17
%15421 = sext i16 %15420 to i32
%15422 = icmp ne i32 %15419, %15421
br i1 %15422, label %15423, label %15845
15423: ; preds = %15417
%15424 = load i16, i16* %20
store i16 %15424, i16* %13
%15425 = load i16, i16* %16
%15426 = sext i16 %15425 to i32
%15427 = load i16, i16* %20
%15428 = sext i16 %15427 to i32
%15429 = icmp eq i32 %15426, %15428
br i1 %15429, label %15430, label %15637
15430: ; preds = %15423
store i16 0, i16* %16
%15431 = load i16, i16* %10
store i16 %15431, i16* %18
%15432 = load i16, i16* %14
%15433 = sext i16 %15432 to i32
%15434 = icmp eq i32 %15433, 0
br i1 %15434, label %15435, label %15436
15435: ; preds = %15430
br label %15440
15436: ; preds = %15430
%15437 = load i16, i16* %14
%15438 = sext i16 %15437 to i32
%15439 = sub nsw i32 25, %15438
br label %15440
15440: ; preds = %15436, %15435
%15441 = phi i32 [ 0, %15435 ], [ %15439, %15436 ]
%15442 = trunc i32 %15441 to i16
store i16 %15442, i16* %10
%15443 = load i16, i16* %18
%15444 = sext i16 %15443 to i32
%15445 = icmp eq i32 %15444, 0
br i1 %15445, label %15446, label %15447
15446: ; preds = %15440
br label %15451
15447: ; preds = %15440
%15448 = load i16, i16* %18
%15449 = sext i16 %15448 to i32
%15450 = sub nsw i32 25, %15449
br label %15451
15451: ; preds = %15447, %15446
%15452 = phi i32 [ 0, %15446 ], [ %15450, %15447 ]
%15453 = trunc i32 %15452 to i16
store i16 %15453, i16* %14
%15454 = load i16, i16* %11
store i16 %15454, i16* %18
%15455 = load i16, i16* %15
%15456 = sext i16 %15455 to i32
%15457 = icmp eq i32 %15456, 0
br i1 %15457, label %15458, label %15459
15458: ; preds = %15451
br label %15463
15459: ; preds = %15451
%15460 = load i16, i16* %15
%15461 = sext i16 %15460 to i32
%15462 = sub nsw i32 25, %15461
br label %15463
15463: ; preds = %15459, %15458
%15464 = phi i32 [ 0, %15458 ], [ %15462, %15459 ]
%15465 = trunc i32 %15464 to i16
store i16 %15465, i16* %11
%15466 = load i16, i16* %18
%15467 = sext i16 %15466 to i32
%15468 = icmp eq i32 %15467, 0
br i1 %15468, label %15469, label %15470
15469: ; preds = %15463
br label %15474
15470: ; preds = %15463
%15471 = load i16, i16* %18
%15472 = sext i16 %15471 to i32
%15473 = sub nsw i32 25, %15472
br label %15474
15474: ; preds = %15470, %15469
%15475 = phi i32 [ 0, %15469 ], [ %15473, %15470 ]
%15476 = trunc i32 %15475 to i16
store i16 %15476, i16* %15
%15477 = load i16, i16* %12
store i16 %15477, i16* %18
%15478 = load i16, i16* %16
%15479 = sext i16 %15478 to i32
%15480 = icmp eq i32 %15479, 0
br i1 %15480, label %15481, label %15482
15481: ; preds = %15474
br label %15486
15482: ; preds = %15474
%15483 = load i16, i16* %16
%15484 = sext i16 %15483 to i32
%15485 = sub nsw i32 25, %15484
br label %15486
15486: ; preds = %15482, %15481
%15487 = phi i32 [ 0, %15481 ], [ %15485, %15482 ]
%15488 = trunc i32 %15487 to i16
store i16 %15488, i16* %12
%15489 = load i16, i16* %18
%15490 = sext i16 %15489 to i32
%15491 = icmp eq i32 %15490, 0
br i1 %15491, label %15492, label %15493
15492: ; preds = %15486
br label %15497
15493: ; preds = %15486
%15494 = load i16, i16* %18
%15495 = sext i16 %15494 to i32
%15496 = sub nsw i32 25, %15495
br label %15497
15497: ; preds = %15493, %15492
%15498 = phi i32 [ 0, %15492 ], [ %15496, %15493 ]
%15499 = trunc i32 %15498 to i16
store i16 %15499, i16* %16
%15500 = load i16, i16* %13
store i16 %15500, i16* %18
%15501 = load i16, i16* %17
%15502 = sext i16 %15501 to i32
%15503 = icmp eq i32 %15502, 0
br i1 %15503, label %15504, label %15505
15504: ; preds = %15497
br label %15509
15505: ; preds = %15497
%15506 = load i16, i16* %17
%15507 = sext i16 %15506 to i32
%15508 = sub nsw i32 25, %15507
br label %15509
15509: ; preds = %15505, %15504
%15510 = phi i32 [ 0, %15504 ], [ %15508, %15505 ]
%15511 = trunc i32 %15510 to i16
store i16 %15511, i16* %13
%15512 = load i16, i16* %18
%15513 = sext i16 %15512 to i32
%15514 = icmp eq i32 %15513, 0
br i1 %15514, label %15515, label %15516
15515: ; preds = %15509
br label %15520
15516: ; preds = %15509
%15517 = load i16, i16* %18
%15518 = sext i16 %15517 to i32
%15519 = sub nsw i32 25, %15518
br label %15520
15520: ; preds = %15516, %15515
%15521 = phi i32 [ 0, %15515 ], [ %15519, %15516 ]
%15522 = trunc i32 %15521 to i16
store i16 %15522, i16* %17
%15523 = load i16, i16* %10
%15524 = sext i16 %15523 to i32
%15525 = load i16, i16* %11
%15526 = sext i16 %15525 to i32
%15527 = load i16, i16* %12
%15528 = sext i16 %15527 to i32
%15529 = load i16, i16* %13
%15530 = sext i16 %15529 to i32
%15531 = load i16, i16* %14
%15532 = sext i16 %15531 to i32
%15533 = load i16, i16* %15
%15534 = sext i16 %15533 to i32
%15535 = load i16, i16* %16
%15536 = sext i16 %15535 to i32
%15537 = load i16, i16* %17
%15538 = sext i16 %15537 to i32
%15539 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15524, i32 %15526, i32 %15528, i32 %15530, i32 %15532, i32 %15534, i32 %15536, i32 %15538)
%15540 = icmp sle i32 0, %15539
br i1 %15540, label %15541, label %15543
15541: ; preds = %15520
%15542 = load i16, i16* %21
store i16 %15542, i16* %9
br label %18762
15543: ; preds = %15520
%15544 = load i16, i16* %10
store i16 %15544, i16* %18
%15545 = load i16, i16* %14
%15546 = sext i16 %15545 to i32
%15547 = icmp eq i32 %15546, 0
br i1 %15547, label %15548, label %15549
15548: ; preds = %15543
br label %15553
15549: ; preds = %15543
%15550 = load i16, i16* %14
%15551 = sext i16 %15550 to i32
%15552 = sub nsw i32 25, %15551
br label %15553
15553: ; preds = %15549, %15548
%15554 = phi i32 [ 0, %15548 ], [ %15552, %15549 ]
%15555 = trunc i32 %15554 to i16
store i16 %15555, i16* %10
%15556 = load i16, i16* %18
%15557 = sext i16 %15556 to i32
%15558 = icmp eq i32 %15557, 0
br i1 %15558, label %15559, label %15560
15559: ; preds = %15553
br label %15564
15560: ; preds = %15553
%15561 = load i16, i16* %18
%15562 = sext i16 %15561 to i32
%15563 = sub nsw i32 25, %15562
br label %15564
15564: ; preds = %15560, %15559
%15565 = phi i32 [ 0, %15559 ], [ %15563, %15560 ]
%15566 = trunc i32 %15565 to i16
store i16 %15566, i16* %14
%15567 = load i16, i16* %11
store i16 %15567, i16* %18
%15568 = load i16, i16* %15
%15569 = sext i16 %15568 to i32
%15570 = icmp eq i32 %15569, 0
br i1 %15570, label %15571, label %15572
15571: ; preds = %15564
br label %15576
15572: ; preds = %15564
%15573 = load i16, i16* %15
%15574 = sext i16 %15573 to i32
%15575 = sub nsw i32 25, %15574
br label %15576
15576: ; preds = %15572, %15571
%15577 = phi i32 [ 0, %15571 ], [ %15575, %15572 ]
%15578 = trunc i32 %15577 to i16
store i16 %15578, i16* %11
%15579 = load i16, i16* %18
%15580 = sext i16 %15579 to i32
%15581 = icmp eq i32 %15580, 0
br i1 %15581, label %15582, label %15583
15582: ; preds = %15576
br label %15587
15583: ; preds = %15576
%15584 = load i16, i16* %18
%15585 = sext i16 %15584 to i32
%15586 = sub nsw i32 25, %15585
br label %15587
15587: ; preds = %15583, %15582
%15588 = phi i32 [ 0, %15582 ], [ %15586, %15583 ]
%15589 = trunc i32 %15588 to i16
store i16 %15589, i16* %15
%15590 = load i16, i16* %12
store i16 %15590, i16* %18
%15591 = load i16, i16* %16
%15592 = sext i16 %15591 to i32
%15593 = icmp eq i32 %15592, 0
br i1 %15593, label %15594, label %15595
15594: ; preds = %15587
br label %15599
15595: ; preds = %15587
%15596 = load i16, i16* %16
%15597 = sext i16 %15596 to i32
%15598 = sub nsw i32 25, %15597
br label %15599
15599: ; preds = %15595, %15594
%15600 = phi i32 [ 0, %15594 ], [ %15598, %15595 ]
%15601 = trunc i32 %15600 to i16
store i16 %15601, i16* %12
%15602 = load i16, i16* %18
%15603 = sext i16 %15602 to i32
%15604 = icmp eq i32 %15603, 0
br i1 %15604, label %15605, label %15606
15605: ; preds = %15599
br label %15610
15606: ; preds = %15599
%15607 = load i16, i16* %18
%15608 = sext i16 %15607 to i32
%15609 = sub nsw i32 25, %15608
br label %15610
15610: ; preds = %15606, %15605
%15611 = phi i32 [ 0, %15605 ], [ %15609, %15606 ]
%15612 = trunc i32 %15611 to i16
store i16 %15612, i16* %16
%15613 = load i16, i16* %13
store i16 %15613, i16* %18
%15614 = load i16, i16* %17
%15615 = sext i16 %15614 to i32
%15616 = icmp eq i32 %15615, 0
br i1 %15616, label %15617, label %15618
15617: ; preds = %15610
br label %15622
15618: ; preds = %15610
%15619 = load i16, i16* %17
%15620 = sext i16 %15619 to i32
%15621 = sub nsw i32 25, %15620
br label %15622
15622: ; preds = %15618, %15617
%15623 = phi i32 [ 0, %15617 ], [ %15621, %15618 ]
%15624 = trunc i32 %15623 to i16
store i16 %15624, i16* %13
%15625 = load i16, i16* %18
%15626 = sext i16 %15625 to i32
%15627 = icmp eq i32 %15626, 0
br i1 %15627, label %15628, label %15629
15628: ; preds = %15622
br label %15633
15629: ; preds = %15622
%15630 = load i16, i16* %18
%15631 = sext i16 %15630 to i32
%15632 = sub nsw i32 25, %15631
br label %15633
15633: ; preds = %15629, %15628
%15634 = phi i32 [ 0, %15628 ], [ %15632, %15629 ]
%15635 = trunc i32 %15634 to i16
store i16 %15635, i16* %17
%15636 = load i16, i16* %20
store i16 %15636, i16* %16
br label %15843
15637: ; preds = %15423
%15638 = load i16, i16* %10
store i16 %15638, i16* %18
%15639 = load i16, i16* %14
%15640 = sext i16 %15639 to i32
%15641 = icmp eq i32 %15640, 0
br i1 %15641, label %15642, label %15643
15642: ; preds = %15637
br label %15647
15643: ; preds = %15637
%15644 = load i16, i16* %14
%15645 = sext i16 %15644 to i32
%15646 = sub nsw i32 25, %15645
br label %15647
15647: ; preds = %15643, %15642
%15648 = phi i32 [ 0, %15642 ], [ %15646, %15643 ]
%15649 = trunc i32 %15648 to i16
store i16 %15649, i16* %10
%15650 = load i16, i16* %18
%15651 = sext i16 %15650 to i32
%15652 = icmp eq i32 %15651, 0
br i1 %15652, label %15653, label %15654
15653: ; preds = %15647
br label %15658
15654: ; preds = %15647
%15655 = load i16, i16* %18
%15656 = sext i16 %15655 to i32
%15657 = sub nsw i32 25, %15656
br label %15658
15658: ; preds = %15654, %15653
%15659 = phi i32 [ 0, %15653 ], [ %15657, %15654 ]
%15660 = trunc i32 %15659 to i16
store i16 %15660, i16* %14
%15661 = load i16, i16* %11
store i16 %15661, i16* %18
%15662 = load i16, i16* %15
%15663 = sext i16 %15662 to i32
%15664 = icmp eq i32 %15663, 0
br i1 %15664, label %15665, label %15666
15665: ; preds = %15658
br label %15670
15666: ; preds = %15658
%15667 = load i16, i16* %15
%15668 = sext i16 %15667 to i32
%15669 = sub nsw i32 25, %15668
br label %15670
15670: ; preds = %15666, %15665
%15671 = phi i32 [ 0, %15665 ], [ %15669, %15666 ]
%15672 = trunc i32 %15671 to i16
store i16 %15672, i16* %11
%15673 = load i16, i16* %18
%15674 = sext i16 %15673 to i32
%15675 = icmp eq i32 %15674, 0
br i1 %15675, label %15676, label %15677
15676: ; preds = %15670
br label %15681
15677: ; preds = %15670
%15678 = load i16, i16* %18
%15679 = sext i16 %15678 to i32
%15680 = sub nsw i32 25, %15679
br label %15681
15681: ; preds = %15677, %15676
%15682 = phi i32 [ 0, %15676 ], [ %15680, %15677 ]
%15683 = trunc i32 %15682 to i16
store i16 %15683, i16* %15
%15684 = load i16, i16* %12
store i16 %15684, i16* %18
%15685 = load i16, i16* %16
%15686 = sext i16 %15685 to i32
%15687 = icmp eq i32 %15686, 0
br i1 %15687, label %15688, label %15689
15688: ; preds = %15681
br label %15693
15689: ; preds = %15681
%15690 = load i16, i16* %16
%15691 = sext i16 %15690 to i32
%15692 = sub nsw i32 25, %15691
br label %15693
15693: ; preds = %15689, %15688
%15694 = phi i32 [ 0, %15688 ], [ %15692, %15689 ]
%15695 = trunc i32 %15694 to i16
store i16 %15695, i16* %12
%15696 = load i16, i16* %18
%15697 = sext i16 %15696 to i32
%15698 = icmp eq i32 %15697, 0
br i1 %15698, label %15699, label %15700
15699: ; preds = %15693
br label %15704
15700: ; preds = %15693
%15701 = load i16, i16* %18
%15702 = sext i16 %15701 to i32
%15703 = sub nsw i32 25, %15702
br label %15704
15704: ; preds = %15700, %15699
%15705 = phi i32 [ 0, %15699 ], [ %15703, %15700 ]
%15706 = trunc i32 %15705 to i16
store i16 %15706, i16* %16
%15707 = load i16, i16* %13
store i16 %15707, i16* %18
%15708 = load i16, i16* %17
%15709 = sext i16 %15708 to i32
%15710 = icmp eq i32 %15709, 0
br i1 %15710, label %15711, label %15712
15711: ; preds = %15704
br label %15716
15712: ; preds = %15704
%15713 = load i16, i16* %17
%15714 = sext i16 %15713 to i32
%15715 = sub nsw i32 25, %15714
br label %15716
15716: ; preds = %15712, %15711
%15717 = phi i32 [ 0, %15711 ], [ %15715, %15712 ]
%15718 = trunc i32 %15717 to i16
store i16 %15718, i16* %13
%15719 = load i16, i16* %18
%15720 = sext i16 %15719 to i32
%15721 = icmp eq i32 %15720, 0
br i1 %15721, label %15722, label %15723
15722: ; preds = %15716
br label %15727
15723: ; preds = %15716
%15724 = load i16, i16* %18
%15725 = sext i16 %15724 to i32
%15726 = sub nsw i32 25, %15725
br label %15727
15727: ; preds = %15723, %15722
%15728 = phi i32 [ 0, %15722 ], [ %15726, %15723 ]
%15729 = trunc i32 %15728 to i16
store i16 %15729, i16* %17
%15730 = load i16, i16* %10
%15731 = sext i16 %15730 to i32
%15732 = load i16, i16* %11
%15733 = sext i16 %15732 to i32
%15734 = load i16, i16* %12
%15735 = sext i16 %15734 to i32
%15736 = load i16, i16* %13
%15737 = sext i16 %15736 to i32
%15738 = load i16, i16* %14
%15739 = sext i16 %15738 to i32
%15740 = load i16, i16* %15
%15741 = sext i16 %15740 to i32
%15742 = load i16, i16* %16
%15743 = sext i16 %15742 to i32
%15744 = load i16, i16* %17
%15745 = sext i16 %15744 to i32
%15746 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15731, i32 %15733, i32 %15735, i32 %15737, i32 %15739, i32 %15741, i32 %15743, i32 %15745)
%15747 = icmp sle i32 0, %15746
br i1 %15747, label %15748, label %15750
15748: ; preds = %15727
%15749 = load i16, i16* %21
store i16 %15749, i16* %9
br label %18762
15750: ; preds = %15727
%15751 = load i16, i16* %10
store i16 %15751, i16* %18
%15752 = load i16, i16* %14
%15753 = sext i16 %15752 to i32
%15754 = icmp eq i32 %15753, 0
br i1 %15754, label %15755, label %15756
15755: ; preds = %15750
br label %15760
15756: ; preds = %15750
%15757 = load i16, i16* %14
%15758 = sext i16 %15757 to i32
%15759 = sub nsw i32 25, %15758
br label %15760
15760: ; preds = %15756, %15755
%15761 = phi i32 [ 0, %15755 ], [ %15759, %15756 ]
%15762 = trunc i32 %15761 to i16
store i16 %15762, i16* %10
%15763 = load i16, i16* %18
%15764 = sext i16 %15763 to i32
%15765 = icmp eq i32 %15764, 0
br i1 %15765, label %15766, label %15767
15766: ; preds = %15760
br label %15771
15767: ; preds = %15760
%15768 = load i16, i16* %18
%15769 = sext i16 %15768 to i32
%15770 = sub nsw i32 25, %15769
br label %15771
15771: ; preds = %15767, %15766
%15772 = phi i32 [ 0, %15766 ], [ %15770, %15767 ]
%15773 = trunc i32 %15772 to i16
store i16 %15773, i16* %14
%15774 = load i16, i16* %11
store i16 %15774, i16* %18
%15775 = load i16, i16* %15
%15776 = sext i16 %15775 to i32
%15777 = icmp eq i32 %15776, 0
br i1 %15777, label %15778, label %15779
15778: ; preds = %15771
br label %15783
15779: ; preds = %15771
%15780 = load i16, i16* %15
%15781 = sext i16 %15780 to i32
%15782 = sub nsw i32 25, %15781
br label %15783
15783: ; preds = %15779, %15778
%15784 = phi i32 [ 0, %15778 ], [ %15782, %15779 ]
%15785 = trunc i32 %15784 to i16
store i16 %15785, i16* %11
%15786 = load i16, i16* %18
%15787 = sext i16 %15786 to i32
%15788 = icmp eq i32 %15787, 0
br i1 %15788, label %15789, label %15790
15789: ; preds = %15783
br label %15794
15790: ; preds = %15783
%15791 = load i16, i16* %18
%15792 = sext i16 %15791 to i32
%15793 = sub nsw i32 25, %15792
br label %15794
15794: ; preds = %15790, %15789
%15795 = phi i32 [ 0, %15789 ], [ %15793, %15790 ]
%15796 = trunc i32 %15795 to i16
store i16 %15796, i16* %15
%15797 = load i16, i16* %12
store i16 %15797, i16* %18
%15798 = load i16, i16* %16
%15799 = sext i16 %15798 to i32
%15800 = icmp eq i32 %15799, 0
br i1 %15800, label %15801, label %15802
15801: ; preds = %15794
br label %15806
15802: ; preds = %15794
%15803 = load i16, i16* %16
%15804 = sext i16 %15803 to i32
%15805 = sub nsw i32 25, %15804
br label %15806
15806: ; preds = %15802, %15801
%15807 = phi i32 [ 0, %15801 ], [ %15805, %15802 ]
%15808 = trunc i32 %15807 to i16
store i16 %15808, i16* %12
%15809 = load i16, i16* %18
%15810 = sext i16 %15809 to i32
%15811 = icmp eq i32 %15810, 0
br i1 %15811, label %15812, label %15813
15812: ; preds = %15806
br label %15817
15813: ; preds = %15806
%15814 = load i16, i16* %18
%15815 = sext i16 %15814 to i32
%15816 = sub nsw i32 25, %15815
br label %15817
15817: ; preds = %15813, %15812
%15818 = phi i32 [ 0, %15812 ], [ %15816, %15813 ]
%15819 = trunc i32 %15818 to i16
store i16 %15819, i16* %16
%15820 = load i16, i16* %13
store i16 %15820, i16* %18
%15821 = load i16, i16* %17
%15822 = sext i16 %15821 to i32
%15823 = icmp eq i32 %15822, 0
br i1 %15823, label %15824, label %15825
15824: ; preds = %15817
br label %15829
15825: ; preds = %15817
%15826 = load i16, i16* %17
%15827 = sext i16 %15826 to i32
%15828 = sub nsw i32 25, %15827
br label %15829
15829: ; preds = %15825, %15824
%15830 = phi i32 [ 0, %15824 ], [ %15828, %15825 ]
%15831 = trunc i32 %15830 to i16
store i16 %15831, i16* %13
%15832 = load i16, i16* %18
%15833 = sext i16 %15832 to i32
%15834 = icmp eq i32 %15833, 0
br i1 %15834, label %15835, label %15836
15835: ; preds = %15829
br label %15840
15836: ; preds = %15829
%15837 = load i16, i16* %18
%15838 = sext i16 %15837 to i32
%15839 = sub nsw i32 25, %15838
br label %15840
15840: ; preds = %15836, %15835
%15841 = phi i32 [ 0, %15835 ], [ %15839, %15836 ]
%15842 = trunc i32 %15841 to i16
store i16 %15842, i16* %17
br label %15843
15843: ; preds = %15840, %15633
%15844 = load i16, i16* %19
store i16 %15844, i16* %13
br label %15845
15845: ; preds = %15843, %15417, %15411, %15405, %15399, %15393, %15382
br label %15846
15846: ; preds = %15845, %15377, %15373, %15369
br label %18732
15847: ; preds = %15365
%15848 = load i16, i16* %21
%15849 = sext i16 %15848 to i32
%15850 = icmp eq i32 %15849, 26
br i1 %15850, label %15851, label %16325
15851: ; preds = %15847
%15852 = load i16, i16* %13
%15853 = sext i16 %15852 to i32
%15854 = icmp ne i32 %15853, 0
br i1 %15854, label %15855, label %16324
15855: ; preds = %15851
%15856 = load i16, i16* %13
%15857 = sext i16 %15856 to i32
%15858 = srem i32 %15857, 4
%15859 = icmp ne i32 %15858, 0
br i1 %15859, label %15860, label %16324
15860: ; preds = %15855
%15861 = load i16, i16* %13
store i16 %15861, i16* %19
%15862 = load i16, i16* %19
%15863 = sext i16 %15862 to i32
%15864 = add nsw i32 %15863, 1
%15865 = trunc i32 %15864 to i16
store i16 %15865, i16* %20
%15866 = load i16, i16* %20
%15867 = sext i16 %15866 to i32
%15868 = load i16, i16* %10
%15869 = sext i16 %15868 to i32
%15870 = icmp ne i32 %15867, %15869
br i1 %15870, label %15871, label %16323
15871: ; preds = %15860
%15872 = load i16, i16* %20
%15873 = sext i16 %15872 to i32
%15874 = load i16, i16* %11
%15875 = sext i16 %15874 to i32
%15876 = icmp ne i32 %15873, %15875
br i1 %15876, label %15877, label %16323
15877: ; preds = %15871
%15878 = load i16, i16* %20
%15879 = sext i16 %15878 to i32
%15880 = load i16, i16* %12
%15881 = sext i16 %15880 to i32
%15882 = icmp ne i32 %15879, %15881
br i1 %15882, label %15883, label %16323
15883: ; preds = %15877
%15884 = load i16, i16* %20
%15885 = sext i16 %15884 to i32
%15886 = load i16, i16* %14
%15887 = sext i16 %15886 to i32
%15888 = icmp ne i32 %15885, %15887
br i1 %15888, label %15889, label %16323
15889: ; preds = %15883
%15890 = load i16, i16* %20
%15891 = sext i16 %15890 to i32
%15892 = load i16, i16* %15
%15893 = sext i16 %15892 to i32
%15894 = icmp ne i32 %15891, %15893
br i1 %15894, label %15895, label %16323
15895: ; preds = %15889
%15896 = load i16, i16* %20
%15897 = sext i16 %15896 to i32
%15898 = load i16, i16* %17
%15899 = sext i16 %15898 to i32
%15900 = icmp ne i32 %15897, %15899
br i1 %15900, label %15901, label %16323
15901: ; preds = %15895
%15902 = load i16, i16* %20
store i16 %15902, i16* %13
%15903 = load i16, i16* %16
%15904 = sext i16 %15903 to i32
%15905 = load i16, i16* %20
%15906 = sext i16 %15905 to i32
%15907 = icmp eq i32 %15904, %15906
br i1 %15907, label %15908, label %16115
15908: ; preds = %15901
store i16 0, i16* %16
%15909 = load i16, i16* %10
store i16 %15909, i16* %18
%15910 = load i16, i16* %14
%15911 = sext i16 %15910 to i32
%15912 = icmp eq i32 %15911, 0
br i1 %15912, label %15913, label %15914
15913: ; preds = %15908
br label %15918
15914: ; preds = %15908
%15915 = load i16, i16* %14
%15916 = sext i16 %15915 to i32
%15917 = sub nsw i32 25, %15916
br label %15918
15918: ; preds = %15914, %15913
%15919 = phi i32 [ 0, %15913 ], [ %15917, %15914 ]
%15920 = trunc i32 %15919 to i16
store i16 %15920, i16* %10
%15921 = load i16, i16* %18
%15922 = sext i16 %15921 to i32
%15923 = icmp eq i32 %15922, 0
br i1 %15923, label %15924, label %15925
15924: ; preds = %15918
br label %15929
15925: ; preds = %15918
%15926 = load i16, i16* %18
%15927 = sext i16 %15926 to i32
%15928 = sub nsw i32 25, %15927
br label %15929
15929: ; preds = %15925, %15924
%15930 = phi i32 [ 0, %15924 ], [ %15928, %15925 ]
%15931 = trunc i32 %15930 to i16
store i16 %15931, i16* %14
%15932 = load i16, i16* %11
store i16 %15932, i16* %18
%15933 = load i16, i16* %15
%15934 = sext i16 %15933 to i32
%15935 = icmp eq i32 %15934, 0
br i1 %15935, label %15936, label %15937
15936: ; preds = %15929
br label %15941
15937: ; preds = %15929
%15938 = load i16, i16* %15
%15939 = sext i16 %15938 to i32
%15940 = sub nsw i32 25, %15939
br label %15941
15941: ; preds = %15937, %15936
%15942 = phi i32 [ 0, %15936 ], [ %15940, %15937 ]
%15943 = trunc i32 %15942 to i16
store i16 %15943, i16* %11
%15944 = load i16, i16* %18
%15945 = sext i16 %15944 to i32
%15946 = icmp eq i32 %15945, 0
br i1 %15946, label %15947, label %15948
15947: ; preds = %15941
br label %15952
15948: ; preds = %15941
%15949 = load i16, i16* %18
%15950 = sext i16 %15949 to i32
%15951 = sub nsw i32 25, %15950
br label %15952
15952: ; preds = %15948, %15947
%15953 = phi i32 [ 0, %15947 ], [ %15951, %15948 ]
%15954 = trunc i32 %15953 to i16
store i16 %15954, i16* %15
%15955 = load i16, i16* %12
store i16 %15955, i16* %18
%15956 = load i16, i16* %16
%15957 = sext i16 %15956 to i32
%15958 = icmp eq i32 %15957, 0
br i1 %15958, label %15959, label %15960
15959: ; preds = %15952
br label %15964
15960: ; preds = %15952
%15961 = load i16, i16* %16
%15962 = sext i16 %15961 to i32
%15963 = sub nsw i32 25, %15962
br label %15964
15964: ; preds = %15960, %15959
%15965 = phi i32 [ 0, %15959 ], [ %15963, %15960 ]
%15966 = trunc i32 %15965 to i16
store i16 %15966, i16* %12
%15967 = load i16, i16* %18
%15968 = sext i16 %15967 to i32
%15969 = icmp eq i32 %15968, 0
br i1 %15969, label %15970, label %15971
15970: ; preds = %15964
br label %15975
15971: ; preds = %15964
%15972 = load i16, i16* %18
%15973 = sext i16 %15972 to i32
%15974 = sub nsw i32 25, %15973
br label %15975
15975: ; preds = %15971, %15970
%15976 = phi i32 [ 0, %15970 ], [ %15974, %15971 ]
%15977 = trunc i32 %15976 to i16
store i16 %15977, i16* %16
%15978 = load i16, i16* %13
store i16 %15978, i16* %18
%15979 = load i16, i16* %17
%15980 = sext i16 %15979 to i32
%15981 = icmp eq i32 %15980, 0
br i1 %15981, label %15982, label %15983
15982: ; preds = %15975
br label %15987
15983: ; preds = %15975
%15984 = load i16, i16* %17
%15985 = sext i16 %15984 to i32
%15986 = sub nsw i32 25, %15985
br label %15987
15987: ; preds = %15983, %15982
%15988 = phi i32 [ 0, %15982 ], [ %15986, %15983 ]
%15989 = trunc i32 %15988 to i16
store i16 %15989, i16* %13
%15990 = load i16, i16* %18
%15991 = sext i16 %15990 to i32
%15992 = icmp eq i32 %15991, 0
br i1 %15992, label %15993, label %15994
15993: ; preds = %15987
br label %15998
15994: ; preds = %15987
%15995 = load i16, i16* %18
%15996 = sext i16 %15995 to i32
%15997 = sub nsw i32 25, %15996
br label %15998
15998: ; preds = %15994, %15993
%15999 = phi i32 [ 0, %15993 ], [ %15997, %15994 ]
%16000 = trunc i32 %15999 to i16
store i16 %16000, i16* %17
%16001 = load i16, i16* %10
%16002 = sext i16 %16001 to i32
%16003 = load i16, i16* %11
%16004 = sext i16 %16003 to i32
%16005 = load i16, i16* %12
%16006 = sext i16 %16005 to i32
%16007 = load i16, i16* %13
%16008 = sext i16 %16007 to i32
%16009 = load i16, i16* %14
%16010 = sext i16 %16009 to i32
%16011 = load i16, i16* %15
%16012 = sext i16 %16011 to i32
%16013 = load i16, i16* %16
%16014 = sext i16 %16013 to i32
%16015 = load i16, i16* %17
%16016 = sext i16 %16015 to i32
%16017 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16002, i32 %16004, i32 %16006, i32 %16008, i32 %16010, i32 %16012, i32 %16014, i32 %16016)
%16018 = icmp sle i32 0, %16017
br i1 %16018, label %16019, label %16021
16019: ; preds = %15998
%16020 = load i16, i16* %21
store i16 %16020, i16* %9
br label %18762
16021: ; preds = %15998
%16022 = load i16, i16* %10
store i16 %16022, i16* %18
%16023 = load i16, i16* %14
%16024 = sext i16 %16023 to i32
%16025 = icmp eq i32 %16024, 0
br i1 %16025, label %16026, label %16027
16026: ; preds = %16021
br label %16031
16027: ; preds = %16021
%16028 = load i16, i16* %14
%16029 = sext i16 %16028 to i32
%16030 = sub nsw i32 25, %16029
br label %16031
16031: ; preds = %16027, %16026
%16032 = phi i32 [ 0, %16026 ], [ %16030, %16027 ]
%16033 = trunc i32 %16032 to i16
store i16 %16033, i16* %10
%16034 = load i16, i16* %18
%16035 = sext i16 %16034 to i32
%16036 = icmp eq i32 %16035, 0
br i1 %16036, label %16037, label %16038
16037: ; preds = %16031
br label %16042
16038: ; preds = %16031
%16039 = load i16, i16* %18
%16040 = sext i16 %16039 to i32
%16041 = sub nsw i32 25, %16040
br label %16042
16042: ; preds = %16038, %16037
%16043 = phi i32 [ 0, %16037 ], [ %16041, %16038 ]
%16044 = trunc i32 %16043 to i16
store i16 %16044, i16* %14
%16045 = load i16, i16* %11
store i16 %16045, i16* %18
%16046 = load i16, i16* %15
%16047 = sext i16 %16046 to i32
%16048 = icmp eq i32 %16047, 0
br i1 %16048, label %16049, label %16050
16049: ; preds = %16042
br label %16054
16050: ; preds = %16042
%16051 = load i16, i16* %15
%16052 = sext i16 %16051 to i32
%16053 = sub nsw i32 25, %16052
br label %16054
16054: ; preds = %16050, %16049
%16055 = phi i32 [ 0, %16049 ], [ %16053, %16050 ]
%16056 = trunc i32 %16055 to i16
store i16 %16056, i16* %11
%16057 = load i16, i16* %18
%16058 = sext i16 %16057 to i32
%16059 = icmp eq i32 %16058, 0
br i1 %16059, label %16060, label %16061
16060: ; preds = %16054
br label %16065
16061: ; preds = %16054
%16062 = load i16, i16* %18
%16063 = sext i16 %16062 to i32
%16064 = sub nsw i32 25, %16063
br label %16065
16065: ; preds = %16061, %16060
%16066 = phi i32 [ 0, %16060 ], [ %16064, %16061 ]
%16067 = trunc i32 %16066 to i16
store i16 %16067, i16* %15
%16068 = load i16, i16* %12
store i16 %16068, i16* %18
%16069 = load i16, i16* %16
%16070 = sext i16 %16069 to i32
%16071 = icmp eq i32 %16070, 0
br i1 %16071, label %16072, label %16073
16072: ; preds = %16065
br label %16077
16073: ; preds = %16065
%16074 = load i16, i16* %16
%16075 = sext i16 %16074 to i32
%16076 = sub nsw i32 25, %16075
br label %16077
16077: ; preds = %16073, %16072
%16078 = phi i32 [ 0, %16072 ], [ %16076, %16073 ]
%16079 = trunc i32 %16078 to i16
store i16 %16079, i16* %12
%16080 = load i16, i16* %18
%16081 = sext i16 %16080 to i32
%16082 = icmp eq i32 %16081, 0
br i1 %16082, label %16083, label %16084
16083: ; preds = %16077
br label %16088
16084: ; preds = %16077
%16085 = load i16, i16* %18
%16086 = sext i16 %16085 to i32
%16087 = sub nsw i32 25, %16086
br label %16088
16088: ; preds = %16084, %16083
%16089 = phi i32 [ 0, %16083 ], [ %16087, %16084 ]
%16090 = trunc i32 %16089 to i16
store i16 %16090, i16* %16
%16091 = load i16, i16* %13
store i16 %16091, i16* %18
%16092 = load i16, i16* %17
%16093 = sext i16 %16092 to i32
%16094 = icmp eq i32 %16093, 0
br i1 %16094, label %16095, label %16096
16095: ; preds = %16088
br label %16100
16096: ; preds = %16088
%16097 = load i16, i16* %17
%16098 = sext i16 %16097 to i32
%16099 = sub nsw i32 25, %16098
br label %16100
16100: ; preds = %16096, %16095
%16101 = phi i32 [ 0, %16095 ], [ %16099, %16096 ]
%16102 = trunc i32 %16101 to i16
store i16 %16102, i16* %13
%16103 = load i16, i16* %18
%16104 = sext i16 %16103 to i32
%16105 = icmp eq i32 %16104, 0
br i1 %16105, label %16106, label %16107
16106: ; preds = %16100
br label %16111
16107: ; preds = %16100
%16108 = load i16, i16* %18
%16109 = sext i16 %16108 to i32
%16110 = sub nsw i32 25, %16109
br label %16111
16111: ; preds = %16107, %16106
%16112 = phi i32 [ 0, %16106 ], [ %16110, %16107 ]
%16113 = trunc i32 %16112 to i16
store i16 %16113, i16* %17
%16114 = load i16, i16* %20
store i16 %16114, i16* %16
br label %16321
16115: ; preds = %15901
%16116 = load i16, i16* %10
store i16 %16116, i16* %18
%16117 = load i16, i16* %14
%16118 = sext i16 %16117 to i32
%16119 = icmp eq i32 %16118, 0
br i1 %16119, label %16120, label %16121
16120: ; preds = %16115
br label %16125
16121: ; preds = %16115
%16122 = load i16, i16* %14
%16123 = sext i16 %16122 to i32
%16124 = sub nsw i32 25, %16123
br label %16125
16125: ; preds = %16121, %16120
%16126 = phi i32 [ 0, %16120 ], [ %16124, %16121 ]
%16127 = trunc i32 %16126 to i16
store i16 %16127, i16* %10
%16128 = load i16, i16* %18
%16129 = sext i16 %16128 to i32
%16130 = icmp eq i32 %16129, 0
br i1 %16130, label %16131, label %16132
16131: ; preds = %16125
br label %16136
16132: ; preds = %16125
%16133 = load i16, i16* %18
%16134 = sext i16 %16133 to i32
%16135 = sub nsw i32 25, %16134
br label %16136
16136: ; preds = %16132, %16131
%16137 = phi i32 [ 0, %16131 ], [ %16135, %16132 ]
%16138 = trunc i32 %16137 to i16
store i16 %16138, i16* %14
%16139 = load i16, i16* %11
store i16 %16139, i16* %18
%16140 = load i16, i16* %15
%16141 = sext i16 %16140 to i32
%16142 = icmp eq i32 %16141, 0
br i1 %16142, label %16143, label %16144
16143: ; preds = %16136
br label %16148
16144: ; preds = %16136
%16145 = load i16, i16* %15
%16146 = sext i16 %16145 to i32
%16147 = sub nsw i32 25, %16146
br label %16148
16148: ; preds = %16144, %16143
%16149 = phi i32 [ 0, %16143 ], [ %16147, %16144 ]
%16150 = trunc i32 %16149 to i16
store i16 %16150, i16* %11
%16151 = load i16, i16* %18
%16152 = sext i16 %16151 to i32
%16153 = icmp eq i32 %16152, 0
br i1 %16153, label %16154, label %16155
16154: ; preds = %16148
br label %16159
16155: ; preds = %16148
%16156 = load i16, i16* %18
%16157 = sext i16 %16156 to i32
%16158 = sub nsw i32 25, %16157
br label %16159
16159: ; preds = %16155, %16154
%16160 = phi i32 [ 0, %16154 ], [ %16158, %16155 ]
%16161 = trunc i32 %16160 to i16
store i16 %16161, i16* %15
%16162 = load i16, i16* %12
store i16 %16162, i16* %18
%16163 = load i16, i16* %16
%16164 = sext i16 %16163 to i32
%16165 = icmp eq i32 %16164, 0
br i1 %16165, label %16166, label %16167
16166: ; preds = %16159
br label %16171
16167: ; preds = %16159
%16168 = load i16, i16* %16
%16169 = sext i16 %16168 to i32
%16170 = sub nsw i32 25, %16169
br label %16171
16171: ; preds = %16167, %16166
%16172 = phi i32 [ 0, %16166 ], [ %16170, %16167 ]
%16173 = trunc i32 %16172 to i16
store i16 %16173, i16* %12
%16174 = load i16, i16* %18
%16175 = sext i16 %16174 to i32
%16176 = icmp eq i32 %16175, 0
br i1 %16176, label %16177, label %16178
16177: ; preds = %16171
br label %16182
16178: ; preds = %16171
%16179 = load i16, i16* %18
%16180 = sext i16 %16179 to i32
%16181 = sub nsw i32 25, %16180
br label %16182
16182: ; preds = %16178, %16177
%16183 = phi i32 [ 0, %16177 ], [ %16181, %16178 ]
%16184 = trunc i32 %16183 to i16
store i16 %16184, i16* %16
%16185 = load i16, i16* %13
store i16 %16185, i16* %18
%16186 = load i16, i16* %17
%16187 = sext i16 %16186 to i32
%16188 = icmp eq i32 %16187, 0
br i1 %16188, label %16189, label %16190
16189: ; preds = %16182
br label %16194
16190: ; preds = %16182
%16191 = load i16, i16* %17
%16192 = sext i16 %16191 to i32
%16193 = sub nsw i32 25, %16192
br label %16194
16194: ; preds = %16190, %16189
%16195 = phi i32 [ 0, %16189 ], [ %16193, %16190 ]
%16196 = trunc i32 %16195 to i16
store i16 %16196, i16* %13
%16197 = load i16, i16* %18
%16198 = sext i16 %16197 to i32
%16199 = icmp eq i32 %16198, 0
br i1 %16199, label %16200, label %16201
16200: ; preds = %16194
br label %16205
16201: ; preds = %16194
%16202 = load i16, i16* %18
%16203 = sext i16 %16202 to i32
%16204 = sub nsw i32 25, %16203
br label %16205
16205: ; preds = %16201, %16200
%16206 = phi i32 [ 0, %16200 ], [ %16204, %16201 ]
%16207 = trunc i32 %16206 to i16
store i16 %16207, i16* %17
%16208 = load i16, i16* %10
%16209 = sext i16 %16208 to i32
%16210 = load i16, i16* %11
%16211 = sext i16 %16210 to i32
%16212 = load i16, i16* %12
%16213 = sext i16 %16212 to i32
%16214 = load i16, i16* %13
%16215 = sext i16 %16214 to i32
%16216 = load i16, i16* %14
%16217 = sext i16 %16216 to i32
%16218 = load i16, i16* %15
%16219 = sext i16 %16218 to i32
%16220 = load i16, i16* %16
%16221 = sext i16 %16220 to i32
%16222 = load i16, i16* %17
%16223 = sext i16 %16222 to i32
%16224 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16209, i32 %16211, i32 %16213, i32 %16215, i32 %16217, i32 %16219, i32 %16221, i32 %16223)
%16225 = icmp sle i32 0, %16224
br i1 %16225, label %16226, label %16228
16226: ; preds = %16205
%16227 = load i16, i16* %21
store i16 %16227, i16* %9
br label %18762
16228: ; preds = %16205
%16229 = load i16, i16* %10
store i16 %16229, i16* %18
%16230 = load i16, i16* %14
%16231 = sext i16 %16230 to i32
%16232 = icmp eq i32 %16231, 0
br i1 %16232, label %16233, label %16234
16233: ; preds = %16228
br label %16238
16234: ; preds = %16228
%16235 = load i16, i16* %14
%16236 = sext i16 %16235 to i32
%16237 = sub nsw i32 25, %16236
br label %16238
16238: ; preds = %16234, %16233
%16239 = phi i32 [ 0, %16233 ], [ %16237, %16234 ]
%16240 = trunc i32 %16239 to i16
store i16 %16240, i16* %10
%16241 = load i16, i16* %18
%16242 = sext i16 %16241 to i32
%16243 = icmp eq i32 %16242, 0
br i1 %16243, label %16244, label %16245
16244: ; preds = %16238
br label %16249
16245: ; preds = %16238
%16246 = load i16, i16* %18
%16247 = sext i16 %16246 to i32
%16248 = sub nsw i32 25, %16247
br label %16249
16249: ; preds = %16245, %16244
%16250 = phi i32 [ 0, %16244 ], [ %16248, %16245 ]
%16251 = trunc i32 %16250 to i16
store i16 %16251, i16* %14
%16252 = load i16, i16* %11
store i16 %16252, i16* %18
%16253 = load i16, i16* %15
%16254 = sext i16 %16253 to i32
%16255 = icmp eq i32 %16254, 0
br i1 %16255, label %16256, label %16257
16256: ; preds = %16249
br label %16261
16257: ; preds = %16249
%16258 = load i16, i16* %15
%16259 = sext i16 %16258 to i32
%16260 = sub nsw i32 25, %16259
br label %16261
16261: ; preds = %16257, %16256
%16262 = phi i32 [ 0, %16256 ], [ %16260, %16257 ]
%16263 = trunc i32 %16262 to i16
store i16 %16263, i16* %11
%16264 = load i16, i16* %18
%16265 = sext i16 %16264 to i32
%16266 = icmp eq i32 %16265, 0
br i1 %16266, label %16267, label %16268
16267: ; preds = %16261
br label %16272
16268: ; preds = %16261
%16269 = load i16, i16* %18
%16270 = sext i16 %16269 to i32
%16271 = sub nsw i32 25, %16270
br label %16272
16272: ; preds = %16268, %16267
%16273 = phi i32 [ 0, %16267 ], [ %16271, %16268 ]
%16274 = trunc i32 %16273 to i16
store i16 %16274, i16* %15
%16275 = load i16, i16* %12
store i16 %16275, i16* %18
%16276 = load i16, i16* %16
%16277 = sext i16 %16276 to i32
%16278 = icmp eq i32 %16277, 0
br i1 %16278, label %16279, label %16280
16279: ; preds = %16272
br label %16284
16280: ; preds = %16272
%16281 = load i16, i16* %16
%16282 = sext i16 %16281 to i32
%16283 = sub nsw i32 25, %16282
br label %16284
16284: ; preds = %16280, %16279
%16285 = phi i32 [ 0, %16279 ], [ %16283, %16280 ]
%16286 = trunc i32 %16285 to i16
store i16 %16286, i16* %12
%16287 = load i16, i16* %18
%16288 = sext i16 %16287 to i32
%16289 = icmp eq i32 %16288, 0
br i1 %16289, label %16290, label %16291
16290: ; preds = %16284
br label %16295
16291: ; preds = %16284
%16292 = load i16, i16* %18
%16293 = sext i16 %16292 to i32
%16294 = sub nsw i32 25, %16293
br label %16295
16295: ; preds = %16291, %16290
%16296 = phi i32 [ 0, %16290 ], [ %16294, %16291 ]
%16297 = trunc i32 %16296 to i16
store i16 %16297, i16* %16
%16298 = load i16, i16* %13
store i16 %16298, i16* %18
%16299 = load i16, i16* %17
%16300 = sext i16 %16299 to i32
%16301 = icmp eq i32 %16300, 0
br i1 %16301, label %16302, label %16303
16302: ; preds = %16295
br label %16307
16303: ; preds = %16295
%16304 = load i16, i16* %17
%16305 = sext i16 %16304 to i32
%16306 = sub nsw i32 25, %16305
br label %16307
16307: ; preds = %16303, %16302
%16308 = phi i32 [ 0, %16302 ], [ %16306, %16303 ]
%16309 = trunc i32 %16308 to i16
store i16 %16309, i16* %13
%16310 = load i16, i16* %18
%16311 = sext i16 %16310 to i32
%16312 = icmp eq i32 %16311, 0
br i1 %16312, label %16313, label %16314
16313: ; preds = %16307
br label %16318
16314: ; preds = %16307
%16315 = load i16, i16* %18
%16316 = sext i16 %16315 to i32
%16317 = sub nsw i32 25, %16316
br label %16318
16318: ; preds = %16314, %16313
%16319 = phi i32 [ 0, %16313 ], [ %16317, %16314 ]
%16320 = trunc i32 %16319 to i16
store i16 %16320, i16* %17
br label %16321
16321: ; preds = %16318, %16111
%16322 = load i16, i16* %19
store i16 %16322, i16* %13
br label %16323
16323: ; preds = %16321, %15895, %15889, %15883, %15877, %15871, %15860
br label %16324
16324: ; preds = %16323, %15855, %15851
br label %18731
16325: ; preds = %15847
%16326 = load i16, i16* %21
%16327 = sext i16 %16326 to i32
%16328 = icmp eq i32 %16327, 27
br i1 %16328, label %16329, label %16807
16329: ; preds = %16325
%16330 = load i16, i16* %13
%16331 = sext i16 %16330 to i32
%16332 = icmp ne i32 %16331, 0
br i1 %16332, label %16333, label %16806
16333: ; preds = %16329
%16334 = load i16, i16* %13
%16335 = sext i16 %16334 to i32
%16336 = icmp slt i32 4, %16335
br i1 %16336, label %16337, label %16806
16337: ; preds = %16333
%16338 = load i16, i16* %13
%16339 = sext i16 %16338 to i32
%16340 = srem i32 %16339, 4
%16341 = icmp ne i32 %16340, 0
br i1 %16341, label %16342, label %16806
16342: ; preds = %16337
%16343 = load i16, i16* %13
store i16 %16343, i16* %19
%16344 = load i16, i16* %19
%16345 = sext i16 %16344 to i32
%16346 = sub nsw i32 %16345, 3
%16347 = trunc i32 %16346 to i16
store i16 %16347, i16* %20
%16348 = load i16, i16* %20
%16349 = sext i16 %16348 to i32
%16350 = load i16, i16* %10
%16351 = sext i16 %16350 to i32
%16352 = icmp ne i32 %16349, %16351
br i1 %16352, label %16353, label %16805
16353: ; preds = %16342
%16354 = load i16, i16* %20
%16355 = sext i16 %16354 to i32
%16356 = load i16, i16* %11
%16357 = sext i16 %16356 to i32
%16358 = icmp ne i32 %16355, %16357
br i1 %16358, label %16359, label %16805
16359: ; preds = %16353
%16360 = load i16, i16* %20
%16361 = sext i16 %16360 to i32
%16362 = load i16, i16* %12
%16363 = sext i16 %16362 to i32
%16364 = icmp ne i32 %16361, %16363
br i1 %16364, label %16365, label %16805
16365: ; preds = %16359
%16366 = load i16, i16* %20
%16367 = sext i16 %16366 to i32
%16368 = load i16, i16* %14
%16369 = sext i16 %16368 to i32
%16370 = icmp ne i32 %16367, %16369
br i1 %16370, label %16371, label %16805
16371: ; preds = %16365
%16372 = load i16, i16* %20
%16373 = sext i16 %16372 to i32
%16374 = load i16, i16* %15
%16375 = sext i16 %16374 to i32
%16376 = icmp ne i32 %16373, %16375
br i1 %16376, label %16377, label %16805
16377: ; preds = %16371
%16378 = load i16, i16* %20
%16379 = sext i16 %16378 to i32
%16380 = load i16, i16* %17
%16381 = sext i16 %16380 to i32
%16382 = icmp ne i32 %16379, %16381
br i1 %16382, label %16383, label %16805
16383: ; preds = %16377
%16384 = load i16, i16* %20
store i16 %16384, i16* %13
%16385 = load i16, i16* %16
%16386 = sext i16 %16385 to i32
%16387 = load i16, i16* %20
%16388 = sext i16 %16387 to i32
%16389 = icmp eq i32 %16386, %16388
br i1 %16389, label %16390, label %16597
16390: ; preds = %16383
store i16 0, i16* %16
%16391 = load i16, i16* %10
store i16 %16391, i16* %18
%16392 = load i16, i16* %14
%16393 = sext i16 %16392 to i32
%16394 = icmp eq i32 %16393, 0
br i1 %16394, label %16395, label %16396
16395: ; preds = %16390
br label %16400
16396: ; preds = %16390
%16397 = load i16, i16* %14
%16398 = sext i16 %16397 to i32
%16399 = sub nsw i32 25, %16398
br label %16400
16400: ; preds = %16396, %16395
%16401 = phi i32 [ 0, %16395 ], [ %16399, %16396 ]
%16402 = trunc i32 %16401 to i16
store i16 %16402, i16* %10
%16403 = load i16, i16* %18
%16404 = sext i16 %16403 to i32
%16405 = icmp eq i32 %16404, 0
br i1 %16405, label %16406, label %16407
16406: ; preds = %16400
br label %16411
16407: ; preds = %16400
%16408 = load i16, i16* %18
%16409 = sext i16 %16408 to i32
%16410 = sub nsw i32 25, %16409
br label %16411
16411: ; preds = %16407, %16406
%16412 = phi i32 [ 0, %16406 ], [ %16410, %16407 ]
%16413 = trunc i32 %16412 to i16
store i16 %16413, i16* %14
%16414 = load i16, i16* %11
store i16 %16414, i16* %18
%16415 = load i16, i16* %15
%16416 = sext i16 %16415 to i32
%16417 = icmp eq i32 %16416, 0
br i1 %16417, label %16418, label %16419
16418: ; preds = %16411
br label %16423
16419: ; preds = %16411
%16420 = load i16, i16* %15
%16421 = sext i16 %16420 to i32
%16422 = sub nsw i32 25, %16421
br label %16423
16423: ; preds = %16419, %16418
%16424 = phi i32 [ 0, %16418 ], [ %16422, %16419 ]
%16425 = trunc i32 %16424 to i16
store i16 %16425, i16* %11
%16426 = load i16, i16* %18
%16427 = sext i16 %16426 to i32
%16428 = icmp eq i32 %16427, 0
br i1 %16428, label %16429, label %16430
16429: ; preds = %16423
br label %16434
16430: ; preds = %16423
%16431 = load i16, i16* %18
%16432 = sext i16 %16431 to i32
%16433 = sub nsw i32 25, %16432
br label %16434
16434: ; preds = %16430, %16429
%16435 = phi i32 [ 0, %16429 ], [ %16433, %16430 ]
%16436 = trunc i32 %16435 to i16
store i16 %16436, i16* %15
%16437 = load i16, i16* %12
store i16 %16437, i16* %18
%16438 = load i16, i16* %16
%16439 = sext i16 %16438 to i32
%16440 = icmp eq i32 %16439, 0
br i1 %16440, label %16441, label %16442
16441: ; preds = %16434
br label %16446
16442: ; preds = %16434
%16443 = load i16, i16* %16
%16444 = sext i16 %16443 to i32
%16445 = sub nsw i32 25, %16444
br label %16446
16446: ; preds = %16442, %16441
%16447 = phi i32 [ 0, %16441 ], [ %16445, %16442 ]
%16448 = trunc i32 %16447 to i16
store i16 %16448, i16* %12
%16449 = load i16, i16* %18
%16450 = sext i16 %16449 to i32
%16451 = icmp eq i32 %16450, 0
br i1 %16451, label %16452, label %16453
16452: ; preds = %16446
br label %16457
16453: ; preds = %16446
%16454 = load i16, i16* %18
%16455 = sext i16 %16454 to i32
%16456 = sub nsw i32 25, %16455
br label %16457
16457: ; preds = %16453, %16452
%16458 = phi i32 [ 0, %16452 ], [ %16456, %16453 ]
%16459 = trunc i32 %16458 to i16
store i16 %16459, i16* %16
%16460 = load i16, i16* %13
store i16 %16460, i16* %18
%16461 = load i16, i16* %17
%16462 = sext i16 %16461 to i32
%16463 = icmp eq i32 %16462, 0
br i1 %16463, label %16464, label %16465
16464: ; preds = %16457
br label %16469
16465: ; preds = %16457
%16466 = load i16, i16* %17
%16467 = sext i16 %16466 to i32
%16468 = sub nsw i32 25, %16467
br label %16469
16469: ; preds = %16465, %16464
%16470 = phi i32 [ 0, %16464 ], [ %16468, %16465 ]
%16471 = trunc i32 %16470 to i16
store i16 %16471, i16* %13
%16472 = load i16, i16* %18
%16473 = sext i16 %16472 to i32
%16474 = icmp eq i32 %16473, 0
br i1 %16474, label %16475, label %16476
16475: ; preds = %16469
br label %16480
16476: ; preds = %16469
%16477 = load i16, i16* %18
%16478 = sext i16 %16477 to i32
%16479 = sub nsw i32 25, %16478
br label %16480
16480: ; preds = %16476, %16475
%16481 = phi i32 [ 0, %16475 ], [ %16479, %16476 ]
%16482 = trunc i32 %16481 to i16
store i16 %16482, i16* %17
%16483 = load i16, i16* %10
%16484 = sext i16 %16483 to i32
%16485 = load i16, i16* %11
%16486 = sext i16 %16485 to i32
%16487 = load i16, i16* %12
%16488 = sext i16 %16487 to i32
%16489 = load i16, i16* %13
%16490 = sext i16 %16489 to i32
%16491 = load i16, i16* %14
%16492 = sext i16 %16491 to i32
%16493 = load i16, i16* %15
%16494 = sext i16 %16493 to i32
%16495 = load i16, i16* %16
%16496 = sext i16 %16495 to i32
%16497 = load i16, i16* %17
%16498 = sext i16 %16497 to i32
%16499 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16484, i32 %16486, i32 %16488, i32 %16490, i32 %16492, i32 %16494, i32 %16496, i32 %16498)
%16500 = icmp sle i32 0, %16499
br i1 %16500, label %16501, label %16503
16501: ; preds = %16480
%16502 = load i16, i16* %21
store i16 %16502, i16* %9
br label %18762
16503: ; preds = %16480
%16504 = load i16, i16* %10
store i16 %16504, i16* %18
%16505 = load i16, i16* %14
%16506 = sext i16 %16505 to i32
%16507 = icmp eq i32 %16506, 0
br i1 %16507, label %16508, label %16509
16508: ; preds = %16503
br label %16513
16509: ; preds = %16503
%16510 = load i16, i16* %14
%16511 = sext i16 %16510 to i32
%16512 = sub nsw i32 25, %16511
br label %16513
16513: ; preds = %16509, %16508
%16514 = phi i32 [ 0, %16508 ], [ %16512, %16509 ]
%16515 = trunc i32 %16514 to i16
store i16 %16515, i16* %10
%16516 = load i16, i16* %18
%16517 = sext i16 %16516 to i32
%16518 = icmp eq i32 %16517, 0
br i1 %16518, label %16519, label %16520
16519: ; preds = %16513
br label %16524
16520: ; preds = %16513
%16521 = load i16, i16* %18
%16522 = sext i16 %16521 to i32
%16523 = sub nsw i32 25, %16522
br label %16524
16524: ; preds = %16520, %16519
%16525 = phi i32 [ 0, %16519 ], [ %16523, %16520 ]
%16526 = trunc i32 %16525 to i16
store i16 %16526, i16* %14
%16527 = load i16, i16* %11
store i16 %16527, i16* %18
%16528 = load i16, i16* %15
%16529 = sext i16 %16528 to i32
%16530 = icmp eq i32 %16529, 0
br i1 %16530, label %16531, label %16532
16531: ; preds = %16524
br label %16536
16532: ; preds = %16524
%16533 = load i16, i16* %15
%16534 = sext i16 %16533 to i32
%16535 = sub nsw i32 25, %16534
br label %16536
16536: ; preds = %16532, %16531
%16537 = phi i32 [ 0, %16531 ], [ %16535, %16532 ]
%16538 = trunc i32 %16537 to i16
store i16 %16538, i16* %11
%16539 = load i16, i16* %18
%16540 = sext i16 %16539 to i32
%16541 = icmp eq i32 %16540, 0
br i1 %16541, label %16542, label %16543
16542: ; preds = %16536
br label %16547
16543: ; preds = %16536
%16544 = load i16, i16* %18
%16545 = sext i16 %16544 to i32
%16546 = sub nsw i32 25, %16545
br label %16547
16547: ; preds = %16543, %16542
%16548 = phi i32 [ 0, %16542 ], [ %16546, %16543 ]
%16549 = trunc i32 %16548 to i16
store i16 %16549, i16* %15
%16550 = load i16, i16* %12
store i16 %16550, i16* %18
%16551 = load i16, i16* %16
%16552 = sext i16 %16551 to i32
%16553 = icmp eq i32 %16552, 0
br i1 %16553, label %16554, label %16555
16554: ; preds = %16547
br label %16559
16555: ; preds = %16547
%16556 = load i16, i16* %16
%16557 = sext i16 %16556 to i32
%16558 = sub nsw i32 25, %16557
br label %16559
16559: ; preds = %16555, %16554
%16560 = phi i32 [ 0, %16554 ], [ %16558, %16555 ]
%16561 = trunc i32 %16560 to i16
store i16 %16561, i16* %12
%16562 = load i16, i16* %18
%16563 = sext i16 %16562 to i32
%16564 = icmp eq i32 %16563, 0
br i1 %16564, label %16565, label %16566
16565: ; preds = %16559
br label %16570
16566: ; preds = %16559
%16567 = load i16, i16* %18
%16568 = sext i16 %16567 to i32
%16569 = sub nsw i32 25, %16568
br label %16570
16570: ; preds = %16566, %16565
%16571 = phi i32 [ 0, %16565 ], [ %16569, %16566 ]
%16572 = trunc i32 %16571 to i16
store i16 %16572, i16* %16
%16573 = load i16, i16* %13
store i16 %16573, i16* %18
%16574 = load i16, i16* %17
%16575 = sext i16 %16574 to i32
%16576 = icmp eq i32 %16575, 0
br i1 %16576, label %16577, label %16578
16577: ; preds = %16570
br label %16582
16578: ; preds = %16570
%16579 = load i16, i16* %17
%16580 = sext i16 %16579 to i32
%16581 = sub nsw i32 25, %16580
br label %16582
16582: ; preds = %16578, %16577
%16583 = phi i32 [ 0, %16577 ], [ %16581, %16578 ]
%16584 = trunc i32 %16583 to i16
store i16 %16584, i16* %13
%16585 = load i16, i16* %18
%16586 = sext i16 %16585 to i32
%16587 = icmp eq i32 %16586, 0
br i1 %16587, label %16588, label %16589
16588: ; preds = %16582
br label %16593
16589: ; preds = %16582
%16590 = load i16, i16* %18
%16591 = sext i16 %16590 to i32
%16592 = sub nsw i32 25, %16591
br label %16593
16593: ; preds = %16589, %16588
%16594 = phi i32 [ 0, %16588 ], [ %16592, %16589 ]
%16595 = trunc i32 %16594 to i16
store i16 %16595, i16* %17
%16596 = load i16, i16* %20
store i16 %16596, i16* %16
br label %16803
16597: ; preds = %16383
%16598 = load i16, i16* %10
store i16 %16598, i16* %18
%16599 = load i16, i16* %14
%16600 = sext i16 %16599 to i32
%16601 = icmp eq i32 %16600, 0
br i1 %16601, label %16602, label %16603
16602: ; preds = %16597
br label %16607
16603: ; preds = %16597
%16604 = load i16, i16* %14
%16605 = sext i16 %16604 to i32
%16606 = sub nsw i32 25, %16605
br label %16607
16607: ; preds = %16603, %16602
%16608 = phi i32 [ 0, %16602 ], [ %16606, %16603 ]
%16609 = trunc i32 %16608 to i16
store i16 %16609, i16* %10
%16610 = load i16, i16* %18
%16611 = sext i16 %16610 to i32
%16612 = icmp eq i32 %16611, 0
br i1 %16612, label %16613, label %16614
16613: ; preds = %16607
br label %16618
16614: ; preds = %16607
%16615 = load i16, i16* %18
%16616 = sext i16 %16615 to i32
%16617 = sub nsw i32 25, %16616
br label %16618
16618: ; preds = %16614, %16613
%16619 = phi i32 [ 0, %16613 ], [ %16617, %16614 ]
%16620 = trunc i32 %16619 to i16
store i16 %16620, i16* %14
%16621 = load i16, i16* %11
store i16 %16621, i16* %18
%16622 = load i16, i16* %15
%16623 = sext i16 %16622 to i32
%16624 = icmp eq i32 %16623, 0
br i1 %16624, label %16625, label %16626
16625: ; preds = %16618
br label %16630
16626: ; preds = %16618
%16627 = load i16, i16* %15
%16628 = sext i16 %16627 to i32
%16629 = sub nsw i32 25, %16628
br label %16630
16630: ; preds = %16626, %16625
%16631 = phi i32 [ 0, %16625 ], [ %16629, %16626 ]
%16632 = trunc i32 %16631 to i16
store i16 %16632, i16* %11
%16633 = load i16, i16* %18
%16634 = sext i16 %16633 to i32
%16635 = icmp eq i32 %16634, 0
br i1 %16635, label %16636, label %16637
16636: ; preds = %16630
br label %16641
16637: ; preds = %16630
%16638 = load i16, i16* %18
%16639 = sext i16 %16638 to i32
%16640 = sub nsw i32 25, %16639
br label %16641
16641: ; preds = %16637, %16636
%16642 = phi i32 [ 0, %16636 ], [ %16640, %16637 ]
%16643 = trunc i32 %16642 to i16
store i16 %16643, i16* %15
%16644 = load i16, i16* %12
store i16 %16644, i16* %18
%16645 = load i16, i16* %16
%16646 = sext i16 %16645 to i32
%16647 = icmp eq i32 %16646, 0
br i1 %16647, label %16648, label %16649
16648: ; preds = %16641
br label %16653
16649: ; preds = %16641
%16650 = load i16, i16* %16
%16651 = sext i16 %16650 to i32
%16652 = sub nsw i32 25, %16651
br label %16653
16653: ; preds = %16649, %16648
%16654 = phi i32 [ 0, %16648 ], [ %16652, %16649 ]
%16655 = trunc i32 %16654 to i16
store i16 %16655, i16* %12
%16656 = load i16, i16* %18
%16657 = sext i16 %16656 to i32
%16658 = icmp eq i32 %16657, 0
br i1 %16658, label %16659, label %16660
16659: ; preds = %16653
br label %16664
16660: ; preds = %16653
%16661 = load i16, i16* %18
%16662 = sext i16 %16661 to i32
%16663 = sub nsw i32 25, %16662
br label %16664
16664: ; preds = %16660, %16659
%16665 = phi i32 [ 0, %16659 ], [ %16663, %16660 ]
%16666 = trunc i32 %16665 to i16
store i16 %16666, i16* %16
%16667 = load i16, i16* %13
store i16 %16667, i16* %18
%16668 = load i16, i16* %17
%16669 = sext i16 %16668 to i32
%16670 = icmp eq i32 %16669, 0
br i1 %16670, label %16671, label %16672
16671: ; preds = %16664
br label %16676
16672: ; preds = %16664
%16673 = load i16, i16* %17
%16674 = sext i16 %16673 to i32
%16675 = sub nsw i32 25, %16674
br label %16676
16676: ; preds = %16672, %16671
%16677 = phi i32 [ 0, %16671 ], [ %16675, %16672 ]
%16678 = trunc i32 %16677 to i16
store i16 %16678, i16* %13
%16679 = load i16, i16* %18
%16680 = sext i16 %16679 to i32
%16681 = icmp eq i32 %16680, 0
br i1 %16681, label %16682, label %16683
16682: ; preds = %16676
br label %16687
16683: ; preds = %16676
%16684 = load i16, i16* %18
%16685 = sext i16 %16684 to i32
%16686 = sub nsw i32 25, %16685
br label %16687
16687: ; preds = %16683, %16682
%16688 = phi i32 [ 0, %16682 ], [ %16686, %16683 ]
%16689 = trunc i32 %16688 to i16
store i16 %16689, i16* %17
%16690 = load i16, i16* %10
%16691 = sext i16 %16690 to i32
%16692 = load i16, i16* %11
%16693 = sext i16 %16692 to i32
%16694 = load i16, i16* %12
%16695 = sext i16 %16694 to i32
%16696 = load i16, i16* %13
%16697 = sext i16 %16696 to i32
%16698 = load i16, i16* %14
%16699 = sext i16 %16698 to i32
%16700 = load i16, i16* %15
%16701 = sext i16 %16700 to i32
%16702 = load i16, i16* %16
%16703 = sext i16 %16702 to i32
%16704 = load i16, i16* %17
%16705 = sext i16 %16704 to i32
%16706 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16691, i32 %16693, i32 %16695, i32 %16697, i32 %16699, i32 %16701, i32 %16703, i32 %16705)
%16707 = icmp sle i32 0, %16706
br i1 %16707, label %16708, label %16710
16708: ; preds = %16687
%16709 = load i16, i16* %21
store i16 %16709, i16* %9
br label %18762
16710: ; preds = %16687
%16711 = load i16, i16* %10
store i16 %16711, i16* %18
%16712 = load i16, i16* %14
%16713 = sext i16 %16712 to i32
%16714 = icmp eq i32 %16713, 0
br i1 %16714, label %16715, label %16716
16715: ; preds = %16710
br label %16720
16716: ; preds = %16710
%16717 = load i16, i16* %14
%16718 = sext i16 %16717 to i32
%16719 = sub nsw i32 25, %16718
br label %16720
16720: ; preds = %16716, %16715
%16721 = phi i32 [ 0, %16715 ], [ %16719, %16716 ]
%16722 = trunc i32 %16721 to i16
store i16 %16722, i16* %10
%16723 = load i16, i16* %18
%16724 = sext i16 %16723 to i32
%16725 = icmp eq i32 %16724, 0
br i1 %16725, label %16726, label %16727
16726: ; preds = %16720
br label %16731
16727: ; preds = %16720
%16728 = load i16, i16* %18
%16729 = sext i16 %16728 to i32
%16730 = sub nsw i32 25, %16729
br label %16731
16731: ; preds = %16727, %16726
%16732 = phi i32 [ 0, %16726 ], [ %16730, %16727 ]
%16733 = trunc i32 %16732 to i16
store i16 %16733, i16* %14
%16734 = load i16, i16* %11
store i16 %16734, i16* %18
%16735 = load i16, i16* %15
%16736 = sext i16 %16735 to i32
%16737 = icmp eq i32 %16736, 0
br i1 %16737, label %16738, label %16739
16738: ; preds = %16731
br label %16743
16739: ; preds = %16731
%16740 = load i16, i16* %15
%16741 = sext i16 %16740 to i32
%16742 = sub nsw i32 25, %16741
br label %16743
16743: ; preds = %16739, %16738
%16744 = phi i32 [ 0, %16738 ], [ %16742, %16739 ]
%16745 = trunc i32 %16744 to i16
store i16 %16745, i16* %11
%16746 = load i16, i16* %18
%16747 = sext i16 %16746 to i32
%16748 = icmp eq i32 %16747, 0
br i1 %16748, label %16749, label %16750
16749: ; preds = %16743
br label %16754
16750: ; preds = %16743
%16751 = load i16, i16* %18
%16752 = sext i16 %16751 to i32
%16753 = sub nsw i32 25, %16752
br label %16754
16754: ; preds = %16750, %16749
%16755 = phi i32 [ 0, %16749 ], [ %16753, %16750 ]
%16756 = trunc i32 %16755 to i16
store i16 %16756, i16* %15
%16757 = load i16, i16* %12
store i16 %16757, i16* %18
%16758 = load i16, i16* %16
%16759 = sext i16 %16758 to i32
%16760 = icmp eq i32 %16759, 0
br i1 %16760, label %16761, label %16762
16761: ; preds = %16754
br label %16766
16762: ; preds = %16754
%16763 = load i16, i16* %16
%16764 = sext i16 %16763 to i32
%16765 = sub nsw i32 25, %16764
br label %16766
16766: ; preds = %16762, %16761
%16767 = phi i32 [ 0, %16761 ], [ %16765, %16762 ]
%16768 = trunc i32 %16767 to i16
store i16 %16768, i16* %12
%16769 = load i16, i16* %18
%16770 = sext i16 %16769 to i32
%16771 = icmp eq i32 %16770, 0
br i1 %16771, label %16772, label %16773
16772: ; preds = %16766
br label %16777
16773: ; preds = %16766
%16774 = load i16, i16* %18
%16775 = sext i16 %16774 to i32
%16776 = sub nsw i32 25, %16775
br label %16777
16777: ; preds = %16773, %16772
%16778 = phi i32 [ 0, %16772 ], [ %16776, %16773 ]
%16779 = trunc i32 %16778 to i16
store i16 %16779, i16* %16
%16780 = load i16, i16* %13
store i16 %16780, i16* %18
%16781 = load i16, i16* %17
%16782 = sext i16 %16781 to i32
%16783 = icmp eq i32 %16782, 0
br i1 %16783, label %16784, label %16785
16784: ; preds = %16777
br label %16789
16785: ; preds = %16777
%16786 = load i16, i16* %17
%16787 = sext i16 %16786 to i32
%16788 = sub nsw i32 25, %16787
br label %16789
16789: ; preds = %16785, %16784
%16790 = phi i32 [ 0, %16784 ], [ %16788, %16785 ]
%16791 = trunc i32 %16790 to i16
store i16 %16791, i16* %13
%16792 = load i16, i16* %18
%16793 = sext i16 %16792 to i32
%16794 = icmp eq i32 %16793, 0
br i1 %16794, label %16795, label %16796
16795: ; preds = %16789
br label %16800
16796: ; preds = %16789
%16797 = load i16, i16* %18
%16798 = sext i16 %16797 to i32
%16799 = sub nsw i32 25, %16798
br label %16800
16800: ; preds = %16796, %16795
%16801 = phi i32 [ 0, %16795 ], [ %16799, %16796 ]
%16802 = trunc i32 %16801 to i16
store i16 %16802, i16* %17
br label %16803
16803: ; preds = %16800, %16593
%16804 = load i16, i16* %19
store i16 %16804, i16* %13
br label %16805
16805: ; preds = %16803, %16377, %16371, %16365, %16359, %16353, %16342
br label %16806
16806: ; preds = %16805, %16337, %16333, %16329
br label %18730
16807: ; preds = %16325
%16808 = load i16, i16* %21
%16809 = sext i16 %16808 to i32
%16810 = icmp eq i32 %16809, 28
br i1 %16810, label %16811, label %17284
16811: ; preds = %16807
%16812 = load i16, i16* %13
%16813 = sext i16 %16812 to i32
%16814 = icmp ne i32 %16813, 0
br i1 %16814, label %16815, label %17283
16815: ; preds = %16811
%16816 = load i16, i16* %13
%16817 = sext i16 %16816 to i32
%16818 = icmp slt i32 4, %16817
br i1 %16818, label %16819, label %17283
16819: ; preds = %16815
%16820 = load i16, i16* %13
store i16 %16820, i16* %19
%16821 = load i16, i16* %19
%16822 = sext i16 %16821 to i32
%16823 = sub nsw i32 %16822, 4
%16824 = trunc i32 %16823 to i16
store i16 %16824, i16* %20
%16825 = load i16, i16* %20
%16826 = sext i16 %16825 to i32
%16827 = load i16, i16* %10
%16828 = sext i16 %16827 to i32
%16829 = icmp ne i32 %16826, %16828
br i1 %16829, label %16830, label %17282
16830: ; preds = %16819
%16831 = load i16, i16* %20
%16832 = sext i16 %16831 to i32
%16833 = load i16, i16* %11
%16834 = sext i16 %16833 to i32
%16835 = icmp ne i32 %16832, %16834
br i1 %16835, label %16836, label %17282
16836: ; preds = %16830
%16837 = load i16, i16* %20
%16838 = sext i16 %16837 to i32
%16839 = load i16, i16* %12
%16840 = sext i16 %16839 to i32
%16841 = icmp ne i32 %16838, %16840
br i1 %16841, label %16842, label %17282
16842: ; preds = %16836
%16843 = load i16, i16* %20
%16844 = sext i16 %16843 to i32
%16845 = load i16, i16* %14
%16846 = sext i16 %16845 to i32
%16847 = icmp ne i32 %16844, %16846
br i1 %16847, label %16848, label %17282
16848: ; preds = %16842
%16849 = load i16, i16* %20
%16850 = sext i16 %16849 to i32
%16851 = load i16, i16* %15
%16852 = sext i16 %16851 to i32
%16853 = icmp ne i32 %16850, %16852
br i1 %16853, label %16854, label %17282
16854: ; preds = %16848
%16855 = load i16, i16* %20
%16856 = sext i16 %16855 to i32
%16857 = load i16, i16* %17
%16858 = sext i16 %16857 to i32
%16859 = icmp ne i32 %16856, %16858
br i1 %16859, label %16860, label %17282
16860: ; preds = %16854
%16861 = load i16, i16* %20
store i16 %16861, i16* %13
%16862 = load i16, i16* %16
%16863 = sext i16 %16862 to i32
%16864 = load i16, i16* %20
%16865 = sext i16 %16864 to i32
%16866 = icmp eq i32 %16863, %16865
br i1 %16866, label %16867, label %17074
16867: ; preds = %16860
store i16 0, i16* %16
%16868 = load i16, i16* %10
store i16 %16868, i16* %18
%16869 = load i16, i16* %14
%16870 = sext i16 %16869 to i32
%16871 = icmp eq i32 %16870, 0
br i1 %16871, label %16872, label %16873
16872: ; preds = %16867
br label %16877
16873: ; preds = %16867
%16874 = load i16, i16* %14
%16875 = sext i16 %16874 to i32
%16876 = sub nsw i32 25, %16875
br label %16877
16877: ; preds = %16873, %16872
%16878 = phi i32 [ 0, %16872 ], [ %16876, %16873 ]
%16879 = trunc i32 %16878 to i16
store i16 %16879, i16* %10
%16880 = load i16, i16* %18
%16881 = sext i16 %16880 to i32
%16882 = icmp eq i32 %16881, 0
br i1 %16882, label %16883, label %16884
16883: ; preds = %16877
br label %16888
16884: ; preds = %16877
%16885 = load i16, i16* %18
%16886 = sext i16 %16885 to i32
%16887 = sub nsw i32 25, %16886
br label %16888
16888: ; preds = %16884, %16883
%16889 = phi i32 [ 0, %16883 ], [ %16887, %16884 ]
%16890 = trunc i32 %16889 to i16
store i16 %16890, i16* %14
%16891 = load i16, i16* %11
store i16 %16891, i16* %18
%16892 = load i16, i16* %15
%16893 = sext i16 %16892 to i32
%16894 = icmp eq i32 %16893, 0
br i1 %16894, label %16895, label %16896
16895: ; preds = %16888
br label %16900
16896: ; preds = %16888
%16897 = load i16, i16* %15
%16898 = sext i16 %16897 to i32
%16899 = sub nsw i32 25, %16898
br label %16900
16900: ; preds = %16896, %16895
%16901 = phi i32 [ 0, %16895 ], [ %16899, %16896 ]
%16902 = trunc i32 %16901 to i16
store i16 %16902, i16* %11
%16903 = load i16, i16* %18
%16904 = sext i16 %16903 to i32
%16905 = icmp eq i32 %16904, 0
br i1 %16905, label %16906, label %16907
16906: ; preds = %16900
br label %16911
16907: ; preds = %16900
%16908 = load i16, i16* %18
%16909 = sext i16 %16908 to i32
%16910 = sub nsw i32 25, %16909
br label %16911
16911: ; preds = %16907, %16906
%16912 = phi i32 [ 0, %16906 ], [ %16910, %16907 ]
%16913 = trunc i32 %16912 to i16
store i16 %16913, i16* %15
%16914 = load i16, i16* %12
store i16 %16914, i16* %18
%16915 = load i16, i16* %16
%16916 = sext i16 %16915 to i32
%16917 = icmp eq i32 %16916, 0
br i1 %16917, label %16918, label %16919
16918: ; preds = %16911
br label %16923
16919: ; preds = %16911
%16920 = load i16, i16* %16
%16921 = sext i16 %16920 to i32
%16922 = sub nsw i32 25, %16921
br label %16923
16923: ; preds = %16919, %16918
%16924 = phi i32 [ 0, %16918 ], [ %16922, %16919 ]
%16925 = trunc i32 %16924 to i16
store i16 %16925, i16* %12
%16926 = load i16, i16* %18
%16927 = sext i16 %16926 to i32
%16928 = icmp eq i32 %16927, 0
br i1 %16928, label %16929, label %16930
16929: ; preds = %16923
br label %16934
16930: ; preds = %16923
%16931 = load i16, i16* %18
%16932 = sext i16 %16931 to i32
%16933 = sub nsw i32 25, %16932
br label %16934
16934: ; preds = %16930, %16929
%16935 = phi i32 [ 0, %16929 ], [ %16933, %16930 ]
%16936 = trunc i32 %16935 to i16
store i16 %16936, i16* %16
%16937 = load i16, i16* %13
store i16 %16937, i16* %18
%16938 = load i16, i16* %17
%16939 = sext i16 %16938 to i32
%16940 = icmp eq i32 %16939, 0
br i1 %16940, label %16941, label %16942
16941: ; preds = %16934
br label %16946
16942: ; preds = %16934
%16943 = load i16, i16* %17
%16944 = sext i16 %16943 to i32
%16945 = sub nsw i32 25, %16944
br label %16946
16946: ; preds = %16942, %16941
%16947 = phi i32 [ 0, %16941 ], [ %16945, %16942 ]
%16948 = trunc i32 %16947 to i16
store i16 %16948, i16* %13
%16949 = load i16, i16* %18
%16950 = sext i16 %16949 to i32
%16951 = icmp eq i32 %16950, 0
br i1 %16951, label %16952, label %16953
16952: ; preds = %16946
br label %16957
16953: ; preds = %16946
%16954 = load i16, i16* %18
%16955 = sext i16 %16954 to i32
%16956 = sub nsw i32 25, %16955
br label %16957
16957: ; preds = %16953, %16952
%16958 = phi i32 [ 0, %16952 ], [ %16956, %16953 ]
%16959 = trunc i32 %16958 to i16
store i16 %16959, i16* %17
%16960 = load i16, i16* %10
%16961 = sext i16 %16960 to i32
%16962 = load i16, i16* %11
%16963 = sext i16 %16962 to i32
%16964 = load i16, i16* %12
%16965 = sext i16 %16964 to i32
%16966 = load i16, i16* %13
%16967 = sext i16 %16966 to i32
%16968 = load i16, i16* %14
%16969 = sext i16 %16968 to i32
%16970 = load i16, i16* %15
%16971 = sext i16 %16970 to i32
%16972 = load i16, i16* %16
%16973 = sext i16 %16972 to i32
%16974 = load i16, i16* %17
%16975 = sext i16 %16974 to i32
%16976 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16961, i32 %16963, i32 %16965, i32 %16967, i32 %16969, i32 %16971, i32 %16973, i32 %16975)
%16977 = icmp sle i32 0, %16976
br i1 %16977, label %16978, label %16980
16978: ; preds = %16957
%16979 = load i16, i16* %21
store i16 %16979, i16* %9
br label %18762
16980: ; preds = %16957
%16981 = load i16, i16* %10
store i16 %16981, i16* %18
%16982 = load i16, i16* %14
%16983 = sext i16 %16982 to i32
%16984 = icmp eq i32 %16983, 0
br i1 %16984, label %16985, label %16986
16985: ; preds = %16980
br label %16990
16986: ; preds = %16980
%16987 = load i16, i16* %14
%16988 = sext i16 %16987 to i32
%16989 = sub nsw i32 25, %16988
br label %16990
16990: ; preds = %16986, %16985
%16991 = phi i32 [ 0, %16985 ], [ %16989, %16986 ]
%16992 = trunc i32 %16991 to i16
store i16 %16992, i16* %10
%16993 = load i16, i16* %18
%16994 = sext i16 %16993 to i32
%16995 = icmp eq i32 %16994, 0
br i1 %16995, label %16996, label %16997
16996: ; preds = %16990
br label %17001
16997: ; preds = %16990
%16998 = load i16, i16* %18
%16999 = sext i16 %16998 to i32
%17000 = sub nsw i32 25, %16999
br label %17001
17001: ; preds = %16997, %16996
%17002 = phi i32 [ 0, %16996 ], [ %17000, %16997 ]
%17003 = trunc i32 %17002 to i16
store i16 %17003, i16* %14
%17004 = load i16, i16* %11
store i16 %17004, i16* %18
%17005 = load i16, i16* %15
%17006 = sext i16 %17005 to i32
%17007 = icmp eq i32 %17006, 0
br i1 %17007, label %17008, label %17009
17008: ; preds = %17001
br label %17013
17009: ; preds = %17001
%17010 = load i16, i16* %15
%17011 = sext i16 %17010 to i32
%17012 = sub nsw i32 25, %17011
br label %17013
17013: ; preds = %17009, %17008
%17014 = phi i32 [ 0, %17008 ], [ %17012, %17009 ]
%17015 = trunc i32 %17014 to i16
store i16 %17015, i16* %11
%17016 = load i16, i16* %18
%17017 = sext i16 %17016 to i32
%17018 = icmp eq i32 %17017, 0
br i1 %17018, label %17019, label %17020
17019: ; preds = %17013
br label %17024
17020: ; preds = %17013
%17021 = load i16, i16* %18
%17022 = sext i16 %17021 to i32
%17023 = sub nsw i32 25, %17022
br label %17024
17024: ; preds = %17020, %17019
%17025 = phi i32 [ 0, %17019 ], [ %17023, %17020 ]
%17026 = trunc i32 %17025 to i16
store i16 %17026, i16* %15
%17027 = load i16, i16* %12
store i16 %17027, i16* %18
%17028 = load i16, i16* %16
%17029 = sext i16 %17028 to i32
%17030 = icmp eq i32 %17029, 0
br i1 %17030, label %17031, label %17032
17031: ; preds = %17024
br label %17036
17032: ; preds = %17024
%17033 = load i16, i16* %16
%17034 = sext i16 %17033 to i32
%17035 = sub nsw i32 25, %17034
br label %17036
17036: ; preds = %17032, %17031
%17037 = phi i32 [ 0, %17031 ], [ %17035, %17032 ]
%17038 = trunc i32 %17037 to i16
store i16 %17038, i16* %12
%17039 = load i16, i16* %18
%17040 = sext i16 %17039 to i32
%17041 = icmp eq i32 %17040, 0
br i1 %17041, label %17042, label %17043
17042: ; preds = %17036
br label %17047
17043: ; preds = %17036
%17044 = load i16, i16* %18
%17045 = sext i16 %17044 to i32
%17046 = sub nsw i32 25, %17045
br label %17047
17047: ; preds = %17043, %17042
%17048 = phi i32 [ 0, %17042 ], [ %17046, %17043 ]
%17049 = trunc i32 %17048 to i16
store i16 %17049, i16* %16
%17050 = load i16, i16* %13
store i16 %17050, i16* %18
%17051 = load i16, i16* %17
%17052 = sext i16 %17051 to i32
%17053 = icmp eq i32 %17052, 0
br i1 %17053, label %17054, label %17055
17054: ; preds = %17047
br label %17059
17055: ; preds = %17047
%17056 = load i16, i16* %17
%17057 = sext i16 %17056 to i32
%17058 = sub nsw i32 25, %17057
br label %17059
17059: ; preds = %17055, %17054
%17060 = phi i32 [ 0, %17054 ], [ %17058, %17055 ]
%17061 = trunc i32 %17060 to i16
store i16 %17061, i16* %13
%17062 = load i16, i16* %18
%17063 = sext i16 %17062 to i32
%17064 = icmp eq i32 %17063, 0
br i1 %17064, label %17065, label %17066
17065: ; preds = %17059
br label %17070
17066: ; preds = %17059
%17067 = load i16, i16* %18
%17068 = sext i16 %17067 to i32
%17069 = sub nsw i32 25, %17068
br label %17070
17070: ; preds = %17066, %17065
%17071 = phi i32 [ 0, %17065 ], [ %17069, %17066 ]
%17072 = trunc i32 %17071 to i16
store i16 %17072, i16* %17
%17073 = load i16, i16* %20
store i16 %17073, i16* %16
br label %17280
17074: ; preds = %16860
%17075 = load i16, i16* %10
store i16 %17075, i16* %18
%17076 = load i16, i16* %14
%17077 = sext i16 %17076 to i32
%17078 = icmp eq i32 %17077, 0
br i1 %17078, label %17079, label %17080
17079: ; preds = %17074
br label %17084
17080: ; preds = %17074
%17081 = load i16, i16* %14
%17082 = sext i16 %17081 to i32
%17083 = sub nsw i32 25, %17082
br label %17084
17084: ; preds = %17080, %17079
%17085 = phi i32 [ 0, %17079 ], [ %17083, %17080 ]
%17086 = trunc i32 %17085 to i16
store i16 %17086, i16* %10
%17087 = load i16, i16* %18
%17088 = sext i16 %17087 to i32
%17089 = icmp eq i32 %17088, 0
br i1 %17089, label %17090, label %17091
17090: ; preds = %17084
br label %17095
17091: ; preds = %17084
%17092 = load i16, i16* %18
%17093 = sext i16 %17092 to i32
%17094 = sub nsw i32 25, %17093
br label %17095
17095: ; preds = %17091, %17090
%17096 = phi i32 [ 0, %17090 ], [ %17094, %17091 ]
%17097 = trunc i32 %17096 to i16
store i16 %17097, i16* %14
%17098 = load i16, i16* %11
store i16 %17098, i16* %18
%17099 = load i16, i16* %15
%17100 = sext i16 %17099 to i32
%17101 = icmp eq i32 %17100, 0
br i1 %17101, label %17102, label %17103
17102: ; preds = %17095
br label %17107
17103: ; preds = %17095
%17104 = load i16, i16* %15
%17105 = sext i16 %17104 to i32
%17106 = sub nsw i32 25, %17105
br label %17107
17107: ; preds = %17103, %17102
%17108 = phi i32 [ 0, %17102 ], [ %17106, %17103 ]
%17109 = trunc i32 %17108 to i16
store i16 %17109, i16* %11
%17110 = load i16, i16* %18
%17111 = sext i16 %17110 to i32
%17112 = icmp eq i32 %17111, 0
br i1 %17112, label %17113, label %17114
17113: ; preds = %17107
br label %17118
17114: ; preds = %17107
%17115 = load i16, i16* %18
%17116 = sext i16 %17115 to i32
%17117 = sub nsw i32 25, %17116
br label %17118
17118: ; preds = %17114, %17113
%17119 = phi i32 [ 0, %17113 ], [ %17117, %17114 ]
%17120 = trunc i32 %17119 to i16
store i16 %17120, i16* %15
%17121 = load i16, i16* %12
store i16 %17121, i16* %18
%17122 = load i16, i16* %16
%17123 = sext i16 %17122 to i32
%17124 = icmp eq i32 %17123, 0
br i1 %17124, label %17125, label %17126
17125: ; preds = %17118
br label %17130
17126: ; preds = %17118
%17127 = load i16, i16* %16
%17128 = sext i16 %17127 to i32
%17129 = sub nsw i32 25, %17128
br label %17130
17130: ; preds = %17126, %17125
%17131 = phi i32 [ 0, %17125 ], [ %17129, %17126 ]
%17132 = trunc i32 %17131 to i16
store i16 %17132, i16* %12
%17133 = load i16, i16* %18
%17134 = sext i16 %17133 to i32
%17135 = icmp eq i32 %17134, 0
br i1 %17135, label %17136, label %17137
17136: ; preds = %17130
br label %17141
17137: ; preds = %17130
%17138 = load i16, i16* %18
%17139 = sext i16 %17138 to i32
%17140 = sub nsw i32 25, %17139
br label %17141
17141: ; preds = %17137, %17136
%17142 = phi i32 [ 0, %17136 ], [ %17140, %17137 ]
%17143 = trunc i32 %17142 to i16
store i16 %17143, i16* %16
%17144 = load i16, i16* %13
store i16 %17144, i16* %18
%17145 = load i16, i16* %17
%17146 = sext i16 %17145 to i32
%17147 = icmp eq i32 %17146, 0
br i1 %17147, label %17148, label %17149
17148: ; preds = %17141
br label %17153
17149: ; preds = %17141
%17150 = load i16, i16* %17
%17151 = sext i16 %17150 to i32
%17152 = sub nsw i32 25, %17151
br label %17153
17153: ; preds = %17149, %17148
%17154 = phi i32 [ 0, %17148 ], [ %17152, %17149 ]
%17155 = trunc i32 %17154 to i16
store i16 %17155, i16* %13
%17156 = load i16, i16* %18
%17157 = sext i16 %17156 to i32
%17158 = icmp eq i32 %17157, 0
br i1 %17158, label %17159, label %17160
17159: ; preds = %17153
br label %17164
17160: ; preds = %17153
%17161 = load i16, i16* %18
%17162 = sext i16 %17161 to i32
%17163 = sub nsw i32 25, %17162
br label %17164
17164: ; preds = %17160, %17159
%17165 = phi i32 [ 0, %17159 ], [ %17163, %17160 ]
%17166 = trunc i32 %17165 to i16
store i16 %17166, i16* %17
%17167 = load i16, i16* %10
%17168 = sext i16 %17167 to i32
%17169 = load i16, i16* %11
%17170 = sext i16 %17169 to i32
%17171 = load i16, i16* %12
%17172 = sext i16 %17171 to i32
%17173 = load i16, i16* %13
%17174 = sext i16 %17173 to i32
%17175 = load i16, i16* %14
%17176 = sext i16 %17175 to i32
%17177 = load i16, i16* %15
%17178 = sext i16 %17177 to i32
%17179 = load i16, i16* %16
%17180 = sext i16 %17179 to i32
%17181 = load i16, i16* %17
%17182 = sext i16 %17181 to i32
%17183 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17168, i32 %17170, i32 %17172, i32 %17174, i32 %17176, i32 %17178, i32 %17180, i32 %17182)
%17184 = icmp sle i32 0, %17183
br i1 %17184, label %17185, label %17187
17185: ; preds = %17164
%17186 = load i16, i16* %21
store i16 %17186, i16* %9
br label %18762
17187: ; preds = %17164
%17188 = load i16, i16* %10
store i16 %17188, i16* %18
%17189 = load i16, i16* %14
%17190 = sext i16 %17189 to i32
%17191 = icmp eq i32 %17190, 0
br i1 %17191, label %17192, label %17193
17192: ; preds = %17187
br label %17197
17193: ; preds = %17187
%17194 = load i16, i16* %14
%17195 = sext i16 %17194 to i32
%17196 = sub nsw i32 25, %17195
br label %17197
17197: ; preds = %17193, %17192
%17198 = phi i32 [ 0, %17192 ], [ %17196, %17193 ]
%17199 = trunc i32 %17198 to i16
store i16 %17199, i16* %10
%17200 = load i16, i16* %18
%17201 = sext i16 %17200 to i32
%17202 = icmp eq i32 %17201, 0
br i1 %17202, label %17203, label %17204
17203: ; preds = %17197
br label %17208
17204: ; preds = %17197
%17205 = load i16, i16* %18
%17206 = sext i16 %17205 to i32
%17207 = sub nsw i32 25, %17206
br label %17208
17208: ; preds = %17204, %17203
%17209 = phi i32 [ 0, %17203 ], [ %17207, %17204 ]
%17210 = trunc i32 %17209 to i16
store i16 %17210, i16* %14
%17211 = load i16, i16* %11
store i16 %17211, i16* %18
%17212 = load i16, i16* %15
%17213 = sext i16 %17212 to i32
%17214 = icmp eq i32 %17213, 0
br i1 %17214, label %17215, label %17216
17215: ; preds = %17208
br label %17220
17216: ; preds = %17208
%17217 = load i16, i16* %15
%17218 = sext i16 %17217 to i32
%17219 = sub nsw i32 25, %17218
br label %17220
17220: ; preds = %17216, %17215
%17221 = phi i32 [ 0, %17215 ], [ %17219, %17216 ]
%17222 = trunc i32 %17221 to i16
store i16 %17222, i16* %11
%17223 = load i16, i16* %18
%17224 = sext i16 %17223 to i32
%17225 = icmp eq i32 %17224, 0
br i1 %17225, label %17226, label %17227
17226: ; preds = %17220
br label %17231
17227: ; preds = %17220
%17228 = load i16, i16* %18
%17229 = sext i16 %17228 to i32
%17230 = sub nsw i32 25, %17229
br label %17231
17231: ; preds = %17227, %17226
%17232 = phi i32 [ 0, %17226 ], [ %17230, %17227 ]
%17233 = trunc i32 %17232 to i16
store i16 %17233, i16* %15
%17234 = load i16, i16* %12
store i16 %17234, i16* %18
%17235 = load i16, i16* %16
%17236 = sext i16 %17235 to i32
%17237 = icmp eq i32 %17236, 0
br i1 %17237, label %17238, label %17239
17238: ; preds = %17231
br label %17243
17239: ; preds = %17231
%17240 = load i16, i16* %16
%17241 = sext i16 %17240 to i32
%17242 = sub nsw i32 25, %17241
br label %17243
17243: ; preds = %17239, %17238
%17244 = phi i32 [ 0, %17238 ], [ %17242, %17239 ]
%17245 = trunc i32 %17244 to i16
store i16 %17245, i16* %12
%17246 = load i16, i16* %18
%17247 = sext i16 %17246 to i32
%17248 = icmp eq i32 %17247, 0
br i1 %17248, label %17249, label %17250
17249: ; preds = %17243
br label %17254
17250: ; preds = %17243
%17251 = load i16, i16* %18
%17252 = sext i16 %17251 to i32
%17253 = sub nsw i32 25, %17252
br label %17254
17254: ; preds = %17250, %17249
%17255 = phi i32 [ 0, %17249 ], [ %17253, %17250 ]
%17256 = trunc i32 %17255 to i16
store i16 %17256, i16* %16
%17257 = load i16, i16* %13
store i16 %17257, i16* %18
%17258 = load i16, i16* %17
%17259 = sext i16 %17258 to i32
%17260 = icmp eq i32 %17259, 0
br i1 %17260, label %17261, label %17262
17261: ; preds = %17254
br label %17266
17262: ; preds = %17254
%17263 = load i16, i16* %17
%17264 = sext i16 %17263 to i32
%17265 = sub nsw i32 25, %17264
br label %17266
17266: ; preds = %17262, %17261
%17267 = phi i32 [ 0, %17261 ], [ %17265, %17262 ]
%17268 = trunc i32 %17267 to i16
store i16 %17268, i16* %13
%17269 = load i16, i16* %18
%17270 = sext i16 %17269 to i32
%17271 = icmp eq i32 %17270, 0
br i1 %17271, label %17272, label %17273
17272: ; preds = %17266
br label %17277
17273: ; preds = %17266
%17274 = load i16, i16* %18
%17275 = sext i16 %17274 to i32
%17276 = sub nsw i32 25, %17275
br label %17277
17277: ; preds = %17273, %17272
%17278 = phi i32 [ 0, %17272 ], [ %17276, %17273 ]
%17279 = trunc i32 %17278 to i16
store i16 %17279, i16* %17
br label %17280
17280: ; preds = %17277, %17070
%17281 = load i16, i16* %19
store i16 %17281, i16* %13
br label %17282
17282: ; preds = %17280, %16854, %16848, %16842, %16836, %16830, %16819
br label %17283
17283: ; preds = %17282, %16815, %16811
br label %18729
17284: ; preds = %16807
%17285 = load i16, i16* %21
%17286 = sext i16 %17285 to i32
%17287 = icmp eq i32 %17286, 29
br i1 %17287, label %17288, label %17766
17288: ; preds = %17284
%17289 = load i16, i16* %13
%17290 = sext i16 %17289 to i32
%17291 = icmp ne i32 %17290, 0
br i1 %17291, label %17292, label %17765
17292: ; preds = %17288
%17293 = load i16, i16* %13
%17294 = sext i16 %17293 to i32
%17295 = icmp slt i32 4, %17294
br i1 %17295, label %17296, label %17765
17296: ; preds = %17292
%17297 = load i16, i16* %13
%17298 = sext i16 %17297 to i32
%17299 = srem i32 %17298, 4
%17300 = icmp ne i32 %17299, 1
br i1 %17300, label %17301, label %17765
17301: ; preds = %17296
%17302 = load i16, i16* %13
store i16 %17302, i16* %19
%17303 = load i16, i16* %19
%17304 = sext i16 %17303 to i32
%17305 = sub nsw i32 %17304, 5
%17306 = trunc i32 %17305 to i16
store i16 %17306, i16* %20
%17307 = load i16, i16* %20
%17308 = sext i16 %17307 to i32
%17309 = load i16, i16* %10
%17310 = sext i16 %17309 to i32
%17311 = icmp ne i32 %17308, %17310
br i1 %17311, label %17312, label %17764
17312: ; preds = %17301
%17313 = load i16, i16* %20
%17314 = sext i16 %17313 to i32
%17315 = load i16, i16* %11
%17316 = sext i16 %17315 to i32
%17317 = icmp ne i32 %17314, %17316
br i1 %17317, label %17318, label %17764
17318: ; preds = %17312
%17319 = load i16, i16* %20
%17320 = sext i16 %17319 to i32
%17321 = load i16, i16* %12
%17322 = sext i16 %17321 to i32
%17323 = icmp ne i32 %17320, %17322
br i1 %17323, label %17324, label %17764
17324: ; preds = %17318
%17325 = load i16, i16* %20
%17326 = sext i16 %17325 to i32
%17327 = load i16, i16* %14
%17328 = sext i16 %17327 to i32
%17329 = icmp ne i32 %17326, %17328
br i1 %17329, label %17330, label %17764
17330: ; preds = %17324
%17331 = load i16, i16* %20
%17332 = sext i16 %17331 to i32
%17333 = load i16, i16* %15
%17334 = sext i16 %17333 to i32
%17335 = icmp ne i32 %17332, %17334
br i1 %17335, label %17336, label %17764
17336: ; preds = %17330
%17337 = load i16, i16* %20
%17338 = sext i16 %17337 to i32
%17339 = load i16, i16* %17
%17340 = sext i16 %17339 to i32
%17341 = icmp ne i32 %17338, %17340
br i1 %17341, label %17342, label %17764
17342: ; preds = %17336
%17343 = load i16, i16* %20
store i16 %17343, i16* %13
%17344 = load i16, i16* %16
%17345 = sext i16 %17344 to i32
%17346 = load i16, i16* %20
%17347 = sext i16 %17346 to i32
%17348 = icmp eq i32 %17345, %17347
br i1 %17348, label %17349, label %17556
17349: ; preds = %17342
store i16 0, i16* %16
%17350 = load i16, i16* %10
store i16 %17350, i16* %18
%17351 = load i16, i16* %14
%17352 = sext i16 %17351 to i32
%17353 = icmp eq i32 %17352, 0
br i1 %17353, label %17354, label %17355
17354: ; preds = %17349
br label %17359
17355: ; preds = %17349
%17356 = load i16, i16* %14
%17357 = sext i16 %17356 to i32
%17358 = sub nsw i32 25, %17357
br label %17359
17359: ; preds = %17355, %17354
%17360 = phi i32 [ 0, %17354 ], [ %17358, %17355 ]
%17361 = trunc i32 %17360 to i16
store i16 %17361, i16* %10
%17362 = load i16, i16* %18
%17363 = sext i16 %17362 to i32
%17364 = icmp eq i32 %17363, 0
br i1 %17364, label %17365, label %17366
17365: ; preds = %17359
br label %17370
17366: ; preds = %17359
%17367 = load i16, i16* %18
%17368 = sext i16 %17367 to i32
%17369 = sub nsw i32 25, %17368
br label %17370
17370: ; preds = %17366, %17365
%17371 = phi i32 [ 0, %17365 ], [ %17369, %17366 ]
%17372 = trunc i32 %17371 to i16
store i16 %17372, i16* %14
%17373 = load i16, i16* %11
store i16 %17373, i16* %18
%17374 = load i16, i16* %15
%17375 = sext i16 %17374 to i32
%17376 = icmp eq i32 %17375, 0
br i1 %17376, label %17377, label %17378
17377: ; preds = %17370
br label %17382
17378: ; preds = %17370
%17379 = load i16, i16* %15
%17380 = sext i16 %17379 to i32
%17381 = sub nsw i32 25, %17380
br label %17382
17382: ; preds = %17378, %17377
%17383 = phi i32 [ 0, %17377 ], [ %17381, %17378 ]
%17384 = trunc i32 %17383 to i16
store i16 %17384, i16* %11
%17385 = load i16, i16* %18
%17386 = sext i16 %17385 to i32
%17387 = icmp eq i32 %17386, 0
br i1 %17387, label %17388, label %17389
17388: ; preds = %17382
br label %17393
17389: ; preds = %17382
%17390 = load i16, i16* %18
%17391 = sext i16 %17390 to i32
%17392 = sub nsw i32 25, %17391
br label %17393
17393: ; preds = %17389, %17388
%17394 = phi i32 [ 0, %17388 ], [ %17392, %17389 ]
%17395 = trunc i32 %17394 to i16
store i16 %17395, i16* %15
%17396 = load i16, i16* %12
store i16 %17396, i16* %18
%17397 = load i16, i16* %16
%17398 = sext i16 %17397 to i32
%17399 = icmp eq i32 %17398, 0
br i1 %17399, label %17400, label %17401
17400: ; preds = %17393
br label %17405
17401: ; preds = %17393
%17402 = load i16, i16* %16
%17403 = sext i16 %17402 to i32
%17404 = sub nsw i32 25, %17403
br label %17405
17405: ; preds = %17401, %17400
%17406 = phi i32 [ 0, %17400 ], [ %17404, %17401 ]
%17407 = trunc i32 %17406 to i16
store i16 %17407, i16* %12
%17408 = load i16, i16* %18
%17409 = sext i16 %17408 to i32
%17410 = icmp eq i32 %17409, 0
br i1 %17410, label %17411, label %17412
17411: ; preds = %17405
br label %17416
17412: ; preds = %17405
%17413 = load i16, i16* %18
%17414 = sext i16 %17413 to i32
%17415 = sub nsw i32 25, %17414
br label %17416
17416: ; preds = %17412, %17411
%17417 = phi i32 [ 0, %17411 ], [ %17415, %17412 ]
%17418 = trunc i32 %17417 to i16
store i16 %17418, i16* %16
%17419 = load i16, i16* %13
store i16 %17419, i16* %18
%17420 = load i16, i16* %17
%17421 = sext i16 %17420 to i32
%17422 = icmp eq i32 %17421, 0
br i1 %17422, label %17423, label %17424
17423: ; preds = %17416
br label %17428
17424: ; preds = %17416
%17425 = load i16, i16* %17
%17426 = sext i16 %17425 to i32
%17427 = sub nsw i32 25, %17426
br label %17428
17428: ; preds = %17424, %17423
%17429 = phi i32 [ 0, %17423 ], [ %17427, %17424 ]
%17430 = trunc i32 %17429 to i16
store i16 %17430, i16* %13
%17431 = load i16, i16* %18
%17432 = sext i16 %17431 to i32
%17433 = icmp eq i32 %17432, 0
br i1 %17433, label %17434, label %17435
17434: ; preds = %17428
br label %17439
17435: ; preds = %17428
%17436 = load i16, i16* %18
%17437 = sext i16 %17436 to i32
%17438 = sub nsw i32 25, %17437
br label %17439
17439: ; preds = %17435, %17434
%17440 = phi i32 [ 0, %17434 ], [ %17438, %17435 ]
%17441 = trunc i32 %17440 to i16
store i16 %17441, i16* %17
%17442 = load i16, i16* %10
%17443 = sext i16 %17442 to i32
%17444 = load i16, i16* %11
%17445 = sext i16 %17444 to i32
%17446 = load i16, i16* %12
%17447 = sext i16 %17446 to i32
%17448 = load i16, i16* %13
%17449 = sext i16 %17448 to i32
%17450 = load i16, i16* %14
%17451 = sext i16 %17450 to i32
%17452 = load i16, i16* %15
%17453 = sext i16 %17452 to i32
%17454 = load i16, i16* %16
%17455 = sext i16 %17454 to i32
%17456 = load i16, i16* %17
%17457 = sext i16 %17456 to i32
%17458 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17443, i32 %17445, i32 %17447, i32 %17449, i32 %17451, i32 %17453, i32 %17455, i32 %17457)
%17459 = icmp sle i32 0, %17458
br i1 %17459, label %17460, label %17462
17460: ; preds = %17439
%17461 = load i16, i16* %21
store i16 %17461, i16* %9
br label %18762
17462: ; preds = %17439
%17463 = load i16, i16* %10
store i16 %17463, i16* %18
%17464 = load i16, i16* %14
%17465 = sext i16 %17464 to i32
%17466 = icmp eq i32 %17465, 0
br i1 %17466, label %17467, label %17468
17467: ; preds = %17462
br label %17472
17468: ; preds = %17462
%17469 = load i16, i16* %14
%17470 = sext i16 %17469 to i32
%17471 = sub nsw i32 25, %17470
br label %17472
17472: ; preds = %17468, %17467
%17473 = phi i32 [ 0, %17467 ], [ %17471, %17468 ]
%17474 = trunc i32 %17473 to i16
store i16 %17474, i16* %10
%17475 = load i16, i16* %18
%17476 = sext i16 %17475 to i32
%17477 = icmp eq i32 %17476, 0
br i1 %17477, label %17478, label %17479
17478: ; preds = %17472
br label %17483
17479: ; preds = %17472
%17480 = load i16, i16* %18
%17481 = sext i16 %17480 to i32
%17482 = sub nsw i32 25, %17481
br label %17483
17483: ; preds = %17479, %17478
%17484 = phi i32 [ 0, %17478 ], [ %17482, %17479 ]
%17485 = trunc i32 %17484 to i16
store i16 %17485, i16* %14
%17486 = load i16, i16* %11
store i16 %17486, i16* %18
%17487 = load i16, i16* %15
%17488 = sext i16 %17487 to i32
%17489 = icmp eq i32 %17488, 0
br i1 %17489, label %17490, label %17491
17490: ; preds = %17483
br label %17495
17491: ; preds = %17483
%17492 = load i16, i16* %15
%17493 = sext i16 %17492 to i32
%17494 = sub nsw i32 25, %17493
br label %17495
17495: ; preds = %17491, %17490
%17496 = phi i32 [ 0, %17490 ], [ %17494, %17491 ]
%17497 = trunc i32 %17496 to i16
store i16 %17497, i16* %11
%17498 = load i16, i16* %18
%17499 = sext i16 %17498 to i32
%17500 = icmp eq i32 %17499, 0
br i1 %17500, label %17501, label %17502
17501: ; preds = %17495
br label %17506
17502: ; preds = %17495
%17503 = load i16, i16* %18
%17504 = sext i16 %17503 to i32
%17505 = sub nsw i32 25, %17504
br label %17506
17506: ; preds = %17502, %17501
%17507 = phi i32 [ 0, %17501 ], [ %17505, %17502 ]
%17508 = trunc i32 %17507 to i16
store i16 %17508, i16* %15
%17509 = load i16, i16* %12
store i16 %17509, i16* %18
%17510 = load i16, i16* %16
%17511 = sext i16 %17510 to i32
%17512 = icmp eq i32 %17511, 0
br i1 %17512, label %17513, label %17514
17513: ; preds = %17506
br label %17518
17514: ; preds = %17506
%17515 = load i16, i16* %16
%17516 = sext i16 %17515 to i32
%17517 = sub nsw i32 25, %17516
br label %17518
17518: ; preds = %17514, %17513
%17519 = phi i32 [ 0, %17513 ], [ %17517, %17514 ]
%17520 = trunc i32 %17519 to i16
store i16 %17520, i16* %12
%17521 = load i16, i16* %18
%17522 = sext i16 %17521 to i32
%17523 = icmp eq i32 %17522, 0
br i1 %17523, label %17524, label %17525
17524: ; preds = %17518
br label %17529
17525: ; preds = %17518
%17526 = load i16, i16* %18
%17527 = sext i16 %17526 to i32
%17528 = sub nsw i32 25, %17527
br label %17529
17529: ; preds = %17525, %17524
%17530 = phi i32 [ 0, %17524 ], [ %17528, %17525 ]
%17531 = trunc i32 %17530 to i16
store i16 %17531, i16* %16
%17532 = load i16, i16* %13
store i16 %17532, i16* %18
%17533 = load i16, i16* %17
%17534 = sext i16 %17533 to i32
%17535 = icmp eq i32 %17534, 0
br i1 %17535, label %17536, label %17537
17536: ; preds = %17529
br label %17541
17537: ; preds = %17529
%17538 = load i16, i16* %17
%17539 = sext i16 %17538 to i32
%17540 = sub nsw i32 25, %17539
br label %17541
17541: ; preds = %17537, %17536
%17542 = phi i32 [ 0, %17536 ], [ %17540, %17537 ]
%17543 = trunc i32 %17542 to i16
store i16 %17543, i16* %13
%17544 = load i16, i16* %18
%17545 = sext i16 %17544 to i32
%17546 = icmp eq i32 %17545, 0
br i1 %17546, label %17547, label %17548
17547: ; preds = %17541
br label %17552
17548: ; preds = %17541
%17549 = load i16, i16* %18
%17550 = sext i16 %17549 to i32
%17551 = sub nsw i32 25, %17550
br label %17552
17552: ; preds = %17548, %17547
%17553 = phi i32 [ 0, %17547 ], [ %17551, %17548 ]
%17554 = trunc i32 %17553 to i16
store i16 %17554, i16* %17
%17555 = load i16, i16* %20
store i16 %17555, i16* %16
br label %17762
17556: ; preds = %17342
%17557 = load i16, i16* %10
store i16 %17557, i16* %18
%17558 = load i16, i16* %14
%17559 = sext i16 %17558 to i32
%17560 = icmp eq i32 %17559, 0
br i1 %17560, label %17561, label %17562
17561: ; preds = %17556
br label %17566
17562: ; preds = %17556
%17563 = load i16, i16* %14
%17564 = sext i16 %17563 to i32
%17565 = sub nsw i32 25, %17564
br label %17566
17566: ; preds = %17562, %17561
%17567 = phi i32 [ 0, %17561 ], [ %17565, %17562 ]
%17568 = trunc i32 %17567 to i16
store i16 %17568, i16* %10
%17569 = load i16, i16* %18
%17570 = sext i16 %17569 to i32
%17571 = icmp eq i32 %17570, 0
br i1 %17571, label %17572, label %17573
17572: ; preds = %17566
br label %17577
17573: ; preds = %17566
%17574 = load i16, i16* %18
%17575 = sext i16 %17574 to i32
%17576 = sub nsw i32 25, %17575
br label %17577
17577: ; preds = %17573, %17572
%17578 = phi i32 [ 0, %17572 ], [ %17576, %17573 ]
%17579 = trunc i32 %17578 to i16
store i16 %17579, i16* %14
%17580 = load i16, i16* %11
store i16 %17580, i16* %18
%17581 = load i16, i16* %15
%17582 = sext i16 %17581 to i32
%17583 = icmp eq i32 %17582, 0
br i1 %17583, label %17584, label %17585
17584: ; preds = %17577
br label %17589
17585: ; preds = %17577
%17586 = load i16, i16* %15
%17587 = sext i16 %17586 to i32
%17588 = sub nsw i32 25, %17587
br label %17589
17589: ; preds = %17585, %17584
%17590 = phi i32 [ 0, %17584 ], [ %17588, %17585 ]
%17591 = trunc i32 %17590 to i16
store i16 %17591, i16* %11
%17592 = load i16, i16* %18
%17593 = sext i16 %17592 to i32
%17594 = icmp eq i32 %17593, 0
br i1 %17594, label %17595, label %17596
17595: ; preds = %17589
br label %17600
17596: ; preds = %17589
%17597 = load i16, i16* %18
%17598 = sext i16 %17597 to i32
%17599 = sub nsw i32 25, %17598
br label %17600
17600: ; preds = %17596, %17595
%17601 = phi i32 [ 0, %17595 ], [ %17599, %17596 ]
%17602 = trunc i32 %17601 to i16
store i16 %17602, i16* %15
%17603 = load i16, i16* %12
store i16 %17603, i16* %18
%17604 = load i16, i16* %16
%17605 = sext i16 %17604 to i32
%17606 = icmp eq i32 %17605, 0
br i1 %17606, label %17607, label %17608
17607: ; preds = %17600
br label %17612
17608: ; preds = %17600
%17609 = load i16, i16* %16
%17610 = sext i16 %17609 to i32
%17611 = sub nsw i32 25, %17610
br label %17612
17612: ; preds = %17608, %17607
%17613 = phi i32 [ 0, %17607 ], [ %17611, %17608 ]
%17614 = trunc i32 %17613 to i16
store i16 %17614, i16* %12
%17615 = load i16, i16* %18
%17616 = sext i16 %17615 to i32
%17617 = icmp eq i32 %17616, 0
br i1 %17617, label %17618, label %17619
17618: ; preds = %17612
br label %17623
17619: ; preds = %17612
%17620 = load i16, i16* %18
%17621 = sext i16 %17620 to i32
%17622 = sub nsw i32 25, %17621
br label %17623
17623: ; preds = %17619, %17618
%17624 = phi i32 [ 0, %17618 ], [ %17622, %17619 ]
%17625 = trunc i32 %17624 to i16
store i16 %17625, i16* %16
%17626 = load i16, i16* %13
store i16 %17626, i16* %18
%17627 = load i16, i16* %17
%17628 = sext i16 %17627 to i32
%17629 = icmp eq i32 %17628, 0
br i1 %17629, label %17630, label %17631
17630: ; preds = %17623
br label %17635
17631: ; preds = %17623
%17632 = load i16, i16* %17
%17633 = sext i16 %17632 to i32
%17634 = sub nsw i32 25, %17633
br label %17635
17635: ; preds = %17631, %17630
%17636 = phi i32 [ 0, %17630 ], [ %17634, %17631 ]
%17637 = trunc i32 %17636 to i16
store i16 %17637, i16* %13
%17638 = load i16, i16* %18
%17639 = sext i16 %17638 to i32
%17640 = icmp eq i32 %17639, 0
br i1 %17640, label %17641, label %17642
17641: ; preds = %17635
br label %17646
17642: ; preds = %17635
%17643 = load i16, i16* %18
%17644 = sext i16 %17643 to i32
%17645 = sub nsw i32 25, %17644
br label %17646
17646: ; preds = %17642, %17641
%17647 = phi i32 [ 0, %17641 ], [ %17645, %17642 ]
%17648 = trunc i32 %17647 to i16
store i16 %17648, i16* %17
%17649 = load i16, i16* %10
%17650 = sext i16 %17649 to i32
%17651 = load i16, i16* %11
%17652 = sext i16 %17651 to i32
%17653 = load i16, i16* %12
%17654 = sext i16 %17653 to i32
%17655 = load i16, i16* %13
%17656 = sext i16 %17655 to i32
%17657 = load i16, i16* %14
%17658 = sext i16 %17657 to i32
%17659 = load i16, i16* %15
%17660 = sext i16 %17659 to i32
%17661 = load i16, i16* %16
%17662 = sext i16 %17661 to i32
%17663 = load i16, i16* %17
%17664 = sext i16 %17663 to i32
%17665 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17650, i32 %17652, i32 %17654, i32 %17656, i32 %17658, i32 %17660, i32 %17662, i32 %17664)
%17666 = icmp sle i32 0, %17665
br i1 %17666, label %17667, label %17669
17667: ; preds = %17646
%17668 = load i16, i16* %21
store i16 %17668, i16* %9
br label %18762
17669: ; preds = %17646
%17670 = load i16, i16* %10
store i16 %17670, i16* %18
%17671 = load i16, i16* %14
%17672 = sext i16 %17671 to i32
%17673 = icmp eq i32 %17672, 0
br i1 %17673, label %17674, label %17675
17674: ; preds = %17669
br label %17679
17675: ; preds = %17669
%17676 = load i16, i16* %14
%17677 = sext i16 %17676 to i32
%17678 = sub nsw i32 25, %17677
br label %17679
17679: ; preds = %17675, %17674
%17680 = phi i32 [ 0, %17674 ], [ %17678, %17675 ]
%17681 = trunc i32 %17680 to i16
store i16 %17681, i16* %10
%17682 = load i16, i16* %18
%17683 = sext i16 %17682 to i32
%17684 = icmp eq i32 %17683, 0
br i1 %17684, label %17685, label %17686
17685: ; preds = %17679
br label %17690
17686: ; preds = %17679
%17687 = load i16, i16* %18
%17688 = sext i16 %17687 to i32
%17689 = sub nsw i32 25, %17688
br label %17690
17690: ; preds = %17686, %17685
%17691 = phi i32 [ 0, %17685 ], [ %17689, %17686 ]
%17692 = trunc i32 %17691 to i16
store i16 %17692, i16* %14
%17693 = load i16, i16* %11
store i16 %17693, i16* %18
%17694 = load i16, i16* %15
%17695 = sext i16 %17694 to i32
%17696 = icmp eq i32 %17695, 0
br i1 %17696, label %17697, label %17698
17697: ; preds = %17690
br label %17702
17698: ; preds = %17690
%17699 = load i16, i16* %15
%17700 = sext i16 %17699 to i32
%17701 = sub nsw i32 25, %17700
br label %17702
17702: ; preds = %17698, %17697
%17703 = phi i32 [ 0, %17697 ], [ %17701, %17698 ]
%17704 = trunc i32 %17703 to i16
store i16 %17704, i16* %11
%17705 = load i16, i16* %18
%17706 = sext i16 %17705 to i32
%17707 = icmp eq i32 %17706, 0
br i1 %17707, label %17708, label %17709
17708: ; preds = %17702
br label %17713
17709: ; preds = %17702
%17710 = load i16, i16* %18
%17711 = sext i16 %17710 to i32
%17712 = sub nsw i32 25, %17711
br label %17713
17713: ; preds = %17709, %17708
%17714 = phi i32 [ 0, %17708 ], [ %17712, %17709 ]
%17715 = trunc i32 %17714 to i16
store i16 %17715, i16* %15
%17716 = load i16, i16* %12
store i16 %17716, i16* %18
%17717 = load i16, i16* %16
%17718 = sext i16 %17717 to i32
%17719 = icmp eq i32 %17718, 0
br i1 %17719, label %17720, label %17721
17720: ; preds = %17713
br label %17725
17721: ; preds = %17713
%17722 = load i16, i16* %16
%17723 = sext i16 %17722 to i32
%17724 = sub nsw i32 25, %17723
br label %17725
17725: ; preds = %17721, %17720
%17726 = phi i32 [ 0, %17720 ], [ %17724, %17721 ]
%17727 = trunc i32 %17726 to i16
store i16 %17727, i16* %12
%17728 = load i16, i16* %18
%17729 = sext i16 %17728 to i32
%17730 = icmp eq i32 %17729, 0
br i1 %17730, label %17731, label %17732
17731: ; preds = %17725
br label %17736
17732: ; preds = %17725
%17733 = load i16, i16* %18
%17734 = sext i16 %17733 to i32
%17735 = sub nsw i32 25, %17734
br label %17736
17736: ; preds = %17732, %17731
%17737 = phi i32 [ 0, %17731 ], [ %17735, %17732 ]
%17738 = trunc i32 %17737 to i16
store i16 %17738, i16* %16
%17739 = load i16, i16* %13
store i16 %17739, i16* %18
%17740 = load i16, i16* %17
%17741 = sext i16 %17740 to i32
%17742 = icmp eq i32 %17741, 0
br i1 %17742, label %17743, label %17744
17743: ; preds = %17736
br label %17748
17744: ; preds = %17736
%17745 = load i16, i16* %17
%17746 = sext i16 %17745 to i32
%17747 = sub nsw i32 25, %17746
br label %17748
17748: ; preds = %17744, %17743
%17749 = phi i32 [ 0, %17743 ], [ %17747, %17744 ]
%17750 = trunc i32 %17749 to i16
store i16 %17750, i16* %13
%17751 = load i16, i16* %18
%17752 = sext i16 %17751 to i32
%17753 = icmp eq i32 %17752, 0
br i1 %17753, label %17754, label %17755
17754: ; preds = %17748
br label %17759
17755: ; preds = %17748
%17756 = load i16, i16* %18
%17757 = sext i16 %17756 to i32
%17758 = sub nsw i32 25, %17757
br label %17759
17759: ; preds = %17755, %17754
%17760 = phi i32 [ 0, %17754 ], [ %17758, %17755 ]
%17761 = trunc i32 %17760 to i16
store i16 %17761, i16* %17
br label %17762
17762: ; preds = %17759, %17552
%17763 = load i16, i16* %19
store i16 %17763, i16* %13
br label %17764
17764: ; preds = %17762, %17336, %17330, %17324, %17318, %17312, %17301
br label %17765
17765: ; preds = %17764, %17296, %17292, %17288
br label %18728
17766: ; preds = %17284
%17767 = load i16, i16* %21
%17768 = sext i16 %17767 to i32
%17769 = icmp eq i32 %17768, 30
br i1 %17769, label %17770, label %18244
17770: ; preds = %17766
%17771 = load i16, i16* %13
%17772 = sext i16 %17771 to i32
%17773 = icmp ne i32 %17772, 0
br i1 %17773, label %17774, label %18243
17774: ; preds = %17770
%17775 = load i16, i16* %13
%17776 = sext i16 %17775 to i32
%17777 = srem i32 %17776, 4
%17778 = icmp ne i32 %17777, 1
br i1 %17778, label %17779, label %18243
17779: ; preds = %17774
%17780 = load i16, i16* %13
store i16 %17780, i16* %19
%17781 = load i16, i16* %19
%17782 = sext i16 %17781 to i32
%17783 = sub nsw i32 %17782, 1
%17784 = trunc i32 %17783 to i16
store i16 %17784, i16* %20
%17785 = load i16, i16* %20
%17786 = sext i16 %17785 to i32
%17787 = load i16, i16* %10
%17788 = sext i16 %17787 to i32
%17789 = icmp ne i32 %17786, %17788
br i1 %17789, label %17790, label %18242
17790: ; preds = %17779
%17791 = load i16, i16* %20
%17792 = sext i16 %17791 to i32
%17793 = load i16, i16* %11
%17794 = sext i16 %17793 to i32
%17795 = icmp ne i32 %17792, %17794
br i1 %17795, label %17796, label %18242
17796: ; preds = %17790
%17797 = load i16, i16* %20
%17798 = sext i16 %17797 to i32
%17799 = load i16, i16* %12
%17800 = sext i16 %17799 to i32
%17801 = icmp ne i32 %17798, %17800
br i1 %17801, label %17802, label %18242
17802: ; preds = %17796
%17803 = load i16, i16* %20
%17804 = sext i16 %17803 to i32
%17805 = load i16, i16* %14
%17806 = sext i16 %17805 to i32
%17807 = icmp ne i32 %17804, %17806
br i1 %17807, label %17808, label %18242
17808: ; preds = %17802
%17809 = load i16, i16* %20
%17810 = sext i16 %17809 to i32
%17811 = load i16, i16* %15
%17812 = sext i16 %17811 to i32
%17813 = icmp ne i32 %17810, %17812
br i1 %17813, label %17814, label %18242
17814: ; preds = %17808
%17815 = load i16, i16* %20
%17816 = sext i16 %17815 to i32
%17817 = load i16, i16* %17
%17818 = sext i16 %17817 to i32
%17819 = icmp ne i32 %17816, %17818
br i1 %17819, label %17820, label %18242
17820: ; preds = %17814
%17821 = load i16, i16* %20
store i16 %17821, i16* %13
%17822 = load i16, i16* %16
%17823 = sext i16 %17822 to i32
%17824 = load i16, i16* %20
%17825 = sext i16 %17824 to i32
%17826 = icmp eq i32 %17823, %17825
br i1 %17826, label %17827, label %18034
17827: ; preds = %17820
store i16 0, i16* %16
%17828 = load i16, i16* %10
store i16 %17828, i16* %18
%17829 = load i16, i16* %14
%17830 = sext i16 %17829 to i32
%17831 = icmp eq i32 %17830, 0
br i1 %17831, label %17832, label %17833
17832: ; preds = %17827
br label %17837
17833: ; preds = %17827
%17834 = load i16, i16* %14
%17835 = sext i16 %17834 to i32
%17836 = sub nsw i32 25, %17835
br label %17837
17837: ; preds = %17833, %17832
%17838 = phi i32 [ 0, %17832 ], [ %17836, %17833 ]
%17839 = trunc i32 %17838 to i16
store i16 %17839, i16* %10
%17840 = load i16, i16* %18
%17841 = sext i16 %17840 to i32
%17842 = icmp eq i32 %17841, 0
br i1 %17842, label %17843, label %17844
17843: ; preds = %17837
br label %17848
17844: ; preds = %17837
%17845 = load i16, i16* %18
%17846 = sext i16 %17845 to i32
%17847 = sub nsw i32 25, %17846
br label %17848
17848: ; preds = %17844, %17843
%17849 = phi i32 [ 0, %17843 ], [ %17847, %17844 ]
%17850 = trunc i32 %17849 to i16
store i16 %17850, i16* %14
%17851 = load i16, i16* %11
store i16 %17851, i16* %18
%17852 = load i16, i16* %15
%17853 = sext i16 %17852 to i32
%17854 = icmp eq i32 %17853, 0
br i1 %17854, label %17855, label %17856
17855: ; preds = %17848
br label %17860
17856: ; preds = %17848
%17857 = load i16, i16* %15
%17858 = sext i16 %17857 to i32
%17859 = sub nsw i32 25, %17858
br label %17860
17860: ; preds = %17856, %17855
%17861 = phi i32 [ 0, %17855 ], [ %17859, %17856 ]
%17862 = trunc i32 %17861 to i16
store i16 %17862, i16* %11
%17863 = load i16, i16* %18
%17864 = sext i16 %17863 to i32
%17865 = icmp eq i32 %17864, 0
br i1 %17865, label %17866, label %17867
17866: ; preds = %17860
br label %17871
17867: ; preds = %17860
%17868 = load i16, i16* %18
%17869 = sext i16 %17868 to i32
%17870 = sub nsw i32 25, %17869
br label %17871
17871: ; preds = %17867, %17866
%17872 = phi i32 [ 0, %17866 ], [ %17870, %17867 ]
%17873 = trunc i32 %17872 to i16
store i16 %17873, i16* %15
%17874 = load i16, i16* %12
store i16 %17874, i16* %18
%17875 = load i16, i16* %16
%17876 = sext i16 %17875 to i32
%17877 = icmp eq i32 %17876, 0
br i1 %17877, label %17878, label %17879
17878: ; preds = %17871
br label %17883
17879: ; preds = %17871
%17880 = load i16, i16* %16
%17881 = sext i16 %17880 to i32
%17882 = sub nsw i32 25, %17881
br label %17883
17883: ; preds = %17879, %17878
%17884 = phi i32 [ 0, %17878 ], [ %17882, %17879 ]
%17885 = trunc i32 %17884 to i16
store i16 %17885, i16* %12
%17886 = load i16, i16* %18
%17887 = sext i16 %17886 to i32
%17888 = icmp eq i32 %17887, 0
br i1 %17888, label %17889, label %17890
17889: ; preds = %17883
br label %17894
17890: ; preds = %17883
%17891 = load i16, i16* %18
%17892 = sext i16 %17891 to i32
%17893 = sub nsw i32 25, %17892
br label %17894
17894: ; preds = %17890, %17889
%17895 = phi i32 [ 0, %17889 ], [ %17893, %17890 ]
%17896 = trunc i32 %17895 to i16
store i16 %17896, i16* %16
%17897 = load i16, i16* %13
store i16 %17897, i16* %18
%17898 = load i16, i16* %17
%17899 = sext i16 %17898 to i32
%17900 = icmp eq i32 %17899, 0
br i1 %17900, label %17901, label %17902
17901: ; preds = %17894
br label %17906
17902: ; preds = %17894
%17903 = load i16, i16* %17
%17904 = sext i16 %17903 to i32
%17905 = sub nsw i32 25, %17904
br label %17906
17906: ; preds = %17902, %17901
%17907 = phi i32 [ 0, %17901 ], [ %17905, %17902 ]
%17908 = trunc i32 %17907 to i16
store i16 %17908, i16* %13
%17909 = load i16, i16* %18
%17910 = sext i16 %17909 to i32
%17911 = icmp eq i32 %17910, 0
br i1 %17911, label %17912, label %17913
17912: ; preds = %17906
br label %17917
17913: ; preds = %17906
%17914 = load i16, i16* %18
%17915 = sext i16 %17914 to i32
%17916 = sub nsw i32 25, %17915
br label %17917
17917: ; preds = %17913, %17912
%17918 = phi i32 [ 0, %17912 ], [ %17916, %17913 ]
%17919 = trunc i32 %17918 to i16
store i16 %17919, i16* %17
%17920 = load i16, i16* %10
%17921 = sext i16 %17920 to i32
%17922 = load i16, i16* %11
%17923 = sext i16 %17922 to i32
%17924 = load i16, i16* %12
%17925 = sext i16 %17924 to i32
%17926 = load i16, i16* %13
%17927 = sext i16 %17926 to i32
%17928 = load i16, i16* %14
%17929 = sext i16 %17928 to i32
%17930 = load i16, i16* %15
%17931 = sext i16 %17930 to i32
%17932 = load i16, i16* %16
%17933 = sext i16 %17932 to i32
%17934 = load i16, i16* %17
%17935 = sext i16 %17934 to i32
%17936 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17921, i32 %17923, i32 %17925, i32 %17927, i32 %17929, i32 %17931, i32 %17933, i32 %17935)
%17937 = icmp sle i32 0, %17936
br i1 %17937, label %17938, label %17940
17938: ; preds = %17917
%17939 = load i16, i16* %21
store i16 %17939, i16* %9
br label %18762
17940: ; preds = %17917
%17941 = load i16, i16* %10
store i16 %17941, i16* %18
%17942 = load i16, i16* %14
%17943 = sext i16 %17942 to i32
%17944 = icmp eq i32 %17943, 0
br i1 %17944, label %17945, label %17946
17945: ; preds = %17940
br label %17950
17946: ; preds = %17940
%17947 = load i16, i16* %14
%17948 = sext i16 %17947 to i32
%17949 = sub nsw i32 25, %17948
br label %17950
17950: ; preds = %17946, %17945
%17951 = phi i32 [ 0, %17945 ], [ %17949, %17946 ]
%17952 = trunc i32 %17951 to i16
store i16 %17952, i16* %10
%17953 = load i16, i16* %18
%17954 = sext i16 %17953 to i32
%17955 = icmp eq i32 %17954, 0
br i1 %17955, label %17956, label %17957
17956: ; preds = %17950
br label %17961
17957: ; preds = %17950
%17958 = load i16, i16* %18
%17959 = sext i16 %17958 to i32
%17960 = sub nsw i32 25, %17959
br label %17961
17961: ; preds = %17957, %17956
%17962 = phi i32 [ 0, %17956 ], [ %17960, %17957 ]
%17963 = trunc i32 %17962 to i16
store i16 %17963, i16* %14
%17964 = load i16, i16* %11
store i16 %17964, i16* %18
%17965 = load i16, i16* %15
%17966 = sext i16 %17965 to i32
%17967 = icmp eq i32 %17966, 0
br i1 %17967, label %17968, label %17969
17968: ; preds = %17961
br label %17973
17969: ; preds = %17961
%17970 = load i16, i16* %15
%17971 = sext i16 %17970 to i32
%17972 = sub nsw i32 25, %17971
br label %17973
17973: ; preds = %17969, %17968
%17974 = phi i32 [ 0, %17968 ], [ %17972, %17969 ]
%17975 = trunc i32 %17974 to i16
store i16 %17975, i16* %11
%17976 = load i16, i16* %18
%17977 = sext i16 %17976 to i32
%17978 = icmp eq i32 %17977, 0
br i1 %17978, label %17979, label %17980
17979: ; preds = %17973
br label %17984
17980: ; preds = %17973
%17981 = load i16, i16* %18
%17982 = sext i16 %17981 to i32
%17983 = sub nsw i32 25, %17982
br label %17984
17984: ; preds = %17980, %17979
%17985 = phi i32 [ 0, %17979 ], [ %17983, %17980 ]
%17986 = trunc i32 %17985 to i16
store i16 %17986, i16* %15
%17987 = load i16, i16* %12
store i16 %17987, i16* %18
%17988 = load i16, i16* %16
%17989 = sext i16 %17988 to i32
%17990 = icmp eq i32 %17989, 0
br i1 %17990, label %17991, label %17992
17991: ; preds = %17984
br label %17996
17992: ; preds = %17984
%17993 = load i16, i16* %16
%17994 = sext i16 %17993 to i32
%17995 = sub nsw i32 25, %17994
br label %17996
17996: ; preds = %17992, %17991
%17997 = phi i32 [ 0, %17991 ], [ %17995, %17992 ]
%17998 = trunc i32 %17997 to i16
store i16 %17998, i16* %12
%17999 = load i16, i16* %18
%18000 = sext i16 %17999 to i32
%18001 = icmp eq i32 %18000, 0
br i1 %18001, label %18002, label %18003
18002: ; preds = %17996
br label %18007
18003: ; preds = %17996
%18004 = load i16, i16* %18
%18005 = sext i16 %18004 to i32
%18006 = sub nsw i32 25, %18005
br label %18007
18007: ; preds = %18003, %18002
%18008 = phi i32 [ 0, %18002 ], [ %18006, %18003 ]
%18009 = trunc i32 %18008 to i16
store i16 %18009, i16* %16
%18010 = load i16, i16* %13
store i16 %18010, i16* %18
%18011 = load i16, i16* %17
%18012 = sext i16 %18011 to i32
%18013 = icmp eq i32 %18012, 0
br i1 %18013, label %18014, label %18015
18014: ; preds = %18007
br label %18019
18015: ; preds = %18007
%18016 = load i16, i16* %17
%18017 = sext i16 %18016 to i32
%18018 = sub nsw i32 25, %18017
br label %18019
18019: ; preds = %18015, %18014
%18020 = phi i32 [ 0, %18014 ], [ %18018, %18015 ]
%18021 = trunc i32 %18020 to i16
store i16 %18021, i16* %13
%18022 = load i16, i16* %18
%18023 = sext i16 %18022 to i32
%18024 = icmp eq i32 %18023, 0
br i1 %18024, label %18025, label %18026
18025: ; preds = %18019
br label %18030
18026: ; preds = %18019
%18027 = load i16, i16* %18
%18028 = sext i16 %18027 to i32
%18029 = sub nsw i32 25, %18028
br label %18030
18030: ; preds = %18026, %18025
%18031 = phi i32 [ 0, %18025 ], [ %18029, %18026 ]
%18032 = trunc i32 %18031 to i16
store i16 %18032, i16* %17
%18033 = load i16, i16* %20
store i16 %18033, i16* %16
br label %18240
18034: ; preds = %17820
%18035 = load i16, i16* %10
store i16 %18035, i16* %18
%18036 = load i16, i16* %14
%18037 = sext i16 %18036 to i32
%18038 = icmp eq i32 %18037, 0
br i1 %18038, label %18039, label %18040
18039: ; preds = %18034
br label %18044
18040: ; preds = %18034
%18041 = load i16, i16* %14
%18042 = sext i16 %18041 to i32
%18043 = sub nsw i32 25, %18042
br label %18044
18044: ; preds = %18040, %18039
%18045 = phi i32 [ 0, %18039 ], [ %18043, %18040 ]
%18046 = trunc i32 %18045 to i16
store i16 %18046, i16* %10
%18047 = load i16, i16* %18
%18048 = sext i16 %18047 to i32
%18049 = icmp eq i32 %18048, 0
br i1 %18049, label %18050, label %18051
18050: ; preds = %18044
br label %18055
18051: ; preds = %18044
%18052 = load i16, i16* %18
%18053 = sext i16 %18052 to i32
%18054 = sub nsw i32 25, %18053
br label %18055
18055: ; preds = %18051, %18050
%18056 = phi i32 [ 0, %18050 ], [ %18054, %18051 ]
%18057 = trunc i32 %18056 to i16
store i16 %18057, i16* %14
%18058 = load i16, i16* %11
store i16 %18058, i16* %18
%18059 = load i16, i16* %15
%18060 = sext i16 %18059 to i32
%18061 = icmp eq i32 %18060, 0
br i1 %18061, label %18062, label %18063
18062: ; preds = %18055
br label %18067
18063: ; preds = %18055
%18064 = load i16, i16* %15
%18065 = sext i16 %18064 to i32
%18066 = sub nsw i32 25, %18065
br label %18067
18067: ; preds = %18063, %18062
%18068 = phi i32 [ 0, %18062 ], [ %18066, %18063 ]
%18069 = trunc i32 %18068 to i16
store i16 %18069, i16* %11
%18070 = load i16, i16* %18
%18071 = sext i16 %18070 to i32
%18072 = icmp eq i32 %18071, 0
br i1 %18072, label %18073, label %18074
18073: ; preds = %18067
br label %18078
18074: ; preds = %18067
%18075 = load i16, i16* %18
%18076 = sext i16 %18075 to i32
%18077 = sub nsw i32 25, %18076
br label %18078
18078: ; preds = %18074, %18073
%18079 = phi i32 [ 0, %18073 ], [ %18077, %18074 ]
%18080 = trunc i32 %18079 to i16
store i16 %18080, i16* %15
%18081 = load i16, i16* %12
store i16 %18081, i16* %18
%18082 = load i16, i16* %16
%18083 = sext i16 %18082 to i32
%18084 = icmp eq i32 %18083, 0
br i1 %18084, label %18085, label %18086
18085: ; preds = %18078
br label %18090
18086: ; preds = %18078
%18087 = load i16, i16* %16
%18088 = sext i16 %18087 to i32
%18089 = sub nsw i32 25, %18088
br label %18090
18090: ; preds = %18086, %18085
%18091 = phi i32 [ 0, %18085 ], [ %18089, %18086 ]
%18092 = trunc i32 %18091 to i16
store i16 %18092, i16* %12
%18093 = load i16, i16* %18
%18094 = sext i16 %18093 to i32
%18095 = icmp eq i32 %18094, 0
br i1 %18095, label %18096, label %18097
18096: ; preds = %18090
br label %18101
18097: ; preds = %18090
%18098 = load i16, i16* %18
%18099 = sext i16 %18098 to i32
%18100 = sub nsw i32 25, %18099
br label %18101
18101: ; preds = %18097, %18096
%18102 = phi i32 [ 0, %18096 ], [ %18100, %18097 ]
%18103 = trunc i32 %18102 to i16
store i16 %18103, i16* %16
%18104 = load i16, i16* %13
store i16 %18104, i16* %18
%18105 = load i16, i16* %17
%18106 = sext i16 %18105 to i32
%18107 = icmp eq i32 %18106, 0
br i1 %18107, label %18108, label %18109
18108: ; preds = %18101
br label %18113
18109: ; preds = %18101
%18110 = load i16, i16* %17
%18111 = sext i16 %18110 to i32
%18112 = sub nsw i32 25, %18111
br label %18113
18113: ; preds = %18109, %18108
%18114 = phi i32 [ 0, %18108 ], [ %18112, %18109 ]
%18115 = trunc i32 %18114 to i16
store i16 %18115, i16* %13
%18116 = load i16, i16* %18
%18117 = sext i16 %18116 to i32
%18118 = icmp eq i32 %18117, 0
br i1 %18118, label %18119, label %18120
18119: ; preds = %18113
br label %18124
18120: ; preds = %18113
%18121 = load i16, i16* %18
%18122 = sext i16 %18121 to i32
%18123 = sub nsw i32 25, %18122
br label %18124
18124: ; preds = %18120, %18119
%18125 = phi i32 [ 0, %18119 ], [ %18123, %18120 ]
%18126 = trunc i32 %18125 to i16
store i16 %18126, i16* %17
%18127 = load i16, i16* %10
%18128 = sext i16 %18127 to i32
%18129 = load i16, i16* %11
%18130 = sext i16 %18129 to i32
%18131 = load i16, i16* %12
%18132 = sext i16 %18131 to i32
%18133 = load i16, i16* %13
%18134 = sext i16 %18133 to i32
%18135 = load i16, i16* %14
%18136 = sext i16 %18135 to i32
%18137 = load i16, i16* %15
%18138 = sext i16 %18137 to i32
%18139 = load i16, i16* %16
%18140 = sext i16 %18139 to i32
%18141 = load i16, i16* %17
%18142 = sext i16 %18141 to i32
%18143 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18128, i32 %18130, i32 %18132, i32 %18134, i32 %18136, i32 %18138, i32 %18140, i32 %18142)
%18144 = icmp sle i32 0, %18143
br i1 %18144, label %18145, label %18147
18145: ; preds = %18124
%18146 = load i16, i16* %21
store i16 %18146, i16* %9
br label %18762
18147: ; preds = %18124
%18148 = load i16, i16* %10
store i16 %18148, i16* %18
%18149 = load i16, i16* %14
%18150 = sext i16 %18149 to i32
%18151 = icmp eq i32 %18150, 0
br i1 %18151, label %18152, label %18153
18152: ; preds = %18147
br label %18157
18153: ; preds = %18147
%18154 = load i16, i16* %14
%18155 = sext i16 %18154 to i32
%18156 = sub nsw i32 25, %18155
br label %18157
18157: ; preds = %18153, %18152
%18158 = phi i32 [ 0, %18152 ], [ %18156, %18153 ]
%18159 = trunc i32 %18158 to i16
store i16 %18159, i16* %10
%18160 = load i16, i16* %18
%18161 = sext i16 %18160 to i32
%18162 = icmp eq i32 %18161, 0
br i1 %18162, label %18163, label %18164
18163: ; preds = %18157
br label %18168
18164: ; preds = %18157
%18165 = load i16, i16* %18
%18166 = sext i16 %18165 to i32
%18167 = sub nsw i32 25, %18166
br label %18168
18168: ; preds = %18164, %18163
%18169 = phi i32 [ 0, %18163 ], [ %18167, %18164 ]
%18170 = trunc i32 %18169 to i16
store i16 %18170, i16* %14
%18171 = load i16, i16* %11
store i16 %18171, i16* %18
%18172 = load i16, i16* %15
%18173 = sext i16 %18172 to i32
%18174 = icmp eq i32 %18173, 0
br i1 %18174, label %18175, label %18176
18175: ; preds = %18168
br label %18180
18176: ; preds = %18168
%18177 = load i16, i16* %15
%18178 = sext i16 %18177 to i32
%18179 = sub nsw i32 25, %18178
br label %18180
18180: ; preds = %18176, %18175
%18181 = phi i32 [ 0, %18175 ], [ %18179, %18176 ]
%18182 = trunc i32 %18181 to i16
store i16 %18182, i16* %11
%18183 = load i16, i16* %18
%18184 = sext i16 %18183 to i32
%18185 = icmp eq i32 %18184, 0
br i1 %18185, label %18186, label %18187
18186: ; preds = %18180
br label %18191
18187: ; preds = %18180
%18188 = load i16, i16* %18
%18189 = sext i16 %18188 to i32
%18190 = sub nsw i32 25, %18189
br label %18191
18191: ; preds = %18187, %18186
%18192 = phi i32 [ 0, %18186 ], [ %18190, %18187 ]
%18193 = trunc i32 %18192 to i16
store i16 %18193, i16* %15
%18194 = load i16, i16* %12
store i16 %18194, i16* %18
%18195 = load i16, i16* %16
%18196 = sext i16 %18195 to i32
%18197 = icmp eq i32 %18196, 0
br i1 %18197, label %18198, label %18199
18198: ; preds = %18191
br label %18203
18199: ; preds = %18191
%18200 = load i16, i16* %16
%18201 = sext i16 %18200 to i32
%18202 = sub nsw i32 25, %18201
br label %18203
18203: ; preds = %18199, %18198
%18204 = phi i32 [ 0, %18198 ], [ %18202, %18199 ]
%18205 = trunc i32 %18204 to i16
store i16 %18205, i16* %12
%18206 = load i16, i16* %18
%18207 = sext i16 %18206 to i32
%18208 = icmp eq i32 %18207, 0
br i1 %18208, label %18209, label %18210
18209: ; preds = %18203
br label %18214
18210: ; preds = %18203
%18211 = load i16, i16* %18
%18212 = sext i16 %18211 to i32
%18213 = sub nsw i32 25, %18212
br label %18214
18214: ; preds = %18210, %18209
%18215 = phi i32 [ 0, %18209 ], [ %18213, %18210 ]
%18216 = trunc i32 %18215 to i16
store i16 %18216, i16* %16
%18217 = load i16, i16* %13
store i16 %18217, i16* %18
%18218 = load i16, i16* %17
%18219 = sext i16 %18218 to i32
%18220 = icmp eq i32 %18219, 0
br i1 %18220, label %18221, label %18222
18221: ; preds = %18214
br label %18226
18222: ; preds = %18214
%18223 = load i16, i16* %17
%18224 = sext i16 %18223 to i32
%18225 = sub nsw i32 25, %18224
br label %18226
18226: ; preds = %18222, %18221
%18227 = phi i32 [ 0, %18221 ], [ %18225, %18222 ]
%18228 = trunc i32 %18227 to i16
store i16 %18228, i16* %13
%18229 = load i16, i16* %18
%18230 = sext i16 %18229 to i32
%18231 = icmp eq i32 %18230, 0
br i1 %18231, label %18232, label %18233
18232: ; preds = %18226
br label %18237
18233: ; preds = %18226
%18234 = load i16, i16* %18
%18235 = sext i16 %18234 to i32
%18236 = sub nsw i32 25, %18235
br label %18237
18237: ; preds = %18233, %18232
%18238 = phi i32 [ 0, %18232 ], [ %18236, %18233 ]
%18239 = trunc i32 %18238 to i16
store i16 %18239, i16* %17
br label %18240
18240: ; preds = %18237, %18030
%18241 = load i16, i16* %19
store i16 %18241, i16* %13
br label %18242
18242: ; preds = %18240, %17814, %17808, %17802, %17796, %17790, %17779
br label %18243
18243: ; preds = %18242, %17774, %17770
br label %18727
18244: ; preds = %17766
%18245 = load i16, i16* %21
%18246 = sext i16 %18245 to i32
%18247 = icmp eq i32 %18246, 31
br i1 %18247, label %18248, label %18726
18248: ; preds = %18244
%18249 = load i16, i16* %13
%18250 = sext i16 %18249 to i32
%18251 = icmp ne i32 %18250, 0
br i1 %18251, label %18252, label %18725
18252: ; preds = %18248
%18253 = load i16, i16* %13
%18254 = sext i16 %18253 to i32
%18255 = icmp slt i32 %18254, 21
br i1 %18255, label %18256, label %18725
18256: ; preds = %18252
%18257 = load i16, i16* %13
%18258 = sext i16 %18257 to i32
%18259 = srem i32 %18258, 4
%18260 = icmp ne i32 %18259, 1
br i1 %18260, label %18261, label %18725
18261: ; preds = %18256
%18262 = load i16, i16* %13
store i16 %18262, i16* %19
%18263 = load i16, i16* %19
%18264 = sext i16 %18263 to i32
%18265 = add nsw i32 %18264, 3
%18266 = trunc i32 %18265 to i16
store i16 %18266, i16* %20
%18267 = load i16, i16* %20
%18268 = sext i16 %18267 to i32
%18269 = load i16, i16* %10
%18270 = sext i16 %18269 to i32
%18271 = icmp ne i32 %18268, %18270
br i1 %18271, label %18272, label %18724
18272: ; preds = %18261
%18273 = load i16, i16* %20
%18274 = sext i16 %18273 to i32
%18275 = load i16, i16* %11
%18276 = sext i16 %18275 to i32
%18277 = icmp ne i32 %18274, %18276
br i1 %18277, label %18278, label %18724
18278: ; preds = %18272
%18279 = load i16, i16* %20
%18280 = sext i16 %18279 to i32
%18281 = load i16, i16* %12
%18282 = sext i16 %18281 to i32
%18283 = icmp ne i32 %18280, %18282
br i1 %18283, label %18284, label %18724
18284: ; preds = %18278
%18285 = load i16, i16* %20
%18286 = sext i16 %18285 to i32
%18287 = load i16, i16* %14
%18288 = sext i16 %18287 to i32
%18289 = icmp ne i32 %18286, %18288
br i1 %18289, label %18290, label %18724
18290: ; preds = %18284
%18291 = load i16, i16* %20
%18292 = sext i16 %18291 to i32
%18293 = load i16, i16* %15
%18294 = sext i16 %18293 to i32
%18295 = icmp ne i32 %18292, %18294
br i1 %18295, label %18296, label %18724
18296: ; preds = %18290
%18297 = load i16, i16* %20
%18298 = sext i16 %18297 to i32
%18299 = load i16, i16* %17
%18300 = sext i16 %18299 to i32
%18301 = icmp ne i32 %18298, %18300
br i1 %18301, label %18302, label %18724
18302: ; preds = %18296
%18303 = load i16, i16* %20
store i16 %18303, i16* %13
%18304 = load i16, i16* %16
%18305 = sext i16 %18304 to i32
%18306 = load i16, i16* %20
%18307 = sext i16 %18306 to i32
%18308 = icmp eq i32 %18305, %18307
br i1 %18308, label %18309, label %18516
18309: ; preds = %18302
store i16 0, i16* %16
%18310 = load i16, i16* %10
store i16 %18310, i16* %18
%18311 = load i16, i16* %14
%18312 = sext i16 %18311 to i32
%18313 = icmp eq i32 %18312, 0
br i1 %18313, label %18314, label %18315
18314: ; preds = %18309
br label %18319
18315: ; preds = %18309
%18316 = load i16, i16* %14
%18317 = sext i16 %18316 to i32
%18318 = sub nsw i32 25, %18317
br label %18319
18319: ; preds = %18315, %18314
%18320 = phi i32 [ 0, %18314 ], [ %18318, %18315 ]
%18321 = trunc i32 %18320 to i16
store i16 %18321, i16* %10
%18322 = load i16, i16* %18
%18323 = sext i16 %18322 to i32
%18324 = icmp eq i32 %18323, 0
br i1 %18324, label %18325, label %18326
18325: ; preds = %18319
br label %18330
18326: ; preds = %18319
%18327 = load i16, i16* %18
%18328 = sext i16 %18327 to i32
%18329 = sub nsw i32 25, %18328
br label %18330
18330: ; preds = %18326, %18325
%18331 = phi i32 [ 0, %18325 ], [ %18329, %18326 ]
%18332 = trunc i32 %18331 to i16
store i16 %18332, i16* %14
%18333 = load i16, i16* %11
store i16 %18333, i16* %18
%18334 = load i16, i16* %15
%18335 = sext i16 %18334 to i32
%18336 = icmp eq i32 %18335, 0
br i1 %18336, label %18337, label %18338
18337: ; preds = %18330
br label %18342
18338: ; preds = %18330
%18339 = load i16, i16* %15
%18340 = sext i16 %18339 to i32
%18341 = sub nsw i32 25, %18340
br label %18342
18342: ; preds = %18338, %18337
%18343 = phi i32 [ 0, %18337 ], [ %18341, %18338 ]
%18344 = trunc i32 %18343 to i16
store i16 %18344, i16* %11
%18345 = load i16, i16* %18
%18346 = sext i16 %18345 to i32
%18347 = icmp eq i32 %18346, 0
br i1 %18347, label %18348, label %18349
18348: ; preds = %18342
br label %18353
18349: ; preds = %18342
%18350 = load i16, i16* %18
%18351 = sext i16 %18350 to i32
%18352 = sub nsw i32 25, %18351
br label %18353
18353: ; preds = %18349, %18348
%18354 = phi i32 [ 0, %18348 ], [ %18352, %18349 ]
%18355 = trunc i32 %18354 to i16
store i16 %18355, i16* %15
%18356 = load i16, i16* %12
store i16 %18356, i16* %18
%18357 = load i16, i16* %16
%18358 = sext i16 %18357 to i32
%18359 = icmp eq i32 %18358, 0
br i1 %18359, label %18360, label %18361
18360: ; preds = %18353
br label %18365
18361: ; preds = %18353
%18362 = load i16, i16* %16
%18363 = sext i16 %18362 to i32
%18364 = sub nsw i32 25, %18363
br label %18365
18365: ; preds = %18361, %18360
%18366 = phi i32 [ 0, %18360 ], [ %18364, %18361 ]
%18367 = trunc i32 %18366 to i16
store i16 %18367, i16* %12
%18368 = load i16, i16* %18
%18369 = sext i16 %18368 to i32
%18370 = icmp eq i32 %18369, 0
br i1 %18370, label %18371, label %18372
18371: ; preds = %18365
br label %18376
18372: ; preds = %18365
%18373 = load i16, i16* %18
%18374 = sext i16 %18373 to i32
%18375 = sub nsw i32 25, %18374
br label %18376
18376: ; preds = %18372, %18371
%18377 = phi i32 [ 0, %18371 ], [ %18375, %18372 ]
%18378 = trunc i32 %18377 to i16
store i16 %18378, i16* %16
%18379 = load i16, i16* %13
store i16 %18379, i16* %18
%18380 = load i16, i16* %17
%18381 = sext i16 %18380 to i32
%18382 = icmp eq i32 %18381, 0
br i1 %18382, label %18383, label %18384
18383: ; preds = %18376
br label %18388
18384: ; preds = %18376
%18385 = load i16, i16* %17
%18386 = sext i16 %18385 to i32
%18387 = sub nsw i32 25, %18386
br label %18388
18388: ; preds = %18384, %18383
%18389 = phi i32 [ 0, %18383 ], [ %18387, %18384 ]
%18390 = trunc i32 %18389 to i16
store i16 %18390, i16* %13
%18391 = load i16, i16* %18
%18392 = sext i16 %18391 to i32
%18393 = icmp eq i32 %18392, 0
br i1 %18393, label %18394, label %18395
18394: ; preds = %18388
br label %18399
18395: ; preds = %18388
%18396 = load i16, i16* %18
%18397 = sext i16 %18396 to i32
%18398 = sub nsw i32 25, %18397
br label %18399
18399: ; preds = %18395, %18394
%18400 = phi i32 [ 0, %18394 ], [ %18398, %18395 ]
%18401 = trunc i32 %18400 to i16
store i16 %18401, i16* %17
%18402 = load i16, i16* %10
%18403 = sext i16 %18402 to i32
%18404 = load i16, i16* %11
%18405 = sext i16 %18404 to i32
%18406 = load i16, i16* %12
%18407 = sext i16 %18406 to i32
%18408 = load i16, i16* %13
%18409 = sext i16 %18408 to i32
%18410 = load i16, i16* %14
%18411 = sext i16 %18410 to i32
%18412 = load i16, i16* %15
%18413 = sext i16 %18412 to i32
%18414 = load i16, i16* %16
%18415 = sext i16 %18414 to i32
%18416 = load i16, i16* %17
%18417 = sext i16 %18416 to i32
%18418 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18403, i32 %18405, i32 %18407, i32 %18409, i32 %18411, i32 %18413, i32 %18415, i32 %18417)
%18419 = icmp sle i32 0, %18418
br i1 %18419, label %18420, label %18422
18420: ; preds = %18399
%18421 = load i16, i16* %21
store i16 %18421, i16* %9
br label %18762
18422: ; preds = %18399
%18423 = load i16, i16* %10
store i16 %18423, i16* %18
%18424 = load i16, i16* %14
%18425 = sext i16 %18424 to i32
%18426 = icmp eq i32 %18425, 0
br i1 %18426, label %18427, label %18428
18427: ; preds = %18422
br label %18432
18428: ; preds = %18422
%18429 = load i16, i16* %14
%18430 = sext i16 %18429 to i32
%18431 = sub nsw i32 25, %18430
br label %18432
18432: ; preds = %18428, %18427
%18433 = phi i32 [ 0, %18427 ], [ %18431, %18428 ]
%18434 = trunc i32 %18433 to i16
store i16 %18434, i16* %10
%18435 = load i16, i16* %18
%18436 = sext i16 %18435 to i32
%18437 = icmp eq i32 %18436, 0
br i1 %18437, label %18438, label %18439
18438: ; preds = %18432
br label %18443
18439: ; preds = %18432
%18440 = load i16, i16* %18
%18441 = sext i16 %18440 to i32
%18442 = sub nsw i32 25, %18441
br label %18443
18443: ; preds = %18439, %18438
%18444 = phi i32 [ 0, %18438 ], [ %18442, %18439 ]
%18445 = trunc i32 %18444 to i16
store i16 %18445, i16* %14
%18446 = load i16, i16* %11
store i16 %18446, i16* %18
%18447 = load i16, i16* %15
%18448 = sext i16 %18447 to i32
%18449 = icmp eq i32 %18448, 0
br i1 %18449, label %18450, label %18451
18450: ; preds = %18443
br label %18455
18451: ; preds = %18443
%18452 = load i16, i16* %15
%18453 = sext i16 %18452 to i32
%18454 = sub nsw i32 25, %18453
br label %18455
18455: ; preds = %18451, %18450
%18456 = phi i32 [ 0, %18450 ], [ %18454, %18451 ]
%18457 = trunc i32 %18456 to i16
store i16 %18457, i16* %11
%18458 = load i16, i16* %18
%18459 = sext i16 %18458 to i32
%18460 = icmp eq i32 %18459, 0
br i1 %18460, label %18461, label %18462
18461: ; preds = %18455
br label %18466
18462: ; preds = %18455
%18463 = load i16, i16* %18
%18464 = sext i16 %18463 to i32
%18465 = sub nsw i32 25, %18464
br label %18466
18466: ; preds = %18462, %18461
%18467 = phi i32 [ 0, %18461 ], [ %18465, %18462 ]
%18468 = trunc i32 %18467 to i16
store i16 %18468, i16* %15
%18469 = load i16, i16* %12
store i16 %18469, i16* %18
%18470 = load i16, i16* %16
%18471 = sext i16 %18470 to i32
%18472 = icmp eq i32 %18471, 0
br i1 %18472, label %18473, label %18474
18473: ; preds = %18466
br label %18478
18474: ; preds = %18466
%18475 = load i16, i16* %16
%18476 = sext i16 %18475 to i32
%18477 = sub nsw i32 25, %18476
br label %18478
18478: ; preds = %18474, %18473
%18479 = phi i32 [ 0, %18473 ], [ %18477, %18474 ]
%18480 = trunc i32 %18479 to i16
store i16 %18480, i16* %12
%18481 = load i16, i16* %18
%18482 = sext i16 %18481 to i32
%18483 = icmp eq i32 %18482, 0
br i1 %18483, label %18484, label %18485
18484: ; preds = %18478
br label %18489
18485: ; preds = %18478
%18486 = load i16, i16* %18
%18487 = sext i16 %18486 to i32
%18488 = sub nsw i32 25, %18487
br label %18489
18489: ; preds = %18485, %18484
%18490 = phi i32 [ 0, %18484 ], [ %18488, %18485 ]
%18491 = trunc i32 %18490 to i16
store i16 %18491, i16* %16
%18492 = load i16, i16* %13
store i16 %18492, i16* %18
%18493 = load i16, i16* %17
%18494 = sext i16 %18493 to i32
%18495 = icmp eq i32 %18494, 0
br i1 %18495, label %18496, label %18497
18496: ; preds = %18489
br label %18501
18497: ; preds = %18489
%18498 = load i16, i16* %17
%18499 = sext i16 %18498 to i32
%18500 = sub nsw i32 25, %18499
br label %18501
18501: ; preds = %18497, %18496
%18502 = phi i32 [ 0, %18496 ], [ %18500, %18497 ]
%18503 = trunc i32 %18502 to i16
store i16 %18503, i16* %13
%18504 = load i16, i16* %18
%18505 = sext i16 %18504 to i32
%18506 = icmp eq i32 %18505, 0
br i1 %18506, label %18507, label %18508
18507: ; preds = %18501
br label %18512
18508: ; preds = %18501
%18509 = load i16, i16* %18
%18510 = sext i16 %18509 to i32
%18511 = sub nsw i32 25, %18510
br label %18512
18512: ; preds = %18508, %18507
%18513 = phi i32 [ 0, %18507 ], [ %18511, %18508 ]
%18514 = trunc i32 %18513 to i16
store i16 %18514, i16* %17
%18515 = load i16, i16* %20
store i16 %18515, i16* %16
br label %18722
18516: ; preds = %18302
%18517 = load i16, i16* %10
store i16 %18517, i16* %18
%18518 = load i16, i16* %14
%18519 = sext i16 %18518 to i32
%18520 = icmp eq i32 %18519, 0
br i1 %18520, label %18521, label %18522
18521: ; preds = %18516
br label %18526
18522: ; preds = %18516
%18523 = load i16, i16* %14
%18524 = sext i16 %18523 to i32
%18525 = sub nsw i32 25, %18524
br label %18526
18526: ; preds = %18522, %18521
%18527 = phi i32 [ 0, %18521 ], [ %18525, %18522 ]
%18528 = trunc i32 %18527 to i16
store i16 %18528, i16* %10
%18529 = load i16, i16* %18
%18530 = sext i16 %18529 to i32
%18531 = icmp eq i32 %18530, 0
br i1 %18531, label %18532, label %18533
18532: ; preds = %18526
br label %18537
18533: ; preds = %18526
%18534 = load i16, i16* %18
%18535 = sext i16 %18534 to i32
%18536 = sub nsw i32 25, %18535
br label %18537
18537: ; preds = %18533, %18532
%18538 = phi i32 [ 0, %18532 ], [ %18536, %18533 ]
%18539 = trunc i32 %18538 to i16
store i16 %18539, i16* %14
%18540 = load i16, i16* %11
store i16 %18540, i16* %18
%18541 = load i16, i16* %15
%18542 = sext i16 %18541 to i32
%18543 = icmp eq i32 %18542, 0
br i1 %18543, label %18544, label %18545
18544: ; preds = %18537
br label %18549
18545: ; preds = %18537
%18546 = load i16, i16* %15
%18547 = sext i16 %18546 to i32
%18548 = sub nsw i32 25, %18547
br label %18549
18549: ; preds = %18545, %18544
%18550 = phi i32 [ 0, %18544 ], [ %18548, %18545 ]
%18551 = trunc i32 %18550 to i16
store i16 %18551, i16* %11
%18552 = load i16, i16* %18
%18553 = sext i16 %18552 to i32
%18554 = icmp eq i32 %18553, 0
br i1 %18554, label %18555, label %18556
18555: ; preds = %18549
br label %18560
18556: ; preds = %18549
%18557 = load i16, i16* %18
%18558 = sext i16 %18557 to i32
%18559 = sub nsw i32 25, %18558
br label %18560
18560: ; preds = %18556, %18555
%18561 = phi i32 [ 0, %18555 ], [ %18559, %18556 ]
%18562 = trunc i32 %18561 to i16
store i16 %18562, i16* %15
%18563 = load i16, i16* %12
store i16 %18563, i16* %18
%18564 = load i16, i16* %16
%18565 = sext i16 %18564 to i32
%18566 = icmp eq i32 %18565, 0
br i1 %18566, label %18567, label %18568
18567: ; preds = %18560
br label %18572
18568: ; preds = %18560
%18569 = load i16, i16* %16
%18570 = sext i16 %18569 to i32
%18571 = sub nsw i32 25, %18570
br label %18572
18572: ; preds = %18568, %18567
%18573 = phi i32 [ 0, %18567 ], [ %18571, %18568 ]
%18574 = trunc i32 %18573 to i16
store i16 %18574, i16* %12
%18575 = load i16, i16* %18
%18576 = sext i16 %18575 to i32
%18577 = icmp eq i32 %18576, 0
br i1 %18577, label %18578, label %18579
18578: ; preds = %18572
br label %18583
18579: ; preds = %18572
%18580 = load i16, i16* %18
%18581 = sext i16 %18580 to i32
%18582 = sub nsw i32 25, %18581
br label %18583
18583: ; preds = %18579, %18578
%18584 = phi i32 [ 0, %18578 ], [ %18582, %18579 ]
%18585 = trunc i32 %18584 to i16
store i16 %18585, i16* %16
%18586 = load i16, i16* %13
store i16 %18586, i16* %18
%18587 = load i16, i16* %17
%18588 = sext i16 %18587 to i32
%18589 = icmp eq i32 %18588, 0
br i1 %18589, label %18590, label %18591
18590: ; preds = %18583
br label %18595
18591: ; preds = %18583
%18592 = load i16, i16* %17
%18593 = sext i16 %18592 to i32
%18594 = sub nsw i32 25, %18593
br label %18595
18595: ; preds = %18591, %18590
%18596 = phi i32 [ 0, %18590 ], [ %18594, %18591 ]
%18597 = trunc i32 %18596 to i16
store i16 %18597, i16* %13
%18598 = load i16, i16* %18
%18599 = sext i16 %18598 to i32
%18600 = icmp eq i32 %18599, 0
br i1 %18600, label %18601, label %18602
18601: ; preds = %18595
br label %18606
18602: ; preds = %18595
%18603 = load i16, i16* %18
%18604 = sext i16 %18603 to i32
%18605 = sub nsw i32 25, %18604
br label %18606
18606: ; preds = %18602, %18601
%18607 = phi i32 [ 0, %18601 ], [ %18605, %18602 ]
%18608 = trunc i32 %18607 to i16
store i16 %18608, i16* %17
%18609 = load i16, i16* %10
%18610 = sext i16 %18609 to i32
%18611 = load i16, i16* %11
%18612 = sext i16 %18611 to i32
%18613 = load i16, i16* %12
%18614 = sext i16 %18613 to i32
%18615 = load i16, i16* %13
%18616 = sext i16 %18615 to i32
%18617 = load i16, i16* %14
%18618 = sext i16 %18617 to i32
%18619 = load i16, i16* %15
%18620 = sext i16 %18619 to i32
%18621 = load i16, i16* %16
%18622 = sext i16 %18621 to i32
%18623 = load i16, i16* %17
%18624 = sext i16 %18623 to i32
%18625 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_losing_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18610, i32 %18612, i32 %18614, i32 %18616, i32 %18618, i32 %18620, i32 %18622, i32 %18624)
%18626 = icmp sle i32 0, %18625
br i1 %18626, label %18627, label %18629
18627: ; preds = %18606
%18628 = load i16, i16* %21
store i16 %18628, i16* %9
br label %18762
18629: ; preds = %18606
%18630 = load i16, i16* %10
store i16 %18630, i16* %18
%18631 = load i16, i16* %14
%18632 = sext i16 %18631 to i32
%18633 = icmp eq i32 %18632, 0
br i1 %18633, label %18634, label %18635
18634: ; preds = %18629
br label %18639
18635: ; preds = %18629
%18636 = load i16, i16* %14
%18637 = sext i16 %18636 to i32
%18638 = sub nsw i32 25, %18637
br label %18639
18639: ; preds = %18635, %18634
%18640 = phi i32 [ 0, %18634 ], [ %18638, %18635 ]
%18641 = trunc i32 %18640 to i16
store i16 %18641, i16* %10
%18642 = load i16, i16* %18
%18643 = sext i16 %18642 to i32
%18644 = icmp eq i32 %18643, 0
br i1 %18644, label %18645, label %18646
18645: ; preds = %18639
br label %18650
18646: ; preds = %18639
%18647 = load i16, i16* %18
%18648 = sext i16 %18647 to i32
%18649 = sub nsw i32 25, %18648
br label %18650
18650: ; preds = %18646, %18645
%18651 = phi i32 [ 0, %18645 ], [ %18649, %18646 ]
%18652 = trunc i32 %18651 to i16
store i16 %18652, i16* %14
%18653 = load i16, i16* %11
store i16 %18653, i16* %18
%18654 = load i16, i16* %15
%18655 = sext i16 %18654 to i32
%18656 = icmp eq i32 %18655, 0
br i1 %18656, label %18657, label %18658
18657: ; preds = %18650
br label %18662
18658: ; preds = %18650
%18659 = load i16, i16* %15
%18660 = sext i16 %18659 to i32
%18661 = sub nsw i32 25, %18660
br label %18662
18662: ; preds = %18658, %18657
%18663 = phi i32 [ 0, %18657 ], [ %18661, %18658 ]
%18664 = trunc i32 %18663 to i16
store i16 %18664, i16* %11
%18665 = load i16, i16* %18
%18666 = sext i16 %18665 to i32
%18667 = icmp eq i32 %18666, 0
br i1 %18667, label %18668, label %18669
18668: ; preds = %18662
br label %18673
18669: ; preds = %18662
%18670 = load i16, i16* %18
%18671 = sext i16 %18670 to i32
%18672 = sub nsw i32 25, %18671
br label %18673
18673: ; preds = %18669, %18668
%18674 = phi i32 [ 0, %18668 ], [ %18672, %18669 ]
%18675 = trunc i32 %18674 to i16
store i16 %18675, i16* %15
%18676 = load i16, i16* %12
store i16 %18676, i16* %18
%18677 = load i16, i16* %16
%18678 = sext i16 %18677 to i32
%18679 = icmp eq i32 %18678, 0
br i1 %18679, label %18680, label %18681
18680: ; preds = %18673
br label %18685
18681: ; preds = %18673
%18682 = load i16, i16* %16
%18683 = sext i16 %18682 to i32
%18684 = sub nsw i32 25, %18683
br label %18685
18685: ; preds = %18681, %18680
%18686 = phi i32 [ 0, %18680 ], [ %18684, %18681 ]
%18687 = trunc i32 %18686 to i16
store i16 %18687, i16* %12
%18688 = load i16, i16* %18
%18689 = sext i16 %18688 to i32
%18690 = icmp eq i32 %18689, 0
br i1 %18690, label %18691, label %18692
18691: ; preds = %18685
br label %18696
18692: ; preds = %18685
%18693 = load i16, i16* %18
%18694 = sext i16 %18693 to i32
%18695 = sub nsw i32 25, %18694
br label %18696
18696: ; preds = %18692, %18691
%18697 = phi i32 [ 0, %18691 ], [ %18695, %18692 ]
%18698 = trunc i32 %18697 to i16
store i16 %18698, i16* %16
%18699 = load i16, i16* %13
store i16 %18699, i16* %18
%18700 = load i16, i16* %17
%18701 = sext i16 %18700 to i32
%18702 = icmp eq i32 %18701, 0
br i1 %18702, label %18703, label %18704
18703: ; preds = %18696
br label %18708
18704: ; preds = %18696
%18705 = load i16, i16* %17
%18706 = sext i16 %18705 to i32
%18707 = sub nsw i32 25, %18706
br label %18708
18708: ; preds = %18704, %18703
%18709 = phi i32 [ 0, %18703 ], [ %18707, %18704 ]
%18710 = trunc i32 %18709 to i16
store i16 %18710, i16* %13
%18711 = load i16, i16* %18
%18712 = sext i16 %18711 to i32
%18713 = icmp eq i32 %18712, 0
br i1 %18713, label %18714, label %18715
18714: ; preds = %18708
br label %18719
18715: ; preds = %18708
%18716 = load i16, i16* %18
%18717 = sext i16 %18716 to i32
%18718 = sub nsw i32 25, %18717
br label %18719
18719: ; preds = %18715, %18714
%18720 = phi i32 [ 0, %18714 ], [ %18718, %18715 ]
%18721 = trunc i32 %18720 to i16
store i16 %18721, i16* %17
br label %18722
18722: ; preds = %18719, %18512
%18723 = load i16, i16* %19
store i16 %18723, i16* %13
br label %18724
18724: ; preds = %18722, %18296, %18290, %18284, %18278, %18272, %18261
br label %18725
18725: ; preds = %18724, %18256, %18252, %18248
br label %18726
18726: ; preds = %18725, %18244
br label %18727
18727: ; preds = %18726, %18243
br label %18728
18728: ; preds = %18727, %17765
br label %18729
18729: ; preds = %18728, %17283
br label %18730
18730: ; preds = %18729, %16806
br label %18731
18731: ; preds = %18730, %16324
br label %18732
18732: ; preds = %18731, %15846
br label %18733
18733: ; preds = %18732, %15364
br label %18734
18734: ; preds = %18733, %14887
br label %18735
18735: ; preds = %18734, %14405
br label %18736
18736: ; preds = %18735, %13927
br label %18737
18737: ; preds = %18736, %13445
br label %18738
18738: ; preds = %18737, %12968
br label %18739
18739: ; preds = %18738, %12486
br label %18740
18740: ; preds = %18739, %12008
br label %18741
18741: ; preds = %18740, %11526
br label %18742
18742: ; preds = %18741, %11049
br label %18743
18743: ; preds = %18742, %10359
br label %18744
18744: ; preds = %18743, %9673
br label %18745
18745: ; preds = %18744, %8983
br label %18746
18746: ; preds = %18745, %8298
br label %18747
18747: ; preds = %18746, %7608
br label %18748
18748: ; preds = %18747, %6922
br label %18749
18749: ; preds = %18748, %6232
br label %18750
18750: ; preds = %18749, %5547
br label %18751
18751: ; preds = %18750, %4857
br label %18752
18752: ; preds = %18751, %4171
br label %18753
18753: ; preds = %18752, %3481
br label %18754
18754: ; preds = %18753, %2796
br label %18755
18755: ; preds = %18754, %2106
br label %18756
18756: ; preds = %18755, %1420
br label %18757
18757: ; preds = %18756, %730
br label %18758
18758: ; preds = %18757
%18759 = load i16, i16* %21
%18760 = add i16 %18759, 1
store i16 %18760, i16* %21
br label %42
18761: ; preds = %42
store i16 -1, i16* %9
br label %18762
18762: ; preds = %18761, %18627, %18420, %18145, %17938, %17667, %17460, %17185, %16978, %16708, %16501, %16226, %16019, %15748, %15541, %15266, %15059, %14789, %14582, %14307, %14100, %13829, %13622, %13347, %13140, %12870, %12663, %12388, %12181, %11910, %11703, %11428, %11221, %10950, %10743, %10530, %10260, %10053, %9840, %9574, %9367, %9154, %8884, %8677, %8464, %8199, %7992, %7779, %7509, %7302, %7089, %6823, %6616, %6403, %6133, %5926, %5713, %5448, %5241, %5028, %4758, %4551, %4338, %4072, %3865, %3652, %3382, %3175, %2962, %2697, %2490, %2277, %2007, %1800, %1587, %1321, %1114, %901, %631, %424, %211, %40
%18763 = load i16, i16* %9
ret i16 %18763
}

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