short get_first_losing_move(short a, short b, short c, short d, short e,
                            short f, short g, short h) {
  short tmp, org, dst;
  if (get_first_winning_move(a, b, c, d, e, f, g, h) != -1)
    return -2;
  short first_losing_move = -1;
  for (short move = 31; 0 <= move; 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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
              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 (get_first_winning_move(a, b, c, d, e, f, g, h) == -1)
                return -1;
              {
                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);
              }
              first_losing_move = move;
            }
            d = org;
          }
        }
      }
    }
  }
  return first_losing_move;
}


x86 assembly (clang, -O0):
<get_first_losing_move>:
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_winning_move@plt>
cmp    $0xffffffff,%eax
je     11aa <get_first_losing_move+0x9a>
movw   $0xfffe,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
movw   $0xffff,-0x16(%rbp)
movw   $0x1f,-0x18(%rbp)
movswl -0x18(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1652f <get_first_losing_move+0x1541f>
movswl -0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1d87 <get_first_losing_move+0xc77>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     1d82 <get_first_losing_move+0xc72>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    1d82 <get_first_losing_move+0xc72>
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     1d7d <get_first_losing_move+0xc6d>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1d7d <get_first_losing_move+0xc6d>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     1d7d <get_first_losing_move+0xc6d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1d7d <get_first_losing_move+0xc6d>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1d7d <get_first_losing_move+0xc6d>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    15c7 <get_first_losing_move+0x4b7>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    128b <get_first_losing_move+0x17b>
xor    %eax,%eax
mov    %eax,-0x2c(%rbp)
jmp    1299 <get_first_losing_move+0x189>
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    12b7 <get_first_losing_move+0x1a7>
xor    %eax,%eax
mov    %eax,-0x30(%rbp)
jmp    12c5 <get_first_losing_move+0x1b5>
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    12eb <get_first_losing_move+0x1db>
xor    %eax,%eax
mov    %eax,-0x34(%rbp)
jmp    12f9 <get_first_losing_move+0x1e9>
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    1317 <get_first_losing_move+0x207>
xor    %eax,%eax
mov    %eax,-0x38(%rbp)
jmp    1325 <get_first_losing_move+0x215>
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    134b <get_first_losing_move+0x23b>
xor    %eax,%eax
mov    %eax,-0x3c(%rbp)
jmp    1359 <get_first_losing_move+0x249>
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    1377 <get_first_losing_move+0x267>
xor    %eax,%eax
mov    %eax,-0x40(%rbp)
jmp    1385 <get_first_losing_move+0x275>
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    13ab <get_first_losing_move+0x29b>
xor    %eax,%eax
mov    %eax,-0x44(%rbp)
jmp    13b9 <get_first_losing_move+0x2a9>
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    13d7 <get_first_losing_move+0x2c7>
xor    %eax,%eax
mov    %eax,-0x48(%rbp)
jmp    13e5 <get_first_losing_move+0x2d5>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1432 <get_first_losing_move+0x322>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1451 <get_first_losing_move+0x341>
xor    %eax,%eax
mov    %eax,-0x4c(%rbp)
jmp    145f <get_first_losing_move+0x34f>
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    147d <get_first_losing_move+0x36d>
xor    %eax,%eax
mov    %eax,-0x50(%rbp)
jmp    148b <get_first_losing_move+0x37b>
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    14b1 <get_first_losing_move+0x3a1>
xor    %eax,%eax
mov    %eax,-0x54(%rbp)
jmp    14bf <get_first_losing_move+0x3af>
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    14dd <get_first_losing_move+0x3cd>
xor    %eax,%eax
mov    %eax,-0x58(%rbp)
jmp    14eb <get_first_losing_move+0x3db>
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    1511 <get_first_losing_move+0x401>
xor    %eax,%eax
mov    %eax,-0x5c(%rbp)
jmp    151f <get_first_losing_move+0x40f>
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    153d <get_first_losing_move+0x42d>
xor    %eax,%eax
mov    %eax,-0x60(%rbp)
jmp    154b <get_first_losing_move+0x43b>
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    1571 <get_first_losing_move+0x461>
xor    %eax,%eax
mov    %eax,-0x64(%rbp)
jmp    157f <get_first_losing_move+0x46f>
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    159d <get_first_losing_move+0x48d>
xor    %eax,%eax
mov    %eax,-0x68(%rbp)
jmp    15ab <get_first_losing_move+0x49b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1d75 <get_first_losing_move+0xc65>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1992 <get_first_losing_move+0x882>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15fc <get_first_losing_move+0x4ec>
xor    %eax,%eax
mov    %eax,-0x6c(%rbp)
jmp    160a <get_first_losing_move+0x4fa>
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    1628 <get_first_losing_move+0x518>
xor    %eax,%eax
mov    %eax,-0x70(%rbp)
jmp    1636 <get_first_losing_move+0x526>
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    165c <get_first_losing_move+0x54c>
xor    %eax,%eax
mov    %eax,-0x74(%rbp)
jmp    166a <get_first_losing_move+0x55a>
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    1688 <get_first_losing_move+0x578>
xor    %eax,%eax
mov    %eax,-0x78(%rbp)
jmp    1696 <get_first_losing_move+0x586>
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    16bc <get_first_losing_move+0x5ac>
xor    %eax,%eax
mov    %eax,-0x7c(%rbp)
jmp    16ca <get_first_losing_move+0x5ba>
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    16e8 <get_first_losing_move+0x5d8>
xor    %eax,%eax
mov    %eax,-0x80(%rbp)
jmp    16f6 <get_first_losing_move+0x5e6>
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    171f <get_first_losing_move+0x60f>
xor    %eax,%eax
mov    %eax,-0x84(%rbp)
jmp    1730 <get_first_losing_move+0x620>
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    1754 <get_first_losing_move+0x644>
xor    %eax,%eax
mov    %eax,-0x88(%rbp)
jmp    1765 <get_first_losing_move+0x655>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    17b5 <get_first_losing_move+0x6a5>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    17d7 <get_first_losing_move+0x6c7>
xor    %eax,%eax
mov    %eax,-0x8c(%rbp)
jmp    17e8 <get_first_losing_move+0x6d8>
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    180c <get_first_losing_move+0x6fc>
xor    %eax,%eax
mov    %eax,-0x90(%rbp)
jmp    181d <get_first_losing_move+0x70d>
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    1849 <get_first_losing_move+0x739>
xor    %eax,%eax
mov    %eax,-0x94(%rbp)
jmp    185a <get_first_losing_move+0x74a>
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    187e <get_first_losing_move+0x76e>
xor    %eax,%eax
mov    %eax,-0x98(%rbp)
jmp    188f <get_first_losing_move+0x77f>
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    18bb <get_first_losing_move+0x7ab>
xor    %eax,%eax
mov    %eax,-0x9c(%rbp)
jmp    18cc <get_first_losing_move+0x7bc>
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    18f0 <get_first_losing_move+0x7e0>
xor    %eax,%eax
mov    %eax,-0xa0(%rbp)
jmp    1901 <get_first_losing_move+0x7f1>
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    192d <get_first_losing_move+0x81d>
xor    %eax,%eax
mov    %eax,-0xa4(%rbp)
jmp    193e <get_first_losing_move+0x82e>
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    1962 <get_first_losing_move+0x852>
xor    %eax,%eax
mov    %eax,-0xa8(%rbp)
jmp    1973 <get_first_losing_move+0x863>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    1d70 <get_first_losing_move+0xc60>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    19b4 <get_first_losing_move+0x8a4>
xor    %eax,%eax
mov    %eax,-0xac(%rbp)
jmp    19c5 <get_first_losing_move+0x8b5>
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    19e9 <get_first_losing_move+0x8d9>
xor    %eax,%eax
mov    %eax,-0xb0(%rbp)
jmp    19fa <get_first_losing_move+0x8ea>
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    1a26 <get_first_losing_move+0x916>
xor    %eax,%eax
mov    %eax,-0xb4(%rbp)
jmp    1a37 <get_first_losing_move+0x927>
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    1a5b <get_first_losing_move+0x94b>
xor    %eax,%eax
mov    %eax,-0xb8(%rbp)
jmp    1a6c <get_first_losing_move+0x95c>
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    1a98 <get_first_losing_move+0x988>
xor    %eax,%eax
mov    %eax,-0xbc(%rbp)
jmp    1aa9 <get_first_losing_move+0x999>
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    1acd <get_first_losing_move+0x9bd>
xor    %eax,%eax
mov    %eax,-0xc0(%rbp)
jmp    1ade <get_first_losing_move+0x9ce>
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    1b0a <get_first_losing_move+0x9fa>
xor    %eax,%eax
mov    %eax,-0xc4(%rbp)
jmp    1b1b <get_first_losing_move+0xa0b>
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    1b3f <get_first_losing_move+0xa2f>
xor    %eax,%eax
mov    %eax,-0xc8(%rbp)
jmp    1b50 <get_first_losing_move+0xa40>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1ba0 <get_first_losing_move+0xa90>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1bc2 <get_first_losing_move+0xab2>
xor    %eax,%eax
mov    %eax,-0xcc(%rbp)
jmp    1bd3 <get_first_losing_move+0xac3>
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    1bf7 <get_first_losing_move+0xae7>
xor    %eax,%eax
mov    %eax,-0xd0(%rbp)
jmp    1c08 <get_first_losing_move+0xaf8>
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    1c34 <get_first_losing_move+0xb24>
xor    %eax,%eax
mov    %eax,-0xd4(%rbp)
jmp    1c45 <get_first_losing_move+0xb35>
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    1c69 <get_first_losing_move+0xb59>
xor    %eax,%eax
mov    %eax,-0xd8(%rbp)
jmp    1c7a <get_first_losing_move+0xb6a>
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    1ca6 <get_first_losing_move+0xb96>
xor    %eax,%eax
mov    %eax,-0xdc(%rbp)
jmp    1cb7 <get_first_losing_move+0xba7>
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    1cdb <get_first_losing_move+0xbcb>
xor    %eax,%eax
mov    %eax,-0xe0(%rbp)
jmp    1cec <get_first_losing_move+0xbdc>
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    1d18 <get_first_losing_move+0xc08>
xor    %eax,%eax
mov    %eax,-0xe4(%rbp)
jmp    1d29 <get_first_losing_move+0xc19>
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    1d4d <get_first_losing_move+0xc3d>
xor    %eax,%eax
mov    %eax,-0xe8(%rbp)
jmp    1d5e <get_first_losing_move+0xc4e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe8(%rbp)
mov    -0xe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    1d75 <get_first_losing_move+0xc65>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    1d82 <get_first_losing_move+0xc72>
jmp    16519 <get_first_losing_move+0x15409>
movswl -0x18(%rbp),%eax
cmp    $0x1,%eax
jne    2a25 <get_first_losing_move+0x1915>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     2a20 <get_first_losing_move+0x1910>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    2a20 <get_first_losing_move+0x1910>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     2a20 <get_first_losing_move+0x1910>
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     2a1b <get_first_losing_move+0x190b>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     2a1b <get_first_losing_move+0x190b>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     2a1b <get_first_losing_move+0x190b>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     2a1b <get_first_losing_move+0x190b>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     2a1b <get_first_losing_move+0x190b>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    222f <get_first_losing_move+0x111f>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1e66 <get_first_losing_move+0xd56>
xor    %eax,%eax
mov    %eax,-0xec(%rbp)
jmp    1e77 <get_first_losing_move+0xd67>
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    1e9b <get_first_losing_move+0xd8b>
xor    %eax,%eax
mov    %eax,-0xf0(%rbp)
jmp    1eac <get_first_losing_move+0xd9c>
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    1ed8 <get_first_losing_move+0xdc8>
xor    %eax,%eax
mov    %eax,-0xf4(%rbp)
jmp    1ee9 <get_first_losing_move+0xdd9>
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    1f0d <get_first_losing_move+0xdfd>
xor    %eax,%eax
mov    %eax,-0xf8(%rbp)
jmp    1f1e <get_first_losing_move+0xe0e>
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    1f4a <get_first_losing_move+0xe3a>
xor    %eax,%eax
mov    %eax,-0xfc(%rbp)
jmp    1f5b <get_first_losing_move+0xe4b>
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    1f7f <get_first_losing_move+0xe6f>
xor    %eax,%eax
mov    %eax,-0x100(%rbp)
jmp    1f90 <get_first_losing_move+0xe80>
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    1fbc <get_first_losing_move+0xeac>
xor    %eax,%eax
mov    %eax,-0x104(%rbp)
jmp    1fcd <get_first_losing_move+0xebd>
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    1ff1 <get_first_losing_move+0xee1>
xor    %eax,%eax
mov    %eax,-0x108(%rbp)
jmp    2002 <get_first_losing_move+0xef2>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    2052 <get_first_losing_move+0xf42>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2074 <get_first_losing_move+0xf64>
xor    %eax,%eax
mov    %eax,-0x10c(%rbp)
jmp    2085 <get_first_losing_move+0xf75>
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    20a9 <get_first_losing_move+0xf99>
xor    %eax,%eax
mov    %eax,-0x110(%rbp)
jmp    20ba <get_first_losing_move+0xfaa>
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    20e6 <get_first_losing_move+0xfd6>
xor    %eax,%eax
mov    %eax,-0x114(%rbp)
jmp    20f7 <get_first_losing_move+0xfe7>
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    211b <get_first_losing_move+0x100b>
xor    %eax,%eax
mov    %eax,-0x118(%rbp)
jmp    212c <get_first_losing_move+0x101c>
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    2158 <get_first_losing_move+0x1048>
xor    %eax,%eax
mov    %eax,-0x11c(%rbp)
jmp    2169 <get_first_losing_move+0x1059>
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    218d <get_first_losing_move+0x107d>
xor    %eax,%eax
mov    %eax,-0x120(%rbp)
jmp    219e <get_first_losing_move+0x108e>
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    21ca <get_first_losing_move+0x10ba>
xor    %eax,%eax
mov    %eax,-0x124(%rbp)
jmp    21db <get_first_losing_move+0x10cb>
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    21ff <get_first_losing_move+0x10ef>
xor    %eax,%eax
mov    %eax,-0x128(%rbp)
jmp    2210 <get_first_losing_move+0x1100>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x128(%rbp)
mov    -0x128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    2a13 <get_first_losing_move+0x1903>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    2630 <get_first_losing_move+0x1520>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2267 <get_first_losing_move+0x1157>
xor    %eax,%eax
mov    %eax,-0x12c(%rbp)
jmp    2278 <get_first_losing_move+0x1168>
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    229c <get_first_losing_move+0x118c>
xor    %eax,%eax
mov    %eax,-0x130(%rbp)
jmp    22ad <get_first_losing_move+0x119d>
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    22d9 <get_first_losing_move+0x11c9>
xor    %eax,%eax
mov    %eax,-0x134(%rbp)
jmp    22ea <get_first_losing_move+0x11da>
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    230e <get_first_losing_move+0x11fe>
xor    %eax,%eax
mov    %eax,-0x138(%rbp)
jmp    231f <get_first_losing_move+0x120f>
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    234b <get_first_losing_move+0x123b>
xor    %eax,%eax
mov    %eax,-0x13c(%rbp)
jmp    235c <get_first_losing_move+0x124c>
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    2380 <get_first_losing_move+0x1270>
xor    %eax,%eax
mov    %eax,-0x140(%rbp)
jmp    2391 <get_first_losing_move+0x1281>
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    23bd <get_first_losing_move+0x12ad>
xor    %eax,%eax
mov    %eax,-0x144(%rbp)
jmp    23ce <get_first_losing_move+0x12be>
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    23f2 <get_first_losing_move+0x12e2>
xor    %eax,%eax
mov    %eax,-0x148(%rbp)
jmp    2403 <get_first_losing_move+0x12f3>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    2453 <get_first_losing_move+0x1343>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2475 <get_first_losing_move+0x1365>
xor    %eax,%eax
mov    %eax,-0x14c(%rbp)
jmp    2486 <get_first_losing_move+0x1376>
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    24aa <get_first_losing_move+0x139a>
xor    %eax,%eax
mov    %eax,-0x150(%rbp)
jmp    24bb <get_first_losing_move+0x13ab>
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    24e7 <get_first_losing_move+0x13d7>
xor    %eax,%eax
mov    %eax,-0x154(%rbp)
jmp    24f8 <get_first_losing_move+0x13e8>
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    251c <get_first_losing_move+0x140c>
xor    %eax,%eax
mov    %eax,-0x158(%rbp)
jmp    252d <get_first_losing_move+0x141d>
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    2559 <get_first_losing_move+0x1449>
xor    %eax,%eax
mov    %eax,-0x15c(%rbp)
jmp    256a <get_first_losing_move+0x145a>
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    258e <get_first_losing_move+0x147e>
xor    %eax,%eax
mov    %eax,-0x160(%rbp)
jmp    259f <get_first_losing_move+0x148f>
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    25cb <get_first_losing_move+0x14bb>
xor    %eax,%eax
mov    %eax,-0x164(%rbp)
jmp    25dc <get_first_losing_move+0x14cc>
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    2600 <get_first_losing_move+0x14f0>
xor    %eax,%eax
mov    %eax,-0x168(%rbp)
jmp    2611 <get_first_losing_move+0x1501>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x168(%rbp)
mov    -0x168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    2a0e <get_first_losing_move+0x18fe>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2652 <get_first_losing_move+0x1542>
xor    %eax,%eax
mov    %eax,-0x16c(%rbp)
jmp    2663 <get_first_losing_move+0x1553>
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    2687 <get_first_losing_move+0x1577>
xor    %eax,%eax
mov    %eax,-0x170(%rbp)
jmp    2698 <get_first_losing_move+0x1588>
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    26c4 <get_first_losing_move+0x15b4>
xor    %eax,%eax
mov    %eax,-0x174(%rbp)
jmp    26d5 <get_first_losing_move+0x15c5>
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    26f9 <get_first_losing_move+0x15e9>
xor    %eax,%eax
mov    %eax,-0x178(%rbp)
jmp    270a <get_first_losing_move+0x15fa>
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    2736 <get_first_losing_move+0x1626>
xor    %eax,%eax
mov    %eax,-0x17c(%rbp)
jmp    2747 <get_first_losing_move+0x1637>
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    276b <get_first_losing_move+0x165b>
xor    %eax,%eax
mov    %eax,-0x180(%rbp)
jmp    277c <get_first_losing_move+0x166c>
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    27a8 <get_first_losing_move+0x1698>
xor    %eax,%eax
mov    %eax,-0x184(%rbp)
jmp    27b9 <get_first_losing_move+0x16a9>
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    27dd <get_first_losing_move+0x16cd>
xor    %eax,%eax
mov    %eax,-0x188(%rbp)
jmp    27ee <get_first_losing_move+0x16de>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    283e <get_first_losing_move+0x172e>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2860 <get_first_losing_move+0x1750>
xor    %eax,%eax
mov    %eax,-0x18c(%rbp)
jmp    2871 <get_first_losing_move+0x1761>
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    2895 <get_first_losing_move+0x1785>
xor    %eax,%eax
mov    %eax,-0x190(%rbp)
jmp    28a6 <get_first_losing_move+0x1796>
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    28d2 <get_first_losing_move+0x17c2>
xor    %eax,%eax
mov    %eax,-0x194(%rbp)
jmp    28e3 <get_first_losing_move+0x17d3>
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    2907 <get_first_losing_move+0x17f7>
xor    %eax,%eax
mov    %eax,-0x198(%rbp)
jmp    2918 <get_first_losing_move+0x1808>
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    2944 <get_first_losing_move+0x1834>
xor    %eax,%eax
mov    %eax,-0x19c(%rbp)
jmp    2955 <get_first_losing_move+0x1845>
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    2979 <get_first_losing_move+0x1869>
xor    %eax,%eax
mov    %eax,-0x1a0(%rbp)
jmp    298a <get_first_losing_move+0x187a>
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    29b6 <get_first_losing_move+0x18a6>
xor    %eax,%eax
mov    %eax,-0x1a4(%rbp)
jmp    29c7 <get_first_losing_move+0x18b7>
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    29eb <get_first_losing_move+0x18db>
xor    %eax,%eax
mov    %eax,-0x1a8(%rbp)
jmp    29fc <get_first_losing_move+0x18ec>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    2a13 <get_first_losing_move+0x1903>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    2a20 <get_first_losing_move+0x1910>
jmp    16514 <get_first_losing_move+0x15404>
movswl -0x18(%rbp),%eax
cmp    $0x2,%eax
jne    36b6 <get_first_losing_move+0x25a6>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     36b1 <get_first_losing_move+0x25a1>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     36b1 <get_first_losing_move+0x25a1>
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     36ac <get_first_losing_move+0x259c>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     36ac <get_first_losing_move+0x259c>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     36ac <get_first_losing_move+0x259c>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     36ac <get_first_losing_move+0x259c>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     36ac <get_first_losing_move+0x259c>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    2ec0 <get_first_losing_move+0x1db0>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2af7 <get_first_losing_move+0x19e7>
xor    %eax,%eax
mov    %eax,-0x1ac(%rbp)
jmp    2b08 <get_first_losing_move+0x19f8>
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    2b2c <get_first_losing_move+0x1a1c>
xor    %eax,%eax
mov    %eax,-0x1b0(%rbp)
jmp    2b3d <get_first_losing_move+0x1a2d>
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    2b69 <get_first_losing_move+0x1a59>
xor    %eax,%eax
mov    %eax,-0x1b4(%rbp)
jmp    2b7a <get_first_losing_move+0x1a6a>
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    2b9e <get_first_losing_move+0x1a8e>
xor    %eax,%eax
mov    %eax,-0x1b8(%rbp)
jmp    2baf <get_first_losing_move+0x1a9f>
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    2bdb <get_first_losing_move+0x1acb>
xor    %eax,%eax
mov    %eax,-0x1bc(%rbp)
jmp    2bec <get_first_losing_move+0x1adc>
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    2c10 <get_first_losing_move+0x1b00>
xor    %eax,%eax
mov    %eax,-0x1c0(%rbp)
jmp    2c21 <get_first_losing_move+0x1b11>
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    2c4d <get_first_losing_move+0x1b3d>
xor    %eax,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2c5e <get_first_losing_move+0x1b4e>
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    2c82 <get_first_losing_move+0x1b72>
xor    %eax,%eax
mov    %eax,-0x1c8(%rbp)
jmp    2c93 <get_first_losing_move+0x1b83>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    2ce3 <get_first_losing_move+0x1bd3>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2d05 <get_first_losing_move+0x1bf5>
xor    %eax,%eax
mov    %eax,-0x1cc(%rbp)
jmp    2d16 <get_first_losing_move+0x1c06>
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    2d3a <get_first_losing_move+0x1c2a>
xor    %eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2d4b <get_first_losing_move+0x1c3b>
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    2d77 <get_first_losing_move+0x1c67>
xor    %eax,%eax
mov    %eax,-0x1d4(%rbp)
jmp    2d88 <get_first_losing_move+0x1c78>
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    2dac <get_first_losing_move+0x1c9c>
xor    %eax,%eax
mov    %eax,-0x1d8(%rbp)
jmp    2dbd <get_first_losing_move+0x1cad>
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    2de9 <get_first_losing_move+0x1cd9>
xor    %eax,%eax
mov    %eax,-0x1dc(%rbp)
jmp    2dfa <get_first_losing_move+0x1cea>
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    2e1e <get_first_losing_move+0x1d0e>
xor    %eax,%eax
mov    %eax,-0x1e0(%rbp)
jmp    2e2f <get_first_losing_move+0x1d1f>
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    2e5b <get_first_losing_move+0x1d4b>
xor    %eax,%eax
mov    %eax,-0x1e4(%rbp)
jmp    2e6c <get_first_losing_move+0x1d5c>
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    2e90 <get_first_losing_move+0x1d80>
xor    %eax,%eax
mov    %eax,-0x1e8(%rbp)
jmp    2ea1 <get_first_losing_move+0x1d91>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    36a4 <get_first_losing_move+0x2594>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    32c1 <get_first_losing_move+0x21b1>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2ef8 <get_first_losing_move+0x1de8>
xor    %eax,%eax
mov    %eax,-0x1ec(%rbp)
jmp    2f09 <get_first_losing_move+0x1df9>
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    2f2d <get_first_losing_move+0x1e1d>
xor    %eax,%eax
mov    %eax,-0x1f0(%rbp)
jmp    2f3e <get_first_losing_move+0x1e2e>
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    2f6a <get_first_losing_move+0x1e5a>
xor    %eax,%eax
mov    %eax,-0x1f4(%rbp)
jmp    2f7b <get_first_losing_move+0x1e6b>
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    2f9f <get_first_losing_move+0x1e8f>
xor    %eax,%eax
mov    %eax,-0x1f8(%rbp)
jmp    2fb0 <get_first_losing_move+0x1ea0>
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    2fdc <get_first_losing_move+0x1ecc>
xor    %eax,%eax
mov    %eax,-0x1fc(%rbp)
jmp    2fed <get_first_losing_move+0x1edd>
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    3011 <get_first_losing_move+0x1f01>
xor    %eax,%eax
mov    %eax,-0x200(%rbp)
jmp    3022 <get_first_losing_move+0x1f12>
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    304e <get_first_losing_move+0x1f3e>
xor    %eax,%eax
mov    %eax,-0x204(%rbp)
jmp    305f <get_first_losing_move+0x1f4f>
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    3083 <get_first_losing_move+0x1f73>
xor    %eax,%eax
mov    %eax,-0x208(%rbp)
jmp    3094 <get_first_losing_move+0x1f84>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    30e4 <get_first_losing_move+0x1fd4>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3106 <get_first_losing_move+0x1ff6>
xor    %eax,%eax
mov    %eax,-0x20c(%rbp)
jmp    3117 <get_first_losing_move+0x2007>
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    313b <get_first_losing_move+0x202b>
xor    %eax,%eax
mov    %eax,-0x210(%rbp)
jmp    314c <get_first_losing_move+0x203c>
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    3178 <get_first_losing_move+0x2068>
xor    %eax,%eax
mov    %eax,-0x214(%rbp)
jmp    3189 <get_first_losing_move+0x2079>
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    31ad <get_first_losing_move+0x209d>
xor    %eax,%eax
mov    %eax,-0x218(%rbp)
jmp    31be <get_first_losing_move+0x20ae>
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    31ea <get_first_losing_move+0x20da>
xor    %eax,%eax
mov    %eax,-0x21c(%rbp)
jmp    31fb <get_first_losing_move+0x20eb>
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    321f <get_first_losing_move+0x210f>
xor    %eax,%eax
mov    %eax,-0x220(%rbp)
jmp    3230 <get_first_losing_move+0x2120>
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    325c <get_first_losing_move+0x214c>
xor    %eax,%eax
mov    %eax,-0x224(%rbp)
jmp    326d <get_first_losing_move+0x215d>
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    3291 <get_first_losing_move+0x2181>
xor    %eax,%eax
mov    %eax,-0x228(%rbp)
jmp    32a2 <get_first_losing_move+0x2192>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x228(%rbp)
mov    -0x228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    369f <get_first_losing_move+0x258f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    32e3 <get_first_losing_move+0x21d3>
xor    %eax,%eax
mov    %eax,-0x22c(%rbp)
jmp    32f4 <get_first_losing_move+0x21e4>
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    3318 <get_first_losing_move+0x2208>
xor    %eax,%eax
mov    %eax,-0x230(%rbp)
jmp    3329 <get_first_losing_move+0x2219>
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    3355 <get_first_losing_move+0x2245>
xor    %eax,%eax
mov    %eax,-0x234(%rbp)
jmp    3366 <get_first_losing_move+0x2256>
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    338a <get_first_losing_move+0x227a>
xor    %eax,%eax
mov    %eax,-0x238(%rbp)
jmp    339b <get_first_losing_move+0x228b>
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    33c7 <get_first_losing_move+0x22b7>
xor    %eax,%eax
mov    %eax,-0x23c(%rbp)
jmp    33d8 <get_first_losing_move+0x22c8>
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    33fc <get_first_losing_move+0x22ec>
xor    %eax,%eax
mov    %eax,-0x240(%rbp)
jmp    340d <get_first_losing_move+0x22fd>
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    3439 <get_first_losing_move+0x2329>
xor    %eax,%eax
mov    %eax,-0x244(%rbp)
jmp    344a <get_first_losing_move+0x233a>
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    346e <get_first_losing_move+0x235e>
xor    %eax,%eax
mov    %eax,-0x248(%rbp)
jmp    347f <get_first_losing_move+0x236f>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    34cf <get_first_losing_move+0x23bf>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    34f1 <get_first_losing_move+0x23e1>
xor    %eax,%eax
mov    %eax,-0x24c(%rbp)
jmp    3502 <get_first_losing_move+0x23f2>
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    3526 <get_first_losing_move+0x2416>
xor    %eax,%eax
mov    %eax,-0x250(%rbp)
jmp    3537 <get_first_losing_move+0x2427>
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    3563 <get_first_losing_move+0x2453>
xor    %eax,%eax
mov    %eax,-0x254(%rbp)
jmp    3574 <get_first_losing_move+0x2464>
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    3598 <get_first_losing_move+0x2488>
xor    %eax,%eax
mov    %eax,-0x258(%rbp)
jmp    35a9 <get_first_losing_move+0x2499>
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    35d5 <get_first_losing_move+0x24c5>
xor    %eax,%eax
mov    %eax,-0x25c(%rbp)
jmp    35e6 <get_first_losing_move+0x24d6>
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    360a <get_first_losing_move+0x24fa>
xor    %eax,%eax
mov    %eax,-0x260(%rbp)
jmp    361b <get_first_losing_move+0x250b>
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    3647 <get_first_losing_move+0x2537>
xor    %eax,%eax
mov    %eax,-0x264(%rbp)
jmp    3658 <get_first_losing_move+0x2548>
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    367c <get_first_losing_move+0x256c>
xor    %eax,%eax
mov    %eax,-0x268(%rbp)
jmp    368d <get_first_losing_move+0x257d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x268(%rbp)
mov    -0x268(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    36a4 <get_first_losing_move+0x2594>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    36b1 <get_first_losing_move+0x25a1>
jmp    1650f <get_first_losing_move+0x153ff>
movswl -0x18(%rbp),%eax
cmp    $0x3,%eax
jne    4358 <get_first_losing_move+0x3248>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     4353 <get_first_losing_move+0x3243>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    4353 <get_first_losing_move+0x3243>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     4353 <get_first_losing_move+0x3243>
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     434e <get_first_losing_move+0x323e>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     434e <get_first_losing_move+0x323e>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     434e <get_first_losing_move+0x323e>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     434e <get_first_losing_move+0x323e>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     434e <get_first_losing_move+0x323e>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3b62 <get_first_losing_move+0x2a52>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3799 <get_first_losing_move+0x2689>
xor    %eax,%eax
mov    %eax,-0x26c(%rbp)
jmp    37aa <get_first_losing_move+0x269a>
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    37ce <get_first_losing_move+0x26be>
xor    %eax,%eax
mov    %eax,-0x270(%rbp)
jmp    37df <get_first_losing_move+0x26cf>
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    380b <get_first_losing_move+0x26fb>
xor    %eax,%eax
mov    %eax,-0x274(%rbp)
jmp    381c <get_first_losing_move+0x270c>
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    3840 <get_first_losing_move+0x2730>
xor    %eax,%eax
mov    %eax,-0x278(%rbp)
jmp    3851 <get_first_losing_move+0x2741>
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    387d <get_first_losing_move+0x276d>
xor    %eax,%eax
mov    %eax,-0x27c(%rbp)
jmp    388e <get_first_losing_move+0x277e>
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    38b2 <get_first_losing_move+0x27a2>
xor    %eax,%eax
mov    %eax,-0x280(%rbp)
jmp    38c3 <get_first_losing_move+0x27b3>
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    38ef <get_first_losing_move+0x27df>
xor    %eax,%eax
mov    %eax,-0x284(%rbp)
jmp    3900 <get_first_losing_move+0x27f0>
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    3924 <get_first_losing_move+0x2814>
xor    %eax,%eax
mov    %eax,-0x288(%rbp)
jmp    3935 <get_first_losing_move+0x2825>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    3985 <get_first_losing_move+0x2875>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    39a7 <get_first_losing_move+0x2897>
xor    %eax,%eax
mov    %eax,-0x28c(%rbp)
jmp    39b8 <get_first_losing_move+0x28a8>
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    39dc <get_first_losing_move+0x28cc>
xor    %eax,%eax
mov    %eax,-0x290(%rbp)
jmp    39ed <get_first_losing_move+0x28dd>
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    3a19 <get_first_losing_move+0x2909>
xor    %eax,%eax
mov    %eax,-0x294(%rbp)
jmp    3a2a <get_first_losing_move+0x291a>
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    3a4e <get_first_losing_move+0x293e>
xor    %eax,%eax
mov    %eax,-0x298(%rbp)
jmp    3a5f <get_first_losing_move+0x294f>
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    3a8b <get_first_losing_move+0x297b>
xor    %eax,%eax
mov    %eax,-0x29c(%rbp)
jmp    3a9c <get_first_losing_move+0x298c>
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    3ac0 <get_first_losing_move+0x29b0>
xor    %eax,%eax
mov    %eax,-0x2a0(%rbp)
jmp    3ad1 <get_first_losing_move+0x29c1>
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    3afd <get_first_losing_move+0x29ed>
xor    %eax,%eax
mov    %eax,-0x2a4(%rbp)
jmp    3b0e <get_first_losing_move+0x29fe>
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    3b32 <get_first_losing_move+0x2a22>
xor    %eax,%eax
mov    %eax,-0x2a8(%rbp)
jmp    3b43 <get_first_losing_move+0x2a33>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2a8(%rbp)
mov    -0x2a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    4346 <get_first_losing_move+0x3236>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3f63 <get_first_losing_move+0x2e53>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3b9a <get_first_losing_move+0x2a8a>
xor    %eax,%eax
mov    %eax,-0x2ac(%rbp)
jmp    3bab <get_first_losing_move+0x2a9b>
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    3bcf <get_first_losing_move+0x2abf>
xor    %eax,%eax
mov    %eax,-0x2b0(%rbp)
jmp    3be0 <get_first_losing_move+0x2ad0>
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    3c0c <get_first_losing_move+0x2afc>
xor    %eax,%eax
mov    %eax,-0x2b4(%rbp)
jmp    3c1d <get_first_losing_move+0x2b0d>
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    3c41 <get_first_losing_move+0x2b31>
xor    %eax,%eax
mov    %eax,-0x2b8(%rbp)
jmp    3c52 <get_first_losing_move+0x2b42>
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    3c7e <get_first_losing_move+0x2b6e>
xor    %eax,%eax
mov    %eax,-0x2bc(%rbp)
jmp    3c8f <get_first_losing_move+0x2b7f>
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    3cb3 <get_first_losing_move+0x2ba3>
xor    %eax,%eax
mov    %eax,-0x2c0(%rbp)
jmp    3cc4 <get_first_losing_move+0x2bb4>
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    3cf0 <get_first_losing_move+0x2be0>
xor    %eax,%eax
mov    %eax,-0x2c4(%rbp)
jmp    3d01 <get_first_losing_move+0x2bf1>
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    3d25 <get_first_losing_move+0x2c15>
xor    %eax,%eax
mov    %eax,-0x2c8(%rbp)
jmp    3d36 <get_first_losing_move+0x2c26>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    3d86 <get_first_losing_move+0x2c76>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3da8 <get_first_losing_move+0x2c98>
xor    %eax,%eax
mov    %eax,-0x2cc(%rbp)
jmp    3db9 <get_first_losing_move+0x2ca9>
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    3ddd <get_first_losing_move+0x2ccd>
xor    %eax,%eax
mov    %eax,-0x2d0(%rbp)
jmp    3dee <get_first_losing_move+0x2cde>
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    3e1a <get_first_losing_move+0x2d0a>
xor    %eax,%eax
mov    %eax,-0x2d4(%rbp)
jmp    3e2b <get_first_losing_move+0x2d1b>
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    3e4f <get_first_losing_move+0x2d3f>
xor    %eax,%eax
mov    %eax,-0x2d8(%rbp)
jmp    3e60 <get_first_losing_move+0x2d50>
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    3e8c <get_first_losing_move+0x2d7c>
xor    %eax,%eax
mov    %eax,-0x2dc(%rbp)
jmp    3e9d <get_first_losing_move+0x2d8d>
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    3ec1 <get_first_losing_move+0x2db1>
xor    %eax,%eax
mov    %eax,-0x2e0(%rbp)
jmp    3ed2 <get_first_losing_move+0x2dc2>
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    3efe <get_first_losing_move+0x2dee>
xor    %eax,%eax
mov    %eax,-0x2e4(%rbp)
jmp    3f0f <get_first_losing_move+0x2dff>
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    3f33 <get_first_losing_move+0x2e23>
xor    %eax,%eax
mov    %eax,-0x2e8(%rbp)
jmp    3f44 <get_first_losing_move+0x2e34>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2e8(%rbp)
mov    -0x2e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    4341 <get_first_losing_move+0x3231>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3f85 <get_first_losing_move+0x2e75>
xor    %eax,%eax
mov    %eax,-0x2ec(%rbp)
jmp    3f96 <get_first_losing_move+0x2e86>
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    3fba <get_first_losing_move+0x2eaa>
xor    %eax,%eax
mov    %eax,-0x2f0(%rbp)
jmp    3fcb <get_first_losing_move+0x2ebb>
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    3ff7 <get_first_losing_move+0x2ee7>
xor    %eax,%eax
mov    %eax,-0x2f4(%rbp)
jmp    4008 <get_first_losing_move+0x2ef8>
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    402c <get_first_losing_move+0x2f1c>
xor    %eax,%eax
mov    %eax,-0x2f8(%rbp)
jmp    403d <get_first_losing_move+0x2f2d>
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    4069 <get_first_losing_move+0x2f59>
xor    %eax,%eax
mov    %eax,-0x2fc(%rbp)
jmp    407a <get_first_losing_move+0x2f6a>
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    409e <get_first_losing_move+0x2f8e>
xor    %eax,%eax
mov    %eax,-0x300(%rbp)
jmp    40af <get_first_losing_move+0x2f9f>
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    40db <get_first_losing_move+0x2fcb>
xor    %eax,%eax
mov    %eax,-0x304(%rbp)
jmp    40ec <get_first_losing_move+0x2fdc>
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    4110 <get_first_losing_move+0x3000>
xor    %eax,%eax
mov    %eax,-0x308(%rbp)
jmp    4121 <get_first_losing_move+0x3011>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    4171 <get_first_losing_move+0x3061>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4193 <get_first_losing_move+0x3083>
xor    %eax,%eax
mov    %eax,-0x30c(%rbp)
jmp    41a4 <get_first_losing_move+0x3094>
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    41c8 <get_first_losing_move+0x30b8>
xor    %eax,%eax
mov    %eax,-0x310(%rbp)
jmp    41d9 <get_first_losing_move+0x30c9>
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    4205 <get_first_losing_move+0x30f5>
xor    %eax,%eax
mov    %eax,-0x314(%rbp)
jmp    4216 <get_first_losing_move+0x3106>
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    423a <get_first_losing_move+0x312a>
xor    %eax,%eax
mov    %eax,-0x318(%rbp)
jmp    424b <get_first_losing_move+0x313b>
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    4277 <get_first_losing_move+0x3167>
xor    %eax,%eax
mov    %eax,-0x31c(%rbp)
jmp    4288 <get_first_losing_move+0x3178>
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    42ac <get_first_losing_move+0x319c>
xor    %eax,%eax
mov    %eax,-0x320(%rbp)
jmp    42bd <get_first_losing_move+0x31ad>
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    42e9 <get_first_losing_move+0x31d9>
xor    %eax,%eax
mov    %eax,-0x324(%rbp)
jmp    42fa <get_first_losing_move+0x31ea>
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    431e <get_first_losing_move+0x320e>
xor    %eax,%eax
mov    %eax,-0x328(%rbp)
jmp    432f <get_first_losing_move+0x321f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x328(%rbp)
mov    -0x328(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    4346 <get_first_losing_move+0x3236>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    4353 <get_first_losing_move+0x3243>
jmp    1650a <get_first_losing_move+0x153fa>
movswl -0x18(%rbp),%eax
cmp    $0x4,%eax
jne    4fe5 <get_first_losing_move+0x3ed5>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     4fe0 <get_first_losing_move+0x3ed0>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    4fe0 <get_first_losing_move+0x3ed0>
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     4fdb <get_first_losing_move+0x3ecb>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     4fdb <get_first_losing_move+0x3ecb>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     4fdb <get_first_losing_move+0x3ecb>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     4fdb <get_first_losing_move+0x3ecb>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     4fdb <get_first_losing_move+0x3ecb>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    47ef <get_first_losing_move+0x36df>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4426 <get_first_losing_move+0x3316>
xor    %eax,%eax
mov    %eax,-0x32c(%rbp)
jmp    4437 <get_first_losing_move+0x3327>
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    445b <get_first_losing_move+0x334b>
xor    %eax,%eax
mov    %eax,-0x330(%rbp)
jmp    446c <get_first_losing_move+0x335c>
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    4498 <get_first_losing_move+0x3388>
xor    %eax,%eax
mov    %eax,-0x334(%rbp)
jmp    44a9 <get_first_losing_move+0x3399>
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    44cd <get_first_losing_move+0x33bd>
xor    %eax,%eax
mov    %eax,-0x338(%rbp)
jmp    44de <get_first_losing_move+0x33ce>
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    450a <get_first_losing_move+0x33fa>
xor    %eax,%eax
mov    %eax,-0x33c(%rbp)
jmp    451b <get_first_losing_move+0x340b>
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    453f <get_first_losing_move+0x342f>
xor    %eax,%eax
mov    %eax,-0x340(%rbp)
jmp    4550 <get_first_losing_move+0x3440>
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    457c <get_first_losing_move+0x346c>
xor    %eax,%eax
mov    %eax,-0x344(%rbp)
jmp    458d <get_first_losing_move+0x347d>
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    45b1 <get_first_losing_move+0x34a1>
xor    %eax,%eax
mov    %eax,-0x348(%rbp)
jmp    45c2 <get_first_losing_move+0x34b2>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    4612 <get_first_losing_move+0x3502>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4634 <get_first_losing_move+0x3524>
xor    %eax,%eax
mov    %eax,-0x34c(%rbp)
jmp    4645 <get_first_losing_move+0x3535>
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    4669 <get_first_losing_move+0x3559>
xor    %eax,%eax
mov    %eax,-0x350(%rbp)
jmp    467a <get_first_losing_move+0x356a>
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    46a6 <get_first_losing_move+0x3596>
xor    %eax,%eax
mov    %eax,-0x354(%rbp)
jmp    46b7 <get_first_losing_move+0x35a7>
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    46db <get_first_losing_move+0x35cb>
xor    %eax,%eax
mov    %eax,-0x358(%rbp)
jmp    46ec <get_first_losing_move+0x35dc>
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    4718 <get_first_losing_move+0x3608>
xor    %eax,%eax
mov    %eax,-0x35c(%rbp)
jmp    4729 <get_first_losing_move+0x3619>
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    474d <get_first_losing_move+0x363d>
xor    %eax,%eax
mov    %eax,-0x360(%rbp)
jmp    475e <get_first_losing_move+0x364e>
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    478a <get_first_losing_move+0x367a>
xor    %eax,%eax
mov    %eax,-0x364(%rbp)
jmp    479b <get_first_losing_move+0x368b>
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    47bf <get_first_losing_move+0x36af>
xor    %eax,%eax
mov    %eax,-0x368(%rbp)
jmp    47d0 <get_first_losing_move+0x36c0>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x368(%rbp)
mov    -0x368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    4fd3 <get_first_losing_move+0x3ec3>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    4bf0 <get_first_losing_move+0x3ae0>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4827 <get_first_losing_move+0x3717>
xor    %eax,%eax
mov    %eax,-0x36c(%rbp)
jmp    4838 <get_first_losing_move+0x3728>
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    485c <get_first_losing_move+0x374c>
xor    %eax,%eax
mov    %eax,-0x370(%rbp)
jmp    486d <get_first_losing_move+0x375d>
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    4899 <get_first_losing_move+0x3789>
xor    %eax,%eax
mov    %eax,-0x374(%rbp)
jmp    48aa <get_first_losing_move+0x379a>
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    48ce <get_first_losing_move+0x37be>
xor    %eax,%eax
mov    %eax,-0x378(%rbp)
jmp    48df <get_first_losing_move+0x37cf>
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    490b <get_first_losing_move+0x37fb>
xor    %eax,%eax
mov    %eax,-0x37c(%rbp)
jmp    491c <get_first_losing_move+0x380c>
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    4940 <get_first_losing_move+0x3830>
xor    %eax,%eax
mov    %eax,-0x380(%rbp)
jmp    4951 <get_first_losing_move+0x3841>
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    497d <get_first_losing_move+0x386d>
xor    %eax,%eax
mov    %eax,-0x384(%rbp)
jmp    498e <get_first_losing_move+0x387e>
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    49b2 <get_first_losing_move+0x38a2>
xor    %eax,%eax
mov    %eax,-0x388(%rbp)
jmp    49c3 <get_first_losing_move+0x38b3>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    4a13 <get_first_losing_move+0x3903>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4a35 <get_first_losing_move+0x3925>
xor    %eax,%eax
mov    %eax,-0x38c(%rbp)
jmp    4a46 <get_first_losing_move+0x3936>
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    4a6a <get_first_losing_move+0x395a>
xor    %eax,%eax
mov    %eax,-0x390(%rbp)
jmp    4a7b <get_first_losing_move+0x396b>
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    4aa7 <get_first_losing_move+0x3997>
xor    %eax,%eax
mov    %eax,-0x394(%rbp)
jmp    4ab8 <get_first_losing_move+0x39a8>
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    4adc <get_first_losing_move+0x39cc>
xor    %eax,%eax
mov    %eax,-0x398(%rbp)
jmp    4aed <get_first_losing_move+0x39dd>
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    4b19 <get_first_losing_move+0x3a09>
xor    %eax,%eax
mov    %eax,-0x39c(%rbp)
jmp    4b2a <get_first_losing_move+0x3a1a>
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    4b4e <get_first_losing_move+0x3a3e>
xor    %eax,%eax
mov    %eax,-0x3a0(%rbp)
jmp    4b5f <get_first_losing_move+0x3a4f>
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    4b8b <get_first_losing_move+0x3a7b>
xor    %eax,%eax
mov    %eax,-0x3a4(%rbp)
jmp    4b9c <get_first_losing_move+0x3a8c>
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    4bc0 <get_first_losing_move+0x3ab0>
xor    %eax,%eax
mov    %eax,-0x3a8(%rbp)
jmp    4bd1 <get_first_losing_move+0x3ac1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3a8(%rbp)
mov    -0x3a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    4fce <get_first_losing_move+0x3ebe>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4c12 <get_first_losing_move+0x3b02>
xor    %eax,%eax
mov    %eax,-0x3ac(%rbp)
jmp    4c23 <get_first_losing_move+0x3b13>
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    4c47 <get_first_losing_move+0x3b37>
xor    %eax,%eax
mov    %eax,-0x3b0(%rbp)
jmp    4c58 <get_first_losing_move+0x3b48>
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    4c84 <get_first_losing_move+0x3b74>
xor    %eax,%eax
mov    %eax,-0x3b4(%rbp)
jmp    4c95 <get_first_losing_move+0x3b85>
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    4cb9 <get_first_losing_move+0x3ba9>
xor    %eax,%eax
mov    %eax,-0x3b8(%rbp)
jmp    4cca <get_first_losing_move+0x3bba>
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    4cf6 <get_first_losing_move+0x3be6>
xor    %eax,%eax
mov    %eax,-0x3bc(%rbp)
jmp    4d07 <get_first_losing_move+0x3bf7>
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    4d2b <get_first_losing_move+0x3c1b>
xor    %eax,%eax
mov    %eax,-0x3c0(%rbp)
jmp    4d3c <get_first_losing_move+0x3c2c>
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    4d68 <get_first_losing_move+0x3c58>
xor    %eax,%eax
mov    %eax,-0x3c4(%rbp)
jmp    4d79 <get_first_losing_move+0x3c69>
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    4d9d <get_first_losing_move+0x3c8d>
xor    %eax,%eax
mov    %eax,-0x3c8(%rbp)
jmp    4dae <get_first_losing_move+0x3c9e>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    4dfe <get_first_losing_move+0x3cee>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4e20 <get_first_losing_move+0x3d10>
xor    %eax,%eax
mov    %eax,-0x3cc(%rbp)
jmp    4e31 <get_first_losing_move+0x3d21>
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    4e55 <get_first_losing_move+0x3d45>
xor    %eax,%eax
mov    %eax,-0x3d0(%rbp)
jmp    4e66 <get_first_losing_move+0x3d56>
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    4e92 <get_first_losing_move+0x3d82>
xor    %eax,%eax
mov    %eax,-0x3d4(%rbp)
jmp    4ea3 <get_first_losing_move+0x3d93>
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    4ec7 <get_first_losing_move+0x3db7>
xor    %eax,%eax
mov    %eax,-0x3d8(%rbp)
jmp    4ed8 <get_first_losing_move+0x3dc8>
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    4f04 <get_first_losing_move+0x3df4>
xor    %eax,%eax
mov    %eax,-0x3dc(%rbp)
jmp    4f15 <get_first_losing_move+0x3e05>
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    4f39 <get_first_losing_move+0x3e29>
xor    %eax,%eax
mov    %eax,-0x3e0(%rbp)
jmp    4f4a <get_first_losing_move+0x3e3a>
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    4f76 <get_first_losing_move+0x3e66>
xor    %eax,%eax
mov    %eax,-0x3e4(%rbp)
jmp    4f87 <get_first_losing_move+0x3e77>
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    4fab <get_first_losing_move+0x3e9b>
xor    %eax,%eax
mov    %eax,-0x3e8(%rbp)
jmp    4fbc <get_first_losing_move+0x3eac>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3e8(%rbp)
mov    -0x3e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    4fd3 <get_first_losing_move+0x3ec3>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    4fe0 <get_first_losing_move+0x3ed0>
jmp    16505 <get_first_losing_move+0x153f5>
movswl -0x18(%rbp),%eax
cmp    $0x5,%eax
jne    5c87 <get_first_losing_move+0x4b77>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     5c82 <get_first_losing_move+0x4b72>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    5c82 <get_first_losing_move+0x4b72>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     5c82 <get_first_losing_move+0x4b72>
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     5c7d <get_first_losing_move+0x4b6d>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     5c7d <get_first_losing_move+0x4b6d>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     5c7d <get_first_losing_move+0x4b6d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     5c7d <get_first_losing_move+0x4b6d>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     5c7d <get_first_losing_move+0x4b6d>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    5491 <get_first_losing_move+0x4381>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    50c8 <get_first_losing_move+0x3fb8>
xor    %eax,%eax
mov    %eax,-0x3ec(%rbp)
jmp    50d9 <get_first_losing_move+0x3fc9>
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    50fd <get_first_losing_move+0x3fed>
xor    %eax,%eax
mov    %eax,-0x3f0(%rbp)
jmp    510e <get_first_losing_move+0x3ffe>
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    513a <get_first_losing_move+0x402a>
xor    %eax,%eax
mov    %eax,-0x3f4(%rbp)
jmp    514b <get_first_losing_move+0x403b>
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    516f <get_first_losing_move+0x405f>
xor    %eax,%eax
mov    %eax,-0x3f8(%rbp)
jmp    5180 <get_first_losing_move+0x4070>
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    51ac <get_first_losing_move+0x409c>
xor    %eax,%eax
mov    %eax,-0x3fc(%rbp)
jmp    51bd <get_first_losing_move+0x40ad>
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    51e1 <get_first_losing_move+0x40d1>
xor    %eax,%eax
mov    %eax,-0x400(%rbp)
jmp    51f2 <get_first_losing_move+0x40e2>
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    521e <get_first_losing_move+0x410e>
xor    %eax,%eax
mov    %eax,-0x404(%rbp)
jmp    522f <get_first_losing_move+0x411f>
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    5253 <get_first_losing_move+0x4143>
xor    %eax,%eax
mov    %eax,-0x408(%rbp)
jmp    5264 <get_first_losing_move+0x4154>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    52b4 <get_first_losing_move+0x41a4>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    52d6 <get_first_losing_move+0x41c6>
xor    %eax,%eax
mov    %eax,-0x40c(%rbp)
jmp    52e7 <get_first_losing_move+0x41d7>
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    530b <get_first_losing_move+0x41fb>
xor    %eax,%eax
mov    %eax,-0x410(%rbp)
jmp    531c <get_first_losing_move+0x420c>
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    5348 <get_first_losing_move+0x4238>
xor    %eax,%eax
mov    %eax,-0x414(%rbp)
jmp    5359 <get_first_losing_move+0x4249>
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    537d <get_first_losing_move+0x426d>
xor    %eax,%eax
mov    %eax,-0x418(%rbp)
jmp    538e <get_first_losing_move+0x427e>
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    53ba <get_first_losing_move+0x42aa>
xor    %eax,%eax
mov    %eax,-0x41c(%rbp)
jmp    53cb <get_first_losing_move+0x42bb>
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    53ef <get_first_losing_move+0x42df>
xor    %eax,%eax
mov    %eax,-0x420(%rbp)
jmp    5400 <get_first_losing_move+0x42f0>
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    542c <get_first_losing_move+0x431c>
xor    %eax,%eax
mov    %eax,-0x424(%rbp)
jmp    543d <get_first_losing_move+0x432d>
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    5461 <get_first_losing_move+0x4351>
xor    %eax,%eax
mov    %eax,-0x428(%rbp)
jmp    5472 <get_first_losing_move+0x4362>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x428(%rbp)
mov    -0x428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    5c75 <get_first_losing_move+0x4b65>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    5892 <get_first_losing_move+0x4782>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    54c9 <get_first_losing_move+0x43b9>
xor    %eax,%eax
mov    %eax,-0x42c(%rbp)
jmp    54da <get_first_losing_move+0x43ca>
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    54fe <get_first_losing_move+0x43ee>
xor    %eax,%eax
mov    %eax,-0x430(%rbp)
jmp    550f <get_first_losing_move+0x43ff>
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    553b <get_first_losing_move+0x442b>
xor    %eax,%eax
mov    %eax,-0x434(%rbp)
jmp    554c <get_first_losing_move+0x443c>
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    5570 <get_first_losing_move+0x4460>
xor    %eax,%eax
mov    %eax,-0x438(%rbp)
jmp    5581 <get_first_losing_move+0x4471>
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    55ad <get_first_losing_move+0x449d>
xor    %eax,%eax
mov    %eax,-0x43c(%rbp)
jmp    55be <get_first_losing_move+0x44ae>
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    55e2 <get_first_losing_move+0x44d2>
xor    %eax,%eax
mov    %eax,-0x440(%rbp)
jmp    55f3 <get_first_losing_move+0x44e3>
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    561f <get_first_losing_move+0x450f>
xor    %eax,%eax
mov    %eax,-0x444(%rbp)
jmp    5630 <get_first_losing_move+0x4520>
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    5654 <get_first_losing_move+0x4544>
xor    %eax,%eax
mov    %eax,-0x448(%rbp)
jmp    5665 <get_first_losing_move+0x4555>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    56b5 <get_first_losing_move+0x45a5>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    56d7 <get_first_losing_move+0x45c7>
xor    %eax,%eax
mov    %eax,-0x44c(%rbp)
jmp    56e8 <get_first_losing_move+0x45d8>
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    570c <get_first_losing_move+0x45fc>
xor    %eax,%eax
mov    %eax,-0x450(%rbp)
jmp    571d <get_first_losing_move+0x460d>
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    5749 <get_first_losing_move+0x4639>
xor    %eax,%eax
mov    %eax,-0x454(%rbp)
jmp    575a <get_first_losing_move+0x464a>
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    577e <get_first_losing_move+0x466e>
xor    %eax,%eax
mov    %eax,-0x458(%rbp)
jmp    578f <get_first_losing_move+0x467f>
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    57bb <get_first_losing_move+0x46ab>
xor    %eax,%eax
mov    %eax,-0x45c(%rbp)
jmp    57cc <get_first_losing_move+0x46bc>
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    57f0 <get_first_losing_move+0x46e0>
xor    %eax,%eax
mov    %eax,-0x460(%rbp)
jmp    5801 <get_first_losing_move+0x46f1>
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    582d <get_first_losing_move+0x471d>
xor    %eax,%eax
mov    %eax,-0x464(%rbp)
jmp    583e <get_first_losing_move+0x472e>
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    5862 <get_first_losing_move+0x4752>
xor    %eax,%eax
mov    %eax,-0x468(%rbp)
jmp    5873 <get_first_losing_move+0x4763>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x468(%rbp)
mov    -0x468(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    5c70 <get_first_losing_move+0x4b60>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    58b4 <get_first_losing_move+0x47a4>
xor    %eax,%eax
mov    %eax,-0x46c(%rbp)
jmp    58c5 <get_first_losing_move+0x47b5>
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    58e9 <get_first_losing_move+0x47d9>
xor    %eax,%eax
mov    %eax,-0x470(%rbp)
jmp    58fa <get_first_losing_move+0x47ea>
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    5926 <get_first_losing_move+0x4816>
xor    %eax,%eax
mov    %eax,-0x474(%rbp)
jmp    5937 <get_first_losing_move+0x4827>
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    595b <get_first_losing_move+0x484b>
xor    %eax,%eax
mov    %eax,-0x478(%rbp)
jmp    596c <get_first_losing_move+0x485c>
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    5998 <get_first_losing_move+0x4888>
xor    %eax,%eax
mov    %eax,-0x47c(%rbp)
jmp    59a9 <get_first_losing_move+0x4899>
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    59cd <get_first_losing_move+0x48bd>
xor    %eax,%eax
mov    %eax,-0x480(%rbp)
jmp    59de <get_first_losing_move+0x48ce>
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    5a0a <get_first_losing_move+0x48fa>
xor    %eax,%eax
mov    %eax,-0x484(%rbp)
jmp    5a1b <get_first_losing_move+0x490b>
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    5a3f <get_first_losing_move+0x492f>
xor    %eax,%eax
mov    %eax,-0x488(%rbp)
jmp    5a50 <get_first_losing_move+0x4940>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    5aa0 <get_first_losing_move+0x4990>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5ac2 <get_first_losing_move+0x49b2>
xor    %eax,%eax
mov    %eax,-0x48c(%rbp)
jmp    5ad3 <get_first_losing_move+0x49c3>
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    5af7 <get_first_losing_move+0x49e7>
xor    %eax,%eax
mov    %eax,-0x490(%rbp)
jmp    5b08 <get_first_losing_move+0x49f8>
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    5b34 <get_first_losing_move+0x4a24>
xor    %eax,%eax
mov    %eax,-0x494(%rbp)
jmp    5b45 <get_first_losing_move+0x4a35>
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    5b69 <get_first_losing_move+0x4a59>
xor    %eax,%eax
mov    %eax,-0x498(%rbp)
jmp    5b7a <get_first_losing_move+0x4a6a>
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    5ba6 <get_first_losing_move+0x4a96>
xor    %eax,%eax
mov    %eax,-0x49c(%rbp)
jmp    5bb7 <get_first_losing_move+0x4aa7>
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    5bdb <get_first_losing_move+0x4acb>
xor    %eax,%eax
mov    %eax,-0x4a0(%rbp)
jmp    5bec <get_first_losing_move+0x4adc>
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    5c18 <get_first_losing_move+0x4b08>
xor    %eax,%eax
mov    %eax,-0x4a4(%rbp)
jmp    5c29 <get_first_losing_move+0x4b19>
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    5c4d <get_first_losing_move+0x4b3d>
xor    %eax,%eax
mov    %eax,-0x4a8(%rbp)
jmp    5c5e <get_first_losing_move+0x4b4e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4a8(%rbp)
mov    -0x4a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    5c75 <get_first_losing_move+0x4b65>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    5c82 <get_first_losing_move+0x4b72>
jmp    16500 <get_first_losing_move+0x153f0>
movswl -0x18(%rbp),%eax
cmp    $0x6,%eax
jne    6918 <get_first_losing_move+0x5808>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     6913 <get_first_losing_move+0x5803>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     6913 <get_first_losing_move+0x5803>
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     690e <get_first_losing_move+0x57fe>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     690e <get_first_losing_move+0x57fe>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     690e <get_first_losing_move+0x57fe>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     690e <get_first_losing_move+0x57fe>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     690e <get_first_losing_move+0x57fe>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    6122 <get_first_losing_move+0x5012>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5d59 <get_first_losing_move+0x4c49>
xor    %eax,%eax
mov    %eax,-0x4ac(%rbp)
jmp    5d6a <get_first_losing_move+0x4c5a>
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    5d8e <get_first_losing_move+0x4c7e>
xor    %eax,%eax
mov    %eax,-0x4b0(%rbp)
jmp    5d9f <get_first_losing_move+0x4c8f>
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    5dcb <get_first_losing_move+0x4cbb>
xor    %eax,%eax
mov    %eax,-0x4b4(%rbp)
jmp    5ddc <get_first_losing_move+0x4ccc>
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    5e00 <get_first_losing_move+0x4cf0>
xor    %eax,%eax
mov    %eax,-0x4b8(%rbp)
jmp    5e11 <get_first_losing_move+0x4d01>
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    5e3d <get_first_losing_move+0x4d2d>
xor    %eax,%eax
mov    %eax,-0x4bc(%rbp)
jmp    5e4e <get_first_losing_move+0x4d3e>
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    5e72 <get_first_losing_move+0x4d62>
xor    %eax,%eax
mov    %eax,-0x4c0(%rbp)
jmp    5e83 <get_first_losing_move+0x4d73>
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    5eaf <get_first_losing_move+0x4d9f>
xor    %eax,%eax
mov    %eax,-0x4c4(%rbp)
jmp    5ec0 <get_first_losing_move+0x4db0>
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    5ee4 <get_first_losing_move+0x4dd4>
xor    %eax,%eax
mov    %eax,-0x4c8(%rbp)
jmp    5ef5 <get_first_losing_move+0x4de5>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    5f45 <get_first_losing_move+0x4e35>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5f67 <get_first_losing_move+0x4e57>
xor    %eax,%eax
mov    %eax,-0x4cc(%rbp)
jmp    5f78 <get_first_losing_move+0x4e68>
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    5f9c <get_first_losing_move+0x4e8c>
xor    %eax,%eax
mov    %eax,-0x4d0(%rbp)
jmp    5fad <get_first_losing_move+0x4e9d>
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    5fd9 <get_first_losing_move+0x4ec9>
xor    %eax,%eax
mov    %eax,-0x4d4(%rbp)
jmp    5fea <get_first_losing_move+0x4eda>
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    600e <get_first_losing_move+0x4efe>
xor    %eax,%eax
mov    %eax,-0x4d8(%rbp)
jmp    601f <get_first_losing_move+0x4f0f>
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    604b <get_first_losing_move+0x4f3b>
xor    %eax,%eax
mov    %eax,-0x4dc(%rbp)
jmp    605c <get_first_losing_move+0x4f4c>
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    6080 <get_first_losing_move+0x4f70>
xor    %eax,%eax
mov    %eax,-0x4e0(%rbp)
jmp    6091 <get_first_losing_move+0x4f81>
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    60bd <get_first_losing_move+0x4fad>
xor    %eax,%eax
mov    %eax,-0x4e4(%rbp)
jmp    60ce <get_first_losing_move+0x4fbe>
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    60f2 <get_first_losing_move+0x4fe2>
xor    %eax,%eax
mov    %eax,-0x4e8(%rbp)
jmp    6103 <get_first_losing_move+0x4ff3>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4e8(%rbp)
mov    -0x4e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    6906 <get_first_losing_move+0x57f6>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    6523 <get_first_losing_move+0x5413>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    615a <get_first_losing_move+0x504a>
xor    %eax,%eax
mov    %eax,-0x4ec(%rbp)
jmp    616b <get_first_losing_move+0x505b>
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    618f <get_first_losing_move+0x507f>
xor    %eax,%eax
mov    %eax,-0x4f0(%rbp)
jmp    61a0 <get_first_losing_move+0x5090>
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    61cc <get_first_losing_move+0x50bc>
xor    %eax,%eax
mov    %eax,-0x4f4(%rbp)
jmp    61dd <get_first_losing_move+0x50cd>
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    6201 <get_first_losing_move+0x50f1>
xor    %eax,%eax
mov    %eax,-0x4f8(%rbp)
jmp    6212 <get_first_losing_move+0x5102>
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    623e <get_first_losing_move+0x512e>
xor    %eax,%eax
mov    %eax,-0x4fc(%rbp)
jmp    624f <get_first_losing_move+0x513f>
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    6273 <get_first_losing_move+0x5163>
xor    %eax,%eax
mov    %eax,-0x500(%rbp)
jmp    6284 <get_first_losing_move+0x5174>
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    62b0 <get_first_losing_move+0x51a0>
xor    %eax,%eax
mov    %eax,-0x504(%rbp)
jmp    62c1 <get_first_losing_move+0x51b1>
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    62e5 <get_first_losing_move+0x51d5>
xor    %eax,%eax
mov    %eax,-0x508(%rbp)
jmp    62f6 <get_first_losing_move+0x51e6>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    6346 <get_first_losing_move+0x5236>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6368 <get_first_losing_move+0x5258>
xor    %eax,%eax
mov    %eax,-0x50c(%rbp)
jmp    6379 <get_first_losing_move+0x5269>
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    639d <get_first_losing_move+0x528d>
xor    %eax,%eax
mov    %eax,-0x510(%rbp)
jmp    63ae <get_first_losing_move+0x529e>
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    63da <get_first_losing_move+0x52ca>
xor    %eax,%eax
mov    %eax,-0x514(%rbp)
jmp    63eb <get_first_losing_move+0x52db>
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    640f <get_first_losing_move+0x52ff>
xor    %eax,%eax
mov    %eax,-0x518(%rbp)
jmp    6420 <get_first_losing_move+0x5310>
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    644c <get_first_losing_move+0x533c>
xor    %eax,%eax
mov    %eax,-0x51c(%rbp)
jmp    645d <get_first_losing_move+0x534d>
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    6481 <get_first_losing_move+0x5371>
xor    %eax,%eax
mov    %eax,-0x520(%rbp)
jmp    6492 <get_first_losing_move+0x5382>
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    64be <get_first_losing_move+0x53ae>
xor    %eax,%eax
mov    %eax,-0x524(%rbp)
jmp    64cf <get_first_losing_move+0x53bf>
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    64f3 <get_first_losing_move+0x53e3>
xor    %eax,%eax
mov    %eax,-0x528(%rbp)
jmp    6504 <get_first_losing_move+0x53f4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x528(%rbp)
mov    -0x528(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    6901 <get_first_losing_move+0x57f1>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6545 <get_first_losing_move+0x5435>
xor    %eax,%eax
mov    %eax,-0x52c(%rbp)
jmp    6556 <get_first_losing_move+0x5446>
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    657a <get_first_losing_move+0x546a>
xor    %eax,%eax
mov    %eax,-0x530(%rbp)
jmp    658b <get_first_losing_move+0x547b>
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    65b7 <get_first_losing_move+0x54a7>
xor    %eax,%eax
mov    %eax,-0x534(%rbp)
jmp    65c8 <get_first_losing_move+0x54b8>
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    65ec <get_first_losing_move+0x54dc>
xor    %eax,%eax
mov    %eax,-0x538(%rbp)
jmp    65fd <get_first_losing_move+0x54ed>
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    6629 <get_first_losing_move+0x5519>
xor    %eax,%eax
mov    %eax,-0x53c(%rbp)
jmp    663a <get_first_losing_move+0x552a>
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    665e <get_first_losing_move+0x554e>
xor    %eax,%eax
mov    %eax,-0x540(%rbp)
jmp    666f <get_first_losing_move+0x555f>
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    669b <get_first_losing_move+0x558b>
xor    %eax,%eax
mov    %eax,-0x544(%rbp)
jmp    66ac <get_first_losing_move+0x559c>
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    66d0 <get_first_losing_move+0x55c0>
xor    %eax,%eax
mov    %eax,-0x548(%rbp)
jmp    66e1 <get_first_losing_move+0x55d1>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    6731 <get_first_losing_move+0x5621>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6753 <get_first_losing_move+0x5643>
xor    %eax,%eax
mov    %eax,-0x54c(%rbp)
jmp    6764 <get_first_losing_move+0x5654>
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    6788 <get_first_losing_move+0x5678>
xor    %eax,%eax
mov    %eax,-0x550(%rbp)
jmp    6799 <get_first_losing_move+0x5689>
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    67c5 <get_first_losing_move+0x56b5>
xor    %eax,%eax
mov    %eax,-0x554(%rbp)
jmp    67d6 <get_first_losing_move+0x56c6>
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    67fa <get_first_losing_move+0x56ea>
xor    %eax,%eax
mov    %eax,-0x558(%rbp)
jmp    680b <get_first_losing_move+0x56fb>
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    6837 <get_first_losing_move+0x5727>
xor    %eax,%eax
mov    %eax,-0x55c(%rbp)
jmp    6848 <get_first_losing_move+0x5738>
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    686c <get_first_losing_move+0x575c>
xor    %eax,%eax
mov    %eax,-0x560(%rbp)
jmp    687d <get_first_losing_move+0x576d>
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    68a9 <get_first_losing_move+0x5799>
xor    %eax,%eax
mov    %eax,-0x564(%rbp)
jmp    68ba <get_first_losing_move+0x57aa>
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    68de <get_first_losing_move+0x57ce>
xor    %eax,%eax
mov    %eax,-0x568(%rbp)
jmp    68ef <get_first_losing_move+0x57df>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x568(%rbp)
mov    -0x568(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    6906 <get_first_losing_move+0x57f6>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    6913 <get_first_losing_move+0x5803>
jmp    164fb <get_first_losing_move+0x153eb>
movswl -0x18(%rbp),%eax
cmp    $0x7,%eax
jne    75b6 <get_first_losing_move+0x64a6>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     75b1 <get_first_losing_move+0x64a1>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    75b1 <get_first_losing_move+0x64a1>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     75b1 <get_first_losing_move+0x64a1>
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     75ac <get_first_losing_move+0x649c>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     75ac <get_first_losing_move+0x649c>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     75ac <get_first_losing_move+0x649c>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     75ac <get_first_losing_move+0x649c>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     75ac <get_first_losing_move+0x649c>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    6dc0 <get_first_losing_move+0x5cb0>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    69f7 <get_first_losing_move+0x58e7>
xor    %eax,%eax
mov    %eax,-0x56c(%rbp)
jmp    6a08 <get_first_losing_move+0x58f8>
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    6a2c <get_first_losing_move+0x591c>
xor    %eax,%eax
mov    %eax,-0x570(%rbp)
jmp    6a3d <get_first_losing_move+0x592d>
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    6a69 <get_first_losing_move+0x5959>
xor    %eax,%eax
mov    %eax,-0x574(%rbp)
jmp    6a7a <get_first_losing_move+0x596a>
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    6a9e <get_first_losing_move+0x598e>
xor    %eax,%eax
mov    %eax,-0x578(%rbp)
jmp    6aaf <get_first_losing_move+0x599f>
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    6adb <get_first_losing_move+0x59cb>
xor    %eax,%eax
mov    %eax,-0x57c(%rbp)
jmp    6aec <get_first_losing_move+0x59dc>
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    6b10 <get_first_losing_move+0x5a00>
xor    %eax,%eax
mov    %eax,-0x580(%rbp)
jmp    6b21 <get_first_losing_move+0x5a11>
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    6b4d <get_first_losing_move+0x5a3d>
xor    %eax,%eax
mov    %eax,-0x584(%rbp)
jmp    6b5e <get_first_losing_move+0x5a4e>
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    6b82 <get_first_losing_move+0x5a72>
xor    %eax,%eax
mov    %eax,-0x588(%rbp)
jmp    6b93 <get_first_losing_move+0x5a83>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    6be3 <get_first_losing_move+0x5ad3>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6c05 <get_first_losing_move+0x5af5>
xor    %eax,%eax
mov    %eax,-0x58c(%rbp)
jmp    6c16 <get_first_losing_move+0x5b06>
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    6c3a <get_first_losing_move+0x5b2a>
xor    %eax,%eax
mov    %eax,-0x590(%rbp)
jmp    6c4b <get_first_losing_move+0x5b3b>
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    6c77 <get_first_losing_move+0x5b67>
xor    %eax,%eax
mov    %eax,-0x594(%rbp)
jmp    6c88 <get_first_losing_move+0x5b78>
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    6cac <get_first_losing_move+0x5b9c>
xor    %eax,%eax
mov    %eax,-0x598(%rbp)
jmp    6cbd <get_first_losing_move+0x5bad>
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    6ce9 <get_first_losing_move+0x5bd9>
xor    %eax,%eax
mov    %eax,-0x59c(%rbp)
jmp    6cfa <get_first_losing_move+0x5bea>
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    6d1e <get_first_losing_move+0x5c0e>
xor    %eax,%eax
mov    %eax,-0x5a0(%rbp)
jmp    6d2f <get_first_losing_move+0x5c1f>
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    6d5b <get_first_losing_move+0x5c4b>
xor    %eax,%eax
mov    %eax,-0x5a4(%rbp)
jmp    6d6c <get_first_losing_move+0x5c5c>
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    6d90 <get_first_losing_move+0x5c80>
xor    %eax,%eax
mov    %eax,-0x5a8(%rbp)
jmp    6da1 <get_first_losing_move+0x5c91>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5a8(%rbp)
mov    -0x5a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    75a4 <get_first_losing_move+0x6494>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    71c1 <get_first_losing_move+0x60b1>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6df8 <get_first_losing_move+0x5ce8>
xor    %eax,%eax
mov    %eax,-0x5ac(%rbp)
jmp    6e09 <get_first_losing_move+0x5cf9>
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    6e2d <get_first_losing_move+0x5d1d>
xor    %eax,%eax
mov    %eax,-0x5b0(%rbp)
jmp    6e3e <get_first_losing_move+0x5d2e>
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    6e6a <get_first_losing_move+0x5d5a>
xor    %eax,%eax
mov    %eax,-0x5b4(%rbp)
jmp    6e7b <get_first_losing_move+0x5d6b>
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    6e9f <get_first_losing_move+0x5d8f>
xor    %eax,%eax
mov    %eax,-0x5b8(%rbp)
jmp    6eb0 <get_first_losing_move+0x5da0>
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    6edc <get_first_losing_move+0x5dcc>
xor    %eax,%eax
mov    %eax,-0x5bc(%rbp)
jmp    6eed <get_first_losing_move+0x5ddd>
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    6f11 <get_first_losing_move+0x5e01>
xor    %eax,%eax
mov    %eax,-0x5c0(%rbp)
jmp    6f22 <get_first_losing_move+0x5e12>
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    6f4e <get_first_losing_move+0x5e3e>
xor    %eax,%eax
mov    %eax,-0x5c4(%rbp)
jmp    6f5f <get_first_losing_move+0x5e4f>
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    6f83 <get_first_losing_move+0x5e73>
xor    %eax,%eax
mov    %eax,-0x5c8(%rbp)
jmp    6f94 <get_first_losing_move+0x5e84>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    6fe4 <get_first_losing_move+0x5ed4>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7006 <get_first_losing_move+0x5ef6>
xor    %eax,%eax
mov    %eax,-0x5cc(%rbp)
jmp    7017 <get_first_losing_move+0x5f07>
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    703b <get_first_losing_move+0x5f2b>
xor    %eax,%eax
mov    %eax,-0x5d0(%rbp)
jmp    704c <get_first_losing_move+0x5f3c>
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    7078 <get_first_losing_move+0x5f68>
xor    %eax,%eax
mov    %eax,-0x5d4(%rbp)
jmp    7089 <get_first_losing_move+0x5f79>
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    70ad <get_first_losing_move+0x5f9d>
xor    %eax,%eax
mov    %eax,-0x5d8(%rbp)
jmp    70be <get_first_losing_move+0x5fae>
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    70ea <get_first_losing_move+0x5fda>
xor    %eax,%eax
mov    %eax,-0x5dc(%rbp)
jmp    70fb <get_first_losing_move+0x5feb>
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    711f <get_first_losing_move+0x600f>
xor    %eax,%eax
mov    %eax,-0x5e0(%rbp)
jmp    7130 <get_first_losing_move+0x6020>
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    715c <get_first_losing_move+0x604c>
xor    %eax,%eax
mov    %eax,-0x5e4(%rbp)
jmp    716d <get_first_losing_move+0x605d>
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    7191 <get_first_losing_move+0x6081>
xor    %eax,%eax
mov    %eax,-0x5e8(%rbp)
jmp    71a2 <get_first_losing_move+0x6092>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5e8(%rbp)
mov    -0x5e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    759f <get_first_losing_move+0x648f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    71e3 <get_first_losing_move+0x60d3>
xor    %eax,%eax
mov    %eax,-0x5ec(%rbp)
jmp    71f4 <get_first_losing_move+0x60e4>
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    7218 <get_first_losing_move+0x6108>
xor    %eax,%eax
mov    %eax,-0x5f0(%rbp)
jmp    7229 <get_first_losing_move+0x6119>
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    7255 <get_first_losing_move+0x6145>
xor    %eax,%eax
mov    %eax,-0x5f4(%rbp)
jmp    7266 <get_first_losing_move+0x6156>
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    728a <get_first_losing_move+0x617a>
xor    %eax,%eax
mov    %eax,-0x5f8(%rbp)
jmp    729b <get_first_losing_move+0x618b>
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    72c7 <get_first_losing_move+0x61b7>
xor    %eax,%eax
mov    %eax,-0x5fc(%rbp)
jmp    72d8 <get_first_losing_move+0x61c8>
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    72fc <get_first_losing_move+0x61ec>
xor    %eax,%eax
mov    %eax,-0x600(%rbp)
jmp    730d <get_first_losing_move+0x61fd>
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    7339 <get_first_losing_move+0x6229>
xor    %eax,%eax
mov    %eax,-0x604(%rbp)
jmp    734a <get_first_losing_move+0x623a>
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    736e <get_first_losing_move+0x625e>
xor    %eax,%eax
mov    %eax,-0x608(%rbp)
jmp    737f <get_first_losing_move+0x626f>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    73cf <get_first_losing_move+0x62bf>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    73f1 <get_first_losing_move+0x62e1>
xor    %eax,%eax
mov    %eax,-0x60c(%rbp)
jmp    7402 <get_first_losing_move+0x62f2>
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    7426 <get_first_losing_move+0x6316>
xor    %eax,%eax
mov    %eax,-0x610(%rbp)
jmp    7437 <get_first_losing_move+0x6327>
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    7463 <get_first_losing_move+0x6353>
xor    %eax,%eax
mov    %eax,-0x614(%rbp)
jmp    7474 <get_first_losing_move+0x6364>
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    7498 <get_first_losing_move+0x6388>
xor    %eax,%eax
mov    %eax,-0x618(%rbp)
jmp    74a9 <get_first_losing_move+0x6399>
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    74d5 <get_first_losing_move+0x63c5>
xor    %eax,%eax
mov    %eax,-0x61c(%rbp)
jmp    74e6 <get_first_losing_move+0x63d6>
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    750a <get_first_losing_move+0x63fa>
xor    %eax,%eax
mov    %eax,-0x620(%rbp)
jmp    751b <get_first_losing_move+0x640b>
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    7547 <get_first_losing_move+0x6437>
xor    %eax,%eax
mov    %eax,-0x624(%rbp)
jmp    7558 <get_first_losing_move+0x6448>
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    757c <get_first_losing_move+0x646c>
xor    %eax,%eax
mov    %eax,-0x628(%rbp)
jmp    758d <get_first_losing_move+0x647d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x628(%rbp)
mov    -0x628(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    75a4 <get_first_losing_move+0x6494>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    75b1 <get_first_losing_move+0x64a1>
jmp    164f6 <get_first_losing_move+0x153e6>
movswl -0x18(%rbp),%eax
cmp    $0x8,%eax
jne    823f <get_first_losing_move+0x712f>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     823a <get_first_losing_move+0x712a>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    823a <get_first_losing_move+0x712a>
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     8235 <get_first_losing_move+0x7125>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     8235 <get_first_losing_move+0x7125>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     8235 <get_first_losing_move+0x7125>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     8235 <get_first_losing_move+0x7125>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     8235 <get_first_losing_move+0x7125>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    7a49 <get_first_losing_move+0x6939>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7680 <get_first_losing_move+0x6570>
xor    %eax,%eax
mov    %eax,-0x62c(%rbp)
jmp    7691 <get_first_losing_move+0x6581>
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    76b5 <get_first_losing_move+0x65a5>
xor    %eax,%eax
mov    %eax,-0x630(%rbp)
jmp    76c6 <get_first_losing_move+0x65b6>
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    76f2 <get_first_losing_move+0x65e2>
xor    %eax,%eax
mov    %eax,-0x634(%rbp)
jmp    7703 <get_first_losing_move+0x65f3>
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    7727 <get_first_losing_move+0x6617>
xor    %eax,%eax
mov    %eax,-0x638(%rbp)
jmp    7738 <get_first_losing_move+0x6628>
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    7764 <get_first_losing_move+0x6654>
xor    %eax,%eax
mov    %eax,-0x63c(%rbp)
jmp    7775 <get_first_losing_move+0x6665>
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    7799 <get_first_losing_move+0x6689>
xor    %eax,%eax
mov    %eax,-0x640(%rbp)
jmp    77aa <get_first_losing_move+0x669a>
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    77d6 <get_first_losing_move+0x66c6>
xor    %eax,%eax
mov    %eax,-0x644(%rbp)
jmp    77e7 <get_first_losing_move+0x66d7>
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    780b <get_first_losing_move+0x66fb>
xor    %eax,%eax
mov    %eax,-0x648(%rbp)
jmp    781c <get_first_losing_move+0x670c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    786c <get_first_losing_move+0x675c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    788e <get_first_losing_move+0x677e>
xor    %eax,%eax
mov    %eax,-0x64c(%rbp)
jmp    789f <get_first_losing_move+0x678f>
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    78c3 <get_first_losing_move+0x67b3>
xor    %eax,%eax
mov    %eax,-0x650(%rbp)
jmp    78d4 <get_first_losing_move+0x67c4>
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    7900 <get_first_losing_move+0x67f0>
xor    %eax,%eax
mov    %eax,-0x654(%rbp)
jmp    7911 <get_first_losing_move+0x6801>
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    7935 <get_first_losing_move+0x6825>
xor    %eax,%eax
mov    %eax,-0x658(%rbp)
jmp    7946 <get_first_losing_move+0x6836>
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    7972 <get_first_losing_move+0x6862>
xor    %eax,%eax
mov    %eax,-0x65c(%rbp)
jmp    7983 <get_first_losing_move+0x6873>
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    79a7 <get_first_losing_move+0x6897>
xor    %eax,%eax
mov    %eax,-0x660(%rbp)
jmp    79b8 <get_first_losing_move+0x68a8>
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    79e4 <get_first_losing_move+0x68d4>
xor    %eax,%eax
mov    %eax,-0x664(%rbp)
jmp    79f5 <get_first_losing_move+0x68e5>
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    7a19 <get_first_losing_move+0x6909>
xor    %eax,%eax
mov    %eax,-0x668(%rbp)
jmp    7a2a <get_first_losing_move+0x691a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x668(%rbp)
mov    -0x668(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    822d <get_first_losing_move+0x711d>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    7e4a <get_first_losing_move+0x6d3a>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7a81 <get_first_losing_move+0x6971>
xor    %eax,%eax
mov    %eax,-0x66c(%rbp)
jmp    7a92 <get_first_losing_move+0x6982>
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    7ab6 <get_first_losing_move+0x69a6>
xor    %eax,%eax
mov    %eax,-0x670(%rbp)
jmp    7ac7 <get_first_losing_move+0x69b7>
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    7af3 <get_first_losing_move+0x69e3>
xor    %eax,%eax
mov    %eax,-0x674(%rbp)
jmp    7b04 <get_first_losing_move+0x69f4>
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    7b28 <get_first_losing_move+0x6a18>
xor    %eax,%eax
mov    %eax,-0x678(%rbp)
jmp    7b39 <get_first_losing_move+0x6a29>
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    7b65 <get_first_losing_move+0x6a55>
xor    %eax,%eax
mov    %eax,-0x67c(%rbp)
jmp    7b76 <get_first_losing_move+0x6a66>
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    7b9a <get_first_losing_move+0x6a8a>
xor    %eax,%eax
mov    %eax,-0x680(%rbp)
jmp    7bab <get_first_losing_move+0x6a9b>
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    7bd7 <get_first_losing_move+0x6ac7>
xor    %eax,%eax
mov    %eax,-0x684(%rbp)
jmp    7be8 <get_first_losing_move+0x6ad8>
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    7c0c <get_first_losing_move+0x6afc>
xor    %eax,%eax
mov    %eax,-0x688(%rbp)
jmp    7c1d <get_first_losing_move+0x6b0d>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    7c6d <get_first_losing_move+0x6b5d>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7c8f <get_first_losing_move+0x6b7f>
xor    %eax,%eax
mov    %eax,-0x68c(%rbp)
jmp    7ca0 <get_first_losing_move+0x6b90>
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    7cc4 <get_first_losing_move+0x6bb4>
xor    %eax,%eax
mov    %eax,-0x690(%rbp)
jmp    7cd5 <get_first_losing_move+0x6bc5>
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    7d01 <get_first_losing_move+0x6bf1>
xor    %eax,%eax
mov    %eax,-0x694(%rbp)
jmp    7d12 <get_first_losing_move+0x6c02>
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    7d36 <get_first_losing_move+0x6c26>
xor    %eax,%eax
mov    %eax,-0x698(%rbp)
jmp    7d47 <get_first_losing_move+0x6c37>
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    7d73 <get_first_losing_move+0x6c63>
xor    %eax,%eax
mov    %eax,-0x69c(%rbp)
jmp    7d84 <get_first_losing_move+0x6c74>
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    7da8 <get_first_losing_move+0x6c98>
xor    %eax,%eax
mov    %eax,-0x6a0(%rbp)
jmp    7db9 <get_first_losing_move+0x6ca9>
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    7de5 <get_first_losing_move+0x6cd5>
xor    %eax,%eax
mov    %eax,-0x6a4(%rbp)
jmp    7df6 <get_first_losing_move+0x6ce6>
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    7e1a <get_first_losing_move+0x6d0a>
xor    %eax,%eax
mov    %eax,-0x6a8(%rbp)
jmp    7e2b <get_first_losing_move+0x6d1b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6a8(%rbp)
mov    -0x6a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    8228 <get_first_losing_move+0x7118>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7e6c <get_first_losing_move+0x6d5c>
xor    %eax,%eax
mov    %eax,-0x6ac(%rbp)
jmp    7e7d <get_first_losing_move+0x6d6d>
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    7ea1 <get_first_losing_move+0x6d91>
xor    %eax,%eax
mov    %eax,-0x6b0(%rbp)
jmp    7eb2 <get_first_losing_move+0x6da2>
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    7ede <get_first_losing_move+0x6dce>
xor    %eax,%eax
mov    %eax,-0x6b4(%rbp)
jmp    7eef <get_first_losing_move+0x6ddf>
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    7f13 <get_first_losing_move+0x6e03>
xor    %eax,%eax
mov    %eax,-0x6b8(%rbp)
jmp    7f24 <get_first_losing_move+0x6e14>
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    7f50 <get_first_losing_move+0x6e40>
xor    %eax,%eax
mov    %eax,-0x6bc(%rbp)
jmp    7f61 <get_first_losing_move+0x6e51>
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    7f85 <get_first_losing_move+0x6e75>
xor    %eax,%eax
mov    %eax,-0x6c0(%rbp)
jmp    7f96 <get_first_losing_move+0x6e86>
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    7fc2 <get_first_losing_move+0x6eb2>
xor    %eax,%eax
mov    %eax,-0x6c4(%rbp)
jmp    7fd3 <get_first_losing_move+0x6ec3>
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    7ff7 <get_first_losing_move+0x6ee7>
xor    %eax,%eax
mov    %eax,-0x6c8(%rbp)
jmp    8008 <get_first_losing_move+0x6ef8>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    8058 <get_first_losing_move+0x6f48>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    807a <get_first_losing_move+0x6f6a>
xor    %eax,%eax
mov    %eax,-0x6cc(%rbp)
jmp    808b <get_first_losing_move+0x6f7b>
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    80af <get_first_losing_move+0x6f9f>
xor    %eax,%eax
mov    %eax,-0x6d0(%rbp)
jmp    80c0 <get_first_losing_move+0x6fb0>
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    80ec <get_first_losing_move+0x6fdc>
xor    %eax,%eax
mov    %eax,-0x6d4(%rbp)
jmp    80fd <get_first_losing_move+0x6fed>
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    8121 <get_first_losing_move+0x7011>
xor    %eax,%eax
mov    %eax,-0x6d8(%rbp)
jmp    8132 <get_first_losing_move+0x7022>
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    815e <get_first_losing_move+0x704e>
xor    %eax,%eax
mov    %eax,-0x6dc(%rbp)
jmp    816f <get_first_losing_move+0x705f>
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    8193 <get_first_losing_move+0x7083>
xor    %eax,%eax
mov    %eax,-0x6e0(%rbp)
jmp    81a4 <get_first_losing_move+0x7094>
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    81d0 <get_first_losing_move+0x70c0>
xor    %eax,%eax
mov    %eax,-0x6e4(%rbp)
jmp    81e1 <get_first_losing_move+0x70d1>
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    8205 <get_first_losing_move+0x70f5>
xor    %eax,%eax
mov    %eax,-0x6e8(%rbp)
jmp    8216 <get_first_losing_move+0x7106>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6e8(%rbp)
mov    -0x6e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    822d <get_first_losing_move+0x711d>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    823a <get_first_losing_move+0x712a>
jmp    164f1 <get_first_losing_move+0x153e1>
movswl -0x18(%rbp),%eax
cmp    $0x9,%eax
jne    8edd <get_first_losing_move+0x7dcd>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     8ed8 <get_first_losing_move+0x7dc8>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    8ed8 <get_first_losing_move+0x7dc8>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     8ed8 <get_first_losing_move+0x7dc8>
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     8ed3 <get_first_losing_move+0x7dc3>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     8ed3 <get_first_losing_move+0x7dc3>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     8ed3 <get_first_losing_move+0x7dc3>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     8ed3 <get_first_losing_move+0x7dc3>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     8ed3 <get_first_losing_move+0x7dc3>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    86e7 <get_first_losing_move+0x75d7>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    831e <get_first_losing_move+0x720e>
xor    %eax,%eax
mov    %eax,-0x6ec(%rbp)
jmp    832f <get_first_losing_move+0x721f>
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    8353 <get_first_losing_move+0x7243>
xor    %eax,%eax
mov    %eax,-0x6f0(%rbp)
jmp    8364 <get_first_losing_move+0x7254>
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    8390 <get_first_losing_move+0x7280>
xor    %eax,%eax
mov    %eax,-0x6f4(%rbp)
jmp    83a1 <get_first_losing_move+0x7291>
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    83c5 <get_first_losing_move+0x72b5>
xor    %eax,%eax
mov    %eax,-0x6f8(%rbp)
jmp    83d6 <get_first_losing_move+0x72c6>
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    8402 <get_first_losing_move+0x72f2>
xor    %eax,%eax
mov    %eax,-0x6fc(%rbp)
jmp    8413 <get_first_losing_move+0x7303>
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    8437 <get_first_losing_move+0x7327>
xor    %eax,%eax
mov    %eax,-0x700(%rbp)
jmp    8448 <get_first_losing_move+0x7338>
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    8474 <get_first_losing_move+0x7364>
xor    %eax,%eax
mov    %eax,-0x704(%rbp)
jmp    8485 <get_first_losing_move+0x7375>
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    84a9 <get_first_losing_move+0x7399>
xor    %eax,%eax
mov    %eax,-0x708(%rbp)
jmp    84ba <get_first_losing_move+0x73aa>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    850a <get_first_losing_move+0x73fa>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    852c <get_first_losing_move+0x741c>
xor    %eax,%eax
mov    %eax,-0x70c(%rbp)
jmp    853d <get_first_losing_move+0x742d>
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    8561 <get_first_losing_move+0x7451>
xor    %eax,%eax
mov    %eax,-0x710(%rbp)
jmp    8572 <get_first_losing_move+0x7462>
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    859e <get_first_losing_move+0x748e>
xor    %eax,%eax
mov    %eax,-0x714(%rbp)
jmp    85af <get_first_losing_move+0x749f>
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    85d3 <get_first_losing_move+0x74c3>
xor    %eax,%eax
mov    %eax,-0x718(%rbp)
jmp    85e4 <get_first_losing_move+0x74d4>
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    8610 <get_first_losing_move+0x7500>
xor    %eax,%eax
mov    %eax,-0x71c(%rbp)
jmp    8621 <get_first_losing_move+0x7511>
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    8645 <get_first_losing_move+0x7535>
xor    %eax,%eax
mov    %eax,-0x720(%rbp)
jmp    8656 <get_first_losing_move+0x7546>
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    8682 <get_first_losing_move+0x7572>
xor    %eax,%eax
mov    %eax,-0x724(%rbp)
jmp    8693 <get_first_losing_move+0x7583>
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    86b7 <get_first_losing_move+0x75a7>
xor    %eax,%eax
mov    %eax,-0x728(%rbp)
jmp    86c8 <get_first_losing_move+0x75b8>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x728(%rbp)
mov    -0x728(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    8ecb <get_first_losing_move+0x7dbb>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    8ae8 <get_first_losing_move+0x79d8>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    871f <get_first_losing_move+0x760f>
xor    %eax,%eax
mov    %eax,-0x72c(%rbp)
jmp    8730 <get_first_losing_move+0x7620>
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    8754 <get_first_losing_move+0x7644>
xor    %eax,%eax
mov    %eax,-0x730(%rbp)
jmp    8765 <get_first_losing_move+0x7655>
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    8791 <get_first_losing_move+0x7681>
xor    %eax,%eax
mov    %eax,-0x734(%rbp)
jmp    87a2 <get_first_losing_move+0x7692>
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    87c6 <get_first_losing_move+0x76b6>
xor    %eax,%eax
mov    %eax,-0x738(%rbp)
jmp    87d7 <get_first_losing_move+0x76c7>
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    8803 <get_first_losing_move+0x76f3>
xor    %eax,%eax
mov    %eax,-0x73c(%rbp)
jmp    8814 <get_first_losing_move+0x7704>
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    8838 <get_first_losing_move+0x7728>
xor    %eax,%eax
mov    %eax,-0x740(%rbp)
jmp    8849 <get_first_losing_move+0x7739>
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    8875 <get_first_losing_move+0x7765>
xor    %eax,%eax
mov    %eax,-0x744(%rbp)
jmp    8886 <get_first_losing_move+0x7776>
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    88aa <get_first_losing_move+0x779a>
xor    %eax,%eax
mov    %eax,-0x748(%rbp)
jmp    88bb <get_first_losing_move+0x77ab>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    890b <get_first_losing_move+0x77fb>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    892d <get_first_losing_move+0x781d>
xor    %eax,%eax
mov    %eax,-0x74c(%rbp)
jmp    893e <get_first_losing_move+0x782e>
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    8962 <get_first_losing_move+0x7852>
xor    %eax,%eax
mov    %eax,-0x750(%rbp)
jmp    8973 <get_first_losing_move+0x7863>
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    899f <get_first_losing_move+0x788f>
xor    %eax,%eax
mov    %eax,-0x754(%rbp)
jmp    89b0 <get_first_losing_move+0x78a0>
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    89d4 <get_first_losing_move+0x78c4>
xor    %eax,%eax
mov    %eax,-0x758(%rbp)
jmp    89e5 <get_first_losing_move+0x78d5>
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    8a11 <get_first_losing_move+0x7901>
xor    %eax,%eax
mov    %eax,-0x75c(%rbp)
jmp    8a22 <get_first_losing_move+0x7912>
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    8a46 <get_first_losing_move+0x7936>
xor    %eax,%eax
mov    %eax,-0x760(%rbp)
jmp    8a57 <get_first_losing_move+0x7947>
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    8a83 <get_first_losing_move+0x7973>
xor    %eax,%eax
mov    %eax,-0x764(%rbp)
jmp    8a94 <get_first_losing_move+0x7984>
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    8ab8 <get_first_losing_move+0x79a8>
xor    %eax,%eax
mov    %eax,-0x768(%rbp)
jmp    8ac9 <get_first_losing_move+0x79b9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x768(%rbp)
mov    -0x768(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    8ec6 <get_first_losing_move+0x7db6>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8b0a <get_first_losing_move+0x79fa>
xor    %eax,%eax
mov    %eax,-0x76c(%rbp)
jmp    8b1b <get_first_losing_move+0x7a0b>
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    8b3f <get_first_losing_move+0x7a2f>
xor    %eax,%eax
mov    %eax,-0x770(%rbp)
jmp    8b50 <get_first_losing_move+0x7a40>
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    8b7c <get_first_losing_move+0x7a6c>
xor    %eax,%eax
mov    %eax,-0x774(%rbp)
jmp    8b8d <get_first_losing_move+0x7a7d>
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    8bb1 <get_first_losing_move+0x7aa1>
xor    %eax,%eax
mov    %eax,-0x778(%rbp)
jmp    8bc2 <get_first_losing_move+0x7ab2>
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    8bee <get_first_losing_move+0x7ade>
xor    %eax,%eax
mov    %eax,-0x77c(%rbp)
jmp    8bff <get_first_losing_move+0x7aef>
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    8c23 <get_first_losing_move+0x7b13>
xor    %eax,%eax
mov    %eax,-0x780(%rbp)
jmp    8c34 <get_first_losing_move+0x7b24>
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    8c60 <get_first_losing_move+0x7b50>
xor    %eax,%eax
mov    %eax,-0x784(%rbp)
jmp    8c71 <get_first_losing_move+0x7b61>
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    8c95 <get_first_losing_move+0x7b85>
xor    %eax,%eax
mov    %eax,-0x788(%rbp)
jmp    8ca6 <get_first_losing_move+0x7b96>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    8cf6 <get_first_losing_move+0x7be6>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8d18 <get_first_losing_move+0x7c08>
xor    %eax,%eax
mov    %eax,-0x78c(%rbp)
jmp    8d29 <get_first_losing_move+0x7c19>
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    8d4d <get_first_losing_move+0x7c3d>
xor    %eax,%eax
mov    %eax,-0x790(%rbp)
jmp    8d5e <get_first_losing_move+0x7c4e>
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    8d8a <get_first_losing_move+0x7c7a>
xor    %eax,%eax
mov    %eax,-0x794(%rbp)
jmp    8d9b <get_first_losing_move+0x7c8b>
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    8dbf <get_first_losing_move+0x7caf>
xor    %eax,%eax
mov    %eax,-0x798(%rbp)
jmp    8dd0 <get_first_losing_move+0x7cc0>
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    8dfc <get_first_losing_move+0x7cec>
xor    %eax,%eax
mov    %eax,-0x79c(%rbp)
jmp    8e0d <get_first_losing_move+0x7cfd>
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    8e31 <get_first_losing_move+0x7d21>
xor    %eax,%eax
mov    %eax,-0x7a0(%rbp)
jmp    8e42 <get_first_losing_move+0x7d32>
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    8e6e <get_first_losing_move+0x7d5e>
xor    %eax,%eax
mov    %eax,-0x7a4(%rbp)
jmp    8e7f <get_first_losing_move+0x7d6f>
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    8ea3 <get_first_losing_move+0x7d93>
xor    %eax,%eax
mov    %eax,-0x7a8(%rbp)
jmp    8eb4 <get_first_losing_move+0x7da4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7a8(%rbp)
mov    -0x7a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    8ecb <get_first_losing_move+0x7dbb>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    8ed8 <get_first_losing_move+0x7dc8>
jmp    164ec <get_first_losing_move+0x153dc>
movswl -0x18(%rbp),%eax
cmp    $0xa,%eax
jne    9b6e <get_first_losing_move+0x8a5e>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     9b69 <get_first_losing_move+0x8a59>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     9b69 <get_first_losing_move+0x8a59>
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     9b64 <get_first_losing_move+0x8a54>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     9b64 <get_first_losing_move+0x8a54>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     9b64 <get_first_losing_move+0x8a54>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     9b64 <get_first_losing_move+0x8a54>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     9b64 <get_first_losing_move+0x8a54>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    9378 <get_first_losing_move+0x8268>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8faf <get_first_losing_move+0x7e9f>
xor    %eax,%eax
mov    %eax,-0x7ac(%rbp)
jmp    8fc0 <get_first_losing_move+0x7eb0>
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    8fe4 <get_first_losing_move+0x7ed4>
xor    %eax,%eax
mov    %eax,-0x7b0(%rbp)
jmp    8ff5 <get_first_losing_move+0x7ee5>
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    9021 <get_first_losing_move+0x7f11>
xor    %eax,%eax
mov    %eax,-0x7b4(%rbp)
jmp    9032 <get_first_losing_move+0x7f22>
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    9056 <get_first_losing_move+0x7f46>
xor    %eax,%eax
mov    %eax,-0x7b8(%rbp)
jmp    9067 <get_first_losing_move+0x7f57>
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    9093 <get_first_losing_move+0x7f83>
xor    %eax,%eax
mov    %eax,-0x7bc(%rbp)
jmp    90a4 <get_first_losing_move+0x7f94>
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    90c8 <get_first_losing_move+0x7fb8>
xor    %eax,%eax
mov    %eax,-0x7c0(%rbp)
jmp    90d9 <get_first_losing_move+0x7fc9>
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    9105 <get_first_losing_move+0x7ff5>
xor    %eax,%eax
mov    %eax,-0x7c4(%rbp)
jmp    9116 <get_first_losing_move+0x8006>
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    913a <get_first_losing_move+0x802a>
xor    %eax,%eax
mov    %eax,-0x7c8(%rbp)
jmp    914b <get_first_losing_move+0x803b>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    919b <get_first_losing_move+0x808b>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    91bd <get_first_losing_move+0x80ad>
xor    %eax,%eax
mov    %eax,-0x7cc(%rbp)
jmp    91ce <get_first_losing_move+0x80be>
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    91f2 <get_first_losing_move+0x80e2>
xor    %eax,%eax
mov    %eax,-0x7d0(%rbp)
jmp    9203 <get_first_losing_move+0x80f3>
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    922f <get_first_losing_move+0x811f>
xor    %eax,%eax
mov    %eax,-0x7d4(%rbp)
jmp    9240 <get_first_losing_move+0x8130>
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    9264 <get_first_losing_move+0x8154>
xor    %eax,%eax
mov    %eax,-0x7d8(%rbp)
jmp    9275 <get_first_losing_move+0x8165>
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    92a1 <get_first_losing_move+0x8191>
xor    %eax,%eax
mov    %eax,-0x7dc(%rbp)
jmp    92b2 <get_first_losing_move+0x81a2>
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    92d6 <get_first_losing_move+0x81c6>
xor    %eax,%eax
mov    %eax,-0x7e0(%rbp)
jmp    92e7 <get_first_losing_move+0x81d7>
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    9313 <get_first_losing_move+0x8203>
xor    %eax,%eax
mov    %eax,-0x7e4(%rbp)
jmp    9324 <get_first_losing_move+0x8214>
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    9348 <get_first_losing_move+0x8238>
xor    %eax,%eax
mov    %eax,-0x7e8(%rbp)
jmp    9359 <get_first_losing_move+0x8249>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7e8(%rbp)
mov    -0x7e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    9b5c <get_first_losing_move+0x8a4c>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    9779 <get_first_losing_move+0x8669>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    93b0 <get_first_losing_move+0x82a0>
xor    %eax,%eax
mov    %eax,-0x7ec(%rbp)
jmp    93c1 <get_first_losing_move+0x82b1>
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    93e5 <get_first_losing_move+0x82d5>
xor    %eax,%eax
mov    %eax,-0x7f0(%rbp)
jmp    93f6 <get_first_losing_move+0x82e6>
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    9422 <get_first_losing_move+0x8312>
xor    %eax,%eax
mov    %eax,-0x7f4(%rbp)
jmp    9433 <get_first_losing_move+0x8323>
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    9457 <get_first_losing_move+0x8347>
xor    %eax,%eax
mov    %eax,-0x7f8(%rbp)
jmp    9468 <get_first_losing_move+0x8358>
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    9494 <get_first_losing_move+0x8384>
xor    %eax,%eax
mov    %eax,-0x7fc(%rbp)
jmp    94a5 <get_first_losing_move+0x8395>
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    94c9 <get_first_losing_move+0x83b9>
xor    %eax,%eax
mov    %eax,-0x800(%rbp)
jmp    94da <get_first_losing_move+0x83ca>
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    9506 <get_first_losing_move+0x83f6>
xor    %eax,%eax
mov    %eax,-0x804(%rbp)
jmp    9517 <get_first_losing_move+0x8407>
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    953b <get_first_losing_move+0x842b>
xor    %eax,%eax
mov    %eax,-0x808(%rbp)
jmp    954c <get_first_losing_move+0x843c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    959c <get_first_losing_move+0x848c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    95be <get_first_losing_move+0x84ae>
xor    %eax,%eax
mov    %eax,-0x80c(%rbp)
jmp    95cf <get_first_losing_move+0x84bf>
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    95f3 <get_first_losing_move+0x84e3>
xor    %eax,%eax
mov    %eax,-0x810(%rbp)
jmp    9604 <get_first_losing_move+0x84f4>
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    9630 <get_first_losing_move+0x8520>
xor    %eax,%eax
mov    %eax,-0x814(%rbp)
jmp    9641 <get_first_losing_move+0x8531>
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    9665 <get_first_losing_move+0x8555>
xor    %eax,%eax
mov    %eax,-0x818(%rbp)
jmp    9676 <get_first_losing_move+0x8566>
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    96a2 <get_first_losing_move+0x8592>
xor    %eax,%eax
mov    %eax,-0x81c(%rbp)
jmp    96b3 <get_first_losing_move+0x85a3>
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    96d7 <get_first_losing_move+0x85c7>
xor    %eax,%eax
mov    %eax,-0x820(%rbp)
jmp    96e8 <get_first_losing_move+0x85d8>
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    9714 <get_first_losing_move+0x8604>
xor    %eax,%eax
mov    %eax,-0x824(%rbp)
jmp    9725 <get_first_losing_move+0x8615>
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    9749 <get_first_losing_move+0x8639>
xor    %eax,%eax
mov    %eax,-0x828(%rbp)
jmp    975a <get_first_losing_move+0x864a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x828(%rbp)
mov    -0x828(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    9b57 <get_first_losing_move+0x8a47>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    979b <get_first_losing_move+0x868b>
xor    %eax,%eax
mov    %eax,-0x82c(%rbp)
jmp    97ac <get_first_losing_move+0x869c>
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    97d0 <get_first_losing_move+0x86c0>
xor    %eax,%eax
mov    %eax,-0x830(%rbp)
jmp    97e1 <get_first_losing_move+0x86d1>
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    980d <get_first_losing_move+0x86fd>
xor    %eax,%eax
mov    %eax,-0x834(%rbp)
jmp    981e <get_first_losing_move+0x870e>
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    9842 <get_first_losing_move+0x8732>
xor    %eax,%eax
mov    %eax,-0x838(%rbp)
jmp    9853 <get_first_losing_move+0x8743>
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    987f <get_first_losing_move+0x876f>
xor    %eax,%eax
mov    %eax,-0x83c(%rbp)
jmp    9890 <get_first_losing_move+0x8780>
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    98b4 <get_first_losing_move+0x87a4>
xor    %eax,%eax
mov    %eax,-0x840(%rbp)
jmp    98c5 <get_first_losing_move+0x87b5>
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    98f1 <get_first_losing_move+0x87e1>
xor    %eax,%eax
mov    %eax,-0x844(%rbp)
jmp    9902 <get_first_losing_move+0x87f2>
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    9926 <get_first_losing_move+0x8816>
xor    %eax,%eax
mov    %eax,-0x848(%rbp)
jmp    9937 <get_first_losing_move+0x8827>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    9987 <get_first_losing_move+0x8877>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    99a9 <get_first_losing_move+0x8899>
xor    %eax,%eax
mov    %eax,-0x84c(%rbp)
jmp    99ba <get_first_losing_move+0x88aa>
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    99de <get_first_losing_move+0x88ce>
xor    %eax,%eax
mov    %eax,-0x850(%rbp)
jmp    99ef <get_first_losing_move+0x88df>
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    9a1b <get_first_losing_move+0x890b>
xor    %eax,%eax
mov    %eax,-0x854(%rbp)
jmp    9a2c <get_first_losing_move+0x891c>
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    9a50 <get_first_losing_move+0x8940>
xor    %eax,%eax
mov    %eax,-0x858(%rbp)
jmp    9a61 <get_first_losing_move+0x8951>
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    9a8d <get_first_losing_move+0x897d>
xor    %eax,%eax
mov    %eax,-0x85c(%rbp)
jmp    9a9e <get_first_losing_move+0x898e>
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    9ac2 <get_first_losing_move+0x89b2>
xor    %eax,%eax
mov    %eax,-0x860(%rbp)
jmp    9ad3 <get_first_losing_move+0x89c3>
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    9aff <get_first_losing_move+0x89ef>
xor    %eax,%eax
mov    %eax,-0x864(%rbp)
jmp    9b10 <get_first_losing_move+0x8a00>
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    9b34 <get_first_losing_move+0x8a24>
xor    %eax,%eax
mov    %eax,-0x868(%rbp)
jmp    9b45 <get_first_losing_move+0x8a35>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x868(%rbp)
mov    -0x868(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    9b5c <get_first_losing_move+0x8a4c>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    9b69 <get_first_losing_move+0x8a59>
jmp    164e7 <get_first_losing_move+0x153d7>
movswl -0x18(%rbp),%eax
cmp    $0xb,%eax
jne    a810 <get_first_losing_move+0x9700>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     a80b <get_first_losing_move+0x96fb>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    a80b <get_first_losing_move+0x96fb>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     a80b <get_first_losing_move+0x96fb>
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     a806 <get_first_losing_move+0x96f6>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     a806 <get_first_losing_move+0x96f6>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     a806 <get_first_losing_move+0x96f6>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     a806 <get_first_losing_move+0x96f6>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     a806 <get_first_losing_move+0x96f6>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    a01a <get_first_losing_move+0x8f0a>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9c51 <get_first_losing_move+0x8b41>
xor    %eax,%eax
mov    %eax,-0x86c(%rbp)
jmp    9c62 <get_first_losing_move+0x8b52>
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    9c86 <get_first_losing_move+0x8b76>
xor    %eax,%eax
mov    %eax,-0x870(%rbp)
jmp    9c97 <get_first_losing_move+0x8b87>
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    9cc3 <get_first_losing_move+0x8bb3>
xor    %eax,%eax
mov    %eax,-0x874(%rbp)
jmp    9cd4 <get_first_losing_move+0x8bc4>
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    9cf8 <get_first_losing_move+0x8be8>
xor    %eax,%eax
mov    %eax,-0x878(%rbp)
jmp    9d09 <get_first_losing_move+0x8bf9>
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    9d35 <get_first_losing_move+0x8c25>
xor    %eax,%eax
mov    %eax,-0x87c(%rbp)
jmp    9d46 <get_first_losing_move+0x8c36>
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    9d6a <get_first_losing_move+0x8c5a>
xor    %eax,%eax
mov    %eax,-0x880(%rbp)
jmp    9d7b <get_first_losing_move+0x8c6b>
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    9da7 <get_first_losing_move+0x8c97>
xor    %eax,%eax
mov    %eax,-0x884(%rbp)
jmp    9db8 <get_first_losing_move+0x8ca8>
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    9ddc <get_first_losing_move+0x8ccc>
xor    %eax,%eax
mov    %eax,-0x888(%rbp)
jmp    9ded <get_first_losing_move+0x8cdd>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    9e3d <get_first_losing_move+0x8d2d>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9e5f <get_first_losing_move+0x8d4f>
xor    %eax,%eax
mov    %eax,-0x88c(%rbp)
jmp    9e70 <get_first_losing_move+0x8d60>
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    9e94 <get_first_losing_move+0x8d84>
xor    %eax,%eax
mov    %eax,-0x890(%rbp)
jmp    9ea5 <get_first_losing_move+0x8d95>
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    9ed1 <get_first_losing_move+0x8dc1>
xor    %eax,%eax
mov    %eax,-0x894(%rbp)
jmp    9ee2 <get_first_losing_move+0x8dd2>
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    9f06 <get_first_losing_move+0x8df6>
xor    %eax,%eax
mov    %eax,-0x898(%rbp)
jmp    9f17 <get_first_losing_move+0x8e07>
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    9f43 <get_first_losing_move+0x8e33>
xor    %eax,%eax
mov    %eax,-0x89c(%rbp)
jmp    9f54 <get_first_losing_move+0x8e44>
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    9f78 <get_first_losing_move+0x8e68>
xor    %eax,%eax
mov    %eax,-0x8a0(%rbp)
jmp    9f89 <get_first_losing_move+0x8e79>
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    9fb5 <get_first_losing_move+0x8ea5>
xor    %eax,%eax
mov    %eax,-0x8a4(%rbp)
jmp    9fc6 <get_first_losing_move+0x8eb6>
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    9fea <get_first_losing_move+0x8eda>
xor    %eax,%eax
mov    %eax,-0x8a8(%rbp)
jmp    9ffb <get_first_losing_move+0x8eeb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8a8(%rbp)
mov    -0x8a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    a7fe <get_first_losing_move+0x96ee>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    a41b <get_first_losing_move+0x930b>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a052 <get_first_losing_move+0x8f42>
xor    %eax,%eax
mov    %eax,-0x8ac(%rbp)
jmp    a063 <get_first_losing_move+0x8f53>
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    a087 <get_first_losing_move+0x8f77>
xor    %eax,%eax
mov    %eax,-0x8b0(%rbp)
jmp    a098 <get_first_losing_move+0x8f88>
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    a0c4 <get_first_losing_move+0x8fb4>
xor    %eax,%eax
mov    %eax,-0x8b4(%rbp)
jmp    a0d5 <get_first_losing_move+0x8fc5>
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    a0f9 <get_first_losing_move+0x8fe9>
xor    %eax,%eax
mov    %eax,-0x8b8(%rbp)
jmp    a10a <get_first_losing_move+0x8ffa>
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    a136 <get_first_losing_move+0x9026>
xor    %eax,%eax
mov    %eax,-0x8bc(%rbp)
jmp    a147 <get_first_losing_move+0x9037>
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    a16b <get_first_losing_move+0x905b>
xor    %eax,%eax
mov    %eax,-0x8c0(%rbp)
jmp    a17c <get_first_losing_move+0x906c>
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    a1a8 <get_first_losing_move+0x9098>
xor    %eax,%eax
mov    %eax,-0x8c4(%rbp)
jmp    a1b9 <get_first_losing_move+0x90a9>
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    a1dd <get_first_losing_move+0x90cd>
xor    %eax,%eax
mov    %eax,-0x8c8(%rbp)
jmp    a1ee <get_first_losing_move+0x90de>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    a23e <get_first_losing_move+0x912e>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a260 <get_first_losing_move+0x9150>
xor    %eax,%eax
mov    %eax,-0x8cc(%rbp)
jmp    a271 <get_first_losing_move+0x9161>
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    a295 <get_first_losing_move+0x9185>
xor    %eax,%eax
mov    %eax,-0x8d0(%rbp)
jmp    a2a6 <get_first_losing_move+0x9196>
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    a2d2 <get_first_losing_move+0x91c2>
xor    %eax,%eax
mov    %eax,-0x8d4(%rbp)
jmp    a2e3 <get_first_losing_move+0x91d3>
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    a307 <get_first_losing_move+0x91f7>
xor    %eax,%eax
mov    %eax,-0x8d8(%rbp)
jmp    a318 <get_first_losing_move+0x9208>
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    a344 <get_first_losing_move+0x9234>
xor    %eax,%eax
mov    %eax,-0x8dc(%rbp)
jmp    a355 <get_first_losing_move+0x9245>
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    a379 <get_first_losing_move+0x9269>
xor    %eax,%eax
mov    %eax,-0x8e0(%rbp)
jmp    a38a <get_first_losing_move+0x927a>
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    a3b6 <get_first_losing_move+0x92a6>
xor    %eax,%eax
mov    %eax,-0x8e4(%rbp)
jmp    a3c7 <get_first_losing_move+0x92b7>
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    a3eb <get_first_losing_move+0x92db>
xor    %eax,%eax
mov    %eax,-0x8e8(%rbp)
jmp    a3fc <get_first_losing_move+0x92ec>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8e8(%rbp)
mov    -0x8e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    a7f9 <get_first_losing_move+0x96e9>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a43d <get_first_losing_move+0x932d>
xor    %eax,%eax
mov    %eax,-0x8ec(%rbp)
jmp    a44e <get_first_losing_move+0x933e>
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    a472 <get_first_losing_move+0x9362>
xor    %eax,%eax
mov    %eax,-0x8f0(%rbp)
jmp    a483 <get_first_losing_move+0x9373>
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    a4af <get_first_losing_move+0x939f>
xor    %eax,%eax
mov    %eax,-0x8f4(%rbp)
jmp    a4c0 <get_first_losing_move+0x93b0>
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    a4e4 <get_first_losing_move+0x93d4>
xor    %eax,%eax
mov    %eax,-0x8f8(%rbp)
jmp    a4f5 <get_first_losing_move+0x93e5>
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    a521 <get_first_losing_move+0x9411>
xor    %eax,%eax
mov    %eax,-0x8fc(%rbp)
jmp    a532 <get_first_losing_move+0x9422>
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    a556 <get_first_losing_move+0x9446>
xor    %eax,%eax
mov    %eax,-0x900(%rbp)
jmp    a567 <get_first_losing_move+0x9457>
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    a593 <get_first_losing_move+0x9483>
xor    %eax,%eax
mov    %eax,-0x904(%rbp)
jmp    a5a4 <get_first_losing_move+0x9494>
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    a5c8 <get_first_losing_move+0x94b8>
xor    %eax,%eax
mov    %eax,-0x908(%rbp)
jmp    a5d9 <get_first_losing_move+0x94c9>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    a629 <get_first_losing_move+0x9519>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a64b <get_first_losing_move+0x953b>
xor    %eax,%eax
mov    %eax,-0x90c(%rbp)
jmp    a65c <get_first_losing_move+0x954c>
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    a680 <get_first_losing_move+0x9570>
xor    %eax,%eax
mov    %eax,-0x910(%rbp)
jmp    a691 <get_first_losing_move+0x9581>
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    a6bd <get_first_losing_move+0x95ad>
xor    %eax,%eax
mov    %eax,-0x914(%rbp)
jmp    a6ce <get_first_losing_move+0x95be>
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    a6f2 <get_first_losing_move+0x95e2>
xor    %eax,%eax
mov    %eax,-0x918(%rbp)
jmp    a703 <get_first_losing_move+0x95f3>
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    a72f <get_first_losing_move+0x961f>
xor    %eax,%eax
mov    %eax,-0x91c(%rbp)
jmp    a740 <get_first_losing_move+0x9630>
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    a764 <get_first_losing_move+0x9654>
xor    %eax,%eax
mov    %eax,-0x920(%rbp)
jmp    a775 <get_first_losing_move+0x9665>
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    a7a1 <get_first_losing_move+0x9691>
xor    %eax,%eax
mov    %eax,-0x924(%rbp)
jmp    a7b2 <get_first_losing_move+0x96a2>
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    a7d6 <get_first_losing_move+0x96c6>
xor    %eax,%eax
mov    %eax,-0x928(%rbp)
jmp    a7e7 <get_first_losing_move+0x96d7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x928(%rbp)
mov    -0x928(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    a7fe <get_first_losing_move+0x96ee>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    a80b <get_first_losing_move+0x96fb>
jmp    164e2 <get_first_losing_move+0x153d2>
movswl -0x18(%rbp),%eax
cmp    $0xc,%eax
jne    b49d <get_first_losing_move+0xa38d>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     b498 <get_first_losing_move+0xa388>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    b498 <get_first_losing_move+0xa388>
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     b493 <get_first_losing_move+0xa383>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     b493 <get_first_losing_move+0xa383>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     b493 <get_first_losing_move+0xa383>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     b493 <get_first_losing_move+0xa383>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     b493 <get_first_losing_move+0xa383>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    aca7 <get_first_losing_move+0x9b97>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a8de <get_first_losing_move+0x97ce>
xor    %eax,%eax
mov    %eax,-0x92c(%rbp)
jmp    a8ef <get_first_losing_move+0x97df>
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    a913 <get_first_losing_move+0x9803>
xor    %eax,%eax
mov    %eax,-0x930(%rbp)
jmp    a924 <get_first_losing_move+0x9814>
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    a950 <get_first_losing_move+0x9840>
xor    %eax,%eax
mov    %eax,-0x934(%rbp)
jmp    a961 <get_first_losing_move+0x9851>
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    a985 <get_first_losing_move+0x9875>
xor    %eax,%eax
mov    %eax,-0x938(%rbp)
jmp    a996 <get_first_losing_move+0x9886>
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    a9c2 <get_first_losing_move+0x98b2>
xor    %eax,%eax
mov    %eax,-0x93c(%rbp)
jmp    a9d3 <get_first_losing_move+0x98c3>
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    a9f7 <get_first_losing_move+0x98e7>
xor    %eax,%eax
mov    %eax,-0x940(%rbp)
jmp    aa08 <get_first_losing_move+0x98f8>
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    aa34 <get_first_losing_move+0x9924>
xor    %eax,%eax
mov    %eax,-0x944(%rbp)
jmp    aa45 <get_first_losing_move+0x9935>
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    aa69 <get_first_losing_move+0x9959>
xor    %eax,%eax
mov    %eax,-0x948(%rbp)
jmp    aa7a <get_first_losing_move+0x996a>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    aaca <get_first_losing_move+0x99ba>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    aaec <get_first_losing_move+0x99dc>
xor    %eax,%eax
mov    %eax,-0x94c(%rbp)
jmp    aafd <get_first_losing_move+0x99ed>
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    ab21 <get_first_losing_move+0x9a11>
xor    %eax,%eax
mov    %eax,-0x950(%rbp)
jmp    ab32 <get_first_losing_move+0x9a22>
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    ab5e <get_first_losing_move+0x9a4e>
xor    %eax,%eax
mov    %eax,-0x954(%rbp)
jmp    ab6f <get_first_losing_move+0x9a5f>
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    ab93 <get_first_losing_move+0x9a83>
xor    %eax,%eax
mov    %eax,-0x958(%rbp)
jmp    aba4 <get_first_losing_move+0x9a94>
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    abd0 <get_first_losing_move+0x9ac0>
xor    %eax,%eax
mov    %eax,-0x95c(%rbp)
jmp    abe1 <get_first_losing_move+0x9ad1>
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    ac05 <get_first_losing_move+0x9af5>
xor    %eax,%eax
mov    %eax,-0x960(%rbp)
jmp    ac16 <get_first_losing_move+0x9b06>
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    ac42 <get_first_losing_move+0x9b32>
xor    %eax,%eax
mov    %eax,-0x964(%rbp)
jmp    ac53 <get_first_losing_move+0x9b43>
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    ac77 <get_first_losing_move+0x9b67>
xor    %eax,%eax
mov    %eax,-0x968(%rbp)
jmp    ac88 <get_first_losing_move+0x9b78>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x968(%rbp)
mov    -0x968(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    b48b <get_first_losing_move+0xa37b>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    b0a8 <get_first_losing_move+0x9f98>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    acdf <get_first_losing_move+0x9bcf>
xor    %eax,%eax
mov    %eax,-0x96c(%rbp)
jmp    acf0 <get_first_losing_move+0x9be0>
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    ad14 <get_first_losing_move+0x9c04>
xor    %eax,%eax
mov    %eax,-0x970(%rbp)
jmp    ad25 <get_first_losing_move+0x9c15>
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    ad51 <get_first_losing_move+0x9c41>
xor    %eax,%eax
mov    %eax,-0x974(%rbp)
jmp    ad62 <get_first_losing_move+0x9c52>
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    ad86 <get_first_losing_move+0x9c76>
xor    %eax,%eax
mov    %eax,-0x978(%rbp)
jmp    ad97 <get_first_losing_move+0x9c87>
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    adc3 <get_first_losing_move+0x9cb3>
xor    %eax,%eax
mov    %eax,-0x97c(%rbp)
jmp    add4 <get_first_losing_move+0x9cc4>
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    adf8 <get_first_losing_move+0x9ce8>
xor    %eax,%eax
mov    %eax,-0x980(%rbp)
jmp    ae09 <get_first_losing_move+0x9cf9>
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    ae35 <get_first_losing_move+0x9d25>
xor    %eax,%eax
mov    %eax,-0x984(%rbp)
jmp    ae46 <get_first_losing_move+0x9d36>
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    ae6a <get_first_losing_move+0x9d5a>
xor    %eax,%eax
mov    %eax,-0x988(%rbp)
jmp    ae7b <get_first_losing_move+0x9d6b>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    aecb <get_first_losing_move+0x9dbb>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    aeed <get_first_losing_move+0x9ddd>
xor    %eax,%eax
mov    %eax,-0x98c(%rbp)
jmp    aefe <get_first_losing_move+0x9dee>
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    af22 <get_first_losing_move+0x9e12>
xor    %eax,%eax
mov    %eax,-0x990(%rbp)
jmp    af33 <get_first_losing_move+0x9e23>
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    af5f <get_first_losing_move+0x9e4f>
xor    %eax,%eax
mov    %eax,-0x994(%rbp)
jmp    af70 <get_first_losing_move+0x9e60>
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    af94 <get_first_losing_move+0x9e84>
xor    %eax,%eax
mov    %eax,-0x998(%rbp)
jmp    afa5 <get_first_losing_move+0x9e95>
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    afd1 <get_first_losing_move+0x9ec1>
xor    %eax,%eax
mov    %eax,-0x99c(%rbp)
jmp    afe2 <get_first_losing_move+0x9ed2>
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    b006 <get_first_losing_move+0x9ef6>
xor    %eax,%eax
mov    %eax,-0x9a0(%rbp)
jmp    b017 <get_first_losing_move+0x9f07>
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    b043 <get_first_losing_move+0x9f33>
xor    %eax,%eax
mov    %eax,-0x9a4(%rbp)
jmp    b054 <get_first_losing_move+0x9f44>
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    b078 <get_first_losing_move+0x9f68>
xor    %eax,%eax
mov    %eax,-0x9a8(%rbp)
jmp    b089 <get_first_losing_move+0x9f79>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9a8(%rbp)
mov    -0x9a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    b486 <get_first_losing_move+0xa376>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b0ca <get_first_losing_move+0x9fba>
xor    %eax,%eax
mov    %eax,-0x9ac(%rbp)
jmp    b0db <get_first_losing_move+0x9fcb>
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    b0ff <get_first_losing_move+0x9fef>
xor    %eax,%eax
mov    %eax,-0x9b0(%rbp)
jmp    b110 <get_first_losing_move+0xa000>
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    b13c <get_first_losing_move+0xa02c>
xor    %eax,%eax
mov    %eax,-0x9b4(%rbp)
jmp    b14d <get_first_losing_move+0xa03d>
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    b171 <get_first_losing_move+0xa061>
xor    %eax,%eax
mov    %eax,-0x9b8(%rbp)
jmp    b182 <get_first_losing_move+0xa072>
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    b1ae <get_first_losing_move+0xa09e>
xor    %eax,%eax
mov    %eax,-0x9bc(%rbp)
jmp    b1bf <get_first_losing_move+0xa0af>
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    b1e3 <get_first_losing_move+0xa0d3>
xor    %eax,%eax
mov    %eax,-0x9c0(%rbp)
jmp    b1f4 <get_first_losing_move+0xa0e4>
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    b220 <get_first_losing_move+0xa110>
xor    %eax,%eax
mov    %eax,-0x9c4(%rbp)
jmp    b231 <get_first_losing_move+0xa121>
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    b255 <get_first_losing_move+0xa145>
xor    %eax,%eax
mov    %eax,-0x9c8(%rbp)
jmp    b266 <get_first_losing_move+0xa156>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    b2b6 <get_first_losing_move+0xa1a6>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b2d8 <get_first_losing_move+0xa1c8>
xor    %eax,%eax
mov    %eax,-0x9cc(%rbp)
jmp    b2e9 <get_first_losing_move+0xa1d9>
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    b30d <get_first_losing_move+0xa1fd>
xor    %eax,%eax
mov    %eax,-0x9d0(%rbp)
jmp    b31e <get_first_losing_move+0xa20e>
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    b34a <get_first_losing_move+0xa23a>
xor    %eax,%eax
mov    %eax,-0x9d4(%rbp)
jmp    b35b <get_first_losing_move+0xa24b>
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    b37f <get_first_losing_move+0xa26f>
xor    %eax,%eax
mov    %eax,-0x9d8(%rbp)
jmp    b390 <get_first_losing_move+0xa280>
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    b3bc <get_first_losing_move+0xa2ac>
xor    %eax,%eax
mov    %eax,-0x9dc(%rbp)
jmp    b3cd <get_first_losing_move+0xa2bd>
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    b3f1 <get_first_losing_move+0xa2e1>
xor    %eax,%eax
mov    %eax,-0x9e0(%rbp)
jmp    b402 <get_first_losing_move+0xa2f2>
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    b42e <get_first_losing_move+0xa31e>
xor    %eax,%eax
mov    %eax,-0x9e4(%rbp)
jmp    b43f <get_first_losing_move+0xa32f>
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    b463 <get_first_losing_move+0xa353>
xor    %eax,%eax
mov    %eax,-0x9e8(%rbp)
jmp    b474 <get_first_losing_move+0xa364>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9e8(%rbp)
mov    -0x9e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    b48b <get_first_losing_move+0xa37b>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    b498 <get_first_losing_move+0xa388>
jmp    164dd <get_first_losing_move+0x153cd>
movswl -0x18(%rbp),%eax
cmp    $0xd,%eax
jne    c13f <get_first_losing_move+0xb02f>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     c13a <get_first_losing_move+0xb02a>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    c13a <get_first_losing_move+0xb02a>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     c13a <get_first_losing_move+0xb02a>
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     c135 <get_first_losing_move+0xb025>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     c135 <get_first_losing_move+0xb025>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     c135 <get_first_losing_move+0xb025>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     c135 <get_first_losing_move+0xb025>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     c135 <get_first_losing_move+0xb025>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    b949 <get_first_losing_move+0xa839>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b580 <get_first_losing_move+0xa470>
xor    %eax,%eax
mov    %eax,-0x9ec(%rbp)
jmp    b591 <get_first_losing_move+0xa481>
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    b5b5 <get_first_losing_move+0xa4a5>
xor    %eax,%eax
mov    %eax,-0x9f0(%rbp)
jmp    b5c6 <get_first_losing_move+0xa4b6>
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    b5f2 <get_first_losing_move+0xa4e2>
xor    %eax,%eax
mov    %eax,-0x9f4(%rbp)
jmp    b603 <get_first_losing_move+0xa4f3>
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    b627 <get_first_losing_move+0xa517>
xor    %eax,%eax
mov    %eax,-0x9f8(%rbp)
jmp    b638 <get_first_losing_move+0xa528>
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    b664 <get_first_losing_move+0xa554>
xor    %eax,%eax
mov    %eax,-0x9fc(%rbp)
jmp    b675 <get_first_losing_move+0xa565>
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    b699 <get_first_losing_move+0xa589>
xor    %eax,%eax
mov    %eax,-0xa00(%rbp)
jmp    b6aa <get_first_losing_move+0xa59a>
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    b6d6 <get_first_losing_move+0xa5c6>
xor    %eax,%eax
mov    %eax,-0xa04(%rbp)
jmp    b6e7 <get_first_losing_move+0xa5d7>
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    b70b <get_first_losing_move+0xa5fb>
xor    %eax,%eax
mov    %eax,-0xa08(%rbp)
jmp    b71c <get_first_losing_move+0xa60c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    b76c <get_first_losing_move+0xa65c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b78e <get_first_losing_move+0xa67e>
xor    %eax,%eax
mov    %eax,-0xa0c(%rbp)
jmp    b79f <get_first_losing_move+0xa68f>
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    b7c3 <get_first_losing_move+0xa6b3>
xor    %eax,%eax
mov    %eax,-0xa10(%rbp)
jmp    b7d4 <get_first_losing_move+0xa6c4>
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    b800 <get_first_losing_move+0xa6f0>
xor    %eax,%eax
mov    %eax,-0xa14(%rbp)
jmp    b811 <get_first_losing_move+0xa701>
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    b835 <get_first_losing_move+0xa725>
xor    %eax,%eax
mov    %eax,-0xa18(%rbp)
jmp    b846 <get_first_losing_move+0xa736>
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    b872 <get_first_losing_move+0xa762>
xor    %eax,%eax
mov    %eax,-0xa1c(%rbp)
jmp    b883 <get_first_losing_move+0xa773>
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    b8a7 <get_first_losing_move+0xa797>
xor    %eax,%eax
mov    %eax,-0xa20(%rbp)
jmp    b8b8 <get_first_losing_move+0xa7a8>
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    b8e4 <get_first_losing_move+0xa7d4>
xor    %eax,%eax
mov    %eax,-0xa24(%rbp)
jmp    b8f5 <get_first_losing_move+0xa7e5>
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    b919 <get_first_losing_move+0xa809>
xor    %eax,%eax
mov    %eax,-0xa28(%rbp)
jmp    b92a <get_first_losing_move+0xa81a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa28(%rbp)
mov    -0xa28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    c12d <get_first_losing_move+0xb01d>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    bd4a <get_first_losing_move+0xac3a>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b981 <get_first_losing_move+0xa871>
xor    %eax,%eax
mov    %eax,-0xa2c(%rbp)
jmp    b992 <get_first_losing_move+0xa882>
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    b9b6 <get_first_losing_move+0xa8a6>
xor    %eax,%eax
mov    %eax,-0xa30(%rbp)
jmp    b9c7 <get_first_losing_move+0xa8b7>
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    b9f3 <get_first_losing_move+0xa8e3>
xor    %eax,%eax
mov    %eax,-0xa34(%rbp)
jmp    ba04 <get_first_losing_move+0xa8f4>
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    ba28 <get_first_losing_move+0xa918>
xor    %eax,%eax
mov    %eax,-0xa38(%rbp)
jmp    ba39 <get_first_losing_move+0xa929>
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    ba65 <get_first_losing_move+0xa955>
xor    %eax,%eax
mov    %eax,-0xa3c(%rbp)
jmp    ba76 <get_first_losing_move+0xa966>
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    ba9a <get_first_losing_move+0xa98a>
xor    %eax,%eax
mov    %eax,-0xa40(%rbp)
jmp    baab <get_first_losing_move+0xa99b>
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    bad7 <get_first_losing_move+0xa9c7>
xor    %eax,%eax
mov    %eax,-0xa44(%rbp)
jmp    bae8 <get_first_losing_move+0xa9d8>
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    bb0c <get_first_losing_move+0xa9fc>
xor    %eax,%eax
mov    %eax,-0xa48(%rbp)
jmp    bb1d <get_first_losing_move+0xaa0d>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    bb6d <get_first_losing_move+0xaa5d>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bb8f <get_first_losing_move+0xaa7f>
xor    %eax,%eax
mov    %eax,-0xa4c(%rbp)
jmp    bba0 <get_first_losing_move+0xaa90>
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    bbc4 <get_first_losing_move+0xaab4>
xor    %eax,%eax
mov    %eax,-0xa50(%rbp)
jmp    bbd5 <get_first_losing_move+0xaac5>
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    bc01 <get_first_losing_move+0xaaf1>
xor    %eax,%eax
mov    %eax,-0xa54(%rbp)
jmp    bc12 <get_first_losing_move+0xab02>
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    bc36 <get_first_losing_move+0xab26>
xor    %eax,%eax
mov    %eax,-0xa58(%rbp)
jmp    bc47 <get_first_losing_move+0xab37>
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    bc73 <get_first_losing_move+0xab63>
xor    %eax,%eax
mov    %eax,-0xa5c(%rbp)
jmp    bc84 <get_first_losing_move+0xab74>
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    bca8 <get_first_losing_move+0xab98>
xor    %eax,%eax
mov    %eax,-0xa60(%rbp)
jmp    bcb9 <get_first_losing_move+0xaba9>
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    bce5 <get_first_losing_move+0xabd5>
xor    %eax,%eax
mov    %eax,-0xa64(%rbp)
jmp    bcf6 <get_first_losing_move+0xabe6>
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    bd1a <get_first_losing_move+0xac0a>
xor    %eax,%eax
mov    %eax,-0xa68(%rbp)
jmp    bd2b <get_first_losing_move+0xac1b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa68(%rbp)
mov    -0xa68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    c128 <get_first_losing_move+0xb018>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bd6c <get_first_losing_move+0xac5c>
xor    %eax,%eax
mov    %eax,-0xa6c(%rbp)
jmp    bd7d <get_first_losing_move+0xac6d>
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    bda1 <get_first_losing_move+0xac91>
xor    %eax,%eax
mov    %eax,-0xa70(%rbp)
jmp    bdb2 <get_first_losing_move+0xaca2>
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    bdde <get_first_losing_move+0xacce>
xor    %eax,%eax
mov    %eax,-0xa74(%rbp)
jmp    bdef <get_first_losing_move+0xacdf>
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    be13 <get_first_losing_move+0xad03>
xor    %eax,%eax
mov    %eax,-0xa78(%rbp)
jmp    be24 <get_first_losing_move+0xad14>
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    be50 <get_first_losing_move+0xad40>
xor    %eax,%eax
mov    %eax,-0xa7c(%rbp)
jmp    be61 <get_first_losing_move+0xad51>
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    be85 <get_first_losing_move+0xad75>
xor    %eax,%eax
mov    %eax,-0xa80(%rbp)
jmp    be96 <get_first_losing_move+0xad86>
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    bec2 <get_first_losing_move+0xadb2>
xor    %eax,%eax
mov    %eax,-0xa84(%rbp)
jmp    bed3 <get_first_losing_move+0xadc3>
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    bef7 <get_first_losing_move+0xade7>
xor    %eax,%eax
mov    %eax,-0xa88(%rbp)
jmp    bf08 <get_first_losing_move+0xadf8>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    bf58 <get_first_losing_move+0xae48>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bf7a <get_first_losing_move+0xae6a>
xor    %eax,%eax
mov    %eax,-0xa8c(%rbp)
jmp    bf8b <get_first_losing_move+0xae7b>
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    bfaf <get_first_losing_move+0xae9f>
xor    %eax,%eax
mov    %eax,-0xa90(%rbp)
jmp    bfc0 <get_first_losing_move+0xaeb0>
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    bfec <get_first_losing_move+0xaedc>
xor    %eax,%eax
mov    %eax,-0xa94(%rbp)
jmp    bffd <get_first_losing_move+0xaeed>
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    c021 <get_first_losing_move+0xaf11>
xor    %eax,%eax
mov    %eax,-0xa98(%rbp)
jmp    c032 <get_first_losing_move+0xaf22>
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    c05e <get_first_losing_move+0xaf4e>
xor    %eax,%eax
mov    %eax,-0xa9c(%rbp)
jmp    c06f <get_first_losing_move+0xaf5f>
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    c093 <get_first_losing_move+0xaf83>
xor    %eax,%eax
mov    %eax,-0xaa0(%rbp)
jmp    c0a4 <get_first_losing_move+0xaf94>
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    c0d0 <get_first_losing_move+0xafc0>
xor    %eax,%eax
mov    %eax,-0xaa4(%rbp)
jmp    c0e1 <get_first_losing_move+0xafd1>
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    c105 <get_first_losing_move+0xaff5>
xor    %eax,%eax
mov    %eax,-0xaa8(%rbp)
jmp    c116 <get_first_losing_move+0xb006>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaa8(%rbp)
mov    -0xaa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    c12d <get_first_losing_move+0xb01d>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    c13a <get_first_losing_move+0xb02a>
jmp    164d8 <get_first_losing_move+0x153c8>
movswl -0x18(%rbp),%eax
cmp    $0xe,%eax
jne    cdd0 <get_first_losing_move+0xbcc0>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     cdcb <get_first_losing_move+0xbcbb>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     cdcb <get_first_losing_move+0xbcbb>
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     cdc6 <get_first_losing_move+0xbcb6>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     cdc6 <get_first_losing_move+0xbcb6>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     cdc6 <get_first_losing_move+0xbcb6>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     cdc6 <get_first_losing_move+0xbcb6>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     cdc6 <get_first_losing_move+0xbcb6>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    c5da <get_first_losing_move+0xb4ca>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c211 <get_first_losing_move+0xb101>
xor    %eax,%eax
mov    %eax,-0xaac(%rbp)
jmp    c222 <get_first_losing_move+0xb112>
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    c246 <get_first_losing_move+0xb136>
xor    %eax,%eax
mov    %eax,-0xab0(%rbp)
jmp    c257 <get_first_losing_move+0xb147>
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    c283 <get_first_losing_move+0xb173>
xor    %eax,%eax
mov    %eax,-0xab4(%rbp)
jmp    c294 <get_first_losing_move+0xb184>
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    c2b8 <get_first_losing_move+0xb1a8>
xor    %eax,%eax
mov    %eax,-0xab8(%rbp)
jmp    c2c9 <get_first_losing_move+0xb1b9>
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    c2f5 <get_first_losing_move+0xb1e5>
xor    %eax,%eax
mov    %eax,-0xabc(%rbp)
jmp    c306 <get_first_losing_move+0xb1f6>
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    c32a <get_first_losing_move+0xb21a>
xor    %eax,%eax
mov    %eax,-0xac0(%rbp)
jmp    c33b <get_first_losing_move+0xb22b>
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    c367 <get_first_losing_move+0xb257>
xor    %eax,%eax
mov    %eax,-0xac4(%rbp)
jmp    c378 <get_first_losing_move+0xb268>
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    c39c <get_first_losing_move+0xb28c>
xor    %eax,%eax
mov    %eax,-0xac8(%rbp)
jmp    c3ad <get_first_losing_move+0xb29d>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    c3fd <get_first_losing_move+0xb2ed>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c41f <get_first_losing_move+0xb30f>
xor    %eax,%eax
mov    %eax,-0xacc(%rbp)
jmp    c430 <get_first_losing_move+0xb320>
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    c454 <get_first_losing_move+0xb344>
xor    %eax,%eax
mov    %eax,-0xad0(%rbp)
jmp    c465 <get_first_losing_move+0xb355>
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    c491 <get_first_losing_move+0xb381>
xor    %eax,%eax
mov    %eax,-0xad4(%rbp)
jmp    c4a2 <get_first_losing_move+0xb392>
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    c4c6 <get_first_losing_move+0xb3b6>
xor    %eax,%eax
mov    %eax,-0xad8(%rbp)
jmp    c4d7 <get_first_losing_move+0xb3c7>
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    c503 <get_first_losing_move+0xb3f3>
xor    %eax,%eax
mov    %eax,-0xadc(%rbp)
jmp    c514 <get_first_losing_move+0xb404>
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    c538 <get_first_losing_move+0xb428>
xor    %eax,%eax
mov    %eax,-0xae0(%rbp)
jmp    c549 <get_first_losing_move+0xb439>
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    c575 <get_first_losing_move+0xb465>
xor    %eax,%eax
mov    %eax,-0xae4(%rbp)
jmp    c586 <get_first_losing_move+0xb476>
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    c5aa <get_first_losing_move+0xb49a>
xor    %eax,%eax
mov    %eax,-0xae8(%rbp)
jmp    c5bb <get_first_losing_move+0xb4ab>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xae8(%rbp)
mov    -0xae8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    cdbe <get_first_losing_move+0xbcae>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    c9db <get_first_losing_move+0xb8cb>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c612 <get_first_losing_move+0xb502>
xor    %eax,%eax
mov    %eax,-0xaec(%rbp)
jmp    c623 <get_first_losing_move+0xb513>
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    c647 <get_first_losing_move+0xb537>
xor    %eax,%eax
mov    %eax,-0xaf0(%rbp)
jmp    c658 <get_first_losing_move+0xb548>
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    c684 <get_first_losing_move+0xb574>
xor    %eax,%eax
mov    %eax,-0xaf4(%rbp)
jmp    c695 <get_first_losing_move+0xb585>
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    c6b9 <get_first_losing_move+0xb5a9>
xor    %eax,%eax
mov    %eax,-0xaf8(%rbp)
jmp    c6ca <get_first_losing_move+0xb5ba>
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    c6f6 <get_first_losing_move+0xb5e6>
xor    %eax,%eax
mov    %eax,-0xafc(%rbp)
jmp    c707 <get_first_losing_move+0xb5f7>
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    c72b <get_first_losing_move+0xb61b>
xor    %eax,%eax
mov    %eax,-0xb00(%rbp)
jmp    c73c <get_first_losing_move+0xb62c>
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    c768 <get_first_losing_move+0xb658>
xor    %eax,%eax
mov    %eax,-0xb04(%rbp)
jmp    c779 <get_first_losing_move+0xb669>
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    c79d <get_first_losing_move+0xb68d>
xor    %eax,%eax
mov    %eax,-0xb08(%rbp)
jmp    c7ae <get_first_losing_move+0xb69e>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    c7fe <get_first_losing_move+0xb6ee>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c820 <get_first_losing_move+0xb710>
xor    %eax,%eax
mov    %eax,-0xb0c(%rbp)
jmp    c831 <get_first_losing_move+0xb721>
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    c855 <get_first_losing_move+0xb745>
xor    %eax,%eax
mov    %eax,-0xb10(%rbp)
jmp    c866 <get_first_losing_move+0xb756>
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    c892 <get_first_losing_move+0xb782>
xor    %eax,%eax
mov    %eax,-0xb14(%rbp)
jmp    c8a3 <get_first_losing_move+0xb793>
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    c8c7 <get_first_losing_move+0xb7b7>
xor    %eax,%eax
mov    %eax,-0xb18(%rbp)
jmp    c8d8 <get_first_losing_move+0xb7c8>
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    c904 <get_first_losing_move+0xb7f4>
xor    %eax,%eax
mov    %eax,-0xb1c(%rbp)
jmp    c915 <get_first_losing_move+0xb805>
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    c939 <get_first_losing_move+0xb829>
xor    %eax,%eax
mov    %eax,-0xb20(%rbp)
jmp    c94a <get_first_losing_move+0xb83a>
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    c976 <get_first_losing_move+0xb866>
xor    %eax,%eax
mov    %eax,-0xb24(%rbp)
jmp    c987 <get_first_losing_move+0xb877>
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    c9ab <get_first_losing_move+0xb89b>
xor    %eax,%eax
mov    %eax,-0xb28(%rbp)
jmp    c9bc <get_first_losing_move+0xb8ac>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb28(%rbp)
mov    -0xb28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    cdb9 <get_first_losing_move+0xbca9>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c9fd <get_first_losing_move+0xb8ed>
xor    %eax,%eax
mov    %eax,-0xb2c(%rbp)
jmp    ca0e <get_first_losing_move+0xb8fe>
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    ca32 <get_first_losing_move+0xb922>
xor    %eax,%eax
mov    %eax,-0xb30(%rbp)
jmp    ca43 <get_first_losing_move+0xb933>
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    ca6f <get_first_losing_move+0xb95f>
xor    %eax,%eax
mov    %eax,-0xb34(%rbp)
jmp    ca80 <get_first_losing_move+0xb970>
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    caa4 <get_first_losing_move+0xb994>
xor    %eax,%eax
mov    %eax,-0xb38(%rbp)
jmp    cab5 <get_first_losing_move+0xb9a5>
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    cae1 <get_first_losing_move+0xb9d1>
xor    %eax,%eax
mov    %eax,-0xb3c(%rbp)
jmp    caf2 <get_first_losing_move+0xb9e2>
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    cb16 <get_first_losing_move+0xba06>
xor    %eax,%eax
mov    %eax,-0xb40(%rbp)
jmp    cb27 <get_first_losing_move+0xba17>
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    cb53 <get_first_losing_move+0xba43>
xor    %eax,%eax
mov    %eax,-0xb44(%rbp)
jmp    cb64 <get_first_losing_move+0xba54>
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    cb88 <get_first_losing_move+0xba78>
xor    %eax,%eax
mov    %eax,-0xb48(%rbp)
jmp    cb99 <get_first_losing_move+0xba89>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    cbe9 <get_first_losing_move+0xbad9>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    cc0b <get_first_losing_move+0xbafb>
xor    %eax,%eax
mov    %eax,-0xb4c(%rbp)
jmp    cc1c <get_first_losing_move+0xbb0c>
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    cc40 <get_first_losing_move+0xbb30>
xor    %eax,%eax
mov    %eax,-0xb50(%rbp)
jmp    cc51 <get_first_losing_move+0xbb41>
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    cc7d <get_first_losing_move+0xbb6d>
xor    %eax,%eax
mov    %eax,-0xb54(%rbp)
jmp    cc8e <get_first_losing_move+0xbb7e>
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    ccb2 <get_first_losing_move+0xbba2>
xor    %eax,%eax
mov    %eax,-0xb58(%rbp)
jmp    ccc3 <get_first_losing_move+0xbbb3>
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    ccef <get_first_losing_move+0xbbdf>
xor    %eax,%eax
mov    %eax,-0xb5c(%rbp)
jmp    cd00 <get_first_losing_move+0xbbf0>
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    cd24 <get_first_losing_move+0xbc14>
xor    %eax,%eax
mov    %eax,-0xb60(%rbp)
jmp    cd35 <get_first_losing_move+0xbc25>
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    cd61 <get_first_losing_move+0xbc51>
xor    %eax,%eax
mov    %eax,-0xb64(%rbp)
jmp    cd72 <get_first_losing_move+0xbc62>
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    cd96 <get_first_losing_move+0xbc86>
xor    %eax,%eax
mov    %eax,-0xb68(%rbp)
jmp    cda7 <get_first_losing_move+0xbc97>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb68(%rbp)
mov    -0xb68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    cdbe <get_first_losing_move+0xbcae>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    cdcb <get_first_losing_move+0xbcbb>
jmp    164d3 <get_first_losing_move+0x153c3>
movswl -0x18(%rbp),%eax
cmp    $0xf,%eax
jne    da6e <get_first_losing_move+0xc95e>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     da69 <get_first_losing_move+0xc959>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    da69 <get_first_losing_move+0xc959>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     da69 <get_first_losing_move+0xc959>
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     da64 <get_first_losing_move+0xc954>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     da64 <get_first_losing_move+0xc954>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     da64 <get_first_losing_move+0xc954>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     da64 <get_first_losing_move+0xc954>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     da64 <get_first_losing_move+0xc954>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    d278 <get_first_losing_move+0xc168>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ceaf <get_first_losing_move+0xbd9f>
xor    %eax,%eax
mov    %eax,-0xb6c(%rbp)
jmp    cec0 <get_first_losing_move+0xbdb0>
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    cee4 <get_first_losing_move+0xbdd4>
xor    %eax,%eax
mov    %eax,-0xb70(%rbp)
jmp    cef5 <get_first_losing_move+0xbde5>
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    cf21 <get_first_losing_move+0xbe11>
xor    %eax,%eax
mov    %eax,-0xb74(%rbp)
jmp    cf32 <get_first_losing_move+0xbe22>
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    cf56 <get_first_losing_move+0xbe46>
xor    %eax,%eax
mov    %eax,-0xb78(%rbp)
jmp    cf67 <get_first_losing_move+0xbe57>
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    cf93 <get_first_losing_move+0xbe83>
xor    %eax,%eax
mov    %eax,-0xb7c(%rbp)
jmp    cfa4 <get_first_losing_move+0xbe94>
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    cfc8 <get_first_losing_move+0xbeb8>
xor    %eax,%eax
mov    %eax,-0xb80(%rbp)
jmp    cfd9 <get_first_losing_move+0xbec9>
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    d005 <get_first_losing_move+0xbef5>
xor    %eax,%eax
mov    %eax,-0xb84(%rbp)
jmp    d016 <get_first_losing_move+0xbf06>
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    d03a <get_first_losing_move+0xbf2a>
xor    %eax,%eax
mov    %eax,-0xb88(%rbp)
jmp    d04b <get_first_losing_move+0xbf3b>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    d09b <get_first_losing_move+0xbf8b>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d0bd <get_first_losing_move+0xbfad>
xor    %eax,%eax
mov    %eax,-0xb8c(%rbp)
jmp    d0ce <get_first_losing_move+0xbfbe>
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    d0f2 <get_first_losing_move+0xbfe2>
xor    %eax,%eax
mov    %eax,-0xb90(%rbp)
jmp    d103 <get_first_losing_move+0xbff3>
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    d12f <get_first_losing_move+0xc01f>
xor    %eax,%eax
mov    %eax,-0xb94(%rbp)
jmp    d140 <get_first_losing_move+0xc030>
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    d164 <get_first_losing_move+0xc054>
xor    %eax,%eax
mov    %eax,-0xb98(%rbp)
jmp    d175 <get_first_losing_move+0xc065>
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    d1a1 <get_first_losing_move+0xc091>
xor    %eax,%eax
mov    %eax,-0xb9c(%rbp)
jmp    d1b2 <get_first_losing_move+0xc0a2>
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    d1d6 <get_first_losing_move+0xc0c6>
xor    %eax,%eax
mov    %eax,-0xba0(%rbp)
jmp    d1e7 <get_first_losing_move+0xc0d7>
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    d213 <get_first_losing_move+0xc103>
xor    %eax,%eax
mov    %eax,-0xba4(%rbp)
jmp    d224 <get_first_losing_move+0xc114>
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    d248 <get_first_losing_move+0xc138>
xor    %eax,%eax
mov    %eax,-0xba8(%rbp)
jmp    d259 <get_first_losing_move+0xc149>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xba8(%rbp)
mov    -0xba8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    da5c <get_first_losing_move+0xc94c>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    d679 <get_first_losing_move+0xc569>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d2b0 <get_first_losing_move+0xc1a0>
xor    %eax,%eax
mov    %eax,-0xbac(%rbp)
jmp    d2c1 <get_first_losing_move+0xc1b1>
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    d2e5 <get_first_losing_move+0xc1d5>
xor    %eax,%eax
mov    %eax,-0xbb0(%rbp)
jmp    d2f6 <get_first_losing_move+0xc1e6>
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    d322 <get_first_losing_move+0xc212>
xor    %eax,%eax
mov    %eax,-0xbb4(%rbp)
jmp    d333 <get_first_losing_move+0xc223>
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    d357 <get_first_losing_move+0xc247>
xor    %eax,%eax
mov    %eax,-0xbb8(%rbp)
jmp    d368 <get_first_losing_move+0xc258>
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    d394 <get_first_losing_move+0xc284>
xor    %eax,%eax
mov    %eax,-0xbbc(%rbp)
jmp    d3a5 <get_first_losing_move+0xc295>
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    d3c9 <get_first_losing_move+0xc2b9>
xor    %eax,%eax
mov    %eax,-0xbc0(%rbp)
jmp    d3da <get_first_losing_move+0xc2ca>
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    d406 <get_first_losing_move+0xc2f6>
xor    %eax,%eax
mov    %eax,-0xbc4(%rbp)
jmp    d417 <get_first_losing_move+0xc307>
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    d43b <get_first_losing_move+0xc32b>
xor    %eax,%eax
mov    %eax,-0xbc8(%rbp)
jmp    d44c <get_first_losing_move+0xc33c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    d49c <get_first_losing_move+0xc38c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d4be <get_first_losing_move+0xc3ae>
xor    %eax,%eax
mov    %eax,-0xbcc(%rbp)
jmp    d4cf <get_first_losing_move+0xc3bf>
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    d4f3 <get_first_losing_move+0xc3e3>
xor    %eax,%eax
mov    %eax,-0xbd0(%rbp)
jmp    d504 <get_first_losing_move+0xc3f4>
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    d530 <get_first_losing_move+0xc420>
xor    %eax,%eax
mov    %eax,-0xbd4(%rbp)
jmp    d541 <get_first_losing_move+0xc431>
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    d565 <get_first_losing_move+0xc455>
xor    %eax,%eax
mov    %eax,-0xbd8(%rbp)
jmp    d576 <get_first_losing_move+0xc466>
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    d5a2 <get_first_losing_move+0xc492>
xor    %eax,%eax
mov    %eax,-0xbdc(%rbp)
jmp    d5b3 <get_first_losing_move+0xc4a3>
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    d5d7 <get_first_losing_move+0xc4c7>
xor    %eax,%eax
mov    %eax,-0xbe0(%rbp)
jmp    d5e8 <get_first_losing_move+0xc4d8>
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    d614 <get_first_losing_move+0xc504>
xor    %eax,%eax
mov    %eax,-0xbe4(%rbp)
jmp    d625 <get_first_losing_move+0xc515>
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    d649 <get_first_losing_move+0xc539>
xor    %eax,%eax
mov    %eax,-0xbe8(%rbp)
jmp    d65a <get_first_losing_move+0xc54a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbe8(%rbp)
mov    -0xbe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    da57 <get_first_losing_move+0xc947>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d69b <get_first_losing_move+0xc58b>
xor    %eax,%eax
mov    %eax,-0xbec(%rbp)
jmp    d6ac <get_first_losing_move+0xc59c>
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    d6d0 <get_first_losing_move+0xc5c0>
xor    %eax,%eax
mov    %eax,-0xbf0(%rbp)
jmp    d6e1 <get_first_losing_move+0xc5d1>
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    d70d <get_first_losing_move+0xc5fd>
xor    %eax,%eax
mov    %eax,-0xbf4(%rbp)
jmp    d71e <get_first_losing_move+0xc60e>
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    d742 <get_first_losing_move+0xc632>
xor    %eax,%eax
mov    %eax,-0xbf8(%rbp)
jmp    d753 <get_first_losing_move+0xc643>
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    d77f <get_first_losing_move+0xc66f>
xor    %eax,%eax
mov    %eax,-0xbfc(%rbp)
jmp    d790 <get_first_losing_move+0xc680>
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    d7b4 <get_first_losing_move+0xc6a4>
xor    %eax,%eax
mov    %eax,-0xc00(%rbp)
jmp    d7c5 <get_first_losing_move+0xc6b5>
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    d7f1 <get_first_losing_move+0xc6e1>
xor    %eax,%eax
mov    %eax,-0xc04(%rbp)
jmp    d802 <get_first_losing_move+0xc6f2>
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    d826 <get_first_losing_move+0xc716>
xor    %eax,%eax
mov    %eax,-0xc08(%rbp)
jmp    d837 <get_first_losing_move+0xc727>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    d887 <get_first_losing_move+0xc777>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d8a9 <get_first_losing_move+0xc799>
xor    %eax,%eax
mov    %eax,-0xc0c(%rbp)
jmp    d8ba <get_first_losing_move+0xc7aa>
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    d8de <get_first_losing_move+0xc7ce>
xor    %eax,%eax
mov    %eax,-0xc10(%rbp)
jmp    d8ef <get_first_losing_move+0xc7df>
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    d91b <get_first_losing_move+0xc80b>
xor    %eax,%eax
mov    %eax,-0xc14(%rbp)
jmp    d92c <get_first_losing_move+0xc81c>
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    d950 <get_first_losing_move+0xc840>
xor    %eax,%eax
mov    %eax,-0xc18(%rbp)
jmp    d961 <get_first_losing_move+0xc851>
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    d98d <get_first_losing_move+0xc87d>
xor    %eax,%eax
mov    %eax,-0xc1c(%rbp)
jmp    d99e <get_first_losing_move+0xc88e>
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    d9c2 <get_first_losing_move+0xc8b2>
xor    %eax,%eax
mov    %eax,-0xc20(%rbp)
jmp    d9d3 <get_first_losing_move+0xc8c3>
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    d9ff <get_first_losing_move+0xc8ef>
xor    %eax,%eax
mov    %eax,-0xc24(%rbp)
jmp    da10 <get_first_losing_move+0xc900>
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    da34 <get_first_losing_move+0xc924>
xor    %eax,%eax
mov    %eax,-0xc28(%rbp)
jmp    da45 <get_first_losing_move+0xc935>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc28(%rbp)
mov    -0xc28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
jmp    da5c <get_first_losing_move+0xc94c>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    da69 <get_first_losing_move+0xc959>
jmp    164ce <get_first_losing_move+0x153be>
movswl -0x18(%rbp),%eax
cmp    $0x10,%eax
jne    e301 <get_first_losing_move+0xd1f1>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     e2fc <get_first_losing_move+0xd1ec>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    e2fc <get_first_losing_move+0xd1ec>
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     e2f7 <get_first_losing_move+0xd1e7>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     e2f7 <get_first_losing_move+0xd1e7>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     e2f7 <get_first_losing_move+0xd1e7>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     e2f7 <get_first_losing_move+0xd1e7>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     e2f7 <get_first_losing_move+0xd1e7>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     e2f7 <get_first_losing_move+0xd1e7>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    df11 <get_first_losing_move+0xce01>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    db48 <get_first_losing_move+0xca38>
xor    %eax,%eax
mov    %eax,-0xc2c(%rbp)
jmp    db59 <get_first_losing_move+0xca49>
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    db7d <get_first_losing_move+0xca6d>
xor    %eax,%eax
mov    %eax,-0xc30(%rbp)
jmp    db8e <get_first_losing_move+0xca7e>
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    dbba <get_first_losing_move+0xcaaa>
xor    %eax,%eax
mov    %eax,-0xc34(%rbp)
jmp    dbcb <get_first_losing_move+0xcabb>
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    dbef <get_first_losing_move+0xcadf>
xor    %eax,%eax
mov    %eax,-0xc38(%rbp)
jmp    dc00 <get_first_losing_move+0xcaf0>
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    dc2c <get_first_losing_move+0xcb1c>
xor    %eax,%eax
mov    %eax,-0xc3c(%rbp)
jmp    dc3d <get_first_losing_move+0xcb2d>
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    dc61 <get_first_losing_move+0xcb51>
xor    %eax,%eax
mov    %eax,-0xc40(%rbp)
jmp    dc72 <get_first_losing_move+0xcb62>
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    dc9e <get_first_losing_move+0xcb8e>
xor    %eax,%eax
mov    %eax,-0xc44(%rbp)
jmp    dcaf <get_first_losing_move+0xcb9f>
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    dcd3 <get_first_losing_move+0xcbc3>
xor    %eax,%eax
mov    %eax,-0xc48(%rbp)
jmp    dce4 <get_first_losing_move+0xcbd4>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    dd34 <get_first_losing_move+0xcc24>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    dd56 <get_first_losing_move+0xcc46>
xor    %eax,%eax
mov    %eax,-0xc4c(%rbp)
jmp    dd67 <get_first_losing_move+0xcc57>
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    dd8b <get_first_losing_move+0xcc7b>
xor    %eax,%eax
mov    %eax,-0xc50(%rbp)
jmp    dd9c <get_first_losing_move+0xcc8c>
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    ddc8 <get_first_losing_move+0xccb8>
xor    %eax,%eax
mov    %eax,-0xc54(%rbp)
jmp    ddd9 <get_first_losing_move+0xccc9>
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    ddfd <get_first_losing_move+0xcced>
xor    %eax,%eax
mov    %eax,-0xc58(%rbp)
jmp    de0e <get_first_losing_move+0xccfe>
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    de3a <get_first_losing_move+0xcd2a>
xor    %eax,%eax
mov    %eax,-0xc5c(%rbp)
jmp    de4b <get_first_losing_move+0xcd3b>
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    de6f <get_first_losing_move+0xcd5f>
xor    %eax,%eax
mov    %eax,-0xc60(%rbp)
jmp    de80 <get_first_losing_move+0xcd70>
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    deac <get_first_losing_move+0xcd9c>
xor    %eax,%eax
mov    %eax,-0xc64(%rbp)
jmp    debd <get_first_losing_move+0xcdad>
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    dee1 <get_first_losing_move+0xcdd1>
xor    %eax,%eax
mov    %eax,-0xc68(%rbp)
jmp    def2 <get_first_losing_move+0xcde2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc68(%rbp)
mov    -0xc68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    e2ef <get_first_losing_move+0xd1df>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    df33 <get_first_losing_move+0xce23>
xor    %eax,%eax
mov    %eax,-0xc6c(%rbp)
jmp    df44 <get_first_losing_move+0xce34>
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    df68 <get_first_losing_move+0xce58>
xor    %eax,%eax
mov    %eax,-0xc70(%rbp)
jmp    df79 <get_first_losing_move+0xce69>
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    dfa5 <get_first_losing_move+0xce95>
xor    %eax,%eax
mov    %eax,-0xc74(%rbp)
jmp    dfb6 <get_first_losing_move+0xcea6>
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    dfda <get_first_losing_move+0xceca>
xor    %eax,%eax
mov    %eax,-0xc78(%rbp)
jmp    dfeb <get_first_losing_move+0xcedb>
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    e017 <get_first_losing_move+0xcf07>
xor    %eax,%eax
mov    %eax,-0xc7c(%rbp)
jmp    e028 <get_first_losing_move+0xcf18>
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    e04c <get_first_losing_move+0xcf3c>
xor    %eax,%eax
mov    %eax,-0xc80(%rbp)
jmp    e05d <get_first_losing_move+0xcf4d>
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    e089 <get_first_losing_move+0xcf79>
xor    %eax,%eax
mov    %eax,-0xc84(%rbp)
jmp    e09a <get_first_losing_move+0xcf8a>
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    e0be <get_first_losing_move+0xcfae>
xor    %eax,%eax
mov    %eax,-0xc88(%rbp)
jmp    e0cf <get_first_losing_move+0xcfbf>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    e11f <get_first_losing_move+0xd00f>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e141 <get_first_losing_move+0xd031>
xor    %eax,%eax
mov    %eax,-0xc8c(%rbp)
jmp    e152 <get_first_losing_move+0xd042>
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    e176 <get_first_losing_move+0xd066>
xor    %eax,%eax
mov    %eax,-0xc90(%rbp)
jmp    e187 <get_first_losing_move+0xd077>
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    e1b3 <get_first_losing_move+0xd0a3>
xor    %eax,%eax
mov    %eax,-0xc94(%rbp)
jmp    e1c4 <get_first_losing_move+0xd0b4>
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    e1e8 <get_first_losing_move+0xd0d8>
xor    %eax,%eax
mov    %eax,-0xc98(%rbp)
jmp    e1f9 <get_first_losing_move+0xd0e9>
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    e225 <get_first_losing_move+0xd115>
xor    %eax,%eax
mov    %eax,-0xc9c(%rbp)
jmp    e236 <get_first_losing_move+0xd126>
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    e25a <get_first_losing_move+0xd14a>
xor    %eax,%eax
mov    %eax,-0xca0(%rbp)
jmp    e26b <get_first_losing_move+0xd15b>
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    e297 <get_first_losing_move+0xd187>
xor    %eax,%eax
mov    %eax,-0xca4(%rbp)
jmp    e2a8 <get_first_losing_move+0xd198>
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    e2cc <get_first_losing_move+0xd1bc>
xor    %eax,%eax
mov    %eax,-0xca8(%rbp)
jmp    e2dd <get_first_losing_move+0xd1cd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xca8(%rbp)
mov    -0xca8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    e2fc <get_first_losing_move+0xd1ec>
jmp    164c9 <get_first_losing_move+0x153b9>
movswl -0x18(%rbp),%eax
cmp    $0x11,%eax
jne    eba9 <get_first_losing_move+0xda99>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     eba4 <get_first_losing_move+0xda94>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    eba4 <get_first_losing_move+0xda94>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     eba4 <get_first_losing_move+0xda94>
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     eb9f <get_first_losing_move+0xda8f>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     eb9f <get_first_losing_move+0xda8f>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     eb9f <get_first_losing_move+0xda8f>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     eb9f <get_first_losing_move+0xda8f>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     eb9f <get_first_losing_move+0xda8f>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     eb9f <get_first_losing_move+0xda8f>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    e7b9 <get_first_losing_move+0xd6a9>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e3f0 <get_first_losing_move+0xd2e0>
xor    %eax,%eax
mov    %eax,-0xcac(%rbp)
jmp    e401 <get_first_losing_move+0xd2f1>
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    e425 <get_first_losing_move+0xd315>
xor    %eax,%eax
mov    %eax,-0xcb0(%rbp)
jmp    e436 <get_first_losing_move+0xd326>
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    e462 <get_first_losing_move+0xd352>
xor    %eax,%eax
mov    %eax,-0xcb4(%rbp)
jmp    e473 <get_first_losing_move+0xd363>
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    e497 <get_first_losing_move+0xd387>
xor    %eax,%eax
mov    %eax,-0xcb8(%rbp)
jmp    e4a8 <get_first_losing_move+0xd398>
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    e4d4 <get_first_losing_move+0xd3c4>
xor    %eax,%eax
mov    %eax,-0xcbc(%rbp)
jmp    e4e5 <get_first_losing_move+0xd3d5>
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    e509 <get_first_losing_move+0xd3f9>
xor    %eax,%eax
mov    %eax,-0xcc0(%rbp)
jmp    e51a <get_first_losing_move+0xd40a>
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    e546 <get_first_losing_move+0xd436>
xor    %eax,%eax
mov    %eax,-0xcc4(%rbp)
jmp    e557 <get_first_losing_move+0xd447>
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    e57b <get_first_losing_move+0xd46b>
xor    %eax,%eax
mov    %eax,-0xcc8(%rbp)
jmp    e58c <get_first_losing_move+0xd47c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    e5dc <get_first_losing_move+0xd4cc>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e5fe <get_first_losing_move+0xd4ee>
xor    %eax,%eax
mov    %eax,-0xccc(%rbp)
jmp    e60f <get_first_losing_move+0xd4ff>
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    e633 <get_first_losing_move+0xd523>
xor    %eax,%eax
mov    %eax,-0xcd0(%rbp)
jmp    e644 <get_first_losing_move+0xd534>
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    e670 <get_first_losing_move+0xd560>
xor    %eax,%eax
mov    %eax,-0xcd4(%rbp)
jmp    e681 <get_first_losing_move+0xd571>
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    e6a5 <get_first_losing_move+0xd595>
xor    %eax,%eax
mov    %eax,-0xcd8(%rbp)
jmp    e6b6 <get_first_losing_move+0xd5a6>
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    e6e2 <get_first_losing_move+0xd5d2>
xor    %eax,%eax
mov    %eax,-0xcdc(%rbp)
jmp    e6f3 <get_first_losing_move+0xd5e3>
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    e717 <get_first_losing_move+0xd607>
xor    %eax,%eax
mov    %eax,-0xce0(%rbp)
jmp    e728 <get_first_losing_move+0xd618>
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    e754 <get_first_losing_move+0xd644>
xor    %eax,%eax
mov    %eax,-0xce4(%rbp)
jmp    e765 <get_first_losing_move+0xd655>
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    e789 <get_first_losing_move+0xd679>
xor    %eax,%eax
mov    %eax,-0xce8(%rbp)
jmp    e79a <get_first_losing_move+0xd68a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xce8(%rbp)
mov    -0xce8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    eb97 <get_first_losing_move+0xda87>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e7db <get_first_losing_move+0xd6cb>
xor    %eax,%eax
mov    %eax,-0xcec(%rbp)
jmp    e7ec <get_first_losing_move+0xd6dc>
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    e810 <get_first_losing_move+0xd700>
xor    %eax,%eax
mov    %eax,-0xcf0(%rbp)
jmp    e821 <get_first_losing_move+0xd711>
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    e84d <get_first_losing_move+0xd73d>
xor    %eax,%eax
mov    %eax,-0xcf4(%rbp)
jmp    e85e <get_first_losing_move+0xd74e>
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    e882 <get_first_losing_move+0xd772>
xor    %eax,%eax
mov    %eax,-0xcf8(%rbp)
jmp    e893 <get_first_losing_move+0xd783>
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    e8bf <get_first_losing_move+0xd7af>
xor    %eax,%eax
mov    %eax,-0xcfc(%rbp)
jmp    e8d0 <get_first_losing_move+0xd7c0>
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    e8f4 <get_first_losing_move+0xd7e4>
xor    %eax,%eax
mov    %eax,-0xd00(%rbp)
jmp    e905 <get_first_losing_move+0xd7f5>
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    e931 <get_first_losing_move+0xd821>
xor    %eax,%eax
mov    %eax,-0xd04(%rbp)
jmp    e942 <get_first_losing_move+0xd832>
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    e966 <get_first_losing_move+0xd856>
xor    %eax,%eax
mov    %eax,-0xd08(%rbp)
jmp    e977 <get_first_losing_move+0xd867>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    e9c7 <get_first_losing_move+0xd8b7>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e9e9 <get_first_losing_move+0xd8d9>
xor    %eax,%eax
mov    %eax,-0xd0c(%rbp)
jmp    e9fa <get_first_losing_move+0xd8ea>
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    ea1e <get_first_losing_move+0xd90e>
xor    %eax,%eax
mov    %eax,-0xd10(%rbp)
jmp    ea2f <get_first_losing_move+0xd91f>
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    ea5b <get_first_losing_move+0xd94b>
xor    %eax,%eax
mov    %eax,-0xd14(%rbp)
jmp    ea6c <get_first_losing_move+0xd95c>
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    ea90 <get_first_losing_move+0xd980>
xor    %eax,%eax
mov    %eax,-0xd18(%rbp)
jmp    eaa1 <get_first_losing_move+0xd991>
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    eacd <get_first_losing_move+0xd9bd>
xor    %eax,%eax
mov    %eax,-0xd1c(%rbp)
jmp    eade <get_first_losing_move+0xd9ce>
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    eb02 <get_first_losing_move+0xd9f2>
xor    %eax,%eax
mov    %eax,-0xd20(%rbp)
jmp    eb13 <get_first_losing_move+0xda03>
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    eb3f <get_first_losing_move+0xda2f>
xor    %eax,%eax
mov    %eax,-0xd24(%rbp)
jmp    eb50 <get_first_losing_move+0xda40>
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    eb74 <get_first_losing_move+0xda64>
xor    %eax,%eax
mov    %eax,-0xd28(%rbp)
jmp    eb85 <get_first_losing_move+0xda75>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd28(%rbp)
mov    -0xd28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    eba4 <get_first_losing_move+0xda94>
jmp    164c4 <get_first_losing_move+0x153b4>
movswl -0x18(%rbp),%eax
cmp    $0x12,%eax
jne    f444 <get_first_losing_move+0xe334>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     f43f <get_first_losing_move+0xe32f>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     f43f <get_first_losing_move+0xe32f>
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     f43a <get_first_losing_move+0xe32a>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     f43a <get_first_losing_move+0xe32a>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     f43a <get_first_losing_move+0xe32a>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     f43a <get_first_losing_move+0xe32a>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     f43a <get_first_losing_move+0xe32a>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     f43a <get_first_losing_move+0xe32a>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    f054 <get_first_losing_move+0xdf44>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ec8b <get_first_losing_move+0xdb7b>
xor    %eax,%eax
mov    %eax,-0xd2c(%rbp)
jmp    ec9c <get_first_losing_move+0xdb8c>
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    ecc0 <get_first_losing_move+0xdbb0>
xor    %eax,%eax
mov    %eax,-0xd30(%rbp)
jmp    ecd1 <get_first_losing_move+0xdbc1>
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    ecfd <get_first_losing_move+0xdbed>
xor    %eax,%eax
mov    %eax,-0xd34(%rbp)
jmp    ed0e <get_first_losing_move+0xdbfe>
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    ed32 <get_first_losing_move+0xdc22>
xor    %eax,%eax
mov    %eax,-0xd38(%rbp)
jmp    ed43 <get_first_losing_move+0xdc33>
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    ed6f <get_first_losing_move+0xdc5f>
xor    %eax,%eax
mov    %eax,-0xd3c(%rbp)
jmp    ed80 <get_first_losing_move+0xdc70>
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    eda4 <get_first_losing_move+0xdc94>
xor    %eax,%eax
mov    %eax,-0xd40(%rbp)
jmp    edb5 <get_first_losing_move+0xdca5>
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    ede1 <get_first_losing_move+0xdcd1>
xor    %eax,%eax
mov    %eax,-0xd44(%rbp)
jmp    edf2 <get_first_losing_move+0xdce2>
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    ee16 <get_first_losing_move+0xdd06>
xor    %eax,%eax
mov    %eax,-0xd48(%rbp)
jmp    ee27 <get_first_losing_move+0xdd17>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    ee77 <get_first_losing_move+0xdd67>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ee99 <get_first_losing_move+0xdd89>
xor    %eax,%eax
mov    %eax,-0xd4c(%rbp)
jmp    eeaa <get_first_losing_move+0xdd9a>
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    eece <get_first_losing_move+0xddbe>
xor    %eax,%eax
mov    %eax,-0xd50(%rbp)
jmp    eedf <get_first_losing_move+0xddcf>
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    ef0b <get_first_losing_move+0xddfb>
xor    %eax,%eax
mov    %eax,-0xd54(%rbp)
jmp    ef1c <get_first_losing_move+0xde0c>
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    ef40 <get_first_losing_move+0xde30>
xor    %eax,%eax
mov    %eax,-0xd58(%rbp)
jmp    ef51 <get_first_losing_move+0xde41>
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    ef7d <get_first_losing_move+0xde6d>
xor    %eax,%eax
mov    %eax,-0xd5c(%rbp)
jmp    ef8e <get_first_losing_move+0xde7e>
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    efb2 <get_first_losing_move+0xdea2>
xor    %eax,%eax
mov    %eax,-0xd60(%rbp)
jmp    efc3 <get_first_losing_move+0xdeb3>
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    efef <get_first_losing_move+0xdedf>
xor    %eax,%eax
mov    %eax,-0xd64(%rbp)
jmp    f000 <get_first_losing_move+0xdef0>
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    f024 <get_first_losing_move+0xdf14>
xor    %eax,%eax
mov    %eax,-0xd68(%rbp)
jmp    f035 <get_first_losing_move+0xdf25>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd68(%rbp)
mov    -0xd68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    f432 <get_first_losing_move+0xe322>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f076 <get_first_losing_move+0xdf66>
xor    %eax,%eax
mov    %eax,-0xd6c(%rbp)
jmp    f087 <get_first_losing_move+0xdf77>
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    f0ab <get_first_losing_move+0xdf9b>
xor    %eax,%eax
mov    %eax,-0xd70(%rbp)
jmp    f0bc <get_first_losing_move+0xdfac>
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    f0e8 <get_first_losing_move+0xdfd8>
xor    %eax,%eax
mov    %eax,-0xd74(%rbp)
jmp    f0f9 <get_first_losing_move+0xdfe9>
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    f11d <get_first_losing_move+0xe00d>
xor    %eax,%eax
mov    %eax,-0xd78(%rbp)
jmp    f12e <get_first_losing_move+0xe01e>
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    f15a <get_first_losing_move+0xe04a>
xor    %eax,%eax
mov    %eax,-0xd7c(%rbp)
jmp    f16b <get_first_losing_move+0xe05b>
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    f18f <get_first_losing_move+0xe07f>
xor    %eax,%eax
mov    %eax,-0xd80(%rbp)
jmp    f1a0 <get_first_losing_move+0xe090>
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    f1cc <get_first_losing_move+0xe0bc>
xor    %eax,%eax
mov    %eax,-0xd84(%rbp)
jmp    f1dd <get_first_losing_move+0xe0cd>
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    f201 <get_first_losing_move+0xe0f1>
xor    %eax,%eax
mov    %eax,-0xd88(%rbp)
jmp    f212 <get_first_losing_move+0xe102>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    f262 <get_first_losing_move+0xe152>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f284 <get_first_losing_move+0xe174>
xor    %eax,%eax
mov    %eax,-0xd8c(%rbp)
jmp    f295 <get_first_losing_move+0xe185>
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    f2b9 <get_first_losing_move+0xe1a9>
xor    %eax,%eax
mov    %eax,-0xd90(%rbp)
jmp    f2ca <get_first_losing_move+0xe1ba>
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    f2f6 <get_first_losing_move+0xe1e6>
xor    %eax,%eax
mov    %eax,-0xd94(%rbp)
jmp    f307 <get_first_losing_move+0xe1f7>
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    f32b <get_first_losing_move+0xe21b>
xor    %eax,%eax
mov    %eax,-0xd98(%rbp)
jmp    f33c <get_first_losing_move+0xe22c>
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    f368 <get_first_losing_move+0xe258>
xor    %eax,%eax
mov    %eax,-0xd9c(%rbp)
jmp    f379 <get_first_losing_move+0xe269>
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    f39d <get_first_losing_move+0xe28d>
xor    %eax,%eax
mov    %eax,-0xda0(%rbp)
jmp    f3ae <get_first_losing_move+0xe29e>
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    f3da <get_first_losing_move+0xe2ca>
xor    %eax,%eax
mov    %eax,-0xda4(%rbp)
jmp    f3eb <get_first_losing_move+0xe2db>
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    f40f <get_first_losing_move+0xe2ff>
xor    %eax,%eax
mov    %eax,-0xda8(%rbp)
jmp    f420 <get_first_losing_move+0xe310>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xda8(%rbp)
mov    -0xda8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    f43f <get_first_losing_move+0xe32f>
jmp    164bf <get_first_losing_move+0x153af>
movswl -0x18(%rbp),%eax
cmp    $0x13,%eax
jne    fcf0 <get_first_losing_move+0xebe0>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     fceb <get_first_losing_move+0xebdb>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    fceb <get_first_losing_move+0xebdb>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     fceb <get_first_losing_move+0xebdb>
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     fce6 <get_first_losing_move+0xebd6>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     fce6 <get_first_losing_move+0xebd6>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     fce6 <get_first_losing_move+0xebd6>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     fce6 <get_first_losing_move+0xebd6>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     fce6 <get_first_losing_move+0xebd6>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     fce6 <get_first_losing_move+0xebd6>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    f900 <get_first_losing_move+0xe7f0>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f537 <get_first_losing_move+0xe427>
xor    %eax,%eax
mov    %eax,-0xdac(%rbp)
jmp    f548 <get_first_losing_move+0xe438>
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    f56c <get_first_losing_move+0xe45c>
xor    %eax,%eax
mov    %eax,-0xdb0(%rbp)
jmp    f57d <get_first_losing_move+0xe46d>
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    f5a9 <get_first_losing_move+0xe499>
xor    %eax,%eax
mov    %eax,-0xdb4(%rbp)
jmp    f5ba <get_first_losing_move+0xe4aa>
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    f5de <get_first_losing_move+0xe4ce>
xor    %eax,%eax
mov    %eax,-0xdb8(%rbp)
jmp    f5ef <get_first_losing_move+0xe4df>
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    f61b <get_first_losing_move+0xe50b>
xor    %eax,%eax
mov    %eax,-0xdbc(%rbp)
jmp    f62c <get_first_losing_move+0xe51c>
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    f650 <get_first_losing_move+0xe540>
xor    %eax,%eax
mov    %eax,-0xdc0(%rbp)
jmp    f661 <get_first_losing_move+0xe551>
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    f68d <get_first_losing_move+0xe57d>
xor    %eax,%eax
mov    %eax,-0xdc4(%rbp)
jmp    f69e <get_first_losing_move+0xe58e>
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    f6c2 <get_first_losing_move+0xe5b2>
xor    %eax,%eax
mov    %eax,-0xdc8(%rbp)
jmp    f6d3 <get_first_losing_move+0xe5c3>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    f723 <get_first_losing_move+0xe613>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f745 <get_first_losing_move+0xe635>
xor    %eax,%eax
mov    %eax,-0xdcc(%rbp)
jmp    f756 <get_first_losing_move+0xe646>
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    f77a <get_first_losing_move+0xe66a>
xor    %eax,%eax
mov    %eax,-0xdd0(%rbp)
jmp    f78b <get_first_losing_move+0xe67b>
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    f7b7 <get_first_losing_move+0xe6a7>
xor    %eax,%eax
mov    %eax,-0xdd4(%rbp)
jmp    f7c8 <get_first_losing_move+0xe6b8>
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    f7ec <get_first_losing_move+0xe6dc>
xor    %eax,%eax
mov    %eax,-0xdd8(%rbp)
jmp    f7fd <get_first_losing_move+0xe6ed>
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    f829 <get_first_losing_move+0xe719>
xor    %eax,%eax
mov    %eax,-0xddc(%rbp)
jmp    f83a <get_first_losing_move+0xe72a>
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    f85e <get_first_losing_move+0xe74e>
xor    %eax,%eax
mov    %eax,-0xde0(%rbp)
jmp    f86f <get_first_losing_move+0xe75f>
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    f89b <get_first_losing_move+0xe78b>
xor    %eax,%eax
mov    %eax,-0xde4(%rbp)
jmp    f8ac <get_first_losing_move+0xe79c>
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    f8d0 <get_first_losing_move+0xe7c0>
xor    %eax,%eax
mov    %eax,-0xde8(%rbp)
jmp    f8e1 <get_first_losing_move+0xe7d1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xde8(%rbp)
mov    -0xde8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    fcde <get_first_losing_move+0xebce>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f922 <get_first_losing_move+0xe812>
xor    %eax,%eax
mov    %eax,-0xdec(%rbp)
jmp    f933 <get_first_losing_move+0xe823>
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    f957 <get_first_losing_move+0xe847>
xor    %eax,%eax
mov    %eax,-0xdf0(%rbp)
jmp    f968 <get_first_losing_move+0xe858>
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    f994 <get_first_losing_move+0xe884>
xor    %eax,%eax
mov    %eax,-0xdf4(%rbp)
jmp    f9a5 <get_first_losing_move+0xe895>
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    f9c9 <get_first_losing_move+0xe8b9>
xor    %eax,%eax
mov    %eax,-0xdf8(%rbp)
jmp    f9da <get_first_losing_move+0xe8ca>
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    fa06 <get_first_losing_move+0xe8f6>
xor    %eax,%eax
mov    %eax,-0xdfc(%rbp)
jmp    fa17 <get_first_losing_move+0xe907>
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    fa3b <get_first_losing_move+0xe92b>
xor    %eax,%eax
mov    %eax,-0xe00(%rbp)
jmp    fa4c <get_first_losing_move+0xe93c>
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    fa78 <get_first_losing_move+0xe968>
xor    %eax,%eax
mov    %eax,-0xe04(%rbp)
jmp    fa89 <get_first_losing_move+0xe979>
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    faad <get_first_losing_move+0xe99d>
xor    %eax,%eax
mov    %eax,-0xe08(%rbp)
jmp    fabe <get_first_losing_move+0xe9ae>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    fb0e <get_first_losing_move+0xe9fe>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fb30 <get_first_losing_move+0xea20>
xor    %eax,%eax
mov    %eax,-0xe0c(%rbp)
jmp    fb41 <get_first_losing_move+0xea31>
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    fb65 <get_first_losing_move+0xea55>
xor    %eax,%eax
mov    %eax,-0xe10(%rbp)
jmp    fb76 <get_first_losing_move+0xea66>
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    fba2 <get_first_losing_move+0xea92>
xor    %eax,%eax
mov    %eax,-0xe14(%rbp)
jmp    fbb3 <get_first_losing_move+0xeaa3>
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    fbd7 <get_first_losing_move+0xeac7>
xor    %eax,%eax
mov    %eax,-0xe18(%rbp)
jmp    fbe8 <get_first_losing_move+0xead8>
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    fc14 <get_first_losing_move+0xeb04>
xor    %eax,%eax
mov    %eax,-0xe1c(%rbp)
jmp    fc25 <get_first_losing_move+0xeb15>
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    fc49 <get_first_losing_move+0xeb39>
xor    %eax,%eax
mov    %eax,-0xe20(%rbp)
jmp    fc5a <get_first_losing_move+0xeb4a>
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    fc86 <get_first_losing_move+0xeb76>
xor    %eax,%eax
mov    %eax,-0xe24(%rbp)
jmp    fc97 <get_first_losing_move+0xeb87>
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    fcbb <get_first_losing_move+0xebab>
xor    %eax,%eax
mov    %eax,-0xe28(%rbp)
jmp    fccc <get_first_losing_move+0xebbc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe28(%rbp)
mov    -0xe28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    fceb <get_first_losing_move+0xebdb>
jmp    164ba <get_first_losing_move+0x153aa>
movswl -0x18(%rbp),%eax
cmp    $0x14,%eax
jne    10587 <get_first_losing_move+0xf477>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     10582 <get_first_losing_move+0xf472>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    10582 <get_first_losing_move+0xf472>
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     1057d <get_first_losing_move+0xf46d>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1057d <get_first_losing_move+0xf46d>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     1057d <get_first_losing_move+0xf46d>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1057d <get_first_losing_move+0xf46d>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     1057d <get_first_losing_move+0xf46d>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     1057d <get_first_losing_move+0xf46d>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    10197 <get_first_losing_move+0xf087>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fdce <get_first_losing_move+0xecbe>
xor    %eax,%eax
mov    %eax,-0xe2c(%rbp)
jmp    fddf <get_first_losing_move+0xeccf>
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    fe03 <get_first_losing_move+0xecf3>
xor    %eax,%eax
mov    %eax,-0xe30(%rbp)
jmp    fe14 <get_first_losing_move+0xed04>
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    fe40 <get_first_losing_move+0xed30>
xor    %eax,%eax
mov    %eax,-0xe34(%rbp)
jmp    fe51 <get_first_losing_move+0xed41>
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    fe75 <get_first_losing_move+0xed65>
xor    %eax,%eax
mov    %eax,-0xe38(%rbp)
jmp    fe86 <get_first_losing_move+0xed76>
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    feb2 <get_first_losing_move+0xeda2>
xor    %eax,%eax
mov    %eax,-0xe3c(%rbp)
jmp    fec3 <get_first_losing_move+0xedb3>
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    fee7 <get_first_losing_move+0xedd7>
xor    %eax,%eax
mov    %eax,-0xe40(%rbp)
jmp    fef8 <get_first_losing_move+0xede8>
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    ff24 <get_first_losing_move+0xee14>
xor    %eax,%eax
mov    %eax,-0xe44(%rbp)
jmp    ff35 <get_first_losing_move+0xee25>
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    ff59 <get_first_losing_move+0xee49>
xor    %eax,%eax
mov    %eax,-0xe48(%rbp)
jmp    ff6a <get_first_losing_move+0xee5a>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    ffba <get_first_losing_move+0xeeaa>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ffdc <get_first_losing_move+0xeecc>
xor    %eax,%eax
mov    %eax,-0xe4c(%rbp)
jmp    ffed <get_first_losing_move+0xeedd>
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    10011 <get_first_losing_move+0xef01>
xor    %eax,%eax
mov    %eax,-0xe50(%rbp)
jmp    10022 <get_first_losing_move+0xef12>
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    1004e <get_first_losing_move+0xef3e>
xor    %eax,%eax
mov    %eax,-0xe54(%rbp)
jmp    1005f <get_first_losing_move+0xef4f>
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    10083 <get_first_losing_move+0xef73>
xor    %eax,%eax
mov    %eax,-0xe58(%rbp)
jmp    10094 <get_first_losing_move+0xef84>
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    100c0 <get_first_losing_move+0xefb0>
xor    %eax,%eax
mov    %eax,-0xe5c(%rbp)
jmp    100d1 <get_first_losing_move+0xefc1>
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    100f5 <get_first_losing_move+0xefe5>
xor    %eax,%eax
mov    %eax,-0xe60(%rbp)
jmp    10106 <get_first_losing_move+0xeff6>
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    10132 <get_first_losing_move+0xf022>
xor    %eax,%eax
mov    %eax,-0xe64(%rbp)
jmp    10143 <get_first_losing_move+0xf033>
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    10167 <get_first_losing_move+0xf057>
xor    %eax,%eax
mov    %eax,-0xe68(%rbp)
jmp    10178 <get_first_losing_move+0xf068>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe68(%rbp)
mov    -0xe68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    10575 <get_first_losing_move+0xf465>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    101b9 <get_first_losing_move+0xf0a9>
xor    %eax,%eax
mov    %eax,-0xe6c(%rbp)
jmp    101ca <get_first_losing_move+0xf0ba>
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    101ee <get_first_losing_move+0xf0de>
xor    %eax,%eax
mov    %eax,-0xe70(%rbp)
jmp    101ff <get_first_losing_move+0xf0ef>
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    1022b <get_first_losing_move+0xf11b>
xor    %eax,%eax
mov    %eax,-0xe74(%rbp)
jmp    1023c <get_first_losing_move+0xf12c>
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    10260 <get_first_losing_move+0xf150>
xor    %eax,%eax
mov    %eax,-0xe78(%rbp)
jmp    10271 <get_first_losing_move+0xf161>
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    1029d <get_first_losing_move+0xf18d>
xor    %eax,%eax
mov    %eax,-0xe7c(%rbp)
jmp    102ae <get_first_losing_move+0xf19e>
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    102d2 <get_first_losing_move+0xf1c2>
xor    %eax,%eax
mov    %eax,-0xe80(%rbp)
jmp    102e3 <get_first_losing_move+0xf1d3>
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    1030f <get_first_losing_move+0xf1ff>
xor    %eax,%eax
mov    %eax,-0xe84(%rbp)
jmp    10320 <get_first_losing_move+0xf210>
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    10344 <get_first_losing_move+0xf234>
xor    %eax,%eax
mov    %eax,-0xe88(%rbp)
jmp    10355 <get_first_losing_move+0xf245>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    103a5 <get_first_losing_move+0xf295>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    103c7 <get_first_losing_move+0xf2b7>
xor    %eax,%eax
mov    %eax,-0xe8c(%rbp)
jmp    103d8 <get_first_losing_move+0xf2c8>
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    103fc <get_first_losing_move+0xf2ec>
xor    %eax,%eax
mov    %eax,-0xe90(%rbp)
jmp    1040d <get_first_losing_move+0xf2fd>
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    10439 <get_first_losing_move+0xf329>
xor    %eax,%eax
mov    %eax,-0xe94(%rbp)
jmp    1044a <get_first_losing_move+0xf33a>
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    1046e <get_first_losing_move+0xf35e>
xor    %eax,%eax
mov    %eax,-0xe98(%rbp)
jmp    1047f <get_first_losing_move+0xf36f>
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    104ab <get_first_losing_move+0xf39b>
xor    %eax,%eax
mov    %eax,-0xe9c(%rbp)
jmp    104bc <get_first_losing_move+0xf3ac>
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    104e0 <get_first_losing_move+0xf3d0>
xor    %eax,%eax
mov    %eax,-0xea0(%rbp)
jmp    104f1 <get_first_losing_move+0xf3e1>
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    1051d <get_first_losing_move+0xf40d>
xor    %eax,%eax
mov    %eax,-0xea4(%rbp)
jmp    1052e <get_first_losing_move+0xf41e>
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    10552 <get_first_losing_move+0xf442>
xor    %eax,%eax
mov    %eax,-0xea8(%rbp)
jmp    10563 <get_first_losing_move+0xf453>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xea8(%rbp)
mov    -0xea8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    10582 <get_first_losing_move+0xf472>
jmp    164b5 <get_first_losing_move+0x153a5>
movswl -0x18(%rbp),%eax
cmp    $0x15,%eax
jne    10e33 <get_first_losing_move+0xfd23>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     10e2e <get_first_losing_move+0xfd1e>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    10e2e <get_first_losing_move+0xfd1e>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     10e2e <get_first_losing_move+0xfd1e>
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     10e29 <get_first_losing_move+0xfd19>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     10e29 <get_first_losing_move+0xfd19>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     10e29 <get_first_losing_move+0xfd19>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     10e29 <get_first_losing_move+0xfd19>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     10e29 <get_first_losing_move+0xfd19>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     10e29 <get_first_losing_move+0xfd19>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    10a43 <get_first_losing_move+0xf933>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1067a <get_first_losing_move+0xf56a>
xor    %eax,%eax
mov    %eax,-0xeac(%rbp)
jmp    1068b <get_first_losing_move+0xf57b>
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    106af <get_first_losing_move+0xf59f>
xor    %eax,%eax
mov    %eax,-0xeb0(%rbp)
jmp    106c0 <get_first_losing_move+0xf5b0>
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    106ec <get_first_losing_move+0xf5dc>
xor    %eax,%eax
mov    %eax,-0xeb4(%rbp)
jmp    106fd <get_first_losing_move+0xf5ed>
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    10721 <get_first_losing_move+0xf611>
xor    %eax,%eax
mov    %eax,-0xeb8(%rbp)
jmp    10732 <get_first_losing_move+0xf622>
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    1075e <get_first_losing_move+0xf64e>
xor    %eax,%eax
mov    %eax,-0xebc(%rbp)
jmp    1076f <get_first_losing_move+0xf65f>
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    10793 <get_first_losing_move+0xf683>
xor    %eax,%eax
mov    %eax,-0xec0(%rbp)
jmp    107a4 <get_first_losing_move+0xf694>
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    107d0 <get_first_losing_move+0xf6c0>
xor    %eax,%eax
mov    %eax,-0xec4(%rbp)
jmp    107e1 <get_first_losing_move+0xf6d1>
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    10805 <get_first_losing_move+0xf6f5>
xor    %eax,%eax
mov    %eax,-0xec8(%rbp)
jmp    10816 <get_first_losing_move+0xf706>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    10866 <get_first_losing_move+0xf756>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10888 <get_first_losing_move+0xf778>
xor    %eax,%eax
mov    %eax,-0xecc(%rbp)
jmp    10899 <get_first_losing_move+0xf789>
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    108bd <get_first_losing_move+0xf7ad>
xor    %eax,%eax
mov    %eax,-0xed0(%rbp)
jmp    108ce <get_first_losing_move+0xf7be>
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    108fa <get_first_losing_move+0xf7ea>
xor    %eax,%eax
mov    %eax,-0xed4(%rbp)
jmp    1090b <get_first_losing_move+0xf7fb>
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    1092f <get_first_losing_move+0xf81f>
xor    %eax,%eax
mov    %eax,-0xed8(%rbp)
jmp    10940 <get_first_losing_move+0xf830>
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    1096c <get_first_losing_move+0xf85c>
xor    %eax,%eax
mov    %eax,-0xedc(%rbp)
jmp    1097d <get_first_losing_move+0xf86d>
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    109a1 <get_first_losing_move+0xf891>
xor    %eax,%eax
mov    %eax,-0xee0(%rbp)
jmp    109b2 <get_first_losing_move+0xf8a2>
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    109de <get_first_losing_move+0xf8ce>
xor    %eax,%eax
mov    %eax,-0xee4(%rbp)
jmp    109ef <get_first_losing_move+0xf8df>
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    10a13 <get_first_losing_move+0xf903>
xor    %eax,%eax
mov    %eax,-0xee8(%rbp)
jmp    10a24 <get_first_losing_move+0xf914>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xee8(%rbp)
mov    -0xee8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    10e21 <get_first_losing_move+0xfd11>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10a65 <get_first_losing_move+0xf955>
xor    %eax,%eax
mov    %eax,-0xeec(%rbp)
jmp    10a76 <get_first_losing_move+0xf966>
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    10a9a <get_first_losing_move+0xf98a>
xor    %eax,%eax
mov    %eax,-0xef0(%rbp)
jmp    10aab <get_first_losing_move+0xf99b>
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    10ad7 <get_first_losing_move+0xf9c7>
xor    %eax,%eax
mov    %eax,-0xef4(%rbp)
jmp    10ae8 <get_first_losing_move+0xf9d8>
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    10b0c <get_first_losing_move+0xf9fc>
xor    %eax,%eax
mov    %eax,-0xef8(%rbp)
jmp    10b1d <get_first_losing_move+0xfa0d>
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    10b49 <get_first_losing_move+0xfa39>
xor    %eax,%eax
mov    %eax,-0xefc(%rbp)
jmp    10b5a <get_first_losing_move+0xfa4a>
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    10b7e <get_first_losing_move+0xfa6e>
xor    %eax,%eax
mov    %eax,-0xf00(%rbp)
jmp    10b8f <get_first_losing_move+0xfa7f>
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    10bbb <get_first_losing_move+0xfaab>
xor    %eax,%eax
mov    %eax,-0xf04(%rbp)
jmp    10bcc <get_first_losing_move+0xfabc>
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    10bf0 <get_first_losing_move+0xfae0>
xor    %eax,%eax
mov    %eax,-0xf08(%rbp)
jmp    10c01 <get_first_losing_move+0xfaf1>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    10c51 <get_first_losing_move+0xfb41>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10c73 <get_first_losing_move+0xfb63>
xor    %eax,%eax
mov    %eax,-0xf0c(%rbp)
jmp    10c84 <get_first_losing_move+0xfb74>
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    10ca8 <get_first_losing_move+0xfb98>
xor    %eax,%eax
mov    %eax,-0xf10(%rbp)
jmp    10cb9 <get_first_losing_move+0xfba9>
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    10ce5 <get_first_losing_move+0xfbd5>
xor    %eax,%eax
mov    %eax,-0xf14(%rbp)
jmp    10cf6 <get_first_losing_move+0xfbe6>
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    10d1a <get_first_losing_move+0xfc0a>
xor    %eax,%eax
mov    %eax,-0xf18(%rbp)
jmp    10d2b <get_first_losing_move+0xfc1b>
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    10d57 <get_first_losing_move+0xfc47>
xor    %eax,%eax
mov    %eax,-0xf1c(%rbp)
jmp    10d68 <get_first_losing_move+0xfc58>
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    10d8c <get_first_losing_move+0xfc7c>
xor    %eax,%eax
mov    %eax,-0xf20(%rbp)
jmp    10d9d <get_first_losing_move+0xfc8d>
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    10dc9 <get_first_losing_move+0xfcb9>
xor    %eax,%eax
mov    %eax,-0xf24(%rbp)
jmp    10dda <get_first_losing_move+0xfcca>
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    10dfe <get_first_losing_move+0xfcee>
xor    %eax,%eax
mov    %eax,-0xf28(%rbp)
jmp    10e0f <get_first_losing_move+0xfcff>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf28(%rbp)
mov    -0xf28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    10e2e <get_first_losing_move+0xfd1e>
jmp    164b0 <get_first_losing_move+0x153a0>
movswl -0x18(%rbp),%eax
cmp    $0x16,%eax
jne    116ce <get_first_losing_move+0x105be>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     116c9 <get_first_losing_move+0x105b9>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     116c9 <get_first_losing_move+0x105b9>
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     116c4 <get_first_losing_move+0x105b4>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     116c4 <get_first_losing_move+0x105b4>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     116c4 <get_first_losing_move+0x105b4>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     116c4 <get_first_losing_move+0x105b4>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     116c4 <get_first_losing_move+0x105b4>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     116c4 <get_first_losing_move+0x105b4>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    112de <get_first_losing_move+0x101ce>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10f15 <get_first_losing_move+0xfe05>
xor    %eax,%eax
mov    %eax,-0xf2c(%rbp)
jmp    10f26 <get_first_losing_move+0xfe16>
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    10f4a <get_first_losing_move+0xfe3a>
xor    %eax,%eax
mov    %eax,-0xf30(%rbp)
jmp    10f5b <get_first_losing_move+0xfe4b>
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    10f87 <get_first_losing_move+0xfe77>
xor    %eax,%eax
mov    %eax,-0xf34(%rbp)
jmp    10f98 <get_first_losing_move+0xfe88>
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    10fbc <get_first_losing_move+0xfeac>
xor    %eax,%eax
mov    %eax,-0xf38(%rbp)
jmp    10fcd <get_first_losing_move+0xfebd>
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    10ff9 <get_first_losing_move+0xfee9>
xor    %eax,%eax
mov    %eax,-0xf3c(%rbp)
jmp    1100a <get_first_losing_move+0xfefa>
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    1102e <get_first_losing_move+0xff1e>
xor    %eax,%eax
mov    %eax,-0xf40(%rbp)
jmp    1103f <get_first_losing_move+0xff2f>
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    1106b <get_first_losing_move+0xff5b>
xor    %eax,%eax
mov    %eax,-0xf44(%rbp)
jmp    1107c <get_first_losing_move+0xff6c>
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    110a0 <get_first_losing_move+0xff90>
xor    %eax,%eax
mov    %eax,-0xf48(%rbp)
jmp    110b1 <get_first_losing_move+0xffa1>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    11101 <get_first_losing_move+0xfff1>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11123 <get_first_losing_move+0x10013>
xor    %eax,%eax
mov    %eax,-0xf4c(%rbp)
jmp    11134 <get_first_losing_move+0x10024>
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    11158 <get_first_losing_move+0x10048>
xor    %eax,%eax
mov    %eax,-0xf50(%rbp)
jmp    11169 <get_first_losing_move+0x10059>
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    11195 <get_first_losing_move+0x10085>
xor    %eax,%eax
mov    %eax,-0xf54(%rbp)
jmp    111a6 <get_first_losing_move+0x10096>
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    111ca <get_first_losing_move+0x100ba>
xor    %eax,%eax
mov    %eax,-0xf58(%rbp)
jmp    111db <get_first_losing_move+0x100cb>
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    11207 <get_first_losing_move+0x100f7>
xor    %eax,%eax
mov    %eax,-0xf5c(%rbp)
jmp    11218 <get_first_losing_move+0x10108>
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    1123c <get_first_losing_move+0x1012c>
xor    %eax,%eax
mov    %eax,-0xf60(%rbp)
jmp    1124d <get_first_losing_move+0x1013d>
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    11279 <get_first_losing_move+0x10169>
xor    %eax,%eax
mov    %eax,-0xf64(%rbp)
jmp    1128a <get_first_losing_move+0x1017a>
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    112ae <get_first_losing_move+0x1019e>
xor    %eax,%eax
mov    %eax,-0xf68(%rbp)
jmp    112bf <get_first_losing_move+0x101af>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf68(%rbp)
mov    -0xf68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    116bc <get_first_losing_move+0x105ac>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11300 <get_first_losing_move+0x101f0>
xor    %eax,%eax
mov    %eax,-0xf6c(%rbp)
jmp    11311 <get_first_losing_move+0x10201>
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    11335 <get_first_losing_move+0x10225>
xor    %eax,%eax
mov    %eax,-0xf70(%rbp)
jmp    11346 <get_first_losing_move+0x10236>
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    11372 <get_first_losing_move+0x10262>
xor    %eax,%eax
mov    %eax,-0xf74(%rbp)
jmp    11383 <get_first_losing_move+0x10273>
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    113a7 <get_first_losing_move+0x10297>
xor    %eax,%eax
mov    %eax,-0xf78(%rbp)
jmp    113b8 <get_first_losing_move+0x102a8>
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    113e4 <get_first_losing_move+0x102d4>
xor    %eax,%eax
mov    %eax,-0xf7c(%rbp)
jmp    113f5 <get_first_losing_move+0x102e5>
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    11419 <get_first_losing_move+0x10309>
xor    %eax,%eax
mov    %eax,-0xf80(%rbp)
jmp    1142a <get_first_losing_move+0x1031a>
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    11456 <get_first_losing_move+0x10346>
xor    %eax,%eax
mov    %eax,-0xf84(%rbp)
jmp    11467 <get_first_losing_move+0x10357>
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    1148b <get_first_losing_move+0x1037b>
xor    %eax,%eax
mov    %eax,-0xf88(%rbp)
jmp    1149c <get_first_losing_move+0x1038c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    114ec <get_first_losing_move+0x103dc>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1150e <get_first_losing_move+0x103fe>
xor    %eax,%eax
mov    %eax,-0xf8c(%rbp)
jmp    1151f <get_first_losing_move+0x1040f>
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    11543 <get_first_losing_move+0x10433>
xor    %eax,%eax
mov    %eax,-0xf90(%rbp)
jmp    11554 <get_first_losing_move+0x10444>
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    11580 <get_first_losing_move+0x10470>
xor    %eax,%eax
mov    %eax,-0xf94(%rbp)
jmp    11591 <get_first_losing_move+0x10481>
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    115b5 <get_first_losing_move+0x104a5>
xor    %eax,%eax
mov    %eax,-0xf98(%rbp)
jmp    115c6 <get_first_losing_move+0x104b6>
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    115f2 <get_first_losing_move+0x104e2>
xor    %eax,%eax
mov    %eax,-0xf9c(%rbp)
jmp    11603 <get_first_losing_move+0x104f3>
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    11627 <get_first_losing_move+0x10517>
xor    %eax,%eax
mov    %eax,-0xfa0(%rbp)
jmp    11638 <get_first_losing_move+0x10528>
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    11664 <get_first_losing_move+0x10554>
xor    %eax,%eax
mov    %eax,-0xfa4(%rbp)
jmp    11675 <get_first_losing_move+0x10565>
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    11699 <get_first_losing_move+0x10589>
xor    %eax,%eax
mov    %eax,-0xfa8(%rbp)
jmp    116aa <get_first_losing_move+0x1059a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfa8(%rbp)
mov    -0xfa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    116c9 <get_first_losing_move+0x105b9>
jmp    164ab <get_first_losing_move+0x1539b>
movswl -0x18(%rbp),%eax
cmp    $0x17,%eax
jne    11f76 <get_first_losing_move+0x10e66>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     11f71 <get_first_losing_move+0x10e61>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    11f71 <get_first_losing_move+0x10e61>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     11f71 <get_first_losing_move+0x10e61>
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     11f6c <get_first_losing_move+0x10e5c>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     11f6c <get_first_losing_move+0x10e5c>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     11f6c <get_first_losing_move+0x10e5c>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     11f6c <get_first_losing_move+0x10e5c>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     11f6c <get_first_losing_move+0x10e5c>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     11f6c <get_first_losing_move+0x10e5c>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    11b86 <get_first_losing_move+0x10a76>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    117bd <get_first_losing_move+0x106ad>
xor    %eax,%eax
mov    %eax,-0xfac(%rbp)
jmp    117ce <get_first_losing_move+0x106be>
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    117f2 <get_first_losing_move+0x106e2>
xor    %eax,%eax
mov    %eax,-0xfb0(%rbp)
jmp    11803 <get_first_losing_move+0x106f3>
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    1182f <get_first_losing_move+0x1071f>
xor    %eax,%eax
mov    %eax,-0xfb4(%rbp)
jmp    11840 <get_first_losing_move+0x10730>
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    11864 <get_first_losing_move+0x10754>
xor    %eax,%eax
mov    %eax,-0xfb8(%rbp)
jmp    11875 <get_first_losing_move+0x10765>
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    118a1 <get_first_losing_move+0x10791>
xor    %eax,%eax
mov    %eax,-0xfbc(%rbp)
jmp    118b2 <get_first_losing_move+0x107a2>
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    118d6 <get_first_losing_move+0x107c6>
xor    %eax,%eax
mov    %eax,-0xfc0(%rbp)
jmp    118e7 <get_first_losing_move+0x107d7>
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    11913 <get_first_losing_move+0x10803>
xor    %eax,%eax
mov    %eax,-0xfc4(%rbp)
jmp    11924 <get_first_losing_move+0x10814>
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    11948 <get_first_losing_move+0x10838>
xor    %eax,%eax
mov    %eax,-0xfc8(%rbp)
jmp    11959 <get_first_losing_move+0x10849>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    119a9 <get_first_losing_move+0x10899>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    119cb <get_first_losing_move+0x108bb>
xor    %eax,%eax
mov    %eax,-0xfcc(%rbp)
jmp    119dc <get_first_losing_move+0x108cc>
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    11a00 <get_first_losing_move+0x108f0>
xor    %eax,%eax
mov    %eax,-0xfd0(%rbp)
jmp    11a11 <get_first_losing_move+0x10901>
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    11a3d <get_first_losing_move+0x1092d>
xor    %eax,%eax
mov    %eax,-0xfd4(%rbp)
jmp    11a4e <get_first_losing_move+0x1093e>
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    11a72 <get_first_losing_move+0x10962>
xor    %eax,%eax
mov    %eax,-0xfd8(%rbp)
jmp    11a83 <get_first_losing_move+0x10973>
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    11aaf <get_first_losing_move+0x1099f>
xor    %eax,%eax
mov    %eax,-0xfdc(%rbp)
jmp    11ac0 <get_first_losing_move+0x109b0>
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    11ae4 <get_first_losing_move+0x109d4>
xor    %eax,%eax
mov    %eax,-0xfe0(%rbp)
jmp    11af5 <get_first_losing_move+0x109e5>
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    11b21 <get_first_losing_move+0x10a11>
xor    %eax,%eax
mov    %eax,-0xfe4(%rbp)
jmp    11b32 <get_first_losing_move+0x10a22>
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    11b56 <get_first_losing_move+0x10a46>
xor    %eax,%eax
mov    %eax,-0xfe8(%rbp)
jmp    11b67 <get_first_losing_move+0x10a57>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfe8(%rbp)
mov    -0xfe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    11f64 <get_first_losing_move+0x10e54>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11ba8 <get_first_losing_move+0x10a98>
xor    %eax,%eax
mov    %eax,-0xfec(%rbp)
jmp    11bb9 <get_first_losing_move+0x10aa9>
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    11bdd <get_first_losing_move+0x10acd>
xor    %eax,%eax
mov    %eax,-0xff0(%rbp)
jmp    11bee <get_first_losing_move+0x10ade>
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    11c1a <get_first_losing_move+0x10b0a>
xor    %eax,%eax
mov    %eax,-0xff4(%rbp)
jmp    11c2b <get_first_losing_move+0x10b1b>
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    11c4f <get_first_losing_move+0x10b3f>
xor    %eax,%eax
mov    %eax,-0xff8(%rbp)
jmp    11c60 <get_first_losing_move+0x10b50>
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    11c8c <get_first_losing_move+0x10b7c>
xor    %eax,%eax
mov    %eax,-0xffc(%rbp)
jmp    11c9d <get_first_losing_move+0x10b8d>
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    11cc1 <get_first_losing_move+0x10bb1>
xor    %eax,%eax
mov    %eax,-0x1000(%rbp)
jmp    11cd2 <get_first_losing_move+0x10bc2>
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    11cfe <get_first_losing_move+0x10bee>
xor    %eax,%eax
mov    %eax,-0x1004(%rbp)
jmp    11d0f <get_first_losing_move+0x10bff>
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    11d33 <get_first_losing_move+0x10c23>
xor    %eax,%eax
mov    %eax,-0x1008(%rbp)
jmp    11d44 <get_first_losing_move+0x10c34>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    11d94 <get_first_losing_move+0x10c84>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11db6 <get_first_losing_move+0x10ca6>
xor    %eax,%eax
mov    %eax,-0x100c(%rbp)
jmp    11dc7 <get_first_losing_move+0x10cb7>
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    11deb <get_first_losing_move+0x10cdb>
xor    %eax,%eax
mov    %eax,-0x1010(%rbp)
jmp    11dfc <get_first_losing_move+0x10cec>
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    11e28 <get_first_losing_move+0x10d18>
xor    %eax,%eax
mov    %eax,-0x1014(%rbp)
jmp    11e39 <get_first_losing_move+0x10d29>
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    11e5d <get_first_losing_move+0x10d4d>
xor    %eax,%eax
mov    %eax,-0x1018(%rbp)
jmp    11e6e <get_first_losing_move+0x10d5e>
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    11e9a <get_first_losing_move+0x10d8a>
xor    %eax,%eax
mov    %eax,-0x101c(%rbp)
jmp    11eab <get_first_losing_move+0x10d9b>
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    11ecf <get_first_losing_move+0x10dbf>
xor    %eax,%eax
mov    %eax,-0x1020(%rbp)
jmp    11ee0 <get_first_losing_move+0x10dd0>
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    11f0c <get_first_losing_move+0x10dfc>
xor    %eax,%eax
mov    %eax,-0x1024(%rbp)
jmp    11f1d <get_first_losing_move+0x10e0d>
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    11f41 <get_first_losing_move+0x10e31>
xor    %eax,%eax
mov    %eax,-0x1028(%rbp)
jmp    11f52 <get_first_losing_move+0x10e42>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1028(%rbp)
mov    -0x1028(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    11f71 <get_first_losing_move+0x10e61>
jmp    164a6 <get_first_losing_move+0x15396>
movswl -0x18(%rbp),%eax
cmp    $0x18,%eax
jne    12809 <get_first_losing_move+0x116f9>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     12804 <get_first_losing_move+0x116f4>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    12804 <get_first_losing_move+0x116f4>
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     127ff <get_first_losing_move+0x116ef>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     127ff <get_first_losing_move+0x116ef>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     127ff <get_first_losing_move+0x116ef>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     127ff <get_first_losing_move+0x116ef>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     127ff <get_first_losing_move+0x116ef>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     127ff <get_first_losing_move+0x116ef>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    12419 <get_first_losing_move+0x11309>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12050 <get_first_losing_move+0x10f40>
xor    %eax,%eax
mov    %eax,-0x102c(%rbp)
jmp    12061 <get_first_losing_move+0x10f51>
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    12085 <get_first_losing_move+0x10f75>
xor    %eax,%eax
mov    %eax,-0x1030(%rbp)
jmp    12096 <get_first_losing_move+0x10f86>
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    120c2 <get_first_losing_move+0x10fb2>
xor    %eax,%eax
mov    %eax,-0x1034(%rbp)
jmp    120d3 <get_first_losing_move+0x10fc3>
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    120f7 <get_first_losing_move+0x10fe7>
xor    %eax,%eax
mov    %eax,-0x1038(%rbp)
jmp    12108 <get_first_losing_move+0x10ff8>
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    12134 <get_first_losing_move+0x11024>
xor    %eax,%eax
mov    %eax,-0x103c(%rbp)
jmp    12145 <get_first_losing_move+0x11035>
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    12169 <get_first_losing_move+0x11059>
xor    %eax,%eax
mov    %eax,-0x1040(%rbp)
jmp    1217a <get_first_losing_move+0x1106a>
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    121a6 <get_first_losing_move+0x11096>
xor    %eax,%eax
mov    %eax,-0x1044(%rbp)
jmp    121b7 <get_first_losing_move+0x110a7>
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    121db <get_first_losing_move+0x110cb>
xor    %eax,%eax
mov    %eax,-0x1048(%rbp)
jmp    121ec <get_first_losing_move+0x110dc>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1223c <get_first_losing_move+0x1112c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1225e <get_first_losing_move+0x1114e>
xor    %eax,%eax
mov    %eax,-0x104c(%rbp)
jmp    1226f <get_first_losing_move+0x1115f>
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    12293 <get_first_losing_move+0x11183>
xor    %eax,%eax
mov    %eax,-0x1050(%rbp)
jmp    122a4 <get_first_losing_move+0x11194>
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    122d0 <get_first_losing_move+0x111c0>
xor    %eax,%eax
mov    %eax,-0x1054(%rbp)
jmp    122e1 <get_first_losing_move+0x111d1>
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    12305 <get_first_losing_move+0x111f5>
xor    %eax,%eax
mov    %eax,-0x1058(%rbp)
jmp    12316 <get_first_losing_move+0x11206>
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    12342 <get_first_losing_move+0x11232>
xor    %eax,%eax
mov    %eax,-0x105c(%rbp)
jmp    12353 <get_first_losing_move+0x11243>
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    12377 <get_first_losing_move+0x11267>
xor    %eax,%eax
mov    %eax,-0x1060(%rbp)
jmp    12388 <get_first_losing_move+0x11278>
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    123b4 <get_first_losing_move+0x112a4>
xor    %eax,%eax
mov    %eax,-0x1064(%rbp)
jmp    123c5 <get_first_losing_move+0x112b5>
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    123e9 <get_first_losing_move+0x112d9>
xor    %eax,%eax
mov    %eax,-0x1068(%rbp)
jmp    123fa <get_first_losing_move+0x112ea>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1068(%rbp)
mov    -0x1068(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    127f7 <get_first_losing_move+0x116e7>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1243b <get_first_losing_move+0x1132b>
xor    %eax,%eax
mov    %eax,-0x106c(%rbp)
jmp    1244c <get_first_losing_move+0x1133c>
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    12470 <get_first_losing_move+0x11360>
xor    %eax,%eax
mov    %eax,-0x1070(%rbp)
jmp    12481 <get_first_losing_move+0x11371>
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    124ad <get_first_losing_move+0x1139d>
xor    %eax,%eax
mov    %eax,-0x1074(%rbp)
jmp    124be <get_first_losing_move+0x113ae>
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    124e2 <get_first_losing_move+0x113d2>
xor    %eax,%eax
mov    %eax,-0x1078(%rbp)
jmp    124f3 <get_first_losing_move+0x113e3>
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    1251f <get_first_losing_move+0x1140f>
xor    %eax,%eax
mov    %eax,-0x107c(%rbp)
jmp    12530 <get_first_losing_move+0x11420>
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    12554 <get_first_losing_move+0x11444>
xor    %eax,%eax
mov    %eax,-0x1080(%rbp)
jmp    12565 <get_first_losing_move+0x11455>
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    12591 <get_first_losing_move+0x11481>
xor    %eax,%eax
mov    %eax,-0x1084(%rbp)
jmp    125a2 <get_first_losing_move+0x11492>
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    125c6 <get_first_losing_move+0x114b6>
xor    %eax,%eax
mov    %eax,-0x1088(%rbp)
jmp    125d7 <get_first_losing_move+0x114c7>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    12627 <get_first_losing_move+0x11517>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12649 <get_first_losing_move+0x11539>
xor    %eax,%eax
mov    %eax,-0x108c(%rbp)
jmp    1265a <get_first_losing_move+0x1154a>
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    1267e <get_first_losing_move+0x1156e>
xor    %eax,%eax
mov    %eax,-0x1090(%rbp)
jmp    1268f <get_first_losing_move+0x1157f>
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    126bb <get_first_losing_move+0x115ab>
xor    %eax,%eax
mov    %eax,-0x1094(%rbp)
jmp    126cc <get_first_losing_move+0x115bc>
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    126f0 <get_first_losing_move+0x115e0>
xor    %eax,%eax
mov    %eax,-0x1098(%rbp)
jmp    12701 <get_first_losing_move+0x115f1>
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    1272d <get_first_losing_move+0x1161d>
xor    %eax,%eax
mov    %eax,-0x109c(%rbp)
jmp    1273e <get_first_losing_move+0x1162e>
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    12762 <get_first_losing_move+0x11652>
xor    %eax,%eax
mov    %eax,-0x10a0(%rbp)
jmp    12773 <get_first_losing_move+0x11663>
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    1279f <get_first_losing_move+0x1168f>
xor    %eax,%eax
mov    %eax,-0x10a4(%rbp)
jmp    127b0 <get_first_losing_move+0x116a0>
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    127d4 <get_first_losing_move+0x116c4>
xor    %eax,%eax
mov    %eax,-0x10a8(%rbp)
jmp    127e5 <get_first_losing_move+0x116d5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10a8(%rbp)
mov    -0x10a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    12804 <get_first_losing_move+0x116f4>
jmp    164a1 <get_first_losing_move+0x15391>
movswl -0x18(%rbp),%eax
cmp    $0x19,%eax
jne    130b1 <get_first_losing_move+0x11fa1>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     130ac <get_first_losing_move+0x11f9c>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    130ac <get_first_losing_move+0x11f9c>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     130ac <get_first_losing_move+0x11f9c>
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     130a7 <get_first_losing_move+0x11f97>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     130a7 <get_first_losing_move+0x11f97>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     130a7 <get_first_losing_move+0x11f97>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     130a7 <get_first_losing_move+0x11f97>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     130a7 <get_first_losing_move+0x11f97>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     130a7 <get_first_losing_move+0x11f97>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    12cc1 <get_first_losing_move+0x11bb1>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    128f8 <get_first_losing_move+0x117e8>
xor    %eax,%eax
mov    %eax,-0x10ac(%rbp)
jmp    12909 <get_first_losing_move+0x117f9>
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    1292d <get_first_losing_move+0x1181d>
xor    %eax,%eax
mov    %eax,-0x10b0(%rbp)
jmp    1293e <get_first_losing_move+0x1182e>
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    1296a <get_first_losing_move+0x1185a>
xor    %eax,%eax
mov    %eax,-0x10b4(%rbp)
jmp    1297b <get_first_losing_move+0x1186b>
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    1299f <get_first_losing_move+0x1188f>
xor    %eax,%eax
mov    %eax,-0x10b8(%rbp)
jmp    129b0 <get_first_losing_move+0x118a0>
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    129dc <get_first_losing_move+0x118cc>
xor    %eax,%eax
mov    %eax,-0x10bc(%rbp)
jmp    129ed <get_first_losing_move+0x118dd>
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    12a11 <get_first_losing_move+0x11901>
xor    %eax,%eax
mov    %eax,-0x10c0(%rbp)
jmp    12a22 <get_first_losing_move+0x11912>
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    12a4e <get_first_losing_move+0x1193e>
xor    %eax,%eax
mov    %eax,-0x10c4(%rbp)
jmp    12a5f <get_first_losing_move+0x1194f>
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    12a83 <get_first_losing_move+0x11973>
xor    %eax,%eax
mov    %eax,-0x10c8(%rbp)
jmp    12a94 <get_first_losing_move+0x11984>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    12ae4 <get_first_losing_move+0x119d4>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12b06 <get_first_losing_move+0x119f6>
xor    %eax,%eax
mov    %eax,-0x10cc(%rbp)
jmp    12b17 <get_first_losing_move+0x11a07>
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    12b3b <get_first_losing_move+0x11a2b>
xor    %eax,%eax
mov    %eax,-0x10d0(%rbp)
jmp    12b4c <get_first_losing_move+0x11a3c>
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    12b78 <get_first_losing_move+0x11a68>
xor    %eax,%eax
mov    %eax,-0x10d4(%rbp)
jmp    12b89 <get_first_losing_move+0x11a79>
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    12bad <get_first_losing_move+0x11a9d>
xor    %eax,%eax
mov    %eax,-0x10d8(%rbp)
jmp    12bbe <get_first_losing_move+0x11aae>
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    12bea <get_first_losing_move+0x11ada>
xor    %eax,%eax
mov    %eax,-0x10dc(%rbp)
jmp    12bfb <get_first_losing_move+0x11aeb>
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    12c1f <get_first_losing_move+0x11b0f>
xor    %eax,%eax
mov    %eax,-0x10e0(%rbp)
jmp    12c30 <get_first_losing_move+0x11b20>
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    12c5c <get_first_losing_move+0x11b4c>
xor    %eax,%eax
mov    %eax,-0x10e4(%rbp)
jmp    12c6d <get_first_losing_move+0x11b5d>
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    12c91 <get_first_losing_move+0x11b81>
xor    %eax,%eax
mov    %eax,-0x10e8(%rbp)
jmp    12ca2 <get_first_losing_move+0x11b92>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10e8(%rbp)
mov    -0x10e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1309f <get_first_losing_move+0x11f8f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12ce3 <get_first_losing_move+0x11bd3>
xor    %eax,%eax
mov    %eax,-0x10ec(%rbp)
jmp    12cf4 <get_first_losing_move+0x11be4>
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    12d18 <get_first_losing_move+0x11c08>
xor    %eax,%eax
mov    %eax,-0x10f0(%rbp)
jmp    12d29 <get_first_losing_move+0x11c19>
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    12d55 <get_first_losing_move+0x11c45>
xor    %eax,%eax
mov    %eax,-0x10f4(%rbp)
jmp    12d66 <get_first_losing_move+0x11c56>
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    12d8a <get_first_losing_move+0x11c7a>
xor    %eax,%eax
mov    %eax,-0x10f8(%rbp)
jmp    12d9b <get_first_losing_move+0x11c8b>
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    12dc7 <get_first_losing_move+0x11cb7>
xor    %eax,%eax
mov    %eax,-0x10fc(%rbp)
jmp    12dd8 <get_first_losing_move+0x11cc8>
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    12dfc <get_first_losing_move+0x11cec>
xor    %eax,%eax
mov    %eax,-0x1100(%rbp)
jmp    12e0d <get_first_losing_move+0x11cfd>
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    12e39 <get_first_losing_move+0x11d29>
xor    %eax,%eax
mov    %eax,-0x1104(%rbp)
jmp    12e4a <get_first_losing_move+0x11d3a>
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    12e6e <get_first_losing_move+0x11d5e>
xor    %eax,%eax
mov    %eax,-0x1108(%rbp)
jmp    12e7f <get_first_losing_move+0x11d6f>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    12ecf <get_first_losing_move+0x11dbf>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12ef1 <get_first_losing_move+0x11de1>
xor    %eax,%eax
mov    %eax,-0x110c(%rbp)
jmp    12f02 <get_first_losing_move+0x11df2>
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    12f26 <get_first_losing_move+0x11e16>
xor    %eax,%eax
mov    %eax,-0x1110(%rbp)
jmp    12f37 <get_first_losing_move+0x11e27>
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    12f63 <get_first_losing_move+0x11e53>
xor    %eax,%eax
mov    %eax,-0x1114(%rbp)
jmp    12f74 <get_first_losing_move+0x11e64>
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    12f98 <get_first_losing_move+0x11e88>
xor    %eax,%eax
mov    %eax,-0x1118(%rbp)
jmp    12fa9 <get_first_losing_move+0x11e99>
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    12fd5 <get_first_losing_move+0x11ec5>
xor    %eax,%eax
mov    %eax,-0x111c(%rbp)
jmp    12fe6 <get_first_losing_move+0x11ed6>
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    1300a <get_first_losing_move+0x11efa>
xor    %eax,%eax
mov    %eax,-0x1120(%rbp)
jmp    1301b <get_first_losing_move+0x11f0b>
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    13047 <get_first_losing_move+0x11f37>
xor    %eax,%eax
mov    %eax,-0x1124(%rbp)
jmp    13058 <get_first_losing_move+0x11f48>
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    1307c <get_first_losing_move+0x11f6c>
xor    %eax,%eax
mov    %eax,-0x1128(%rbp)
jmp    1308d <get_first_losing_move+0x11f7d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1128(%rbp)
mov    -0x1128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    130ac <get_first_losing_move+0x11f9c>
jmp    1649c <get_first_losing_move+0x1538c>
movswl -0x18(%rbp),%eax
cmp    $0x1a,%eax
jne    1394c <get_first_losing_move+0x1283c>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     13947 <get_first_losing_move+0x12837>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     13947 <get_first_losing_move+0x12837>
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     13942 <get_first_losing_move+0x12832>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     13942 <get_first_losing_move+0x12832>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     13942 <get_first_losing_move+0x12832>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     13942 <get_first_losing_move+0x12832>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     13942 <get_first_losing_move+0x12832>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     13942 <get_first_losing_move+0x12832>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1355c <get_first_losing_move+0x1244c>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13193 <get_first_losing_move+0x12083>
xor    %eax,%eax
mov    %eax,-0x112c(%rbp)
jmp    131a4 <get_first_losing_move+0x12094>
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    131c8 <get_first_losing_move+0x120b8>
xor    %eax,%eax
mov    %eax,-0x1130(%rbp)
jmp    131d9 <get_first_losing_move+0x120c9>
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    13205 <get_first_losing_move+0x120f5>
xor    %eax,%eax
mov    %eax,-0x1134(%rbp)
jmp    13216 <get_first_losing_move+0x12106>
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    1323a <get_first_losing_move+0x1212a>
xor    %eax,%eax
mov    %eax,-0x1138(%rbp)
jmp    1324b <get_first_losing_move+0x1213b>
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    13277 <get_first_losing_move+0x12167>
xor    %eax,%eax
mov    %eax,-0x113c(%rbp)
jmp    13288 <get_first_losing_move+0x12178>
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    132ac <get_first_losing_move+0x1219c>
xor    %eax,%eax
mov    %eax,-0x1140(%rbp)
jmp    132bd <get_first_losing_move+0x121ad>
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    132e9 <get_first_losing_move+0x121d9>
xor    %eax,%eax
mov    %eax,-0x1144(%rbp)
jmp    132fa <get_first_losing_move+0x121ea>
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    1331e <get_first_losing_move+0x1220e>
xor    %eax,%eax
mov    %eax,-0x1148(%rbp)
jmp    1332f <get_first_losing_move+0x1221f>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1337f <get_first_losing_move+0x1226f>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    133a1 <get_first_losing_move+0x12291>
xor    %eax,%eax
mov    %eax,-0x114c(%rbp)
jmp    133b2 <get_first_losing_move+0x122a2>
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    133d6 <get_first_losing_move+0x122c6>
xor    %eax,%eax
mov    %eax,-0x1150(%rbp)
jmp    133e7 <get_first_losing_move+0x122d7>
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    13413 <get_first_losing_move+0x12303>
xor    %eax,%eax
mov    %eax,-0x1154(%rbp)
jmp    13424 <get_first_losing_move+0x12314>
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    13448 <get_first_losing_move+0x12338>
xor    %eax,%eax
mov    %eax,-0x1158(%rbp)
jmp    13459 <get_first_losing_move+0x12349>
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    13485 <get_first_losing_move+0x12375>
xor    %eax,%eax
mov    %eax,-0x115c(%rbp)
jmp    13496 <get_first_losing_move+0x12386>
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    134ba <get_first_losing_move+0x123aa>
xor    %eax,%eax
mov    %eax,-0x1160(%rbp)
jmp    134cb <get_first_losing_move+0x123bb>
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    134f7 <get_first_losing_move+0x123e7>
xor    %eax,%eax
mov    %eax,-0x1164(%rbp)
jmp    13508 <get_first_losing_move+0x123f8>
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    1352c <get_first_losing_move+0x1241c>
xor    %eax,%eax
mov    %eax,-0x1168(%rbp)
jmp    1353d <get_first_losing_move+0x1242d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1168(%rbp)
mov    -0x1168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1393a <get_first_losing_move+0x1282a>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1357e <get_first_losing_move+0x1246e>
xor    %eax,%eax
mov    %eax,-0x116c(%rbp)
jmp    1358f <get_first_losing_move+0x1247f>
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    135b3 <get_first_losing_move+0x124a3>
xor    %eax,%eax
mov    %eax,-0x1170(%rbp)
jmp    135c4 <get_first_losing_move+0x124b4>
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    135f0 <get_first_losing_move+0x124e0>
xor    %eax,%eax
mov    %eax,-0x1174(%rbp)
jmp    13601 <get_first_losing_move+0x124f1>
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    13625 <get_first_losing_move+0x12515>
xor    %eax,%eax
mov    %eax,-0x1178(%rbp)
jmp    13636 <get_first_losing_move+0x12526>
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    13662 <get_first_losing_move+0x12552>
xor    %eax,%eax
mov    %eax,-0x117c(%rbp)
jmp    13673 <get_first_losing_move+0x12563>
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    13697 <get_first_losing_move+0x12587>
xor    %eax,%eax
mov    %eax,-0x1180(%rbp)
jmp    136a8 <get_first_losing_move+0x12598>
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    136d4 <get_first_losing_move+0x125c4>
xor    %eax,%eax
mov    %eax,-0x1184(%rbp)
jmp    136e5 <get_first_losing_move+0x125d5>
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    13709 <get_first_losing_move+0x125f9>
xor    %eax,%eax
mov    %eax,-0x1188(%rbp)
jmp    1371a <get_first_losing_move+0x1260a>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1376a <get_first_losing_move+0x1265a>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1378c <get_first_losing_move+0x1267c>
xor    %eax,%eax
mov    %eax,-0x118c(%rbp)
jmp    1379d <get_first_losing_move+0x1268d>
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    137c1 <get_first_losing_move+0x126b1>
xor    %eax,%eax
mov    %eax,-0x1190(%rbp)
jmp    137d2 <get_first_losing_move+0x126c2>
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    137fe <get_first_losing_move+0x126ee>
xor    %eax,%eax
mov    %eax,-0x1194(%rbp)
jmp    1380f <get_first_losing_move+0x126ff>
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    13833 <get_first_losing_move+0x12723>
xor    %eax,%eax
mov    %eax,-0x1198(%rbp)
jmp    13844 <get_first_losing_move+0x12734>
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    13870 <get_first_losing_move+0x12760>
xor    %eax,%eax
mov    %eax,-0x119c(%rbp)
jmp    13881 <get_first_losing_move+0x12771>
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    138a5 <get_first_losing_move+0x12795>
xor    %eax,%eax
mov    %eax,-0x11a0(%rbp)
jmp    138b6 <get_first_losing_move+0x127a6>
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    138e2 <get_first_losing_move+0x127d2>
xor    %eax,%eax
mov    %eax,-0x11a4(%rbp)
jmp    138f3 <get_first_losing_move+0x127e3>
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    13917 <get_first_losing_move+0x12807>
xor    %eax,%eax
mov    %eax,-0x11a8(%rbp)
jmp    13928 <get_first_losing_move+0x12818>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11a8(%rbp)
mov    -0x11a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    13947 <get_first_losing_move+0x12837>
jmp    16497 <get_first_losing_move+0x15387>
movswl -0x18(%rbp),%eax
cmp    $0x1b,%eax
jne    141f8 <get_first_losing_move+0x130e8>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     141f3 <get_first_losing_move+0x130e3>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    141f3 <get_first_losing_move+0x130e3>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     141f3 <get_first_losing_move+0x130e3>
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     141ee <get_first_losing_move+0x130de>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     141ee <get_first_losing_move+0x130de>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     141ee <get_first_losing_move+0x130de>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     141ee <get_first_losing_move+0x130de>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     141ee <get_first_losing_move+0x130de>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     141ee <get_first_losing_move+0x130de>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    13e08 <get_first_losing_move+0x12cf8>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13a3f <get_first_losing_move+0x1292f>
xor    %eax,%eax
mov    %eax,-0x11ac(%rbp)
jmp    13a50 <get_first_losing_move+0x12940>
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    13a74 <get_first_losing_move+0x12964>
xor    %eax,%eax
mov    %eax,-0x11b0(%rbp)
jmp    13a85 <get_first_losing_move+0x12975>
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    13ab1 <get_first_losing_move+0x129a1>
xor    %eax,%eax
mov    %eax,-0x11b4(%rbp)
jmp    13ac2 <get_first_losing_move+0x129b2>
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    13ae6 <get_first_losing_move+0x129d6>
xor    %eax,%eax
mov    %eax,-0x11b8(%rbp)
jmp    13af7 <get_first_losing_move+0x129e7>
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    13b23 <get_first_losing_move+0x12a13>
xor    %eax,%eax
mov    %eax,-0x11bc(%rbp)
jmp    13b34 <get_first_losing_move+0x12a24>
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    13b58 <get_first_losing_move+0x12a48>
xor    %eax,%eax
mov    %eax,-0x11c0(%rbp)
jmp    13b69 <get_first_losing_move+0x12a59>
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    13b95 <get_first_losing_move+0x12a85>
xor    %eax,%eax
mov    %eax,-0x11c4(%rbp)
jmp    13ba6 <get_first_losing_move+0x12a96>
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    13bca <get_first_losing_move+0x12aba>
xor    %eax,%eax
mov    %eax,-0x11c8(%rbp)
jmp    13bdb <get_first_losing_move+0x12acb>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    13c2b <get_first_losing_move+0x12b1b>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13c4d <get_first_losing_move+0x12b3d>
xor    %eax,%eax
mov    %eax,-0x11cc(%rbp)
jmp    13c5e <get_first_losing_move+0x12b4e>
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    13c82 <get_first_losing_move+0x12b72>
xor    %eax,%eax
mov    %eax,-0x11d0(%rbp)
jmp    13c93 <get_first_losing_move+0x12b83>
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    13cbf <get_first_losing_move+0x12baf>
xor    %eax,%eax
mov    %eax,-0x11d4(%rbp)
jmp    13cd0 <get_first_losing_move+0x12bc0>
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    13cf4 <get_first_losing_move+0x12be4>
xor    %eax,%eax
mov    %eax,-0x11d8(%rbp)
jmp    13d05 <get_first_losing_move+0x12bf5>
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    13d31 <get_first_losing_move+0x12c21>
xor    %eax,%eax
mov    %eax,-0x11dc(%rbp)
jmp    13d42 <get_first_losing_move+0x12c32>
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    13d66 <get_first_losing_move+0x12c56>
xor    %eax,%eax
mov    %eax,-0x11e0(%rbp)
jmp    13d77 <get_first_losing_move+0x12c67>
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    13da3 <get_first_losing_move+0x12c93>
xor    %eax,%eax
mov    %eax,-0x11e4(%rbp)
jmp    13db4 <get_first_losing_move+0x12ca4>
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    13dd8 <get_first_losing_move+0x12cc8>
xor    %eax,%eax
mov    %eax,-0x11e8(%rbp)
jmp    13de9 <get_first_losing_move+0x12cd9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11e8(%rbp)
mov    -0x11e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    141e6 <get_first_losing_move+0x130d6>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13e2a <get_first_losing_move+0x12d1a>
xor    %eax,%eax
mov    %eax,-0x11ec(%rbp)
jmp    13e3b <get_first_losing_move+0x12d2b>
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    13e5f <get_first_losing_move+0x12d4f>
xor    %eax,%eax
mov    %eax,-0x11f0(%rbp)
jmp    13e70 <get_first_losing_move+0x12d60>
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    13e9c <get_first_losing_move+0x12d8c>
xor    %eax,%eax
mov    %eax,-0x11f4(%rbp)
jmp    13ead <get_first_losing_move+0x12d9d>
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    13ed1 <get_first_losing_move+0x12dc1>
xor    %eax,%eax
mov    %eax,-0x11f8(%rbp)
jmp    13ee2 <get_first_losing_move+0x12dd2>
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    13f0e <get_first_losing_move+0x12dfe>
xor    %eax,%eax
mov    %eax,-0x11fc(%rbp)
jmp    13f1f <get_first_losing_move+0x12e0f>
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    13f43 <get_first_losing_move+0x12e33>
xor    %eax,%eax
mov    %eax,-0x1200(%rbp)
jmp    13f54 <get_first_losing_move+0x12e44>
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    13f80 <get_first_losing_move+0x12e70>
xor    %eax,%eax
mov    %eax,-0x1204(%rbp)
jmp    13f91 <get_first_losing_move+0x12e81>
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    13fb5 <get_first_losing_move+0x12ea5>
xor    %eax,%eax
mov    %eax,-0x1208(%rbp)
jmp    13fc6 <get_first_losing_move+0x12eb6>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    14016 <get_first_losing_move+0x12f06>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14038 <get_first_losing_move+0x12f28>
xor    %eax,%eax
mov    %eax,-0x120c(%rbp)
jmp    14049 <get_first_losing_move+0x12f39>
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    1406d <get_first_losing_move+0x12f5d>
xor    %eax,%eax
mov    %eax,-0x1210(%rbp)
jmp    1407e <get_first_losing_move+0x12f6e>
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    140aa <get_first_losing_move+0x12f9a>
xor    %eax,%eax
mov    %eax,-0x1214(%rbp)
jmp    140bb <get_first_losing_move+0x12fab>
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    140df <get_first_losing_move+0x12fcf>
xor    %eax,%eax
mov    %eax,-0x1218(%rbp)
jmp    140f0 <get_first_losing_move+0x12fe0>
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    1411c <get_first_losing_move+0x1300c>
xor    %eax,%eax
mov    %eax,-0x121c(%rbp)
jmp    1412d <get_first_losing_move+0x1301d>
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    14151 <get_first_losing_move+0x13041>
xor    %eax,%eax
mov    %eax,-0x1220(%rbp)
jmp    14162 <get_first_losing_move+0x13052>
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    1418e <get_first_losing_move+0x1307e>
xor    %eax,%eax
mov    %eax,-0x1224(%rbp)
jmp    1419f <get_first_losing_move+0x1308f>
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    141c3 <get_first_losing_move+0x130b3>
xor    %eax,%eax
mov    %eax,-0x1228(%rbp)
jmp    141d4 <get_first_losing_move+0x130c4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1228(%rbp)
mov    -0x1228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    141f3 <get_first_losing_move+0x130e3>
jmp    16492 <get_first_losing_move+0x15382>
movswl -0x18(%rbp),%eax
cmp    $0x1c,%eax
jne    14a8f <get_first_losing_move+0x1397f>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     14a8a <get_first_losing_move+0x1397a>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    14a8a <get_first_losing_move+0x1397a>
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     14a85 <get_first_losing_move+0x13975>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     14a85 <get_first_losing_move+0x13975>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     14a85 <get_first_losing_move+0x13975>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     14a85 <get_first_losing_move+0x13975>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     14a85 <get_first_losing_move+0x13975>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     14a85 <get_first_losing_move+0x13975>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1469f <get_first_losing_move+0x1358f>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    142d6 <get_first_losing_move+0x131c6>
xor    %eax,%eax
mov    %eax,-0x122c(%rbp)
jmp    142e7 <get_first_losing_move+0x131d7>
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    1430b <get_first_losing_move+0x131fb>
xor    %eax,%eax
mov    %eax,-0x1230(%rbp)
jmp    1431c <get_first_losing_move+0x1320c>
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    14348 <get_first_losing_move+0x13238>
xor    %eax,%eax
mov    %eax,-0x1234(%rbp)
jmp    14359 <get_first_losing_move+0x13249>
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    1437d <get_first_losing_move+0x1326d>
xor    %eax,%eax
mov    %eax,-0x1238(%rbp)
jmp    1438e <get_first_losing_move+0x1327e>
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    143ba <get_first_losing_move+0x132aa>
xor    %eax,%eax
mov    %eax,-0x123c(%rbp)
jmp    143cb <get_first_losing_move+0x132bb>
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    143ef <get_first_losing_move+0x132df>
xor    %eax,%eax
mov    %eax,-0x1240(%rbp)
jmp    14400 <get_first_losing_move+0x132f0>
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    1442c <get_first_losing_move+0x1331c>
xor    %eax,%eax
mov    %eax,-0x1244(%rbp)
jmp    1443d <get_first_losing_move+0x1332d>
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    14461 <get_first_losing_move+0x13351>
xor    %eax,%eax
mov    %eax,-0x1248(%rbp)
jmp    14472 <get_first_losing_move+0x13362>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    144c2 <get_first_losing_move+0x133b2>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    144e4 <get_first_losing_move+0x133d4>
xor    %eax,%eax
mov    %eax,-0x124c(%rbp)
jmp    144f5 <get_first_losing_move+0x133e5>
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    14519 <get_first_losing_move+0x13409>
xor    %eax,%eax
mov    %eax,-0x1250(%rbp)
jmp    1452a <get_first_losing_move+0x1341a>
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    14556 <get_first_losing_move+0x13446>
xor    %eax,%eax
mov    %eax,-0x1254(%rbp)
jmp    14567 <get_first_losing_move+0x13457>
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    1458b <get_first_losing_move+0x1347b>
xor    %eax,%eax
mov    %eax,-0x1258(%rbp)
jmp    1459c <get_first_losing_move+0x1348c>
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    145c8 <get_first_losing_move+0x134b8>
xor    %eax,%eax
mov    %eax,-0x125c(%rbp)
jmp    145d9 <get_first_losing_move+0x134c9>
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    145fd <get_first_losing_move+0x134ed>
xor    %eax,%eax
mov    %eax,-0x1260(%rbp)
jmp    1460e <get_first_losing_move+0x134fe>
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    1463a <get_first_losing_move+0x1352a>
xor    %eax,%eax
mov    %eax,-0x1264(%rbp)
jmp    1464b <get_first_losing_move+0x1353b>
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    1466f <get_first_losing_move+0x1355f>
xor    %eax,%eax
mov    %eax,-0x1268(%rbp)
jmp    14680 <get_first_losing_move+0x13570>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1268(%rbp)
mov    -0x1268(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    14a7d <get_first_losing_move+0x1396d>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    146c1 <get_first_losing_move+0x135b1>
xor    %eax,%eax
mov    %eax,-0x126c(%rbp)
jmp    146d2 <get_first_losing_move+0x135c2>
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    146f6 <get_first_losing_move+0x135e6>
xor    %eax,%eax
mov    %eax,-0x1270(%rbp)
jmp    14707 <get_first_losing_move+0x135f7>
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    14733 <get_first_losing_move+0x13623>
xor    %eax,%eax
mov    %eax,-0x1274(%rbp)
jmp    14744 <get_first_losing_move+0x13634>
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    14768 <get_first_losing_move+0x13658>
xor    %eax,%eax
mov    %eax,-0x1278(%rbp)
jmp    14779 <get_first_losing_move+0x13669>
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    147a5 <get_first_losing_move+0x13695>
xor    %eax,%eax
mov    %eax,-0x127c(%rbp)
jmp    147b6 <get_first_losing_move+0x136a6>
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    147da <get_first_losing_move+0x136ca>
xor    %eax,%eax
mov    %eax,-0x1280(%rbp)
jmp    147eb <get_first_losing_move+0x136db>
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    14817 <get_first_losing_move+0x13707>
xor    %eax,%eax
mov    %eax,-0x1284(%rbp)
jmp    14828 <get_first_losing_move+0x13718>
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    1484c <get_first_losing_move+0x1373c>
xor    %eax,%eax
mov    %eax,-0x1288(%rbp)
jmp    1485d <get_first_losing_move+0x1374d>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    148ad <get_first_losing_move+0x1379d>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    148cf <get_first_losing_move+0x137bf>
xor    %eax,%eax
mov    %eax,-0x128c(%rbp)
jmp    148e0 <get_first_losing_move+0x137d0>
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    14904 <get_first_losing_move+0x137f4>
xor    %eax,%eax
mov    %eax,-0x1290(%rbp)
jmp    14915 <get_first_losing_move+0x13805>
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    14941 <get_first_losing_move+0x13831>
xor    %eax,%eax
mov    %eax,-0x1294(%rbp)
jmp    14952 <get_first_losing_move+0x13842>
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    14976 <get_first_losing_move+0x13866>
xor    %eax,%eax
mov    %eax,-0x1298(%rbp)
jmp    14987 <get_first_losing_move+0x13877>
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    149b3 <get_first_losing_move+0x138a3>
xor    %eax,%eax
mov    %eax,-0x129c(%rbp)
jmp    149c4 <get_first_losing_move+0x138b4>
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    149e8 <get_first_losing_move+0x138d8>
xor    %eax,%eax
mov    %eax,-0x12a0(%rbp)
jmp    149f9 <get_first_losing_move+0x138e9>
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    14a25 <get_first_losing_move+0x13915>
xor    %eax,%eax
mov    %eax,-0x12a4(%rbp)
jmp    14a36 <get_first_losing_move+0x13926>
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    14a5a <get_first_losing_move+0x1394a>
xor    %eax,%eax
mov    %eax,-0x12a8(%rbp)
jmp    14a6b <get_first_losing_move+0x1395b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12a8(%rbp)
mov    -0x12a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    14a8a <get_first_losing_move+0x1397a>
jmp    1648d <get_first_losing_move+0x1537d>
movswl -0x18(%rbp),%eax
cmp    $0x1d,%eax
jne    1533b <get_first_losing_move+0x1422b>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     15336 <get_first_losing_move+0x14226>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    15336 <get_first_losing_move+0x14226>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     15336 <get_first_losing_move+0x14226>
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     15331 <get_first_losing_move+0x14221>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     15331 <get_first_losing_move+0x14221>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     15331 <get_first_losing_move+0x14221>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     15331 <get_first_losing_move+0x14221>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     15331 <get_first_losing_move+0x14221>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     15331 <get_first_losing_move+0x14221>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    14f4b <get_first_losing_move+0x13e3b>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14b82 <get_first_losing_move+0x13a72>
xor    %eax,%eax
mov    %eax,-0x12ac(%rbp)
jmp    14b93 <get_first_losing_move+0x13a83>
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    14bb7 <get_first_losing_move+0x13aa7>
xor    %eax,%eax
mov    %eax,-0x12b0(%rbp)
jmp    14bc8 <get_first_losing_move+0x13ab8>
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    14bf4 <get_first_losing_move+0x13ae4>
xor    %eax,%eax
mov    %eax,-0x12b4(%rbp)
jmp    14c05 <get_first_losing_move+0x13af5>
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    14c29 <get_first_losing_move+0x13b19>
xor    %eax,%eax
mov    %eax,-0x12b8(%rbp)
jmp    14c3a <get_first_losing_move+0x13b2a>
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    14c66 <get_first_losing_move+0x13b56>
xor    %eax,%eax
mov    %eax,-0x12bc(%rbp)
jmp    14c77 <get_first_losing_move+0x13b67>
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    14c9b <get_first_losing_move+0x13b8b>
xor    %eax,%eax
mov    %eax,-0x12c0(%rbp)
jmp    14cac <get_first_losing_move+0x13b9c>
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    14cd8 <get_first_losing_move+0x13bc8>
xor    %eax,%eax
mov    %eax,-0x12c4(%rbp)
jmp    14ce9 <get_first_losing_move+0x13bd9>
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    14d0d <get_first_losing_move+0x13bfd>
xor    %eax,%eax
mov    %eax,-0x12c8(%rbp)
jmp    14d1e <get_first_losing_move+0x13c0e>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    14d6e <get_first_losing_move+0x13c5e>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14d90 <get_first_losing_move+0x13c80>
xor    %eax,%eax
mov    %eax,-0x12cc(%rbp)
jmp    14da1 <get_first_losing_move+0x13c91>
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    14dc5 <get_first_losing_move+0x13cb5>
xor    %eax,%eax
mov    %eax,-0x12d0(%rbp)
jmp    14dd6 <get_first_losing_move+0x13cc6>
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    14e02 <get_first_losing_move+0x13cf2>
xor    %eax,%eax
mov    %eax,-0x12d4(%rbp)
jmp    14e13 <get_first_losing_move+0x13d03>
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    14e37 <get_first_losing_move+0x13d27>
xor    %eax,%eax
mov    %eax,-0x12d8(%rbp)
jmp    14e48 <get_first_losing_move+0x13d38>
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    14e74 <get_first_losing_move+0x13d64>
xor    %eax,%eax
mov    %eax,-0x12dc(%rbp)
jmp    14e85 <get_first_losing_move+0x13d75>
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    14ea9 <get_first_losing_move+0x13d99>
xor    %eax,%eax
mov    %eax,-0x12e0(%rbp)
jmp    14eba <get_first_losing_move+0x13daa>
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    14ee6 <get_first_losing_move+0x13dd6>
xor    %eax,%eax
mov    %eax,-0x12e4(%rbp)
jmp    14ef7 <get_first_losing_move+0x13de7>
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    14f1b <get_first_losing_move+0x13e0b>
xor    %eax,%eax
mov    %eax,-0x12e8(%rbp)
jmp    14f2c <get_first_losing_move+0x13e1c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12e8(%rbp)
mov    -0x12e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    15329 <get_first_losing_move+0x14219>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14f6d <get_first_losing_move+0x13e5d>
xor    %eax,%eax
mov    %eax,-0x12ec(%rbp)
jmp    14f7e <get_first_losing_move+0x13e6e>
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    14fa2 <get_first_losing_move+0x13e92>
xor    %eax,%eax
mov    %eax,-0x12f0(%rbp)
jmp    14fb3 <get_first_losing_move+0x13ea3>
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    14fdf <get_first_losing_move+0x13ecf>
xor    %eax,%eax
mov    %eax,-0x12f4(%rbp)
jmp    14ff0 <get_first_losing_move+0x13ee0>
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    15014 <get_first_losing_move+0x13f04>
xor    %eax,%eax
mov    %eax,-0x12f8(%rbp)
jmp    15025 <get_first_losing_move+0x13f15>
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    15051 <get_first_losing_move+0x13f41>
xor    %eax,%eax
mov    %eax,-0x12fc(%rbp)
jmp    15062 <get_first_losing_move+0x13f52>
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    15086 <get_first_losing_move+0x13f76>
xor    %eax,%eax
mov    %eax,-0x1300(%rbp)
jmp    15097 <get_first_losing_move+0x13f87>
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    150c3 <get_first_losing_move+0x13fb3>
xor    %eax,%eax
mov    %eax,-0x1304(%rbp)
jmp    150d4 <get_first_losing_move+0x13fc4>
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    150f8 <get_first_losing_move+0x13fe8>
xor    %eax,%eax
mov    %eax,-0x1308(%rbp)
jmp    15109 <get_first_losing_move+0x13ff9>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    15159 <get_first_losing_move+0x14049>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1517b <get_first_losing_move+0x1406b>
xor    %eax,%eax
mov    %eax,-0x130c(%rbp)
jmp    1518c <get_first_losing_move+0x1407c>
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    151b0 <get_first_losing_move+0x140a0>
xor    %eax,%eax
mov    %eax,-0x1310(%rbp)
jmp    151c1 <get_first_losing_move+0x140b1>
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    151ed <get_first_losing_move+0x140dd>
xor    %eax,%eax
mov    %eax,-0x1314(%rbp)
jmp    151fe <get_first_losing_move+0x140ee>
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    15222 <get_first_losing_move+0x14112>
xor    %eax,%eax
mov    %eax,-0x1318(%rbp)
jmp    15233 <get_first_losing_move+0x14123>
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    1525f <get_first_losing_move+0x1414f>
xor    %eax,%eax
mov    %eax,-0x131c(%rbp)
jmp    15270 <get_first_losing_move+0x14160>
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    15294 <get_first_losing_move+0x14184>
xor    %eax,%eax
mov    %eax,-0x1320(%rbp)
jmp    152a5 <get_first_losing_move+0x14195>
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    152d1 <get_first_losing_move+0x141c1>
xor    %eax,%eax
mov    %eax,-0x1324(%rbp)
jmp    152e2 <get_first_losing_move+0x141d2>
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    15306 <get_first_losing_move+0x141f6>
xor    %eax,%eax
mov    %eax,-0x1328(%rbp)
jmp    15317 <get_first_losing_move+0x14207>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1328(%rbp)
mov    -0x1328(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    15336 <get_first_losing_move+0x14226>
jmp    16488 <get_first_losing_move+0x15378>
movswl -0x18(%rbp),%eax
cmp    $0x1e,%eax
jne    15bd6 <get_first_losing_move+0x14ac6>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     15bd1 <get_first_losing_move+0x14ac1>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     15bd1 <get_first_losing_move+0x14ac1>
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     15bcc <get_first_losing_move+0x14abc>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     15bcc <get_first_losing_move+0x14abc>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     15bcc <get_first_losing_move+0x14abc>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     15bcc <get_first_losing_move+0x14abc>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     15bcc <get_first_losing_move+0x14abc>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     15bcc <get_first_losing_move+0x14abc>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    157e6 <get_first_losing_move+0x146d6>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1541d <get_first_losing_move+0x1430d>
xor    %eax,%eax
mov    %eax,-0x132c(%rbp)
jmp    1542e <get_first_losing_move+0x1431e>
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    15452 <get_first_losing_move+0x14342>
xor    %eax,%eax
mov    %eax,-0x1330(%rbp)
jmp    15463 <get_first_losing_move+0x14353>
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    1548f <get_first_losing_move+0x1437f>
xor    %eax,%eax
mov    %eax,-0x1334(%rbp)
jmp    154a0 <get_first_losing_move+0x14390>
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    154c4 <get_first_losing_move+0x143b4>
xor    %eax,%eax
mov    %eax,-0x1338(%rbp)
jmp    154d5 <get_first_losing_move+0x143c5>
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    15501 <get_first_losing_move+0x143f1>
xor    %eax,%eax
mov    %eax,-0x133c(%rbp)
jmp    15512 <get_first_losing_move+0x14402>
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    15536 <get_first_losing_move+0x14426>
xor    %eax,%eax
mov    %eax,-0x1340(%rbp)
jmp    15547 <get_first_losing_move+0x14437>
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    15573 <get_first_losing_move+0x14463>
xor    %eax,%eax
mov    %eax,-0x1344(%rbp)
jmp    15584 <get_first_losing_move+0x14474>
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    155a8 <get_first_losing_move+0x14498>
xor    %eax,%eax
mov    %eax,-0x1348(%rbp)
jmp    155b9 <get_first_losing_move+0x144a9>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    15609 <get_first_losing_move+0x144f9>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1562b <get_first_losing_move+0x1451b>
xor    %eax,%eax
mov    %eax,-0x134c(%rbp)
jmp    1563c <get_first_losing_move+0x1452c>
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    15660 <get_first_losing_move+0x14550>
xor    %eax,%eax
mov    %eax,-0x1350(%rbp)
jmp    15671 <get_first_losing_move+0x14561>
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    1569d <get_first_losing_move+0x1458d>
xor    %eax,%eax
mov    %eax,-0x1354(%rbp)
jmp    156ae <get_first_losing_move+0x1459e>
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    156d2 <get_first_losing_move+0x145c2>
xor    %eax,%eax
mov    %eax,-0x1358(%rbp)
jmp    156e3 <get_first_losing_move+0x145d3>
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    1570f <get_first_losing_move+0x145ff>
xor    %eax,%eax
mov    %eax,-0x135c(%rbp)
jmp    15720 <get_first_losing_move+0x14610>
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    15744 <get_first_losing_move+0x14634>
xor    %eax,%eax
mov    %eax,-0x1360(%rbp)
jmp    15755 <get_first_losing_move+0x14645>
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    15781 <get_first_losing_move+0x14671>
xor    %eax,%eax
mov    %eax,-0x1364(%rbp)
jmp    15792 <get_first_losing_move+0x14682>
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    157b6 <get_first_losing_move+0x146a6>
xor    %eax,%eax
mov    %eax,-0x1368(%rbp)
jmp    157c7 <get_first_losing_move+0x146b7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1368(%rbp)
mov    -0x1368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    15bc4 <get_first_losing_move+0x14ab4>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15808 <get_first_losing_move+0x146f8>
xor    %eax,%eax
mov    %eax,-0x136c(%rbp)
jmp    15819 <get_first_losing_move+0x14709>
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    1583d <get_first_losing_move+0x1472d>
xor    %eax,%eax
mov    %eax,-0x1370(%rbp)
jmp    1584e <get_first_losing_move+0x1473e>
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    1587a <get_first_losing_move+0x1476a>
xor    %eax,%eax
mov    %eax,-0x1374(%rbp)
jmp    1588b <get_first_losing_move+0x1477b>
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    158af <get_first_losing_move+0x1479f>
xor    %eax,%eax
mov    %eax,-0x1378(%rbp)
jmp    158c0 <get_first_losing_move+0x147b0>
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    158ec <get_first_losing_move+0x147dc>
xor    %eax,%eax
mov    %eax,-0x137c(%rbp)
jmp    158fd <get_first_losing_move+0x147ed>
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    15921 <get_first_losing_move+0x14811>
xor    %eax,%eax
mov    %eax,-0x1380(%rbp)
jmp    15932 <get_first_losing_move+0x14822>
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    1595e <get_first_losing_move+0x1484e>
xor    %eax,%eax
mov    %eax,-0x1384(%rbp)
jmp    1596f <get_first_losing_move+0x1485f>
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    15993 <get_first_losing_move+0x14883>
xor    %eax,%eax
mov    %eax,-0x1388(%rbp)
jmp    159a4 <get_first_losing_move+0x14894>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    159f4 <get_first_losing_move+0x148e4>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15a16 <get_first_losing_move+0x14906>
xor    %eax,%eax
mov    %eax,-0x138c(%rbp)
jmp    15a27 <get_first_losing_move+0x14917>
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    15a4b <get_first_losing_move+0x1493b>
xor    %eax,%eax
mov    %eax,-0x1390(%rbp)
jmp    15a5c <get_first_losing_move+0x1494c>
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    15a88 <get_first_losing_move+0x14978>
xor    %eax,%eax
mov    %eax,-0x1394(%rbp)
jmp    15a99 <get_first_losing_move+0x14989>
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    15abd <get_first_losing_move+0x149ad>
xor    %eax,%eax
mov    %eax,-0x1398(%rbp)
jmp    15ace <get_first_losing_move+0x149be>
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    15afa <get_first_losing_move+0x149ea>
xor    %eax,%eax
mov    %eax,-0x139c(%rbp)
jmp    15b0b <get_first_losing_move+0x149fb>
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    15b2f <get_first_losing_move+0x14a1f>
xor    %eax,%eax
mov    %eax,-0x13a0(%rbp)
jmp    15b40 <get_first_losing_move+0x14a30>
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    15b6c <get_first_losing_move+0x14a5c>
xor    %eax,%eax
mov    %eax,-0x13a4(%rbp)
jmp    15b7d <get_first_losing_move+0x14a6d>
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    15ba1 <get_first_losing_move+0x14a91>
xor    %eax,%eax
mov    %eax,-0x13a8(%rbp)
jmp    15bb2 <get_first_losing_move+0x14aa2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13a8(%rbp)
mov    -0x13a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    15bd1 <get_first_losing_move+0x14ac1>
jmp    16483 <get_first_losing_move+0x15373>
movswl -0x18(%rbp),%eax
cmp    $0x1f,%eax
jne    1647e <get_first_losing_move+0x1536e>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     16479 <get_first_losing_move+0x15369>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    16479 <get_first_losing_move+0x15369>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     16479 <get_first_losing_move+0x15369>
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     16474 <get_first_losing_move+0x15364>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     16474 <get_first_losing_move+0x15364>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     16474 <get_first_losing_move+0x15364>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     16474 <get_first_losing_move+0x15364>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     16474 <get_first_losing_move+0x15364>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     16474 <get_first_losing_move+0x15364>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1608e <get_first_losing_move+0x14f7e>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15cc5 <get_first_losing_move+0x14bb5>
xor    %eax,%eax
mov    %eax,-0x13ac(%rbp)
jmp    15cd6 <get_first_losing_move+0x14bc6>
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    15cfa <get_first_losing_move+0x14bea>
xor    %eax,%eax
mov    %eax,-0x13b0(%rbp)
jmp    15d0b <get_first_losing_move+0x14bfb>
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    15d37 <get_first_losing_move+0x14c27>
xor    %eax,%eax
mov    %eax,-0x13b4(%rbp)
jmp    15d48 <get_first_losing_move+0x14c38>
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    15d6c <get_first_losing_move+0x14c5c>
xor    %eax,%eax
mov    %eax,-0x13b8(%rbp)
jmp    15d7d <get_first_losing_move+0x14c6d>
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    15da9 <get_first_losing_move+0x14c99>
xor    %eax,%eax
mov    %eax,-0x13bc(%rbp)
jmp    15dba <get_first_losing_move+0x14caa>
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    15dde <get_first_losing_move+0x14cce>
xor    %eax,%eax
mov    %eax,-0x13c0(%rbp)
jmp    15def <get_first_losing_move+0x14cdf>
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    15e1b <get_first_losing_move+0x14d0b>
xor    %eax,%eax
mov    %eax,-0x13c4(%rbp)
jmp    15e2c <get_first_losing_move+0x14d1c>
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    15e50 <get_first_losing_move+0x14d40>
xor    %eax,%eax
mov    %eax,-0x13c8(%rbp)
jmp    15e61 <get_first_losing_move+0x14d51>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    15eb1 <get_first_losing_move+0x14da1>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15ed3 <get_first_losing_move+0x14dc3>
xor    %eax,%eax
mov    %eax,-0x13cc(%rbp)
jmp    15ee4 <get_first_losing_move+0x14dd4>
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    15f08 <get_first_losing_move+0x14df8>
xor    %eax,%eax
mov    %eax,-0x13d0(%rbp)
jmp    15f19 <get_first_losing_move+0x14e09>
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    15f45 <get_first_losing_move+0x14e35>
xor    %eax,%eax
mov    %eax,-0x13d4(%rbp)
jmp    15f56 <get_first_losing_move+0x14e46>
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    15f7a <get_first_losing_move+0x14e6a>
xor    %eax,%eax
mov    %eax,-0x13d8(%rbp)
jmp    15f8b <get_first_losing_move+0x14e7b>
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    15fb7 <get_first_losing_move+0x14ea7>
xor    %eax,%eax
mov    %eax,-0x13dc(%rbp)
jmp    15fc8 <get_first_losing_move+0x14eb8>
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    15fec <get_first_losing_move+0x14edc>
xor    %eax,%eax
mov    %eax,-0x13e0(%rbp)
jmp    15ffd <get_first_losing_move+0x14eed>
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    16029 <get_first_losing_move+0x14f19>
xor    %eax,%eax
mov    %eax,-0x13e4(%rbp)
jmp    1603a <get_first_losing_move+0x14f2a>
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    1605e <get_first_losing_move+0x14f4e>
xor    %eax,%eax
mov    %eax,-0x13e8(%rbp)
jmp    1606f <get_first_losing_move+0x14f5f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13e8(%rbp)
mov    -0x13e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1646c <get_first_losing_move+0x1535c>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    160b0 <get_first_losing_move+0x14fa0>
xor    %eax,%eax
mov    %eax,-0x13ec(%rbp)
jmp    160c1 <get_first_losing_move+0x14fb1>
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    160e5 <get_first_losing_move+0x14fd5>
xor    %eax,%eax
mov    %eax,-0x13f0(%rbp)
jmp    160f6 <get_first_losing_move+0x14fe6>
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    16122 <get_first_losing_move+0x15012>
xor    %eax,%eax
mov    %eax,-0x13f4(%rbp)
jmp    16133 <get_first_losing_move+0x15023>
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    16157 <get_first_losing_move+0x15047>
xor    %eax,%eax
mov    %eax,-0x13f8(%rbp)
jmp    16168 <get_first_losing_move+0x15058>
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    16194 <get_first_losing_move+0x15084>
xor    %eax,%eax
mov    %eax,-0x13fc(%rbp)
jmp    161a5 <get_first_losing_move+0x15095>
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    161c9 <get_first_losing_move+0x150b9>
xor    %eax,%eax
mov    %eax,-0x1400(%rbp)
jmp    161da <get_first_losing_move+0x150ca>
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    16206 <get_first_losing_move+0x150f6>
xor    %eax,%eax
mov    %eax,-0x1404(%rbp)
jmp    16217 <get_first_losing_move+0x15107>
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    1623b <get_first_losing_move+0x1512b>
xor    %eax,%eax
mov    %eax,-0x1408(%rbp)
jmp    1624c <get_first_losing_move+0x1513c>
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_winning_move@plt>
cmp    $0xffffffff,%eax
jne    1629c <get_first_losing_move+0x1518c>
movw   $0xffff,-0x2(%rbp)
jmp    16537 <get_first_losing_move+0x15427>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    162be <get_first_losing_move+0x151ae>
xor    %eax,%eax
mov    %eax,-0x140c(%rbp)
jmp    162cf <get_first_losing_move+0x151bf>
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    162f3 <get_first_losing_move+0x151e3>
xor    %eax,%eax
mov    %eax,-0x1410(%rbp)
jmp    16304 <get_first_losing_move+0x151f4>
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    16330 <get_first_losing_move+0x15220>
xor    %eax,%eax
mov    %eax,-0x1414(%rbp)
jmp    16341 <get_first_losing_move+0x15231>
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    16365 <get_first_losing_move+0x15255>
xor    %eax,%eax
mov    %eax,-0x1418(%rbp)
jmp    16376 <get_first_losing_move+0x15266>
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    163a2 <get_first_losing_move+0x15292>
xor    %eax,%eax
mov    %eax,-0x141c(%rbp)
jmp    163b3 <get_first_losing_move+0x152a3>
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    163d7 <get_first_losing_move+0x152c7>
xor    %eax,%eax
mov    %eax,-0x1420(%rbp)
jmp    163e8 <get_first_losing_move+0x152d8>
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    16414 <get_first_losing_move+0x15304>
xor    %eax,%eax
mov    %eax,-0x1424(%rbp)
jmp    16425 <get_first_losing_move+0x15315>
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    16449 <get_first_losing_move+0x15339>
xor    %eax,%eax
mov    %eax,-0x1428(%rbp)
jmp    1645a <get_first_losing_move+0x1534a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1428(%rbp)
mov    -0x1428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    16479 <get_first_losing_move+0x15369>
jmp    1647e <get_first_losing_move+0x1536e>
jmp    16483 <get_first_losing_move+0x15373>
jmp    16488 <get_first_losing_move+0x15378>
jmp    1648d <get_first_losing_move+0x1537d>
jmp    16492 <get_first_losing_move+0x15382>
jmp    16497 <get_first_losing_move+0x15387>
jmp    1649c <get_first_losing_move+0x1538c>
jmp    164a1 <get_first_losing_move+0x15391>
jmp    164a6 <get_first_losing_move+0x15396>
jmp    164ab <get_first_losing_move+0x1539b>
jmp    164b0 <get_first_losing_move+0x153a0>
jmp    164b5 <get_first_losing_move+0x153a5>
jmp    164ba <get_first_losing_move+0x153aa>
jmp    164bf <get_first_losing_move+0x153af>
jmp    164c4 <get_first_losing_move+0x153b4>
jmp    164c9 <get_first_losing_move+0x153b9>
jmp    164ce <get_first_losing_move+0x153be>
jmp    164d3 <get_first_losing_move+0x153c3>
jmp    164d8 <get_first_losing_move+0x153c8>
jmp    164dd <get_first_losing_move+0x153cd>
jmp    164e2 <get_first_losing_move+0x153d2>
jmp    164e7 <get_first_losing_move+0x153d7>
jmp    164ec <get_first_losing_move+0x153dc>
jmp    164f1 <get_first_losing_move+0x153e1>
jmp    164f6 <get_first_losing_move+0x153e6>
jmp    164fb <get_first_losing_move+0x153eb>
jmp    16500 <get_first_losing_move+0x153f0>
jmp    16505 <get_first_losing_move+0x153f5>
jmp    1650a <get_first_losing_move+0x153fa>
jmp    1650f <get_first_losing_move+0x153ff>
jmp    16514 <get_first_losing_move+0x15404>
jmp    16519 <get_first_losing_move+0x15409>
jmp    1651e <get_first_losing_move+0x1540e>
mov    -0x18(%rbp),%ax
add    $0xffff,%ax
mov    %ax,-0x18(%rbp)
jmp    11b6 <get_first_losing_move+0xa6>
mov    -0x16(%rbp),%ax
mov    %ax,-0x2(%rbp)
movswl -0x2(%rbp),%eax
add    $0x1440,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<get_first_losing_move>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x58,%rsp
mov    %r9d,%ebx
mov    %r8d,%r13d
mov    %edx,%r15d
mov    %esi,%ebp
movswl 0x98(%rsp),%r12d
movswl 0x90(%rsp),%r14d
mov    %rdi,0x20(%rsp)
mov    %rcx,0x40(%rsp)
xor    %eax,%eax
push   %r12
push   %r14
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
mov    $0xfffe,%cx
cmp    $0xffffffff,%eax
jne    75ba <get_first_losing_move+0x64aa>
movd   %r15d,%xmm0
pinsrw $0x1,%ebx,%xmm0
pinsrw $0x2,%ebp,%xmm0
pinsrw $0x3,%r13d,%xmm0
mov    $0xffff,%di
mov    $0x1f,%r13w
lea    0x6eca(%rip),%rbx
movdqa %xmm0,%xmm2
mov    0x40(%rsp),%r11
mov    %r12,%r9
mov    0x20(%rsp),%r8
mov    %r14,%r10
jmp    11a4 <get_first_losing_move+0x94>
nopl   0x0(%rax)
add    $0xffffffff,%r13d
cmp    $0x1f,%r13w
ja     11a0 <get_first_losing_move+0x90>
movzwl %r13w,%eax
movslq (%rbx,%rax,4),%rax
add    %rbx,%rax
jmp    *%rax
cmp    $0x14,%r8w
jg     11a0 <get_first_losing_move+0x90>
mov    %r8d,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    0x5(%r8),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %dx,%r10w
jne    476c <get_first_losing_move+0x365c>
mov    $0x14,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
xor    %r14d,%r14d
mov    %r10,%r12
test   %r10w,%r10w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x6de4(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6d5d(%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    $0x1,%di
jmp    1afb <get_first_losing_move+0x9eb>
test   $0x3,%r8b
je     11a0 <get_first_losing_move+0x90>
lea    0x1(%r8),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %dx,%r10w
jne    4308 <get_first_losing_move+0x31f8>
mov    $0x18,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
xor    %r14d,%r14d
mov    %r10,%r12
test   %r10w,%r10w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x6ca4(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6c1d(%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    $0x2,%di
jmp    1afb <get_first_losing_move+0x9eb>
cmp    $0x5,%r8w
jl     11a0 <get_first_losing_move+0x90>
mov    %r8d,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    -0x3(%r8),%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    11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %eax,%ecx
jne    488f <get_first_losing_move+0x377f>
mov    $0x1c,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
pxor   %xmm1,%xmm1
movdqa 0x6b52(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rdi
pextrw $0x2,%xmm2,%r9d
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %edi,%ebp
xor    %r15d,%r15d
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 %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6ac7(%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    $0x3,%di
jmp    1822 <get_first_losing_move+0x712>
cmp    $0x5,%r8w
jl     11a0 <get_first_losing_move+0x90>
lea    -0x4(%r8),%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    11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %eax,%ecx
jne    4984 <get_first_losing_move+0x3874>
mov    $0x1d,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
pxor   %xmm1,%xmm1
movdqa 0x6a0b(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rdi
pextrw $0x2,%xmm2,%r9d
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
movd   %xmm2,%edx
mov    $0x19,%ebp
sub    %edi,%ebp
xor    %r15d,%r15d
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 %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6980(%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    $0x4,%di
jmp    1822 <get_first_losing_move+0x712>
cmp    $0x5,%r8w
jl     11a0 <get_first_losing_move+0x90>
mov    %r8d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     11a0 <get_first_losing_move+0x90>
lea    -0x5(%r8),%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    11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %eax,%ecx
mov    %r8,0x20(%rsp)
jne    4a7c <get_first_losing_move+0x396c>
mov    $0x1e,%eax
sub    %r8d,%eax
xor    %r15d,%r15d
test   %r14w,%r14w
cmove  %r15d,%eax
pxor   %xmm1,%xmm1
movdqa 0x68a9(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6822(%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    $0x5,%di
mov    %r14d,%r10d
mov    %r12d,%r9d
lea    0x6821(%rip),%rbx
mov    0x20(%rsp),%r8
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
test   %r8w,%r8w
je     42b8 <get_first_losing_move+0x31a8>
lea    0x3(%r8),%eax
test   %r8w,%r8w
cmovns %r8d,%eax
and    $0xfffffffc,%eax
mov    %r8d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    -0x1(%r8),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %dx,%r10w
jne    5fd9 <get_first_losing_move+0x4ec9>
mov    $0x1a,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
xor    %r14d,%r14d
mov    %r10,%r12
test   %r10w,%r10w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x6735(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x66ae(%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    $0x6,%di
jmp    1afb <get_first_losing_move+0x9eb>
lea    0x3(%r8),%eax
test   %r8w,%r8w
cmovns %r8d,%eax
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%r8w
jg     11a0 <get_first_losing_move+0x90>
and    $0xfffffffc,%eax
mov    %r8d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    0x3(%r8),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %dx,%r10w
jne    4b7f <get_first_losing_move+0x3a6f>
mov    $0x16,%eax
mov    %r8,0x20(%rsp)
sub    %r8d,%eax
xor    %r14d,%r14d
mov    %r10,%r12
test   %r10w,%r10w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x65d0(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r10d
pextrw $0x2,%xmm2,%edx
pextrw $0x1,%xmm2,%ecx
pextrw $0x3,%xmm2,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movdqa 0x6549(%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    $0x7,%di
mov    %r15d,%r9d
mov    0x20(%rsp),%r8
mov    %r12,%r10
lea    0x6543(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%bp
jg     11a0 <get_first_losing_move+0x90>
lea    0x4(%rbp),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r10w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4ca2 <get_first_losing_move+0x3b92>
mov    $0x19,%r12d
sub    %r8d,%r12d
xor    %r14d,%r14d
test   %r8w,%r8w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x15,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x643f(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %r14d,%r8d
movdqa 0x63ad(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r14d,%r11d
sub    %ebx,%r15d
test   %bx,%bx
cmove  %r14d,%r15d
pandn  %xmm0,%xmm2
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    $0x8,%di
jmp    2833 <get_first_losing_move+0x1723>
pextrw $0x2,%xmm2,%ebp
cmp    $0x14,%bp
jg     11a0 <get_first_losing_move+0x90>
mov    %ebp,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    0x5(%rbp),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r10w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4ddb <get_first_losing_move+0x3ccb>
mov    $0x19,%r12d
sub    %r8d,%r12d
xor    %r14d,%r14d
test   %r8w,%r8w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x14,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x62a7(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %r14d,%r8d
movdqa 0x6215(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r14d,%r11d
sub    %ebx,%r15d
test   %bx,%bx
cmove  %r14d,%r15d
pandn  %xmm0,%xmm2
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    $0x9,%di
jmp    2833 <get_first_losing_move+0x1723>
mov    %r13d,0x8(%rsp)
pextrw $0x2,%xmm2,%r13d
test   $0x3,%r13b
je     42c4 <get_first_losing_move+0x31b4>
lea    0x1(%r13),%edx
cmp    %r8w,%dx
je     7354 <get_first_losing_move+0x6244>
movd   %xmm2,%eax
cmp    %ax,%dx
je     7362 <get_first_losing_move+0x6252>
cmp    %r11w,%dx
je     70db <get_first_losing_move+0x5fcb>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     60fc <get_first_losing_move+0x4fec>
cmp    %r10w,%dx
je     442b <get_first_losing_move+0x331b>
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4439 <get_first_losing_move+0x3329>
mov    $0x19,%r12d
sub    %r8d,%r12d
xor    %r14d,%r14d
test   %r8w,%r8w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x18,%eax
sub    %r13d,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x611a(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
movdqa %xmm3,0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %r14d,%r8d
movdqa 0x6088(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r14d,%r11d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %r14d,%r15d
pandn  %xmm0,%xmm2
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    $0xa,%di
jmp    2833 <get_first_losing_move+0x1723>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     11a0 <get_first_losing_move+0x90>
mov    %r15d,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    -0x3(%r15),%edx
movd   %xmm2,%eax
movd   %r8d,%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    11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
mov    %edx,0x38(%rsp)
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    4f14 <get_first_losing_move+0x3e04>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %r8d,%ebx
xor    %edx,%edx
test   %r8w,%r8w
cmove  %edx,%ebx
mov    $0x1c,%eax
sub    %r15d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x5f62(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
mov    $0x0,%eax
cmove  %eax,%r8d
movdqa 0x5ed6(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
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,0x38(%rsp),%xmm2
mov    $0xb,%di
mov    %r12d,%r9d
jmp    731e <get_first_losing_move+0x620e>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     11a0 <get_first_losing_move+0x90>
lea    -0x4(%r15),%edx
movd   %xmm2,%eax
movd   %r8d,%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    11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
mov    %edx,0x38(%rsp)
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    504e <get_first_losing_move+0x3f3e>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %r8d,%ebx
xor    %edx,%edx
test   %r8w,%r8w
cmove  %edx,%ebx
mov    $0x1d,%eax
sub    %r15d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x5db9(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %ebx,%r8d
test   %bx,%bx
mov    $0x0,%eax
cmove  %eax,%r8d
movdqa 0x5d2d(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
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,0x38(%rsp),%xmm2
mov    $0xc,%di
mov    %r12d,%r9d
jmp    731e <get_first_losing_move+0x620e>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     11a0 <get_first_losing_move+0x90>
mov    %r15d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     11a0 <get_first_losing_move+0x90>
lea    -0x5(%r15),%esi
movd   %xmm2,%eax
movd   %r8d,%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    11a0 <get_first_losing_move+0x90>
movswl %r10w,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
mov    %esi,0x38(%rsp)
jne    5188 <get_first_losing_move+0x4078>
mov    $0x19,%r13d
sub    %r8d,%r13d
xor    %edx,%edx
test   %r8w,%r8w
cmove  %edx,%r13d
mov    $0x19,%r12d
mov    $0x1e,%eax
sub    %r15d,%eax
test   %si,%si
cmove  %edx,%eax
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %edx,%ebx
pxor   %xmm1,%xmm1
movdqa 0x5bfa(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r13d,%r8d
test   %r13w,%r13w
mov    $0x0,%eax
cmove  %eax,%r8d
movdqa 0x5b6e(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
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,0x38(%rsp),%xmm2
mov    $0xd,%di
mov    %r12d,%r9d
jmp    731e <get_first_losing_move+0x620e>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     42d2 <get_first_losing_move+0x31c2>
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    -0x1(%rbp),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r10w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    610a <get_first_losing_move+0x4ffa>
mov    $0x19,%r12d
sub    %r8d,%r12d
xor    %r14d,%r14d
test   %r8w,%r8w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x1a,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x5a59(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %r14d,%r8d
movdqa 0x59c7(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r14d,%r11d
sub    %ebx,%r15d
test   %bx,%bx
cmove  %r14d,%r15d
pandn  %xmm0,%xmm2
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    $0xe,%di
jmp    2833 <get_first_losing_move+0x1723>
pextrw $0x2,%xmm2,%ebp
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%bp
jg     11a0 <get_first_losing_move+0x90>
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    0x3(%rbp),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%eax
cmp    %ax,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r10w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    52ce <get_first_losing_move+0x41be>
mov    $0x19,%r12d
sub    %r8d,%r12d
xor    %r14d,%r14d
test   %r8w,%r8w
cmove  %r14d,%r12d
mov    $0x19,%r15d
mov    $0x16,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r13d
sub    %r10d,%r13d
test   %r10w,%r10w
cmove  %r14d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x58af(%rip),%xmm0
psubw  %xmm2,%xmm0
movdqa %xmm2,%xmm3
pcmpeqw %xmm1,%xmm3
pandn  %xmm0,%xmm3
pextrw $0x1,%xmm3,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r14d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r14d,%ebp
movdqa %xmm3,0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r12d,%r8d
test   %r12w,%r12w
cmove  %r14d,%r8d
movdqa 0x581d(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r14d,%r11d
sub    %ebx,%r15d
test   %bx,%bx
cmove  %r14d,%r15d
pandn  %xmm0,%xmm2
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    $0xf,%di
mov    %r15d,%r9d
jmp    731e <get_first_losing_move+0x620e>
movd   %xmm2,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%ax
jg     11a0 <get_first_losing_move+0x90>
lea    0x4(%rax),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %edi,%ecx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     7333 <get_first_losing_move+0x6223>
cmp    %r10w,%dx
je     668a <get_first_losing_move+0x557a>
cmp    %r9w,%dx
je     5407 <get_first_losing_move+0x42f7>
mov    %r9,0x38(%rsp)
mov    %r13d,0x8(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ecx
sub    %edi,%ecx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ecx
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r9d,%r13d
mov    $0x19,%r15d
mov    %ecx,0x20(%rsp)
movswl %cx,%edi
movswl %r13w,%r8d
cmp    %dx,%bp
jne    5412 <get_first_losing_move+0x4302>
mov    %rbx,%r12
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x15,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
mov    0x38(%rsp),%rax
sub    %eax,%ebp
test   %ax,%ax
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x5669(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
punpckldq %xmm1,%xmm2
mov    $0x10,%di
jmp    2d25 <get_first_losing_move+0x1c15>
movd   %xmm2,%eax
cmp    $0x14,%ax
jg     11a0 <get_first_losing_move+0x90>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     11a0 <get_first_losing_move+0x90>
lea    0x5(%rax),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %edi,%ecx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     733e <get_first_losing_move+0x622e>
cmp    %r10w,%dx
je     6695 <get_first_losing_move+0x5585>
cmp    %r9w,%dx
je     552d <get_first_losing_move+0x441d>
mov    %r9,0x38(%rsp)
mov    %r13d,0x8(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ecx
sub    %edi,%ecx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ecx
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r9d,%r13d
mov    $0x19,%r15d
mov    %ecx,0x20(%rsp)
movswl %cx,%edi
movswl %r13w,%r8d
cmp    %dx,%bp
jne    5538 <get_first_losing_move+0x4428>
mov    %rbx,%r12
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x14,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
mov    0x38(%rsp),%rax
sub    %eax,%ebp
test   %ax,%ax
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x54bd(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
punpckldq %xmm1,%xmm2
mov    $0x11,%di
jmp    2d25 <get_first_losing_move+0x1c15>
movd   %xmm2,%eax
test   $0x3,%al
je     11a0 <get_first_losing_move+0x90>
lea    0x1(%rax),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %edi,%ecx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     70e9 <get_first_losing_move+0x5fd9>
cmp    %r10w,%dx
je     6258 <get_first_losing_move+0x5148>
cmp    %r9w,%dx
je     457c <get_first_losing_move+0x346c>
mov    %r9,0x38(%rsp)
mov    %r13d,0x8(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ecx
sub    %edi,%ecx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ecx
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r9d,%r13d
mov    $0x19,%r15d
mov    %ecx,0x20(%rsp)
movswl %cx,%edi
movswl %r13w,%r8d
cmp    %dx,%bp
jne    4587 <get_first_losing_move+0x3477>
mov    %rbx,%r12
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x18,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
mov    0x38(%rsp),%rax
sub    %eax,%ebp
test   %ax,%ax
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x5321(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
punpckldq %xmm1,%xmm2
mov    $0x12,%di
mov    0x8(%rsp),%r13d
mov    %r12,%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     11a0 <get_first_losing_move+0x90>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     11a0 <get_first_losing_move+0x90>
lea    -0x3(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r8d,%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    66a0 <get_first_losing_move+0x5590>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     66b0 <get_first_losing_move+0x55a0>
movswl %r9w,%ecx
cmp    %ecx,%r12d
je     5653 <get_first_losing_move+0x4543>
mov    %r13d,0x8(%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    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
movswl %r14w,%r8d
cmp    %r12d,%ebp
jne    5663 <get_first_losing_move+0x4553>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x1c,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
movd   %ebp,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
mov    $0x19,%r9d
pxor   %xmm1,%xmm1
movdqa 0x5159(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%r12d,%xmm2
punpckldq %xmm1,%xmm2
mov    $0x13,%di
jmp    731e <get_first_losing_move+0x620e>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     11a0 <get_first_losing_move+0x90>
lea    -0x4(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r8d,%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    66c0 <get_first_losing_move+0x55b0>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     66d0 <get_first_losing_move+0x55c0>
movswl %r9w,%ecx
cmp    %ecx,%r12d
je     5772 <get_first_losing_move+0x4662>
mov    %r13d,0x8(%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    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
movswl %r14w,%r8d
cmp    %r12d,%ebp
jne    5782 <get_first_losing_move+0x4672>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x1d,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
movd   %ebp,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
mov    $0x19,%r9d
pxor   %xmm1,%xmm1
movdqa 0x4fa5(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq %xmm1,%xmm0
mov    $0x14,%di
movdqa %xmm0,%xmm2
jmp    731e <get_first_losing_move+0x620e>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     11a0 <get_first_losing_move+0x90>
mov    %eax,%ecx
and    $0x3,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    -0x5(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r12d
movd   %r8d,%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    66e0 <get_first_losing_move+0x55d0>
movswl %r10w,%ecx
cmp    %ecx,%r12d
je     66f0 <get_first_losing_move+0x55e0>
movswl %r9w,%ecx
cmp    %ecx,%r12d
je     5895 <get_first_losing_move+0x4785>
mov    %r9,0x38(%rsp)
pextrw $0x3,%xmm2,%edi
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%esi
movswl %si,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ebx
mov    $0x19,%ecx
sub    %r8d,%ecx
test   %r8w,%r8w
cmove  %r9d,%ecx
mov    $0x19,%r15d
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x54(%rsp)
movswl %cx,%r8d
cmp    %r12d,%ebp
jne    58a5 <get_first_losing_move+0x4795>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x1e,%esi
sub    %eax,%esi
test   %r12d,%r12d
cmove  %r12d,%esi
mov    $0x19,%ebp
mov    0x38(%rsp),%rax
sub    %eax,%ebp
test   %ax,%ax
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
mov    0x54(%rsp),%ecx
sub    %ecx,%r8d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
mov    $0x19,%r9d
pxor   %xmm1,%xmm1
movdqa 0x4dca(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq %xmm1,%xmm0
mov    $0x15,%di
jmp    35cd <get_first_losing_move+0x24bd>
movd   %xmm2,%eax
test   %ax,%ax
je     42e3 <get_first_losing_move+0x31d3>
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     11a0 <get_first_losing_move+0x90>
lea    -0x1(%rax),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %edi,%ecx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     7370 <get_first_losing_move+0x6260>
cmp    %r10w,%dx
je     70f4 <get_first_losing_move+0x5fe4>
cmp    %r9w,%dx
je     6263 <get_first_losing_move+0x5153>
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    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x19,%r12d
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
movswl %r14w,%r8d
cmp    %dx,%bp
jne    626e <get_first_losing_move+0x515e>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r15d
sub    %r10d,%r15d
test   %r10w,%r10w
cmove  %ecx,%r15d
mov    $0x1a,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4c22(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r10d
sub    %r15d,%r10d
test   %r15w,%r15w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
mov    $0x16,%di
jmp    35cd <get_first_losing_move+0x24bd>
movd   %xmm2,%eax
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%ax
jg     11a0 <get_first_losing_move+0x90>
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     11a0 <get_first_losing_move+0x90>
lea    0x3(%rax),%edx
cmp    %r8w,%dx
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     11a0 <get_first_losing_move+0x90>
cmp    %r11w,%dx
je     11a0 <get_first_losing_move+0x90>
mov    %edi,%ecx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     7349 <get_first_losing_move+0x6239>
cmp    %r10w,%dx
je     6700 <get_first_losing_move+0x55f0>
cmp    %r9w,%dx
je     59cc <get_first_losing_move+0x48bc>
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    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x19,%r15d
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
movswl %r14w,%r8d
cmp    %dx,%bp
jne    59d7 <get_first_losing_move+0x48c7>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %ecx,%ebx
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x16,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %ecx,%esi
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4a79(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%r10d
sub    %r12d,%r10d
test   %r12w,%r12w
cmove  %eax,%r10d
pandn  %xmm2,%xmm1
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
mov    $0x17,%di
movdqa %xmm0,%xmm2
lea    0x4a78(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
test   %r11w,%r11w
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%r11w
jg     11a0 <get_first_losing_move+0x90>
lea    0x4(%r11),%eax
cmp    %r8w,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%edx
cmp    %dx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    %r9w,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rdi
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x497e(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r14w,%esi
movswl %r15w,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%r10w
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    5af4 <get_first_losing_move+0x49e4>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x15,%eax
sub    %r11d,%eax
mov    %r10,0x8(%rsp)
test   %r10w,%r10w
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x48c5(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x18,%di
jmp    429a <get_first_losing_move+0x318a>
cmp    $0x14,%r11w
jg     11a0 <get_first_losing_move+0x90>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    0x5(%r11),%eax
cmp    %r8w,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%edx
cmp    %dx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    %r9w,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rdi
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x47ef(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r14w,%esi
movswl %r15w,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%r10w
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    5bbe <get_first_losing_move+0x4aae>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x14,%eax
sub    %r11d,%eax
mov    %r10,0x8(%rsp)
test   %r10w,%r10w
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4736(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x19,%di
jmp    429a <get_first_losing_move+0x318a>
test   $0x3,%r11b
je     11a0 <get_first_losing_move+0x90>
lea    0x1(%r11),%eax
cmp    %r8w,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%edx
cmp    %dx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    %r9w,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rdi
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x4670(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r14w,%esi
movswl %r15w,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%r10w
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    46a2 <get_first_losing_move+0x3592>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x18,%eax
sub    %r11d,%eax
mov    %r10,0x8(%rsp)
test   %r10w,%r10w
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x45b7(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1a,%di
jmp    429a <get_first_losing_move+0x318a>
cmp    $0x5,%r11w
jl     11a0 <get_first_losing_move+0x90>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     11a0 <get_first_losing_move+0x90>
lea    -0x3(%r11),%r14d
movzwl %r14w,%eax
movd   %r8d,%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    11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
movswl %r9w,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rsi
mov    %r13d,0x8(%rsp)
movd   %xmm2,%edi
movswl %r10w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x44c1(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r13w,%r8d
movswl %r15w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
mov    $0x19,%ebx
cmp    %eax,%ebp
jne    5c88 <get_first_losing_move+0x4b78>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
mov    $0x1c,%eax
mov    %r11,0x40(%rsp)
sub    %r11d,%eax
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
mov    %r8d,%esi
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r13d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4415(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1b,%di
jmp    3da9 <get_first_losing_move+0x2c99>
cmp    $0x5,%r11w
jl     11a0 <get_first_losing_move+0x90>
lea    -0x4(%r11),%r14d
movzwl %r14w,%eax
movd   %r8d,%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    11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
movswl %r9w,%ecx
cmp    %ecx,%eax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rsi
mov    %r13d,0x8(%rsp)
movd   %xmm2,%edi
movswl %r10w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r13d
sub    %edx,%r13d
test   %dx,%dx
cmove  %ecx,%r13d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x432e(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r13w,%r8d
movswl %r15w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
mov    $0x19,%ebx
cmp    %eax,%ebp
jne    5d4f <get_first_losing_move+0x4c3f>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
mov    $0x1d,%eax
mov    %r11,0x40(%rsp)
sub    %r11d,%eax
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
mov    %r8d,%esi
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r13d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4282(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1c,%di
mov    %r14d,%r10d
jmp    5f01 <get_first_losing_move+0x4df1>
cmp    $0x5,%r11w
jl     11a0 <get_first_losing_move+0x90>
mov    %r11d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r13d,0x8(%rsp)
lea    -0x5(%r11),%r13d
movzwl %r13w,%ecx
movd   %r8d,%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    670b <get_first_losing_move+0x55fb>
pextrw $0x1,%xmm2,%edx
movswl %dx,%eax
cmp    %eax,%ecx
je     6719 <get_first_losing_move+0x5609>
movswl %r9w,%eax
cmp    %eax,%ecx
je     5e2d <get_first_losing_move+0x4d1d>
mov    %r9,%rax
movd   %xmm2,%edi
movswl %r10w,%ebp
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %r9d,%r9d
test   %r8w,%r8w
cmove  %r9d,%r15d
mov    $0x19,%r14d
sub    %edx,%r14d
test   %dx,%dx
cmove  %r9d,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x4187(%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,%r8d
cmp    %ecx,%ebp
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    5e3b <get_first_losing_move+0x4d2b>
sub    %edi,%ebx
test   %di,%di
cmove  %r9d,%ebx
sub    %eax,%r12d
test   %ax,%ax
cmove  %r9d,%r12d
mov    $0x1e,%ebp
sub    %r11d,%ebp
test   %r13w,%r13w
cmove  %r9d,%ebp
movswl %dx,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x40d5(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1d,%di
mov    %r13d,%r10d
jmp    5f01 <get_first_losing_move+0x4df1>
test   %r11w,%r11w
je     42fc <get_first_losing_move+0x31ec>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    -0x1(%r11),%eax
cmp    %r8w,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%edx
cmp    %dx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    %r9w,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rdi
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3fee(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r14w,%esi
movswl %r15w,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%r10w
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    638d <get_first_losing_move+0x527d>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x1a,%eax
sub    %r11d,%eax
mov    %r10,0x8(%rsp)
test   %r10w,%r10w
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3f35(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1e,%di
jmp    429a <get_first_losing_move+0x318a>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
je     11a0 <get_first_losing_move+0x90>
cmp    $0x14,%r11w
jg     11a0 <get_first_losing_move+0x90>
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     11a0 <get_first_losing_move+0x90>
lea    0x3(%r11),%eax
cmp    %r8w,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
movd   %xmm2,%edx
cmp    %dx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     11a0 <get_first_losing_move+0x90>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     11a0 <get_first_losing_move+0x90>
cmp    %r9w,%ax
je     11a0 <get_first_losing_move+0x90>
mov    %r9,%rdi
mov    $0x19,%r12d
mov    $0x19,%r15d
sub    %r8d,%r15d
xor    %ecx,%ecx
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3e4a(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r14w,%esi
movswl %r15w,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%r10w
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    5f0f <get_first_losing_move+0x4dff>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x16,%eax
sub    %r11d,%eax
mov    %r10,0x8(%rsp)
test   %r10w,%r10w
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r12w,%ecx
movswl %r8w,%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3d91(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1f,%di
movdqa %xmm1,%xmm2
lea    0x3dab(%rip),%rbx
mov    0x40(%rsp),%r11
mov    0x8(%rsp),%r10
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
xor    %r8d,%r8d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
pand   0x3d56(%rip),%xmm2
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
movdqa %xmm2,%xmm0
pand   0x3d31(%rip),%xmm0
movdqa %xmm0,%xmm2
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
xor    %r11d,%r11d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %dx,%r9w
jne    646b <get_first_losing_move+0x535b>
mov    $0x18,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x3caa(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x3c26(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x3c4a(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %ebx,%r10d
xor    %eax,%eax
test   %bx,%bx
cmove  %eax,%r10d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
mov    $0x2,%di
mov    0x38(%rsp),%r9
jmp    698a <get_first_losing_move+0x587a>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r10,%rbp
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x10(%rsp)
movswl %cx,%esi
movswl %r15w,%r8d
cmp    %r9w,%dx
jne    6589 <get_first_losing_move+0x5479>
mov    $0x18,%ecx
sub    %r13d,%ecx
mov    %r9,%r14
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
cmove  %r10d,%ebx
mov    $0x19,%ebp
sub    %eax,%ebp
test   %ax,%ax
cmove  %r10d,%ebp
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %bx,%edx
movswl %cx,%r9d
movswl %bp,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
mov    $0x19,%r11d
movd   %ebp,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3ace(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
pinsrw $0x2,%r13d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xa,%di
mov    0x8(%rsp),%r13d
lea    0x3adc(%rip),%rbx
mov    %r14,%r9
jmp    11a0 <get_first_losing_move+0x90>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r9d,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %r9d,%r14d
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r9d,%ebp
mov    $0x18,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebx
mov    0x38(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r9d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x39bc(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebx,%r9d
test   %bx,%bx
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%ecx,%xmm2
punpckldq %xmm0,%xmm2
mov    $0x12,%di
jmp    731e <get_first_losing_move+0x620e>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x18,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x38d4(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1a,%di
jmp    6452 <get_first_losing_move+0x5342>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %dx,%r9w
jne    6727 <get_first_losing_move+0x5617>
mov    $0x14,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x3846(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x37c2(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x37e6(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %ebx,%r10d
xor    %eax,%eax
test   %bx,%bx
cmove  %eax,%r10d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
mov    $0x1,%di
mov    0x38(%rsp),%r9
jmp    698a <get_first_losing_move+0x587a>
movswl %r9w,%ebp
mov    $0x1c,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r8d,%r8d
test   %r10w,%r10w
cmove  %r8d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x374d(%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,0x8(%rsp)
mov    %r9,%rcx
pextrw $0x2,%xmm1,%r9d
movdqa %xmm1,0x10(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%ebp
jne    6845 <get_first_losing_move+0x5735>
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    0x8(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x36ca(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
mov    $0x3,%di
jmp    4a74 <get_first_losing_move+0x3964>
movswl %r9w,%ebp
mov    $0x1d,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r8d,%r8d
test   %r10w,%r10w
cmove  %r8d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x3658(%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,0x8(%rsp)
mov    %r9,%rcx
pextrw $0x2,%xmm1,%r9d
movdqa %xmm1,0x10(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%ebp
jne    68ea <get_first_losing_move+0x57da>
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    0x8(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x35d5(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
mov    $0x4,%di
mov    %r14d,%r9d
jmp    698a <get_first_losing_move+0x587a>
mov    %r8,%rcx
mov    %r11,%r8
movswl %r9w,%edi
mov    $0x1e,%ebp
sub    %ecx,%ebp
xor    %r11d,%r11d
test   %ax,%ax
cmove  %r11d,%ebp
mov    $0x19,%r15d
sub    %r10d,%r15d
test   %r10w,%r10w
cmove  %r11d,%r15d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x3557(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%ecx
pextrw $0x1,%xmm1,%r12d
movswl %r15w,%edx
movswl %bp,%esi
mov    %esi,0x8(%rsp)
mov    %r9,%rsi
pextrw $0x2,%xmm1,%r9d
movdqa %xmm1,0x10(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%edi
jne    699d <get_first_losing_move+0x588d>
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r11d,%ebx
movswl %cx,%edi
movswl %r12w,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x8(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x34d2(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
mov    $0x5,%di
mov    %r14d,%r9d
jmp    6a3e <get_first_losing_move+0x592e>
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,%r9w
jne    6a53 <get_first_losing_move+0x5943>
mov    $0x16,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %esi,%ecx
pxor   %xmm1,%xmm1
movdqa 0x3433(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x33af(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x33d3(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %ebx,%r10d
xor    %eax,%eax
test   %bx,%bx
cmove  %eax,%r10d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
mov    $0x7,%di
mov    0x38(%rsp),%r9
jmp    698a <get_first_losing_move+0x587a>
mov    %r10,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x10(%rsp)
movswl %cx,%esi
movswl %r15w,%r8d
cmp    %r9w,%dx
jne    6b6c <get_first_losing_move+0x5a5c>
mov    $0x15,%ecx
sub    %ebp,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r10d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %r14w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
mov    $0x19,%r11d
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3260(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0x8,%di
jmp    623e <get_first_losing_move+0x512e>
mov    %r10,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x10(%rsp)
movswl %cx,%esi
movswl %r15w,%r8d
cmp    %r9w,%dx
jne    6c72 <get_first_losing_move+0x5b62>
mov    $0x14,%ecx
sub    %ebp,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r10d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %r14w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
mov    $0x19,%r11d
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3127(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0x9,%di
jmp    623e <get_first_losing_move+0x512e>
mov    %r11,0x40(%rsp)
movswl %r9w,%r11d
mov    $0x19,%ebx
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %r12d,%r12d
test   %dx,%dx
cmove  %r12d,%r13d
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %r12d,%r14d
mov    $0x1c,%ebp
sub    %r15d,%ebp
mov    $0x19,%ecx
sub    %r10d,%ecx
test   %r10w,%r10w
cmove  %r12d,%ecx
pxor   %xmm1,%xmm1
movdqa 0x3096(%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
mov    %r9,%rcx
movswl %bp,%r9d
movdqa %xmm1,0x20(%rsp)
movd   %xmm1,%r10d
cmp    %r11d,%eax
jne    6d78 <get_first_losing_move+0x5c68>
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
mov    $0x19,%r11d
pxor   %xmm2,%xmm2
movdqa 0x2ff6(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xb,%di
jmp    52c2 <get_first_losing_move+0x41b2>
mov    %r11,0x40(%rsp)
movswl %r9w,%r11d
mov    $0x19,%ebx
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %r12d,%r12d
test   %dx,%dx
cmove  %r12d,%r13d
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %r12d,%r14d
mov    $0x1d,%ebp
sub    %r15d,%ebp
mov    $0x19,%ecx
sub    %r10d,%ecx
test   %r10w,%r10w
cmove  %r12d,%ecx
pxor   %xmm1,%xmm1
movdqa 0x2f5c(%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
mov    %r9,%rcx
movswl %bp,%r9d
movdqa %xmm1,0x20(%rsp)
movd   %xmm1,%r10d
cmp    %r11d,%eax
jne    6e42 <get_first_losing_move+0x5d32>
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
mov    $0x19,%r11d
pxor   %xmm2,%xmm2
movdqa 0x2ebc(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xc,%di
jmp    52c2 <get_first_losing_move+0x41b2>
mov    %r11,0x40(%rsp)
movswl %r9w,%r11d
mov    $0x19,%r13d
sub    %edx,%r13d
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%r13d
mov    $0x19,%r14d
sub    %r8d,%r14d
test   %r8w,%r8w
cmove  %ecx,%r14d
mov    $0x19,%ebx
mov    $0x1e,%ebp
sub    %r15d,%ebp
test   %ax,%ax
cmove  %ecx,%ebp
mov    $0x19,%edx
sub    %r10d,%edx
test   %r10w,%r10w
cmove  %ecx,%edx
pxor   %xmm1,%xmm1
movdqa 0x2e1e(%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
mov    %r9,%rsi
movswl %bp,%r9d
movdqa %xmm1,0x20(%rsp)
movd   %xmm1,%r10d
cmp    %r11d,%eax
jne    6f0c <get_first_losing_move+0x5dfc>
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
mov    $0x19,%r11d
pxor   %xmm2,%xmm2
movdqa 0x2d7d(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xd,%di
mov    0x38(%rsp),%eax
mov    %eax,%r9d
jmp    731e <get_first_losing_move+0x620e>
mov    %r10,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x10(%rsp)
movswl %cx,%esi
movswl %r15w,%r8d
cmp    %r9w,%dx
jne    6fd5 <get_first_losing_move+0x5ec5>
mov    $0x16,%ecx
sub    %ebp,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r10d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %r14w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
mov    $0x19,%r11d
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x2c34(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xf,%di
jmp    623e <get_first_losing_move+0x512e>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r9d,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %r9d,%r14d
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r9d,%ebp
mov    $0x15,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebx
mov    0x38(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r9d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x2b31(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebx,%r9d
test   %bx,%bx
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%ecx,%xmm2
punpckldq %xmm0,%xmm2
mov    $0x10,%di
jmp    731e <get_first_losing_move+0x620e>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r9d,%r12d
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %r9d,%r14d
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r9d,%ebp
mov    $0x14,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebx
mov    0x38(%rsp),%rax
sub    %eax,%ebx
test   %ax,%ax
cmove  %r9d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r14w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r13d,%r8d
xor    %eax,%eax
test   %r13w,%r13w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x2a0b(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebx,%r9d
test   %bx,%bx
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%ecx,%xmm2
punpckldq %xmm0,%xmm2
mov    $0x11,%di
jmp    731e <get_first_losing_move+0x620e>
lea    0x29f6(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
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    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x1c,%r10d
sub    %eax,%r10d
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r13d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x28ec(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%ecx,%xmm2
punpckldq %xmm0,%xmm2
mov    $0x13,%di
jmp    731e <get_first_losing_move+0x620e>
lea    0x28d7(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
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    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x1d,%r10d
sub    %eax,%r10d
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r13d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x27cd(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%ecx,%xmm1
punpckldq %xmm0,%xmm1
mov    $0x14,%di
movdqa %xmm1,%xmm2
jmp    731e <get_first_losing_move+0x620e>
lea    0x27b4(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r13d,0x8(%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    %r10d,%ebx
test   %r10w,%r10w
cmove  %r9d,%ebx
mov    $0x1e,%r10d
sub    %eax,%r10d
test   %r12d,%r12d
cmove  %r12d,%r10d
mov    $0x19,%ebp
mov    0x38(%rsp),%rax
sub    %eax,%ebp
test   %ax,%ax
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
mov    0x54(%rsp),%ecx
sub    %ecx,%r8d
xor    %eax,%eax
test   %cx,%cx
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %r14d,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x2696(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%ecx,%xmm1
punpckldq %xmm0,%xmm1
mov    $0x15,%di
movdqa %xmm1,%xmm2
jmp    731e <get_first_losing_move+0x620e>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r13d,0x8(%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    %r10d,%r13d
test   %r10w,%r10w
cmove  %ecx,%r13d
mov    $0x16,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%r12d
sub    %r9d,%r12d
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x256e(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %ebx,%ecx
test   %bx,%bx
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%ecx,%xmm1
punpckldq %xmm0,%xmm1
mov    $0x17,%di
movdqa %xmm1,%xmm2
jmp    731e <get_first_losing_move+0x620e>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x15,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x2482(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x18,%di
jmp    6452 <get_first_losing_move+0x5342>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x14,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x23b8(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x19,%di
jmp    6452 <get_first_losing_move+0x5342>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %ecx,%ebp
sub    %esi,%r12d
test   %si,%si
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    %r8d,%esi
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r13d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x22f1(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1b,%di
jmp    5e11 <get_first_losing_move+0x4d01>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %ecx,%ebp
sub    %esi,%r12d
test   %si,%si
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    %r8d,%esi
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r13d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x222a(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1c,%di
movdqa %xmm1,%xmm2
mov    0x8(%rsp),%r13d
lea    0x222f(%rip),%rbx
mov    %r14,%r11
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r9d,%ebx
mov    $0x19,%ebp
sub    %edi,%ebp
test   %di,%di
cmove  %r9d,%ebp
sub    %eax,%r12d
test   %ax,%ax
cmove  %r9d,%r12d
mov    $0x1e,%eax
sub    %r11d,%eax
test   %r13w,%r13w
cmove  %r9d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x213a(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1d,%di
movdqa %xmm1,%xmm2
mov    0x8(%rsp),%r13d
jmp    6456 <get_first_losing_move+0x5346>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x16,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x2067(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1f,%di
jmp    6452 <get_first_losing_move+0x5342>
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %ecx,%r14d
xor    %esi,%esi
test   %cx,%cx
cmove  %esi,%r14d
movswl %r14w,%edi
cmp    %dx,%r9w
jne    70ff <get_first_losing_move+0x5fef>
mov    $0x1a,%ecx
mov    %r8,%r12
sub    %r8d,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1fd9(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x1f55(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x1f79(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %ebx,%r10d
xor    %eax,%eax
test   %bx,%bx
cmove  %eax,%r10d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
mov    $0x6,%di
mov    0x38(%rsp),%r9
jmp    698a <get_first_losing_move+0x587a>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r10,%r12
mov    $0x19,%r13d
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x20(%rsp)
movswl %bx,%edi
mov    %ecx,0x10(%rsp)
movswl %cx,%esi
movswl %r15w,%r8d
cmp    %r9w,%dx
jne    721d <get_first_losing_move+0x610d>
mov    $0x1a,%ecx
sub    %ebp,%ecx
mov    %r9,0x38(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r14d
sub    %r12d,%r14d
test   %r12w,%r12w
cmove  %r10d,%r14d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %r14w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r13w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
mov    $0x19,%r11d
movd   %ebx,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x1df8(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%r10d
sub    %r14d,%r10d
test   %r14w,%r14w
cmove  %eax,%r10d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xe,%di
mov    0x8(%rsp),%r13d
mov    0x38(%rsp),%r9
lea    0x1e01(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r13d,0x8(%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    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
mov    $0x1a,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %ecx,%r10d
mov    $0x19,%r13d
sub    %r9d,%r13d
test   %r9w,%r9w
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
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebx,%xmm1
pinsrw $0x1,0x20(%rsp),%xmm1
pxor   %xmm0,%xmm0
movdqa 0x1cd6(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
pandn  %xmm2,%xmm0
mov    $0x19,%ecx
sub    %r15d,%ecx
test   %r15w,%r15w
cmove  %eax,%ecx
mov    $0x19,%r10d
sub    %ebp,%r10d
test   %bp,%bp
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
cmove  %eax,%r9d
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%ecx,%xmm1
punpckldq %xmm0,%xmm1
mov    $0x16,%di
movdqa %xmm1,%xmm2
jmp    731e <get_first_losing_move+0x620e>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r12d
test   %di,%di
cmove  %ecx,%r12d
mov    $0x1a,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r8w,%r9d
movswl %bp,%r11d
movswl %r10w,%r10d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r10
push   %r11
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%r9d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x1be9(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
mov    $0x1e,%di
movdqa %xmm1,%xmm2
lea    0x1bf3(%rip),%rbx
mov    0x40(%rsp),%r11
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r8,%rcx
mov    $0x18,%r8d
mov    %rcx,0x20(%rsp)
sub    %ecx,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1b6c(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rcx
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x1ad4(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x1af8(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %eax,%eax
test   %r12w,%r12w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x2,%di
jmp    1828 <get_first_losing_move+0x718>
mov    %r9,%rcx
mov    $0x18,%r9d
sub    %r13d,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r10d,%r14d
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r10d,%ebp
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %bx,%edx
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r12w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x19c1(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm1,%xmm2
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
pinsrw $0x2,%r13d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xa,%di
jmp    731e <get_first_losing_move+0x620e>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x19a9(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x1999(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x1989(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x1979(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x1969(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
lea    0x1959(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r8,%rcx
mov    $0x14,%r8d
mov    %rcx,0x20(%rsp)
sub    %ecx,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x18b0(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rcx
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x1818(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x183c(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %eax,%eax
test   %r12w,%r12w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x1,%di
jmp    1828 <get_first_losing_move+0x718>
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    0x8(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x1774(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x3,%di
jmp    698a <get_first_losing_move+0x587a>
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    0x8(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x16cf(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x4,%di
mov    %r12,%r8
lea    0x16bc(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
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    0x8(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
pxor   %xmm2,%xmm2
movdqa 0x161b(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r15d,%r10d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x5,%di
mov    0x20(%rsp),%r8
lea    0x1606(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r8,%rcx
mov    $0x16,%r8d
mov    %rcx,0x20(%rsp)
sub    %ecx,%r8d
test   %dx,%dx
cmove  %esi,%r8d
pxor   %xmm1,%xmm1
movdqa 0x1589(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rcx
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x14f1(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x1515(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %eax,%eax
test   %r12w,%r12w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x7,%di
jmp    1828 <get_first_losing_move+0x718>
mov    %r9,%rcx
mov    $0x15,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r10d,%r14d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r10d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x13d9(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm1,%xmm2
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0x8,%di
jmp    731e <get_first_losing_move+0x620e>
mov    %r9,%rcx
mov    $0x14,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r10d,%r14d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r10d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x12d3(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm1,%xmm2
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0x9,%di
jmp    731e <get_first_losing_move+0x620e>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r12d,%ebp
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
pxor   %xmm2,%xmm2
movdqa 0x1212(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xb,%di
jmp    731e <get_first_losing_move+0x620e>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r12d,%ebp
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
pxor   %xmm2,%xmm2
movdqa 0x1148(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xc,%di
jmp    731e <get_first_losing_move+0x620e>
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %ecx,%ebp
mov    0x40(%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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r14d,%r8d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r8d
mov    $0x19,%ecx
sub    %r13d,%ecx
test   %r13w,%r13w
cmove  %eax,%ecx
pxor   %xmm2,%xmm2
movdqa 0x107f(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
mov    $0x19,%r10d
mov    0x10(%rsp),%edx
sub    %edx,%r10d
test   %dx,%dx
cmove  %eax,%r10d
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xd,%di
jmp    731e <get_first_losing_move+0x620e>
mov    %r9,%rcx
mov    $0x16,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r10d,%r14d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r10d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0xf70(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm1,%xmm2
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xf,%di
jmp    731e <get_first_losing_move+0x620e>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %r8,%rcx
mov    $0x1a,%r8d
mov    %rcx,0x20(%rsp)
sub    %ecx,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0xed8(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
mov    %r9,%rcx
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %esi,%r12d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %esi,%ebx
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
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_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0xe40(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0xe64(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %eax,%eax
test   %r12w,%r12w
cmove  %eax,%r10d
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %eax,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %eax,%r9d
mov    $0x6,%di
jmp    1828 <get_first_losing_move+0x718>
mov    %r9,%rcx
mov    $0x1a,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%ebx
sub    %r12d,%ebx
test   %r12w,%r12w
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %eax,%r14d
test   %ax,%ax
cmove  %r10d,%r14d
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r10d,%r12d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r10d,%r13d
movswl %bx,%edx
movswl %r12w,%ecx
movswl %r9w,%r9d
movswl %r14w,%r10d
movswl %r13w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    $0x19,%r9d
mov    $0x19,%r8d
sub    %r15d,%r8d
xor    %eax,%eax
test   %r15w,%r15w
cmove  %eax,%r8d
mov    $0x19,%ecx
mov    0x20(%rsp),%edx
sub    %edx,%ecx
test   %dx,%dx
cmove  %eax,%ecx
movd   %r14d,%xmm0
pinsrw $0x1,0x10(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0xd28(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
cmove  %eax,%r10d
pandn  %xmm1,%xmm2
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %eax,%r11d
sub    %r12d,%r9d
test   %r12w,%r12w
cmove  %eax,%r9d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%ecx,%xmm2
mov    $0xe,%di
mov    0x8(%rsp),%r13d
lea    0xd26(%rip),%rbx
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    0x8(%rsp),%r13d
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %ecx,%edi
add    $0xffffffff,%r13d
jmp    11a4 <get_first_losing_move+0x94>
mov    %edi,%r15d
test   %r8w,%r8w
je     75b1 <get_first_losing_move+0x64a1>
cmp    $0x14,%r8w
jg     75b1 <get_first_losing_move+0x64a1>
lea    0x4(%r8),%edi
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%di
je     75b1 <get_first_losing_move+0x64a1>
mov    %r9,%r14
movd   %xmm2,%r9d
cmp    %r9w,%di
je     75b1 <get_first_losing_move+0x64a1>
cmp    %r11w,%di
je     75b1 <get_first_losing_move+0x64a1>
pextrw $0x3,%xmm2,%eax
cmp    %ax,%di
je     75b1 <get_first_losing_move+0x64a1>
pextrw $0x1,%xmm2,%esi
cmp    %si,%di
je     75b1 <get_first_losing_move+0x64a1>
cmp    %di,%r10w
jne    747c <get_first_losing_move+0x636c>
mov    $0x19,%edi
sub    %eax,%edi
xor    %r12d,%r12d
test   %ax,%ax
cmove  %r12d,%edi
mov    %r8,%rax
mov    $0x15,%r8d
sub    %eax,%r8d
test   %r10w,%r10w
cmove  %r12d,%r8d
mov    $0x19,%eax
sub    %esi,%eax
test   %si,%si
cmove  %r12d,%eax
mov    $0x19,%ebx
mov    $0x19,%edx
sub    %ecx,%edx
test   %cx,%cx
cmove  %r12d,%edx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %r12d,%ebp
mov    $0x19,%ecx
sub    %r14d,%ecx
test   %r14w,%r14w
cmove  %r12d,%ecx
sub    %r11d,%ebx
test   %r11w,%r11w
mov    $0x0,%r15d
cmove  %r12d,%ebx
movswl %di,%edi
movswl %ax,%esi
movswl %cx,%ecx
movswl %r8w,%r8d
movswl %dx,%r9d
movswl %bp,%ebp
movswl %bx,%ebx
xor    %edx,%edx
jmp    759f <get_first_losing_move+0x648f>
mov    %r10,%r15
mov    %r8,%rbx
mov    $0x19,%r10d
mov    $0x19,%edx
sub    %eax,%edx
xor    %r12d,%r12d
test   %ax,%ax
cmove  %r12d,%edx
mov    $0x15,%r8d
sub    %ebx,%r8d
cmp    %di,%r14w
jne    751c <get_first_losing_move+0x640c>
test   %r14w,%r14w
cmove  %r12d,%r8d
mov    $0x19,%eax
sub    %esi,%eax
test   %si,%si
cmove  %r12d,%eax
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r12d,%ebp
mov    $0x19,%ecx
sub    %r15d,%ecx
test   %r15w,%r15w
cmove  %r12d,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r12d,%ebx
sub    %r11d,%r10d
test   %r11w,%r11w
mov    $0x0,%r15d
cmove  %r12d,%r10d
movswl %dx,%edi
movswl %ax,%esi
movswl %cx,%edx
movswl %r8w,%r8d
movswl %bp,%r9d
movswl %bx,%ebp
movswl %r10w,%ebx
xor    %ecx,%ecx
jmp    759f <get_first_losing_move+0x648f>
test   %di,%di
cmove  %r12d,%r8d
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %r12d,%ebp
mov    %r11,%rsi
mov    $0x19,%r11d
sub    %ecx,%r11d
test   %cx,%cx
cmove  %r12d,%r11d
mov    $0x19,%eax
sub    %r15d,%eax
test   %r15w,%r15w
cmove  %r12d,%eax
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r12d,%ebx
mov    $0x19,%ecx
sub    %r14d,%ecx
test   %r14w,%r14w
cmove  %r12d,%ecx
sub    %esi,%r10d
test   %si,%si
mov    $0x0,%r15d
cmove  %r12d,%r10d
movswl %dx,%edi
movswl %bp,%esi
movswl %ax,%edx
movswl %cx,%ecx
movswl %r8w,%r8d
movswl %r11w,%r9d
movswl %bx,%ebp
movswl %r10w,%ebx
xor    %eax,%eax
push   %rbx
push   %rbp
call   1030 <get_first_winning_move@plt>
add    $0x10,%rsp
cmp    $0xffffffff,%eax
je     75b6 <get_first_losing_move+0x64a6>
mov    %r15d,%ecx
jmp    75ba <get_first_losing_move+0x64aa>
mov    $0xffff,%cx
mov    %ecx,%eax
add    $0x58,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define signext i16 @get_first_losing_move(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
%22 = 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
%23 = load i16, i16* %10
%24 = sext i16 %23 to i32
%25 = load i16, i16* %11
%26 = sext i16 %25 to i32
%27 = load i16, i16* %12
%28 = sext i16 %27 to i32
%29 = load i16, i16* %13
%30 = sext i16 %29 to i32
%31 = load i16, i16* %14
%32 = sext i16 %31 to i32
%33 = load i16, i16* %15
%34 = sext i16 %33 to i32
%35 = load i16, i16* %16
%36 = sext i16 %35 to i32
%37 = load i16, i16* %17
%38 = sext i16 %37 to i32
%39 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %24, i32 %26, i32 %28, i32 %30, i32 %32, i32 %34, i32 %36, i32 %38)
%40 = icmp ne i32 %39, -1
br i1 %40, label %41, label %42
41: ; preds = %8
store i16 -2, i16* %9
br label %18764
42: ; preds = %8
store i16 -1, i16* %21
store i16 31, i16* %22
br label %43
43: ; preds = %18759, %42
%44 = load i16, i16* %22
%45 = sext i16 %44 to i32
%46 = icmp sle i32 0, %45
br i1 %46, label %47, label %18762
47: ; preds = %43
%48 = load i16, i16* %22
%49 = sext i16 %48 to i32
%50 = icmp eq i32 %49, 0
br i1 %50, label %51, label %732
51: ; preds = %47
%52 = load i16, i16* %10
%53 = sext i16 %52 to i32
%54 = icmp ne i32 %53, 0
br i1 %54, label %55, label %731
55: ; preds = %51
%56 = load i16, i16* %10
%57 = sext i16 %56 to i32
%58 = icmp slt i32 %57, 21
br i1 %58, label %59, label %731
59: ; preds = %55
%60 = load i16, i16* %10
store i16 %60, i16* %19
%61 = load i16, i16* %19
%62 = sext i16 %61 to i32
%63 = add nsw i32 %62, 4
%64 = trunc i32 %63 to i16
store i16 %64, i16* %20
%65 = load i16, i16* %20
%66 = sext i16 %65 to i32
%67 = load i16, i16* %11
%68 = sext i16 %67 to i32
%69 = icmp ne i32 %66, %68
br i1 %69, label %70, label %730
70: ; preds = %59
%71 = load i16, i16* %20
%72 = sext i16 %71 to i32
%73 = load i16, i16* %12
%74 = sext i16 %73 to i32
%75 = icmp ne i32 %72, %74
br i1 %75, label %76, label %730
76: ; preds = %70
%77 = load i16, i16* %20
%78 = sext i16 %77 to i32
%79 = load i16, i16* %13
%80 = sext i16 %79 to i32
%81 = icmp ne i32 %78, %80
br i1 %81, label %82, label %730
82: ; preds = %76
%83 = load i16, i16* %20
%84 = sext i16 %83 to i32
%85 = load i16, i16* %14
%86 = sext i16 %85 to i32
%87 = icmp ne i32 %84, %86
br i1 %87, label %88, label %730
88: ; preds = %82
%89 = load i16, i16* %20
%90 = sext i16 %89 to i32
%91 = load i16, i16* %15
%92 = sext i16 %91 to i32
%93 = icmp ne i32 %90, %92
br i1 %93, label %94, label %730
94: ; preds = %88
%95 = load i16, i16* %20
store i16 %95, i16* %10
%96 = load i16, i16* %16
%97 = sext i16 %96 to i32
%98 = load i16, i16* %20
%99 = sext i16 %98 to i32
%100 = icmp eq i32 %97, %99
br i1 %100, label %101, label %308
101: ; preds = %94
store i16 0, i16* %16
%102 = load i16, i16* %10
store i16 %102, i16* %18
%103 = load i16, i16* %14
%104 = sext i16 %103 to i32
%105 = icmp eq i32 %104, 0
br i1 %105, label %106, label %107
106: ; preds = %101
br label %111
107: ; preds = %101
%108 = load i16, i16* %14
%109 = sext i16 %108 to i32
%110 = sub nsw i32 25, %109
br label %111
111: ; preds = %107, %106
%112 = phi i32 [ 0, %106 ], [ %110, %107 ]
%113 = trunc i32 %112 to i16
store i16 %113, i16* %10
%114 = load i16, i16* %18
%115 = sext i16 %114 to i32
%116 = icmp eq i32 %115, 0
br i1 %116, label %117, label %118
117: ; preds = %111
br label %122
118: ; preds = %111
%119 = load i16, i16* %18
%120 = sext i16 %119 to i32
%121 = sub nsw i32 25, %120
br label %122
122: ; preds = %118, %117
%123 = phi i32 [ 0, %117 ], [ %121, %118 ]
%124 = trunc i32 %123 to i16
store i16 %124, i16* %14
%125 = load i16, i16* %11
store i16 %125, i16* %18
%126 = load i16, i16* %15
%127 = sext i16 %126 to i32
%128 = icmp eq i32 %127, 0
br i1 %128, label %129, label %130
129: ; preds = %122
br label %134
130: ; preds = %122
%131 = load i16, i16* %15
%132 = sext i16 %131 to i32
%133 = sub nsw i32 25, %132
br label %134
134: ; preds = %130, %129
%135 = phi i32 [ 0, %129 ], [ %133, %130 ]
%136 = trunc i32 %135 to i16
store i16 %136, i16* %11
%137 = load i16, i16* %18
%138 = sext i16 %137 to i32
%139 = icmp eq i32 %138, 0
br i1 %139, label %140, label %141
140: ; preds = %134
br label %145
141: ; preds = %134
%142 = load i16, i16* %18
%143 = sext i16 %142 to i32
%144 = sub nsw i32 25, %143
br label %145
145: ; preds = %141, %140
%146 = phi i32 [ 0, %140 ], [ %144, %141 ]
%147 = trunc i32 %146 to i16
store i16 %147, i16* %15
%148 = load i16, i16* %12
store i16 %148, i16* %18
%149 = load i16, i16* %16
%150 = sext i16 %149 to i32
%151 = icmp eq i32 %150, 0
br i1 %151, label %152, label %153
152: ; preds = %145
br label %157
153: ; preds = %145
%154 = load i16, i16* %16
%155 = sext i16 %154 to i32
%156 = sub nsw i32 25, %155
br label %157
157: ; preds = %153, %152
%158 = phi i32 [ 0, %152 ], [ %156, %153 ]
%159 = trunc i32 %158 to i16
store i16 %159, i16* %12
%160 = load i16, i16* %18
%161 = sext i16 %160 to i32
%162 = icmp eq i32 %161, 0
br i1 %162, label %163, label %164
163: ; preds = %157
br label %168
164: ; preds = %157
%165 = load i16, i16* %18
%166 = sext i16 %165 to i32
%167 = sub nsw i32 25, %166
br label %168
168: ; preds = %164, %163
%169 = phi i32 [ 0, %163 ], [ %167, %164 ]
%170 = trunc i32 %169 to i16
store i16 %170, i16* %16
%171 = load i16, i16* %13
store i16 %171, i16* %18
%172 = load i16, i16* %17
%173 = sext i16 %172 to i32
%174 = icmp eq i32 %173, 0
br i1 %174, label %175, label %176
175: ; preds = %168
br label %180
176: ; preds = %168
%177 = load i16, i16* %17
%178 = sext i16 %177 to i32
%179 = sub nsw i32 25, %178
br label %180
180: ; preds = %176, %175
%181 = phi i32 [ 0, %175 ], [ %179, %176 ]
%182 = trunc i32 %181 to i16
store i16 %182, i16* %13
%183 = load i16, i16* %18
%184 = sext i16 %183 to i32
%185 = icmp eq i32 %184, 0
br i1 %185, label %186, label %187
186: ; preds = %180
br label %191
187: ; preds = %180
%188 = load i16, i16* %18
%189 = sext i16 %188 to i32
%190 = sub nsw i32 25, %189
br label %191
191: ; preds = %187, %186
%192 = phi i32 [ 0, %186 ], [ %190, %187 ]
%193 = trunc i32 %192 to i16
store i16 %193, i16* %17
%194 = load i16, i16* %10
%195 = sext i16 %194 to i32
%196 = load i16, i16* %11
%197 = sext i16 %196 to i32
%198 = load i16, i16* %12
%199 = sext i16 %198 to i32
%200 = load i16, i16* %13
%201 = sext i16 %200 to i32
%202 = load i16, i16* %14
%203 = sext i16 %202 to i32
%204 = load i16, i16* %15
%205 = sext i16 %204 to i32
%206 = load i16, i16* %16
%207 = sext i16 %206 to i32
%208 = load i16, i16* %17
%209 = sext i16 %208 to i32
%210 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %195, i32 %197, i32 %199, i32 %201, i32 %203, i32 %205, i32 %207, i32 %209)
%211 = icmp eq i32 %210, -1
br i1 %211, label %212, label %213
212: ; preds = %191
store i16 -1, i16* %9
br label %18764
213: ; preds = %191
%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* %22
store i16 %306, i16* %21
%307 = load i16, i16* %20
store i16 %307, i16* %16
br label %728
308: ; preds = %94
%309 = load i16, i16* %17
%310 = sext i16 %309 to i32
%311 = load i16, i16* %20
%312 = sext i16 %311 to i32
%313 = icmp eq i32 %310, %312
br i1 %313, label %314, label %521
314: ; preds = %308
store i16 0, i16* %17
%315 = load i16, i16* %10
store i16 %315, i16* %18
%316 = load i16, i16* %14
%317 = sext i16 %316 to i32
%318 = icmp eq i32 %317, 0
br i1 %318, label %319, label %320
319: ; preds = %314
br label %324
320: ; preds = %314
%321 = load i16, i16* %14
%322 = sext i16 %321 to i32
%323 = sub nsw i32 25, %322
br label %324
324: ; preds = %320, %319
%325 = phi i32 [ 0, %319 ], [ %323, %320 ]
%326 = trunc i32 %325 to i16
store i16 %326, i16* %10
%327 = load i16, i16* %18
%328 = sext i16 %327 to i32
%329 = icmp eq i32 %328, 0
br i1 %329, label %330, label %331
330: ; preds = %324
br label %335
331: ; preds = %324
%332 = load i16, i16* %18
%333 = sext i16 %332 to i32
%334 = sub nsw i32 25, %333
br label %335
335: ; preds = %331, %330
%336 = phi i32 [ 0, %330 ], [ %334, %331 ]
%337 = trunc i32 %336 to i16
store i16 %337, i16* %14
%338 = load i16, i16* %11
store i16 %338, i16* %18
%339 = load i16, i16* %15
%340 = sext i16 %339 to i32
%341 = icmp eq i32 %340, 0
br i1 %341, label %342, label %343
342: ; preds = %335
br label %347
343: ; preds = %335
%344 = load i16, i16* %15
%345 = sext i16 %344 to i32
%346 = sub nsw i32 25, %345
br label %347
347: ; preds = %343, %342
%348 = phi i32 [ 0, %342 ], [ %346, %343 ]
%349 = trunc i32 %348 to i16
store i16 %349, i16* %11
%350 = load i16, i16* %18
%351 = sext i16 %350 to i32
%352 = icmp eq i32 %351, 0
br i1 %352, label %353, label %354
353: ; preds = %347
br label %358
354: ; preds = %347
%355 = load i16, i16* %18
%356 = sext i16 %355 to i32
%357 = sub nsw i32 25, %356
br label %358
358: ; preds = %354, %353
%359 = phi i32 [ 0, %353 ], [ %357, %354 ]
%360 = trunc i32 %359 to i16
store i16 %360, i16* %15
%361 = load i16, i16* %12
store i16 %361, i16* %18
%362 = load i16, i16* %16
%363 = sext i16 %362 to i32
%364 = icmp eq i32 %363, 0
br i1 %364, label %365, label %366
365: ; preds = %358
br label %370
366: ; preds = %358
%367 = load i16, i16* %16
%368 = sext i16 %367 to i32
%369 = sub nsw i32 25, %368
br label %370
370: ; preds = %366, %365
%371 = phi i32 [ 0, %365 ], [ %369, %366 ]
%372 = trunc i32 %371 to i16
store i16 %372, i16* %12
%373 = load i16, i16* %18
%374 = sext i16 %373 to i32
%375 = icmp eq i32 %374, 0
br i1 %375, label %376, label %377
376: ; preds = %370
br label %381
377: ; preds = %370
%378 = load i16, i16* %18
%379 = sext i16 %378 to i32
%380 = sub nsw i32 25, %379
br label %381
381: ; preds = %377, %376
%382 = phi i32 [ 0, %376 ], [ %380, %377 ]
%383 = trunc i32 %382 to i16
store i16 %383, i16* %16
%384 = load i16, i16* %13
store i16 %384, i16* %18
%385 = load i16, i16* %17
%386 = sext i16 %385 to i32
%387 = icmp eq i32 %386, 0
br i1 %387, label %388, label %389
388: ; preds = %381
br label %393
389: ; preds = %381
%390 = load i16, i16* %17
%391 = sext i16 %390 to i32
%392 = sub nsw i32 25, %391
br label %393
393: ; preds = %389, %388
%394 = phi i32 [ 0, %388 ], [ %392, %389 ]
%395 = trunc i32 %394 to i16
store i16 %395, i16* %13
%396 = load i16, i16* %18
%397 = sext i16 %396 to i32
%398 = icmp eq i32 %397, 0
br i1 %398, label %399, label %400
399: ; preds = %393
br label %404
400: ; preds = %393
%401 = load i16, i16* %18
%402 = sext i16 %401 to i32
%403 = sub nsw i32 25, %402
br label %404
404: ; preds = %400, %399
%405 = phi i32 [ 0, %399 ], [ %403, %400 ]
%406 = trunc i32 %405 to i16
store i16 %406, i16* %17
%407 = load i16, i16* %10
%408 = sext i16 %407 to i32
%409 = load i16, i16* %11
%410 = sext i16 %409 to i32
%411 = load i16, i16* %12
%412 = sext i16 %411 to i32
%413 = load i16, i16* %13
%414 = sext i16 %413 to i32
%415 = load i16, i16* %14
%416 = sext i16 %415 to i32
%417 = load i16, i16* %15
%418 = sext i16 %417 to i32
%419 = load i16, i16* %16
%420 = sext i16 %419 to i32
%421 = load i16, i16* %17
%422 = sext i16 %421 to i32
%423 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %408, i32 %410, i32 %412, i32 %414, i32 %416, i32 %418, i32 %420, i32 %422)
%424 = icmp eq i32 %423, -1
br i1 %424, label %425, label %426
425: ; preds = %404
store i16 -1, i16* %9
br label %18764
426: ; preds = %404
%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* %22
store i16 %519, i16* %21
%520 = load i16, i16* %20
store i16 %520, i16* %17
br label %727
521: ; preds = %308
%522 = load i16, i16* %10
store i16 %522, i16* %18
%523 = load i16, i16* %14
%524 = sext i16 %523 to i32
%525 = icmp eq i32 %524, 0
br i1 %525, label %526, label %527
526: ; preds = %521
br label %531
527: ; preds = %521
%528 = load i16, i16* %14
%529 = sext i16 %528 to i32
%530 = sub nsw i32 25, %529
br label %531
531: ; preds = %527, %526
%532 = phi i32 [ 0, %526 ], [ %530, %527 ]
%533 = trunc i32 %532 to i16
store i16 %533, i16* %10
%534 = load i16, i16* %18
%535 = sext i16 %534 to i32
%536 = icmp eq i32 %535, 0
br i1 %536, label %537, label %538
537: ; preds = %531
br label %542
538: ; preds = %531
%539 = load i16, i16* %18
%540 = sext i16 %539 to i32
%541 = sub nsw i32 25, %540
br label %542
542: ; preds = %538, %537
%543 = phi i32 [ 0, %537 ], [ %541, %538 ]
%544 = trunc i32 %543 to i16
store i16 %544, i16* %14
%545 = load i16, i16* %11
store i16 %545, i16* %18
%546 = load i16, i16* %15
%547 = sext i16 %546 to i32
%548 = icmp eq i32 %547, 0
br i1 %548, label %549, label %550
549: ; preds = %542
br label %554
550: ; preds = %542
%551 = load i16, i16* %15
%552 = sext i16 %551 to i32
%553 = sub nsw i32 25, %552
br label %554
554: ; preds = %550, %549
%555 = phi i32 [ 0, %549 ], [ %553, %550 ]
%556 = trunc i32 %555 to i16
store i16 %556, i16* %11
%557 = load i16, i16* %18
%558 = sext i16 %557 to i32
%559 = icmp eq i32 %558, 0
br i1 %559, label %560, label %561
560: ; preds = %554
br label %565
561: ; preds = %554
%562 = load i16, i16* %18
%563 = sext i16 %562 to i32
%564 = sub nsw i32 25, %563
br label %565
565: ; preds = %561, %560
%566 = phi i32 [ 0, %560 ], [ %564, %561 ]
%567 = trunc i32 %566 to i16
store i16 %567, i16* %15
%568 = load i16, i16* %12
store i16 %568, i16* %18
%569 = load i16, i16* %16
%570 = sext i16 %569 to i32
%571 = icmp eq i32 %570, 0
br i1 %571, label %572, label %573
572: ; preds = %565
br label %577
573: ; preds = %565
%574 = load i16, i16* %16
%575 = sext i16 %574 to i32
%576 = sub nsw i32 25, %575
br label %577
577: ; preds = %573, %572
%578 = phi i32 [ 0, %572 ], [ %576, %573 ]
%579 = trunc i32 %578 to i16
store i16 %579, i16* %12
%580 = load i16, i16* %18
%581 = sext i16 %580 to i32
%582 = icmp eq i32 %581, 0
br i1 %582, label %583, label %584
583: ; preds = %577
br label %588
584: ; preds = %577
%585 = load i16, i16* %18
%586 = sext i16 %585 to i32
%587 = sub nsw i32 25, %586
br label %588
588: ; preds = %584, %583
%589 = phi i32 [ 0, %583 ], [ %587, %584 ]
%590 = trunc i32 %589 to i16
store i16 %590, i16* %16
%591 = load i16, i16* %13
store i16 %591, i16* %18
%592 = load i16, i16* %17
%593 = sext i16 %592 to i32
%594 = icmp eq i32 %593, 0
br i1 %594, label %595, label %596
595: ; preds = %588
br label %600
596: ; preds = %588
%597 = load i16, i16* %17
%598 = sext i16 %597 to i32
%599 = sub nsw i32 25, %598
br label %600
600: ; preds = %596, %595
%601 = phi i32 [ 0, %595 ], [ %599, %596 ]
%602 = trunc i32 %601 to i16
store i16 %602, i16* %13
%603 = load i16, i16* %18
%604 = sext i16 %603 to i32
%605 = icmp eq i32 %604, 0
br i1 %605, label %606, label %607
606: ; preds = %600
br label %611
607: ; preds = %600
%608 = load i16, i16* %18
%609 = sext i16 %608 to i32
%610 = sub nsw i32 25, %609
br label %611
611: ; preds = %607, %606
%612 = phi i32 [ 0, %606 ], [ %610, %607 ]
%613 = trunc i32 %612 to i16
store i16 %613, i16* %17
%614 = load i16, i16* %10
%615 = sext i16 %614 to i32
%616 = load i16, i16* %11
%617 = sext i16 %616 to i32
%618 = load i16, i16* %12
%619 = sext i16 %618 to i32
%620 = load i16, i16* %13
%621 = sext i16 %620 to i32
%622 = load i16, i16* %14
%623 = sext i16 %622 to i32
%624 = load i16, i16* %15
%625 = sext i16 %624 to i32
%626 = load i16, i16* %16
%627 = sext i16 %626 to i32
%628 = load i16, i16* %17
%629 = sext i16 %628 to i32
%630 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %615, i32 %617, i32 %619, i32 %621, i32 %623, i32 %625, i32 %627, i32 %629)
%631 = icmp eq i32 %630, -1
br i1 %631, label %632, label %633
632: ; preds = %611
store i16 -1, i16* %9
br label %18764
633: ; preds = %611
%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
%726 = load i16, i16* %22
store i16 %726, i16* %21
br label %727
727: ; preds = %723, %516
br label %728
728: ; preds = %727, %303
%729 = load i16, i16* %19
store i16 %729, i16* %10
br label %730
730: ; preds = %728, %88, %82, %76, %70, %59
br label %731
731: ; preds = %730, %55, %51
br label %18758
732: ; preds = %47
%733 = load i16, i16* %22
%734 = sext i16 %733 to i32
%735 = icmp eq i32 %734, 1
br i1 %735, label %736, label %1422
736: ; preds = %732
%737 = load i16, i16* %10
%738 = sext i16 %737 to i32
%739 = icmp ne i32 %738, 0
br i1 %739, label %740, label %1421
740: ; preds = %736
%741 = load i16, i16* %10
%742 = sext i16 %741 to i32
%743 = icmp slt i32 %742, 21
br i1 %743, label %744, label %1421
744: ; preds = %740
%745 = load i16, i16* %10
%746 = sext i16 %745 to i32
%747 = srem i32 %746, 4
%748 = icmp ne i32 %747, 0
br i1 %748, label %749, label %1421
749: ; preds = %744
%750 = load i16, i16* %10
store i16 %750, i16* %19
%751 = load i16, i16* %19
%752 = sext i16 %751 to i32
%753 = add nsw i32 %752, 5
%754 = trunc i32 %753 to i16
store i16 %754, i16* %20
%755 = load i16, i16* %20
%756 = sext i16 %755 to i32
%757 = load i16, i16* %11
%758 = sext i16 %757 to i32
%759 = icmp ne i32 %756, %758
br i1 %759, label %760, label %1420
760: ; preds = %749
%761 = load i16, i16* %20
%762 = sext i16 %761 to i32
%763 = load i16, i16* %12
%764 = sext i16 %763 to i32
%765 = icmp ne i32 %762, %764
br i1 %765, label %766, label %1420
766: ; preds = %760
%767 = load i16, i16* %20
%768 = sext i16 %767 to i32
%769 = load i16, i16* %13
%770 = sext i16 %769 to i32
%771 = icmp ne i32 %768, %770
br i1 %771, label %772, label %1420
772: ; preds = %766
%773 = load i16, i16* %20
%774 = sext i16 %773 to i32
%775 = load i16, i16* %14
%776 = sext i16 %775 to i32
%777 = icmp ne i32 %774, %776
br i1 %777, label %778, label %1420
778: ; preds = %772
%779 = load i16, i16* %20
%780 = sext i16 %779 to i32
%781 = load i16, i16* %15
%782 = sext i16 %781 to i32
%783 = icmp ne i32 %780, %782
br i1 %783, label %784, label %1420
784: ; preds = %778
%785 = load i16, i16* %20
store i16 %785, i16* %10
%786 = load i16, i16* %16
%787 = sext i16 %786 to i32
%788 = load i16, i16* %20
%789 = sext i16 %788 to i32
%790 = icmp eq i32 %787, %789
br i1 %790, label %791, label %998
791: ; preds = %784
store i16 0, i16* %16
%792 = load i16, i16* %10
store i16 %792, i16* %18
%793 = load i16, i16* %14
%794 = sext i16 %793 to i32
%795 = icmp eq i32 %794, 0
br i1 %795, label %796, label %797
796: ; preds = %791
br label %801
797: ; preds = %791
%798 = load i16, i16* %14
%799 = sext i16 %798 to i32
%800 = sub nsw i32 25, %799
br label %801
801: ; preds = %797, %796
%802 = phi i32 [ 0, %796 ], [ %800, %797 ]
%803 = trunc i32 %802 to i16
store i16 %803, i16* %10
%804 = load i16, i16* %18
%805 = sext i16 %804 to i32
%806 = icmp eq i32 %805, 0
br i1 %806, label %807, label %808
807: ; preds = %801
br label %812
808: ; preds = %801
%809 = load i16, i16* %18
%810 = sext i16 %809 to i32
%811 = sub nsw i32 25, %810
br label %812
812: ; preds = %808, %807
%813 = phi i32 [ 0, %807 ], [ %811, %808 ]
%814 = trunc i32 %813 to i16
store i16 %814, i16* %14
%815 = load i16, i16* %11
store i16 %815, i16* %18
%816 = load i16, i16* %15
%817 = sext i16 %816 to i32
%818 = icmp eq i32 %817, 0
br i1 %818, label %819, label %820
819: ; preds = %812
br label %824
820: ; preds = %812
%821 = load i16, i16* %15
%822 = sext i16 %821 to i32
%823 = sub nsw i32 25, %822
br label %824
824: ; preds = %820, %819
%825 = phi i32 [ 0, %819 ], [ %823, %820 ]
%826 = trunc i32 %825 to i16
store i16 %826, i16* %11
%827 = load i16, i16* %18
%828 = sext i16 %827 to i32
%829 = icmp eq i32 %828, 0
br i1 %829, label %830, label %831
830: ; preds = %824
br label %835
831: ; preds = %824
%832 = load i16, i16* %18
%833 = sext i16 %832 to i32
%834 = sub nsw i32 25, %833
br label %835
835: ; preds = %831, %830
%836 = phi i32 [ 0, %830 ], [ %834, %831 ]
%837 = trunc i32 %836 to i16
store i16 %837, i16* %15
%838 = load i16, i16* %12
store i16 %838, i16* %18
%839 = load i16, i16* %16
%840 = sext i16 %839 to i32
%841 = icmp eq i32 %840, 0
br i1 %841, label %842, label %843
842: ; preds = %835
br label %847
843: ; preds = %835
%844 = load i16, i16* %16
%845 = sext i16 %844 to i32
%846 = sub nsw i32 25, %845
br label %847
847: ; preds = %843, %842
%848 = phi i32 [ 0, %842 ], [ %846, %843 ]
%849 = trunc i32 %848 to i16
store i16 %849, i16* %12
%850 = load i16, i16* %18
%851 = sext i16 %850 to i32
%852 = icmp eq i32 %851, 0
br i1 %852, label %853, label %854
853: ; preds = %847
br label %858
854: ; preds = %847
%855 = load i16, i16* %18
%856 = sext i16 %855 to i32
%857 = sub nsw i32 25, %856
br label %858
858: ; preds = %854, %853
%859 = phi i32 [ 0, %853 ], [ %857, %854 ]
%860 = trunc i32 %859 to i16
store i16 %860, i16* %16
%861 = load i16, i16* %13
store i16 %861, i16* %18
%862 = load i16, i16* %17
%863 = sext i16 %862 to i32
%864 = icmp eq i32 %863, 0
br i1 %864, label %865, label %866
865: ; preds = %858
br label %870
866: ; preds = %858
%867 = load i16, i16* %17
%868 = sext i16 %867 to i32
%869 = sub nsw i32 25, %868
br label %870
870: ; preds = %866, %865
%871 = phi i32 [ 0, %865 ], [ %869, %866 ]
%872 = trunc i32 %871 to i16
store i16 %872, i16* %13
%873 = load i16, i16* %18
%874 = sext i16 %873 to i32
%875 = icmp eq i32 %874, 0
br i1 %875, label %876, label %877
876: ; preds = %870
br label %881
877: ; preds = %870
%878 = load i16, i16* %18
%879 = sext i16 %878 to i32
%880 = sub nsw i32 25, %879
br label %881
881: ; preds = %877, %876
%882 = phi i32 [ 0, %876 ], [ %880, %877 ]
%883 = trunc i32 %882 to i16
store i16 %883, i16* %17
%884 = load i16, i16* %10
%885 = sext i16 %884 to i32
%886 = load i16, i16* %11
%887 = sext i16 %886 to i32
%888 = load i16, i16* %12
%889 = sext i16 %888 to i32
%890 = load i16, i16* %13
%891 = sext i16 %890 to i32
%892 = load i16, i16* %14
%893 = sext i16 %892 to i32
%894 = load i16, i16* %15
%895 = sext i16 %894 to i32
%896 = load i16, i16* %16
%897 = sext i16 %896 to i32
%898 = load i16, i16* %17
%899 = sext i16 %898 to i32
%900 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %885, i32 %887, i32 %889, i32 %891, i32 %893, i32 %895, i32 %897, i32 %899)
%901 = icmp eq i32 %900, -1
br i1 %901, label %902, label %903
902: ; preds = %881
store i16 -1, i16* %9
br label %18764
903: ; preds = %881
%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* %22
store i16 %996, i16* %21
%997 = load i16, i16* %20
store i16 %997, i16* %16
br label %1418
998: ; preds = %784
%999 = load i16, i16* %17
%1000 = sext i16 %999 to i32
%1001 = load i16, i16* %20
%1002 = sext i16 %1001 to i32
%1003 = icmp eq i32 %1000, %1002
br i1 %1003, label %1004, label %1211
1004: ; preds = %998
store i16 0, i16* %17
%1005 = load i16, i16* %10
store i16 %1005, i16* %18
%1006 = load i16, i16* %14
%1007 = sext i16 %1006 to i32
%1008 = icmp eq i32 %1007, 0
br i1 %1008, label %1009, label %1010
1009: ; preds = %1004
br label %1014
1010: ; preds = %1004
%1011 = load i16, i16* %14
%1012 = sext i16 %1011 to i32
%1013 = sub nsw i32 25, %1012
br label %1014
1014: ; preds = %1010, %1009
%1015 = phi i32 [ 0, %1009 ], [ %1013, %1010 ]
%1016 = trunc i32 %1015 to i16
store i16 %1016, i16* %10
%1017 = load i16, i16* %18
%1018 = sext i16 %1017 to i32
%1019 = icmp eq i32 %1018, 0
br i1 %1019, label %1020, label %1021
1020: ; preds = %1014
br label %1025
1021: ; preds = %1014
%1022 = load i16, i16* %18
%1023 = sext i16 %1022 to i32
%1024 = sub nsw i32 25, %1023
br label %1025
1025: ; preds = %1021, %1020
%1026 = phi i32 [ 0, %1020 ], [ %1024, %1021 ]
%1027 = trunc i32 %1026 to i16
store i16 %1027, i16* %14
%1028 = load i16, i16* %11
store i16 %1028, i16* %18
%1029 = load i16, i16* %15
%1030 = sext i16 %1029 to i32
%1031 = icmp eq i32 %1030, 0
br i1 %1031, label %1032, label %1033
1032: ; preds = %1025
br label %1037
1033: ; preds = %1025
%1034 = load i16, i16* %15
%1035 = sext i16 %1034 to i32
%1036 = sub nsw i32 25, %1035
br label %1037
1037: ; preds = %1033, %1032
%1038 = phi i32 [ 0, %1032 ], [ %1036, %1033 ]
%1039 = trunc i32 %1038 to i16
store i16 %1039, i16* %11
%1040 = load i16, i16* %18
%1041 = sext i16 %1040 to i32
%1042 = icmp eq i32 %1041, 0
br i1 %1042, label %1043, label %1044
1043: ; preds = %1037
br label %1048
1044: ; preds = %1037
%1045 = load i16, i16* %18
%1046 = sext i16 %1045 to i32
%1047 = sub nsw i32 25, %1046
br label %1048
1048: ; preds = %1044, %1043
%1049 = phi i32 [ 0, %1043 ], [ %1047, %1044 ]
%1050 = trunc i32 %1049 to i16
store i16 %1050, i16* %15
%1051 = load i16, i16* %12
store i16 %1051, i16* %18
%1052 = load i16, i16* %16
%1053 = sext i16 %1052 to i32
%1054 = icmp eq i32 %1053, 0
br i1 %1054, label %1055, label %1056
1055: ; preds = %1048
br label %1060
1056: ; preds = %1048
%1057 = load i16, i16* %16
%1058 = sext i16 %1057 to i32
%1059 = sub nsw i32 25, %1058
br label %1060
1060: ; preds = %1056, %1055
%1061 = phi i32 [ 0, %1055 ], [ %1059, %1056 ]
%1062 = trunc i32 %1061 to i16
store i16 %1062, i16* %12
%1063 = load i16, i16* %18
%1064 = sext i16 %1063 to i32
%1065 = icmp eq i32 %1064, 0
br i1 %1065, label %1066, label %1067
1066: ; preds = %1060
br label %1071
1067: ; preds = %1060
%1068 = load i16, i16* %18
%1069 = sext i16 %1068 to i32
%1070 = sub nsw i32 25, %1069
br label %1071
1071: ; preds = %1067, %1066
%1072 = phi i32 [ 0, %1066 ], [ %1070, %1067 ]
%1073 = trunc i32 %1072 to i16
store i16 %1073, i16* %16
%1074 = load i16, i16* %13
store i16 %1074, i16* %18
%1075 = load i16, i16* %17
%1076 = sext i16 %1075 to i32
%1077 = icmp eq i32 %1076, 0
br i1 %1077, label %1078, label %1079
1078: ; preds = %1071
br label %1083
1079: ; preds = %1071
%1080 = load i16, i16* %17
%1081 = sext i16 %1080 to i32
%1082 = sub nsw i32 25, %1081
br label %1083
1083: ; preds = %1079, %1078
%1084 = phi i32 [ 0, %1078 ], [ %1082, %1079 ]
%1085 = trunc i32 %1084 to i16
store i16 %1085, i16* %13
%1086 = load i16, i16* %18
%1087 = sext i16 %1086 to i32
%1088 = icmp eq i32 %1087, 0
br i1 %1088, label %1089, label %1090
1089: ; preds = %1083
br label %1094
1090: ; preds = %1083
%1091 = load i16, i16* %18
%1092 = sext i16 %1091 to i32
%1093 = sub nsw i32 25, %1092
br label %1094
1094: ; preds = %1090, %1089
%1095 = phi i32 [ 0, %1089 ], [ %1093, %1090 ]
%1096 = trunc i32 %1095 to i16
store i16 %1096, i16* %17
%1097 = load i16, i16* %10
%1098 = sext i16 %1097 to i32
%1099 = load i16, i16* %11
%1100 = sext i16 %1099 to i32
%1101 = load i16, i16* %12
%1102 = sext i16 %1101 to i32
%1103 = load i16, i16* %13
%1104 = sext i16 %1103 to i32
%1105 = load i16, i16* %14
%1106 = sext i16 %1105 to i32
%1107 = load i16, i16* %15
%1108 = sext i16 %1107 to i32
%1109 = load i16, i16* %16
%1110 = sext i16 %1109 to i32
%1111 = load i16, i16* %17
%1112 = sext i16 %1111 to i32
%1113 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1098, i32 %1100, i32 %1102, i32 %1104, i32 %1106, i32 %1108, i32 %1110, i32 %1112)
%1114 = icmp eq i32 %1113, -1
br i1 %1114, label %1115, label %1116
1115: ; preds = %1094
store i16 -1, i16* %9
br label %18764
1116: ; preds = %1094
%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* %22
store i16 %1209, i16* %21
%1210 = load i16, i16* %20
store i16 %1210, i16* %17
br label %1417
1211: ; preds = %998
%1212 = load i16, i16* %10
store i16 %1212, i16* %18
%1213 = load i16, i16* %14
%1214 = sext i16 %1213 to i32
%1215 = icmp eq i32 %1214, 0
br i1 %1215, label %1216, label %1217
1216: ; preds = %1211
br label %1221
1217: ; preds = %1211
%1218 = load i16, i16* %14
%1219 = sext i16 %1218 to i32
%1220 = sub nsw i32 25, %1219
br label %1221
1221: ; preds = %1217, %1216
%1222 = phi i32 [ 0, %1216 ], [ %1220, %1217 ]
%1223 = trunc i32 %1222 to i16
store i16 %1223, i16* %10
%1224 = load i16, i16* %18
%1225 = sext i16 %1224 to i32
%1226 = icmp eq i32 %1225, 0
br i1 %1226, label %1227, label %1228
1227: ; preds = %1221
br label %1232
1228: ; preds = %1221
%1229 = load i16, i16* %18
%1230 = sext i16 %1229 to i32
%1231 = sub nsw i32 25, %1230
br label %1232
1232: ; preds = %1228, %1227
%1233 = phi i32 [ 0, %1227 ], [ %1231, %1228 ]
%1234 = trunc i32 %1233 to i16
store i16 %1234, i16* %14
%1235 = load i16, i16* %11
store i16 %1235, i16* %18
%1236 = load i16, i16* %15
%1237 = sext i16 %1236 to i32
%1238 = icmp eq i32 %1237, 0
br i1 %1238, label %1239, label %1240
1239: ; preds = %1232
br label %1244
1240: ; preds = %1232
%1241 = load i16, i16* %15
%1242 = sext i16 %1241 to i32
%1243 = sub nsw i32 25, %1242
br label %1244
1244: ; preds = %1240, %1239
%1245 = phi i32 [ 0, %1239 ], [ %1243, %1240 ]
%1246 = trunc i32 %1245 to i16
store i16 %1246, i16* %11
%1247 = load i16, i16* %18
%1248 = sext i16 %1247 to i32
%1249 = icmp eq i32 %1248, 0
br i1 %1249, label %1250, label %1251
1250: ; preds = %1244
br label %1255
1251: ; preds = %1244
%1252 = load i16, i16* %18
%1253 = sext i16 %1252 to i32
%1254 = sub nsw i32 25, %1253
br label %1255
1255: ; preds = %1251, %1250
%1256 = phi i32 [ 0, %1250 ], [ %1254, %1251 ]
%1257 = trunc i32 %1256 to i16
store i16 %1257, i16* %15
%1258 = load i16, i16* %12
store i16 %1258, i16* %18
%1259 = load i16, i16* %16
%1260 = sext i16 %1259 to i32
%1261 = icmp eq i32 %1260, 0
br i1 %1261, label %1262, label %1263
1262: ; preds = %1255
br label %1267
1263: ; preds = %1255
%1264 = load i16, i16* %16
%1265 = sext i16 %1264 to i32
%1266 = sub nsw i32 25, %1265
br label %1267
1267: ; preds = %1263, %1262
%1268 = phi i32 [ 0, %1262 ], [ %1266, %1263 ]
%1269 = trunc i32 %1268 to i16
store i16 %1269, i16* %12
%1270 = load i16, i16* %18
%1271 = sext i16 %1270 to i32
%1272 = icmp eq i32 %1271, 0
br i1 %1272, label %1273, label %1274
1273: ; preds = %1267
br label %1278
1274: ; preds = %1267
%1275 = load i16, i16* %18
%1276 = sext i16 %1275 to i32
%1277 = sub nsw i32 25, %1276
br label %1278
1278: ; preds = %1274, %1273
%1279 = phi i32 [ 0, %1273 ], [ %1277, %1274 ]
%1280 = trunc i32 %1279 to i16
store i16 %1280, i16* %16
%1281 = load i16, i16* %13
store i16 %1281, i16* %18
%1282 = load i16, i16* %17
%1283 = sext i16 %1282 to i32
%1284 = icmp eq i32 %1283, 0
br i1 %1284, label %1285, label %1286
1285: ; preds = %1278
br label %1290
1286: ; preds = %1278
%1287 = load i16, i16* %17
%1288 = sext i16 %1287 to i32
%1289 = sub nsw i32 25, %1288
br label %1290
1290: ; preds = %1286, %1285
%1291 = phi i32 [ 0, %1285 ], [ %1289, %1286 ]
%1292 = trunc i32 %1291 to i16
store i16 %1292, i16* %13
%1293 = load i16, i16* %18
%1294 = sext i16 %1293 to i32
%1295 = icmp eq i32 %1294, 0
br i1 %1295, label %1296, label %1297
1296: ; preds = %1290
br label %1301
1297: ; preds = %1290
%1298 = load i16, i16* %18
%1299 = sext i16 %1298 to i32
%1300 = sub nsw i32 25, %1299
br label %1301
1301: ; preds = %1297, %1296
%1302 = phi i32 [ 0, %1296 ], [ %1300, %1297 ]
%1303 = trunc i32 %1302 to i16
store i16 %1303, i16* %17
%1304 = load i16, i16* %10
%1305 = sext i16 %1304 to i32
%1306 = load i16, i16* %11
%1307 = sext i16 %1306 to i32
%1308 = load i16, i16* %12
%1309 = sext i16 %1308 to i32
%1310 = load i16, i16* %13
%1311 = sext i16 %1310 to i32
%1312 = load i16, i16* %14
%1313 = sext i16 %1312 to i32
%1314 = load i16, i16* %15
%1315 = sext i16 %1314 to i32
%1316 = load i16, i16* %16
%1317 = sext i16 %1316 to i32
%1318 = load i16, i16* %17
%1319 = sext i16 %1318 to i32
%1320 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1305, i32 %1307, i32 %1309, i32 %1311, i32 %1313, i32 %1315, i32 %1317, i32 %1319)
%1321 = icmp eq i32 %1320, -1
br i1 %1321, label %1322, label %1323
1322: ; preds = %1301
store i16 -1, i16* %9
br label %18764
1323: ; preds = %1301
%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
%1416 = load i16, i16* %22
store i16 %1416, i16* %21
br label %1417
1417: ; preds = %1413, %1206
br label %1418
1418: ; preds = %1417, %993
%1419 = load i16, i16* %19
store i16 %1419, i16* %10
br label %1420
1420: ; preds = %1418, %778, %772, %766, %760, %749
br label %1421
1421: ; preds = %1420, %744, %740, %736
br label %18757
1422: ; preds = %732
%1423 = load i16, i16* %22
%1424 = sext i16 %1423 to i32
%1425 = icmp eq i32 %1424, 2
br i1 %1425, label %1426, label %2108
1426: ; preds = %1422
%1427 = load i16, i16* %10
%1428 = sext i16 %1427 to i32
%1429 = icmp ne i32 %1428, 0
br i1 %1429, label %1430, label %2107
1430: ; preds = %1426
%1431 = load i16, i16* %10
%1432 = sext i16 %1431 to i32
%1433 = srem i32 %1432, 4
%1434 = icmp ne i32 %1433, 0
br i1 %1434, label %1435, label %2107
1435: ; preds = %1430
%1436 = load i16, i16* %10
store i16 %1436, i16* %19
%1437 = load i16, i16* %19
%1438 = sext i16 %1437 to i32
%1439 = add nsw i32 %1438, 1
%1440 = trunc i32 %1439 to i16
store i16 %1440, i16* %20
%1441 = load i16, i16* %20
%1442 = sext i16 %1441 to i32
%1443 = load i16, i16* %11
%1444 = sext i16 %1443 to i32
%1445 = icmp ne i32 %1442, %1444
br i1 %1445, label %1446, label %2106
1446: ; preds = %1435
%1447 = load i16, i16* %20
%1448 = sext i16 %1447 to i32
%1449 = load i16, i16* %12
%1450 = sext i16 %1449 to i32
%1451 = icmp ne i32 %1448, %1450
br i1 %1451, label %1452, label %2106
1452: ; preds = %1446
%1453 = load i16, i16* %20
%1454 = sext i16 %1453 to i32
%1455 = load i16, i16* %13
%1456 = sext i16 %1455 to i32
%1457 = icmp ne i32 %1454, %1456
br i1 %1457, label %1458, label %2106
1458: ; preds = %1452
%1459 = load i16, i16* %20
%1460 = sext i16 %1459 to i32
%1461 = load i16, i16* %14
%1462 = sext i16 %1461 to i32
%1463 = icmp ne i32 %1460, %1462
br i1 %1463, label %1464, label %2106
1464: ; preds = %1458
%1465 = load i16, i16* %20
%1466 = sext i16 %1465 to i32
%1467 = load i16, i16* %15
%1468 = sext i16 %1467 to i32
%1469 = icmp ne i32 %1466, %1468
br i1 %1469, label %1470, label %2106
1470: ; preds = %1464
%1471 = load i16, i16* %20
store i16 %1471, i16* %10
%1472 = load i16, i16* %16
%1473 = sext i16 %1472 to i32
%1474 = load i16, i16* %20
%1475 = sext i16 %1474 to i32
%1476 = icmp eq i32 %1473, %1475
br i1 %1476, label %1477, label %1684
1477: ; preds = %1470
store i16 0, i16* %16
%1478 = load i16, i16* %10
store i16 %1478, i16* %18
%1479 = load i16, i16* %14
%1480 = sext i16 %1479 to i32
%1481 = icmp eq i32 %1480, 0
br i1 %1481, label %1482, label %1483
1482: ; preds = %1477
br label %1487
1483: ; preds = %1477
%1484 = load i16, i16* %14
%1485 = sext i16 %1484 to i32
%1486 = sub nsw i32 25, %1485
br label %1487
1487: ; preds = %1483, %1482
%1488 = phi i32 [ 0, %1482 ], [ %1486, %1483 ]
%1489 = trunc i32 %1488 to i16
store i16 %1489, i16* %10
%1490 = load i16, i16* %18
%1491 = sext i16 %1490 to i32
%1492 = icmp eq i32 %1491, 0
br i1 %1492, label %1493, label %1494
1493: ; preds = %1487
br label %1498
1494: ; preds = %1487
%1495 = load i16, i16* %18
%1496 = sext i16 %1495 to i32
%1497 = sub nsw i32 25, %1496
br label %1498
1498: ; preds = %1494, %1493
%1499 = phi i32 [ 0, %1493 ], [ %1497, %1494 ]
%1500 = trunc i32 %1499 to i16
store i16 %1500, i16* %14
%1501 = load i16, i16* %11
store i16 %1501, i16* %18
%1502 = load i16, i16* %15
%1503 = sext i16 %1502 to i32
%1504 = icmp eq i32 %1503, 0
br i1 %1504, label %1505, label %1506
1505: ; preds = %1498
br label %1510
1506: ; preds = %1498
%1507 = load i16, i16* %15
%1508 = sext i16 %1507 to i32
%1509 = sub nsw i32 25, %1508
br label %1510
1510: ; preds = %1506, %1505
%1511 = phi i32 [ 0, %1505 ], [ %1509, %1506 ]
%1512 = trunc i32 %1511 to i16
store i16 %1512, i16* %11
%1513 = load i16, i16* %18
%1514 = sext i16 %1513 to i32
%1515 = icmp eq i32 %1514, 0
br i1 %1515, label %1516, label %1517
1516: ; preds = %1510
br label %1521
1517: ; preds = %1510
%1518 = load i16, i16* %18
%1519 = sext i16 %1518 to i32
%1520 = sub nsw i32 25, %1519
br label %1521
1521: ; preds = %1517, %1516
%1522 = phi i32 [ 0, %1516 ], [ %1520, %1517 ]
%1523 = trunc i32 %1522 to i16
store i16 %1523, i16* %15
%1524 = load i16, i16* %12
store i16 %1524, i16* %18
%1525 = load i16, i16* %16
%1526 = sext i16 %1525 to i32
%1527 = icmp eq i32 %1526, 0
br i1 %1527, label %1528, label %1529
1528: ; preds = %1521
br label %1533
1529: ; preds = %1521
%1530 = load i16, i16* %16
%1531 = sext i16 %1530 to i32
%1532 = sub nsw i32 25, %1531
br label %1533
1533: ; preds = %1529, %1528
%1534 = phi i32 [ 0, %1528 ], [ %1532, %1529 ]
%1535 = trunc i32 %1534 to i16
store i16 %1535, i16* %12
%1536 = load i16, i16* %18
%1537 = sext i16 %1536 to i32
%1538 = icmp eq i32 %1537, 0
br i1 %1538, label %1539, label %1540
1539: ; preds = %1533
br label %1544
1540: ; preds = %1533
%1541 = load i16, i16* %18
%1542 = sext i16 %1541 to i32
%1543 = sub nsw i32 25, %1542
br label %1544
1544: ; preds = %1540, %1539
%1545 = phi i32 [ 0, %1539 ], [ %1543, %1540 ]
%1546 = trunc i32 %1545 to i16
store i16 %1546, i16* %16
%1547 = load i16, i16* %13
store i16 %1547, i16* %18
%1548 = load i16, i16* %17
%1549 = sext i16 %1548 to i32
%1550 = icmp eq i32 %1549, 0
br i1 %1550, label %1551, label %1552
1551: ; preds = %1544
br label %1556
1552: ; preds = %1544
%1553 = load i16, i16* %17
%1554 = sext i16 %1553 to i32
%1555 = sub nsw i32 25, %1554
br label %1556
1556: ; preds = %1552, %1551
%1557 = phi i32 [ 0, %1551 ], [ %1555, %1552 ]
%1558 = trunc i32 %1557 to i16
store i16 %1558, i16* %13
%1559 = load i16, i16* %18
%1560 = sext i16 %1559 to i32
%1561 = icmp eq i32 %1560, 0
br i1 %1561, label %1562, label %1563
1562: ; preds = %1556
br label %1567
1563: ; preds = %1556
%1564 = load i16, i16* %18
%1565 = sext i16 %1564 to i32
%1566 = sub nsw i32 25, %1565
br label %1567
1567: ; preds = %1563, %1562
%1568 = phi i32 [ 0, %1562 ], [ %1566, %1563 ]
%1569 = trunc i32 %1568 to i16
store i16 %1569, i16* %17
%1570 = load i16, i16* %10
%1571 = sext i16 %1570 to i32
%1572 = load i16, i16* %11
%1573 = sext i16 %1572 to i32
%1574 = load i16, i16* %12
%1575 = sext i16 %1574 to i32
%1576 = load i16, i16* %13
%1577 = sext i16 %1576 to i32
%1578 = load i16, i16* %14
%1579 = sext i16 %1578 to i32
%1580 = load i16, i16* %15
%1581 = sext i16 %1580 to i32
%1582 = load i16, i16* %16
%1583 = sext i16 %1582 to i32
%1584 = load i16, i16* %17
%1585 = sext i16 %1584 to i32
%1586 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1571, i32 %1573, i32 %1575, i32 %1577, i32 %1579, i32 %1581, i32 %1583, i32 %1585)
%1587 = icmp eq i32 %1586, -1
br i1 %1587, label %1588, label %1589
1588: ; preds = %1567
store i16 -1, i16* %9
br label %18764
1589: ; preds = %1567
%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* %22
store i16 %1682, i16* %21
%1683 = load i16, i16* %20
store i16 %1683, i16* %16
br label %2104
1684: ; preds = %1470
%1685 = load i16, i16* %17
%1686 = sext i16 %1685 to i32
%1687 = load i16, i16* %20
%1688 = sext i16 %1687 to i32
%1689 = icmp eq i32 %1686, %1688
br i1 %1689, label %1690, label %1897
1690: ; preds = %1684
store i16 0, i16* %17
%1691 = load i16, i16* %10
store i16 %1691, i16* %18
%1692 = load i16, i16* %14
%1693 = sext i16 %1692 to i32
%1694 = icmp eq i32 %1693, 0
br i1 %1694, label %1695, label %1696
1695: ; preds = %1690
br label %1700
1696: ; preds = %1690
%1697 = load i16, i16* %14
%1698 = sext i16 %1697 to i32
%1699 = sub nsw i32 25, %1698
br label %1700
1700: ; preds = %1696, %1695
%1701 = phi i32 [ 0, %1695 ], [ %1699, %1696 ]
%1702 = trunc i32 %1701 to i16
store i16 %1702, i16* %10
%1703 = load i16, i16* %18
%1704 = sext i16 %1703 to i32
%1705 = icmp eq i32 %1704, 0
br i1 %1705, label %1706, label %1707
1706: ; preds = %1700
br label %1711
1707: ; preds = %1700
%1708 = load i16, i16* %18
%1709 = sext i16 %1708 to i32
%1710 = sub nsw i32 25, %1709
br label %1711
1711: ; preds = %1707, %1706
%1712 = phi i32 [ 0, %1706 ], [ %1710, %1707 ]
%1713 = trunc i32 %1712 to i16
store i16 %1713, i16* %14
%1714 = load i16, i16* %11
store i16 %1714, i16* %18
%1715 = load i16, i16* %15
%1716 = sext i16 %1715 to i32
%1717 = icmp eq i32 %1716, 0
br i1 %1717, label %1718, label %1719
1718: ; preds = %1711
br label %1723
1719: ; preds = %1711
%1720 = load i16, i16* %15
%1721 = sext i16 %1720 to i32
%1722 = sub nsw i32 25, %1721
br label %1723
1723: ; preds = %1719, %1718
%1724 = phi i32 [ 0, %1718 ], [ %1722, %1719 ]
%1725 = trunc i32 %1724 to i16
store i16 %1725, i16* %11
%1726 = load i16, i16* %18
%1727 = sext i16 %1726 to i32
%1728 = icmp eq i32 %1727, 0
br i1 %1728, label %1729, label %1730
1729: ; preds = %1723
br label %1734
1730: ; preds = %1723
%1731 = load i16, i16* %18
%1732 = sext i16 %1731 to i32
%1733 = sub nsw i32 25, %1732
br label %1734
1734: ; preds = %1730, %1729
%1735 = phi i32 [ 0, %1729 ], [ %1733, %1730 ]
%1736 = trunc i32 %1735 to i16
store i16 %1736, i16* %15
%1737 = load i16, i16* %12
store i16 %1737, i16* %18
%1738 = load i16, i16* %16
%1739 = sext i16 %1738 to i32
%1740 = icmp eq i32 %1739, 0
br i1 %1740, label %1741, label %1742
1741: ; preds = %1734
br label %1746
1742: ; preds = %1734
%1743 = load i16, i16* %16
%1744 = sext i16 %1743 to i32
%1745 = sub nsw i32 25, %1744
br label %1746
1746: ; preds = %1742, %1741
%1747 = phi i32 [ 0, %1741 ], [ %1745, %1742 ]
%1748 = trunc i32 %1747 to i16
store i16 %1748, i16* %12
%1749 = load i16, i16* %18
%1750 = sext i16 %1749 to i32
%1751 = icmp eq i32 %1750, 0
br i1 %1751, label %1752, label %1753
1752: ; preds = %1746
br label %1757
1753: ; preds = %1746
%1754 = load i16, i16* %18
%1755 = sext i16 %1754 to i32
%1756 = sub nsw i32 25, %1755
br label %1757
1757: ; preds = %1753, %1752
%1758 = phi i32 [ 0, %1752 ], [ %1756, %1753 ]
%1759 = trunc i32 %1758 to i16
store i16 %1759, i16* %16
%1760 = load i16, i16* %13
store i16 %1760, i16* %18
%1761 = load i16, i16* %17
%1762 = sext i16 %1761 to i32
%1763 = icmp eq i32 %1762, 0
br i1 %1763, label %1764, label %1765
1764: ; preds = %1757
br label %1769
1765: ; preds = %1757
%1766 = load i16, i16* %17
%1767 = sext i16 %1766 to i32
%1768 = sub nsw i32 25, %1767
br label %1769
1769: ; preds = %1765, %1764
%1770 = phi i32 [ 0, %1764 ], [ %1768, %1765 ]
%1771 = trunc i32 %1770 to i16
store i16 %1771, i16* %13
%1772 = load i16, i16* %18
%1773 = sext i16 %1772 to i32
%1774 = icmp eq i32 %1773, 0
br i1 %1774, label %1775, label %1776
1775: ; preds = %1769
br label %1780
1776: ; preds = %1769
%1777 = load i16, i16* %18
%1778 = sext i16 %1777 to i32
%1779 = sub nsw i32 25, %1778
br label %1780
1780: ; preds = %1776, %1775
%1781 = phi i32 [ 0, %1775 ], [ %1779, %1776 ]
%1782 = trunc i32 %1781 to i16
store i16 %1782, i16* %17
%1783 = load i16, i16* %10
%1784 = sext i16 %1783 to i32
%1785 = load i16, i16* %11
%1786 = sext i16 %1785 to i32
%1787 = load i16, i16* %12
%1788 = sext i16 %1787 to i32
%1789 = load i16, i16* %13
%1790 = sext i16 %1789 to i32
%1791 = load i16, i16* %14
%1792 = sext i16 %1791 to i32
%1793 = load i16, i16* %15
%1794 = sext i16 %1793 to i32
%1795 = load i16, i16* %16
%1796 = sext i16 %1795 to i32
%1797 = load i16, i16* %17
%1798 = sext i16 %1797 to i32
%1799 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1784, i32 %1786, i32 %1788, i32 %1790, i32 %1792, i32 %1794, i32 %1796, i32 %1798)
%1800 = icmp eq i32 %1799, -1
br i1 %1800, label %1801, label %1802
1801: ; preds = %1780
store i16 -1, i16* %9
br label %18764
1802: ; preds = %1780
%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* %22
store i16 %1895, i16* %21
%1896 = load i16, i16* %20
store i16 %1896, i16* %17
br label %2103
1897: ; preds = %1684
%1898 = load i16, i16* %10
store i16 %1898, i16* %18
%1899 = load i16, i16* %14
%1900 = sext i16 %1899 to i32
%1901 = icmp eq i32 %1900, 0
br i1 %1901, label %1902, label %1903
1902: ; preds = %1897
br label %1907
1903: ; preds = %1897
%1904 = load i16, i16* %14
%1905 = sext i16 %1904 to i32
%1906 = sub nsw i32 25, %1905
br label %1907
1907: ; preds = %1903, %1902
%1908 = phi i32 [ 0, %1902 ], [ %1906, %1903 ]
%1909 = trunc i32 %1908 to i16
store i16 %1909, i16* %10
%1910 = load i16, i16* %18
%1911 = sext i16 %1910 to i32
%1912 = icmp eq i32 %1911, 0
br i1 %1912, label %1913, label %1914
1913: ; preds = %1907
br label %1918
1914: ; preds = %1907
%1915 = load i16, i16* %18
%1916 = sext i16 %1915 to i32
%1917 = sub nsw i32 25, %1916
br label %1918
1918: ; preds = %1914, %1913
%1919 = phi i32 [ 0, %1913 ], [ %1917, %1914 ]
%1920 = trunc i32 %1919 to i16
store i16 %1920, i16* %14
%1921 = load i16, i16* %11
store i16 %1921, i16* %18
%1922 = load i16, i16* %15
%1923 = sext i16 %1922 to i32
%1924 = icmp eq i32 %1923, 0
br i1 %1924, label %1925, label %1926
1925: ; preds = %1918
br label %1930
1926: ; preds = %1918
%1927 = load i16, i16* %15
%1928 = sext i16 %1927 to i32
%1929 = sub nsw i32 25, %1928
br label %1930
1930: ; preds = %1926, %1925
%1931 = phi i32 [ 0, %1925 ], [ %1929, %1926 ]
%1932 = trunc i32 %1931 to i16
store i16 %1932, i16* %11
%1933 = load i16, i16* %18
%1934 = sext i16 %1933 to i32
%1935 = icmp eq i32 %1934, 0
br i1 %1935, label %1936, label %1937
1936: ; preds = %1930
br label %1941
1937: ; preds = %1930
%1938 = load i16, i16* %18
%1939 = sext i16 %1938 to i32
%1940 = sub nsw i32 25, %1939
br label %1941
1941: ; preds = %1937, %1936
%1942 = phi i32 [ 0, %1936 ], [ %1940, %1937 ]
%1943 = trunc i32 %1942 to i16
store i16 %1943, i16* %15
%1944 = load i16, i16* %12
store i16 %1944, i16* %18
%1945 = load i16, i16* %16
%1946 = sext i16 %1945 to i32
%1947 = icmp eq i32 %1946, 0
br i1 %1947, label %1948, label %1949
1948: ; preds = %1941
br label %1953
1949: ; preds = %1941
%1950 = load i16, i16* %16
%1951 = sext i16 %1950 to i32
%1952 = sub nsw i32 25, %1951
br label %1953
1953: ; preds = %1949, %1948
%1954 = phi i32 [ 0, %1948 ], [ %1952, %1949 ]
%1955 = trunc i32 %1954 to i16
store i16 %1955, i16* %12
%1956 = load i16, i16* %18
%1957 = sext i16 %1956 to i32
%1958 = icmp eq i32 %1957, 0
br i1 %1958, label %1959, label %1960
1959: ; preds = %1953
br label %1964
1960: ; preds = %1953
%1961 = load i16, i16* %18
%1962 = sext i16 %1961 to i32
%1963 = sub nsw i32 25, %1962
br label %1964
1964: ; preds = %1960, %1959
%1965 = phi i32 [ 0, %1959 ], [ %1963, %1960 ]
%1966 = trunc i32 %1965 to i16
store i16 %1966, i16* %16
%1967 = load i16, i16* %13
store i16 %1967, i16* %18
%1968 = load i16, i16* %17
%1969 = sext i16 %1968 to i32
%1970 = icmp eq i32 %1969, 0
br i1 %1970, label %1971, label %1972
1971: ; preds = %1964
br label %1976
1972: ; preds = %1964
%1973 = load i16, i16* %17
%1974 = sext i16 %1973 to i32
%1975 = sub nsw i32 25, %1974
br label %1976
1976: ; preds = %1972, %1971
%1977 = phi i32 [ 0, %1971 ], [ %1975, %1972 ]
%1978 = trunc i32 %1977 to i16
store i16 %1978, i16* %13
%1979 = load i16, i16* %18
%1980 = sext i16 %1979 to i32
%1981 = icmp eq i32 %1980, 0
br i1 %1981, label %1982, label %1983
1982: ; preds = %1976
br label %1987
1983: ; preds = %1976
%1984 = load i16, i16* %18
%1985 = sext i16 %1984 to i32
%1986 = sub nsw i32 25, %1985
br label %1987
1987: ; preds = %1983, %1982
%1988 = phi i32 [ 0, %1982 ], [ %1986, %1983 ]
%1989 = trunc i32 %1988 to i16
store i16 %1989, i16* %17
%1990 = load i16, i16* %10
%1991 = sext i16 %1990 to i32
%1992 = load i16, i16* %11
%1993 = sext i16 %1992 to i32
%1994 = load i16, i16* %12
%1995 = sext i16 %1994 to i32
%1996 = load i16, i16* %13
%1997 = sext i16 %1996 to i32
%1998 = load i16, i16* %14
%1999 = sext i16 %1998 to i32
%2000 = load i16, i16* %15
%2001 = sext i16 %2000 to i32
%2002 = load i16, i16* %16
%2003 = sext i16 %2002 to i32
%2004 = load i16, i16* %17
%2005 = sext i16 %2004 to i32
%2006 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1991, i32 %1993, i32 %1995, i32 %1997, i32 %1999, i32 %2001, i32 %2003, i32 %2005)
%2007 = icmp eq i32 %2006, -1
br i1 %2007, label %2008, label %2009
2008: ; preds = %1987
store i16 -1, i16* %9
br label %18764
2009: ; preds = %1987
%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
%2102 = load i16, i16* %22
store i16 %2102, i16* %21
br label %2103
2103: ; preds = %2099, %1892
br label %2104
2104: ; preds = %2103, %1679
%2105 = load i16, i16* %19
store i16 %2105, i16* %10
br label %2106
2106: ; preds = %2104, %1464, %1458, %1452, %1446, %1435
br label %2107
2107: ; preds = %2106, %1430, %1426
br label %18756
2108: ; preds = %1422
%2109 = load i16, i16* %22
%2110 = sext i16 %2109 to i32
%2111 = icmp eq i32 %2110, 3
br i1 %2111, label %2112, label %2798
2112: ; preds = %2108
%2113 = load i16, i16* %10
%2114 = sext i16 %2113 to i32
%2115 = icmp ne i32 %2114, 0
br i1 %2115, label %2116, label %2797
2116: ; preds = %2112
%2117 = load i16, i16* %10
%2118 = sext i16 %2117 to i32
%2119 = icmp slt i32 4, %2118
br i1 %2119, label %2120, label %2797
2120: ; preds = %2116
%2121 = load i16, i16* %10
%2122 = sext i16 %2121 to i32
%2123 = srem i32 %2122, 4
%2124 = icmp ne i32 %2123, 0
br i1 %2124, label %2125, label %2797
2125: ; preds = %2120
%2126 = load i16, i16* %10
store i16 %2126, i16* %19
%2127 = load i16, i16* %19
%2128 = sext i16 %2127 to i32
%2129 = sub nsw i32 %2128, 3
%2130 = trunc i32 %2129 to i16
store i16 %2130, i16* %20
%2131 = load i16, i16* %20
%2132 = sext i16 %2131 to i32
%2133 = load i16, i16* %11
%2134 = sext i16 %2133 to i32
%2135 = icmp ne i32 %2132, %2134
br i1 %2135, label %2136, label %2796
2136: ; preds = %2125
%2137 = load i16, i16* %20
%2138 = sext i16 %2137 to i32
%2139 = load i16, i16* %12
%2140 = sext i16 %2139 to i32
%2141 = icmp ne i32 %2138, %2140
br i1 %2141, label %2142, label %2796
2142: ; preds = %2136
%2143 = load i16, i16* %20
%2144 = sext i16 %2143 to i32
%2145 = load i16, i16* %13
%2146 = sext i16 %2145 to i32
%2147 = icmp ne i32 %2144, %2146
br i1 %2147, label %2148, label %2796
2148: ; preds = %2142
%2149 = load i16, i16* %20
%2150 = sext i16 %2149 to i32
%2151 = load i16, i16* %14
%2152 = sext i16 %2151 to i32
%2153 = icmp ne i32 %2150, %2152
br i1 %2153, label %2154, label %2796
2154: ; preds = %2148
%2155 = load i16, i16* %20
%2156 = sext i16 %2155 to i32
%2157 = load i16, i16* %15
%2158 = sext i16 %2157 to i32
%2159 = icmp ne i32 %2156, %2158
br i1 %2159, label %2160, label %2796
2160: ; preds = %2154
%2161 = load i16, i16* %20
store i16 %2161, i16* %10
%2162 = load i16, i16* %16
%2163 = sext i16 %2162 to i32
%2164 = load i16, i16* %20
%2165 = sext i16 %2164 to i32
%2166 = icmp eq i32 %2163, %2165
br i1 %2166, label %2167, label %2374
2167: ; preds = %2160
store i16 0, i16* %16
%2168 = load i16, i16* %10
store i16 %2168, i16* %18
%2169 = load i16, i16* %14
%2170 = sext i16 %2169 to i32
%2171 = icmp eq i32 %2170, 0
br i1 %2171, label %2172, label %2173
2172: ; preds = %2167
br label %2177
2173: ; preds = %2167
%2174 = load i16, i16* %14
%2175 = sext i16 %2174 to i32
%2176 = sub nsw i32 25, %2175
br label %2177
2177: ; preds = %2173, %2172
%2178 = phi i32 [ 0, %2172 ], [ %2176, %2173 ]
%2179 = trunc i32 %2178 to i16
store i16 %2179, i16* %10
%2180 = load i16, i16* %18
%2181 = sext i16 %2180 to i32
%2182 = icmp eq i32 %2181, 0
br i1 %2182, label %2183, label %2184
2183: ; preds = %2177
br label %2188
2184: ; preds = %2177
%2185 = load i16, i16* %18
%2186 = sext i16 %2185 to i32
%2187 = sub nsw i32 25, %2186
br label %2188
2188: ; preds = %2184, %2183
%2189 = phi i32 [ 0, %2183 ], [ %2187, %2184 ]
%2190 = trunc i32 %2189 to i16
store i16 %2190, i16* %14
%2191 = load i16, i16* %11
store i16 %2191, i16* %18
%2192 = load i16, i16* %15
%2193 = sext i16 %2192 to i32
%2194 = icmp eq i32 %2193, 0
br i1 %2194, label %2195, label %2196
2195: ; preds = %2188
br label %2200
2196: ; preds = %2188
%2197 = load i16, i16* %15
%2198 = sext i16 %2197 to i32
%2199 = sub nsw i32 25, %2198
br label %2200
2200: ; preds = %2196, %2195
%2201 = phi i32 [ 0, %2195 ], [ %2199, %2196 ]
%2202 = trunc i32 %2201 to i16
store i16 %2202, i16* %11
%2203 = load i16, i16* %18
%2204 = sext i16 %2203 to i32
%2205 = icmp eq i32 %2204, 0
br i1 %2205, label %2206, label %2207
2206: ; preds = %2200
br label %2211
2207: ; preds = %2200
%2208 = load i16, i16* %18
%2209 = sext i16 %2208 to i32
%2210 = sub nsw i32 25, %2209
br label %2211
2211: ; preds = %2207, %2206
%2212 = phi i32 [ 0, %2206 ], [ %2210, %2207 ]
%2213 = trunc i32 %2212 to i16
store i16 %2213, i16* %15
%2214 = load i16, i16* %12
store i16 %2214, i16* %18
%2215 = load i16, i16* %16
%2216 = sext i16 %2215 to i32
%2217 = icmp eq i32 %2216, 0
br i1 %2217, label %2218, label %2219
2218: ; preds = %2211
br label %2223
2219: ; preds = %2211
%2220 = load i16, i16* %16
%2221 = sext i16 %2220 to i32
%2222 = sub nsw i32 25, %2221
br label %2223
2223: ; preds = %2219, %2218
%2224 = phi i32 [ 0, %2218 ], [ %2222, %2219 ]
%2225 = trunc i32 %2224 to i16
store i16 %2225, i16* %12
%2226 = load i16, i16* %18
%2227 = sext i16 %2226 to i32
%2228 = icmp eq i32 %2227, 0
br i1 %2228, label %2229, label %2230
2229: ; preds = %2223
br label %2234
2230: ; preds = %2223
%2231 = load i16, i16* %18
%2232 = sext i16 %2231 to i32
%2233 = sub nsw i32 25, %2232
br label %2234
2234: ; preds = %2230, %2229
%2235 = phi i32 [ 0, %2229 ], [ %2233, %2230 ]
%2236 = trunc i32 %2235 to i16
store i16 %2236, i16* %16
%2237 = load i16, i16* %13
store i16 %2237, i16* %18
%2238 = load i16, i16* %17
%2239 = sext i16 %2238 to i32
%2240 = icmp eq i32 %2239, 0
br i1 %2240, label %2241, label %2242
2241: ; preds = %2234
br label %2246
2242: ; preds = %2234
%2243 = load i16, i16* %17
%2244 = sext i16 %2243 to i32
%2245 = sub nsw i32 25, %2244
br label %2246
2246: ; preds = %2242, %2241
%2247 = phi i32 [ 0, %2241 ], [ %2245, %2242 ]
%2248 = trunc i32 %2247 to i16
store i16 %2248, i16* %13
%2249 = load i16, i16* %18
%2250 = sext i16 %2249 to i32
%2251 = icmp eq i32 %2250, 0
br i1 %2251, label %2252, label %2253
2252: ; preds = %2246
br label %2257
2253: ; preds = %2246
%2254 = load i16, i16* %18
%2255 = sext i16 %2254 to i32
%2256 = sub nsw i32 25, %2255
br label %2257
2257: ; preds = %2253, %2252
%2258 = phi i32 [ 0, %2252 ], [ %2256, %2253 ]
%2259 = trunc i32 %2258 to i16
store i16 %2259, i16* %17
%2260 = load i16, i16* %10
%2261 = sext i16 %2260 to i32
%2262 = load i16, i16* %11
%2263 = sext i16 %2262 to i32
%2264 = load i16, i16* %12
%2265 = sext i16 %2264 to i32
%2266 = load i16, i16* %13
%2267 = sext i16 %2266 to i32
%2268 = load i16, i16* %14
%2269 = sext i16 %2268 to i32
%2270 = load i16, i16* %15
%2271 = sext i16 %2270 to i32
%2272 = load i16, i16* %16
%2273 = sext i16 %2272 to i32
%2274 = load i16, i16* %17
%2275 = sext i16 %2274 to i32
%2276 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2261, i32 %2263, i32 %2265, i32 %2267, i32 %2269, i32 %2271, i32 %2273, i32 %2275)
%2277 = icmp eq i32 %2276, -1
br i1 %2277, label %2278, label %2279
2278: ; preds = %2257
store i16 -1, i16* %9
br label %18764
2279: ; preds = %2257
%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* %22
store i16 %2372, i16* %21
%2373 = load i16, i16* %20
store i16 %2373, i16* %16
br label %2794
2374: ; preds = %2160
%2375 = load i16, i16* %17
%2376 = sext i16 %2375 to i32
%2377 = load i16, i16* %20
%2378 = sext i16 %2377 to i32
%2379 = icmp eq i32 %2376, %2378
br i1 %2379, label %2380, label %2587
2380: ; preds = %2374
store i16 0, i16* %17
%2381 = load i16, i16* %10
store i16 %2381, i16* %18
%2382 = load i16, i16* %14
%2383 = sext i16 %2382 to i32
%2384 = icmp eq i32 %2383, 0
br i1 %2384, label %2385, label %2386
2385: ; preds = %2380
br label %2390
2386: ; preds = %2380
%2387 = load i16, i16* %14
%2388 = sext i16 %2387 to i32
%2389 = sub nsw i32 25, %2388
br label %2390
2390: ; preds = %2386, %2385
%2391 = phi i32 [ 0, %2385 ], [ %2389, %2386 ]
%2392 = trunc i32 %2391 to i16
store i16 %2392, i16* %10
%2393 = load i16, i16* %18
%2394 = sext i16 %2393 to i32
%2395 = icmp eq i32 %2394, 0
br i1 %2395, label %2396, label %2397
2396: ; preds = %2390
br label %2401
2397: ; preds = %2390
%2398 = load i16, i16* %18
%2399 = sext i16 %2398 to i32
%2400 = sub nsw i32 25, %2399
br label %2401
2401: ; preds = %2397, %2396
%2402 = phi i32 [ 0, %2396 ], [ %2400, %2397 ]
%2403 = trunc i32 %2402 to i16
store i16 %2403, i16* %14
%2404 = load i16, i16* %11
store i16 %2404, i16* %18
%2405 = load i16, i16* %15
%2406 = sext i16 %2405 to i32
%2407 = icmp eq i32 %2406, 0
br i1 %2407, label %2408, label %2409
2408: ; preds = %2401
br label %2413
2409: ; preds = %2401
%2410 = load i16, i16* %15
%2411 = sext i16 %2410 to i32
%2412 = sub nsw i32 25, %2411
br label %2413
2413: ; preds = %2409, %2408
%2414 = phi i32 [ 0, %2408 ], [ %2412, %2409 ]
%2415 = trunc i32 %2414 to i16
store i16 %2415, i16* %11
%2416 = load i16, i16* %18
%2417 = sext i16 %2416 to i32
%2418 = icmp eq i32 %2417, 0
br i1 %2418, label %2419, label %2420
2419: ; preds = %2413
br label %2424
2420: ; preds = %2413
%2421 = load i16, i16* %18
%2422 = sext i16 %2421 to i32
%2423 = sub nsw i32 25, %2422
br label %2424
2424: ; preds = %2420, %2419
%2425 = phi i32 [ 0, %2419 ], [ %2423, %2420 ]
%2426 = trunc i32 %2425 to i16
store i16 %2426, i16* %15
%2427 = load i16, i16* %12
store i16 %2427, i16* %18
%2428 = load i16, i16* %16
%2429 = sext i16 %2428 to i32
%2430 = icmp eq i32 %2429, 0
br i1 %2430, label %2431, label %2432
2431: ; preds = %2424
br label %2436
2432: ; preds = %2424
%2433 = load i16, i16* %16
%2434 = sext i16 %2433 to i32
%2435 = sub nsw i32 25, %2434
br label %2436
2436: ; preds = %2432, %2431
%2437 = phi i32 [ 0, %2431 ], [ %2435, %2432 ]
%2438 = trunc i32 %2437 to i16
store i16 %2438, i16* %12
%2439 = load i16, i16* %18
%2440 = sext i16 %2439 to i32
%2441 = icmp eq i32 %2440, 0
br i1 %2441, label %2442, label %2443
2442: ; preds = %2436
br label %2447
2443: ; preds = %2436
%2444 = load i16, i16* %18
%2445 = sext i16 %2444 to i32
%2446 = sub nsw i32 25, %2445
br label %2447
2447: ; preds = %2443, %2442
%2448 = phi i32 [ 0, %2442 ], [ %2446, %2443 ]
%2449 = trunc i32 %2448 to i16
store i16 %2449, i16* %16
%2450 = load i16, i16* %13
store i16 %2450, i16* %18
%2451 = load i16, i16* %17
%2452 = sext i16 %2451 to i32
%2453 = icmp eq i32 %2452, 0
br i1 %2453, label %2454, label %2455
2454: ; preds = %2447
br label %2459
2455: ; preds = %2447
%2456 = load i16, i16* %17
%2457 = sext i16 %2456 to i32
%2458 = sub nsw i32 25, %2457
br label %2459
2459: ; preds = %2455, %2454
%2460 = phi i32 [ 0, %2454 ], [ %2458, %2455 ]
%2461 = trunc i32 %2460 to i16
store i16 %2461, i16* %13
%2462 = load i16, i16* %18
%2463 = sext i16 %2462 to i32
%2464 = icmp eq i32 %2463, 0
br i1 %2464, label %2465, label %2466
2465: ; preds = %2459
br label %2470
2466: ; preds = %2459
%2467 = load i16, i16* %18
%2468 = sext i16 %2467 to i32
%2469 = sub nsw i32 25, %2468
br label %2470
2470: ; preds = %2466, %2465
%2471 = phi i32 [ 0, %2465 ], [ %2469, %2466 ]
%2472 = trunc i32 %2471 to i16
store i16 %2472, i16* %17
%2473 = load i16, i16* %10
%2474 = sext i16 %2473 to i32
%2475 = load i16, i16* %11
%2476 = sext i16 %2475 to i32
%2477 = load i16, i16* %12
%2478 = sext i16 %2477 to i32
%2479 = load i16, i16* %13
%2480 = sext i16 %2479 to i32
%2481 = load i16, i16* %14
%2482 = sext i16 %2481 to i32
%2483 = load i16, i16* %15
%2484 = sext i16 %2483 to i32
%2485 = load i16, i16* %16
%2486 = sext i16 %2485 to i32
%2487 = load i16, i16* %17
%2488 = sext i16 %2487 to i32
%2489 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2474, i32 %2476, i32 %2478, i32 %2480, i32 %2482, i32 %2484, i32 %2486, i32 %2488)
%2490 = icmp eq i32 %2489, -1
br i1 %2490, label %2491, label %2492
2491: ; preds = %2470
store i16 -1, i16* %9
br label %18764
2492: ; preds = %2470
%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* %22
store i16 %2585, i16* %21
%2586 = load i16, i16* %20
store i16 %2586, i16* %17
br label %2793
2587: ; preds = %2374
%2588 = load i16, i16* %10
store i16 %2588, i16* %18
%2589 = load i16, i16* %14
%2590 = sext i16 %2589 to i32
%2591 = icmp eq i32 %2590, 0
br i1 %2591, label %2592, label %2593
2592: ; preds = %2587
br label %2597
2593: ; preds = %2587
%2594 = load i16, i16* %14
%2595 = sext i16 %2594 to i32
%2596 = sub nsw i32 25, %2595
br label %2597
2597: ; preds = %2593, %2592
%2598 = phi i32 [ 0, %2592 ], [ %2596, %2593 ]
%2599 = trunc i32 %2598 to i16
store i16 %2599, i16* %10
%2600 = load i16, i16* %18
%2601 = sext i16 %2600 to i32
%2602 = icmp eq i32 %2601, 0
br i1 %2602, label %2603, label %2604
2603: ; preds = %2597
br label %2608
2604: ; preds = %2597
%2605 = load i16, i16* %18
%2606 = sext i16 %2605 to i32
%2607 = sub nsw i32 25, %2606
br label %2608
2608: ; preds = %2604, %2603
%2609 = phi i32 [ 0, %2603 ], [ %2607, %2604 ]
%2610 = trunc i32 %2609 to i16
store i16 %2610, i16* %14
%2611 = load i16, i16* %11
store i16 %2611, i16* %18
%2612 = load i16, i16* %15
%2613 = sext i16 %2612 to i32
%2614 = icmp eq i32 %2613, 0
br i1 %2614, label %2615, label %2616
2615: ; preds = %2608
br label %2620
2616: ; preds = %2608
%2617 = load i16, i16* %15
%2618 = sext i16 %2617 to i32
%2619 = sub nsw i32 25, %2618
br label %2620
2620: ; preds = %2616, %2615
%2621 = phi i32 [ 0, %2615 ], [ %2619, %2616 ]
%2622 = trunc i32 %2621 to i16
store i16 %2622, i16* %11
%2623 = load i16, i16* %18
%2624 = sext i16 %2623 to i32
%2625 = icmp eq i32 %2624, 0
br i1 %2625, label %2626, label %2627
2626: ; preds = %2620
br label %2631
2627: ; preds = %2620
%2628 = load i16, i16* %18
%2629 = sext i16 %2628 to i32
%2630 = sub nsw i32 25, %2629
br label %2631
2631: ; preds = %2627, %2626
%2632 = phi i32 [ 0, %2626 ], [ %2630, %2627 ]
%2633 = trunc i32 %2632 to i16
store i16 %2633, i16* %15
%2634 = load i16, i16* %12
store i16 %2634, i16* %18
%2635 = load i16, i16* %16
%2636 = sext i16 %2635 to i32
%2637 = icmp eq i32 %2636, 0
br i1 %2637, label %2638, label %2639
2638: ; preds = %2631
br label %2643
2639: ; preds = %2631
%2640 = load i16, i16* %16
%2641 = sext i16 %2640 to i32
%2642 = sub nsw i32 25, %2641
br label %2643
2643: ; preds = %2639, %2638
%2644 = phi i32 [ 0, %2638 ], [ %2642, %2639 ]
%2645 = trunc i32 %2644 to i16
store i16 %2645, i16* %12
%2646 = load i16, i16* %18
%2647 = sext i16 %2646 to i32
%2648 = icmp eq i32 %2647, 0
br i1 %2648, label %2649, label %2650
2649: ; preds = %2643
br label %2654
2650: ; preds = %2643
%2651 = load i16, i16* %18
%2652 = sext i16 %2651 to i32
%2653 = sub nsw i32 25, %2652
br label %2654
2654: ; preds = %2650, %2649
%2655 = phi i32 [ 0, %2649 ], [ %2653, %2650 ]
%2656 = trunc i32 %2655 to i16
store i16 %2656, i16* %16
%2657 = load i16, i16* %13
store i16 %2657, i16* %18
%2658 = load i16, i16* %17
%2659 = sext i16 %2658 to i32
%2660 = icmp eq i32 %2659, 0
br i1 %2660, label %2661, label %2662
2661: ; preds = %2654
br label %2666
2662: ; preds = %2654
%2663 = load i16, i16* %17
%2664 = sext i16 %2663 to i32
%2665 = sub nsw i32 25, %2664
br label %2666
2666: ; preds = %2662, %2661
%2667 = phi i32 [ 0, %2661 ], [ %2665, %2662 ]
%2668 = trunc i32 %2667 to i16
store i16 %2668, i16* %13
%2669 = load i16, i16* %18
%2670 = sext i16 %2669 to i32
%2671 = icmp eq i32 %2670, 0
br i1 %2671, label %2672, label %2673
2672: ; preds = %2666
br label %2677
2673: ; preds = %2666
%2674 = load i16, i16* %18
%2675 = sext i16 %2674 to i32
%2676 = sub nsw i32 25, %2675
br label %2677
2677: ; preds = %2673, %2672
%2678 = phi i32 [ 0, %2672 ], [ %2676, %2673 ]
%2679 = trunc i32 %2678 to i16
store i16 %2679, i16* %17
%2680 = load i16, i16* %10
%2681 = sext i16 %2680 to i32
%2682 = load i16, i16* %11
%2683 = sext i16 %2682 to i32
%2684 = load i16, i16* %12
%2685 = sext i16 %2684 to i32
%2686 = load i16, i16* %13
%2687 = sext i16 %2686 to i32
%2688 = load i16, i16* %14
%2689 = sext i16 %2688 to i32
%2690 = load i16, i16* %15
%2691 = sext i16 %2690 to i32
%2692 = load i16, i16* %16
%2693 = sext i16 %2692 to i32
%2694 = load i16, i16* %17
%2695 = sext i16 %2694 to i32
%2696 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2681, i32 %2683, i32 %2685, i32 %2687, i32 %2689, i32 %2691, i32 %2693, i32 %2695)
%2697 = icmp eq i32 %2696, -1
br i1 %2697, label %2698, label %2699
2698: ; preds = %2677
store i16 -1, i16* %9
br label %18764
2699: ; preds = %2677
%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
%2792 = load i16, i16* %22
store i16 %2792, i16* %21
br label %2793
2793: ; preds = %2789, %2582
br label %2794
2794: ; preds = %2793, %2369
%2795 = load i16, i16* %19
store i16 %2795, i16* %10
br label %2796
2796: ; preds = %2794, %2154, %2148, %2142, %2136, %2125
br label %2797
2797: ; preds = %2796, %2120, %2116, %2112
br label %18755
2798: ; preds = %2108
%2799 = load i16, i16* %22
%2800 = sext i16 %2799 to i32
%2801 = icmp eq i32 %2800, 4
br i1 %2801, label %2802, label %3483
2802: ; preds = %2798
%2803 = load i16, i16* %10
%2804 = sext i16 %2803 to i32
%2805 = icmp ne i32 %2804, 0
br i1 %2805, label %2806, label %3482
2806: ; preds = %2802
%2807 = load i16, i16* %10
%2808 = sext i16 %2807 to i32
%2809 = icmp slt i32 4, %2808
br i1 %2809, label %2810, label %3482
2810: ; preds = %2806
%2811 = load i16, i16* %10
store i16 %2811, i16* %19
%2812 = load i16, i16* %19
%2813 = sext i16 %2812 to i32
%2814 = sub nsw i32 %2813, 4
%2815 = trunc i32 %2814 to i16
store i16 %2815, i16* %20
%2816 = load i16, i16* %20
%2817 = sext i16 %2816 to i32
%2818 = load i16, i16* %11
%2819 = sext i16 %2818 to i32
%2820 = icmp ne i32 %2817, %2819
br i1 %2820, label %2821, label %3481
2821: ; preds = %2810
%2822 = load i16, i16* %20
%2823 = sext i16 %2822 to i32
%2824 = load i16, i16* %12
%2825 = sext i16 %2824 to i32
%2826 = icmp ne i32 %2823, %2825
br i1 %2826, label %2827, label %3481
2827: ; preds = %2821
%2828 = load i16, i16* %20
%2829 = sext i16 %2828 to i32
%2830 = load i16, i16* %13
%2831 = sext i16 %2830 to i32
%2832 = icmp ne i32 %2829, %2831
br i1 %2832, label %2833, label %3481
2833: ; preds = %2827
%2834 = load i16, i16* %20
%2835 = sext i16 %2834 to i32
%2836 = load i16, i16* %14
%2837 = sext i16 %2836 to i32
%2838 = icmp ne i32 %2835, %2837
br i1 %2838, label %2839, label %3481
2839: ; preds = %2833
%2840 = load i16, i16* %20
%2841 = sext i16 %2840 to i32
%2842 = load i16, i16* %15
%2843 = sext i16 %2842 to i32
%2844 = icmp ne i32 %2841, %2843
br i1 %2844, label %2845, label %3481
2845: ; preds = %2839
%2846 = load i16, i16* %20
store i16 %2846, i16* %10
%2847 = load i16, i16* %16
%2848 = sext i16 %2847 to i32
%2849 = load i16, i16* %20
%2850 = sext i16 %2849 to i32
%2851 = icmp eq i32 %2848, %2850
br i1 %2851, label %2852, label %3059
2852: ; preds = %2845
store i16 0, i16* %16
%2853 = load i16, i16* %10
store i16 %2853, i16* %18
%2854 = load i16, i16* %14
%2855 = sext i16 %2854 to i32
%2856 = icmp eq i32 %2855, 0
br i1 %2856, label %2857, label %2858
2857: ; preds = %2852
br label %2862
2858: ; preds = %2852
%2859 = load i16, i16* %14
%2860 = sext i16 %2859 to i32
%2861 = sub nsw i32 25, %2860
br label %2862
2862: ; preds = %2858, %2857
%2863 = phi i32 [ 0, %2857 ], [ %2861, %2858 ]
%2864 = trunc i32 %2863 to i16
store i16 %2864, i16* %10
%2865 = load i16, i16* %18
%2866 = sext i16 %2865 to i32
%2867 = icmp eq i32 %2866, 0
br i1 %2867, label %2868, label %2869
2868: ; preds = %2862
br label %2873
2869: ; preds = %2862
%2870 = load i16, i16* %18
%2871 = sext i16 %2870 to i32
%2872 = sub nsw i32 25, %2871
br label %2873
2873: ; preds = %2869, %2868
%2874 = phi i32 [ 0, %2868 ], [ %2872, %2869 ]
%2875 = trunc i32 %2874 to i16
store i16 %2875, i16* %14
%2876 = load i16, i16* %11
store i16 %2876, i16* %18
%2877 = load i16, i16* %15
%2878 = sext i16 %2877 to i32
%2879 = icmp eq i32 %2878, 0
br i1 %2879, label %2880, label %2881
2880: ; preds = %2873
br label %2885
2881: ; preds = %2873
%2882 = load i16, i16* %15
%2883 = sext i16 %2882 to i32
%2884 = sub nsw i32 25, %2883
br label %2885
2885: ; preds = %2881, %2880
%2886 = phi i32 [ 0, %2880 ], [ %2884, %2881 ]
%2887 = trunc i32 %2886 to i16
store i16 %2887, i16* %11
%2888 = load i16, i16* %18
%2889 = sext i16 %2888 to i32
%2890 = icmp eq i32 %2889, 0
br i1 %2890, label %2891, label %2892
2891: ; preds = %2885
br label %2896
2892: ; preds = %2885
%2893 = load i16, i16* %18
%2894 = sext i16 %2893 to i32
%2895 = sub nsw i32 25, %2894
br label %2896
2896: ; preds = %2892, %2891
%2897 = phi i32 [ 0, %2891 ], [ %2895, %2892 ]
%2898 = trunc i32 %2897 to i16
store i16 %2898, i16* %15
%2899 = load i16, i16* %12
store i16 %2899, i16* %18
%2900 = load i16, i16* %16
%2901 = sext i16 %2900 to i32
%2902 = icmp eq i32 %2901, 0
br i1 %2902, label %2903, label %2904
2903: ; preds = %2896
br label %2908
2904: ; preds = %2896
%2905 = load i16, i16* %16
%2906 = sext i16 %2905 to i32
%2907 = sub nsw i32 25, %2906
br label %2908
2908: ; preds = %2904, %2903
%2909 = phi i32 [ 0, %2903 ], [ %2907, %2904 ]
%2910 = trunc i32 %2909 to i16
store i16 %2910, i16* %12
%2911 = load i16, i16* %18
%2912 = sext i16 %2911 to i32
%2913 = icmp eq i32 %2912, 0
br i1 %2913, label %2914, label %2915
2914: ; preds = %2908
br label %2919
2915: ; preds = %2908
%2916 = load i16, i16* %18
%2917 = sext i16 %2916 to i32
%2918 = sub nsw i32 25, %2917
br label %2919
2919: ; preds = %2915, %2914
%2920 = phi i32 [ 0, %2914 ], [ %2918, %2915 ]
%2921 = trunc i32 %2920 to i16
store i16 %2921, i16* %16
%2922 = load i16, i16* %13
store i16 %2922, i16* %18
%2923 = load i16, i16* %17
%2924 = sext i16 %2923 to i32
%2925 = icmp eq i32 %2924, 0
br i1 %2925, label %2926, label %2927
2926: ; preds = %2919
br label %2931
2927: ; preds = %2919
%2928 = load i16, i16* %17
%2929 = sext i16 %2928 to i32
%2930 = sub nsw i32 25, %2929
br label %2931
2931: ; preds = %2927, %2926
%2932 = phi i32 [ 0, %2926 ], [ %2930, %2927 ]
%2933 = trunc i32 %2932 to i16
store i16 %2933, i16* %13
%2934 = load i16, i16* %18
%2935 = sext i16 %2934 to i32
%2936 = icmp eq i32 %2935, 0
br i1 %2936, label %2937, label %2938
2937: ; preds = %2931
br label %2942
2938: ; preds = %2931
%2939 = load i16, i16* %18
%2940 = sext i16 %2939 to i32
%2941 = sub nsw i32 25, %2940
br label %2942
2942: ; preds = %2938, %2937
%2943 = phi i32 [ 0, %2937 ], [ %2941, %2938 ]
%2944 = trunc i32 %2943 to i16
store i16 %2944, i16* %17
%2945 = load i16, i16* %10
%2946 = sext i16 %2945 to i32
%2947 = load i16, i16* %11
%2948 = sext i16 %2947 to i32
%2949 = load i16, i16* %12
%2950 = sext i16 %2949 to i32
%2951 = load i16, i16* %13
%2952 = sext i16 %2951 to i32
%2953 = load i16, i16* %14
%2954 = sext i16 %2953 to i32
%2955 = load i16, i16* %15
%2956 = sext i16 %2955 to i32
%2957 = load i16, i16* %16
%2958 = sext i16 %2957 to i32
%2959 = load i16, i16* %17
%2960 = sext i16 %2959 to i32
%2961 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2946, i32 %2948, i32 %2950, i32 %2952, i32 %2954, i32 %2956, i32 %2958, i32 %2960)
%2962 = icmp eq i32 %2961, -1
br i1 %2962, label %2963, label %2964
2963: ; preds = %2942
store i16 -1, i16* %9
br label %18764
2964: ; preds = %2942
%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* %22
store i16 %3057, i16* %21
%3058 = load i16, i16* %20
store i16 %3058, i16* %16
br label %3479
3059: ; preds = %2845
%3060 = load i16, i16* %17
%3061 = sext i16 %3060 to i32
%3062 = load i16, i16* %20
%3063 = sext i16 %3062 to i32
%3064 = icmp eq i32 %3061, %3063
br i1 %3064, label %3065, label %3272
3065: ; preds = %3059
store i16 0, i16* %17
%3066 = load i16, i16* %10
store i16 %3066, i16* %18
%3067 = load i16, i16* %14
%3068 = sext i16 %3067 to i32
%3069 = icmp eq i32 %3068, 0
br i1 %3069, label %3070, label %3071
3070: ; preds = %3065
br label %3075
3071: ; preds = %3065
%3072 = load i16, i16* %14
%3073 = sext i16 %3072 to i32
%3074 = sub nsw i32 25, %3073
br label %3075
3075: ; preds = %3071, %3070
%3076 = phi i32 [ 0, %3070 ], [ %3074, %3071 ]
%3077 = trunc i32 %3076 to i16
store i16 %3077, i16* %10
%3078 = load i16, i16* %18
%3079 = sext i16 %3078 to i32
%3080 = icmp eq i32 %3079, 0
br i1 %3080, label %3081, label %3082
3081: ; preds = %3075
br label %3086
3082: ; preds = %3075
%3083 = load i16, i16* %18
%3084 = sext i16 %3083 to i32
%3085 = sub nsw i32 25, %3084
br label %3086
3086: ; preds = %3082, %3081
%3087 = phi i32 [ 0, %3081 ], [ %3085, %3082 ]
%3088 = trunc i32 %3087 to i16
store i16 %3088, i16* %14
%3089 = load i16, i16* %11
store i16 %3089, i16* %18
%3090 = load i16, i16* %15
%3091 = sext i16 %3090 to i32
%3092 = icmp eq i32 %3091, 0
br i1 %3092, label %3093, label %3094
3093: ; preds = %3086
br label %3098
3094: ; preds = %3086
%3095 = load i16, i16* %15
%3096 = sext i16 %3095 to i32
%3097 = sub nsw i32 25, %3096
br label %3098
3098: ; preds = %3094, %3093
%3099 = phi i32 [ 0, %3093 ], [ %3097, %3094 ]
%3100 = trunc i32 %3099 to i16
store i16 %3100, i16* %11
%3101 = load i16, i16* %18
%3102 = sext i16 %3101 to i32
%3103 = icmp eq i32 %3102, 0
br i1 %3103, label %3104, label %3105
3104: ; preds = %3098
br label %3109
3105: ; preds = %3098
%3106 = load i16, i16* %18
%3107 = sext i16 %3106 to i32
%3108 = sub nsw i32 25, %3107
br label %3109
3109: ; preds = %3105, %3104
%3110 = phi i32 [ 0, %3104 ], [ %3108, %3105 ]
%3111 = trunc i32 %3110 to i16
store i16 %3111, i16* %15
%3112 = load i16, i16* %12
store i16 %3112, i16* %18
%3113 = load i16, i16* %16
%3114 = sext i16 %3113 to i32
%3115 = icmp eq i32 %3114, 0
br i1 %3115, label %3116, label %3117
3116: ; preds = %3109
br label %3121
3117: ; preds = %3109
%3118 = load i16, i16* %16
%3119 = sext i16 %3118 to i32
%3120 = sub nsw i32 25, %3119
br label %3121
3121: ; preds = %3117, %3116
%3122 = phi i32 [ 0, %3116 ], [ %3120, %3117 ]
%3123 = trunc i32 %3122 to i16
store i16 %3123, i16* %12
%3124 = load i16, i16* %18
%3125 = sext i16 %3124 to i32
%3126 = icmp eq i32 %3125, 0
br i1 %3126, label %3127, label %3128
3127: ; preds = %3121
br label %3132
3128: ; preds = %3121
%3129 = load i16, i16* %18
%3130 = sext i16 %3129 to i32
%3131 = sub nsw i32 25, %3130
br label %3132
3132: ; preds = %3128, %3127
%3133 = phi i32 [ 0, %3127 ], [ %3131, %3128 ]
%3134 = trunc i32 %3133 to i16
store i16 %3134, i16* %16
%3135 = load i16, i16* %13
store i16 %3135, i16* %18
%3136 = load i16, i16* %17
%3137 = sext i16 %3136 to i32
%3138 = icmp eq i32 %3137, 0
br i1 %3138, label %3139, label %3140
3139: ; preds = %3132
br label %3144
3140: ; preds = %3132
%3141 = load i16, i16* %17
%3142 = sext i16 %3141 to i32
%3143 = sub nsw i32 25, %3142
br label %3144
3144: ; preds = %3140, %3139
%3145 = phi i32 [ 0, %3139 ], [ %3143, %3140 ]
%3146 = trunc i32 %3145 to i16
store i16 %3146, i16* %13
%3147 = load i16, i16* %18
%3148 = sext i16 %3147 to i32
%3149 = icmp eq i32 %3148, 0
br i1 %3149, label %3150, label %3151
3150: ; preds = %3144
br label %3155
3151: ; preds = %3144
%3152 = load i16, i16* %18
%3153 = sext i16 %3152 to i32
%3154 = sub nsw i32 25, %3153
br label %3155
3155: ; preds = %3151, %3150
%3156 = phi i32 [ 0, %3150 ], [ %3154, %3151 ]
%3157 = trunc i32 %3156 to i16
store i16 %3157, i16* %17
%3158 = load i16, i16* %10
%3159 = sext i16 %3158 to i32
%3160 = load i16, i16* %11
%3161 = sext i16 %3160 to i32
%3162 = load i16, i16* %12
%3163 = sext i16 %3162 to i32
%3164 = load i16, i16* %13
%3165 = sext i16 %3164 to i32
%3166 = load i16, i16* %14
%3167 = sext i16 %3166 to i32
%3168 = load i16, i16* %15
%3169 = sext i16 %3168 to i32
%3170 = load i16, i16* %16
%3171 = sext i16 %3170 to i32
%3172 = load i16, i16* %17
%3173 = sext i16 %3172 to i32
%3174 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3159, i32 %3161, i32 %3163, i32 %3165, i32 %3167, i32 %3169, i32 %3171, i32 %3173)
%3175 = icmp eq i32 %3174, -1
br i1 %3175, label %3176, label %3177
3176: ; preds = %3155
store i16 -1, i16* %9
br label %18764
3177: ; preds = %3155
%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* %22
store i16 %3270, i16* %21
%3271 = load i16, i16* %20
store i16 %3271, i16* %17
br label %3478
3272: ; preds = %3059
%3273 = load i16, i16* %10
store i16 %3273, i16* %18
%3274 = load i16, i16* %14
%3275 = sext i16 %3274 to i32
%3276 = icmp eq i32 %3275, 0
br i1 %3276, label %3277, label %3278
3277: ; preds = %3272
br label %3282
3278: ; preds = %3272
%3279 = load i16, i16* %14
%3280 = sext i16 %3279 to i32
%3281 = sub nsw i32 25, %3280
br label %3282
3282: ; preds = %3278, %3277
%3283 = phi i32 [ 0, %3277 ], [ %3281, %3278 ]
%3284 = trunc i32 %3283 to i16
store i16 %3284, i16* %10
%3285 = load i16, i16* %18
%3286 = sext i16 %3285 to i32
%3287 = icmp eq i32 %3286, 0
br i1 %3287, label %3288, label %3289
3288: ; preds = %3282
br label %3293
3289: ; preds = %3282
%3290 = load i16, i16* %18
%3291 = sext i16 %3290 to i32
%3292 = sub nsw i32 25, %3291
br label %3293
3293: ; preds = %3289, %3288
%3294 = phi i32 [ 0, %3288 ], [ %3292, %3289 ]
%3295 = trunc i32 %3294 to i16
store i16 %3295, i16* %14
%3296 = load i16, i16* %11
store i16 %3296, i16* %18
%3297 = load i16, i16* %15
%3298 = sext i16 %3297 to i32
%3299 = icmp eq i32 %3298, 0
br i1 %3299, label %3300, label %3301
3300: ; preds = %3293
br label %3305
3301: ; preds = %3293
%3302 = load i16, i16* %15
%3303 = sext i16 %3302 to i32
%3304 = sub nsw i32 25, %3303
br label %3305
3305: ; preds = %3301, %3300
%3306 = phi i32 [ 0, %3300 ], [ %3304, %3301 ]
%3307 = trunc i32 %3306 to i16
store i16 %3307, i16* %11
%3308 = load i16, i16* %18
%3309 = sext i16 %3308 to i32
%3310 = icmp eq i32 %3309, 0
br i1 %3310, label %3311, label %3312
3311: ; preds = %3305
br label %3316
3312: ; preds = %3305
%3313 = load i16, i16* %18
%3314 = sext i16 %3313 to i32
%3315 = sub nsw i32 25, %3314
br label %3316
3316: ; preds = %3312, %3311
%3317 = phi i32 [ 0, %3311 ], [ %3315, %3312 ]
%3318 = trunc i32 %3317 to i16
store i16 %3318, i16* %15
%3319 = load i16, i16* %12
store i16 %3319, i16* %18
%3320 = load i16, i16* %16
%3321 = sext i16 %3320 to i32
%3322 = icmp eq i32 %3321, 0
br i1 %3322, label %3323, label %3324
3323: ; preds = %3316
br label %3328
3324: ; preds = %3316
%3325 = load i16, i16* %16
%3326 = sext i16 %3325 to i32
%3327 = sub nsw i32 25, %3326
br label %3328
3328: ; preds = %3324, %3323
%3329 = phi i32 [ 0, %3323 ], [ %3327, %3324 ]
%3330 = trunc i32 %3329 to i16
store i16 %3330, i16* %12
%3331 = load i16, i16* %18
%3332 = sext i16 %3331 to i32
%3333 = icmp eq i32 %3332, 0
br i1 %3333, label %3334, label %3335
3334: ; preds = %3328
br label %3339
3335: ; preds = %3328
%3336 = load i16, i16* %18
%3337 = sext i16 %3336 to i32
%3338 = sub nsw i32 25, %3337
br label %3339
3339: ; preds = %3335, %3334
%3340 = phi i32 [ 0, %3334 ], [ %3338, %3335 ]
%3341 = trunc i32 %3340 to i16
store i16 %3341, i16* %16
%3342 = load i16, i16* %13
store i16 %3342, i16* %18
%3343 = load i16, i16* %17
%3344 = sext i16 %3343 to i32
%3345 = icmp eq i32 %3344, 0
br i1 %3345, label %3346, label %3347
3346: ; preds = %3339
br label %3351
3347: ; preds = %3339
%3348 = load i16, i16* %17
%3349 = sext i16 %3348 to i32
%3350 = sub nsw i32 25, %3349
br label %3351
3351: ; preds = %3347, %3346
%3352 = phi i32 [ 0, %3346 ], [ %3350, %3347 ]
%3353 = trunc i32 %3352 to i16
store i16 %3353, i16* %13
%3354 = load i16, i16* %18
%3355 = sext i16 %3354 to i32
%3356 = icmp eq i32 %3355, 0
br i1 %3356, label %3357, label %3358
3357: ; preds = %3351
br label %3362
3358: ; preds = %3351
%3359 = load i16, i16* %18
%3360 = sext i16 %3359 to i32
%3361 = sub nsw i32 25, %3360
br label %3362
3362: ; preds = %3358, %3357
%3363 = phi i32 [ 0, %3357 ], [ %3361, %3358 ]
%3364 = trunc i32 %3363 to i16
store i16 %3364, i16* %17
%3365 = load i16, i16* %10
%3366 = sext i16 %3365 to i32
%3367 = load i16, i16* %11
%3368 = sext i16 %3367 to i32
%3369 = load i16, i16* %12
%3370 = sext i16 %3369 to i32
%3371 = load i16, i16* %13
%3372 = sext i16 %3371 to i32
%3373 = load i16, i16* %14
%3374 = sext i16 %3373 to i32
%3375 = load i16, i16* %15
%3376 = sext i16 %3375 to i32
%3377 = load i16, i16* %16
%3378 = sext i16 %3377 to i32
%3379 = load i16, i16* %17
%3380 = sext i16 %3379 to i32
%3381 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3366, i32 %3368, i32 %3370, i32 %3372, i32 %3374, i32 %3376, i32 %3378, i32 %3380)
%3382 = icmp eq i32 %3381, -1
br i1 %3382, label %3383, label %3384
3383: ; preds = %3362
store i16 -1, i16* %9
br label %18764
3384: ; preds = %3362
%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
%3477 = load i16, i16* %22
store i16 %3477, i16* %21
br label %3478
3478: ; preds = %3474, %3267
br label %3479
3479: ; preds = %3478, %3054
%3480 = load i16, i16* %19
store i16 %3480, i16* %10
br label %3481
3481: ; preds = %3479, %2839, %2833, %2827, %2821, %2810
br label %3482
3482: ; preds = %3481, %2806, %2802
br label %18754
3483: ; preds = %2798
%3484 = load i16, i16* %22
%3485 = sext i16 %3484 to i32
%3486 = icmp eq i32 %3485, 5
br i1 %3486, label %3487, label %4173
3487: ; preds = %3483
%3488 = load i16, i16* %10
%3489 = sext i16 %3488 to i32
%3490 = icmp ne i32 %3489, 0
br i1 %3490, label %3491, label %4172
3491: ; preds = %3487
%3492 = load i16, i16* %10
%3493 = sext i16 %3492 to i32
%3494 = icmp slt i32 4, %3493
br i1 %3494, label %3495, label %4172
3495: ; preds = %3491
%3496 = load i16, i16* %10
%3497 = sext i16 %3496 to i32
%3498 = srem i32 %3497, 4
%3499 = icmp ne i32 %3498, 1
br i1 %3499, label %3500, label %4172
3500: ; preds = %3495
%3501 = load i16, i16* %10
store i16 %3501, i16* %19
%3502 = load i16, i16* %19
%3503 = sext i16 %3502 to i32
%3504 = sub nsw i32 %3503, 5
%3505 = trunc i32 %3504 to i16
store i16 %3505, i16* %20
%3506 = load i16, i16* %20
%3507 = sext i16 %3506 to i32
%3508 = load i16, i16* %11
%3509 = sext i16 %3508 to i32
%3510 = icmp ne i32 %3507, %3509
br i1 %3510, label %3511, label %4171
3511: ; preds = %3500
%3512 = load i16, i16* %20
%3513 = sext i16 %3512 to i32
%3514 = load i16, i16* %12
%3515 = sext i16 %3514 to i32
%3516 = icmp ne i32 %3513, %3515
br i1 %3516, label %3517, label %4171
3517: ; preds = %3511
%3518 = load i16, i16* %20
%3519 = sext i16 %3518 to i32
%3520 = load i16, i16* %13
%3521 = sext i16 %3520 to i32
%3522 = icmp ne i32 %3519, %3521
br i1 %3522, label %3523, label %4171
3523: ; preds = %3517
%3524 = load i16, i16* %20
%3525 = sext i16 %3524 to i32
%3526 = load i16, i16* %14
%3527 = sext i16 %3526 to i32
%3528 = icmp ne i32 %3525, %3527
br i1 %3528, label %3529, label %4171
3529: ; preds = %3523
%3530 = load i16, i16* %20
%3531 = sext i16 %3530 to i32
%3532 = load i16, i16* %15
%3533 = sext i16 %3532 to i32
%3534 = icmp ne i32 %3531, %3533
br i1 %3534, label %3535, label %4171
3535: ; preds = %3529
%3536 = load i16, i16* %20
store i16 %3536, i16* %10
%3537 = load i16, i16* %16
%3538 = sext i16 %3537 to i32
%3539 = load i16, i16* %20
%3540 = sext i16 %3539 to i32
%3541 = icmp eq i32 %3538, %3540
br i1 %3541, label %3542, label %3749
3542: ; preds = %3535
store i16 0, i16* %16
%3543 = load i16, i16* %10
store i16 %3543, i16* %18
%3544 = load i16, i16* %14
%3545 = sext i16 %3544 to i32
%3546 = icmp eq i32 %3545, 0
br i1 %3546, label %3547, label %3548
3547: ; preds = %3542
br label %3552
3548: ; preds = %3542
%3549 = load i16, i16* %14
%3550 = sext i16 %3549 to i32
%3551 = sub nsw i32 25, %3550
br label %3552
3552: ; preds = %3548, %3547
%3553 = phi i32 [ 0, %3547 ], [ %3551, %3548 ]
%3554 = trunc i32 %3553 to i16
store i16 %3554, i16* %10
%3555 = load i16, i16* %18
%3556 = sext i16 %3555 to i32
%3557 = icmp eq i32 %3556, 0
br i1 %3557, label %3558, label %3559
3558: ; preds = %3552
br label %3563
3559: ; preds = %3552
%3560 = load i16, i16* %18
%3561 = sext i16 %3560 to i32
%3562 = sub nsw i32 25, %3561
br label %3563
3563: ; preds = %3559, %3558
%3564 = phi i32 [ 0, %3558 ], [ %3562, %3559 ]
%3565 = trunc i32 %3564 to i16
store i16 %3565, i16* %14
%3566 = load i16, i16* %11
store i16 %3566, i16* %18
%3567 = load i16, i16* %15
%3568 = sext i16 %3567 to i32
%3569 = icmp eq i32 %3568, 0
br i1 %3569, label %3570, label %3571
3570: ; preds = %3563
br label %3575
3571: ; preds = %3563
%3572 = load i16, i16* %15
%3573 = sext i16 %3572 to i32
%3574 = sub nsw i32 25, %3573
br label %3575
3575: ; preds = %3571, %3570
%3576 = phi i32 [ 0, %3570 ], [ %3574, %3571 ]
%3577 = trunc i32 %3576 to i16
store i16 %3577, i16* %11
%3578 = load i16, i16* %18
%3579 = sext i16 %3578 to i32
%3580 = icmp eq i32 %3579, 0
br i1 %3580, label %3581, label %3582
3581: ; preds = %3575
br label %3586
3582: ; preds = %3575
%3583 = load i16, i16* %18
%3584 = sext i16 %3583 to i32
%3585 = sub nsw i32 25, %3584
br label %3586
3586: ; preds = %3582, %3581
%3587 = phi i32 [ 0, %3581 ], [ %3585, %3582 ]
%3588 = trunc i32 %3587 to i16
store i16 %3588, i16* %15
%3589 = load i16, i16* %12
store i16 %3589, i16* %18
%3590 = load i16, i16* %16
%3591 = sext i16 %3590 to i32
%3592 = icmp eq i32 %3591, 0
br i1 %3592, label %3593, label %3594
3593: ; preds = %3586
br label %3598
3594: ; preds = %3586
%3595 = load i16, i16* %16
%3596 = sext i16 %3595 to i32
%3597 = sub nsw i32 25, %3596
br label %3598
3598: ; preds = %3594, %3593
%3599 = phi i32 [ 0, %3593 ], [ %3597, %3594 ]
%3600 = trunc i32 %3599 to i16
store i16 %3600, i16* %12
%3601 = load i16, i16* %18
%3602 = sext i16 %3601 to i32
%3603 = icmp eq i32 %3602, 0
br i1 %3603, label %3604, label %3605
3604: ; preds = %3598
br label %3609
3605: ; preds = %3598
%3606 = load i16, i16* %18
%3607 = sext i16 %3606 to i32
%3608 = sub nsw i32 25, %3607
br label %3609
3609: ; preds = %3605, %3604
%3610 = phi i32 [ 0, %3604 ], [ %3608, %3605 ]
%3611 = trunc i32 %3610 to i16
store i16 %3611, i16* %16
%3612 = load i16, i16* %13
store i16 %3612, i16* %18
%3613 = load i16, i16* %17
%3614 = sext i16 %3613 to i32
%3615 = icmp eq i32 %3614, 0
br i1 %3615, label %3616, label %3617
3616: ; preds = %3609
br label %3621
3617: ; preds = %3609
%3618 = load i16, i16* %17
%3619 = sext i16 %3618 to i32
%3620 = sub nsw i32 25, %3619
br label %3621
3621: ; preds = %3617, %3616
%3622 = phi i32 [ 0, %3616 ], [ %3620, %3617 ]
%3623 = trunc i32 %3622 to i16
store i16 %3623, i16* %13
%3624 = load i16, i16* %18
%3625 = sext i16 %3624 to i32
%3626 = icmp eq i32 %3625, 0
br i1 %3626, label %3627, label %3628
3627: ; preds = %3621
br label %3632
3628: ; preds = %3621
%3629 = load i16, i16* %18
%3630 = sext i16 %3629 to i32
%3631 = sub nsw i32 25, %3630
br label %3632
3632: ; preds = %3628, %3627
%3633 = phi i32 [ 0, %3627 ], [ %3631, %3628 ]
%3634 = trunc i32 %3633 to i16
store i16 %3634, i16* %17
%3635 = load i16, i16* %10
%3636 = sext i16 %3635 to i32
%3637 = load i16, i16* %11
%3638 = sext i16 %3637 to i32
%3639 = load i16, i16* %12
%3640 = sext i16 %3639 to i32
%3641 = load i16, i16* %13
%3642 = sext i16 %3641 to i32
%3643 = load i16, i16* %14
%3644 = sext i16 %3643 to i32
%3645 = load i16, i16* %15
%3646 = sext i16 %3645 to i32
%3647 = load i16, i16* %16
%3648 = sext i16 %3647 to i32
%3649 = load i16, i16* %17
%3650 = sext i16 %3649 to i32
%3651 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3636, i32 %3638, i32 %3640, i32 %3642, i32 %3644, i32 %3646, i32 %3648, i32 %3650)
%3652 = icmp eq i32 %3651, -1
br i1 %3652, label %3653, label %3654
3653: ; preds = %3632
store i16 -1, i16* %9
br label %18764
3654: ; preds = %3632
%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* %22
store i16 %3747, i16* %21
%3748 = load i16, i16* %20
store i16 %3748, i16* %16
br label %4169
3749: ; preds = %3535
%3750 = load i16, i16* %17
%3751 = sext i16 %3750 to i32
%3752 = load i16, i16* %20
%3753 = sext i16 %3752 to i32
%3754 = icmp eq i32 %3751, %3753
br i1 %3754, label %3755, label %3962
3755: ; preds = %3749
store i16 0, i16* %17
%3756 = load i16, i16* %10
store i16 %3756, i16* %18
%3757 = load i16, i16* %14
%3758 = sext i16 %3757 to i32
%3759 = icmp eq i32 %3758, 0
br i1 %3759, label %3760, label %3761
3760: ; preds = %3755
br label %3765
3761: ; preds = %3755
%3762 = load i16, i16* %14
%3763 = sext i16 %3762 to i32
%3764 = sub nsw i32 25, %3763
br label %3765
3765: ; preds = %3761, %3760
%3766 = phi i32 [ 0, %3760 ], [ %3764, %3761 ]
%3767 = trunc i32 %3766 to i16
store i16 %3767, i16* %10
%3768 = load i16, i16* %18
%3769 = sext i16 %3768 to i32
%3770 = icmp eq i32 %3769, 0
br i1 %3770, label %3771, label %3772
3771: ; preds = %3765
br label %3776
3772: ; preds = %3765
%3773 = load i16, i16* %18
%3774 = sext i16 %3773 to i32
%3775 = sub nsw i32 25, %3774
br label %3776
3776: ; preds = %3772, %3771
%3777 = phi i32 [ 0, %3771 ], [ %3775, %3772 ]
%3778 = trunc i32 %3777 to i16
store i16 %3778, i16* %14
%3779 = load i16, i16* %11
store i16 %3779, i16* %18
%3780 = load i16, i16* %15
%3781 = sext i16 %3780 to i32
%3782 = icmp eq i32 %3781, 0
br i1 %3782, label %3783, label %3784
3783: ; preds = %3776
br label %3788
3784: ; preds = %3776
%3785 = load i16, i16* %15
%3786 = sext i16 %3785 to i32
%3787 = sub nsw i32 25, %3786
br label %3788
3788: ; preds = %3784, %3783
%3789 = phi i32 [ 0, %3783 ], [ %3787, %3784 ]
%3790 = trunc i32 %3789 to i16
store i16 %3790, i16* %11
%3791 = load i16, i16* %18
%3792 = sext i16 %3791 to i32
%3793 = icmp eq i32 %3792, 0
br i1 %3793, label %3794, label %3795
3794: ; preds = %3788
br label %3799
3795: ; preds = %3788
%3796 = load i16, i16* %18
%3797 = sext i16 %3796 to i32
%3798 = sub nsw i32 25, %3797
br label %3799
3799: ; preds = %3795, %3794
%3800 = phi i32 [ 0, %3794 ], [ %3798, %3795 ]
%3801 = trunc i32 %3800 to i16
store i16 %3801, i16* %15
%3802 = load i16, i16* %12
store i16 %3802, i16* %18
%3803 = load i16, i16* %16
%3804 = sext i16 %3803 to i32
%3805 = icmp eq i32 %3804, 0
br i1 %3805, label %3806, label %3807
3806: ; preds = %3799
br label %3811
3807: ; preds = %3799
%3808 = load i16, i16* %16
%3809 = sext i16 %3808 to i32
%3810 = sub nsw i32 25, %3809
br label %3811
3811: ; preds = %3807, %3806
%3812 = phi i32 [ 0, %3806 ], [ %3810, %3807 ]
%3813 = trunc i32 %3812 to i16
store i16 %3813, i16* %12
%3814 = load i16, i16* %18
%3815 = sext i16 %3814 to i32
%3816 = icmp eq i32 %3815, 0
br i1 %3816, label %3817, label %3818
3817: ; preds = %3811
br label %3822
3818: ; preds = %3811
%3819 = load i16, i16* %18
%3820 = sext i16 %3819 to i32
%3821 = sub nsw i32 25, %3820
br label %3822
3822: ; preds = %3818, %3817
%3823 = phi i32 [ 0, %3817 ], [ %3821, %3818 ]
%3824 = trunc i32 %3823 to i16
store i16 %3824, i16* %16
%3825 = load i16, i16* %13
store i16 %3825, i16* %18
%3826 = load i16, i16* %17
%3827 = sext i16 %3826 to i32
%3828 = icmp eq i32 %3827, 0
br i1 %3828, label %3829, label %3830
3829: ; preds = %3822
br label %3834
3830: ; preds = %3822
%3831 = load i16, i16* %17
%3832 = sext i16 %3831 to i32
%3833 = sub nsw i32 25, %3832
br label %3834
3834: ; preds = %3830, %3829
%3835 = phi i32 [ 0, %3829 ], [ %3833, %3830 ]
%3836 = trunc i32 %3835 to i16
store i16 %3836, i16* %13
%3837 = load i16, i16* %18
%3838 = sext i16 %3837 to i32
%3839 = icmp eq i32 %3838, 0
br i1 %3839, label %3840, label %3841
3840: ; preds = %3834
br label %3845
3841: ; preds = %3834
%3842 = load i16, i16* %18
%3843 = sext i16 %3842 to i32
%3844 = sub nsw i32 25, %3843
br label %3845
3845: ; preds = %3841, %3840
%3846 = phi i32 [ 0, %3840 ], [ %3844, %3841 ]
%3847 = trunc i32 %3846 to i16
store i16 %3847, i16* %17
%3848 = load i16, i16* %10
%3849 = sext i16 %3848 to i32
%3850 = load i16, i16* %11
%3851 = sext i16 %3850 to i32
%3852 = load i16, i16* %12
%3853 = sext i16 %3852 to i32
%3854 = load i16, i16* %13
%3855 = sext i16 %3854 to i32
%3856 = load i16, i16* %14
%3857 = sext i16 %3856 to i32
%3858 = load i16, i16* %15
%3859 = sext i16 %3858 to i32
%3860 = load i16, i16* %16
%3861 = sext i16 %3860 to i32
%3862 = load i16, i16* %17
%3863 = sext i16 %3862 to i32
%3864 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3849, i32 %3851, i32 %3853, i32 %3855, i32 %3857, i32 %3859, i32 %3861, i32 %3863)
%3865 = icmp eq i32 %3864, -1
br i1 %3865, label %3866, label %3867
3866: ; preds = %3845
store i16 -1, i16* %9
br label %18764
3867: ; preds = %3845
%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* %22
store i16 %3960, i16* %21
%3961 = load i16, i16* %20
store i16 %3961, i16* %17
br label %4168
3962: ; preds = %3749
%3963 = load i16, i16* %10
store i16 %3963, i16* %18
%3964 = load i16, i16* %14
%3965 = sext i16 %3964 to i32
%3966 = icmp eq i32 %3965, 0
br i1 %3966, label %3967, label %3968
3967: ; preds = %3962
br label %3972
3968: ; preds = %3962
%3969 = load i16, i16* %14
%3970 = sext i16 %3969 to i32
%3971 = sub nsw i32 25, %3970
br label %3972
3972: ; preds = %3968, %3967
%3973 = phi i32 [ 0, %3967 ], [ %3971, %3968 ]
%3974 = trunc i32 %3973 to i16
store i16 %3974, i16* %10
%3975 = load i16, i16* %18
%3976 = sext i16 %3975 to i32
%3977 = icmp eq i32 %3976, 0
br i1 %3977, label %3978, label %3979
3978: ; preds = %3972
br label %3983
3979: ; preds = %3972
%3980 = load i16, i16* %18
%3981 = sext i16 %3980 to i32
%3982 = sub nsw i32 25, %3981
br label %3983
3983: ; preds = %3979, %3978
%3984 = phi i32 [ 0, %3978 ], [ %3982, %3979 ]
%3985 = trunc i32 %3984 to i16
store i16 %3985, i16* %14
%3986 = load i16, i16* %11
store i16 %3986, i16* %18
%3987 = load i16, i16* %15
%3988 = sext i16 %3987 to i32
%3989 = icmp eq i32 %3988, 0
br i1 %3989, label %3990, label %3991
3990: ; preds = %3983
br label %3995
3991: ; preds = %3983
%3992 = load i16, i16* %15
%3993 = sext i16 %3992 to i32
%3994 = sub nsw i32 25, %3993
br label %3995
3995: ; preds = %3991, %3990
%3996 = phi i32 [ 0, %3990 ], [ %3994, %3991 ]
%3997 = trunc i32 %3996 to i16
store i16 %3997, i16* %11
%3998 = load i16, i16* %18
%3999 = sext i16 %3998 to i32
%4000 = icmp eq i32 %3999, 0
br i1 %4000, label %4001, label %4002
4001: ; preds = %3995
br label %4006
4002: ; preds = %3995
%4003 = load i16, i16* %18
%4004 = sext i16 %4003 to i32
%4005 = sub nsw i32 25, %4004
br label %4006
4006: ; preds = %4002, %4001
%4007 = phi i32 [ 0, %4001 ], [ %4005, %4002 ]
%4008 = trunc i32 %4007 to i16
store i16 %4008, i16* %15
%4009 = load i16, i16* %12
store i16 %4009, i16* %18
%4010 = load i16, i16* %16
%4011 = sext i16 %4010 to i32
%4012 = icmp eq i32 %4011, 0
br i1 %4012, label %4013, label %4014
4013: ; preds = %4006
br label %4018
4014: ; preds = %4006
%4015 = load i16, i16* %16
%4016 = sext i16 %4015 to i32
%4017 = sub nsw i32 25, %4016
br label %4018
4018: ; preds = %4014, %4013
%4019 = phi i32 [ 0, %4013 ], [ %4017, %4014 ]
%4020 = trunc i32 %4019 to i16
store i16 %4020, i16* %12
%4021 = load i16, i16* %18
%4022 = sext i16 %4021 to i32
%4023 = icmp eq i32 %4022, 0
br i1 %4023, label %4024, label %4025
4024: ; preds = %4018
br label %4029
4025: ; preds = %4018
%4026 = load i16, i16* %18
%4027 = sext i16 %4026 to i32
%4028 = sub nsw i32 25, %4027
br label %4029
4029: ; preds = %4025, %4024
%4030 = phi i32 [ 0, %4024 ], [ %4028, %4025 ]
%4031 = trunc i32 %4030 to i16
store i16 %4031, i16* %16
%4032 = load i16, i16* %13
store i16 %4032, i16* %18
%4033 = load i16, i16* %17
%4034 = sext i16 %4033 to i32
%4035 = icmp eq i32 %4034, 0
br i1 %4035, label %4036, label %4037
4036: ; preds = %4029
br label %4041
4037: ; preds = %4029
%4038 = load i16, i16* %17
%4039 = sext i16 %4038 to i32
%4040 = sub nsw i32 25, %4039
br label %4041
4041: ; preds = %4037, %4036
%4042 = phi i32 [ 0, %4036 ], [ %4040, %4037 ]
%4043 = trunc i32 %4042 to i16
store i16 %4043, i16* %13
%4044 = load i16, i16* %18
%4045 = sext i16 %4044 to i32
%4046 = icmp eq i32 %4045, 0
br i1 %4046, label %4047, label %4048
4047: ; preds = %4041
br label %4052
4048: ; preds = %4041
%4049 = load i16, i16* %18
%4050 = sext i16 %4049 to i32
%4051 = sub nsw i32 25, %4050
br label %4052
4052: ; preds = %4048, %4047
%4053 = phi i32 [ 0, %4047 ], [ %4051, %4048 ]
%4054 = trunc i32 %4053 to i16
store i16 %4054, i16* %17
%4055 = load i16, i16* %10
%4056 = sext i16 %4055 to i32
%4057 = load i16, i16* %11
%4058 = sext i16 %4057 to i32
%4059 = load i16, i16* %12
%4060 = sext i16 %4059 to i32
%4061 = load i16, i16* %13
%4062 = sext i16 %4061 to i32
%4063 = load i16, i16* %14
%4064 = sext i16 %4063 to i32
%4065 = load i16, i16* %15
%4066 = sext i16 %4065 to i32
%4067 = load i16, i16* %16
%4068 = sext i16 %4067 to i32
%4069 = load i16, i16* %17
%4070 = sext i16 %4069 to i32
%4071 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4056, i32 %4058, i32 %4060, i32 %4062, i32 %4064, i32 %4066, i32 %4068, i32 %4070)
%4072 = icmp eq i32 %4071, -1
br i1 %4072, label %4073, label %4074
4073: ; preds = %4052
store i16 -1, i16* %9
br label %18764
4074: ; preds = %4052
%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
%4167 = load i16, i16* %22
store i16 %4167, i16* %21
br label %4168
4168: ; preds = %4164, %3957
br label %4169
4169: ; preds = %4168, %3744
%4170 = load i16, i16* %19
store i16 %4170, i16* %10
br label %4171
4171: ; preds = %4169, %3529, %3523, %3517, %3511, %3500
br label %4172
4172: ; preds = %4171, %3495, %3491, %3487
br label %18753
4173: ; preds = %3483
%4174 = load i16, i16* %22
%4175 = sext i16 %4174 to i32
%4176 = icmp eq i32 %4175, 6
br i1 %4176, label %4177, label %4859
4177: ; preds = %4173
%4178 = load i16, i16* %10
%4179 = sext i16 %4178 to i32
%4180 = icmp ne i32 %4179, 0
br i1 %4180, label %4181, label %4858
4181: ; preds = %4177
%4182 = load i16, i16* %10
%4183 = sext i16 %4182 to i32
%4184 = srem i32 %4183, 4
%4185 = icmp ne i32 %4184, 1
br i1 %4185, label %4186, label %4858
4186: ; preds = %4181
%4187 = load i16, i16* %10
store i16 %4187, i16* %19
%4188 = load i16, i16* %19
%4189 = sext i16 %4188 to i32
%4190 = sub nsw i32 %4189, 1
%4191 = trunc i32 %4190 to i16
store i16 %4191, i16* %20
%4192 = load i16, i16* %20
%4193 = sext i16 %4192 to i32
%4194 = load i16, i16* %11
%4195 = sext i16 %4194 to i32
%4196 = icmp ne i32 %4193, %4195
br i1 %4196, label %4197, label %4857
4197: ; preds = %4186
%4198 = load i16, i16* %20
%4199 = sext i16 %4198 to i32
%4200 = load i16, i16* %12
%4201 = sext i16 %4200 to i32
%4202 = icmp ne i32 %4199, %4201
br i1 %4202, label %4203, label %4857
4203: ; preds = %4197
%4204 = load i16, i16* %20
%4205 = sext i16 %4204 to i32
%4206 = load i16, i16* %13
%4207 = sext i16 %4206 to i32
%4208 = icmp ne i32 %4205, %4207
br i1 %4208, label %4209, label %4857
4209: ; preds = %4203
%4210 = load i16, i16* %20
%4211 = sext i16 %4210 to i32
%4212 = load i16, i16* %14
%4213 = sext i16 %4212 to i32
%4214 = icmp ne i32 %4211, %4213
br i1 %4214, label %4215, label %4857
4215: ; preds = %4209
%4216 = load i16, i16* %20
%4217 = sext i16 %4216 to i32
%4218 = load i16, i16* %15
%4219 = sext i16 %4218 to i32
%4220 = icmp ne i32 %4217, %4219
br i1 %4220, label %4221, label %4857
4221: ; preds = %4215
%4222 = load i16, i16* %20
store i16 %4222, i16* %10
%4223 = load i16, i16* %16
%4224 = sext i16 %4223 to i32
%4225 = load i16, i16* %20
%4226 = sext i16 %4225 to i32
%4227 = icmp eq i32 %4224, %4226
br i1 %4227, label %4228, label %4435
4228: ; preds = %4221
store i16 0, i16* %16
%4229 = load i16, i16* %10
store i16 %4229, i16* %18
%4230 = load i16, i16* %14
%4231 = sext i16 %4230 to i32
%4232 = icmp eq i32 %4231, 0
br i1 %4232, label %4233, label %4234
4233: ; preds = %4228
br label %4238
4234: ; preds = %4228
%4235 = load i16, i16* %14
%4236 = sext i16 %4235 to i32
%4237 = sub nsw i32 25, %4236
br label %4238
4238: ; preds = %4234, %4233
%4239 = phi i32 [ 0, %4233 ], [ %4237, %4234 ]
%4240 = trunc i32 %4239 to i16
store i16 %4240, i16* %10
%4241 = load i16, i16* %18
%4242 = sext i16 %4241 to i32
%4243 = icmp eq i32 %4242, 0
br i1 %4243, label %4244, label %4245
4244: ; preds = %4238
br label %4249
4245: ; preds = %4238
%4246 = load i16, i16* %18
%4247 = sext i16 %4246 to i32
%4248 = sub nsw i32 25, %4247
br label %4249
4249: ; preds = %4245, %4244
%4250 = phi i32 [ 0, %4244 ], [ %4248, %4245 ]
%4251 = trunc i32 %4250 to i16
store i16 %4251, i16* %14
%4252 = load i16, i16* %11
store i16 %4252, i16* %18
%4253 = load i16, i16* %15
%4254 = sext i16 %4253 to i32
%4255 = icmp eq i32 %4254, 0
br i1 %4255, label %4256, label %4257
4256: ; preds = %4249
br label %4261
4257: ; preds = %4249
%4258 = load i16, i16* %15
%4259 = sext i16 %4258 to i32
%4260 = sub nsw i32 25, %4259
br label %4261
4261: ; preds = %4257, %4256
%4262 = phi i32 [ 0, %4256 ], [ %4260, %4257 ]
%4263 = trunc i32 %4262 to i16
store i16 %4263, i16* %11
%4264 = load i16, i16* %18
%4265 = sext i16 %4264 to i32
%4266 = icmp eq i32 %4265, 0
br i1 %4266, label %4267, label %4268
4267: ; preds = %4261
br label %4272
4268: ; preds = %4261
%4269 = load i16, i16* %18
%4270 = sext i16 %4269 to i32
%4271 = sub nsw i32 25, %4270
br label %4272
4272: ; preds = %4268, %4267
%4273 = phi i32 [ 0, %4267 ], [ %4271, %4268 ]
%4274 = trunc i32 %4273 to i16
store i16 %4274, i16* %15
%4275 = load i16, i16* %12
store i16 %4275, i16* %18
%4276 = load i16, i16* %16
%4277 = sext i16 %4276 to i32
%4278 = icmp eq i32 %4277, 0
br i1 %4278, label %4279, label %4280
4279: ; preds = %4272
br label %4284
4280: ; preds = %4272
%4281 = load i16, i16* %16
%4282 = sext i16 %4281 to i32
%4283 = sub nsw i32 25, %4282
br label %4284
4284: ; preds = %4280, %4279
%4285 = phi i32 [ 0, %4279 ], [ %4283, %4280 ]
%4286 = trunc i32 %4285 to i16
store i16 %4286, i16* %12
%4287 = load i16, i16* %18
%4288 = sext i16 %4287 to i32
%4289 = icmp eq i32 %4288, 0
br i1 %4289, label %4290, label %4291
4290: ; preds = %4284
br label %4295
4291: ; preds = %4284
%4292 = load i16, i16* %18
%4293 = sext i16 %4292 to i32
%4294 = sub nsw i32 25, %4293
br label %4295
4295: ; preds = %4291, %4290
%4296 = phi i32 [ 0, %4290 ], [ %4294, %4291 ]
%4297 = trunc i32 %4296 to i16
store i16 %4297, i16* %16
%4298 = load i16, i16* %13
store i16 %4298, i16* %18
%4299 = load i16, i16* %17
%4300 = sext i16 %4299 to i32
%4301 = icmp eq i32 %4300, 0
br i1 %4301, label %4302, label %4303
4302: ; preds = %4295
br label %4307
4303: ; preds = %4295
%4304 = load i16, i16* %17
%4305 = sext i16 %4304 to i32
%4306 = sub nsw i32 25, %4305
br label %4307
4307: ; preds = %4303, %4302
%4308 = phi i32 [ 0, %4302 ], [ %4306, %4303 ]
%4309 = trunc i32 %4308 to i16
store i16 %4309, i16* %13
%4310 = load i16, i16* %18
%4311 = sext i16 %4310 to i32
%4312 = icmp eq i32 %4311, 0
br i1 %4312, label %4313, label %4314
4313: ; preds = %4307
br label %4318
4314: ; preds = %4307
%4315 = load i16, i16* %18
%4316 = sext i16 %4315 to i32
%4317 = sub nsw i32 25, %4316
br label %4318
4318: ; preds = %4314, %4313
%4319 = phi i32 [ 0, %4313 ], [ %4317, %4314 ]
%4320 = trunc i32 %4319 to i16
store i16 %4320, i16* %17
%4321 = load i16, i16* %10
%4322 = sext i16 %4321 to i32
%4323 = load i16, i16* %11
%4324 = sext i16 %4323 to i32
%4325 = load i16, i16* %12
%4326 = sext i16 %4325 to i32
%4327 = load i16, i16* %13
%4328 = sext i16 %4327 to i32
%4329 = load i16, i16* %14
%4330 = sext i16 %4329 to i32
%4331 = load i16, i16* %15
%4332 = sext i16 %4331 to i32
%4333 = load i16, i16* %16
%4334 = sext i16 %4333 to i32
%4335 = load i16, i16* %17
%4336 = sext i16 %4335 to i32
%4337 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4322, i32 %4324, i32 %4326, i32 %4328, i32 %4330, i32 %4332, i32 %4334, i32 %4336)
%4338 = icmp eq i32 %4337, -1
br i1 %4338, label %4339, label %4340
4339: ; preds = %4318
store i16 -1, i16* %9
br label %18764
4340: ; preds = %4318
%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* %22
store i16 %4433, i16* %21
%4434 = load i16, i16* %20
store i16 %4434, i16* %16
br label %4855
4435: ; preds = %4221
%4436 = load i16, i16* %17
%4437 = sext i16 %4436 to i32
%4438 = load i16, i16* %20
%4439 = sext i16 %4438 to i32
%4440 = icmp eq i32 %4437, %4439
br i1 %4440, label %4441, label %4648
4441: ; preds = %4435
store i16 0, i16* %17
%4442 = load i16, i16* %10
store i16 %4442, i16* %18
%4443 = load i16, i16* %14
%4444 = sext i16 %4443 to i32
%4445 = icmp eq i32 %4444, 0
br i1 %4445, label %4446, label %4447
4446: ; preds = %4441
br label %4451
4447: ; preds = %4441
%4448 = load i16, i16* %14
%4449 = sext i16 %4448 to i32
%4450 = sub nsw i32 25, %4449
br label %4451
4451: ; preds = %4447, %4446
%4452 = phi i32 [ 0, %4446 ], [ %4450, %4447 ]
%4453 = trunc i32 %4452 to i16
store i16 %4453, i16* %10
%4454 = load i16, i16* %18
%4455 = sext i16 %4454 to i32
%4456 = icmp eq i32 %4455, 0
br i1 %4456, label %4457, label %4458
4457: ; preds = %4451
br label %4462
4458: ; preds = %4451
%4459 = load i16, i16* %18
%4460 = sext i16 %4459 to i32
%4461 = sub nsw i32 25, %4460
br label %4462
4462: ; preds = %4458, %4457
%4463 = phi i32 [ 0, %4457 ], [ %4461, %4458 ]
%4464 = trunc i32 %4463 to i16
store i16 %4464, i16* %14
%4465 = load i16, i16* %11
store i16 %4465, i16* %18
%4466 = load i16, i16* %15
%4467 = sext i16 %4466 to i32
%4468 = icmp eq i32 %4467, 0
br i1 %4468, label %4469, label %4470
4469: ; preds = %4462
br label %4474
4470: ; preds = %4462
%4471 = load i16, i16* %15
%4472 = sext i16 %4471 to i32
%4473 = sub nsw i32 25, %4472
br label %4474
4474: ; preds = %4470, %4469
%4475 = phi i32 [ 0, %4469 ], [ %4473, %4470 ]
%4476 = trunc i32 %4475 to i16
store i16 %4476, i16* %11
%4477 = load i16, i16* %18
%4478 = sext i16 %4477 to i32
%4479 = icmp eq i32 %4478, 0
br i1 %4479, label %4480, label %4481
4480: ; preds = %4474
br label %4485
4481: ; preds = %4474
%4482 = load i16, i16* %18
%4483 = sext i16 %4482 to i32
%4484 = sub nsw i32 25, %4483
br label %4485
4485: ; preds = %4481, %4480
%4486 = phi i32 [ 0, %4480 ], [ %4484, %4481 ]
%4487 = trunc i32 %4486 to i16
store i16 %4487, i16* %15
%4488 = load i16, i16* %12
store i16 %4488, i16* %18
%4489 = load i16, i16* %16
%4490 = sext i16 %4489 to i32
%4491 = icmp eq i32 %4490, 0
br i1 %4491, label %4492, label %4493
4492: ; preds = %4485
br label %4497
4493: ; preds = %4485
%4494 = load i16, i16* %16
%4495 = sext i16 %4494 to i32
%4496 = sub nsw i32 25, %4495
br label %4497
4497: ; preds = %4493, %4492
%4498 = phi i32 [ 0, %4492 ], [ %4496, %4493 ]
%4499 = trunc i32 %4498 to i16
store i16 %4499, i16* %12
%4500 = load i16, i16* %18
%4501 = sext i16 %4500 to i32
%4502 = icmp eq i32 %4501, 0
br i1 %4502, label %4503, label %4504
4503: ; preds = %4497
br label %4508
4504: ; preds = %4497
%4505 = load i16, i16* %18
%4506 = sext i16 %4505 to i32
%4507 = sub nsw i32 25, %4506
br label %4508
4508: ; preds = %4504, %4503
%4509 = phi i32 [ 0, %4503 ], [ %4507, %4504 ]
%4510 = trunc i32 %4509 to i16
store i16 %4510, i16* %16
%4511 = load i16, i16* %13
store i16 %4511, i16* %18
%4512 = load i16, i16* %17
%4513 = sext i16 %4512 to i32
%4514 = icmp eq i32 %4513, 0
br i1 %4514, label %4515, label %4516
4515: ; preds = %4508
br label %4520
4516: ; preds = %4508
%4517 = load i16, i16* %17
%4518 = sext i16 %4517 to i32
%4519 = sub nsw i32 25, %4518
br label %4520
4520: ; preds = %4516, %4515
%4521 = phi i32 [ 0, %4515 ], [ %4519, %4516 ]
%4522 = trunc i32 %4521 to i16
store i16 %4522, i16* %13
%4523 = load i16, i16* %18
%4524 = sext i16 %4523 to i32
%4525 = icmp eq i32 %4524, 0
br i1 %4525, label %4526, label %4527
4526: ; preds = %4520
br label %4531
4527: ; preds = %4520
%4528 = load i16, i16* %18
%4529 = sext i16 %4528 to i32
%4530 = sub nsw i32 25, %4529
br label %4531
4531: ; preds = %4527, %4526
%4532 = phi i32 [ 0, %4526 ], [ %4530, %4527 ]
%4533 = trunc i32 %4532 to i16
store i16 %4533, i16* %17
%4534 = load i16, i16* %10
%4535 = sext i16 %4534 to i32
%4536 = load i16, i16* %11
%4537 = sext i16 %4536 to i32
%4538 = load i16, i16* %12
%4539 = sext i16 %4538 to i32
%4540 = load i16, i16* %13
%4541 = sext i16 %4540 to i32
%4542 = load i16, i16* %14
%4543 = sext i16 %4542 to i32
%4544 = load i16, i16* %15
%4545 = sext i16 %4544 to i32
%4546 = load i16, i16* %16
%4547 = sext i16 %4546 to i32
%4548 = load i16, i16* %17
%4549 = sext i16 %4548 to i32
%4550 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4535, i32 %4537, i32 %4539, i32 %4541, i32 %4543, i32 %4545, i32 %4547, i32 %4549)
%4551 = icmp eq i32 %4550, -1
br i1 %4551, label %4552, label %4553
4552: ; preds = %4531
store i16 -1, i16* %9
br label %18764
4553: ; preds = %4531
%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* %22
store i16 %4646, i16* %21
%4647 = load i16, i16* %20
store i16 %4647, i16* %17
br label %4854
4648: ; preds = %4435
%4649 = load i16, i16* %10
store i16 %4649, i16* %18
%4650 = load i16, i16* %14
%4651 = sext i16 %4650 to i32
%4652 = icmp eq i32 %4651, 0
br i1 %4652, label %4653, label %4654
4653: ; preds = %4648
br label %4658
4654: ; preds = %4648
%4655 = load i16, i16* %14
%4656 = sext i16 %4655 to i32
%4657 = sub nsw i32 25, %4656
br label %4658
4658: ; preds = %4654, %4653
%4659 = phi i32 [ 0, %4653 ], [ %4657, %4654 ]
%4660 = trunc i32 %4659 to i16
store i16 %4660, i16* %10
%4661 = load i16, i16* %18
%4662 = sext i16 %4661 to i32
%4663 = icmp eq i32 %4662, 0
br i1 %4663, label %4664, label %4665
4664: ; preds = %4658
br label %4669
4665: ; preds = %4658
%4666 = load i16, i16* %18
%4667 = sext i16 %4666 to i32
%4668 = sub nsw i32 25, %4667
br label %4669
4669: ; preds = %4665, %4664
%4670 = phi i32 [ 0, %4664 ], [ %4668, %4665 ]
%4671 = trunc i32 %4670 to i16
store i16 %4671, i16* %14
%4672 = load i16, i16* %11
store i16 %4672, i16* %18
%4673 = load i16, i16* %15
%4674 = sext i16 %4673 to i32
%4675 = icmp eq i32 %4674, 0
br i1 %4675, label %4676, label %4677
4676: ; preds = %4669
br label %4681
4677: ; preds = %4669
%4678 = load i16, i16* %15
%4679 = sext i16 %4678 to i32
%4680 = sub nsw i32 25, %4679
br label %4681
4681: ; preds = %4677, %4676
%4682 = phi i32 [ 0, %4676 ], [ %4680, %4677 ]
%4683 = trunc i32 %4682 to i16
store i16 %4683, i16* %11
%4684 = load i16, i16* %18
%4685 = sext i16 %4684 to i32
%4686 = icmp eq i32 %4685, 0
br i1 %4686, label %4687, label %4688
4687: ; preds = %4681
br label %4692
4688: ; preds = %4681
%4689 = load i16, i16* %18
%4690 = sext i16 %4689 to i32
%4691 = sub nsw i32 25, %4690
br label %4692
4692: ; preds = %4688, %4687
%4693 = phi i32 [ 0, %4687 ], [ %4691, %4688 ]
%4694 = trunc i32 %4693 to i16
store i16 %4694, i16* %15
%4695 = load i16, i16* %12
store i16 %4695, i16* %18
%4696 = load i16, i16* %16
%4697 = sext i16 %4696 to i32
%4698 = icmp eq i32 %4697, 0
br i1 %4698, label %4699, label %4700
4699: ; preds = %4692
br label %4704
4700: ; preds = %4692
%4701 = load i16, i16* %16
%4702 = sext i16 %4701 to i32
%4703 = sub nsw i32 25, %4702
br label %4704
4704: ; preds = %4700, %4699
%4705 = phi i32 [ 0, %4699 ], [ %4703, %4700 ]
%4706 = trunc i32 %4705 to i16
store i16 %4706, i16* %12
%4707 = load i16, i16* %18
%4708 = sext i16 %4707 to i32
%4709 = icmp eq i32 %4708, 0
br i1 %4709, label %4710, label %4711
4710: ; preds = %4704
br label %4715
4711: ; preds = %4704
%4712 = load i16, i16* %18
%4713 = sext i16 %4712 to i32
%4714 = sub nsw i32 25, %4713
br label %4715
4715: ; preds = %4711, %4710
%4716 = phi i32 [ 0, %4710 ], [ %4714, %4711 ]
%4717 = trunc i32 %4716 to i16
store i16 %4717, i16* %16
%4718 = load i16, i16* %13
store i16 %4718, i16* %18
%4719 = load i16, i16* %17
%4720 = sext i16 %4719 to i32
%4721 = icmp eq i32 %4720, 0
br i1 %4721, label %4722, label %4723
4722: ; preds = %4715
br label %4727
4723: ; preds = %4715
%4724 = load i16, i16* %17
%4725 = sext i16 %4724 to i32
%4726 = sub nsw i32 25, %4725
br label %4727
4727: ; preds = %4723, %4722
%4728 = phi i32 [ 0, %4722 ], [ %4726, %4723 ]
%4729 = trunc i32 %4728 to i16
store i16 %4729, i16* %13
%4730 = load i16, i16* %18
%4731 = sext i16 %4730 to i32
%4732 = icmp eq i32 %4731, 0
br i1 %4732, label %4733, label %4734
4733: ; preds = %4727
br label %4738
4734: ; preds = %4727
%4735 = load i16, i16* %18
%4736 = sext i16 %4735 to i32
%4737 = sub nsw i32 25, %4736
br label %4738
4738: ; preds = %4734, %4733
%4739 = phi i32 [ 0, %4733 ], [ %4737, %4734 ]
%4740 = trunc i32 %4739 to i16
store i16 %4740, i16* %17
%4741 = load i16, i16* %10
%4742 = sext i16 %4741 to i32
%4743 = load i16, i16* %11
%4744 = sext i16 %4743 to i32
%4745 = load i16, i16* %12
%4746 = sext i16 %4745 to i32
%4747 = load i16, i16* %13
%4748 = sext i16 %4747 to i32
%4749 = load i16, i16* %14
%4750 = sext i16 %4749 to i32
%4751 = load i16, i16* %15
%4752 = sext i16 %4751 to i32
%4753 = load i16, i16* %16
%4754 = sext i16 %4753 to i32
%4755 = load i16, i16* %17
%4756 = sext i16 %4755 to i32
%4757 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4742, i32 %4744, i32 %4746, i32 %4748, i32 %4750, i32 %4752, i32 %4754, i32 %4756)
%4758 = icmp eq i32 %4757, -1
br i1 %4758, label %4759, label %4760
4759: ; preds = %4738
store i16 -1, i16* %9
br label %18764
4760: ; preds = %4738
%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
%4853 = load i16, i16* %22
store i16 %4853, i16* %21
br label %4854
4854: ; preds = %4850, %4643
br label %4855
4855: ; preds = %4854, %4430
%4856 = load i16, i16* %19
store i16 %4856, i16* %10
br label %4857
4857: ; preds = %4855, %4215, %4209, %4203, %4197, %4186
br label %4858
4858: ; preds = %4857, %4181, %4177
br label %18752
4859: ; preds = %4173
%4860 = load i16, i16* %22
%4861 = sext i16 %4860 to i32
%4862 = icmp eq i32 %4861, 7
br i1 %4862, label %4863, label %5549
4863: ; preds = %4859
%4864 = load i16, i16* %10
%4865 = sext i16 %4864 to i32
%4866 = icmp ne i32 %4865, 0
br i1 %4866, label %4867, label %5548
4867: ; preds = %4863
%4868 = load i16, i16* %10
%4869 = sext i16 %4868 to i32
%4870 = icmp slt i32 %4869, 21
br i1 %4870, label %4871, label %5548
4871: ; preds = %4867
%4872 = load i16, i16* %10
%4873 = sext i16 %4872 to i32
%4874 = srem i32 %4873, 4
%4875 = icmp ne i32 %4874, 1
br i1 %4875, label %4876, label %5548
4876: ; preds = %4871
%4877 = load i16, i16* %10
store i16 %4877, i16* %19
%4878 = load i16, i16* %19
%4879 = sext i16 %4878 to i32
%4880 = add nsw i32 %4879, 3
%4881 = trunc i32 %4880 to i16
store i16 %4881, i16* %20
%4882 = load i16, i16* %20
%4883 = sext i16 %4882 to i32
%4884 = load i16, i16* %11
%4885 = sext i16 %4884 to i32
%4886 = icmp ne i32 %4883, %4885
br i1 %4886, label %4887, label %5547
4887: ; preds = %4876
%4888 = load i16, i16* %20
%4889 = sext i16 %4888 to i32
%4890 = load i16, i16* %12
%4891 = sext i16 %4890 to i32
%4892 = icmp ne i32 %4889, %4891
br i1 %4892, label %4893, label %5547
4893: ; preds = %4887
%4894 = load i16, i16* %20
%4895 = sext i16 %4894 to i32
%4896 = load i16, i16* %13
%4897 = sext i16 %4896 to i32
%4898 = icmp ne i32 %4895, %4897
br i1 %4898, label %4899, label %5547
4899: ; preds = %4893
%4900 = load i16, i16* %20
%4901 = sext i16 %4900 to i32
%4902 = load i16, i16* %14
%4903 = sext i16 %4902 to i32
%4904 = icmp ne i32 %4901, %4903
br i1 %4904, label %4905, label %5547
4905: ; preds = %4899
%4906 = load i16, i16* %20
%4907 = sext i16 %4906 to i32
%4908 = load i16, i16* %15
%4909 = sext i16 %4908 to i32
%4910 = icmp ne i32 %4907, %4909
br i1 %4910, label %4911, label %5547
4911: ; preds = %4905
%4912 = load i16, i16* %20
store i16 %4912, i16* %10
%4913 = load i16, i16* %16
%4914 = sext i16 %4913 to i32
%4915 = load i16, i16* %20
%4916 = sext i16 %4915 to i32
%4917 = icmp eq i32 %4914, %4916
br i1 %4917, label %4918, label %5125
4918: ; preds = %4911
store i16 0, i16* %16
%4919 = load i16, i16* %10
store i16 %4919, i16* %18
%4920 = load i16, i16* %14
%4921 = sext i16 %4920 to i32
%4922 = icmp eq i32 %4921, 0
br i1 %4922, label %4923, label %4924
4923: ; preds = %4918
br label %4928
4924: ; preds = %4918
%4925 = load i16, i16* %14
%4926 = sext i16 %4925 to i32
%4927 = sub nsw i32 25, %4926
br label %4928
4928: ; preds = %4924, %4923
%4929 = phi i32 [ 0, %4923 ], [ %4927, %4924 ]
%4930 = trunc i32 %4929 to i16
store i16 %4930, i16* %10
%4931 = load i16, i16* %18
%4932 = sext i16 %4931 to i32
%4933 = icmp eq i32 %4932, 0
br i1 %4933, label %4934, label %4935
4934: ; preds = %4928
br label %4939
4935: ; preds = %4928
%4936 = load i16, i16* %18
%4937 = sext i16 %4936 to i32
%4938 = sub nsw i32 25, %4937
br label %4939
4939: ; preds = %4935, %4934
%4940 = phi i32 [ 0, %4934 ], [ %4938, %4935 ]
%4941 = trunc i32 %4940 to i16
store i16 %4941, i16* %14
%4942 = load i16, i16* %11
store i16 %4942, i16* %18
%4943 = load i16, i16* %15
%4944 = sext i16 %4943 to i32
%4945 = icmp eq i32 %4944, 0
br i1 %4945, label %4946, label %4947
4946: ; preds = %4939
br label %4951
4947: ; preds = %4939
%4948 = load i16, i16* %15
%4949 = sext i16 %4948 to i32
%4950 = sub nsw i32 25, %4949
br label %4951
4951: ; preds = %4947, %4946
%4952 = phi i32 [ 0, %4946 ], [ %4950, %4947 ]
%4953 = trunc i32 %4952 to i16
store i16 %4953, i16* %11
%4954 = load i16, i16* %18
%4955 = sext i16 %4954 to i32
%4956 = icmp eq i32 %4955, 0
br i1 %4956, label %4957, label %4958
4957: ; preds = %4951
br label %4962
4958: ; preds = %4951
%4959 = load i16, i16* %18
%4960 = sext i16 %4959 to i32
%4961 = sub nsw i32 25, %4960
br label %4962
4962: ; preds = %4958, %4957
%4963 = phi i32 [ 0, %4957 ], [ %4961, %4958 ]
%4964 = trunc i32 %4963 to i16
store i16 %4964, i16* %15
%4965 = load i16, i16* %12
store i16 %4965, i16* %18
%4966 = load i16, i16* %16
%4967 = sext i16 %4966 to i32
%4968 = icmp eq i32 %4967, 0
br i1 %4968, label %4969, label %4970
4969: ; preds = %4962
br label %4974
4970: ; preds = %4962
%4971 = load i16, i16* %16
%4972 = sext i16 %4971 to i32
%4973 = sub nsw i32 25, %4972
br label %4974
4974: ; preds = %4970, %4969
%4975 = phi i32 [ 0, %4969 ], [ %4973, %4970 ]
%4976 = trunc i32 %4975 to i16
store i16 %4976, i16* %12
%4977 = load i16, i16* %18
%4978 = sext i16 %4977 to i32
%4979 = icmp eq i32 %4978, 0
br i1 %4979, label %4980, label %4981
4980: ; preds = %4974
br label %4985
4981: ; preds = %4974
%4982 = load i16, i16* %18
%4983 = sext i16 %4982 to i32
%4984 = sub nsw i32 25, %4983
br label %4985
4985: ; preds = %4981, %4980
%4986 = phi i32 [ 0, %4980 ], [ %4984, %4981 ]
%4987 = trunc i32 %4986 to i16
store i16 %4987, i16* %16
%4988 = load i16, i16* %13
store i16 %4988, i16* %18
%4989 = load i16, i16* %17
%4990 = sext i16 %4989 to i32
%4991 = icmp eq i32 %4990, 0
br i1 %4991, label %4992, label %4993
4992: ; preds = %4985
br label %4997
4993: ; preds = %4985
%4994 = load i16, i16* %17
%4995 = sext i16 %4994 to i32
%4996 = sub nsw i32 25, %4995
br label %4997
4997: ; preds = %4993, %4992
%4998 = phi i32 [ 0, %4992 ], [ %4996, %4993 ]
%4999 = trunc i32 %4998 to i16
store i16 %4999, i16* %13
%5000 = load i16, i16* %18
%5001 = sext i16 %5000 to i32
%5002 = icmp eq i32 %5001, 0
br i1 %5002, label %5003, label %5004
5003: ; preds = %4997
br label %5008
5004: ; preds = %4997
%5005 = load i16, i16* %18
%5006 = sext i16 %5005 to i32
%5007 = sub nsw i32 25, %5006
br label %5008
5008: ; preds = %5004, %5003
%5009 = phi i32 [ 0, %5003 ], [ %5007, %5004 ]
%5010 = trunc i32 %5009 to i16
store i16 %5010, i16* %17
%5011 = load i16, i16* %10
%5012 = sext i16 %5011 to i32
%5013 = load i16, i16* %11
%5014 = sext i16 %5013 to i32
%5015 = load i16, i16* %12
%5016 = sext i16 %5015 to i32
%5017 = load i16, i16* %13
%5018 = sext i16 %5017 to i32
%5019 = load i16, i16* %14
%5020 = sext i16 %5019 to i32
%5021 = load i16, i16* %15
%5022 = sext i16 %5021 to i32
%5023 = load i16, i16* %16
%5024 = sext i16 %5023 to i32
%5025 = load i16, i16* %17
%5026 = sext i16 %5025 to i32
%5027 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5012, i32 %5014, i32 %5016, i32 %5018, i32 %5020, i32 %5022, i32 %5024, i32 %5026)
%5028 = icmp eq i32 %5027, -1
br i1 %5028, label %5029, label %5030
5029: ; preds = %5008
store i16 -1, i16* %9
br label %18764
5030: ; preds = %5008
%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* %22
store i16 %5123, i16* %21
%5124 = load i16, i16* %20
store i16 %5124, i16* %16
br label %5545
5125: ; preds = %4911
%5126 = load i16, i16* %17
%5127 = sext i16 %5126 to i32
%5128 = load i16, i16* %20
%5129 = sext i16 %5128 to i32
%5130 = icmp eq i32 %5127, %5129
br i1 %5130, label %5131, label %5338
5131: ; preds = %5125
store i16 0, i16* %17
%5132 = load i16, i16* %10
store i16 %5132, i16* %18
%5133 = load i16, i16* %14
%5134 = sext i16 %5133 to i32
%5135 = icmp eq i32 %5134, 0
br i1 %5135, label %5136, label %5137
5136: ; preds = %5131
br label %5141
5137: ; preds = %5131
%5138 = load i16, i16* %14
%5139 = sext i16 %5138 to i32
%5140 = sub nsw i32 25, %5139
br label %5141
5141: ; preds = %5137, %5136
%5142 = phi i32 [ 0, %5136 ], [ %5140, %5137 ]
%5143 = trunc i32 %5142 to i16
store i16 %5143, i16* %10
%5144 = load i16, i16* %18
%5145 = sext i16 %5144 to i32
%5146 = icmp eq i32 %5145, 0
br i1 %5146, label %5147, label %5148
5147: ; preds = %5141
br label %5152
5148: ; preds = %5141
%5149 = load i16, i16* %18
%5150 = sext i16 %5149 to i32
%5151 = sub nsw i32 25, %5150
br label %5152
5152: ; preds = %5148, %5147
%5153 = phi i32 [ 0, %5147 ], [ %5151, %5148 ]
%5154 = trunc i32 %5153 to i16
store i16 %5154, i16* %14
%5155 = load i16, i16* %11
store i16 %5155, i16* %18
%5156 = load i16, i16* %15
%5157 = sext i16 %5156 to i32
%5158 = icmp eq i32 %5157, 0
br i1 %5158, label %5159, label %5160
5159: ; preds = %5152
br label %5164
5160: ; preds = %5152
%5161 = load i16, i16* %15
%5162 = sext i16 %5161 to i32
%5163 = sub nsw i32 25, %5162
br label %5164
5164: ; preds = %5160, %5159
%5165 = phi i32 [ 0, %5159 ], [ %5163, %5160 ]
%5166 = trunc i32 %5165 to i16
store i16 %5166, i16* %11
%5167 = load i16, i16* %18
%5168 = sext i16 %5167 to i32
%5169 = icmp eq i32 %5168, 0
br i1 %5169, label %5170, label %5171
5170: ; preds = %5164
br label %5175
5171: ; preds = %5164
%5172 = load i16, i16* %18
%5173 = sext i16 %5172 to i32
%5174 = sub nsw i32 25, %5173
br label %5175
5175: ; preds = %5171, %5170
%5176 = phi i32 [ 0, %5170 ], [ %5174, %5171 ]
%5177 = trunc i32 %5176 to i16
store i16 %5177, i16* %15
%5178 = load i16, i16* %12
store i16 %5178, i16* %18
%5179 = load i16, i16* %16
%5180 = sext i16 %5179 to i32
%5181 = icmp eq i32 %5180, 0
br i1 %5181, label %5182, label %5183
5182: ; preds = %5175
br label %5187
5183: ; preds = %5175
%5184 = load i16, i16* %16
%5185 = sext i16 %5184 to i32
%5186 = sub nsw i32 25, %5185
br label %5187
5187: ; preds = %5183, %5182
%5188 = phi i32 [ 0, %5182 ], [ %5186, %5183 ]
%5189 = trunc i32 %5188 to i16
store i16 %5189, i16* %12
%5190 = load i16, i16* %18
%5191 = sext i16 %5190 to i32
%5192 = icmp eq i32 %5191, 0
br i1 %5192, label %5193, label %5194
5193: ; preds = %5187
br label %5198
5194: ; preds = %5187
%5195 = load i16, i16* %18
%5196 = sext i16 %5195 to i32
%5197 = sub nsw i32 25, %5196
br label %5198
5198: ; preds = %5194, %5193
%5199 = phi i32 [ 0, %5193 ], [ %5197, %5194 ]
%5200 = trunc i32 %5199 to i16
store i16 %5200, i16* %16
%5201 = load i16, i16* %13
store i16 %5201, i16* %18
%5202 = load i16, i16* %17
%5203 = sext i16 %5202 to i32
%5204 = icmp eq i32 %5203, 0
br i1 %5204, label %5205, label %5206
5205: ; preds = %5198
br label %5210
5206: ; preds = %5198
%5207 = load i16, i16* %17
%5208 = sext i16 %5207 to i32
%5209 = sub nsw i32 25, %5208
br label %5210
5210: ; preds = %5206, %5205
%5211 = phi i32 [ 0, %5205 ], [ %5209, %5206 ]
%5212 = trunc i32 %5211 to i16
store i16 %5212, i16* %13
%5213 = load i16, i16* %18
%5214 = sext i16 %5213 to i32
%5215 = icmp eq i32 %5214, 0
br i1 %5215, label %5216, label %5217
5216: ; preds = %5210
br label %5221
5217: ; preds = %5210
%5218 = load i16, i16* %18
%5219 = sext i16 %5218 to i32
%5220 = sub nsw i32 25, %5219
br label %5221
5221: ; preds = %5217, %5216
%5222 = phi i32 [ 0, %5216 ], [ %5220, %5217 ]
%5223 = trunc i32 %5222 to i16
store i16 %5223, i16* %17
%5224 = load i16, i16* %10
%5225 = sext i16 %5224 to i32
%5226 = load i16, i16* %11
%5227 = sext i16 %5226 to i32
%5228 = load i16, i16* %12
%5229 = sext i16 %5228 to i32
%5230 = load i16, i16* %13
%5231 = sext i16 %5230 to i32
%5232 = load i16, i16* %14
%5233 = sext i16 %5232 to i32
%5234 = load i16, i16* %15
%5235 = sext i16 %5234 to i32
%5236 = load i16, i16* %16
%5237 = sext i16 %5236 to i32
%5238 = load i16, i16* %17
%5239 = sext i16 %5238 to i32
%5240 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5225, i32 %5227, i32 %5229, i32 %5231, i32 %5233, i32 %5235, i32 %5237, i32 %5239)
%5241 = icmp eq i32 %5240, -1
br i1 %5241, label %5242, label %5243
5242: ; preds = %5221
store i16 -1, i16* %9
br label %18764
5243: ; preds = %5221
%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* %22
store i16 %5336, i16* %21
%5337 = load i16, i16* %20
store i16 %5337, i16* %17
br label %5544
5338: ; preds = %5125
%5339 = load i16, i16* %10
store i16 %5339, i16* %18
%5340 = load i16, i16* %14
%5341 = sext i16 %5340 to i32
%5342 = icmp eq i32 %5341, 0
br i1 %5342, label %5343, label %5344
5343: ; preds = %5338
br label %5348
5344: ; preds = %5338
%5345 = load i16, i16* %14
%5346 = sext i16 %5345 to i32
%5347 = sub nsw i32 25, %5346
br label %5348
5348: ; preds = %5344, %5343
%5349 = phi i32 [ 0, %5343 ], [ %5347, %5344 ]
%5350 = trunc i32 %5349 to i16
store i16 %5350, i16* %10
%5351 = load i16, i16* %18
%5352 = sext i16 %5351 to i32
%5353 = icmp eq i32 %5352, 0
br i1 %5353, label %5354, label %5355
5354: ; preds = %5348
br label %5359
5355: ; preds = %5348
%5356 = load i16, i16* %18
%5357 = sext i16 %5356 to i32
%5358 = sub nsw i32 25, %5357
br label %5359
5359: ; preds = %5355, %5354
%5360 = phi i32 [ 0, %5354 ], [ %5358, %5355 ]
%5361 = trunc i32 %5360 to i16
store i16 %5361, i16* %14
%5362 = load i16, i16* %11
store i16 %5362, i16* %18
%5363 = load i16, i16* %15
%5364 = sext i16 %5363 to i32
%5365 = icmp eq i32 %5364, 0
br i1 %5365, label %5366, label %5367
5366: ; preds = %5359
br label %5371
5367: ; preds = %5359
%5368 = load i16, i16* %15
%5369 = sext i16 %5368 to i32
%5370 = sub nsw i32 25, %5369
br label %5371
5371: ; preds = %5367, %5366
%5372 = phi i32 [ 0, %5366 ], [ %5370, %5367 ]
%5373 = trunc i32 %5372 to i16
store i16 %5373, i16* %11
%5374 = load i16, i16* %18
%5375 = sext i16 %5374 to i32
%5376 = icmp eq i32 %5375, 0
br i1 %5376, label %5377, label %5378
5377: ; preds = %5371
br label %5382
5378: ; preds = %5371
%5379 = load i16, i16* %18
%5380 = sext i16 %5379 to i32
%5381 = sub nsw i32 25, %5380
br label %5382
5382: ; preds = %5378, %5377
%5383 = phi i32 [ 0, %5377 ], [ %5381, %5378 ]
%5384 = trunc i32 %5383 to i16
store i16 %5384, i16* %15
%5385 = load i16, i16* %12
store i16 %5385, i16* %18
%5386 = load i16, i16* %16
%5387 = sext i16 %5386 to i32
%5388 = icmp eq i32 %5387, 0
br i1 %5388, label %5389, label %5390
5389: ; preds = %5382
br label %5394
5390: ; preds = %5382
%5391 = load i16, i16* %16
%5392 = sext i16 %5391 to i32
%5393 = sub nsw i32 25, %5392
br label %5394
5394: ; preds = %5390, %5389
%5395 = phi i32 [ 0, %5389 ], [ %5393, %5390 ]
%5396 = trunc i32 %5395 to i16
store i16 %5396, i16* %12
%5397 = load i16, i16* %18
%5398 = sext i16 %5397 to i32
%5399 = icmp eq i32 %5398, 0
br i1 %5399, label %5400, label %5401
5400: ; preds = %5394
br label %5405
5401: ; preds = %5394
%5402 = load i16, i16* %18
%5403 = sext i16 %5402 to i32
%5404 = sub nsw i32 25, %5403
br label %5405
5405: ; preds = %5401, %5400
%5406 = phi i32 [ 0, %5400 ], [ %5404, %5401 ]
%5407 = trunc i32 %5406 to i16
store i16 %5407, i16* %16
%5408 = load i16, i16* %13
store i16 %5408, i16* %18
%5409 = load i16, i16* %17
%5410 = sext i16 %5409 to i32
%5411 = icmp eq i32 %5410, 0
br i1 %5411, label %5412, label %5413
5412: ; preds = %5405
br label %5417
5413: ; preds = %5405
%5414 = load i16, i16* %17
%5415 = sext i16 %5414 to i32
%5416 = sub nsw i32 25, %5415
br label %5417
5417: ; preds = %5413, %5412
%5418 = phi i32 [ 0, %5412 ], [ %5416, %5413 ]
%5419 = trunc i32 %5418 to i16
store i16 %5419, i16* %13
%5420 = load i16, i16* %18
%5421 = sext i16 %5420 to i32
%5422 = icmp eq i32 %5421, 0
br i1 %5422, label %5423, label %5424
5423: ; preds = %5417
br label %5428
5424: ; preds = %5417
%5425 = load i16, i16* %18
%5426 = sext i16 %5425 to i32
%5427 = sub nsw i32 25, %5426
br label %5428
5428: ; preds = %5424, %5423
%5429 = phi i32 [ 0, %5423 ], [ %5427, %5424 ]
%5430 = trunc i32 %5429 to i16
store i16 %5430, i16* %17
%5431 = load i16, i16* %10
%5432 = sext i16 %5431 to i32
%5433 = load i16, i16* %11
%5434 = sext i16 %5433 to i32
%5435 = load i16, i16* %12
%5436 = sext i16 %5435 to i32
%5437 = load i16, i16* %13
%5438 = sext i16 %5437 to i32
%5439 = load i16, i16* %14
%5440 = sext i16 %5439 to i32
%5441 = load i16, i16* %15
%5442 = sext i16 %5441 to i32
%5443 = load i16, i16* %16
%5444 = sext i16 %5443 to i32
%5445 = load i16, i16* %17
%5446 = sext i16 %5445 to i32
%5447 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5432, i32 %5434, i32 %5436, i32 %5438, i32 %5440, i32 %5442, i32 %5444, i32 %5446)
%5448 = icmp eq i32 %5447, -1
br i1 %5448, label %5449, label %5450
5449: ; preds = %5428
store i16 -1, i16* %9
br label %18764
5450: ; preds = %5428
%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
%5543 = load i16, i16* %22
store i16 %5543, i16* %21
br label %5544
5544: ; preds = %5540, %5333
br label %5545
5545: ; preds = %5544, %5120
%5546 = load i16, i16* %19
store i16 %5546, i16* %10
br label %5547
5547: ; preds = %5545, %4905, %4899, %4893, %4887, %4876
br label %5548
5548: ; preds = %5547, %4871, %4867, %4863
br label %18751
5549: ; preds = %4859
%5550 = load i16, i16* %22
%5551 = sext i16 %5550 to i32
%5552 = icmp eq i32 %5551, 8
br i1 %5552, label %5553, label %6234
5553: ; preds = %5549
%5554 = load i16, i16* %11
%5555 = sext i16 %5554 to i32
%5556 = icmp ne i32 %5555, 0
br i1 %5556, label %5557, label %6233
5557: ; preds = %5553
%5558 = load i16, i16* %11
%5559 = sext i16 %5558 to i32
%5560 = icmp slt i32 %5559, 21
br i1 %5560, label %5561, label %6233
5561: ; preds = %5557
%5562 = load i16, i16* %11
store i16 %5562, i16* %19
%5563 = load i16, i16* %19
%5564 = sext i16 %5563 to i32
%5565 = add nsw i32 %5564, 4
%5566 = trunc i32 %5565 to i16
store i16 %5566, i16* %20
%5567 = load i16, i16* %20
%5568 = sext i16 %5567 to i32
%5569 = load i16, i16* %10
%5570 = sext i16 %5569 to i32
%5571 = icmp ne i32 %5568, %5570
br i1 %5571, label %5572, label %6232
5572: ; preds = %5561
%5573 = load i16, i16* %20
%5574 = sext i16 %5573 to i32
%5575 = load i16, i16* %12
%5576 = sext i16 %5575 to i32
%5577 = icmp ne i32 %5574, %5576
br i1 %5577, label %5578, label %6232
5578: ; preds = %5572
%5579 = load i16, i16* %20
%5580 = sext i16 %5579 to i32
%5581 = load i16, i16* %13
%5582 = sext i16 %5581 to i32
%5583 = icmp ne i32 %5580, %5582
br i1 %5583, label %5584, label %6232
5584: ; preds = %5578
%5585 = load i16, i16* %20
%5586 = sext i16 %5585 to i32
%5587 = load i16, i16* %15
%5588 = sext i16 %5587 to i32
%5589 = icmp ne i32 %5586, %5588
br i1 %5589, label %5590, label %6232
5590: ; preds = %5584
%5591 = load i16, i16* %20
%5592 = sext i16 %5591 to i32
%5593 = load i16, i16* %16
%5594 = sext i16 %5593 to i32
%5595 = icmp ne i32 %5592, %5594
br i1 %5595, label %5596, label %6232
5596: ; preds = %5590
%5597 = load i16, i16* %20
store i16 %5597, i16* %11
%5598 = load i16, i16* %14
%5599 = sext i16 %5598 to i32
%5600 = load i16, i16* %20
%5601 = sext i16 %5600 to i32
%5602 = icmp eq i32 %5599, %5601
br i1 %5602, label %5603, label %5810
5603: ; preds = %5596
store i16 0, i16* %14
%5604 = load i16, i16* %10
store i16 %5604, i16* %18
%5605 = load i16, i16* %14
%5606 = sext i16 %5605 to i32
%5607 = icmp eq i32 %5606, 0
br i1 %5607, label %5608, label %5609
5608: ; preds = %5603
br label %5613
5609: ; preds = %5603
%5610 = load i16, i16* %14
%5611 = sext i16 %5610 to i32
%5612 = sub nsw i32 25, %5611
br label %5613
5613: ; preds = %5609, %5608
%5614 = phi i32 [ 0, %5608 ], [ %5612, %5609 ]
%5615 = trunc i32 %5614 to i16
store i16 %5615, i16* %10
%5616 = load i16, i16* %18
%5617 = sext i16 %5616 to i32
%5618 = icmp eq i32 %5617, 0
br i1 %5618, label %5619, label %5620
5619: ; preds = %5613
br label %5624
5620: ; preds = %5613
%5621 = load i16, i16* %18
%5622 = sext i16 %5621 to i32
%5623 = sub nsw i32 25, %5622
br label %5624
5624: ; preds = %5620, %5619
%5625 = phi i32 [ 0, %5619 ], [ %5623, %5620 ]
%5626 = trunc i32 %5625 to i16
store i16 %5626, i16* %14
%5627 = load i16, i16* %11
store i16 %5627, i16* %18
%5628 = load i16, i16* %15
%5629 = sext i16 %5628 to i32
%5630 = icmp eq i32 %5629, 0
br i1 %5630, label %5631, label %5632
5631: ; preds = %5624
br label %5636
5632: ; preds = %5624
%5633 = load i16, i16* %15
%5634 = sext i16 %5633 to i32
%5635 = sub nsw i32 25, %5634
br label %5636
5636: ; preds = %5632, %5631
%5637 = phi i32 [ 0, %5631 ], [ %5635, %5632 ]
%5638 = trunc i32 %5637 to i16
store i16 %5638, i16* %11
%5639 = load i16, i16* %18
%5640 = sext i16 %5639 to i32
%5641 = icmp eq i32 %5640, 0
br i1 %5641, label %5642, label %5643
5642: ; preds = %5636
br label %5647
5643: ; preds = %5636
%5644 = load i16, i16* %18
%5645 = sext i16 %5644 to i32
%5646 = sub nsw i32 25, %5645
br label %5647
5647: ; preds = %5643, %5642
%5648 = phi i32 [ 0, %5642 ], [ %5646, %5643 ]
%5649 = trunc i32 %5648 to i16
store i16 %5649, i16* %15
%5650 = load i16, i16* %12
store i16 %5650, i16* %18
%5651 = load i16, i16* %16
%5652 = sext i16 %5651 to i32
%5653 = icmp eq i32 %5652, 0
br i1 %5653, label %5654, label %5655
5654: ; preds = %5647
br label %5659
5655: ; preds = %5647
%5656 = load i16, i16* %16
%5657 = sext i16 %5656 to i32
%5658 = sub nsw i32 25, %5657
br label %5659
5659: ; preds = %5655, %5654
%5660 = phi i32 [ 0, %5654 ], [ %5658, %5655 ]
%5661 = trunc i32 %5660 to i16
store i16 %5661, i16* %12
%5662 = load i16, i16* %18
%5663 = sext i16 %5662 to i32
%5664 = icmp eq i32 %5663, 0
br i1 %5664, label %5665, label %5666
5665: ; preds = %5659
br label %5670
5666: ; preds = %5659
%5667 = load i16, i16* %18
%5668 = sext i16 %5667 to i32
%5669 = sub nsw i32 25, %5668
br label %5670
5670: ; preds = %5666, %5665
%5671 = phi i32 [ 0, %5665 ], [ %5669, %5666 ]
%5672 = trunc i32 %5671 to i16
store i16 %5672, i16* %16
%5673 = load i16, i16* %13
store i16 %5673, i16* %18
%5674 = load i16, i16* %17
%5675 = sext i16 %5674 to i32
%5676 = icmp eq i32 %5675, 0
br i1 %5676, label %5677, label %5678
5677: ; preds = %5670
br label %5682
5678: ; preds = %5670
%5679 = load i16, i16* %17
%5680 = sext i16 %5679 to i32
%5681 = sub nsw i32 25, %5680
br label %5682
5682: ; preds = %5678, %5677
%5683 = phi i32 [ 0, %5677 ], [ %5681, %5678 ]
%5684 = trunc i32 %5683 to i16
store i16 %5684, i16* %13
%5685 = load i16, i16* %18
%5686 = sext i16 %5685 to i32
%5687 = icmp eq i32 %5686, 0
br i1 %5687, label %5688, label %5689
5688: ; preds = %5682
br label %5693
5689: ; preds = %5682
%5690 = load i16, i16* %18
%5691 = sext i16 %5690 to i32
%5692 = sub nsw i32 25, %5691
br label %5693
5693: ; preds = %5689, %5688
%5694 = phi i32 [ 0, %5688 ], [ %5692, %5689 ]
%5695 = trunc i32 %5694 to i16
store i16 %5695, i16* %17
%5696 = load i16, i16* %10
%5697 = sext i16 %5696 to i32
%5698 = load i16, i16* %11
%5699 = sext i16 %5698 to i32
%5700 = load i16, i16* %12
%5701 = sext i16 %5700 to i32
%5702 = load i16, i16* %13
%5703 = sext i16 %5702 to i32
%5704 = load i16, i16* %14
%5705 = sext i16 %5704 to i32
%5706 = load i16, i16* %15
%5707 = sext i16 %5706 to i32
%5708 = load i16, i16* %16
%5709 = sext i16 %5708 to i32
%5710 = load i16, i16* %17
%5711 = sext i16 %5710 to i32
%5712 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5697, i32 %5699, i32 %5701, i32 %5703, i32 %5705, i32 %5707, i32 %5709, i32 %5711)
%5713 = icmp eq i32 %5712, -1
br i1 %5713, label %5714, label %5715
5714: ; preds = %5693
store i16 -1, i16* %9
br label %18764
5715: ; preds = %5693
%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* %22
store i16 %5808, i16* %21
%5809 = load i16, i16* %20
store i16 %5809, i16* %14
br label %6230
5810: ; preds = %5596
%5811 = load i16, i16* %20
%5812 = sext i16 %5811 to i32
%5813 = load i16, i16* %17
%5814 = sext i16 %5813 to i32
%5815 = icmp eq i32 %5812, %5814
br i1 %5815, label %5816, label %6023
5816: ; preds = %5810
store i16 0, i16* %17
%5817 = load i16, i16* %10
store i16 %5817, i16* %18
%5818 = load i16, i16* %14
%5819 = sext i16 %5818 to i32
%5820 = icmp eq i32 %5819, 0
br i1 %5820, label %5821, label %5822
5821: ; preds = %5816
br label %5826
5822: ; preds = %5816
%5823 = load i16, i16* %14
%5824 = sext i16 %5823 to i32
%5825 = sub nsw i32 25, %5824
br label %5826
5826: ; preds = %5822, %5821
%5827 = phi i32 [ 0, %5821 ], [ %5825, %5822 ]
%5828 = trunc i32 %5827 to i16
store i16 %5828, i16* %10
%5829 = load i16, i16* %18
%5830 = sext i16 %5829 to i32
%5831 = icmp eq i32 %5830, 0
br i1 %5831, label %5832, label %5833
5832: ; preds = %5826
br label %5837
5833: ; preds = %5826
%5834 = load i16, i16* %18
%5835 = sext i16 %5834 to i32
%5836 = sub nsw i32 25, %5835
br label %5837
5837: ; preds = %5833, %5832
%5838 = phi i32 [ 0, %5832 ], [ %5836, %5833 ]
%5839 = trunc i32 %5838 to i16
store i16 %5839, i16* %14
%5840 = load i16, i16* %11
store i16 %5840, i16* %18
%5841 = load i16, i16* %15
%5842 = sext i16 %5841 to i32
%5843 = icmp eq i32 %5842, 0
br i1 %5843, label %5844, label %5845
5844: ; preds = %5837
br label %5849
5845: ; preds = %5837
%5846 = load i16, i16* %15
%5847 = sext i16 %5846 to i32
%5848 = sub nsw i32 25, %5847
br label %5849
5849: ; preds = %5845, %5844
%5850 = phi i32 [ 0, %5844 ], [ %5848, %5845 ]
%5851 = trunc i32 %5850 to i16
store i16 %5851, i16* %11
%5852 = load i16, i16* %18
%5853 = sext i16 %5852 to i32
%5854 = icmp eq i32 %5853, 0
br i1 %5854, label %5855, label %5856
5855: ; preds = %5849
br label %5860
5856: ; preds = %5849
%5857 = load i16, i16* %18
%5858 = sext i16 %5857 to i32
%5859 = sub nsw i32 25, %5858
br label %5860
5860: ; preds = %5856, %5855
%5861 = phi i32 [ 0, %5855 ], [ %5859, %5856 ]
%5862 = trunc i32 %5861 to i16
store i16 %5862, i16* %15
%5863 = load i16, i16* %12
store i16 %5863, i16* %18
%5864 = load i16, i16* %16
%5865 = sext i16 %5864 to i32
%5866 = icmp eq i32 %5865, 0
br i1 %5866, label %5867, label %5868
5867: ; preds = %5860
br label %5872
5868: ; preds = %5860
%5869 = load i16, i16* %16
%5870 = sext i16 %5869 to i32
%5871 = sub nsw i32 25, %5870
br label %5872
5872: ; preds = %5868, %5867
%5873 = phi i32 [ 0, %5867 ], [ %5871, %5868 ]
%5874 = trunc i32 %5873 to i16
store i16 %5874, i16* %12
%5875 = load i16, i16* %18
%5876 = sext i16 %5875 to i32
%5877 = icmp eq i32 %5876, 0
br i1 %5877, label %5878, label %5879
5878: ; preds = %5872
br label %5883
5879: ; preds = %5872
%5880 = load i16, i16* %18
%5881 = sext i16 %5880 to i32
%5882 = sub nsw i32 25, %5881
br label %5883
5883: ; preds = %5879, %5878
%5884 = phi i32 [ 0, %5878 ], [ %5882, %5879 ]
%5885 = trunc i32 %5884 to i16
store i16 %5885, i16* %16
%5886 = load i16, i16* %13
store i16 %5886, i16* %18
%5887 = load i16, i16* %17
%5888 = sext i16 %5887 to i32
%5889 = icmp eq i32 %5888, 0
br i1 %5889, label %5890, label %5891
5890: ; preds = %5883
br label %5895
5891: ; preds = %5883
%5892 = load i16, i16* %17
%5893 = sext i16 %5892 to i32
%5894 = sub nsw i32 25, %5893
br label %5895
5895: ; preds = %5891, %5890
%5896 = phi i32 [ 0, %5890 ], [ %5894, %5891 ]
%5897 = trunc i32 %5896 to i16
store i16 %5897, i16* %13
%5898 = load i16, i16* %18
%5899 = sext i16 %5898 to i32
%5900 = icmp eq i32 %5899, 0
br i1 %5900, label %5901, label %5902
5901: ; preds = %5895
br label %5906
5902: ; preds = %5895
%5903 = load i16, i16* %18
%5904 = sext i16 %5903 to i32
%5905 = sub nsw i32 25, %5904
br label %5906
5906: ; preds = %5902, %5901
%5907 = phi i32 [ 0, %5901 ], [ %5905, %5902 ]
%5908 = trunc i32 %5907 to i16
store i16 %5908, i16* %17
%5909 = load i16, i16* %10
%5910 = sext i16 %5909 to i32
%5911 = load i16, i16* %11
%5912 = sext i16 %5911 to i32
%5913 = load i16, i16* %12
%5914 = sext i16 %5913 to i32
%5915 = load i16, i16* %13
%5916 = sext i16 %5915 to i32
%5917 = load i16, i16* %14
%5918 = sext i16 %5917 to i32
%5919 = load i16, i16* %15
%5920 = sext i16 %5919 to i32
%5921 = load i16, i16* %16
%5922 = sext i16 %5921 to i32
%5923 = load i16, i16* %17
%5924 = sext i16 %5923 to i32
%5925 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5910, i32 %5912, i32 %5914, i32 %5916, i32 %5918, i32 %5920, i32 %5922, i32 %5924)
%5926 = icmp eq i32 %5925, -1
br i1 %5926, label %5927, label %5928
5927: ; preds = %5906
store i16 -1, i16* %9
br label %18764
5928: ; preds = %5906
%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* %22
store i16 %6021, i16* %21
%6022 = load i16, i16* %20
store i16 %6022, i16* %17
br label %6229
6023: ; preds = %5810
%6024 = load i16, i16* %10
store i16 %6024, i16* %18
%6025 = load i16, i16* %14
%6026 = sext i16 %6025 to i32
%6027 = icmp eq i32 %6026, 0
br i1 %6027, label %6028, label %6029
6028: ; preds = %6023
br label %6033
6029: ; preds = %6023
%6030 = load i16, i16* %14
%6031 = sext i16 %6030 to i32
%6032 = sub nsw i32 25, %6031
br label %6033
6033: ; preds = %6029, %6028
%6034 = phi i32 [ 0, %6028 ], [ %6032, %6029 ]
%6035 = trunc i32 %6034 to i16
store i16 %6035, i16* %10
%6036 = load i16, i16* %18
%6037 = sext i16 %6036 to i32
%6038 = icmp eq i32 %6037, 0
br i1 %6038, label %6039, label %6040
6039: ; preds = %6033
br label %6044
6040: ; preds = %6033
%6041 = load i16, i16* %18
%6042 = sext i16 %6041 to i32
%6043 = sub nsw i32 25, %6042
br label %6044
6044: ; preds = %6040, %6039
%6045 = phi i32 [ 0, %6039 ], [ %6043, %6040 ]
%6046 = trunc i32 %6045 to i16
store i16 %6046, i16* %14
%6047 = load i16, i16* %11
store i16 %6047, i16* %18
%6048 = load i16, i16* %15
%6049 = sext i16 %6048 to i32
%6050 = icmp eq i32 %6049, 0
br i1 %6050, label %6051, label %6052
6051: ; preds = %6044
br label %6056
6052: ; preds = %6044
%6053 = load i16, i16* %15
%6054 = sext i16 %6053 to i32
%6055 = sub nsw i32 25, %6054
br label %6056
6056: ; preds = %6052, %6051
%6057 = phi i32 [ 0, %6051 ], [ %6055, %6052 ]
%6058 = trunc i32 %6057 to i16
store i16 %6058, i16* %11
%6059 = load i16, i16* %18
%6060 = sext i16 %6059 to i32
%6061 = icmp eq i32 %6060, 0
br i1 %6061, label %6062, label %6063
6062: ; preds = %6056
br label %6067
6063: ; preds = %6056
%6064 = load i16, i16* %18
%6065 = sext i16 %6064 to i32
%6066 = sub nsw i32 25, %6065
br label %6067
6067: ; preds = %6063, %6062
%6068 = phi i32 [ 0, %6062 ], [ %6066, %6063 ]
%6069 = trunc i32 %6068 to i16
store i16 %6069, i16* %15
%6070 = load i16, i16* %12
store i16 %6070, i16* %18
%6071 = load i16, i16* %16
%6072 = sext i16 %6071 to i32
%6073 = icmp eq i32 %6072, 0
br i1 %6073, label %6074, label %6075
6074: ; preds = %6067
br label %6079
6075: ; preds = %6067
%6076 = load i16, i16* %16
%6077 = sext i16 %6076 to i32
%6078 = sub nsw i32 25, %6077
br label %6079
6079: ; preds = %6075, %6074
%6080 = phi i32 [ 0, %6074 ], [ %6078, %6075 ]
%6081 = trunc i32 %6080 to i16
store i16 %6081, i16* %12
%6082 = load i16, i16* %18
%6083 = sext i16 %6082 to i32
%6084 = icmp eq i32 %6083, 0
br i1 %6084, label %6085, label %6086
6085: ; preds = %6079
br label %6090
6086: ; preds = %6079
%6087 = load i16, i16* %18
%6088 = sext i16 %6087 to i32
%6089 = sub nsw i32 25, %6088
br label %6090
6090: ; preds = %6086, %6085
%6091 = phi i32 [ 0, %6085 ], [ %6089, %6086 ]
%6092 = trunc i32 %6091 to i16
store i16 %6092, i16* %16
%6093 = load i16, i16* %13
store i16 %6093, i16* %18
%6094 = load i16, i16* %17
%6095 = sext i16 %6094 to i32
%6096 = icmp eq i32 %6095, 0
br i1 %6096, label %6097, label %6098
6097: ; preds = %6090
br label %6102
6098: ; preds = %6090
%6099 = load i16, i16* %17
%6100 = sext i16 %6099 to i32
%6101 = sub nsw i32 25, %6100
br label %6102
6102: ; preds = %6098, %6097
%6103 = phi i32 [ 0, %6097 ], [ %6101, %6098 ]
%6104 = trunc i32 %6103 to i16
store i16 %6104, i16* %13
%6105 = load i16, i16* %18
%6106 = sext i16 %6105 to i32
%6107 = icmp eq i32 %6106, 0
br i1 %6107, label %6108, label %6109
6108: ; preds = %6102
br label %6113
6109: ; preds = %6102
%6110 = load i16, i16* %18
%6111 = sext i16 %6110 to i32
%6112 = sub nsw i32 25, %6111
br label %6113
6113: ; preds = %6109, %6108
%6114 = phi i32 [ 0, %6108 ], [ %6112, %6109 ]
%6115 = trunc i32 %6114 to i16
store i16 %6115, i16* %17
%6116 = load i16, i16* %10
%6117 = sext i16 %6116 to i32
%6118 = load i16, i16* %11
%6119 = sext i16 %6118 to i32
%6120 = load i16, i16* %12
%6121 = sext i16 %6120 to i32
%6122 = load i16, i16* %13
%6123 = sext i16 %6122 to i32
%6124 = load i16, i16* %14
%6125 = sext i16 %6124 to i32
%6126 = load i16, i16* %15
%6127 = sext i16 %6126 to i32
%6128 = load i16, i16* %16
%6129 = sext i16 %6128 to i32
%6130 = load i16, i16* %17
%6131 = sext i16 %6130 to i32
%6132 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6117, i32 %6119, i32 %6121, i32 %6123, i32 %6125, i32 %6127, i32 %6129, i32 %6131)
%6133 = icmp eq i32 %6132, -1
br i1 %6133, label %6134, label %6135
6134: ; preds = %6113
store i16 -1, i16* %9
br label %18764
6135: ; preds = %6113
%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
%6228 = load i16, i16* %22
store i16 %6228, i16* %21
br label %6229
6229: ; preds = %6225, %6018
br label %6230
6230: ; preds = %6229, %5805
%6231 = load i16, i16* %19
store i16 %6231, i16* %11
br label %6232
6232: ; preds = %6230, %5590, %5584, %5578, %5572, %5561
br label %6233
6233: ; preds = %6232, %5557, %5553
br label %18750
6234: ; preds = %5549
%6235 = load i16, i16* %22
%6236 = sext i16 %6235 to i32
%6237 = icmp eq i32 %6236, 9
br i1 %6237, label %6238, label %6924
6238: ; preds = %6234
%6239 = load i16, i16* %11
%6240 = sext i16 %6239 to i32
%6241 = icmp ne i32 %6240, 0
br i1 %6241, label %6242, label %6923
6242: ; preds = %6238
%6243 = load i16, i16* %11
%6244 = sext i16 %6243 to i32
%6245 = icmp slt i32 %6244, 21
br i1 %6245, label %6246, label %6923
6246: ; preds = %6242
%6247 = load i16, i16* %11
%6248 = sext i16 %6247 to i32
%6249 = srem i32 %6248, 4
%6250 = icmp ne i32 %6249, 0
br i1 %6250, label %6251, label %6923
6251: ; preds = %6246
%6252 = load i16, i16* %11
store i16 %6252, i16* %19
%6253 = load i16, i16* %19
%6254 = sext i16 %6253 to i32
%6255 = add nsw i32 %6254, 5
%6256 = trunc i32 %6255 to i16
store i16 %6256, i16* %20
%6257 = load i16, i16* %20
%6258 = sext i16 %6257 to i32
%6259 = load i16, i16* %10
%6260 = sext i16 %6259 to i32
%6261 = icmp ne i32 %6258, %6260
br i1 %6261, label %6262, label %6922
6262: ; preds = %6251
%6263 = load i16, i16* %20
%6264 = sext i16 %6263 to i32
%6265 = load i16, i16* %12
%6266 = sext i16 %6265 to i32
%6267 = icmp ne i32 %6264, %6266
br i1 %6267, label %6268, label %6922
6268: ; preds = %6262
%6269 = load i16, i16* %20
%6270 = sext i16 %6269 to i32
%6271 = load i16, i16* %13
%6272 = sext i16 %6271 to i32
%6273 = icmp ne i32 %6270, %6272
br i1 %6273, label %6274, label %6922
6274: ; preds = %6268
%6275 = load i16, i16* %20
%6276 = sext i16 %6275 to i32
%6277 = load i16, i16* %15
%6278 = sext i16 %6277 to i32
%6279 = icmp ne i32 %6276, %6278
br i1 %6279, label %6280, label %6922
6280: ; preds = %6274
%6281 = load i16, i16* %20
%6282 = sext i16 %6281 to i32
%6283 = load i16, i16* %16
%6284 = sext i16 %6283 to i32
%6285 = icmp ne i32 %6282, %6284
br i1 %6285, label %6286, label %6922
6286: ; preds = %6280
%6287 = load i16, i16* %20
store i16 %6287, i16* %11
%6288 = load i16, i16* %14
%6289 = sext i16 %6288 to i32
%6290 = load i16, i16* %20
%6291 = sext i16 %6290 to i32
%6292 = icmp eq i32 %6289, %6291
br i1 %6292, label %6293, label %6500
6293: ; preds = %6286
store i16 0, i16* %14
%6294 = load i16, i16* %10
store i16 %6294, i16* %18
%6295 = load i16, i16* %14
%6296 = sext i16 %6295 to i32
%6297 = icmp eq i32 %6296, 0
br i1 %6297, label %6298, label %6299
6298: ; preds = %6293
br label %6303
6299: ; preds = %6293
%6300 = load i16, i16* %14
%6301 = sext i16 %6300 to i32
%6302 = sub nsw i32 25, %6301
br label %6303
6303: ; preds = %6299, %6298
%6304 = phi i32 [ 0, %6298 ], [ %6302, %6299 ]
%6305 = trunc i32 %6304 to i16
store i16 %6305, i16* %10
%6306 = load i16, i16* %18
%6307 = sext i16 %6306 to i32
%6308 = icmp eq i32 %6307, 0
br i1 %6308, label %6309, label %6310
6309: ; preds = %6303
br label %6314
6310: ; preds = %6303
%6311 = load i16, i16* %18
%6312 = sext i16 %6311 to i32
%6313 = sub nsw i32 25, %6312
br label %6314
6314: ; preds = %6310, %6309
%6315 = phi i32 [ 0, %6309 ], [ %6313, %6310 ]
%6316 = trunc i32 %6315 to i16
store i16 %6316, i16* %14
%6317 = load i16, i16* %11
store i16 %6317, i16* %18
%6318 = load i16, i16* %15
%6319 = sext i16 %6318 to i32
%6320 = icmp eq i32 %6319, 0
br i1 %6320, label %6321, label %6322
6321: ; preds = %6314
br label %6326
6322: ; preds = %6314
%6323 = load i16, i16* %15
%6324 = sext i16 %6323 to i32
%6325 = sub nsw i32 25, %6324
br label %6326
6326: ; preds = %6322, %6321
%6327 = phi i32 [ 0, %6321 ], [ %6325, %6322 ]
%6328 = trunc i32 %6327 to i16
store i16 %6328, i16* %11
%6329 = load i16, i16* %18
%6330 = sext i16 %6329 to i32
%6331 = icmp eq i32 %6330, 0
br i1 %6331, label %6332, label %6333
6332: ; preds = %6326
br label %6337
6333: ; preds = %6326
%6334 = load i16, i16* %18
%6335 = sext i16 %6334 to i32
%6336 = sub nsw i32 25, %6335
br label %6337
6337: ; preds = %6333, %6332
%6338 = phi i32 [ 0, %6332 ], [ %6336, %6333 ]
%6339 = trunc i32 %6338 to i16
store i16 %6339, i16* %15
%6340 = load i16, i16* %12
store i16 %6340, i16* %18
%6341 = load i16, i16* %16
%6342 = sext i16 %6341 to i32
%6343 = icmp eq i32 %6342, 0
br i1 %6343, label %6344, label %6345
6344: ; preds = %6337
br label %6349
6345: ; preds = %6337
%6346 = load i16, i16* %16
%6347 = sext i16 %6346 to i32
%6348 = sub nsw i32 25, %6347
br label %6349
6349: ; preds = %6345, %6344
%6350 = phi i32 [ 0, %6344 ], [ %6348, %6345 ]
%6351 = trunc i32 %6350 to i16
store i16 %6351, i16* %12
%6352 = load i16, i16* %18
%6353 = sext i16 %6352 to i32
%6354 = icmp eq i32 %6353, 0
br i1 %6354, label %6355, label %6356
6355: ; preds = %6349
br label %6360
6356: ; preds = %6349
%6357 = load i16, i16* %18
%6358 = sext i16 %6357 to i32
%6359 = sub nsw i32 25, %6358
br label %6360
6360: ; preds = %6356, %6355
%6361 = phi i32 [ 0, %6355 ], [ %6359, %6356 ]
%6362 = trunc i32 %6361 to i16
store i16 %6362, i16* %16
%6363 = load i16, i16* %13
store i16 %6363, i16* %18
%6364 = load i16, i16* %17
%6365 = sext i16 %6364 to i32
%6366 = icmp eq i32 %6365, 0
br i1 %6366, label %6367, label %6368
6367: ; preds = %6360
br label %6372
6368: ; preds = %6360
%6369 = load i16, i16* %17
%6370 = sext i16 %6369 to i32
%6371 = sub nsw i32 25, %6370
br label %6372
6372: ; preds = %6368, %6367
%6373 = phi i32 [ 0, %6367 ], [ %6371, %6368 ]
%6374 = trunc i32 %6373 to i16
store i16 %6374, i16* %13
%6375 = load i16, i16* %18
%6376 = sext i16 %6375 to i32
%6377 = icmp eq i32 %6376, 0
br i1 %6377, label %6378, label %6379
6378: ; preds = %6372
br label %6383
6379: ; preds = %6372
%6380 = load i16, i16* %18
%6381 = sext i16 %6380 to i32
%6382 = sub nsw i32 25, %6381
br label %6383
6383: ; preds = %6379, %6378
%6384 = phi i32 [ 0, %6378 ], [ %6382, %6379 ]
%6385 = trunc i32 %6384 to i16
store i16 %6385, i16* %17
%6386 = load i16, i16* %10
%6387 = sext i16 %6386 to i32
%6388 = load i16, i16* %11
%6389 = sext i16 %6388 to i32
%6390 = load i16, i16* %12
%6391 = sext i16 %6390 to i32
%6392 = load i16, i16* %13
%6393 = sext i16 %6392 to i32
%6394 = load i16, i16* %14
%6395 = sext i16 %6394 to i32
%6396 = load i16, i16* %15
%6397 = sext i16 %6396 to i32
%6398 = load i16, i16* %16
%6399 = sext i16 %6398 to i32
%6400 = load i16, i16* %17
%6401 = sext i16 %6400 to i32
%6402 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6387, i32 %6389, i32 %6391, i32 %6393, i32 %6395, i32 %6397, i32 %6399, i32 %6401)
%6403 = icmp eq i32 %6402, -1
br i1 %6403, label %6404, label %6405
6404: ; preds = %6383
store i16 -1, i16* %9
br label %18764
6405: ; preds = %6383
%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* %22
store i16 %6498, i16* %21
%6499 = load i16, i16* %20
store i16 %6499, i16* %14
br label %6920
6500: ; preds = %6286
%6501 = load i16, i16* %20
%6502 = sext i16 %6501 to i32
%6503 = load i16, i16* %17
%6504 = sext i16 %6503 to i32
%6505 = icmp eq i32 %6502, %6504
br i1 %6505, label %6506, label %6713
6506: ; preds = %6500
store i16 0, i16* %17
%6507 = load i16, i16* %10
store i16 %6507, i16* %18
%6508 = load i16, i16* %14
%6509 = sext i16 %6508 to i32
%6510 = icmp eq i32 %6509, 0
br i1 %6510, label %6511, label %6512
6511: ; preds = %6506
br label %6516
6512: ; preds = %6506
%6513 = load i16, i16* %14
%6514 = sext i16 %6513 to i32
%6515 = sub nsw i32 25, %6514
br label %6516
6516: ; preds = %6512, %6511
%6517 = phi i32 [ 0, %6511 ], [ %6515, %6512 ]
%6518 = trunc i32 %6517 to i16
store i16 %6518, i16* %10
%6519 = load i16, i16* %18
%6520 = sext i16 %6519 to i32
%6521 = icmp eq i32 %6520, 0
br i1 %6521, label %6522, label %6523
6522: ; preds = %6516
br label %6527
6523: ; preds = %6516
%6524 = load i16, i16* %18
%6525 = sext i16 %6524 to i32
%6526 = sub nsw i32 25, %6525
br label %6527
6527: ; preds = %6523, %6522
%6528 = phi i32 [ 0, %6522 ], [ %6526, %6523 ]
%6529 = trunc i32 %6528 to i16
store i16 %6529, i16* %14
%6530 = load i16, i16* %11
store i16 %6530, i16* %18
%6531 = load i16, i16* %15
%6532 = sext i16 %6531 to i32
%6533 = icmp eq i32 %6532, 0
br i1 %6533, label %6534, label %6535
6534: ; preds = %6527
br label %6539
6535: ; preds = %6527
%6536 = load i16, i16* %15
%6537 = sext i16 %6536 to i32
%6538 = sub nsw i32 25, %6537
br label %6539
6539: ; preds = %6535, %6534
%6540 = phi i32 [ 0, %6534 ], [ %6538, %6535 ]
%6541 = trunc i32 %6540 to i16
store i16 %6541, i16* %11
%6542 = load i16, i16* %18
%6543 = sext i16 %6542 to i32
%6544 = icmp eq i32 %6543, 0
br i1 %6544, label %6545, label %6546
6545: ; preds = %6539
br label %6550
6546: ; preds = %6539
%6547 = load i16, i16* %18
%6548 = sext i16 %6547 to i32
%6549 = sub nsw i32 25, %6548
br label %6550
6550: ; preds = %6546, %6545
%6551 = phi i32 [ 0, %6545 ], [ %6549, %6546 ]
%6552 = trunc i32 %6551 to i16
store i16 %6552, i16* %15
%6553 = load i16, i16* %12
store i16 %6553, i16* %18
%6554 = load i16, i16* %16
%6555 = sext i16 %6554 to i32
%6556 = icmp eq i32 %6555, 0
br i1 %6556, label %6557, label %6558
6557: ; preds = %6550
br label %6562
6558: ; preds = %6550
%6559 = load i16, i16* %16
%6560 = sext i16 %6559 to i32
%6561 = sub nsw i32 25, %6560
br label %6562
6562: ; preds = %6558, %6557
%6563 = phi i32 [ 0, %6557 ], [ %6561, %6558 ]
%6564 = trunc i32 %6563 to i16
store i16 %6564, i16* %12
%6565 = load i16, i16* %18
%6566 = sext i16 %6565 to i32
%6567 = icmp eq i32 %6566, 0
br i1 %6567, label %6568, label %6569
6568: ; preds = %6562
br label %6573
6569: ; preds = %6562
%6570 = load i16, i16* %18
%6571 = sext i16 %6570 to i32
%6572 = sub nsw i32 25, %6571
br label %6573
6573: ; preds = %6569, %6568
%6574 = phi i32 [ 0, %6568 ], [ %6572, %6569 ]
%6575 = trunc i32 %6574 to i16
store i16 %6575, i16* %16
%6576 = load i16, i16* %13
store i16 %6576, i16* %18
%6577 = load i16, i16* %17
%6578 = sext i16 %6577 to i32
%6579 = icmp eq i32 %6578, 0
br i1 %6579, label %6580, label %6581
6580: ; preds = %6573
br label %6585
6581: ; preds = %6573
%6582 = load i16, i16* %17
%6583 = sext i16 %6582 to i32
%6584 = sub nsw i32 25, %6583
br label %6585
6585: ; preds = %6581, %6580
%6586 = phi i32 [ 0, %6580 ], [ %6584, %6581 ]
%6587 = trunc i32 %6586 to i16
store i16 %6587, i16* %13
%6588 = load i16, i16* %18
%6589 = sext i16 %6588 to i32
%6590 = icmp eq i32 %6589, 0
br i1 %6590, label %6591, label %6592
6591: ; preds = %6585
br label %6596
6592: ; preds = %6585
%6593 = load i16, i16* %18
%6594 = sext i16 %6593 to i32
%6595 = sub nsw i32 25, %6594
br label %6596
6596: ; preds = %6592, %6591
%6597 = phi i32 [ 0, %6591 ], [ %6595, %6592 ]
%6598 = trunc i32 %6597 to i16
store i16 %6598, i16* %17
%6599 = load i16, i16* %10
%6600 = sext i16 %6599 to i32
%6601 = load i16, i16* %11
%6602 = sext i16 %6601 to i32
%6603 = load i16, i16* %12
%6604 = sext i16 %6603 to i32
%6605 = load i16, i16* %13
%6606 = sext i16 %6605 to i32
%6607 = load i16, i16* %14
%6608 = sext i16 %6607 to i32
%6609 = load i16, i16* %15
%6610 = sext i16 %6609 to i32
%6611 = load i16, i16* %16
%6612 = sext i16 %6611 to i32
%6613 = load i16, i16* %17
%6614 = sext i16 %6613 to i32
%6615 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6600, i32 %6602, i32 %6604, i32 %6606, i32 %6608, i32 %6610, i32 %6612, i32 %6614)
%6616 = icmp eq i32 %6615, -1
br i1 %6616, label %6617, label %6618
6617: ; preds = %6596
store i16 -1, i16* %9
br label %18764
6618: ; preds = %6596
%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* %22
store i16 %6711, i16* %21
%6712 = load i16, i16* %20
store i16 %6712, i16* %17
br label %6919
6713: ; preds = %6500
%6714 = load i16, i16* %10
store i16 %6714, i16* %18
%6715 = load i16, i16* %14
%6716 = sext i16 %6715 to i32
%6717 = icmp eq i32 %6716, 0
br i1 %6717, label %6718, label %6719
6718: ; preds = %6713
br label %6723
6719: ; preds = %6713
%6720 = load i16, i16* %14
%6721 = sext i16 %6720 to i32
%6722 = sub nsw i32 25, %6721
br label %6723
6723: ; preds = %6719, %6718
%6724 = phi i32 [ 0, %6718 ], [ %6722, %6719 ]
%6725 = trunc i32 %6724 to i16
store i16 %6725, i16* %10
%6726 = load i16, i16* %18
%6727 = sext i16 %6726 to i32
%6728 = icmp eq i32 %6727, 0
br i1 %6728, label %6729, label %6730
6729: ; preds = %6723
br label %6734
6730: ; preds = %6723
%6731 = load i16, i16* %18
%6732 = sext i16 %6731 to i32
%6733 = sub nsw i32 25, %6732
br label %6734
6734: ; preds = %6730, %6729
%6735 = phi i32 [ 0, %6729 ], [ %6733, %6730 ]
%6736 = trunc i32 %6735 to i16
store i16 %6736, i16* %14
%6737 = load i16, i16* %11
store i16 %6737, i16* %18
%6738 = load i16, i16* %15
%6739 = sext i16 %6738 to i32
%6740 = icmp eq i32 %6739, 0
br i1 %6740, label %6741, label %6742
6741: ; preds = %6734
br label %6746
6742: ; preds = %6734
%6743 = load i16, i16* %15
%6744 = sext i16 %6743 to i32
%6745 = sub nsw i32 25, %6744
br label %6746
6746: ; preds = %6742, %6741
%6747 = phi i32 [ 0, %6741 ], [ %6745, %6742 ]
%6748 = trunc i32 %6747 to i16
store i16 %6748, i16* %11
%6749 = load i16, i16* %18
%6750 = sext i16 %6749 to i32
%6751 = icmp eq i32 %6750, 0
br i1 %6751, label %6752, label %6753
6752: ; preds = %6746
br label %6757
6753: ; preds = %6746
%6754 = load i16, i16* %18
%6755 = sext i16 %6754 to i32
%6756 = sub nsw i32 25, %6755
br label %6757
6757: ; preds = %6753, %6752
%6758 = phi i32 [ 0, %6752 ], [ %6756, %6753 ]
%6759 = trunc i32 %6758 to i16
store i16 %6759, i16* %15
%6760 = load i16, i16* %12
store i16 %6760, i16* %18
%6761 = load i16, i16* %16
%6762 = sext i16 %6761 to i32
%6763 = icmp eq i32 %6762, 0
br i1 %6763, label %6764, label %6765
6764: ; preds = %6757
br label %6769
6765: ; preds = %6757
%6766 = load i16, i16* %16
%6767 = sext i16 %6766 to i32
%6768 = sub nsw i32 25, %6767
br label %6769
6769: ; preds = %6765, %6764
%6770 = phi i32 [ 0, %6764 ], [ %6768, %6765 ]
%6771 = trunc i32 %6770 to i16
store i16 %6771, i16* %12
%6772 = load i16, i16* %18
%6773 = sext i16 %6772 to i32
%6774 = icmp eq i32 %6773, 0
br i1 %6774, label %6775, label %6776
6775: ; preds = %6769
br label %6780
6776: ; preds = %6769
%6777 = load i16, i16* %18
%6778 = sext i16 %6777 to i32
%6779 = sub nsw i32 25, %6778
br label %6780
6780: ; preds = %6776, %6775
%6781 = phi i32 [ 0, %6775 ], [ %6779, %6776 ]
%6782 = trunc i32 %6781 to i16
store i16 %6782, i16* %16
%6783 = load i16, i16* %13
store i16 %6783, i16* %18
%6784 = load i16, i16* %17
%6785 = sext i16 %6784 to i32
%6786 = icmp eq i32 %6785, 0
br i1 %6786, label %6787, label %6788
6787: ; preds = %6780
br label %6792
6788: ; preds = %6780
%6789 = load i16, i16* %17
%6790 = sext i16 %6789 to i32
%6791 = sub nsw i32 25, %6790
br label %6792
6792: ; preds = %6788, %6787
%6793 = phi i32 [ 0, %6787 ], [ %6791, %6788 ]
%6794 = trunc i32 %6793 to i16
store i16 %6794, i16* %13
%6795 = load i16, i16* %18
%6796 = sext i16 %6795 to i32
%6797 = icmp eq i32 %6796, 0
br i1 %6797, label %6798, label %6799
6798: ; preds = %6792
br label %6803
6799: ; preds = %6792
%6800 = load i16, i16* %18
%6801 = sext i16 %6800 to i32
%6802 = sub nsw i32 25, %6801
br label %6803
6803: ; preds = %6799, %6798
%6804 = phi i32 [ 0, %6798 ], [ %6802, %6799 ]
%6805 = trunc i32 %6804 to i16
store i16 %6805, i16* %17
%6806 = load i16, i16* %10
%6807 = sext i16 %6806 to i32
%6808 = load i16, i16* %11
%6809 = sext i16 %6808 to i32
%6810 = load i16, i16* %12
%6811 = sext i16 %6810 to i32
%6812 = load i16, i16* %13
%6813 = sext i16 %6812 to i32
%6814 = load i16, i16* %14
%6815 = sext i16 %6814 to i32
%6816 = load i16, i16* %15
%6817 = sext i16 %6816 to i32
%6818 = load i16, i16* %16
%6819 = sext i16 %6818 to i32
%6820 = load i16, i16* %17
%6821 = sext i16 %6820 to i32
%6822 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6807, i32 %6809, i32 %6811, i32 %6813, i32 %6815, i32 %6817, i32 %6819, i32 %6821)
%6823 = icmp eq i32 %6822, -1
br i1 %6823, label %6824, label %6825
6824: ; preds = %6803
store i16 -1, i16* %9
br label %18764
6825: ; preds = %6803
%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
%6918 = load i16, i16* %22
store i16 %6918, i16* %21
br label %6919
6919: ; preds = %6915, %6708
br label %6920
6920: ; preds = %6919, %6495
%6921 = load i16, i16* %19
store i16 %6921, i16* %11
br label %6922
6922: ; preds = %6920, %6280, %6274, %6268, %6262, %6251
br label %6923
6923: ; preds = %6922, %6246, %6242, %6238
br label %18749
6924: ; preds = %6234
%6925 = load i16, i16* %22
%6926 = sext i16 %6925 to i32
%6927 = icmp eq i32 %6926, 10
br i1 %6927, label %6928, label %7610
6928: ; preds = %6924
%6929 = load i16, i16* %11
%6930 = sext i16 %6929 to i32
%6931 = icmp ne i32 %6930, 0
br i1 %6931, label %6932, label %7609
6932: ; preds = %6928
%6933 = load i16, i16* %11
%6934 = sext i16 %6933 to i32
%6935 = srem i32 %6934, 4
%6936 = icmp ne i32 %6935, 0
br i1 %6936, label %6937, label %7609
6937: ; preds = %6932
%6938 = load i16, i16* %11
store i16 %6938, i16* %19
%6939 = load i16, i16* %19
%6940 = sext i16 %6939 to i32
%6941 = add nsw i32 %6940, 1
%6942 = trunc i32 %6941 to i16
store i16 %6942, i16* %20
%6943 = load i16, i16* %20
%6944 = sext i16 %6943 to i32
%6945 = load i16, i16* %10
%6946 = sext i16 %6945 to i32
%6947 = icmp ne i32 %6944, %6946
br i1 %6947, label %6948, label %7608
6948: ; preds = %6937
%6949 = load i16, i16* %20
%6950 = sext i16 %6949 to i32
%6951 = load i16, i16* %12
%6952 = sext i16 %6951 to i32
%6953 = icmp ne i32 %6950, %6952
br i1 %6953, label %6954, label %7608
6954: ; preds = %6948
%6955 = load i16, i16* %20
%6956 = sext i16 %6955 to i32
%6957 = load i16, i16* %13
%6958 = sext i16 %6957 to i32
%6959 = icmp ne i32 %6956, %6958
br i1 %6959, label %6960, label %7608
6960: ; preds = %6954
%6961 = load i16, i16* %20
%6962 = sext i16 %6961 to i32
%6963 = load i16, i16* %15
%6964 = sext i16 %6963 to i32
%6965 = icmp ne i32 %6962, %6964
br i1 %6965, label %6966, label %7608
6966: ; preds = %6960
%6967 = load i16, i16* %20
%6968 = sext i16 %6967 to i32
%6969 = load i16, i16* %16
%6970 = sext i16 %6969 to i32
%6971 = icmp ne i32 %6968, %6970
br i1 %6971, label %6972, label %7608
6972: ; preds = %6966
%6973 = load i16, i16* %20
store i16 %6973, i16* %11
%6974 = load i16, i16* %14
%6975 = sext i16 %6974 to i32
%6976 = load i16, i16* %20
%6977 = sext i16 %6976 to i32
%6978 = icmp eq i32 %6975, %6977
br i1 %6978, label %6979, label %7186
6979: ; preds = %6972
store i16 0, i16* %14
%6980 = load i16, i16* %10
store i16 %6980, i16* %18
%6981 = load i16, i16* %14
%6982 = sext i16 %6981 to i32
%6983 = icmp eq i32 %6982, 0
br i1 %6983, label %6984, label %6985
6984: ; preds = %6979
br label %6989
6985: ; preds = %6979
%6986 = load i16, i16* %14
%6987 = sext i16 %6986 to i32
%6988 = sub nsw i32 25, %6987
br label %6989
6989: ; preds = %6985, %6984
%6990 = phi i32 [ 0, %6984 ], [ %6988, %6985 ]
%6991 = trunc i32 %6990 to i16
store i16 %6991, i16* %10
%6992 = load i16, i16* %18
%6993 = sext i16 %6992 to i32
%6994 = icmp eq i32 %6993, 0
br i1 %6994, label %6995, label %6996
6995: ; preds = %6989
br label %7000
6996: ; preds = %6989
%6997 = load i16, i16* %18
%6998 = sext i16 %6997 to i32
%6999 = sub nsw i32 25, %6998
br label %7000
7000: ; preds = %6996, %6995
%7001 = phi i32 [ 0, %6995 ], [ %6999, %6996 ]
%7002 = trunc i32 %7001 to i16
store i16 %7002, i16* %14
%7003 = load i16, i16* %11
store i16 %7003, i16* %18
%7004 = load i16, i16* %15
%7005 = sext i16 %7004 to i32
%7006 = icmp eq i32 %7005, 0
br i1 %7006, label %7007, label %7008
7007: ; preds = %7000
br label %7012
7008: ; preds = %7000
%7009 = load i16, i16* %15
%7010 = sext i16 %7009 to i32
%7011 = sub nsw i32 25, %7010
br label %7012
7012: ; preds = %7008, %7007
%7013 = phi i32 [ 0, %7007 ], [ %7011, %7008 ]
%7014 = trunc i32 %7013 to i16
store i16 %7014, i16* %11
%7015 = load i16, i16* %18
%7016 = sext i16 %7015 to i32
%7017 = icmp eq i32 %7016, 0
br i1 %7017, label %7018, label %7019
7018: ; preds = %7012
br label %7023
7019: ; preds = %7012
%7020 = load i16, i16* %18
%7021 = sext i16 %7020 to i32
%7022 = sub nsw i32 25, %7021
br label %7023
7023: ; preds = %7019, %7018
%7024 = phi i32 [ 0, %7018 ], [ %7022, %7019 ]
%7025 = trunc i32 %7024 to i16
store i16 %7025, i16* %15
%7026 = load i16, i16* %12
store i16 %7026, i16* %18
%7027 = load i16, i16* %16
%7028 = sext i16 %7027 to i32
%7029 = icmp eq i32 %7028, 0
br i1 %7029, label %7030, label %7031
7030: ; preds = %7023
br label %7035
7031: ; preds = %7023
%7032 = load i16, i16* %16
%7033 = sext i16 %7032 to i32
%7034 = sub nsw i32 25, %7033
br label %7035
7035: ; preds = %7031, %7030
%7036 = phi i32 [ 0, %7030 ], [ %7034, %7031 ]
%7037 = trunc i32 %7036 to i16
store i16 %7037, i16* %12
%7038 = load i16, i16* %18
%7039 = sext i16 %7038 to i32
%7040 = icmp eq i32 %7039, 0
br i1 %7040, label %7041, label %7042
7041: ; preds = %7035
br label %7046
7042: ; preds = %7035
%7043 = load i16, i16* %18
%7044 = sext i16 %7043 to i32
%7045 = sub nsw i32 25, %7044
br label %7046
7046: ; preds = %7042, %7041
%7047 = phi i32 [ 0, %7041 ], [ %7045, %7042 ]
%7048 = trunc i32 %7047 to i16
store i16 %7048, i16* %16
%7049 = load i16, i16* %13
store i16 %7049, i16* %18
%7050 = load i16, i16* %17
%7051 = sext i16 %7050 to i32
%7052 = icmp eq i32 %7051, 0
br i1 %7052, label %7053, label %7054
7053: ; preds = %7046
br label %7058
7054: ; preds = %7046
%7055 = load i16, i16* %17
%7056 = sext i16 %7055 to i32
%7057 = sub nsw i32 25, %7056
br label %7058
7058: ; preds = %7054, %7053
%7059 = phi i32 [ 0, %7053 ], [ %7057, %7054 ]
%7060 = trunc i32 %7059 to i16
store i16 %7060, i16* %13
%7061 = load i16, i16* %18
%7062 = sext i16 %7061 to i32
%7063 = icmp eq i32 %7062, 0
br i1 %7063, label %7064, label %7065
7064: ; preds = %7058
br label %7069
7065: ; preds = %7058
%7066 = load i16, i16* %18
%7067 = sext i16 %7066 to i32
%7068 = sub nsw i32 25, %7067
br label %7069
7069: ; preds = %7065, %7064
%7070 = phi i32 [ 0, %7064 ], [ %7068, %7065 ]
%7071 = trunc i32 %7070 to i16
store i16 %7071, i16* %17
%7072 = load i16, i16* %10
%7073 = sext i16 %7072 to i32
%7074 = load i16, i16* %11
%7075 = sext i16 %7074 to i32
%7076 = load i16, i16* %12
%7077 = sext i16 %7076 to i32
%7078 = load i16, i16* %13
%7079 = sext i16 %7078 to i32
%7080 = load i16, i16* %14
%7081 = sext i16 %7080 to i32
%7082 = load i16, i16* %15
%7083 = sext i16 %7082 to i32
%7084 = load i16, i16* %16
%7085 = sext i16 %7084 to i32
%7086 = load i16, i16* %17
%7087 = sext i16 %7086 to i32
%7088 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7073, i32 %7075, i32 %7077, i32 %7079, i32 %7081, i32 %7083, i32 %7085, i32 %7087)
%7089 = icmp eq i32 %7088, -1
br i1 %7089, label %7090, label %7091
7090: ; preds = %7069
store i16 -1, i16* %9
br label %18764
7091: ; preds = %7069
%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* %22
store i16 %7184, i16* %21
%7185 = load i16, i16* %20
store i16 %7185, i16* %14
br label %7606
7186: ; preds = %6972
%7187 = load i16, i16* %20
%7188 = sext i16 %7187 to i32
%7189 = load i16, i16* %17
%7190 = sext i16 %7189 to i32
%7191 = icmp eq i32 %7188, %7190
br i1 %7191, label %7192, label %7399
7192: ; preds = %7186
store i16 0, i16* %17
%7193 = load i16, i16* %10
store i16 %7193, i16* %18
%7194 = load i16, i16* %14
%7195 = sext i16 %7194 to i32
%7196 = icmp eq i32 %7195, 0
br i1 %7196, label %7197, label %7198
7197: ; preds = %7192
br label %7202
7198: ; preds = %7192
%7199 = load i16, i16* %14
%7200 = sext i16 %7199 to i32
%7201 = sub nsw i32 25, %7200
br label %7202
7202: ; preds = %7198, %7197
%7203 = phi i32 [ 0, %7197 ], [ %7201, %7198 ]
%7204 = trunc i32 %7203 to i16
store i16 %7204, i16* %10
%7205 = load i16, i16* %18
%7206 = sext i16 %7205 to i32
%7207 = icmp eq i32 %7206, 0
br i1 %7207, label %7208, label %7209
7208: ; preds = %7202
br label %7213
7209: ; preds = %7202
%7210 = load i16, i16* %18
%7211 = sext i16 %7210 to i32
%7212 = sub nsw i32 25, %7211
br label %7213
7213: ; preds = %7209, %7208
%7214 = phi i32 [ 0, %7208 ], [ %7212, %7209 ]
%7215 = trunc i32 %7214 to i16
store i16 %7215, i16* %14
%7216 = load i16, i16* %11
store i16 %7216, i16* %18
%7217 = load i16, i16* %15
%7218 = sext i16 %7217 to i32
%7219 = icmp eq i32 %7218, 0
br i1 %7219, label %7220, label %7221
7220: ; preds = %7213
br label %7225
7221: ; preds = %7213
%7222 = load i16, i16* %15
%7223 = sext i16 %7222 to i32
%7224 = sub nsw i32 25, %7223
br label %7225
7225: ; preds = %7221, %7220
%7226 = phi i32 [ 0, %7220 ], [ %7224, %7221 ]
%7227 = trunc i32 %7226 to i16
store i16 %7227, i16* %11
%7228 = load i16, i16* %18
%7229 = sext i16 %7228 to i32
%7230 = icmp eq i32 %7229, 0
br i1 %7230, label %7231, label %7232
7231: ; preds = %7225
br label %7236
7232: ; preds = %7225
%7233 = load i16, i16* %18
%7234 = sext i16 %7233 to i32
%7235 = sub nsw i32 25, %7234
br label %7236
7236: ; preds = %7232, %7231
%7237 = phi i32 [ 0, %7231 ], [ %7235, %7232 ]
%7238 = trunc i32 %7237 to i16
store i16 %7238, i16* %15
%7239 = load i16, i16* %12
store i16 %7239, i16* %18
%7240 = load i16, i16* %16
%7241 = sext i16 %7240 to i32
%7242 = icmp eq i32 %7241, 0
br i1 %7242, label %7243, label %7244
7243: ; preds = %7236
br label %7248
7244: ; preds = %7236
%7245 = load i16, i16* %16
%7246 = sext i16 %7245 to i32
%7247 = sub nsw i32 25, %7246
br label %7248
7248: ; preds = %7244, %7243
%7249 = phi i32 [ 0, %7243 ], [ %7247, %7244 ]
%7250 = trunc i32 %7249 to i16
store i16 %7250, i16* %12
%7251 = load i16, i16* %18
%7252 = sext i16 %7251 to i32
%7253 = icmp eq i32 %7252, 0
br i1 %7253, label %7254, label %7255
7254: ; preds = %7248
br label %7259
7255: ; preds = %7248
%7256 = load i16, i16* %18
%7257 = sext i16 %7256 to i32
%7258 = sub nsw i32 25, %7257
br label %7259
7259: ; preds = %7255, %7254
%7260 = phi i32 [ 0, %7254 ], [ %7258, %7255 ]
%7261 = trunc i32 %7260 to i16
store i16 %7261, i16* %16
%7262 = load i16, i16* %13
store i16 %7262, i16* %18
%7263 = load i16, i16* %17
%7264 = sext i16 %7263 to i32
%7265 = icmp eq i32 %7264, 0
br i1 %7265, label %7266, label %7267
7266: ; preds = %7259
br label %7271
7267: ; preds = %7259
%7268 = load i16, i16* %17
%7269 = sext i16 %7268 to i32
%7270 = sub nsw i32 25, %7269
br label %7271
7271: ; preds = %7267, %7266
%7272 = phi i32 [ 0, %7266 ], [ %7270, %7267 ]
%7273 = trunc i32 %7272 to i16
store i16 %7273, i16* %13
%7274 = load i16, i16* %18
%7275 = sext i16 %7274 to i32
%7276 = icmp eq i32 %7275, 0
br i1 %7276, label %7277, label %7278
7277: ; preds = %7271
br label %7282
7278: ; preds = %7271
%7279 = load i16, i16* %18
%7280 = sext i16 %7279 to i32
%7281 = sub nsw i32 25, %7280
br label %7282
7282: ; preds = %7278, %7277
%7283 = phi i32 [ 0, %7277 ], [ %7281, %7278 ]
%7284 = trunc i32 %7283 to i16
store i16 %7284, i16* %17
%7285 = load i16, i16* %10
%7286 = sext i16 %7285 to i32
%7287 = load i16, i16* %11
%7288 = sext i16 %7287 to i32
%7289 = load i16, i16* %12
%7290 = sext i16 %7289 to i32
%7291 = load i16, i16* %13
%7292 = sext i16 %7291 to i32
%7293 = load i16, i16* %14
%7294 = sext i16 %7293 to i32
%7295 = load i16, i16* %15
%7296 = sext i16 %7295 to i32
%7297 = load i16, i16* %16
%7298 = sext i16 %7297 to i32
%7299 = load i16, i16* %17
%7300 = sext i16 %7299 to i32
%7301 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7286, i32 %7288, i32 %7290, i32 %7292, i32 %7294, i32 %7296, i32 %7298, i32 %7300)
%7302 = icmp eq i32 %7301, -1
br i1 %7302, label %7303, label %7304
7303: ; preds = %7282
store i16 -1, i16* %9
br label %18764
7304: ; preds = %7282
%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* %22
store i16 %7397, i16* %21
%7398 = load i16, i16* %20
store i16 %7398, i16* %17
br label %7605
7399: ; preds = %7186
%7400 = load i16, i16* %10
store i16 %7400, i16* %18
%7401 = load i16, i16* %14
%7402 = sext i16 %7401 to i32
%7403 = icmp eq i32 %7402, 0
br i1 %7403, label %7404, label %7405
7404: ; preds = %7399
br label %7409
7405: ; preds = %7399
%7406 = load i16, i16* %14
%7407 = sext i16 %7406 to i32
%7408 = sub nsw i32 25, %7407
br label %7409
7409: ; preds = %7405, %7404
%7410 = phi i32 [ 0, %7404 ], [ %7408, %7405 ]
%7411 = trunc i32 %7410 to i16
store i16 %7411, i16* %10
%7412 = load i16, i16* %18
%7413 = sext i16 %7412 to i32
%7414 = icmp eq i32 %7413, 0
br i1 %7414, label %7415, label %7416
7415: ; preds = %7409
br label %7420
7416: ; preds = %7409
%7417 = load i16, i16* %18
%7418 = sext i16 %7417 to i32
%7419 = sub nsw i32 25, %7418
br label %7420
7420: ; preds = %7416, %7415
%7421 = phi i32 [ 0, %7415 ], [ %7419, %7416 ]
%7422 = trunc i32 %7421 to i16
store i16 %7422, i16* %14
%7423 = load i16, i16* %11
store i16 %7423, i16* %18
%7424 = load i16, i16* %15
%7425 = sext i16 %7424 to i32
%7426 = icmp eq i32 %7425, 0
br i1 %7426, label %7427, label %7428
7427: ; preds = %7420
br label %7432
7428: ; preds = %7420
%7429 = load i16, i16* %15
%7430 = sext i16 %7429 to i32
%7431 = sub nsw i32 25, %7430
br label %7432
7432: ; preds = %7428, %7427
%7433 = phi i32 [ 0, %7427 ], [ %7431, %7428 ]
%7434 = trunc i32 %7433 to i16
store i16 %7434, i16* %11
%7435 = load i16, i16* %18
%7436 = sext i16 %7435 to i32
%7437 = icmp eq i32 %7436, 0
br i1 %7437, label %7438, label %7439
7438: ; preds = %7432
br label %7443
7439: ; preds = %7432
%7440 = load i16, i16* %18
%7441 = sext i16 %7440 to i32
%7442 = sub nsw i32 25, %7441
br label %7443
7443: ; preds = %7439, %7438
%7444 = phi i32 [ 0, %7438 ], [ %7442, %7439 ]
%7445 = trunc i32 %7444 to i16
store i16 %7445, i16* %15
%7446 = load i16, i16* %12
store i16 %7446, i16* %18
%7447 = load i16, i16* %16
%7448 = sext i16 %7447 to i32
%7449 = icmp eq i32 %7448, 0
br i1 %7449, label %7450, label %7451
7450: ; preds = %7443
br label %7455
7451: ; preds = %7443
%7452 = load i16, i16* %16
%7453 = sext i16 %7452 to i32
%7454 = sub nsw i32 25, %7453
br label %7455
7455: ; preds = %7451, %7450
%7456 = phi i32 [ 0, %7450 ], [ %7454, %7451 ]
%7457 = trunc i32 %7456 to i16
store i16 %7457, i16* %12
%7458 = load i16, i16* %18
%7459 = sext i16 %7458 to i32
%7460 = icmp eq i32 %7459, 0
br i1 %7460, label %7461, label %7462
7461: ; preds = %7455
br label %7466
7462: ; preds = %7455
%7463 = load i16, i16* %18
%7464 = sext i16 %7463 to i32
%7465 = sub nsw i32 25, %7464
br label %7466
7466: ; preds = %7462, %7461
%7467 = phi i32 [ 0, %7461 ], [ %7465, %7462 ]
%7468 = trunc i32 %7467 to i16
store i16 %7468, i16* %16
%7469 = load i16, i16* %13
store i16 %7469, i16* %18
%7470 = load i16, i16* %17
%7471 = sext i16 %7470 to i32
%7472 = icmp eq i32 %7471, 0
br i1 %7472, label %7473, label %7474
7473: ; preds = %7466
br label %7478
7474: ; preds = %7466
%7475 = load i16, i16* %17
%7476 = sext i16 %7475 to i32
%7477 = sub nsw i32 25, %7476
br label %7478
7478: ; preds = %7474, %7473
%7479 = phi i32 [ 0, %7473 ], [ %7477, %7474 ]
%7480 = trunc i32 %7479 to i16
store i16 %7480, i16* %13
%7481 = load i16, i16* %18
%7482 = sext i16 %7481 to i32
%7483 = icmp eq i32 %7482, 0
br i1 %7483, label %7484, label %7485
7484: ; preds = %7478
br label %7489
7485: ; preds = %7478
%7486 = load i16, i16* %18
%7487 = sext i16 %7486 to i32
%7488 = sub nsw i32 25, %7487
br label %7489
7489: ; preds = %7485, %7484
%7490 = phi i32 [ 0, %7484 ], [ %7488, %7485 ]
%7491 = trunc i32 %7490 to i16
store i16 %7491, i16* %17
%7492 = load i16, i16* %10
%7493 = sext i16 %7492 to i32
%7494 = load i16, i16* %11
%7495 = sext i16 %7494 to i32
%7496 = load i16, i16* %12
%7497 = sext i16 %7496 to i32
%7498 = load i16, i16* %13
%7499 = sext i16 %7498 to i32
%7500 = load i16, i16* %14
%7501 = sext i16 %7500 to i32
%7502 = load i16, i16* %15
%7503 = sext i16 %7502 to i32
%7504 = load i16, i16* %16
%7505 = sext i16 %7504 to i32
%7506 = load i16, i16* %17
%7507 = sext i16 %7506 to i32
%7508 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7493, i32 %7495, i32 %7497, i32 %7499, i32 %7501, i32 %7503, i32 %7505, i32 %7507)
%7509 = icmp eq i32 %7508, -1
br i1 %7509, label %7510, label %7511
7510: ; preds = %7489
store i16 -1, i16* %9
br label %18764
7511: ; preds = %7489
%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
%7604 = load i16, i16* %22
store i16 %7604, i16* %21
br label %7605
7605: ; preds = %7601, %7394
br label %7606
7606: ; preds = %7605, %7181
%7607 = load i16, i16* %19
store i16 %7607, i16* %11
br label %7608
7608: ; preds = %7606, %6966, %6960, %6954, %6948, %6937
br label %7609
7609: ; preds = %7608, %6932, %6928
br label %18748
7610: ; preds = %6924
%7611 = load i16, i16* %22
%7612 = sext i16 %7611 to i32
%7613 = icmp eq i32 %7612, 11
br i1 %7613, label %7614, label %8300
7614: ; preds = %7610
%7615 = load i16, i16* %11
%7616 = sext i16 %7615 to i32
%7617 = icmp ne i32 %7616, 0
br i1 %7617, label %7618, label %8299
7618: ; preds = %7614
%7619 = load i16, i16* %11
%7620 = sext i16 %7619 to i32
%7621 = icmp slt i32 4, %7620
br i1 %7621, label %7622, label %8299
7622: ; preds = %7618
%7623 = load i16, i16* %11
%7624 = sext i16 %7623 to i32
%7625 = srem i32 %7624, 4
%7626 = icmp ne i32 %7625, 0
br i1 %7626, label %7627, label %8299
7627: ; preds = %7622
%7628 = load i16, i16* %11
store i16 %7628, i16* %19
%7629 = load i16, i16* %19
%7630 = sext i16 %7629 to i32
%7631 = sub nsw i32 %7630, 3
%7632 = trunc i32 %7631 to i16
store i16 %7632, i16* %20
%7633 = load i16, i16* %20
%7634 = sext i16 %7633 to i32
%7635 = load i16, i16* %10
%7636 = sext i16 %7635 to i32
%7637 = icmp ne i32 %7634, %7636
br i1 %7637, label %7638, label %8298
7638: ; preds = %7627
%7639 = load i16, i16* %20
%7640 = sext i16 %7639 to i32
%7641 = load i16, i16* %12
%7642 = sext i16 %7641 to i32
%7643 = icmp ne i32 %7640, %7642
br i1 %7643, label %7644, label %8298
7644: ; preds = %7638
%7645 = load i16, i16* %20
%7646 = sext i16 %7645 to i32
%7647 = load i16, i16* %13
%7648 = sext i16 %7647 to i32
%7649 = icmp ne i32 %7646, %7648
br i1 %7649, label %7650, label %8298
7650: ; preds = %7644
%7651 = load i16, i16* %20
%7652 = sext i16 %7651 to i32
%7653 = load i16, i16* %15
%7654 = sext i16 %7653 to i32
%7655 = icmp ne i32 %7652, %7654
br i1 %7655, label %7656, label %8298
7656: ; preds = %7650
%7657 = load i16, i16* %20
%7658 = sext i16 %7657 to i32
%7659 = load i16, i16* %16
%7660 = sext i16 %7659 to i32
%7661 = icmp ne i32 %7658, %7660
br i1 %7661, label %7662, label %8298
7662: ; preds = %7656
%7663 = load i16, i16* %20
store i16 %7663, i16* %11
%7664 = load i16, i16* %14
%7665 = sext i16 %7664 to i32
%7666 = load i16, i16* %20
%7667 = sext i16 %7666 to i32
%7668 = icmp eq i32 %7665, %7667
br i1 %7668, label %7669, label %7876
7669: ; preds = %7662
store i16 0, i16* %14
%7670 = load i16, i16* %10
store i16 %7670, i16* %18
%7671 = load i16, i16* %14
%7672 = sext i16 %7671 to i32
%7673 = icmp eq i32 %7672, 0
br i1 %7673, label %7674, label %7675
7674: ; preds = %7669
br label %7679
7675: ; preds = %7669
%7676 = load i16, i16* %14
%7677 = sext i16 %7676 to i32
%7678 = sub nsw i32 25, %7677
br label %7679
7679: ; preds = %7675, %7674
%7680 = phi i32 [ 0, %7674 ], [ %7678, %7675 ]
%7681 = trunc i32 %7680 to i16
store i16 %7681, i16* %10
%7682 = load i16, i16* %18
%7683 = sext i16 %7682 to i32
%7684 = icmp eq i32 %7683, 0
br i1 %7684, label %7685, label %7686
7685: ; preds = %7679
br label %7690
7686: ; preds = %7679
%7687 = load i16, i16* %18
%7688 = sext i16 %7687 to i32
%7689 = sub nsw i32 25, %7688
br label %7690
7690: ; preds = %7686, %7685
%7691 = phi i32 [ 0, %7685 ], [ %7689, %7686 ]
%7692 = trunc i32 %7691 to i16
store i16 %7692, i16* %14
%7693 = load i16, i16* %11
store i16 %7693, i16* %18
%7694 = load i16, i16* %15
%7695 = sext i16 %7694 to i32
%7696 = icmp eq i32 %7695, 0
br i1 %7696, label %7697, label %7698
7697: ; preds = %7690
br label %7702
7698: ; preds = %7690
%7699 = load i16, i16* %15
%7700 = sext i16 %7699 to i32
%7701 = sub nsw i32 25, %7700
br label %7702
7702: ; preds = %7698, %7697
%7703 = phi i32 [ 0, %7697 ], [ %7701, %7698 ]
%7704 = trunc i32 %7703 to i16
store i16 %7704, i16* %11
%7705 = load i16, i16* %18
%7706 = sext i16 %7705 to i32
%7707 = icmp eq i32 %7706, 0
br i1 %7707, label %7708, label %7709
7708: ; preds = %7702
br label %7713
7709: ; preds = %7702
%7710 = load i16, i16* %18
%7711 = sext i16 %7710 to i32
%7712 = sub nsw i32 25, %7711
br label %7713
7713: ; preds = %7709, %7708
%7714 = phi i32 [ 0, %7708 ], [ %7712, %7709 ]
%7715 = trunc i32 %7714 to i16
store i16 %7715, i16* %15
%7716 = load i16, i16* %12
store i16 %7716, i16* %18
%7717 = load i16, i16* %16
%7718 = sext i16 %7717 to i32
%7719 = icmp eq i32 %7718, 0
br i1 %7719, label %7720, label %7721
7720: ; preds = %7713
br label %7725
7721: ; preds = %7713
%7722 = load i16, i16* %16
%7723 = sext i16 %7722 to i32
%7724 = sub nsw i32 25, %7723
br label %7725
7725: ; preds = %7721, %7720
%7726 = phi i32 [ 0, %7720 ], [ %7724, %7721 ]
%7727 = trunc i32 %7726 to i16
store i16 %7727, i16* %12
%7728 = load i16, i16* %18
%7729 = sext i16 %7728 to i32
%7730 = icmp eq i32 %7729, 0
br i1 %7730, label %7731, label %7732
7731: ; preds = %7725
br label %7736
7732: ; preds = %7725
%7733 = load i16, i16* %18
%7734 = sext i16 %7733 to i32
%7735 = sub nsw i32 25, %7734
br label %7736
7736: ; preds = %7732, %7731
%7737 = phi i32 [ 0, %7731 ], [ %7735, %7732 ]
%7738 = trunc i32 %7737 to i16
store i16 %7738, i16* %16
%7739 = load i16, i16* %13
store i16 %7739, i16* %18
%7740 = load i16, i16* %17
%7741 = sext i16 %7740 to i32
%7742 = icmp eq i32 %7741, 0
br i1 %7742, label %7743, label %7744
7743: ; preds = %7736
br label %7748
7744: ; preds = %7736
%7745 = load i16, i16* %17
%7746 = sext i16 %7745 to i32
%7747 = sub nsw i32 25, %7746
br label %7748
7748: ; preds = %7744, %7743
%7749 = phi i32 [ 0, %7743 ], [ %7747, %7744 ]
%7750 = trunc i32 %7749 to i16
store i16 %7750, i16* %13
%7751 = load i16, i16* %18
%7752 = sext i16 %7751 to i32
%7753 = icmp eq i32 %7752, 0
br i1 %7753, label %7754, label %7755
7754: ; preds = %7748
br label %7759
7755: ; preds = %7748
%7756 = load i16, i16* %18
%7757 = sext i16 %7756 to i32
%7758 = sub nsw i32 25, %7757
br label %7759
7759: ; preds = %7755, %7754
%7760 = phi i32 [ 0, %7754 ], [ %7758, %7755 ]
%7761 = trunc i32 %7760 to i16
store i16 %7761, i16* %17
%7762 = load i16, i16* %10
%7763 = sext i16 %7762 to i32
%7764 = load i16, i16* %11
%7765 = sext i16 %7764 to i32
%7766 = load i16, i16* %12
%7767 = sext i16 %7766 to i32
%7768 = load i16, i16* %13
%7769 = sext i16 %7768 to i32
%7770 = load i16, i16* %14
%7771 = sext i16 %7770 to i32
%7772 = load i16, i16* %15
%7773 = sext i16 %7772 to i32
%7774 = load i16, i16* %16
%7775 = sext i16 %7774 to i32
%7776 = load i16, i16* %17
%7777 = sext i16 %7776 to i32
%7778 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7763, i32 %7765, i32 %7767, i32 %7769, i32 %7771, i32 %7773, i32 %7775, i32 %7777)
%7779 = icmp eq i32 %7778, -1
br i1 %7779, label %7780, label %7781
7780: ; preds = %7759
store i16 -1, i16* %9
br label %18764
7781: ; preds = %7759
%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* %22
store i16 %7874, i16* %21
%7875 = load i16, i16* %20
store i16 %7875, i16* %14
br label %8296
7876: ; preds = %7662
%7877 = load i16, i16* %20
%7878 = sext i16 %7877 to i32
%7879 = load i16, i16* %17
%7880 = sext i16 %7879 to i32
%7881 = icmp eq i32 %7878, %7880
br i1 %7881, label %7882, label %8089
7882: ; preds = %7876
store i16 0, i16* %17
%7883 = load i16, i16* %10
store i16 %7883, i16* %18
%7884 = load i16, i16* %14
%7885 = sext i16 %7884 to i32
%7886 = icmp eq i32 %7885, 0
br i1 %7886, label %7887, label %7888
7887: ; preds = %7882
br label %7892
7888: ; preds = %7882
%7889 = load i16, i16* %14
%7890 = sext i16 %7889 to i32
%7891 = sub nsw i32 25, %7890
br label %7892
7892: ; preds = %7888, %7887
%7893 = phi i32 [ 0, %7887 ], [ %7891, %7888 ]
%7894 = trunc i32 %7893 to i16
store i16 %7894, i16* %10
%7895 = load i16, i16* %18
%7896 = sext i16 %7895 to i32
%7897 = icmp eq i32 %7896, 0
br i1 %7897, label %7898, label %7899
7898: ; preds = %7892
br label %7903
7899: ; preds = %7892
%7900 = load i16, i16* %18
%7901 = sext i16 %7900 to i32
%7902 = sub nsw i32 25, %7901
br label %7903
7903: ; preds = %7899, %7898
%7904 = phi i32 [ 0, %7898 ], [ %7902, %7899 ]
%7905 = trunc i32 %7904 to i16
store i16 %7905, i16* %14
%7906 = load i16, i16* %11
store i16 %7906, i16* %18
%7907 = load i16, i16* %15
%7908 = sext i16 %7907 to i32
%7909 = icmp eq i32 %7908, 0
br i1 %7909, label %7910, label %7911
7910: ; preds = %7903
br label %7915
7911: ; preds = %7903
%7912 = load i16, i16* %15
%7913 = sext i16 %7912 to i32
%7914 = sub nsw i32 25, %7913
br label %7915
7915: ; preds = %7911, %7910
%7916 = phi i32 [ 0, %7910 ], [ %7914, %7911 ]
%7917 = trunc i32 %7916 to i16
store i16 %7917, i16* %11
%7918 = load i16, i16* %18
%7919 = sext i16 %7918 to i32
%7920 = icmp eq i32 %7919, 0
br i1 %7920, label %7921, label %7922
7921: ; preds = %7915
br label %7926
7922: ; preds = %7915
%7923 = load i16, i16* %18
%7924 = sext i16 %7923 to i32
%7925 = sub nsw i32 25, %7924
br label %7926
7926: ; preds = %7922, %7921
%7927 = phi i32 [ 0, %7921 ], [ %7925, %7922 ]
%7928 = trunc i32 %7927 to i16
store i16 %7928, i16* %15
%7929 = load i16, i16* %12
store i16 %7929, i16* %18
%7930 = load i16, i16* %16
%7931 = sext i16 %7930 to i32
%7932 = icmp eq i32 %7931, 0
br i1 %7932, label %7933, label %7934
7933: ; preds = %7926
br label %7938
7934: ; preds = %7926
%7935 = load i16, i16* %16
%7936 = sext i16 %7935 to i32
%7937 = sub nsw i32 25, %7936
br label %7938
7938: ; preds = %7934, %7933
%7939 = phi i32 [ 0, %7933 ], [ %7937, %7934 ]
%7940 = trunc i32 %7939 to i16
store i16 %7940, i16* %12
%7941 = load i16, i16* %18
%7942 = sext i16 %7941 to i32
%7943 = icmp eq i32 %7942, 0
br i1 %7943, label %7944, label %7945
7944: ; preds = %7938
br label %7949
7945: ; preds = %7938
%7946 = load i16, i16* %18
%7947 = sext i16 %7946 to i32
%7948 = sub nsw i32 25, %7947
br label %7949
7949: ; preds = %7945, %7944
%7950 = phi i32 [ 0, %7944 ], [ %7948, %7945 ]
%7951 = trunc i32 %7950 to i16
store i16 %7951, i16* %16
%7952 = load i16, i16* %13
store i16 %7952, i16* %18
%7953 = load i16, i16* %17
%7954 = sext i16 %7953 to i32
%7955 = icmp eq i32 %7954, 0
br i1 %7955, label %7956, label %7957
7956: ; preds = %7949
br label %7961
7957: ; preds = %7949
%7958 = load i16, i16* %17
%7959 = sext i16 %7958 to i32
%7960 = sub nsw i32 25, %7959
br label %7961
7961: ; preds = %7957, %7956
%7962 = phi i32 [ 0, %7956 ], [ %7960, %7957 ]
%7963 = trunc i32 %7962 to i16
store i16 %7963, i16* %13
%7964 = load i16, i16* %18
%7965 = sext i16 %7964 to i32
%7966 = icmp eq i32 %7965, 0
br i1 %7966, label %7967, label %7968
7967: ; preds = %7961
br label %7972
7968: ; preds = %7961
%7969 = load i16, i16* %18
%7970 = sext i16 %7969 to i32
%7971 = sub nsw i32 25, %7970
br label %7972
7972: ; preds = %7968, %7967
%7973 = phi i32 [ 0, %7967 ], [ %7971, %7968 ]
%7974 = trunc i32 %7973 to i16
store i16 %7974, i16* %17
%7975 = load i16, i16* %10
%7976 = sext i16 %7975 to i32
%7977 = load i16, i16* %11
%7978 = sext i16 %7977 to i32
%7979 = load i16, i16* %12
%7980 = sext i16 %7979 to i32
%7981 = load i16, i16* %13
%7982 = sext i16 %7981 to i32
%7983 = load i16, i16* %14
%7984 = sext i16 %7983 to i32
%7985 = load i16, i16* %15
%7986 = sext i16 %7985 to i32
%7987 = load i16, i16* %16
%7988 = sext i16 %7987 to i32
%7989 = load i16, i16* %17
%7990 = sext i16 %7989 to i32
%7991 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7976, i32 %7978, i32 %7980, i32 %7982, i32 %7984, i32 %7986, i32 %7988, i32 %7990)
%7992 = icmp eq i32 %7991, -1
br i1 %7992, label %7993, label %7994
7993: ; preds = %7972
store i16 -1, i16* %9
br label %18764
7994: ; preds = %7972
%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* %22
store i16 %8087, i16* %21
%8088 = load i16, i16* %20
store i16 %8088, i16* %17
br label %8295
8089: ; preds = %7876
%8090 = load i16, i16* %10
store i16 %8090, i16* %18
%8091 = load i16, i16* %14
%8092 = sext i16 %8091 to i32
%8093 = icmp eq i32 %8092, 0
br i1 %8093, label %8094, label %8095
8094: ; preds = %8089
br label %8099
8095: ; preds = %8089
%8096 = load i16, i16* %14
%8097 = sext i16 %8096 to i32
%8098 = sub nsw i32 25, %8097
br label %8099
8099: ; preds = %8095, %8094
%8100 = phi i32 [ 0, %8094 ], [ %8098, %8095 ]
%8101 = trunc i32 %8100 to i16
store i16 %8101, i16* %10
%8102 = load i16, i16* %18
%8103 = sext i16 %8102 to i32
%8104 = icmp eq i32 %8103, 0
br i1 %8104, label %8105, label %8106
8105: ; preds = %8099
br label %8110
8106: ; preds = %8099
%8107 = load i16, i16* %18
%8108 = sext i16 %8107 to i32
%8109 = sub nsw i32 25, %8108
br label %8110
8110: ; preds = %8106, %8105
%8111 = phi i32 [ 0, %8105 ], [ %8109, %8106 ]
%8112 = trunc i32 %8111 to i16
store i16 %8112, i16* %14
%8113 = load i16, i16* %11
store i16 %8113, i16* %18
%8114 = load i16, i16* %15
%8115 = sext i16 %8114 to i32
%8116 = icmp eq i32 %8115, 0
br i1 %8116, label %8117, label %8118
8117: ; preds = %8110
br label %8122
8118: ; preds = %8110
%8119 = load i16, i16* %15
%8120 = sext i16 %8119 to i32
%8121 = sub nsw i32 25, %8120
br label %8122
8122: ; preds = %8118, %8117
%8123 = phi i32 [ 0, %8117 ], [ %8121, %8118 ]
%8124 = trunc i32 %8123 to i16
store i16 %8124, i16* %11
%8125 = load i16, i16* %18
%8126 = sext i16 %8125 to i32
%8127 = icmp eq i32 %8126, 0
br i1 %8127, label %8128, label %8129
8128: ; preds = %8122
br label %8133
8129: ; preds = %8122
%8130 = load i16, i16* %18
%8131 = sext i16 %8130 to i32
%8132 = sub nsw i32 25, %8131
br label %8133
8133: ; preds = %8129, %8128
%8134 = phi i32 [ 0, %8128 ], [ %8132, %8129 ]
%8135 = trunc i32 %8134 to i16
store i16 %8135, i16* %15
%8136 = load i16, i16* %12
store i16 %8136, i16* %18
%8137 = load i16, i16* %16
%8138 = sext i16 %8137 to i32
%8139 = icmp eq i32 %8138, 0
br i1 %8139, label %8140, label %8141
8140: ; preds = %8133
br label %8145
8141: ; preds = %8133
%8142 = load i16, i16* %16
%8143 = sext i16 %8142 to i32
%8144 = sub nsw i32 25, %8143
br label %8145
8145: ; preds = %8141, %8140
%8146 = phi i32 [ 0, %8140 ], [ %8144, %8141 ]
%8147 = trunc i32 %8146 to i16
store i16 %8147, i16* %12
%8148 = load i16, i16* %18
%8149 = sext i16 %8148 to i32
%8150 = icmp eq i32 %8149, 0
br i1 %8150, label %8151, label %8152
8151: ; preds = %8145
br label %8156
8152: ; preds = %8145
%8153 = load i16, i16* %18
%8154 = sext i16 %8153 to i32
%8155 = sub nsw i32 25, %8154
br label %8156
8156: ; preds = %8152, %8151
%8157 = phi i32 [ 0, %8151 ], [ %8155, %8152 ]
%8158 = trunc i32 %8157 to i16
store i16 %8158, i16* %16
%8159 = load i16, i16* %13
store i16 %8159, i16* %18
%8160 = load i16, i16* %17
%8161 = sext i16 %8160 to i32
%8162 = icmp eq i32 %8161, 0
br i1 %8162, label %8163, label %8164
8163: ; preds = %8156
br label %8168
8164: ; preds = %8156
%8165 = load i16, i16* %17
%8166 = sext i16 %8165 to i32
%8167 = sub nsw i32 25, %8166
br label %8168
8168: ; preds = %8164, %8163
%8169 = phi i32 [ 0, %8163 ], [ %8167, %8164 ]
%8170 = trunc i32 %8169 to i16
store i16 %8170, i16* %13
%8171 = load i16, i16* %18
%8172 = sext i16 %8171 to i32
%8173 = icmp eq i32 %8172, 0
br i1 %8173, label %8174, label %8175
8174: ; preds = %8168
br label %8179
8175: ; preds = %8168
%8176 = load i16, i16* %18
%8177 = sext i16 %8176 to i32
%8178 = sub nsw i32 25, %8177
br label %8179
8179: ; preds = %8175, %8174
%8180 = phi i32 [ 0, %8174 ], [ %8178, %8175 ]
%8181 = trunc i32 %8180 to i16
store i16 %8181, i16* %17
%8182 = load i16, i16* %10
%8183 = sext i16 %8182 to i32
%8184 = load i16, i16* %11
%8185 = sext i16 %8184 to i32
%8186 = load i16, i16* %12
%8187 = sext i16 %8186 to i32
%8188 = load i16, i16* %13
%8189 = sext i16 %8188 to i32
%8190 = load i16, i16* %14
%8191 = sext i16 %8190 to i32
%8192 = load i16, i16* %15
%8193 = sext i16 %8192 to i32
%8194 = load i16, i16* %16
%8195 = sext i16 %8194 to i32
%8196 = load i16, i16* %17
%8197 = sext i16 %8196 to i32
%8198 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8183, i32 %8185, i32 %8187, i32 %8189, i32 %8191, i32 %8193, i32 %8195, i32 %8197)
%8199 = icmp eq i32 %8198, -1
br i1 %8199, label %8200, label %8201
8200: ; preds = %8179
store i16 -1, i16* %9
br label %18764
8201: ; preds = %8179
%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
%8294 = load i16, i16* %22
store i16 %8294, i16* %21
br label %8295
8295: ; preds = %8291, %8084
br label %8296
8296: ; preds = %8295, %7871
%8297 = load i16, i16* %19
store i16 %8297, i16* %11
br label %8298
8298: ; preds = %8296, %7656, %7650, %7644, %7638, %7627
br label %8299
8299: ; preds = %8298, %7622, %7618, %7614
br label %18747
8300: ; preds = %7610
%8301 = load i16, i16* %22
%8302 = sext i16 %8301 to i32
%8303 = icmp eq i32 %8302, 12
br i1 %8303, label %8304, label %8985
8304: ; preds = %8300
%8305 = load i16, i16* %11
%8306 = sext i16 %8305 to i32
%8307 = icmp ne i32 %8306, 0
br i1 %8307, label %8308, label %8984
8308: ; preds = %8304
%8309 = load i16, i16* %11
%8310 = sext i16 %8309 to i32
%8311 = icmp slt i32 4, %8310
br i1 %8311, label %8312, label %8984
8312: ; preds = %8308
%8313 = load i16, i16* %11
store i16 %8313, i16* %19
%8314 = load i16, i16* %19
%8315 = sext i16 %8314 to i32
%8316 = sub nsw i32 %8315, 4
%8317 = trunc i32 %8316 to i16
store i16 %8317, i16* %20
%8318 = load i16, i16* %20
%8319 = sext i16 %8318 to i32
%8320 = load i16, i16* %10
%8321 = sext i16 %8320 to i32
%8322 = icmp ne i32 %8319, %8321
br i1 %8322, label %8323, label %8983
8323: ; preds = %8312
%8324 = load i16, i16* %20
%8325 = sext i16 %8324 to i32
%8326 = load i16, i16* %12
%8327 = sext i16 %8326 to i32
%8328 = icmp ne i32 %8325, %8327
br i1 %8328, label %8329, label %8983
8329: ; preds = %8323
%8330 = load i16, i16* %20
%8331 = sext i16 %8330 to i32
%8332 = load i16, i16* %13
%8333 = sext i16 %8332 to i32
%8334 = icmp ne i32 %8331, %8333
br i1 %8334, label %8335, label %8983
8335: ; preds = %8329
%8336 = load i16, i16* %20
%8337 = sext i16 %8336 to i32
%8338 = load i16, i16* %15
%8339 = sext i16 %8338 to i32
%8340 = icmp ne i32 %8337, %8339
br i1 %8340, label %8341, label %8983
8341: ; preds = %8335
%8342 = load i16, i16* %20
%8343 = sext i16 %8342 to i32
%8344 = load i16, i16* %16
%8345 = sext i16 %8344 to i32
%8346 = icmp ne i32 %8343, %8345
br i1 %8346, label %8347, label %8983
8347: ; preds = %8341
%8348 = load i16, i16* %20
store i16 %8348, i16* %11
%8349 = load i16, i16* %14
%8350 = sext i16 %8349 to i32
%8351 = load i16, i16* %20
%8352 = sext i16 %8351 to i32
%8353 = icmp eq i32 %8350, %8352
br i1 %8353, label %8354, label %8561
8354: ; preds = %8347
store i16 0, i16* %14
%8355 = load i16, i16* %10
store i16 %8355, i16* %18
%8356 = load i16, i16* %14
%8357 = sext i16 %8356 to i32
%8358 = icmp eq i32 %8357, 0
br i1 %8358, label %8359, label %8360
8359: ; preds = %8354
br label %8364
8360: ; preds = %8354
%8361 = load i16, i16* %14
%8362 = sext i16 %8361 to i32
%8363 = sub nsw i32 25, %8362
br label %8364
8364: ; preds = %8360, %8359
%8365 = phi i32 [ 0, %8359 ], [ %8363, %8360 ]
%8366 = trunc i32 %8365 to i16
store i16 %8366, i16* %10
%8367 = load i16, i16* %18
%8368 = sext i16 %8367 to i32
%8369 = icmp eq i32 %8368, 0
br i1 %8369, label %8370, label %8371
8370: ; preds = %8364
br label %8375
8371: ; preds = %8364
%8372 = load i16, i16* %18
%8373 = sext i16 %8372 to i32
%8374 = sub nsw i32 25, %8373
br label %8375
8375: ; preds = %8371, %8370
%8376 = phi i32 [ 0, %8370 ], [ %8374, %8371 ]
%8377 = trunc i32 %8376 to i16
store i16 %8377, i16* %14
%8378 = load i16, i16* %11
store i16 %8378, i16* %18
%8379 = load i16, i16* %15
%8380 = sext i16 %8379 to i32
%8381 = icmp eq i32 %8380, 0
br i1 %8381, label %8382, label %8383
8382: ; preds = %8375
br label %8387
8383: ; preds = %8375
%8384 = load i16, i16* %15
%8385 = sext i16 %8384 to i32
%8386 = sub nsw i32 25, %8385
br label %8387
8387: ; preds = %8383, %8382
%8388 = phi i32 [ 0, %8382 ], [ %8386, %8383 ]
%8389 = trunc i32 %8388 to i16
store i16 %8389, i16* %11
%8390 = load i16, i16* %18
%8391 = sext i16 %8390 to i32
%8392 = icmp eq i32 %8391, 0
br i1 %8392, label %8393, label %8394
8393: ; preds = %8387
br label %8398
8394: ; preds = %8387
%8395 = load i16, i16* %18
%8396 = sext i16 %8395 to i32
%8397 = sub nsw i32 25, %8396
br label %8398
8398: ; preds = %8394, %8393
%8399 = phi i32 [ 0, %8393 ], [ %8397, %8394 ]
%8400 = trunc i32 %8399 to i16
store i16 %8400, i16* %15
%8401 = load i16, i16* %12
store i16 %8401, i16* %18
%8402 = load i16, i16* %16
%8403 = sext i16 %8402 to i32
%8404 = icmp eq i32 %8403, 0
br i1 %8404, label %8405, label %8406
8405: ; preds = %8398
br label %8410
8406: ; preds = %8398
%8407 = load i16, i16* %16
%8408 = sext i16 %8407 to i32
%8409 = sub nsw i32 25, %8408
br label %8410
8410: ; preds = %8406, %8405
%8411 = phi i32 [ 0, %8405 ], [ %8409, %8406 ]
%8412 = trunc i32 %8411 to i16
store i16 %8412, i16* %12
%8413 = load i16, i16* %18
%8414 = sext i16 %8413 to i32
%8415 = icmp eq i32 %8414, 0
br i1 %8415, label %8416, label %8417
8416: ; preds = %8410
br label %8421
8417: ; preds = %8410
%8418 = load i16, i16* %18
%8419 = sext i16 %8418 to i32
%8420 = sub nsw i32 25, %8419
br label %8421
8421: ; preds = %8417, %8416
%8422 = phi i32 [ 0, %8416 ], [ %8420, %8417 ]
%8423 = trunc i32 %8422 to i16
store i16 %8423, i16* %16
%8424 = load i16, i16* %13
store i16 %8424, i16* %18
%8425 = load i16, i16* %17
%8426 = sext i16 %8425 to i32
%8427 = icmp eq i32 %8426, 0
br i1 %8427, label %8428, label %8429
8428: ; preds = %8421
br label %8433
8429: ; preds = %8421
%8430 = load i16, i16* %17
%8431 = sext i16 %8430 to i32
%8432 = sub nsw i32 25, %8431
br label %8433
8433: ; preds = %8429, %8428
%8434 = phi i32 [ 0, %8428 ], [ %8432, %8429 ]
%8435 = trunc i32 %8434 to i16
store i16 %8435, i16* %13
%8436 = load i16, i16* %18
%8437 = sext i16 %8436 to i32
%8438 = icmp eq i32 %8437, 0
br i1 %8438, label %8439, label %8440
8439: ; preds = %8433
br label %8444
8440: ; preds = %8433
%8441 = load i16, i16* %18
%8442 = sext i16 %8441 to i32
%8443 = sub nsw i32 25, %8442
br label %8444
8444: ; preds = %8440, %8439
%8445 = phi i32 [ 0, %8439 ], [ %8443, %8440 ]
%8446 = trunc i32 %8445 to i16
store i16 %8446, i16* %17
%8447 = load i16, i16* %10
%8448 = sext i16 %8447 to i32
%8449 = load i16, i16* %11
%8450 = sext i16 %8449 to i32
%8451 = load i16, i16* %12
%8452 = sext i16 %8451 to i32
%8453 = load i16, i16* %13
%8454 = sext i16 %8453 to i32
%8455 = load i16, i16* %14
%8456 = sext i16 %8455 to i32
%8457 = load i16, i16* %15
%8458 = sext i16 %8457 to i32
%8459 = load i16, i16* %16
%8460 = sext i16 %8459 to i32
%8461 = load i16, i16* %17
%8462 = sext i16 %8461 to i32
%8463 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8448, i32 %8450, i32 %8452, i32 %8454, i32 %8456, i32 %8458, i32 %8460, i32 %8462)
%8464 = icmp eq i32 %8463, -1
br i1 %8464, label %8465, label %8466
8465: ; preds = %8444
store i16 -1, i16* %9
br label %18764
8466: ; preds = %8444
%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* %22
store i16 %8559, i16* %21
%8560 = load i16, i16* %20
store i16 %8560, i16* %14
br label %8981
8561: ; preds = %8347
%8562 = load i16, i16* %20
%8563 = sext i16 %8562 to i32
%8564 = load i16, i16* %17
%8565 = sext i16 %8564 to i32
%8566 = icmp eq i32 %8563, %8565
br i1 %8566, label %8567, label %8774
8567: ; preds = %8561
store i16 0, i16* %17
%8568 = load i16, i16* %10
store i16 %8568, i16* %18
%8569 = load i16, i16* %14
%8570 = sext i16 %8569 to i32
%8571 = icmp eq i32 %8570, 0
br i1 %8571, label %8572, label %8573
8572: ; preds = %8567
br label %8577
8573: ; preds = %8567
%8574 = load i16, i16* %14
%8575 = sext i16 %8574 to i32
%8576 = sub nsw i32 25, %8575
br label %8577
8577: ; preds = %8573, %8572
%8578 = phi i32 [ 0, %8572 ], [ %8576, %8573 ]
%8579 = trunc i32 %8578 to i16
store i16 %8579, i16* %10
%8580 = load i16, i16* %18
%8581 = sext i16 %8580 to i32
%8582 = icmp eq i32 %8581, 0
br i1 %8582, label %8583, label %8584
8583: ; preds = %8577
br label %8588
8584: ; preds = %8577
%8585 = load i16, i16* %18
%8586 = sext i16 %8585 to i32
%8587 = sub nsw i32 25, %8586
br label %8588
8588: ; preds = %8584, %8583
%8589 = phi i32 [ 0, %8583 ], [ %8587, %8584 ]
%8590 = trunc i32 %8589 to i16
store i16 %8590, i16* %14
%8591 = load i16, i16* %11
store i16 %8591, i16* %18
%8592 = load i16, i16* %15
%8593 = sext i16 %8592 to i32
%8594 = icmp eq i32 %8593, 0
br i1 %8594, label %8595, label %8596
8595: ; preds = %8588
br label %8600
8596: ; preds = %8588
%8597 = load i16, i16* %15
%8598 = sext i16 %8597 to i32
%8599 = sub nsw i32 25, %8598
br label %8600
8600: ; preds = %8596, %8595
%8601 = phi i32 [ 0, %8595 ], [ %8599, %8596 ]
%8602 = trunc i32 %8601 to i16
store i16 %8602, i16* %11
%8603 = load i16, i16* %18
%8604 = sext i16 %8603 to i32
%8605 = icmp eq i32 %8604, 0
br i1 %8605, label %8606, label %8607
8606: ; preds = %8600
br label %8611
8607: ; preds = %8600
%8608 = load i16, i16* %18
%8609 = sext i16 %8608 to i32
%8610 = sub nsw i32 25, %8609
br label %8611
8611: ; preds = %8607, %8606
%8612 = phi i32 [ 0, %8606 ], [ %8610, %8607 ]
%8613 = trunc i32 %8612 to i16
store i16 %8613, i16* %15
%8614 = load i16, i16* %12
store i16 %8614, i16* %18
%8615 = load i16, i16* %16
%8616 = sext i16 %8615 to i32
%8617 = icmp eq i32 %8616, 0
br i1 %8617, label %8618, label %8619
8618: ; preds = %8611
br label %8623
8619: ; preds = %8611
%8620 = load i16, i16* %16
%8621 = sext i16 %8620 to i32
%8622 = sub nsw i32 25, %8621
br label %8623
8623: ; preds = %8619, %8618
%8624 = phi i32 [ 0, %8618 ], [ %8622, %8619 ]
%8625 = trunc i32 %8624 to i16
store i16 %8625, i16* %12
%8626 = load i16, i16* %18
%8627 = sext i16 %8626 to i32
%8628 = icmp eq i32 %8627, 0
br i1 %8628, label %8629, label %8630
8629: ; preds = %8623
br label %8634
8630: ; preds = %8623
%8631 = load i16, i16* %18
%8632 = sext i16 %8631 to i32
%8633 = sub nsw i32 25, %8632
br label %8634
8634: ; preds = %8630, %8629
%8635 = phi i32 [ 0, %8629 ], [ %8633, %8630 ]
%8636 = trunc i32 %8635 to i16
store i16 %8636, i16* %16
%8637 = load i16, i16* %13
store i16 %8637, i16* %18
%8638 = load i16, i16* %17
%8639 = sext i16 %8638 to i32
%8640 = icmp eq i32 %8639, 0
br i1 %8640, label %8641, label %8642
8641: ; preds = %8634
br label %8646
8642: ; preds = %8634
%8643 = load i16, i16* %17
%8644 = sext i16 %8643 to i32
%8645 = sub nsw i32 25, %8644
br label %8646
8646: ; preds = %8642, %8641
%8647 = phi i32 [ 0, %8641 ], [ %8645, %8642 ]
%8648 = trunc i32 %8647 to i16
store i16 %8648, i16* %13
%8649 = load i16, i16* %18
%8650 = sext i16 %8649 to i32
%8651 = icmp eq i32 %8650, 0
br i1 %8651, label %8652, label %8653
8652: ; preds = %8646
br label %8657
8653: ; preds = %8646
%8654 = load i16, i16* %18
%8655 = sext i16 %8654 to i32
%8656 = sub nsw i32 25, %8655
br label %8657
8657: ; preds = %8653, %8652
%8658 = phi i32 [ 0, %8652 ], [ %8656, %8653 ]
%8659 = trunc i32 %8658 to i16
store i16 %8659, i16* %17
%8660 = load i16, i16* %10
%8661 = sext i16 %8660 to i32
%8662 = load i16, i16* %11
%8663 = sext i16 %8662 to i32
%8664 = load i16, i16* %12
%8665 = sext i16 %8664 to i32
%8666 = load i16, i16* %13
%8667 = sext i16 %8666 to i32
%8668 = load i16, i16* %14
%8669 = sext i16 %8668 to i32
%8670 = load i16, i16* %15
%8671 = sext i16 %8670 to i32
%8672 = load i16, i16* %16
%8673 = sext i16 %8672 to i32
%8674 = load i16, i16* %17
%8675 = sext i16 %8674 to i32
%8676 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8661, i32 %8663, i32 %8665, i32 %8667, i32 %8669, i32 %8671, i32 %8673, i32 %8675)
%8677 = icmp eq i32 %8676, -1
br i1 %8677, label %8678, label %8679
8678: ; preds = %8657
store i16 -1, i16* %9
br label %18764
8679: ; preds = %8657
%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* %22
store i16 %8772, i16* %21
%8773 = load i16, i16* %20
store i16 %8773, i16* %17
br label %8980
8774: ; preds = %8561
%8775 = load i16, i16* %10
store i16 %8775, i16* %18
%8776 = load i16, i16* %14
%8777 = sext i16 %8776 to i32
%8778 = icmp eq i32 %8777, 0
br i1 %8778, label %8779, label %8780
8779: ; preds = %8774
br label %8784
8780: ; preds = %8774
%8781 = load i16, i16* %14
%8782 = sext i16 %8781 to i32
%8783 = sub nsw i32 25, %8782
br label %8784
8784: ; preds = %8780, %8779
%8785 = phi i32 [ 0, %8779 ], [ %8783, %8780 ]
%8786 = trunc i32 %8785 to i16
store i16 %8786, i16* %10
%8787 = load i16, i16* %18
%8788 = sext i16 %8787 to i32
%8789 = icmp eq i32 %8788, 0
br i1 %8789, label %8790, label %8791
8790: ; preds = %8784
br label %8795
8791: ; preds = %8784
%8792 = load i16, i16* %18
%8793 = sext i16 %8792 to i32
%8794 = sub nsw i32 25, %8793
br label %8795
8795: ; preds = %8791, %8790
%8796 = phi i32 [ 0, %8790 ], [ %8794, %8791 ]
%8797 = trunc i32 %8796 to i16
store i16 %8797, i16* %14
%8798 = load i16, i16* %11
store i16 %8798, i16* %18
%8799 = load i16, i16* %15
%8800 = sext i16 %8799 to i32
%8801 = icmp eq i32 %8800, 0
br i1 %8801, label %8802, label %8803
8802: ; preds = %8795
br label %8807
8803: ; preds = %8795
%8804 = load i16, i16* %15
%8805 = sext i16 %8804 to i32
%8806 = sub nsw i32 25, %8805
br label %8807
8807: ; preds = %8803, %8802
%8808 = phi i32 [ 0, %8802 ], [ %8806, %8803 ]
%8809 = trunc i32 %8808 to i16
store i16 %8809, i16* %11
%8810 = load i16, i16* %18
%8811 = sext i16 %8810 to i32
%8812 = icmp eq i32 %8811, 0
br i1 %8812, label %8813, label %8814
8813: ; preds = %8807
br label %8818
8814: ; preds = %8807
%8815 = load i16, i16* %18
%8816 = sext i16 %8815 to i32
%8817 = sub nsw i32 25, %8816
br label %8818
8818: ; preds = %8814, %8813
%8819 = phi i32 [ 0, %8813 ], [ %8817, %8814 ]
%8820 = trunc i32 %8819 to i16
store i16 %8820, i16* %15
%8821 = load i16, i16* %12
store i16 %8821, i16* %18
%8822 = load i16, i16* %16
%8823 = sext i16 %8822 to i32
%8824 = icmp eq i32 %8823, 0
br i1 %8824, label %8825, label %8826
8825: ; preds = %8818
br label %8830
8826: ; preds = %8818
%8827 = load i16, i16* %16
%8828 = sext i16 %8827 to i32
%8829 = sub nsw i32 25, %8828
br label %8830
8830: ; preds = %8826, %8825
%8831 = phi i32 [ 0, %8825 ], [ %8829, %8826 ]
%8832 = trunc i32 %8831 to i16
store i16 %8832, i16* %12
%8833 = load i16, i16* %18
%8834 = sext i16 %8833 to i32
%8835 = icmp eq i32 %8834, 0
br i1 %8835, label %8836, label %8837
8836: ; preds = %8830
br label %8841
8837: ; preds = %8830
%8838 = load i16, i16* %18
%8839 = sext i16 %8838 to i32
%8840 = sub nsw i32 25, %8839
br label %8841
8841: ; preds = %8837, %8836
%8842 = phi i32 [ 0, %8836 ], [ %8840, %8837 ]
%8843 = trunc i32 %8842 to i16
store i16 %8843, i16* %16
%8844 = load i16, i16* %13
store i16 %8844, i16* %18
%8845 = load i16, i16* %17
%8846 = sext i16 %8845 to i32
%8847 = icmp eq i32 %8846, 0
br i1 %8847, label %8848, label %8849
8848: ; preds = %8841
br label %8853
8849: ; preds = %8841
%8850 = load i16, i16* %17
%8851 = sext i16 %8850 to i32
%8852 = sub nsw i32 25, %8851
br label %8853
8853: ; preds = %8849, %8848
%8854 = phi i32 [ 0, %8848 ], [ %8852, %8849 ]
%8855 = trunc i32 %8854 to i16
store i16 %8855, i16* %13
%8856 = load i16, i16* %18
%8857 = sext i16 %8856 to i32
%8858 = icmp eq i32 %8857, 0
br i1 %8858, label %8859, label %8860
8859: ; preds = %8853
br label %8864
8860: ; preds = %8853
%8861 = load i16, i16* %18
%8862 = sext i16 %8861 to i32
%8863 = sub nsw i32 25, %8862
br label %8864
8864: ; preds = %8860, %8859
%8865 = phi i32 [ 0, %8859 ], [ %8863, %8860 ]
%8866 = trunc i32 %8865 to i16
store i16 %8866, i16* %17
%8867 = load i16, i16* %10
%8868 = sext i16 %8867 to i32
%8869 = load i16, i16* %11
%8870 = sext i16 %8869 to i32
%8871 = load i16, i16* %12
%8872 = sext i16 %8871 to i32
%8873 = load i16, i16* %13
%8874 = sext i16 %8873 to i32
%8875 = load i16, i16* %14
%8876 = sext i16 %8875 to i32
%8877 = load i16, i16* %15
%8878 = sext i16 %8877 to i32
%8879 = load i16, i16* %16
%8880 = sext i16 %8879 to i32
%8881 = load i16, i16* %17
%8882 = sext i16 %8881 to i32
%8883 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8868, i32 %8870, i32 %8872, i32 %8874, i32 %8876, i32 %8878, i32 %8880, i32 %8882)
%8884 = icmp eq i32 %8883, -1
br i1 %8884, label %8885, label %8886
8885: ; preds = %8864
store i16 -1, i16* %9
br label %18764
8886: ; preds = %8864
%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
%8979 = load i16, i16* %22
store i16 %8979, i16* %21
br label %8980
8980: ; preds = %8976, %8769
br label %8981
8981: ; preds = %8980, %8556
%8982 = load i16, i16* %19
store i16 %8982, i16* %11
br label %8983
8983: ; preds = %8981, %8341, %8335, %8329, %8323, %8312
br label %8984
8984: ; preds = %8983, %8308, %8304
br label %18746
8985: ; preds = %8300
%8986 = load i16, i16* %22
%8987 = sext i16 %8986 to i32
%8988 = icmp eq i32 %8987, 13
br i1 %8988, label %8989, label %9675
8989: ; preds = %8985
%8990 = load i16, i16* %11
%8991 = sext i16 %8990 to i32
%8992 = icmp ne i32 %8991, 0
br i1 %8992, label %8993, label %9674
8993: ; preds = %8989
%8994 = load i16, i16* %11
%8995 = sext i16 %8994 to i32
%8996 = icmp slt i32 4, %8995
br i1 %8996, label %8997, label %9674
8997: ; preds = %8993
%8998 = load i16, i16* %11
%8999 = sext i16 %8998 to i32
%9000 = srem i32 %8999, 4
%9001 = icmp ne i32 %9000, 1
br i1 %9001, label %9002, label %9674
9002: ; preds = %8997
%9003 = load i16, i16* %11
store i16 %9003, i16* %19
%9004 = load i16, i16* %19
%9005 = sext i16 %9004 to i32
%9006 = sub nsw i32 %9005, 5
%9007 = trunc i32 %9006 to i16
store i16 %9007, i16* %20
%9008 = load i16, i16* %20
%9009 = sext i16 %9008 to i32
%9010 = load i16, i16* %10
%9011 = sext i16 %9010 to i32
%9012 = icmp ne i32 %9009, %9011
br i1 %9012, label %9013, label %9673
9013: ; preds = %9002
%9014 = load i16, i16* %20
%9015 = sext i16 %9014 to i32
%9016 = load i16, i16* %12
%9017 = sext i16 %9016 to i32
%9018 = icmp ne i32 %9015, %9017
br i1 %9018, label %9019, label %9673
9019: ; preds = %9013
%9020 = load i16, i16* %20
%9021 = sext i16 %9020 to i32
%9022 = load i16, i16* %13
%9023 = sext i16 %9022 to i32
%9024 = icmp ne i32 %9021, %9023
br i1 %9024, label %9025, label %9673
9025: ; preds = %9019
%9026 = load i16, i16* %20
%9027 = sext i16 %9026 to i32
%9028 = load i16, i16* %15
%9029 = sext i16 %9028 to i32
%9030 = icmp ne i32 %9027, %9029
br i1 %9030, label %9031, label %9673
9031: ; preds = %9025
%9032 = load i16, i16* %20
%9033 = sext i16 %9032 to i32
%9034 = load i16, i16* %16
%9035 = sext i16 %9034 to i32
%9036 = icmp ne i32 %9033, %9035
br i1 %9036, label %9037, label %9673
9037: ; preds = %9031
%9038 = load i16, i16* %20
store i16 %9038, i16* %11
%9039 = load i16, i16* %14
%9040 = sext i16 %9039 to i32
%9041 = load i16, i16* %20
%9042 = sext i16 %9041 to i32
%9043 = icmp eq i32 %9040, %9042
br i1 %9043, label %9044, label %9251
9044: ; preds = %9037
store i16 0, i16* %14
%9045 = load i16, i16* %10
store i16 %9045, i16* %18
%9046 = load i16, i16* %14
%9047 = sext i16 %9046 to i32
%9048 = icmp eq i32 %9047, 0
br i1 %9048, label %9049, label %9050
9049: ; preds = %9044
br label %9054
9050: ; preds = %9044
%9051 = load i16, i16* %14
%9052 = sext i16 %9051 to i32
%9053 = sub nsw i32 25, %9052
br label %9054
9054: ; preds = %9050, %9049
%9055 = phi i32 [ 0, %9049 ], [ %9053, %9050 ]
%9056 = trunc i32 %9055 to i16
store i16 %9056, i16* %10
%9057 = load i16, i16* %18
%9058 = sext i16 %9057 to i32
%9059 = icmp eq i32 %9058, 0
br i1 %9059, label %9060, label %9061
9060: ; preds = %9054
br label %9065
9061: ; preds = %9054
%9062 = load i16, i16* %18
%9063 = sext i16 %9062 to i32
%9064 = sub nsw i32 25, %9063
br label %9065
9065: ; preds = %9061, %9060
%9066 = phi i32 [ 0, %9060 ], [ %9064, %9061 ]
%9067 = trunc i32 %9066 to i16
store i16 %9067, i16* %14
%9068 = load i16, i16* %11
store i16 %9068, i16* %18
%9069 = load i16, i16* %15
%9070 = sext i16 %9069 to i32
%9071 = icmp eq i32 %9070, 0
br i1 %9071, label %9072, label %9073
9072: ; preds = %9065
br label %9077
9073: ; preds = %9065
%9074 = load i16, i16* %15
%9075 = sext i16 %9074 to i32
%9076 = sub nsw i32 25, %9075
br label %9077
9077: ; preds = %9073, %9072
%9078 = phi i32 [ 0, %9072 ], [ %9076, %9073 ]
%9079 = trunc i32 %9078 to i16
store i16 %9079, i16* %11
%9080 = load i16, i16* %18
%9081 = sext i16 %9080 to i32
%9082 = icmp eq i32 %9081, 0
br i1 %9082, label %9083, label %9084
9083: ; preds = %9077
br label %9088
9084: ; preds = %9077
%9085 = load i16, i16* %18
%9086 = sext i16 %9085 to i32
%9087 = sub nsw i32 25, %9086
br label %9088
9088: ; preds = %9084, %9083
%9089 = phi i32 [ 0, %9083 ], [ %9087, %9084 ]
%9090 = trunc i32 %9089 to i16
store i16 %9090, i16* %15
%9091 = load i16, i16* %12
store i16 %9091, i16* %18
%9092 = load i16, i16* %16
%9093 = sext i16 %9092 to i32
%9094 = icmp eq i32 %9093, 0
br i1 %9094, label %9095, label %9096
9095: ; preds = %9088
br label %9100
9096: ; preds = %9088
%9097 = load i16, i16* %16
%9098 = sext i16 %9097 to i32
%9099 = sub nsw i32 25, %9098
br label %9100
9100: ; preds = %9096, %9095
%9101 = phi i32 [ 0, %9095 ], [ %9099, %9096 ]
%9102 = trunc i32 %9101 to i16
store i16 %9102, i16* %12
%9103 = load i16, i16* %18
%9104 = sext i16 %9103 to i32
%9105 = icmp eq i32 %9104, 0
br i1 %9105, label %9106, label %9107
9106: ; preds = %9100
br label %9111
9107: ; preds = %9100
%9108 = load i16, i16* %18
%9109 = sext i16 %9108 to i32
%9110 = sub nsw i32 25, %9109
br label %9111
9111: ; preds = %9107, %9106
%9112 = phi i32 [ 0, %9106 ], [ %9110, %9107 ]
%9113 = trunc i32 %9112 to i16
store i16 %9113, i16* %16
%9114 = load i16, i16* %13
store i16 %9114, i16* %18
%9115 = load i16, i16* %17
%9116 = sext i16 %9115 to i32
%9117 = icmp eq i32 %9116, 0
br i1 %9117, label %9118, label %9119
9118: ; preds = %9111
br label %9123
9119: ; preds = %9111
%9120 = load i16, i16* %17
%9121 = sext i16 %9120 to i32
%9122 = sub nsw i32 25, %9121
br label %9123
9123: ; preds = %9119, %9118
%9124 = phi i32 [ 0, %9118 ], [ %9122, %9119 ]
%9125 = trunc i32 %9124 to i16
store i16 %9125, i16* %13
%9126 = load i16, i16* %18
%9127 = sext i16 %9126 to i32
%9128 = icmp eq i32 %9127, 0
br i1 %9128, label %9129, label %9130
9129: ; preds = %9123
br label %9134
9130: ; preds = %9123
%9131 = load i16, i16* %18
%9132 = sext i16 %9131 to i32
%9133 = sub nsw i32 25, %9132
br label %9134
9134: ; preds = %9130, %9129
%9135 = phi i32 [ 0, %9129 ], [ %9133, %9130 ]
%9136 = trunc i32 %9135 to i16
store i16 %9136, i16* %17
%9137 = load i16, i16* %10
%9138 = sext i16 %9137 to i32
%9139 = load i16, i16* %11
%9140 = sext i16 %9139 to i32
%9141 = load i16, i16* %12
%9142 = sext i16 %9141 to i32
%9143 = load i16, i16* %13
%9144 = sext i16 %9143 to i32
%9145 = load i16, i16* %14
%9146 = sext i16 %9145 to i32
%9147 = load i16, i16* %15
%9148 = sext i16 %9147 to i32
%9149 = load i16, i16* %16
%9150 = sext i16 %9149 to i32
%9151 = load i16, i16* %17
%9152 = sext i16 %9151 to i32
%9153 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9138, i32 %9140, i32 %9142, i32 %9144, i32 %9146, i32 %9148, i32 %9150, i32 %9152)
%9154 = icmp eq i32 %9153, -1
br i1 %9154, label %9155, label %9156
9155: ; preds = %9134
store i16 -1, i16* %9
br label %18764
9156: ; preds = %9134
%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* %22
store i16 %9249, i16* %21
%9250 = load i16, i16* %20
store i16 %9250, i16* %14
br label %9671
9251: ; preds = %9037
%9252 = load i16, i16* %20
%9253 = sext i16 %9252 to i32
%9254 = load i16, i16* %17
%9255 = sext i16 %9254 to i32
%9256 = icmp eq i32 %9253, %9255
br i1 %9256, label %9257, label %9464
9257: ; preds = %9251
store i16 0, i16* %17
%9258 = load i16, i16* %10
store i16 %9258, i16* %18
%9259 = load i16, i16* %14
%9260 = sext i16 %9259 to i32
%9261 = icmp eq i32 %9260, 0
br i1 %9261, label %9262, label %9263
9262: ; preds = %9257
br label %9267
9263: ; preds = %9257
%9264 = load i16, i16* %14
%9265 = sext i16 %9264 to i32
%9266 = sub nsw i32 25, %9265
br label %9267
9267: ; preds = %9263, %9262
%9268 = phi i32 [ 0, %9262 ], [ %9266, %9263 ]
%9269 = trunc i32 %9268 to i16
store i16 %9269, i16* %10
%9270 = load i16, i16* %18
%9271 = sext i16 %9270 to i32
%9272 = icmp eq i32 %9271, 0
br i1 %9272, label %9273, label %9274
9273: ; preds = %9267
br label %9278
9274: ; preds = %9267
%9275 = load i16, i16* %18
%9276 = sext i16 %9275 to i32
%9277 = sub nsw i32 25, %9276
br label %9278
9278: ; preds = %9274, %9273
%9279 = phi i32 [ 0, %9273 ], [ %9277, %9274 ]
%9280 = trunc i32 %9279 to i16
store i16 %9280, i16* %14
%9281 = load i16, i16* %11
store i16 %9281, i16* %18
%9282 = load i16, i16* %15
%9283 = sext i16 %9282 to i32
%9284 = icmp eq i32 %9283, 0
br i1 %9284, label %9285, label %9286
9285: ; preds = %9278
br label %9290
9286: ; preds = %9278
%9287 = load i16, i16* %15
%9288 = sext i16 %9287 to i32
%9289 = sub nsw i32 25, %9288
br label %9290
9290: ; preds = %9286, %9285
%9291 = phi i32 [ 0, %9285 ], [ %9289, %9286 ]
%9292 = trunc i32 %9291 to i16
store i16 %9292, i16* %11
%9293 = load i16, i16* %18
%9294 = sext i16 %9293 to i32
%9295 = icmp eq i32 %9294, 0
br i1 %9295, label %9296, label %9297
9296: ; preds = %9290
br label %9301
9297: ; preds = %9290
%9298 = load i16, i16* %18
%9299 = sext i16 %9298 to i32
%9300 = sub nsw i32 25, %9299
br label %9301
9301: ; preds = %9297, %9296
%9302 = phi i32 [ 0, %9296 ], [ %9300, %9297 ]
%9303 = trunc i32 %9302 to i16
store i16 %9303, i16* %15
%9304 = load i16, i16* %12
store i16 %9304, i16* %18
%9305 = load i16, i16* %16
%9306 = sext i16 %9305 to i32
%9307 = icmp eq i32 %9306, 0
br i1 %9307, label %9308, label %9309
9308: ; preds = %9301
br label %9313
9309: ; preds = %9301
%9310 = load i16, i16* %16
%9311 = sext i16 %9310 to i32
%9312 = sub nsw i32 25, %9311
br label %9313
9313: ; preds = %9309, %9308
%9314 = phi i32 [ 0, %9308 ], [ %9312, %9309 ]
%9315 = trunc i32 %9314 to i16
store i16 %9315, i16* %12
%9316 = load i16, i16* %18
%9317 = sext i16 %9316 to i32
%9318 = icmp eq i32 %9317, 0
br i1 %9318, label %9319, label %9320
9319: ; preds = %9313
br label %9324
9320: ; preds = %9313
%9321 = load i16, i16* %18
%9322 = sext i16 %9321 to i32
%9323 = sub nsw i32 25, %9322
br label %9324
9324: ; preds = %9320, %9319
%9325 = phi i32 [ 0, %9319 ], [ %9323, %9320 ]
%9326 = trunc i32 %9325 to i16
store i16 %9326, i16* %16
%9327 = load i16, i16* %13
store i16 %9327, i16* %18
%9328 = load i16, i16* %17
%9329 = sext i16 %9328 to i32
%9330 = icmp eq i32 %9329, 0
br i1 %9330, label %9331, label %9332
9331: ; preds = %9324
br label %9336
9332: ; preds = %9324
%9333 = load i16, i16* %17
%9334 = sext i16 %9333 to i32
%9335 = sub nsw i32 25, %9334
br label %9336
9336: ; preds = %9332, %9331
%9337 = phi i32 [ 0, %9331 ], [ %9335, %9332 ]
%9338 = trunc i32 %9337 to i16
store i16 %9338, i16* %13
%9339 = load i16, i16* %18
%9340 = sext i16 %9339 to i32
%9341 = icmp eq i32 %9340, 0
br i1 %9341, label %9342, label %9343
9342: ; preds = %9336
br label %9347
9343: ; preds = %9336
%9344 = load i16, i16* %18
%9345 = sext i16 %9344 to i32
%9346 = sub nsw i32 25, %9345
br label %9347
9347: ; preds = %9343, %9342
%9348 = phi i32 [ 0, %9342 ], [ %9346, %9343 ]
%9349 = trunc i32 %9348 to i16
store i16 %9349, i16* %17
%9350 = load i16, i16* %10
%9351 = sext i16 %9350 to i32
%9352 = load i16, i16* %11
%9353 = sext i16 %9352 to i32
%9354 = load i16, i16* %12
%9355 = sext i16 %9354 to i32
%9356 = load i16, i16* %13
%9357 = sext i16 %9356 to i32
%9358 = load i16, i16* %14
%9359 = sext i16 %9358 to i32
%9360 = load i16, i16* %15
%9361 = sext i16 %9360 to i32
%9362 = load i16, i16* %16
%9363 = sext i16 %9362 to i32
%9364 = load i16, i16* %17
%9365 = sext i16 %9364 to i32
%9366 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9351, i32 %9353, i32 %9355, i32 %9357, i32 %9359, i32 %9361, i32 %9363, i32 %9365)
%9367 = icmp eq i32 %9366, -1
br i1 %9367, label %9368, label %9369
9368: ; preds = %9347
store i16 -1, i16* %9
br label %18764
9369: ; preds = %9347
%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* %22
store i16 %9462, i16* %21
%9463 = load i16, i16* %20
store i16 %9463, i16* %17
br label %9670
9464: ; preds = %9251
%9465 = load i16, i16* %10
store i16 %9465, i16* %18
%9466 = load i16, i16* %14
%9467 = sext i16 %9466 to i32
%9468 = icmp eq i32 %9467, 0
br i1 %9468, label %9469, label %9470
9469: ; preds = %9464
br label %9474
9470: ; preds = %9464
%9471 = load i16, i16* %14
%9472 = sext i16 %9471 to i32
%9473 = sub nsw i32 25, %9472
br label %9474
9474: ; preds = %9470, %9469
%9475 = phi i32 [ 0, %9469 ], [ %9473, %9470 ]
%9476 = trunc i32 %9475 to i16
store i16 %9476, i16* %10
%9477 = load i16, i16* %18
%9478 = sext i16 %9477 to i32
%9479 = icmp eq i32 %9478, 0
br i1 %9479, label %9480, label %9481
9480: ; preds = %9474
br label %9485
9481: ; preds = %9474
%9482 = load i16, i16* %18
%9483 = sext i16 %9482 to i32
%9484 = sub nsw i32 25, %9483
br label %9485
9485: ; preds = %9481, %9480
%9486 = phi i32 [ 0, %9480 ], [ %9484, %9481 ]
%9487 = trunc i32 %9486 to i16
store i16 %9487, i16* %14
%9488 = load i16, i16* %11
store i16 %9488, i16* %18
%9489 = load i16, i16* %15
%9490 = sext i16 %9489 to i32
%9491 = icmp eq i32 %9490, 0
br i1 %9491, label %9492, label %9493
9492: ; preds = %9485
br label %9497
9493: ; preds = %9485
%9494 = load i16, i16* %15
%9495 = sext i16 %9494 to i32
%9496 = sub nsw i32 25, %9495
br label %9497
9497: ; preds = %9493, %9492
%9498 = phi i32 [ 0, %9492 ], [ %9496, %9493 ]
%9499 = trunc i32 %9498 to i16
store i16 %9499, i16* %11
%9500 = load i16, i16* %18
%9501 = sext i16 %9500 to i32
%9502 = icmp eq i32 %9501, 0
br i1 %9502, label %9503, label %9504
9503: ; preds = %9497
br label %9508
9504: ; preds = %9497
%9505 = load i16, i16* %18
%9506 = sext i16 %9505 to i32
%9507 = sub nsw i32 25, %9506
br label %9508
9508: ; preds = %9504, %9503
%9509 = phi i32 [ 0, %9503 ], [ %9507, %9504 ]
%9510 = trunc i32 %9509 to i16
store i16 %9510, i16* %15
%9511 = load i16, i16* %12
store i16 %9511, i16* %18
%9512 = load i16, i16* %16
%9513 = sext i16 %9512 to i32
%9514 = icmp eq i32 %9513, 0
br i1 %9514, label %9515, label %9516
9515: ; preds = %9508
br label %9520
9516: ; preds = %9508
%9517 = load i16, i16* %16
%9518 = sext i16 %9517 to i32
%9519 = sub nsw i32 25, %9518
br label %9520
9520: ; preds = %9516, %9515
%9521 = phi i32 [ 0, %9515 ], [ %9519, %9516 ]
%9522 = trunc i32 %9521 to i16
store i16 %9522, i16* %12
%9523 = load i16, i16* %18
%9524 = sext i16 %9523 to i32
%9525 = icmp eq i32 %9524, 0
br i1 %9525, label %9526, label %9527
9526: ; preds = %9520
br label %9531
9527: ; preds = %9520
%9528 = load i16, i16* %18
%9529 = sext i16 %9528 to i32
%9530 = sub nsw i32 25, %9529
br label %9531
9531: ; preds = %9527, %9526
%9532 = phi i32 [ 0, %9526 ], [ %9530, %9527 ]
%9533 = trunc i32 %9532 to i16
store i16 %9533, i16* %16
%9534 = load i16, i16* %13
store i16 %9534, i16* %18
%9535 = load i16, i16* %17
%9536 = sext i16 %9535 to i32
%9537 = icmp eq i32 %9536, 0
br i1 %9537, label %9538, label %9539
9538: ; preds = %9531
br label %9543
9539: ; preds = %9531
%9540 = load i16, i16* %17
%9541 = sext i16 %9540 to i32
%9542 = sub nsw i32 25, %9541
br label %9543
9543: ; preds = %9539, %9538
%9544 = phi i32 [ 0, %9538 ], [ %9542, %9539 ]
%9545 = trunc i32 %9544 to i16
store i16 %9545, i16* %13
%9546 = load i16, i16* %18
%9547 = sext i16 %9546 to i32
%9548 = icmp eq i32 %9547, 0
br i1 %9548, label %9549, label %9550
9549: ; preds = %9543
br label %9554
9550: ; preds = %9543
%9551 = load i16, i16* %18
%9552 = sext i16 %9551 to i32
%9553 = sub nsw i32 25, %9552
br label %9554
9554: ; preds = %9550, %9549
%9555 = phi i32 [ 0, %9549 ], [ %9553, %9550 ]
%9556 = trunc i32 %9555 to i16
store i16 %9556, i16* %17
%9557 = load i16, i16* %10
%9558 = sext i16 %9557 to i32
%9559 = load i16, i16* %11
%9560 = sext i16 %9559 to i32
%9561 = load i16, i16* %12
%9562 = sext i16 %9561 to i32
%9563 = load i16, i16* %13
%9564 = sext i16 %9563 to i32
%9565 = load i16, i16* %14
%9566 = sext i16 %9565 to i32
%9567 = load i16, i16* %15
%9568 = sext i16 %9567 to i32
%9569 = load i16, i16* %16
%9570 = sext i16 %9569 to i32
%9571 = load i16, i16* %17
%9572 = sext i16 %9571 to i32
%9573 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9558, i32 %9560, i32 %9562, i32 %9564, i32 %9566, i32 %9568, i32 %9570, i32 %9572)
%9574 = icmp eq i32 %9573, -1
br i1 %9574, label %9575, label %9576
9575: ; preds = %9554
store i16 -1, i16* %9
br label %18764
9576: ; preds = %9554
%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
%9669 = load i16, i16* %22
store i16 %9669, i16* %21
br label %9670
9670: ; preds = %9666, %9459
br label %9671
9671: ; preds = %9670, %9246
%9672 = load i16, i16* %19
store i16 %9672, i16* %11
br label %9673
9673: ; preds = %9671, %9031, %9025, %9019, %9013, %9002
br label %9674
9674: ; preds = %9673, %8997, %8993, %8989
br label %18745
9675: ; preds = %8985
%9676 = load i16, i16* %22
%9677 = sext i16 %9676 to i32
%9678 = icmp eq i32 %9677, 14
br i1 %9678, label %9679, label %10361
9679: ; preds = %9675
%9680 = load i16, i16* %11
%9681 = sext i16 %9680 to i32
%9682 = icmp ne i32 %9681, 0
br i1 %9682, label %9683, label %10360
9683: ; preds = %9679
%9684 = load i16, i16* %11
%9685 = sext i16 %9684 to i32
%9686 = srem i32 %9685, 4
%9687 = icmp ne i32 %9686, 1
br i1 %9687, label %9688, label %10360
9688: ; preds = %9683
%9689 = load i16, i16* %11
store i16 %9689, i16* %19
%9690 = load i16, i16* %19
%9691 = sext i16 %9690 to i32
%9692 = sub nsw i32 %9691, 1
%9693 = trunc i32 %9692 to i16
store i16 %9693, i16* %20
%9694 = load i16, i16* %20
%9695 = sext i16 %9694 to i32
%9696 = load i16, i16* %10
%9697 = sext i16 %9696 to i32
%9698 = icmp ne i32 %9695, %9697
br i1 %9698, label %9699, label %10359
9699: ; preds = %9688
%9700 = load i16, i16* %20
%9701 = sext i16 %9700 to i32
%9702 = load i16, i16* %12
%9703 = sext i16 %9702 to i32
%9704 = icmp ne i32 %9701, %9703
br i1 %9704, label %9705, label %10359
9705: ; preds = %9699
%9706 = load i16, i16* %20
%9707 = sext i16 %9706 to i32
%9708 = load i16, i16* %13
%9709 = sext i16 %9708 to i32
%9710 = icmp ne i32 %9707, %9709
br i1 %9710, label %9711, label %10359
9711: ; preds = %9705
%9712 = load i16, i16* %20
%9713 = sext i16 %9712 to i32
%9714 = load i16, i16* %15
%9715 = sext i16 %9714 to i32
%9716 = icmp ne i32 %9713, %9715
br i1 %9716, label %9717, label %10359
9717: ; preds = %9711
%9718 = load i16, i16* %20
%9719 = sext i16 %9718 to i32
%9720 = load i16, i16* %16
%9721 = sext i16 %9720 to i32
%9722 = icmp ne i32 %9719, %9721
br i1 %9722, label %9723, label %10359
9723: ; preds = %9717
%9724 = load i16, i16* %20
store i16 %9724, i16* %11
%9725 = load i16, i16* %14
%9726 = sext i16 %9725 to i32
%9727 = load i16, i16* %20
%9728 = sext i16 %9727 to i32
%9729 = icmp eq i32 %9726, %9728
br i1 %9729, label %9730, label %9937
9730: ; preds = %9723
store i16 0, i16* %14
%9731 = load i16, i16* %10
store i16 %9731, i16* %18
%9732 = load i16, i16* %14
%9733 = sext i16 %9732 to i32
%9734 = icmp eq i32 %9733, 0
br i1 %9734, label %9735, label %9736
9735: ; preds = %9730
br label %9740
9736: ; preds = %9730
%9737 = load i16, i16* %14
%9738 = sext i16 %9737 to i32
%9739 = sub nsw i32 25, %9738
br label %9740
9740: ; preds = %9736, %9735
%9741 = phi i32 [ 0, %9735 ], [ %9739, %9736 ]
%9742 = trunc i32 %9741 to i16
store i16 %9742, i16* %10
%9743 = load i16, i16* %18
%9744 = sext i16 %9743 to i32
%9745 = icmp eq i32 %9744, 0
br i1 %9745, label %9746, label %9747
9746: ; preds = %9740
br label %9751
9747: ; preds = %9740
%9748 = load i16, i16* %18
%9749 = sext i16 %9748 to i32
%9750 = sub nsw i32 25, %9749
br label %9751
9751: ; preds = %9747, %9746
%9752 = phi i32 [ 0, %9746 ], [ %9750, %9747 ]
%9753 = trunc i32 %9752 to i16
store i16 %9753, i16* %14
%9754 = load i16, i16* %11
store i16 %9754, i16* %18
%9755 = load i16, i16* %15
%9756 = sext i16 %9755 to i32
%9757 = icmp eq i32 %9756, 0
br i1 %9757, label %9758, label %9759
9758: ; preds = %9751
br label %9763
9759: ; preds = %9751
%9760 = load i16, i16* %15
%9761 = sext i16 %9760 to i32
%9762 = sub nsw i32 25, %9761
br label %9763
9763: ; preds = %9759, %9758
%9764 = phi i32 [ 0, %9758 ], [ %9762, %9759 ]
%9765 = trunc i32 %9764 to i16
store i16 %9765, i16* %11
%9766 = load i16, i16* %18
%9767 = sext i16 %9766 to i32
%9768 = icmp eq i32 %9767, 0
br i1 %9768, label %9769, label %9770
9769: ; preds = %9763
br label %9774
9770: ; preds = %9763
%9771 = load i16, i16* %18
%9772 = sext i16 %9771 to i32
%9773 = sub nsw i32 25, %9772
br label %9774
9774: ; preds = %9770, %9769
%9775 = phi i32 [ 0, %9769 ], [ %9773, %9770 ]
%9776 = trunc i32 %9775 to i16
store i16 %9776, i16* %15
%9777 = load i16, i16* %12
store i16 %9777, i16* %18
%9778 = load i16, i16* %16
%9779 = sext i16 %9778 to i32
%9780 = icmp eq i32 %9779, 0
br i1 %9780, label %9781, label %9782
9781: ; preds = %9774
br label %9786
9782: ; preds = %9774
%9783 = load i16, i16* %16
%9784 = sext i16 %9783 to i32
%9785 = sub nsw i32 25, %9784
br label %9786
9786: ; preds = %9782, %9781
%9787 = phi i32 [ 0, %9781 ], [ %9785, %9782 ]
%9788 = trunc i32 %9787 to i16
store i16 %9788, i16* %12
%9789 = load i16, i16* %18
%9790 = sext i16 %9789 to i32
%9791 = icmp eq i32 %9790, 0
br i1 %9791, label %9792, label %9793
9792: ; preds = %9786
br label %9797
9793: ; preds = %9786
%9794 = load i16, i16* %18
%9795 = sext i16 %9794 to i32
%9796 = sub nsw i32 25, %9795
br label %9797
9797: ; preds = %9793, %9792
%9798 = phi i32 [ 0, %9792 ], [ %9796, %9793 ]
%9799 = trunc i32 %9798 to i16
store i16 %9799, i16* %16
%9800 = load i16, i16* %13
store i16 %9800, i16* %18
%9801 = load i16, i16* %17
%9802 = sext i16 %9801 to i32
%9803 = icmp eq i32 %9802, 0
br i1 %9803, label %9804, label %9805
9804: ; preds = %9797
br label %9809
9805: ; preds = %9797
%9806 = load i16, i16* %17
%9807 = sext i16 %9806 to i32
%9808 = sub nsw i32 25, %9807
br label %9809
9809: ; preds = %9805, %9804
%9810 = phi i32 [ 0, %9804 ], [ %9808, %9805 ]
%9811 = trunc i32 %9810 to i16
store i16 %9811, i16* %13
%9812 = load i16, i16* %18
%9813 = sext i16 %9812 to i32
%9814 = icmp eq i32 %9813, 0
br i1 %9814, label %9815, label %9816
9815: ; preds = %9809
br label %9820
9816: ; preds = %9809
%9817 = load i16, i16* %18
%9818 = sext i16 %9817 to i32
%9819 = sub nsw i32 25, %9818
br label %9820
9820: ; preds = %9816, %9815
%9821 = phi i32 [ 0, %9815 ], [ %9819, %9816 ]
%9822 = trunc i32 %9821 to i16
store i16 %9822, i16* %17
%9823 = load i16, i16* %10
%9824 = sext i16 %9823 to i32
%9825 = load i16, i16* %11
%9826 = sext i16 %9825 to i32
%9827 = load i16, i16* %12
%9828 = sext i16 %9827 to i32
%9829 = load i16, i16* %13
%9830 = sext i16 %9829 to i32
%9831 = load i16, i16* %14
%9832 = sext i16 %9831 to i32
%9833 = load i16, i16* %15
%9834 = sext i16 %9833 to i32
%9835 = load i16, i16* %16
%9836 = sext i16 %9835 to i32
%9837 = load i16, i16* %17
%9838 = sext i16 %9837 to i32
%9839 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9824, i32 %9826, i32 %9828, i32 %9830, i32 %9832, i32 %9834, i32 %9836, i32 %9838)
%9840 = icmp eq i32 %9839, -1
br i1 %9840, label %9841, label %9842
9841: ; preds = %9820
store i16 -1, i16* %9
br label %18764
9842: ; preds = %9820
%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* %22
store i16 %9935, i16* %21
%9936 = load i16, i16* %20
store i16 %9936, i16* %14
br label %10357
9937: ; preds = %9723
%9938 = load i16, i16* %20
%9939 = sext i16 %9938 to i32
%9940 = load i16, i16* %17
%9941 = sext i16 %9940 to i32
%9942 = icmp eq i32 %9939, %9941
br i1 %9942, label %9943, label %10150
9943: ; preds = %9937
store i16 0, i16* %17
%9944 = load i16, i16* %10
store i16 %9944, i16* %18
%9945 = load i16, i16* %14
%9946 = sext i16 %9945 to i32
%9947 = icmp eq i32 %9946, 0
br i1 %9947, label %9948, label %9949
9948: ; preds = %9943
br label %9953
9949: ; preds = %9943
%9950 = load i16, i16* %14
%9951 = sext i16 %9950 to i32
%9952 = sub nsw i32 25, %9951
br label %9953
9953: ; preds = %9949, %9948
%9954 = phi i32 [ 0, %9948 ], [ %9952, %9949 ]
%9955 = trunc i32 %9954 to i16
store i16 %9955, i16* %10
%9956 = load i16, i16* %18
%9957 = sext i16 %9956 to i32
%9958 = icmp eq i32 %9957, 0
br i1 %9958, label %9959, label %9960
9959: ; preds = %9953
br label %9964
9960: ; preds = %9953
%9961 = load i16, i16* %18
%9962 = sext i16 %9961 to i32
%9963 = sub nsw i32 25, %9962
br label %9964
9964: ; preds = %9960, %9959
%9965 = phi i32 [ 0, %9959 ], [ %9963, %9960 ]
%9966 = trunc i32 %9965 to i16
store i16 %9966, i16* %14
%9967 = load i16, i16* %11
store i16 %9967, i16* %18
%9968 = load i16, i16* %15
%9969 = sext i16 %9968 to i32
%9970 = icmp eq i32 %9969, 0
br i1 %9970, label %9971, label %9972
9971: ; preds = %9964
br label %9976
9972: ; preds = %9964
%9973 = load i16, i16* %15
%9974 = sext i16 %9973 to i32
%9975 = sub nsw i32 25, %9974
br label %9976
9976: ; preds = %9972, %9971
%9977 = phi i32 [ 0, %9971 ], [ %9975, %9972 ]
%9978 = trunc i32 %9977 to i16
store i16 %9978, i16* %11
%9979 = load i16, i16* %18
%9980 = sext i16 %9979 to i32
%9981 = icmp eq i32 %9980, 0
br i1 %9981, label %9982, label %9983
9982: ; preds = %9976
br label %9987
9983: ; preds = %9976
%9984 = load i16, i16* %18
%9985 = sext i16 %9984 to i32
%9986 = sub nsw i32 25, %9985
br label %9987
9987: ; preds = %9983, %9982
%9988 = phi i32 [ 0, %9982 ], [ %9986, %9983 ]
%9989 = trunc i32 %9988 to i16
store i16 %9989, i16* %15
%9990 = load i16, i16* %12
store i16 %9990, i16* %18
%9991 = load i16, i16* %16
%9992 = sext i16 %9991 to i32
%9993 = icmp eq i32 %9992, 0
br i1 %9993, label %9994, label %9995
9994: ; preds = %9987
br label %9999
9995: ; preds = %9987
%9996 = load i16, i16* %16
%9997 = sext i16 %9996 to i32
%9998 = sub nsw i32 25, %9997
br label %9999
9999: ; preds = %9995, %9994
%10000 = phi i32 [ 0, %9994 ], [ %9998, %9995 ]
%10001 = trunc i32 %10000 to i16
store i16 %10001, i16* %12
%10002 = load i16, i16* %18
%10003 = sext i16 %10002 to i32
%10004 = icmp eq i32 %10003, 0
br i1 %10004, label %10005, label %10006
10005: ; preds = %9999
br label %10010
10006: ; preds = %9999
%10007 = load i16, i16* %18
%10008 = sext i16 %10007 to i32
%10009 = sub nsw i32 25, %10008
br label %10010
10010: ; preds = %10006, %10005
%10011 = phi i32 [ 0, %10005 ], [ %10009, %10006 ]
%10012 = trunc i32 %10011 to i16
store i16 %10012, i16* %16
%10013 = load i16, i16* %13
store i16 %10013, i16* %18
%10014 = load i16, i16* %17
%10015 = sext i16 %10014 to i32
%10016 = icmp eq i32 %10015, 0
br i1 %10016, label %10017, label %10018
10017: ; preds = %10010
br label %10022
10018: ; preds = %10010
%10019 = load i16, i16* %17
%10020 = sext i16 %10019 to i32
%10021 = sub nsw i32 25, %10020
br label %10022
10022: ; preds = %10018, %10017
%10023 = phi i32 [ 0, %10017 ], [ %10021, %10018 ]
%10024 = trunc i32 %10023 to i16
store i16 %10024, i16* %13
%10025 = load i16, i16* %18
%10026 = sext i16 %10025 to i32
%10027 = icmp eq i32 %10026, 0
br i1 %10027, label %10028, label %10029
10028: ; preds = %10022
br label %10033
10029: ; preds = %10022
%10030 = load i16, i16* %18
%10031 = sext i16 %10030 to i32
%10032 = sub nsw i32 25, %10031
br label %10033
10033: ; preds = %10029, %10028
%10034 = phi i32 [ 0, %10028 ], [ %10032, %10029 ]
%10035 = trunc i32 %10034 to i16
store i16 %10035, i16* %17
%10036 = load i16, i16* %10
%10037 = sext i16 %10036 to i32
%10038 = load i16, i16* %11
%10039 = sext i16 %10038 to i32
%10040 = load i16, i16* %12
%10041 = sext i16 %10040 to i32
%10042 = load i16, i16* %13
%10043 = sext i16 %10042 to i32
%10044 = load i16, i16* %14
%10045 = sext i16 %10044 to i32
%10046 = load i16, i16* %15
%10047 = sext i16 %10046 to i32
%10048 = load i16, i16* %16
%10049 = sext i16 %10048 to i32
%10050 = load i16, i16* %17
%10051 = sext i16 %10050 to i32
%10052 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10037, i32 %10039, i32 %10041, i32 %10043, i32 %10045, i32 %10047, i32 %10049, i32 %10051)
%10053 = icmp eq i32 %10052, -1
br i1 %10053, label %10054, label %10055
10054: ; preds = %10033
store i16 -1, i16* %9
br label %18764
10055: ; preds = %10033
%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* %22
store i16 %10148, i16* %21
%10149 = load i16, i16* %20
store i16 %10149, i16* %17
br label %10356
10150: ; preds = %9937
%10151 = load i16, i16* %10
store i16 %10151, i16* %18
%10152 = load i16, i16* %14
%10153 = sext i16 %10152 to i32
%10154 = icmp eq i32 %10153, 0
br i1 %10154, label %10155, label %10156
10155: ; preds = %10150
br label %10160
10156: ; preds = %10150
%10157 = load i16, i16* %14
%10158 = sext i16 %10157 to i32
%10159 = sub nsw i32 25, %10158
br label %10160
10160: ; preds = %10156, %10155
%10161 = phi i32 [ 0, %10155 ], [ %10159, %10156 ]
%10162 = trunc i32 %10161 to i16
store i16 %10162, i16* %10
%10163 = load i16, i16* %18
%10164 = sext i16 %10163 to i32
%10165 = icmp eq i32 %10164, 0
br i1 %10165, label %10166, label %10167
10166: ; preds = %10160
br label %10171
10167: ; preds = %10160
%10168 = load i16, i16* %18
%10169 = sext i16 %10168 to i32
%10170 = sub nsw i32 25, %10169
br label %10171
10171: ; preds = %10167, %10166
%10172 = phi i32 [ 0, %10166 ], [ %10170, %10167 ]
%10173 = trunc i32 %10172 to i16
store i16 %10173, i16* %14
%10174 = load i16, i16* %11
store i16 %10174, i16* %18
%10175 = load i16, i16* %15
%10176 = sext i16 %10175 to i32
%10177 = icmp eq i32 %10176, 0
br i1 %10177, label %10178, label %10179
10178: ; preds = %10171
br label %10183
10179: ; preds = %10171
%10180 = load i16, i16* %15
%10181 = sext i16 %10180 to i32
%10182 = sub nsw i32 25, %10181
br label %10183
10183: ; preds = %10179, %10178
%10184 = phi i32 [ 0, %10178 ], [ %10182, %10179 ]
%10185 = trunc i32 %10184 to i16
store i16 %10185, i16* %11
%10186 = load i16, i16* %18
%10187 = sext i16 %10186 to i32
%10188 = icmp eq i32 %10187, 0
br i1 %10188, label %10189, label %10190
10189: ; preds = %10183
br label %10194
10190: ; preds = %10183
%10191 = load i16, i16* %18
%10192 = sext i16 %10191 to i32
%10193 = sub nsw i32 25, %10192
br label %10194
10194: ; preds = %10190, %10189
%10195 = phi i32 [ 0, %10189 ], [ %10193, %10190 ]
%10196 = trunc i32 %10195 to i16
store i16 %10196, i16* %15
%10197 = load i16, i16* %12
store i16 %10197, i16* %18
%10198 = load i16, i16* %16
%10199 = sext i16 %10198 to i32
%10200 = icmp eq i32 %10199, 0
br i1 %10200, label %10201, label %10202
10201: ; preds = %10194
br label %10206
10202: ; preds = %10194
%10203 = load i16, i16* %16
%10204 = sext i16 %10203 to i32
%10205 = sub nsw i32 25, %10204
br label %10206
10206: ; preds = %10202, %10201
%10207 = phi i32 [ 0, %10201 ], [ %10205, %10202 ]
%10208 = trunc i32 %10207 to i16
store i16 %10208, i16* %12
%10209 = load i16, i16* %18
%10210 = sext i16 %10209 to i32
%10211 = icmp eq i32 %10210, 0
br i1 %10211, label %10212, label %10213
10212: ; preds = %10206
br label %10217
10213: ; preds = %10206
%10214 = load i16, i16* %18
%10215 = sext i16 %10214 to i32
%10216 = sub nsw i32 25, %10215
br label %10217
10217: ; preds = %10213, %10212
%10218 = phi i32 [ 0, %10212 ], [ %10216, %10213 ]
%10219 = trunc i32 %10218 to i16
store i16 %10219, i16* %16
%10220 = load i16, i16* %13
store i16 %10220, i16* %18
%10221 = load i16, i16* %17
%10222 = sext i16 %10221 to i32
%10223 = icmp eq i32 %10222, 0
br i1 %10223, label %10224, label %10225
10224: ; preds = %10217
br label %10229
10225: ; preds = %10217
%10226 = load i16, i16* %17
%10227 = sext i16 %10226 to i32
%10228 = sub nsw i32 25, %10227
br label %10229
10229: ; preds = %10225, %10224
%10230 = phi i32 [ 0, %10224 ], [ %10228, %10225 ]
%10231 = trunc i32 %10230 to i16
store i16 %10231, i16* %13
%10232 = load i16, i16* %18
%10233 = sext i16 %10232 to i32
%10234 = icmp eq i32 %10233, 0
br i1 %10234, label %10235, label %10236
10235: ; preds = %10229
br label %10240
10236: ; preds = %10229
%10237 = load i16, i16* %18
%10238 = sext i16 %10237 to i32
%10239 = sub nsw i32 25, %10238
br label %10240
10240: ; preds = %10236, %10235
%10241 = phi i32 [ 0, %10235 ], [ %10239, %10236 ]
%10242 = trunc i32 %10241 to i16
store i16 %10242, i16* %17
%10243 = load i16, i16* %10
%10244 = sext i16 %10243 to i32
%10245 = load i16, i16* %11
%10246 = sext i16 %10245 to i32
%10247 = load i16, i16* %12
%10248 = sext i16 %10247 to i32
%10249 = load i16, i16* %13
%10250 = sext i16 %10249 to i32
%10251 = load i16, i16* %14
%10252 = sext i16 %10251 to i32
%10253 = load i16, i16* %15
%10254 = sext i16 %10253 to i32
%10255 = load i16, i16* %16
%10256 = sext i16 %10255 to i32
%10257 = load i16, i16* %17
%10258 = sext i16 %10257 to i32
%10259 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10244, i32 %10246, i32 %10248, i32 %10250, i32 %10252, i32 %10254, i32 %10256, i32 %10258)
%10260 = icmp eq i32 %10259, -1
br i1 %10260, label %10261, label %10262
10261: ; preds = %10240
store i16 -1, i16* %9
br label %18764
10262: ; preds = %10240
%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
%10355 = load i16, i16* %22
store i16 %10355, i16* %21
br label %10356
10356: ; preds = %10352, %10145
br label %10357
10357: ; preds = %10356, %9932
%10358 = load i16, i16* %19
store i16 %10358, i16* %11
br label %10359
10359: ; preds = %10357, %9717, %9711, %9705, %9699, %9688
br label %10360
10360: ; preds = %10359, %9683, %9679
br label %18744
10361: ; preds = %9675
%10362 = load i16, i16* %22
%10363 = sext i16 %10362 to i32
%10364 = icmp eq i32 %10363, 15
br i1 %10364, label %10365, label %11051
10365: ; preds = %10361
%10366 = load i16, i16* %11
%10367 = sext i16 %10366 to i32
%10368 = icmp ne i32 %10367, 0
br i1 %10368, label %10369, label %11050
10369: ; preds = %10365
%10370 = load i16, i16* %11
%10371 = sext i16 %10370 to i32
%10372 = icmp slt i32 %10371, 21
br i1 %10372, label %10373, label %11050
10373: ; preds = %10369
%10374 = load i16, i16* %11
%10375 = sext i16 %10374 to i32
%10376 = srem i32 %10375, 4
%10377 = icmp ne i32 %10376, 1
br i1 %10377, label %10378, label %11050
10378: ; preds = %10373
%10379 = load i16, i16* %11
store i16 %10379, i16* %19
%10380 = load i16, i16* %19
%10381 = sext i16 %10380 to i32
%10382 = add nsw i32 %10381, 3
%10383 = trunc i32 %10382 to i16
store i16 %10383, i16* %20
%10384 = load i16, i16* %20
%10385 = sext i16 %10384 to i32
%10386 = load i16, i16* %10
%10387 = sext i16 %10386 to i32
%10388 = icmp ne i32 %10385, %10387
br i1 %10388, label %10389, label %11049
10389: ; preds = %10378
%10390 = load i16, i16* %20
%10391 = sext i16 %10390 to i32
%10392 = load i16, i16* %12
%10393 = sext i16 %10392 to i32
%10394 = icmp ne i32 %10391, %10393
br i1 %10394, label %10395, label %11049
10395: ; preds = %10389
%10396 = load i16, i16* %20
%10397 = sext i16 %10396 to i32
%10398 = load i16, i16* %13
%10399 = sext i16 %10398 to i32
%10400 = icmp ne i32 %10397, %10399
br i1 %10400, label %10401, label %11049
10401: ; preds = %10395
%10402 = load i16, i16* %20
%10403 = sext i16 %10402 to i32
%10404 = load i16, i16* %15
%10405 = sext i16 %10404 to i32
%10406 = icmp ne i32 %10403, %10405
br i1 %10406, label %10407, label %11049
10407: ; preds = %10401
%10408 = load i16, i16* %20
%10409 = sext i16 %10408 to i32
%10410 = load i16, i16* %16
%10411 = sext i16 %10410 to i32
%10412 = icmp ne i32 %10409, %10411
br i1 %10412, label %10413, label %11049
10413: ; preds = %10407
%10414 = load i16, i16* %20
store i16 %10414, i16* %11
%10415 = load i16, i16* %14
%10416 = sext i16 %10415 to i32
%10417 = load i16, i16* %20
%10418 = sext i16 %10417 to i32
%10419 = icmp eq i32 %10416, %10418
br i1 %10419, label %10420, label %10627
10420: ; preds = %10413
store i16 0, i16* %14
%10421 = load i16, i16* %10
store i16 %10421, i16* %18
%10422 = load i16, i16* %14
%10423 = sext i16 %10422 to i32
%10424 = icmp eq i32 %10423, 0
br i1 %10424, label %10425, label %10426
10425: ; preds = %10420
br label %10430
10426: ; preds = %10420
%10427 = load i16, i16* %14
%10428 = sext i16 %10427 to i32
%10429 = sub nsw i32 25, %10428
br label %10430
10430: ; preds = %10426, %10425
%10431 = phi i32 [ 0, %10425 ], [ %10429, %10426 ]
%10432 = trunc i32 %10431 to i16
store i16 %10432, i16* %10
%10433 = load i16, i16* %18
%10434 = sext i16 %10433 to i32
%10435 = icmp eq i32 %10434, 0
br i1 %10435, label %10436, label %10437
10436: ; preds = %10430
br label %10441
10437: ; preds = %10430
%10438 = load i16, i16* %18
%10439 = sext i16 %10438 to i32
%10440 = sub nsw i32 25, %10439
br label %10441
10441: ; preds = %10437, %10436
%10442 = phi i32 [ 0, %10436 ], [ %10440, %10437 ]
%10443 = trunc i32 %10442 to i16
store i16 %10443, i16* %14
%10444 = load i16, i16* %11
store i16 %10444, i16* %18
%10445 = load i16, i16* %15
%10446 = sext i16 %10445 to i32
%10447 = icmp eq i32 %10446, 0
br i1 %10447, label %10448, label %10449
10448: ; preds = %10441
br label %10453
10449: ; preds = %10441
%10450 = load i16, i16* %15
%10451 = sext i16 %10450 to i32
%10452 = sub nsw i32 25, %10451
br label %10453
10453: ; preds = %10449, %10448
%10454 = phi i32 [ 0, %10448 ], [ %10452, %10449 ]
%10455 = trunc i32 %10454 to i16
store i16 %10455, i16* %11
%10456 = load i16, i16* %18
%10457 = sext i16 %10456 to i32
%10458 = icmp eq i32 %10457, 0
br i1 %10458, label %10459, label %10460
10459: ; preds = %10453
br label %10464
10460: ; preds = %10453
%10461 = load i16, i16* %18
%10462 = sext i16 %10461 to i32
%10463 = sub nsw i32 25, %10462
br label %10464
10464: ; preds = %10460, %10459
%10465 = phi i32 [ 0, %10459 ], [ %10463, %10460 ]
%10466 = trunc i32 %10465 to i16
store i16 %10466, i16* %15
%10467 = load i16, i16* %12
store i16 %10467, i16* %18
%10468 = load i16, i16* %16
%10469 = sext i16 %10468 to i32
%10470 = icmp eq i32 %10469, 0
br i1 %10470, label %10471, label %10472
10471: ; preds = %10464
br label %10476
10472: ; preds = %10464
%10473 = load i16, i16* %16
%10474 = sext i16 %10473 to i32
%10475 = sub nsw i32 25, %10474
br label %10476
10476: ; preds = %10472, %10471
%10477 = phi i32 [ 0, %10471 ], [ %10475, %10472 ]
%10478 = trunc i32 %10477 to i16
store i16 %10478, i16* %12
%10479 = load i16, i16* %18
%10480 = sext i16 %10479 to i32
%10481 = icmp eq i32 %10480, 0
br i1 %10481, label %10482, label %10483
10482: ; preds = %10476
br label %10487
10483: ; preds = %10476
%10484 = load i16, i16* %18
%10485 = sext i16 %10484 to i32
%10486 = sub nsw i32 25, %10485
br label %10487
10487: ; preds = %10483, %10482
%10488 = phi i32 [ 0, %10482 ], [ %10486, %10483 ]
%10489 = trunc i32 %10488 to i16
store i16 %10489, i16* %16
%10490 = load i16, i16* %13
store i16 %10490, i16* %18
%10491 = load i16, i16* %17
%10492 = sext i16 %10491 to i32
%10493 = icmp eq i32 %10492, 0
br i1 %10493, label %10494, label %10495
10494: ; preds = %10487
br label %10499
10495: ; preds = %10487
%10496 = load i16, i16* %17
%10497 = sext i16 %10496 to i32
%10498 = sub nsw i32 25, %10497
br label %10499
10499: ; preds = %10495, %10494
%10500 = phi i32 [ 0, %10494 ], [ %10498, %10495 ]
%10501 = trunc i32 %10500 to i16
store i16 %10501, i16* %13
%10502 = load i16, i16* %18
%10503 = sext i16 %10502 to i32
%10504 = icmp eq i32 %10503, 0
br i1 %10504, label %10505, label %10506
10505: ; preds = %10499
br label %10510
10506: ; preds = %10499
%10507 = load i16, i16* %18
%10508 = sext i16 %10507 to i32
%10509 = sub nsw i32 25, %10508
br label %10510
10510: ; preds = %10506, %10505
%10511 = phi i32 [ 0, %10505 ], [ %10509, %10506 ]
%10512 = trunc i32 %10511 to i16
store i16 %10512, i16* %17
%10513 = load i16, i16* %10
%10514 = sext i16 %10513 to i32
%10515 = load i16, i16* %11
%10516 = sext i16 %10515 to i32
%10517 = load i16, i16* %12
%10518 = sext i16 %10517 to i32
%10519 = load i16, i16* %13
%10520 = sext i16 %10519 to i32
%10521 = load i16, i16* %14
%10522 = sext i16 %10521 to i32
%10523 = load i16, i16* %15
%10524 = sext i16 %10523 to i32
%10525 = load i16, i16* %16
%10526 = sext i16 %10525 to i32
%10527 = load i16, i16* %17
%10528 = sext i16 %10527 to i32
%10529 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10514, i32 %10516, i32 %10518, i32 %10520, i32 %10522, i32 %10524, i32 %10526, i32 %10528)
%10530 = icmp eq i32 %10529, -1
br i1 %10530, label %10531, label %10532
10531: ; preds = %10510
store i16 -1, i16* %9
br label %18764
10532: ; preds = %10510
%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* %22
store i16 %10625, i16* %21
%10626 = load i16, i16* %20
store i16 %10626, i16* %14
br label %11047
10627: ; preds = %10413
%10628 = load i16, i16* %20
%10629 = sext i16 %10628 to i32
%10630 = load i16, i16* %17
%10631 = sext i16 %10630 to i32
%10632 = icmp eq i32 %10629, %10631
br i1 %10632, label %10633, label %10840
10633: ; preds = %10627
store i16 0, i16* %17
%10634 = load i16, i16* %10
store i16 %10634, i16* %18
%10635 = load i16, i16* %14
%10636 = sext i16 %10635 to i32
%10637 = icmp eq i32 %10636, 0
br i1 %10637, label %10638, label %10639
10638: ; preds = %10633
br label %10643
10639: ; preds = %10633
%10640 = load i16, i16* %14
%10641 = sext i16 %10640 to i32
%10642 = sub nsw i32 25, %10641
br label %10643
10643: ; preds = %10639, %10638
%10644 = phi i32 [ 0, %10638 ], [ %10642, %10639 ]
%10645 = trunc i32 %10644 to i16
store i16 %10645, i16* %10
%10646 = load i16, i16* %18
%10647 = sext i16 %10646 to i32
%10648 = icmp eq i32 %10647, 0
br i1 %10648, label %10649, label %10650
10649: ; preds = %10643
br label %10654
10650: ; preds = %10643
%10651 = load i16, i16* %18
%10652 = sext i16 %10651 to i32
%10653 = sub nsw i32 25, %10652
br label %10654
10654: ; preds = %10650, %10649
%10655 = phi i32 [ 0, %10649 ], [ %10653, %10650 ]
%10656 = trunc i32 %10655 to i16
store i16 %10656, i16* %14
%10657 = load i16, i16* %11
store i16 %10657, i16* %18
%10658 = load i16, i16* %15
%10659 = sext i16 %10658 to i32
%10660 = icmp eq i32 %10659, 0
br i1 %10660, label %10661, label %10662
10661: ; preds = %10654
br label %10666
10662: ; preds = %10654
%10663 = load i16, i16* %15
%10664 = sext i16 %10663 to i32
%10665 = sub nsw i32 25, %10664
br label %10666
10666: ; preds = %10662, %10661
%10667 = phi i32 [ 0, %10661 ], [ %10665, %10662 ]
%10668 = trunc i32 %10667 to i16
store i16 %10668, i16* %11
%10669 = load i16, i16* %18
%10670 = sext i16 %10669 to i32
%10671 = icmp eq i32 %10670, 0
br i1 %10671, label %10672, label %10673
10672: ; preds = %10666
br label %10677
10673: ; preds = %10666
%10674 = load i16, i16* %18
%10675 = sext i16 %10674 to i32
%10676 = sub nsw i32 25, %10675
br label %10677
10677: ; preds = %10673, %10672
%10678 = phi i32 [ 0, %10672 ], [ %10676, %10673 ]
%10679 = trunc i32 %10678 to i16
store i16 %10679, i16* %15
%10680 = load i16, i16* %12
store i16 %10680, i16* %18
%10681 = load i16, i16* %16
%10682 = sext i16 %10681 to i32
%10683 = icmp eq i32 %10682, 0
br i1 %10683, label %10684, label %10685
10684: ; preds = %10677
br label %10689
10685: ; preds = %10677
%10686 = load i16, i16* %16
%10687 = sext i16 %10686 to i32
%10688 = sub nsw i32 25, %10687
br label %10689
10689: ; preds = %10685, %10684
%10690 = phi i32 [ 0, %10684 ], [ %10688, %10685 ]
%10691 = trunc i32 %10690 to i16
store i16 %10691, i16* %12
%10692 = load i16, i16* %18
%10693 = sext i16 %10692 to i32
%10694 = icmp eq i32 %10693, 0
br i1 %10694, label %10695, label %10696
10695: ; preds = %10689
br label %10700
10696: ; preds = %10689
%10697 = load i16, i16* %18
%10698 = sext i16 %10697 to i32
%10699 = sub nsw i32 25, %10698
br label %10700
10700: ; preds = %10696, %10695
%10701 = phi i32 [ 0, %10695 ], [ %10699, %10696 ]
%10702 = trunc i32 %10701 to i16
store i16 %10702, i16* %16
%10703 = load i16, i16* %13
store i16 %10703, i16* %18
%10704 = load i16, i16* %17
%10705 = sext i16 %10704 to i32
%10706 = icmp eq i32 %10705, 0
br i1 %10706, label %10707, label %10708
10707: ; preds = %10700
br label %10712
10708: ; preds = %10700
%10709 = load i16, i16* %17
%10710 = sext i16 %10709 to i32
%10711 = sub nsw i32 25, %10710
br label %10712
10712: ; preds = %10708, %10707
%10713 = phi i32 [ 0, %10707 ], [ %10711, %10708 ]
%10714 = trunc i32 %10713 to i16
store i16 %10714, i16* %13
%10715 = load i16, i16* %18
%10716 = sext i16 %10715 to i32
%10717 = icmp eq i32 %10716, 0
br i1 %10717, label %10718, label %10719
10718: ; preds = %10712
br label %10723
10719: ; preds = %10712
%10720 = load i16, i16* %18
%10721 = sext i16 %10720 to i32
%10722 = sub nsw i32 25, %10721
br label %10723
10723: ; preds = %10719, %10718
%10724 = phi i32 [ 0, %10718 ], [ %10722, %10719 ]
%10725 = trunc i32 %10724 to i16
store i16 %10725, i16* %17
%10726 = load i16, i16* %10
%10727 = sext i16 %10726 to i32
%10728 = load i16, i16* %11
%10729 = sext i16 %10728 to i32
%10730 = load i16, i16* %12
%10731 = sext i16 %10730 to i32
%10732 = load i16, i16* %13
%10733 = sext i16 %10732 to i32
%10734 = load i16, i16* %14
%10735 = sext i16 %10734 to i32
%10736 = load i16, i16* %15
%10737 = sext i16 %10736 to i32
%10738 = load i16, i16* %16
%10739 = sext i16 %10738 to i32
%10740 = load i16, i16* %17
%10741 = sext i16 %10740 to i32
%10742 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10727, i32 %10729, i32 %10731, i32 %10733, i32 %10735, i32 %10737, i32 %10739, i32 %10741)
%10743 = icmp eq i32 %10742, -1
br i1 %10743, label %10744, label %10745
10744: ; preds = %10723
store i16 -1, i16* %9
br label %18764
10745: ; preds = %10723
%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* %22
store i16 %10838, i16* %21
%10839 = load i16, i16* %20
store i16 %10839, i16* %17
br label %11046
10840: ; preds = %10627
%10841 = load i16, i16* %10
store i16 %10841, i16* %18
%10842 = load i16, i16* %14
%10843 = sext i16 %10842 to i32
%10844 = icmp eq i32 %10843, 0
br i1 %10844, label %10845, label %10846
10845: ; preds = %10840
br label %10850
10846: ; preds = %10840
%10847 = load i16, i16* %14
%10848 = sext i16 %10847 to i32
%10849 = sub nsw i32 25, %10848
br label %10850
10850: ; preds = %10846, %10845
%10851 = phi i32 [ 0, %10845 ], [ %10849, %10846 ]
%10852 = trunc i32 %10851 to i16
store i16 %10852, i16* %10
%10853 = load i16, i16* %18
%10854 = sext i16 %10853 to i32
%10855 = icmp eq i32 %10854, 0
br i1 %10855, label %10856, label %10857
10856: ; preds = %10850
br label %10861
10857: ; preds = %10850
%10858 = load i16, i16* %18
%10859 = sext i16 %10858 to i32
%10860 = sub nsw i32 25, %10859
br label %10861
10861: ; preds = %10857, %10856
%10862 = phi i32 [ 0, %10856 ], [ %10860, %10857 ]
%10863 = trunc i32 %10862 to i16
store i16 %10863, i16* %14
%10864 = load i16, i16* %11
store i16 %10864, i16* %18
%10865 = load i16, i16* %15
%10866 = sext i16 %10865 to i32
%10867 = icmp eq i32 %10866, 0
br i1 %10867, label %10868, label %10869
10868: ; preds = %10861
br label %10873
10869: ; preds = %10861
%10870 = load i16, i16* %15
%10871 = sext i16 %10870 to i32
%10872 = sub nsw i32 25, %10871
br label %10873
10873: ; preds = %10869, %10868
%10874 = phi i32 [ 0, %10868 ], [ %10872, %10869 ]
%10875 = trunc i32 %10874 to i16
store i16 %10875, i16* %11
%10876 = load i16, i16* %18
%10877 = sext i16 %10876 to i32
%10878 = icmp eq i32 %10877, 0
br i1 %10878, label %10879, label %10880
10879: ; preds = %10873
br label %10884
10880: ; preds = %10873
%10881 = load i16, i16* %18
%10882 = sext i16 %10881 to i32
%10883 = sub nsw i32 25, %10882
br label %10884
10884: ; preds = %10880, %10879
%10885 = phi i32 [ 0, %10879 ], [ %10883, %10880 ]
%10886 = trunc i32 %10885 to i16
store i16 %10886, i16* %15
%10887 = load i16, i16* %12
store i16 %10887, i16* %18
%10888 = load i16, i16* %16
%10889 = sext i16 %10888 to i32
%10890 = icmp eq i32 %10889, 0
br i1 %10890, label %10891, label %10892
10891: ; preds = %10884
br label %10896
10892: ; preds = %10884
%10893 = load i16, i16* %16
%10894 = sext i16 %10893 to i32
%10895 = sub nsw i32 25, %10894
br label %10896
10896: ; preds = %10892, %10891
%10897 = phi i32 [ 0, %10891 ], [ %10895, %10892 ]
%10898 = trunc i32 %10897 to i16
store i16 %10898, i16* %12
%10899 = load i16, i16* %18
%10900 = sext i16 %10899 to i32
%10901 = icmp eq i32 %10900, 0
br i1 %10901, label %10902, label %10903
10902: ; preds = %10896
br label %10907
10903: ; preds = %10896
%10904 = load i16, i16* %18
%10905 = sext i16 %10904 to i32
%10906 = sub nsw i32 25, %10905
br label %10907
10907: ; preds = %10903, %10902
%10908 = phi i32 [ 0, %10902 ], [ %10906, %10903 ]
%10909 = trunc i32 %10908 to i16
store i16 %10909, i16* %16
%10910 = load i16, i16* %13
store i16 %10910, i16* %18
%10911 = load i16, i16* %17
%10912 = sext i16 %10911 to i32
%10913 = icmp eq i32 %10912, 0
br i1 %10913, label %10914, label %10915
10914: ; preds = %10907
br label %10919
10915: ; preds = %10907
%10916 = load i16, i16* %17
%10917 = sext i16 %10916 to i32
%10918 = sub nsw i32 25, %10917
br label %10919
10919: ; preds = %10915, %10914
%10920 = phi i32 [ 0, %10914 ], [ %10918, %10915 ]
%10921 = trunc i32 %10920 to i16
store i16 %10921, i16* %13
%10922 = load i16, i16* %18
%10923 = sext i16 %10922 to i32
%10924 = icmp eq i32 %10923, 0
br i1 %10924, label %10925, label %10926
10925: ; preds = %10919
br label %10930
10926: ; preds = %10919
%10927 = load i16, i16* %18
%10928 = sext i16 %10927 to i32
%10929 = sub nsw i32 25, %10928
br label %10930
10930: ; preds = %10926, %10925
%10931 = phi i32 [ 0, %10925 ], [ %10929, %10926 ]
%10932 = trunc i32 %10931 to i16
store i16 %10932, i16* %17
%10933 = load i16, i16* %10
%10934 = sext i16 %10933 to i32
%10935 = load i16, i16* %11
%10936 = sext i16 %10935 to i32
%10937 = load i16, i16* %12
%10938 = sext i16 %10937 to i32
%10939 = load i16, i16* %13
%10940 = sext i16 %10939 to i32
%10941 = load i16, i16* %14
%10942 = sext i16 %10941 to i32
%10943 = load i16, i16* %15
%10944 = sext i16 %10943 to i32
%10945 = load i16, i16* %16
%10946 = sext i16 %10945 to i32
%10947 = load i16, i16* %17
%10948 = sext i16 %10947 to i32
%10949 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10934, i32 %10936, i32 %10938, i32 %10940, i32 %10942, i32 %10944, i32 %10946, i32 %10948)
%10950 = icmp eq i32 %10949, -1
br i1 %10950, label %10951, label %10952
10951: ; preds = %10930
store i16 -1, i16* %9
br label %18764
10952: ; preds = %10930
%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
%11045 = load i16, i16* %22
store i16 %11045, i16* %21
br label %11046
11046: ; preds = %11042, %10835
br label %11047
11047: ; preds = %11046, %10622
%11048 = load i16, i16* %19
store i16 %11048, i16* %11
br label %11049
11049: ; preds = %11047, %10407, %10401, %10395, %10389, %10378
br label %11050
11050: ; preds = %11049, %10373, %10369, %10365
br label %18743
11051: ; preds = %10361
%11052 = load i16, i16* %22
%11053 = sext i16 %11052 to i32
%11054 = icmp eq i32 %11053, 16
br i1 %11054, label %11055, label %11528
11055: ; preds = %11051
%11056 = load i16, i16* %12
%11057 = sext i16 %11056 to i32
%11058 = icmp ne i32 %11057, 0
br i1 %11058, label %11059, label %11527
11059: ; preds = %11055
%11060 = load i16, i16* %12
%11061 = sext i16 %11060 to i32
%11062 = icmp slt i32 %11061, 21
br i1 %11062, label %11063, label %11527
11063: ; preds = %11059
%11064 = load i16, i16* %12
store i16 %11064, i16* %19
%11065 = load i16, i16* %19
%11066 = sext i16 %11065 to i32
%11067 = add nsw i32 %11066, 4
%11068 = trunc i32 %11067 to i16
store i16 %11068, i16* %20
%11069 = load i16, i16* %20
%11070 = sext i16 %11069 to i32
%11071 = load i16, i16* %10
%11072 = sext i16 %11071 to i32
%11073 = icmp ne i32 %11070, %11072
br i1 %11073, label %11074, label %11526
11074: ; preds = %11063
%11075 = load i16, i16* %20
%11076 = sext i16 %11075 to i32
%11077 = load i16, i16* %11
%11078 = sext i16 %11077 to i32
%11079 = icmp ne i32 %11076, %11078
br i1 %11079, label %11080, label %11526
11080: ; preds = %11074
%11081 = load i16, i16* %20
%11082 = sext i16 %11081 to i32
%11083 = load i16, i16* %13
%11084 = sext i16 %11083 to i32
%11085 = icmp ne i32 %11082, %11084
br i1 %11085, label %11086, label %11526
11086: ; preds = %11080
%11087 = load i16, i16* %20
%11088 = sext i16 %11087 to i32
%11089 = load i16, i16* %14
%11090 = sext i16 %11089 to i32
%11091 = icmp ne i32 %11088, %11090
br i1 %11091, label %11092, label %11526
11092: ; preds = %11086
%11093 = load i16, i16* %20
%11094 = sext i16 %11093 to i32
%11095 = load i16, i16* %16
%11096 = sext i16 %11095 to i32
%11097 = icmp ne i32 %11094, %11096
br i1 %11097, label %11098, label %11526
11098: ; preds = %11092
%11099 = load i16, i16* %20
%11100 = sext i16 %11099 to i32
%11101 = load i16, i16* %17
%11102 = sext i16 %11101 to i32
%11103 = icmp ne i32 %11100, %11102
br i1 %11103, label %11104, label %11526
11104: ; preds = %11098
%11105 = load i16, i16* %20
store i16 %11105, i16* %12
%11106 = load i16, i16* %15
%11107 = sext i16 %11106 to i32
%11108 = load i16, i16* %20
%11109 = sext i16 %11108 to i32
%11110 = icmp eq i32 %11107, %11109
br i1 %11110, label %11111, label %11318
11111: ; preds = %11104
store i16 0, i16* %15
%11112 = load i16, i16* %10
store i16 %11112, i16* %18
%11113 = load i16, i16* %14
%11114 = sext i16 %11113 to i32
%11115 = icmp eq i32 %11114, 0
br i1 %11115, label %11116, label %11117
11116: ; preds = %11111
br label %11121
11117: ; preds = %11111
%11118 = load i16, i16* %14
%11119 = sext i16 %11118 to i32
%11120 = sub nsw i32 25, %11119
br label %11121
11121: ; preds = %11117, %11116
%11122 = phi i32 [ 0, %11116 ], [ %11120, %11117 ]
%11123 = trunc i32 %11122 to i16
store i16 %11123, i16* %10
%11124 = load i16, i16* %18
%11125 = sext i16 %11124 to i32
%11126 = icmp eq i32 %11125, 0
br i1 %11126, label %11127, label %11128
11127: ; preds = %11121
br label %11132
11128: ; preds = %11121
%11129 = load i16, i16* %18
%11130 = sext i16 %11129 to i32
%11131 = sub nsw i32 25, %11130
br label %11132
11132: ; preds = %11128, %11127
%11133 = phi i32 [ 0, %11127 ], [ %11131, %11128 ]
%11134 = trunc i32 %11133 to i16
store i16 %11134, i16* %14
%11135 = load i16, i16* %11
store i16 %11135, i16* %18
%11136 = load i16, i16* %15
%11137 = sext i16 %11136 to i32
%11138 = icmp eq i32 %11137, 0
br i1 %11138, label %11139, label %11140
11139: ; preds = %11132
br label %11144
11140: ; preds = %11132
%11141 = load i16, i16* %15
%11142 = sext i16 %11141 to i32
%11143 = sub nsw i32 25, %11142
br label %11144
11144: ; preds = %11140, %11139
%11145 = phi i32 [ 0, %11139 ], [ %11143, %11140 ]
%11146 = trunc i32 %11145 to i16
store i16 %11146, i16* %11
%11147 = load i16, i16* %18
%11148 = sext i16 %11147 to i32
%11149 = icmp eq i32 %11148, 0
br i1 %11149, label %11150, label %11151
11150: ; preds = %11144
br label %11155
11151: ; preds = %11144
%11152 = load i16, i16* %18
%11153 = sext i16 %11152 to i32
%11154 = sub nsw i32 25, %11153
br label %11155
11155: ; preds = %11151, %11150
%11156 = phi i32 [ 0, %11150 ], [ %11154, %11151 ]
%11157 = trunc i32 %11156 to i16
store i16 %11157, i16* %15
%11158 = load i16, i16* %12
store i16 %11158, i16* %18
%11159 = load i16, i16* %16
%11160 = sext i16 %11159 to i32
%11161 = icmp eq i32 %11160, 0
br i1 %11161, label %11162, label %11163
11162: ; preds = %11155
br label %11167
11163: ; preds = %11155
%11164 = load i16, i16* %16
%11165 = sext i16 %11164 to i32
%11166 = sub nsw i32 25, %11165
br label %11167
11167: ; preds = %11163, %11162
%11168 = phi i32 [ 0, %11162 ], [ %11166, %11163 ]
%11169 = trunc i32 %11168 to i16
store i16 %11169, i16* %12
%11170 = load i16, i16* %18
%11171 = sext i16 %11170 to i32
%11172 = icmp eq i32 %11171, 0
br i1 %11172, label %11173, label %11174
11173: ; preds = %11167
br label %11178
11174: ; preds = %11167
%11175 = load i16, i16* %18
%11176 = sext i16 %11175 to i32
%11177 = sub nsw i32 25, %11176
br label %11178
11178: ; preds = %11174, %11173
%11179 = phi i32 [ 0, %11173 ], [ %11177, %11174 ]
%11180 = trunc i32 %11179 to i16
store i16 %11180, i16* %16
%11181 = load i16, i16* %13
store i16 %11181, i16* %18
%11182 = load i16, i16* %17
%11183 = sext i16 %11182 to i32
%11184 = icmp eq i32 %11183, 0
br i1 %11184, label %11185, label %11186
11185: ; preds = %11178
br label %11190
11186: ; preds = %11178
%11187 = load i16, i16* %17
%11188 = sext i16 %11187 to i32
%11189 = sub nsw i32 25, %11188
br label %11190
11190: ; preds = %11186, %11185
%11191 = phi i32 [ 0, %11185 ], [ %11189, %11186 ]
%11192 = trunc i32 %11191 to i16
store i16 %11192, i16* %13
%11193 = load i16, i16* %18
%11194 = sext i16 %11193 to i32
%11195 = icmp eq i32 %11194, 0
br i1 %11195, label %11196, label %11197
11196: ; preds = %11190
br label %11201
11197: ; preds = %11190
%11198 = load i16, i16* %18
%11199 = sext i16 %11198 to i32
%11200 = sub nsw i32 25, %11199
br label %11201
11201: ; preds = %11197, %11196
%11202 = phi i32 [ 0, %11196 ], [ %11200, %11197 ]
%11203 = trunc i32 %11202 to i16
store i16 %11203, i16* %17
%11204 = load i16, i16* %10
%11205 = sext i16 %11204 to i32
%11206 = load i16, i16* %11
%11207 = sext i16 %11206 to i32
%11208 = load i16, i16* %12
%11209 = sext i16 %11208 to i32
%11210 = load i16, i16* %13
%11211 = sext i16 %11210 to i32
%11212 = load i16, i16* %14
%11213 = sext i16 %11212 to i32
%11214 = load i16, i16* %15
%11215 = sext i16 %11214 to i32
%11216 = load i16, i16* %16
%11217 = sext i16 %11216 to i32
%11218 = load i16, i16* %17
%11219 = sext i16 %11218 to i32
%11220 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11205, i32 %11207, i32 %11209, i32 %11211, i32 %11213, i32 %11215, i32 %11217, i32 %11219)
%11221 = icmp eq i32 %11220, -1
br i1 %11221, label %11222, label %11223
11222: ; preds = %11201
store i16 -1, i16* %9
br label %18764
11223: ; preds = %11201
%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* %22
store i16 %11316, i16* %21
%11317 = load i16, i16* %20
store i16 %11317, i16* %15
br label %11524
11318: ; preds = %11104
%11319 = load i16, i16* %10
store i16 %11319, i16* %18
%11320 = load i16, i16* %14
%11321 = sext i16 %11320 to i32
%11322 = icmp eq i32 %11321, 0
br i1 %11322, label %11323, label %11324
11323: ; preds = %11318
br label %11328
11324: ; preds = %11318
%11325 = load i16, i16* %14
%11326 = sext i16 %11325 to i32
%11327 = sub nsw i32 25, %11326
br label %11328
11328: ; preds = %11324, %11323
%11329 = phi i32 [ 0, %11323 ], [ %11327, %11324 ]
%11330 = trunc i32 %11329 to i16
store i16 %11330, i16* %10
%11331 = load i16, i16* %18
%11332 = sext i16 %11331 to i32
%11333 = icmp eq i32 %11332, 0
br i1 %11333, label %11334, label %11335
11334: ; preds = %11328
br label %11339
11335: ; preds = %11328
%11336 = load i16, i16* %18
%11337 = sext i16 %11336 to i32
%11338 = sub nsw i32 25, %11337
br label %11339
11339: ; preds = %11335, %11334
%11340 = phi i32 [ 0, %11334 ], [ %11338, %11335 ]
%11341 = trunc i32 %11340 to i16
store i16 %11341, i16* %14
%11342 = load i16, i16* %11
store i16 %11342, i16* %18
%11343 = load i16, i16* %15
%11344 = sext i16 %11343 to i32
%11345 = icmp eq i32 %11344, 0
br i1 %11345, label %11346, label %11347
11346: ; preds = %11339
br label %11351
11347: ; preds = %11339
%11348 = load i16, i16* %15
%11349 = sext i16 %11348 to i32
%11350 = sub nsw i32 25, %11349
br label %11351
11351: ; preds = %11347, %11346
%11352 = phi i32 [ 0, %11346 ], [ %11350, %11347 ]
%11353 = trunc i32 %11352 to i16
store i16 %11353, i16* %11
%11354 = load i16, i16* %18
%11355 = sext i16 %11354 to i32
%11356 = icmp eq i32 %11355, 0
br i1 %11356, label %11357, label %11358
11357: ; preds = %11351
br label %11362
11358: ; preds = %11351
%11359 = load i16, i16* %18
%11360 = sext i16 %11359 to i32
%11361 = sub nsw i32 25, %11360
br label %11362
11362: ; preds = %11358, %11357
%11363 = phi i32 [ 0, %11357 ], [ %11361, %11358 ]
%11364 = trunc i32 %11363 to i16
store i16 %11364, i16* %15
%11365 = load i16, i16* %12
store i16 %11365, i16* %18
%11366 = load i16, i16* %16
%11367 = sext i16 %11366 to i32
%11368 = icmp eq i32 %11367, 0
br i1 %11368, label %11369, label %11370
11369: ; preds = %11362
br label %11374
11370: ; preds = %11362
%11371 = load i16, i16* %16
%11372 = sext i16 %11371 to i32
%11373 = sub nsw i32 25, %11372
br label %11374
11374: ; preds = %11370, %11369
%11375 = phi i32 [ 0, %11369 ], [ %11373, %11370 ]
%11376 = trunc i32 %11375 to i16
store i16 %11376, i16* %12
%11377 = load i16, i16* %18
%11378 = sext i16 %11377 to i32
%11379 = icmp eq i32 %11378, 0
br i1 %11379, label %11380, label %11381
11380: ; preds = %11374
br label %11385
11381: ; preds = %11374
%11382 = load i16, i16* %18
%11383 = sext i16 %11382 to i32
%11384 = sub nsw i32 25, %11383
br label %11385
11385: ; preds = %11381, %11380
%11386 = phi i32 [ 0, %11380 ], [ %11384, %11381 ]
%11387 = trunc i32 %11386 to i16
store i16 %11387, i16* %16
%11388 = load i16, i16* %13
store i16 %11388, i16* %18
%11389 = load i16, i16* %17
%11390 = sext i16 %11389 to i32
%11391 = icmp eq i32 %11390, 0
br i1 %11391, label %11392, label %11393
11392: ; preds = %11385
br label %11397
11393: ; preds = %11385
%11394 = load i16, i16* %17
%11395 = sext i16 %11394 to i32
%11396 = sub nsw i32 25, %11395
br label %11397
11397: ; preds = %11393, %11392
%11398 = phi i32 [ 0, %11392 ], [ %11396, %11393 ]
%11399 = trunc i32 %11398 to i16
store i16 %11399, i16* %13
%11400 = load i16, i16* %18
%11401 = sext i16 %11400 to i32
%11402 = icmp eq i32 %11401, 0
br i1 %11402, label %11403, label %11404
11403: ; preds = %11397
br label %11408
11404: ; preds = %11397
%11405 = load i16, i16* %18
%11406 = sext i16 %11405 to i32
%11407 = sub nsw i32 25, %11406
br label %11408
11408: ; preds = %11404, %11403
%11409 = phi i32 [ 0, %11403 ], [ %11407, %11404 ]
%11410 = trunc i32 %11409 to i16
store i16 %11410, i16* %17
%11411 = load i16, i16* %10
%11412 = sext i16 %11411 to i32
%11413 = load i16, i16* %11
%11414 = sext i16 %11413 to i32
%11415 = load i16, i16* %12
%11416 = sext i16 %11415 to i32
%11417 = load i16, i16* %13
%11418 = sext i16 %11417 to i32
%11419 = load i16, i16* %14
%11420 = sext i16 %11419 to i32
%11421 = load i16, i16* %15
%11422 = sext i16 %11421 to i32
%11423 = load i16, i16* %16
%11424 = sext i16 %11423 to i32
%11425 = load i16, i16* %17
%11426 = sext i16 %11425 to i32
%11427 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11412, i32 %11414, i32 %11416, i32 %11418, i32 %11420, i32 %11422, i32 %11424, i32 %11426)
%11428 = icmp eq i32 %11427, -1
br i1 %11428, label %11429, label %11430
11429: ; preds = %11408
store i16 -1, i16* %9
br label %18764
11430: ; preds = %11408
%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
%11523 = load i16, i16* %22
store i16 %11523, i16* %21
br label %11524
11524: ; preds = %11520, %11313
%11525 = load i16, i16* %19
store i16 %11525, i16* %12
br label %11526
11526: ; preds = %11524, %11098, %11092, %11086, %11080, %11074, %11063
br label %11527
11527: ; preds = %11526, %11059, %11055
br label %18742
11528: ; preds = %11051
%11529 = load i16, i16* %22
%11530 = sext i16 %11529 to i32
%11531 = icmp eq i32 %11530, 17
br i1 %11531, label %11532, label %12010
11532: ; preds = %11528
%11533 = load i16, i16* %12
%11534 = sext i16 %11533 to i32
%11535 = icmp ne i32 %11534, 0
br i1 %11535, label %11536, label %12009
11536: ; preds = %11532
%11537 = load i16, i16* %12
%11538 = sext i16 %11537 to i32
%11539 = icmp slt i32 %11538, 21
br i1 %11539, label %11540, label %12009
11540: ; preds = %11536
%11541 = load i16, i16* %12
%11542 = sext i16 %11541 to i32
%11543 = srem i32 %11542, 4
%11544 = icmp ne i32 %11543, 0
br i1 %11544, label %11545, label %12009
11545: ; preds = %11540
%11546 = load i16, i16* %12
store i16 %11546, i16* %19
%11547 = load i16, i16* %19
%11548 = sext i16 %11547 to i32
%11549 = add nsw i32 %11548, 5
%11550 = trunc i32 %11549 to i16
store i16 %11550, i16* %20
%11551 = load i16, i16* %20
%11552 = sext i16 %11551 to i32
%11553 = load i16, i16* %10
%11554 = sext i16 %11553 to i32
%11555 = icmp ne i32 %11552, %11554
br i1 %11555, label %11556, label %12008
11556: ; preds = %11545
%11557 = load i16, i16* %20
%11558 = sext i16 %11557 to i32
%11559 = load i16, i16* %11
%11560 = sext i16 %11559 to i32
%11561 = icmp ne i32 %11558, %11560
br i1 %11561, label %11562, label %12008
11562: ; preds = %11556
%11563 = load i16, i16* %20
%11564 = sext i16 %11563 to i32
%11565 = load i16, i16* %13
%11566 = sext i16 %11565 to i32
%11567 = icmp ne i32 %11564, %11566
br i1 %11567, label %11568, label %12008
11568: ; preds = %11562
%11569 = load i16, i16* %20
%11570 = sext i16 %11569 to i32
%11571 = load i16, i16* %14
%11572 = sext i16 %11571 to i32
%11573 = icmp ne i32 %11570, %11572
br i1 %11573, label %11574, label %12008
11574: ; preds = %11568
%11575 = load i16, i16* %20
%11576 = sext i16 %11575 to i32
%11577 = load i16, i16* %16
%11578 = sext i16 %11577 to i32
%11579 = icmp ne i32 %11576, %11578
br i1 %11579, label %11580, label %12008
11580: ; preds = %11574
%11581 = load i16, i16* %20
%11582 = sext i16 %11581 to i32
%11583 = load i16, i16* %17
%11584 = sext i16 %11583 to i32
%11585 = icmp ne i32 %11582, %11584
br i1 %11585, label %11586, label %12008
11586: ; preds = %11580
%11587 = load i16, i16* %20
store i16 %11587, i16* %12
%11588 = load i16, i16* %15
%11589 = sext i16 %11588 to i32
%11590 = load i16, i16* %20
%11591 = sext i16 %11590 to i32
%11592 = icmp eq i32 %11589, %11591
br i1 %11592, label %11593, label %11800
11593: ; preds = %11586
store i16 0, i16* %15
%11594 = load i16, i16* %10
store i16 %11594, i16* %18
%11595 = load i16, i16* %14
%11596 = sext i16 %11595 to i32
%11597 = icmp eq i32 %11596, 0
br i1 %11597, label %11598, label %11599
11598: ; preds = %11593
br label %11603
11599: ; preds = %11593
%11600 = load i16, i16* %14
%11601 = sext i16 %11600 to i32
%11602 = sub nsw i32 25, %11601
br label %11603
11603: ; preds = %11599, %11598
%11604 = phi i32 [ 0, %11598 ], [ %11602, %11599 ]
%11605 = trunc i32 %11604 to i16
store i16 %11605, i16* %10
%11606 = load i16, i16* %18
%11607 = sext i16 %11606 to i32
%11608 = icmp eq i32 %11607, 0
br i1 %11608, label %11609, label %11610
11609: ; preds = %11603
br label %11614
11610: ; preds = %11603
%11611 = load i16, i16* %18
%11612 = sext i16 %11611 to i32
%11613 = sub nsw i32 25, %11612
br label %11614
11614: ; preds = %11610, %11609
%11615 = phi i32 [ 0, %11609 ], [ %11613, %11610 ]
%11616 = trunc i32 %11615 to i16
store i16 %11616, i16* %14
%11617 = load i16, i16* %11
store i16 %11617, i16* %18
%11618 = load i16, i16* %15
%11619 = sext i16 %11618 to i32
%11620 = icmp eq i32 %11619, 0
br i1 %11620, label %11621, label %11622
11621: ; preds = %11614
br label %11626
11622: ; preds = %11614
%11623 = load i16, i16* %15
%11624 = sext i16 %11623 to i32
%11625 = sub nsw i32 25, %11624
br label %11626
11626: ; preds = %11622, %11621
%11627 = phi i32 [ 0, %11621 ], [ %11625, %11622 ]
%11628 = trunc i32 %11627 to i16
store i16 %11628, i16* %11
%11629 = load i16, i16* %18
%11630 = sext i16 %11629 to i32
%11631 = icmp eq i32 %11630, 0
br i1 %11631, label %11632, label %11633
11632: ; preds = %11626
br label %11637
11633: ; preds = %11626
%11634 = load i16, i16* %18
%11635 = sext i16 %11634 to i32
%11636 = sub nsw i32 25, %11635
br label %11637
11637: ; preds = %11633, %11632
%11638 = phi i32 [ 0, %11632 ], [ %11636, %11633 ]
%11639 = trunc i32 %11638 to i16
store i16 %11639, i16* %15
%11640 = load i16, i16* %12
store i16 %11640, i16* %18
%11641 = load i16, i16* %16
%11642 = sext i16 %11641 to i32
%11643 = icmp eq i32 %11642, 0
br i1 %11643, label %11644, label %11645
11644: ; preds = %11637
br label %11649
11645: ; preds = %11637
%11646 = load i16, i16* %16
%11647 = sext i16 %11646 to i32
%11648 = sub nsw i32 25, %11647
br label %11649
11649: ; preds = %11645, %11644
%11650 = phi i32 [ 0, %11644 ], [ %11648, %11645 ]
%11651 = trunc i32 %11650 to i16
store i16 %11651, i16* %12
%11652 = load i16, i16* %18
%11653 = sext i16 %11652 to i32
%11654 = icmp eq i32 %11653, 0
br i1 %11654, label %11655, label %11656
11655: ; preds = %11649
br label %11660
11656: ; preds = %11649
%11657 = load i16, i16* %18
%11658 = sext i16 %11657 to i32
%11659 = sub nsw i32 25, %11658
br label %11660
11660: ; preds = %11656, %11655
%11661 = phi i32 [ 0, %11655 ], [ %11659, %11656 ]
%11662 = trunc i32 %11661 to i16
store i16 %11662, i16* %16
%11663 = load i16, i16* %13
store i16 %11663, i16* %18
%11664 = load i16, i16* %17
%11665 = sext i16 %11664 to i32
%11666 = icmp eq i32 %11665, 0
br i1 %11666, label %11667, label %11668
11667: ; preds = %11660
br label %11672
11668: ; preds = %11660
%11669 = load i16, i16* %17
%11670 = sext i16 %11669 to i32
%11671 = sub nsw i32 25, %11670
br label %11672
11672: ; preds = %11668, %11667
%11673 = phi i32 [ 0, %11667 ], [ %11671, %11668 ]
%11674 = trunc i32 %11673 to i16
store i16 %11674, i16* %13
%11675 = load i16, i16* %18
%11676 = sext i16 %11675 to i32
%11677 = icmp eq i32 %11676, 0
br i1 %11677, label %11678, label %11679
11678: ; preds = %11672
br label %11683
11679: ; preds = %11672
%11680 = load i16, i16* %18
%11681 = sext i16 %11680 to i32
%11682 = sub nsw i32 25, %11681
br label %11683
11683: ; preds = %11679, %11678
%11684 = phi i32 [ 0, %11678 ], [ %11682, %11679 ]
%11685 = trunc i32 %11684 to i16
store i16 %11685, i16* %17
%11686 = load i16, i16* %10
%11687 = sext i16 %11686 to i32
%11688 = load i16, i16* %11
%11689 = sext i16 %11688 to i32
%11690 = load i16, i16* %12
%11691 = sext i16 %11690 to i32
%11692 = load i16, i16* %13
%11693 = sext i16 %11692 to i32
%11694 = load i16, i16* %14
%11695 = sext i16 %11694 to i32
%11696 = load i16, i16* %15
%11697 = sext i16 %11696 to i32
%11698 = load i16, i16* %16
%11699 = sext i16 %11698 to i32
%11700 = load i16, i16* %17
%11701 = sext i16 %11700 to i32
%11702 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11687, i32 %11689, i32 %11691, i32 %11693, i32 %11695, i32 %11697, i32 %11699, i32 %11701)
%11703 = icmp eq i32 %11702, -1
br i1 %11703, label %11704, label %11705
11704: ; preds = %11683
store i16 -1, i16* %9
br label %18764
11705: ; preds = %11683
%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* %22
store i16 %11798, i16* %21
%11799 = load i16, i16* %20
store i16 %11799, i16* %15
br label %12006
11800: ; preds = %11586
%11801 = load i16, i16* %10
store i16 %11801, i16* %18
%11802 = load i16, i16* %14
%11803 = sext i16 %11802 to i32
%11804 = icmp eq i32 %11803, 0
br i1 %11804, label %11805, label %11806
11805: ; preds = %11800
br label %11810
11806: ; preds = %11800
%11807 = load i16, i16* %14
%11808 = sext i16 %11807 to i32
%11809 = sub nsw i32 25, %11808
br label %11810
11810: ; preds = %11806, %11805
%11811 = phi i32 [ 0, %11805 ], [ %11809, %11806 ]
%11812 = trunc i32 %11811 to i16
store i16 %11812, i16* %10
%11813 = load i16, i16* %18
%11814 = sext i16 %11813 to i32
%11815 = icmp eq i32 %11814, 0
br i1 %11815, label %11816, label %11817
11816: ; preds = %11810
br label %11821
11817: ; preds = %11810
%11818 = load i16, i16* %18
%11819 = sext i16 %11818 to i32
%11820 = sub nsw i32 25, %11819
br label %11821
11821: ; preds = %11817, %11816
%11822 = phi i32 [ 0, %11816 ], [ %11820, %11817 ]
%11823 = trunc i32 %11822 to i16
store i16 %11823, i16* %14
%11824 = load i16, i16* %11
store i16 %11824, i16* %18
%11825 = load i16, i16* %15
%11826 = sext i16 %11825 to i32
%11827 = icmp eq i32 %11826, 0
br i1 %11827, label %11828, label %11829
11828: ; preds = %11821
br label %11833
11829: ; preds = %11821
%11830 = load i16, i16* %15
%11831 = sext i16 %11830 to i32
%11832 = sub nsw i32 25, %11831
br label %11833
11833: ; preds = %11829, %11828
%11834 = phi i32 [ 0, %11828 ], [ %11832, %11829 ]
%11835 = trunc i32 %11834 to i16
store i16 %11835, i16* %11
%11836 = load i16, i16* %18
%11837 = sext i16 %11836 to i32
%11838 = icmp eq i32 %11837, 0
br i1 %11838, label %11839, label %11840
11839: ; preds = %11833
br label %11844
11840: ; preds = %11833
%11841 = load i16, i16* %18
%11842 = sext i16 %11841 to i32
%11843 = sub nsw i32 25, %11842
br label %11844
11844: ; preds = %11840, %11839
%11845 = phi i32 [ 0, %11839 ], [ %11843, %11840 ]
%11846 = trunc i32 %11845 to i16
store i16 %11846, i16* %15
%11847 = load i16, i16* %12
store i16 %11847, i16* %18
%11848 = load i16, i16* %16
%11849 = sext i16 %11848 to i32
%11850 = icmp eq i32 %11849, 0
br i1 %11850, label %11851, label %11852
11851: ; preds = %11844
br label %11856
11852: ; preds = %11844
%11853 = load i16, i16* %16
%11854 = sext i16 %11853 to i32
%11855 = sub nsw i32 25, %11854
br label %11856
11856: ; preds = %11852, %11851
%11857 = phi i32 [ 0, %11851 ], [ %11855, %11852 ]
%11858 = trunc i32 %11857 to i16
store i16 %11858, i16* %12
%11859 = load i16, i16* %18
%11860 = sext i16 %11859 to i32
%11861 = icmp eq i32 %11860, 0
br i1 %11861, label %11862, label %11863
11862: ; preds = %11856
br label %11867
11863: ; preds = %11856
%11864 = load i16, i16* %18
%11865 = sext i16 %11864 to i32
%11866 = sub nsw i32 25, %11865
br label %11867
11867: ; preds = %11863, %11862
%11868 = phi i32 [ 0, %11862 ], [ %11866, %11863 ]
%11869 = trunc i32 %11868 to i16
store i16 %11869, i16* %16
%11870 = load i16, i16* %13
store i16 %11870, i16* %18
%11871 = load i16, i16* %17
%11872 = sext i16 %11871 to i32
%11873 = icmp eq i32 %11872, 0
br i1 %11873, label %11874, label %11875
11874: ; preds = %11867
br label %11879
11875: ; preds = %11867
%11876 = load i16, i16* %17
%11877 = sext i16 %11876 to i32
%11878 = sub nsw i32 25, %11877
br label %11879
11879: ; preds = %11875, %11874
%11880 = phi i32 [ 0, %11874 ], [ %11878, %11875 ]
%11881 = trunc i32 %11880 to i16
store i16 %11881, i16* %13
%11882 = load i16, i16* %18
%11883 = sext i16 %11882 to i32
%11884 = icmp eq i32 %11883, 0
br i1 %11884, label %11885, label %11886
11885: ; preds = %11879
br label %11890
11886: ; preds = %11879
%11887 = load i16, i16* %18
%11888 = sext i16 %11887 to i32
%11889 = sub nsw i32 25, %11888
br label %11890
11890: ; preds = %11886, %11885
%11891 = phi i32 [ 0, %11885 ], [ %11889, %11886 ]
%11892 = trunc i32 %11891 to i16
store i16 %11892, i16* %17
%11893 = load i16, i16* %10
%11894 = sext i16 %11893 to i32
%11895 = load i16, i16* %11
%11896 = sext i16 %11895 to i32
%11897 = load i16, i16* %12
%11898 = sext i16 %11897 to i32
%11899 = load i16, i16* %13
%11900 = sext i16 %11899 to i32
%11901 = load i16, i16* %14
%11902 = sext i16 %11901 to i32
%11903 = load i16, i16* %15
%11904 = sext i16 %11903 to i32
%11905 = load i16, i16* %16
%11906 = sext i16 %11905 to i32
%11907 = load i16, i16* %17
%11908 = sext i16 %11907 to i32
%11909 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11894, i32 %11896, i32 %11898, i32 %11900, i32 %11902, i32 %11904, i32 %11906, i32 %11908)
%11910 = icmp eq i32 %11909, -1
br i1 %11910, label %11911, label %11912
11911: ; preds = %11890
store i16 -1, i16* %9
br label %18764
11912: ; preds = %11890
%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
%12005 = load i16, i16* %22
store i16 %12005, i16* %21
br label %12006
12006: ; preds = %12002, %11795
%12007 = load i16, i16* %19
store i16 %12007, i16* %12
br label %12008
12008: ; preds = %12006, %11580, %11574, %11568, %11562, %11556, %11545
br label %12009
12009: ; preds = %12008, %11540, %11536, %11532
br label %18741
12010: ; preds = %11528
%12011 = load i16, i16* %22
%12012 = sext i16 %12011 to i32
%12013 = icmp eq i32 %12012, 18
br i1 %12013, label %12014, label %12488
12014: ; preds = %12010
%12015 = load i16, i16* %12
%12016 = sext i16 %12015 to i32
%12017 = icmp ne i32 %12016, 0
br i1 %12017, label %12018, label %12487
12018: ; preds = %12014
%12019 = load i16, i16* %12
%12020 = sext i16 %12019 to i32
%12021 = srem i32 %12020, 4
%12022 = icmp ne i32 %12021, 0
br i1 %12022, label %12023, label %12487
12023: ; preds = %12018
%12024 = load i16, i16* %12
store i16 %12024, i16* %19
%12025 = load i16, i16* %19
%12026 = sext i16 %12025 to i32
%12027 = add nsw i32 %12026, 1
%12028 = trunc i32 %12027 to i16
store i16 %12028, i16* %20
%12029 = load i16, i16* %20
%12030 = sext i16 %12029 to i32
%12031 = load i16, i16* %10
%12032 = sext i16 %12031 to i32
%12033 = icmp ne i32 %12030, %12032
br i1 %12033, label %12034, label %12486
12034: ; preds = %12023
%12035 = load i16, i16* %20
%12036 = sext i16 %12035 to i32
%12037 = load i16, i16* %11
%12038 = sext i16 %12037 to i32
%12039 = icmp ne i32 %12036, %12038
br i1 %12039, label %12040, label %12486
12040: ; preds = %12034
%12041 = load i16, i16* %20
%12042 = sext i16 %12041 to i32
%12043 = load i16, i16* %13
%12044 = sext i16 %12043 to i32
%12045 = icmp ne i32 %12042, %12044
br i1 %12045, label %12046, label %12486
12046: ; preds = %12040
%12047 = load i16, i16* %20
%12048 = sext i16 %12047 to i32
%12049 = load i16, i16* %14
%12050 = sext i16 %12049 to i32
%12051 = icmp ne i32 %12048, %12050
br i1 %12051, label %12052, label %12486
12052: ; preds = %12046
%12053 = load i16, i16* %20
%12054 = sext i16 %12053 to i32
%12055 = load i16, i16* %16
%12056 = sext i16 %12055 to i32
%12057 = icmp ne i32 %12054, %12056
br i1 %12057, label %12058, label %12486
12058: ; preds = %12052
%12059 = load i16, i16* %20
%12060 = sext i16 %12059 to i32
%12061 = load i16, i16* %17
%12062 = sext i16 %12061 to i32
%12063 = icmp ne i32 %12060, %12062
br i1 %12063, label %12064, label %12486
12064: ; preds = %12058
%12065 = load i16, i16* %20
store i16 %12065, i16* %12
%12066 = load i16, i16* %15
%12067 = sext i16 %12066 to i32
%12068 = load i16, i16* %20
%12069 = sext i16 %12068 to i32
%12070 = icmp eq i32 %12067, %12069
br i1 %12070, label %12071, label %12278
12071: ; preds = %12064
store i16 0, i16* %15
%12072 = load i16, i16* %10
store i16 %12072, i16* %18
%12073 = load i16, i16* %14
%12074 = sext i16 %12073 to i32
%12075 = icmp eq i32 %12074, 0
br i1 %12075, label %12076, label %12077
12076: ; preds = %12071
br label %12081
12077: ; preds = %12071
%12078 = load i16, i16* %14
%12079 = sext i16 %12078 to i32
%12080 = sub nsw i32 25, %12079
br label %12081
12081: ; preds = %12077, %12076
%12082 = phi i32 [ 0, %12076 ], [ %12080, %12077 ]
%12083 = trunc i32 %12082 to i16
store i16 %12083, i16* %10
%12084 = load i16, i16* %18
%12085 = sext i16 %12084 to i32
%12086 = icmp eq i32 %12085, 0
br i1 %12086, label %12087, label %12088
12087: ; preds = %12081
br label %12092
12088: ; preds = %12081
%12089 = load i16, i16* %18
%12090 = sext i16 %12089 to i32
%12091 = sub nsw i32 25, %12090
br label %12092
12092: ; preds = %12088, %12087
%12093 = phi i32 [ 0, %12087 ], [ %12091, %12088 ]
%12094 = trunc i32 %12093 to i16
store i16 %12094, i16* %14
%12095 = load i16, i16* %11
store i16 %12095, i16* %18
%12096 = load i16, i16* %15
%12097 = sext i16 %12096 to i32
%12098 = icmp eq i32 %12097, 0
br i1 %12098, label %12099, label %12100
12099: ; preds = %12092
br label %12104
12100: ; preds = %12092
%12101 = load i16, i16* %15
%12102 = sext i16 %12101 to i32
%12103 = sub nsw i32 25, %12102
br label %12104
12104: ; preds = %12100, %12099
%12105 = phi i32 [ 0, %12099 ], [ %12103, %12100 ]
%12106 = trunc i32 %12105 to i16
store i16 %12106, i16* %11
%12107 = load i16, i16* %18
%12108 = sext i16 %12107 to i32
%12109 = icmp eq i32 %12108, 0
br i1 %12109, label %12110, label %12111
12110: ; preds = %12104
br label %12115
12111: ; preds = %12104
%12112 = load i16, i16* %18
%12113 = sext i16 %12112 to i32
%12114 = sub nsw i32 25, %12113
br label %12115
12115: ; preds = %12111, %12110
%12116 = phi i32 [ 0, %12110 ], [ %12114, %12111 ]
%12117 = trunc i32 %12116 to i16
store i16 %12117, i16* %15
%12118 = load i16, i16* %12
store i16 %12118, i16* %18
%12119 = load i16, i16* %16
%12120 = sext i16 %12119 to i32
%12121 = icmp eq i32 %12120, 0
br i1 %12121, label %12122, label %12123
12122: ; preds = %12115
br label %12127
12123: ; preds = %12115
%12124 = load i16, i16* %16
%12125 = sext i16 %12124 to i32
%12126 = sub nsw i32 25, %12125
br label %12127
12127: ; preds = %12123, %12122
%12128 = phi i32 [ 0, %12122 ], [ %12126, %12123 ]
%12129 = trunc i32 %12128 to i16
store i16 %12129, i16* %12
%12130 = load i16, i16* %18
%12131 = sext i16 %12130 to i32
%12132 = icmp eq i32 %12131, 0
br i1 %12132, label %12133, label %12134
12133: ; preds = %12127
br label %12138
12134: ; preds = %12127
%12135 = load i16, i16* %18
%12136 = sext i16 %12135 to i32
%12137 = sub nsw i32 25, %12136
br label %12138
12138: ; preds = %12134, %12133
%12139 = phi i32 [ 0, %12133 ], [ %12137, %12134 ]
%12140 = trunc i32 %12139 to i16
store i16 %12140, i16* %16
%12141 = load i16, i16* %13
store i16 %12141, i16* %18
%12142 = load i16, i16* %17
%12143 = sext i16 %12142 to i32
%12144 = icmp eq i32 %12143, 0
br i1 %12144, label %12145, label %12146
12145: ; preds = %12138
br label %12150
12146: ; preds = %12138
%12147 = load i16, i16* %17
%12148 = sext i16 %12147 to i32
%12149 = sub nsw i32 25, %12148
br label %12150
12150: ; preds = %12146, %12145
%12151 = phi i32 [ 0, %12145 ], [ %12149, %12146 ]
%12152 = trunc i32 %12151 to i16
store i16 %12152, i16* %13
%12153 = load i16, i16* %18
%12154 = sext i16 %12153 to i32
%12155 = icmp eq i32 %12154, 0
br i1 %12155, label %12156, label %12157
12156: ; preds = %12150
br label %12161
12157: ; preds = %12150
%12158 = load i16, i16* %18
%12159 = sext i16 %12158 to i32
%12160 = sub nsw i32 25, %12159
br label %12161
12161: ; preds = %12157, %12156
%12162 = phi i32 [ 0, %12156 ], [ %12160, %12157 ]
%12163 = trunc i32 %12162 to i16
store i16 %12163, i16* %17
%12164 = load i16, i16* %10
%12165 = sext i16 %12164 to i32
%12166 = load i16, i16* %11
%12167 = sext i16 %12166 to i32
%12168 = load i16, i16* %12
%12169 = sext i16 %12168 to i32
%12170 = load i16, i16* %13
%12171 = sext i16 %12170 to i32
%12172 = load i16, i16* %14
%12173 = sext i16 %12172 to i32
%12174 = load i16, i16* %15
%12175 = sext i16 %12174 to i32
%12176 = load i16, i16* %16
%12177 = sext i16 %12176 to i32
%12178 = load i16, i16* %17
%12179 = sext i16 %12178 to i32
%12180 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12165, i32 %12167, i32 %12169, i32 %12171, i32 %12173, i32 %12175, i32 %12177, i32 %12179)
%12181 = icmp eq i32 %12180, -1
br i1 %12181, label %12182, label %12183
12182: ; preds = %12161
store i16 -1, i16* %9
br label %18764
12183: ; preds = %12161
%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* %22
store i16 %12276, i16* %21
%12277 = load i16, i16* %20
store i16 %12277, i16* %15
br label %12484
12278: ; preds = %12064
%12279 = load i16, i16* %10
store i16 %12279, i16* %18
%12280 = load i16, i16* %14
%12281 = sext i16 %12280 to i32
%12282 = icmp eq i32 %12281, 0
br i1 %12282, label %12283, label %12284
12283: ; preds = %12278
br label %12288
12284: ; preds = %12278
%12285 = load i16, i16* %14
%12286 = sext i16 %12285 to i32
%12287 = sub nsw i32 25, %12286
br label %12288
12288: ; preds = %12284, %12283
%12289 = phi i32 [ 0, %12283 ], [ %12287, %12284 ]
%12290 = trunc i32 %12289 to i16
store i16 %12290, i16* %10
%12291 = load i16, i16* %18
%12292 = sext i16 %12291 to i32
%12293 = icmp eq i32 %12292, 0
br i1 %12293, label %12294, label %12295
12294: ; preds = %12288
br label %12299
12295: ; preds = %12288
%12296 = load i16, i16* %18
%12297 = sext i16 %12296 to i32
%12298 = sub nsw i32 25, %12297
br label %12299
12299: ; preds = %12295, %12294
%12300 = phi i32 [ 0, %12294 ], [ %12298, %12295 ]
%12301 = trunc i32 %12300 to i16
store i16 %12301, i16* %14
%12302 = load i16, i16* %11
store i16 %12302, i16* %18
%12303 = load i16, i16* %15
%12304 = sext i16 %12303 to i32
%12305 = icmp eq i32 %12304, 0
br i1 %12305, label %12306, label %12307
12306: ; preds = %12299
br label %12311
12307: ; preds = %12299
%12308 = load i16, i16* %15
%12309 = sext i16 %12308 to i32
%12310 = sub nsw i32 25, %12309
br label %12311
12311: ; preds = %12307, %12306
%12312 = phi i32 [ 0, %12306 ], [ %12310, %12307 ]
%12313 = trunc i32 %12312 to i16
store i16 %12313, i16* %11
%12314 = load i16, i16* %18
%12315 = sext i16 %12314 to i32
%12316 = icmp eq i32 %12315, 0
br i1 %12316, label %12317, label %12318
12317: ; preds = %12311
br label %12322
12318: ; preds = %12311
%12319 = load i16, i16* %18
%12320 = sext i16 %12319 to i32
%12321 = sub nsw i32 25, %12320
br label %12322
12322: ; preds = %12318, %12317
%12323 = phi i32 [ 0, %12317 ], [ %12321, %12318 ]
%12324 = trunc i32 %12323 to i16
store i16 %12324, i16* %15
%12325 = load i16, i16* %12
store i16 %12325, i16* %18
%12326 = load i16, i16* %16
%12327 = sext i16 %12326 to i32
%12328 = icmp eq i32 %12327, 0
br i1 %12328, label %12329, label %12330
12329: ; preds = %12322
br label %12334
12330: ; preds = %12322
%12331 = load i16, i16* %16
%12332 = sext i16 %12331 to i32
%12333 = sub nsw i32 25, %12332
br label %12334
12334: ; preds = %12330, %12329
%12335 = phi i32 [ 0, %12329 ], [ %12333, %12330 ]
%12336 = trunc i32 %12335 to i16
store i16 %12336, i16* %12
%12337 = load i16, i16* %18
%12338 = sext i16 %12337 to i32
%12339 = icmp eq i32 %12338, 0
br i1 %12339, label %12340, label %12341
12340: ; preds = %12334
br label %12345
12341: ; preds = %12334
%12342 = load i16, i16* %18
%12343 = sext i16 %12342 to i32
%12344 = sub nsw i32 25, %12343
br label %12345
12345: ; preds = %12341, %12340
%12346 = phi i32 [ 0, %12340 ], [ %12344, %12341 ]
%12347 = trunc i32 %12346 to i16
store i16 %12347, i16* %16
%12348 = load i16, i16* %13
store i16 %12348, i16* %18
%12349 = load i16, i16* %17
%12350 = sext i16 %12349 to i32
%12351 = icmp eq i32 %12350, 0
br i1 %12351, label %12352, label %12353
12352: ; preds = %12345
br label %12357
12353: ; preds = %12345
%12354 = load i16, i16* %17
%12355 = sext i16 %12354 to i32
%12356 = sub nsw i32 25, %12355
br label %12357
12357: ; preds = %12353, %12352
%12358 = phi i32 [ 0, %12352 ], [ %12356, %12353 ]
%12359 = trunc i32 %12358 to i16
store i16 %12359, i16* %13
%12360 = load i16, i16* %18
%12361 = sext i16 %12360 to i32
%12362 = icmp eq i32 %12361, 0
br i1 %12362, label %12363, label %12364
12363: ; preds = %12357
br label %12368
12364: ; preds = %12357
%12365 = load i16, i16* %18
%12366 = sext i16 %12365 to i32
%12367 = sub nsw i32 25, %12366
br label %12368
12368: ; preds = %12364, %12363
%12369 = phi i32 [ 0, %12363 ], [ %12367, %12364 ]
%12370 = trunc i32 %12369 to i16
store i16 %12370, i16* %17
%12371 = load i16, i16* %10
%12372 = sext i16 %12371 to i32
%12373 = load i16, i16* %11
%12374 = sext i16 %12373 to i32
%12375 = load i16, i16* %12
%12376 = sext i16 %12375 to i32
%12377 = load i16, i16* %13
%12378 = sext i16 %12377 to i32
%12379 = load i16, i16* %14
%12380 = sext i16 %12379 to i32
%12381 = load i16, i16* %15
%12382 = sext i16 %12381 to i32
%12383 = load i16, i16* %16
%12384 = sext i16 %12383 to i32
%12385 = load i16, i16* %17
%12386 = sext i16 %12385 to i32
%12387 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12372, i32 %12374, i32 %12376, i32 %12378, i32 %12380, i32 %12382, i32 %12384, i32 %12386)
%12388 = icmp eq i32 %12387, -1
br i1 %12388, label %12389, label %12390
12389: ; preds = %12368
store i16 -1, i16* %9
br label %18764
12390: ; preds = %12368
%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
%12483 = load i16, i16* %22
store i16 %12483, i16* %21
br label %12484
12484: ; preds = %12480, %12273
%12485 = load i16, i16* %19
store i16 %12485, i16* %12
br label %12486
12486: ; preds = %12484, %12058, %12052, %12046, %12040, %12034, %12023
br label %12487
12487: ; preds = %12486, %12018, %12014
br label %18740
12488: ; preds = %12010
%12489 = load i16, i16* %22
%12490 = sext i16 %12489 to i32
%12491 = icmp eq i32 %12490, 19
br i1 %12491, label %12492, label %12970
12492: ; preds = %12488
%12493 = load i16, i16* %12
%12494 = sext i16 %12493 to i32
%12495 = icmp ne i32 %12494, 0
br i1 %12495, label %12496, label %12969
12496: ; preds = %12492
%12497 = load i16, i16* %12
%12498 = sext i16 %12497 to i32
%12499 = icmp slt i32 4, %12498
br i1 %12499, label %12500, label %12969
12500: ; preds = %12496
%12501 = load i16, i16* %12
%12502 = sext i16 %12501 to i32
%12503 = srem i32 %12502, 4
%12504 = icmp ne i32 %12503, 0
br i1 %12504, label %12505, label %12969
12505: ; preds = %12500
%12506 = load i16, i16* %12
store i16 %12506, i16* %19
%12507 = load i16, i16* %19
%12508 = sext i16 %12507 to i32
%12509 = sub nsw i32 %12508, 3
%12510 = trunc i32 %12509 to i16
store i16 %12510, i16* %20
%12511 = load i16, i16* %20
%12512 = sext i16 %12511 to i32
%12513 = load i16, i16* %10
%12514 = sext i16 %12513 to i32
%12515 = icmp ne i32 %12512, %12514
br i1 %12515, label %12516, label %12968
12516: ; preds = %12505
%12517 = load i16, i16* %20
%12518 = sext i16 %12517 to i32
%12519 = load i16, i16* %11
%12520 = sext i16 %12519 to i32
%12521 = icmp ne i32 %12518, %12520
br i1 %12521, label %12522, label %12968
12522: ; preds = %12516
%12523 = load i16, i16* %20
%12524 = sext i16 %12523 to i32
%12525 = load i16, i16* %13
%12526 = sext i16 %12525 to i32
%12527 = icmp ne i32 %12524, %12526
br i1 %12527, label %12528, label %12968
12528: ; preds = %12522
%12529 = load i16, i16* %20
%12530 = sext i16 %12529 to i32
%12531 = load i16, i16* %14
%12532 = sext i16 %12531 to i32
%12533 = icmp ne i32 %12530, %12532
br i1 %12533, label %12534, label %12968
12534: ; preds = %12528
%12535 = load i16, i16* %20
%12536 = sext i16 %12535 to i32
%12537 = load i16, i16* %16
%12538 = sext i16 %12537 to i32
%12539 = icmp ne i32 %12536, %12538
br i1 %12539, label %12540, label %12968
12540: ; preds = %12534
%12541 = load i16, i16* %20
%12542 = sext i16 %12541 to i32
%12543 = load i16, i16* %17
%12544 = sext i16 %12543 to i32
%12545 = icmp ne i32 %12542, %12544
br i1 %12545, label %12546, label %12968
12546: ; preds = %12540
%12547 = load i16, i16* %20
store i16 %12547, i16* %12
%12548 = load i16, i16* %15
%12549 = sext i16 %12548 to i32
%12550 = load i16, i16* %20
%12551 = sext i16 %12550 to i32
%12552 = icmp eq i32 %12549, %12551
br i1 %12552, label %12553, label %12760
12553: ; preds = %12546
store i16 0, i16* %15
%12554 = load i16, i16* %10
store i16 %12554, i16* %18
%12555 = load i16, i16* %14
%12556 = sext i16 %12555 to i32
%12557 = icmp eq i32 %12556, 0
br i1 %12557, label %12558, label %12559
12558: ; preds = %12553
br label %12563
12559: ; preds = %12553
%12560 = load i16, i16* %14
%12561 = sext i16 %12560 to i32
%12562 = sub nsw i32 25, %12561
br label %12563
12563: ; preds = %12559, %12558
%12564 = phi i32 [ 0, %12558 ], [ %12562, %12559 ]
%12565 = trunc i32 %12564 to i16
store i16 %12565, i16* %10
%12566 = load i16, i16* %18
%12567 = sext i16 %12566 to i32
%12568 = icmp eq i32 %12567, 0
br i1 %12568, label %12569, label %12570
12569: ; preds = %12563
br label %12574
12570: ; preds = %12563
%12571 = load i16, i16* %18
%12572 = sext i16 %12571 to i32
%12573 = sub nsw i32 25, %12572
br label %12574
12574: ; preds = %12570, %12569
%12575 = phi i32 [ 0, %12569 ], [ %12573, %12570 ]
%12576 = trunc i32 %12575 to i16
store i16 %12576, i16* %14
%12577 = load i16, i16* %11
store i16 %12577, i16* %18
%12578 = load i16, i16* %15
%12579 = sext i16 %12578 to i32
%12580 = icmp eq i32 %12579, 0
br i1 %12580, label %12581, label %12582
12581: ; preds = %12574
br label %12586
12582: ; preds = %12574
%12583 = load i16, i16* %15
%12584 = sext i16 %12583 to i32
%12585 = sub nsw i32 25, %12584
br label %12586
12586: ; preds = %12582, %12581
%12587 = phi i32 [ 0, %12581 ], [ %12585, %12582 ]
%12588 = trunc i32 %12587 to i16
store i16 %12588, i16* %11
%12589 = load i16, i16* %18
%12590 = sext i16 %12589 to i32
%12591 = icmp eq i32 %12590, 0
br i1 %12591, label %12592, label %12593
12592: ; preds = %12586
br label %12597
12593: ; preds = %12586
%12594 = load i16, i16* %18
%12595 = sext i16 %12594 to i32
%12596 = sub nsw i32 25, %12595
br label %12597
12597: ; preds = %12593, %12592
%12598 = phi i32 [ 0, %12592 ], [ %12596, %12593 ]
%12599 = trunc i32 %12598 to i16
store i16 %12599, i16* %15
%12600 = load i16, i16* %12
store i16 %12600, i16* %18
%12601 = load i16, i16* %16
%12602 = sext i16 %12601 to i32
%12603 = icmp eq i32 %12602, 0
br i1 %12603, label %12604, label %12605
12604: ; preds = %12597
br label %12609
12605: ; preds = %12597
%12606 = load i16, i16* %16
%12607 = sext i16 %12606 to i32
%12608 = sub nsw i32 25, %12607
br label %12609
12609: ; preds = %12605, %12604
%12610 = phi i32 [ 0, %12604 ], [ %12608, %12605 ]
%12611 = trunc i32 %12610 to i16
store i16 %12611, i16* %12
%12612 = load i16, i16* %18
%12613 = sext i16 %12612 to i32
%12614 = icmp eq i32 %12613, 0
br i1 %12614, label %12615, label %12616
12615: ; preds = %12609
br label %12620
12616: ; preds = %12609
%12617 = load i16, i16* %18
%12618 = sext i16 %12617 to i32
%12619 = sub nsw i32 25, %12618
br label %12620
12620: ; preds = %12616, %12615
%12621 = phi i32 [ 0, %12615 ], [ %12619, %12616 ]
%12622 = trunc i32 %12621 to i16
store i16 %12622, i16* %16
%12623 = load i16, i16* %13
store i16 %12623, i16* %18
%12624 = load i16, i16* %17
%12625 = sext i16 %12624 to i32
%12626 = icmp eq i32 %12625, 0
br i1 %12626, label %12627, label %12628
12627: ; preds = %12620
br label %12632
12628: ; preds = %12620
%12629 = load i16, i16* %17
%12630 = sext i16 %12629 to i32
%12631 = sub nsw i32 25, %12630
br label %12632
12632: ; preds = %12628, %12627
%12633 = phi i32 [ 0, %12627 ], [ %12631, %12628 ]
%12634 = trunc i32 %12633 to i16
store i16 %12634, i16* %13
%12635 = load i16, i16* %18
%12636 = sext i16 %12635 to i32
%12637 = icmp eq i32 %12636, 0
br i1 %12637, label %12638, label %12639
12638: ; preds = %12632
br label %12643
12639: ; preds = %12632
%12640 = load i16, i16* %18
%12641 = sext i16 %12640 to i32
%12642 = sub nsw i32 25, %12641
br label %12643
12643: ; preds = %12639, %12638
%12644 = phi i32 [ 0, %12638 ], [ %12642, %12639 ]
%12645 = trunc i32 %12644 to i16
store i16 %12645, i16* %17
%12646 = load i16, i16* %10
%12647 = sext i16 %12646 to i32
%12648 = load i16, i16* %11
%12649 = sext i16 %12648 to i32
%12650 = load i16, i16* %12
%12651 = sext i16 %12650 to i32
%12652 = load i16, i16* %13
%12653 = sext i16 %12652 to i32
%12654 = load i16, i16* %14
%12655 = sext i16 %12654 to i32
%12656 = load i16, i16* %15
%12657 = sext i16 %12656 to i32
%12658 = load i16, i16* %16
%12659 = sext i16 %12658 to i32
%12660 = load i16, i16* %17
%12661 = sext i16 %12660 to i32
%12662 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12647, i32 %12649, i32 %12651, i32 %12653, i32 %12655, i32 %12657, i32 %12659, i32 %12661)
%12663 = icmp eq i32 %12662, -1
br i1 %12663, label %12664, label %12665
12664: ; preds = %12643
store i16 -1, i16* %9
br label %18764
12665: ; preds = %12643
%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* %22
store i16 %12758, i16* %21
%12759 = load i16, i16* %20
store i16 %12759, i16* %15
br label %12966
12760: ; preds = %12546
%12761 = load i16, i16* %10
store i16 %12761, i16* %18
%12762 = load i16, i16* %14
%12763 = sext i16 %12762 to i32
%12764 = icmp eq i32 %12763, 0
br i1 %12764, label %12765, label %12766
12765: ; preds = %12760
br label %12770
12766: ; preds = %12760
%12767 = load i16, i16* %14
%12768 = sext i16 %12767 to i32
%12769 = sub nsw i32 25, %12768
br label %12770
12770: ; preds = %12766, %12765
%12771 = phi i32 [ 0, %12765 ], [ %12769, %12766 ]
%12772 = trunc i32 %12771 to i16
store i16 %12772, i16* %10
%12773 = load i16, i16* %18
%12774 = sext i16 %12773 to i32
%12775 = icmp eq i32 %12774, 0
br i1 %12775, label %12776, label %12777
12776: ; preds = %12770
br label %12781
12777: ; preds = %12770
%12778 = load i16, i16* %18
%12779 = sext i16 %12778 to i32
%12780 = sub nsw i32 25, %12779
br label %12781
12781: ; preds = %12777, %12776
%12782 = phi i32 [ 0, %12776 ], [ %12780, %12777 ]
%12783 = trunc i32 %12782 to i16
store i16 %12783, i16* %14
%12784 = load i16, i16* %11
store i16 %12784, i16* %18
%12785 = load i16, i16* %15
%12786 = sext i16 %12785 to i32
%12787 = icmp eq i32 %12786, 0
br i1 %12787, label %12788, label %12789
12788: ; preds = %12781
br label %12793
12789: ; preds = %12781
%12790 = load i16, i16* %15
%12791 = sext i16 %12790 to i32
%12792 = sub nsw i32 25, %12791
br label %12793
12793: ; preds = %12789, %12788
%12794 = phi i32 [ 0, %12788 ], [ %12792, %12789 ]
%12795 = trunc i32 %12794 to i16
store i16 %12795, i16* %11
%12796 = load i16, i16* %18
%12797 = sext i16 %12796 to i32
%12798 = icmp eq i32 %12797, 0
br i1 %12798, label %12799, label %12800
12799: ; preds = %12793
br label %12804
12800: ; preds = %12793
%12801 = load i16, i16* %18
%12802 = sext i16 %12801 to i32
%12803 = sub nsw i32 25, %12802
br label %12804
12804: ; preds = %12800, %12799
%12805 = phi i32 [ 0, %12799 ], [ %12803, %12800 ]
%12806 = trunc i32 %12805 to i16
store i16 %12806, i16* %15
%12807 = load i16, i16* %12
store i16 %12807, i16* %18
%12808 = load i16, i16* %16
%12809 = sext i16 %12808 to i32
%12810 = icmp eq i32 %12809, 0
br i1 %12810, label %12811, label %12812
12811: ; preds = %12804
br label %12816
12812: ; preds = %12804
%12813 = load i16, i16* %16
%12814 = sext i16 %12813 to i32
%12815 = sub nsw i32 25, %12814
br label %12816
12816: ; preds = %12812, %12811
%12817 = phi i32 [ 0, %12811 ], [ %12815, %12812 ]
%12818 = trunc i32 %12817 to i16
store i16 %12818, i16* %12
%12819 = load i16, i16* %18
%12820 = sext i16 %12819 to i32
%12821 = icmp eq i32 %12820, 0
br i1 %12821, label %12822, label %12823
12822: ; preds = %12816
br label %12827
12823: ; preds = %12816
%12824 = load i16, i16* %18
%12825 = sext i16 %12824 to i32
%12826 = sub nsw i32 25, %12825
br label %12827
12827: ; preds = %12823, %12822
%12828 = phi i32 [ 0, %12822 ], [ %12826, %12823 ]
%12829 = trunc i32 %12828 to i16
store i16 %12829, i16* %16
%12830 = load i16, i16* %13
store i16 %12830, i16* %18
%12831 = load i16, i16* %17
%12832 = sext i16 %12831 to i32
%12833 = icmp eq i32 %12832, 0
br i1 %12833, label %12834, label %12835
12834: ; preds = %12827
br label %12839
12835: ; preds = %12827
%12836 = load i16, i16* %17
%12837 = sext i16 %12836 to i32
%12838 = sub nsw i32 25, %12837
br label %12839
12839: ; preds = %12835, %12834
%12840 = phi i32 [ 0, %12834 ], [ %12838, %12835 ]
%12841 = trunc i32 %12840 to i16
store i16 %12841, i16* %13
%12842 = load i16, i16* %18
%12843 = sext i16 %12842 to i32
%12844 = icmp eq i32 %12843, 0
br i1 %12844, label %12845, label %12846
12845: ; preds = %12839
br label %12850
12846: ; preds = %12839
%12847 = load i16, i16* %18
%12848 = sext i16 %12847 to i32
%12849 = sub nsw i32 25, %12848
br label %12850
12850: ; preds = %12846, %12845
%12851 = phi i32 [ 0, %12845 ], [ %12849, %12846 ]
%12852 = trunc i32 %12851 to i16
store i16 %12852, i16* %17
%12853 = load i16, i16* %10
%12854 = sext i16 %12853 to i32
%12855 = load i16, i16* %11
%12856 = sext i16 %12855 to i32
%12857 = load i16, i16* %12
%12858 = sext i16 %12857 to i32
%12859 = load i16, i16* %13
%12860 = sext i16 %12859 to i32
%12861 = load i16, i16* %14
%12862 = sext i16 %12861 to i32
%12863 = load i16, i16* %15
%12864 = sext i16 %12863 to i32
%12865 = load i16, i16* %16
%12866 = sext i16 %12865 to i32
%12867 = load i16, i16* %17
%12868 = sext i16 %12867 to i32
%12869 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12854, i32 %12856, i32 %12858, i32 %12860, i32 %12862, i32 %12864, i32 %12866, i32 %12868)
%12870 = icmp eq i32 %12869, -1
br i1 %12870, label %12871, label %12872
12871: ; preds = %12850
store i16 -1, i16* %9
br label %18764
12872: ; preds = %12850
%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
%12965 = load i16, i16* %22
store i16 %12965, i16* %21
br label %12966
12966: ; preds = %12962, %12755
%12967 = load i16, i16* %19
store i16 %12967, i16* %12
br label %12968
12968: ; preds = %12966, %12540, %12534, %12528, %12522, %12516, %12505
br label %12969
12969: ; preds = %12968, %12500, %12496, %12492
br label %18739
12970: ; preds = %12488
%12971 = load i16, i16* %22
%12972 = sext i16 %12971 to i32
%12973 = icmp eq i32 %12972, 20
br i1 %12973, label %12974, label %13447
12974: ; preds = %12970
%12975 = load i16, i16* %12
%12976 = sext i16 %12975 to i32
%12977 = icmp ne i32 %12976, 0
br i1 %12977, label %12978, label %13446
12978: ; preds = %12974
%12979 = load i16, i16* %12
%12980 = sext i16 %12979 to i32
%12981 = icmp slt i32 4, %12980
br i1 %12981, label %12982, label %13446
12982: ; preds = %12978
%12983 = load i16, i16* %12
store i16 %12983, i16* %19
%12984 = load i16, i16* %19
%12985 = sext i16 %12984 to i32
%12986 = sub nsw i32 %12985, 4
%12987 = trunc i32 %12986 to i16
store i16 %12987, i16* %20
%12988 = load i16, i16* %20
%12989 = sext i16 %12988 to i32
%12990 = load i16, i16* %10
%12991 = sext i16 %12990 to i32
%12992 = icmp ne i32 %12989, %12991
br i1 %12992, label %12993, label %13445
12993: ; preds = %12982
%12994 = load i16, i16* %20
%12995 = sext i16 %12994 to i32
%12996 = load i16, i16* %11
%12997 = sext i16 %12996 to i32
%12998 = icmp ne i32 %12995, %12997
br i1 %12998, label %12999, label %13445
12999: ; preds = %12993
%13000 = load i16, i16* %20
%13001 = sext i16 %13000 to i32
%13002 = load i16, i16* %13
%13003 = sext i16 %13002 to i32
%13004 = icmp ne i32 %13001, %13003
br i1 %13004, label %13005, label %13445
13005: ; preds = %12999
%13006 = load i16, i16* %20
%13007 = sext i16 %13006 to i32
%13008 = load i16, i16* %14
%13009 = sext i16 %13008 to i32
%13010 = icmp ne i32 %13007, %13009
br i1 %13010, label %13011, label %13445
13011: ; preds = %13005
%13012 = load i16, i16* %20
%13013 = sext i16 %13012 to i32
%13014 = load i16, i16* %16
%13015 = sext i16 %13014 to i32
%13016 = icmp ne i32 %13013, %13015
br i1 %13016, label %13017, label %13445
13017: ; preds = %13011
%13018 = load i16, i16* %20
%13019 = sext i16 %13018 to i32
%13020 = load i16, i16* %17
%13021 = sext i16 %13020 to i32
%13022 = icmp ne i32 %13019, %13021
br i1 %13022, label %13023, label %13445
13023: ; preds = %13017
%13024 = load i16, i16* %20
store i16 %13024, i16* %12
%13025 = load i16, i16* %15
%13026 = sext i16 %13025 to i32
%13027 = load i16, i16* %20
%13028 = sext i16 %13027 to i32
%13029 = icmp eq i32 %13026, %13028
br i1 %13029, label %13030, label %13237
13030: ; preds = %13023
store i16 0, i16* %15
%13031 = load i16, i16* %10
store i16 %13031, i16* %18
%13032 = load i16, i16* %14
%13033 = sext i16 %13032 to i32
%13034 = icmp eq i32 %13033, 0
br i1 %13034, label %13035, label %13036
13035: ; preds = %13030
br label %13040
13036: ; preds = %13030
%13037 = load i16, i16* %14
%13038 = sext i16 %13037 to i32
%13039 = sub nsw i32 25, %13038
br label %13040
13040: ; preds = %13036, %13035
%13041 = phi i32 [ 0, %13035 ], [ %13039, %13036 ]
%13042 = trunc i32 %13041 to i16
store i16 %13042, i16* %10
%13043 = load i16, i16* %18
%13044 = sext i16 %13043 to i32
%13045 = icmp eq i32 %13044, 0
br i1 %13045, label %13046, label %13047
13046: ; preds = %13040
br label %13051
13047: ; preds = %13040
%13048 = load i16, i16* %18
%13049 = sext i16 %13048 to i32
%13050 = sub nsw i32 25, %13049
br label %13051
13051: ; preds = %13047, %13046
%13052 = phi i32 [ 0, %13046 ], [ %13050, %13047 ]
%13053 = trunc i32 %13052 to i16
store i16 %13053, i16* %14
%13054 = load i16, i16* %11
store i16 %13054, i16* %18
%13055 = load i16, i16* %15
%13056 = sext i16 %13055 to i32
%13057 = icmp eq i32 %13056, 0
br i1 %13057, label %13058, label %13059
13058: ; preds = %13051
br label %13063
13059: ; preds = %13051
%13060 = load i16, i16* %15
%13061 = sext i16 %13060 to i32
%13062 = sub nsw i32 25, %13061
br label %13063
13063: ; preds = %13059, %13058
%13064 = phi i32 [ 0, %13058 ], [ %13062, %13059 ]
%13065 = trunc i32 %13064 to i16
store i16 %13065, i16* %11
%13066 = load i16, i16* %18
%13067 = sext i16 %13066 to i32
%13068 = icmp eq i32 %13067, 0
br i1 %13068, label %13069, label %13070
13069: ; preds = %13063
br label %13074
13070: ; preds = %13063
%13071 = load i16, i16* %18
%13072 = sext i16 %13071 to i32
%13073 = sub nsw i32 25, %13072
br label %13074
13074: ; preds = %13070, %13069
%13075 = phi i32 [ 0, %13069 ], [ %13073, %13070 ]
%13076 = trunc i32 %13075 to i16
store i16 %13076, i16* %15
%13077 = load i16, i16* %12
store i16 %13077, i16* %18
%13078 = load i16, i16* %16
%13079 = sext i16 %13078 to i32
%13080 = icmp eq i32 %13079, 0
br i1 %13080, label %13081, label %13082
13081: ; preds = %13074
br label %13086
13082: ; preds = %13074
%13083 = load i16, i16* %16
%13084 = sext i16 %13083 to i32
%13085 = sub nsw i32 25, %13084
br label %13086
13086: ; preds = %13082, %13081
%13087 = phi i32 [ 0, %13081 ], [ %13085, %13082 ]
%13088 = trunc i32 %13087 to i16
store i16 %13088, i16* %12
%13089 = load i16, i16* %18
%13090 = sext i16 %13089 to i32
%13091 = icmp eq i32 %13090, 0
br i1 %13091, label %13092, label %13093
13092: ; preds = %13086
br label %13097
13093: ; preds = %13086
%13094 = load i16, i16* %18
%13095 = sext i16 %13094 to i32
%13096 = sub nsw i32 25, %13095
br label %13097
13097: ; preds = %13093, %13092
%13098 = phi i32 [ 0, %13092 ], [ %13096, %13093 ]
%13099 = trunc i32 %13098 to i16
store i16 %13099, i16* %16
%13100 = load i16, i16* %13
store i16 %13100, i16* %18
%13101 = load i16, i16* %17
%13102 = sext i16 %13101 to i32
%13103 = icmp eq i32 %13102, 0
br i1 %13103, label %13104, label %13105
13104: ; preds = %13097
br label %13109
13105: ; preds = %13097
%13106 = load i16, i16* %17
%13107 = sext i16 %13106 to i32
%13108 = sub nsw i32 25, %13107
br label %13109
13109: ; preds = %13105, %13104
%13110 = phi i32 [ 0, %13104 ], [ %13108, %13105 ]
%13111 = trunc i32 %13110 to i16
store i16 %13111, i16* %13
%13112 = load i16, i16* %18
%13113 = sext i16 %13112 to i32
%13114 = icmp eq i32 %13113, 0
br i1 %13114, label %13115, label %13116
13115: ; preds = %13109
br label %13120
13116: ; preds = %13109
%13117 = load i16, i16* %18
%13118 = sext i16 %13117 to i32
%13119 = sub nsw i32 25, %13118
br label %13120
13120: ; preds = %13116, %13115
%13121 = phi i32 [ 0, %13115 ], [ %13119, %13116 ]
%13122 = trunc i32 %13121 to i16
store i16 %13122, i16* %17
%13123 = load i16, i16* %10
%13124 = sext i16 %13123 to i32
%13125 = load i16, i16* %11
%13126 = sext i16 %13125 to i32
%13127 = load i16, i16* %12
%13128 = sext i16 %13127 to i32
%13129 = load i16, i16* %13
%13130 = sext i16 %13129 to i32
%13131 = load i16, i16* %14
%13132 = sext i16 %13131 to i32
%13133 = load i16, i16* %15
%13134 = sext i16 %13133 to i32
%13135 = load i16, i16* %16
%13136 = sext i16 %13135 to i32
%13137 = load i16, i16* %17
%13138 = sext i16 %13137 to i32
%13139 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13124, i32 %13126, i32 %13128, i32 %13130, i32 %13132, i32 %13134, i32 %13136, i32 %13138)
%13140 = icmp eq i32 %13139, -1
br i1 %13140, label %13141, label %13142
13141: ; preds = %13120
store i16 -1, i16* %9
br label %18764
13142: ; preds = %13120
%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* %22
store i16 %13235, i16* %21
%13236 = load i16, i16* %20
store i16 %13236, i16* %15
br label %13443
13237: ; preds = %13023
%13238 = load i16, i16* %10
store i16 %13238, i16* %18
%13239 = load i16, i16* %14
%13240 = sext i16 %13239 to i32
%13241 = icmp eq i32 %13240, 0
br i1 %13241, label %13242, label %13243
13242: ; preds = %13237
br label %13247
13243: ; preds = %13237
%13244 = load i16, i16* %14
%13245 = sext i16 %13244 to i32
%13246 = sub nsw i32 25, %13245
br label %13247
13247: ; preds = %13243, %13242
%13248 = phi i32 [ 0, %13242 ], [ %13246, %13243 ]
%13249 = trunc i32 %13248 to i16
store i16 %13249, i16* %10
%13250 = load i16, i16* %18
%13251 = sext i16 %13250 to i32
%13252 = icmp eq i32 %13251, 0
br i1 %13252, label %13253, label %13254
13253: ; preds = %13247
br label %13258
13254: ; preds = %13247
%13255 = load i16, i16* %18
%13256 = sext i16 %13255 to i32
%13257 = sub nsw i32 25, %13256
br label %13258
13258: ; preds = %13254, %13253
%13259 = phi i32 [ 0, %13253 ], [ %13257, %13254 ]
%13260 = trunc i32 %13259 to i16
store i16 %13260, i16* %14
%13261 = load i16, i16* %11
store i16 %13261, i16* %18
%13262 = load i16, i16* %15
%13263 = sext i16 %13262 to i32
%13264 = icmp eq i32 %13263, 0
br i1 %13264, label %13265, label %13266
13265: ; preds = %13258
br label %13270
13266: ; preds = %13258
%13267 = load i16, i16* %15
%13268 = sext i16 %13267 to i32
%13269 = sub nsw i32 25, %13268
br label %13270
13270: ; preds = %13266, %13265
%13271 = phi i32 [ 0, %13265 ], [ %13269, %13266 ]
%13272 = trunc i32 %13271 to i16
store i16 %13272, i16* %11
%13273 = load i16, i16* %18
%13274 = sext i16 %13273 to i32
%13275 = icmp eq i32 %13274, 0
br i1 %13275, label %13276, label %13277
13276: ; preds = %13270
br label %13281
13277: ; preds = %13270
%13278 = load i16, i16* %18
%13279 = sext i16 %13278 to i32
%13280 = sub nsw i32 25, %13279
br label %13281
13281: ; preds = %13277, %13276
%13282 = phi i32 [ 0, %13276 ], [ %13280, %13277 ]
%13283 = trunc i32 %13282 to i16
store i16 %13283, i16* %15
%13284 = load i16, i16* %12
store i16 %13284, i16* %18
%13285 = load i16, i16* %16
%13286 = sext i16 %13285 to i32
%13287 = icmp eq i32 %13286, 0
br i1 %13287, label %13288, label %13289
13288: ; preds = %13281
br label %13293
13289: ; preds = %13281
%13290 = load i16, i16* %16
%13291 = sext i16 %13290 to i32
%13292 = sub nsw i32 25, %13291
br label %13293
13293: ; preds = %13289, %13288
%13294 = phi i32 [ 0, %13288 ], [ %13292, %13289 ]
%13295 = trunc i32 %13294 to i16
store i16 %13295, i16* %12
%13296 = load i16, i16* %18
%13297 = sext i16 %13296 to i32
%13298 = icmp eq i32 %13297, 0
br i1 %13298, label %13299, label %13300
13299: ; preds = %13293
br label %13304
13300: ; preds = %13293
%13301 = load i16, i16* %18
%13302 = sext i16 %13301 to i32
%13303 = sub nsw i32 25, %13302
br label %13304
13304: ; preds = %13300, %13299
%13305 = phi i32 [ 0, %13299 ], [ %13303, %13300 ]
%13306 = trunc i32 %13305 to i16
store i16 %13306, i16* %16
%13307 = load i16, i16* %13
store i16 %13307, i16* %18
%13308 = load i16, i16* %17
%13309 = sext i16 %13308 to i32
%13310 = icmp eq i32 %13309, 0
br i1 %13310, label %13311, label %13312
13311: ; preds = %13304
br label %13316
13312: ; preds = %13304
%13313 = load i16, i16* %17
%13314 = sext i16 %13313 to i32
%13315 = sub nsw i32 25, %13314
br label %13316
13316: ; preds = %13312, %13311
%13317 = phi i32 [ 0, %13311 ], [ %13315, %13312 ]
%13318 = trunc i32 %13317 to i16
store i16 %13318, i16* %13
%13319 = load i16, i16* %18
%13320 = sext i16 %13319 to i32
%13321 = icmp eq i32 %13320, 0
br i1 %13321, label %13322, label %13323
13322: ; preds = %13316
br label %13327
13323: ; preds = %13316
%13324 = load i16, i16* %18
%13325 = sext i16 %13324 to i32
%13326 = sub nsw i32 25, %13325
br label %13327
13327: ; preds = %13323, %13322
%13328 = phi i32 [ 0, %13322 ], [ %13326, %13323 ]
%13329 = trunc i32 %13328 to i16
store i16 %13329, i16* %17
%13330 = load i16, i16* %10
%13331 = sext i16 %13330 to i32
%13332 = load i16, i16* %11
%13333 = sext i16 %13332 to i32
%13334 = load i16, i16* %12
%13335 = sext i16 %13334 to i32
%13336 = load i16, i16* %13
%13337 = sext i16 %13336 to i32
%13338 = load i16, i16* %14
%13339 = sext i16 %13338 to i32
%13340 = load i16, i16* %15
%13341 = sext i16 %13340 to i32
%13342 = load i16, i16* %16
%13343 = sext i16 %13342 to i32
%13344 = load i16, i16* %17
%13345 = sext i16 %13344 to i32
%13346 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13331, i32 %13333, i32 %13335, i32 %13337, i32 %13339, i32 %13341, i32 %13343, i32 %13345)
%13347 = icmp eq i32 %13346, -1
br i1 %13347, label %13348, label %13349
13348: ; preds = %13327
store i16 -1, i16* %9
br label %18764
13349: ; preds = %13327
%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
%13442 = load i16, i16* %22
store i16 %13442, i16* %21
br label %13443
13443: ; preds = %13439, %13232
%13444 = load i16, i16* %19
store i16 %13444, i16* %12
br label %13445
13445: ; preds = %13443, %13017, %13011, %13005, %12999, %12993, %12982
br label %13446
13446: ; preds = %13445, %12978, %12974
br label %18738
13447: ; preds = %12970
%13448 = load i16, i16* %22
%13449 = sext i16 %13448 to i32
%13450 = icmp eq i32 %13449, 21
br i1 %13450, label %13451, label %13929
13451: ; preds = %13447
%13452 = load i16, i16* %12
%13453 = sext i16 %13452 to i32
%13454 = icmp ne i32 %13453, 0
br i1 %13454, label %13455, label %13928
13455: ; preds = %13451
%13456 = load i16, i16* %12
%13457 = sext i16 %13456 to i32
%13458 = icmp slt i32 4, %13457
br i1 %13458, label %13459, label %13928
13459: ; preds = %13455
%13460 = load i16, i16* %12
%13461 = sext i16 %13460 to i32
%13462 = srem i32 %13461, 4
%13463 = icmp ne i32 %13462, 1
br i1 %13463, label %13464, label %13928
13464: ; preds = %13459
%13465 = load i16, i16* %12
store i16 %13465, i16* %19
%13466 = load i16, i16* %19
%13467 = sext i16 %13466 to i32
%13468 = sub nsw i32 %13467, 5
%13469 = trunc i32 %13468 to i16
store i16 %13469, i16* %20
%13470 = load i16, i16* %20
%13471 = sext i16 %13470 to i32
%13472 = load i16, i16* %10
%13473 = sext i16 %13472 to i32
%13474 = icmp ne i32 %13471, %13473
br i1 %13474, label %13475, label %13927
13475: ; preds = %13464
%13476 = load i16, i16* %20
%13477 = sext i16 %13476 to i32
%13478 = load i16, i16* %11
%13479 = sext i16 %13478 to i32
%13480 = icmp ne i32 %13477, %13479
br i1 %13480, label %13481, label %13927
13481: ; preds = %13475
%13482 = load i16, i16* %20
%13483 = sext i16 %13482 to i32
%13484 = load i16, i16* %13
%13485 = sext i16 %13484 to i32
%13486 = icmp ne i32 %13483, %13485
br i1 %13486, label %13487, label %13927
13487: ; preds = %13481
%13488 = load i16, i16* %20
%13489 = sext i16 %13488 to i32
%13490 = load i16, i16* %14
%13491 = sext i16 %13490 to i32
%13492 = icmp ne i32 %13489, %13491
br i1 %13492, label %13493, label %13927
13493: ; preds = %13487
%13494 = load i16, i16* %20
%13495 = sext i16 %13494 to i32
%13496 = load i16, i16* %16
%13497 = sext i16 %13496 to i32
%13498 = icmp ne i32 %13495, %13497
br i1 %13498, label %13499, label %13927
13499: ; preds = %13493
%13500 = load i16, i16* %20
%13501 = sext i16 %13500 to i32
%13502 = load i16, i16* %17
%13503 = sext i16 %13502 to i32
%13504 = icmp ne i32 %13501, %13503
br i1 %13504, label %13505, label %13927
13505: ; preds = %13499
%13506 = load i16, i16* %20
store i16 %13506, i16* %12
%13507 = load i16, i16* %15
%13508 = sext i16 %13507 to i32
%13509 = load i16, i16* %20
%13510 = sext i16 %13509 to i32
%13511 = icmp eq i32 %13508, %13510
br i1 %13511, label %13512, label %13719
13512: ; preds = %13505
store i16 0, i16* %15
%13513 = load i16, i16* %10
store i16 %13513, i16* %18
%13514 = load i16, i16* %14
%13515 = sext i16 %13514 to i32
%13516 = icmp eq i32 %13515, 0
br i1 %13516, label %13517, label %13518
13517: ; preds = %13512
br label %13522
13518: ; preds = %13512
%13519 = load i16, i16* %14
%13520 = sext i16 %13519 to i32
%13521 = sub nsw i32 25, %13520
br label %13522
13522: ; preds = %13518, %13517
%13523 = phi i32 [ 0, %13517 ], [ %13521, %13518 ]
%13524 = trunc i32 %13523 to i16
store i16 %13524, i16* %10
%13525 = load i16, i16* %18
%13526 = sext i16 %13525 to i32
%13527 = icmp eq i32 %13526, 0
br i1 %13527, label %13528, label %13529
13528: ; preds = %13522
br label %13533
13529: ; preds = %13522
%13530 = load i16, i16* %18
%13531 = sext i16 %13530 to i32
%13532 = sub nsw i32 25, %13531
br label %13533
13533: ; preds = %13529, %13528
%13534 = phi i32 [ 0, %13528 ], [ %13532, %13529 ]
%13535 = trunc i32 %13534 to i16
store i16 %13535, i16* %14
%13536 = load i16, i16* %11
store i16 %13536, i16* %18
%13537 = load i16, i16* %15
%13538 = sext i16 %13537 to i32
%13539 = icmp eq i32 %13538, 0
br i1 %13539, label %13540, label %13541
13540: ; preds = %13533
br label %13545
13541: ; preds = %13533
%13542 = load i16, i16* %15
%13543 = sext i16 %13542 to i32
%13544 = sub nsw i32 25, %13543
br label %13545
13545: ; preds = %13541, %13540
%13546 = phi i32 [ 0, %13540 ], [ %13544, %13541 ]
%13547 = trunc i32 %13546 to i16
store i16 %13547, i16* %11
%13548 = load i16, i16* %18
%13549 = sext i16 %13548 to i32
%13550 = icmp eq i32 %13549, 0
br i1 %13550, label %13551, label %13552
13551: ; preds = %13545
br label %13556
13552: ; preds = %13545
%13553 = load i16, i16* %18
%13554 = sext i16 %13553 to i32
%13555 = sub nsw i32 25, %13554
br label %13556
13556: ; preds = %13552, %13551
%13557 = phi i32 [ 0, %13551 ], [ %13555, %13552 ]
%13558 = trunc i32 %13557 to i16
store i16 %13558, i16* %15
%13559 = load i16, i16* %12
store i16 %13559, i16* %18
%13560 = load i16, i16* %16
%13561 = sext i16 %13560 to i32
%13562 = icmp eq i32 %13561, 0
br i1 %13562, label %13563, label %13564
13563: ; preds = %13556
br label %13568
13564: ; preds = %13556
%13565 = load i16, i16* %16
%13566 = sext i16 %13565 to i32
%13567 = sub nsw i32 25, %13566
br label %13568
13568: ; preds = %13564, %13563
%13569 = phi i32 [ 0, %13563 ], [ %13567, %13564 ]
%13570 = trunc i32 %13569 to i16
store i16 %13570, i16* %12
%13571 = load i16, i16* %18
%13572 = sext i16 %13571 to i32
%13573 = icmp eq i32 %13572, 0
br i1 %13573, label %13574, label %13575
13574: ; preds = %13568
br label %13579
13575: ; preds = %13568
%13576 = load i16, i16* %18
%13577 = sext i16 %13576 to i32
%13578 = sub nsw i32 25, %13577
br label %13579
13579: ; preds = %13575, %13574
%13580 = phi i32 [ 0, %13574 ], [ %13578, %13575 ]
%13581 = trunc i32 %13580 to i16
store i16 %13581, i16* %16
%13582 = load i16, i16* %13
store i16 %13582, i16* %18
%13583 = load i16, i16* %17
%13584 = sext i16 %13583 to i32
%13585 = icmp eq i32 %13584, 0
br i1 %13585, label %13586, label %13587
13586: ; preds = %13579
br label %13591
13587: ; preds = %13579
%13588 = load i16, i16* %17
%13589 = sext i16 %13588 to i32
%13590 = sub nsw i32 25, %13589
br label %13591
13591: ; preds = %13587, %13586
%13592 = phi i32 [ 0, %13586 ], [ %13590, %13587 ]
%13593 = trunc i32 %13592 to i16
store i16 %13593, i16* %13
%13594 = load i16, i16* %18
%13595 = sext i16 %13594 to i32
%13596 = icmp eq i32 %13595, 0
br i1 %13596, label %13597, label %13598
13597: ; preds = %13591
br label %13602
13598: ; preds = %13591
%13599 = load i16, i16* %18
%13600 = sext i16 %13599 to i32
%13601 = sub nsw i32 25, %13600
br label %13602
13602: ; preds = %13598, %13597
%13603 = phi i32 [ 0, %13597 ], [ %13601, %13598 ]
%13604 = trunc i32 %13603 to i16
store i16 %13604, i16* %17
%13605 = load i16, i16* %10
%13606 = sext i16 %13605 to i32
%13607 = load i16, i16* %11
%13608 = sext i16 %13607 to i32
%13609 = load i16, i16* %12
%13610 = sext i16 %13609 to i32
%13611 = load i16, i16* %13
%13612 = sext i16 %13611 to i32
%13613 = load i16, i16* %14
%13614 = sext i16 %13613 to i32
%13615 = load i16, i16* %15
%13616 = sext i16 %13615 to i32
%13617 = load i16, i16* %16
%13618 = sext i16 %13617 to i32
%13619 = load i16, i16* %17
%13620 = sext i16 %13619 to i32
%13621 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13606, i32 %13608, i32 %13610, i32 %13612, i32 %13614, i32 %13616, i32 %13618, i32 %13620)
%13622 = icmp eq i32 %13621, -1
br i1 %13622, label %13623, label %13624
13623: ; preds = %13602
store i16 -1, i16* %9
br label %18764
13624: ; preds = %13602
%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* %22
store i16 %13717, i16* %21
%13718 = load i16, i16* %20
store i16 %13718, i16* %15
br label %13925
13719: ; preds = %13505
%13720 = load i16, i16* %10
store i16 %13720, i16* %18
%13721 = load i16, i16* %14
%13722 = sext i16 %13721 to i32
%13723 = icmp eq i32 %13722, 0
br i1 %13723, label %13724, label %13725
13724: ; preds = %13719
br label %13729
13725: ; preds = %13719
%13726 = load i16, i16* %14
%13727 = sext i16 %13726 to i32
%13728 = sub nsw i32 25, %13727
br label %13729
13729: ; preds = %13725, %13724
%13730 = phi i32 [ 0, %13724 ], [ %13728, %13725 ]
%13731 = trunc i32 %13730 to i16
store i16 %13731, i16* %10
%13732 = load i16, i16* %18
%13733 = sext i16 %13732 to i32
%13734 = icmp eq i32 %13733, 0
br i1 %13734, label %13735, label %13736
13735: ; preds = %13729
br label %13740
13736: ; preds = %13729
%13737 = load i16, i16* %18
%13738 = sext i16 %13737 to i32
%13739 = sub nsw i32 25, %13738
br label %13740
13740: ; preds = %13736, %13735
%13741 = phi i32 [ 0, %13735 ], [ %13739, %13736 ]
%13742 = trunc i32 %13741 to i16
store i16 %13742, i16* %14
%13743 = load i16, i16* %11
store i16 %13743, i16* %18
%13744 = load i16, i16* %15
%13745 = sext i16 %13744 to i32
%13746 = icmp eq i32 %13745, 0
br i1 %13746, label %13747, label %13748
13747: ; preds = %13740
br label %13752
13748: ; preds = %13740
%13749 = load i16, i16* %15
%13750 = sext i16 %13749 to i32
%13751 = sub nsw i32 25, %13750
br label %13752
13752: ; preds = %13748, %13747
%13753 = phi i32 [ 0, %13747 ], [ %13751, %13748 ]
%13754 = trunc i32 %13753 to i16
store i16 %13754, i16* %11
%13755 = load i16, i16* %18
%13756 = sext i16 %13755 to i32
%13757 = icmp eq i32 %13756, 0
br i1 %13757, label %13758, label %13759
13758: ; preds = %13752
br label %13763
13759: ; preds = %13752
%13760 = load i16, i16* %18
%13761 = sext i16 %13760 to i32
%13762 = sub nsw i32 25, %13761
br label %13763
13763: ; preds = %13759, %13758
%13764 = phi i32 [ 0, %13758 ], [ %13762, %13759 ]
%13765 = trunc i32 %13764 to i16
store i16 %13765, i16* %15
%13766 = load i16, i16* %12
store i16 %13766, i16* %18
%13767 = load i16, i16* %16
%13768 = sext i16 %13767 to i32
%13769 = icmp eq i32 %13768, 0
br i1 %13769, label %13770, label %13771
13770: ; preds = %13763
br label %13775
13771: ; preds = %13763
%13772 = load i16, i16* %16
%13773 = sext i16 %13772 to i32
%13774 = sub nsw i32 25, %13773
br label %13775
13775: ; preds = %13771, %13770
%13776 = phi i32 [ 0, %13770 ], [ %13774, %13771 ]
%13777 = trunc i32 %13776 to i16
store i16 %13777, i16* %12
%13778 = load i16, i16* %18
%13779 = sext i16 %13778 to i32
%13780 = icmp eq i32 %13779, 0
br i1 %13780, label %13781, label %13782
13781: ; preds = %13775
br label %13786
13782: ; preds = %13775
%13783 = load i16, i16* %18
%13784 = sext i16 %13783 to i32
%13785 = sub nsw i32 25, %13784
br label %13786
13786: ; preds = %13782, %13781
%13787 = phi i32 [ 0, %13781 ], [ %13785, %13782 ]
%13788 = trunc i32 %13787 to i16
store i16 %13788, i16* %16
%13789 = load i16, i16* %13
store i16 %13789, i16* %18
%13790 = load i16, i16* %17
%13791 = sext i16 %13790 to i32
%13792 = icmp eq i32 %13791, 0
br i1 %13792, label %13793, label %13794
13793: ; preds = %13786
br label %13798
13794: ; preds = %13786
%13795 = load i16, i16* %17
%13796 = sext i16 %13795 to i32
%13797 = sub nsw i32 25, %13796
br label %13798
13798: ; preds = %13794, %13793
%13799 = phi i32 [ 0, %13793 ], [ %13797, %13794 ]
%13800 = trunc i32 %13799 to i16
store i16 %13800, i16* %13
%13801 = load i16, i16* %18
%13802 = sext i16 %13801 to i32
%13803 = icmp eq i32 %13802, 0
br i1 %13803, label %13804, label %13805
13804: ; preds = %13798
br label %13809
13805: ; preds = %13798
%13806 = load i16, i16* %18
%13807 = sext i16 %13806 to i32
%13808 = sub nsw i32 25, %13807
br label %13809
13809: ; preds = %13805, %13804
%13810 = phi i32 [ 0, %13804 ], [ %13808, %13805 ]
%13811 = trunc i32 %13810 to i16
store i16 %13811, i16* %17
%13812 = load i16, i16* %10
%13813 = sext i16 %13812 to i32
%13814 = load i16, i16* %11
%13815 = sext i16 %13814 to i32
%13816 = load i16, i16* %12
%13817 = sext i16 %13816 to i32
%13818 = load i16, i16* %13
%13819 = sext i16 %13818 to i32
%13820 = load i16, i16* %14
%13821 = sext i16 %13820 to i32
%13822 = load i16, i16* %15
%13823 = sext i16 %13822 to i32
%13824 = load i16, i16* %16
%13825 = sext i16 %13824 to i32
%13826 = load i16, i16* %17
%13827 = sext i16 %13826 to i32
%13828 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13813, i32 %13815, i32 %13817, i32 %13819, i32 %13821, i32 %13823, i32 %13825, i32 %13827)
%13829 = icmp eq i32 %13828, -1
br i1 %13829, label %13830, label %13831
13830: ; preds = %13809
store i16 -1, i16* %9
br label %18764
13831: ; preds = %13809
%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
%13924 = load i16, i16* %22
store i16 %13924, i16* %21
br label %13925
13925: ; preds = %13921, %13714
%13926 = load i16, i16* %19
store i16 %13926, i16* %12
br label %13927
13927: ; preds = %13925, %13499, %13493, %13487, %13481, %13475, %13464
br label %13928
13928: ; preds = %13927, %13459, %13455, %13451
br label %18737
13929: ; preds = %13447
%13930 = load i16, i16* %22
%13931 = sext i16 %13930 to i32
%13932 = icmp eq i32 %13931, 22
br i1 %13932, label %13933, label %14407
13933: ; preds = %13929
%13934 = load i16, i16* %12
%13935 = sext i16 %13934 to i32
%13936 = icmp ne i32 %13935, 0
br i1 %13936, label %13937, label %14406
13937: ; preds = %13933
%13938 = load i16, i16* %12
%13939 = sext i16 %13938 to i32
%13940 = srem i32 %13939, 4
%13941 = icmp ne i32 %13940, 1
br i1 %13941, label %13942, label %14406
13942: ; preds = %13937
%13943 = load i16, i16* %12
store i16 %13943, i16* %19
%13944 = load i16, i16* %19
%13945 = sext i16 %13944 to i32
%13946 = sub nsw i32 %13945, 1
%13947 = trunc i32 %13946 to i16
store i16 %13947, i16* %20
%13948 = load i16, i16* %20
%13949 = sext i16 %13948 to i32
%13950 = load i16, i16* %10
%13951 = sext i16 %13950 to i32
%13952 = icmp ne i32 %13949, %13951
br i1 %13952, label %13953, label %14405
13953: ; preds = %13942
%13954 = load i16, i16* %20
%13955 = sext i16 %13954 to i32
%13956 = load i16, i16* %11
%13957 = sext i16 %13956 to i32
%13958 = icmp ne i32 %13955, %13957
br i1 %13958, label %13959, label %14405
13959: ; preds = %13953
%13960 = load i16, i16* %20
%13961 = sext i16 %13960 to i32
%13962 = load i16, i16* %13
%13963 = sext i16 %13962 to i32
%13964 = icmp ne i32 %13961, %13963
br i1 %13964, label %13965, label %14405
13965: ; preds = %13959
%13966 = load i16, i16* %20
%13967 = sext i16 %13966 to i32
%13968 = load i16, i16* %14
%13969 = sext i16 %13968 to i32
%13970 = icmp ne i32 %13967, %13969
br i1 %13970, label %13971, label %14405
13971: ; preds = %13965
%13972 = load i16, i16* %20
%13973 = sext i16 %13972 to i32
%13974 = load i16, i16* %16
%13975 = sext i16 %13974 to i32
%13976 = icmp ne i32 %13973, %13975
br i1 %13976, label %13977, label %14405
13977: ; preds = %13971
%13978 = load i16, i16* %20
%13979 = sext i16 %13978 to i32
%13980 = load i16, i16* %17
%13981 = sext i16 %13980 to i32
%13982 = icmp ne i32 %13979, %13981
br i1 %13982, label %13983, label %14405
13983: ; preds = %13977
%13984 = load i16, i16* %20
store i16 %13984, i16* %12
%13985 = load i16, i16* %15
%13986 = sext i16 %13985 to i32
%13987 = load i16, i16* %20
%13988 = sext i16 %13987 to i32
%13989 = icmp eq i32 %13986, %13988
br i1 %13989, label %13990, label %14197
13990: ; preds = %13983
store i16 0, i16* %15
%13991 = load i16, i16* %10
store i16 %13991, i16* %18
%13992 = load i16, i16* %14
%13993 = sext i16 %13992 to i32
%13994 = icmp eq i32 %13993, 0
br i1 %13994, label %13995, label %13996
13995: ; preds = %13990
br label %14000
13996: ; preds = %13990
%13997 = load i16, i16* %14
%13998 = sext i16 %13997 to i32
%13999 = sub nsw i32 25, %13998
br label %14000
14000: ; preds = %13996, %13995
%14001 = phi i32 [ 0, %13995 ], [ %13999, %13996 ]
%14002 = trunc i32 %14001 to i16
store i16 %14002, i16* %10
%14003 = load i16, i16* %18
%14004 = sext i16 %14003 to i32
%14005 = icmp eq i32 %14004, 0
br i1 %14005, label %14006, label %14007
14006: ; preds = %14000
br label %14011
14007: ; preds = %14000
%14008 = load i16, i16* %18
%14009 = sext i16 %14008 to i32
%14010 = sub nsw i32 25, %14009
br label %14011
14011: ; preds = %14007, %14006
%14012 = phi i32 [ 0, %14006 ], [ %14010, %14007 ]
%14013 = trunc i32 %14012 to i16
store i16 %14013, i16* %14
%14014 = load i16, i16* %11
store i16 %14014, i16* %18
%14015 = load i16, i16* %15
%14016 = sext i16 %14015 to i32
%14017 = icmp eq i32 %14016, 0
br i1 %14017, label %14018, label %14019
14018: ; preds = %14011
br label %14023
14019: ; preds = %14011
%14020 = load i16, i16* %15
%14021 = sext i16 %14020 to i32
%14022 = sub nsw i32 25, %14021
br label %14023
14023: ; preds = %14019, %14018
%14024 = phi i32 [ 0, %14018 ], [ %14022, %14019 ]
%14025 = trunc i32 %14024 to i16
store i16 %14025, i16* %11
%14026 = load i16, i16* %18
%14027 = sext i16 %14026 to i32
%14028 = icmp eq i32 %14027, 0
br i1 %14028, label %14029, label %14030
14029: ; preds = %14023
br label %14034
14030: ; preds = %14023
%14031 = load i16, i16* %18
%14032 = sext i16 %14031 to i32
%14033 = sub nsw i32 25, %14032
br label %14034
14034: ; preds = %14030, %14029
%14035 = phi i32 [ 0, %14029 ], [ %14033, %14030 ]
%14036 = trunc i32 %14035 to i16
store i16 %14036, i16* %15
%14037 = load i16, i16* %12
store i16 %14037, i16* %18
%14038 = load i16, i16* %16
%14039 = sext i16 %14038 to i32
%14040 = icmp eq i32 %14039, 0
br i1 %14040, label %14041, label %14042
14041: ; preds = %14034
br label %14046
14042: ; preds = %14034
%14043 = load i16, i16* %16
%14044 = sext i16 %14043 to i32
%14045 = sub nsw i32 25, %14044
br label %14046
14046: ; preds = %14042, %14041
%14047 = phi i32 [ 0, %14041 ], [ %14045, %14042 ]
%14048 = trunc i32 %14047 to i16
store i16 %14048, i16* %12
%14049 = load i16, i16* %18
%14050 = sext i16 %14049 to i32
%14051 = icmp eq i32 %14050, 0
br i1 %14051, label %14052, label %14053
14052: ; preds = %14046
br label %14057
14053: ; preds = %14046
%14054 = load i16, i16* %18
%14055 = sext i16 %14054 to i32
%14056 = sub nsw i32 25, %14055
br label %14057
14057: ; preds = %14053, %14052
%14058 = phi i32 [ 0, %14052 ], [ %14056, %14053 ]
%14059 = trunc i32 %14058 to i16
store i16 %14059, i16* %16
%14060 = load i16, i16* %13
store i16 %14060, i16* %18
%14061 = load i16, i16* %17
%14062 = sext i16 %14061 to i32
%14063 = icmp eq i32 %14062, 0
br i1 %14063, label %14064, label %14065
14064: ; preds = %14057
br label %14069
14065: ; preds = %14057
%14066 = load i16, i16* %17
%14067 = sext i16 %14066 to i32
%14068 = sub nsw i32 25, %14067
br label %14069
14069: ; preds = %14065, %14064
%14070 = phi i32 [ 0, %14064 ], [ %14068, %14065 ]
%14071 = trunc i32 %14070 to i16
store i16 %14071, i16* %13
%14072 = load i16, i16* %18
%14073 = sext i16 %14072 to i32
%14074 = icmp eq i32 %14073, 0
br i1 %14074, label %14075, label %14076
14075: ; preds = %14069
br label %14080
14076: ; preds = %14069
%14077 = load i16, i16* %18
%14078 = sext i16 %14077 to i32
%14079 = sub nsw i32 25, %14078
br label %14080
14080: ; preds = %14076, %14075
%14081 = phi i32 [ 0, %14075 ], [ %14079, %14076 ]
%14082 = trunc i32 %14081 to i16
store i16 %14082, i16* %17
%14083 = load i16, i16* %10
%14084 = sext i16 %14083 to i32
%14085 = load i16, i16* %11
%14086 = sext i16 %14085 to i32
%14087 = load i16, i16* %12
%14088 = sext i16 %14087 to i32
%14089 = load i16, i16* %13
%14090 = sext i16 %14089 to i32
%14091 = load i16, i16* %14
%14092 = sext i16 %14091 to i32
%14093 = load i16, i16* %15
%14094 = sext i16 %14093 to i32
%14095 = load i16, i16* %16
%14096 = sext i16 %14095 to i32
%14097 = load i16, i16* %17
%14098 = sext i16 %14097 to i32
%14099 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14084, i32 %14086, i32 %14088, i32 %14090, i32 %14092, i32 %14094, i32 %14096, i32 %14098)
%14100 = icmp eq i32 %14099, -1
br i1 %14100, label %14101, label %14102
14101: ; preds = %14080
store i16 -1, i16* %9
br label %18764
14102: ; preds = %14080
%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* %22
store i16 %14195, i16* %21
%14196 = load i16, i16* %20
store i16 %14196, i16* %15
br label %14403
14197: ; preds = %13983
%14198 = load i16, i16* %10
store i16 %14198, i16* %18
%14199 = load i16, i16* %14
%14200 = sext i16 %14199 to i32
%14201 = icmp eq i32 %14200, 0
br i1 %14201, label %14202, label %14203
14202: ; preds = %14197
br label %14207
14203: ; preds = %14197
%14204 = load i16, i16* %14
%14205 = sext i16 %14204 to i32
%14206 = sub nsw i32 25, %14205
br label %14207
14207: ; preds = %14203, %14202
%14208 = phi i32 [ 0, %14202 ], [ %14206, %14203 ]
%14209 = trunc i32 %14208 to i16
store i16 %14209, i16* %10
%14210 = load i16, i16* %18
%14211 = sext i16 %14210 to i32
%14212 = icmp eq i32 %14211, 0
br i1 %14212, label %14213, label %14214
14213: ; preds = %14207
br label %14218
14214: ; preds = %14207
%14215 = load i16, i16* %18
%14216 = sext i16 %14215 to i32
%14217 = sub nsw i32 25, %14216
br label %14218
14218: ; preds = %14214, %14213
%14219 = phi i32 [ 0, %14213 ], [ %14217, %14214 ]
%14220 = trunc i32 %14219 to i16
store i16 %14220, i16* %14
%14221 = load i16, i16* %11
store i16 %14221, i16* %18
%14222 = load i16, i16* %15
%14223 = sext i16 %14222 to i32
%14224 = icmp eq i32 %14223, 0
br i1 %14224, label %14225, label %14226
14225: ; preds = %14218
br label %14230
14226: ; preds = %14218
%14227 = load i16, i16* %15
%14228 = sext i16 %14227 to i32
%14229 = sub nsw i32 25, %14228
br label %14230
14230: ; preds = %14226, %14225
%14231 = phi i32 [ 0, %14225 ], [ %14229, %14226 ]
%14232 = trunc i32 %14231 to i16
store i16 %14232, i16* %11
%14233 = load i16, i16* %18
%14234 = sext i16 %14233 to i32
%14235 = icmp eq i32 %14234, 0
br i1 %14235, label %14236, label %14237
14236: ; preds = %14230
br label %14241
14237: ; preds = %14230
%14238 = load i16, i16* %18
%14239 = sext i16 %14238 to i32
%14240 = sub nsw i32 25, %14239
br label %14241
14241: ; preds = %14237, %14236
%14242 = phi i32 [ 0, %14236 ], [ %14240, %14237 ]
%14243 = trunc i32 %14242 to i16
store i16 %14243, i16* %15
%14244 = load i16, i16* %12
store i16 %14244, i16* %18
%14245 = load i16, i16* %16
%14246 = sext i16 %14245 to i32
%14247 = icmp eq i32 %14246, 0
br i1 %14247, label %14248, label %14249
14248: ; preds = %14241
br label %14253
14249: ; preds = %14241
%14250 = load i16, i16* %16
%14251 = sext i16 %14250 to i32
%14252 = sub nsw i32 25, %14251
br label %14253
14253: ; preds = %14249, %14248
%14254 = phi i32 [ 0, %14248 ], [ %14252, %14249 ]
%14255 = trunc i32 %14254 to i16
store i16 %14255, i16* %12
%14256 = load i16, i16* %18
%14257 = sext i16 %14256 to i32
%14258 = icmp eq i32 %14257, 0
br i1 %14258, label %14259, label %14260
14259: ; preds = %14253
br label %14264
14260: ; preds = %14253
%14261 = load i16, i16* %18
%14262 = sext i16 %14261 to i32
%14263 = sub nsw i32 25, %14262
br label %14264
14264: ; preds = %14260, %14259
%14265 = phi i32 [ 0, %14259 ], [ %14263, %14260 ]
%14266 = trunc i32 %14265 to i16
store i16 %14266, i16* %16
%14267 = load i16, i16* %13
store i16 %14267, i16* %18
%14268 = load i16, i16* %17
%14269 = sext i16 %14268 to i32
%14270 = icmp eq i32 %14269, 0
br i1 %14270, label %14271, label %14272
14271: ; preds = %14264
br label %14276
14272: ; preds = %14264
%14273 = load i16, i16* %17
%14274 = sext i16 %14273 to i32
%14275 = sub nsw i32 25, %14274
br label %14276
14276: ; preds = %14272, %14271
%14277 = phi i32 [ 0, %14271 ], [ %14275, %14272 ]
%14278 = trunc i32 %14277 to i16
store i16 %14278, i16* %13
%14279 = load i16, i16* %18
%14280 = sext i16 %14279 to i32
%14281 = icmp eq i32 %14280, 0
br i1 %14281, label %14282, label %14283
14282: ; preds = %14276
br label %14287
14283: ; preds = %14276
%14284 = load i16, i16* %18
%14285 = sext i16 %14284 to i32
%14286 = sub nsw i32 25, %14285
br label %14287
14287: ; preds = %14283, %14282
%14288 = phi i32 [ 0, %14282 ], [ %14286, %14283 ]
%14289 = trunc i32 %14288 to i16
store i16 %14289, i16* %17
%14290 = load i16, i16* %10
%14291 = sext i16 %14290 to i32
%14292 = load i16, i16* %11
%14293 = sext i16 %14292 to i32
%14294 = load i16, i16* %12
%14295 = sext i16 %14294 to i32
%14296 = load i16, i16* %13
%14297 = sext i16 %14296 to i32
%14298 = load i16, i16* %14
%14299 = sext i16 %14298 to i32
%14300 = load i16, i16* %15
%14301 = sext i16 %14300 to i32
%14302 = load i16, i16* %16
%14303 = sext i16 %14302 to i32
%14304 = load i16, i16* %17
%14305 = sext i16 %14304 to i32
%14306 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14291, i32 %14293, i32 %14295, i32 %14297, i32 %14299, i32 %14301, i32 %14303, i32 %14305)
%14307 = icmp eq i32 %14306, -1
br i1 %14307, label %14308, label %14309
14308: ; preds = %14287
store i16 -1, i16* %9
br label %18764
14309: ; preds = %14287
%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
%14402 = load i16, i16* %22
store i16 %14402, i16* %21
br label %14403
14403: ; preds = %14399, %14192
%14404 = load i16, i16* %19
store i16 %14404, i16* %12
br label %14405
14405: ; preds = %14403, %13977, %13971, %13965, %13959, %13953, %13942
br label %14406
14406: ; preds = %14405, %13937, %13933
br label %18736
14407: ; preds = %13929
%14408 = load i16, i16* %22
%14409 = sext i16 %14408 to i32
%14410 = icmp eq i32 %14409, 23
br i1 %14410, label %14411, label %14889
14411: ; preds = %14407
%14412 = load i16, i16* %12
%14413 = sext i16 %14412 to i32
%14414 = icmp ne i32 %14413, 0
br i1 %14414, label %14415, label %14888
14415: ; preds = %14411
%14416 = load i16, i16* %12
%14417 = sext i16 %14416 to i32
%14418 = icmp slt i32 %14417, 21
br i1 %14418, label %14419, label %14888
14419: ; preds = %14415
%14420 = load i16, i16* %12
%14421 = sext i16 %14420 to i32
%14422 = srem i32 %14421, 4
%14423 = icmp ne i32 %14422, 1
br i1 %14423, label %14424, label %14888
14424: ; preds = %14419
%14425 = load i16, i16* %12
store i16 %14425, i16* %19
%14426 = load i16, i16* %19
%14427 = sext i16 %14426 to i32
%14428 = add nsw i32 %14427, 3
%14429 = trunc i32 %14428 to i16
store i16 %14429, i16* %20
%14430 = load i16, i16* %20
%14431 = sext i16 %14430 to i32
%14432 = load i16, i16* %10
%14433 = sext i16 %14432 to i32
%14434 = icmp ne i32 %14431, %14433
br i1 %14434, label %14435, label %14887
14435: ; preds = %14424
%14436 = load i16, i16* %20
%14437 = sext i16 %14436 to i32
%14438 = load i16, i16* %11
%14439 = sext i16 %14438 to i32
%14440 = icmp ne i32 %14437, %14439
br i1 %14440, label %14441, label %14887
14441: ; preds = %14435
%14442 = load i16, i16* %20
%14443 = sext i16 %14442 to i32
%14444 = load i16, i16* %13
%14445 = sext i16 %14444 to i32
%14446 = icmp ne i32 %14443, %14445
br i1 %14446, label %14447, label %14887
14447: ; preds = %14441
%14448 = load i16, i16* %20
%14449 = sext i16 %14448 to i32
%14450 = load i16, i16* %14
%14451 = sext i16 %14450 to i32
%14452 = icmp ne i32 %14449, %14451
br i1 %14452, label %14453, label %14887
14453: ; preds = %14447
%14454 = load i16, i16* %20
%14455 = sext i16 %14454 to i32
%14456 = load i16, i16* %16
%14457 = sext i16 %14456 to i32
%14458 = icmp ne i32 %14455, %14457
br i1 %14458, label %14459, label %14887
14459: ; preds = %14453
%14460 = load i16, i16* %20
%14461 = sext i16 %14460 to i32
%14462 = load i16, i16* %17
%14463 = sext i16 %14462 to i32
%14464 = icmp ne i32 %14461, %14463
br i1 %14464, label %14465, label %14887
14465: ; preds = %14459
%14466 = load i16, i16* %20
store i16 %14466, i16* %12
%14467 = load i16, i16* %15
%14468 = sext i16 %14467 to i32
%14469 = load i16, i16* %20
%14470 = sext i16 %14469 to i32
%14471 = icmp eq i32 %14468, %14470
br i1 %14471, label %14472, label %14679
14472: ; preds = %14465
store i16 0, i16* %15
%14473 = load i16, i16* %10
store i16 %14473, i16* %18
%14474 = load i16, i16* %14
%14475 = sext i16 %14474 to i32
%14476 = icmp eq i32 %14475, 0
br i1 %14476, label %14477, label %14478
14477: ; preds = %14472
br label %14482
14478: ; preds = %14472
%14479 = load i16, i16* %14
%14480 = sext i16 %14479 to i32
%14481 = sub nsw i32 25, %14480
br label %14482
14482: ; preds = %14478, %14477
%14483 = phi i32 [ 0, %14477 ], [ %14481, %14478 ]
%14484 = trunc i32 %14483 to i16
store i16 %14484, i16* %10
%14485 = load i16, i16* %18
%14486 = sext i16 %14485 to i32
%14487 = icmp eq i32 %14486, 0
br i1 %14487, label %14488, label %14489
14488: ; preds = %14482
br label %14493
14489: ; preds = %14482
%14490 = load i16, i16* %18
%14491 = sext i16 %14490 to i32
%14492 = sub nsw i32 25, %14491
br label %14493
14493: ; preds = %14489, %14488
%14494 = phi i32 [ 0, %14488 ], [ %14492, %14489 ]
%14495 = trunc i32 %14494 to i16
store i16 %14495, i16* %14
%14496 = load i16, i16* %11
store i16 %14496, i16* %18
%14497 = load i16, i16* %15
%14498 = sext i16 %14497 to i32
%14499 = icmp eq i32 %14498, 0
br i1 %14499, label %14500, label %14501
14500: ; preds = %14493
br label %14505
14501: ; preds = %14493
%14502 = load i16, i16* %15
%14503 = sext i16 %14502 to i32
%14504 = sub nsw i32 25, %14503
br label %14505
14505: ; preds = %14501, %14500
%14506 = phi i32 [ 0, %14500 ], [ %14504, %14501 ]
%14507 = trunc i32 %14506 to i16
store i16 %14507, i16* %11
%14508 = load i16, i16* %18
%14509 = sext i16 %14508 to i32
%14510 = icmp eq i32 %14509, 0
br i1 %14510, label %14511, label %14512
14511: ; preds = %14505
br label %14516
14512: ; preds = %14505
%14513 = load i16, i16* %18
%14514 = sext i16 %14513 to i32
%14515 = sub nsw i32 25, %14514
br label %14516
14516: ; preds = %14512, %14511
%14517 = phi i32 [ 0, %14511 ], [ %14515, %14512 ]
%14518 = trunc i32 %14517 to i16
store i16 %14518, i16* %15
%14519 = load i16, i16* %12
store i16 %14519, i16* %18
%14520 = load i16, i16* %16
%14521 = sext i16 %14520 to i32
%14522 = icmp eq i32 %14521, 0
br i1 %14522, label %14523, label %14524
14523: ; preds = %14516
br label %14528
14524: ; preds = %14516
%14525 = load i16, i16* %16
%14526 = sext i16 %14525 to i32
%14527 = sub nsw i32 25, %14526
br label %14528
14528: ; preds = %14524, %14523
%14529 = phi i32 [ 0, %14523 ], [ %14527, %14524 ]
%14530 = trunc i32 %14529 to i16
store i16 %14530, i16* %12
%14531 = load i16, i16* %18
%14532 = sext i16 %14531 to i32
%14533 = icmp eq i32 %14532, 0
br i1 %14533, label %14534, label %14535
14534: ; preds = %14528
br label %14539
14535: ; preds = %14528
%14536 = load i16, i16* %18
%14537 = sext i16 %14536 to i32
%14538 = sub nsw i32 25, %14537
br label %14539
14539: ; preds = %14535, %14534
%14540 = phi i32 [ 0, %14534 ], [ %14538, %14535 ]
%14541 = trunc i32 %14540 to i16
store i16 %14541, i16* %16
%14542 = load i16, i16* %13
store i16 %14542, i16* %18
%14543 = load i16, i16* %17
%14544 = sext i16 %14543 to i32
%14545 = icmp eq i32 %14544, 0
br i1 %14545, label %14546, label %14547
14546: ; preds = %14539
br label %14551
14547: ; preds = %14539
%14548 = load i16, i16* %17
%14549 = sext i16 %14548 to i32
%14550 = sub nsw i32 25, %14549
br label %14551
14551: ; preds = %14547, %14546
%14552 = phi i32 [ 0, %14546 ], [ %14550, %14547 ]
%14553 = trunc i32 %14552 to i16
store i16 %14553, i16* %13
%14554 = load i16, i16* %18
%14555 = sext i16 %14554 to i32
%14556 = icmp eq i32 %14555, 0
br i1 %14556, label %14557, label %14558
14557: ; preds = %14551
br label %14562
14558: ; preds = %14551
%14559 = load i16, i16* %18
%14560 = sext i16 %14559 to i32
%14561 = sub nsw i32 25, %14560
br label %14562
14562: ; preds = %14558, %14557
%14563 = phi i32 [ 0, %14557 ], [ %14561, %14558 ]
%14564 = trunc i32 %14563 to i16
store i16 %14564, i16* %17
%14565 = load i16, i16* %10
%14566 = sext i16 %14565 to i32
%14567 = load i16, i16* %11
%14568 = sext i16 %14567 to i32
%14569 = load i16, i16* %12
%14570 = sext i16 %14569 to i32
%14571 = load i16, i16* %13
%14572 = sext i16 %14571 to i32
%14573 = load i16, i16* %14
%14574 = sext i16 %14573 to i32
%14575 = load i16, i16* %15
%14576 = sext i16 %14575 to i32
%14577 = load i16, i16* %16
%14578 = sext i16 %14577 to i32
%14579 = load i16, i16* %17
%14580 = sext i16 %14579 to i32
%14581 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14566, i32 %14568, i32 %14570, i32 %14572, i32 %14574, i32 %14576, i32 %14578, i32 %14580)
%14582 = icmp eq i32 %14581, -1
br i1 %14582, label %14583, label %14584
14583: ; preds = %14562
store i16 -1, i16* %9
br label %18764
14584: ; preds = %14562
%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* %22
store i16 %14677, i16* %21
%14678 = load i16, i16* %20
store i16 %14678, i16* %15
br label %14885
14679: ; preds = %14465
%14680 = load i16, i16* %10
store i16 %14680, i16* %18
%14681 = load i16, i16* %14
%14682 = sext i16 %14681 to i32
%14683 = icmp eq i32 %14682, 0
br i1 %14683, label %14684, label %14685
14684: ; preds = %14679
br label %14689
14685: ; preds = %14679
%14686 = load i16, i16* %14
%14687 = sext i16 %14686 to i32
%14688 = sub nsw i32 25, %14687
br label %14689
14689: ; preds = %14685, %14684
%14690 = phi i32 [ 0, %14684 ], [ %14688, %14685 ]
%14691 = trunc i32 %14690 to i16
store i16 %14691, i16* %10
%14692 = load i16, i16* %18
%14693 = sext i16 %14692 to i32
%14694 = icmp eq i32 %14693, 0
br i1 %14694, label %14695, label %14696
14695: ; preds = %14689
br label %14700
14696: ; preds = %14689
%14697 = load i16, i16* %18
%14698 = sext i16 %14697 to i32
%14699 = sub nsw i32 25, %14698
br label %14700
14700: ; preds = %14696, %14695
%14701 = phi i32 [ 0, %14695 ], [ %14699, %14696 ]
%14702 = trunc i32 %14701 to i16
store i16 %14702, i16* %14
%14703 = load i16, i16* %11
store i16 %14703, i16* %18
%14704 = load i16, i16* %15
%14705 = sext i16 %14704 to i32
%14706 = icmp eq i32 %14705, 0
br i1 %14706, label %14707, label %14708
14707: ; preds = %14700
br label %14712
14708: ; preds = %14700
%14709 = load i16, i16* %15
%14710 = sext i16 %14709 to i32
%14711 = sub nsw i32 25, %14710
br label %14712
14712: ; preds = %14708, %14707
%14713 = phi i32 [ 0, %14707 ], [ %14711, %14708 ]
%14714 = trunc i32 %14713 to i16
store i16 %14714, i16* %11
%14715 = load i16, i16* %18
%14716 = sext i16 %14715 to i32
%14717 = icmp eq i32 %14716, 0
br i1 %14717, label %14718, label %14719
14718: ; preds = %14712
br label %14723
14719: ; preds = %14712
%14720 = load i16, i16* %18
%14721 = sext i16 %14720 to i32
%14722 = sub nsw i32 25, %14721
br label %14723
14723: ; preds = %14719, %14718
%14724 = phi i32 [ 0, %14718 ], [ %14722, %14719 ]
%14725 = trunc i32 %14724 to i16
store i16 %14725, i16* %15
%14726 = load i16, i16* %12
store i16 %14726, i16* %18
%14727 = load i16, i16* %16
%14728 = sext i16 %14727 to i32
%14729 = icmp eq i32 %14728, 0
br i1 %14729, label %14730, label %14731
14730: ; preds = %14723
br label %14735
14731: ; preds = %14723
%14732 = load i16, i16* %16
%14733 = sext i16 %14732 to i32
%14734 = sub nsw i32 25, %14733
br label %14735
14735: ; preds = %14731, %14730
%14736 = phi i32 [ 0, %14730 ], [ %14734, %14731 ]
%14737 = trunc i32 %14736 to i16
store i16 %14737, i16* %12
%14738 = load i16, i16* %18
%14739 = sext i16 %14738 to i32
%14740 = icmp eq i32 %14739, 0
br i1 %14740, label %14741, label %14742
14741: ; preds = %14735
br label %14746
14742: ; preds = %14735
%14743 = load i16, i16* %18
%14744 = sext i16 %14743 to i32
%14745 = sub nsw i32 25, %14744
br label %14746
14746: ; preds = %14742, %14741
%14747 = phi i32 [ 0, %14741 ], [ %14745, %14742 ]
%14748 = trunc i32 %14747 to i16
store i16 %14748, i16* %16
%14749 = load i16, i16* %13
store i16 %14749, i16* %18
%14750 = load i16, i16* %17
%14751 = sext i16 %14750 to i32
%14752 = icmp eq i32 %14751, 0
br i1 %14752, label %14753, label %14754
14753: ; preds = %14746
br label %14758
14754: ; preds = %14746
%14755 = load i16, i16* %17
%14756 = sext i16 %14755 to i32
%14757 = sub nsw i32 25, %14756
br label %14758
14758: ; preds = %14754, %14753
%14759 = phi i32 [ 0, %14753 ], [ %14757, %14754 ]
%14760 = trunc i32 %14759 to i16
store i16 %14760, i16* %13
%14761 = load i16, i16* %18
%14762 = sext i16 %14761 to i32
%14763 = icmp eq i32 %14762, 0
br i1 %14763, label %14764, label %14765
14764: ; preds = %14758
br label %14769
14765: ; preds = %14758
%14766 = load i16, i16* %18
%14767 = sext i16 %14766 to i32
%14768 = sub nsw i32 25, %14767
br label %14769
14769: ; preds = %14765, %14764
%14770 = phi i32 [ 0, %14764 ], [ %14768, %14765 ]
%14771 = trunc i32 %14770 to i16
store i16 %14771, i16* %17
%14772 = load i16, i16* %10
%14773 = sext i16 %14772 to i32
%14774 = load i16, i16* %11
%14775 = sext i16 %14774 to i32
%14776 = load i16, i16* %12
%14777 = sext i16 %14776 to i32
%14778 = load i16, i16* %13
%14779 = sext i16 %14778 to i32
%14780 = load i16, i16* %14
%14781 = sext i16 %14780 to i32
%14782 = load i16, i16* %15
%14783 = sext i16 %14782 to i32
%14784 = load i16, i16* %16
%14785 = sext i16 %14784 to i32
%14786 = load i16, i16* %17
%14787 = sext i16 %14786 to i32
%14788 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14773, i32 %14775, i32 %14777, i32 %14779, i32 %14781, i32 %14783, i32 %14785, i32 %14787)
%14789 = icmp eq i32 %14788, -1
br i1 %14789, label %14790, label %14791
14790: ; preds = %14769
store i16 -1, i16* %9
br label %18764
14791: ; preds = %14769
%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
%14884 = load i16, i16* %22
store i16 %14884, i16* %21
br label %14885
14885: ; preds = %14881, %14674
%14886 = load i16, i16* %19
store i16 %14886, i16* %12
br label %14887
14887: ; preds = %14885, %14459, %14453, %14447, %14441, %14435, %14424
br label %14888
14888: ; preds = %14887, %14419, %14415, %14411
br label %18735
14889: ; preds = %14407
%14890 = load i16, i16* %22
%14891 = sext i16 %14890 to i32
%14892 = icmp eq i32 %14891, 24
br i1 %14892, label %14893, label %15366
14893: ; preds = %14889
%14894 = load i16, i16* %13
%14895 = sext i16 %14894 to i32
%14896 = icmp ne i32 %14895, 0
br i1 %14896, label %14897, label %15365
14897: ; preds = %14893
%14898 = load i16, i16* %13
%14899 = sext i16 %14898 to i32
%14900 = icmp slt i32 %14899, 21
br i1 %14900, label %14901, label %15365
14901: ; preds = %14897
%14902 = load i16, i16* %13
store i16 %14902, i16* %19
%14903 = load i16, i16* %19
%14904 = sext i16 %14903 to i32
%14905 = add nsw i32 %14904, 4
%14906 = trunc i32 %14905 to i16
store i16 %14906, i16* %20
%14907 = load i16, i16* %20
%14908 = sext i16 %14907 to i32
%14909 = load i16, i16* %10
%14910 = sext i16 %14909 to i32
%14911 = icmp ne i32 %14908, %14910
br i1 %14911, label %14912, label %15364
14912: ; preds = %14901
%14913 = load i16, i16* %20
%14914 = sext i16 %14913 to i32
%14915 = load i16, i16* %11
%14916 = sext i16 %14915 to i32
%14917 = icmp ne i32 %14914, %14916
br i1 %14917, label %14918, label %15364
14918: ; preds = %14912
%14919 = load i16, i16* %20
%14920 = sext i16 %14919 to i32
%14921 = load i16, i16* %12
%14922 = sext i16 %14921 to i32
%14923 = icmp ne i32 %14920, %14922
br i1 %14923, label %14924, label %15364
14924: ; preds = %14918
%14925 = load i16, i16* %20
%14926 = sext i16 %14925 to i32
%14927 = load i16, i16* %14
%14928 = sext i16 %14927 to i32
%14929 = icmp ne i32 %14926, %14928
br i1 %14929, label %14930, label %15364
14930: ; preds = %14924
%14931 = load i16, i16* %20
%14932 = sext i16 %14931 to i32
%14933 = load i16, i16* %15
%14934 = sext i16 %14933 to i32
%14935 = icmp ne i32 %14932, %14934
br i1 %14935, label %14936, label %15364
14936: ; preds = %14930
%14937 = load i16, i16* %20
%14938 = sext i16 %14937 to i32
%14939 = load i16, i16* %17
%14940 = sext i16 %14939 to i32
%14941 = icmp ne i32 %14938, %14940
br i1 %14941, label %14942, label %15364
14942: ; preds = %14936
%14943 = load i16, i16* %20
store i16 %14943, i16* %13
%14944 = load i16, i16* %16
%14945 = sext i16 %14944 to i32
%14946 = load i16, i16* %20
%14947 = sext i16 %14946 to i32
%14948 = icmp eq i32 %14945, %14947
br i1 %14948, label %14949, label %15156
14949: ; preds = %14942
store i16 0, i16* %16
%14950 = load i16, i16* %10
store i16 %14950, i16* %18
%14951 = load i16, i16* %14
%14952 = sext i16 %14951 to i32
%14953 = icmp eq i32 %14952, 0
br i1 %14953, label %14954, label %14955
14954: ; preds = %14949
br label %14959
14955: ; preds = %14949
%14956 = load i16, i16* %14
%14957 = sext i16 %14956 to i32
%14958 = sub nsw i32 25, %14957
br label %14959
14959: ; preds = %14955, %14954
%14960 = phi i32 [ 0, %14954 ], [ %14958, %14955 ]
%14961 = trunc i32 %14960 to i16
store i16 %14961, i16* %10
%14962 = load i16, i16* %18
%14963 = sext i16 %14962 to i32
%14964 = icmp eq i32 %14963, 0
br i1 %14964, label %14965, label %14966
14965: ; preds = %14959
br label %14970
14966: ; preds = %14959
%14967 = load i16, i16* %18
%14968 = sext i16 %14967 to i32
%14969 = sub nsw i32 25, %14968
br label %14970
14970: ; preds = %14966, %14965
%14971 = phi i32 [ 0, %14965 ], [ %14969, %14966 ]
%14972 = trunc i32 %14971 to i16
store i16 %14972, i16* %14
%14973 = load i16, i16* %11
store i16 %14973, i16* %18
%14974 = load i16, i16* %15
%14975 = sext i16 %14974 to i32
%14976 = icmp eq i32 %14975, 0
br i1 %14976, label %14977, label %14978
14977: ; preds = %14970
br label %14982
14978: ; preds = %14970
%14979 = load i16, i16* %15
%14980 = sext i16 %14979 to i32
%14981 = sub nsw i32 25, %14980
br label %14982
14982: ; preds = %14978, %14977
%14983 = phi i32 [ 0, %14977 ], [ %14981, %14978 ]
%14984 = trunc i32 %14983 to i16
store i16 %14984, i16* %11
%14985 = load i16, i16* %18
%14986 = sext i16 %14985 to i32
%14987 = icmp eq i32 %14986, 0
br i1 %14987, label %14988, label %14989
14988: ; preds = %14982
br label %14993
14989: ; preds = %14982
%14990 = load i16, i16* %18
%14991 = sext i16 %14990 to i32
%14992 = sub nsw i32 25, %14991
br label %14993
14993: ; preds = %14989, %14988
%14994 = phi i32 [ 0, %14988 ], [ %14992, %14989 ]
%14995 = trunc i32 %14994 to i16
store i16 %14995, i16* %15
%14996 = load i16, i16* %12
store i16 %14996, i16* %18
%14997 = load i16, i16* %16
%14998 = sext i16 %14997 to i32
%14999 = icmp eq i32 %14998, 0
br i1 %14999, label %15000, label %15001
15000: ; preds = %14993
br label %15005
15001: ; preds = %14993
%15002 = load i16, i16* %16
%15003 = sext i16 %15002 to i32
%15004 = sub nsw i32 25, %15003
br label %15005
15005: ; preds = %15001, %15000
%15006 = phi i32 [ 0, %15000 ], [ %15004, %15001 ]
%15007 = trunc i32 %15006 to i16
store i16 %15007, i16* %12
%15008 = load i16, i16* %18
%15009 = sext i16 %15008 to i32
%15010 = icmp eq i32 %15009, 0
br i1 %15010, label %15011, label %15012
15011: ; preds = %15005
br label %15016
15012: ; preds = %15005
%15013 = load i16, i16* %18
%15014 = sext i16 %15013 to i32
%15015 = sub nsw i32 25, %15014
br label %15016
15016: ; preds = %15012, %15011
%15017 = phi i32 [ 0, %15011 ], [ %15015, %15012 ]
%15018 = trunc i32 %15017 to i16
store i16 %15018, i16* %16
%15019 = load i16, i16* %13
store i16 %15019, i16* %18
%15020 = load i16, i16* %17
%15021 = sext i16 %15020 to i32
%15022 = icmp eq i32 %15021, 0
br i1 %15022, label %15023, label %15024
15023: ; preds = %15016
br label %15028
15024: ; preds = %15016
%15025 = load i16, i16* %17
%15026 = sext i16 %15025 to i32
%15027 = sub nsw i32 25, %15026
br label %15028
15028: ; preds = %15024, %15023
%15029 = phi i32 [ 0, %15023 ], [ %15027, %15024 ]
%15030 = trunc i32 %15029 to i16
store i16 %15030, i16* %13
%15031 = load i16, i16* %18
%15032 = sext i16 %15031 to i32
%15033 = icmp eq i32 %15032, 0
br i1 %15033, label %15034, label %15035
15034: ; preds = %15028
br label %15039
15035: ; preds = %15028
%15036 = load i16, i16* %18
%15037 = sext i16 %15036 to i32
%15038 = sub nsw i32 25, %15037
br label %15039
15039: ; preds = %15035, %15034
%15040 = phi i32 [ 0, %15034 ], [ %15038, %15035 ]
%15041 = trunc i32 %15040 to i16
store i16 %15041, i16* %17
%15042 = load i16, i16* %10
%15043 = sext i16 %15042 to i32
%15044 = load i16, i16* %11
%15045 = sext i16 %15044 to i32
%15046 = load i16, i16* %12
%15047 = sext i16 %15046 to i32
%15048 = load i16, i16* %13
%15049 = sext i16 %15048 to i32
%15050 = load i16, i16* %14
%15051 = sext i16 %15050 to i32
%15052 = load i16, i16* %15
%15053 = sext i16 %15052 to i32
%15054 = load i16, i16* %16
%15055 = sext i16 %15054 to i32
%15056 = load i16, i16* %17
%15057 = sext i16 %15056 to i32
%15058 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15043, i32 %15045, i32 %15047, i32 %15049, i32 %15051, i32 %15053, i32 %15055, i32 %15057)
%15059 = icmp eq i32 %15058, -1
br i1 %15059, label %15060, label %15061
15060: ; preds = %15039
store i16 -1, i16* %9
br label %18764
15061: ; preds = %15039
%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* %22
store i16 %15154, i16* %21
%15155 = load i16, i16* %20
store i16 %15155, i16* %16
br label %15362
15156: ; preds = %14942
%15157 = load i16, i16* %10
store i16 %15157, i16* %18
%15158 = load i16, i16* %14
%15159 = sext i16 %15158 to i32
%15160 = icmp eq i32 %15159, 0
br i1 %15160, label %15161, label %15162
15161: ; preds = %15156
br label %15166
15162: ; preds = %15156
%15163 = load i16, i16* %14
%15164 = sext i16 %15163 to i32
%15165 = sub nsw i32 25, %15164
br label %15166
15166: ; preds = %15162, %15161
%15167 = phi i32 [ 0, %15161 ], [ %15165, %15162 ]
%15168 = trunc i32 %15167 to i16
store i16 %15168, i16* %10
%15169 = load i16, i16* %18
%15170 = sext i16 %15169 to i32
%15171 = icmp eq i32 %15170, 0
br i1 %15171, label %15172, label %15173
15172: ; preds = %15166
br label %15177
15173: ; preds = %15166
%15174 = load i16, i16* %18
%15175 = sext i16 %15174 to i32
%15176 = sub nsw i32 25, %15175
br label %15177
15177: ; preds = %15173, %15172
%15178 = phi i32 [ 0, %15172 ], [ %15176, %15173 ]
%15179 = trunc i32 %15178 to i16
store i16 %15179, i16* %14
%15180 = load i16, i16* %11
store i16 %15180, i16* %18
%15181 = load i16, i16* %15
%15182 = sext i16 %15181 to i32
%15183 = icmp eq i32 %15182, 0
br i1 %15183, label %15184, label %15185
15184: ; preds = %15177
br label %15189
15185: ; preds = %15177
%15186 = load i16, i16* %15
%15187 = sext i16 %15186 to i32
%15188 = sub nsw i32 25, %15187
br label %15189
15189: ; preds = %15185, %15184
%15190 = phi i32 [ 0, %15184 ], [ %15188, %15185 ]
%15191 = trunc i32 %15190 to i16
store i16 %15191, i16* %11
%15192 = load i16, i16* %18
%15193 = sext i16 %15192 to i32
%15194 = icmp eq i32 %15193, 0
br i1 %15194, label %15195, label %15196
15195: ; preds = %15189
br label %15200
15196: ; preds = %15189
%15197 = load i16, i16* %18
%15198 = sext i16 %15197 to i32
%15199 = sub nsw i32 25, %15198
br label %15200
15200: ; preds = %15196, %15195
%15201 = phi i32 [ 0, %15195 ], [ %15199, %15196 ]
%15202 = trunc i32 %15201 to i16
store i16 %15202, i16* %15
%15203 = load i16, i16* %12
store i16 %15203, i16* %18
%15204 = load i16, i16* %16
%15205 = sext i16 %15204 to i32
%15206 = icmp eq i32 %15205, 0
br i1 %15206, label %15207, label %15208
15207: ; preds = %15200
br label %15212
15208: ; preds = %15200
%15209 = load i16, i16* %16
%15210 = sext i16 %15209 to i32
%15211 = sub nsw i32 25, %15210
br label %15212
15212: ; preds = %15208, %15207
%15213 = phi i32 [ 0, %15207 ], [ %15211, %15208 ]
%15214 = trunc i32 %15213 to i16
store i16 %15214, i16* %12
%15215 = load i16, i16* %18
%15216 = sext i16 %15215 to i32
%15217 = icmp eq i32 %15216, 0
br i1 %15217, label %15218, label %15219
15218: ; preds = %15212
br label %15223
15219: ; preds = %15212
%15220 = load i16, i16* %18
%15221 = sext i16 %15220 to i32
%15222 = sub nsw i32 25, %15221
br label %15223
15223: ; preds = %15219, %15218
%15224 = phi i32 [ 0, %15218 ], [ %15222, %15219 ]
%15225 = trunc i32 %15224 to i16
store i16 %15225, i16* %16
%15226 = load i16, i16* %13
store i16 %15226, i16* %18
%15227 = load i16, i16* %17
%15228 = sext i16 %15227 to i32
%15229 = icmp eq i32 %15228, 0
br i1 %15229, label %15230, label %15231
15230: ; preds = %15223
br label %15235
15231: ; preds = %15223
%15232 = load i16, i16* %17
%15233 = sext i16 %15232 to i32
%15234 = sub nsw i32 25, %15233
br label %15235
15235: ; preds = %15231, %15230
%15236 = phi i32 [ 0, %15230 ], [ %15234, %15231 ]
%15237 = trunc i32 %15236 to i16
store i16 %15237, i16* %13
%15238 = load i16, i16* %18
%15239 = sext i16 %15238 to i32
%15240 = icmp eq i32 %15239, 0
br i1 %15240, label %15241, label %15242
15241: ; preds = %15235
br label %15246
15242: ; preds = %15235
%15243 = load i16, i16* %18
%15244 = sext i16 %15243 to i32
%15245 = sub nsw i32 25, %15244
br label %15246
15246: ; preds = %15242, %15241
%15247 = phi i32 [ 0, %15241 ], [ %15245, %15242 ]
%15248 = trunc i32 %15247 to i16
store i16 %15248, i16* %17
%15249 = load i16, i16* %10
%15250 = sext i16 %15249 to i32
%15251 = load i16, i16* %11
%15252 = sext i16 %15251 to i32
%15253 = load i16, i16* %12
%15254 = sext i16 %15253 to i32
%15255 = load i16, i16* %13
%15256 = sext i16 %15255 to i32
%15257 = load i16, i16* %14
%15258 = sext i16 %15257 to i32
%15259 = load i16, i16* %15
%15260 = sext i16 %15259 to i32
%15261 = load i16, i16* %16
%15262 = sext i16 %15261 to i32
%15263 = load i16, i16* %17
%15264 = sext i16 %15263 to i32
%15265 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15250, i32 %15252, i32 %15254, i32 %15256, i32 %15258, i32 %15260, i32 %15262, i32 %15264)
%15266 = icmp eq i32 %15265, -1
br i1 %15266, label %15267, label %15268
15267: ; preds = %15246
store i16 -1, i16* %9
br label %18764
15268: ; preds = %15246
%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
%15361 = load i16, i16* %22
store i16 %15361, i16* %21
br label %15362
15362: ; preds = %15358, %15151
%15363 = load i16, i16* %19
store i16 %15363, i16* %13
br label %15364
15364: ; preds = %15362, %14936, %14930, %14924, %14918, %14912, %14901
br label %15365
15365: ; preds = %15364, %14897, %14893
br label %18734
15366: ; preds = %14889
%15367 = load i16, i16* %22
%15368 = sext i16 %15367 to i32
%15369 = icmp eq i32 %15368, 25
br i1 %15369, label %15370, label %15848
15370: ; preds = %15366
%15371 = load i16, i16* %13
%15372 = sext i16 %15371 to i32
%15373 = icmp ne i32 %15372, 0
br i1 %15373, label %15374, label %15847
15374: ; preds = %15370
%15375 = load i16, i16* %13
%15376 = sext i16 %15375 to i32
%15377 = icmp slt i32 %15376, 21
br i1 %15377, label %15378, label %15847
15378: ; preds = %15374
%15379 = load i16, i16* %13
%15380 = sext i16 %15379 to i32
%15381 = srem i32 %15380, 4
%15382 = icmp ne i32 %15381, 0
br i1 %15382, label %15383, label %15847
15383: ; preds = %15378
%15384 = load i16, i16* %13
store i16 %15384, i16* %19
%15385 = load i16, i16* %19
%15386 = sext i16 %15385 to i32
%15387 = add nsw i32 %15386, 5
%15388 = trunc i32 %15387 to i16
store i16 %15388, i16* %20
%15389 = load i16, i16* %20
%15390 = sext i16 %15389 to i32
%15391 = load i16, i16* %10
%15392 = sext i16 %15391 to i32
%15393 = icmp ne i32 %15390, %15392
br i1 %15393, label %15394, label %15846
15394: ; preds = %15383
%15395 = load i16, i16* %20
%15396 = sext i16 %15395 to i32
%15397 = load i16, i16* %11
%15398 = sext i16 %15397 to i32
%15399 = icmp ne i32 %15396, %15398
br i1 %15399, label %15400, label %15846
15400: ; preds = %15394
%15401 = load i16, i16* %20
%15402 = sext i16 %15401 to i32
%15403 = load i16, i16* %12
%15404 = sext i16 %15403 to i32
%15405 = icmp ne i32 %15402, %15404
br i1 %15405, label %15406, label %15846
15406: ; preds = %15400
%15407 = load i16, i16* %20
%15408 = sext i16 %15407 to i32
%15409 = load i16, i16* %14
%15410 = sext i16 %15409 to i32
%15411 = icmp ne i32 %15408, %15410
br i1 %15411, label %15412, label %15846
15412: ; preds = %15406
%15413 = load i16, i16* %20
%15414 = sext i16 %15413 to i32
%15415 = load i16, i16* %15
%15416 = sext i16 %15415 to i32
%15417 = icmp ne i32 %15414, %15416
br i1 %15417, label %15418, label %15846
15418: ; preds = %15412
%15419 = load i16, i16* %20
%15420 = sext i16 %15419 to i32
%15421 = load i16, i16* %17
%15422 = sext i16 %15421 to i32
%15423 = icmp ne i32 %15420, %15422
br i1 %15423, label %15424, label %15846
15424: ; preds = %15418
%15425 = load i16, i16* %20
store i16 %15425, i16* %13
%15426 = load i16, i16* %16
%15427 = sext i16 %15426 to i32
%15428 = load i16, i16* %20
%15429 = sext i16 %15428 to i32
%15430 = icmp eq i32 %15427, %15429
br i1 %15430, label %15431, label %15638
15431: ; preds = %15424
store i16 0, i16* %16
%15432 = load i16, i16* %10
store i16 %15432, i16* %18
%15433 = load i16, i16* %14
%15434 = sext i16 %15433 to i32
%15435 = icmp eq i32 %15434, 0
br i1 %15435, label %15436, label %15437
15436: ; preds = %15431
br label %15441
15437: ; preds = %15431
%15438 = load i16, i16* %14
%15439 = sext i16 %15438 to i32
%15440 = sub nsw i32 25, %15439
br label %15441
15441: ; preds = %15437, %15436
%15442 = phi i32 [ 0, %15436 ], [ %15440, %15437 ]
%15443 = trunc i32 %15442 to i16
store i16 %15443, i16* %10
%15444 = load i16, i16* %18
%15445 = sext i16 %15444 to i32
%15446 = icmp eq i32 %15445, 0
br i1 %15446, label %15447, label %15448
15447: ; preds = %15441
br label %15452
15448: ; preds = %15441
%15449 = load i16, i16* %18
%15450 = sext i16 %15449 to i32
%15451 = sub nsw i32 25, %15450
br label %15452
15452: ; preds = %15448, %15447
%15453 = phi i32 [ 0, %15447 ], [ %15451, %15448 ]
%15454 = trunc i32 %15453 to i16
store i16 %15454, i16* %14
%15455 = load i16, i16* %11
store i16 %15455, i16* %18
%15456 = load i16, i16* %15
%15457 = sext i16 %15456 to i32
%15458 = icmp eq i32 %15457, 0
br i1 %15458, label %15459, label %15460
15459: ; preds = %15452
br label %15464
15460: ; preds = %15452
%15461 = load i16, i16* %15
%15462 = sext i16 %15461 to i32
%15463 = sub nsw i32 25, %15462
br label %15464
15464: ; preds = %15460, %15459
%15465 = phi i32 [ 0, %15459 ], [ %15463, %15460 ]
%15466 = trunc i32 %15465 to i16
store i16 %15466, i16* %11
%15467 = load i16, i16* %18
%15468 = sext i16 %15467 to i32
%15469 = icmp eq i32 %15468, 0
br i1 %15469, label %15470, label %15471
15470: ; preds = %15464
br label %15475
15471: ; preds = %15464
%15472 = load i16, i16* %18
%15473 = sext i16 %15472 to i32
%15474 = sub nsw i32 25, %15473
br label %15475
15475: ; preds = %15471, %15470
%15476 = phi i32 [ 0, %15470 ], [ %15474, %15471 ]
%15477 = trunc i32 %15476 to i16
store i16 %15477, i16* %15
%15478 = load i16, i16* %12
store i16 %15478, i16* %18
%15479 = load i16, i16* %16
%15480 = sext i16 %15479 to i32
%15481 = icmp eq i32 %15480, 0
br i1 %15481, label %15482, label %15483
15482: ; preds = %15475
br label %15487
15483: ; preds = %15475
%15484 = load i16, i16* %16
%15485 = sext i16 %15484 to i32
%15486 = sub nsw i32 25, %15485
br label %15487
15487: ; preds = %15483, %15482
%15488 = phi i32 [ 0, %15482 ], [ %15486, %15483 ]
%15489 = trunc i32 %15488 to i16
store i16 %15489, i16* %12
%15490 = load i16, i16* %18
%15491 = sext i16 %15490 to i32
%15492 = icmp eq i32 %15491, 0
br i1 %15492, label %15493, label %15494
15493: ; preds = %15487
br label %15498
15494: ; preds = %15487
%15495 = load i16, i16* %18
%15496 = sext i16 %15495 to i32
%15497 = sub nsw i32 25, %15496
br label %15498
15498: ; preds = %15494, %15493
%15499 = phi i32 [ 0, %15493 ], [ %15497, %15494 ]
%15500 = trunc i32 %15499 to i16
store i16 %15500, i16* %16
%15501 = load i16, i16* %13
store i16 %15501, i16* %18
%15502 = load i16, i16* %17
%15503 = sext i16 %15502 to i32
%15504 = icmp eq i32 %15503, 0
br i1 %15504, label %15505, label %15506
15505: ; preds = %15498
br label %15510
15506: ; preds = %15498
%15507 = load i16, i16* %17
%15508 = sext i16 %15507 to i32
%15509 = sub nsw i32 25, %15508
br label %15510
15510: ; preds = %15506, %15505
%15511 = phi i32 [ 0, %15505 ], [ %15509, %15506 ]
%15512 = trunc i32 %15511 to i16
store i16 %15512, i16* %13
%15513 = load i16, i16* %18
%15514 = sext i16 %15513 to i32
%15515 = icmp eq i32 %15514, 0
br i1 %15515, label %15516, label %15517
15516: ; preds = %15510
br label %15521
15517: ; preds = %15510
%15518 = load i16, i16* %18
%15519 = sext i16 %15518 to i32
%15520 = sub nsw i32 25, %15519
br label %15521
15521: ; preds = %15517, %15516
%15522 = phi i32 [ 0, %15516 ], [ %15520, %15517 ]
%15523 = trunc i32 %15522 to i16
store i16 %15523, i16* %17
%15524 = load i16, i16* %10
%15525 = sext i16 %15524 to i32
%15526 = load i16, i16* %11
%15527 = sext i16 %15526 to i32
%15528 = load i16, i16* %12
%15529 = sext i16 %15528 to i32
%15530 = load i16, i16* %13
%15531 = sext i16 %15530 to i32
%15532 = load i16, i16* %14
%15533 = sext i16 %15532 to i32
%15534 = load i16, i16* %15
%15535 = sext i16 %15534 to i32
%15536 = load i16, i16* %16
%15537 = sext i16 %15536 to i32
%15538 = load i16, i16* %17
%15539 = sext i16 %15538 to i32
%15540 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15525, i32 %15527, i32 %15529, i32 %15531, i32 %15533, i32 %15535, i32 %15537, i32 %15539)
%15541 = icmp eq i32 %15540, -1
br i1 %15541, label %15542, label %15543
15542: ; preds = %15521
store i16 -1, i16* %9
br label %18764
15543: ; preds = %15521
%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* %22
store i16 %15636, i16* %21
%15637 = load i16, i16* %20
store i16 %15637, i16* %16
br label %15844
15638: ; preds = %15424
%15639 = load i16, i16* %10
store i16 %15639, i16* %18
%15640 = load i16, i16* %14
%15641 = sext i16 %15640 to i32
%15642 = icmp eq i32 %15641, 0
br i1 %15642, label %15643, label %15644
15643: ; preds = %15638
br label %15648
15644: ; preds = %15638
%15645 = load i16, i16* %14
%15646 = sext i16 %15645 to i32
%15647 = sub nsw i32 25, %15646
br label %15648
15648: ; preds = %15644, %15643
%15649 = phi i32 [ 0, %15643 ], [ %15647, %15644 ]
%15650 = trunc i32 %15649 to i16
store i16 %15650, i16* %10
%15651 = load i16, i16* %18
%15652 = sext i16 %15651 to i32
%15653 = icmp eq i32 %15652, 0
br i1 %15653, label %15654, label %15655
15654: ; preds = %15648
br label %15659
15655: ; preds = %15648
%15656 = load i16, i16* %18
%15657 = sext i16 %15656 to i32
%15658 = sub nsw i32 25, %15657
br label %15659
15659: ; preds = %15655, %15654
%15660 = phi i32 [ 0, %15654 ], [ %15658, %15655 ]
%15661 = trunc i32 %15660 to i16
store i16 %15661, i16* %14
%15662 = load i16, i16* %11
store i16 %15662, i16* %18
%15663 = load i16, i16* %15
%15664 = sext i16 %15663 to i32
%15665 = icmp eq i32 %15664, 0
br i1 %15665, label %15666, label %15667
15666: ; preds = %15659
br label %15671
15667: ; preds = %15659
%15668 = load i16, i16* %15
%15669 = sext i16 %15668 to i32
%15670 = sub nsw i32 25, %15669
br label %15671
15671: ; preds = %15667, %15666
%15672 = phi i32 [ 0, %15666 ], [ %15670, %15667 ]
%15673 = trunc i32 %15672 to i16
store i16 %15673, i16* %11
%15674 = load i16, i16* %18
%15675 = sext i16 %15674 to i32
%15676 = icmp eq i32 %15675, 0
br i1 %15676, label %15677, label %15678
15677: ; preds = %15671
br label %15682
15678: ; preds = %15671
%15679 = load i16, i16* %18
%15680 = sext i16 %15679 to i32
%15681 = sub nsw i32 25, %15680
br label %15682
15682: ; preds = %15678, %15677
%15683 = phi i32 [ 0, %15677 ], [ %15681, %15678 ]
%15684 = trunc i32 %15683 to i16
store i16 %15684, i16* %15
%15685 = load i16, i16* %12
store i16 %15685, i16* %18
%15686 = load i16, i16* %16
%15687 = sext i16 %15686 to i32
%15688 = icmp eq i32 %15687, 0
br i1 %15688, label %15689, label %15690
15689: ; preds = %15682
br label %15694
15690: ; preds = %15682
%15691 = load i16, i16* %16
%15692 = sext i16 %15691 to i32
%15693 = sub nsw i32 25, %15692
br label %15694
15694: ; preds = %15690, %15689
%15695 = phi i32 [ 0, %15689 ], [ %15693, %15690 ]
%15696 = trunc i32 %15695 to i16
store i16 %15696, i16* %12
%15697 = load i16, i16* %18
%15698 = sext i16 %15697 to i32
%15699 = icmp eq i32 %15698, 0
br i1 %15699, label %15700, label %15701
15700: ; preds = %15694
br label %15705
15701: ; preds = %15694
%15702 = load i16, i16* %18
%15703 = sext i16 %15702 to i32
%15704 = sub nsw i32 25, %15703
br label %15705
15705: ; preds = %15701, %15700
%15706 = phi i32 [ 0, %15700 ], [ %15704, %15701 ]
%15707 = trunc i32 %15706 to i16
store i16 %15707, i16* %16
%15708 = load i16, i16* %13
store i16 %15708, i16* %18
%15709 = load i16, i16* %17
%15710 = sext i16 %15709 to i32
%15711 = icmp eq i32 %15710, 0
br i1 %15711, label %15712, label %15713
15712: ; preds = %15705
br label %15717
15713: ; preds = %15705
%15714 = load i16, i16* %17
%15715 = sext i16 %15714 to i32
%15716 = sub nsw i32 25, %15715
br label %15717
15717: ; preds = %15713, %15712
%15718 = phi i32 [ 0, %15712 ], [ %15716, %15713 ]
%15719 = trunc i32 %15718 to i16
store i16 %15719, i16* %13
%15720 = load i16, i16* %18
%15721 = sext i16 %15720 to i32
%15722 = icmp eq i32 %15721, 0
br i1 %15722, label %15723, label %15724
15723: ; preds = %15717
br label %15728
15724: ; preds = %15717
%15725 = load i16, i16* %18
%15726 = sext i16 %15725 to i32
%15727 = sub nsw i32 25, %15726
br label %15728
15728: ; preds = %15724, %15723
%15729 = phi i32 [ 0, %15723 ], [ %15727, %15724 ]
%15730 = trunc i32 %15729 to i16
store i16 %15730, i16* %17
%15731 = load i16, i16* %10
%15732 = sext i16 %15731 to i32
%15733 = load i16, i16* %11
%15734 = sext i16 %15733 to i32
%15735 = load i16, i16* %12
%15736 = sext i16 %15735 to i32
%15737 = load i16, i16* %13
%15738 = sext i16 %15737 to i32
%15739 = load i16, i16* %14
%15740 = sext i16 %15739 to i32
%15741 = load i16, i16* %15
%15742 = sext i16 %15741 to i32
%15743 = load i16, i16* %16
%15744 = sext i16 %15743 to i32
%15745 = load i16, i16* %17
%15746 = sext i16 %15745 to i32
%15747 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15732, i32 %15734, i32 %15736, i32 %15738, i32 %15740, i32 %15742, i32 %15744, i32 %15746)
%15748 = icmp eq i32 %15747, -1
br i1 %15748, label %15749, label %15750
15749: ; preds = %15728
store i16 -1, i16* %9
br label %18764
15750: ; preds = %15728
%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
%15843 = load i16, i16* %22
store i16 %15843, i16* %21
br label %15844
15844: ; preds = %15840, %15633
%15845 = load i16, i16* %19
store i16 %15845, i16* %13
br label %15846
15846: ; preds = %15844, %15418, %15412, %15406, %15400, %15394, %15383
br label %15847
15847: ; preds = %15846, %15378, %15374, %15370
br label %18733
15848: ; preds = %15366
%15849 = load i16, i16* %22
%15850 = sext i16 %15849 to i32
%15851 = icmp eq i32 %15850, 26
br i1 %15851, label %15852, label %16326
15852: ; preds = %15848
%15853 = load i16, i16* %13
%15854 = sext i16 %15853 to i32
%15855 = icmp ne i32 %15854, 0
br i1 %15855, label %15856, label %16325
15856: ; preds = %15852
%15857 = load i16, i16* %13
%15858 = sext i16 %15857 to i32
%15859 = srem i32 %15858, 4
%15860 = icmp ne i32 %15859, 0
br i1 %15860, label %15861, label %16325
15861: ; preds = %15856
%15862 = load i16, i16* %13
store i16 %15862, i16* %19
%15863 = load i16, i16* %19
%15864 = sext i16 %15863 to i32
%15865 = add nsw i32 %15864, 1
%15866 = trunc i32 %15865 to i16
store i16 %15866, i16* %20
%15867 = load i16, i16* %20
%15868 = sext i16 %15867 to i32
%15869 = load i16, i16* %10
%15870 = sext i16 %15869 to i32
%15871 = icmp ne i32 %15868, %15870
br i1 %15871, label %15872, label %16324
15872: ; preds = %15861
%15873 = load i16, i16* %20
%15874 = sext i16 %15873 to i32
%15875 = load i16, i16* %11
%15876 = sext i16 %15875 to i32
%15877 = icmp ne i32 %15874, %15876
br i1 %15877, label %15878, label %16324
15878: ; preds = %15872
%15879 = load i16, i16* %20
%15880 = sext i16 %15879 to i32
%15881 = load i16, i16* %12
%15882 = sext i16 %15881 to i32
%15883 = icmp ne i32 %15880, %15882
br i1 %15883, label %15884, label %16324
15884: ; preds = %15878
%15885 = load i16, i16* %20
%15886 = sext i16 %15885 to i32
%15887 = load i16, i16* %14
%15888 = sext i16 %15887 to i32
%15889 = icmp ne i32 %15886, %15888
br i1 %15889, label %15890, label %16324
15890: ; preds = %15884
%15891 = load i16, i16* %20
%15892 = sext i16 %15891 to i32
%15893 = load i16, i16* %15
%15894 = sext i16 %15893 to i32
%15895 = icmp ne i32 %15892, %15894
br i1 %15895, label %15896, label %16324
15896: ; preds = %15890
%15897 = load i16, i16* %20
%15898 = sext i16 %15897 to i32
%15899 = load i16, i16* %17
%15900 = sext i16 %15899 to i32
%15901 = icmp ne i32 %15898, %15900
br i1 %15901, label %15902, label %16324
15902: ; preds = %15896
%15903 = load i16, i16* %20
store i16 %15903, i16* %13
%15904 = load i16, i16* %16
%15905 = sext i16 %15904 to i32
%15906 = load i16, i16* %20
%15907 = sext i16 %15906 to i32
%15908 = icmp eq i32 %15905, %15907
br i1 %15908, label %15909, label %16116
15909: ; preds = %15902
store i16 0, i16* %16
%15910 = load i16, i16* %10
store i16 %15910, i16* %18
%15911 = load i16, i16* %14
%15912 = sext i16 %15911 to i32
%15913 = icmp eq i32 %15912, 0
br i1 %15913, label %15914, label %15915
15914: ; preds = %15909
br label %15919
15915: ; preds = %15909
%15916 = load i16, i16* %14
%15917 = sext i16 %15916 to i32
%15918 = sub nsw i32 25, %15917
br label %15919
15919: ; preds = %15915, %15914
%15920 = phi i32 [ 0, %15914 ], [ %15918, %15915 ]
%15921 = trunc i32 %15920 to i16
store i16 %15921, i16* %10
%15922 = load i16, i16* %18
%15923 = sext i16 %15922 to i32
%15924 = icmp eq i32 %15923, 0
br i1 %15924, label %15925, label %15926
15925: ; preds = %15919
br label %15930
15926: ; preds = %15919
%15927 = load i16, i16* %18
%15928 = sext i16 %15927 to i32
%15929 = sub nsw i32 25, %15928
br label %15930
15930: ; preds = %15926, %15925
%15931 = phi i32 [ 0, %15925 ], [ %15929, %15926 ]
%15932 = trunc i32 %15931 to i16
store i16 %15932, i16* %14
%15933 = load i16, i16* %11
store i16 %15933, i16* %18
%15934 = load i16, i16* %15
%15935 = sext i16 %15934 to i32
%15936 = icmp eq i32 %15935, 0
br i1 %15936, label %15937, label %15938
15937: ; preds = %15930
br label %15942
15938: ; preds = %15930
%15939 = load i16, i16* %15
%15940 = sext i16 %15939 to i32
%15941 = sub nsw i32 25, %15940
br label %15942
15942: ; preds = %15938, %15937
%15943 = phi i32 [ 0, %15937 ], [ %15941, %15938 ]
%15944 = trunc i32 %15943 to i16
store i16 %15944, i16* %11
%15945 = load i16, i16* %18
%15946 = sext i16 %15945 to i32
%15947 = icmp eq i32 %15946, 0
br i1 %15947, label %15948, label %15949
15948: ; preds = %15942
br label %15953
15949: ; preds = %15942
%15950 = load i16, i16* %18
%15951 = sext i16 %15950 to i32
%15952 = sub nsw i32 25, %15951
br label %15953
15953: ; preds = %15949, %15948
%15954 = phi i32 [ 0, %15948 ], [ %15952, %15949 ]
%15955 = trunc i32 %15954 to i16
store i16 %15955, i16* %15
%15956 = load i16, i16* %12
store i16 %15956, i16* %18
%15957 = load i16, i16* %16
%15958 = sext i16 %15957 to i32
%15959 = icmp eq i32 %15958, 0
br i1 %15959, label %15960, label %15961
15960: ; preds = %15953
br label %15965
15961: ; preds = %15953
%15962 = load i16, i16* %16
%15963 = sext i16 %15962 to i32
%15964 = sub nsw i32 25, %15963
br label %15965
15965: ; preds = %15961, %15960
%15966 = phi i32 [ 0, %15960 ], [ %15964, %15961 ]
%15967 = trunc i32 %15966 to i16
store i16 %15967, i16* %12
%15968 = load i16, i16* %18
%15969 = sext i16 %15968 to i32
%15970 = icmp eq i32 %15969, 0
br i1 %15970, label %15971, label %15972
15971: ; preds = %15965
br label %15976
15972: ; preds = %15965
%15973 = load i16, i16* %18
%15974 = sext i16 %15973 to i32
%15975 = sub nsw i32 25, %15974
br label %15976
15976: ; preds = %15972, %15971
%15977 = phi i32 [ 0, %15971 ], [ %15975, %15972 ]
%15978 = trunc i32 %15977 to i16
store i16 %15978, i16* %16
%15979 = load i16, i16* %13
store i16 %15979, i16* %18
%15980 = load i16, i16* %17
%15981 = sext i16 %15980 to i32
%15982 = icmp eq i32 %15981, 0
br i1 %15982, label %15983, label %15984
15983: ; preds = %15976
br label %15988
15984: ; preds = %15976
%15985 = load i16, i16* %17
%15986 = sext i16 %15985 to i32
%15987 = sub nsw i32 25, %15986
br label %15988
15988: ; preds = %15984, %15983
%15989 = phi i32 [ 0, %15983 ], [ %15987, %15984 ]
%15990 = trunc i32 %15989 to i16
store i16 %15990, i16* %13
%15991 = load i16, i16* %18
%15992 = sext i16 %15991 to i32
%15993 = icmp eq i32 %15992, 0
br i1 %15993, label %15994, label %15995
15994: ; preds = %15988
br label %15999
15995: ; preds = %15988
%15996 = load i16, i16* %18
%15997 = sext i16 %15996 to i32
%15998 = sub nsw i32 25, %15997
br label %15999
15999: ; preds = %15995, %15994
%16000 = phi i32 [ 0, %15994 ], [ %15998, %15995 ]
%16001 = trunc i32 %16000 to i16
store i16 %16001, i16* %17
%16002 = load i16, i16* %10
%16003 = sext i16 %16002 to i32
%16004 = load i16, i16* %11
%16005 = sext i16 %16004 to i32
%16006 = load i16, i16* %12
%16007 = sext i16 %16006 to i32
%16008 = load i16, i16* %13
%16009 = sext i16 %16008 to i32
%16010 = load i16, i16* %14
%16011 = sext i16 %16010 to i32
%16012 = load i16, i16* %15
%16013 = sext i16 %16012 to i32
%16014 = load i16, i16* %16
%16015 = sext i16 %16014 to i32
%16016 = load i16, i16* %17
%16017 = sext i16 %16016 to i32
%16018 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16003, i32 %16005, i32 %16007, i32 %16009, i32 %16011, i32 %16013, i32 %16015, i32 %16017)
%16019 = icmp eq i32 %16018, -1
br i1 %16019, label %16020, label %16021
16020: ; preds = %15999
store i16 -1, i16* %9
br label %18764
16021: ; preds = %15999
%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* %22
store i16 %16114, i16* %21
%16115 = load i16, i16* %20
store i16 %16115, i16* %16
br label %16322
16116: ; preds = %15902
%16117 = load i16, i16* %10
store i16 %16117, i16* %18
%16118 = load i16, i16* %14
%16119 = sext i16 %16118 to i32
%16120 = icmp eq i32 %16119, 0
br i1 %16120, label %16121, label %16122
16121: ; preds = %16116
br label %16126
16122: ; preds = %16116
%16123 = load i16, i16* %14
%16124 = sext i16 %16123 to i32
%16125 = sub nsw i32 25, %16124
br label %16126
16126: ; preds = %16122, %16121
%16127 = phi i32 [ 0, %16121 ], [ %16125, %16122 ]
%16128 = trunc i32 %16127 to i16
store i16 %16128, i16* %10
%16129 = load i16, i16* %18
%16130 = sext i16 %16129 to i32
%16131 = icmp eq i32 %16130, 0
br i1 %16131, label %16132, label %16133
16132: ; preds = %16126
br label %16137
16133: ; preds = %16126
%16134 = load i16, i16* %18
%16135 = sext i16 %16134 to i32
%16136 = sub nsw i32 25, %16135
br label %16137
16137: ; preds = %16133, %16132
%16138 = phi i32 [ 0, %16132 ], [ %16136, %16133 ]
%16139 = trunc i32 %16138 to i16
store i16 %16139, i16* %14
%16140 = load i16, i16* %11
store i16 %16140, i16* %18
%16141 = load i16, i16* %15
%16142 = sext i16 %16141 to i32
%16143 = icmp eq i32 %16142, 0
br i1 %16143, label %16144, label %16145
16144: ; preds = %16137
br label %16149
16145: ; preds = %16137
%16146 = load i16, i16* %15
%16147 = sext i16 %16146 to i32
%16148 = sub nsw i32 25, %16147
br label %16149
16149: ; preds = %16145, %16144
%16150 = phi i32 [ 0, %16144 ], [ %16148, %16145 ]
%16151 = trunc i32 %16150 to i16
store i16 %16151, i16* %11
%16152 = load i16, i16* %18
%16153 = sext i16 %16152 to i32
%16154 = icmp eq i32 %16153, 0
br i1 %16154, label %16155, label %16156
16155: ; preds = %16149
br label %16160
16156: ; preds = %16149
%16157 = load i16, i16* %18
%16158 = sext i16 %16157 to i32
%16159 = sub nsw i32 25, %16158
br label %16160
16160: ; preds = %16156, %16155
%16161 = phi i32 [ 0, %16155 ], [ %16159, %16156 ]
%16162 = trunc i32 %16161 to i16
store i16 %16162, i16* %15
%16163 = load i16, i16* %12
store i16 %16163, i16* %18
%16164 = load i16, i16* %16
%16165 = sext i16 %16164 to i32
%16166 = icmp eq i32 %16165, 0
br i1 %16166, label %16167, label %16168
16167: ; preds = %16160
br label %16172
16168: ; preds = %16160
%16169 = load i16, i16* %16
%16170 = sext i16 %16169 to i32
%16171 = sub nsw i32 25, %16170
br label %16172
16172: ; preds = %16168, %16167
%16173 = phi i32 [ 0, %16167 ], [ %16171, %16168 ]
%16174 = trunc i32 %16173 to i16
store i16 %16174, i16* %12
%16175 = load i16, i16* %18
%16176 = sext i16 %16175 to i32
%16177 = icmp eq i32 %16176, 0
br i1 %16177, label %16178, label %16179
16178: ; preds = %16172
br label %16183
16179: ; preds = %16172
%16180 = load i16, i16* %18
%16181 = sext i16 %16180 to i32
%16182 = sub nsw i32 25, %16181
br label %16183
16183: ; preds = %16179, %16178
%16184 = phi i32 [ 0, %16178 ], [ %16182, %16179 ]
%16185 = trunc i32 %16184 to i16
store i16 %16185, i16* %16
%16186 = load i16, i16* %13
store i16 %16186, i16* %18
%16187 = load i16, i16* %17
%16188 = sext i16 %16187 to i32
%16189 = icmp eq i32 %16188, 0
br i1 %16189, label %16190, label %16191
16190: ; preds = %16183
br label %16195
16191: ; preds = %16183
%16192 = load i16, i16* %17
%16193 = sext i16 %16192 to i32
%16194 = sub nsw i32 25, %16193
br label %16195
16195: ; preds = %16191, %16190
%16196 = phi i32 [ 0, %16190 ], [ %16194, %16191 ]
%16197 = trunc i32 %16196 to i16
store i16 %16197, i16* %13
%16198 = load i16, i16* %18
%16199 = sext i16 %16198 to i32
%16200 = icmp eq i32 %16199, 0
br i1 %16200, label %16201, label %16202
16201: ; preds = %16195
br label %16206
16202: ; preds = %16195
%16203 = load i16, i16* %18
%16204 = sext i16 %16203 to i32
%16205 = sub nsw i32 25, %16204
br label %16206
16206: ; preds = %16202, %16201
%16207 = phi i32 [ 0, %16201 ], [ %16205, %16202 ]
%16208 = trunc i32 %16207 to i16
store i16 %16208, i16* %17
%16209 = load i16, i16* %10
%16210 = sext i16 %16209 to i32
%16211 = load i16, i16* %11
%16212 = sext i16 %16211 to i32
%16213 = load i16, i16* %12
%16214 = sext i16 %16213 to i32
%16215 = load i16, i16* %13
%16216 = sext i16 %16215 to i32
%16217 = load i16, i16* %14
%16218 = sext i16 %16217 to i32
%16219 = load i16, i16* %15
%16220 = sext i16 %16219 to i32
%16221 = load i16, i16* %16
%16222 = sext i16 %16221 to i32
%16223 = load i16, i16* %17
%16224 = sext i16 %16223 to i32
%16225 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16210, i32 %16212, i32 %16214, i32 %16216, i32 %16218, i32 %16220, i32 %16222, i32 %16224)
%16226 = icmp eq i32 %16225, -1
br i1 %16226, label %16227, label %16228
16227: ; preds = %16206
store i16 -1, i16* %9
br label %18764
16228: ; preds = %16206
%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
%16321 = load i16, i16* %22
store i16 %16321, i16* %21
br label %16322
16322: ; preds = %16318, %16111
%16323 = load i16, i16* %19
store i16 %16323, i16* %13
br label %16324
16324: ; preds = %16322, %15896, %15890, %15884, %15878, %15872, %15861
br label %16325
16325: ; preds = %16324, %15856, %15852
br label %18732
16326: ; preds = %15848
%16327 = load i16, i16* %22
%16328 = sext i16 %16327 to i32
%16329 = icmp eq i32 %16328, 27
br i1 %16329, label %16330, label %16808
16330: ; preds = %16326
%16331 = load i16, i16* %13
%16332 = sext i16 %16331 to i32
%16333 = icmp ne i32 %16332, 0
br i1 %16333, label %16334, label %16807
16334: ; preds = %16330
%16335 = load i16, i16* %13
%16336 = sext i16 %16335 to i32
%16337 = icmp slt i32 4, %16336
br i1 %16337, label %16338, label %16807
16338: ; preds = %16334
%16339 = load i16, i16* %13
%16340 = sext i16 %16339 to i32
%16341 = srem i32 %16340, 4
%16342 = icmp ne i32 %16341, 0
br i1 %16342, label %16343, label %16807
16343: ; preds = %16338
%16344 = load i16, i16* %13
store i16 %16344, i16* %19
%16345 = load i16, i16* %19
%16346 = sext i16 %16345 to i32
%16347 = sub nsw i32 %16346, 3
%16348 = trunc i32 %16347 to i16
store i16 %16348, i16* %20
%16349 = load i16, i16* %20
%16350 = sext i16 %16349 to i32
%16351 = load i16, i16* %10
%16352 = sext i16 %16351 to i32
%16353 = icmp ne i32 %16350, %16352
br i1 %16353, label %16354, label %16806
16354: ; preds = %16343
%16355 = load i16, i16* %20
%16356 = sext i16 %16355 to i32
%16357 = load i16, i16* %11
%16358 = sext i16 %16357 to i32
%16359 = icmp ne i32 %16356, %16358
br i1 %16359, label %16360, label %16806
16360: ; preds = %16354
%16361 = load i16, i16* %20
%16362 = sext i16 %16361 to i32
%16363 = load i16, i16* %12
%16364 = sext i16 %16363 to i32
%16365 = icmp ne i32 %16362, %16364
br i1 %16365, label %16366, label %16806
16366: ; preds = %16360
%16367 = load i16, i16* %20
%16368 = sext i16 %16367 to i32
%16369 = load i16, i16* %14
%16370 = sext i16 %16369 to i32
%16371 = icmp ne i32 %16368, %16370
br i1 %16371, label %16372, label %16806
16372: ; preds = %16366
%16373 = load i16, i16* %20
%16374 = sext i16 %16373 to i32
%16375 = load i16, i16* %15
%16376 = sext i16 %16375 to i32
%16377 = icmp ne i32 %16374, %16376
br i1 %16377, label %16378, label %16806
16378: ; preds = %16372
%16379 = load i16, i16* %20
%16380 = sext i16 %16379 to i32
%16381 = load i16, i16* %17
%16382 = sext i16 %16381 to i32
%16383 = icmp ne i32 %16380, %16382
br i1 %16383, label %16384, label %16806
16384: ; preds = %16378
%16385 = load i16, i16* %20
store i16 %16385, i16* %13
%16386 = load i16, i16* %16
%16387 = sext i16 %16386 to i32
%16388 = load i16, i16* %20
%16389 = sext i16 %16388 to i32
%16390 = icmp eq i32 %16387, %16389
br i1 %16390, label %16391, label %16598
16391: ; preds = %16384
store i16 0, i16* %16
%16392 = load i16, i16* %10
store i16 %16392, i16* %18
%16393 = load i16, i16* %14
%16394 = sext i16 %16393 to i32
%16395 = icmp eq i32 %16394, 0
br i1 %16395, label %16396, label %16397
16396: ; preds = %16391
br label %16401
16397: ; preds = %16391
%16398 = load i16, i16* %14
%16399 = sext i16 %16398 to i32
%16400 = sub nsw i32 25, %16399
br label %16401
16401: ; preds = %16397, %16396
%16402 = phi i32 [ 0, %16396 ], [ %16400, %16397 ]
%16403 = trunc i32 %16402 to i16
store i16 %16403, i16* %10
%16404 = load i16, i16* %18
%16405 = sext i16 %16404 to i32
%16406 = icmp eq i32 %16405, 0
br i1 %16406, label %16407, label %16408
16407: ; preds = %16401
br label %16412
16408: ; preds = %16401
%16409 = load i16, i16* %18
%16410 = sext i16 %16409 to i32
%16411 = sub nsw i32 25, %16410
br label %16412
16412: ; preds = %16408, %16407
%16413 = phi i32 [ 0, %16407 ], [ %16411, %16408 ]
%16414 = trunc i32 %16413 to i16
store i16 %16414, i16* %14
%16415 = load i16, i16* %11
store i16 %16415, i16* %18
%16416 = load i16, i16* %15
%16417 = sext i16 %16416 to i32
%16418 = icmp eq i32 %16417, 0
br i1 %16418, label %16419, label %16420
16419: ; preds = %16412
br label %16424
16420: ; preds = %16412
%16421 = load i16, i16* %15
%16422 = sext i16 %16421 to i32
%16423 = sub nsw i32 25, %16422
br label %16424
16424: ; preds = %16420, %16419
%16425 = phi i32 [ 0, %16419 ], [ %16423, %16420 ]
%16426 = trunc i32 %16425 to i16
store i16 %16426, i16* %11
%16427 = load i16, i16* %18
%16428 = sext i16 %16427 to i32
%16429 = icmp eq i32 %16428, 0
br i1 %16429, label %16430, label %16431
16430: ; preds = %16424
br label %16435
16431: ; preds = %16424
%16432 = load i16, i16* %18
%16433 = sext i16 %16432 to i32
%16434 = sub nsw i32 25, %16433
br label %16435
16435: ; preds = %16431, %16430
%16436 = phi i32 [ 0, %16430 ], [ %16434, %16431 ]
%16437 = trunc i32 %16436 to i16
store i16 %16437, i16* %15
%16438 = load i16, i16* %12
store i16 %16438, i16* %18
%16439 = load i16, i16* %16
%16440 = sext i16 %16439 to i32
%16441 = icmp eq i32 %16440, 0
br i1 %16441, label %16442, label %16443
16442: ; preds = %16435
br label %16447
16443: ; preds = %16435
%16444 = load i16, i16* %16
%16445 = sext i16 %16444 to i32
%16446 = sub nsw i32 25, %16445
br label %16447
16447: ; preds = %16443, %16442
%16448 = phi i32 [ 0, %16442 ], [ %16446, %16443 ]
%16449 = trunc i32 %16448 to i16
store i16 %16449, i16* %12
%16450 = load i16, i16* %18
%16451 = sext i16 %16450 to i32
%16452 = icmp eq i32 %16451, 0
br i1 %16452, label %16453, label %16454
16453: ; preds = %16447
br label %16458
16454: ; preds = %16447
%16455 = load i16, i16* %18
%16456 = sext i16 %16455 to i32
%16457 = sub nsw i32 25, %16456
br label %16458
16458: ; preds = %16454, %16453
%16459 = phi i32 [ 0, %16453 ], [ %16457, %16454 ]
%16460 = trunc i32 %16459 to i16
store i16 %16460, i16* %16
%16461 = load i16, i16* %13
store i16 %16461, i16* %18
%16462 = load i16, i16* %17
%16463 = sext i16 %16462 to i32
%16464 = icmp eq i32 %16463, 0
br i1 %16464, label %16465, label %16466
16465: ; preds = %16458
br label %16470
16466: ; preds = %16458
%16467 = load i16, i16* %17
%16468 = sext i16 %16467 to i32
%16469 = sub nsw i32 25, %16468
br label %16470
16470: ; preds = %16466, %16465
%16471 = phi i32 [ 0, %16465 ], [ %16469, %16466 ]
%16472 = trunc i32 %16471 to i16
store i16 %16472, i16* %13
%16473 = load i16, i16* %18
%16474 = sext i16 %16473 to i32
%16475 = icmp eq i32 %16474, 0
br i1 %16475, label %16476, label %16477
16476: ; preds = %16470
br label %16481
16477: ; preds = %16470
%16478 = load i16, i16* %18
%16479 = sext i16 %16478 to i32
%16480 = sub nsw i32 25, %16479
br label %16481
16481: ; preds = %16477, %16476
%16482 = phi i32 [ 0, %16476 ], [ %16480, %16477 ]
%16483 = trunc i32 %16482 to i16
store i16 %16483, i16* %17
%16484 = load i16, i16* %10
%16485 = sext i16 %16484 to i32
%16486 = load i16, i16* %11
%16487 = sext i16 %16486 to i32
%16488 = load i16, i16* %12
%16489 = sext i16 %16488 to i32
%16490 = load i16, i16* %13
%16491 = sext i16 %16490 to i32
%16492 = load i16, i16* %14
%16493 = sext i16 %16492 to i32
%16494 = load i16, i16* %15
%16495 = sext i16 %16494 to i32
%16496 = load i16, i16* %16
%16497 = sext i16 %16496 to i32
%16498 = load i16, i16* %17
%16499 = sext i16 %16498 to i32
%16500 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16485, i32 %16487, i32 %16489, i32 %16491, i32 %16493, i32 %16495, i32 %16497, i32 %16499)
%16501 = icmp eq i32 %16500, -1
br i1 %16501, label %16502, label %16503
16502: ; preds = %16481
store i16 -1, i16* %9
br label %18764
16503: ; preds = %16481
%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* %22
store i16 %16596, i16* %21
%16597 = load i16, i16* %20
store i16 %16597, i16* %16
br label %16804
16598: ; preds = %16384
%16599 = load i16, i16* %10
store i16 %16599, i16* %18
%16600 = load i16, i16* %14
%16601 = sext i16 %16600 to i32
%16602 = icmp eq i32 %16601, 0
br i1 %16602, label %16603, label %16604
16603: ; preds = %16598
br label %16608
16604: ; preds = %16598
%16605 = load i16, i16* %14
%16606 = sext i16 %16605 to i32
%16607 = sub nsw i32 25, %16606
br label %16608
16608: ; preds = %16604, %16603
%16609 = phi i32 [ 0, %16603 ], [ %16607, %16604 ]
%16610 = trunc i32 %16609 to i16
store i16 %16610, i16* %10
%16611 = load i16, i16* %18
%16612 = sext i16 %16611 to i32
%16613 = icmp eq i32 %16612, 0
br i1 %16613, label %16614, label %16615
16614: ; preds = %16608
br label %16619
16615: ; preds = %16608
%16616 = load i16, i16* %18
%16617 = sext i16 %16616 to i32
%16618 = sub nsw i32 25, %16617
br label %16619
16619: ; preds = %16615, %16614
%16620 = phi i32 [ 0, %16614 ], [ %16618, %16615 ]
%16621 = trunc i32 %16620 to i16
store i16 %16621, i16* %14
%16622 = load i16, i16* %11
store i16 %16622, i16* %18
%16623 = load i16, i16* %15
%16624 = sext i16 %16623 to i32
%16625 = icmp eq i32 %16624, 0
br i1 %16625, label %16626, label %16627
16626: ; preds = %16619
br label %16631
16627: ; preds = %16619
%16628 = load i16, i16* %15
%16629 = sext i16 %16628 to i32
%16630 = sub nsw i32 25, %16629
br label %16631
16631: ; preds = %16627, %16626
%16632 = phi i32 [ 0, %16626 ], [ %16630, %16627 ]
%16633 = trunc i32 %16632 to i16
store i16 %16633, i16* %11
%16634 = load i16, i16* %18
%16635 = sext i16 %16634 to i32
%16636 = icmp eq i32 %16635, 0
br i1 %16636, label %16637, label %16638
16637: ; preds = %16631
br label %16642
16638: ; preds = %16631
%16639 = load i16, i16* %18
%16640 = sext i16 %16639 to i32
%16641 = sub nsw i32 25, %16640
br label %16642
16642: ; preds = %16638, %16637
%16643 = phi i32 [ 0, %16637 ], [ %16641, %16638 ]
%16644 = trunc i32 %16643 to i16
store i16 %16644, i16* %15
%16645 = load i16, i16* %12
store i16 %16645, i16* %18
%16646 = load i16, i16* %16
%16647 = sext i16 %16646 to i32
%16648 = icmp eq i32 %16647, 0
br i1 %16648, label %16649, label %16650
16649: ; preds = %16642
br label %16654
16650: ; preds = %16642
%16651 = load i16, i16* %16
%16652 = sext i16 %16651 to i32
%16653 = sub nsw i32 25, %16652
br label %16654
16654: ; preds = %16650, %16649
%16655 = phi i32 [ 0, %16649 ], [ %16653, %16650 ]
%16656 = trunc i32 %16655 to i16
store i16 %16656, i16* %12
%16657 = load i16, i16* %18
%16658 = sext i16 %16657 to i32
%16659 = icmp eq i32 %16658, 0
br i1 %16659, label %16660, label %16661
16660: ; preds = %16654
br label %16665
16661: ; preds = %16654
%16662 = load i16, i16* %18
%16663 = sext i16 %16662 to i32
%16664 = sub nsw i32 25, %16663
br label %16665
16665: ; preds = %16661, %16660
%16666 = phi i32 [ 0, %16660 ], [ %16664, %16661 ]
%16667 = trunc i32 %16666 to i16
store i16 %16667, i16* %16
%16668 = load i16, i16* %13
store i16 %16668, i16* %18
%16669 = load i16, i16* %17
%16670 = sext i16 %16669 to i32
%16671 = icmp eq i32 %16670, 0
br i1 %16671, label %16672, label %16673
16672: ; preds = %16665
br label %16677
16673: ; preds = %16665
%16674 = load i16, i16* %17
%16675 = sext i16 %16674 to i32
%16676 = sub nsw i32 25, %16675
br label %16677
16677: ; preds = %16673, %16672
%16678 = phi i32 [ 0, %16672 ], [ %16676, %16673 ]
%16679 = trunc i32 %16678 to i16
store i16 %16679, i16* %13
%16680 = load i16, i16* %18
%16681 = sext i16 %16680 to i32
%16682 = icmp eq i32 %16681, 0
br i1 %16682, label %16683, label %16684
16683: ; preds = %16677
br label %16688
16684: ; preds = %16677
%16685 = load i16, i16* %18
%16686 = sext i16 %16685 to i32
%16687 = sub nsw i32 25, %16686
br label %16688
16688: ; preds = %16684, %16683
%16689 = phi i32 [ 0, %16683 ], [ %16687, %16684 ]
%16690 = trunc i32 %16689 to i16
store i16 %16690, i16* %17
%16691 = load i16, i16* %10
%16692 = sext i16 %16691 to i32
%16693 = load i16, i16* %11
%16694 = sext i16 %16693 to i32
%16695 = load i16, i16* %12
%16696 = sext i16 %16695 to i32
%16697 = load i16, i16* %13
%16698 = sext i16 %16697 to i32
%16699 = load i16, i16* %14
%16700 = sext i16 %16699 to i32
%16701 = load i16, i16* %15
%16702 = sext i16 %16701 to i32
%16703 = load i16, i16* %16
%16704 = sext i16 %16703 to i32
%16705 = load i16, i16* %17
%16706 = sext i16 %16705 to i32
%16707 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16692, i32 %16694, i32 %16696, i32 %16698, i32 %16700, i32 %16702, i32 %16704, i32 %16706)
%16708 = icmp eq i32 %16707, -1
br i1 %16708, label %16709, label %16710
16709: ; preds = %16688
store i16 -1, i16* %9
br label %18764
16710: ; preds = %16688
%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
%16803 = load i16, i16* %22
store i16 %16803, i16* %21
br label %16804
16804: ; preds = %16800, %16593
%16805 = load i16, i16* %19
store i16 %16805, i16* %13
br label %16806
16806: ; preds = %16804, %16378, %16372, %16366, %16360, %16354, %16343
br label %16807
16807: ; preds = %16806, %16338, %16334, %16330
br label %18731
16808: ; preds = %16326
%16809 = load i16, i16* %22
%16810 = sext i16 %16809 to i32
%16811 = icmp eq i32 %16810, 28
br i1 %16811, label %16812, label %17285
16812: ; preds = %16808
%16813 = load i16, i16* %13
%16814 = sext i16 %16813 to i32
%16815 = icmp ne i32 %16814, 0
br i1 %16815, label %16816, label %17284
16816: ; preds = %16812
%16817 = load i16, i16* %13
%16818 = sext i16 %16817 to i32
%16819 = icmp slt i32 4, %16818
br i1 %16819, label %16820, label %17284
16820: ; preds = %16816
%16821 = load i16, i16* %13
store i16 %16821, i16* %19
%16822 = load i16, i16* %19
%16823 = sext i16 %16822 to i32
%16824 = sub nsw i32 %16823, 4
%16825 = trunc i32 %16824 to i16
store i16 %16825, i16* %20
%16826 = load i16, i16* %20
%16827 = sext i16 %16826 to i32
%16828 = load i16, i16* %10
%16829 = sext i16 %16828 to i32
%16830 = icmp ne i32 %16827, %16829
br i1 %16830, label %16831, label %17283
16831: ; preds = %16820
%16832 = load i16, i16* %20
%16833 = sext i16 %16832 to i32
%16834 = load i16, i16* %11
%16835 = sext i16 %16834 to i32
%16836 = icmp ne i32 %16833, %16835
br i1 %16836, label %16837, label %17283
16837: ; preds = %16831
%16838 = load i16, i16* %20
%16839 = sext i16 %16838 to i32
%16840 = load i16, i16* %12
%16841 = sext i16 %16840 to i32
%16842 = icmp ne i32 %16839, %16841
br i1 %16842, label %16843, label %17283
16843: ; preds = %16837
%16844 = load i16, i16* %20
%16845 = sext i16 %16844 to i32
%16846 = load i16, i16* %14
%16847 = sext i16 %16846 to i32
%16848 = icmp ne i32 %16845, %16847
br i1 %16848, label %16849, label %17283
16849: ; preds = %16843
%16850 = load i16, i16* %20
%16851 = sext i16 %16850 to i32
%16852 = load i16, i16* %15
%16853 = sext i16 %16852 to i32
%16854 = icmp ne i32 %16851, %16853
br i1 %16854, label %16855, label %17283
16855: ; preds = %16849
%16856 = load i16, i16* %20
%16857 = sext i16 %16856 to i32
%16858 = load i16, i16* %17
%16859 = sext i16 %16858 to i32
%16860 = icmp ne i32 %16857, %16859
br i1 %16860, label %16861, label %17283
16861: ; preds = %16855
%16862 = load i16, i16* %20
store i16 %16862, i16* %13
%16863 = load i16, i16* %16
%16864 = sext i16 %16863 to i32
%16865 = load i16, i16* %20
%16866 = sext i16 %16865 to i32
%16867 = icmp eq i32 %16864, %16866
br i1 %16867, label %16868, label %17075
16868: ; preds = %16861
store i16 0, i16* %16
%16869 = load i16, i16* %10
store i16 %16869, i16* %18
%16870 = load i16, i16* %14
%16871 = sext i16 %16870 to i32
%16872 = icmp eq i32 %16871, 0
br i1 %16872, label %16873, label %16874
16873: ; preds = %16868
br label %16878
16874: ; preds = %16868
%16875 = load i16, i16* %14
%16876 = sext i16 %16875 to i32
%16877 = sub nsw i32 25, %16876
br label %16878
16878: ; preds = %16874, %16873
%16879 = phi i32 [ 0, %16873 ], [ %16877, %16874 ]
%16880 = trunc i32 %16879 to i16
store i16 %16880, i16* %10
%16881 = load i16, i16* %18
%16882 = sext i16 %16881 to i32
%16883 = icmp eq i32 %16882, 0
br i1 %16883, label %16884, label %16885
16884: ; preds = %16878
br label %16889
16885: ; preds = %16878
%16886 = load i16, i16* %18
%16887 = sext i16 %16886 to i32
%16888 = sub nsw i32 25, %16887
br label %16889
16889: ; preds = %16885, %16884
%16890 = phi i32 [ 0, %16884 ], [ %16888, %16885 ]
%16891 = trunc i32 %16890 to i16
store i16 %16891, i16* %14
%16892 = load i16, i16* %11
store i16 %16892, i16* %18
%16893 = load i16, i16* %15
%16894 = sext i16 %16893 to i32
%16895 = icmp eq i32 %16894, 0
br i1 %16895, label %16896, label %16897
16896: ; preds = %16889
br label %16901
16897: ; preds = %16889
%16898 = load i16, i16* %15
%16899 = sext i16 %16898 to i32
%16900 = sub nsw i32 25, %16899
br label %16901
16901: ; preds = %16897, %16896
%16902 = phi i32 [ 0, %16896 ], [ %16900, %16897 ]
%16903 = trunc i32 %16902 to i16
store i16 %16903, i16* %11
%16904 = load i16, i16* %18
%16905 = sext i16 %16904 to i32
%16906 = icmp eq i32 %16905, 0
br i1 %16906, label %16907, label %16908
16907: ; preds = %16901
br label %16912
16908: ; preds = %16901
%16909 = load i16, i16* %18
%16910 = sext i16 %16909 to i32
%16911 = sub nsw i32 25, %16910
br label %16912
16912: ; preds = %16908, %16907
%16913 = phi i32 [ 0, %16907 ], [ %16911, %16908 ]
%16914 = trunc i32 %16913 to i16
store i16 %16914, i16* %15
%16915 = load i16, i16* %12
store i16 %16915, i16* %18
%16916 = load i16, i16* %16
%16917 = sext i16 %16916 to i32
%16918 = icmp eq i32 %16917, 0
br i1 %16918, label %16919, label %16920
16919: ; preds = %16912
br label %16924
16920: ; preds = %16912
%16921 = load i16, i16* %16
%16922 = sext i16 %16921 to i32
%16923 = sub nsw i32 25, %16922
br label %16924
16924: ; preds = %16920, %16919
%16925 = phi i32 [ 0, %16919 ], [ %16923, %16920 ]
%16926 = trunc i32 %16925 to i16
store i16 %16926, i16* %12
%16927 = load i16, i16* %18
%16928 = sext i16 %16927 to i32
%16929 = icmp eq i32 %16928, 0
br i1 %16929, label %16930, label %16931
16930: ; preds = %16924
br label %16935
16931: ; preds = %16924
%16932 = load i16, i16* %18
%16933 = sext i16 %16932 to i32
%16934 = sub nsw i32 25, %16933
br label %16935
16935: ; preds = %16931, %16930
%16936 = phi i32 [ 0, %16930 ], [ %16934, %16931 ]
%16937 = trunc i32 %16936 to i16
store i16 %16937, i16* %16
%16938 = load i16, i16* %13
store i16 %16938, i16* %18
%16939 = load i16, i16* %17
%16940 = sext i16 %16939 to i32
%16941 = icmp eq i32 %16940, 0
br i1 %16941, label %16942, label %16943
16942: ; preds = %16935
br label %16947
16943: ; preds = %16935
%16944 = load i16, i16* %17
%16945 = sext i16 %16944 to i32
%16946 = sub nsw i32 25, %16945
br label %16947
16947: ; preds = %16943, %16942
%16948 = phi i32 [ 0, %16942 ], [ %16946, %16943 ]
%16949 = trunc i32 %16948 to i16
store i16 %16949, i16* %13
%16950 = load i16, i16* %18
%16951 = sext i16 %16950 to i32
%16952 = icmp eq i32 %16951, 0
br i1 %16952, label %16953, label %16954
16953: ; preds = %16947
br label %16958
16954: ; preds = %16947
%16955 = load i16, i16* %18
%16956 = sext i16 %16955 to i32
%16957 = sub nsw i32 25, %16956
br label %16958
16958: ; preds = %16954, %16953
%16959 = phi i32 [ 0, %16953 ], [ %16957, %16954 ]
%16960 = trunc i32 %16959 to i16
store i16 %16960, i16* %17
%16961 = load i16, i16* %10
%16962 = sext i16 %16961 to i32
%16963 = load i16, i16* %11
%16964 = sext i16 %16963 to i32
%16965 = load i16, i16* %12
%16966 = sext i16 %16965 to i32
%16967 = load i16, i16* %13
%16968 = sext i16 %16967 to i32
%16969 = load i16, i16* %14
%16970 = sext i16 %16969 to i32
%16971 = load i16, i16* %15
%16972 = sext i16 %16971 to i32
%16973 = load i16, i16* %16
%16974 = sext i16 %16973 to i32
%16975 = load i16, i16* %17
%16976 = sext i16 %16975 to i32
%16977 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16962, i32 %16964, i32 %16966, i32 %16968, i32 %16970, i32 %16972, i32 %16974, i32 %16976)
%16978 = icmp eq i32 %16977, -1
br i1 %16978, label %16979, label %16980
16979: ; preds = %16958
store i16 -1, i16* %9
br label %18764
16980: ; preds = %16958
%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* %22
store i16 %17073, i16* %21
%17074 = load i16, i16* %20
store i16 %17074, i16* %16
br label %17281
17075: ; preds = %16861
%17076 = load i16, i16* %10
store i16 %17076, i16* %18
%17077 = load i16, i16* %14
%17078 = sext i16 %17077 to i32
%17079 = icmp eq i32 %17078, 0
br i1 %17079, label %17080, label %17081
17080: ; preds = %17075
br label %17085
17081: ; preds = %17075
%17082 = load i16, i16* %14
%17083 = sext i16 %17082 to i32
%17084 = sub nsw i32 25, %17083
br label %17085
17085: ; preds = %17081, %17080
%17086 = phi i32 [ 0, %17080 ], [ %17084, %17081 ]
%17087 = trunc i32 %17086 to i16
store i16 %17087, i16* %10
%17088 = load i16, i16* %18
%17089 = sext i16 %17088 to i32
%17090 = icmp eq i32 %17089, 0
br i1 %17090, label %17091, label %17092
17091: ; preds = %17085
br label %17096
17092: ; preds = %17085
%17093 = load i16, i16* %18
%17094 = sext i16 %17093 to i32
%17095 = sub nsw i32 25, %17094
br label %17096
17096: ; preds = %17092, %17091
%17097 = phi i32 [ 0, %17091 ], [ %17095, %17092 ]
%17098 = trunc i32 %17097 to i16
store i16 %17098, i16* %14
%17099 = load i16, i16* %11
store i16 %17099, i16* %18
%17100 = load i16, i16* %15
%17101 = sext i16 %17100 to i32
%17102 = icmp eq i32 %17101, 0
br i1 %17102, label %17103, label %17104
17103: ; preds = %17096
br label %17108
17104: ; preds = %17096
%17105 = load i16, i16* %15
%17106 = sext i16 %17105 to i32
%17107 = sub nsw i32 25, %17106
br label %17108
17108: ; preds = %17104, %17103
%17109 = phi i32 [ 0, %17103 ], [ %17107, %17104 ]
%17110 = trunc i32 %17109 to i16
store i16 %17110, i16* %11
%17111 = load i16, i16* %18
%17112 = sext i16 %17111 to i32
%17113 = icmp eq i32 %17112, 0
br i1 %17113, label %17114, label %17115
17114: ; preds = %17108
br label %17119
17115: ; preds = %17108
%17116 = load i16, i16* %18
%17117 = sext i16 %17116 to i32
%17118 = sub nsw i32 25, %17117
br label %17119
17119: ; preds = %17115, %17114
%17120 = phi i32 [ 0, %17114 ], [ %17118, %17115 ]
%17121 = trunc i32 %17120 to i16
store i16 %17121, i16* %15
%17122 = load i16, i16* %12
store i16 %17122, i16* %18
%17123 = load i16, i16* %16
%17124 = sext i16 %17123 to i32
%17125 = icmp eq i32 %17124, 0
br i1 %17125, label %17126, label %17127
17126: ; preds = %17119
br label %17131
17127: ; preds = %17119
%17128 = load i16, i16* %16
%17129 = sext i16 %17128 to i32
%17130 = sub nsw i32 25, %17129
br label %17131
17131: ; preds = %17127, %17126
%17132 = phi i32 [ 0, %17126 ], [ %17130, %17127 ]
%17133 = trunc i32 %17132 to i16
store i16 %17133, i16* %12
%17134 = load i16, i16* %18
%17135 = sext i16 %17134 to i32
%17136 = icmp eq i32 %17135, 0
br i1 %17136, label %17137, label %17138
17137: ; preds = %17131
br label %17142
17138: ; preds = %17131
%17139 = load i16, i16* %18
%17140 = sext i16 %17139 to i32
%17141 = sub nsw i32 25, %17140
br label %17142
17142: ; preds = %17138, %17137
%17143 = phi i32 [ 0, %17137 ], [ %17141, %17138 ]
%17144 = trunc i32 %17143 to i16
store i16 %17144, i16* %16
%17145 = load i16, i16* %13
store i16 %17145, i16* %18
%17146 = load i16, i16* %17
%17147 = sext i16 %17146 to i32
%17148 = icmp eq i32 %17147, 0
br i1 %17148, label %17149, label %17150
17149: ; preds = %17142
br label %17154
17150: ; preds = %17142
%17151 = load i16, i16* %17
%17152 = sext i16 %17151 to i32
%17153 = sub nsw i32 25, %17152
br label %17154
17154: ; preds = %17150, %17149
%17155 = phi i32 [ 0, %17149 ], [ %17153, %17150 ]
%17156 = trunc i32 %17155 to i16
store i16 %17156, i16* %13
%17157 = load i16, i16* %18
%17158 = sext i16 %17157 to i32
%17159 = icmp eq i32 %17158, 0
br i1 %17159, label %17160, label %17161
17160: ; preds = %17154
br label %17165
17161: ; preds = %17154
%17162 = load i16, i16* %18
%17163 = sext i16 %17162 to i32
%17164 = sub nsw i32 25, %17163
br label %17165
17165: ; preds = %17161, %17160
%17166 = phi i32 [ 0, %17160 ], [ %17164, %17161 ]
%17167 = trunc i32 %17166 to i16
store i16 %17167, i16* %17
%17168 = load i16, i16* %10
%17169 = sext i16 %17168 to i32
%17170 = load i16, i16* %11
%17171 = sext i16 %17170 to i32
%17172 = load i16, i16* %12
%17173 = sext i16 %17172 to i32
%17174 = load i16, i16* %13
%17175 = sext i16 %17174 to i32
%17176 = load i16, i16* %14
%17177 = sext i16 %17176 to i32
%17178 = load i16, i16* %15
%17179 = sext i16 %17178 to i32
%17180 = load i16, i16* %16
%17181 = sext i16 %17180 to i32
%17182 = load i16, i16* %17
%17183 = sext i16 %17182 to i32
%17184 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17169, i32 %17171, i32 %17173, i32 %17175, i32 %17177, i32 %17179, i32 %17181, i32 %17183)
%17185 = icmp eq i32 %17184, -1
br i1 %17185, label %17186, label %17187
17186: ; preds = %17165
store i16 -1, i16* %9
br label %18764
17187: ; preds = %17165
%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
%17280 = load i16, i16* %22
store i16 %17280, i16* %21
br label %17281
17281: ; preds = %17277, %17070
%17282 = load i16, i16* %19
store i16 %17282, i16* %13
br label %17283
17283: ; preds = %17281, %16855, %16849, %16843, %16837, %16831, %16820
br label %17284
17284: ; preds = %17283, %16816, %16812
br label %18730
17285: ; preds = %16808
%17286 = load i16, i16* %22
%17287 = sext i16 %17286 to i32
%17288 = icmp eq i32 %17287, 29
br i1 %17288, label %17289, label %17767
17289: ; preds = %17285
%17290 = load i16, i16* %13
%17291 = sext i16 %17290 to i32
%17292 = icmp ne i32 %17291, 0
br i1 %17292, label %17293, label %17766
17293: ; preds = %17289
%17294 = load i16, i16* %13
%17295 = sext i16 %17294 to i32
%17296 = icmp slt i32 4, %17295
br i1 %17296, label %17297, label %17766
17297: ; preds = %17293
%17298 = load i16, i16* %13
%17299 = sext i16 %17298 to i32
%17300 = srem i32 %17299, 4
%17301 = icmp ne i32 %17300, 1
br i1 %17301, label %17302, label %17766
17302: ; preds = %17297
%17303 = load i16, i16* %13
store i16 %17303, i16* %19
%17304 = load i16, i16* %19
%17305 = sext i16 %17304 to i32
%17306 = sub nsw i32 %17305, 5
%17307 = trunc i32 %17306 to i16
store i16 %17307, i16* %20
%17308 = load i16, i16* %20
%17309 = sext i16 %17308 to i32
%17310 = load i16, i16* %10
%17311 = sext i16 %17310 to i32
%17312 = icmp ne i32 %17309, %17311
br i1 %17312, label %17313, label %17765
17313: ; preds = %17302
%17314 = load i16, i16* %20
%17315 = sext i16 %17314 to i32
%17316 = load i16, i16* %11
%17317 = sext i16 %17316 to i32
%17318 = icmp ne i32 %17315, %17317
br i1 %17318, label %17319, label %17765
17319: ; preds = %17313
%17320 = load i16, i16* %20
%17321 = sext i16 %17320 to i32
%17322 = load i16, i16* %12
%17323 = sext i16 %17322 to i32
%17324 = icmp ne i32 %17321, %17323
br i1 %17324, label %17325, label %17765
17325: ; preds = %17319
%17326 = load i16, i16* %20
%17327 = sext i16 %17326 to i32
%17328 = load i16, i16* %14
%17329 = sext i16 %17328 to i32
%17330 = icmp ne i32 %17327, %17329
br i1 %17330, label %17331, label %17765
17331: ; preds = %17325
%17332 = load i16, i16* %20
%17333 = sext i16 %17332 to i32
%17334 = load i16, i16* %15
%17335 = sext i16 %17334 to i32
%17336 = icmp ne i32 %17333, %17335
br i1 %17336, label %17337, label %17765
17337: ; preds = %17331
%17338 = load i16, i16* %20
%17339 = sext i16 %17338 to i32
%17340 = load i16, i16* %17
%17341 = sext i16 %17340 to i32
%17342 = icmp ne i32 %17339, %17341
br i1 %17342, label %17343, label %17765
17343: ; preds = %17337
%17344 = load i16, i16* %20
store i16 %17344, i16* %13
%17345 = load i16, i16* %16
%17346 = sext i16 %17345 to i32
%17347 = load i16, i16* %20
%17348 = sext i16 %17347 to i32
%17349 = icmp eq i32 %17346, %17348
br i1 %17349, label %17350, label %17557
17350: ; preds = %17343
store i16 0, i16* %16
%17351 = load i16, i16* %10
store i16 %17351, i16* %18
%17352 = load i16, i16* %14
%17353 = sext i16 %17352 to i32
%17354 = icmp eq i32 %17353, 0
br i1 %17354, label %17355, label %17356
17355: ; preds = %17350
br label %17360
17356: ; preds = %17350
%17357 = load i16, i16* %14
%17358 = sext i16 %17357 to i32
%17359 = sub nsw i32 25, %17358
br label %17360
17360: ; preds = %17356, %17355
%17361 = phi i32 [ 0, %17355 ], [ %17359, %17356 ]
%17362 = trunc i32 %17361 to i16
store i16 %17362, i16* %10
%17363 = load i16, i16* %18
%17364 = sext i16 %17363 to i32
%17365 = icmp eq i32 %17364, 0
br i1 %17365, label %17366, label %17367
17366: ; preds = %17360
br label %17371
17367: ; preds = %17360
%17368 = load i16, i16* %18
%17369 = sext i16 %17368 to i32
%17370 = sub nsw i32 25, %17369
br label %17371
17371: ; preds = %17367, %17366
%17372 = phi i32 [ 0, %17366 ], [ %17370, %17367 ]
%17373 = trunc i32 %17372 to i16
store i16 %17373, i16* %14
%17374 = load i16, i16* %11
store i16 %17374, i16* %18
%17375 = load i16, i16* %15
%17376 = sext i16 %17375 to i32
%17377 = icmp eq i32 %17376, 0
br i1 %17377, label %17378, label %17379
17378: ; preds = %17371
br label %17383
17379: ; preds = %17371
%17380 = load i16, i16* %15
%17381 = sext i16 %17380 to i32
%17382 = sub nsw i32 25, %17381
br label %17383
17383: ; preds = %17379, %17378
%17384 = phi i32 [ 0, %17378 ], [ %17382, %17379 ]
%17385 = trunc i32 %17384 to i16
store i16 %17385, i16* %11
%17386 = load i16, i16* %18
%17387 = sext i16 %17386 to i32
%17388 = icmp eq i32 %17387, 0
br i1 %17388, label %17389, label %17390
17389: ; preds = %17383
br label %17394
17390: ; preds = %17383
%17391 = load i16, i16* %18
%17392 = sext i16 %17391 to i32
%17393 = sub nsw i32 25, %17392
br label %17394
17394: ; preds = %17390, %17389
%17395 = phi i32 [ 0, %17389 ], [ %17393, %17390 ]
%17396 = trunc i32 %17395 to i16
store i16 %17396, i16* %15
%17397 = load i16, i16* %12
store i16 %17397, i16* %18
%17398 = load i16, i16* %16
%17399 = sext i16 %17398 to i32
%17400 = icmp eq i32 %17399, 0
br i1 %17400, label %17401, label %17402
17401: ; preds = %17394
br label %17406
17402: ; preds = %17394
%17403 = load i16, i16* %16
%17404 = sext i16 %17403 to i32
%17405 = sub nsw i32 25, %17404
br label %17406
17406: ; preds = %17402, %17401
%17407 = phi i32 [ 0, %17401 ], [ %17405, %17402 ]
%17408 = trunc i32 %17407 to i16
store i16 %17408, i16* %12
%17409 = load i16, i16* %18
%17410 = sext i16 %17409 to i32
%17411 = icmp eq i32 %17410, 0
br i1 %17411, label %17412, label %17413
17412: ; preds = %17406
br label %17417
17413: ; preds = %17406
%17414 = load i16, i16* %18
%17415 = sext i16 %17414 to i32
%17416 = sub nsw i32 25, %17415
br label %17417
17417: ; preds = %17413, %17412
%17418 = phi i32 [ 0, %17412 ], [ %17416, %17413 ]
%17419 = trunc i32 %17418 to i16
store i16 %17419, i16* %16
%17420 = load i16, i16* %13
store i16 %17420, i16* %18
%17421 = load i16, i16* %17
%17422 = sext i16 %17421 to i32
%17423 = icmp eq i32 %17422, 0
br i1 %17423, label %17424, label %17425
17424: ; preds = %17417
br label %17429
17425: ; preds = %17417
%17426 = load i16, i16* %17
%17427 = sext i16 %17426 to i32
%17428 = sub nsw i32 25, %17427
br label %17429
17429: ; preds = %17425, %17424
%17430 = phi i32 [ 0, %17424 ], [ %17428, %17425 ]
%17431 = trunc i32 %17430 to i16
store i16 %17431, i16* %13
%17432 = load i16, i16* %18
%17433 = sext i16 %17432 to i32
%17434 = icmp eq i32 %17433, 0
br i1 %17434, label %17435, label %17436
17435: ; preds = %17429
br label %17440
17436: ; preds = %17429
%17437 = load i16, i16* %18
%17438 = sext i16 %17437 to i32
%17439 = sub nsw i32 25, %17438
br label %17440
17440: ; preds = %17436, %17435
%17441 = phi i32 [ 0, %17435 ], [ %17439, %17436 ]
%17442 = trunc i32 %17441 to i16
store i16 %17442, i16* %17
%17443 = load i16, i16* %10
%17444 = sext i16 %17443 to i32
%17445 = load i16, i16* %11
%17446 = sext i16 %17445 to i32
%17447 = load i16, i16* %12
%17448 = sext i16 %17447 to i32
%17449 = load i16, i16* %13
%17450 = sext i16 %17449 to i32
%17451 = load i16, i16* %14
%17452 = sext i16 %17451 to i32
%17453 = load i16, i16* %15
%17454 = sext i16 %17453 to i32
%17455 = load i16, i16* %16
%17456 = sext i16 %17455 to i32
%17457 = load i16, i16* %17
%17458 = sext i16 %17457 to i32
%17459 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17444, i32 %17446, i32 %17448, i32 %17450, i32 %17452, i32 %17454, i32 %17456, i32 %17458)
%17460 = icmp eq i32 %17459, -1
br i1 %17460, label %17461, label %17462
17461: ; preds = %17440
store i16 -1, i16* %9
br label %18764
17462: ; preds = %17440
%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* %22
store i16 %17555, i16* %21
%17556 = load i16, i16* %20
store i16 %17556, i16* %16
br label %17763
17557: ; preds = %17343
%17558 = load i16, i16* %10
store i16 %17558, i16* %18
%17559 = load i16, i16* %14
%17560 = sext i16 %17559 to i32
%17561 = icmp eq i32 %17560, 0
br i1 %17561, label %17562, label %17563
17562: ; preds = %17557
br label %17567
17563: ; preds = %17557
%17564 = load i16, i16* %14
%17565 = sext i16 %17564 to i32
%17566 = sub nsw i32 25, %17565
br label %17567
17567: ; preds = %17563, %17562
%17568 = phi i32 [ 0, %17562 ], [ %17566, %17563 ]
%17569 = trunc i32 %17568 to i16
store i16 %17569, i16* %10
%17570 = load i16, i16* %18
%17571 = sext i16 %17570 to i32
%17572 = icmp eq i32 %17571, 0
br i1 %17572, label %17573, label %17574
17573: ; preds = %17567
br label %17578
17574: ; preds = %17567
%17575 = load i16, i16* %18
%17576 = sext i16 %17575 to i32
%17577 = sub nsw i32 25, %17576
br label %17578
17578: ; preds = %17574, %17573
%17579 = phi i32 [ 0, %17573 ], [ %17577, %17574 ]
%17580 = trunc i32 %17579 to i16
store i16 %17580, i16* %14
%17581 = load i16, i16* %11
store i16 %17581, i16* %18
%17582 = load i16, i16* %15
%17583 = sext i16 %17582 to i32
%17584 = icmp eq i32 %17583, 0
br i1 %17584, label %17585, label %17586
17585: ; preds = %17578
br label %17590
17586: ; preds = %17578
%17587 = load i16, i16* %15
%17588 = sext i16 %17587 to i32
%17589 = sub nsw i32 25, %17588
br label %17590
17590: ; preds = %17586, %17585
%17591 = phi i32 [ 0, %17585 ], [ %17589, %17586 ]
%17592 = trunc i32 %17591 to i16
store i16 %17592, i16* %11
%17593 = load i16, i16* %18
%17594 = sext i16 %17593 to i32
%17595 = icmp eq i32 %17594, 0
br i1 %17595, label %17596, label %17597
17596: ; preds = %17590
br label %17601
17597: ; preds = %17590
%17598 = load i16, i16* %18
%17599 = sext i16 %17598 to i32
%17600 = sub nsw i32 25, %17599
br label %17601
17601: ; preds = %17597, %17596
%17602 = phi i32 [ 0, %17596 ], [ %17600, %17597 ]
%17603 = trunc i32 %17602 to i16
store i16 %17603, i16* %15
%17604 = load i16, i16* %12
store i16 %17604, i16* %18
%17605 = load i16, i16* %16
%17606 = sext i16 %17605 to i32
%17607 = icmp eq i32 %17606, 0
br i1 %17607, label %17608, label %17609
17608: ; preds = %17601
br label %17613
17609: ; preds = %17601
%17610 = load i16, i16* %16
%17611 = sext i16 %17610 to i32
%17612 = sub nsw i32 25, %17611
br label %17613
17613: ; preds = %17609, %17608
%17614 = phi i32 [ 0, %17608 ], [ %17612, %17609 ]
%17615 = trunc i32 %17614 to i16
store i16 %17615, i16* %12
%17616 = load i16, i16* %18
%17617 = sext i16 %17616 to i32
%17618 = icmp eq i32 %17617, 0
br i1 %17618, label %17619, label %17620
17619: ; preds = %17613
br label %17624
17620: ; preds = %17613
%17621 = load i16, i16* %18
%17622 = sext i16 %17621 to i32
%17623 = sub nsw i32 25, %17622
br label %17624
17624: ; preds = %17620, %17619
%17625 = phi i32 [ 0, %17619 ], [ %17623, %17620 ]
%17626 = trunc i32 %17625 to i16
store i16 %17626, i16* %16
%17627 = load i16, i16* %13
store i16 %17627, i16* %18
%17628 = load i16, i16* %17
%17629 = sext i16 %17628 to i32
%17630 = icmp eq i32 %17629, 0
br i1 %17630, label %17631, label %17632
17631: ; preds = %17624
br label %17636
17632: ; preds = %17624
%17633 = load i16, i16* %17
%17634 = sext i16 %17633 to i32
%17635 = sub nsw i32 25, %17634
br label %17636
17636: ; preds = %17632, %17631
%17637 = phi i32 [ 0, %17631 ], [ %17635, %17632 ]
%17638 = trunc i32 %17637 to i16
store i16 %17638, i16* %13
%17639 = load i16, i16* %18
%17640 = sext i16 %17639 to i32
%17641 = icmp eq i32 %17640, 0
br i1 %17641, label %17642, label %17643
17642: ; preds = %17636
br label %17647
17643: ; preds = %17636
%17644 = load i16, i16* %18
%17645 = sext i16 %17644 to i32
%17646 = sub nsw i32 25, %17645
br label %17647
17647: ; preds = %17643, %17642
%17648 = phi i32 [ 0, %17642 ], [ %17646, %17643 ]
%17649 = trunc i32 %17648 to i16
store i16 %17649, i16* %17
%17650 = load i16, i16* %10
%17651 = sext i16 %17650 to i32
%17652 = load i16, i16* %11
%17653 = sext i16 %17652 to i32
%17654 = load i16, i16* %12
%17655 = sext i16 %17654 to i32
%17656 = load i16, i16* %13
%17657 = sext i16 %17656 to i32
%17658 = load i16, i16* %14
%17659 = sext i16 %17658 to i32
%17660 = load i16, i16* %15
%17661 = sext i16 %17660 to i32
%17662 = load i16, i16* %16
%17663 = sext i16 %17662 to i32
%17664 = load i16, i16* %17
%17665 = sext i16 %17664 to i32
%17666 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17651, i32 %17653, i32 %17655, i32 %17657, i32 %17659, i32 %17661, i32 %17663, i32 %17665)
%17667 = icmp eq i32 %17666, -1
br i1 %17667, label %17668, label %17669
17668: ; preds = %17647
store i16 -1, i16* %9
br label %18764
17669: ; preds = %17647
%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
%17762 = load i16, i16* %22
store i16 %17762, i16* %21
br label %17763
17763: ; preds = %17759, %17552
%17764 = load i16, i16* %19
store i16 %17764, i16* %13
br label %17765
17765: ; preds = %17763, %17337, %17331, %17325, %17319, %17313, %17302
br label %17766
17766: ; preds = %17765, %17297, %17293, %17289
br label %18729
17767: ; preds = %17285
%17768 = load i16, i16* %22
%17769 = sext i16 %17768 to i32
%17770 = icmp eq i32 %17769, 30
br i1 %17770, label %17771, label %18245
17771: ; preds = %17767
%17772 = load i16, i16* %13
%17773 = sext i16 %17772 to i32
%17774 = icmp ne i32 %17773, 0
br i1 %17774, label %17775, label %18244
17775: ; preds = %17771
%17776 = load i16, i16* %13
%17777 = sext i16 %17776 to i32
%17778 = srem i32 %17777, 4
%17779 = icmp ne i32 %17778, 1
br i1 %17779, label %17780, label %18244
17780: ; preds = %17775
%17781 = load i16, i16* %13
store i16 %17781, i16* %19
%17782 = load i16, i16* %19
%17783 = sext i16 %17782 to i32
%17784 = sub nsw i32 %17783, 1
%17785 = trunc i32 %17784 to i16
store i16 %17785, i16* %20
%17786 = load i16, i16* %20
%17787 = sext i16 %17786 to i32
%17788 = load i16, i16* %10
%17789 = sext i16 %17788 to i32
%17790 = icmp ne i32 %17787, %17789
br i1 %17790, label %17791, label %18243
17791: ; preds = %17780
%17792 = load i16, i16* %20
%17793 = sext i16 %17792 to i32
%17794 = load i16, i16* %11
%17795 = sext i16 %17794 to i32
%17796 = icmp ne i32 %17793, %17795
br i1 %17796, label %17797, label %18243
17797: ; preds = %17791
%17798 = load i16, i16* %20
%17799 = sext i16 %17798 to i32
%17800 = load i16, i16* %12
%17801 = sext i16 %17800 to i32
%17802 = icmp ne i32 %17799, %17801
br i1 %17802, label %17803, label %18243
17803: ; preds = %17797
%17804 = load i16, i16* %20
%17805 = sext i16 %17804 to i32
%17806 = load i16, i16* %14
%17807 = sext i16 %17806 to i32
%17808 = icmp ne i32 %17805, %17807
br i1 %17808, label %17809, label %18243
17809: ; preds = %17803
%17810 = load i16, i16* %20
%17811 = sext i16 %17810 to i32
%17812 = load i16, i16* %15
%17813 = sext i16 %17812 to i32
%17814 = icmp ne i32 %17811, %17813
br i1 %17814, label %17815, label %18243
17815: ; preds = %17809
%17816 = load i16, i16* %20
%17817 = sext i16 %17816 to i32
%17818 = load i16, i16* %17
%17819 = sext i16 %17818 to i32
%17820 = icmp ne i32 %17817, %17819
br i1 %17820, label %17821, label %18243
17821: ; preds = %17815
%17822 = load i16, i16* %20
store i16 %17822, i16* %13
%17823 = load i16, i16* %16
%17824 = sext i16 %17823 to i32
%17825 = load i16, i16* %20
%17826 = sext i16 %17825 to i32
%17827 = icmp eq i32 %17824, %17826
br i1 %17827, label %17828, label %18035
17828: ; preds = %17821
store i16 0, i16* %16
%17829 = load i16, i16* %10
store i16 %17829, i16* %18
%17830 = load i16, i16* %14
%17831 = sext i16 %17830 to i32
%17832 = icmp eq i32 %17831, 0
br i1 %17832, label %17833, label %17834
17833: ; preds = %17828
br label %17838
17834: ; preds = %17828
%17835 = load i16, i16* %14
%17836 = sext i16 %17835 to i32
%17837 = sub nsw i32 25, %17836
br label %17838
17838: ; preds = %17834, %17833
%17839 = phi i32 [ 0, %17833 ], [ %17837, %17834 ]
%17840 = trunc i32 %17839 to i16
store i16 %17840, i16* %10
%17841 = load i16, i16* %18
%17842 = sext i16 %17841 to i32
%17843 = icmp eq i32 %17842, 0
br i1 %17843, label %17844, label %17845
17844: ; preds = %17838
br label %17849
17845: ; preds = %17838
%17846 = load i16, i16* %18
%17847 = sext i16 %17846 to i32
%17848 = sub nsw i32 25, %17847
br label %17849
17849: ; preds = %17845, %17844
%17850 = phi i32 [ 0, %17844 ], [ %17848, %17845 ]
%17851 = trunc i32 %17850 to i16
store i16 %17851, i16* %14
%17852 = load i16, i16* %11
store i16 %17852, i16* %18
%17853 = load i16, i16* %15
%17854 = sext i16 %17853 to i32
%17855 = icmp eq i32 %17854, 0
br i1 %17855, label %17856, label %17857
17856: ; preds = %17849
br label %17861
17857: ; preds = %17849
%17858 = load i16, i16* %15
%17859 = sext i16 %17858 to i32
%17860 = sub nsw i32 25, %17859
br label %17861
17861: ; preds = %17857, %17856
%17862 = phi i32 [ 0, %17856 ], [ %17860, %17857 ]
%17863 = trunc i32 %17862 to i16
store i16 %17863, i16* %11
%17864 = load i16, i16* %18
%17865 = sext i16 %17864 to i32
%17866 = icmp eq i32 %17865, 0
br i1 %17866, label %17867, label %17868
17867: ; preds = %17861
br label %17872
17868: ; preds = %17861
%17869 = load i16, i16* %18
%17870 = sext i16 %17869 to i32
%17871 = sub nsw i32 25, %17870
br label %17872
17872: ; preds = %17868, %17867
%17873 = phi i32 [ 0, %17867 ], [ %17871, %17868 ]
%17874 = trunc i32 %17873 to i16
store i16 %17874, i16* %15
%17875 = load i16, i16* %12
store i16 %17875, i16* %18
%17876 = load i16, i16* %16
%17877 = sext i16 %17876 to i32
%17878 = icmp eq i32 %17877, 0
br i1 %17878, label %17879, label %17880
17879: ; preds = %17872
br label %17884
17880: ; preds = %17872
%17881 = load i16, i16* %16
%17882 = sext i16 %17881 to i32
%17883 = sub nsw i32 25, %17882
br label %17884
17884: ; preds = %17880, %17879
%17885 = phi i32 [ 0, %17879 ], [ %17883, %17880 ]
%17886 = trunc i32 %17885 to i16
store i16 %17886, i16* %12
%17887 = load i16, i16* %18
%17888 = sext i16 %17887 to i32
%17889 = icmp eq i32 %17888, 0
br i1 %17889, label %17890, label %17891
17890: ; preds = %17884
br label %17895
17891: ; preds = %17884
%17892 = load i16, i16* %18
%17893 = sext i16 %17892 to i32
%17894 = sub nsw i32 25, %17893
br label %17895
17895: ; preds = %17891, %17890
%17896 = phi i32 [ 0, %17890 ], [ %17894, %17891 ]
%17897 = trunc i32 %17896 to i16
store i16 %17897, i16* %16
%17898 = load i16, i16* %13
store i16 %17898, i16* %18
%17899 = load i16, i16* %17
%17900 = sext i16 %17899 to i32
%17901 = icmp eq i32 %17900, 0
br i1 %17901, label %17902, label %17903
17902: ; preds = %17895
br label %17907
17903: ; preds = %17895
%17904 = load i16, i16* %17
%17905 = sext i16 %17904 to i32
%17906 = sub nsw i32 25, %17905
br label %17907
17907: ; preds = %17903, %17902
%17908 = phi i32 [ 0, %17902 ], [ %17906, %17903 ]
%17909 = trunc i32 %17908 to i16
store i16 %17909, i16* %13
%17910 = load i16, i16* %18
%17911 = sext i16 %17910 to i32
%17912 = icmp eq i32 %17911, 0
br i1 %17912, label %17913, label %17914
17913: ; preds = %17907
br label %17918
17914: ; preds = %17907
%17915 = load i16, i16* %18
%17916 = sext i16 %17915 to i32
%17917 = sub nsw i32 25, %17916
br label %17918
17918: ; preds = %17914, %17913
%17919 = phi i32 [ 0, %17913 ], [ %17917, %17914 ]
%17920 = trunc i32 %17919 to i16
store i16 %17920, i16* %17
%17921 = load i16, i16* %10
%17922 = sext i16 %17921 to i32
%17923 = load i16, i16* %11
%17924 = sext i16 %17923 to i32
%17925 = load i16, i16* %12
%17926 = sext i16 %17925 to i32
%17927 = load i16, i16* %13
%17928 = sext i16 %17927 to i32
%17929 = load i16, i16* %14
%17930 = sext i16 %17929 to i32
%17931 = load i16, i16* %15
%17932 = sext i16 %17931 to i32
%17933 = load i16, i16* %16
%17934 = sext i16 %17933 to i32
%17935 = load i16, i16* %17
%17936 = sext i16 %17935 to i32
%17937 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17922, i32 %17924, i32 %17926, i32 %17928, i32 %17930, i32 %17932, i32 %17934, i32 %17936)
%17938 = icmp eq i32 %17937, -1
br i1 %17938, label %17939, label %17940
17939: ; preds = %17918
store i16 -1, i16* %9
br label %18764
17940: ; preds = %17918
%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* %22
store i16 %18033, i16* %21
%18034 = load i16, i16* %20
store i16 %18034, i16* %16
br label %18241
18035: ; preds = %17821
%18036 = load i16, i16* %10
store i16 %18036, i16* %18
%18037 = load i16, i16* %14
%18038 = sext i16 %18037 to i32
%18039 = icmp eq i32 %18038, 0
br i1 %18039, label %18040, label %18041
18040: ; preds = %18035
br label %18045
18041: ; preds = %18035
%18042 = load i16, i16* %14
%18043 = sext i16 %18042 to i32
%18044 = sub nsw i32 25, %18043
br label %18045
18045: ; preds = %18041, %18040
%18046 = phi i32 [ 0, %18040 ], [ %18044, %18041 ]
%18047 = trunc i32 %18046 to i16
store i16 %18047, i16* %10
%18048 = load i16, i16* %18
%18049 = sext i16 %18048 to i32
%18050 = icmp eq i32 %18049, 0
br i1 %18050, label %18051, label %18052
18051: ; preds = %18045
br label %18056
18052: ; preds = %18045
%18053 = load i16, i16* %18
%18054 = sext i16 %18053 to i32
%18055 = sub nsw i32 25, %18054
br label %18056
18056: ; preds = %18052, %18051
%18057 = phi i32 [ 0, %18051 ], [ %18055, %18052 ]
%18058 = trunc i32 %18057 to i16
store i16 %18058, i16* %14
%18059 = load i16, i16* %11
store i16 %18059, i16* %18
%18060 = load i16, i16* %15
%18061 = sext i16 %18060 to i32
%18062 = icmp eq i32 %18061, 0
br i1 %18062, label %18063, label %18064
18063: ; preds = %18056
br label %18068
18064: ; preds = %18056
%18065 = load i16, i16* %15
%18066 = sext i16 %18065 to i32
%18067 = sub nsw i32 25, %18066
br label %18068
18068: ; preds = %18064, %18063
%18069 = phi i32 [ 0, %18063 ], [ %18067, %18064 ]
%18070 = trunc i32 %18069 to i16
store i16 %18070, i16* %11
%18071 = load i16, i16* %18
%18072 = sext i16 %18071 to i32
%18073 = icmp eq i32 %18072, 0
br i1 %18073, label %18074, label %18075
18074: ; preds = %18068
br label %18079
18075: ; preds = %18068
%18076 = load i16, i16* %18
%18077 = sext i16 %18076 to i32
%18078 = sub nsw i32 25, %18077
br label %18079
18079: ; preds = %18075, %18074
%18080 = phi i32 [ 0, %18074 ], [ %18078, %18075 ]
%18081 = trunc i32 %18080 to i16
store i16 %18081, i16* %15
%18082 = load i16, i16* %12
store i16 %18082, i16* %18
%18083 = load i16, i16* %16
%18084 = sext i16 %18083 to i32
%18085 = icmp eq i32 %18084, 0
br i1 %18085, label %18086, label %18087
18086: ; preds = %18079
br label %18091
18087: ; preds = %18079
%18088 = load i16, i16* %16
%18089 = sext i16 %18088 to i32
%18090 = sub nsw i32 25, %18089
br label %18091
18091: ; preds = %18087, %18086
%18092 = phi i32 [ 0, %18086 ], [ %18090, %18087 ]
%18093 = trunc i32 %18092 to i16
store i16 %18093, i16* %12
%18094 = load i16, i16* %18
%18095 = sext i16 %18094 to i32
%18096 = icmp eq i32 %18095, 0
br i1 %18096, label %18097, label %18098
18097: ; preds = %18091
br label %18102
18098: ; preds = %18091
%18099 = load i16, i16* %18
%18100 = sext i16 %18099 to i32
%18101 = sub nsw i32 25, %18100
br label %18102
18102: ; preds = %18098, %18097
%18103 = phi i32 [ 0, %18097 ], [ %18101, %18098 ]
%18104 = trunc i32 %18103 to i16
store i16 %18104, i16* %16
%18105 = load i16, i16* %13
store i16 %18105, i16* %18
%18106 = load i16, i16* %17
%18107 = sext i16 %18106 to i32
%18108 = icmp eq i32 %18107, 0
br i1 %18108, label %18109, label %18110
18109: ; preds = %18102
br label %18114
18110: ; preds = %18102
%18111 = load i16, i16* %17
%18112 = sext i16 %18111 to i32
%18113 = sub nsw i32 25, %18112
br label %18114
18114: ; preds = %18110, %18109
%18115 = phi i32 [ 0, %18109 ], [ %18113, %18110 ]
%18116 = trunc i32 %18115 to i16
store i16 %18116, i16* %13
%18117 = load i16, i16* %18
%18118 = sext i16 %18117 to i32
%18119 = icmp eq i32 %18118, 0
br i1 %18119, label %18120, label %18121
18120: ; preds = %18114
br label %18125
18121: ; preds = %18114
%18122 = load i16, i16* %18
%18123 = sext i16 %18122 to i32
%18124 = sub nsw i32 25, %18123
br label %18125
18125: ; preds = %18121, %18120
%18126 = phi i32 [ 0, %18120 ], [ %18124, %18121 ]
%18127 = trunc i32 %18126 to i16
store i16 %18127, i16* %17
%18128 = load i16, i16* %10
%18129 = sext i16 %18128 to i32
%18130 = load i16, i16* %11
%18131 = sext i16 %18130 to i32
%18132 = load i16, i16* %12
%18133 = sext i16 %18132 to i32
%18134 = load i16, i16* %13
%18135 = sext i16 %18134 to i32
%18136 = load i16, i16* %14
%18137 = sext i16 %18136 to i32
%18138 = load i16, i16* %15
%18139 = sext i16 %18138 to i32
%18140 = load i16, i16* %16
%18141 = sext i16 %18140 to i32
%18142 = load i16, i16* %17
%18143 = sext i16 %18142 to i32
%18144 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18129, i32 %18131, i32 %18133, i32 %18135, i32 %18137, i32 %18139, i32 %18141, i32 %18143)
%18145 = icmp eq i32 %18144, -1
br i1 %18145, label %18146, label %18147
18146: ; preds = %18125
store i16 -1, i16* %9
br label %18764
18147: ; preds = %18125
%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
%18240 = load i16, i16* %22
store i16 %18240, i16* %21
br label %18241
18241: ; preds = %18237, %18030
%18242 = load i16, i16* %19
store i16 %18242, i16* %13
br label %18243
18243: ; preds = %18241, %17815, %17809, %17803, %17797, %17791, %17780
br label %18244
18244: ; preds = %18243, %17775, %17771
br label %18728
18245: ; preds = %17767
%18246 = load i16, i16* %22
%18247 = sext i16 %18246 to i32
%18248 = icmp eq i32 %18247, 31
br i1 %18248, label %18249, label %18727
18249: ; preds = %18245
%18250 = load i16, i16* %13
%18251 = sext i16 %18250 to i32
%18252 = icmp ne i32 %18251, 0
br i1 %18252, label %18253, label %18726
18253: ; preds = %18249
%18254 = load i16, i16* %13
%18255 = sext i16 %18254 to i32
%18256 = icmp slt i32 %18255, 21
br i1 %18256, label %18257, label %18726
18257: ; preds = %18253
%18258 = load i16, i16* %13
%18259 = sext i16 %18258 to i32
%18260 = srem i32 %18259, 4
%18261 = icmp ne i32 %18260, 1
br i1 %18261, label %18262, label %18726
18262: ; preds = %18257
%18263 = load i16, i16* %13
store i16 %18263, i16* %19
%18264 = load i16, i16* %19
%18265 = sext i16 %18264 to i32
%18266 = add nsw i32 %18265, 3
%18267 = trunc i32 %18266 to i16
store i16 %18267, i16* %20
%18268 = load i16, i16* %20
%18269 = sext i16 %18268 to i32
%18270 = load i16, i16* %10
%18271 = sext i16 %18270 to i32
%18272 = icmp ne i32 %18269, %18271
br i1 %18272, label %18273, label %18725
18273: ; preds = %18262
%18274 = load i16, i16* %20
%18275 = sext i16 %18274 to i32
%18276 = load i16, i16* %11
%18277 = sext i16 %18276 to i32
%18278 = icmp ne i32 %18275, %18277
br i1 %18278, label %18279, label %18725
18279: ; preds = %18273
%18280 = load i16, i16* %20
%18281 = sext i16 %18280 to i32
%18282 = load i16, i16* %12
%18283 = sext i16 %18282 to i32
%18284 = icmp ne i32 %18281, %18283
br i1 %18284, label %18285, label %18725
18285: ; preds = %18279
%18286 = load i16, i16* %20
%18287 = sext i16 %18286 to i32
%18288 = load i16, i16* %14
%18289 = sext i16 %18288 to i32
%18290 = icmp ne i32 %18287, %18289
br i1 %18290, label %18291, label %18725
18291: ; preds = %18285
%18292 = load i16, i16* %20
%18293 = sext i16 %18292 to i32
%18294 = load i16, i16* %15
%18295 = sext i16 %18294 to i32
%18296 = icmp ne i32 %18293, %18295
br i1 %18296, label %18297, label %18725
18297: ; preds = %18291
%18298 = load i16, i16* %20
%18299 = sext i16 %18298 to i32
%18300 = load i16, i16* %17
%18301 = sext i16 %18300 to i32
%18302 = icmp ne i32 %18299, %18301
br i1 %18302, label %18303, label %18725
18303: ; preds = %18297
%18304 = load i16, i16* %20
store i16 %18304, i16* %13
%18305 = load i16, i16* %16
%18306 = sext i16 %18305 to i32
%18307 = load i16, i16* %20
%18308 = sext i16 %18307 to i32
%18309 = icmp eq i32 %18306, %18308
br i1 %18309, label %18310, label %18517
18310: ; preds = %18303
store i16 0, i16* %16
%18311 = load i16, i16* %10
store i16 %18311, i16* %18
%18312 = load i16, i16* %14
%18313 = sext i16 %18312 to i32
%18314 = icmp eq i32 %18313, 0
br i1 %18314, label %18315, label %18316
18315: ; preds = %18310
br label %18320
18316: ; preds = %18310
%18317 = load i16, i16* %14
%18318 = sext i16 %18317 to i32
%18319 = sub nsw i32 25, %18318
br label %18320
18320: ; preds = %18316, %18315
%18321 = phi i32 [ 0, %18315 ], [ %18319, %18316 ]
%18322 = trunc i32 %18321 to i16
store i16 %18322, i16* %10
%18323 = load i16, i16* %18
%18324 = sext i16 %18323 to i32
%18325 = icmp eq i32 %18324, 0
br i1 %18325, label %18326, label %18327
18326: ; preds = %18320
br label %18331
18327: ; preds = %18320
%18328 = load i16, i16* %18
%18329 = sext i16 %18328 to i32
%18330 = sub nsw i32 25, %18329
br label %18331
18331: ; preds = %18327, %18326
%18332 = phi i32 [ 0, %18326 ], [ %18330, %18327 ]
%18333 = trunc i32 %18332 to i16
store i16 %18333, i16* %14
%18334 = load i16, i16* %11
store i16 %18334, i16* %18
%18335 = load i16, i16* %15
%18336 = sext i16 %18335 to i32
%18337 = icmp eq i32 %18336, 0
br i1 %18337, label %18338, label %18339
18338: ; preds = %18331
br label %18343
18339: ; preds = %18331
%18340 = load i16, i16* %15
%18341 = sext i16 %18340 to i32
%18342 = sub nsw i32 25, %18341
br label %18343
18343: ; preds = %18339, %18338
%18344 = phi i32 [ 0, %18338 ], [ %18342, %18339 ]
%18345 = trunc i32 %18344 to i16
store i16 %18345, i16* %11
%18346 = load i16, i16* %18
%18347 = sext i16 %18346 to i32
%18348 = icmp eq i32 %18347, 0
br i1 %18348, label %18349, label %18350
18349: ; preds = %18343
br label %18354
18350: ; preds = %18343
%18351 = load i16, i16* %18
%18352 = sext i16 %18351 to i32
%18353 = sub nsw i32 25, %18352
br label %18354
18354: ; preds = %18350, %18349
%18355 = phi i32 [ 0, %18349 ], [ %18353, %18350 ]
%18356 = trunc i32 %18355 to i16
store i16 %18356, i16* %15
%18357 = load i16, i16* %12
store i16 %18357, i16* %18
%18358 = load i16, i16* %16
%18359 = sext i16 %18358 to i32
%18360 = icmp eq i32 %18359, 0
br i1 %18360, label %18361, label %18362
18361: ; preds = %18354
br label %18366
18362: ; preds = %18354
%18363 = load i16, i16* %16
%18364 = sext i16 %18363 to i32
%18365 = sub nsw i32 25, %18364
br label %18366
18366: ; preds = %18362, %18361
%18367 = phi i32 [ 0, %18361 ], [ %18365, %18362 ]
%18368 = trunc i32 %18367 to i16
store i16 %18368, i16* %12
%18369 = load i16, i16* %18
%18370 = sext i16 %18369 to i32
%18371 = icmp eq i32 %18370, 0
br i1 %18371, label %18372, label %18373
18372: ; preds = %18366
br label %18377
18373: ; preds = %18366
%18374 = load i16, i16* %18
%18375 = sext i16 %18374 to i32
%18376 = sub nsw i32 25, %18375
br label %18377
18377: ; preds = %18373, %18372
%18378 = phi i32 [ 0, %18372 ], [ %18376, %18373 ]
%18379 = trunc i32 %18378 to i16
store i16 %18379, i16* %16
%18380 = load i16, i16* %13
store i16 %18380, i16* %18
%18381 = load i16, i16* %17
%18382 = sext i16 %18381 to i32
%18383 = icmp eq i32 %18382, 0
br i1 %18383, label %18384, label %18385
18384: ; preds = %18377
br label %18389
18385: ; preds = %18377
%18386 = load i16, i16* %17
%18387 = sext i16 %18386 to i32
%18388 = sub nsw i32 25, %18387
br label %18389
18389: ; preds = %18385, %18384
%18390 = phi i32 [ 0, %18384 ], [ %18388, %18385 ]
%18391 = trunc i32 %18390 to i16
store i16 %18391, i16* %13
%18392 = load i16, i16* %18
%18393 = sext i16 %18392 to i32
%18394 = icmp eq i32 %18393, 0
br i1 %18394, label %18395, label %18396
18395: ; preds = %18389
br label %18400
18396: ; preds = %18389
%18397 = load i16, i16* %18
%18398 = sext i16 %18397 to i32
%18399 = sub nsw i32 25, %18398
br label %18400
18400: ; preds = %18396, %18395
%18401 = phi i32 [ 0, %18395 ], [ %18399, %18396 ]
%18402 = trunc i32 %18401 to i16
store i16 %18402, i16* %17
%18403 = load i16, i16* %10
%18404 = sext i16 %18403 to i32
%18405 = load i16, i16* %11
%18406 = sext i16 %18405 to i32
%18407 = load i16, i16* %12
%18408 = sext i16 %18407 to i32
%18409 = load i16, i16* %13
%18410 = sext i16 %18409 to i32
%18411 = load i16, i16* %14
%18412 = sext i16 %18411 to i32
%18413 = load i16, i16* %15
%18414 = sext i16 %18413 to i32
%18415 = load i16, i16* %16
%18416 = sext i16 %18415 to i32
%18417 = load i16, i16* %17
%18418 = sext i16 %18417 to i32
%18419 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18404, i32 %18406, i32 %18408, i32 %18410, i32 %18412, i32 %18414, i32 %18416, i32 %18418)
%18420 = icmp eq i32 %18419, -1
br i1 %18420, label %18421, label %18422
18421: ; preds = %18400
store i16 -1, i16* %9
br label %18764
18422: ; preds = %18400
%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* %22
store i16 %18515, i16* %21
%18516 = load i16, i16* %20
store i16 %18516, i16* %16
br label %18723
18517: ; preds = %18303
%18518 = load i16, i16* %10
store i16 %18518, i16* %18
%18519 = load i16, i16* %14
%18520 = sext i16 %18519 to i32
%18521 = icmp eq i32 %18520, 0
br i1 %18521, label %18522, label %18523
18522: ; preds = %18517
br label %18527
18523: ; preds = %18517
%18524 = load i16, i16* %14
%18525 = sext i16 %18524 to i32
%18526 = sub nsw i32 25, %18525
br label %18527
18527: ; preds = %18523, %18522
%18528 = phi i32 [ 0, %18522 ], [ %18526, %18523 ]
%18529 = trunc i32 %18528 to i16
store i16 %18529, i16* %10
%18530 = load i16, i16* %18
%18531 = sext i16 %18530 to i32
%18532 = icmp eq i32 %18531, 0
br i1 %18532, label %18533, label %18534
18533: ; preds = %18527
br label %18538
18534: ; preds = %18527
%18535 = load i16, i16* %18
%18536 = sext i16 %18535 to i32
%18537 = sub nsw i32 25, %18536
br label %18538
18538: ; preds = %18534, %18533
%18539 = phi i32 [ 0, %18533 ], [ %18537, %18534 ]
%18540 = trunc i32 %18539 to i16
store i16 %18540, i16* %14
%18541 = load i16, i16* %11
store i16 %18541, i16* %18
%18542 = load i16, i16* %15
%18543 = sext i16 %18542 to i32
%18544 = icmp eq i32 %18543, 0
br i1 %18544, label %18545, label %18546
18545: ; preds = %18538
br label %18550
18546: ; preds = %18538
%18547 = load i16, i16* %15
%18548 = sext i16 %18547 to i32
%18549 = sub nsw i32 25, %18548
br label %18550
18550: ; preds = %18546, %18545
%18551 = phi i32 [ 0, %18545 ], [ %18549, %18546 ]
%18552 = trunc i32 %18551 to i16
store i16 %18552, i16* %11
%18553 = load i16, i16* %18
%18554 = sext i16 %18553 to i32
%18555 = icmp eq i32 %18554, 0
br i1 %18555, label %18556, label %18557
18556: ; preds = %18550
br label %18561
18557: ; preds = %18550
%18558 = load i16, i16* %18
%18559 = sext i16 %18558 to i32
%18560 = sub nsw i32 25, %18559
br label %18561
18561: ; preds = %18557, %18556
%18562 = phi i32 [ 0, %18556 ], [ %18560, %18557 ]
%18563 = trunc i32 %18562 to i16
store i16 %18563, i16* %15
%18564 = load i16, i16* %12
store i16 %18564, i16* %18
%18565 = load i16, i16* %16
%18566 = sext i16 %18565 to i32
%18567 = icmp eq i32 %18566, 0
br i1 %18567, label %18568, label %18569
18568: ; preds = %18561
br label %18573
18569: ; preds = %18561
%18570 = load i16, i16* %16
%18571 = sext i16 %18570 to i32
%18572 = sub nsw i32 25, %18571
br label %18573
18573: ; preds = %18569, %18568
%18574 = phi i32 [ 0, %18568 ], [ %18572, %18569 ]
%18575 = trunc i32 %18574 to i16
store i16 %18575, i16* %12
%18576 = load i16, i16* %18
%18577 = sext i16 %18576 to i32
%18578 = icmp eq i32 %18577, 0
br i1 %18578, label %18579, label %18580
18579: ; preds = %18573
br label %18584
18580: ; preds = %18573
%18581 = load i16, i16* %18
%18582 = sext i16 %18581 to i32
%18583 = sub nsw i32 25, %18582
br label %18584
18584: ; preds = %18580, %18579
%18585 = phi i32 [ 0, %18579 ], [ %18583, %18580 ]
%18586 = trunc i32 %18585 to i16
store i16 %18586, i16* %16
%18587 = load i16, i16* %13
store i16 %18587, i16* %18
%18588 = load i16, i16* %17
%18589 = sext i16 %18588 to i32
%18590 = icmp eq i32 %18589, 0
br i1 %18590, label %18591, label %18592
18591: ; preds = %18584
br label %18596
18592: ; preds = %18584
%18593 = load i16, i16* %17
%18594 = sext i16 %18593 to i32
%18595 = sub nsw i32 25, %18594
br label %18596
18596: ; preds = %18592, %18591
%18597 = phi i32 [ 0, %18591 ], [ %18595, %18592 ]
%18598 = trunc i32 %18597 to i16
store i16 %18598, i16* %13
%18599 = load i16, i16* %18
%18600 = sext i16 %18599 to i32
%18601 = icmp eq i32 %18600, 0
br i1 %18601, label %18602, label %18603
18602: ; preds = %18596
br label %18607
18603: ; preds = %18596
%18604 = load i16, i16* %18
%18605 = sext i16 %18604 to i32
%18606 = sub nsw i32 25, %18605
br label %18607
18607: ; preds = %18603, %18602
%18608 = phi i32 [ 0, %18602 ], [ %18606, %18603 ]
%18609 = trunc i32 %18608 to i16
store i16 %18609, i16* %17
%18610 = load i16, i16* %10
%18611 = sext i16 %18610 to i32
%18612 = load i16, i16* %11
%18613 = sext i16 %18612 to i32
%18614 = load i16, i16* %12
%18615 = sext i16 %18614 to i32
%18616 = load i16, i16* %13
%18617 = sext i16 %18616 to i32
%18618 = load i16, i16* %14
%18619 = sext i16 %18618 to i32
%18620 = load i16, i16* %15
%18621 = sext i16 %18620 to i32
%18622 = load i16, i16* %16
%18623 = sext i16 %18622 to i32
%18624 = load i16, i16* %17
%18625 = sext i16 %18624 to i32
%18626 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18611, i32 %18613, i32 %18615, i32 %18617, i32 %18619, i32 %18621, i32 %18623, i32 %18625)
%18627 = icmp eq i32 %18626, -1
br i1 %18627, label %18628, label %18629
18628: ; preds = %18607
store i16 -1, i16* %9
br label %18764
18629: ; preds = %18607
%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
%18722 = load i16, i16* %22
store i16 %18722, i16* %21
br label %18723
18723: ; preds = %18719, %18512
%18724 = load i16, i16* %19
store i16 %18724, i16* %13
br label %18725
18725: ; preds = %18723, %18297, %18291, %18285, %18279, %18273, %18262
br label %18726
18726: ; preds = %18725, %18257, %18253, %18249
br label %18727
18727: ; preds = %18726, %18245
br label %18728
18728: ; preds = %18727, %18244
br label %18729
18729: ; preds = %18728, %17766
br label %18730
18730: ; preds = %18729, %17284
br label %18731
18731: ; preds = %18730, %16807
br label %18732
18732: ; preds = %18731, %16325
br label %18733
18733: ; preds = %18732, %15847
br label %18734
18734: ; preds = %18733, %15365
br label %18735
18735: ; preds = %18734, %14888
br label %18736
18736: ; preds = %18735, %14406
br label %18737
18737: ; preds = %18736, %13928
br label %18738
18738: ; preds = %18737, %13446
br label %18739
18739: ; preds = %18738, %12969
br label %18740
18740: ; preds = %18739, %12487
br label %18741
18741: ; preds = %18740, %12009
br label %18742
18742: ; preds = %18741, %11527
br label %18743
18743: ; preds = %18742, %11050
br label %18744
18744: ; preds = %18743, %10360
br label %18745
18745: ; preds = %18744, %9674
br label %18746
18746: ; preds = %18745, %8984
br label %18747
18747: ; preds = %18746, %8299
br label %18748
18748: ; preds = %18747, %7609
br label %18749
18749: ; preds = %18748, %6923
br label %18750
18750: ; preds = %18749, %6233
br label %18751
18751: ; preds = %18750, %5548
br label %18752
18752: ; preds = %18751, %4858
br label %18753
18753: ; preds = %18752, %4172
br label %18754
18754: ; preds = %18753, %3482
br label %18755
18755: ; preds = %18754, %2797
br label %18756
18756: ; preds = %18755, %2107
br label %18757
18757: ; preds = %18756, %1421
br label %18758
18758: ; preds = %18757, %731
br label %18759
18759: ; preds = %18758
%18760 = load i16, i16* %22
%18761 = add i16 %18760, -1
store i16 %18761, i16* %22
br label %43
18762: ; preds = %43
%18763 = load i16, i16* %21
store i16 %18763, i16* %9
br label %18764
18764: ; preds = %18762, %18628, %18421, %18146, %17939, %17668, %17461, %17186, %16979, %16709, %16502, %16227, %16020, %15749, %15542, %15267, %15060, %14790, %14583, %14308, %14101, %13830, %13623, %13348, %13141, %12871, %12664, %12389, %12182, %11911, %11704, %11429, %11222, %10951, %10744, %10531, %10261, %10054, %9841, %9575, %9368, %9155, %8885, %8678, %8465, %8200, %7993, %7780, %7510, %7303, %7090, %6824, %6617, %6404, %6134, %5927, %5714, %5449, %5242, %5029, %4759, %4552, %4339, %4073, %3866, %3653, %3383, %3176, %2963, %2698, %2491, %2278, %2008, %1801, %1588, %1322, %1115, %902, %632, %425, %212, %41
%18765 = load i16, i16* %9
ret i16 %18765
}

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