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


x86 assembly (clang, -O0):
<get_first_losing_move_4>:
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_3@plt>
cmp    $0xffffffff,%eax
je     11aa <get_first_losing_move_4+0x9a>
movw   $0xfffe,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movw   $0xffff,-0x16(%rbp)
movw   $0x1f,-0x18(%rbp)
movswl -0x18(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     16c0f <get_first_losing_move_4+0x15aff>
movswl -0x18(%rbp),%eax
cmp    $0x0,%eax
jne    1dc9 <get_first_losing_move_4+0xcb9>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     1dc4 <get_first_losing_move_4+0xcb4>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    1dc4 <get_first_losing_move_4+0xcb4>
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     1dbf <get_first_losing_move_4+0xcaf>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1dbf <get_first_losing_move_4+0xcaf>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     1dbf <get_first_losing_move_4+0xcaf>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1dbf <get_first_losing_move_4+0xcaf>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1dbf <get_first_losing_move_4+0xcaf>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    15dd <get_first_losing_move_4+0x4cd>
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_4+0x17b>
xor    %eax,%eax
mov    %eax,-0x2c(%rbp)
jmp    1299 <get_first_losing_move_4+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_4+0x1a7>
xor    %eax,%eax
mov    %eax,-0x30(%rbp)
jmp    12c5 <get_first_losing_move_4+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_4+0x1db>
xor    %eax,%eax
mov    %eax,-0x34(%rbp)
jmp    12f9 <get_first_losing_move_4+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_4+0x207>
xor    %eax,%eax
mov    %eax,-0x38(%rbp)
jmp    1325 <get_first_losing_move_4+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_4+0x23b>
xor    %eax,%eax
mov    %eax,-0x3c(%rbp)
jmp    1359 <get_first_losing_move_4+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_4+0x267>
xor    %eax,%eax
mov    %eax,-0x40(%rbp)
jmp    1385 <get_first_losing_move_4+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_4+0x29b>
xor    %eax,%eax
mov    %eax,-0x44(%rbp)
jmp    13b9 <get_first_losing_move_4+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_4+0x2c7>
xor    %eax,%eax
mov    %eax,-0x48(%rbp)
jmp    13e5 <get_first_losing_move_4+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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    143a <get_first_losing_move_4+0x32a>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1450 <get_first_losing_move_4+0x340>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    146f <get_first_losing_move_4+0x35f>
xor    %eax,%eax
mov    %eax,-0x4c(%rbp)
jmp    147d <get_first_losing_move_4+0x36d>
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    149b <get_first_losing_move_4+0x38b>
xor    %eax,%eax
mov    %eax,-0x50(%rbp)
jmp    14a9 <get_first_losing_move_4+0x399>
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    14cf <get_first_losing_move_4+0x3bf>
xor    %eax,%eax
mov    %eax,-0x54(%rbp)
jmp    14dd <get_first_losing_move_4+0x3cd>
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    14fb <get_first_losing_move_4+0x3eb>
xor    %eax,%eax
mov    %eax,-0x58(%rbp)
jmp    1509 <get_first_losing_move_4+0x3f9>
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    152f <get_first_losing_move_4+0x41f>
xor    %eax,%eax
mov    %eax,-0x5c(%rbp)
jmp    153d <get_first_losing_move_4+0x42d>
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    155b <get_first_losing_move_4+0x44b>
xor    %eax,%eax
mov    %eax,-0x60(%rbp)
jmp    1569 <get_first_losing_move_4+0x459>
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    158f <get_first_losing_move_4+0x47f>
xor    %eax,%eax
mov    %eax,-0x64(%rbp)
jmp    159d <get_first_losing_move_4+0x48d>
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    15bb <get_first_losing_move_4+0x4ab>
xor    %eax,%eax
mov    %eax,-0x68(%rbp)
jmp    15c9 <get_first_losing_move_4+0x4b9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x68(%rbp)
mov    -0x68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    1db7 <get_first_losing_move_4+0xca7>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    19be <get_first_losing_move_4+0x8ae>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1612 <get_first_losing_move_4+0x502>
xor    %eax,%eax
mov    %eax,-0x6c(%rbp)
jmp    1620 <get_first_losing_move_4+0x510>
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    163e <get_first_losing_move_4+0x52e>
xor    %eax,%eax
mov    %eax,-0x70(%rbp)
jmp    164c <get_first_losing_move_4+0x53c>
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    1672 <get_first_losing_move_4+0x562>
xor    %eax,%eax
mov    %eax,-0x74(%rbp)
jmp    1680 <get_first_losing_move_4+0x570>
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    169e <get_first_losing_move_4+0x58e>
xor    %eax,%eax
mov    %eax,-0x78(%rbp)
jmp    16ac <get_first_losing_move_4+0x59c>
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    16d2 <get_first_losing_move_4+0x5c2>
xor    %eax,%eax
mov    %eax,-0x7c(%rbp)
jmp    16e0 <get_first_losing_move_4+0x5d0>
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    16fe <get_first_losing_move_4+0x5ee>
xor    %eax,%eax
mov    %eax,-0x80(%rbp)
jmp    170c <get_first_losing_move_4+0x5fc>
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    1735 <get_first_losing_move_4+0x625>
xor    %eax,%eax
mov    %eax,-0x84(%rbp)
jmp    1746 <get_first_losing_move_4+0x636>
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    176a <get_first_losing_move_4+0x65a>
xor    %eax,%eax
mov    %eax,-0x88(%rbp)
jmp    177b <get_first_losing_move_4+0x66b>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    17d3 <get_first_losing_move_4+0x6c3>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     17e9 <get_first_losing_move_4+0x6d9>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    180b <get_first_losing_move_4+0x6fb>
xor    %eax,%eax
mov    %eax,-0x8c(%rbp)
jmp    181c <get_first_losing_move_4+0x70c>
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    1840 <get_first_losing_move_4+0x730>
xor    %eax,%eax
mov    %eax,-0x90(%rbp)
jmp    1851 <get_first_losing_move_4+0x741>
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    187d <get_first_losing_move_4+0x76d>
xor    %eax,%eax
mov    %eax,-0x94(%rbp)
jmp    188e <get_first_losing_move_4+0x77e>
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    18b2 <get_first_losing_move_4+0x7a2>
xor    %eax,%eax
mov    %eax,-0x98(%rbp)
jmp    18c3 <get_first_losing_move_4+0x7b3>
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    18ef <get_first_losing_move_4+0x7df>
xor    %eax,%eax
mov    %eax,-0x9c(%rbp)
jmp    1900 <get_first_losing_move_4+0x7f0>
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    1924 <get_first_losing_move_4+0x814>
xor    %eax,%eax
mov    %eax,-0xa0(%rbp)
jmp    1935 <get_first_losing_move_4+0x825>
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    1961 <get_first_losing_move_4+0x851>
xor    %eax,%eax
mov    %eax,-0xa4(%rbp)
jmp    1972 <get_first_losing_move_4+0x862>
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    1996 <get_first_losing_move_4+0x886>
xor    %eax,%eax
mov    %eax,-0xa8(%rbp)
jmp    19a7 <get_first_losing_move_4+0x897>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa8(%rbp)
mov    -0xa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    1db2 <get_first_losing_move_4+0xca2>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    19e0 <get_first_losing_move_4+0x8d0>
xor    %eax,%eax
mov    %eax,-0xac(%rbp)
jmp    19f1 <get_first_losing_move_4+0x8e1>
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    1a15 <get_first_losing_move_4+0x905>
xor    %eax,%eax
mov    %eax,-0xb0(%rbp)
jmp    1a26 <get_first_losing_move_4+0x916>
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    1a52 <get_first_losing_move_4+0x942>
xor    %eax,%eax
mov    %eax,-0xb4(%rbp)
jmp    1a63 <get_first_losing_move_4+0x953>
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    1a87 <get_first_losing_move_4+0x977>
xor    %eax,%eax
mov    %eax,-0xb8(%rbp)
jmp    1a98 <get_first_losing_move_4+0x988>
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    1ac4 <get_first_losing_move_4+0x9b4>
xor    %eax,%eax
mov    %eax,-0xbc(%rbp)
jmp    1ad5 <get_first_losing_move_4+0x9c5>
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    1af9 <get_first_losing_move_4+0x9e9>
xor    %eax,%eax
mov    %eax,-0xc0(%rbp)
jmp    1b0a <get_first_losing_move_4+0x9fa>
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    1b36 <get_first_losing_move_4+0xa26>
xor    %eax,%eax
mov    %eax,-0xc4(%rbp)
jmp    1b47 <get_first_losing_move_4+0xa37>
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    1b6b <get_first_losing_move_4+0xa5b>
xor    %eax,%eax
mov    %eax,-0xc8(%rbp)
jmp    1b7c <get_first_losing_move_4+0xa6c>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1bd4 <get_first_losing_move_4+0xac4>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1bea <get_first_losing_move_4+0xada>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1c0c <get_first_losing_move_4+0xafc>
xor    %eax,%eax
mov    %eax,-0xcc(%rbp)
jmp    1c1d <get_first_losing_move_4+0xb0d>
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    1c41 <get_first_losing_move_4+0xb31>
xor    %eax,%eax
mov    %eax,-0xd0(%rbp)
jmp    1c52 <get_first_losing_move_4+0xb42>
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    1c7e <get_first_losing_move_4+0xb6e>
xor    %eax,%eax
mov    %eax,-0xd4(%rbp)
jmp    1c8f <get_first_losing_move_4+0xb7f>
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    1cb3 <get_first_losing_move_4+0xba3>
xor    %eax,%eax
mov    %eax,-0xd8(%rbp)
jmp    1cc4 <get_first_losing_move_4+0xbb4>
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    1cf0 <get_first_losing_move_4+0xbe0>
xor    %eax,%eax
mov    %eax,-0xdc(%rbp)
jmp    1d01 <get_first_losing_move_4+0xbf1>
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    1d25 <get_first_losing_move_4+0xc15>
xor    %eax,%eax
mov    %eax,-0xe0(%rbp)
jmp    1d36 <get_first_losing_move_4+0xc26>
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    1d62 <get_first_losing_move_4+0xc52>
xor    %eax,%eax
mov    %eax,-0xe4(%rbp)
jmp    1d73 <get_first_losing_move_4+0xc63>
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    1d97 <get_first_losing_move_4+0xc87>
xor    %eax,%eax
mov    %eax,-0xe8(%rbp)
jmp    1da8 <get_first_losing_move_4+0xc98>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe8(%rbp)
mov    -0xe8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    1db7 <get_first_losing_move_4+0xca7>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    1dc4 <get_first_losing_move_4+0xcb4>
jmp    16bf9 <get_first_losing_move_4+0x15ae9>
movswl -0x18(%rbp),%eax
cmp    $0x1,%eax
jne    2aa9 <get_first_losing_move_4+0x1999>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     2aa4 <get_first_losing_move_4+0x1994>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    2aa4 <get_first_losing_move_4+0x1994>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     2aa4 <get_first_losing_move_4+0x1994>
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     2a9f <get_first_losing_move_4+0x198f>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     2a9f <get_first_losing_move_4+0x198f>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     2a9f <get_first_losing_move_4+0x198f>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     2a9f <get_first_losing_move_4+0x198f>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     2a9f <get_first_losing_move_4+0x198f>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    2287 <get_first_losing_move_4+0x1177>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1ea8 <get_first_losing_move_4+0xd98>
xor    %eax,%eax
mov    %eax,-0xec(%rbp)
jmp    1eb9 <get_first_losing_move_4+0xda9>
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    1edd <get_first_losing_move_4+0xdcd>
xor    %eax,%eax
mov    %eax,-0xf0(%rbp)
jmp    1eee <get_first_losing_move_4+0xdde>
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    1f1a <get_first_losing_move_4+0xe0a>
xor    %eax,%eax
mov    %eax,-0xf4(%rbp)
jmp    1f2b <get_first_losing_move_4+0xe1b>
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    1f4f <get_first_losing_move_4+0xe3f>
xor    %eax,%eax
mov    %eax,-0xf8(%rbp)
jmp    1f60 <get_first_losing_move_4+0xe50>
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    1f8c <get_first_losing_move_4+0xe7c>
xor    %eax,%eax
mov    %eax,-0xfc(%rbp)
jmp    1f9d <get_first_losing_move_4+0xe8d>
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    1fc1 <get_first_losing_move_4+0xeb1>
xor    %eax,%eax
mov    %eax,-0x100(%rbp)
jmp    1fd2 <get_first_losing_move_4+0xec2>
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    1ffe <get_first_losing_move_4+0xeee>
xor    %eax,%eax
mov    %eax,-0x104(%rbp)
jmp    200f <get_first_losing_move_4+0xeff>
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    2033 <get_first_losing_move_4+0xf23>
xor    %eax,%eax
mov    %eax,-0x108(%rbp)
jmp    2044 <get_first_losing_move_4+0xf34>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    209c <get_first_losing_move_4+0xf8c>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     20b2 <get_first_losing_move_4+0xfa2>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    20d4 <get_first_losing_move_4+0xfc4>
xor    %eax,%eax
mov    %eax,-0x10c(%rbp)
jmp    20e5 <get_first_losing_move_4+0xfd5>
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    2109 <get_first_losing_move_4+0xff9>
xor    %eax,%eax
mov    %eax,-0x110(%rbp)
jmp    211a <get_first_losing_move_4+0x100a>
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    2146 <get_first_losing_move_4+0x1036>
xor    %eax,%eax
mov    %eax,-0x114(%rbp)
jmp    2157 <get_first_losing_move_4+0x1047>
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    217b <get_first_losing_move_4+0x106b>
xor    %eax,%eax
mov    %eax,-0x118(%rbp)
jmp    218c <get_first_losing_move_4+0x107c>
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    21b8 <get_first_losing_move_4+0x10a8>
xor    %eax,%eax
mov    %eax,-0x11c(%rbp)
jmp    21c9 <get_first_losing_move_4+0x10b9>
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    21ed <get_first_losing_move_4+0x10dd>
xor    %eax,%eax
mov    %eax,-0x120(%rbp)
jmp    21fe <get_first_losing_move_4+0x10ee>
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    222a <get_first_losing_move_4+0x111a>
xor    %eax,%eax
mov    %eax,-0x124(%rbp)
jmp    223b <get_first_losing_move_4+0x112b>
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    225f <get_first_losing_move_4+0x114f>
xor    %eax,%eax
mov    %eax,-0x128(%rbp)
jmp    2270 <get_first_losing_move_4+0x1160>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x128(%rbp)
mov    -0x128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    2a97 <get_first_losing_move_4+0x1987>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    269e <get_first_losing_move_4+0x158e>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    22bf <get_first_losing_move_4+0x11af>
xor    %eax,%eax
mov    %eax,-0x12c(%rbp)
jmp    22d0 <get_first_losing_move_4+0x11c0>
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    22f4 <get_first_losing_move_4+0x11e4>
xor    %eax,%eax
mov    %eax,-0x130(%rbp)
jmp    2305 <get_first_losing_move_4+0x11f5>
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    2331 <get_first_losing_move_4+0x1221>
xor    %eax,%eax
mov    %eax,-0x134(%rbp)
jmp    2342 <get_first_losing_move_4+0x1232>
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    2366 <get_first_losing_move_4+0x1256>
xor    %eax,%eax
mov    %eax,-0x138(%rbp)
jmp    2377 <get_first_losing_move_4+0x1267>
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    23a3 <get_first_losing_move_4+0x1293>
xor    %eax,%eax
mov    %eax,-0x13c(%rbp)
jmp    23b4 <get_first_losing_move_4+0x12a4>
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    23d8 <get_first_losing_move_4+0x12c8>
xor    %eax,%eax
mov    %eax,-0x140(%rbp)
jmp    23e9 <get_first_losing_move_4+0x12d9>
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    2415 <get_first_losing_move_4+0x1305>
xor    %eax,%eax
mov    %eax,-0x144(%rbp)
jmp    2426 <get_first_losing_move_4+0x1316>
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    244a <get_first_losing_move_4+0x133a>
xor    %eax,%eax
mov    %eax,-0x148(%rbp)
jmp    245b <get_first_losing_move_4+0x134b>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    24b3 <get_first_losing_move_4+0x13a3>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     24c9 <get_first_losing_move_4+0x13b9>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    24eb <get_first_losing_move_4+0x13db>
xor    %eax,%eax
mov    %eax,-0x14c(%rbp)
jmp    24fc <get_first_losing_move_4+0x13ec>
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    2520 <get_first_losing_move_4+0x1410>
xor    %eax,%eax
mov    %eax,-0x150(%rbp)
jmp    2531 <get_first_losing_move_4+0x1421>
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    255d <get_first_losing_move_4+0x144d>
xor    %eax,%eax
mov    %eax,-0x154(%rbp)
jmp    256e <get_first_losing_move_4+0x145e>
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    2592 <get_first_losing_move_4+0x1482>
xor    %eax,%eax
mov    %eax,-0x158(%rbp)
jmp    25a3 <get_first_losing_move_4+0x1493>
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    25cf <get_first_losing_move_4+0x14bf>
xor    %eax,%eax
mov    %eax,-0x15c(%rbp)
jmp    25e0 <get_first_losing_move_4+0x14d0>
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    2604 <get_first_losing_move_4+0x14f4>
xor    %eax,%eax
mov    %eax,-0x160(%rbp)
jmp    2615 <get_first_losing_move_4+0x1505>
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    2641 <get_first_losing_move_4+0x1531>
xor    %eax,%eax
mov    %eax,-0x164(%rbp)
jmp    2652 <get_first_losing_move_4+0x1542>
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    2676 <get_first_losing_move_4+0x1566>
xor    %eax,%eax
mov    %eax,-0x168(%rbp)
jmp    2687 <get_first_losing_move_4+0x1577>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x168(%rbp)
mov    -0x168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    2a92 <get_first_losing_move_4+0x1982>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    26c0 <get_first_losing_move_4+0x15b0>
xor    %eax,%eax
mov    %eax,-0x16c(%rbp)
jmp    26d1 <get_first_losing_move_4+0x15c1>
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    26f5 <get_first_losing_move_4+0x15e5>
xor    %eax,%eax
mov    %eax,-0x170(%rbp)
jmp    2706 <get_first_losing_move_4+0x15f6>
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    2732 <get_first_losing_move_4+0x1622>
xor    %eax,%eax
mov    %eax,-0x174(%rbp)
jmp    2743 <get_first_losing_move_4+0x1633>
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    2767 <get_first_losing_move_4+0x1657>
xor    %eax,%eax
mov    %eax,-0x178(%rbp)
jmp    2778 <get_first_losing_move_4+0x1668>
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    27a4 <get_first_losing_move_4+0x1694>
xor    %eax,%eax
mov    %eax,-0x17c(%rbp)
jmp    27b5 <get_first_losing_move_4+0x16a5>
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    27d9 <get_first_losing_move_4+0x16c9>
xor    %eax,%eax
mov    %eax,-0x180(%rbp)
jmp    27ea <get_first_losing_move_4+0x16da>
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    2816 <get_first_losing_move_4+0x1706>
xor    %eax,%eax
mov    %eax,-0x184(%rbp)
jmp    2827 <get_first_losing_move_4+0x1717>
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    284b <get_first_losing_move_4+0x173b>
xor    %eax,%eax
mov    %eax,-0x188(%rbp)
jmp    285c <get_first_losing_move_4+0x174c>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    28b4 <get_first_losing_move_4+0x17a4>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     28ca <get_first_losing_move_4+0x17ba>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    28ec <get_first_losing_move_4+0x17dc>
xor    %eax,%eax
mov    %eax,-0x18c(%rbp)
jmp    28fd <get_first_losing_move_4+0x17ed>
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    2921 <get_first_losing_move_4+0x1811>
xor    %eax,%eax
mov    %eax,-0x190(%rbp)
jmp    2932 <get_first_losing_move_4+0x1822>
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    295e <get_first_losing_move_4+0x184e>
xor    %eax,%eax
mov    %eax,-0x194(%rbp)
jmp    296f <get_first_losing_move_4+0x185f>
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    2993 <get_first_losing_move_4+0x1883>
xor    %eax,%eax
mov    %eax,-0x198(%rbp)
jmp    29a4 <get_first_losing_move_4+0x1894>
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    29d0 <get_first_losing_move_4+0x18c0>
xor    %eax,%eax
mov    %eax,-0x19c(%rbp)
jmp    29e1 <get_first_losing_move_4+0x18d1>
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    2a05 <get_first_losing_move_4+0x18f5>
xor    %eax,%eax
mov    %eax,-0x1a0(%rbp)
jmp    2a16 <get_first_losing_move_4+0x1906>
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    2a42 <get_first_losing_move_4+0x1932>
xor    %eax,%eax
mov    %eax,-0x1a4(%rbp)
jmp    2a53 <get_first_losing_move_4+0x1943>
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    2a77 <get_first_losing_move_4+0x1967>
xor    %eax,%eax
mov    %eax,-0x1a8(%rbp)
jmp    2a88 <get_first_losing_move_4+0x1978>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1a8(%rbp)
mov    -0x1a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    2a97 <get_first_losing_move_4+0x1987>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    2aa4 <get_first_losing_move_4+0x1994>
jmp    16bf4 <get_first_losing_move_4+0x15ae4>
movswl -0x18(%rbp),%eax
cmp    $0x2,%eax
jne    377c <get_first_losing_move_4+0x266c>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     3777 <get_first_losing_move_4+0x2667>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     3777 <get_first_losing_move_4+0x2667>
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     3772 <get_first_losing_move_4+0x2662>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     3772 <get_first_losing_move_4+0x2662>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     3772 <get_first_losing_move_4+0x2662>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     3772 <get_first_losing_move_4+0x2662>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     3772 <get_first_losing_move_4+0x2662>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    2f5a <get_first_losing_move_4+0x1e4a>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2b7b <get_first_losing_move_4+0x1a6b>
xor    %eax,%eax
mov    %eax,-0x1ac(%rbp)
jmp    2b8c <get_first_losing_move_4+0x1a7c>
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    2bb0 <get_first_losing_move_4+0x1aa0>
xor    %eax,%eax
mov    %eax,-0x1b0(%rbp)
jmp    2bc1 <get_first_losing_move_4+0x1ab1>
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    2bed <get_first_losing_move_4+0x1add>
xor    %eax,%eax
mov    %eax,-0x1b4(%rbp)
jmp    2bfe <get_first_losing_move_4+0x1aee>
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    2c22 <get_first_losing_move_4+0x1b12>
xor    %eax,%eax
mov    %eax,-0x1b8(%rbp)
jmp    2c33 <get_first_losing_move_4+0x1b23>
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    2c5f <get_first_losing_move_4+0x1b4f>
xor    %eax,%eax
mov    %eax,-0x1bc(%rbp)
jmp    2c70 <get_first_losing_move_4+0x1b60>
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    2c94 <get_first_losing_move_4+0x1b84>
xor    %eax,%eax
mov    %eax,-0x1c0(%rbp)
jmp    2ca5 <get_first_losing_move_4+0x1b95>
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    2cd1 <get_first_losing_move_4+0x1bc1>
xor    %eax,%eax
mov    %eax,-0x1c4(%rbp)
jmp    2ce2 <get_first_losing_move_4+0x1bd2>
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    2d06 <get_first_losing_move_4+0x1bf6>
xor    %eax,%eax
mov    %eax,-0x1c8(%rbp)
jmp    2d17 <get_first_losing_move_4+0x1c07>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    2d6f <get_first_losing_move_4+0x1c5f>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     2d85 <get_first_losing_move_4+0x1c75>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2da7 <get_first_losing_move_4+0x1c97>
xor    %eax,%eax
mov    %eax,-0x1cc(%rbp)
jmp    2db8 <get_first_losing_move_4+0x1ca8>
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    2ddc <get_first_losing_move_4+0x1ccc>
xor    %eax,%eax
mov    %eax,-0x1d0(%rbp)
jmp    2ded <get_first_losing_move_4+0x1cdd>
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    2e19 <get_first_losing_move_4+0x1d09>
xor    %eax,%eax
mov    %eax,-0x1d4(%rbp)
jmp    2e2a <get_first_losing_move_4+0x1d1a>
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    2e4e <get_first_losing_move_4+0x1d3e>
xor    %eax,%eax
mov    %eax,-0x1d8(%rbp)
jmp    2e5f <get_first_losing_move_4+0x1d4f>
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    2e8b <get_first_losing_move_4+0x1d7b>
xor    %eax,%eax
mov    %eax,-0x1dc(%rbp)
jmp    2e9c <get_first_losing_move_4+0x1d8c>
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    2ec0 <get_first_losing_move_4+0x1db0>
xor    %eax,%eax
mov    %eax,-0x1e0(%rbp)
jmp    2ed1 <get_first_losing_move_4+0x1dc1>
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    2efd <get_first_losing_move_4+0x1ded>
xor    %eax,%eax
mov    %eax,-0x1e4(%rbp)
jmp    2f0e <get_first_losing_move_4+0x1dfe>
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    2f32 <get_first_losing_move_4+0x1e22>
xor    %eax,%eax
mov    %eax,-0x1e8(%rbp)
jmp    2f43 <get_first_losing_move_4+0x1e33>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    376a <get_first_losing_move_4+0x265a>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3371 <get_first_losing_move_4+0x2261>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    2f92 <get_first_losing_move_4+0x1e82>
xor    %eax,%eax
mov    %eax,-0x1ec(%rbp)
jmp    2fa3 <get_first_losing_move_4+0x1e93>
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    2fc7 <get_first_losing_move_4+0x1eb7>
xor    %eax,%eax
mov    %eax,-0x1f0(%rbp)
jmp    2fd8 <get_first_losing_move_4+0x1ec8>
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    3004 <get_first_losing_move_4+0x1ef4>
xor    %eax,%eax
mov    %eax,-0x1f4(%rbp)
jmp    3015 <get_first_losing_move_4+0x1f05>
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    3039 <get_first_losing_move_4+0x1f29>
xor    %eax,%eax
mov    %eax,-0x1f8(%rbp)
jmp    304a <get_first_losing_move_4+0x1f3a>
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    3076 <get_first_losing_move_4+0x1f66>
xor    %eax,%eax
mov    %eax,-0x1fc(%rbp)
jmp    3087 <get_first_losing_move_4+0x1f77>
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    30ab <get_first_losing_move_4+0x1f9b>
xor    %eax,%eax
mov    %eax,-0x200(%rbp)
jmp    30bc <get_first_losing_move_4+0x1fac>
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    30e8 <get_first_losing_move_4+0x1fd8>
xor    %eax,%eax
mov    %eax,-0x204(%rbp)
jmp    30f9 <get_first_losing_move_4+0x1fe9>
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    311d <get_first_losing_move_4+0x200d>
xor    %eax,%eax
mov    %eax,-0x208(%rbp)
jmp    312e <get_first_losing_move_4+0x201e>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    3186 <get_first_losing_move_4+0x2076>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     319c <get_first_losing_move_4+0x208c>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    31be <get_first_losing_move_4+0x20ae>
xor    %eax,%eax
mov    %eax,-0x20c(%rbp)
jmp    31cf <get_first_losing_move_4+0x20bf>
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    31f3 <get_first_losing_move_4+0x20e3>
xor    %eax,%eax
mov    %eax,-0x210(%rbp)
jmp    3204 <get_first_losing_move_4+0x20f4>
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    3230 <get_first_losing_move_4+0x2120>
xor    %eax,%eax
mov    %eax,-0x214(%rbp)
jmp    3241 <get_first_losing_move_4+0x2131>
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    3265 <get_first_losing_move_4+0x2155>
xor    %eax,%eax
mov    %eax,-0x218(%rbp)
jmp    3276 <get_first_losing_move_4+0x2166>
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    32a2 <get_first_losing_move_4+0x2192>
xor    %eax,%eax
mov    %eax,-0x21c(%rbp)
jmp    32b3 <get_first_losing_move_4+0x21a3>
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    32d7 <get_first_losing_move_4+0x21c7>
xor    %eax,%eax
mov    %eax,-0x220(%rbp)
jmp    32e8 <get_first_losing_move_4+0x21d8>
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    3314 <get_first_losing_move_4+0x2204>
xor    %eax,%eax
mov    %eax,-0x224(%rbp)
jmp    3325 <get_first_losing_move_4+0x2215>
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    3349 <get_first_losing_move_4+0x2239>
xor    %eax,%eax
mov    %eax,-0x228(%rbp)
jmp    335a <get_first_losing_move_4+0x224a>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x228(%rbp)
mov    -0x228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    3765 <get_first_losing_move_4+0x2655>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3393 <get_first_losing_move_4+0x2283>
xor    %eax,%eax
mov    %eax,-0x22c(%rbp)
jmp    33a4 <get_first_losing_move_4+0x2294>
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    33c8 <get_first_losing_move_4+0x22b8>
xor    %eax,%eax
mov    %eax,-0x230(%rbp)
jmp    33d9 <get_first_losing_move_4+0x22c9>
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    3405 <get_first_losing_move_4+0x22f5>
xor    %eax,%eax
mov    %eax,-0x234(%rbp)
jmp    3416 <get_first_losing_move_4+0x2306>
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    343a <get_first_losing_move_4+0x232a>
xor    %eax,%eax
mov    %eax,-0x238(%rbp)
jmp    344b <get_first_losing_move_4+0x233b>
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    3477 <get_first_losing_move_4+0x2367>
xor    %eax,%eax
mov    %eax,-0x23c(%rbp)
jmp    3488 <get_first_losing_move_4+0x2378>
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    34ac <get_first_losing_move_4+0x239c>
xor    %eax,%eax
mov    %eax,-0x240(%rbp)
jmp    34bd <get_first_losing_move_4+0x23ad>
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    34e9 <get_first_losing_move_4+0x23d9>
xor    %eax,%eax
mov    %eax,-0x244(%rbp)
jmp    34fa <get_first_losing_move_4+0x23ea>
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    351e <get_first_losing_move_4+0x240e>
xor    %eax,%eax
mov    %eax,-0x248(%rbp)
jmp    352f <get_first_losing_move_4+0x241f>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    3587 <get_first_losing_move_4+0x2477>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     359d <get_first_losing_move_4+0x248d>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    35bf <get_first_losing_move_4+0x24af>
xor    %eax,%eax
mov    %eax,-0x24c(%rbp)
jmp    35d0 <get_first_losing_move_4+0x24c0>
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    35f4 <get_first_losing_move_4+0x24e4>
xor    %eax,%eax
mov    %eax,-0x250(%rbp)
jmp    3605 <get_first_losing_move_4+0x24f5>
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    3631 <get_first_losing_move_4+0x2521>
xor    %eax,%eax
mov    %eax,-0x254(%rbp)
jmp    3642 <get_first_losing_move_4+0x2532>
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    3666 <get_first_losing_move_4+0x2556>
xor    %eax,%eax
mov    %eax,-0x258(%rbp)
jmp    3677 <get_first_losing_move_4+0x2567>
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    36a3 <get_first_losing_move_4+0x2593>
xor    %eax,%eax
mov    %eax,-0x25c(%rbp)
jmp    36b4 <get_first_losing_move_4+0x25a4>
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    36d8 <get_first_losing_move_4+0x25c8>
xor    %eax,%eax
mov    %eax,-0x260(%rbp)
jmp    36e9 <get_first_losing_move_4+0x25d9>
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    3715 <get_first_losing_move_4+0x2605>
xor    %eax,%eax
mov    %eax,-0x264(%rbp)
jmp    3726 <get_first_losing_move_4+0x2616>
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    374a <get_first_losing_move_4+0x263a>
xor    %eax,%eax
mov    %eax,-0x268(%rbp)
jmp    375b <get_first_losing_move_4+0x264b>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x268(%rbp)
mov    -0x268(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    376a <get_first_losing_move_4+0x265a>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    3777 <get_first_losing_move_4+0x2667>
jmp    16bef <get_first_losing_move_4+0x15adf>
movswl -0x18(%rbp),%eax
cmp    $0x3,%eax
jne    4460 <get_first_losing_move_4+0x3350>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     445b <get_first_losing_move_4+0x334b>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    445b <get_first_losing_move_4+0x334b>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     445b <get_first_losing_move_4+0x334b>
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     4456 <get_first_losing_move_4+0x3346>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     4456 <get_first_losing_move_4+0x3346>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     4456 <get_first_losing_move_4+0x3346>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     4456 <get_first_losing_move_4+0x3346>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     4456 <get_first_losing_move_4+0x3346>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    3c3e <get_first_losing_move_4+0x2b2e>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    385f <get_first_losing_move_4+0x274f>
xor    %eax,%eax
mov    %eax,-0x26c(%rbp)
jmp    3870 <get_first_losing_move_4+0x2760>
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    3894 <get_first_losing_move_4+0x2784>
xor    %eax,%eax
mov    %eax,-0x270(%rbp)
jmp    38a5 <get_first_losing_move_4+0x2795>
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    38d1 <get_first_losing_move_4+0x27c1>
xor    %eax,%eax
mov    %eax,-0x274(%rbp)
jmp    38e2 <get_first_losing_move_4+0x27d2>
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    3906 <get_first_losing_move_4+0x27f6>
xor    %eax,%eax
mov    %eax,-0x278(%rbp)
jmp    3917 <get_first_losing_move_4+0x2807>
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    3943 <get_first_losing_move_4+0x2833>
xor    %eax,%eax
mov    %eax,-0x27c(%rbp)
jmp    3954 <get_first_losing_move_4+0x2844>
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    3978 <get_first_losing_move_4+0x2868>
xor    %eax,%eax
mov    %eax,-0x280(%rbp)
jmp    3989 <get_first_losing_move_4+0x2879>
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    39b5 <get_first_losing_move_4+0x28a5>
xor    %eax,%eax
mov    %eax,-0x284(%rbp)
jmp    39c6 <get_first_losing_move_4+0x28b6>
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    39ea <get_first_losing_move_4+0x28da>
xor    %eax,%eax
mov    %eax,-0x288(%rbp)
jmp    39fb <get_first_losing_move_4+0x28eb>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    3a53 <get_first_losing_move_4+0x2943>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     3a69 <get_first_losing_move_4+0x2959>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3a8b <get_first_losing_move_4+0x297b>
xor    %eax,%eax
mov    %eax,-0x28c(%rbp)
jmp    3a9c <get_first_losing_move_4+0x298c>
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    3ac0 <get_first_losing_move_4+0x29b0>
xor    %eax,%eax
mov    %eax,-0x290(%rbp)
jmp    3ad1 <get_first_losing_move_4+0x29c1>
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    3afd <get_first_losing_move_4+0x29ed>
xor    %eax,%eax
mov    %eax,-0x294(%rbp)
jmp    3b0e <get_first_losing_move_4+0x29fe>
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    3b32 <get_first_losing_move_4+0x2a22>
xor    %eax,%eax
mov    %eax,-0x298(%rbp)
jmp    3b43 <get_first_losing_move_4+0x2a33>
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    3b6f <get_first_losing_move_4+0x2a5f>
xor    %eax,%eax
mov    %eax,-0x29c(%rbp)
jmp    3b80 <get_first_losing_move_4+0x2a70>
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    3ba4 <get_first_losing_move_4+0x2a94>
xor    %eax,%eax
mov    %eax,-0x2a0(%rbp)
jmp    3bb5 <get_first_losing_move_4+0x2aa5>
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    3be1 <get_first_losing_move_4+0x2ad1>
xor    %eax,%eax
mov    %eax,-0x2a4(%rbp)
jmp    3bf2 <get_first_losing_move_4+0x2ae2>
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    3c16 <get_first_losing_move_4+0x2b06>
xor    %eax,%eax
mov    %eax,-0x2a8(%rbp)
jmp    3c27 <get_first_losing_move_4+0x2b17>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2a8(%rbp)
mov    -0x2a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    444e <get_first_losing_move_4+0x333e>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    4055 <get_first_losing_move_4+0x2f45>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3c76 <get_first_losing_move_4+0x2b66>
xor    %eax,%eax
mov    %eax,-0x2ac(%rbp)
jmp    3c87 <get_first_losing_move_4+0x2b77>
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    3cab <get_first_losing_move_4+0x2b9b>
xor    %eax,%eax
mov    %eax,-0x2b0(%rbp)
jmp    3cbc <get_first_losing_move_4+0x2bac>
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    3ce8 <get_first_losing_move_4+0x2bd8>
xor    %eax,%eax
mov    %eax,-0x2b4(%rbp)
jmp    3cf9 <get_first_losing_move_4+0x2be9>
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    3d1d <get_first_losing_move_4+0x2c0d>
xor    %eax,%eax
mov    %eax,-0x2b8(%rbp)
jmp    3d2e <get_first_losing_move_4+0x2c1e>
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    3d5a <get_first_losing_move_4+0x2c4a>
xor    %eax,%eax
mov    %eax,-0x2bc(%rbp)
jmp    3d6b <get_first_losing_move_4+0x2c5b>
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    3d8f <get_first_losing_move_4+0x2c7f>
xor    %eax,%eax
mov    %eax,-0x2c0(%rbp)
jmp    3da0 <get_first_losing_move_4+0x2c90>
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    3dcc <get_first_losing_move_4+0x2cbc>
xor    %eax,%eax
mov    %eax,-0x2c4(%rbp)
jmp    3ddd <get_first_losing_move_4+0x2ccd>
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    3e01 <get_first_losing_move_4+0x2cf1>
xor    %eax,%eax
mov    %eax,-0x2c8(%rbp)
jmp    3e12 <get_first_losing_move_4+0x2d02>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    3e6a <get_first_losing_move_4+0x2d5a>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     3e80 <get_first_losing_move_4+0x2d70>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    3ea2 <get_first_losing_move_4+0x2d92>
xor    %eax,%eax
mov    %eax,-0x2cc(%rbp)
jmp    3eb3 <get_first_losing_move_4+0x2da3>
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    3ed7 <get_first_losing_move_4+0x2dc7>
xor    %eax,%eax
mov    %eax,-0x2d0(%rbp)
jmp    3ee8 <get_first_losing_move_4+0x2dd8>
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    3f14 <get_first_losing_move_4+0x2e04>
xor    %eax,%eax
mov    %eax,-0x2d4(%rbp)
jmp    3f25 <get_first_losing_move_4+0x2e15>
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    3f49 <get_first_losing_move_4+0x2e39>
xor    %eax,%eax
mov    %eax,-0x2d8(%rbp)
jmp    3f5a <get_first_losing_move_4+0x2e4a>
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    3f86 <get_first_losing_move_4+0x2e76>
xor    %eax,%eax
mov    %eax,-0x2dc(%rbp)
jmp    3f97 <get_first_losing_move_4+0x2e87>
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    3fbb <get_first_losing_move_4+0x2eab>
xor    %eax,%eax
mov    %eax,-0x2e0(%rbp)
jmp    3fcc <get_first_losing_move_4+0x2ebc>
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    3ff8 <get_first_losing_move_4+0x2ee8>
xor    %eax,%eax
mov    %eax,-0x2e4(%rbp)
jmp    4009 <get_first_losing_move_4+0x2ef9>
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    402d <get_first_losing_move_4+0x2f1d>
xor    %eax,%eax
mov    %eax,-0x2e8(%rbp)
jmp    403e <get_first_losing_move_4+0x2f2e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x2e8(%rbp)
mov    -0x2e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    4449 <get_first_losing_move_4+0x3339>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4077 <get_first_losing_move_4+0x2f67>
xor    %eax,%eax
mov    %eax,-0x2ec(%rbp)
jmp    4088 <get_first_losing_move_4+0x2f78>
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    40ac <get_first_losing_move_4+0x2f9c>
xor    %eax,%eax
mov    %eax,-0x2f0(%rbp)
jmp    40bd <get_first_losing_move_4+0x2fad>
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    40e9 <get_first_losing_move_4+0x2fd9>
xor    %eax,%eax
mov    %eax,-0x2f4(%rbp)
jmp    40fa <get_first_losing_move_4+0x2fea>
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    411e <get_first_losing_move_4+0x300e>
xor    %eax,%eax
mov    %eax,-0x2f8(%rbp)
jmp    412f <get_first_losing_move_4+0x301f>
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    415b <get_first_losing_move_4+0x304b>
xor    %eax,%eax
mov    %eax,-0x2fc(%rbp)
jmp    416c <get_first_losing_move_4+0x305c>
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    4190 <get_first_losing_move_4+0x3080>
xor    %eax,%eax
mov    %eax,-0x300(%rbp)
jmp    41a1 <get_first_losing_move_4+0x3091>
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    41cd <get_first_losing_move_4+0x30bd>
xor    %eax,%eax
mov    %eax,-0x304(%rbp)
jmp    41de <get_first_losing_move_4+0x30ce>
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    4202 <get_first_losing_move_4+0x30f2>
xor    %eax,%eax
mov    %eax,-0x308(%rbp)
jmp    4213 <get_first_losing_move_4+0x3103>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    426b <get_first_losing_move_4+0x315b>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     4281 <get_first_losing_move_4+0x3171>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    42a3 <get_first_losing_move_4+0x3193>
xor    %eax,%eax
mov    %eax,-0x30c(%rbp)
jmp    42b4 <get_first_losing_move_4+0x31a4>
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    42d8 <get_first_losing_move_4+0x31c8>
xor    %eax,%eax
mov    %eax,-0x310(%rbp)
jmp    42e9 <get_first_losing_move_4+0x31d9>
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    4315 <get_first_losing_move_4+0x3205>
xor    %eax,%eax
mov    %eax,-0x314(%rbp)
jmp    4326 <get_first_losing_move_4+0x3216>
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    434a <get_first_losing_move_4+0x323a>
xor    %eax,%eax
mov    %eax,-0x318(%rbp)
jmp    435b <get_first_losing_move_4+0x324b>
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    4387 <get_first_losing_move_4+0x3277>
xor    %eax,%eax
mov    %eax,-0x31c(%rbp)
jmp    4398 <get_first_losing_move_4+0x3288>
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    43bc <get_first_losing_move_4+0x32ac>
xor    %eax,%eax
mov    %eax,-0x320(%rbp)
jmp    43cd <get_first_losing_move_4+0x32bd>
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    43f9 <get_first_losing_move_4+0x32e9>
xor    %eax,%eax
mov    %eax,-0x324(%rbp)
jmp    440a <get_first_losing_move_4+0x32fa>
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    442e <get_first_losing_move_4+0x331e>
xor    %eax,%eax
mov    %eax,-0x328(%rbp)
jmp    443f <get_first_losing_move_4+0x332f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x328(%rbp)
mov    -0x328(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    444e <get_first_losing_move_4+0x333e>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    445b <get_first_losing_move_4+0x334b>
jmp    16bea <get_first_losing_move_4+0x15ada>
movswl -0x18(%rbp),%eax
cmp    $0x4,%eax
jne    512f <get_first_losing_move_4+0x401f>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     512a <get_first_losing_move_4+0x401a>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    512a <get_first_losing_move_4+0x401a>
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     5125 <get_first_losing_move_4+0x4015>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     5125 <get_first_losing_move_4+0x4015>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     5125 <get_first_losing_move_4+0x4015>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     5125 <get_first_losing_move_4+0x4015>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     5125 <get_first_losing_move_4+0x4015>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    490d <get_first_losing_move_4+0x37fd>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    452e <get_first_losing_move_4+0x341e>
xor    %eax,%eax
mov    %eax,-0x32c(%rbp)
jmp    453f <get_first_losing_move_4+0x342f>
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    4563 <get_first_losing_move_4+0x3453>
xor    %eax,%eax
mov    %eax,-0x330(%rbp)
jmp    4574 <get_first_losing_move_4+0x3464>
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    45a0 <get_first_losing_move_4+0x3490>
xor    %eax,%eax
mov    %eax,-0x334(%rbp)
jmp    45b1 <get_first_losing_move_4+0x34a1>
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    45d5 <get_first_losing_move_4+0x34c5>
xor    %eax,%eax
mov    %eax,-0x338(%rbp)
jmp    45e6 <get_first_losing_move_4+0x34d6>
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    4612 <get_first_losing_move_4+0x3502>
xor    %eax,%eax
mov    %eax,-0x33c(%rbp)
jmp    4623 <get_first_losing_move_4+0x3513>
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    4647 <get_first_losing_move_4+0x3537>
xor    %eax,%eax
mov    %eax,-0x340(%rbp)
jmp    4658 <get_first_losing_move_4+0x3548>
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    4684 <get_first_losing_move_4+0x3574>
xor    %eax,%eax
mov    %eax,-0x344(%rbp)
jmp    4695 <get_first_losing_move_4+0x3585>
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    46b9 <get_first_losing_move_4+0x35a9>
xor    %eax,%eax
mov    %eax,-0x348(%rbp)
jmp    46ca <get_first_losing_move_4+0x35ba>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    4722 <get_first_losing_move_4+0x3612>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     4738 <get_first_losing_move_4+0x3628>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    475a <get_first_losing_move_4+0x364a>
xor    %eax,%eax
mov    %eax,-0x34c(%rbp)
jmp    476b <get_first_losing_move_4+0x365b>
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    478f <get_first_losing_move_4+0x367f>
xor    %eax,%eax
mov    %eax,-0x350(%rbp)
jmp    47a0 <get_first_losing_move_4+0x3690>
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    47cc <get_first_losing_move_4+0x36bc>
xor    %eax,%eax
mov    %eax,-0x354(%rbp)
jmp    47dd <get_first_losing_move_4+0x36cd>
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    4801 <get_first_losing_move_4+0x36f1>
xor    %eax,%eax
mov    %eax,-0x358(%rbp)
jmp    4812 <get_first_losing_move_4+0x3702>
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    483e <get_first_losing_move_4+0x372e>
xor    %eax,%eax
mov    %eax,-0x35c(%rbp)
jmp    484f <get_first_losing_move_4+0x373f>
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    4873 <get_first_losing_move_4+0x3763>
xor    %eax,%eax
mov    %eax,-0x360(%rbp)
jmp    4884 <get_first_losing_move_4+0x3774>
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    48b0 <get_first_losing_move_4+0x37a0>
xor    %eax,%eax
mov    %eax,-0x364(%rbp)
jmp    48c1 <get_first_losing_move_4+0x37b1>
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    48e5 <get_first_losing_move_4+0x37d5>
xor    %eax,%eax
mov    %eax,-0x368(%rbp)
jmp    48f6 <get_first_losing_move_4+0x37e6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x368(%rbp)
mov    -0x368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    511d <get_first_losing_move_4+0x400d>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    4d24 <get_first_losing_move_4+0x3c14>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4945 <get_first_losing_move_4+0x3835>
xor    %eax,%eax
mov    %eax,-0x36c(%rbp)
jmp    4956 <get_first_losing_move_4+0x3846>
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    497a <get_first_losing_move_4+0x386a>
xor    %eax,%eax
mov    %eax,-0x370(%rbp)
jmp    498b <get_first_losing_move_4+0x387b>
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    49b7 <get_first_losing_move_4+0x38a7>
xor    %eax,%eax
mov    %eax,-0x374(%rbp)
jmp    49c8 <get_first_losing_move_4+0x38b8>
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    49ec <get_first_losing_move_4+0x38dc>
xor    %eax,%eax
mov    %eax,-0x378(%rbp)
jmp    49fd <get_first_losing_move_4+0x38ed>
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    4a29 <get_first_losing_move_4+0x3919>
xor    %eax,%eax
mov    %eax,-0x37c(%rbp)
jmp    4a3a <get_first_losing_move_4+0x392a>
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    4a5e <get_first_losing_move_4+0x394e>
xor    %eax,%eax
mov    %eax,-0x380(%rbp)
jmp    4a6f <get_first_losing_move_4+0x395f>
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    4a9b <get_first_losing_move_4+0x398b>
xor    %eax,%eax
mov    %eax,-0x384(%rbp)
jmp    4aac <get_first_losing_move_4+0x399c>
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    4ad0 <get_first_losing_move_4+0x39c0>
xor    %eax,%eax
mov    %eax,-0x388(%rbp)
jmp    4ae1 <get_first_losing_move_4+0x39d1>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    4b39 <get_first_losing_move_4+0x3a29>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     4b4f <get_first_losing_move_4+0x3a3f>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4b71 <get_first_losing_move_4+0x3a61>
xor    %eax,%eax
mov    %eax,-0x38c(%rbp)
jmp    4b82 <get_first_losing_move_4+0x3a72>
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    4ba6 <get_first_losing_move_4+0x3a96>
xor    %eax,%eax
mov    %eax,-0x390(%rbp)
jmp    4bb7 <get_first_losing_move_4+0x3aa7>
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    4be3 <get_first_losing_move_4+0x3ad3>
xor    %eax,%eax
mov    %eax,-0x394(%rbp)
jmp    4bf4 <get_first_losing_move_4+0x3ae4>
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    4c18 <get_first_losing_move_4+0x3b08>
xor    %eax,%eax
mov    %eax,-0x398(%rbp)
jmp    4c29 <get_first_losing_move_4+0x3b19>
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    4c55 <get_first_losing_move_4+0x3b45>
xor    %eax,%eax
mov    %eax,-0x39c(%rbp)
jmp    4c66 <get_first_losing_move_4+0x3b56>
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    4c8a <get_first_losing_move_4+0x3b7a>
xor    %eax,%eax
mov    %eax,-0x3a0(%rbp)
jmp    4c9b <get_first_losing_move_4+0x3b8b>
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    4cc7 <get_first_losing_move_4+0x3bb7>
xor    %eax,%eax
mov    %eax,-0x3a4(%rbp)
jmp    4cd8 <get_first_losing_move_4+0x3bc8>
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    4cfc <get_first_losing_move_4+0x3bec>
xor    %eax,%eax
mov    %eax,-0x3a8(%rbp)
jmp    4d0d <get_first_losing_move_4+0x3bfd>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3a8(%rbp)
mov    -0x3a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    5118 <get_first_losing_move_4+0x4008>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4d46 <get_first_losing_move_4+0x3c36>
xor    %eax,%eax
mov    %eax,-0x3ac(%rbp)
jmp    4d57 <get_first_losing_move_4+0x3c47>
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    4d7b <get_first_losing_move_4+0x3c6b>
xor    %eax,%eax
mov    %eax,-0x3b0(%rbp)
jmp    4d8c <get_first_losing_move_4+0x3c7c>
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    4db8 <get_first_losing_move_4+0x3ca8>
xor    %eax,%eax
mov    %eax,-0x3b4(%rbp)
jmp    4dc9 <get_first_losing_move_4+0x3cb9>
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    4ded <get_first_losing_move_4+0x3cdd>
xor    %eax,%eax
mov    %eax,-0x3b8(%rbp)
jmp    4dfe <get_first_losing_move_4+0x3cee>
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    4e2a <get_first_losing_move_4+0x3d1a>
xor    %eax,%eax
mov    %eax,-0x3bc(%rbp)
jmp    4e3b <get_first_losing_move_4+0x3d2b>
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    4e5f <get_first_losing_move_4+0x3d4f>
xor    %eax,%eax
mov    %eax,-0x3c0(%rbp)
jmp    4e70 <get_first_losing_move_4+0x3d60>
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    4e9c <get_first_losing_move_4+0x3d8c>
xor    %eax,%eax
mov    %eax,-0x3c4(%rbp)
jmp    4ead <get_first_losing_move_4+0x3d9d>
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    4ed1 <get_first_losing_move_4+0x3dc1>
xor    %eax,%eax
mov    %eax,-0x3c8(%rbp)
jmp    4ee2 <get_first_losing_move_4+0x3dd2>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    4f3a <get_first_losing_move_4+0x3e2a>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     4f50 <get_first_losing_move_4+0x3e40>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    4f72 <get_first_losing_move_4+0x3e62>
xor    %eax,%eax
mov    %eax,-0x3cc(%rbp)
jmp    4f83 <get_first_losing_move_4+0x3e73>
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    4fa7 <get_first_losing_move_4+0x3e97>
xor    %eax,%eax
mov    %eax,-0x3d0(%rbp)
jmp    4fb8 <get_first_losing_move_4+0x3ea8>
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    4fe4 <get_first_losing_move_4+0x3ed4>
xor    %eax,%eax
mov    %eax,-0x3d4(%rbp)
jmp    4ff5 <get_first_losing_move_4+0x3ee5>
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    5019 <get_first_losing_move_4+0x3f09>
xor    %eax,%eax
mov    %eax,-0x3d8(%rbp)
jmp    502a <get_first_losing_move_4+0x3f1a>
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    5056 <get_first_losing_move_4+0x3f46>
xor    %eax,%eax
mov    %eax,-0x3dc(%rbp)
jmp    5067 <get_first_losing_move_4+0x3f57>
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    508b <get_first_losing_move_4+0x3f7b>
xor    %eax,%eax
mov    %eax,-0x3e0(%rbp)
jmp    509c <get_first_losing_move_4+0x3f8c>
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    50c8 <get_first_losing_move_4+0x3fb8>
xor    %eax,%eax
mov    %eax,-0x3e4(%rbp)
jmp    50d9 <get_first_losing_move_4+0x3fc9>
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    50fd <get_first_losing_move_4+0x3fed>
xor    %eax,%eax
mov    %eax,-0x3e8(%rbp)
jmp    510e <get_first_losing_move_4+0x3ffe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x3e8(%rbp)
mov    -0x3e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    511d <get_first_losing_move_4+0x400d>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    512a <get_first_losing_move_4+0x401a>
jmp    16be5 <get_first_losing_move_4+0x15ad5>
movswl -0x18(%rbp),%eax
cmp    $0x5,%eax
jne    5e13 <get_first_losing_move_4+0x4d03>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     5e0e <get_first_losing_move_4+0x4cfe>
movswl -0x4(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    5e0e <get_first_losing_move_4+0x4cfe>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     5e0e <get_first_losing_move_4+0x4cfe>
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     5e09 <get_first_losing_move_4+0x4cf9>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     5e09 <get_first_losing_move_4+0x4cf9>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     5e09 <get_first_losing_move_4+0x4cf9>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     5e09 <get_first_losing_move_4+0x4cf9>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     5e09 <get_first_losing_move_4+0x4cf9>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    55f1 <get_first_losing_move_4+0x44e1>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5212 <get_first_losing_move_4+0x4102>
xor    %eax,%eax
mov    %eax,-0x3ec(%rbp)
jmp    5223 <get_first_losing_move_4+0x4113>
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    5247 <get_first_losing_move_4+0x4137>
xor    %eax,%eax
mov    %eax,-0x3f0(%rbp)
jmp    5258 <get_first_losing_move_4+0x4148>
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    5284 <get_first_losing_move_4+0x4174>
xor    %eax,%eax
mov    %eax,-0x3f4(%rbp)
jmp    5295 <get_first_losing_move_4+0x4185>
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    52b9 <get_first_losing_move_4+0x41a9>
xor    %eax,%eax
mov    %eax,-0x3f8(%rbp)
jmp    52ca <get_first_losing_move_4+0x41ba>
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    52f6 <get_first_losing_move_4+0x41e6>
xor    %eax,%eax
mov    %eax,-0x3fc(%rbp)
jmp    5307 <get_first_losing_move_4+0x41f7>
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    532b <get_first_losing_move_4+0x421b>
xor    %eax,%eax
mov    %eax,-0x400(%rbp)
jmp    533c <get_first_losing_move_4+0x422c>
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    5368 <get_first_losing_move_4+0x4258>
xor    %eax,%eax
mov    %eax,-0x404(%rbp)
jmp    5379 <get_first_losing_move_4+0x4269>
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    539d <get_first_losing_move_4+0x428d>
xor    %eax,%eax
mov    %eax,-0x408(%rbp)
jmp    53ae <get_first_losing_move_4+0x429e>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    5406 <get_first_losing_move_4+0x42f6>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     541c <get_first_losing_move_4+0x430c>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    543e <get_first_losing_move_4+0x432e>
xor    %eax,%eax
mov    %eax,-0x40c(%rbp)
jmp    544f <get_first_losing_move_4+0x433f>
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    5473 <get_first_losing_move_4+0x4363>
xor    %eax,%eax
mov    %eax,-0x410(%rbp)
jmp    5484 <get_first_losing_move_4+0x4374>
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    54b0 <get_first_losing_move_4+0x43a0>
xor    %eax,%eax
mov    %eax,-0x414(%rbp)
jmp    54c1 <get_first_losing_move_4+0x43b1>
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    54e5 <get_first_losing_move_4+0x43d5>
xor    %eax,%eax
mov    %eax,-0x418(%rbp)
jmp    54f6 <get_first_losing_move_4+0x43e6>
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    5522 <get_first_losing_move_4+0x4412>
xor    %eax,%eax
mov    %eax,-0x41c(%rbp)
jmp    5533 <get_first_losing_move_4+0x4423>
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    5557 <get_first_losing_move_4+0x4447>
xor    %eax,%eax
mov    %eax,-0x420(%rbp)
jmp    5568 <get_first_losing_move_4+0x4458>
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    5594 <get_first_losing_move_4+0x4484>
xor    %eax,%eax
mov    %eax,-0x424(%rbp)
jmp    55a5 <get_first_losing_move_4+0x4495>
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    55c9 <get_first_losing_move_4+0x44b9>
xor    %eax,%eax
mov    %eax,-0x428(%rbp)
jmp    55da <get_first_losing_move_4+0x44ca>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x428(%rbp)
mov    -0x428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    5e01 <get_first_losing_move_4+0x4cf1>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    5a08 <get_first_losing_move_4+0x48f8>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5629 <get_first_losing_move_4+0x4519>
xor    %eax,%eax
mov    %eax,-0x42c(%rbp)
jmp    563a <get_first_losing_move_4+0x452a>
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    565e <get_first_losing_move_4+0x454e>
xor    %eax,%eax
mov    %eax,-0x430(%rbp)
jmp    566f <get_first_losing_move_4+0x455f>
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    569b <get_first_losing_move_4+0x458b>
xor    %eax,%eax
mov    %eax,-0x434(%rbp)
jmp    56ac <get_first_losing_move_4+0x459c>
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    56d0 <get_first_losing_move_4+0x45c0>
xor    %eax,%eax
mov    %eax,-0x438(%rbp)
jmp    56e1 <get_first_losing_move_4+0x45d1>
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    570d <get_first_losing_move_4+0x45fd>
xor    %eax,%eax
mov    %eax,-0x43c(%rbp)
jmp    571e <get_first_losing_move_4+0x460e>
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    5742 <get_first_losing_move_4+0x4632>
xor    %eax,%eax
mov    %eax,-0x440(%rbp)
jmp    5753 <get_first_losing_move_4+0x4643>
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    577f <get_first_losing_move_4+0x466f>
xor    %eax,%eax
mov    %eax,-0x444(%rbp)
jmp    5790 <get_first_losing_move_4+0x4680>
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    57b4 <get_first_losing_move_4+0x46a4>
xor    %eax,%eax
mov    %eax,-0x448(%rbp)
jmp    57c5 <get_first_losing_move_4+0x46b5>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    581d <get_first_losing_move_4+0x470d>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5833 <get_first_losing_move_4+0x4723>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5855 <get_first_losing_move_4+0x4745>
xor    %eax,%eax
mov    %eax,-0x44c(%rbp)
jmp    5866 <get_first_losing_move_4+0x4756>
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    588a <get_first_losing_move_4+0x477a>
xor    %eax,%eax
mov    %eax,-0x450(%rbp)
jmp    589b <get_first_losing_move_4+0x478b>
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    58c7 <get_first_losing_move_4+0x47b7>
xor    %eax,%eax
mov    %eax,-0x454(%rbp)
jmp    58d8 <get_first_losing_move_4+0x47c8>
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    58fc <get_first_losing_move_4+0x47ec>
xor    %eax,%eax
mov    %eax,-0x458(%rbp)
jmp    590d <get_first_losing_move_4+0x47fd>
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    5939 <get_first_losing_move_4+0x4829>
xor    %eax,%eax
mov    %eax,-0x45c(%rbp)
jmp    594a <get_first_losing_move_4+0x483a>
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    596e <get_first_losing_move_4+0x485e>
xor    %eax,%eax
mov    %eax,-0x460(%rbp)
jmp    597f <get_first_losing_move_4+0x486f>
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    59ab <get_first_losing_move_4+0x489b>
xor    %eax,%eax
mov    %eax,-0x464(%rbp)
jmp    59bc <get_first_losing_move_4+0x48ac>
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    59e0 <get_first_losing_move_4+0x48d0>
xor    %eax,%eax
mov    %eax,-0x468(%rbp)
jmp    59f1 <get_first_losing_move_4+0x48e1>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x468(%rbp)
mov    -0x468(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    5dfc <get_first_losing_move_4+0x4cec>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5a2a <get_first_losing_move_4+0x491a>
xor    %eax,%eax
mov    %eax,-0x46c(%rbp)
jmp    5a3b <get_first_losing_move_4+0x492b>
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    5a5f <get_first_losing_move_4+0x494f>
xor    %eax,%eax
mov    %eax,-0x470(%rbp)
jmp    5a70 <get_first_losing_move_4+0x4960>
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    5a9c <get_first_losing_move_4+0x498c>
xor    %eax,%eax
mov    %eax,-0x474(%rbp)
jmp    5aad <get_first_losing_move_4+0x499d>
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    5ad1 <get_first_losing_move_4+0x49c1>
xor    %eax,%eax
mov    %eax,-0x478(%rbp)
jmp    5ae2 <get_first_losing_move_4+0x49d2>
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    5b0e <get_first_losing_move_4+0x49fe>
xor    %eax,%eax
mov    %eax,-0x47c(%rbp)
jmp    5b1f <get_first_losing_move_4+0x4a0f>
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    5b43 <get_first_losing_move_4+0x4a33>
xor    %eax,%eax
mov    %eax,-0x480(%rbp)
jmp    5b54 <get_first_losing_move_4+0x4a44>
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    5b80 <get_first_losing_move_4+0x4a70>
xor    %eax,%eax
mov    %eax,-0x484(%rbp)
jmp    5b91 <get_first_losing_move_4+0x4a81>
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    5bb5 <get_first_losing_move_4+0x4aa5>
xor    %eax,%eax
mov    %eax,-0x488(%rbp)
jmp    5bc6 <get_first_losing_move_4+0x4ab6>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    5c1e <get_first_losing_move_4+0x4b0e>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     5c34 <get_first_losing_move_4+0x4b24>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5c56 <get_first_losing_move_4+0x4b46>
xor    %eax,%eax
mov    %eax,-0x48c(%rbp)
jmp    5c67 <get_first_losing_move_4+0x4b57>
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    5c8b <get_first_losing_move_4+0x4b7b>
xor    %eax,%eax
mov    %eax,-0x490(%rbp)
jmp    5c9c <get_first_losing_move_4+0x4b8c>
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    5cc8 <get_first_losing_move_4+0x4bb8>
xor    %eax,%eax
mov    %eax,-0x494(%rbp)
jmp    5cd9 <get_first_losing_move_4+0x4bc9>
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    5cfd <get_first_losing_move_4+0x4bed>
xor    %eax,%eax
mov    %eax,-0x498(%rbp)
jmp    5d0e <get_first_losing_move_4+0x4bfe>
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    5d3a <get_first_losing_move_4+0x4c2a>
xor    %eax,%eax
mov    %eax,-0x49c(%rbp)
jmp    5d4b <get_first_losing_move_4+0x4c3b>
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    5d6f <get_first_losing_move_4+0x4c5f>
xor    %eax,%eax
mov    %eax,-0x4a0(%rbp)
jmp    5d80 <get_first_losing_move_4+0x4c70>
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    5dac <get_first_losing_move_4+0x4c9c>
xor    %eax,%eax
mov    %eax,-0x4a4(%rbp)
jmp    5dbd <get_first_losing_move_4+0x4cad>
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    5de1 <get_first_losing_move_4+0x4cd1>
xor    %eax,%eax
mov    %eax,-0x4a8(%rbp)
jmp    5df2 <get_first_losing_move_4+0x4ce2>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4a8(%rbp)
mov    -0x4a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    5e01 <get_first_losing_move_4+0x4cf1>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    5e0e <get_first_losing_move_4+0x4cfe>
jmp    16be0 <get_first_losing_move_4+0x15ad0>
movswl -0x18(%rbp),%eax
cmp    $0x6,%eax
jne    6ae6 <get_first_losing_move_4+0x59d6>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     6ae1 <get_first_losing_move_4+0x59d1>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     6ae1 <get_first_losing_move_4+0x59d1>
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     6adc <get_first_losing_move_4+0x59cc>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     6adc <get_first_losing_move_4+0x59cc>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     6adc <get_first_losing_move_4+0x59cc>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     6adc <get_first_losing_move_4+0x59cc>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     6adc <get_first_losing_move_4+0x59cc>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    62c4 <get_first_losing_move_4+0x51b4>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    5ee5 <get_first_losing_move_4+0x4dd5>
xor    %eax,%eax
mov    %eax,-0x4ac(%rbp)
jmp    5ef6 <get_first_losing_move_4+0x4de6>
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    5f1a <get_first_losing_move_4+0x4e0a>
xor    %eax,%eax
mov    %eax,-0x4b0(%rbp)
jmp    5f2b <get_first_losing_move_4+0x4e1b>
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    5f57 <get_first_losing_move_4+0x4e47>
xor    %eax,%eax
mov    %eax,-0x4b4(%rbp)
jmp    5f68 <get_first_losing_move_4+0x4e58>
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    5f8c <get_first_losing_move_4+0x4e7c>
xor    %eax,%eax
mov    %eax,-0x4b8(%rbp)
jmp    5f9d <get_first_losing_move_4+0x4e8d>
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    5fc9 <get_first_losing_move_4+0x4eb9>
xor    %eax,%eax
mov    %eax,-0x4bc(%rbp)
jmp    5fda <get_first_losing_move_4+0x4eca>
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    5ffe <get_first_losing_move_4+0x4eee>
xor    %eax,%eax
mov    %eax,-0x4c0(%rbp)
jmp    600f <get_first_losing_move_4+0x4eff>
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    603b <get_first_losing_move_4+0x4f2b>
xor    %eax,%eax
mov    %eax,-0x4c4(%rbp)
jmp    604c <get_first_losing_move_4+0x4f3c>
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    6070 <get_first_losing_move_4+0x4f60>
xor    %eax,%eax
mov    %eax,-0x4c8(%rbp)
jmp    6081 <get_first_losing_move_4+0x4f71>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    60d9 <get_first_losing_move_4+0x4fc9>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     60ef <get_first_losing_move_4+0x4fdf>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6111 <get_first_losing_move_4+0x5001>
xor    %eax,%eax
mov    %eax,-0x4cc(%rbp)
jmp    6122 <get_first_losing_move_4+0x5012>
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    6146 <get_first_losing_move_4+0x5036>
xor    %eax,%eax
mov    %eax,-0x4d0(%rbp)
jmp    6157 <get_first_losing_move_4+0x5047>
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    6183 <get_first_losing_move_4+0x5073>
xor    %eax,%eax
mov    %eax,-0x4d4(%rbp)
jmp    6194 <get_first_losing_move_4+0x5084>
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    61b8 <get_first_losing_move_4+0x50a8>
xor    %eax,%eax
mov    %eax,-0x4d8(%rbp)
jmp    61c9 <get_first_losing_move_4+0x50b9>
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    61f5 <get_first_losing_move_4+0x50e5>
xor    %eax,%eax
mov    %eax,-0x4dc(%rbp)
jmp    6206 <get_first_losing_move_4+0x50f6>
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    622a <get_first_losing_move_4+0x511a>
xor    %eax,%eax
mov    %eax,-0x4e0(%rbp)
jmp    623b <get_first_losing_move_4+0x512b>
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    6267 <get_first_losing_move_4+0x5157>
xor    %eax,%eax
mov    %eax,-0x4e4(%rbp)
jmp    6278 <get_first_losing_move_4+0x5168>
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    629c <get_first_losing_move_4+0x518c>
xor    %eax,%eax
mov    %eax,-0x4e8(%rbp)
jmp    62ad <get_first_losing_move_4+0x519d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x4e8(%rbp)
mov    -0x4e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    6ad4 <get_first_losing_move_4+0x59c4>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    66db <get_first_losing_move_4+0x55cb>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    62fc <get_first_losing_move_4+0x51ec>
xor    %eax,%eax
mov    %eax,-0x4ec(%rbp)
jmp    630d <get_first_losing_move_4+0x51fd>
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    6331 <get_first_losing_move_4+0x5221>
xor    %eax,%eax
mov    %eax,-0x4f0(%rbp)
jmp    6342 <get_first_losing_move_4+0x5232>
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    636e <get_first_losing_move_4+0x525e>
xor    %eax,%eax
mov    %eax,-0x4f4(%rbp)
jmp    637f <get_first_losing_move_4+0x526f>
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    63a3 <get_first_losing_move_4+0x5293>
xor    %eax,%eax
mov    %eax,-0x4f8(%rbp)
jmp    63b4 <get_first_losing_move_4+0x52a4>
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    63e0 <get_first_losing_move_4+0x52d0>
xor    %eax,%eax
mov    %eax,-0x4fc(%rbp)
jmp    63f1 <get_first_losing_move_4+0x52e1>
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    6415 <get_first_losing_move_4+0x5305>
xor    %eax,%eax
mov    %eax,-0x500(%rbp)
jmp    6426 <get_first_losing_move_4+0x5316>
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    6452 <get_first_losing_move_4+0x5342>
xor    %eax,%eax
mov    %eax,-0x504(%rbp)
jmp    6463 <get_first_losing_move_4+0x5353>
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    6487 <get_first_losing_move_4+0x5377>
xor    %eax,%eax
mov    %eax,-0x508(%rbp)
jmp    6498 <get_first_losing_move_4+0x5388>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    64f0 <get_first_losing_move_4+0x53e0>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     6506 <get_first_losing_move_4+0x53f6>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6528 <get_first_losing_move_4+0x5418>
xor    %eax,%eax
mov    %eax,-0x50c(%rbp)
jmp    6539 <get_first_losing_move_4+0x5429>
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    655d <get_first_losing_move_4+0x544d>
xor    %eax,%eax
mov    %eax,-0x510(%rbp)
jmp    656e <get_first_losing_move_4+0x545e>
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    659a <get_first_losing_move_4+0x548a>
xor    %eax,%eax
mov    %eax,-0x514(%rbp)
jmp    65ab <get_first_losing_move_4+0x549b>
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    65cf <get_first_losing_move_4+0x54bf>
xor    %eax,%eax
mov    %eax,-0x518(%rbp)
jmp    65e0 <get_first_losing_move_4+0x54d0>
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    660c <get_first_losing_move_4+0x54fc>
xor    %eax,%eax
mov    %eax,-0x51c(%rbp)
jmp    661d <get_first_losing_move_4+0x550d>
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    6641 <get_first_losing_move_4+0x5531>
xor    %eax,%eax
mov    %eax,-0x520(%rbp)
jmp    6652 <get_first_losing_move_4+0x5542>
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    667e <get_first_losing_move_4+0x556e>
xor    %eax,%eax
mov    %eax,-0x524(%rbp)
jmp    668f <get_first_losing_move_4+0x557f>
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    66b3 <get_first_losing_move_4+0x55a3>
xor    %eax,%eax
mov    %eax,-0x528(%rbp)
jmp    66c4 <get_first_losing_move_4+0x55b4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x528(%rbp)
mov    -0x528(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    6acf <get_first_losing_move_4+0x59bf>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    66fd <get_first_losing_move_4+0x55ed>
xor    %eax,%eax
mov    %eax,-0x52c(%rbp)
jmp    670e <get_first_losing_move_4+0x55fe>
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    6732 <get_first_losing_move_4+0x5622>
xor    %eax,%eax
mov    %eax,-0x530(%rbp)
jmp    6743 <get_first_losing_move_4+0x5633>
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    676f <get_first_losing_move_4+0x565f>
xor    %eax,%eax
mov    %eax,-0x534(%rbp)
jmp    6780 <get_first_losing_move_4+0x5670>
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    67a4 <get_first_losing_move_4+0x5694>
xor    %eax,%eax
mov    %eax,-0x538(%rbp)
jmp    67b5 <get_first_losing_move_4+0x56a5>
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    67e1 <get_first_losing_move_4+0x56d1>
xor    %eax,%eax
mov    %eax,-0x53c(%rbp)
jmp    67f2 <get_first_losing_move_4+0x56e2>
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    6816 <get_first_losing_move_4+0x5706>
xor    %eax,%eax
mov    %eax,-0x540(%rbp)
jmp    6827 <get_first_losing_move_4+0x5717>
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    6853 <get_first_losing_move_4+0x5743>
xor    %eax,%eax
mov    %eax,-0x544(%rbp)
jmp    6864 <get_first_losing_move_4+0x5754>
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    6888 <get_first_losing_move_4+0x5778>
xor    %eax,%eax
mov    %eax,-0x548(%rbp)
jmp    6899 <get_first_losing_move_4+0x5789>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    68f1 <get_first_losing_move_4+0x57e1>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     6907 <get_first_losing_move_4+0x57f7>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6929 <get_first_losing_move_4+0x5819>
xor    %eax,%eax
mov    %eax,-0x54c(%rbp)
jmp    693a <get_first_losing_move_4+0x582a>
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    695e <get_first_losing_move_4+0x584e>
xor    %eax,%eax
mov    %eax,-0x550(%rbp)
jmp    696f <get_first_losing_move_4+0x585f>
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    699b <get_first_losing_move_4+0x588b>
xor    %eax,%eax
mov    %eax,-0x554(%rbp)
jmp    69ac <get_first_losing_move_4+0x589c>
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    69d0 <get_first_losing_move_4+0x58c0>
xor    %eax,%eax
mov    %eax,-0x558(%rbp)
jmp    69e1 <get_first_losing_move_4+0x58d1>
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    6a0d <get_first_losing_move_4+0x58fd>
xor    %eax,%eax
mov    %eax,-0x55c(%rbp)
jmp    6a1e <get_first_losing_move_4+0x590e>
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    6a42 <get_first_losing_move_4+0x5932>
xor    %eax,%eax
mov    %eax,-0x560(%rbp)
jmp    6a53 <get_first_losing_move_4+0x5943>
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    6a7f <get_first_losing_move_4+0x596f>
xor    %eax,%eax
mov    %eax,-0x564(%rbp)
jmp    6a90 <get_first_losing_move_4+0x5980>
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    6ab4 <get_first_losing_move_4+0x59a4>
xor    %eax,%eax
mov    %eax,-0x568(%rbp)
jmp    6ac5 <get_first_losing_move_4+0x59b5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x568(%rbp)
mov    -0x568(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    6ad4 <get_first_losing_move_4+0x59c4>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    6ae1 <get_first_losing_move_4+0x59d1>
jmp    16bdb <get_first_losing_move_4+0x15acb>
movswl -0x18(%rbp),%eax
cmp    $0x7,%eax
jne    77c6 <get_first_losing_move_4+0x66b6>
movswl -0x4(%rbp),%eax
cmp    $0x0,%eax
je     77c1 <get_first_losing_move_4+0x66b1>
movswl -0x4(%rbp),%eax
cmp    $0x15,%eax
jge    77c1 <get_first_losing_move_4+0x66b1>
movswl -0x4(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     77c1 <get_first_losing_move_4+0x66b1>
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     77bc <get_first_losing_move_4+0x66ac>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     77bc <get_first_losing_move_4+0x66ac>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     77bc <get_first_losing_move_4+0x66ac>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     77bc <get_first_losing_move_4+0x66ac>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     77bc <get_first_losing_move_4+0x66ac>
mov    -0x14(%rbp),%ax
mov    %ax,-0x4(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    6fa4 <get_first_losing_move_4+0x5e94>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6bc5 <get_first_losing_move_4+0x5ab5>
xor    %eax,%eax
mov    %eax,-0x56c(%rbp)
jmp    6bd6 <get_first_losing_move_4+0x5ac6>
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    6bfa <get_first_losing_move_4+0x5aea>
xor    %eax,%eax
mov    %eax,-0x570(%rbp)
jmp    6c0b <get_first_losing_move_4+0x5afb>
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    6c37 <get_first_losing_move_4+0x5b27>
xor    %eax,%eax
mov    %eax,-0x574(%rbp)
jmp    6c48 <get_first_losing_move_4+0x5b38>
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    6c6c <get_first_losing_move_4+0x5b5c>
xor    %eax,%eax
mov    %eax,-0x578(%rbp)
jmp    6c7d <get_first_losing_move_4+0x5b6d>
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    6ca9 <get_first_losing_move_4+0x5b99>
xor    %eax,%eax
mov    %eax,-0x57c(%rbp)
jmp    6cba <get_first_losing_move_4+0x5baa>
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    6cde <get_first_losing_move_4+0x5bce>
xor    %eax,%eax
mov    %eax,-0x580(%rbp)
jmp    6cef <get_first_losing_move_4+0x5bdf>
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    6d1b <get_first_losing_move_4+0x5c0b>
xor    %eax,%eax
mov    %eax,-0x584(%rbp)
jmp    6d2c <get_first_losing_move_4+0x5c1c>
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    6d50 <get_first_losing_move_4+0x5c40>
xor    %eax,%eax
mov    %eax,-0x588(%rbp)
jmp    6d61 <get_first_losing_move_4+0x5c51>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    6db9 <get_first_losing_move_4+0x5ca9>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     6dcf <get_first_losing_move_4+0x5cbf>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6df1 <get_first_losing_move_4+0x5ce1>
xor    %eax,%eax
mov    %eax,-0x58c(%rbp)
jmp    6e02 <get_first_losing_move_4+0x5cf2>
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    6e26 <get_first_losing_move_4+0x5d16>
xor    %eax,%eax
mov    %eax,-0x590(%rbp)
jmp    6e37 <get_first_losing_move_4+0x5d27>
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    6e63 <get_first_losing_move_4+0x5d53>
xor    %eax,%eax
mov    %eax,-0x594(%rbp)
jmp    6e74 <get_first_losing_move_4+0x5d64>
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    6e98 <get_first_losing_move_4+0x5d88>
xor    %eax,%eax
mov    %eax,-0x598(%rbp)
jmp    6ea9 <get_first_losing_move_4+0x5d99>
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    6ed5 <get_first_losing_move_4+0x5dc5>
xor    %eax,%eax
mov    %eax,-0x59c(%rbp)
jmp    6ee6 <get_first_losing_move_4+0x5dd6>
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    6f0a <get_first_losing_move_4+0x5dfa>
xor    %eax,%eax
mov    %eax,-0x5a0(%rbp)
jmp    6f1b <get_first_losing_move_4+0x5e0b>
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    6f47 <get_first_losing_move_4+0x5e37>
xor    %eax,%eax
mov    %eax,-0x5a4(%rbp)
jmp    6f58 <get_first_losing_move_4+0x5e48>
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    6f7c <get_first_losing_move_4+0x5e6c>
xor    %eax,%eax
mov    %eax,-0x5a8(%rbp)
jmp    6f8d <get_first_losing_move_4+0x5e7d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5a8(%rbp)
mov    -0x5a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    77b4 <get_first_losing_move_4+0x66a4>
movswl 0x18(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    73bb <get_first_losing_move_4+0x62ab>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    6fdc <get_first_losing_move_4+0x5ecc>
xor    %eax,%eax
mov    %eax,-0x5ac(%rbp)
jmp    6fed <get_first_losing_move_4+0x5edd>
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    7011 <get_first_losing_move_4+0x5f01>
xor    %eax,%eax
mov    %eax,-0x5b0(%rbp)
jmp    7022 <get_first_losing_move_4+0x5f12>
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    704e <get_first_losing_move_4+0x5f3e>
xor    %eax,%eax
mov    %eax,-0x5b4(%rbp)
jmp    705f <get_first_losing_move_4+0x5f4f>
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    7083 <get_first_losing_move_4+0x5f73>
xor    %eax,%eax
mov    %eax,-0x5b8(%rbp)
jmp    7094 <get_first_losing_move_4+0x5f84>
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    70c0 <get_first_losing_move_4+0x5fb0>
xor    %eax,%eax
mov    %eax,-0x5bc(%rbp)
jmp    70d1 <get_first_losing_move_4+0x5fc1>
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    70f5 <get_first_losing_move_4+0x5fe5>
xor    %eax,%eax
mov    %eax,-0x5c0(%rbp)
jmp    7106 <get_first_losing_move_4+0x5ff6>
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    7132 <get_first_losing_move_4+0x6022>
xor    %eax,%eax
mov    %eax,-0x5c4(%rbp)
jmp    7143 <get_first_losing_move_4+0x6033>
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    7167 <get_first_losing_move_4+0x6057>
xor    %eax,%eax
mov    %eax,-0x5c8(%rbp)
jmp    7178 <get_first_losing_move_4+0x6068>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    71d0 <get_first_losing_move_4+0x60c0>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     71e6 <get_first_losing_move_4+0x60d6>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7208 <get_first_losing_move_4+0x60f8>
xor    %eax,%eax
mov    %eax,-0x5cc(%rbp)
jmp    7219 <get_first_losing_move_4+0x6109>
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    723d <get_first_losing_move_4+0x612d>
xor    %eax,%eax
mov    %eax,-0x5d0(%rbp)
jmp    724e <get_first_losing_move_4+0x613e>
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    727a <get_first_losing_move_4+0x616a>
xor    %eax,%eax
mov    %eax,-0x5d4(%rbp)
jmp    728b <get_first_losing_move_4+0x617b>
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    72af <get_first_losing_move_4+0x619f>
xor    %eax,%eax
mov    %eax,-0x5d8(%rbp)
jmp    72c0 <get_first_losing_move_4+0x61b0>
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    72ec <get_first_losing_move_4+0x61dc>
xor    %eax,%eax
mov    %eax,-0x5dc(%rbp)
jmp    72fd <get_first_losing_move_4+0x61ed>
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    7321 <get_first_losing_move_4+0x6211>
xor    %eax,%eax
mov    %eax,-0x5e0(%rbp)
jmp    7332 <get_first_losing_move_4+0x6222>
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    735e <get_first_losing_move_4+0x624e>
xor    %eax,%eax
mov    %eax,-0x5e4(%rbp)
jmp    736f <get_first_losing_move_4+0x625f>
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    7393 <get_first_losing_move_4+0x6283>
xor    %eax,%eax
mov    %eax,-0x5e8(%rbp)
jmp    73a4 <get_first_losing_move_4+0x6294>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x5e8(%rbp)
mov    -0x5e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    77af <get_first_losing_move_4+0x669f>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    73dd <get_first_losing_move_4+0x62cd>
xor    %eax,%eax
mov    %eax,-0x5ec(%rbp)
jmp    73ee <get_first_losing_move_4+0x62de>
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    7412 <get_first_losing_move_4+0x6302>
xor    %eax,%eax
mov    %eax,-0x5f0(%rbp)
jmp    7423 <get_first_losing_move_4+0x6313>
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    744f <get_first_losing_move_4+0x633f>
xor    %eax,%eax
mov    %eax,-0x5f4(%rbp)
jmp    7460 <get_first_losing_move_4+0x6350>
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    7484 <get_first_losing_move_4+0x6374>
xor    %eax,%eax
mov    %eax,-0x5f8(%rbp)
jmp    7495 <get_first_losing_move_4+0x6385>
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    74c1 <get_first_losing_move_4+0x63b1>
xor    %eax,%eax
mov    %eax,-0x5fc(%rbp)
jmp    74d2 <get_first_losing_move_4+0x63c2>
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    74f6 <get_first_losing_move_4+0x63e6>
xor    %eax,%eax
mov    %eax,-0x600(%rbp)
jmp    7507 <get_first_losing_move_4+0x63f7>
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    7533 <get_first_losing_move_4+0x6423>
xor    %eax,%eax
mov    %eax,-0x604(%rbp)
jmp    7544 <get_first_losing_move_4+0x6434>
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    7568 <get_first_losing_move_4+0x6458>
xor    %eax,%eax
mov    %eax,-0x608(%rbp)
jmp    7579 <get_first_losing_move_4+0x6469>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    75d1 <get_first_losing_move_4+0x64c1>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     75e7 <get_first_losing_move_4+0x64d7>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7609 <get_first_losing_move_4+0x64f9>
xor    %eax,%eax
mov    %eax,-0x60c(%rbp)
jmp    761a <get_first_losing_move_4+0x650a>
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    763e <get_first_losing_move_4+0x652e>
xor    %eax,%eax
mov    %eax,-0x610(%rbp)
jmp    764f <get_first_losing_move_4+0x653f>
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    767b <get_first_losing_move_4+0x656b>
xor    %eax,%eax
mov    %eax,-0x614(%rbp)
jmp    768c <get_first_losing_move_4+0x657c>
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    76b0 <get_first_losing_move_4+0x65a0>
xor    %eax,%eax
mov    %eax,-0x618(%rbp)
jmp    76c1 <get_first_losing_move_4+0x65b1>
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    76ed <get_first_losing_move_4+0x65dd>
xor    %eax,%eax
mov    %eax,-0x61c(%rbp)
jmp    76fe <get_first_losing_move_4+0x65ee>
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    7722 <get_first_losing_move_4+0x6612>
xor    %eax,%eax
mov    %eax,-0x620(%rbp)
jmp    7733 <get_first_losing_move_4+0x6623>
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    775f <get_first_losing_move_4+0x664f>
xor    %eax,%eax
mov    %eax,-0x624(%rbp)
jmp    7770 <get_first_losing_move_4+0x6660>
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    7794 <get_first_losing_move_4+0x6684>
xor    %eax,%eax
mov    %eax,-0x628(%rbp)
jmp    77a5 <get_first_losing_move_4+0x6695>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x628(%rbp)
mov    -0x628(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    77b4 <get_first_losing_move_4+0x66a4>
mov    -0x12(%rbp),%ax
mov    %ax,-0x4(%rbp)
jmp    77c1 <get_first_losing_move_4+0x66b1>
jmp    16bd6 <get_first_losing_move_4+0x15ac6>
movswl -0x18(%rbp),%eax
cmp    $0x8,%eax
jne    8491 <get_first_losing_move_4+0x7381>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     848c <get_first_losing_move_4+0x737c>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    848c <get_first_losing_move_4+0x737c>
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     8487 <get_first_losing_move_4+0x7377>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     8487 <get_first_losing_move_4+0x7377>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     8487 <get_first_losing_move_4+0x7377>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     8487 <get_first_losing_move_4+0x7377>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     8487 <get_first_losing_move_4+0x7377>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    7c6f <get_first_losing_move_4+0x6b5f>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7890 <get_first_losing_move_4+0x6780>
xor    %eax,%eax
mov    %eax,-0x62c(%rbp)
jmp    78a1 <get_first_losing_move_4+0x6791>
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    78c5 <get_first_losing_move_4+0x67b5>
xor    %eax,%eax
mov    %eax,-0x630(%rbp)
jmp    78d6 <get_first_losing_move_4+0x67c6>
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    7902 <get_first_losing_move_4+0x67f2>
xor    %eax,%eax
mov    %eax,-0x634(%rbp)
jmp    7913 <get_first_losing_move_4+0x6803>
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    7937 <get_first_losing_move_4+0x6827>
xor    %eax,%eax
mov    %eax,-0x638(%rbp)
jmp    7948 <get_first_losing_move_4+0x6838>
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    7974 <get_first_losing_move_4+0x6864>
xor    %eax,%eax
mov    %eax,-0x63c(%rbp)
jmp    7985 <get_first_losing_move_4+0x6875>
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    79a9 <get_first_losing_move_4+0x6899>
xor    %eax,%eax
mov    %eax,-0x640(%rbp)
jmp    79ba <get_first_losing_move_4+0x68aa>
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    79e6 <get_first_losing_move_4+0x68d6>
xor    %eax,%eax
mov    %eax,-0x644(%rbp)
jmp    79f7 <get_first_losing_move_4+0x68e7>
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    7a1b <get_first_losing_move_4+0x690b>
xor    %eax,%eax
mov    %eax,-0x648(%rbp)
jmp    7a2c <get_first_losing_move_4+0x691c>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    7a84 <get_first_losing_move_4+0x6974>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     7a9a <get_first_losing_move_4+0x698a>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7abc <get_first_losing_move_4+0x69ac>
xor    %eax,%eax
mov    %eax,-0x64c(%rbp)
jmp    7acd <get_first_losing_move_4+0x69bd>
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    7af1 <get_first_losing_move_4+0x69e1>
xor    %eax,%eax
mov    %eax,-0x650(%rbp)
jmp    7b02 <get_first_losing_move_4+0x69f2>
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    7b2e <get_first_losing_move_4+0x6a1e>
xor    %eax,%eax
mov    %eax,-0x654(%rbp)
jmp    7b3f <get_first_losing_move_4+0x6a2f>
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    7b63 <get_first_losing_move_4+0x6a53>
xor    %eax,%eax
mov    %eax,-0x658(%rbp)
jmp    7b74 <get_first_losing_move_4+0x6a64>
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    7ba0 <get_first_losing_move_4+0x6a90>
xor    %eax,%eax
mov    %eax,-0x65c(%rbp)
jmp    7bb1 <get_first_losing_move_4+0x6aa1>
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    7bd5 <get_first_losing_move_4+0x6ac5>
xor    %eax,%eax
mov    %eax,-0x660(%rbp)
jmp    7be6 <get_first_losing_move_4+0x6ad6>
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    7c12 <get_first_losing_move_4+0x6b02>
xor    %eax,%eax
mov    %eax,-0x664(%rbp)
jmp    7c23 <get_first_losing_move_4+0x6b13>
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    7c47 <get_first_losing_move_4+0x6b37>
xor    %eax,%eax
mov    %eax,-0x668(%rbp)
jmp    7c58 <get_first_losing_move_4+0x6b48>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x668(%rbp)
mov    -0x668(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    847f <get_first_losing_move_4+0x736f>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    8086 <get_first_losing_move_4+0x6f76>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7ca7 <get_first_losing_move_4+0x6b97>
xor    %eax,%eax
mov    %eax,-0x66c(%rbp)
jmp    7cb8 <get_first_losing_move_4+0x6ba8>
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    7cdc <get_first_losing_move_4+0x6bcc>
xor    %eax,%eax
mov    %eax,-0x670(%rbp)
jmp    7ced <get_first_losing_move_4+0x6bdd>
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    7d19 <get_first_losing_move_4+0x6c09>
xor    %eax,%eax
mov    %eax,-0x674(%rbp)
jmp    7d2a <get_first_losing_move_4+0x6c1a>
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    7d4e <get_first_losing_move_4+0x6c3e>
xor    %eax,%eax
mov    %eax,-0x678(%rbp)
jmp    7d5f <get_first_losing_move_4+0x6c4f>
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    7d8b <get_first_losing_move_4+0x6c7b>
xor    %eax,%eax
mov    %eax,-0x67c(%rbp)
jmp    7d9c <get_first_losing_move_4+0x6c8c>
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    7dc0 <get_first_losing_move_4+0x6cb0>
xor    %eax,%eax
mov    %eax,-0x680(%rbp)
jmp    7dd1 <get_first_losing_move_4+0x6cc1>
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    7dfd <get_first_losing_move_4+0x6ced>
xor    %eax,%eax
mov    %eax,-0x684(%rbp)
jmp    7e0e <get_first_losing_move_4+0x6cfe>
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    7e32 <get_first_losing_move_4+0x6d22>
xor    %eax,%eax
mov    %eax,-0x688(%rbp)
jmp    7e43 <get_first_losing_move_4+0x6d33>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    7e9b <get_first_losing_move_4+0x6d8b>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     7eb1 <get_first_losing_move_4+0x6da1>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    7ed3 <get_first_losing_move_4+0x6dc3>
xor    %eax,%eax
mov    %eax,-0x68c(%rbp)
jmp    7ee4 <get_first_losing_move_4+0x6dd4>
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    7f08 <get_first_losing_move_4+0x6df8>
xor    %eax,%eax
mov    %eax,-0x690(%rbp)
jmp    7f19 <get_first_losing_move_4+0x6e09>
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    7f45 <get_first_losing_move_4+0x6e35>
xor    %eax,%eax
mov    %eax,-0x694(%rbp)
jmp    7f56 <get_first_losing_move_4+0x6e46>
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    7f7a <get_first_losing_move_4+0x6e6a>
xor    %eax,%eax
mov    %eax,-0x698(%rbp)
jmp    7f8b <get_first_losing_move_4+0x6e7b>
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    7fb7 <get_first_losing_move_4+0x6ea7>
xor    %eax,%eax
mov    %eax,-0x69c(%rbp)
jmp    7fc8 <get_first_losing_move_4+0x6eb8>
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    7fec <get_first_losing_move_4+0x6edc>
xor    %eax,%eax
mov    %eax,-0x6a0(%rbp)
jmp    7ffd <get_first_losing_move_4+0x6eed>
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    8029 <get_first_losing_move_4+0x6f19>
xor    %eax,%eax
mov    %eax,-0x6a4(%rbp)
jmp    803a <get_first_losing_move_4+0x6f2a>
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    805e <get_first_losing_move_4+0x6f4e>
xor    %eax,%eax
mov    %eax,-0x6a8(%rbp)
jmp    806f <get_first_losing_move_4+0x6f5f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6a8(%rbp)
mov    -0x6a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    847a <get_first_losing_move_4+0x736a>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    80a8 <get_first_losing_move_4+0x6f98>
xor    %eax,%eax
mov    %eax,-0x6ac(%rbp)
jmp    80b9 <get_first_losing_move_4+0x6fa9>
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    80dd <get_first_losing_move_4+0x6fcd>
xor    %eax,%eax
mov    %eax,-0x6b0(%rbp)
jmp    80ee <get_first_losing_move_4+0x6fde>
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    811a <get_first_losing_move_4+0x700a>
xor    %eax,%eax
mov    %eax,-0x6b4(%rbp)
jmp    812b <get_first_losing_move_4+0x701b>
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    814f <get_first_losing_move_4+0x703f>
xor    %eax,%eax
mov    %eax,-0x6b8(%rbp)
jmp    8160 <get_first_losing_move_4+0x7050>
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    818c <get_first_losing_move_4+0x707c>
xor    %eax,%eax
mov    %eax,-0x6bc(%rbp)
jmp    819d <get_first_losing_move_4+0x708d>
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    81c1 <get_first_losing_move_4+0x70b1>
xor    %eax,%eax
mov    %eax,-0x6c0(%rbp)
jmp    81d2 <get_first_losing_move_4+0x70c2>
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    81fe <get_first_losing_move_4+0x70ee>
xor    %eax,%eax
mov    %eax,-0x6c4(%rbp)
jmp    820f <get_first_losing_move_4+0x70ff>
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    8233 <get_first_losing_move_4+0x7123>
xor    %eax,%eax
mov    %eax,-0x6c8(%rbp)
jmp    8244 <get_first_losing_move_4+0x7134>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    829c <get_first_losing_move_4+0x718c>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     82b2 <get_first_losing_move_4+0x71a2>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    82d4 <get_first_losing_move_4+0x71c4>
xor    %eax,%eax
mov    %eax,-0x6cc(%rbp)
jmp    82e5 <get_first_losing_move_4+0x71d5>
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    8309 <get_first_losing_move_4+0x71f9>
xor    %eax,%eax
mov    %eax,-0x6d0(%rbp)
jmp    831a <get_first_losing_move_4+0x720a>
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    8346 <get_first_losing_move_4+0x7236>
xor    %eax,%eax
mov    %eax,-0x6d4(%rbp)
jmp    8357 <get_first_losing_move_4+0x7247>
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    837b <get_first_losing_move_4+0x726b>
xor    %eax,%eax
mov    %eax,-0x6d8(%rbp)
jmp    838c <get_first_losing_move_4+0x727c>
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    83b8 <get_first_losing_move_4+0x72a8>
xor    %eax,%eax
mov    %eax,-0x6dc(%rbp)
jmp    83c9 <get_first_losing_move_4+0x72b9>
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    83ed <get_first_losing_move_4+0x72dd>
xor    %eax,%eax
mov    %eax,-0x6e0(%rbp)
jmp    83fe <get_first_losing_move_4+0x72ee>
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    842a <get_first_losing_move_4+0x731a>
xor    %eax,%eax
mov    %eax,-0x6e4(%rbp)
jmp    843b <get_first_losing_move_4+0x732b>
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    845f <get_first_losing_move_4+0x734f>
xor    %eax,%eax
mov    %eax,-0x6e8(%rbp)
jmp    8470 <get_first_losing_move_4+0x7360>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x6e8(%rbp)
mov    -0x6e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    847f <get_first_losing_move_4+0x736f>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    848c <get_first_losing_move_4+0x737c>
jmp    16bd1 <get_first_losing_move_4+0x15ac1>
movswl -0x18(%rbp),%eax
cmp    $0x9,%eax
jne    9171 <get_first_losing_move_4+0x8061>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     916c <get_first_losing_move_4+0x805c>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    916c <get_first_losing_move_4+0x805c>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     916c <get_first_losing_move_4+0x805c>
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     9167 <get_first_losing_move_4+0x8057>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     9167 <get_first_losing_move_4+0x8057>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     9167 <get_first_losing_move_4+0x8057>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     9167 <get_first_losing_move_4+0x8057>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     9167 <get_first_losing_move_4+0x8057>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    894f <get_first_losing_move_4+0x783f>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8570 <get_first_losing_move_4+0x7460>
xor    %eax,%eax
mov    %eax,-0x6ec(%rbp)
jmp    8581 <get_first_losing_move_4+0x7471>
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    85a5 <get_first_losing_move_4+0x7495>
xor    %eax,%eax
mov    %eax,-0x6f0(%rbp)
jmp    85b6 <get_first_losing_move_4+0x74a6>
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    85e2 <get_first_losing_move_4+0x74d2>
xor    %eax,%eax
mov    %eax,-0x6f4(%rbp)
jmp    85f3 <get_first_losing_move_4+0x74e3>
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    8617 <get_first_losing_move_4+0x7507>
xor    %eax,%eax
mov    %eax,-0x6f8(%rbp)
jmp    8628 <get_first_losing_move_4+0x7518>
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    8654 <get_first_losing_move_4+0x7544>
xor    %eax,%eax
mov    %eax,-0x6fc(%rbp)
jmp    8665 <get_first_losing_move_4+0x7555>
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    8689 <get_first_losing_move_4+0x7579>
xor    %eax,%eax
mov    %eax,-0x700(%rbp)
jmp    869a <get_first_losing_move_4+0x758a>
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    86c6 <get_first_losing_move_4+0x75b6>
xor    %eax,%eax
mov    %eax,-0x704(%rbp)
jmp    86d7 <get_first_losing_move_4+0x75c7>
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    86fb <get_first_losing_move_4+0x75eb>
xor    %eax,%eax
mov    %eax,-0x708(%rbp)
jmp    870c <get_first_losing_move_4+0x75fc>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    8764 <get_first_losing_move_4+0x7654>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     877a <get_first_losing_move_4+0x766a>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    879c <get_first_losing_move_4+0x768c>
xor    %eax,%eax
mov    %eax,-0x70c(%rbp)
jmp    87ad <get_first_losing_move_4+0x769d>
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    87d1 <get_first_losing_move_4+0x76c1>
xor    %eax,%eax
mov    %eax,-0x710(%rbp)
jmp    87e2 <get_first_losing_move_4+0x76d2>
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    880e <get_first_losing_move_4+0x76fe>
xor    %eax,%eax
mov    %eax,-0x714(%rbp)
jmp    881f <get_first_losing_move_4+0x770f>
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    8843 <get_first_losing_move_4+0x7733>
xor    %eax,%eax
mov    %eax,-0x718(%rbp)
jmp    8854 <get_first_losing_move_4+0x7744>
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    8880 <get_first_losing_move_4+0x7770>
xor    %eax,%eax
mov    %eax,-0x71c(%rbp)
jmp    8891 <get_first_losing_move_4+0x7781>
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    88b5 <get_first_losing_move_4+0x77a5>
xor    %eax,%eax
mov    %eax,-0x720(%rbp)
jmp    88c6 <get_first_losing_move_4+0x77b6>
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    88f2 <get_first_losing_move_4+0x77e2>
xor    %eax,%eax
mov    %eax,-0x724(%rbp)
jmp    8903 <get_first_losing_move_4+0x77f3>
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    8927 <get_first_losing_move_4+0x7817>
xor    %eax,%eax
mov    %eax,-0x728(%rbp)
jmp    8938 <get_first_losing_move_4+0x7828>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x728(%rbp)
mov    -0x728(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    915f <get_first_losing_move_4+0x804f>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    8d66 <get_first_losing_move_4+0x7c56>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8987 <get_first_losing_move_4+0x7877>
xor    %eax,%eax
mov    %eax,-0x72c(%rbp)
jmp    8998 <get_first_losing_move_4+0x7888>
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    89bc <get_first_losing_move_4+0x78ac>
xor    %eax,%eax
mov    %eax,-0x730(%rbp)
jmp    89cd <get_first_losing_move_4+0x78bd>
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    89f9 <get_first_losing_move_4+0x78e9>
xor    %eax,%eax
mov    %eax,-0x734(%rbp)
jmp    8a0a <get_first_losing_move_4+0x78fa>
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    8a2e <get_first_losing_move_4+0x791e>
xor    %eax,%eax
mov    %eax,-0x738(%rbp)
jmp    8a3f <get_first_losing_move_4+0x792f>
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    8a6b <get_first_losing_move_4+0x795b>
xor    %eax,%eax
mov    %eax,-0x73c(%rbp)
jmp    8a7c <get_first_losing_move_4+0x796c>
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    8aa0 <get_first_losing_move_4+0x7990>
xor    %eax,%eax
mov    %eax,-0x740(%rbp)
jmp    8ab1 <get_first_losing_move_4+0x79a1>
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    8add <get_first_losing_move_4+0x79cd>
xor    %eax,%eax
mov    %eax,-0x744(%rbp)
jmp    8aee <get_first_losing_move_4+0x79de>
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    8b12 <get_first_losing_move_4+0x7a02>
xor    %eax,%eax
mov    %eax,-0x748(%rbp)
jmp    8b23 <get_first_losing_move_4+0x7a13>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    8b7b <get_first_losing_move_4+0x7a6b>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     8b91 <get_first_losing_move_4+0x7a81>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8bb3 <get_first_losing_move_4+0x7aa3>
xor    %eax,%eax
mov    %eax,-0x74c(%rbp)
jmp    8bc4 <get_first_losing_move_4+0x7ab4>
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    8be8 <get_first_losing_move_4+0x7ad8>
xor    %eax,%eax
mov    %eax,-0x750(%rbp)
jmp    8bf9 <get_first_losing_move_4+0x7ae9>
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    8c25 <get_first_losing_move_4+0x7b15>
xor    %eax,%eax
mov    %eax,-0x754(%rbp)
jmp    8c36 <get_first_losing_move_4+0x7b26>
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    8c5a <get_first_losing_move_4+0x7b4a>
xor    %eax,%eax
mov    %eax,-0x758(%rbp)
jmp    8c6b <get_first_losing_move_4+0x7b5b>
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    8c97 <get_first_losing_move_4+0x7b87>
xor    %eax,%eax
mov    %eax,-0x75c(%rbp)
jmp    8ca8 <get_first_losing_move_4+0x7b98>
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    8ccc <get_first_losing_move_4+0x7bbc>
xor    %eax,%eax
mov    %eax,-0x760(%rbp)
jmp    8cdd <get_first_losing_move_4+0x7bcd>
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    8d09 <get_first_losing_move_4+0x7bf9>
xor    %eax,%eax
mov    %eax,-0x764(%rbp)
jmp    8d1a <get_first_losing_move_4+0x7c0a>
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    8d3e <get_first_losing_move_4+0x7c2e>
xor    %eax,%eax
mov    %eax,-0x768(%rbp)
jmp    8d4f <get_first_losing_move_4+0x7c3f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x768(%rbp)
mov    -0x768(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    915a <get_first_losing_move_4+0x804a>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8d88 <get_first_losing_move_4+0x7c78>
xor    %eax,%eax
mov    %eax,-0x76c(%rbp)
jmp    8d99 <get_first_losing_move_4+0x7c89>
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    8dbd <get_first_losing_move_4+0x7cad>
xor    %eax,%eax
mov    %eax,-0x770(%rbp)
jmp    8dce <get_first_losing_move_4+0x7cbe>
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    8dfa <get_first_losing_move_4+0x7cea>
xor    %eax,%eax
mov    %eax,-0x774(%rbp)
jmp    8e0b <get_first_losing_move_4+0x7cfb>
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    8e2f <get_first_losing_move_4+0x7d1f>
xor    %eax,%eax
mov    %eax,-0x778(%rbp)
jmp    8e40 <get_first_losing_move_4+0x7d30>
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    8e6c <get_first_losing_move_4+0x7d5c>
xor    %eax,%eax
mov    %eax,-0x77c(%rbp)
jmp    8e7d <get_first_losing_move_4+0x7d6d>
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    8ea1 <get_first_losing_move_4+0x7d91>
xor    %eax,%eax
mov    %eax,-0x780(%rbp)
jmp    8eb2 <get_first_losing_move_4+0x7da2>
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    8ede <get_first_losing_move_4+0x7dce>
xor    %eax,%eax
mov    %eax,-0x784(%rbp)
jmp    8eef <get_first_losing_move_4+0x7ddf>
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    8f13 <get_first_losing_move_4+0x7e03>
xor    %eax,%eax
mov    %eax,-0x788(%rbp)
jmp    8f24 <get_first_losing_move_4+0x7e14>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    8f7c <get_first_losing_move_4+0x7e6c>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     8f92 <get_first_losing_move_4+0x7e82>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    8fb4 <get_first_losing_move_4+0x7ea4>
xor    %eax,%eax
mov    %eax,-0x78c(%rbp)
jmp    8fc5 <get_first_losing_move_4+0x7eb5>
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    8fe9 <get_first_losing_move_4+0x7ed9>
xor    %eax,%eax
mov    %eax,-0x790(%rbp)
jmp    8ffa <get_first_losing_move_4+0x7eea>
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    9026 <get_first_losing_move_4+0x7f16>
xor    %eax,%eax
mov    %eax,-0x794(%rbp)
jmp    9037 <get_first_losing_move_4+0x7f27>
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    905b <get_first_losing_move_4+0x7f4b>
xor    %eax,%eax
mov    %eax,-0x798(%rbp)
jmp    906c <get_first_losing_move_4+0x7f5c>
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    9098 <get_first_losing_move_4+0x7f88>
xor    %eax,%eax
mov    %eax,-0x79c(%rbp)
jmp    90a9 <get_first_losing_move_4+0x7f99>
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    90cd <get_first_losing_move_4+0x7fbd>
xor    %eax,%eax
mov    %eax,-0x7a0(%rbp)
jmp    90de <get_first_losing_move_4+0x7fce>
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    910a <get_first_losing_move_4+0x7ffa>
xor    %eax,%eax
mov    %eax,-0x7a4(%rbp)
jmp    911b <get_first_losing_move_4+0x800b>
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    913f <get_first_losing_move_4+0x802f>
xor    %eax,%eax
mov    %eax,-0x7a8(%rbp)
jmp    9150 <get_first_losing_move_4+0x8040>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7a8(%rbp)
mov    -0x7a8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    915f <get_first_losing_move_4+0x804f>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    916c <get_first_losing_move_4+0x805c>
jmp    16bcc <get_first_losing_move_4+0x15abc>
movswl -0x18(%rbp),%eax
cmp    $0xa,%eax
jne    9e44 <get_first_losing_move_4+0x8d34>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     9e3f <get_first_losing_move_4+0x8d2f>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     9e3f <get_first_losing_move_4+0x8d2f>
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     9e3a <get_first_losing_move_4+0x8d2a>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     9e3a <get_first_losing_move_4+0x8d2a>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     9e3a <get_first_losing_move_4+0x8d2a>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     9e3a <get_first_losing_move_4+0x8d2a>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     9e3a <get_first_losing_move_4+0x8d2a>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    9622 <get_first_losing_move_4+0x8512>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9243 <get_first_losing_move_4+0x8133>
xor    %eax,%eax
mov    %eax,-0x7ac(%rbp)
jmp    9254 <get_first_losing_move_4+0x8144>
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    9278 <get_first_losing_move_4+0x8168>
xor    %eax,%eax
mov    %eax,-0x7b0(%rbp)
jmp    9289 <get_first_losing_move_4+0x8179>
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    92b5 <get_first_losing_move_4+0x81a5>
xor    %eax,%eax
mov    %eax,-0x7b4(%rbp)
jmp    92c6 <get_first_losing_move_4+0x81b6>
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    92ea <get_first_losing_move_4+0x81da>
xor    %eax,%eax
mov    %eax,-0x7b8(%rbp)
jmp    92fb <get_first_losing_move_4+0x81eb>
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    9327 <get_first_losing_move_4+0x8217>
xor    %eax,%eax
mov    %eax,-0x7bc(%rbp)
jmp    9338 <get_first_losing_move_4+0x8228>
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    935c <get_first_losing_move_4+0x824c>
xor    %eax,%eax
mov    %eax,-0x7c0(%rbp)
jmp    936d <get_first_losing_move_4+0x825d>
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    9399 <get_first_losing_move_4+0x8289>
xor    %eax,%eax
mov    %eax,-0x7c4(%rbp)
jmp    93aa <get_first_losing_move_4+0x829a>
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    93ce <get_first_losing_move_4+0x82be>
xor    %eax,%eax
mov    %eax,-0x7c8(%rbp)
jmp    93df <get_first_losing_move_4+0x82cf>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    9437 <get_first_losing_move_4+0x8327>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     944d <get_first_losing_move_4+0x833d>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    946f <get_first_losing_move_4+0x835f>
xor    %eax,%eax
mov    %eax,-0x7cc(%rbp)
jmp    9480 <get_first_losing_move_4+0x8370>
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    94a4 <get_first_losing_move_4+0x8394>
xor    %eax,%eax
mov    %eax,-0x7d0(%rbp)
jmp    94b5 <get_first_losing_move_4+0x83a5>
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    94e1 <get_first_losing_move_4+0x83d1>
xor    %eax,%eax
mov    %eax,-0x7d4(%rbp)
jmp    94f2 <get_first_losing_move_4+0x83e2>
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    9516 <get_first_losing_move_4+0x8406>
xor    %eax,%eax
mov    %eax,-0x7d8(%rbp)
jmp    9527 <get_first_losing_move_4+0x8417>
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    9553 <get_first_losing_move_4+0x8443>
xor    %eax,%eax
mov    %eax,-0x7dc(%rbp)
jmp    9564 <get_first_losing_move_4+0x8454>
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    9588 <get_first_losing_move_4+0x8478>
xor    %eax,%eax
mov    %eax,-0x7e0(%rbp)
jmp    9599 <get_first_losing_move_4+0x8489>
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    95c5 <get_first_losing_move_4+0x84b5>
xor    %eax,%eax
mov    %eax,-0x7e4(%rbp)
jmp    95d6 <get_first_losing_move_4+0x84c6>
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    95fa <get_first_losing_move_4+0x84ea>
xor    %eax,%eax
mov    %eax,-0x7e8(%rbp)
jmp    960b <get_first_losing_move_4+0x84fb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x7e8(%rbp)
mov    -0x7e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    9e32 <get_first_losing_move_4+0x8d22>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    9a39 <get_first_losing_move_4+0x8929>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    965a <get_first_losing_move_4+0x854a>
xor    %eax,%eax
mov    %eax,-0x7ec(%rbp)
jmp    966b <get_first_losing_move_4+0x855b>
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    968f <get_first_losing_move_4+0x857f>
xor    %eax,%eax
mov    %eax,-0x7f0(%rbp)
jmp    96a0 <get_first_losing_move_4+0x8590>
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    96cc <get_first_losing_move_4+0x85bc>
xor    %eax,%eax
mov    %eax,-0x7f4(%rbp)
jmp    96dd <get_first_losing_move_4+0x85cd>
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    9701 <get_first_losing_move_4+0x85f1>
xor    %eax,%eax
mov    %eax,-0x7f8(%rbp)
jmp    9712 <get_first_losing_move_4+0x8602>
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    973e <get_first_losing_move_4+0x862e>
xor    %eax,%eax
mov    %eax,-0x7fc(%rbp)
jmp    974f <get_first_losing_move_4+0x863f>
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    9773 <get_first_losing_move_4+0x8663>
xor    %eax,%eax
mov    %eax,-0x800(%rbp)
jmp    9784 <get_first_losing_move_4+0x8674>
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    97b0 <get_first_losing_move_4+0x86a0>
xor    %eax,%eax
mov    %eax,-0x804(%rbp)
jmp    97c1 <get_first_losing_move_4+0x86b1>
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    97e5 <get_first_losing_move_4+0x86d5>
xor    %eax,%eax
mov    %eax,-0x808(%rbp)
jmp    97f6 <get_first_losing_move_4+0x86e6>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    984e <get_first_losing_move_4+0x873e>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     9864 <get_first_losing_move_4+0x8754>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9886 <get_first_losing_move_4+0x8776>
xor    %eax,%eax
mov    %eax,-0x80c(%rbp)
jmp    9897 <get_first_losing_move_4+0x8787>
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    98bb <get_first_losing_move_4+0x87ab>
xor    %eax,%eax
mov    %eax,-0x810(%rbp)
jmp    98cc <get_first_losing_move_4+0x87bc>
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    98f8 <get_first_losing_move_4+0x87e8>
xor    %eax,%eax
mov    %eax,-0x814(%rbp)
jmp    9909 <get_first_losing_move_4+0x87f9>
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    992d <get_first_losing_move_4+0x881d>
xor    %eax,%eax
mov    %eax,-0x818(%rbp)
jmp    993e <get_first_losing_move_4+0x882e>
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    996a <get_first_losing_move_4+0x885a>
xor    %eax,%eax
mov    %eax,-0x81c(%rbp)
jmp    997b <get_first_losing_move_4+0x886b>
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    999f <get_first_losing_move_4+0x888f>
xor    %eax,%eax
mov    %eax,-0x820(%rbp)
jmp    99b0 <get_first_losing_move_4+0x88a0>
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    99dc <get_first_losing_move_4+0x88cc>
xor    %eax,%eax
mov    %eax,-0x824(%rbp)
jmp    99ed <get_first_losing_move_4+0x88dd>
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    9a11 <get_first_losing_move_4+0x8901>
xor    %eax,%eax
mov    %eax,-0x828(%rbp)
jmp    9a22 <get_first_losing_move_4+0x8912>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x828(%rbp)
mov    -0x828(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    9e2d <get_first_losing_move_4+0x8d1d>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9a5b <get_first_losing_move_4+0x894b>
xor    %eax,%eax
mov    %eax,-0x82c(%rbp)
jmp    9a6c <get_first_losing_move_4+0x895c>
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    9a90 <get_first_losing_move_4+0x8980>
xor    %eax,%eax
mov    %eax,-0x830(%rbp)
jmp    9aa1 <get_first_losing_move_4+0x8991>
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    9acd <get_first_losing_move_4+0x89bd>
xor    %eax,%eax
mov    %eax,-0x834(%rbp)
jmp    9ade <get_first_losing_move_4+0x89ce>
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    9b02 <get_first_losing_move_4+0x89f2>
xor    %eax,%eax
mov    %eax,-0x838(%rbp)
jmp    9b13 <get_first_losing_move_4+0x8a03>
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    9b3f <get_first_losing_move_4+0x8a2f>
xor    %eax,%eax
mov    %eax,-0x83c(%rbp)
jmp    9b50 <get_first_losing_move_4+0x8a40>
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    9b74 <get_first_losing_move_4+0x8a64>
xor    %eax,%eax
mov    %eax,-0x840(%rbp)
jmp    9b85 <get_first_losing_move_4+0x8a75>
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    9bb1 <get_first_losing_move_4+0x8aa1>
xor    %eax,%eax
mov    %eax,-0x844(%rbp)
jmp    9bc2 <get_first_losing_move_4+0x8ab2>
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    9be6 <get_first_losing_move_4+0x8ad6>
xor    %eax,%eax
mov    %eax,-0x848(%rbp)
jmp    9bf7 <get_first_losing_move_4+0x8ae7>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    9c4f <get_first_losing_move_4+0x8b3f>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     9c65 <get_first_losing_move_4+0x8b55>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9c87 <get_first_losing_move_4+0x8b77>
xor    %eax,%eax
mov    %eax,-0x84c(%rbp)
jmp    9c98 <get_first_losing_move_4+0x8b88>
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    9cbc <get_first_losing_move_4+0x8bac>
xor    %eax,%eax
mov    %eax,-0x850(%rbp)
jmp    9ccd <get_first_losing_move_4+0x8bbd>
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    9cf9 <get_first_losing_move_4+0x8be9>
xor    %eax,%eax
mov    %eax,-0x854(%rbp)
jmp    9d0a <get_first_losing_move_4+0x8bfa>
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    9d2e <get_first_losing_move_4+0x8c1e>
xor    %eax,%eax
mov    %eax,-0x858(%rbp)
jmp    9d3f <get_first_losing_move_4+0x8c2f>
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    9d6b <get_first_losing_move_4+0x8c5b>
xor    %eax,%eax
mov    %eax,-0x85c(%rbp)
jmp    9d7c <get_first_losing_move_4+0x8c6c>
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    9da0 <get_first_losing_move_4+0x8c90>
xor    %eax,%eax
mov    %eax,-0x860(%rbp)
jmp    9db1 <get_first_losing_move_4+0x8ca1>
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    9ddd <get_first_losing_move_4+0x8ccd>
xor    %eax,%eax
mov    %eax,-0x864(%rbp)
jmp    9dee <get_first_losing_move_4+0x8cde>
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    9e12 <get_first_losing_move_4+0x8d02>
xor    %eax,%eax
mov    %eax,-0x868(%rbp)
jmp    9e23 <get_first_losing_move_4+0x8d13>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x868(%rbp)
mov    -0x868(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    9e32 <get_first_losing_move_4+0x8d22>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    9e3f <get_first_losing_move_4+0x8d2f>
jmp    16bc7 <get_first_losing_move_4+0x15ab7>
movswl -0x18(%rbp),%eax
cmp    $0xb,%eax
jne    ab28 <get_first_losing_move_4+0x9a18>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     ab23 <get_first_losing_move_4+0x9a13>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    ab23 <get_first_losing_move_4+0x9a13>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     ab23 <get_first_losing_move_4+0x9a13>
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     ab1e <get_first_losing_move_4+0x9a0e>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     ab1e <get_first_losing_move_4+0x9a0e>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     ab1e <get_first_losing_move_4+0x9a0e>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     ab1e <get_first_losing_move_4+0x9a0e>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     ab1e <get_first_losing_move_4+0x9a0e>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    a306 <get_first_losing_move_4+0x91f6>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    9f27 <get_first_losing_move_4+0x8e17>
xor    %eax,%eax
mov    %eax,-0x86c(%rbp)
jmp    9f38 <get_first_losing_move_4+0x8e28>
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    9f5c <get_first_losing_move_4+0x8e4c>
xor    %eax,%eax
mov    %eax,-0x870(%rbp)
jmp    9f6d <get_first_losing_move_4+0x8e5d>
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    9f99 <get_first_losing_move_4+0x8e89>
xor    %eax,%eax
mov    %eax,-0x874(%rbp)
jmp    9faa <get_first_losing_move_4+0x8e9a>
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    9fce <get_first_losing_move_4+0x8ebe>
xor    %eax,%eax
mov    %eax,-0x878(%rbp)
jmp    9fdf <get_first_losing_move_4+0x8ecf>
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    a00b <get_first_losing_move_4+0x8efb>
xor    %eax,%eax
mov    %eax,-0x87c(%rbp)
jmp    a01c <get_first_losing_move_4+0x8f0c>
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    a040 <get_first_losing_move_4+0x8f30>
xor    %eax,%eax
mov    %eax,-0x880(%rbp)
jmp    a051 <get_first_losing_move_4+0x8f41>
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    a07d <get_first_losing_move_4+0x8f6d>
xor    %eax,%eax
mov    %eax,-0x884(%rbp)
jmp    a08e <get_first_losing_move_4+0x8f7e>
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    a0b2 <get_first_losing_move_4+0x8fa2>
xor    %eax,%eax
mov    %eax,-0x888(%rbp)
jmp    a0c3 <get_first_losing_move_4+0x8fb3>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    a11b <get_first_losing_move_4+0x900b>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     a131 <get_first_losing_move_4+0x9021>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a153 <get_first_losing_move_4+0x9043>
xor    %eax,%eax
mov    %eax,-0x88c(%rbp)
jmp    a164 <get_first_losing_move_4+0x9054>
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    a188 <get_first_losing_move_4+0x9078>
xor    %eax,%eax
mov    %eax,-0x890(%rbp)
jmp    a199 <get_first_losing_move_4+0x9089>
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    a1c5 <get_first_losing_move_4+0x90b5>
xor    %eax,%eax
mov    %eax,-0x894(%rbp)
jmp    a1d6 <get_first_losing_move_4+0x90c6>
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    a1fa <get_first_losing_move_4+0x90ea>
xor    %eax,%eax
mov    %eax,-0x898(%rbp)
jmp    a20b <get_first_losing_move_4+0x90fb>
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    a237 <get_first_losing_move_4+0x9127>
xor    %eax,%eax
mov    %eax,-0x89c(%rbp)
jmp    a248 <get_first_losing_move_4+0x9138>
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    a26c <get_first_losing_move_4+0x915c>
xor    %eax,%eax
mov    %eax,-0x8a0(%rbp)
jmp    a27d <get_first_losing_move_4+0x916d>
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    a2a9 <get_first_losing_move_4+0x9199>
xor    %eax,%eax
mov    %eax,-0x8a4(%rbp)
jmp    a2ba <get_first_losing_move_4+0x91aa>
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    a2de <get_first_losing_move_4+0x91ce>
xor    %eax,%eax
mov    %eax,-0x8a8(%rbp)
jmp    a2ef <get_first_losing_move_4+0x91df>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8a8(%rbp)
mov    -0x8a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    ab16 <get_first_losing_move_4+0x9a06>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    a71d <get_first_losing_move_4+0x960d>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a33e <get_first_losing_move_4+0x922e>
xor    %eax,%eax
mov    %eax,-0x8ac(%rbp)
jmp    a34f <get_first_losing_move_4+0x923f>
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    a373 <get_first_losing_move_4+0x9263>
xor    %eax,%eax
mov    %eax,-0x8b0(%rbp)
jmp    a384 <get_first_losing_move_4+0x9274>
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    a3b0 <get_first_losing_move_4+0x92a0>
xor    %eax,%eax
mov    %eax,-0x8b4(%rbp)
jmp    a3c1 <get_first_losing_move_4+0x92b1>
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    a3e5 <get_first_losing_move_4+0x92d5>
xor    %eax,%eax
mov    %eax,-0x8b8(%rbp)
jmp    a3f6 <get_first_losing_move_4+0x92e6>
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    a422 <get_first_losing_move_4+0x9312>
xor    %eax,%eax
mov    %eax,-0x8bc(%rbp)
jmp    a433 <get_first_losing_move_4+0x9323>
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    a457 <get_first_losing_move_4+0x9347>
xor    %eax,%eax
mov    %eax,-0x8c0(%rbp)
jmp    a468 <get_first_losing_move_4+0x9358>
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    a494 <get_first_losing_move_4+0x9384>
xor    %eax,%eax
mov    %eax,-0x8c4(%rbp)
jmp    a4a5 <get_first_losing_move_4+0x9395>
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    a4c9 <get_first_losing_move_4+0x93b9>
xor    %eax,%eax
mov    %eax,-0x8c8(%rbp)
jmp    a4da <get_first_losing_move_4+0x93ca>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    a532 <get_first_losing_move_4+0x9422>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     a548 <get_first_losing_move_4+0x9438>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a56a <get_first_losing_move_4+0x945a>
xor    %eax,%eax
mov    %eax,-0x8cc(%rbp)
jmp    a57b <get_first_losing_move_4+0x946b>
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    a59f <get_first_losing_move_4+0x948f>
xor    %eax,%eax
mov    %eax,-0x8d0(%rbp)
jmp    a5b0 <get_first_losing_move_4+0x94a0>
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    a5dc <get_first_losing_move_4+0x94cc>
xor    %eax,%eax
mov    %eax,-0x8d4(%rbp)
jmp    a5ed <get_first_losing_move_4+0x94dd>
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    a611 <get_first_losing_move_4+0x9501>
xor    %eax,%eax
mov    %eax,-0x8d8(%rbp)
jmp    a622 <get_first_losing_move_4+0x9512>
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    a64e <get_first_losing_move_4+0x953e>
xor    %eax,%eax
mov    %eax,-0x8dc(%rbp)
jmp    a65f <get_first_losing_move_4+0x954f>
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    a683 <get_first_losing_move_4+0x9573>
xor    %eax,%eax
mov    %eax,-0x8e0(%rbp)
jmp    a694 <get_first_losing_move_4+0x9584>
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    a6c0 <get_first_losing_move_4+0x95b0>
xor    %eax,%eax
mov    %eax,-0x8e4(%rbp)
jmp    a6d1 <get_first_losing_move_4+0x95c1>
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    a6f5 <get_first_losing_move_4+0x95e5>
xor    %eax,%eax
mov    %eax,-0x8e8(%rbp)
jmp    a706 <get_first_losing_move_4+0x95f6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x8e8(%rbp)
mov    -0x8e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    ab11 <get_first_losing_move_4+0x9a01>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a73f <get_first_losing_move_4+0x962f>
xor    %eax,%eax
mov    %eax,-0x8ec(%rbp)
jmp    a750 <get_first_losing_move_4+0x9640>
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    a774 <get_first_losing_move_4+0x9664>
xor    %eax,%eax
mov    %eax,-0x8f0(%rbp)
jmp    a785 <get_first_losing_move_4+0x9675>
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    a7b1 <get_first_losing_move_4+0x96a1>
xor    %eax,%eax
mov    %eax,-0x8f4(%rbp)
jmp    a7c2 <get_first_losing_move_4+0x96b2>
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    a7e6 <get_first_losing_move_4+0x96d6>
xor    %eax,%eax
mov    %eax,-0x8f8(%rbp)
jmp    a7f7 <get_first_losing_move_4+0x96e7>
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    a823 <get_first_losing_move_4+0x9713>
xor    %eax,%eax
mov    %eax,-0x8fc(%rbp)
jmp    a834 <get_first_losing_move_4+0x9724>
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    a858 <get_first_losing_move_4+0x9748>
xor    %eax,%eax
mov    %eax,-0x900(%rbp)
jmp    a869 <get_first_losing_move_4+0x9759>
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    a895 <get_first_losing_move_4+0x9785>
xor    %eax,%eax
mov    %eax,-0x904(%rbp)
jmp    a8a6 <get_first_losing_move_4+0x9796>
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    a8ca <get_first_losing_move_4+0x97ba>
xor    %eax,%eax
mov    %eax,-0x908(%rbp)
jmp    a8db <get_first_losing_move_4+0x97cb>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    a933 <get_first_losing_move_4+0x9823>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     a949 <get_first_losing_move_4+0x9839>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    a96b <get_first_losing_move_4+0x985b>
xor    %eax,%eax
mov    %eax,-0x90c(%rbp)
jmp    a97c <get_first_losing_move_4+0x986c>
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    a9a0 <get_first_losing_move_4+0x9890>
xor    %eax,%eax
mov    %eax,-0x910(%rbp)
jmp    a9b1 <get_first_losing_move_4+0x98a1>
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    a9dd <get_first_losing_move_4+0x98cd>
xor    %eax,%eax
mov    %eax,-0x914(%rbp)
jmp    a9ee <get_first_losing_move_4+0x98de>
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    aa12 <get_first_losing_move_4+0x9902>
xor    %eax,%eax
mov    %eax,-0x918(%rbp)
jmp    aa23 <get_first_losing_move_4+0x9913>
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    aa4f <get_first_losing_move_4+0x993f>
xor    %eax,%eax
mov    %eax,-0x91c(%rbp)
jmp    aa60 <get_first_losing_move_4+0x9950>
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    aa84 <get_first_losing_move_4+0x9974>
xor    %eax,%eax
mov    %eax,-0x920(%rbp)
jmp    aa95 <get_first_losing_move_4+0x9985>
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    aac1 <get_first_losing_move_4+0x99b1>
xor    %eax,%eax
mov    %eax,-0x924(%rbp)
jmp    aad2 <get_first_losing_move_4+0x99c2>
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    aaf6 <get_first_losing_move_4+0x99e6>
xor    %eax,%eax
mov    %eax,-0x928(%rbp)
jmp    ab07 <get_first_losing_move_4+0x99f7>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x928(%rbp)
mov    -0x928(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    ab16 <get_first_losing_move_4+0x9a06>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    ab23 <get_first_losing_move_4+0x9a13>
jmp    16bc2 <get_first_losing_move_4+0x15ab2>
movswl -0x18(%rbp),%eax
cmp    $0xc,%eax
jne    b7f7 <get_first_losing_move_4+0xa6e7>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     b7f2 <get_first_losing_move_4+0xa6e2>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    b7f2 <get_first_losing_move_4+0xa6e2>
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     b7ed <get_first_losing_move_4+0xa6dd>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     b7ed <get_first_losing_move_4+0xa6dd>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     b7ed <get_first_losing_move_4+0xa6dd>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     b7ed <get_first_losing_move_4+0xa6dd>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     b7ed <get_first_losing_move_4+0xa6dd>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    afd5 <get_first_losing_move_4+0x9ec5>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    abf6 <get_first_losing_move_4+0x9ae6>
xor    %eax,%eax
mov    %eax,-0x92c(%rbp)
jmp    ac07 <get_first_losing_move_4+0x9af7>
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    ac2b <get_first_losing_move_4+0x9b1b>
xor    %eax,%eax
mov    %eax,-0x930(%rbp)
jmp    ac3c <get_first_losing_move_4+0x9b2c>
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    ac68 <get_first_losing_move_4+0x9b58>
xor    %eax,%eax
mov    %eax,-0x934(%rbp)
jmp    ac79 <get_first_losing_move_4+0x9b69>
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    ac9d <get_first_losing_move_4+0x9b8d>
xor    %eax,%eax
mov    %eax,-0x938(%rbp)
jmp    acae <get_first_losing_move_4+0x9b9e>
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    acda <get_first_losing_move_4+0x9bca>
xor    %eax,%eax
mov    %eax,-0x93c(%rbp)
jmp    aceb <get_first_losing_move_4+0x9bdb>
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    ad0f <get_first_losing_move_4+0x9bff>
xor    %eax,%eax
mov    %eax,-0x940(%rbp)
jmp    ad20 <get_first_losing_move_4+0x9c10>
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    ad4c <get_first_losing_move_4+0x9c3c>
xor    %eax,%eax
mov    %eax,-0x944(%rbp)
jmp    ad5d <get_first_losing_move_4+0x9c4d>
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    ad81 <get_first_losing_move_4+0x9c71>
xor    %eax,%eax
mov    %eax,-0x948(%rbp)
jmp    ad92 <get_first_losing_move_4+0x9c82>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    adea <get_first_losing_move_4+0x9cda>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ae00 <get_first_losing_move_4+0x9cf0>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ae22 <get_first_losing_move_4+0x9d12>
xor    %eax,%eax
mov    %eax,-0x94c(%rbp)
jmp    ae33 <get_first_losing_move_4+0x9d23>
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    ae57 <get_first_losing_move_4+0x9d47>
xor    %eax,%eax
mov    %eax,-0x950(%rbp)
jmp    ae68 <get_first_losing_move_4+0x9d58>
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    ae94 <get_first_losing_move_4+0x9d84>
xor    %eax,%eax
mov    %eax,-0x954(%rbp)
jmp    aea5 <get_first_losing_move_4+0x9d95>
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    aec9 <get_first_losing_move_4+0x9db9>
xor    %eax,%eax
mov    %eax,-0x958(%rbp)
jmp    aeda <get_first_losing_move_4+0x9dca>
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    af06 <get_first_losing_move_4+0x9df6>
xor    %eax,%eax
mov    %eax,-0x95c(%rbp)
jmp    af17 <get_first_losing_move_4+0x9e07>
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    af3b <get_first_losing_move_4+0x9e2b>
xor    %eax,%eax
mov    %eax,-0x960(%rbp)
jmp    af4c <get_first_losing_move_4+0x9e3c>
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    af78 <get_first_losing_move_4+0x9e68>
xor    %eax,%eax
mov    %eax,-0x964(%rbp)
jmp    af89 <get_first_losing_move_4+0x9e79>
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    afad <get_first_losing_move_4+0x9e9d>
xor    %eax,%eax
mov    %eax,-0x968(%rbp)
jmp    afbe <get_first_losing_move_4+0x9eae>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x968(%rbp)
mov    -0x968(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    b7e5 <get_first_losing_move_4+0xa6d5>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    b3ec <get_first_losing_move_4+0xa2dc>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b00d <get_first_losing_move_4+0x9efd>
xor    %eax,%eax
mov    %eax,-0x96c(%rbp)
jmp    b01e <get_first_losing_move_4+0x9f0e>
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    b042 <get_first_losing_move_4+0x9f32>
xor    %eax,%eax
mov    %eax,-0x970(%rbp)
jmp    b053 <get_first_losing_move_4+0x9f43>
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    b07f <get_first_losing_move_4+0x9f6f>
xor    %eax,%eax
mov    %eax,-0x974(%rbp)
jmp    b090 <get_first_losing_move_4+0x9f80>
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    b0b4 <get_first_losing_move_4+0x9fa4>
xor    %eax,%eax
mov    %eax,-0x978(%rbp)
jmp    b0c5 <get_first_losing_move_4+0x9fb5>
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    b0f1 <get_first_losing_move_4+0x9fe1>
xor    %eax,%eax
mov    %eax,-0x97c(%rbp)
jmp    b102 <get_first_losing_move_4+0x9ff2>
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    b126 <get_first_losing_move_4+0xa016>
xor    %eax,%eax
mov    %eax,-0x980(%rbp)
jmp    b137 <get_first_losing_move_4+0xa027>
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    b163 <get_first_losing_move_4+0xa053>
xor    %eax,%eax
mov    %eax,-0x984(%rbp)
jmp    b174 <get_first_losing_move_4+0xa064>
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    b198 <get_first_losing_move_4+0xa088>
xor    %eax,%eax
mov    %eax,-0x988(%rbp)
jmp    b1a9 <get_first_losing_move_4+0xa099>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    b201 <get_first_losing_move_4+0xa0f1>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     b217 <get_first_losing_move_4+0xa107>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b239 <get_first_losing_move_4+0xa129>
xor    %eax,%eax
mov    %eax,-0x98c(%rbp)
jmp    b24a <get_first_losing_move_4+0xa13a>
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    b26e <get_first_losing_move_4+0xa15e>
xor    %eax,%eax
mov    %eax,-0x990(%rbp)
jmp    b27f <get_first_losing_move_4+0xa16f>
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    b2ab <get_first_losing_move_4+0xa19b>
xor    %eax,%eax
mov    %eax,-0x994(%rbp)
jmp    b2bc <get_first_losing_move_4+0xa1ac>
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    b2e0 <get_first_losing_move_4+0xa1d0>
xor    %eax,%eax
mov    %eax,-0x998(%rbp)
jmp    b2f1 <get_first_losing_move_4+0xa1e1>
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    b31d <get_first_losing_move_4+0xa20d>
xor    %eax,%eax
mov    %eax,-0x99c(%rbp)
jmp    b32e <get_first_losing_move_4+0xa21e>
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    b352 <get_first_losing_move_4+0xa242>
xor    %eax,%eax
mov    %eax,-0x9a0(%rbp)
jmp    b363 <get_first_losing_move_4+0xa253>
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    b38f <get_first_losing_move_4+0xa27f>
xor    %eax,%eax
mov    %eax,-0x9a4(%rbp)
jmp    b3a0 <get_first_losing_move_4+0xa290>
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    b3c4 <get_first_losing_move_4+0xa2b4>
xor    %eax,%eax
mov    %eax,-0x9a8(%rbp)
jmp    b3d5 <get_first_losing_move_4+0xa2c5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9a8(%rbp)
mov    -0x9a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    b7e0 <get_first_losing_move_4+0xa6d0>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b40e <get_first_losing_move_4+0xa2fe>
xor    %eax,%eax
mov    %eax,-0x9ac(%rbp)
jmp    b41f <get_first_losing_move_4+0xa30f>
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    b443 <get_first_losing_move_4+0xa333>
xor    %eax,%eax
mov    %eax,-0x9b0(%rbp)
jmp    b454 <get_first_losing_move_4+0xa344>
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    b480 <get_first_losing_move_4+0xa370>
xor    %eax,%eax
mov    %eax,-0x9b4(%rbp)
jmp    b491 <get_first_losing_move_4+0xa381>
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    b4b5 <get_first_losing_move_4+0xa3a5>
xor    %eax,%eax
mov    %eax,-0x9b8(%rbp)
jmp    b4c6 <get_first_losing_move_4+0xa3b6>
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    b4f2 <get_first_losing_move_4+0xa3e2>
xor    %eax,%eax
mov    %eax,-0x9bc(%rbp)
jmp    b503 <get_first_losing_move_4+0xa3f3>
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    b527 <get_first_losing_move_4+0xa417>
xor    %eax,%eax
mov    %eax,-0x9c0(%rbp)
jmp    b538 <get_first_losing_move_4+0xa428>
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    b564 <get_first_losing_move_4+0xa454>
xor    %eax,%eax
mov    %eax,-0x9c4(%rbp)
jmp    b575 <get_first_losing_move_4+0xa465>
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    b599 <get_first_losing_move_4+0xa489>
xor    %eax,%eax
mov    %eax,-0x9c8(%rbp)
jmp    b5aa <get_first_losing_move_4+0xa49a>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    b602 <get_first_losing_move_4+0xa4f2>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     b618 <get_first_losing_move_4+0xa508>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b63a <get_first_losing_move_4+0xa52a>
xor    %eax,%eax
mov    %eax,-0x9cc(%rbp)
jmp    b64b <get_first_losing_move_4+0xa53b>
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    b66f <get_first_losing_move_4+0xa55f>
xor    %eax,%eax
mov    %eax,-0x9d0(%rbp)
jmp    b680 <get_first_losing_move_4+0xa570>
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    b6ac <get_first_losing_move_4+0xa59c>
xor    %eax,%eax
mov    %eax,-0x9d4(%rbp)
jmp    b6bd <get_first_losing_move_4+0xa5ad>
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    b6e1 <get_first_losing_move_4+0xa5d1>
xor    %eax,%eax
mov    %eax,-0x9d8(%rbp)
jmp    b6f2 <get_first_losing_move_4+0xa5e2>
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    b71e <get_first_losing_move_4+0xa60e>
xor    %eax,%eax
mov    %eax,-0x9dc(%rbp)
jmp    b72f <get_first_losing_move_4+0xa61f>
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    b753 <get_first_losing_move_4+0xa643>
xor    %eax,%eax
mov    %eax,-0x9e0(%rbp)
jmp    b764 <get_first_losing_move_4+0xa654>
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    b790 <get_first_losing_move_4+0xa680>
xor    %eax,%eax
mov    %eax,-0x9e4(%rbp)
jmp    b7a1 <get_first_losing_move_4+0xa691>
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    b7c5 <get_first_losing_move_4+0xa6b5>
xor    %eax,%eax
mov    %eax,-0x9e8(%rbp)
jmp    b7d6 <get_first_losing_move_4+0xa6c6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x9e8(%rbp)
mov    -0x9e8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    b7e5 <get_first_losing_move_4+0xa6d5>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    b7f2 <get_first_losing_move_4+0xa6e2>
jmp    16bbd <get_first_losing_move_4+0x15aad>
movswl -0x18(%rbp),%eax
cmp    $0xd,%eax
jne    c4db <get_first_losing_move_4+0xb3cb>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     c4d6 <get_first_losing_move_4+0xb3c6>
movswl -0x6(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    c4d6 <get_first_losing_move_4+0xb3c6>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     c4d6 <get_first_losing_move_4+0xb3c6>
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     c4d1 <get_first_losing_move_4+0xb3c1>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     c4d1 <get_first_losing_move_4+0xb3c1>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     c4d1 <get_first_losing_move_4+0xb3c1>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     c4d1 <get_first_losing_move_4+0xb3c1>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     c4d1 <get_first_losing_move_4+0xb3c1>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    bcb9 <get_first_losing_move_4+0xaba9>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    b8da <get_first_losing_move_4+0xa7ca>
xor    %eax,%eax
mov    %eax,-0x9ec(%rbp)
jmp    b8eb <get_first_losing_move_4+0xa7db>
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    b90f <get_first_losing_move_4+0xa7ff>
xor    %eax,%eax
mov    %eax,-0x9f0(%rbp)
jmp    b920 <get_first_losing_move_4+0xa810>
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    b94c <get_first_losing_move_4+0xa83c>
xor    %eax,%eax
mov    %eax,-0x9f4(%rbp)
jmp    b95d <get_first_losing_move_4+0xa84d>
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    b981 <get_first_losing_move_4+0xa871>
xor    %eax,%eax
mov    %eax,-0x9f8(%rbp)
jmp    b992 <get_first_losing_move_4+0xa882>
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    b9be <get_first_losing_move_4+0xa8ae>
xor    %eax,%eax
mov    %eax,-0x9fc(%rbp)
jmp    b9cf <get_first_losing_move_4+0xa8bf>
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    b9f3 <get_first_losing_move_4+0xa8e3>
xor    %eax,%eax
mov    %eax,-0xa00(%rbp)
jmp    ba04 <get_first_losing_move_4+0xa8f4>
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    ba30 <get_first_losing_move_4+0xa920>
xor    %eax,%eax
mov    %eax,-0xa04(%rbp)
jmp    ba41 <get_first_losing_move_4+0xa931>
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    ba65 <get_first_losing_move_4+0xa955>
xor    %eax,%eax
mov    %eax,-0xa08(%rbp)
jmp    ba76 <get_first_losing_move_4+0xa966>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    bace <get_first_losing_move_4+0xa9be>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     bae4 <get_first_losing_move_4+0xa9d4>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bb06 <get_first_losing_move_4+0xa9f6>
xor    %eax,%eax
mov    %eax,-0xa0c(%rbp)
jmp    bb17 <get_first_losing_move_4+0xaa07>
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    bb3b <get_first_losing_move_4+0xaa2b>
xor    %eax,%eax
mov    %eax,-0xa10(%rbp)
jmp    bb4c <get_first_losing_move_4+0xaa3c>
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    bb78 <get_first_losing_move_4+0xaa68>
xor    %eax,%eax
mov    %eax,-0xa14(%rbp)
jmp    bb89 <get_first_losing_move_4+0xaa79>
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    bbad <get_first_losing_move_4+0xaa9d>
xor    %eax,%eax
mov    %eax,-0xa18(%rbp)
jmp    bbbe <get_first_losing_move_4+0xaaae>
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    bbea <get_first_losing_move_4+0xaada>
xor    %eax,%eax
mov    %eax,-0xa1c(%rbp)
jmp    bbfb <get_first_losing_move_4+0xaaeb>
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    bc1f <get_first_losing_move_4+0xab0f>
xor    %eax,%eax
mov    %eax,-0xa20(%rbp)
jmp    bc30 <get_first_losing_move_4+0xab20>
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    bc5c <get_first_losing_move_4+0xab4c>
xor    %eax,%eax
mov    %eax,-0xa24(%rbp)
jmp    bc6d <get_first_losing_move_4+0xab5d>
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    bc91 <get_first_losing_move_4+0xab81>
xor    %eax,%eax
mov    %eax,-0xa28(%rbp)
jmp    bca2 <get_first_losing_move_4+0xab92>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa28(%rbp)
mov    -0xa28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    c4c9 <get_first_losing_move_4+0xb3b9>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    c0d0 <get_first_losing_move_4+0xafc0>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bcf1 <get_first_losing_move_4+0xabe1>
xor    %eax,%eax
mov    %eax,-0xa2c(%rbp)
jmp    bd02 <get_first_losing_move_4+0xabf2>
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    bd26 <get_first_losing_move_4+0xac16>
xor    %eax,%eax
mov    %eax,-0xa30(%rbp)
jmp    bd37 <get_first_losing_move_4+0xac27>
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    bd63 <get_first_losing_move_4+0xac53>
xor    %eax,%eax
mov    %eax,-0xa34(%rbp)
jmp    bd74 <get_first_losing_move_4+0xac64>
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    bd98 <get_first_losing_move_4+0xac88>
xor    %eax,%eax
mov    %eax,-0xa38(%rbp)
jmp    bda9 <get_first_losing_move_4+0xac99>
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    bdd5 <get_first_losing_move_4+0xacc5>
xor    %eax,%eax
mov    %eax,-0xa3c(%rbp)
jmp    bde6 <get_first_losing_move_4+0xacd6>
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    be0a <get_first_losing_move_4+0xacfa>
xor    %eax,%eax
mov    %eax,-0xa40(%rbp)
jmp    be1b <get_first_losing_move_4+0xad0b>
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    be47 <get_first_losing_move_4+0xad37>
xor    %eax,%eax
mov    %eax,-0xa44(%rbp)
jmp    be58 <get_first_losing_move_4+0xad48>
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    be7c <get_first_losing_move_4+0xad6c>
xor    %eax,%eax
mov    %eax,-0xa48(%rbp)
jmp    be8d <get_first_losing_move_4+0xad7d>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    bee5 <get_first_losing_move_4+0xadd5>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     befb <get_first_losing_move_4+0xadeb>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    bf1d <get_first_losing_move_4+0xae0d>
xor    %eax,%eax
mov    %eax,-0xa4c(%rbp)
jmp    bf2e <get_first_losing_move_4+0xae1e>
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    bf52 <get_first_losing_move_4+0xae42>
xor    %eax,%eax
mov    %eax,-0xa50(%rbp)
jmp    bf63 <get_first_losing_move_4+0xae53>
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    bf8f <get_first_losing_move_4+0xae7f>
xor    %eax,%eax
mov    %eax,-0xa54(%rbp)
jmp    bfa0 <get_first_losing_move_4+0xae90>
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    bfc4 <get_first_losing_move_4+0xaeb4>
xor    %eax,%eax
mov    %eax,-0xa58(%rbp)
jmp    bfd5 <get_first_losing_move_4+0xaec5>
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    c001 <get_first_losing_move_4+0xaef1>
xor    %eax,%eax
mov    %eax,-0xa5c(%rbp)
jmp    c012 <get_first_losing_move_4+0xaf02>
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    c036 <get_first_losing_move_4+0xaf26>
xor    %eax,%eax
mov    %eax,-0xa60(%rbp)
jmp    c047 <get_first_losing_move_4+0xaf37>
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    c073 <get_first_losing_move_4+0xaf63>
xor    %eax,%eax
mov    %eax,-0xa64(%rbp)
jmp    c084 <get_first_losing_move_4+0xaf74>
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    c0a8 <get_first_losing_move_4+0xaf98>
xor    %eax,%eax
mov    %eax,-0xa68(%rbp)
jmp    c0b9 <get_first_losing_move_4+0xafa9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xa68(%rbp)
mov    -0xa68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    c4c4 <get_first_losing_move_4+0xb3b4>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c0f2 <get_first_losing_move_4+0xafe2>
xor    %eax,%eax
mov    %eax,-0xa6c(%rbp)
jmp    c103 <get_first_losing_move_4+0xaff3>
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    c127 <get_first_losing_move_4+0xb017>
xor    %eax,%eax
mov    %eax,-0xa70(%rbp)
jmp    c138 <get_first_losing_move_4+0xb028>
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    c164 <get_first_losing_move_4+0xb054>
xor    %eax,%eax
mov    %eax,-0xa74(%rbp)
jmp    c175 <get_first_losing_move_4+0xb065>
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    c199 <get_first_losing_move_4+0xb089>
xor    %eax,%eax
mov    %eax,-0xa78(%rbp)
jmp    c1aa <get_first_losing_move_4+0xb09a>
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    c1d6 <get_first_losing_move_4+0xb0c6>
xor    %eax,%eax
mov    %eax,-0xa7c(%rbp)
jmp    c1e7 <get_first_losing_move_4+0xb0d7>
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    c20b <get_first_losing_move_4+0xb0fb>
xor    %eax,%eax
mov    %eax,-0xa80(%rbp)
jmp    c21c <get_first_losing_move_4+0xb10c>
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    c248 <get_first_losing_move_4+0xb138>
xor    %eax,%eax
mov    %eax,-0xa84(%rbp)
jmp    c259 <get_first_losing_move_4+0xb149>
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    c27d <get_first_losing_move_4+0xb16d>
xor    %eax,%eax
mov    %eax,-0xa88(%rbp)
jmp    c28e <get_first_losing_move_4+0xb17e>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    c2e6 <get_first_losing_move_4+0xb1d6>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     c2fc <get_first_losing_move_4+0xb1ec>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c31e <get_first_losing_move_4+0xb20e>
xor    %eax,%eax
mov    %eax,-0xa8c(%rbp)
jmp    c32f <get_first_losing_move_4+0xb21f>
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    c353 <get_first_losing_move_4+0xb243>
xor    %eax,%eax
mov    %eax,-0xa90(%rbp)
jmp    c364 <get_first_losing_move_4+0xb254>
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    c390 <get_first_losing_move_4+0xb280>
xor    %eax,%eax
mov    %eax,-0xa94(%rbp)
jmp    c3a1 <get_first_losing_move_4+0xb291>
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    c3c5 <get_first_losing_move_4+0xb2b5>
xor    %eax,%eax
mov    %eax,-0xa98(%rbp)
jmp    c3d6 <get_first_losing_move_4+0xb2c6>
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    c402 <get_first_losing_move_4+0xb2f2>
xor    %eax,%eax
mov    %eax,-0xa9c(%rbp)
jmp    c413 <get_first_losing_move_4+0xb303>
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    c437 <get_first_losing_move_4+0xb327>
xor    %eax,%eax
mov    %eax,-0xaa0(%rbp)
jmp    c448 <get_first_losing_move_4+0xb338>
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    c474 <get_first_losing_move_4+0xb364>
xor    %eax,%eax
mov    %eax,-0xaa4(%rbp)
jmp    c485 <get_first_losing_move_4+0xb375>
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    c4a9 <get_first_losing_move_4+0xb399>
xor    %eax,%eax
mov    %eax,-0xaa8(%rbp)
jmp    c4ba <get_first_losing_move_4+0xb3aa>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xaa8(%rbp)
mov    -0xaa8(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    c4c9 <get_first_losing_move_4+0xb3b9>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    c4d6 <get_first_losing_move_4+0xb3c6>
jmp    16bb8 <get_first_losing_move_4+0x15aa8>
movswl -0x18(%rbp),%eax
cmp    $0xe,%eax
jne    d1ae <get_first_losing_move_4+0xc09e>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     d1a9 <get_first_losing_move_4+0xc099>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     d1a9 <get_first_losing_move_4+0xc099>
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     d1a4 <get_first_losing_move_4+0xc094>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     d1a4 <get_first_losing_move_4+0xc094>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     d1a4 <get_first_losing_move_4+0xc094>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     d1a4 <get_first_losing_move_4+0xc094>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     d1a4 <get_first_losing_move_4+0xc094>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    c98c <get_first_losing_move_4+0xb87c>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c5ad <get_first_losing_move_4+0xb49d>
xor    %eax,%eax
mov    %eax,-0xaac(%rbp)
jmp    c5be <get_first_losing_move_4+0xb4ae>
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    c5e2 <get_first_losing_move_4+0xb4d2>
xor    %eax,%eax
mov    %eax,-0xab0(%rbp)
jmp    c5f3 <get_first_losing_move_4+0xb4e3>
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    c61f <get_first_losing_move_4+0xb50f>
xor    %eax,%eax
mov    %eax,-0xab4(%rbp)
jmp    c630 <get_first_losing_move_4+0xb520>
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    c654 <get_first_losing_move_4+0xb544>
xor    %eax,%eax
mov    %eax,-0xab8(%rbp)
jmp    c665 <get_first_losing_move_4+0xb555>
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    c691 <get_first_losing_move_4+0xb581>
xor    %eax,%eax
mov    %eax,-0xabc(%rbp)
jmp    c6a2 <get_first_losing_move_4+0xb592>
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    c6c6 <get_first_losing_move_4+0xb5b6>
xor    %eax,%eax
mov    %eax,-0xac0(%rbp)
jmp    c6d7 <get_first_losing_move_4+0xb5c7>
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    c703 <get_first_losing_move_4+0xb5f3>
xor    %eax,%eax
mov    %eax,-0xac4(%rbp)
jmp    c714 <get_first_losing_move_4+0xb604>
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    c738 <get_first_losing_move_4+0xb628>
xor    %eax,%eax
mov    %eax,-0xac8(%rbp)
jmp    c749 <get_first_losing_move_4+0xb639>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    c7a1 <get_first_losing_move_4+0xb691>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     c7b7 <get_first_losing_move_4+0xb6a7>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c7d9 <get_first_losing_move_4+0xb6c9>
xor    %eax,%eax
mov    %eax,-0xacc(%rbp)
jmp    c7ea <get_first_losing_move_4+0xb6da>
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    c80e <get_first_losing_move_4+0xb6fe>
xor    %eax,%eax
mov    %eax,-0xad0(%rbp)
jmp    c81f <get_first_losing_move_4+0xb70f>
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    c84b <get_first_losing_move_4+0xb73b>
xor    %eax,%eax
mov    %eax,-0xad4(%rbp)
jmp    c85c <get_first_losing_move_4+0xb74c>
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    c880 <get_first_losing_move_4+0xb770>
xor    %eax,%eax
mov    %eax,-0xad8(%rbp)
jmp    c891 <get_first_losing_move_4+0xb781>
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    c8bd <get_first_losing_move_4+0xb7ad>
xor    %eax,%eax
mov    %eax,-0xadc(%rbp)
jmp    c8ce <get_first_losing_move_4+0xb7be>
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    c8f2 <get_first_losing_move_4+0xb7e2>
xor    %eax,%eax
mov    %eax,-0xae0(%rbp)
jmp    c903 <get_first_losing_move_4+0xb7f3>
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    c92f <get_first_losing_move_4+0xb81f>
xor    %eax,%eax
mov    %eax,-0xae4(%rbp)
jmp    c940 <get_first_losing_move_4+0xb830>
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    c964 <get_first_losing_move_4+0xb854>
xor    %eax,%eax
mov    %eax,-0xae8(%rbp)
jmp    c975 <get_first_losing_move_4+0xb865>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xae8(%rbp)
mov    -0xae8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    d19c <get_first_losing_move_4+0xc08c>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    cda3 <get_first_losing_move_4+0xbc93>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    c9c4 <get_first_losing_move_4+0xb8b4>
xor    %eax,%eax
mov    %eax,-0xaec(%rbp)
jmp    c9d5 <get_first_losing_move_4+0xb8c5>
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    c9f9 <get_first_losing_move_4+0xb8e9>
xor    %eax,%eax
mov    %eax,-0xaf0(%rbp)
jmp    ca0a <get_first_losing_move_4+0xb8fa>
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    ca36 <get_first_losing_move_4+0xb926>
xor    %eax,%eax
mov    %eax,-0xaf4(%rbp)
jmp    ca47 <get_first_losing_move_4+0xb937>
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    ca6b <get_first_losing_move_4+0xb95b>
xor    %eax,%eax
mov    %eax,-0xaf8(%rbp)
jmp    ca7c <get_first_losing_move_4+0xb96c>
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    caa8 <get_first_losing_move_4+0xb998>
xor    %eax,%eax
mov    %eax,-0xafc(%rbp)
jmp    cab9 <get_first_losing_move_4+0xb9a9>
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    cadd <get_first_losing_move_4+0xb9cd>
xor    %eax,%eax
mov    %eax,-0xb00(%rbp)
jmp    caee <get_first_losing_move_4+0xb9de>
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    cb1a <get_first_losing_move_4+0xba0a>
xor    %eax,%eax
mov    %eax,-0xb04(%rbp)
jmp    cb2b <get_first_losing_move_4+0xba1b>
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    cb4f <get_first_losing_move_4+0xba3f>
xor    %eax,%eax
mov    %eax,-0xb08(%rbp)
jmp    cb60 <get_first_losing_move_4+0xba50>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    cbb8 <get_first_losing_move_4+0xbaa8>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     cbce <get_first_losing_move_4+0xbabe>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    cbf0 <get_first_losing_move_4+0xbae0>
xor    %eax,%eax
mov    %eax,-0xb0c(%rbp)
jmp    cc01 <get_first_losing_move_4+0xbaf1>
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    cc25 <get_first_losing_move_4+0xbb15>
xor    %eax,%eax
mov    %eax,-0xb10(%rbp)
jmp    cc36 <get_first_losing_move_4+0xbb26>
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    cc62 <get_first_losing_move_4+0xbb52>
xor    %eax,%eax
mov    %eax,-0xb14(%rbp)
jmp    cc73 <get_first_losing_move_4+0xbb63>
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    cc97 <get_first_losing_move_4+0xbb87>
xor    %eax,%eax
mov    %eax,-0xb18(%rbp)
jmp    cca8 <get_first_losing_move_4+0xbb98>
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    ccd4 <get_first_losing_move_4+0xbbc4>
xor    %eax,%eax
mov    %eax,-0xb1c(%rbp)
jmp    cce5 <get_first_losing_move_4+0xbbd5>
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    cd09 <get_first_losing_move_4+0xbbf9>
xor    %eax,%eax
mov    %eax,-0xb20(%rbp)
jmp    cd1a <get_first_losing_move_4+0xbc0a>
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    cd46 <get_first_losing_move_4+0xbc36>
xor    %eax,%eax
mov    %eax,-0xb24(%rbp)
jmp    cd57 <get_first_losing_move_4+0xbc47>
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    cd7b <get_first_losing_move_4+0xbc6b>
xor    %eax,%eax
mov    %eax,-0xb28(%rbp)
jmp    cd8c <get_first_losing_move_4+0xbc7c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb28(%rbp)
mov    -0xb28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    d197 <get_first_losing_move_4+0xc087>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    cdc5 <get_first_losing_move_4+0xbcb5>
xor    %eax,%eax
mov    %eax,-0xb2c(%rbp)
jmp    cdd6 <get_first_losing_move_4+0xbcc6>
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    cdfa <get_first_losing_move_4+0xbcea>
xor    %eax,%eax
mov    %eax,-0xb30(%rbp)
jmp    ce0b <get_first_losing_move_4+0xbcfb>
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    ce37 <get_first_losing_move_4+0xbd27>
xor    %eax,%eax
mov    %eax,-0xb34(%rbp)
jmp    ce48 <get_first_losing_move_4+0xbd38>
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    ce6c <get_first_losing_move_4+0xbd5c>
xor    %eax,%eax
mov    %eax,-0xb38(%rbp)
jmp    ce7d <get_first_losing_move_4+0xbd6d>
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    cea9 <get_first_losing_move_4+0xbd99>
xor    %eax,%eax
mov    %eax,-0xb3c(%rbp)
jmp    ceba <get_first_losing_move_4+0xbdaa>
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    cede <get_first_losing_move_4+0xbdce>
xor    %eax,%eax
mov    %eax,-0xb40(%rbp)
jmp    ceef <get_first_losing_move_4+0xbddf>
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    cf1b <get_first_losing_move_4+0xbe0b>
xor    %eax,%eax
mov    %eax,-0xb44(%rbp)
jmp    cf2c <get_first_losing_move_4+0xbe1c>
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    cf50 <get_first_losing_move_4+0xbe40>
xor    %eax,%eax
mov    %eax,-0xb48(%rbp)
jmp    cf61 <get_first_losing_move_4+0xbe51>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    cfb9 <get_first_losing_move_4+0xbea9>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     cfcf <get_first_losing_move_4+0xbebf>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    cff1 <get_first_losing_move_4+0xbee1>
xor    %eax,%eax
mov    %eax,-0xb4c(%rbp)
jmp    d002 <get_first_losing_move_4+0xbef2>
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    d026 <get_first_losing_move_4+0xbf16>
xor    %eax,%eax
mov    %eax,-0xb50(%rbp)
jmp    d037 <get_first_losing_move_4+0xbf27>
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    d063 <get_first_losing_move_4+0xbf53>
xor    %eax,%eax
mov    %eax,-0xb54(%rbp)
jmp    d074 <get_first_losing_move_4+0xbf64>
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    d098 <get_first_losing_move_4+0xbf88>
xor    %eax,%eax
mov    %eax,-0xb58(%rbp)
jmp    d0a9 <get_first_losing_move_4+0xbf99>
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    d0d5 <get_first_losing_move_4+0xbfc5>
xor    %eax,%eax
mov    %eax,-0xb5c(%rbp)
jmp    d0e6 <get_first_losing_move_4+0xbfd6>
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    d10a <get_first_losing_move_4+0xbffa>
xor    %eax,%eax
mov    %eax,-0xb60(%rbp)
jmp    d11b <get_first_losing_move_4+0xc00b>
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    d147 <get_first_losing_move_4+0xc037>
xor    %eax,%eax
mov    %eax,-0xb64(%rbp)
jmp    d158 <get_first_losing_move_4+0xc048>
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    d17c <get_first_losing_move_4+0xc06c>
xor    %eax,%eax
mov    %eax,-0xb68(%rbp)
jmp    d18d <get_first_losing_move_4+0xc07d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xb68(%rbp)
mov    -0xb68(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    d19c <get_first_losing_move_4+0xc08c>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    d1a9 <get_first_losing_move_4+0xc099>
jmp    16bb3 <get_first_losing_move_4+0x15aa3>
movswl -0x18(%rbp),%eax
cmp    $0xf,%eax
jne    de8e <get_first_losing_move_4+0xcd7e>
movswl -0x6(%rbp),%eax
cmp    $0x0,%eax
je     de89 <get_first_losing_move_4+0xcd79>
movswl -0x6(%rbp),%eax
cmp    $0x15,%eax
jge    de89 <get_first_losing_move_4+0xcd79>
movswl -0x6(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     de89 <get_first_losing_move_4+0xcd79>
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     de84 <get_first_losing_move_4+0xcd74>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     de84 <get_first_losing_move_4+0xcd74>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     de84 <get_first_losing_move_4+0xcd74>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     de84 <get_first_losing_move_4+0xcd74>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     de84 <get_first_losing_move_4+0xcd74>
mov    -0x14(%rbp),%ax
mov    %ax,-0x6(%rbp)
movswl -0xc(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    d66c <get_first_losing_move_4+0xc55c>
movw   $0x0,-0xc(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d28d <get_first_losing_move_4+0xc17d>
xor    %eax,%eax
mov    %eax,-0xb6c(%rbp)
jmp    d29e <get_first_losing_move_4+0xc18e>
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    d2c2 <get_first_losing_move_4+0xc1b2>
xor    %eax,%eax
mov    %eax,-0xb70(%rbp)
jmp    d2d3 <get_first_losing_move_4+0xc1c3>
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    d2ff <get_first_losing_move_4+0xc1ef>
xor    %eax,%eax
mov    %eax,-0xb74(%rbp)
jmp    d310 <get_first_losing_move_4+0xc200>
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    d334 <get_first_losing_move_4+0xc224>
xor    %eax,%eax
mov    %eax,-0xb78(%rbp)
jmp    d345 <get_first_losing_move_4+0xc235>
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    d371 <get_first_losing_move_4+0xc261>
xor    %eax,%eax
mov    %eax,-0xb7c(%rbp)
jmp    d382 <get_first_losing_move_4+0xc272>
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    d3a6 <get_first_losing_move_4+0xc296>
xor    %eax,%eax
mov    %eax,-0xb80(%rbp)
jmp    d3b7 <get_first_losing_move_4+0xc2a7>
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    d3e3 <get_first_losing_move_4+0xc2d3>
xor    %eax,%eax
mov    %eax,-0xb84(%rbp)
jmp    d3f4 <get_first_losing_move_4+0xc2e4>
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    d418 <get_first_losing_move_4+0xc308>
xor    %eax,%eax
mov    %eax,-0xb88(%rbp)
jmp    d429 <get_first_losing_move_4+0xc319>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    d481 <get_first_losing_move_4+0xc371>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     d497 <get_first_losing_move_4+0xc387>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d4b9 <get_first_losing_move_4+0xc3a9>
xor    %eax,%eax
mov    %eax,-0xb8c(%rbp)
jmp    d4ca <get_first_losing_move_4+0xc3ba>
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    d4ee <get_first_losing_move_4+0xc3de>
xor    %eax,%eax
mov    %eax,-0xb90(%rbp)
jmp    d4ff <get_first_losing_move_4+0xc3ef>
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    d52b <get_first_losing_move_4+0xc41b>
xor    %eax,%eax
mov    %eax,-0xb94(%rbp)
jmp    d53c <get_first_losing_move_4+0xc42c>
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    d560 <get_first_losing_move_4+0xc450>
xor    %eax,%eax
mov    %eax,-0xb98(%rbp)
jmp    d571 <get_first_losing_move_4+0xc461>
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    d59d <get_first_losing_move_4+0xc48d>
xor    %eax,%eax
mov    %eax,-0xb9c(%rbp)
jmp    d5ae <get_first_losing_move_4+0xc49e>
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    d5d2 <get_first_losing_move_4+0xc4c2>
xor    %eax,%eax
mov    %eax,-0xba0(%rbp)
jmp    d5e3 <get_first_losing_move_4+0xc4d3>
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    d60f <get_first_losing_move_4+0xc4ff>
xor    %eax,%eax
mov    %eax,-0xba4(%rbp)
jmp    d620 <get_first_losing_move_4+0xc510>
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    d644 <get_first_losing_move_4+0xc534>
xor    %eax,%eax
mov    %eax,-0xba8(%rbp)
jmp    d655 <get_first_losing_move_4+0xc545>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xba8(%rbp)
mov    -0xba8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xc(%rbp)
jmp    de7c <get_first_losing_move_4+0xcd6c>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
jne    da83 <get_first_losing_move_4+0xc973>
movw   $0x0,0x18(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d6a4 <get_first_losing_move_4+0xc594>
xor    %eax,%eax
mov    %eax,-0xbac(%rbp)
jmp    d6b5 <get_first_losing_move_4+0xc5a5>
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    d6d9 <get_first_losing_move_4+0xc5c9>
xor    %eax,%eax
mov    %eax,-0xbb0(%rbp)
jmp    d6ea <get_first_losing_move_4+0xc5da>
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    d716 <get_first_losing_move_4+0xc606>
xor    %eax,%eax
mov    %eax,-0xbb4(%rbp)
jmp    d727 <get_first_losing_move_4+0xc617>
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    d74b <get_first_losing_move_4+0xc63b>
xor    %eax,%eax
mov    %eax,-0xbb8(%rbp)
jmp    d75c <get_first_losing_move_4+0xc64c>
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    d788 <get_first_losing_move_4+0xc678>
xor    %eax,%eax
mov    %eax,-0xbbc(%rbp)
jmp    d799 <get_first_losing_move_4+0xc689>
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    d7bd <get_first_losing_move_4+0xc6ad>
xor    %eax,%eax
mov    %eax,-0xbc0(%rbp)
jmp    d7ce <get_first_losing_move_4+0xc6be>
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    d7fa <get_first_losing_move_4+0xc6ea>
xor    %eax,%eax
mov    %eax,-0xbc4(%rbp)
jmp    d80b <get_first_losing_move_4+0xc6fb>
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    d82f <get_first_losing_move_4+0xc71f>
xor    %eax,%eax
mov    %eax,-0xbc8(%rbp)
jmp    d840 <get_first_losing_move_4+0xc730>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    d898 <get_first_losing_move_4+0xc788>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     d8ae <get_first_losing_move_4+0xc79e>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    d8d0 <get_first_losing_move_4+0xc7c0>
xor    %eax,%eax
mov    %eax,-0xbcc(%rbp)
jmp    d8e1 <get_first_losing_move_4+0xc7d1>
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    d905 <get_first_losing_move_4+0xc7f5>
xor    %eax,%eax
mov    %eax,-0xbd0(%rbp)
jmp    d916 <get_first_losing_move_4+0xc806>
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    d942 <get_first_losing_move_4+0xc832>
xor    %eax,%eax
mov    %eax,-0xbd4(%rbp)
jmp    d953 <get_first_losing_move_4+0xc843>
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    d977 <get_first_losing_move_4+0xc867>
xor    %eax,%eax
mov    %eax,-0xbd8(%rbp)
jmp    d988 <get_first_losing_move_4+0xc878>
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    d9b4 <get_first_losing_move_4+0xc8a4>
xor    %eax,%eax
mov    %eax,-0xbdc(%rbp)
jmp    d9c5 <get_first_losing_move_4+0xc8b5>
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    d9e9 <get_first_losing_move_4+0xc8d9>
xor    %eax,%eax
mov    %eax,-0xbe0(%rbp)
jmp    d9fa <get_first_losing_move_4+0xc8ea>
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    da26 <get_first_losing_move_4+0xc916>
xor    %eax,%eax
mov    %eax,-0xbe4(%rbp)
jmp    da37 <get_first_losing_move_4+0xc927>
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    da5b <get_first_losing_move_4+0xc94b>
xor    %eax,%eax
mov    %eax,-0xbe8(%rbp)
jmp    da6c <get_first_losing_move_4+0xc95c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xbe8(%rbp)
mov    -0xbe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x18(%rbp)
jmp    de77 <get_first_losing_move_4+0xcd67>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    daa5 <get_first_losing_move_4+0xc995>
xor    %eax,%eax
mov    %eax,-0xbec(%rbp)
jmp    dab6 <get_first_losing_move_4+0xc9a6>
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    dada <get_first_losing_move_4+0xc9ca>
xor    %eax,%eax
mov    %eax,-0xbf0(%rbp)
jmp    daeb <get_first_losing_move_4+0xc9db>
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    db17 <get_first_losing_move_4+0xca07>
xor    %eax,%eax
mov    %eax,-0xbf4(%rbp)
jmp    db28 <get_first_losing_move_4+0xca18>
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    db4c <get_first_losing_move_4+0xca3c>
xor    %eax,%eax
mov    %eax,-0xbf8(%rbp)
jmp    db5d <get_first_losing_move_4+0xca4d>
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    db89 <get_first_losing_move_4+0xca79>
xor    %eax,%eax
mov    %eax,-0xbfc(%rbp)
jmp    db9a <get_first_losing_move_4+0xca8a>
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    dbbe <get_first_losing_move_4+0xcaae>
xor    %eax,%eax
mov    %eax,-0xc00(%rbp)
jmp    dbcf <get_first_losing_move_4+0xcabf>
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    dbfb <get_first_losing_move_4+0xcaeb>
xor    %eax,%eax
mov    %eax,-0xc04(%rbp)
jmp    dc0c <get_first_losing_move_4+0xcafc>
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    dc30 <get_first_losing_move_4+0xcb20>
xor    %eax,%eax
mov    %eax,-0xc08(%rbp)
jmp    dc41 <get_first_losing_move_4+0xcb31>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    dc99 <get_first_losing_move_4+0xcb89>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     dcaf <get_first_losing_move_4+0xcb9f>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    dcd1 <get_first_losing_move_4+0xcbc1>
xor    %eax,%eax
mov    %eax,-0xc0c(%rbp)
jmp    dce2 <get_first_losing_move_4+0xcbd2>
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    dd06 <get_first_losing_move_4+0xcbf6>
xor    %eax,%eax
mov    %eax,-0xc10(%rbp)
jmp    dd17 <get_first_losing_move_4+0xcc07>
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    dd43 <get_first_losing_move_4+0xcc33>
xor    %eax,%eax
mov    %eax,-0xc14(%rbp)
jmp    dd54 <get_first_losing_move_4+0xcc44>
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    dd78 <get_first_losing_move_4+0xcc68>
xor    %eax,%eax
mov    %eax,-0xc18(%rbp)
jmp    dd89 <get_first_losing_move_4+0xcc79>
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    ddb5 <get_first_losing_move_4+0xcca5>
xor    %eax,%eax
mov    %eax,-0xc1c(%rbp)
jmp    ddc6 <get_first_losing_move_4+0xccb6>
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    ddea <get_first_losing_move_4+0xccda>
xor    %eax,%eax
mov    %eax,-0xc20(%rbp)
jmp    ddfb <get_first_losing_move_4+0xcceb>
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    de27 <get_first_losing_move_4+0xcd17>
xor    %eax,%eax
mov    %eax,-0xc24(%rbp)
jmp    de38 <get_first_losing_move_4+0xcd28>
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    de5c <get_first_losing_move_4+0xcd4c>
xor    %eax,%eax
mov    %eax,-0xc28(%rbp)
jmp    de6d <get_first_losing_move_4+0xcd5d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc28(%rbp)
mov    -0xc28(%rbp),%eax
mov    %ax,0x18(%rbp)
jmp    de7c <get_first_losing_move_4+0xcd6c>
mov    -0x12(%rbp),%ax
mov    %ax,-0x6(%rbp)
jmp    de89 <get_first_losing_move_4+0xcd79>
jmp    16bae <get_first_losing_move_4+0x15a9e>
movswl -0x18(%rbp),%eax
cmp    $0x10,%eax
jne    e74d <get_first_losing_move_4+0xd63d>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     e748 <get_first_losing_move_4+0xd638>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    e748 <get_first_losing_move_4+0xd638>
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     e743 <get_first_losing_move_4+0xd633>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     e743 <get_first_losing_move_4+0xd633>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     e743 <get_first_losing_move_4+0xd633>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     e743 <get_first_losing_move_4+0xd633>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     e743 <get_first_losing_move_4+0xd633>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     e743 <get_first_losing_move_4+0xd633>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    e347 <get_first_losing_move_4+0xd237>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    df68 <get_first_losing_move_4+0xce58>
xor    %eax,%eax
mov    %eax,-0xc2c(%rbp)
jmp    df79 <get_first_losing_move_4+0xce69>
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    df9d <get_first_losing_move_4+0xce8d>
xor    %eax,%eax
mov    %eax,-0xc30(%rbp)
jmp    dfae <get_first_losing_move_4+0xce9e>
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    dfda <get_first_losing_move_4+0xceca>
xor    %eax,%eax
mov    %eax,-0xc34(%rbp)
jmp    dfeb <get_first_losing_move_4+0xcedb>
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    e00f <get_first_losing_move_4+0xceff>
xor    %eax,%eax
mov    %eax,-0xc38(%rbp)
jmp    e020 <get_first_losing_move_4+0xcf10>
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    e04c <get_first_losing_move_4+0xcf3c>
xor    %eax,%eax
mov    %eax,-0xc3c(%rbp)
jmp    e05d <get_first_losing_move_4+0xcf4d>
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    e081 <get_first_losing_move_4+0xcf71>
xor    %eax,%eax
mov    %eax,-0xc40(%rbp)
jmp    e092 <get_first_losing_move_4+0xcf82>
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    e0be <get_first_losing_move_4+0xcfae>
xor    %eax,%eax
mov    %eax,-0xc44(%rbp)
jmp    e0cf <get_first_losing_move_4+0xcfbf>
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    e0f3 <get_first_losing_move_4+0xcfe3>
xor    %eax,%eax
mov    %eax,-0xc48(%rbp)
jmp    e104 <get_first_losing_move_4+0xcff4>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    e15c <get_first_losing_move_4+0xd04c>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     e172 <get_first_losing_move_4+0xd062>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e194 <get_first_losing_move_4+0xd084>
xor    %eax,%eax
mov    %eax,-0xc4c(%rbp)
jmp    e1a5 <get_first_losing_move_4+0xd095>
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    e1c9 <get_first_losing_move_4+0xd0b9>
xor    %eax,%eax
mov    %eax,-0xc50(%rbp)
jmp    e1da <get_first_losing_move_4+0xd0ca>
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    e206 <get_first_losing_move_4+0xd0f6>
xor    %eax,%eax
mov    %eax,-0xc54(%rbp)
jmp    e217 <get_first_losing_move_4+0xd107>
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    e23b <get_first_losing_move_4+0xd12b>
xor    %eax,%eax
mov    %eax,-0xc58(%rbp)
jmp    e24c <get_first_losing_move_4+0xd13c>
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    e278 <get_first_losing_move_4+0xd168>
xor    %eax,%eax
mov    %eax,-0xc5c(%rbp)
jmp    e289 <get_first_losing_move_4+0xd179>
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    e2ad <get_first_losing_move_4+0xd19d>
xor    %eax,%eax
mov    %eax,-0xc60(%rbp)
jmp    e2be <get_first_losing_move_4+0xd1ae>
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    e2ea <get_first_losing_move_4+0xd1da>
xor    %eax,%eax
mov    %eax,-0xc64(%rbp)
jmp    e2fb <get_first_losing_move_4+0xd1eb>
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    e31f <get_first_losing_move_4+0xd20f>
xor    %eax,%eax
mov    %eax,-0xc68(%rbp)
jmp    e330 <get_first_losing_move_4+0xd220>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xc68(%rbp)
mov    -0xc68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    e73b <get_first_losing_move_4+0xd62b>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e369 <get_first_losing_move_4+0xd259>
xor    %eax,%eax
mov    %eax,-0xc6c(%rbp)
jmp    e37a <get_first_losing_move_4+0xd26a>
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    e39e <get_first_losing_move_4+0xd28e>
xor    %eax,%eax
mov    %eax,-0xc70(%rbp)
jmp    e3af <get_first_losing_move_4+0xd29f>
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    e3db <get_first_losing_move_4+0xd2cb>
xor    %eax,%eax
mov    %eax,-0xc74(%rbp)
jmp    e3ec <get_first_losing_move_4+0xd2dc>
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    e410 <get_first_losing_move_4+0xd300>
xor    %eax,%eax
mov    %eax,-0xc78(%rbp)
jmp    e421 <get_first_losing_move_4+0xd311>
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    e44d <get_first_losing_move_4+0xd33d>
xor    %eax,%eax
mov    %eax,-0xc7c(%rbp)
jmp    e45e <get_first_losing_move_4+0xd34e>
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    e482 <get_first_losing_move_4+0xd372>
xor    %eax,%eax
mov    %eax,-0xc80(%rbp)
jmp    e493 <get_first_losing_move_4+0xd383>
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    e4bf <get_first_losing_move_4+0xd3af>
xor    %eax,%eax
mov    %eax,-0xc84(%rbp)
jmp    e4d0 <get_first_losing_move_4+0xd3c0>
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    e4f4 <get_first_losing_move_4+0xd3e4>
xor    %eax,%eax
mov    %eax,-0xc88(%rbp)
jmp    e505 <get_first_losing_move_4+0xd3f5>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    e55d <get_first_losing_move_4+0xd44d>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     e573 <get_first_losing_move_4+0xd463>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e595 <get_first_losing_move_4+0xd485>
xor    %eax,%eax
mov    %eax,-0xc8c(%rbp)
jmp    e5a6 <get_first_losing_move_4+0xd496>
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    e5ca <get_first_losing_move_4+0xd4ba>
xor    %eax,%eax
mov    %eax,-0xc90(%rbp)
jmp    e5db <get_first_losing_move_4+0xd4cb>
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    e607 <get_first_losing_move_4+0xd4f7>
xor    %eax,%eax
mov    %eax,-0xc94(%rbp)
jmp    e618 <get_first_losing_move_4+0xd508>
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    e63c <get_first_losing_move_4+0xd52c>
xor    %eax,%eax
mov    %eax,-0xc98(%rbp)
jmp    e64d <get_first_losing_move_4+0xd53d>
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    e679 <get_first_losing_move_4+0xd569>
xor    %eax,%eax
mov    %eax,-0xc9c(%rbp)
jmp    e68a <get_first_losing_move_4+0xd57a>
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    e6ae <get_first_losing_move_4+0xd59e>
xor    %eax,%eax
mov    %eax,-0xca0(%rbp)
jmp    e6bf <get_first_losing_move_4+0xd5af>
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    e6eb <get_first_losing_move_4+0xd5db>
xor    %eax,%eax
mov    %eax,-0xca4(%rbp)
jmp    e6fc <get_first_losing_move_4+0xd5ec>
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    e720 <get_first_losing_move_4+0xd610>
xor    %eax,%eax
mov    %eax,-0xca8(%rbp)
jmp    e731 <get_first_losing_move_4+0xd621>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xca8(%rbp)
mov    -0xca8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    e748 <get_first_losing_move_4+0xd638>
jmp    16ba9 <get_first_losing_move_4+0x15a99>
movswl -0x18(%rbp),%eax
cmp    $0x11,%eax
jne    f021 <get_first_losing_move_4+0xdf11>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     f01c <get_first_losing_move_4+0xdf0c>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    f01c <get_first_losing_move_4+0xdf0c>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     f01c <get_first_losing_move_4+0xdf0c>
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     f017 <get_first_losing_move_4+0xdf07>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     f017 <get_first_losing_move_4+0xdf07>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     f017 <get_first_losing_move_4+0xdf07>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     f017 <get_first_losing_move_4+0xdf07>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     f017 <get_first_losing_move_4+0xdf07>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     f017 <get_first_losing_move_4+0xdf07>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    ec1b <get_first_losing_move_4+0xdb0b>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    e83c <get_first_losing_move_4+0xd72c>
xor    %eax,%eax
mov    %eax,-0xcac(%rbp)
jmp    e84d <get_first_losing_move_4+0xd73d>
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    e871 <get_first_losing_move_4+0xd761>
xor    %eax,%eax
mov    %eax,-0xcb0(%rbp)
jmp    e882 <get_first_losing_move_4+0xd772>
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    e8ae <get_first_losing_move_4+0xd79e>
xor    %eax,%eax
mov    %eax,-0xcb4(%rbp)
jmp    e8bf <get_first_losing_move_4+0xd7af>
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    e8e3 <get_first_losing_move_4+0xd7d3>
xor    %eax,%eax
mov    %eax,-0xcb8(%rbp)
jmp    e8f4 <get_first_losing_move_4+0xd7e4>
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    e920 <get_first_losing_move_4+0xd810>
xor    %eax,%eax
mov    %eax,-0xcbc(%rbp)
jmp    e931 <get_first_losing_move_4+0xd821>
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    e955 <get_first_losing_move_4+0xd845>
xor    %eax,%eax
mov    %eax,-0xcc0(%rbp)
jmp    e966 <get_first_losing_move_4+0xd856>
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    e992 <get_first_losing_move_4+0xd882>
xor    %eax,%eax
mov    %eax,-0xcc4(%rbp)
jmp    e9a3 <get_first_losing_move_4+0xd893>
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    e9c7 <get_first_losing_move_4+0xd8b7>
xor    %eax,%eax
mov    %eax,-0xcc8(%rbp)
jmp    e9d8 <get_first_losing_move_4+0xd8c8>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    ea30 <get_first_losing_move_4+0xd920>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ea46 <get_first_losing_move_4+0xd936>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ea68 <get_first_losing_move_4+0xd958>
xor    %eax,%eax
mov    %eax,-0xccc(%rbp)
jmp    ea79 <get_first_losing_move_4+0xd969>
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    ea9d <get_first_losing_move_4+0xd98d>
xor    %eax,%eax
mov    %eax,-0xcd0(%rbp)
jmp    eaae <get_first_losing_move_4+0xd99e>
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    eada <get_first_losing_move_4+0xd9ca>
xor    %eax,%eax
mov    %eax,-0xcd4(%rbp)
jmp    eaeb <get_first_losing_move_4+0xd9db>
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    eb0f <get_first_losing_move_4+0xd9ff>
xor    %eax,%eax
mov    %eax,-0xcd8(%rbp)
jmp    eb20 <get_first_losing_move_4+0xda10>
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    eb4c <get_first_losing_move_4+0xda3c>
xor    %eax,%eax
mov    %eax,-0xcdc(%rbp)
jmp    eb5d <get_first_losing_move_4+0xda4d>
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    eb81 <get_first_losing_move_4+0xda71>
xor    %eax,%eax
mov    %eax,-0xce0(%rbp)
jmp    eb92 <get_first_losing_move_4+0xda82>
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    ebbe <get_first_losing_move_4+0xdaae>
xor    %eax,%eax
mov    %eax,-0xce4(%rbp)
jmp    ebcf <get_first_losing_move_4+0xdabf>
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    ebf3 <get_first_losing_move_4+0xdae3>
xor    %eax,%eax
mov    %eax,-0xce8(%rbp)
jmp    ec04 <get_first_losing_move_4+0xdaf4>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xce8(%rbp)
mov    -0xce8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    f00f <get_first_losing_move_4+0xdeff>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ec3d <get_first_losing_move_4+0xdb2d>
xor    %eax,%eax
mov    %eax,-0xcec(%rbp)
jmp    ec4e <get_first_losing_move_4+0xdb3e>
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    ec72 <get_first_losing_move_4+0xdb62>
xor    %eax,%eax
mov    %eax,-0xcf0(%rbp)
jmp    ec83 <get_first_losing_move_4+0xdb73>
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    ecaf <get_first_losing_move_4+0xdb9f>
xor    %eax,%eax
mov    %eax,-0xcf4(%rbp)
jmp    ecc0 <get_first_losing_move_4+0xdbb0>
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    ece4 <get_first_losing_move_4+0xdbd4>
xor    %eax,%eax
mov    %eax,-0xcf8(%rbp)
jmp    ecf5 <get_first_losing_move_4+0xdbe5>
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    ed21 <get_first_losing_move_4+0xdc11>
xor    %eax,%eax
mov    %eax,-0xcfc(%rbp)
jmp    ed32 <get_first_losing_move_4+0xdc22>
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    ed56 <get_first_losing_move_4+0xdc46>
xor    %eax,%eax
mov    %eax,-0xd00(%rbp)
jmp    ed67 <get_first_losing_move_4+0xdc57>
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    ed93 <get_first_losing_move_4+0xdc83>
xor    %eax,%eax
mov    %eax,-0xd04(%rbp)
jmp    eda4 <get_first_losing_move_4+0xdc94>
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    edc8 <get_first_losing_move_4+0xdcb8>
xor    %eax,%eax
mov    %eax,-0xd08(%rbp)
jmp    edd9 <get_first_losing_move_4+0xdcc9>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    ee31 <get_first_losing_move_4+0xdd21>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ee47 <get_first_losing_move_4+0xdd37>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    ee69 <get_first_losing_move_4+0xdd59>
xor    %eax,%eax
mov    %eax,-0xd0c(%rbp)
jmp    ee7a <get_first_losing_move_4+0xdd6a>
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    ee9e <get_first_losing_move_4+0xdd8e>
xor    %eax,%eax
mov    %eax,-0xd10(%rbp)
jmp    eeaf <get_first_losing_move_4+0xdd9f>
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    eedb <get_first_losing_move_4+0xddcb>
xor    %eax,%eax
mov    %eax,-0xd14(%rbp)
jmp    eeec <get_first_losing_move_4+0xdddc>
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    ef10 <get_first_losing_move_4+0xde00>
xor    %eax,%eax
mov    %eax,-0xd18(%rbp)
jmp    ef21 <get_first_losing_move_4+0xde11>
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    ef4d <get_first_losing_move_4+0xde3d>
xor    %eax,%eax
mov    %eax,-0xd1c(%rbp)
jmp    ef5e <get_first_losing_move_4+0xde4e>
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    ef82 <get_first_losing_move_4+0xde72>
xor    %eax,%eax
mov    %eax,-0xd20(%rbp)
jmp    ef93 <get_first_losing_move_4+0xde83>
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    efbf <get_first_losing_move_4+0xdeaf>
xor    %eax,%eax
mov    %eax,-0xd24(%rbp)
jmp    efd0 <get_first_losing_move_4+0xdec0>
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    eff4 <get_first_losing_move_4+0xdee4>
xor    %eax,%eax
mov    %eax,-0xd28(%rbp)
jmp    f005 <get_first_losing_move_4+0xdef5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd28(%rbp)
mov    -0xd28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    f01c <get_first_losing_move_4+0xdf0c>
jmp    16ba4 <get_first_losing_move_4+0x15a94>
movswl -0x18(%rbp),%eax
cmp    $0x12,%eax
jne    f8e8 <get_first_losing_move_4+0xe7d8>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     f8e3 <get_first_losing_move_4+0xe7d3>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     f8e3 <get_first_losing_move_4+0xe7d3>
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     f8de <get_first_losing_move_4+0xe7ce>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     f8de <get_first_losing_move_4+0xe7ce>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     f8de <get_first_losing_move_4+0xe7ce>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     f8de <get_first_losing_move_4+0xe7ce>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     f8de <get_first_losing_move_4+0xe7ce>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     f8de <get_first_losing_move_4+0xe7ce>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    f4e2 <get_first_losing_move_4+0xe3d2>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f103 <get_first_losing_move_4+0xdff3>
xor    %eax,%eax
mov    %eax,-0xd2c(%rbp)
jmp    f114 <get_first_losing_move_4+0xe004>
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    f138 <get_first_losing_move_4+0xe028>
xor    %eax,%eax
mov    %eax,-0xd30(%rbp)
jmp    f149 <get_first_losing_move_4+0xe039>
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    f175 <get_first_losing_move_4+0xe065>
xor    %eax,%eax
mov    %eax,-0xd34(%rbp)
jmp    f186 <get_first_losing_move_4+0xe076>
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    f1aa <get_first_losing_move_4+0xe09a>
xor    %eax,%eax
mov    %eax,-0xd38(%rbp)
jmp    f1bb <get_first_losing_move_4+0xe0ab>
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    f1e7 <get_first_losing_move_4+0xe0d7>
xor    %eax,%eax
mov    %eax,-0xd3c(%rbp)
jmp    f1f8 <get_first_losing_move_4+0xe0e8>
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    f21c <get_first_losing_move_4+0xe10c>
xor    %eax,%eax
mov    %eax,-0xd40(%rbp)
jmp    f22d <get_first_losing_move_4+0xe11d>
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    f259 <get_first_losing_move_4+0xe149>
xor    %eax,%eax
mov    %eax,-0xd44(%rbp)
jmp    f26a <get_first_losing_move_4+0xe15a>
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    f28e <get_first_losing_move_4+0xe17e>
xor    %eax,%eax
mov    %eax,-0xd48(%rbp)
jmp    f29f <get_first_losing_move_4+0xe18f>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    f2f7 <get_first_losing_move_4+0xe1e7>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     f30d <get_first_losing_move_4+0xe1fd>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f32f <get_first_losing_move_4+0xe21f>
xor    %eax,%eax
mov    %eax,-0xd4c(%rbp)
jmp    f340 <get_first_losing_move_4+0xe230>
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    f364 <get_first_losing_move_4+0xe254>
xor    %eax,%eax
mov    %eax,-0xd50(%rbp)
jmp    f375 <get_first_losing_move_4+0xe265>
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    f3a1 <get_first_losing_move_4+0xe291>
xor    %eax,%eax
mov    %eax,-0xd54(%rbp)
jmp    f3b2 <get_first_losing_move_4+0xe2a2>
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    f3d6 <get_first_losing_move_4+0xe2c6>
xor    %eax,%eax
mov    %eax,-0xd58(%rbp)
jmp    f3e7 <get_first_losing_move_4+0xe2d7>
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    f413 <get_first_losing_move_4+0xe303>
xor    %eax,%eax
mov    %eax,-0xd5c(%rbp)
jmp    f424 <get_first_losing_move_4+0xe314>
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    f448 <get_first_losing_move_4+0xe338>
xor    %eax,%eax
mov    %eax,-0xd60(%rbp)
jmp    f459 <get_first_losing_move_4+0xe349>
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    f485 <get_first_losing_move_4+0xe375>
xor    %eax,%eax
mov    %eax,-0xd64(%rbp)
jmp    f496 <get_first_losing_move_4+0xe386>
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    f4ba <get_first_losing_move_4+0xe3aa>
xor    %eax,%eax
mov    %eax,-0xd68(%rbp)
jmp    f4cb <get_first_losing_move_4+0xe3bb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xd68(%rbp)
mov    -0xd68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    f8d6 <get_first_losing_move_4+0xe7c6>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f504 <get_first_losing_move_4+0xe3f4>
xor    %eax,%eax
mov    %eax,-0xd6c(%rbp)
jmp    f515 <get_first_losing_move_4+0xe405>
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    f539 <get_first_losing_move_4+0xe429>
xor    %eax,%eax
mov    %eax,-0xd70(%rbp)
jmp    f54a <get_first_losing_move_4+0xe43a>
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    f576 <get_first_losing_move_4+0xe466>
xor    %eax,%eax
mov    %eax,-0xd74(%rbp)
jmp    f587 <get_first_losing_move_4+0xe477>
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    f5ab <get_first_losing_move_4+0xe49b>
xor    %eax,%eax
mov    %eax,-0xd78(%rbp)
jmp    f5bc <get_first_losing_move_4+0xe4ac>
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    f5e8 <get_first_losing_move_4+0xe4d8>
xor    %eax,%eax
mov    %eax,-0xd7c(%rbp)
jmp    f5f9 <get_first_losing_move_4+0xe4e9>
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    f61d <get_first_losing_move_4+0xe50d>
xor    %eax,%eax
mov    %eax,-0xd80(%rbp)
jmp    f62e <get_first_losing_move_4+0xe51e>
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    f65a <get_first_losing_move_4+0xe54a>
xor    %eax,%eax
mov    %eax,-0xd84(%rbp)
jmp    f66b <get_first_losing_move_4+0xe55b>
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    f68f <get_first_losing_move_4+0xe57f>
xor    %eax,%eax
mov    %eax,-0xd88(%rbp)
jmp    f6a0 <get_first_losing_move_4+0xe590>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    f6f8 <get_first_losing_move_4+0xe5e8>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     f70e <get_first_losing_move_4+0xe5fe>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f730 <get_first_losing_move_4+0xe620>
xor    %eax,%eax
mov    %eax,-0xd8c(%rbp)
jmp    f741 <get_first_losing_move_4+0xe631>
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    f765 <get_first_losing_move_4+0xe655>
xor    %eax,%eax
mov    %eax,-0xd90(%rbp)
jmp    f776 <get_first_losing_move_4+0xe666>
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    f7a2 <get_first_losing_move_4+0xe692>
xor    %eax,%eax
mov    %eax,-0xd94(%rbp)
jmp    f7b3 <get_first_losing_move_4+0xe6a3>
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    f7d7 <get_first_losing_move_4+0xe6c7>
xor    %eax,%eax
mov    %eax,-0xd98(%rbp)
jmp    f7e8 <get_first_losing_move_4+0xe6d8>
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    f814 <get_first_losing_move_4+0xe704>
xor    %eax,%eax
mov    %eax,-0xd9c(%rbp)
jmp    f825 <get_first_losing_move_4+0xe715>
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    f849 <get_first_losing_move_4+0xe739>
xor    %eax,%eax
mov    %eax,-0xda0(%rbp)
jmp    f85a <get_first_losing_move_4+0xe74a>
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    f886 <get_first_losing_move_4+0xe776>
xor    %eax,%eax
mov    %eax,-0xda4(%rbp)
jmp    f897 <get_first_losing_move_4+0xe787>
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    f8bb <get_first_losing_move_4+0xe7ab>
xor    %eax,%eax
mov    %eax,-0xda8(%rbp)
jmp    f8cc <get_first_losing_move_4+0xe7bc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xda8(%rbp)
mov    -0xda8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    f8e3 <get_first_losing_move_4+0xe7d3>
jmp    16b9f <get_first_losing_move_4+0x15a8f>
movswl -0x18(%rbp),%eax
cmp    $0x13,%eax
jne    101c0 <get_first_losing_move_4+0xf0b0>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     101bb <get_first_losing_move_4+0xf0ab>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    101bb <get_first_losing_move_4+0xf0ab>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     101bb <get_first_losing_move_4+0xf0ab>
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     101b6 <get_first_losing_move_4+0xf0a6>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     101b6 <get_first_losing_move_4+0xf0a6>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     101b6 <get_first_losing_move_4+0xf0a6>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     101b6 <get_first_losing_move_4+0xf0a6>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     101b6 <get_first_losing_move_4+0xf0a6>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     101b6 <get_first_losing_move_4+0xf0a6>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    fdba <get_first_losing_move_4+0xecaa>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    f9db <get_first_losing_move_4+0xe8cb>
xor    %eax,%eax
mov    %eax,-0xdac(%rbp)
jmp    f9ec <get_first_losing_move_4+0xe8dc>
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    fa10 <get_first_losing_move_4+0xe900>
xor    %eax,%eax
mov    %eax,-0xdb0(%rbp)
jmp    fa21 <get_first_losing_move_4+0xe911>
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    fa4d <get_first_losing_move_4+0xe93d>
xor    %eax,%eax
mov    %eax,-0xdb4(%rbp)
jmp    fa5e <get_first_losing_move_4+0xe94e>
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    fa82 <get_first_losing_move_4+0xe972>
xor    %eax,%eax
mov    %eax,-0xdb8(%rbp)
jmp    fa93 <get_first_losing_move_4+0xe983>
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    fabf <get_first_losing_move_4+0xe9af>
xor    %eax,%eax
mov    %eax,-0xdbc(%rbp)
jmp    fad0 <get_first_losing_move_4+0xe9c0>
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    faf4 <get_first_losing_move_4+0xe9e4>
xor    %eax,%eax
mov    %eax,-0xdc0(%rbp)
jmp    fb05 <get_first_losing_move_4+0xe9f5>
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    fb31 <get_first_losing_move_4+0xea21>
xor    %eax,%eax
mov    %eax,-0xdc4(%rbp)
jmp    fb42 <get_first_losing_move_4+0xea32>
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    fb66 <get_first_losing_move_4+0xea56>
xor    %eax,%eax
mov    %eax,-0xdc8(%rbp)
jmp    fb77 <get_first_losing_move_4+0xea67>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    fbcf <get_first_losing_move_4+0xeabf>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     fbe5 <get_first_losing_move_4+0xead5>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fc07 <get_first_losing_move_4+0xeaf7>
xor    %eax,%eax
mov    %eax,-0xdcc(%rbp)
jmp    fc18 <get_first_losing_move_4+0xeb08>
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    fc3c <get_first_losing_move_4+0xeb2c>
xor    %eax,%eax
mov    %eax,-0xdd0(%rbp)
jmp    fc4d <get_first_losing_move_4+0xeb3d>
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    fc79 <get_first_losing_move_4+0xeb69>
xor    %eax,%eax
mov    %eax,-0xdd4(%rbp)
jmp    fc8a <get_first_losing_move_4+0xeb7a>
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    fcae <get_first_losing_move_4+0xeb9e>
xor    %eax,%eax
mov    %eax,-0xdd8(%rbp)
jmp    fcbf <get_first_losing_move_4+0xebaf>
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    fceb <get_first_losing_move_4+0xebdb>
xor    %eax,%eax
mov    %eax,-0xddc(%rbp)
jmp    fcfc <get_first_losing_move_4+0xebec>
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    fd20 <get_first_losing_move_4+0xec10>
xor    %eax,%eax
mov    %eax,-0xde0(%rbp)
jmp    fd31 <get_first_losing_move_4+0xec21>
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    fd5d <get_first_losing_move_4+0xec4d>
xor    %eax,%eax
mov    %eax,-0xde4(%rbp)
jmp    fd6e <get_first_losing_move_4+0xec5e>
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    fd92 <get_first_losing_move_4+0xec82>
xor    %eax,%eax
mov    %eax,-0xde8(%rbp)
jmp    fda3 <get_first_losing_move_4+0xec93>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xde8(%rbp)
mov    -0xde8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    101ae <get_first_losing_move_4+0xf09e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    fddc <get_first_losing_move_4+0xeccc>
xor    %eax,%eax
mov    %eax,-0xdec(%rbp)
jmp    fded <get_first_losing_move_4+0xecdd>
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    fe11 <get_first_losing_move_4+0xed01>
xor    %eax,%eax
mov    %eax,-0xdf0(%rbp)
jmp    fe22 <get_first_losing_move_4+0xed12>
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    fe4e <get_first_losing_move_4+0xed3e>
xor    %eax,%eax
mov    %eax,-0xdf4(%rbp)
jmp    fe5f <get_first_losing_move_4+0xed4f>
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    fe83 <get_first_losing_move_4+0xed73>
xor    %eax,%eax
mov    %eax,-0xdf8(%rbp)
jmp    fe94 <get_first_losing_move_4+0xed84>
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    fec0 <get_first_losing_move_4+0xedb0>
xor    %eax,%eax
mov    %eax,-0xdfc(%rbp)
jmp    fed1 <get_first_losing_move_4+0xedc1>
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    fef5 <get_first_losing_move_4+0xede5>
xor    %eax,%eax
mov    %eax,-0xe00(%rbp)
jmp    ff06 <get_first_losing_move_4+0xedf6>
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    ff32 <get_first_losing_move_4+0xee22>
xor    %eax,%eax
mov    %eax,-0xe04(%rbp)
jmp    ff43 <get_first_losing_move_4+0xee33>
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    ff67 <get_first_losing_move_4+0xee57>
xor    %eax,%eax
mov    %eax,-0xe08(%rbp)
jmp    ff78 <get_first_losing_move_4+0xee68>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    ffd0 <get_first_losing_move_4+0xeec0>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     ffe6 <get_first_losing_move_4+0xeed6>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10008 <get_first_losing_move_4+0xeef8>
xor    %eax,%eax
mov    %eax,-0xe0c(%rbp)
jmp    10019 <get_first_losing_move_4+0xef09>
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    1003d <get_first_losing_move_4+0xef2d>
xor    %eax,%eax
mov    %eax,-0xe10(%rbp)
jmp    1004e <get_first_losing_move_4+0xef3e>
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    1007a <get_first_losing_move_4+0xef6a>
xor    %eax,%eax
mov    %eax,-0xe14(%rbp)
jmp    1008b <get_first_losing_move_4+0xef7b>
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    100af <get_first_losing_move_4+0xef9f>
xor    %eax,%eax
mov    %eax,-0xe18(%rbp)
jmp    100c0 <get_first_losing_move_4+0xefb0>
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    100ec <get_first_losing_move_4+0xefdc>
xor    %eax,%eax
mov    %eax,-0xe1c(%rbp)
jmp    100fd <get_first_losing_move_4+0xefed>
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    10121 <get_first_losing_move_4+0xf011>
xor    %eax,%eax
mov    %eax,-0xe20(%rbp)
jmp    10132 <get_first_losing_move_4+0xf022>
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    1015e <get_first_losing_move_4+0xf04e>
xor    %eax,%eax
mov    %eax,-0xe24(%rbp)
jmp    1016f <get_first_losing_move_4+0xf05f>
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    10193 <get_first_losing_move_4+0xf083>
xor    %eax,%eax
mov    %eax,-0xe28(%rbp)
jmp    101a4 <get_first_losing_move_4+0xf094>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe28(%rbp)
mov    -0xe28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    101bb <get_first_losing_move_4+0xf0ab>
jmp    16b9a <get_first_losing_move_4+0x15a8a>
movswl -0x18(%rbp),%eax
cmp    $0x14,%eax
jne    10a83 <get_first_losing_move_4+0xf973>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     10a7e <get_first_losing_move_4+0xf96e>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    10a7e <get_first_losing_move_4+0xf96e>
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     10a79 <get_first_losing_move_4+0xf969>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     10a79 <get_first_losing_move_4+0xf969>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     10a79 <get_first_losing_move_4+0xf969>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     10a79 <get_first_losing_move_4+0xf969>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     10a79 <get_first_losing_move_4+0xf969>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     10a79 <get_first_losing_move_4+0xf969>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1067d <get_first_losing_move_4+0xf56d>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1029e <get_first_losing_move_4+0xf18e>
xor    %eax,%eax
mov    %eax,-0xe2c(%rbp)
jmp    102af <get_first_losing_move_4+0xf19f>
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    102d3 <get_first_losing_move_4+0xf1c3>
xor    %eax,%eax
mov    %eax,-0xe30(%rbp)
jmp    102e4 <get_first_losing_move_4+0xf1d4>
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    10310 <get_first_losing_move_4+0xf200>
xor    %eax,%eax
mov    %eax,-0xe34(%rbp)
jmp    10321 <get_first_losing_move_4+0xf211>
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    10345 <get_first_losing_move_4+0xf235>
xor    %eax,%eax
mov    %eax,-0xe38(%rbp)
jmp    10356 <get_first_losing_move_4+0xf246>
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    10382 <get_first_losing_move_4+0xf272>
xor    %eax,%eax
mov    %eax,-0xe3c(%rbp)
jmp    10393 <get_first_losing_move_4+0xf283>
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    103b7 <get_first_losing_move_4+0xf2a7>
xor    %eax,%eax
mov    %eax,-0xe40(%rbp)
jmp    103c8 <get_first_losing_move_4+0xf2b8>
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    103f4 <get_first_losing_move_4+0xf2e4>
xor    %eax,%eax
mov    %eax,-0xe44(%rbp)
jmp    10405 <get_first_losing_move_4+0xf2f5>
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    10429 <get_first_losing_move_4+0xf319>
xor    %eax,%eax
mov    %eax,-0xe48(%rbp)
jmp    1043a <get_first_losing_move_4+0xf32a>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    10492 <get_first_losing_move_4+0xf382>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     104a8 <get_first_losing_move_4+0xf398>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    104ca <get_first_losing_move_4+0xf3ba>
xor    %eax,%eax
mov    %eax,-0xe4c(%rbp)
jmp    104db <get_first_losing_move_4+0xf3cb>
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    104ff <get_first_losing_move_4+0xf3ef>
xor    %eax,%eax
mov    %eax,-0xe50(%rbp)
jmp    10510 <get_first_losing_move_4+0xf400>
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    1053c <get_first_losing_move_4+0xf42c>
xor    %eax,%eax
mov    %eax,-0xe54(%rbp)
jmp    1054d <get_first_losing_move_4+0xf43d>
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    10571 <get_first_losing_move_4+0xf461>
xor    %eax,%eax
mov    %eax,-0xe58(%rbp)
jmp    10582 <get_first_losing_move_4+0xf472>
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    105ae <get_first_losing_move_4+0xf49e>
xor    %eax,%eax
mov    %eax,-0xe5c(%rbp)
jmp    105bf <get_first_losing_move_4+0xf4af>
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    105e3 <get_first_losing_move_4+0xf4d3>
xor    %eax,%eax
mov    %eax,-0xe60(%rbp)
jmp    105f4 <get_first_losing_move_4+0xf4e4>
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    10620 <get_first_losing_move_4+0xf510>
xor    %eax,%eax
mov    %eax,-0xe64(%rbp)
jmp    10631 <get_first_losing_move_4+0xf521>
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    10655 <get_first_losing_move_4+0xf545>
xor    %eax,%eax
mov    %eax,-0xe68(%rbp)
jmp    10666 <get_first_losing_move_4+0xf556>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xe68(%rbp)
mov    -0xe68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    10a71 <get_first_losing_move_4+0xf961>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1069f <get_first_losing_move_4+0xf58f>
xor    %eax,%eax
mov    %eax,-0xe6c(%rbp)
jmp    106b0 <get_first_losing_move_4+0xf5a0>
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    106d4 <get_first_losing_move_4+0xf5c4>
xor    %eax,%eax
mov    %eax,-0xe70(%rbp)
jmp    106e5 <get_first_losing_move_4+0xf5d5>
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    10711 <get_first_losing_move_4+0xf601>
xor    %eax,%eax
mov    %eax,-0xe74(%rbp)
jmp    10722 <get_first_losing_move_4+0xf612>
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    10746 <get_first_losing_move_4+0xf636>
xor    %eax,%eax
mov    %eax,-0xe78(%rbp)
jmp    10757 <get_first_losing_move_4+0xf647>
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    10783 <get_first_losing_move_4+0xf673>
xor    %eax,%eax
mov    %eax,-0xe7c(%rbp)
jmp    10794 <get_first_losing_move_4+0xf684>
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    107b8 <get_first_losing_move_4+0xf6a8>
xor    %eax,%eax
mov    %eax,-0xe80(%rbp)
jmp    107c9 <get_first_losing_move_4+0xf6b9>
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    107f5 <get_first_losing_move_4+0xf6e5>
xor    %eax,%eax
mov    %eax,-0xe84(%rbp)
jmp    10806 <get_first_losing_move_4+0xf6f6>
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    1082a <get_first_losing_move_4+0xf71a>
xor    %eax,%eax
mov    %eax,-0xe88(%rbp)
jmp    1083b <get_first_losing_move_4+0xf72b>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    10893 <get_first_losing_move_4+0xf783>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     108a9 <get_first_losing_move_4+0xf799>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    108cb <get_first_losing_move_4+0xf7bb>
xor    %eax,%eax
mov    %eax,-0xe8c(%rbp)
jmp    108dc <get_first_losing_move_4+0xf7cc>
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    10900 <get_first_losing_move_4+0xf7f0>
xor    %eax,%eax
mov    %eax,-0xe90(%rbp)
jmp    10911 <get_first_losing_move_4+0xf801>
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    1093d <get_first_losing_move_4+0xf82d>
xor    %eax,%eax
mov    %eax,-0xe94(%rbp)
jmp    1094e <get_first_losing_move_4+0xf83e>
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    10972 <get_first_losing_move_4+0xf862>
xor    %eax,%eax
mov    %eax,-0xe98(%rbp)
jmp    10983 <get_first_losing_move_4+0xf873>
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    109af <get_first_losing_move_4+0xf89f>
xor    %eax,%eax
mov    %eax,-0xe9c(%rbp)
jmp    109c0 <get_first_losing_move_4+0xf8b0>
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    109e4 <get_first_losing_move_4+0xf8d4>
xor    %eax,%eax
mov    %eax,-0xea0(%rbp)
jmp    109f5 <get_first_losing_move_4+0xf8e5>
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    10a21 <get_first_losing_move_4+0xf911>
xor    %eax,%eax
mov    %eax,-0xea4(%rbp)
jmp    10a32 <get_first_losing_move_4+0xf922>
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    10a56 <get_first_losing_move_4+0xf946>
xor    %eax,%eax
mov    %eax,-0xea8(%rbp)
jmp    10a67 <get_first_losing_move_4+0xf957>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xea8(%rbp)
mov    -0xea8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    10a7e <get_first_losing_move_4+0xf96e>
jmp    16b95 <get_first_losing_move_4+0x15a85>
movswl -0x18(%rbp),%eax
cmp    $0x15,%eax
jne    1135b <get_first_losing_move_4+0x1024b>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     11356 <get_first_losing_move_4+0x10246>
movswl -0x8(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    11356 <get_first_losing_move_4+0x10246>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     11356 <get_first_losing_move_4+0x10246>
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     11351 <get_first_losing_move_4+0x10241>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     11351 <get_first_losing_move_4+0x10241>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     11351 <get_first_losing_move_4+0x10241>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     11351 <get_first_losing_move_4+0x10241>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     11351 <get_first_losing_move_4+0x10241>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     11351 <get_first_losing_move_4+0x10241>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    10f55 <get_first_losing_move_4+0xfe45>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10b76 <get_first_losing_move_4+0xfa66>
xor    %eax,%eax
mov    %eax,-0xeac(%rbp)
jmp    10b87 <get_first_losing_move_4+0xfa77>
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    10bab <get_first_losing_move_4+0xfa9b>
xor    %eax,%eax
mov    %eax,-0xeb0(%rbp)
jmp    10bbc <get_first_losing_move_4+0xfaac>
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    10be8 <get_first_losing_move_4+0xfad8>
xor    %eax,%eax
mov    %eax,-0xeb4(%rbp)
jmp    10bf9 <get_first_losing_move_4+0xfae9>
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    10c1d <get_first_losing_move_4+0xfb0d>
xor    %eax,%eax
mov    %eax,-0xeb8(%rbp)
jmp    10c2e <get_first_losing_move_4+0xfb1e>
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    10c5a <get_first_losing_move_4+0xfb4a>
xor    %eax,%eax
mov    %eax,-0xebc(%rbp)
jmp    10c6b <get_first_losing_move_4+0xfb5b>
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    10c8f <get_first_losing_move_4+0xfb7f>
xor    %eax,%eax
mov    %eax,-0xec0(%rbp)
jmp    10ca0 <get_first_losing_move_4+0xfb90>
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    10ccc <get_first_losing_move_4+0xfbbc>
xor    %eax,%eax
mov    %eax,-0xec4(%rbp)
jmp    10cdd <get_first_losing_move_4+0xfbcd>
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    10d01 <get_first_losing_move_4+0xfbf1>
xor    %eax,%eax
mov    %eax,-0xec8(%rbp)
jmp    10d12 <get_first_losing_move_4+0xfc02>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    10d6a <get_first_losing_move_4+0xfc5a>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     10d80 <get_first_losing_move_4+0xfc70>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10da2 <get_first_losing_move_4+0xfc92>
xor    %eax,%eax
mov    %eax,-0xecc(%rbp)
jmp    10db3 <get_first_losing_move_4+0xfca3>
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    10dd7 <get_first_losing_move_4+0xfcc7>
xor    %eax,%eax
mov    %eax,-0xed0(%rbp)
jmp    10de8 <get_first_losing_move_4+0xfcd8>
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    10e14 <get_first_losing_move_4+0xfd04>
xor    %eax,%eax
mov    %eax,-0xed4(%rbp)
jmp    10e25 <get_first_losing_move_4+0xfd15>
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    10e49 <get_first_losing_move_4+0xfd39>
xor    %eax,%eax
mov    %eax,-0xed8(%rbp)
jmp    10e5a <get_first_losing_move_4+0xfd4a>
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    10e86 <get_first_losing_move_4+0xfd76>
xor    %eax,%eax
mov    %eax,-0xedc(%rbp)
jmp    10e97 <get_first_losing_move_4+0xfd87>
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    10ebb <get_first_losing_move_4+0xfdab>
xor    %eax,%eax
mov    %eax,-0xee0(%rbp)
jmp    10ecc <get_first_losing_move_4+0xfdbc>
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    10ef8 <get_first_losing_move_4+0xfde8>
xor    %eax,%eax
mov    %eax,-0xee4(%rbp)
jmp    10f09 <get_first_losing_move_4+0xfdf9>
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    10f2d <get_first_losing_move_4+0xfe1d>
xor    %eax,%eax
mov    %eax,-0xee8(%rbp)
jmp    10f3e <get_first_losing_move_4+0xfe2e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xee8(%rbp)
mov    -0xee8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    11349 <get_first_losing_move_4+0x10239>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    10f77 <get_first_losing_move_4+0xfe67>
xor    %eax,%eax
mov    %eax,-0xeec(%rbp)
jmp    10f88 <get_first_losing_move_4+0xfe78>
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    10fac <get_first_losing_move_4+0xfe9c>
xor    %eax,%eax
mov    %eax,-0xef0(%rbp)
jmp    10fbd <get_first_losing_move_4+0xfead>
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    10fe9 <get_first_losing_move_4+0xfed9>
xor    %eax,%eax
mov    %eax,-0xef4(%rbp)
jmp    10ffa <get_first_losing_move_4+0xfeea>
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    1101e <get_first_losing_move_4+0xff0e>
xor    %eax,%eax
mov    %eax,-0xef8(%rbp)
jmp    1102f <get_first_losing_move_4+0xff1f>
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    1105b <get_first_losing_move_4+0xff4b>
xor    %eax,%eax
mov    %eax,-0xefc(%rbp)
jmp    1106c <get_first_losing_move_4+0xff5c>
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    11090 <get_first_losing_move_4+0xff80>
xor    %eax,%eax
mov    %eax,-0xf00(%rbp)
jmp    110a1 <get_first_losing_move_4+0xff91>
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    110cd <get_first_losing_move_4+0xffbd>
xor    %eax,%eax
mov    %eax,-0xf04(%rbp)
jmp    110de <get_first_losing_move_4+0xffce>
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    11102 <get_first_losing_move_4+0xfff2>
xor    %eax,%eax
mov    %eax,-0xf08(%rbp)
jmp    11113 <get_first_losing_move_4+0x10003>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1116b <get_first_losing_move_4+0x1005b>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11181 <get_first_losing_move_4+0x10071>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    111a3 <get_first_losing_move_4+0x10093>
xor    %eax,%eax
mov    %eax,-0xf0c(%rbp)
jmp    111b4 <get_first_losing_move_4+0x100a4>
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    111d8 <get_first_losing_move_4+0x100c8>
xor    %eax,%eax
mov    %eax,-0xf10(%rbp)
jmp    111e9 <get_first_losing_move_4+0x100d9>
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    11215 <get_first_losing_move_4+0x10105>
xor    %eax,%eax
mov    %eax,-0xf14(%rbp)
jmp    11226 <get_first_losing_move_4+0x10116>
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    1124a <get_first_losing_move_4+0x1013a>
xor    %eax,%eax
mov    %eax,-0xf18(%rbp)
jmp    1125b <get_first_losing_move_4+0x1014b>
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    11287 <get_first_losing_move_4+0x10177>
xor    %eax,%eax
mov    %eax,-0xf1c(%rbp)
jmp    11298 <get_first_losing_move_4+0x10188>
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    112bc <get_first_losing_move_4+0x101ac>
xor    %eax,%eax
mov    %eax,-0xf20(%rbp)
jmp    112cd <get_first_losing_move_4+0x101bd>
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    112f9 <get_first_losing_move_4+0x101e9>
xor    %eax,%eax
mov    %eax,-0xf24(%rbp)
jmp    1130a <get_first_losing_move_4+0x101fa>
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    1132e <get_first_losing_move_4+0x1021e>
xor    %eax,%eax
mov    %eax,-0xf28(%rbp)
jmp    1133f <get_first_losing_move_4+0x1022f>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf28(%rbp)
mov    -0xf28(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    11356 <get_first_losing_move_4+0x10246>
jmp    16b90 <get_first_losing_move_4+0x15a80>
movswl -0x18(%rbp),%eax
cmp    $0x16,%eax
jne    11c22 <get_first_losing_move_4+0x10b12>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     11c1d <get_first_losing_move_4+0x10b0d>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     11c1d <get_first_losing_move_4+0x10b0d>
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     11c18 <get_first_losing_move_4+0x10b08>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     11c18 <get_first_losing_move_4+0x10b08>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     11c18 <get_first_losing_move_4+0x10b08>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     11c18 <get_first_losing_move_4+0x10b08>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     11c18 <get_first_losing_move_4+0x10b08>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     11c18 <get_first_losing_move_4+0x10b08>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    1181c <get_first_losing_move_4+0x1070c>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1143d <get_first_losing_move_4+0x1032d>
xor    %eax,%eax
mov    %eax,-0xf2c(%rbp)
jmp    1144e <get_first_losing_move_4+0x1033e>
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    11472 <get_first_losing_move_4+0x10362>
xor    %eax,%eax
mov    %eax,-0xf30(%rbp)
jmp    11483 <get_first_losing_move_4+0x10373>
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    114af <get_first_losing_move_4+0x1039f>
xor    %eax,%eax
mov    %eax,-0xf34(%rbp)
jmp    114c0 <get_first_losing_move_4+0x103b0>
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    114e4 <get_first_losing_move_4+0x103d4>
xor    %eax,%eax
mov    %eax,-0xf38(%rbp)
jmp    114f5 <get_first_losing_move_4+0x103e5>
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    11521 <get_first_losing_move_4+0x10411>
xor    %eax,%eax
mov    %eax,-0xf3c(%rbp)
jmp    11532 <get_first_losing_move_4+0x10422>
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    11556 <get_first_losing_move_4+0x10446>
xor    %eax,%eax
mov    %eax,-0xf40(%rbp)
jmp    11567 <get_first_losing_move_4+0x10457>
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    11593 <get_first_losing_move_4+0x10483>
xor    %eax,%eax
mov    %eax,-0xf44(%rbp)
jmp    115a4 <get_first_losing_move_4+0x10494>
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    115c8 <get_first_losing_move_4+0x104b8>
xor    %eax,%eax
mov    %eax,-0xf48(%rbp)
jmp    115d9 <get_first_losing_move_4+0x104c9>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    11631 <get_first_losing_move_4+0x10521>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11647 <get_first_losing_move_4+0x10537>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11669 <get_first_losing_move_4+0x10559>
xor    %eax,%eax
mov    %eax,-0xf4c(%rbp)
jmp    1167a <get_first_losing_move_4+0x1056a>
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    1169e <get_first_losing_move_4+0x1058e>
xor    %eax,%eax
mov    %eax,-0xf50(%rbp)
jmp    116af <get_first_losing_move_4+0x1059f>
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    116db <get_first_losing_move_4+0x105cb>
xor    %eax,%eax
mov    %eax,-0xf54(%rbp)
jmp    116ec <get_first_losing_move_4+0x105dc>
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    11710 <get_first_losing_move_4+0x10600>
xor    %eax,%eax
mov    %eax,-0xf58(%rbp)
jmp    11721 <get_first_losing_move_4+0x10611>
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    1174d <get_first_losing_move_4+0x1063d>
xor    %eax,%eax
mov    %eax,-0xf5c(%rbp)
jmp    1175e <get_first_losing_move_4+0x1064e>
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    11782 <get_first_losing_move_4+0x10672>
xor    %eax,%eax
mov    %eax,-0xf60(%rbp)
jmp    11793 <get_first_losing_move_4+0x10683>
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    117bf <get_first_losing_move_4+0x106af>
xor    %eax,%eax
mov    %eax,-0xf64(%rbp)
jmp    117d0 <get_first_losing_move_4+0x106c0>
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    117f4 <get_first_losing_move_4+0x106e4>
xor    %eax,%eax
mov    %eax,-0xf68(%rbp)
jmp    11805 <get_first_losing_move_4+0x106f5>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xf68(%rbp)
mov    -0xf68(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    11c10 <get_first_losing_move_4+0x10b00>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1183e <get_first_losing_move_4+0x1072e>
xor    %eax,%eax
mov    %eax,-0xf6c(%rbp)
jmp    1184f <get_first_losing_move_4+0x1073f>
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    11873 <get_first_losing_move_4+0x10763>
xor    %eax,%eax
mov    %eax,-0xf70(%rbp)
jmp    11884 <get_first_losing_move_4+0x10774>
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    118b0 <get_first_losing_move_4+0x107a0>
xor    %eax,%eax
mov    %eax,-0xf74(%rbp)
jmp    118c1 <get_first_losing_move_4+0x107b1>
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    118e5 <get_first_losing_move_4+0x107d5>
xor    %eax,%eax
mov    %eax,-0xf78(%rbp)
jmp    118f6 <get_first_losing_move_4+0x107e6>
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    11922 <get_first_losing_move_4+0x10812>
xor    %eax,%eax
mov    %eax,-0xf7c(%rbp)
jmp    11933 <get_first_losing_move_4+0x10823>
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    11957 <get_first_losing_move_4+0x10847>
xor    %eax,%eax
mov    %eax,-0xf80(%rbp)
jmp    11968 <get_first_losing_move_4+0x10858>
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    11994 <get_first_losing_move_4+0x10884>
xor    %eax,%eax
mov    %eax,-0xf84(%rbp)
jmp    119a5 <get_first_losing_move_4+0x10895>
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    119c9 <get_first_losing_move_4+0x108b9>
xor    %eax,%eax
mov    %eax,-0xf88(%rbp)
jmp    119da <get_first_losing_move_4+0x108ca>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    11a32 <get_first_losing_move_4+0x10922>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11a48 <get_first_losing_move_4+0x10938>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11a6a <get_first_losing_move_4+0x1095a>
xor    %eax,%eax
mov    %eax,-0xf8c(%rbp)
jmp    11a7b <get_first_losing_move_4+0x1096b>
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    11a9f <get_first_losing_move_4+0x1098f>
xor    %eax,%eax
mov    %eax,-0xf90(%rbp)
jmp    11ab0 <get_first_losing_move_4+0x109a0>
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    11adc <get_first_losing_move_4+0x109cc>
xor    %eax,%eax
mov    %eax,-0xf94(%rbp)
jmp    11aed <get_first_losing_move_4+0x109dd>
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    11b11 <get_first_losing_move_4+0x10a01>
xor    %eax,%eax
mov    %eax,-0xf98(%rbp)
jmp    11b22 <get_first_losing_move_4+0x10a12>
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    11b4e <get_first_losing_move_4+0x10a3e>
xor    %eax,%eax
mov    %eax,-0xf9c(%rbp)
jmp    11b5f <get_first_losing_move_4+0x10a4f>
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    11b83 <get_first_losing_move_4+0x10a73>
xor    %eax,%eax
mov    %eax,-0xfa0(%rbp)
jmp    11b94 <get_first_losing_move_4+0x10a84>
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    11bc0 <get_first_losing_move_4+0x10ab0>
xor    %eax,%eax
mov    %eax,-0xfa4(%rbp)
jmp    11bd1 <get_first_losing_move_4+0x10ac1>
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    11bf5 <get_first_losing_move_4+0x10ae5>
xor    %eax,%eax
mov    %eax,-0xfa8(%rbp)
jmp    11c06 <get_first_losing_move_4+0x10af6>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfa8(%rbp)
mov    -0xfa8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    11c1d <get_first_losing_move_4+0x10b0d>
jmp    16b8b <get_first_losing_move_4+0x15a7b>
movswl -0x18(%rbp),%eax
cmp    $0x17,%eax
jne    124f6 <get_first_losing_move_4+0x113e6>
movswl -0x8(%rbp),%eax
cmp    $0x0,%eax
je     124f1 <get_first_losing_move_4+0x113e1>
movswl -0x8(%rbp),%eax
cmp    $0x15,%eax
jge    124f1 <get_first_losing_move_4+0x113e1>
movswl -0x8(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     124f1 <get_first_losing_move_4+0x113e1>
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     124ec <get_first_losing_move_4+0x113dc>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     124ec <get_first_losing_move_4+0x113dc>
movswl -0x14(%rbp),%eax
movswl -0xa(%rbp),%ecx
cmp    %ecx,%eax
je     124ec <get_first_losing_move_4+0x113dc>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     124ec <get_first_losing_move_4+0x113dc>
movswl -0x14(%rbp),%eax
movswl 0x10(%rbp),%ecx
cmp    %ecx,%eax
je     124ec <get_first_losing_move_4+0x113dc>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     124ec <get_first_losing_move_4+0x113dc>
mov    -0x14(%rbp),%ax
mov    %ax,-0x8(%rbp)
movswl -0xe(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    120f0 <get_first_losing_move_4+0x10fe0>
movw   $0x0,-0xe(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11d11 <get_first_losing_move_4+0x10c01>
xor    %eax,%eax
mov    %eax,-0xfac(%rbp)
jmp    11d22 <get_first_losing_move_4+0x10c12>
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    11d46 <get_first_losing_move_4+0x10c36>
xor    %eax,%eax
mov    %eax,-0xfb0(%rbp)
jmp    11d57 <get_first_losing_move_4+0x10c47>
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    11d83 <get_first_losing_move_4+0x10c73>
xor    %eax,%eax
mov    %eax,-0xfb4(%rbp)
jmp    11d94 <get_first_losing_move_4+0x10c84>
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    11db8 <get_first_losing_move_4+0x10ca8>
xor    %eax,%eax
mov    %eax,-0xfb8(%rbp)
jmp    11dc9 <get_first_losing_move_4+0x10cb9>
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    11df5 <get_first_losing_move_4+0x10ce5>
xor    %eax,%eax
mov    %eax,-0xfbc(%rbp)
jmp    11e06 <get_first_losing_move_4+0x10cf6>
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    11e2a <get_first_losing_move_4+0x10d1a>
xor    %eax,%eax
mov    %eax,-0xfc0(%rbp)
jmp    11e3b <get_first_losing_move_4+0x10d2b>
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    11e67 <get_first_losing_move_4+0x10d57>
xor    %eax,%eax
mov    %eax,-0xfc4(%rbp)
jmp    11e78 <get_first_losing_move_4+0x10d68>
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    11e9c <get_first_losing_move_4+0x10d8c>
xor    %eax,%eax
mov    %eax,-0xfc8(%rbp)
jmp    11ead <get_first_losing_move_4+0x10d9d>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    11f05 <get_first_losing_move_4+0x10df5>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     11f1b <get_first_losing_move_4+0x10e0b>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    11f3d <get_first_losing_move_4+0x10e2d>
xor    %eax,%eax
mov    %eax,-0xfcc(%rbp)
jmp    11f4e <get_first_losing_move_4+0x10e3e>
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    11f72 <get_first_losing_move_4+0x10e62>
xor    %eax,%eax
mov    %eax,-0xfd0(%rbp)
jmp    11f83 <get_first_losing_move_4+0x10e73>
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    11faf <get_first_losing_move_4+0x10e9f>
xor    %eax,%eax
mov    %eax,-0xfd4(%rbp)
jmp    11fc0 <get_first_losing_move_4+0x10eb0>
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    11fe4 <get_first_losing_move_4+0x10ed4>
xor    %eax,%eax
mov    %eax,-0xfd8(%rbp)
jmp    11ff5 <get_first_losing_move_4+0x10ee5>
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    12021 <get_first_losing_move_4+0x10f11>
xor    %eax,%eax
mov    %eax,-0xfdc(%rbp)
jmp    12032 <get_first_losing_move_4+0x10f22>
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    12056 <get_first_losing_move_4+0x10f46>
xor    %eax,%eax
mov    %eax,-0xfe0(%rbp)
jmp    12067 <get_first_losing_move_4+0x10f57>
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    12093 <get_first_losing_move_4+0x10f83>
xor    %eax,%eax
mov    %eax,-0xfe4(%rbp)
jmp    120a4 <get_first_losing_move_4+0x10f94>
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    120c8 <get_first_losing_move_4+0x10fb8>
xor    %eax,%eax
mov    %eax,-0xfe8(%rbp)
jmp    120d9 <get_first_losing_move_4+0x10fc9>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0xfe8(%rbp)
mov    -0xfe8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,-0xe(%rbp)
jmp    124e4 <get_first_losing_move_4+0x113d4>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12112 <get_first_losing_move_4+0x11002>
xor    %eax,%eax
mov    %eax,-0xfec(%rbp)
jmp    12123 <get_first_losing_move_4+0x11013>
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    12147 <get_first_losing_move_4+0x11037>
xor    %eax,%eax
mov    %eax,-0xff0(%rbp)
jmp    12158 <get_first_losing_move_4+0x11048>
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    12184 <get_first_losing_move_4+0x11074>
xor    %eax,%eax
mov    %eax,-0xff4(%rbp)
jmp    12195 <get_first_losing_move_4+0x11085>
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    121b9 <get_first_losing_move_4+0x110a9>
xor    %eax,%eax
mov    %eax,-0xff8(%rbp)
jmp    121ca <get_first_losing_move_4+0x110ba>
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    121f6 <get_first_losing_move_4+0x110e6>
xor    %eax,%eax
mov    %eax,-0xffc(%rbp)
jmp    12207 <get_first_losing_move_4+0x110f7>
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    1222b <get_first_losing_move_4+0x1111b>
xor    %eax,%eax
mov    %eax,-0x1000(%rbp)
jmp    1223c <get_first_losing_move_4+0x1112c>
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    12268 <get_first_losing_move_4+0x11158>
xor    %eax,%eax
mov    %eax,-0x1004(%rbp)
jmp    12279 <get_first_losing_move_4+0x11169>
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    1229d <get_first_losing_move_4+0x1118d>
xor    %eax,%eax
mov    %eax,-0x1008(%rbp)
jmp    122ae <get_first_losing_move_4+0x1119e>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    12306 <get_first_losing_move_4+0x111f6>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1231c <get_first_losing_move_4+0x1120c>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1233e <get_first_losing_move_4+0x1122e>
xor    %eax,%eax
mov    %eax,-0x100c(%rbp)
jmp    1234f <get_first_losing_move_4+0x1123f>
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    12373 <get_first_losing_move_4+0x11263>
xor    %eax,%eax
mov    %eax,-0x1010(%rbp)
jmp    12384 <get_first_losing_move_4+0x11274>
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    123b0 <get_first_losing_move_4+0x112a0>
xor    %eax,%eax
mov    %eax,-0x1014(%rbp)
jmp    123c1 <get_first_losing_move_4+0x112b1>
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    123e5 <get_first_losing_move_4+0x112d5>
xor    %eax,%eax
mov    %eax,-0x1018(%rbp)
jmp    123f6 <get_first_losing_move_4+0x112e6>
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    12422 <get_first_losing_move_4+0x11312>
xor    %eax,%eax
mov    %eax,-0x101c(%rbp)
jmp    12433 <get_first_losing_move_4+0x11323>
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    12457 <get_first_losing_move_4+0x11347>
xor    %eax,%eax
mov    %eax,-0x1020(%rbp)
jmp    12468 <get_first_losing_move_4+0x11358>
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    12494 <get_first_losing_move_4+0x11384>
xor    %eax,%eax
mov    %eax,-0x1024(%rbp)
jmp    124a5 <get_first_losing_move_4+0x11395>
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    124c9 <get_first_losing_move_4+0x113b9>
xor    %eax,%eax
mov    %eax,-0x1028(%rbp)
jmp    124da <get_first_losing_move_4+0x113ca>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1028(%rbp)
mov    -0x1028(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0x8(%rbp)
jmp    124f1 <get_first_losing_move_4+0x113e1>
jmp    16b86 <get_first_losing_move_4+0x15a76>
movswl -0x18(%rbp),%eax
cmp    $0x18,%eax
jne    12db5 <get_first_losing_move_4+0x11ca5>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     12db0 <get_first_losing_move_4+0x11ca0>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    12db0 <get_first_losing_move_4+0x11ca0>
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     12dab <get_first_losing_move_4+0x11c9b>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     12dab <get_first_losing_move_4+0x11c9b>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     12dab <get_first_losing_move_4+0x11c9b>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     12dab <get_first_losing_move_4+0x11c9b>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     12dab <get_first_losing_move_4+0x11c9b>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     12dab <get_first_losing_move_4+0x11c9b>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    129af <get_first_losing_move_4+0x1189f>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    125d0 <get_first_losing_move_4+0x114c0>
xor    %eax,%eax
mov    %eax,-0x102c(%rbp)
jmp    125e1 <get_first_losing_move_4+0x114d1>
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    12605 <get_first_losing_move_4+0x114f5>
xor    %eax,%eax
mov    %eax,-0x1030(%rbp)
jmp    12616 <get_first_losing_move_4+0x11506>
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    12642 <get_first_losing_move_4+0x11532>
xor    %eax,%eax
mov    %eax,-0x1034(%rbp)
jmp    12653 <get_first_losing_move_4+0x11543>
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    12677 <get_first_losing_move_4+0x11567>
xor    %eax,%eax
mov    %eax,-0x1038(%rbp)
jmp    12688 <get_first_losing_move_4+0x11578>
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    126b4 <get_first_losing_move_4+0x115a4>
xor    %eax,%eax
mov    %eax,-0x103c(%rbp)
jmp    126c5 <get_first_losing_move_4+0x115b5>
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    126e9 <get_first_losing_move_4+0x115d9>
xor    %eax,%eax
mov    %eax,-0x1040(%rbp)
jmp    126fa <get_first_losing_move_4+0x115ea>
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    12726 <get_first_losing_move_4+0x11616>
xor    %eax,%eax
mov    %eax,-0x1044(%rbp)
jmp    12737 <get_first_losing_move_4+0x11627>
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    1275b <get_first_losing_move_4+0x1164b>
xor    %eax,%eax
mov    %eax,-0x1048(%rbp)
jmp    1276c <get_first_losing_move_4+0x1165c>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    127c4 <get_first_losing_move_4+0x116b4>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     127da <get_first_losing_move_4+0x116ca>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    127fc <get_first_losing_move_4+0x116ec>
xor    %eax,%eax
mov    %eax,-0x104c(%rbp)
jmp    1280d <get_first_losing_move_4+0x116fd>
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    12831 <get_first_losing_move_4+0x11721>
xor    %eax,%eax
mov    %eax,-0x1050(%rbp)
jmp    12842 <get_first_losing_move_4+0x11732>
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    1286e <get_first_losing_move_4+0x1175e>
xor    %eax,%eax
mov    %eax,-0x1054(%rbp)
jmp    1287f <get_first_losing_move_4+0x1176f>
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    128a3 <get_first_losing_move_4+0x11793>
xor    %eax,%eax
mov    %eax,-0x1058(%rbp)
jmp    128b4 <get_first_losing_move_4+0x117a4>
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    128e0 <get_first_losing_move_4+0x117d0>
xor    %eax,%eax
mov    %eax,-0x105c(%rbp)
jmp    128f1 <get_first_losing_move_4+0x117e1>
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    12915 <get_first_losing_move_4+0x11805>
xor    %eax,%eax
mov    %eax,-0x1060(%rbp)
jmp    12926 <get_first_losing_move_4+0x11816>
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    12952 <get_first_losing_move_4+0x11842>
xor    %eax,%eax
mov    %eax,-0x1064(%rbp)
jmp    12963 <get_first_losing_move_4+0x11853>
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    12987 <get_first_losing_move_4+0x11877>
xor    %eax,%eax
mov    %eax,-0x1068(%rbp)
jmp    12998 <get_first_losing_move_4+0x11888>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1068(%rbp)
mov    -0x1068(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    12da3 <get_first_losing_move_4+0x11c93>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    129d1 <get_first_losing_move_4+0x118c1>
xor    %eax,%eax
mov    %eax,-0x106c(%rbp)
jmp    129e2 <get_first_losing_move_4+0x118d2>
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    12a06 <get_first_losing_move_4+0x118f6>
xor    %eax,%eax
mov    %eax,-0x1070(%rbp)
jmp    12a17 <get_first_losing_move_4+0x11907>
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    12a43 <get_first_losing_move_4+0x11933>
xor    %eax,%eax
mov    %eax,-0x1074(%rbp)
jmp    12a54 <get_first_losing_move_4+0x11944>
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    12a78 <get_first_losing_move_4+0x11968>
xor    %eax,%eax
mov    %eax,-0x1078(%rbp)
jmp    12a89 <get_first_losing_move_4+0x11979>
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    12ab5 <get_first_losing_move_4+0x119a5>
xor    %eax,%eax
mov    %eax,-0x107c(%rbp)
jmp    12ac6 <get_first_losing_move_4+0x119b6>
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    12aea <get_first_losing_move_4+0x119da>
xor    %eax,%eax
mov    %eax,-0x1080(%rbp)
jmp    12afb <get_first_losing_move_4+0x119eb>
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    12b27 <get_first_losing_move_4+0x11a17>
xor    %eax,%eax
mov    %eax,-0x1084(%rbp)
jmp    12b38 <get_first_losing_move_4+0x11a28>
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    12b5c <get_first_losing_move_4+0x11a4c>
xor    %eax,%eax
mov    %eax,-0x1088(%rbp)
jmp    12b6d <get_first_losing_move_4+0x11a5d>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    12bc5 <get_first_losing_move_4+0x11ab5>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     12bdb <get_first_losing_move_4+0x11acb>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12bfd <get_first_losing_move_4+0x11aed>
xor    %eax,%eax
mov    %eax,-0x108c(%rbp)
jmp    12c0e <get_first_losing_move_4+0x11afe>
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    12c32 <get_first_losing_move_4+0x11b22>
xor    %eax,%eax
mov    %eax,-0x1090(%rbp)
jmp    12c43 <get_first_losing_move_4+0x11b33>
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    12c6f <get_first_losing_move_4+0x11b5f>
xor    %eax,%eax
mov    %eax,-0x1094(%rbp)
jmp    12c80 <get_first_losing_move_4+0x11b70>
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    12ca4 <get_first_losing_move_4+0x11b94>
xor    %eax,%eax
mov    %eax,-0x1098(%rbp)
jmp    12cb5 <get_first_losing_move_4+0x11ba5>
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    12ce1 <get_first_losing_move_4+0x11bd1>
xor    %eax,%eax
mov    %eax,-0x109c(%rbp)
jmp    12cf2 <get_first_losing_move_4+0x11be2>
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    12d16 <get_first_losing_move_4+0x11c06>
xor    %eax,%eax
mov    %eax,-0x10a0(%rbp)
jmp    12d27 <get_first_losing_move_4+0x11c17>
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    12d53 <get_first_losing_move_4+0x11c43>
xor    %eax,%eax
mov    %eax,-0x10a4(%rbp)
jmp    12d64 <get_first_losing_move_4+0x11c54>
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    12d88 <get_first_losing_move_4+0x11c78>
xor    %eax,%eax
mov    %eax,-0x10a8(%rbp)
jmp    12d99 <get_first_losing_move_4+0x11c89>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10a8(%rbp)
mov    -0x10a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    12db0 <get_first_losing_move_4+0x11ca0>
jmp    16b81 <get_first_losing_move_4+0x15a71>
movswl -0x18(%rbp),%eax
cmp    $0x19,%eax
jne    13689 <get_first_losing_move_4+0x12579>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     13684 <get_first_losing_move_4+0x12574>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    13684 <get_first_losing_move_4+0x12574>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     13684 <get_first_losing_move_4+0x12574>
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     1367f <get_first_losing_move_4+0x1256f>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1367f <get_first_losing_move_4+0x1256f>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1367f <get_first_losing_move_4+0x1256f>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1367f <get_first_losing_move_4+0x1256f>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1367f <get_first_losing_move_4+0x1256f>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     1367f <get_first_losing_move_4+0x1256f>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    13283 <get_first_losing_move_4+0x12173>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    12ea4 <get_first_losing_move_4+0x11d94>
xor    %eax,%eax
mov    %eax,-0x10ac(%rbp)
jmp    12eb5 <get_first_losing_move_4+0x11da5>
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    12ed9 <get_first_losing_move_4+0x11dc9>
xor    %eax,%eax
mov    %eax,-0x10b0(%rbp)
jmp    12eea <get_first_losing_move_4+0x11dda>
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    12f16 <get_first_losing_move_4+0x11e06>
xor    %eax,%eax
mov    %eax,-0x10b4(%rbp)
jmp    12f27 <get_first_losing_move_4+0x11e17>
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    12f4b <get_first_losing_move_4+0x11e3b>
xor    %eax,%eax
mov    %eax,-0x10b8(%rbp)
jmp    12f5c <get_first_losing_move_4+0x11e4c>
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    12f88 <get_first_losing_move_4+0x11e78>
xor    %eax,%eax
mov    %eax,-0x10bc(%rbp)
jmp    12f99 <get_first_losing_move_4+0x11e89>
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    12fbd <get_first_losing_move_4+0x11ead>
xor    %eax,%eax
mov    %eax,-0x10c0(%rbp)
jmp    12fce <get_first_losing_move_4+0x11ebe>
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    12ffa <get_first_losing_move_4+0x11eea>
xor    %eax,%eax
mov    %eax,-0x10c4(%rbp)
jmp    1300b <get_first_losing_move_4+0x11efb>
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    1302f <get_first_losing_move_4+0x11f1f>
xor    %eax,%eax
mov    %eax,-0x10c8(%rbp)
jmp    13040 <get_first_losing_move_4+0x11f30>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    13098 <get_first_losing_move_4+0x11f88>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     130ae <get_first_losing_move_4+0x11f9e>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    130d0 <get_first_losing_move_4+0x11fc0>
xor    %eax,%eax
mov    %eax,-0x10cc(%rbp)
jmp    130e1 <get_first_losing_move_4+0x11fd1>
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    13105 <get_first_losing_move_4+0x11ff5>
xor    %eax,%eax
mov    %eax,-0x10d0(%rbp)
jmp    13116 <get_first_losing_move_4+0x12006>
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    13142 <get_first_losing_move_4+0x12032>
xor    %eax,%eax
mov    %eax,-0x10d4(%rbp)
jmp    13153 <get_first_losing_move_4+0x12043>
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    13177 <get_first_losing_move_4+0x12067>
xor    %eax,%eax
mov    %eax,-0x10d8(%rbp)
jmp    13188 <get_first_losing_move_4+0x12078>
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    131b4 <get_first_losing_move_4+0x120a4>
xor    %eax,%eax
mov    %eax,-0x10dc(%rbp)
jmp    131c5 <get_first_losing_move_4+0x120b5>
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    131e9 <get_first_losing_move_4+0x120d9>
xor    %eax,%eax
mov    %eax,-0x10e0(%rbp)
jmp    131fa <get_first_losing_move_4+0x120ea>
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    13226 <get_first_losing_move_4+0x12116>
xor    %eax,%eax
mov    %eax,-0x10e4(%rbp)
jmp    13237 <get_first_losing_move_4+0x12127>
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    1325b <get_first_losing_move_4+0x1214b>
xor    %eax,%eax
mov    %eax,-0x10e8(%rbp)
jmp    1326c <get_first_losing_move_4+0x1215c>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x10e8(%rbp)
mov    -0x10e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    13677 <get_first_losing_move_4+0x12567>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    132a5 <get_first_losing_move_4+0x12195>
xor    %eax,%eax
mov    %eax,-0x10ec(%rbp)
jmp    132b6 <get_first_losing_move_4+0x121a6>
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    132da <get_first_losing_move_4+0x121ca>
xor    %eax,%eax
mov    %eax,-0x10f0(%rbp)
jmp    132eb <get_first_losing_move_4+0x121db>
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    13317 <get_first_losing_move_4+0x12207>
xor    %eax,%eax
mov    %eax,-0x10f4(%rbp)
jmp    13328 <get_first_losing_move_4+0x12218>
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    1334c <get_first_losing_move_4+0x1223c>
xor    %eax,%eax
mov    %eax,-0x10f8(%rbp)
jmp    1335d <get_first_losing_move_4+0x1224d>
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    13389 <get_first_losing_move_4+0x12279>
xor    %eax,%eax
mov    %eax,-0x10fc(%rbp)
jmp    1339a <get_first_losing_move_4+0x1228a>
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    133be <get_first_losing_move_4+0x122ae>
xor    %eax,%eax
mov    %eax,-0x1100(%rbp)
jmp    133cf <get_first_losing_move_4+0x122bf>
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    133fb <get_first_losing_move_4+0x122eb>
xor    %eax,%eax
mov    %eax,-0x1104(%rbp)
jmp    1340c <get_first_losing_move_4+0x122fc>
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    13430 <get_first_losing_move_4+0x12320>
xor    %eax,%eax
mov    %eax,-0x1108(%rbp)
jmp    13441 <get_first_losing_move_4+0x12331>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    13499 <get_first_losing_move_4+0x12389>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     134af <get_first_losing_move_4+0x1239f>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    134d1 <get_first_losing_move_4+0x123c1>
xor    %eax,%eax
mov    %eax,-0x110c(%rbp)
jmp    134e2 <get_first_losing_move_4+0x123d2>
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    13506 <get_first_losing_move_4+0x123f6>
xor    %eax,%eax
mov    %eax,-0x1110(%rbp)
jmp    13517 <get_first_losing_move_4+0x12407>
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    13543 <get_first_losing_move_4+0x12433>
xor    %eax,%eax
mov    %eax,-0x1114(%rbp)
jmp    13554 <get_first_losing_move_4+0x12444>
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    13578 <get_first_losing_move_4+0x12468>
xor    %eax,%eax
mov    %eax,-0x1118(%rbp)
jmp    13589 <get_first_losing_move_4+0x12479>
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    135b5 <get_first_losing_move_4+0x124a5>
xor    %eax,%eax
mov    %eax,-0x111c(%rbp)
jmp    135c6 <get_first_losing_move_4+0x124b6>
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    135ea <get_first_losing_move_4+0x124da>
xor    %eax,%eax
mov    %eax,-0x1120(%rbp)
jmp    135fb <get_first_losing_move_4+0x124eb>
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    13627 <get_first_losing_move_4+0x12517>
xor    %eax,%eax
mov    %eax,-0x1124(%rbp)
jmp    13638 <get_first_losing_move_4+0x12528>
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    1365c <get_first_losing_move_4+0x1254c>
xor    %eax,%eax
mov    %eax,-0x1128(%rbp)
jmp    1366d <get_first_losing_move_4+0x1255d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1128(%rbp)
mov    -0x1128(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    13684 <get_first_losing_move_4+0x12574>
jmp    16b7c <get_first_losing_move_4+0x15a6c>
movswl -0x18(%rbp),%eax
cmp    $0x1a,%eax
jne    13f50 <get_first_losing_move_4+0x12e40>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     13f4b <get_first_losing_move_4+0x12e3b>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     13f4b <get_first_losing_move_4+0x12e3b>
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     13f46 <get_first_losing_move_4+0x12e36>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     13f46 <get_first_losing_move_4+0x12e36>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     13f46 <get_first_losing_move_4+0x12e36>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     13f46 <get_first_losing_move_4+0x12e36>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     13f46 <get_first_losing_move_4+0x12e36>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     13f46 <get_first_losing_move_4+0x12e36>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    13b4a <get_first_losing_move_4+0x12a3a>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1376b <get_first_losing_move_4+0x1265b>
xor    %eax,%eax
mov    %eax,-0x112c(%rbp)
jmp    1377c <get_first_losing_move_4+0x1266c>
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    137a0 <get_first_losing_move_4+0x12690>
xor    %eax,%eax
mov    %eax,-0x1130(%rbp)
jmp    137b1 <get_first_losing_move_4+0x126a1>
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    137dd <get_first_losing_move_4+0x126cd>
xor    %eax,%eax
mov    %eax,-0x1134(%rbp)
jmp    137ee <get_first_losing_move_4+0x126de>
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    13812 <get_first_losing_move_4+0x12702>
xor    %eax,%eax
mov    %eax,-0x1138(%rbp)
jmp    13823 <get_first_losing_move_4+0x12713>
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    1384f <get_first_losing_move_4+0x1273f>
xor    %eax,%eax
mov    %eax,-0x113c(%rbp)
jmp    13860 <get_first_losing_move_4+0x12750>
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    13884 <get_first_losing_move_4+0x12774>
xor    %eax,%eax
mov    %eax,-0x1140(%rbp)
jmp    13895 <get_first_losing_move_4+0x12785>
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    138c1 <get_first_losing_move_4+0x127b1>
xor    %eax,%eax
mov    %eax,-0x1144(%rbp)
jmp    138d2 <get_first_losing_move_4+0x127c2>
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    138f6 <get_first_losing_move_4+0x127e6>
xor    %eax,%eax
mov    %eax,-0x1148(%rbp)
jmp    13907 <get_first_losing_move_4+0x127f7>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1395f <get_first_losing_move_4+0x1284f>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     13975 <get_first_losing_move_4+0x12865>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13997 <get_first_losing_move_4+0x12887>
xor    %eax,%eax
mov    %eax,-0x114c(%rbp)
jmp    139a8 <get_first_losing_move_4+0x12898>
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    139cc <get_first_losing_move_4+0x128bc>
xor    %eax,%eax
mov    %eax,-0x1150(%rbp)
jmp    139dd <get_first_losing_move_4+0x128cd>
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    13a09 <get_first_losing_move_4+0x128f9>
xor    %eax,%eax
mov    %eax,-0x1154(%rbp)
jmp    13a1a <get_first_losing_move_4+0x1290a>
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    13a3e <get_first_losing_move_4+0x1292e>
xor    %eax,%eax
mov    %eax,-0x1158(%rbp)
jmp    13a4f <get_first_losing_move_4+0x1293f>
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    13a7b <get_first_losing_move_4+0x1296b>
xor    %eax,%eax
mov    %eax,-0x115c(%rbp)
jmp    13a8c <get_first_losing_move_4+0x1297c>
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    13ab0 <get_first_losing_move_4+0x129a0>
xor    %eax,%eax
mov    %eax,-0x1160(%rbp)
jmp    13ac1 <get_first_losing_move_4+0x129b1>
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    13aed <get_first_losing_move_4+0x129dd>
xor    %eax,%eax
mov    %eax,-0x1164(%rbp)
jmp    13afe <get_first_losing_move_4+0x129ee>
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    13b22 <get_first_losing_move_4+0x12a12>
xor    %eax,%eax
mov    %eax,-0x1168(%rbp)
jmp    13b33 <get_first_losing_move_4+0x12a23>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1168(%rbp)
mov    -0x1168(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    13f3e <get_first_losing_move_4+0x12e2e>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13b6c <get_first_losing_move_4+0x12a5c>
xor    %eax,%eax
mov    %eax,-0x116c(%rbp)
jmp    13b7d <get_first_losing_move_4+0x12a6d>
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    13ba1 <get_first_losing_move_4+0x12a91>
xor    %eax,%eax
mov    %eax,-0x1170(%rbp)
jmp    13bb2 <get_first_losing_move_4+0x12aa2>
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    13bde <get_first_losing_move_4+0x12ace>
xor    %eax,%eax
mov    %eax,-0x1174(%rbp)
jmp    13bef <get_first_losing_move_4+0x12adf>
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    13c13 <get_first_losing_move_4+0x12b03>
xor    %eax,%eax
mov    %eax,-0x1178(%rbp)
jmp    13c24 <get_first_losing_move_4+0x12b14>
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    13c50 <get_first_losing_move_4+0x12b40>
xor    %eax,%eax
mov    %eax,-0x117c(%rbp)
jmp    13c61 <get_first_losing_move_4+0x12b51>
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    13c85 <get_first_losing_move_4+0x12b75>
xor    %eax,%eax
mov    %eax,-0x1180(%rbp)
jmp    13c96 <get_first_losing_move_4+0x12b86>
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    13cc2 <get_first_losing_move_4+0x12bb2>
xor    %eax,%eax
mov    %eax,-0x1184(%rbp)
jmp    13cd3 <get_first_losing_move_4+0x12bc3>
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    13cf7 <get_first_losing_move_4+0x12be7>
xor    %eax,%eax
mov    %eax,-0x1188(%rbp)
jmp    13d08 <get_first_losing_move_4+0x12bf8>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    13d60 <get_first_losing_move_4+0x12c50>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     13d76 <get_first_losing_move_4+0x12c66>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    13d98 <get_first_losing_move_4+0x12c88>
xor    %eax,%eax
mov    %eax,-0x118c(%rbp)
jmp    13da9 <get_first_losing_move_4+0x12c99>
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    13dcd <get_first_losing_move_4+0x12cbd>
xor    %eax,%eax
mov    %eax,-0x1190(%rbp)
jmp    13dde <get_first_losing_move_4+0x12cce>
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    13e0a <get_first_losing_move_4+0x12cfa>
xor    %eax,%eax
mov    %eax,-0x1194(%rbp)
jmp    13e1b <get_first_losing_move_4+0x12d0b>
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    13e3f <get_first_losing_move_4+0x12d2f>
xor    %eax,%eax
mov    %eax,-0x1198(%rbp)
jmp    13e50 <get_first_losing_move_4+0x12d40>
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    13e7c <get_first_losing_move_4+0x12d6c>
xor    %eax,%eax
mov    %eax,-0x119c(%rbp)
jmp    13e8d <get_first_losing_move_4+0x12d7d>
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    13eb1 <get_first_losing_move_4+0x12da1>
xor    %eax,%eax
mov    %eax,-0x11a0(%rbp)
jmp    13ec2 <get_first_losing_move_4+0x12db2>
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    13eee <get_first_losing_move_4+0x12dde>
xor    %eax,%eax
mov    %eax,-0x11a4(%rbp)
jmp    13eff <get_first_losing_move_4+0x12def>
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    13f23 <get_first_losing_move_4+0x12e13>
xor    %eax,%eax
mov    %eax,-0x11a8(%rbp)
jmp    13f34 <get_first_losing_move_4+0x12e24>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11a8(%rbp)
mov    -0x11a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    13f4b <get_first_losing_move_4+0x12e3b>
jmp    16b77 <get_first_losing_move_4+0x15a67>
movswl -0x18(%rbp),%eax
cmp    $0x1b,%eax
jne    14828 <get_first_losing_move_4+0x13718>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     14823 <get_first_losing_move_4+0x13713>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    14823 <get_first_losing_move_4+0x13713>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     14823 <get_first_losing_move_4+0x13713>
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     1481e <get_first_losing_move_4+0x1370e>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     1481e <get_first_losing_move_4+0x1370e>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     1481e <get_first_losing_move_4+0x1370e>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     1481e <get_first_losing_move_4+0x1370e>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     1481e <get_first_losing_move_4+0x1370e>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     1481e <get_first_losing_move_4+0x1370e>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    14422 <get_first_losing_move_4+0x13312>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14043 <get_first_losing_move_4+0x12f33>
xor    %eax,%eax
mov    %eax,-0x11ac(%rbp)
jmp    14054 <get_first_losing_move_4+0x12f44>
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    14078 <get_first_losing_move_4+0x12f68>
xor    %eax,%eax
mov    %eax,-0x11b0(%rbp)
jmp    14089 <get_first_losing_move_4+0x12f79>
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    140b5 <get_first_losing_move_4+0x12fa5>
xor    %eax,%eax
mov    %eax,-0x11b4(%rbp)
jmp    140c6 <get_first_losing_move_4+0x12fb6>
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    140ea <get_first_losing_move_4+0x12fda>
xor    %eax,%eax
mov    %eax,-0x11b8(%rbp)
jmp    140fb <get_first_losing_move_4+0x12feb>
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    14127 <get_first_losing_move_4+0x13017>
xor    %eax,%eax
mov    %eax,-0x11bc(%rbp)
jmp    14138 <get_first_losing_move_4+0x13028>
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    1415c <get_first_losing_move_4+0x1304c>
xor    %eax,%eax
mov    %eax,-0x11c0(%rbp)
jmp    1416d <get_first_losing_move_4+0x1305d>
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    14199 <get_first_losing_move_4+0x13089>
xor    %eax,%eax
mov    %eax,-0x11c4(%rbp)
jmp    141aa <get_first_losing_move_4+0x1309a>
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    141ce <get_first_losing_move_4+0x130be>
xor    %eax,%eax
mov    %eax,-0x11c8(%rbp)
jmp    141df <get_first_losing_move_4+0x130cf>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    14237 <get_first_losing_move_4+0x13127>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1424d <get_first_losing_move_4+0x1313d>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1426f <get_first_losing_move_4+0x1315f>
xor    %eax,%eax
mov    %eax,-0x11cc(%rbp)
jmp    14280 <get_first_losing_move_4+0x13170>
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    142a4 <get_first_losing_move_4+0x13194>
xor    %eax,%eax
mov    %eax,-0x11d0(%rbp)
jmp    142b5 <get_first_losing_move_4+0x131a5>
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    142e1 <get_first_losing_move_4+0x131d1>
xor    %eax,%eax
mov    %eax,-0x11d4(%rbp)
jmp    142f2 <get_first_losing_move_4+0x131e2>
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    14316 <get_first_losing_move_4+0x13206>
xor    %eax,%eax
mov    %eax,-0x11d8(%rbp)
jmp    14327 <get_first_losing_move_4+0x13217>
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    14353 <get_first_losing_move_4+0x13243>
xor    %eax,%eax
mov    %eax,-0x11dc(%rbp)
jmp    14364 <get_first_losing_move_4+0x13254>
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    14388 <get_first_losing_move_4+0x13278>
xor    %eax,%eax
mov    %eax,-0x11e0(%rbp)
jmp    14399 <get_first_losing_move_4+0x13289>
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    143c5 <get_first_losing_move_4+0x132b5>
xor    %eax,%eax
mov    %eax,-0x11e4(%rbp)
jmp    143d6 <get_first_losing_move_4+0x132c6>
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    143fa <get_first_losing_move_4+0x132ea>
xor    %eax,%eax
mov    %eax,-0x11e8(%rbp)
jmp    1440b <get_first_losing_move_4+0x132fb>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x11e8(%rbp)
mov    -0x11e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    14816 <get_first_losing_move_4+0x13706>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14444 <get_first_losing_move_4+0x13334>
xor    %eax,%eax
mov    %eax,-0x11ec(%rbp)
jmp    14455 <get_first_losing_move_4+0x13345>
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    14479 <get_first_losing_move_4+0x13369>
xor    %eax,%eax
mov    %eax,-0x11f0(%rbp)
jmp    1448a <get_first_losing_move_4+0x1337a>
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    144b6 <get_first_losing_move_4+0x133a6>
xor    %eax,%eax
mov    %eax,-0x11f4(%rbp)
jmp    144c7 <get_first_losing_move_4+0x133b7>
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    144eb <get_first_losing_move_4+0x133db>
xor    %eax,%eax
mov    %eax,-0x11f8(%rbp)
jmp    144fc <get_first_losing_move_4+0x133ec>
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    14528 <get_first_losing_move_4+0x13418>
xor    %eax,%eax
mov    %eax,-0x11fc(%rbp)
jmp    14539 <get_first_losing_move_4+0x13429>
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    1455d <get_first_losing_move_4+0x1344d>
xor    %eax,%eax
mov    %eax,-0x1200(%rbp)
jmp    1456e <get_first_losing_move_4+0x1345e>
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    1459a <get_first_losing_move_4+0x1348a>
xor    %eax,%eax
mov    %eax,-0x1204(%rbp)
jmp    145ab <get_first_losing_move_4+0x1349b>
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    145cf <get_first_losing_move_4+0x134bf>
xor    %eax,%eax
mov    %eax,-0x1208(%rbp)
jmp    145e0 <get_first_losing_move_4+0x134d0>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    14638 <get_first_losing_move_4+0x13528>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     1464e <get_first_losing_move_4+0x1353e>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14670 <get_first_losing_move_4+0x13560>
xor    %eax,%eax
mov    %eax,-0x120c(%rbp)
jmp    14681 <get_first_losing_move_4+0x13571>
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    146a5 <get_first_losing_move_4+0x13595>
xor    %eax,%eax
mov    %eax,-0x1210(%rbp)
jmp    146b6 <get_first_losing_move_4+0x135a6>
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    146e2 <get_first_losing_move_4+0x135d2>
xor    %eax,%eax
mov    %eax,-0x1214(%rbp)
jmp    146f3 <get_first_losing_move_4+0x135e3>
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    14717 <get_first_losing_move_4+0x13607>
xor    %eax,%eax
mov    %eax,-0x1218(%rbp)
jmp    14728 <get_first_losing_move_4+0x13618>
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    14754 <get_first_losing_move_4+0x13644>
xor    %eax,%eax
mov    %eax,-0x121c(%rbp)
jmp    14765 <get_first_losing_move_4+0x13655>
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    14789 <get_first_losing_move_4+0x13679>
xor    %eax,%eax
mov    %eax,-0x1220(%rbp)
jmp    1479a <get_first_losing_move_4+0x1368a>
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    147c6 <get_first_losing_move_4+0x136b6>
xor    %eax,%eax
mov    %eax,-0x1224(%rbp)
jmp    147d7 <get_first_losing_move_4+0x136c7>
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    147fb <get_first_losing_move_4+0x136eb>
xor    %eax,%eax
mov    %eax,-0x1228(%rbp)
jmp    1480c <get_first_losing_move_4+0x136fc>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1228(%rbp)
mov    -0x1228(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    14823 <get_first_losing_move_4+0x13713>
jmp    16b72 <get_first_losing_move_4+0x15a62>
movswl -0x18(%rbp),%eax
cmp    $0x1c,%eax
jne    150eb <get_first_losing_move_4+0x13fdb>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     150e6 <get_first_losing_move_4+0x13fd6>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    150e6 <get_first_losing_move_4+0x13fd6>
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     150e1 <get_first_losing_move_4+0x13fd1>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     150e1 <get_first_losing_move_4+0x13fd1>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     150e1 <get_first_losing_move_4+0x13fd1>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     150e1 <get_first_losing_move_4+0x13fd1>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     150e1 <get_first_losing_move_4+0x13fd1>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     150e1 <get_first_losing_move_4+0x13fd1>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    14ce5 <get_first_losing_move_4+0x13bd5>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14906 <get_first_losing_move_4+0x137f6>
xor    %eax,%eax
mov    %eax,-0x122c(%rbp)
jmp    14917 <get_first_losing_move_4+0x13807>
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    1493b <get_first_losing_move_4+0x1382b>
xor    %eax,%eax
mov    %eax,-0x1230(%rbp)
jmp    1494c <get_first_losing_move_4+0x1383c>
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    14978 <get_first_losing_move_4+0x13868>
xor    %eax,%eax
mov    %eax,-0x1234(%rbp)
jmp    14989 <get_first_losing_move_4+0x13879>
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    149ad <get_first_losing_move_4+0x1389d>
xor    %eax,%eax
mov    %eax,-0x1238(%rbp)
jmp    149be <get_first_losing_move_4+0x138ae>
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    149ea <get_first_losing_move_4+0x138da>
xor    %eax,%eax
mov    %eax,-0x123c(%rbp)
jmp    149fb <get_first_losing_move_4+0x138eb>
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    14a1f <get_first_losing_move_4+0x1390f>
xor    %eax,%eax
mov    %eax,-0x1240(%rbp)
jmp    14a30 <get_first_losing_move_4+0x13920>
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    14a5c <get_first_losing_move_4+0x1394c>
xor    %eax,%eax
mov    %eax,-0x1244(%rbp)
jmp    14a6d <get_first_losing_move_4+0x1395d>
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    14a91 <get_first_losing_move_4+0x13981>
xor    %eax,%eax
mov    %eax,-0x1248(%rbp)
jmp    14aa2 <get_first_losing_move_4+0x13992>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    14afa <get_first_losing_move_4+0x139ea>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     14b10 <get_first_losing_move_4+0x13a00>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14b32 <get_first_losing_move_4+0x13a22>
xor    %eax,%eax
mov    %eax,-0x124c(%rbp)
jmp    14b43 <get_first_losing_move_4+0x13a33>
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    14b67 <get_first_losing_move_4+0x13a57>
xor    %eax,%eax
mov    %eax,-0x1250(%rbp)
jmp    14b78 <get_first_losing_move_4+0x13a68>
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    14ba4 <get_first_losing_move_4+0x13a94>
xor    %eax,%eax
mov    %eax,-0x1254(%rbp)
jmp    14bb5 <get_first_losing_move_4+0x13aa5>
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    14bd9 <get_first_losing_move_4+0x13ac9>
xor    %eax,%eax
mov    %eax,-0x1258(%rbp)
jmp    14bea <get_first_losing_move_4+0x13ada>
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    14c16 <get_first_losing_move_4+0x13b06>
xor    %eax,%eax
mov    %eax,-0x125c(%rbp)
jmp    14c27 <get_first_losing_move_4+0x13b17>
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    14c4b <get_first_losing_move_4+0x13b3b>
xor    %eax,%eax
mov    %eax,-0x1260(%rbp)
jmp    14c5c <get_first_losing_move_4+0x13b4c>
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    14c88 <get_first_losing_move_4+0x13b78>
xor    %eax,%eax
mov    %eax,-0x1264(%rbp)
jmp    14c99 <get_first_losing_move_4+0x13b89>
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    14cbd <get_first_losing_move_4+0x13bad>
xor    %eax,%eax
mov    %eax,-0x1268(%rbp)
jmp    14cce <get_first_losing_move_4+0x13bbe>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1268(%rbp)
mov    -0x1268(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    150d9 <get_first_losing_move_4+0x13fc9>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14d07 <get_first_losing_move_4+0x13bf7>
xor    %eax,%eax
mov    %eax,-0x126c(%rbp)
jmp    14d18 <get_first_losing_move_4+0x13c08>
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    14d3c <get_first_losing_move_4+0x13c2c>
xor    %eax,%eax
mov    %eax,-0x1270(%rbp)
jmp    14d4d <get_first_losing_move_4+0x13c3d>
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    14d79 <get_first_losing_move_4+0x13c69>
xor    %eax,%eax
mov    %eax,-0x1274(%rbp)
jmp    14d8a <get_first_losing_move_4+0x13c7a>
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    14dae <get_first_losing_move_4+0x13c9e>
xor    %eax,%eax
mov    %eax,-0x1278(%rbp)
jmp    14dbf <get_first_losing_move_4+0x13caf>
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    14deb <get_first_losing_move_4+0x13cdb>
xor    %eax,%eax
mov    %eax,-0x127c(%rbp)
jmp    14dfc <get_first_losing_move_4+0x13cec>
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    14e20 <get_first_losing_move_4+0x13d10>
xor    %eax,%eax
mov    %eax,-0x1280(%rbp)
jmp    14e31 <get_first_losing_move_4+0x13d21>
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    14e5d <get_first_losing_move_4+0x13d4d>
xor    %eax,%eax
mov    %eax,-0x1284(%rbp)
jmp    14e6e <get_first_losing_move_4+0x13d5e>
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    14e92 <get_first_losing_move_4+0x13d82>
xor    %eax,%eax
mov    %eax,-0x1288(%rbp)
jmp    14ea3 <get_first_losing_move_4+0x13d93>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    14efb <get_first_losing_move_4+0x13deb>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     14f11 <get_first_losing_move_4+0x13e01>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    14f33 <get_first_losing_move_4+0x13e23>
xor    %eax,%eax
mov    %eax,-0x128c(%rbp)
jmp    14f44 <get_first_losing_move_4+0x13e34>
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    14f68 <get_first_losing_move_4+0x13e58>
xor    %eax,%eax
mov    %eax,-0x1290(%rbp)
jmp    14f79 <get_first_losing_move_4+0x13e69>
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    14fa5 <get_first_losing_move_4+0x13e95>
xor    %eax,%eax
mov    %eax,-0x1294(%rbp)
jmp    14fb6 <get_first_losing_move_4+0x13ea6>
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    14fda <get_first_losing_move_4+0x13eca>
xor    %eax,%eax
mov    %eax,-0x1298(%rbp)
jmp    14feb <get_first_losing_move_4+0x13edb>
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    15017 <get_first_losing_move_4+0x13f07>
xor    %eax,%eax
mov    %eax,-0x129c(%rbp)
jmp    15028 <get_first_losing_move_4+0x13f18>
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    1504c <get_first_losing_move_4+0x13f3c>
xor    %eax,%eax
mov    %eax,-0x12a0(%rbp)
jmp    1505d <get_first_losing_move_4+0x13f4d>
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    15089 <get_first_losing_move_4+0x13f79>
xor    %eax,%eax
mov    %eax,-0x12a4(%rbp)
jmp    1509a <get_first_losing_move_4+0x13f8a>
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    150be <get_first_losing_move_4+0x13fae>
xor    %eax,%eax
mov    %eax,-0x12a8(%rbp)
jmp    150cf <get_first_losing_move_4+0x13fbf>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12a8(%rbp)
mov    -0x12a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    150e6 <get_first_losing_move_4+0x13fd6>
jmp    16b6d <get_first_losing_move_4+0x15a5d>
movswl -0x18(%rbp),%eax
cmp    $0x1d,%eax
jne    159c3 <get_first_losing_move_4+0x148b3>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     159be <get_first_losing_move_4+0x148ae>
movswl -0xa(%rbp),%ecx
mov    $0x4,%eax
cmp    %ecx,%eax
jge    159be <get_first_losing_move_4+0x148ae>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     159be <get_first_losing_move_4+0x148ae>
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     159b9 <get_first_losing_move_4+0x148a9>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     159b9 <get_first_losing_move_4+0x148a9>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     159b9 <get_first_losing_move_4+0x148a9>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     159b9 <get_first_losing_move_4+0x148a9>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     159b9 <get_first_losing_move_4+0x148a9>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     159b9 <get_first_losing_move_4+0x148a9>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    155bd <get_first_losing_move_4+0x144ad>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    151de <get_first_losing_move_4+0x140ce>
xor    %eax,%eax
mov    %eax,-0x12ac(%rbp)
jmp    151ef <get_first_losing_move_4+0x140df>
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    15213 <get_first_losing_move_4+0x14103>
xor    %eax,%eax
mov    %eax,-0x12b0(%rbp)
jmp    15224 <get_first_losing_move_4+0x14114>
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    15250 <get_first_losing_move_4+0x14140>
xor    %eax,%eax
mov    %eax,-0x12b4(%rbp)
jmp    15261 <get_first_losing_move_4+0x14151>
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    15285 <get_first_losing_move_4+0x14175>
xor    %eax,%eax
mov    %eax,-0x12b8(%rbp)
jmp    15296 <get_first_losing_move_4+0x14186>
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    152c2 <get_first_losing_move_4+0x141b2>
xor    %eax,%eax
mov    %eax,-0x12bc(%rbp)
jmp    152d3 <get_first_losing_move_4+0x141c3>
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    152f7 <get_first_losing_move_4+0x141e7>
xor    %eax,%eax
mov    %eax,-0x12c0(%rbp)
jmp    15308 <get_first_losing_move_4+0x141f8>
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    15334 <get_first_losing_move_4+0x14224>
xor    %eax,%eax
mov    %eax,-0x12c4(%rbp)
jmp    15345 <get_first_losing_move_4+0x14235>
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    15369 <get_first_losing_move_4+0x14259>
xor    %eax,%eax
mov    %eax,-0x12c8(%rbp)
jmp    1537a <get_first_losing_move_4+0x1426a>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    153d2 <get_first_losing_move_4+0x142c2>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     153e8 <get_first_losing_move_4+0x142d8>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1540a <get_first_losing_move_4+0x142fa>
xor    %eax,%eax
mov    %eax,-0x12cc(%rbp)
jmp    1541b <get_first_losing_move_4+0x1430b>
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    1543f <get_first_losing_move_4+0x1432f>
xor    %eax,%eax
mov    %eax,-0x12d0(%rbp)
jmp    15450 <get_first_losing_move_4+0x14340>
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    1547c <get_first_losing_move_4+0x1436c>
xor    %eax,%eax
mov    %eax,-0x12d4(%rbp)
jmp    1548d <get_first_losing_move_4+0x1437d>
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    154b1 <get_first_losing_move_4+0x143a1>
xor    %eax,%eax
mov    %eax,-0x12d8(%rbp)
jmp    154c2 <get_first_losing_move_4+0x143b2>
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    154ee <get_first_losing_move_4+0x143de>
xor    %eax,%eax
mov    %eax,-0x12dc(%rbp)
jmp    154ff <get_first_losing_move_4+0x143ef>
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    15523 <get_first_losing_move_4+0x14413>
xor    %eax,%eax
mov    %eax,-0x12e0(%rbp)
jmp    15534 <get_first_losing_move_4+0x14424>
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    15560 <get_first_losing_move_4+0x14450>
xor    %eax,%eax
mov    %eax,-0x12e4(%rbp)
jmp    15571 <get_first_losing_move_4+0x14461>
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    15595 <get_first_losing_move_4+0x14485>
xor    %eax,%eax
mov    %eax,-0x12e8(%rbp)
jmp    155a6 <get_first_losing_move_4+0x14496>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x12e8(%rbp)
mov    -0x12e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    159b1 <get_first_losing_move_4+0x148a1>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    155df <get_first_losing_move_4+0x144cf>
xor    %eax,%eax
mov    %eax,-0x12ec(%rbp)
jmp    155f0 <get_first_losing_move_4+0x144e0>
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    15614 <get_first_losing_move_4+0x14504>
xor    %eax,%eax
mov    %eax,-0x12f0(%rbp)
jmp    15625 <get_first_losing_move_4+0x14515>
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    15651 <get_first_losing_move_4+0x14541>
xor    %eax,%eax
mov    %eax,-0x12f4(%rbp)
jmp    15662 <get_first_losing_move_4+0x14552>
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    15686 <get_first_losing_move_4+0x14576>
xor    %eax,%eax
mov    %eax,-0x12f8(%rbp)
jmp    15697 <get_first_losing_move_4+0x14587>
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    156c3 <get_first_losing_move_4+0x145b3>
xor    %eax,%eax
mov    %eax,-0x12fc(%rbp)
jmp    156d4 <get_first_losing_move_4+0x145c4>
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    156f8 <get_first_losing_move_4+0x145e8>
xor    %eax,%eax
mov    %eax,-0x1300(%rbp)
jmp    15709 <get_first_losing_move_4+0x145f9>
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    15735 <get_first_losing_move_4+0x14625>
xor    %eax,%eax
mov    %eax,-0x1304(%rbp)
jmp    15746 <get_first_losing_move_4+0x14636>
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    1576a <get_first_losing_move_4+0x1465a>
xor    %eax,%eax
mov    %eax,-0x1308(%rbp)
jmp    1577b <get_first_losing_move_4+0x1466b>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    157d3 <get_first_losing_move_4+0x146c3>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     157e9 <get_first_losing_move_4+0x146d9>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1580b <get_first_losing_move_4+0x146fb>
xor    %eax,%eax
mov    %eax,-0x130c(%rbp)
jmp    1581c <get_first_losing_move_4+0x1470c>
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    15840 <get_first_losing_move_4+0x14730>
xor    %eax,%eax
mov    %eax,-0x1310(%rbp)
jmp    15851 <get_first_losing_move_4+0x14741>
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    1587d <get_first_losing_move_4+0x1476d>
xor    %eax,%eax
mov    %eax,-0x1314(%rbp)
jmp    1588e <get_first_losing_move_4+0x1477e>
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    158b2 <get_first_losing_move_4+0x147a2>
xor    %eax,%eax
mov    %eax,-0x1318(%rbp)
jmp    158c3 <get_first_losing_move_4+0x147b3>
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    158ef <get_first_losing_move_4+0x147df>
xor    %eax,%eax
mov    %eax,-0x131c(%rbp)
jmp    15900 <get_first_losing_move_4+0x147f0>
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    15924 <get_first_losing_move_4+0x14814>
xor    %eax,%eax
mov    %eax,-0x1320(%rbp)
jmp    15935 <get_first_losing_move_4+0x14825>
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    15961 <get_first_losing_move_4+0x14851>
xor    %eax,%eax
mov    %eax,-0x1324(%rbp)
jmp    15972 <get_first_losing_move_4+0x14862>
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    15996 <get_first_losing_move_4+0x14886>
xor    %eax,%eax
mov    %eax,-0x1328(%rbp)
jmp    159a7 <get_first_losing_move_4+0x14897>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1328(%rbp)
mov    -0x1328(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    159be <get_first_losing_move_4+0x148ae>
jmp    16b68 <get_first_losing_move_4+0x15a58>
movswl -0x18(%rbp),%eax
cmp    $0x1e,%eax
jne    1628a <get_first_losing_move_4+0x1517a>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     16285 <get_first_losing_move_4+0x15175>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     16285 <get_first_losing_move_4+0x15175>
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     16280 <get_first_losing_move_4+0x15170>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     16280 <get_first_losing_move_4+0x15170>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     16280 <get_first_losing_move_4+0x15170>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     16280 <get_first_losing_move_4+0x15170>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     16280 <get_first_losing_move_4+0x15170>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     16280 <get_first_losing_move_4+0x15170>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    15e84 <get_first_losing_move_4+0x14d74>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15aa5 <get_first_losing_move_4+0x14995>
xor    %eax,%eax
mov    %eax,-0x132c(%rbp)
jmp    15ab6 <get_first_losing_move_4+0x149a6>
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    15ada <get_first_losing_move_4+0x149ca>
xor    %eax,%eax
mov    %eax,-0x1330(%rbp)
jmp    15aeb <get_first_losing_move_4+0x149db>
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    15b17 <get_first_losing_move_4+0x14a07>
xor    %eax,%eax
mov    %eax,-0x1334(%rbp)
jmp    15b28 <get_first_losing_move_4+0x14a18>
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    15b4c <get_first_losing_move_4+0x14a3c>
xor    %eax,%eax
mov    %eax,-0x1338(%rbp)
jmp    15b5d <get_first_losing_move_4+0x14a4d>
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    15b89 <get_first_losing_move_4+0x14a79>
xor    %eax,%eax
mov    %eax,-0x133c(%rbp)
jmp    15b9a <get_first_losing_move_4+0x14a8a>
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    15bbe <get_first_losing_move_4+0x14aae>
xor    %eax,%eax
mov    %eax,-0x1340(%rbp)
jmp    15bcf <get_first_losing_move_4+0x14abf>
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    15bfb <get_first_losing_move_4+0x14aeb>
xor    %eax,%eax
mov    %eax,-0x1344(%rbp)
jmp    15c0c <get_first_losing_move_4+0x14afc>
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    15c30 <get_first_losing_move_4+0x14b20>
xor    %eax,%eax
mov    %eax,-0x1348(%rbp)
jmp    15c41 <get_first_losing_move_4+0x14b31>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    15c99 <get_first_losing_move_4+0x14b89>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     15caf <get_first_losing_move_4+0x14b9f>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15cd1 <get_first_losing_move_4+0x14bc1>
xor    %eax,%eax
mov    %eax,-0x134c(%rbp)
jmp    15ce2 <get_first_losing_move_4+0x14bd2>
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    15d06 <get_first_losing_move_4+0x14bf6>
xor    %eax,%eax
mov    %eax,-0x1350(%rbp)
jmp    15d17 <get_first_losing_move_4+0x14c07>
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    15d43 <get_first_losing_move_4+0x14c33>
xor    %eax,%eax
mov    %eax,-0x1354(%rbp)
jmp    15d54 <get_first_losing_move_4+0x14c44>
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    15d78 <get_first_losing_move_4+0x14c68>
xor    %eax,%eax
mov    %eax,-0x1358(%rbp)
jmp    15d89 <get_first_losing_move_4+0x14c79>
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    15db5 <get_first_losing_move_4+0x14ca5>
xor    %eax,%eax
mov    %eax,-0x135c(%rbp)
jmp    15dc6 <get_first_losing_move_4+0x14cb6>
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    15dea <get_first_losing_move_4+0x14cda>
xor    %eax,%eax
mov    %eax,-0x1360(%rbp)
jmp    15dfb <get_first_losing_move_4+0x14ceb>
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    15e27 <get_first_losing_move_4+0x14d17>
xor    %eax,%eax
mov    %eax,-0x1364(%rbp)
jmp    15e38 <get_first_losing_move_4+0x14d28>
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    15e5c <get_first_losing_move_4+0x14d4c>
xor    %eax,%eax
mov    %eax,-0x1368(%rbp)
jmp    15e6d <get_first_losing_move_4+0x14d5d>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1368(%rbp)
mov    -0x1368(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    16278 <get_first_losing_move_4+0x15168>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    15ea6 <get_first_losing_move_4+0x14d96>
xor    %eax,%eax
mov    %eax,-0x136c(%rbp)
jmp    15eb7 <get_first_losing_move_4+0x14da7>
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    15edb <get_first_losing_move_4+0x14dcb>
xor    %eax,%eax
mov    %eax,-0x1370(%rbp)
jmp    15eec <get_first_losing_move_4+0x14ddc>
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    15f18 <get_first_losing_move_4+0x14e08>
xor    %eax,%eax
mov    %eax,-0x1374(%rbp)
jmp    15f29 <get_first_losing_move_4+0x14e19>
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    15f4d <get_first_losing_move_4+0x14e3d>
xor    %eax,%eax
mov    %eax,-0x1378(%rbp)
jmp    15f5e <get_first_losing_move_4+0x14e4e>
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    15f8a <get_first_losing_move_4+0x14e7a>
xor    %eax,%eax
mov    %eax,-0x137c(%rbp)
jmp    15f9b <get_first_losing_move_4+0x14e8b>
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    15fbf <get_first_losing_move_4+0x14eaf>
xor    %eax,%eax
mov    %eax,-0x1380(%rbp)
jmp    15fd0 <get_first_losing_move_4+0x14ec0>
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    15ffc <get_first_losing_move_4+0x14eec>
xor    %eax,%eax
mov    %eax,-0x1384(%rbp)
jmp    1600d <get_first_losing_move_4+0x14efd>
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    16031 <get_first_losing_move_4+0x14f21>
xor    %eax,%eax
mov    %eax,-0x1388(%rbp)
jmp    16042 <get_first_losing_move_4+0x14f32>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1609a <get_first_losing_move_4+0x14f8a>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     160b0 <get_first_losing_move_4+0x14fa0>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    160d2 <get_first_losing_move_4+0x14fc2>
xor    %eax,%eax
mov    %eax,-0x138c(%rbp)
jmp    160e3 <get_first_losing_move_4+0x14fd3>
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    16107 <get_first_losing_move_4+0x14ff7>
xor    %eax,%eax
mov    %eax,-0x1390(%rbp)
jmp    16118 <get_first_losing_move_4+0x15008>
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    16144 <get_first_losing_move_4+0x15034>
xor    %eax,%eax
mov    %eax,-0x1394(%rbp)
jmp    16155 <get_first_losing_move_4+0x15045>
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    16179 <get_first_losing_move_4+0x15069>
xor    %eax,%eax
mov    %eax,-0x1398(%rbp)
jmp    1618a <get_first_losing_move_4+0x1507a>
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    161b6 <get_first_losing_move_4+0x150a6>
xor    %eax,%eax
mov    %eax,-0x139c(%rbp)
jmp    161c7 <get_first_losing_move_4+0x150b7>
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    161eb <get_first_losing_move_4+0x150db>
xor    %eax,%eax
mov    %eax,-0x13a0(%rbp)
jmp    161fc <get_first_losing_move_4+0x150ec>
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    16228 <get_first_losing_move_4+0x15118>
xor    %eax,%eax
mov    %eax,-0x13a4(%rbp)
jmp    16239 <get_first_losing_move_4+0x15129>
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    1625d <get_first_losing_move_4+0x1514d>
xor    %eax,%eax
mov    %eax,-0x13a8(%rbp)
jmp    1626e <get_first_losing_move_4+0x1515e>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13a8(%rbp)
mov    -0x13a8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    16285 <get_first_losing_move_4+0x15175>
jmp    16b63 <get_first_losing_move_4+0x15a53>
movswl -0x18(%rbp),%eax
cmp    $0x1f,%eax
jne    16b5e <get_first_losing_move_4+0x15a4e>
movswl -0xa(%rbp),%eax
cmp    $0x0,%eax
je     16b59 <get_first_losing_move_4+0x15a49>
movswl -0xa(%rbp),%eax
cmp    $0x15,%eax
jge    16b59 <get_first_losing_move_4+0x15a49>
movswl -0xa(%rbp),%eax
mov    $0x4,%ecx
cltd
idiv   %ecx
cmp    $0x1,%edx
je     16b59 <get_first_losing_move_4+0x15a49>
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     16b54 <get_first_losing_move_4+0x15a44>
movswl -0x14(%rbp),%eax
movswl -0x6(%rbp),%ecx
cmp    %ecx,%eax
je     16b54 <get_first_losing_move_4+0x15a44>
movswl -0x14(%rbp),%eax
movswl -0x8(%rbp),%ecx
cmp    %ecx,%eax
je     16b54 <get_first_losing_move_4+0x15a44>
movswl -0x14(%rbp),%eax
movswl -0xc(%rbp),%ecx
cmp    %ecx,%eax
je     16b54 <get_first_losing_move_4+0x15a44>
movswl -0x14(%rbp),%eax
movswl -0xe(%rbp),%ecx
cmp    %ecx,%eax
je     16b54 <get_first_losing_move_4+0x15a44>
movswl -0x14(%rbp),%eax
movswl 0x18(%rbp),%ecx
cmp    %ecx,%eax
je     16b54 <get_first_losing_move_4+0x15a44>
mov    -0x14(%rbp),%ax
mov    %ax,-0xa(%rbp)
movswl 0x10(%rbp),%eax
movswl -0x14(%rbp),%ecx
cmp    %ecx,%eax
jne    16758 <get_first_losing_move_4+0x15648>
movw   $0x0,0x10(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    16379 <get_first_losing_move_4+0x15269>
xor    %eax,%eax
mov    %eax,-0x13ac(%rbp)
jmp    1638a <get_first_losing_move_4+0x1527a>
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    163ae <get_first_losing_move_4+0x1529e>
xor    %eax,%eax
mov    %eax,-0x13b0(%rbp)
jmp    163bf <get_first_losing_move_4+0x152af>
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    163eb <get_first_losing_move_4+0x152db>
xor    %eax,%eax
mov    %eax,-0x13b4(%rbp)
jmp    163fc <get_first_losing_move_4+0x152ec>
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    16420 <get_first_losing_move_4+0x15310>
xor    %eax,%eax
mov    %eax,-0x13b8(%rbp)
jmp    16431 <get_first_losing_move_4+0x15321>
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    1645d <get_first_losing_move_4+0x1534d>
xor    %eax,%eax
mov    %eax,-0x13bc(%rbp)
jmp    1646e <get_first_losing_move_4+0x1535e>
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    16492 <get_first_losing_move_4+0x15382>
xor    %eax,%eax
mov    %eax,-0x13c0(%rbp)
jmp    164a3 <get_first_losing_move_4+0x15393>
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    164cf <get_first_losing_move_4+0x153bf>
xor    %eax,%eax
mov    %eax,-0x13c4(%rbp)
jmp    164e0 <get_first_losing_move_4+0x153d0>
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    16504 <get_first_losing_move_4+0x153f4>
xor    %eax,%eax
mov    %eax,-0x13c8(%rbp)
jmp    16515 <get_first_losing_move_4+0x15405>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1656d <get_first_losing_move_4+0x1545d>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     16583 <get_first_losing_move_4+0x15473>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    165a5 <get_first_losing_move_4+0x15495>
xor    %eax,%eax
mov    %eax,-0x13cc(%rbp)
jmp    165b6 <get_first_losing_move_4+0x154a6>
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    165da <get_first_losing_move_4+0x154ca>
xor    %eax,%eax
mov    %eax,-0x13d0(%rbp)
jmp    165eb <get_first_losing_move_4+0x154db>
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    16617 <get_first_losing_move_4+0x15507>
xor    %eax,%eax
mov    %eax,-0x13d4(%rbp)
jmp    16628 <get_first_losing_move_4+0x15518>
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    1664c <get_first_losing_move_4+0x1553c>
xor    %eax,%eax
mov    %eax,-0x13d8(%rbp)
jmp    1665d <get_first_losing_move_4+0x1554d>
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    16689 <get_first_losing_move_4+0x15579>
xor    %eax,%eax
mov    %eax,-0x13dc(%rbp)
jmp    1669a <get_first_losing_move_4+0x1558a>
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    166be <get_first_losing_move_4+0x155ae>
xor    %eax,%eax
mov    %eax,-0x13e0(%rbp)
jmp    166cf <get_first_losing_move_4+0x155bf>
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    166fb <get_first_losing_move_4+0x155eb>
xor    %eax,%eax
mov    %eax,-0x13e4(%rbp)
jmp    1670c <get_first_losing_move_4+0x155fc>
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    16730 <get_first_losing_move_4+0x15620>
xor    %eax,%eax
mov    %eax,-0x13e8(%rbp)
jmp    16741 <get_first_losing_move_4+0x15631>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x13e8(%rbp)
mov    -0x13e8(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x14(%rbp),%ax
mov    %ax,0x10(%rbp)
jmp    16b4c <get_first_losing_move_4+0x15a3c>
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    1677a <get_first_losing_move_4+0x1566a>
xor    %eax,%eax
mov    %eax,-0x13ec(%rbp)
jmp    1678b <get_first_losing_move_4+0x1567b>
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    167af <get_first_losing_move_4+0x1569f>
xor    %eax,%eax
mov    %eax,-0x13f0(%rbp)
jmp    167c0 <get_first_losing_move_4+0x156b0>
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    167ec <get_first_losing_move_4+0x156dc>
xor    %eax,%eax
mov    %eax,-0x13f4(%rbp)
jmp    167fd <get_first_losing_move_4+0x156ed>
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    16821 <get_first_losing_move_4+0x15711>
xor    %eax,%eax
mov    %eax,-0x13f8(%rbp)
jmp    16832 <get_first_losing_move_4+0x15722>
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    1685e <get_first_losing_move_4+0x1574e>
xor    %eax,%eax
mov    %eax,-0x13fc(%rbp)
jmp    1686f <get_first_losing_move_4+0x1575f>
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    16893 <get_first_losing_move_4+0x15783>
xor    %eax,%eax
mov    %eax,-0x1400(%rbp)
jmp    168a4 <get_first_losing_move_4+0x15794>
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    168d0 <get_first_losing_move_4+0x157c0>
xor    %eax,%eax
mov    %eax,-0x1404(%rbp)
jmp    168e1 <get_first_losing_move_4+0x157d1>
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    16905 <get_first_losing_move_4+0x157f5>
xor    %eax,%eax
mov    %eax,-0x1408(%rbp)
jmp    16916 <get_first_losing_move_4+0x15806>
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_3@plt>
mov    %ax,-0x10(%rbp)
movswl -0x10(%rbp),%eax
cmp    $0xffffffff,%eax
jne    1696e <get_first_losing_move_4+0x1585e>
movw   $0xffff,-0x2(%rbp)
jmp    16c17 <get_first_losing_move_4+0x15b07>
movswl -0x10(%rbp),%ecx
xor    %eax,%eax
cmp    %ecx,%eax
jg     16984 <get_first_losing_move_4+0x15874>
mov    -0x18(%rbp),%ax
mov    %ax,-0x16(%rbp)
mov    -0x4(%rbp),%ax
mov    %ax,-0x10(%rbp)
movswl -0xc(%rbp),%eax
cmp    $0x0,%eax
jne    169a6 <get_first_losing_move_4+0x15896>
xor    %eax,%eax
mov    %eax,-0x140c(%rbp)
jmp    169b7 <get_first_losing_move_4+0x158a7>
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    169db <get_first_losing_move_4+0x158cb>
xor    %eax,%eax
mov    %eax,-0x1410(%rbp)
jmp    169ec <get_first_losing_move_4+0x158dc>
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    16a18 <get_first_losing_move_4+0x15908>
xor    %eax,%eax
mov    %eax,-0x1414(%rbp)
jmp    16a29 <get_first_losing_move_4+0x15919>
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    16a4d <get_first_losing_move_4+0x1593d>
xor    %eax,%eax
mov    %eax,-0x1418(%rbp)
jmp    16a5e <get_first_losing_move_4+0x1594e>
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    16a8a <get_first_losing_move_4+0x1597a>
xor    %eax,%eax
mov    %eax,-0x141c(%rbp)
jmp    16a9b <get_first_losing_move_4+0x1598b>
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    16abf <get_first_losing_move_4+0x159af>
xor    %eax,%eax
mov    %eax,-0x1420(%rbp)
jmp    16ad0 <get_first_losing_move_4+0x159c0>
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    16afc <get_first_losing_move_4+0x159ec>
xor    %eax,%eax
mov    %eax,-0x1424(%rbp)
jmp    16b0d <get_first_losing_move_4+0x159fd>
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    16b31 <get_first_losing_move_4+0x15a21>
xor    %eax,%eax
mov    %eax,-0x1428(%rbp)
jmp    16b42 <get_first_losing_move_4+0x15a32>
movswl -0x10(%rbp),%ecx
mov    $0x19,%eax
sub    %ecx,%eax
mov    %eax,-0x1428(%rbp)
mov    -0x1428(%rbp),%eax
mov    %ax,0x18(%rbp)
mov    -0x12(%rbp),%ax
mov    %ax,-0xa(%rbp)
jmp    16b59 <get_first_losing_move_4+0x15a49>
jmp    16b5e <get_first_losing_move_4+0x15a4e>
jmp    16b63 <get_first_losing_move_4+0x15a53>
jmp    16b68 <get_first_losing_move_4+0x15a58>
jmp    16b6d <get_first_losing_move_4+0x15a5d>
jmp    16b72 <get_first_losing_move_4+0x15a62>
jmp    16b77 <get_first_losing_move_4+0x15a67>
jmp    16b7c <get_first_losing_move_4+0x15a6c>
jmp    16b81 <get_first_losing_move_4+0x15a71>
jmp    16b86 <get_first_losing_move_4+0x15a76>
jmp    16b8b <get_first_losing_move_4+0x15a7b>
jmp    16b90 <get_first_losing_move_4+0x15a80>
jmp    16b95 <get_first_losing_move_4+0x15a85>
jmp    16b9a <get_first_losing_move_4+0x15a8a>
jmp    16b9f <get_first_losing_move_4+0x15a8f>
jmp    16ba4 <get_first_losing_move_4+0x15a94>
jmp    16ba9 <get_first_losing_move_4+0x15a99>
jmp    16bae <get_first_losing_move_4+0x15a9e>
jmp    16bb3 <get_first_losing_move_4+0x15aa3>
jmp    16bb8 <get_first_losing_move_4+0x15aa8>
jmp    16bbd <get_first_losing_move_4+0x15aad>
jmp    16bc2 <get_first_losing_move_4+0x15ab2>
jmp    16bc7 <get_first_losing_move_4+0x15ab7>
jmp    16bcc <get_first_losing_move_4+0x15abc>
jmp    16bd1 <get_first_losing_move_4+0x15ac1>
jmp    16bd6 <get_first_losing_move_4+0x15ac6>
jmp    16bdb <get_first_losing_move_4+0x15acb>
jmp    16be0 <get_first_losing_move_4+0x15ad0>
jmp    16be5 <get_first_losing_move_4+0x15ad5>
jmp    16bea <get_first_losing_move_4+0x15ada>
jmp    16bef <get_first_losing_move_4+0x15adf>
jmp    16bf4 <get_first_losing_move_4+0x15ae4>
jmp    16bf9 <get_first_losing_move_4+0x15ae9>
jmp    16bfe <get_first_losing_move_4+0x15aee>
mov    -0x18(%rbp),%ax
add    $0xffff,%ax
mov    %ax,-0x18(%rbp)
jmp    11b6 <get_first_losing_move_4+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_4>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x68,%rsp
mov    %r9d,%r13d
mov    %r8d,%r12d
mov    %edx,%ebx
mov    %esi,%ebp
movswl 0xa8(%rsp),%r15d
movswl 0xa0(%rsp),%r14d
mov    %rdi,0x30(%rsp)
mov    %rcx,0x40(%rsp)
xor    %eax,%eax
push   %r15
push   %r14
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
mov    %eax,%ecx
mov    $0xfffe,%ax
cmp    $0xffffffff,%ecx
jne    6697 <get_first_losing_move_4+0x5587>
movd   %ebx,%xmm0
pinsrw $0x1,%r13d,%xmm0
pinsrw $0x2,%ebp,%xmm0
pinsrw $0x3,%r12d,%xmm0
mov    $0xffff,%ax
mov    %eax,0x8(%rsp)
mov    $0x1f,%r13w
lea    0x5ec5(%rip),%rbx
movdqa %xmm0,%xmm2
mov    0x40(%rsp),%r11
mov    %r15,%r9
mov    0x30(%rsp),%r10
mov    %r14,%rdi
jmp    1224 <get_first_losing_move_4+0x114>
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,%r12d,%xmm0
mov    $0x19,%r9d
punpckldq 0x10(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x5e32(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %ecx,%edi
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
mov    %eax,0x8(%rsp)
movdqa %xmm1,%xmm2
mov    0x20(%rsp),%r13d
lea    0x5e38(%rip),%rbx
mov    0x40(%rsp),%r11
nopl   (%rax)
add    $0xffffffff,%r13d
cmp    $0x1f,%r13w
ja     1220 <get_first_losing_move_4+0x110>
movzwl %r13w,%eax
movslq (%rbx,%rax,4),%rax
add    %rbx,%rax
jmp    *%rax
cmp    $0x14,%r10w
jg     1220 <get_first_losing_move_4+0x110>
mov    %r10d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    0x5(%r10),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %dx,%di
mov    %r10,0x30(%rsp)
jne    4370 <get_first_losing_move_4+0x3260>
mov    0x8(%rsp),%r12d
mov    $0x14,%eax
sub    %r10d,%eax
xor    %r14d,%r14d
mov    %rdi,0x20(%rsp)
test   %di,%di
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5d5f(%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1,%eax
jmp    1a69 <get_first_losing_move_4+0x959>
test   $0x3,%r10b
je     1220 <get_first_losing_move_4+0x110>
lea    0x1(%r10),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %dx,%di
mov    %r10,0x30(%rsp)
jne    4041 <get_first_losing_move_4+0x2f31>
mov    0x8(%rsp),%r12d
mov    $0x18,%eax
sub    %r10d,%eax
xor    %r14d,%r14d
mov    %rdi,0x20(%rsp)
test   %di,%di
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5c4a(%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x2,%eax
jmp    1a69 <get_first_losing_move_4+0x959>
cmp    $0x5,%r10w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r10d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x3(%r10),%r12d
movzwl %r12w,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %eax,%ecx
mov    %r10,0x30(%rsp)
jne    443e <get_first_losing_move_4+0x332e>
mov    $0x1c,%eax
sub    %r10d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5b29(%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    %r14d,%r14d
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x3,%eax
jmp    17b9 <get_first_losing_move_4+0x6a9>
cmp    $0x5,%r10w
jl     1220 <get_first_losing_move_4+0x110>
lea    -0x4(%r10),%r12d
movzwl %r12w,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %eax,%ecx
mov    %r10,0x30(%rsp)
jne    44f1 <get_first_losing_move_4+0x33e1>
mov    $0x1d,%eax
sub    %r10d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5a13(%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    %r14d,%r14d
test   %di,%di
cmove  %r14d,%ebp
mov    $0x19,%ebx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
mov    $0x19,%r15d
movswl %si,%edi
movswl %cx,%esi
movswl %bp,%ecx
movswl %ax,%r8d
movswl %r9w,%r9d
movswl %dx,%r10d
movswl %bx,%r11d
xor    %edx,%edx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x4,%eax
jmp    17b9 <get_first_losing_move_4+0x6a9>
cmp    $0x5,%r10w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r10d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x5(%r10),%r12d
movzwl %r12w,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%ecx
movswl %cx,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %eax,%ecx
mov    %r10,0x30(%rsp)
jne    45bb <get_first_losing_move_4+0x34ab>
mov    $0x1e,%eax
sub    %r10d,%eax
xor    %r14d,%r14d
test   %r12w,%r12w
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x58e2(%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x5,%eax
cmovs  0x8(%rsp),%eax
movdqa 0x584a(%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    %r12d,%edi
mov    %r15d,%r9d
jmp    6527 <get_first_losing_move_4+0x5417>
test   %r10w,%r10w
je     3ff0 <get_first_losing_move_4+0x2ee0>
lea    0x3(%r10),%eax
test   %r10w,%r10w
cmovns %r10d,%eax
and    $0xfffffffc,%eax
mov    %r10d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x1(%r10),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %dx,%di
mov    %r10,0x30(%rsp)
jne    5726 <get_first_losing_move_4+0x4616>
mov    0x8(%rsp),%r12d
mov    $0x1a,%eax
sub    %r10d,%eax
xor    %r14d,%r14d
mov    %rdi,0x20(%rsp)
test   %di,%di
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x576c(%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x6,%eax
jmp    1a69 <get_first_losing_move_4+0x959>
lea    0x3(%r10),%eax
test   %r10w,%r10w
cmovns %r10d,%eax
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%r10w
jg     1220 <get_first_losing_move_4+0x110>
and    $0xfffffffc,%eax
mov    %r10d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    0x3(%r10),%edx
pextrw $0x2,%xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %dx,%di
mov    %r10,0x30(%rsp)
jne    46c4 <get_first_losing_move_4+0x35b4>
mov    0x8(%rsp),%r12d
mov    $0x16,%eax
sub    %r10d,%eax
xor    %r14d,%r14d
mov    %rdi,0x20(%rsp)
test   %di,%di
cmove  %r14d,%eax
pxor   %xmm1,%xmm1
movdqa 0x5632(%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x7,%eax
cmovs  %r12d,%eax
movdqa 0x559b(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r14d,%r11d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %r14d,%r15d
mov    %r15d,%r9d
mov    %eax,0x8(%rsp)
lea    0x559d(%rip),%rbx
mov    0x30(%rsp),%r10
mov    0x20(%rsp),%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%bp
jg     1220 <get_first_losing_move_4+0x110>
lea    0x4(%rbp),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %di,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%r8
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4792 <get_first_losing_move_4+0x3682>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r12d,%r12d
test   %r10w,%r10w
cmove  %r12d,%r15d
mov    $0x19,%r14d
mov    $0x15,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r12d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r12d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x548d(%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  %r12d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r12d,%ebp
movdqa %xmm3,0x40(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x8,%eax
jmp    2670 <get_first_losing_move_4+0x1560>
pextrw $0x2,%xmm2,%ebp
cmp    $0x14,%bp
jg     1220 <get_first_losing_move_4+0x110>
mov    %ebp,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    0x5(%rbp),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %di,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%r8
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4868 <get_first_losing_move_4+0x3758>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r12d,%r12d
test   %r10w,%r10w
cmove  %r12d,%r15d
mov    $0x19,%r14d
mov    $0x14,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r12d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r12d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x5350(%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  %r12d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r12d,%ebp
movdqa %xmm3,0x40(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x9,%eax
jmp    2670 <get_first_losing_move_4+0x1560>
pextrw $0x2,%xmm2,%r12d
test   $0x3,%r12b
je     1220 <get_first_losing_move_4+0x110>
lea    0x1(%r12),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %di,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    410f <get_first_losing_move_4+0x2fff>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %r10d,%r13d
xor    %r14d,%r14d
test   %r10w,%r10w
cmove  %r14d,%r13d
mov    $0x19,%r15d
mov    $0x18,%eax
sub    %r12d,%eax
test   %di,%di
cmove  %r14d,%eax
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r14d,%r12d
pxor   %xmm1,%xmm1
movdqa 0x521e(%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 %r12w,%edx
movswl %bp,%ecx
movswl %r13w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xa,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
cmove  %r14d,%r10d
movdqa 0x517b(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%edi
sub    %r12d,%edi
test   %r12w,%r12w
cmove  %r14d,%edi
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %r14d,%r11d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %r14d,%r15d
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    %r15d,%r9d
jmp    6656 <get_first_losing_move_4+0x5546>
pextrw $0x2,%xmm2,%r15d
cmp    $0x5,%r15w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r15d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x3(%r15),%edx
movd   %xmm2,%eax
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
mov    %edx,0xc(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    493e <get_first_losing_move_4+0x382e>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r14d
mov    $0x19,%ebp
sub    %r10d,%ebp
xor    %edx,%edx
test   %r10w,%r10w
cmove  %edx,%ebp
mov    $0x1c,%eax
sub    %r15d,%eax
mov    $0x19,%r13d
sub    %edi,%r13d
test   %di,%di
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x5059(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ecx
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %edx,%ebx
mov    $0x19,%r12d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %edx,%r12d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %bp,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r12w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xb,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %ebp,%r10d
test   %bp,%bp
mov    $0x0,%ecx
cmove  %ecx,%r10d
movdqa 0x4fbc(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %ecx,%r11d
sub    %ebx,%r14d
test   %bx,%bx
cmove  %ecx,%r14d
pinsrw $0x2,%r15d,%xmm2
pinsrw $0x3,0xc(%rsp),%xmm2
jmp    26d9 <get_first_losing_move_4+0x15c9>
pextrw $0x2,%xmm2,%r14d
cmp    $0x5,%r14w
jl     1220 <get_first_losing_move_4+0x110>
lea    -0x4(%r14),%edx
movd   %xmm2,%eax
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
mov    %edx,0xc(%rsp)
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
jne    4a77 <get_first_losing_move_4+0x3967>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r15d
mov    $0x19,%ebx
sub    %r10d,%ebx
xor    %edx,%edx
test   %r10w,%r10w
cmove  %edx,%ebx
mov    $0x1d,%eax
sub    %r14d,%eax
mov    $0x19,%r13d
sub    %edi,%r13d
test   %di,%di
cmove  %edx,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4eaa(%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,%r12d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %edx,%r12d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bp,%ecx
movswl %bx,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r12w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xc,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %ebx,%r10d
test   %bx,%bx
mov    $0x0,%ecx
cmove  %ecx,%r10d
movdqa 0x4e0d(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
jmp    23ac <get_first_losing_move_4+0x129c>
pextrw $0x2,%xmm2,%r14d
cmp    $0x5,%r14w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r14d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x5(%r14),%esi
movd   %xmm2,%eax
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%edx
movswl %dx,%ecx
cmp    %eax,%ecx
mov    %esi,0xc(%rsp)
jne    4b45 <get_first_losing_move_4+0x3a35>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %r10d,%r13d
xor    %edx,%edx
test   %r10w,%r10w
cmove  %edx,%r13d
mov    $0x19,%r15d
mov    $0x1e,%eax
sub    %r14d,%eax
test   %si,%si
cmove  %edx,%eax
mov    $0x19,%ebx
sub    %edi,%ebx
test   %di,%di
cmove  %edx,%ebx
pxor   %xmm1,%xmm1
movdqa 0x4d11(%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,%r12d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %edx,%r12d
movd   %xmm2,%edi
movswl %cx,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r13w,%r8d
movswl %ax,%r9d
movswl %di,%r10d
movswl %r12w,%r11d
xor    %edi,%edi
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xd,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r13d,%r10d
test   %r13w,%r13w
mov    $0x0,%ecx
cmove  %ecx,%r10d
movdqa 0x4c74(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %ecx,%r11d
sub    %ebp,%r15d
test   %bp,%bp
cmove  %ecx,%r15d
pinsrw $0x2,%r14d,%xmm2
pinsrw $0x3,0xc(%rsp),%xmm2
mov    %r15d,%r9d
jmp    6656 <get_first_losing_move_4+0x5546>
pextrw $0x2,%xmm2,%ebp
test   %ebp,%ebp
je     3ffc <get_first_losing_move_4+0x2eec>
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x1(%rbp),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %di,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%r8
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    5861 <get_first_losing_move_4+0x4751>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r12d,%r12d
test   %r10w,%r10w
cmove  %r12d,%r15d
mov    $0x19,%r14d
mov    $0x1a,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r12d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r12d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4b64(%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  %r12d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r12d,%ebp
movdqa %xmm3,0x40(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xe,%eax
jmp    2670 <get_first_losing_move_4+0x1560>
pextrw $0x2,%xmm2,%ebp
lea    0x3(%rbp),%eax
test   %bp,%bp
cmovns %ebp,%eax
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%bp
jg     1220 <get_first_losing_move_4+0x110>
and    $0xfffffffc,%eax
mov    %ebp,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    0x3(%rbp),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%eax
cmp    %ax,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %di,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%r8
pextrw $0x3,%xmm2,%edi
cmp    %dx,%di
jne    4c93 <get_first_losing_move_4+0x3b83>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r15d
sub    %r10d,%r15d
xor    %r12d,%r12d
test   %r10w,%r10w
cmove  %r12d,%r15d
mov    $0x19,%r14d
mov    $0x16,%eax
sub    %ebp,%eax
test   %di,%di
cmove  %r12d,%eax
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r12d,%r13d
pxor   %xmm1,%xmm1
movdqa 0x4a15(%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  %r12d,%ebx
mov    $0x19,%ebp
sub    %r11d,%ebp
test   %r11w,%r11w
cmove  %r12d,%ebp
movdqa %xmm3,0x40(%rsp)
movd   %xmm3,%edi
movswl %cx,%esi
movswl %r13w,%edx
movswl %bx,%ecx
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xf,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r15d,%r10d
test   %r15w,%r15w
cmove  %r12d,%r10d
movdqa 0x4972(%rip),%xmm0
movdqa 0x40(%rsp),%xmm1
psubw  %xmm1,%xmm0
pxor   %xmm2,%xmm2
pcmpeqw %xmm1,%xmm2
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %r12d,%edi
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
sub    %ebp,%r11d
test   %bp,%bp
cmove  %r12d,%r11d
sub    %ebx,%r14d
test   %bx,%bx
cmove  %r12d,%r14d
pshufd $0x55,0x10(%rsp),%xmm0
punpckldq %xmm0,%xmm2
mov    %r14d,%r9d
jmp    6656 <get_first_losing_move_4+0x5546>
movd   %xmm2,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%ax
jg     1220 <get_first_losing_move_4+0x110>
lea    0x4(%rax),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %r9,%rcx
mov    %rdi,%r9
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     4032 <get_first_losing_move_4+0x2f22>
cmp    %r9w,%dx
je     4032 <get_first_losing_move_4+0x2f22>
cmp    %cx,%dx
je     4032 <get_first_losing_move_4+0x2f22>
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r8d,%r8d
test   %di,%di
cmove  %r8d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r8d,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %dx,%bp
jne    4d69 <get_first_losing_move_4+0x3c59>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r8d,%ebx
mov    $0x19,%r12d
sub    %r9d,%r12d
test   %r9w,%r9w
cmove  %r8d,%r12d
mov    $0x15,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r8d,%esi
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r8d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r8d,%r15d
movswl %r12w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x10,%eax
jmp    2a7d <get_first_losing_move_4+0x196d>
movd   %xmm2,%eax
cmp    $0x14,%ax
jg     1220 <get_first_losing_move_4+0x110>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    0x5(%rax),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rcx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     666f <get_first_losing_move_4+0x555f>
cmp    %cx,%dx
je     5d4b <get_first_losing_move_4+0x4c3b>
cmp    %r9w,%dx
je     4e0b <get_first_losing_move_4+0x3cfb>
mov    %r9,%r8
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %dx,%bp
jne    4e17 <get_first_losing_move_4+0x3d07>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r9d,%r12d
mov    $0x14,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x11,%eax
jmp    2a7d <get_first_losing_move_4+0x196d>
movd   %xmm2,%eax
test   $0x3,%al
je     1220 <get_first_losing_move_4+0x110>
lea    0x1(%rax),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rcx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     63f4 <get_first_losing_move_4+0x52e4>
cmp    %cx,%dx
je     59c1 <get_first_losing_move_4+0x48b1>
cmp    %r9w,%dx
je     4249 <get_first_losing_move_4+0x3139>
mov    %r9,%r8
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %dx,%bp
jne    4255 <get_first_losing_move_4+0x3145>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r9d,%r12d
mov    $0x18,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x12,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x454e(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %r12d,%edi
test   %r12w,%r12w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
movdqa 0x10(%rsp),%xmm2
punpckldq %xmm1,%xmm2
jmp    634c <get_first_losing_move_4+0x523c>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1220 <get_first_losing_move_4+0x110>
mov    %eax,%ecx
and    $0x3,%ecx
test   %cx,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x3(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r15d
movd   %r10d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r15d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
mov    %r9,%r8
mov    %rdi,%r9
mov    %r13d,0x20(%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,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x19,%r14d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r12w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %r15d,%ebp
jne    4f2a <get_first_losing_move_4+0x3e1a>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %ecx,%ebx
mov    $0x1c,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %ecx,%r13d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %ecx,%r14d
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %si,%r10d
movswl %r14w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x13,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x4379(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
cmove  %ecx,%r9d
pandn  %xmm2,%xmm1
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%r15d,%xmm2
punpckldq %xmm1,%xmm2
jmp    6656 <get_first_losing_move_4+0x5546>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1220 <get_first_losing_move_4+0x110>
lea    -0x4(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r15d
movd   %r10d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r15d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
mov    %r9,%r8
mov    %rdi,%r9
mov    %r13d,0x20(%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,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x19,%r14d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r12w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %r15d,%ebp
jne    5048 <get_first_losing_move_4+0x3f38>
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %ecx,%ebx
mov    $0x1d,%esi
sub    %eax,%esi
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %ecx,%r13d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %ecx,%r14d
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %si,%r10d
movswl %r14w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x14,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x41ad(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
jmp    304e <get_first_losing_move_4+0x1f3e>
movd   %xmm2,%eax
cmp    $0x5,%ax
jl     1220 <get_first_losing_move_4+0x110>
mov    %eax,%ecx
and    $0x3,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x5(%rax),%ecx
pextrw $0x2,%xmm2,%edx
movzwl %cx,%r15d
movd   %r10d,%xmm0
pinsrw $0x1,%edx,%xmm0
pinsrw $0x2,%r11d,%xmm0
punpcklwd %xmm2,%xmm0
pshuflw $0xa0,%xmm0,%xmm0
pshufhw $0xe0,%xmm0,%xmm0
psrad  $0x10,%xmm0
movd   %r15d,%xmm1
pshufd $0x0,%xmm1,%xmm1
pcmpeqd %xmm0,%xmm1
pslld  $0x1f,%xmm1
movmskps %xmm1,%ecx
test   %ecx,%ecx
jne    1220 <get_first_losing_move_4+0x110>
movswl %di,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%ecx
cmp    %ecx,%r15d
je     1220 <get_first_losing_move_4+0x110>
mov    %r9,%r8
mov    %rdi,%r9
mov    %r13d,0x20(%rsp)
pextrw $0x3,%xmm2,%edi
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%esi
movswl %si,%ebp
mov    $0x19,%r12d
sub    %edi,%r12d
xor    %ecx,%ecx
test   %di,%di
cmove  %ecx,%r12d
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
mov    $0x19,%r13d
movswl %r12w,%edi
mov    %ebx,0xc(%rsp)
movswl %bx,%ebx
mov    %ebx,0x30(%rsp)
cmp    %r15d,%ebp
jne    514f <get_first_losing_move_4+0x403f>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
mov    $0x19,%r14d
sub    %r9d,%r14d
test   %r9w,%r9w
cmove  %ecx,%r14d
mov    $0x1e,%esi
sub    %eax,%esi
test   %r15d,%r15d
cmove  %r15d,%esi
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %ecx,%r13d
movswl %r14w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r13w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x15,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
mov    0xc(%rsp),%edx
sub    %edx,%r10d
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,%r12d,%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3fe0(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
mov    $0x19,%edi
sub    %r14d,%edi
test   %r14w,%r14w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
pandn  %xmm2,%xmm1
movdqa 0x10(%rsp),%xmm0
pinsrw $0x1,%r15d,%xmm0
jmp    33f5 <get_first_losing_move_4+0x22e5>
movd   %xmm2,%eax
test   %ax,%ax
je     400d <get_first_losing_move_4+0x2efd>
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x1(%rax),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rcx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     6687 <get_first_losing_move_4+0x5577>
cmp    %cx,%dx
je     6400 <get_first_losing_move_4+0x52f0>
cmp    %r9w,%dx
je     59cd <get_first_losing_move_4+0x48bd>
mov    %r9,%r8
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%ebx
sub    %edi,%ebx
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%ebx
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x19,%r15d
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
movswl %r14w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %dx,%bp
jne    59d9 <get_first_losing_move_4+0x48c9>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r9d,%r12d
mov    $0x1a,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r15w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x16,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3e21(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %r12d,%edi
test   %r12w,%r12w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
mov    %eax,0x8(%rsp)
movdqa %xmm0,%xmm2
lea    0x3e22(%rip),%rbx
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
movd   %xmm2,%eax
lea    0x3(%rax),%ecx
test   %ax,%ax
cmovns %eax,%ecx
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%ax
jg     1220 <get_first_losing_move_4+0x110>
and    $0xfffffffc,%ecx
mov    %eax,%edx
sub    %ecx,%edx
cmp    $0x1,%dx
je     1220 <get_first_losing_move_4+0x110>
lea    0x3(%rax),%edx
cmp    %r10w,%dx
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%esi
cmp    %si,%dx
je     1220 <get_first_losing_move_4+0x110>
cmp    %r11w,%dx
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rcx
pextrw $0x3,%xmm2,%edi
cmp    %di,%dx
je     667b <get_first_losing_move_4+0x556b>
cmp    %cx,%dx
je     5d57 <get_first_losing_move_4+0x4c47>
cmp    %r9w,%dx
je     525b <get_first_losing_move_4+0x414b>
mov    %r9,%r8
mov    %r13d,0x20(%rsp)
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%ebp
mov    $0x19,%r12d
sub    %edi,%r12d
xor    %r9d,%r9d
test   %di,%di
cmove  %r9d,%r12d
mov    $0x19,%r14d
sub    %r10d,%r14d
test   %r10w,%r10w
cmove  %r9d,%r14d
mov    $0x19,%r13d
movswl %r12w,%edi
movswl %r14w,%ebx
mov    %ebx,0x30(%rsp)
cmp    %dx,%bp
jne    5267 <get_first_losing_move_4+0x4157>
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r9d,%r15d
mov    $0x16,%esi
sub    %eax,%esi
test   %bp,%bp
cmove  %r9d,%esi
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %r9d,%ebp
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r9d,%r13d
movswl %r15w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %si,%r10d
movswl %r13w,%r11d
xor    %esi,%esi
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x17,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%r9d
movd   %ebx,%xmm0
pinsrw $0x1,%r12d,%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3c47(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %r15d,%edi
test   %r15w,%r15w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
movdqa 0x10(%rsp),%xmm0
punpckldq %xmm1,%xmm0
mov    %eax,0x8(%rsp)
movdqa %xmm0,%xmm2
jmp    665a <get_first_losing_move_4+0x554a>
test   %r11w,%r11w
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%r11w
jg     1220 <get_first_losing_move_4+0x110>
lea    0x4(%r11),%eax
cmp    %r10w,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    %r9w,%ax
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
mov    %r9,%rdi
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %r10d,%r14d
xor    %ecx,%ecx
test   %r10w,%r10w
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3b56(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r10d
movswl %r12w,%esi
movswl %r14w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x40(%rsp)
jne    537a <get_first_losing_move_4+0x426a>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x15,%eax
sub    %r11d,%eax
mov    %rbp,0x20(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %r10w,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x18,%eax
jmp    3f7d <get_first_losing_move_4+0x2e6d>
cmp    $0x14,%r11w
jg     1220 <get_first_losing_move_4+0x110>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    0x5(%r11),%eax
cmp    %r10w,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    %r9w,%ax
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
mov    %r9,%rdi
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %r10d,%r14d
xor    %ecx,%ecx
test   %r10w,%r10w
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3a13(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r9d
movswl %r12w,%esi
movswl %r14w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x30(%rsp)
movd   %xmm2,%r8d
cmp    %ax,%bp
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    53f3 <get_first_losing_move_4+0x42e3>
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x14,%eax
sub    %r11d,%eax
mov    %rbp,0x20(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %r9w,%edi
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x19,%r9d
mov    0x8(%rsp),%eax
cmovns %r9d,%eax
mov    %eax,0x8(%rsp)
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq 0x30(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3949(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %eax,%r9d
jmp    3fd2 <get_first_losing_move_4+0x2ec2>
test   $0x3,%r11b
je     1220 <get_first_losing_move_4+0x110>
lea    0x1(%r11),%eax
cmp    %r10w,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    %r9w,%ax
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
mov    %r9,%rdi
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %r10d,%r14d
xor    %ecx,%ecx
test   %r10w,%r10w
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3884(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r10d
movswl %r12w,%esi
movswl %r14w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x40(%rsp)
jne    42f7 <get_first_losing_move_4+0x31e7>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x18,%eax
sub    %r11d,%eax
mov    %rbp,0x20(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %r10w,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1a,%eax
jmp    3f7d <get_first_losing_move_4+0x2e6d>
cmp    $0x5,%r11w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r11d,%eax
and    $0x3,%eax
test   %ax,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x3(%r11),%esi
movzwl %si,%eax
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
mov    %esi,0xc(%rsp)
mov    %r10,%rsi
mov    %r9,%r8
movd   %xmm2,%r10d
movswl %di,%ebp
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
xor    %ecx,%ecx
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %edx,%r12d
test   %dx,%dx
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3724(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r12w,%esi
movswl %r14w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
cmp    %eax,%ebp
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    54c7 <get_first_losing_move_4+0x43b7>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x1c,%eax
sub    %r11d,%eax
movswl %dx,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1b,%eax
jmp    3abe <get_first_losing_move_4+0x29ae>
cmp    $0x5,%r11w
jl     1220 <get_first_losing_move_4+0x110>
lea    -0x4(%r11),%esi
movzwl %si,%eax
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%edx
movswl %dx,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%ecx
cmp    %ecx,%eax
je     1220 <get_first_losing_move_4+0x110>
mov    %esi,0xc(%rsp)
mov    %r10,%rsi
mov    %r9,%r8
movd   %xmm2,%r10d
movswl %di,%ebp
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %esi,%r14d
xor    %ecx,%ecx
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %edx,%r12d
test   %dx,%dx
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x35d5(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r12w,%esi
movswl %r14w,%ebx
mov    %ebx,0x10(%rsp)
movdqa %xmm2,0x20(%rsp)
movd   %xmm2,%r9d
cmp    %eax,%ebp
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    5532 <get_first_losing_move_4+0x4422>
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %ecx,%ebx
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x1d,%eax
sub    %r11d,%eax
movswl %dx,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1c,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq 0x20(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3518(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
mov    0xc(%rsp),%ecx
jmp    3cd2 <get_first_losing_move_4+0x2bc2>
cmp    $0x5,%r11w
jl     1220 <get_first_losing_move_4+0x110>
mov    %r11d,%eax
and    $0x3,%eax
cmp    $0x1,%ax
je     1220 <get_first_losing_move_4+0x110>
lea    -0x5(%r11),%esi
movzwl %si,%ecx
movd   %r10d,%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    1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%edx
movswl %dx,%eax
cmp    %eax,%ecx
je     1220 <get_first_losing_move_4+0x110>
movswl %r9w,%eax
cmp    %eax,%ecx
je     1220 <get_first_losing_move_4+0x110>
mov    %esi,0x10(%rsp)
mov    %r9,%rax
movd   %xmm2,%r9d
movswl %di,%ebp
mov    $0x19,%r15d
mov    $0x19,%r12d
sub    %r10d,%r12d
mov    %r10,%rsi
xor    %r10d,%r10d
test   %si,%si
cmove  %r10d,%r12d
mov    $0x19,%r14d
sub    %edx,%r14d
test   %dx,%dx
cmove  %r10d,%r14d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3420(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%edx
movswl %r14w,%esi
movswl %r12w,%ebx
mov    %ebx,0x20(%rsp)
movdqa %xmm2,0x30(%rsp)
movd   %xmm2,%r8d
cmp    %ecx,%ebp
mov    %r11,0x40(%rsp)
mov    $0x19,%ebx
jne    55ce <get_first_losing_move_4+0x44be>
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %r10d,%ebx
sub    %eax,%r15d
test   %ax,%ax
cmove  %r10d,%r15d
mov    $0x1e,%ebp
sub    %r11d,%ebp
cmpw   $0x0,0x10(%rsp)
cmove  %r10d,%ebp
movswl %dx,%edi
movswl %r15w,%ecx
movswl %r8w,%r9d
movswl %bx,%r10d
movswl %bp,%ebp
xor    %edx,%edx
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1d,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,%r14d,%xmm0
punpckldq 0x30(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3359(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
mov    0x10(%rsp),%ecx
mov    %ecx,%edi
jmp    56a0 <get_first_losing_move_4+0x4590>
test   %r11w,%r11w
je     4026 <get_first_losing_move_4+0x2f16>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    -0x1(%r11),%eax
cmp    %r10w,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    %r9w,%ax
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
mov    %r9,%rdi
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %r10d,%r14d
xor    %ecx,%ecx
test   %r10w,%r10w
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3270(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r10d
movswl %r12w,%esi
movswl %r14w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x40(%rsp)
jne    5b0d <get_first_losing_move_4+0x49fd>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x1a,%eax
sub    %r11d,%eax
mov    %rbp,0x20(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %r10w,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1e,%eax
jmp    3f7d <get_first_losing_move_4+0x2e6d>
lea    0x3(%r11),%eax
test   %r11w,%r11w
cmovns %r11d,%eax
je     1220 <get_first_losing_move_4+0x110>
cmp    $0x14,%r11w
jg     1220 <get_first_losing_move_4+0x110>
and    $0xfffffffc,%eax
mov    %r11d,%ecx
sub    %eax,%ecx
cmp    $0x1,%cx
je     1220 <get_first_losing_move_4+0x110>
lea    0x3(%r11),%eax
cmp    %r10w,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
movd   %xmm2,%edx
cmp    %dx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x3,%xmm2,%ecx
cmp    %cx,%ax
je     1220 <get_first_losing_move_4+0x110>
pextrw $0x1,%xmm2,%esi
cmp    %si,%ax
je     1220 <get_first_losing_move_4+0x110>
cmp    %r9w,%ax
je     1220 <get_first_losing_move_4+0x110>
mov    %rdi,%rbp
mov    %r9,%rdi
mov    $0x19,%r15d
mov    $0x19,%r14d
sub    %r10d,%r14d
xor    %ecx,%ecx
test   %r10w,%r10w
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %ecx,%r12d
pshufd $0x55,%xmm2,%xmm0
pxor   %xmm2,%xmm2
movdqa 0x3118(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
pextrw $0x1,%xmm2,%r10d
movswl %r12w,%esi
movswl %r14w,%r8d
movdqa %xmm2,0x10(%rsp)
movd   %xmm2,%r9d
cmp    %ax,%bp
mov    %r11,0x40(%rsp)
jne    56ad <get_first_losing_move_4+0x459d>
mov    $0x19,%ebx
sub    %edx,%ebx
test   %dx,%dx
cmove  %ecx,%ebx
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x16,%eax
sub    %r11d,%eax
mov    %rbp,0x20(%rsp)
test   %bp,%bp
cmove  %ecx,%eax
movswl %r10w,%edi
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %ax,%ebp
xor    %edx,%edx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1f,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r9d
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebx,%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq 0x10(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x3059(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
mov    %eax,0x8(%rsp)
movdqa %xmm1,%xmm2
lea    0x3073(%rip),%rbx
mov    0x40(%rsp),%r11
mov    0x20(%rsp),%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
xor    %r10d,%r10d
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
pand   0x302c(%rip),%xmm2
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
movdqa %xmm2,%xmm0
pand   0x3007(%rip),%xmm0
movdqa %xmm0,%xmm2
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
xor    %r11d,%r11d
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r9,%rdi
mov    %rcx,%r9
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rdi,%rbp
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    5b86 <get_first_losing_move_4+0x4a76>
mov    $0x18,%ecx
sub    %r10d,%ecx
mov    %r9,%r12
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x2f73(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x2,%eax
jmp    57ef <get_first_losing_move_4+0x46df>
mov    $0x19,%r15d
mov    $0x19,%ebx
sub    %edi,%ebx
mov    %r10,%rcx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r10d,%r14d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0xc(%rsp)
movswl %bx,%edi
mov    %ecx,0x30(%rsp)
movswl %cx,%esi
movswl %r14w,%r8d
cmp    %r9w,%dx
jne    5c3e <get_first_losing_move_4+0x4b2e>
mov    $0x18,%ecx
sub    %r12d,%ecx
mov    %r9,0x10(%rsp)
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,%r15d
test   %r11w,%r11w
cmove  %r10d,%r15d
movswl %bx,%edx
movswl %cx,%r9d
movswl %bp,%r10d
movswl %r15w,%r11d
xor    %ecx,%ecx
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xa,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0xc(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
movd   %ebp,%xmm0
pinsrw $0x1,0x30(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x2de6(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
pinsrw $0x2,%r12d,%xmm2
jmp    59a3 <get_first_losing_move_4+0x4893>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %r9d,%r13d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %r9d,%r12d
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r9d,%ebp
mov    $0x18,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r9d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r13w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r12w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x12,%eax
jmp    4eb4 <get_first_losing_move_4+0x3da4>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %ecx,%r13d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x18,%ebx
sub    %r11d,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r10w,%edi
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %bx,%ebx
xor    %eax,%eax
push   %rbx
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1a,%eax
jmp    11a4 <get_first_losing_move_4+0x94>
mov    %rdi,%rbp
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    5d63 <get_first_losing_move_4+0x4c53>
mov    $0x14,%ecx
sub    %r10d,%ecx
mov    %r9,%r12
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x2c44(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1,%eax
jmp    57ef <get_first_losing_move_4+0x46df>
mov    %r11,%r15
movswl %r9w,%ebp
mov    $0x1c,%ecx
sub    %r10d,%ecx
mov    $0x19,%r14d
sub    %edi,%r14d
xor    %r11d,%r11d
test   %di,%di
cmove  %r11d,%r14d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2b9f(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%edi
pextrw $0x1,%xmm1,%esi
movswl %r14w,%edx
movswl %cx,%r8d
mov    %r9,%rcx
pextrw $0x2,%xmm1,%r9d
movdqa %xmm1,0x10(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%ebp
jne    5e1b <get_first_losing_move_4+0x4d0b>
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r11d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x3,%eax
jmp    459f <get_first_losing_move_4+0x348f>
mov    %r11,%r15
movswl %r9w,%ebp
mov    $0x1d,%ecx
sub    %r10d,%ecx
mov    $0x19,%r14d
sub    %edi,%r14d
xor    %r11d,%r11d
test   %di,%di
cmove  %r11d,%r14d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2aec(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%edi
pextrw $0x1,%xmm1,%esi
movswl %r14w,%edx
movswl %cx,%r8d
mov    %r9,%rcx
pextrw $0x2,%xmm1,%r9d
movdqa %xmm1,0x10(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%ebp
jne    5e6f <get_first_losing_move_4+0x4d5f>
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r11d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x4,%eax
cmovs  0x8(%rsp),%eax
pxor   %xmm2,%xmm2
movdqa 0x2a60(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
jmp    468f <get_first_losing_move_4+0x357f>
mov    %r11,%r15
mov    %rdi,%rcx
movswl %r9w,%edi
mov    $0x1e,%ebp
sub    %r10d,%ebp
xor    %r8d,%r8d
test   %ax,%ax
cmove  %r8d,%ebp
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r8d,%r14d
mov    $0x19,%ebx
pxor   %xmm1,%xmm1
movdqa 0x2a18(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
pextrw $0x3,%xmm1,%ecx
pextrw $0x1,%xmm1,%esi
movswl %r14w,%edx
movswl %bp,%ebp
mov    %ebp,0x10(%rsp)
pextrw $0x2,%xmm1,%r11d
movdqa %xmm1,0x20(%rsp)
movd   %xmm1,%r10d
cmp    %eax,%edi
jne    5eda <get_first_losing_move_4+0x4dca>
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r8d,%ebx
movswl %cx,%edi
movswl %si,%esi
movswl %r11w,%r9d
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x5,%eax
cmovs  0x8(%rsp),%eax
pxor   %xmm2,%xmm2
movdqa 0x2987(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%edi
sub    %r14d,%edi
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%edi
sub    %ebx,%r11d
test   %bx,%bx
cmove  %ecx,%r11d
mov    %r12d,%r9d
jmp    6527 <get_first_losing_move_4+0x5417>
mov    %rdi,%rbp
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    5f7e <get_first_losing_move_4+0x4e6e>
mov    $0x16,%ecx
sub    %r10d,%ecx
mov    %r9,%r12
test   %r9w,%r9w
cmove  %esi,%ecx
pxor   %xmm1,%xmm1
movdqa 0x28f0(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x7,%eax
jmp    57ef <get_first_losing_move_4+0x46df>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
mov    %r10,%rcx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r10d,%r14d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x50(%rsp)
movswl %bx,%edi
mov    %ecx,0xc(%rsp)
movswl %cx,%esi
movswl %r14w,%ecx
mov    %ecx,0x30(%rsp)
cmp    %r9w,%dx
jne    6031 <get_first_losing_move_4+0x4f21>
mov    $0x15,%ecx
sub    %ebp,%ecx
mov    %r9,0x10(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r15w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x8,%eax
jmp    5932 <get_first_losing_move_4+0x4822>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
mov    %r10,%rcx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r10d,%r14d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x50(%rsp)
movswl %bx,%edi
mov    %ecx,0xc(%rsp)
movswl %cx,%esi
movswl %r14w,%ecx
mov    %ecx,0x30(%rsp)
cmp    %r9w,%dx
jne    60c5 <get_first_losing_move_4+0x4fb5>
mov    $0x14,%ecx
sub    %ebp,%ecx
mov    %r9,0x10(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r15w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x9,%eax
jmp    5932 <get_first_losing_move_4+0x4822>
movswl %r9w,%ebx
mov    $0x19,%r14d
mov    $0x19,%esi
sub    %edx,%esi
mov    %r10,%rcx
xor    %r10d,%r10d
test   %dx,%dx
cmove  %r10d,%esi
mov    $0x19,%r12d
sub    %ecx,%r12d
test   %cx,%cx
cmove  %r10d,%r12d
mov    $0x1c,%ebp
sub    %r15d,%ebp
mov    $0x19,%ecx
sub    %edi,%ecx
test   %di,%di
cmove  %r10d,%ecx
pxor   %xmm1,%xmm1
movdqa 0x2672(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
mov    %esi,0x20(%rsp)
movswl %si,%edi
pextrw $0x1,%xmm1,%esi
mov    %ecx,0x10(%rsp)
movswl %cx,%edx
movswl %r12w,%r8d
mov    %r9,%rcx
movswl %bp,%r9d
movdqa %xmm1,0x30(%rsp)
movd   %xmm1,%ebp
cmp    %ebx,%eax
jne    6159 <get_first_losing_move_4+0x5049>
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %r10d,%r14d
movswl %si,%esi
movswl %bp,%ebp
movswl %r14w,%ebx
xor    %ecx,%ecx
xor    %eax,%eax
push   %rbx
push   %rbp
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xb,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0x20(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
pxor   %xmm2,%xmm2
movdqa 0x25c2(%rip),%xmm0
movdqa 0x30(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
mov    0x10(%rsp),%esi
sub    %esi,%edi
test   %si,%si
cmove  %ecx,%edi
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
pinsrw $0x2,%r15d,%xmm2
jmp    4c82 <get_first_losing_move_4+0x3b72>
mov    %r11,%r15
movswl %r9w,%r11d
mov    $0x19,%ebx
mov    $0x19,%esi
sub    %edx,%esi
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%esi
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x1d,%ebp
sub    %r14d,%ebp
mov    $0x19,%edx
sub    %edi,%edx
test   %di,%di
cmove  %ecx,%edx
pxor   %xmm1,%xmm1
movdqa 0x253c(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
mov    %esi,0x30(%rsp)
movswl %si,%edi
pextrw $0x1,%xmm1,%esi
mov    %edx,0x20(%rsp)
movswl %dx,%edx
movswl %r12w,%r8d
movswl %bp,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm1,0x50(%rsp)
movd   %xmm1,%r10d
cmp    %r11d,%eax
jne    6227 <get_first_losing_move_4+0x5117>
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %ecx,%ebx
movswl %si,%esi
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x10(%rsp),%r9d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xc,%eax
jmp    4c14 <get_first_losing_move_4+0x3b04>
mov    %r11,%r15
movswl %r9w,%r11d
mov    $0x19,%esi
sub    %edx,%esi
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%esi
mov    $0x19,%r12d
sub    %r10d,%r12d
test   %r10w,%r10w
cmove  %ecx,%r12d
mov    $0x19,%ebx
mov    $0x1e,%ebp
sub    %r14d,%ebp
test   %ax,%ax
cmove  %ecx,%ebp
mov    $0x19,%edx
sub    %edi,%edx
test   %di,%di
cmove  %ecx,%edx
pxor   %xmm1,%xmm1
movdqa 0x2468(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm2,%xmm1
pandn  %xmm0,%xmm1
mov    %esi,0x30(%rsp)
movswl %si,%edi
pextrw $0x1,%xmm1,%esi
mov    %edx,0x20(%rsp)
movswl %dx,%edx
movswl %r12w,%r8d
movswl %bp,%ebp
mov    %ebp,0x10(%rsp)
movdqa %xmm1,0x50(%rsp)
movd   %xmm1,%r10d
cmp    %r11d,%eax
jne    6279 <get_first_losing_move_4+0x5169>
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %ecx,%ebx
movswl %si,%esi
movswl %r10w,%r10d
movswl %bx,%ebp
xor    %ecx,%ecx
mov    0x10(%rsp),%r9d
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xd,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0x30(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
pxor   %xmm2,%xmm2
movdqa 0x23b1(%rip),%xmm0
movdqa 0x50(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
mov    0x20(%rsp),%esi
sub    %esi,%edi
test   %si,%si
cmove  %ecx,%edi
sub    %ebx,%r11d
test   %bx,%bx
cmove  %ecx,%r11d
pinsrw $0x2,%r14d,%xmm2
pinsrw $0x3,%edx,%xmm2
mov    0xc(%rsp),%ecx
mov    %ecx,%r9d
jmp    634c <get_first_losing_move_4+0x523c>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
mov    %r10,%rcx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r10d,%r14d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x50(%rsp)
movswl %bx,%edi
mov    %ecx,0xc(%rsp)
movswl %cx,%esi
movswl %r14w,%ecx
mov    %ecx,0x30(%rsp)
cmp    %r9w,%dx
jne    6360 <get_first_losing_move_4+0x5250>
mov    $0x16,%ecx
sub    %ebp,%ecx
mov    %r9,0x10(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r15w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xf,%eax
jmp    5932 <get_first_losing_move_4+0x4822>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %r8d,%r13d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %r8d,%r12d
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %r8d,%ebp
mov    $0x15,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r8d,%r10d
mov    $0x19,%ebx
sub    %ecx,%ebx
test   %cx,%cx
cmove  %r8d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r8d,%r15d
movswl %r13w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r12w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x10,%eax
jmp    4eb4 <get_first_losing_move_4+0x3da4>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %r9d,%r13d
mov    $0x19,%r12d
sub    %esi,%r12d
test   %si,%si
cmove  %r9d,%r12d
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r9d,%ebp
mov    $0x14,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebx
sub    %r8d,%ebx
test   %r8w,%r8w
cmove  %r9d,%ebx
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r13w,%esi
movswl %bp,%edx
movswl %bx,%ecx
movswl %r12w,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x11,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %r12d,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x2116(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r13d,%edx
test   %r13w,%r13w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %ebp,%edi
test   %bp,%bp
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebx,%r9d
test   %bx,%bx
jmp    502c <get_first_losing_move_4+0x3f1c>
mov    $0x19,%r15d
sub    %esi,%r15d
test   %si,%si
cmove  %ecx,%r15d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %ecx,%ebx
mov    $0x1c,%r10d
sub    %eax,%r10d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %ecx,%r13d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %ecx,%r14d
movswl %r15w,%esi
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %r10w,%r10d
movswl %r14w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x13,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebp,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x2010(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r15d,%edx
test   %r15w,%r15w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
cmove  %ecx,%r9d
pandn  %xmm2,%xmm0
movdqa 0x10(%rsp),%xmm2
pinsrw $0x1,%edx,%xmm2
punpckldq %xmm0,%xmm2
jmp    6656 <get_first_losing_move_4+0x5546>
mov    $0x19,%r15d
sub    %esi,%r15d
test   %si,%si
cmove  %ecx,%r15d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %ecx,%ebx
mov    $0x1d,%r10d
sub    %eax,%r10d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %ecx,%r13d
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %ecx,%r14d
movswl %r15w,%esi
movswl %bx,%edx
movswl %r13w,%ecx
movswl %bp,%r9d
movswl %r10w,%r10d
movswl %r14w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x14,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebp,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x1ef2(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r15d,%edx
test   %r15w,%r15w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
sub    %r13d,%r9d
test   %r13w,%r13w
jmp    5ae9 <get_first_losing_move_4+0x49d9>
mov    %r12d,0x50(%rsp)
mov    $0x19,%r14d
sub    %esi,%r14d
test   %si,%si
cmove  %ecx,%r14d
mov    $0x19,%r12d
sub    %edx,%r12d
test   %dx,%dx
cmove  %ecx,%r12d
mov    $0x19,%ebx
sub    %r9d,%ebx
test   %r9w,%r9w
cmove  %ecx,%ebx
mov    $0x1e,%r10d
sub    %eax,%r10d
test   %r15d,%r15d
cmove  %r15d,%r10d
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %ecx,%ebp
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %ecx,%r13d
movswl %r14w,%esi
movswl %bx,%edx
movswl %bp,%ecx
movswl %r12w,%r9d
movswl %r10w,%r10d
movswl %r13w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x15,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
mov    0xc(%rsp),%edx
sub    %edx,%r10d
xor    %ecx,%ecx
test   %dx,%dx
cmove  %ecx,%r10d
movd   %r12d,%xmm1
pinsrw $0x1,0x50(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x1ddb(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r14d,%edx
test   %r14w,%r14w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
jmp    5adf <get_first_losing_move_4+0x49cf>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r12d,0xc(%rsp)
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r9d,%r12d
mov    $0x19,%ebp
sub    %esi,%ebp
test   %si,%si
cmove  %r9d,%ebp
mov    $0x19,%ebx
sub    %ecx,%ebx
test   %cx,%cx
cmove  %r9d,%ebx
mov    $0x16,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r9d,%r15d
sub    %r11d,%r13d
test   %r11w,%r11w
cmove  %r9d,%r13d
movswl %r12w,%esi
movswl %bx,%edx
movswl %r15w,%ecx
movswl %bp,%r9d
movswl %r10w,%r10d
movswl %r13w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x17,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebp,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x1cc7(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r12d,%edx
test   %r12w,%r12w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r13d,%r11d
test   %r13w,%r13w
cmove  %ecx,%r11d
sub    %r15d,%r9d
test   %r15w,%r15w
jmp    5ae9 <get_first_losing_move_4+0x49d9>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %ecx,%r13d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x15,%ebx
sub    %r11d,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r10w,%edi
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %bx,%ebx
xor    %eax,%eax
push   %rbx
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x18,%eax
jmp    11a4 <get_first_losing_move_4+0x94>
sub    %ebp,%ebx
test   %bp,%bp
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x14,%r10d
sub    %r11d,%r10d
test   %ax,%ax
cmove  %ecx,%r10d
movswl %r9w,%edi
movswl %bx,%edx
movswl %r15w,%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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x19,%r9d
mov    0x8(%rsp),%eax
cmovns %r9d,%eax
mov    %eax,0x8(%rsp)
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %eax,%eax
test   %r14w,%r14w
cmove  %eax,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,%r12d,%xmm0
punpckldq 0x30(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x1b72(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %eax,%edi
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %eax,%r9d
jmp    56a4 <get_first_losing_move_4+0x4594>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x1c,%eax
sub    %r11d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1b,%eax
jmp    559b <get_first_losing_move_4+0x448b>
sub    %edi,%ebx
test   %di,%di
cmove  %ecx,%ebx
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %ecx,%ebp
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %ecx,%r15d
mov    $0x1d,%eax
sub    %r11d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1c,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,%r12d,%xmm0
mov    $0x19,%r9d
punpckldq 0x20(%rsp),%xmm0
jmp    5670 <get_first_losing_move_4+0x4560>
sub    %edi,%ebx
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %r10d,%ebp
sub    %eax,%r15d
test   %ax,%ax
cmove  %r10d,%r15d
mov    $0x1e,%eax
sub    %r11d,%eax
cmpw   $0x0,0x10(%rsp)
cmove  %r10d,%eax
movswl %dx,%edi
movswl %bx,%edx
movswl %r15w,%ecx
movswl %r8w,%r9d
movswl %bp,%r10d
movswl %ax,%r11d
mov    0x20(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1d,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
movd   %ebp,%xmm0
pinsrw $0x1,%r14d,%xmm0
mov    $0x19,%r9d
punpckldq 0x30(%rsp),%xmm0
pxor   %xmm1,%xmm1
movdqa 0x1994(%rip),%xmm2
psubw  %xmm0,%xmm2
pcmpeqw %xmm0,%xmm1
pandn  %xmm2,%xmm1
mov    $0x19,%edi
sub    %ebx,%edi
test   %bx,%bx
cmove  %ecx,%edi
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
mov    %eax,0x8(%rsp)
movdqa %xmm1,%xmm2
jmp    1211 <get_first_losing_move_4+0x101>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %ecx,%r13d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x16,%ebx
sub    %r11d,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r10w,%edi
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %bx,%ebx
xor    %eax,%eax
push   %rbx
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1f,%eax
jmp    11a4 <get_first_losing_move_4+0x94>
mov    %rdi,%rbp
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    640c <get_first_losing_move_4+0x52fc>
mov    $0x1a,%ecx
sub    %r10d,%ecx
mov    %r9,%r12
test   %r9w,%r9w
cmove  %esi,%ecx
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x188e(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
movdqa %xmm2,0x10(%rsp)
pextrw $0x1,%xmm2,%r9d
mov    $0x19,%ebx
sub    %ebp,%ebx
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x6,%eax
cmovs  0x8(%rsp),%eax
movd   %ebp,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0x17fb(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0x181f(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r11d
mov    $0x19,%edi
sub    %ebx,%edi
xor    %ecx,%ecx
test   %bx,%bx
cmove  %ecx,%edi
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
mov    %eax,0x8(%rsp)
lea    0x1800(%rip),%rbx
mov    %r12,%r9
mov    0x30(%rsp),%r10
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    $0x19,%r12d
mov    $0x19,%ebx
sub    %edi,%ebx
mov    %r10,%rcx
xor    %r10d,%r10d
test   %di,%di
cmove  %r10d,%ebx
mov    $0x19,%r14d
sub    %ecx,%r14d
test   %cx,%cx
cmove  %r10d,%r14d
mov    $0x19,%ecx
sub    %esi,%ecx
test   %si,%si
cmove  %r10d,%ecx
mov    %ebx,0x50(%rsp)
movswl %bx,%edi
mov    %ecx,0xc(%rsp)
movswl %cx,%esi
movswl %r14w,%ecx
mov    %ecx,0x30(%rsp)
cmp    %r9w,%dx
jne    6540 <get_first_losing_move_4+0x5430>
mov    $0x1a,%ecx
sub    %ebp,%ecx
mov    %r9,0x10(%rsp)
test   %r9w,%r9w
cmove  %r10d,%ecx
mov    $0x19,%r15d
sub    %r8d,%r15d
test   %r8w,%r8w
cmove  %r10d,%r15d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r15w,%edx
movswl %cx,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
xor    %ecx,%ecx
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xe,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r11d
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0x50(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
pxor   %xmm2,%xmm2
movdqa 0x1688(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%edi
sub    %r15d,%edi
test   %r15w,%r15w
cmove  %ecx,%edi
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %ecx,%r11d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%edx,%xmm2
mov    %eax,0x8(%rsp)
lea    0x169d(%rip),%rbx
mov    0x10(%rsp),%r9
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r12d
sub    %ebp,%r12d
test   %bp,%bp
cmove  %r9d,%r12d
mov    $0x19,%ebx
sub    %esi,%ebx
test   %si,%si
cmove  %r9d,%ebx
mov    $0x19,%r13d
sub    %ecx,%r13d
test   %cx,%cx
cmove  %r9d,%r13d
mov    $0x1a,%r10d
sub    %eax,%r10d
test   %dx,%dx
cmove  %r9d,%r10d
mov    $0x19,%ebp
sub    %r8d,%ebp
test   %r8w,%r8w
cmove  %r9d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r9d,%r15d
movswl %r12w,%esi
movswl %r13w,%edx
movswl %bp,%ecx
movswl %bx,%r9d
movswl %r10w,%r10d
movswl %r15w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x16,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
movd   %ebx,%xmm1
pinsrw $0x1,0xc(%rsp),%xmm1
mov    $0x19,%r9d
pxor   %xmm0,%xmm0
movdqa 0x1554(%rip),%xmm2
psubw  %xmm1,%xmm2
pcmpeqw %xmm1,%xmm0
mov    $0x19,%edx
sub    %r12d,%edx
test   %r12w,%r12w
cmove  %ecx,%edx
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
pandn  %xmm2,%xmm0
movdqa 0x10(%rsp),%xmm1
pinsrw $0x1,%edx,%xmm1
punpckldq %xmm0,%xmm1
mov    %eax,0x8(%rsp)
movdqa %xmm1,%xmm2
jmp    665a <get_first_losing_move_4+0x554a>
mov    %r13d,0x20(%rsp)
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %ecx,%r13d
mov    $0x19,%ebp
sub    %edx,%ebp
test   %dx,%dx
cmove  %ecx,%ebp
sub    %edi,%r15d
test   %di,%di
cmove  %ecx,%r15d
mov    $0x1a,%ebx
sub    %r11d,%ebx
test   %ax,%ax
cmove  %ecx,%ebx
movswl %r10w,%edi
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bp,%r10d
movswl %bx,%ebx
xor    %eax,%eax
push   %rbx
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1e,%eax
jmp    11a4 <get_first_losing_move_4+0x94>
mov    $0x18,%r8d
sub    %r10d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x1459(%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    %ebp,%r12d
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x2,%eax
jmp    64bf <get_first_losing_move_4+0x53af>
mov    %r13d,0x20(%rsp)
mov    %r9,%rcx
mov    $0x18,%r9d
sub    %r12d,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%r13d
sub    %ebp,%r13d
test   %bp,%bp
cmove  %r10d,%r13d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r10d,%ebp
sub    %r11d,%r15d
test   %r11w,%r11w
cmove  %r10d,%r15d
movswl %r13w,%edx
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r15w,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xa,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0xc(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
movd   %ebx,%xmm0
pinsrw $0x1,0x30(%rsp),%xmm0
mov    $0x19,%r9d
pxor   %xmm2,%xmm2
movdqa 0x12f6(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
pinsrw $0x2,%r12d,%xmm2
jmp    6651 <get_first_losing_move_4+0x5541>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    $0x14,%r8d
sub    %r10d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0x127c(%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    %ebp,%r12d
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x1,%eax
jmp    64bf <get_first_losing_move_4+0x53af>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r11d,%ebp
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r11d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x3,%eax
jmp    5ec1 <get_first_losing_move_4+0x4db1>
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r11d,%ebp
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r11d,%ebx
movswl %di,%edi
movswl %si,%esi
movswl %bp,%ecx
movswl %r9w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x4,%eax
cmovs  0x8(%rsp),%eax
pxor   %xmm2,%xmm2
movdqa 0x113e(%rip),%xmm0
movdqa 0x10(%rsp),%xmm1
jmp    5f4a <get_first_losing_move_4+0x4e3a>
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %r8d,%ebp
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %r8d,%ebx
movswl %cx,%edi
movswl %si,%esi
movswl %bp,%ecx
movswl %r11w,%r9d
movswl %r10w,%r10d
movswl %bx,%r11d
mov    0x10(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x5,%eax
cmovs  0x8(%rsp),%eax
pxor   %xmm2,%xmm2
movdqa 0x10cc(%rip),%xmm0
movdqa 0x20(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%edi
sub    %r14d,%edi
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
jmp    6519 <get_first_losing_move_4+0x5409>
mov    $0x16,%r8d
sub    %r10d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
pxor   %xmm1,%xmm1
movdqa 0x1066(%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    %ebp,%r12d
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x7,%eax
jmp    64bf <get_first_losing_move_4+0x53af>
mov    %r13d,0x20(%rsp)
mov    %r9,%rcx
mov    $0x15,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r10d,%r13d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r10d,%r15d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x8,%eax
jmp    65cf <get_first_losing_move_4+0x54bf>
mov    %r13d,0x20(%rsp)
mov    %r9,%rcx
mov    $0x14,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r10d,%r13d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r10d,%r15d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x9,%eax
jmp    65cf <get_first_losing_move_4+0x54bf>
mov    $0x19,%ebx
sub    %ecx,%ebx
test   %cx,%cx
cmove  %r10d,%ebx
sub    %r11d,%r14d
test   %r11w,%r11w
cmove  %r10d,%r14d
movswl %si,%esi
movswl %bx,%ecx
movswl %bp,%r10d
movswl %r14w,%ebp
xor    %eax,%eax
push   %rbp
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xb,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
mov    $0x19,%r9d
mov    $0x19,%edx
mov    0x20(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
pxor   %xmm2,%xmm2
movdqa 0xe22(%rip),%xmm0
movdqa 0x30(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
mov    0x10(%rsp),%esi
sub    %esi,%edi
test   %si,%si
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %ecx,%r11d
sub    %ebx,%r9d
test   %bx,%bx
cmove  %ecx,%r9d
pinsrw $0x2,%r15d,%xmm2
jmp    6347 <get_first_losing_move_4+0x5237>
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %ecx,%ebp
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %ecx,%ebx
movswl %si,%esi
movswl %bp,%ecx
movswl %r10w,%r10d
movswl %bx,%r11d
mov    0x10(%rsp),%r9d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xc,%eax
jmp    62c9 <get_first_losing_move_4+0x51b9>
mov    $0x19,%ebp
sub    %r9d,%ebp
test   %r9w,%r9w
cmove  %ecx,%ebp
sub    %r15d,%ebx
test   %r15w,%r15w
cmove  %ecx,%ebx
movswl %si,%esi
movswl %bp,%ecx
movswl %r10w,%r10d
movswl %bx,%r11d
mov    0x10(%rsp),%r9d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xd,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r12d,%r10d
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%r10d
mov    $0x19,%r9d
mov    $0x19,%edx
mov    0x30(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
pxor   %xmm2,%xmm2
movdqa 0xcfc(%rip),%xmm0
movdqa 0x50(%rsp),%xmm1
psubw  %xmm1,%xmm0
pcmpeqw %xmm1,%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%edi
mov    0x20(%rsp),%esi
sub    %esi,%edi
test   %si,%si
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %ebx,%r11d
test   %bx,%bx
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
pinsrw $0x2,%r14d,%xmm2
pinsrw $0x3,%edx,%xmm2
mov    %eax,0x8(%rsp)
lea    0xcf9(%rip),%rbx
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r13d,0x20(%rsp)
mov    %r9,%rcx
mov    $0x16,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r10d,%r13d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r10d,%r15d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xf,%eax
jmp    65cf <get_first_losing_move_4+0x54bf>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    $0x1a,%r8d
sub    %r10d,%r8d
test   %dx,%dx
cmove  %esi,%r8d
psrlq  $0x10,%xmm2
pxor   %xmm1,%xmm1
movdqa 0xbd3(%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    %ebp,%r12d
test   %bp,%bp
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_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0x6,%eax
cmovs  0x8(%rsp),%eax
movd   %ebx,%xmm0
movdqa 0x10(%rsp),%xmm2
punpcklwd %xmm0,%xmm2
pshuflw $0xe1,%xmm2,%xmm2
pinsrw $0x3,%r14d,%xmm2
movdqa 0xb2b(%rip),%xmm0
psubw  %xmm2,%xmm0
pcmpeqw 0xb4f(%rip),%xmm2
pandn  %xmm0,%xmm2
mov    $0x19,%r9d
mov    $0x19,%edi
sub    %r12d,%edi
xor    %ecx,%ecx
test   %r12w,%r12w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r15d,%r11d
test   %r15w,%r15w
cmove  %ecx,%r11d
sub    %ebp,%r9d
test   %bp,%bp
cmove  %ecx,%r9d
mov    %eax,0x8(%rsp)
lea    0xb1e(%rip),%rbx
mov    0x30(%rsp),%r10
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %r13d,0x20(%rsp)
mov    %r9,%rcx
mov    $0x1a,%r9d
sub    %ebp,%r9d
test   %dx,%dx
cmove  %r10d,%r9d
mov    $0x19,%r13d
sub    %r8d,%r13d
test   %r8w,%r8w
cmove  %r10d,%r13d
mov    $0x19,%ebx
sub    %eax,%ebx
test   %ax,%ax
cmove  %r10d,%ebx
mov    $0x19,%r15d
sub    %ecx,%r15d
test   %cx,%cx
cmove  %r10d,%r15d
sub    %r11d,%r12d
test   %r11w,%r11w
cmove  %r10d,%r12d
movswl %r13w,%edx
movswl %r15w,%ecx
movswl %r9w,%r9d
movswl %bx,%r10d
movswl %r12w,%r11d
mov    0x30(%rsp),%r8d
xor    %eax,%eax
push   %r11
push   %r10
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
shl    $0x10,%eax
cmp    $0xffff0000,%eax
je     6693 <get_first_losing_move_4+0x5583>
test   %eax,%eax
mov    $0xe,%eax
cmovs  0x8(%rsp),%eax
mov    $0x19,%r10d
sub    %r14d,%r10d
xor    %ecx,%ecx
test   %r14w,%r14w
cmove  %ecx,%r10d
mov    $0x19,%edx
mov    0x50(%rsp),%esi
sub    %esi,%edx
test   %si,%si
cmove  %ecx,%edx
movd   %ebx,%xmm0
pinsrw $0x1,0xc(%rsp),%xmm0
mov    $0x19,%r9d
pxor   %xmm2,%xmm2
movdqa 0x9eb(%rip),%xmm1
psubw  %xmm0,%xmm1
pcmpeqw %xmm0,%xmm2
pandn  %xmm1,%xmm2
mov    $0x19,%edi
sub    %r13d,%edi
test   %r13w,%r13w
cmove  %ecx,%edi
mov    $0x19,%r11d
sub    %r12d,%r11d
test   %r12w,%r12w
cmove  %ecx,%r11d
sub    %r15d,%r9d
test   %r15w,%r15w
cmove  %ecx,%r9d
pinsrw $0x2,%ebp,%xmm2
pinsrw $0x3,%edx,%xmm2
mov    %eax,0x8(%rsp)
mov    0x20(%rsp),%r13d
lea    0x9ea(%rip),%rbx
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    %rcx,%rdi
add    $0xffffffff,%r13d
jmp    1224 <get_first_losing_move_4+0x114>
mov    $0xffff,%ax
add    $0x68,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
test   %r10w,%r10w
je     67cd <get_first_losing_move_4+0x56bd>
cmp    $0x14,%r10w
jg     67cd <get_first_losing_move_4+0x56bd>
lea    0x4(%r10),%esi
pextrw $0x2,%xmm2,%ecx
cmp    %cx,%si
je     67cd <get_first_losing_move_4+0x56bd>
mov    %r10,%rbx
movd   %xmm2,%r10d
cmp    %r10w,%si
je     67cd <get_first_losing_move_4+0x56bd>
cmp    %r11w,%si
je     67cd <get_first_losing_move_4+0x56bd>
pextrw $0x3,%xmm2,%eax
cmp    %ax,%si
je     67cd <get_first_losing_move_4+0x56bd>
mov    %rdi,%r15
pextrw $0x1,%xmm2,%edi
cmp    %di,%si
je     67cd <get_first_losing_move_4+0x56bd>
mov    %r15,%rdx
cmp    %si,%dx
jne    67d6 <get_first_losing_move_4+0x56c6>
mov    $0x19,%r8d
sub    %eax,%r8d
xor    %r14d,%r14d
test   %ax,%ax
cmove  %r14d,%r8d
mov    $0x15,%ebp
sub    %ebx,%ebp
test   %dx,%dx
cmove  %r14d,%ebp
mov    $0x19,%esi
sub    %edi,%esi
test   %di,%di
cmove  %r14d,%esi
mov    $0x19,%ebx
mov    $0x19,%eax
sub    %ecx,%eax
test   %cx,%cx
cmove  %r14d,%eax
mov    $0x19,%edx
sub    %r10d,%edx
test   %r10w,%r10w
cmove  %r14d,%edx
mov    $0x19,%ecx
sub    %r9d,%ecx
test   %r9w,%r9w
cmove  %r14d,%ecx
sub    %r11d,%ebx
test   %r11w,%r11w
cmove  %r14d,%ebx
movswl %r8w,%edi
movswl %si,%esi
movswl %cx,%ecx
movswl %bp,%r8d
movswl %ax,%r9d
movswl %dx,%ebp
movswl %bx,%ebx
xor    %edx,%edx
xor    %eax,%eax
push   %rbx
push   %rbp
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
mov    %eax,%ecx
shl    $0x10,%ecx
mov    $0xffff,%ax
cmp    $0xffff0000,%ecx
je     6697 <get_first_losing_move_4+0x5587>
test   %ecx,%ecx
mov    0x8(%rsp),%r15d
cmovns %r14d,%r15d
jmp    691c <get_first_losing_move_4+0x580c>
mov    0x8(%rsp),%eax
jmp    6697 <get_first_losing_move_4+0x5587>
mov    %r11,%r14
mov    $0x19,%r11d
mov    $0x19,%r13d
sub    %eax,%r13d
xor    %r8d,%r8d
test   %ax,%ax
cmove  %r8d,%r13d
cmp    %si,%r9w
mov    %r9,%r12
mov    $0x15,%r9d
jne    6870 <get_first_losing_move_4+0x5760>
sub    %ebx,%r9d
test   %r12w,%r12w
cmove  %r8d,%r9d
mov    $0x19,%eax
sub    %edi,%eax
test   %di,%di
cmove  %r8d,%eax
mov    $0x19,%ebp
sub    %ecx,%ebp
test   %cx,%cx
cmove  %r8d,%ebp
mov    $0x19,%ecx
sub    %r15d,%ecx
test   %r15w,%r15w
cmove  %r8d,%ecx
mov    $0x19,%ebx
sub    %r10d,%ebx
test   %r10w,%r10w
cmove  %r8d,%ebx
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %r8d,%r11d
movswl %r13w,%edi
movswl %ax,%esi
movswl %cx,%edx
movswl %r9w,%r8d
movswl %bp,%r9d
movswl %bx,%ebp
movswl %r11w,%ebx
xor    %ecx,%ecx
jmp    68ed <get_first_losing_move_4+0x57dd>
sub    %ebx,%r9d
test   %si,%si
cmove  %r8d,%r9d
mov    $0x19,%esi
sub    %edi,%esi
test   %di,%di
cmove  %r8d,%esi
mov    $0x19,%ebx
sub    %ecx,%ebx
test   %cx,%cx
cmove  %r8d,%ebx
mov    $0x19,%eax
sub    %r15d,%eax
test   %r15w,%r15w
cmove  %r8d,%eax
mov    $0x19,%ebp
sub    %r10d,%ebp
test   %r10w,%r10w
cmove  %r8d,%ebp
mov    $0x19,%ecx
sub    %r12d,%ecx
test   %r12w,%r12w
cmove  %r8d,%ecx
sub    %r14d,%r11d
test   %r14w,%r14w
cmove  %r8d,%r11d
movswl %r13w,%edi
movswl %si,%esi
movswl %ax,%edx
movswl %cx,%ecx
movswl %r9w,%r8d
movswl %bx,%r9d
movswl %bp,%ebp
movswl %r11w,%ebx
xor    %eax,%eax
push   %rbx
push   %rbp
call   1030 <get_first_winning_move_3@plt>
add    $0x10,%rsp
mov    %eax,%ecx
shl    $0x10,%ecx
mov    $0xffff,%ax
cmp    $0xffff0000,%ecx
je     6697 <get_first_losing_move_4+0x5587>
xor    %eax,%eax
test   %ecx,%ecx
mov    0x8(%rsp),%r15d
cmovns %eax,%r15d
mov    %r15d,%eax
jmp    6697 <get_first_losing_move_4+0x5587>

LLVM IR (-O0):
define signext i16 @get_first_losing_move_4(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_3 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 %19404
42: ; preds = %8
store i16 -1, i16* %21
store i16 31, i16* %22
br label %43
43: ; preds = %19399, %42
%44 = load i16, i16* %22
%45 = sext i16 %44 to i32
%46 = icmp sle i32 0, %45
br i1 %46, label %47, label %19402
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 %756
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 %755
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 %755
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 %754
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 %754
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 %754
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 %754
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 %754
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 %316
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_3 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 = trunc i32 %210 to i16
store i16 %211, i16* %18
%212 = load i16, i16* %18
%213 = sext i16 %212 to i32
%214 = icmp eq i32 %213, -1
br i1 %214, label %215, label %216
215: ; preds = %191
store i16 -1, i16* %9
br label %19404
216: ; preds = %191
%217 = load i16, i16* %18
%218 = sext i16 %217 to i32
%219 = icmp sle i32 0, %218
br i1 %219, label %220, label %222
220: ; preds = %216
%221 = load i16, i16* %22
store i16 %221, i16* %21
br label %222
222: ; preds = %220, %216
%223 = load i16, i16* %10
store i16 %223, i16* %18
%224 = load i16, i16* %14
%225 = sext i16 %224 to i32
%226 = icmp eq i32 %225, 0
br i1 %226, label %227, label %228
227: ; preds = %222
br label %232
228: ; preds = %222
%229 = load i16, i16* %14
%230 = sext i16 %229 to i32
%231 = sub nsw i32 25, %230
br label %232
232: ; preds = %228, %227
%233 = phi i32 [ 0, %227 ], [ %231, %228 ]
%234 = trunc i32 %233 to i16
store i16 %234, i16* %10
%235 = load i16, i16* %18
%236 = sext i16 %235 to i32
%237 = icmp eq i32 %236, 0
br i1 %237, label %238, label %239
238: ; preds = %232
br label %243
239: ; preds = %232
%240 = load i16, i16* %18
%241 = sext i16 %240 to i32
%242 = sub nsw i32 25, %241
br label %243
243: ; preds = %239, %238
%244 = phi i32 [ 0, %238 ], [ %242, %239 ]
%245 = trunc i32 %244 to i16
store i16 %245, i16* %14
%246 = load i16, i16* %11
store i16 %246, i16* %18
%247 = load i16, i16* %15
%248 = sext i16 %247 to i32
%249 = icmp eq i32 %248, 0
br i1 %249, label %250, label %251
250: ; preds = %243
br label %255
251: ; preds = %243
%252 = load i16, i16* %15
%253 = sext i16 %252 to i32
%254 = sub nsw i32 25, %253
br label %255
255: ; preds = %251, %250
%256 = phi i32 [ 0, %250 ], [ %254, %251 ]
%257 = trunc i32 %256 to i16
store i16 %257, i16* %11
%258 = load i16, i16* %18
%259 = sext i16 %258 to i32
%260 = icmp eq i32 %259, 0
br i1 %260, label %261, label %262
261: ; preds = %255
br label %266
262: ; preds = %255
%263 = load i16, i16* %18
%264 = sext i16 %263 to i32
%265 = sub nsw i32 25, %264
br label %266
266: ; preds = %262, %261
%267 = phi i32 [ 0, %261 ], [ %265, %262 ]
%268 = trunc i32 %267 to i16
store i16 %268, i16* %15
%269 = load i16, i16* %12
store i16 %269, i16* %18
%270 = load i16, i16* %16
%271 = sext i16 %270 to i32
%272 = icmp eq i32 %271, 0
br i1 %272, label %273, label %274
273: ; preds = %266
br label %278
274: ; preds = %266
%275 = load i16, i16* %16
%276 = sext i16 %275 to i32
%277 = sub nsw i32 25, %276
br label %278
278: ; preds = %274, %273
%279 = phi i32 [ 0, %273 ], [ %277, %274 ]
%280 = trunc i32 %279 to i16
store i16 %280, i16* %12
%281 = load i16, i16* %18
%282 = sext i16 %281 to i32
%283 = icmp eq i32 %282, 0
br i1 %283, label %284, label %285
284: ; preds = %278
br label %289
285: ; preds = %278
%286 = load i16, i16* %18
%287 = sext i16 %286 to i32
%288 = sub nsw i32 25, %287
br label %289
289: ; preds = %285, %284
%290 = phi i32 [ 0, %284 ], [ %288, %285 ]
%291 = trunc i32 %290 to i16
store i16 %291, i16* %16
%292 = load i16, i16* %13
store i16 %292, i16* %18
%293 = load i16, i16* %17
%294 = sext i16 %293 to i32
%295 = icmp eq i32 %294, 0
br i1 %295, label %296, label %297
296: ; preds = %289
br label %301
297: ; preds = %289
%298 = load i16, i16* %17
%299 = sext i16 %298 to i32
%300 = sub nsw i32 25, %299
br label %301
301: ; preds = %297, %296
%302 = phi i32 [ 0, %296 ], [ %300, %297 ]
%303 = trunc i32 %302 to i16
store i16 %303, i16* %13
%304 = load i16, i16* %18
%305 = sext i16 %304 to i32
%306 = icmp eq i32 %305, 0
br i1 %306, label %307, label %308
307: ; preds = %301
br label %312
308: ; preds = %301
%309 = load i16, i16* %18
%310 = sext i16 %309 to i32
%311 = sub nsw i32 25, %310
br label %312
312: ; preds = %308, %307
%313 = phi i32 [ 0, %307 ], [ %311, %308 ]
%314 = trunc i32 %313 to i16
store i16 %314, i16* %17
%315 = load i16, i16* %20
store i16 %315, i16* %16
br label %752
316: ; preds = %94
%317 = load i16, i16* %17
%318 = sext i16 %317 to i32
%319 = load i16, i16* %20
%320 = sext i16 %319 to i32
%321 = icmp eq i32 %318, %320
br i1 %321, label %322, label %537
322: ; preds = %316
store i16 0, i16* %17
%323 = load i16, i16* %10
store i16 %323, i16* %18
%324 = load i16, i16* %14
%325 = sext i16 %324 to i32
%326 = icmp eq i32 %325, 0
br i1 %326, label %327, label %328
327: ; preds = %322
br label %332
328: ; preds = %322
%329 = load i16, i16* %14
%330 = sext i16 %329 to i32
%331 = sub nsw i32 25, %330
br label %332
332: ; preds = %328, %327
%333 = phi i32 [ 0, %327 ], [ %331, %328 ]
%334 = trunc i32 %333 to i16
store i16 %334, i16* %10
%335 = load i16, i16* %18
%336 = sext i16 %335 to i32
%337 = icmp eq i32 %336, 0
br i1 %337, label %338, label %339
338: ; preds = %332
br label %343
339: ; preds = %332
%340 = load i16, i16* %18
%341 = sext i16 %340 to i32
%342 = sub nsw i32 25, %341
br label %343
343: ; preds = %339, %338
%344 = phi i32 [ 0, %338 ], [ %342, %339 ]
%345 = trunc i32 %344 to i16
store i16 %345, i16* %14
%346 = load i16, i16* %11
store i16 %346, i16* %18
%347 = load i16, i16* %15
%348 = sext i16 %347 to i32
%349 = icmp eq i32 %348, 0
br i1 %349, label %350, label %351
350: ; preds = %343
br label %355
351: ; preds = %343
%352 = load i16, i16* %15
%353 = sext i16 %352 to i32
%354 = sub nsw i32 25, %353
br label %355
355: ; preds = %351, %350
%356 = phi i32 [ 0, %350 ], [ %354, %351 ]
%357 = trunc i32 %356 to i16
store i16 %357, i16* %11
%358 = load i16, i16* %18
%359 = sext i16 %358 to i32
%360 = icmp eq i32 %359, 0
br i1 %360, label %361, label %362
361: ; preds = %355
br label %366
362: ; preds = %355
%363 = load i16, i16* %18
%364 = sext i16 %363 to i32
%365 = sub nsw i32 25, %364
br label %366
366: ; preds = %362, %361
%367 = phi i32 [ 0, %361 ], [ %365, %362 ]
%368 = trunc i32 %367 to i16
store i16 %368, i16* %15
%369 = load i16, i16* %12
store i16 %369, i16* %18
%370 = load i16, i16* %16
%371 = sext i16 %370 to i32
%372 = icmp eq i32 %371, 0
br i1 %372, label %373, label %374
373: ; preds = %366
br label %378
374: ; preds = %366
%375 = load i16, i16* %16
%376 = sext i16 %375 to i32
%377 = sub nsw i32 25, %376
br label %378
378: ; preds = %374, %373
%379 = phi i32 [ 0, %373 ], [ %377, %374 ]
%380 = trunc i32 %379 to i16
store i16 %380, i16* %12
%381 = load i16, i16* %18
%382 = sext i16 %381 to i32
%383 = icmp eq i32 %382, 0
br i1 %383, label %384, label %385
384: ; preds = %378
br label %389
385: ; preds = %378
%386 = load i16, i16* %18
%387 = sext i16 %386 to i32
%388 = sub nsw i32 25, %387
br label %389
389: ; preds = %385, %384
%390 = phi i32 [ 0, %384 ], [ %388, %385 ]
%391 = trunc i32 %390 to i16
store i16 %391, i16* %16
%392 = load i16, i16* %13
store i16 %392, i16* %18
%393 = load i16, i16* %17
%394 = sext i16 %393 to i32
%395 = icmp eq i32 %394, 0
br i1 %395, label %396, label %397
396: ; preds = %389
br label %401
397: ; preds = %389
%398 = load i16, i16* %17
%399 = sext i16 %398 to i32
%400 = sub nsw i32 25, %399
br label %401
401: ; preds = %397, %396
%402 = phi i32 [ 0, %396 ], [ %400, %397 ]
%403 = trunc i32 %402 to i16
store i16 %403, i16* %13
%404 = load i16, i16* %18
%405 = sext i16 %404 to i32
%406 = icmp eq i32 %405, 0
br i1 %406, label %407, label %408
407: ; preds = %401
br label %412
408: ; preds = %401
%409 = load i16, i16* %18
%410 = sext i16 %409 to i32
%411 = sub nsw i32 25, %410
br label %412
412: ; preds = %408, %407
%413 = phi i32 [ 0, %407 ], [ %411, %408 ]
%414 = trunc i32 %413 to i16
store i16 %414, i16* %17
%415 = load i16, i16* %10
%416 = sext i16 %415 to i32
%417 = load i16, i16* %11
%418 = sext i16 %417 to i32
%419 = load i16, i16* %12
%420 = sext i16 %419 to i32
%421 = load i16, i16* %13
%422 = sext i16 %421 to i32
%423 = load i16, i16* %14
%424 = sext i16 %423 to i32
%425 = load i16, i16* %15
%426 = sext i16 %425 to i32
%427 = load i16, i16* %16
%428 = sext i16 %427 to i32
%429 = load i16, i16* %17
%430 = sext i16 %429 to i32
%431 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %416, i32 %418, i32 %420, i32 %422, i32 %424, i32 %426, i32 %428, i32 %430)
%432 = trunc i32 %431 to i16
store i16 %432, i16* %18
%433 = load i16, i16* %18
%434 = sext i16 %433 to i32
%435 = icmp eq i32 %434, -1
br i1 %435, label %436, label %437
436: ; preds = %412
store i16 -1, i16* %9
br label %19404
437: ; preds = %412
%438 = load i16, i16* %18
%439 = sext i16 %438 to i32
%440 = icmp sle i32 0, %439
br i1 %440, label %441, label %443
441: ; preds = %437
%442 = load i16, i16* %22
store i16 %442, i16* %21
br label %443
443: ; preds = %441, %437
%444 = load i16, i16* %10
store i16 %444, i16* %18
%445 = load i16, i16* %14
%446 = sext i16 %445 to i32
%447 = icmp eq i32 %446, 0
br i1 %447, label %448, label %449
448: ; preds = %443
br label %453
449: ; preds = %443
%450 = load i16, i16* %14
%451 = sext i16 %450 to i32
%452 = sub nsw i32 25, %451
br label %453
453: ; preds = %449, %448
%454 = phi i32 [ 0, %448 ], [ %452, %449 ]
%455 = trunc i32 %454 to i16
store i16 %455, i16* %10
%456 = load i16, i16* %18
%457 = sext i16 %456 to i32
%458 = icmp eq i32 %457, 0
br i1 %458, label %459, label %460
459: ; preds = %453
br label %464
460: ; preds = %453
%461 = load i16, i16* %18
%462 = sext i16 %461 to i32
%463 = sub nsw i32 25, %462
br label %464
464: ; preds = %460, %459
%465 = phi i32 [ 0, %459 ], [ %463, %460 ]
%466 = trunc i32 %465 to i16
store i16 %466, i16* %14
%467 = load i16, i16* %11
store i16 %467, i16* %18
%468 = load i16, i16* %15
%469 = sext i16 %468 to i32
%470 = icmp eq i32 %469, 0
br i1 %470, label %471, label %472
471: ; preds = %464
br label %476
472: ; preds = %464
%473 = load i16, i16* %15
%474 = sext i16 %473 to i32
%475 = sub nsw i32 25, %474
br label %476
476: ; preds = %472, %471
%477 = phi i32 [ 0, %471 ], [ %475, %472 ]
%478 = trunc i32 %477 to i16
store i16 %478, i16* %11
%479 = load i16, i16* %18
%480 = sext i16 %479 to i32
%481 = icmp eq i32 %480, 0
br i1 %481, label %482, label %483
482: ; preds = %476
br label %487
483: ; preds = %476
%484 = load i16, i16* %18
%485 = sext i16 %484 to i32
%486 = sub nsw i32 25, %485
br label %487
487: ; preds = %483, %482
%488 = phi i32 [ 0, %482 ], [ %486, %483 ]
%489 = trunc i32 %488 to i16
store i16 %489, i16* %15
%490 = load i16, i16* %12
store i16 %490, i16* %18
%491 = load i16, i16* %16
%492 = sext i16 %491 to i32
%493 = icmp eq i32 %492, 0
br i1 %493, label %494, label %495
494: ; preds = %487
br label %499
495: ; preds = %487
%496 = load i16, i16* %16
%497 = sext i16 %496 to i32
%498 = sub nsw i32 25, %497
br label %499
499: ; preds = %495, %494
%500 = phi i32 [ 0, %494 ], [ %498, %495 ]
%501 = trunc i32 %500 to i16
store i16 %501, i16* %12
%502 = load i16, i16* %18
%503 = sext i16 %502 to i32
%504 = icmp eq i32 %503, 0
br i1 %504, label %505, label %506
505: ; preds = %499
br label %510
506: ; preds = %499
%507 = load i16, i16* %18
%508 = sext i16 %507 to i32
%509 = sub nsw i32 25, %508
br label %510
510: ; preds = %506, %505
%511 = phi i32 [ 0, %505 ], [ %509, %506 ]
%512 = trunc i32 %511 to i16
store i16 %512, i16* %16
%513 = load i16, i16* %13
store i16 %513, i16* %18
%514 = load i16, i16* %17
%515 = sext i16 %514 to i32
%516 = icmp eq i32 %515, 0
br i1 %516, label %517, label %518
517: ; preds = %510
br label %522
518: ; preds = %510
%519 = load i16, i16* %17
%520 = sext i16 %519 to i32
%521 = sub nsw i32 25, %520
br label %522
522: ; preds = %518, %517
%523 = phi i32 [ 0, %517 ], [ %521, %518 ]
%524 = trunc i32 %523 to i16
store i16 %524, i16* %13
%525 = load i16, i16* %18
%526 = sext i16 %525 to i32
%527 = icmp eq i32 %526, 0
br i1 %527, label %528, label %529
528: ; preds = %522
br label %533
529: ; preds = %522
%530 = load i16, i16* %18
%531 = sext i16 %530 to i32
%532 = sub nsw i32 25, %531
br label %533
533: ; preds = %529, %528
%534 = phi i32 [ 0, %528 ], [ %532, %529 ]
%535 = trunc i32 %534 to i16
store i16 %535, i16* %17
%536 = load i16, i16* %20
store i16 %536, i16* %17
br label %751
537: ; preds = %316
%538 = load i16, i16* %10
store i16 %538, i16* %18
%539 = load i16, i16* %14
%540 = sext i16 %539 to i32
%541 = icmp eq i32 %540, 0
br i1 %541, label %542, label %543
542: ; preds = %537
br label %547
543: ; preds = %537
%544 = load i16, i16* %14
%545 = sext i16 %544 to i32
%546 = sub nsw i32 25, %545
br label %547
547: ; preds = %543, %542
%548 = phi i32 [ 0, %542 ], [ %546, %543 ]
%549 = trunc i32 %548 to i16
store i16 %549, i16* %10
%550 = load i16, i16* %18
%551 = sext i16 %550 to i32
%552 = icmp eq i32 %551, 0
br i1 %552, label %553, label %554
553: ; preds = %547
br label %558
554: ; preds = %547
%555 = load i16, i16* %18
%556 = sext i16 %555 to i32
%557 = sub nsw i32 25, %556
br label %558
558: ; preds = %554, %553
%559 = phi i32 [ 0, %553 ], [ %557, %554 ]
%560 = trunc i32 %559 to i16
store i16 %560, i16* %14
%561 = load i16, i16* %11
store i16 %561, i16* %18
%562 = load i16, i16* %15
%563 = sext i16 %562 to i32
%564 = icmp eq i32 %563, 0
br i1 %564, label %565, label %566
565: ; preds = %558
br label %570
566: ; preds = %558
%567 = load i16, i16* %15
%568 = sext i16 %567 to i32
%569 = sub nsw i32 25, %568
br label %570
570: ; preds = %566, %565
%571 = phi i32 [ 0, %565 ], [ %569, %566 ]
%572 = trunc i32 %571 to i16
store i16 %572, i16* %11
%573 = load i16, i16* %18
%574 = sext i16 %573 to i32
%575 = icmp eq i32 %574, 0
br i1 %575, label %576, label %577
576: ; preds = %570
br label %581
577: ; preds = %570
%578 = load i16, i16* %18
%579 = sext i16 %578 to i32
%580 = sub nsw i32 25, %579
br label %581
581: ; preds = %577, %576
%582 = phi i32 [ 0, %576 ], [ %580, %577 ]
%583 = trunc i32 %582 to i16
store i16 %583, i16* %15
%584 = load i16, i16* %12
store i16 %584, i16* %18
%585 = load i16, i16* %16
%586 = sext i16 %585 to i32
%587 = icmp eq i32 %586, 0
br i1 %587, label %588, label %589
588: ; preds = %581
br label %593
589: ; preds = %581
%590 = load i16, i16* %16
%591 = sext i16 %590 to i32
%592 = sub nsw i32 25, %591
br label %593
593: ; preds = %589, %588
%594 = phi i32 [ 0, %588 ], [ %592, %589 ]
%595 = trunc i32 %594 to i16
store i16 %595, i16* %12
%596 = load i16, i16* %18
%597 = sext i16 %596 to i32
%598 = icmp eq i32 %597, 0
br i1 %598, label %599, label %600
599: ; preds = %593
br label %604
600: ; preds = %593
%601 = load i16, i16* %18
%602 = sext i16 %601 to i32
%603 = sub nsw i32 25, %602
br label %604
604: ; preds = %600, %599
%605 = phi i32 [ 0, %599 ], [ %603, %600 ]
%606 = trunc i32 %605 to i16
store i16 %606, i16* %16
%607 = load i16, i16* %13
store i16 %607, i16* %18
%608 = load i16, i16* %17
%609 = sext i16 %608 to i32
%610 = icmp eq i32 %609, 0
br i1 %610, label %611, label %612
611: ; preds = %604
br label %616
612: ; preds = %604
%613 = load i16, i16* %17
%614 = sext i16 %613 to i32
%615 = sub nsw i32 25, %614
br label %616
616: ; preds = %612, %611
%617 = phi i32 [ 0, %611 ], [ %615, %612 ]
%618 = trunc i32 %617 to i16
store i16 %618, i16* %13
%619 = load i16, i16* %18
%620 = sext i16 %619 to i32
%621 = icmp eq i32 %620, 0
br i1 %621, label %622, label %623
622: ; preds = %616
br label %627
623: ; preds = %616
%624 = load i16, i16* %18
%625 = sext i16 %624 to i32
%626 = sub nsw i32 25, %625
br label %627
627: ; preds = %623, %622
%628 = phi i32 [ 0, %622 ], [ %626, %623 ]
%629 = trunc i32 %628 to i16
store i16 %629, i16* %17
%630 = load i16, i16* %10
%631 = sext i16 %630 to i32
%632 = load i16, i16* %11
%633 = sext i16 %632 to i32
%634 = load i16, i16* %12
%635 = sext i16 %634 to i32
%636 = load i16, i16* %13
%637 = sext i16 %636 to i32
%638 = load i16, i16* %14
%639 = sext i16 %638 to i32
%640 = load i16, i16* %15
%641 = sext i16 %640 to i32
%642 = load i16, i16* %16
%643 = sext i16 %642 to i32
%644 = load i16, i16* %17
%645 = sext i16 %644 to i32
%646 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %631, i32 %633, i32 %635, i32 %637, i32 %639, i32 %641, i32 %643, i32 %645)
%647 = trunc i32 %646 to i16
store i16 %647, i16* %18
%648 = load i16, i16* %18
%649 = sext i16 %648 to i32
%650 = icmp eq i32 %649, -1
br i1 %650, label %651, label %652
651: ; preds = %627
store i16 -1, i16* %9
br label %19404
652: ; preds = %627
%653 = load i16, i16* %18
%654 = sext i16 %653 to i32
%655 = icmp sle i32 0, %654
br i1 %655, label %656, label %658
656: ; preds = %652
%657 = load i16, i16* %22
store i16 %657, i16* %21
br label %658
658: ; preds = %656, %652
%659 = load i16, i16* %10
store i16 %659, i16* %18
%660 = load i16, i16* %14
%661 = sext i16 %660 to i32
%662 = icmp eq i32 %661, 0
br i1 %662, label %663, label %664
663: ; preds = %658
br label %668
664: ; preds = %658
%665 = load i16, i16* %14
%666 = sext i16 %665 to i32
%667 = sub nsw i32 25, %666
br label %668
668: ; preds = %664, %663
%669 = phi i32 [ 0, %663 ], [ %667, %664 ]
%670 = trunc i32 %669 to i16
store i16 %670, i16* %10
%671 = load i16, i16* %18
%672 = sext i16 %671 to i32
%673 = icmp eq i32 %672, 0
br i1 %673, label %674, label %675
674: ; preds = %668
br label %679
675: ; preds = %668
%676 = load i16, i16* %18
%677 = sext i16 %676 to i32
%678 = sub nsw i32 25, %677
br label %679
679: ; preds = %675, %674
%680 = phi i32 [ 0, %674 ], [ %678, %675 ]
%681 = trunc i32 %680 to i16
store i16 %681, i16* %14
%682 = load i16, i16* %11
store i16 %682, i16* %18
%683 = load i16, i16* %15
%684 = sext i16 %683 to i32
%685 = icmp eq i32 %684, 0
br i1 %685, label %686, label %687
686: ; preds = %679
br label %691
687: ; preds = %679
%688 = load i16, i16* %15
%689 = sext i16 %688 to i32
%690 = sub nsw i32 25, %689
br label %691
691: ; preds = %687, %686
%692 = phi i32 [ 0, %686 ], [ %690, %687 ]
%693 = trunc i32 %692 to i16
store i16 %693, i16* %11
%694 = load i16, i16* %18
%695 = sext i16 %694 to i32
%696 = icmp eq i32 %695, 0
br i1 %696, label %697, label %698
697: ; preds = %691
br label %702
698: ; preds = %691
%699 = load i16, i16* %18
%700 = sext i16 %699 to i32
%701 = sub nsw i32 25, %700
br label %702
702: ; preds = %698, %697
%703 = phi i32 [ 0, %697 ], [ %701, %698 ]
%704 = trunc i32 %703 to i16
store i16 %704, i16* %15
%705 = load i16, i16* %12
store i16 %705, i16* %18
%706 = load i16, i16* %16
%707 = sext i16 %706 to i32
%708 = icmp eq i32 %707, 0
br i1 %708, label %709, label %710
709: ; preds = %702
br label %714
710: ; preds = %702
%711 = load i16, i16* %16
%712 = sext i16 %711 to i32
%713 = sub nsw i32 25, %712
br label %714
714: ; preds = %710, %709
%715 = phi i32 [ 0, %709 ], [ %713, %710 ]
%716 = trunc i32 %715 to i16
store i16 %716, i16* %12
%717 = load i16, i16* %18
%718 = sext i16 %717 to i32
%719 = icmp eq i32 %718, 0
br i1 %719, label %720, label %721
720: ; preds = %714
br label %725
721: ; preds = %714
%722 = load i16, i16* %18
%723 = sext i16 %722 to i32
%724 = sub nsw i32 25, %723
br label %725
725: ; preds = %721, %720
%726 = phi i32 [ 0, %720 ], [ %724, %721 ]
%727 = trunc i32 %726 to i16
store i16 %727, i16* %16
%728 = load i16, i16* %13
store i16 %728, i16* %18
%729 = load i16, i16* %17
%730 = sext i16 %729 to i32
%731 = icmp eq i32 %730, 0
br i1 %731, label %732, label %733
732: ; preds = %725
br label %737
733: ; preds = %725
%734 = load i16, i16* %17
%735 = sext i16 %734 to i32
%736 = sub nsw i32 25, %735
br label %737
737: ; preds = %733, %732
%738 = phi i32 [ 0, %732 ], [ %736, %733 ]
%739 = trunc i32 %738 to i16
store i16 %739, i16* %13
%740 = load i16, i16* %18
%741 = sext i16 %740 to i32
%742 = icmp eq i32 %741, 0
br i1 %742, label %743, label %744
743: ; preds = %737
br label %748
744: ; preds = %737
%745 = load i16, i16* %18
%746 = sext i16 %745 to i32
%747 = sub nsw i32 25, %746
br label %748
748: ; preds = %744, %743
%749 = phi i32 [ 0, %743 ], [ %747, %744 ]
%750 = trunc i32 %749 to i16
store i16 %750, i16* %17
br label %751
751: ; preds = %748, %533
br label %752
752: ; preds = %751, %312
%753 = load i16, i16* %19
store i16 %753, i16* %10
br label %754
754: ; preds = %752, %88, %82, %76, %70, %59
br label %755
755: ; preds = %754, %55, %51
br label %19398
756: ; preds = %47
%757 = load i16, i16* %22
%758 = sext i16 %757 to i32
%759 = icmp eq i32 %758, 1
br i1 %759, label %760, label %1470
760: ; preds = %756
%761 = load i16, i16* %10
%762 = sext i16 %761 to i32
%763 = icmp ne i32 %762, 0
br i1 %763, label %764, label %1469
764: ; preds = %760
%765 = load i16, i16* %10
%766 = sext i16 %765 to i32
%767 = icmp slt i32 %766, 21
br i1 %767, label %768, label %1469
768: ; preds = %764
%769 = load i16, i16* %10
%770 = sext i16 %769 to i32
%771 = srem i32 %770, 4
%772 = icmp ne i32 %771, 0
br i1 %772, label %773, label %1469
773: ; preds = %768
%774 = load i16, i16* %10
store i16 %774, i16* %19
%775 = load i16, i16* %19
%776 = sext i16 %775 to i32
%777 = add nsw i32 %776, 5
%778 = trunc i32 %777 to i16
store i16 %778, i16* %20
%779 = load i16, i16* %20
%780 = sext i16 %779 to i32
%781 = load i16, i16* %11
%782 = sext i16 %781 to i32
%783 = icmp ne i32 %780, %782
br i1 %783, label %784, label %1468
784: ; preds = %773
%785 = load i16, i16* %20
%786 = sext i16 %785 to i32
%787 = load i16, i16* %12
%788 = sext i16 %787 to i32
%789 = icmp ne i32 %786, %788
br i1 %789, label %790, label %1468
790: ; preds = %784
%791 = load i16, i16* %20
%792 = sext i16 %791 to i32
%793 = load i16, i16* %13
%794 = sext i16 %793 to i32
%795 = icmp ne i32 %792, %794
br i1 %795, label %796, label %1468
796: ; preds = %790
%797 = load i16, i16* %20
%798 = sext i16 %797 to i32
%799 = load i16, i16* %14
%800 = sext i16 %799 to i32
%801 = icmp ne i32 %798, %800
br i1 %801, label %802, label %1468
802: ; preds = %796
%803 = load i16, i16* %20
%804 = sext i16 %803 to i32
%805 = load i16, i16* %15
%806 = sext i16 %805 to i32
%807 = icmp ne i32 %804, %806
br i1 %807, label %808, label %1468
808: ; preds = %802
%809 = load i16, i16* %20
store i16 %809, i16* %10
%810 = load i16, i16* %16
%811 = sext i16 %810 to i32
%812 = load i16, i16* %20
%813 = sext i16 %812 to i32
%814 = icmp eq i32 %811, %813
br i1 %814, label %815, label %1030
815: ; preds = %808
store i16 0, i16* %16
%816 = load i16, i16* %10
store i16 %816, i16* %18
%817 = load i16, i16* %14
%818 = sext i16 %817 to i32
%819 = icmp eq i32 %818, 0
br i1 %819, label %820, label %821
820: ; preds = %815
br label %825
821: ; preds = %815
%822 = load i16, i16* %14
%823 = sext i16 %822 to i32
%824 = sub nsw i32 25, %823
br label %825
825: ; preds = %821, %820
%826 = phi i32 [ 0, %820 ], [ %824, %821 ]
%827 = trunc i32 %826 to i16
store i16 %827, i16* %10
%828 = load i16, i16* %18
%829 = sext i16 %828 to i32
%830 = icmp eq i32 %829, 0
br i1 %830, label %831, label %832
831: ; preds = %825
br label %836
832: ; preds = %825
%833 = load i16, i16* %18
%834 = sext i16 %833 to i32
%835 = sub nsw i32 25, %834
br label %836
836: ; preds = %832, %831
%837 = phi i32 [ 0, %831 ], [ %835, %832 ]
%838 = trunc i32 %837 to i16
store i16 %838, i16* %14
%839 = load i16, i16* %11
store i16 %839, i16* %18
%840 = load i16, i16* %15
%841 = sext i16 %840 to i32
%842 = icmp eq i32 %841, 0
br i1 %842, label %843, label %844
843: ; preds = %836
br label %848
844: ; preds = %836
%845 = load i16, i16* %15
%846 = sext i16 %845 to i32
%847 = sub nsw i32 25, %846
br label %848
848: ; preds = %844, %843
%849 = phi i32 [ 0, %843 ], [ %847, %844 ]
%850 = trunc i32 %849 to i16
store i16 %850, i16* %11
%851 = load i16, i16* %18
%852 = sext i16 %851 to i32
%853 = icmp eq i32 %852, 0
br i1 %853, label %854, label %855
854: ; preds = %848
br label %859
855: ; preds = %848
%856 = load i16, i16* %18
%857 = sext i16 %856 to i32
%858 = sub nsw i32 25, %857
br label %859
859: ; preds = %855, %854
%860 = phi i32 [ 0, %854 ], [ %858, %855 ]
%861 = trunc i32 %860 to i16
store i16 %861, i16* %15
%862 = load i16, i16* %12
store i16 %862, i16* %18
%863 = load i16, i16* %16
%864 = sext i16 %863 to i32
%865 = icmp eq i32 %864, 0
br i1 %865, label %866, label %867
866: ; preds = %859
br label %871
867: ; preds = %859
%868 = load i16, i16* %16
%869 = sext i16 %868 to i32
%870 = sub nsw i32 25, %869
br label %871
871: ; preds = %867, %866
%872 = phi i32 [ 0, %866 ], [ %870, %867 ]
%873 = trunc i32 %872 to i16
store i16 %873, i16* %12
%874 = load i16, i16* %18
%875 = sext i16 %874 to i32
%876 = icmp eq i32 %875, 0
br i1 %876, label %877, label %878
877: ; preds = %871
br label %882
878: ; preds = %871
%879 = load i16, i16* %18
%880 = sext i16 %879 to i32
%881 = sub nsw i32 25, %880
br label %882
882: ; preds = %878, %877
%883 = phi i32 [ 0, %877 ], [ %881, %878 ]
%884 = trunc i32 %883 to i16
store i16 %884, i16* %16
%885 = load i16, i16* %13
store i16 %885, i16* %18
%886 = load i16, i16* %17
%887 = sext i16 %886 to i32
%888 = icmp eq i32 %887, 0
br i1 %888, label %889, label %890
889: ; preds = %882
br label %894
890: ; preds = %882
%891 = load i16, i16* %17
%892 = sext i16 %891 to i32
%893 = sub nsw i32 25, %892
br label %894
894: ; preds = %890, %889
%895 = phi i32 [ 0, %889 ], [ %893, %890 ]
%896 = trunc i32 %895 to i16
store i16 %896, i16* %13
%897 = load i16, i16* %18
%898 = sext i16 %897 to i32
%899 = icmp eq i32 %898, 0
br i1 %899, label %900, label %901
900: ; preds = %894
br label %905
901: ; preds = %894
%902 = load i16, i16* %18
%903 = sext i16 %902 to i32
%904 = sub nsw i32 25, %903
br label %905
905: ; preds = %901, %900
%906 = phi i32 [ 0, %900 ], [ %904, %901 ]
%907 = trunc i32 %906 to i16
store i16 %907, i16* %17
%908 = load i16, i16* %10
%909 = sext i16 %908 to i32
%910 = load i16, i16* %11
%911 = sext i16 %910 to i32
%912 = load i16, i16* %12
%913 = sext i16 %912 to i32
%914 = load i16, i16* %13
%915 = sext i16 %914 to i32
%916 = load i16, i16* %14
%917 = sext i16 %916 to i32
%918 = load i16, i16* %15
%919 = sext i16 %918 to i32
%920 = load i16, i16* %16
%921 = sext i16 %920 to i32
%922 = load i16, i16* %17
%923 = sext i16 %922 to i32
%924 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %909, i32 %911, i32 %913, i32 %915, i32 %917, i32 %919, i32 %921, i32 %923)
%925 = trunc i32 %924 to i16
store i16 %925, i16* %18
%926 = load i16, i16* %18
%927 = sext i16 %926 to i32
%928 = icmp eq i32 %927, -1
br i1 %928, label %929, label %930
929: ; preds = %905
store i16 -1, i16* %9
br label %19404
930: ; preds = %905
%931 = load i16, i16* %18
%932 = sext i16 %931 to i32
%933 = icmp sle i32 0, %932
br i1 %933, label %934, label %936
934: ; preds = %930
%935 = load i16, i16* %22
store i16 %935, i16* %21
br label %936
936: ; preds = %934, %930
%937 = load i16, i16* %10
store i16 %937, i16* %18
%938 = load i16, i16* %14
%939 = sext i16 %938 to i32
%940 = icmp eq i32 %939, 0
br i1 %940, label %941, label %942
941: ; preds = %936
br label %946
942: ; preds = %936
%943 = load i16, i16* %14
%944 = sext i16 %943 to i32
%945 = sub nsw i32 25, %944
br label %946
946: ; preds = %942, %941
%947 = phi i32 [ 0, %941 ], [ %945, %942 ]
%948 = trunc i32 %947 to i16
store i16 %948, i16* %10
%949 = load i16, i16* %18
%950 = sext i16 %949 to i32
%951 = icmp eq i32 %950, 0
br i1 %951, label %952, label %953
952: ; preds = %946
br label %957
953: ; preds = %946
%954 = load i16, i16* %18
%955 = sext i16 %954 to i32
%956 = sub nsw i32 25, %955
br label %957
957: ; preds = %953, %952
%958 = phi i32 [ 0, %952 ], [ %956, %953 ]
%959 = trunc i32 %958 to i16
store i16 %959, i16* %14
%960 = load i16, i16* %11
store i16 %960, i16* %18
%961 = load i16, i16* %15
%962 = sext i16 %961 to i32
%963 = icmp eq i32 %962, 0
br i1 %963, label %964, label %965
964: ; preds = %957
br label %969
965: ; preds = %957
%966 = load i16, i16* %15
%967 = sext i16 %966 to i32
%968 = sub nsw i32 25, %967
br label %969
969: ; preds = %965, %964
%970 = phi i32 [ 0, %964 ], [ %968, %965 ]
%971 = trunc i32 %970 to i16
store i16 %971, i16* %11
%972 = load i16, i16* %18
%973 = sext i16 %972 to i32
%974 = icmp eq i32 %973, 0
br i1 %974, label %975, label %976
975: ; preds = %969
br label %980
976: ; preds = %969
%977 = load i16, i16* %18
%978 = sext i16 %977 to i32
%979 = sub nsw i32 25, %978
br label %980
980: ; preds = %976, %975
%981 = phi i32 [ 0, %975 ], [ %979, %976 ]
%982 = trunc i32 %981 to i16
store i16 %982, i16* %15
%983 = load i16, i16* %12
store i16 %983, i16* %18
%984 = load i16, i16* %16
%985 = sext i16 %984 to i32
%986 = icmp eq i32 %985, 0
br i1 %986, label %987, label %988
987: ; preds = %980
br label %992
988: ; preds = %980
%989 = load i16, i16* %16
%990 = sext i16 %989 to i32
%991 = sub nsw i32 25, %990
br label %992
992: ; preds = %988, %987
%993 = phi i32 [ 0, %987 ], [ %991, %988 ]
%994 = trunc i32 %993 to i16
store i16 %994, i16* %12
%995 = load i16, i16* %18
%996 = sext i16 %995 to i32
%997 = icmp eq i32 %996, 0
br i1 %997, label %998, label %999
998: ; preds = %992
br label %1003
999: ; preds = %992
%1000 = load i16, i16* %18
%1001 = sext i16 %1000 to i32
%1002 = sub nsw i32 25, %1001
br label %1003
1003: ; preds = %999, %998
%1004 = phi i32 [ 0, %998 ], [ %1002, %999 ]
%1005 = trunc i32 %1004 to i16
store i16 %1005, i16* %16
%1006 = load i16, i16* %13
store i16 %1006, i16* %18
%1007 = load i16, i16* %17
%1008 = sext i16 %1007 to i32
%1009 = icmp eq i32 %1008, 0
br i1 %1009, label %1010, label %1011
1010: ; preds = %1003
br label %1015
1011: ; preds = %1003
%1012 = load i16, i16* %17
%1013 = sext i16 %1012 to i32
%1014 = sub nsw i32 25, %1013
br label %1015
1015: ; preds = %1011, %1010
%1016 = phi i32 [ 0, %1010 ], [ %1014, %1011 ]
%1017 = trunc i32 %1016 to i16
store i16 %1017, i16* %13
%1018 = load i16, i16* %18
%1019 = sext i16 %1018 to i32
%1020 = icmp eq i32 %1019, 0
br i1 %1020, label %1021, label %1022
1021: ; preds = %1015
br label %1026
1022: ; preds = %1015
%1023 = load i16, i16* %18
%1024 = sext i16 %1023 to i32
%1025 = sub nsw i32 25, %1024
br label %1026
1026: ; preds = %1022, %1021
%1027 = phi i32 [ 0, %1021 ], [ %1025, %1022 ]
%1028 = trunc i32 %1027 to i16
store i16 %1028, i16* %17
%1029 = load i16, i16* %20
store i16 %1029, i16* %16
br label %1466
1030: ; preds = %808
%1031 = load i16, i16* %17
%1032 = sext i16 %1031 to i32
%1033 = load i16, i16* %20
%1034 = sext i16 %1033 to i32
%1035 = icmp eq i32 %1032, %1034
br i1 %1035, label %1036, label %1251
1036: ; preds = %1030
store i16 0, i16* %17
%1037 = load i16, i16* %10
store i16 %1037, i16* %18
%1038 = load i16, i16* %14
%1039 = sext i16 %1038 to i32
%1040 = icmp eq i32 %1039, 0
br i1 %1040, label %1041, label %1042
1041: ; preds = %1036
br label %1046
1042: ; preds = %1036
%1043 = load i16, i16* %14
%1044 = sext i16 %1043 to i32
%1045 = sub nsw i32 25, %1044
br label %1046
1046: ; preds = %1042, %1041
%1047 = phi i32 [ 0, %1041 ], [ %1045, %1042 ]
%1048 = trunc i32 %1047 to i16
store i16 %1048, i16* %10
%1049 = load i16, i16* %18
%1050 = sext i16 %1049 to i32
%1051 = icmp eq i32 %1050, 0
br i1 %1051, label %1052, label %1053
1052: ; preds = %1046
br label %1057
1053: ; preds = %1046
%1054 = load i16, i16* %18
%1055 = sext i16 %1054 to i32
%1056 = sub nsw i32 25, %1055
br label %1057
1057: ; preds = %1053, %1052
%1058 = phi i32 [ 0, %1052 ], [ %1056, %1053 ]
%1059 = trunc i32 %1058 to i16
store i16 %1059, i16* %14
%1060 = load i16, i16* %11
store i16 %1060, i16* %18
%1061 = load i16, i16* %15
%1062 = sext i16 %1061 to i32
%1063 = icmp eq i32 %1062, 0
br i1 %1063, label %1064, label %1065
1064: ; preds = %1057
br label %1069
1065: ; preds = %1057
%1066 = load i16, i16* %15
%1067 = sext i16 %1066 to i32
%1068 = sub nsw i32 25, %1067
br label %1069
1069: ; preds = %1065, %1064
%1070 = phi i32 [ 0, %1064 ], [ %1068, %1065 ]
%1071 = trunc i32 %1070 to i16
store i16 %1071, i16* %11
%1072 = load i16, i16* %18
%1073 = sext i16 %1072 to i32
%1074 = icmp eq i32 %1073, 0
br i1 %1074, label %1075, label %1076
1075: ; preds = %1069
br label %1080
1076: ; preds = %1069
%1077 = load i16, i16* %18
%1078 = sext i16 %1077 to i32
%1079 = sub nsw i32 25, %1078
br label %1080
1080: ; preds = %1076, %1075
%1081 = phi i32 [ 0, %1075 ], [ %1079, %1076 ]
%1082 = trunc i32 %1081 to i16
store i16 %1082, i16* %15
%1083 = load i16, i16* %12
store i16 %1083, i16* %18
%1084 = load i16, i16* %16
%1085 = sext i16 %1084 to i32
%1086 = icmp eq i32 %1085, 0
br i1 %1086, label %1087, label %1088
1087: ; preds = %1080
br label %1092
1088: ; preds = %1080
%1089 = load i16, i16* %16
%1090 = sext i16 %1089 to i32
%1091 = sub nsw i32 25, %1090
br label %1092
1092: ; preds = %1088, %1087
%1093 = phi i32 [ 0, %1087 ], [ %1091, %1088 ]
%1094 = trunc i32 %1093 to i16
store i16 %1094, i16* %12
%1095 = load i16, i16* %18
%1096 = sext i16 %1095 to i32
%1097 = icmp eq i32 %1096, 0
br i1 %1097, label %1098, label %1099
1098: ; preds = %1092
br label %1103
1099: ; preds = %1092
%1100 = load i16, i16* %18
%1101 = sext i16 %1100 to i32
%1102 = sub nsw i32 25, %1101
br label %1103
1103: ; preds = %1099, %1098
%1104 = phi i32 [ 0, %1098 ], [ %1102, %1099 ]
%1105 = trunc i32 %1104 to i16
store i16 %1105, i16* %16
%1106 = load i16, i16* %13
store i16 %1106, i16* %18
%1107 = load i16, i16* %17
%1108 = sext i16 %1107 to i32
%1109 = icmp eq i32 %1108, 0
br i1 %1109, label %1110, label %1111
1110: ; preds = %1103
br label %1115
1111: ; preds = %1103
%1112 = load i16, i16* %17
%1113 = sext i16 %1112 to i32
%1114 = sub nsw i32 25, %1113
br label %1115
1115: ; preds = %1111, %1110
%1116 = phi i32 [ 0, %1110 ], [ %1114, %1111 ]
%1117 = trunc i32 %1116 to i16
store i16 %1117, i16* %13
%1118 = load i16, i16* %18
%1119 = sext i16 %1118 to i32
%1120 = icmp eq i32 %1119, 0
br i1 %1120, label %1121, label %1122
1121: ; preds = %1115
br label %1126
1122: ; preds = %1115
%1123 = load i16, i16* %18
%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* %17
%1129 = load i16, i16* %10
%1130 = sext i16 %1129 to i32
%1131 = load i16, i16* %11
%1132 = sext i16 %1131 to i32
%1133 = load i16, i16* %12
%1134 = sext i16 %1133 to i32
%1135 = load i16, i16* %13
%1136 = sext i16 %1135 to i32
%1137 = load i16, i16* %14
%1138 = sext i16 %1137 to i32
%1139 = load i16, i16* %15
%1140 = sext i16 %1139 to i32
%1141 = load i16, i16* %16
%1142 = sext i16 %1141 to i32
%1143 = load i16, i16* %17
%1144 = sext i16 %1143 to i32
%1145 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1130, i32 %1132, i32 %1134, i32 %1136, i32 %1138, i32 %1140, i32 %1142, i32 %1144)
%1146 = trunc i32 %1145 to i16
store i16 %1146, i16* %18
%1147 = load i16, i16* %18
%1148 = sext i16 %1147 to i32
%1149 = icmp eq i32 %1148, -1
br i1 %1149, label %1150, label %1151
1150: ; preds = %1126
store i16 -1, i16* %9
br label %19404
1151: ; preds = %1126
%1152 = load i16, i16* %18
%1153 = sext i16 %1152 to i32
%1154 = icmp sle i32 0, %1153
br i1 %1154, label %1155, label %1157
1155: ; preds = %1151
%1156 = load i16, i16* %22
store i16 %1156, i16* %21
br label %1157
1157: ; preds = %1155, %1151
%1158 = load i16, i16* %10
store i16 %1158, i16* %18
%1159 = load i16, i16* %14
%1160 = sext i16 %1159 to i32
%1161 = icmp eq i32 %1160, 0
br i1 %1161, label %1162, label %1163
1162: ; preds = %1157
br label %1167
1163: ; preds = %1157
%1164 = load i16, i16* %14
%1165 = sext i16 %1164 to i32
%1166 = sub nsw i32 25, %1165
br label %1167
1167: ; preds = %1163, %1162
%1168 = phi i32 [ 0, %1162 ], [ %1166, %1163 ]
%1169 = trunc i32 %1168 to i16
store i16 %1169, i16* %10
%1170 = load i16, i16* %18
%1171 = sext i16 %1170 to i32
%1172 = icmp eq i32 %1171, 0
br i1 %1172, label %1173, label %1174
1173: ; preds = %1167
br label %1178
1174: ; preds = %1167
%1175 = load i16, i16* %18
%1176 = sext i16 %1175 to i32
%1177 = sub nsw i32 25, %1176
br label %1178
1178: ; preds = %1174, %1173
%1179 = phi i32 [ 0, %1173 ], [ %1177, %1174 ]
%1180 = trunc i32 %1179 to i16
store i16 %1180, i16* %14
%1181 = load i16, i16* %11
store i16 %1181, i16* %18
%1182 = load i16, i16* %15
%1183 = sext i16 %1182 to i32
%1184 = icmp eq i32 %1183, 0
br i1 %1184, label %1185, label %1186
1185: ; preds = %1178
br label %1190
1186: ; preds = %1178
%1187 = load i16, i16* %15
%1188 = sext i16 %1187 to i32
%1189 = sub nsw i32 25, %1188
br label %1190
1190: ; preds = %1186, %1185
%1191 = phi i32 [ 0, %1185 ], [ %1189, %1186 ]
%1192 = trunc i32 %1191 to i16
store i16 %1192, i16* %11
%1193 = load i16, i16* %18
%1194 = sext i16 %1193 to i32
%1195 = icmp eq i32 %1194, 0
br i1 %1195, label %1196, label %1197
1196: ; preds = %1190
br label %1201
1197: ; preds = %1190
%1198 = load i16, i16* %18
%1199 = sext i16 %1198 to i32
%1200 = sub nsw i32 25, %1199
br label %1201
1201: ; preds = %1197, %1196
%1202 = phi i32 [ 0, %1196 ], [ %1200, %1197 ]
%1203 = trunc i32 %1202 to i16
store i16 %1203, i16* %15
%1204 = load i16, i16* %12
store i16 %1204, i16* %18
%1205 = load i16, i16* %16
%1206 = sext i16 %1205 to i32
%1207 = icmp eq i32 %1206, 0
br i1 %1207, label %1208, label %1209
1208: ; preds = %1201
br label %1213
1209: ; preds = %1201
%1210 = load i16, i16* %16
%1211 = sext i16 %1210 to i32
%1212 = sub nsw i32 25, %1211
br label %1213
1213: ; preds = %1209, %1208
%1214 = phi i32 [ 0, %1208 ], [ %1212, %1209 ]
%1215 = trunc i32 %1214 to i16
store i16 %1215, i16* %12
%1216 = load i16, i16* %18
%1217 = sext i16 %1216 to i32
%1218 = icmp eq i32 %1217, 0
br i1 %1218, label %1219, label %1220
1219: ; preds = %1213
br label %1224
1220: ; preds = %1213
%1221 = load i16, i16* %18
%1222 = sext i16 %1221 to i32
%1223 = sub nsw i32 25, %1222
br label %1224
1224: ; preds = %1220, %1219
%1225 = phi i32 [ 0, %1219 ], [ %1223, %1220 ]
%1226 = trunc i32 %1225 to i16
store i16 %1226, i16* %16
%1227 = load i16, i16* %13
store i16 %1227, i16* %18
%1228 = load i16, i16* %17
%1229 = sext i16 %1228 to i32
%1230 = icmp eq i32 %1229, 0
br i1 %1230, label %1231, label %1232
1231: ; preds = %1224
br label %1236
1232: ; preds = %1224
%1233 = load i16, i16* %17
%1234 = sext i16 %1233 to i32
%1235 = sub nsw i32 25, %1234
br label %1236
1236: ; preds = %1232, %1231
%1237 = phi i32 [ 0, %1231 ], [ %1235, %1232 ]
%1238 = trunc i32 %1237 to i16
store i16 %1238, i16* %13
%1239 = load i16, i16* %18
%1240 = sext i16 %1239 to i32
%1241 = icmp eq i32 %1240, 0
br i1 %1241, label %1242, label %1243
1242: ; preds = %1236
br label %1247
1243: ; preds = %1236
%1244 = load i16, i16* %18
%1245 = sext i16 %1244 to i32
%1246 = sub nsw i32 25, %1245
br label %1247
1247: ; preds = %1243, %1242
%1248 = phi i32 [ 0, %1242 ], [ %1246, %1243 ]
%1249 = trunc i32 %1248 to i16
store i16 %1249, i16* %17
%1250 = load i16, i16* %20
store i16 %1250, i16* %17
br label %1465
1251: ; preds = %1030
%1252 = load i16, i16* %10
store i16 %1252, i16* %18
%1253 = load i16, i16* %14
%1254 = sext i16 %1253 to i32
%1255 = icmp eq i32 %1254, 0
br i1 %1255, label %1256, label %1257
1256: ; preds = %1251
br label %1261
1257: ; preds = %1251
%1258 = load i16, i16* %14
%1259 = sext i16 %1258 to i32
%1260 = sub nsw i32 25, %1259
br label %1261
1261: ; preds = %1257, %1256
%1262 = phi i32 [ 0, %1256 ], [ %1260, %1257 ]
%1263 = trunc i32 %1262 to i16
store i16 %1263, i16* %10
%1264 = load i16, i16* %18
%1265 = sext i16 %1264 to i32
%1266 = icmp eq i32 %1265, 0
br i1 %1266, label %1267, label %1268
1267: ; preds = %1261
br label %1272
1268: ; preds = %1261
%1269 = load i16, i16* %18
%1270 = sext i16 %1269 to i32
%1271 = sub nsw i32 25, %1270
br label %1272
1272: ; preds = %1268, %1267
%1273 = phi i32 [ 0, %1267 ], [ %1271, %1268 ]
%1274 = trunc i32 %1273 to i16
store i16 %1274, i16* %14
%1275 = load i16, i16* %11
store i16 %1275, i16* %18
%1276 = load i16, i16* %15
%1277 = sext i16 %1276 to i32
%1278 = icmp eq i32 %1277, 0
br i1 %1278, label %1279, label %1280
1279: ; preds = %1272
br label %1284
1280: ; preds = %1272
%1281 = load i16, i16* %15
%1282 = sext i16 %1281 to i32
%1283 = sub nsw i32 25, %1282
br label %1284
1284: ; preds = %1280, %1279
%1285 = phi i32 [ 0, %1279 ], [ %1283, %1280 ]
%1286 = trunc i32 %1285 to i16
store i16 %1286, i16* %11
%1287 = load i16, i16* %18
%1288 = sext i16 %1287 to i32
%1289 = icmp eq i32 %1288, 0
br i1 %1289, label %1290, label %1291
1290: ; preds = %1284
br label %1295
1291: ; preds = %1284
%1292 = load i16, i16* %18
%1293 = sext i16 %1292 to i32
%1294 = sub nsw i32 25, %1293
br label %1295
1295: ; preds = %1291, %1290
%1296 = phi i32 [ 0, %1290 ], [ %1294, %1291 ]
%1297 = trunc i32 %1296 to i16
store i16 %1297, i16* %15
%1298 = load i16, i16* %12
store i16 %1298, i16* %18
%1299 = load i16, i16* %16
%1300 = sext i16 %1299 to i32
%1301 = icmp eq i32 %1300, 0
br i1 %1301, label %1302, label %1303
1302: ; preds = %1295
br label %1307
1303: ; preds = %1295
%1304 = load i16, i16* %16
%1305 = sext i16 %1304 to i32
%1306 = sub nsw i32 25, %1305
br label %1307
1307: ; preds = %1303, %1302
%1308 = phi i32 [ 0, %1302 ], [ %1306, %1303 ]
%1309 = trunc i32 %1308 to i16
store i16 %1309, i16* %12
%1310 = load i16, i16* %18
%1311 = sext i16 %1310 to i32
%1312 = icmp eq i32 %1311, 0
br i1 %1312, label %1313, label %1314
1313: ; preds = %1307
br label %1318
1314: ; preds = %1307
%1315 = load i16, i16* %18
%1316 = sext i16 %1315 to i32
%1317 = sub nsw i32 25, %1316
br label %1318
1318: ; preds = %1314, %1313
%1319 = phi i32 [ 0, %1313 ], [ %1317, %1314 ]
%1320 = trunc i32 %1319 to i16
store i16 %1320, i16* %16
%1321 = load i16, i16* %13
store i16 %1321, i16* %18
%1322 = load i16, i16* %17
%1323 = sext i16 %1322 to i32
%1324 = icmp eq i32 %1323, 0
br i1 %1324, label %1325, label %1326
1325: ; preds = %1318
br label %1330
1326: ; preds = %1318
%1327 = load i16, i16* %17
%1328 = sext i16 %1327 to i32
%1329 = sub nsw i32 25, %1328
br label %1330
1330: ; preds = %1326, %1325
%1331 = phi i32 [ 0, %1325 ], [ %1329, %1326 ]
%1332 = trunc i32 %1331 to i16
store i16 %1332, i16* %13
%1333 = load i16, i16* %18
%1334 = sext i16 %1333 to i32
%1335 = icmp eq i32 %1334, 0
br i1 %1335, label %1336, label %1337
1336: ; preds = %1330
br label %1341
1337: ; preds = %1330
%1338 = load i16, i16* %18
%1339 = sext i16 %1338 to i32
%1340 = sub nsw i32 25, %1339
br label %1341
1341: ; preds = %1337, %1336
%1342 = phi i32 [ 0, %1336 ], [ %1340, %1337 ]
%1343 = trunc i32 %1342 to i16
store i16 %1343, i16* %17
%1344 = load i16, i16* %10
%1345 = sext i16 %1344 to i32
%1346 = load i16, i16* %11
%1347 = sext i16 %1346 to i32
%1348 = load i16, i16* %12
%1349 = sext i16 %1348 to i32
%1350 = load i16, i16* %13
%1351 = sext i16 %1350 to i32
%1352 = load i16, i16* %14
%1353 = sext i16 %1352 to i32
%1354 = load i16, i16* %15
%1355 = sext i16 %1354 to i32
%1356 = load i16, i16* %16
%1357 = sext i16 %1356 to i32
%1358 = load i16, i16* %17
%1359 = sext i16 %1358 to i32
%1360 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1345, i32 %1347, i32 %1349, i32 %1351, i32 %1353, i32 %1355, i32 %1357, i32 %1359)
%1361 = trunc i32 %1360 to i16
store i16 %1361, i16* %18
%1362 = load i16, i16* %18
%1363 = sext i16 %1362 to i32
%1364 = icmp eq i32 %1363, -1
br i1 %1364, label %1365, label %1366
1365: ; preds = %1341
store i16 -1, i16* %9
br label %19404
1366: ; preds = %1341
%1367 = load i16, i16* %18
%1368 = sext i16 %1367 to i32
%1369 = icmp sle i32 0, %1368
br i1 %1369, label %1370, label %1372
1370: ; preds = %1366
%1371 = load i16, i16* %22
store i16 %1371, i16* %21
br label %1372
1372: ; preds = %1370, %1366
%1373 = load i16, i16* %10
store i16 %1373, i16* %18
%1374 = load i16, i16* %14
%1375 = sext i16 %1374 to i32
%1376 = icmp eq i32 %1375, 0
br i1 %1376, label %1377, label %1378
1377: ; preds = %1372
br label %1382
1378: ; preds = %1372
%1379 = load i16, i16* %14
%1380 = sext i16 %1379 to i32
%1381 = sub nsw i32 25, %1380
br label %1382
1382: ; preds = %1378, %1377
%1383 = phi i32 [ 0, %1377 ], [ %1381, %1378 ]
%1384 = trunc i32 %1383 to i16
store i16 %1384, i16* %10
%1385 = load i16, i16* %18
%1386 = sext i16 %1385 to i32
%1387 = icmp eq i32 %1386, 0
br i1 %1387, label %1388, label %1389
1388: ; preds = %1382
br label %1393
1389: ; preds = %1382
%1390 = load i16, i16* %18
%1391 = sext i16 %1390 to i32
%1392 = sub nsw i32 25, %1391
br label %1393
1393: ; preds = %1389, %1388
%1394 = phi i32 [ 0, %1388 ], [ %1392, %1389 ]
%1395 = trunc i32 %1394 to i16
store i16 %1395, i16* %14
%1396 = load i16, i16* %11
store i16 %1396, i16* %18
%1397 = load i16, i16* %15
%1398 = sext i16 %1397 to i32
%1399 = icmp eq i32 %1398, 0
br i1 %1399, label %1400, label %1401
1400: ; preds = %1393
br label %1405
1401: ; preds = %1393
%1402 = load i16, i16* %15
%1403 = sext i16 %1402 to i32
%1404 = sub nsw i32 25, %1403
br label %1405
1405: ; preds = %1401, %1400
%1406 = phi i32 [ 0, %1400 ], [ %1404, %1401 ]
%1407 = trunc i32 %1406 to i16
store i16 %1407, i16* %11
%1408 = load i16, i16* %18
%1409 = sext i16 %1408 to i32
%1410 = icmp eq i32 %1409, 0
br i1 %1410, label %1411, label %1412
1411: ; preds = %1405
br label %1416
1412: ; preds = %1405
%1413 = load i16, i16* %18
%1414 = sext i16 %1413 to i32
%1415 = sub nsw i32 25, %1414
br label %1416
1416: ; preds = %1412, %1411
%1417 = phi i32 [ 0, %1411 ], [ %1415, %1412 ]
%1418 = trunc i32 %1417 to i16
store i16 %1418, i16* %15
%1419 = load i16, i16* %12
store i16 %1419, i16* %18
%1420 = load i16, i16* %16
%1421 = sext i16 %1420 to i32
%1422 = icmp eq i32 %1421, 0
br i1 %1422, label %1423, label %1424
1423: ; preds = %1416
br label %1428
1424: ; preds = %1416
%1425 = load i16, i16* %16
%1426 = sext i16 %1425 to i32
%1427 = sub nsw i32 25, %1426
br label %1428
1428: ; preds = %1424, %1423
%1429 = phi i32 [ 0, %1423 ], [ %1427, %1424 ]
%1430 = trunc i32 %1429 to i16
store i16 %1430, i16* %12
%1431 = load i16, i16* %18
%1432 = sext i16 %1431 to i32
%1433 = icmp eq i32 %1432, 0
br i1 %1433, label %1434, label %1435
1434: ; preds = %1428
br label %1439
1435: ; preds = %1428
%1436 = load i16, i16* %18
%1437 = sext i16 %1436 to i32
%1438 = sub nsw i32 25, %1437
br label %1439
1439: ; preds = %1435, %1434
%1440 = phi i32 [ 0, %1434 ], [ %1438, %1435 ]
%1441 = trunc i32 %1440 to i16
store i16 %1441, i16* %16
%1442 = load i16, i16* %13
store i16 %1442, i16* %18
%1443 = load i16, i16* %17
%1444 = sext i16 %1443 to i32
%1445 = icmp eq i32 %1444, 0
br i1 %1445, label %1446, label %1447
1446: ; preds = %1439
br label %1451
1447: ; preds = %1439
%1448 = load i16, i16* %17
%1449 = sext i16 %1448 to i32
%1450 = sub nsw i32 25, %1449
br label %1451
1451: ; preds = %1447, %1446
%1452 = phi i32 [ 0, %1446 ], [ %1450, %1447 ]
%1453 = trunc i32 %1452 to i16
store i16 %1453, i16* %13
%1454 = load i16, i16* %18
%1455 = sext i16 %1454 to i32
%1456 = icmp eq i32 %1455, 0
br i1 %1456, label %1457, label %1458
1457: ; preds = %1451
br label %1462
1458: ; preds = %1451
%1459 = load i16, i16* %18
%1460 = sext i16 %1459 to i32
%1461 = sub nsw i32 25, %1460
br label %1462
1462: ; preds = %1458, %1457
%1463 = phi i32 [ 0, %1457 ], [ %1461, %1458 ]
%1464 = trunc i32 %1463 to i16
store i16 %1464, i16* %17
br label %1465
1465: ; preds = %1462, %1247
br label %1466
1466: ; preds = %1465, %1026
%1467 = load i16, i16* %19
store i16 %1467, i16* %10
br label %1468
1468: ; preds = %1466, %802, %796, %790, %784, %773
br label %1469
1469: ; preds = %1468, %768, %764, %760
br label %19397
1470: ; preds = %756
%1471 = load i16, i16* %22
%1472 = sext i16 %1471 to i32
%1473 = icmp eq i32 %1472, 2
br i1 %1473, label %1474, label %2180
1474: ; preds = %1470
%1475 = load i16, i16* %10
%1476 = sext i16 %1475 to i32
%1477 = icmp ne i32 %1476, 0
br i1 %1477, label %1478, label %2179
1478: ; preds = %1474
%1479 = load i16, i16* %10
%1480 = sext i16 %1479 to i32
%1481 = srem i32 %1480, 4
%1482 = icmp ne i32 %1481, 0
br i1 %1482, label %1483, label %2179
1483: ; preds = %1478
%1484 = load i16, i16* %10
store i16 %1484, i16* %19
%1485 = load i16, i16* %19
%1486 = sext i16 %1485 to i32
%1487 = add nsw i32 %1486, 1
%1488 = trunc i32 %1487 to i16
store i16 %1488, i16* %20
%1489 = load i16, i16* %20
%1490 = sext i16 %1489 to i32
%1491 = load i16, i16* %11
%1492 = sext i16 %1491 to i32
%1493 = icmp ne i32 %1490, %1492
br i1 %1493, label %1494, label %2178
1494: ; preds = %1483
%1495 = load i16, i16* %20
%1496 = sext i16 %1495 to i32
%1497 = load i16, i16* %12
%1498 = sext i16 %1497 to i32
%1499 = icmp ne i32 %1496, %1498
br i1 %1499, label %1500, label %2178
1500: ; preds = %1494
%1501 = load i16, i16* %20
%1502 = sext i16 %1501 to i32
%1503 = load i16, i16* %13
%1504 = sext i16 %1503 to i32
%1505 = icmp ne i32 %1502, %1504
br i1 %1505, label %1506, label %2178
1506: ; preds = %1500
%1507 = load i16, i16* %20
%1508 = sext i16 %1507 to i32
%1509 = load i16, i16* %14
%1510 = sext i16 %1509 to i32
%1511 = icmp ne i32 %1508, %1510
br i1 %1511, label %1512, label %2178
1512: ; preds = %1506
%1513 = load i16, i16* %20
%1514 = sext i16 %1513 to i32
%1515 = load i16, i16* %15
%1516 = sext i16 %1515 to i32
%1517 = icmp ne i32 %1514, %1516
br i1 %1517, label %1518, label %2178
1518: ; preds = %1512
%1519 = load i16, i16* %20
store i16 %1519, i16* %10
%1520 = load i16, i16* %16
%1521 = sext i16 %1520 to i32
%1522 = load i16, i16* %20
%1523 = sext i16 %1522 to i32
%1524 = icmp eq i32 %1521, %1523
br i1 %1524, label %1525, label %1740
1525: ; preds = %1518
store i16 0, i16* %16
%1526 = load i16, i16* %10
store i16 %1526, i16* %18
%1527 = load i16, i16* %14
%1528 = sext i16 %1527 to i32
%1529 = icmp eq i32 %1528, 0
br i1 %1529, label %1530, label %1531
1530: ; preds = %1525
br label %1535
1531: ; preds = %1525
%1532 = load i16, i16* %14
%1533 = sext i16 %1532 to i32
%1534 = sub nsw i32 25, %1533
br label %1535
1535: ; preds = %1531, %1530
%1536 = phi i32 [ 0, %1530 ], [ %1534, %1531 ]
%1537 = trunc i32 %1536 to i16
store i16 %1537, i16* %10
%1538 = load i16, i16* %18
%1539 = sext i16 %1538 to i32
%1540 = icmp eq i32 %1539, 0
br i1 %1540, label %1541, label %1542
1541: ; preds = %1535
br label %1546
1542: ; preds = %1535
%1543 = load i16, i16* %18
%1544 = sext i16 %1543 to i32
%1545 = sub nsw i32 25, %1544
br label %1546
1546: ; preds = %1542, %1541
%1547 = phi i32 [ 0, %1541 ], [ %1545, %1542 ]
%1548 = trunc i32 %1547 to i16
store i16 %1548, i16* %14
%1549 = load i16, i16* %11
store i16 %1549, i16* %18
%1550 = load i16, i16* %15
%1551 = sext i16 %1550 to i32
%1552 = icmp eq i32 %1551, 0
br i1 %1552, label %1553, label %1554
1553: ; preds = %1546
br label %1558
1554: ; preds = %1546
%1555 = load i16, i16* %15
%1556 = sext i16 %1555 to i32
%1557 = sub nsw i32 25, %1556
br label %1558
1558: ; preds = %1554, %1553
%1559 = phi i32 [ 0, %1553 ], [ %1557, %1554 ]
%1560 = trunc i32 %1559 to i16
store i16 %1560, i16* %11
%1561 = load i16, i16* %18
%1562 = sext i16 %1561 to i32
%1563 = icmp eq i32 %1562, 0
br i1 %1563, label %1564, label %1565
1564: ; preds = %1558
br label %1569
1565: ; preds = %1558
%1566 = load i16, i16* %18
%1567 = sext i16 %1566 to i32
%1568 = sub nsw i32 25, %1567
br label %1569
1569: ; preds = %1565, %1564
%1570 = phi i32 [ 0, %1564 ], [ %1568, %1565 ]
%1571 = trunc i32 %1570 to i16
store i16 %1571, i16* %15
%1572 = load i16, i16* %12
store i16 %1572, i16* %18
%1573 = load i16, i16* %16
%1574 = sext i16 %1573 to i32
%1575 = icmp eq i32 %1574, 0
br i1 %1575, label %1576, label %1577
1576: ; preds = %1569
br label %1581
1577: ; preds = %1569
%1578 = load i16, i16* %16
%1579 = sext i16 %1578 to i32
%1580 = sub nsw i32 25, %1579
br label %1581
1581: ; preds = %1577, %1576
%1582 = phi i32 [ 0, %1576 ], [ %1580, %1577 ]
%1583 = trunc i32 %1582 to i16
store i16 %1583, i16* %12
%1584 = load i16, i16* %18
%1585 = sext i16 %1584 to i32
%1586 = icmp eq i32 %1585, 0
br i1 %1586, label %1587, label %1588
1587: ; preds = %1581
br label %1592
1588: ; preds = %1581
%1589 = load i16, i16* %18
%1590 = sext i16 %1589 to i32
%1591 = sub nsw i32 25, %1590
br label %1592
1592: ; preds = %1588, %1587
%1593 = phi i32 [ 0, %1587 ], [ %1591, %1588 ]
%1594 = trunc i32 %1593 to i16
store i16 %1594, i16* %16
%1595 = load i16, i16* %13
store i16 %1595, i16* %18
%1596 = load i16, i16* %17
%1597 = sext i16 %1596 to i32
%1598 = icmp eq i32 %1597, 0
br i1 %1598, label %1599, label %1600
1599: ; preds = %1592
br label %1604
1600: ; preds = %1592
%1601 = load i16, i16* %17
%1602 = sext i16 %1601 to i32
%1603 = sub nsw i32 25, %1602
br label %1604
1604: ; preds = %1600, %1599
%1605 = phi i32 [ 0, %1599 ], [ %1603, %1600 ]
%1606 = trunc i32 %1605 to i16
store i16 %1606, i16* %13
%1607 = load i16, i16* %18
%1608 = sext i16 %1607 to i32
%1609 = icmp eq i32 %1608, 0
br i1 %1609, label %1610, label %1611
1610: ; preds = %1604
br label %1615
1611: ; preds = %1604
%1612 = load i16, i16* %18
%1613 = sext i16 %1612 to i32
%1614 = sub nsw i32 25, %1613
br label %1615
1615: ; preds = %1611, %1610
%1616 = phi i32 [ 0, %1610 ], [ %1614, %1611 ]
%1617 = trunc i32 %1616 to i16
store i16 %1617, i16* %17
%1618 = load i16, i16* %10
%1619 = sext i16 %1618 to i32
%1620 = load i16, i16* %11
%1621 = sext i16 %1620 to i32
%1622 = load i16, i16* %12
%1623 = sext i16 %1622 to i32
%1624 = load i16, i16* %13
%1625 = sext i16 %1624 to i32
%1626 = load i16, i16* %14
%1627 = sext i16 %1626 to i32
%1628 = load i16, i16* %15
%1629 = sext i16 %1628 to i32
%1630 = load i16, i16* %16
%1631 = sext i16 %1630 to i32
%1632 = load i16, i16* %17
%1633 = sext i16 %1632 to i32
%1634 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1619, i32 %1621, i32 %1623, i32 %1625, i32 %1627, i32 %1629, i32 %1631, i32 %1633)
%1635 = trunc i32 %1634 to i16
store i16 %1635, i16* %18
%1636 = load i16, i16* %18
%1637 = sext i16 %1636 to i32
%1638 = icmp eq i32 %1637, -1
br i1 %1638, label %1639, label %1640
1639: ; preds = %1615
store i16 -1, i16* %9
br label %19404
1640: ; preds = %1615
%1641 = load i16, i16* %18
%1642 = sext i16 %1641 to i32
%1643 = icmp sle i32 0, %1642
br i1 %1643, label %1644, label %1646
1644: ; preds = %1640
%1645 = load i16, i16* %22
store i16 %1645, i16* %21
br label %1646
1646: ; preds = %1644, %1640
%1647 = load i16, i16* %10
store i16 %1647, i16* %18
%1648 = load i16, i16* %14
%1649 = sext i16 %1648 to i32
%1650 = icmp eq i32 %1649, 0
br i1 %1650, label %1651, label %1652
1651: ; preds = %1646
br label %1656
1652: ; preds = %1646
%1653 = load i16, i16* %14
%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* %10
%1659 = load i16, i16* %18
%1660 = sext i16 %1659 to i32
%1661 = icmp eq i32 %1660, 0
br i1 %1661, label %1662, label %1663
1662: ; preds = %1656
br label %1667
1663: ; preds = %1656
%1664 = load i16, i16* %18
%1665 = sext i16 %1664 to i32
%1666 = sub nsw i32 25, %1665
br label %1667
1667: ; preds = %1663, %1662
%1668 = phi i32 [ 0, %1662 ], [ %1666, %1663 ]
%1669 = trunc i32 %1668 to i16
store i16 %1669, i16* %14
%1670 = load i16, i16* %11
store i16 %1670, i16* %18
%1671 = load i16, i16* %15
%1672 = sext i16 %1671 to i32
%1673 = icmp eq i32 %1672, 0
br i1 %1673, label %1674, label %1675
1674: ; preds = %1667
br label %1679
1675: ; preds = %1667
%1676 = load i16, i16* %15
%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* %11
%1682 = load i16, i16* %18
%1683 = sext i16 %1682 to i32
%1684 = icmp eq i32 %1683, 0
br i1 %1684, label %1685, label %1686
1685: ; preds = %1679
br label %1690
1686: ; preds = %1679
%1687 = load i16, i16* %18
%1688 = sext i16 %1687 to i32
%1689 = sub nsw i32 25, %1688
br label %1690
1690: ; preds = %1686, %1685
%1691 = phi i32 [ 0, %1685 ], [ %1689, %1686 ]
%1692 = trunc i32 %1691 to i16
store i16 %1692, i16* %15
%1693 = load i16, i16* %12
store i16 %1693, i16* %18
%1694 = load i16, i16* %16
%1695 = sext i16 %1694 to i32
%1696 = icmp eq i32 %1695, 0
br i1 %1696, label %1697, label %1698
1697: ; preds = %1690
br label %1702
1698: ; preds = %1690
%1699 = load i16, i16* %16
%1700 = sext i16 %1699 to i32
%1701 = sub nsw i32 25, %1700
br label %1702
1702: ; preds = %1698, %1697
%1703 = phi i32 [ 0, %1697 ], [ %1701, %1698 ]
%1704 = trunc i32 %1703 to i16
store i16 %1704, i16* %12
%1705 = load i16, i16* %18
%1706 = sext i16 %1705 to i32
%1707 = icmp eq i32 %1706, 0
br i1 %1707, label %1708, label %1709
1708: ; preds = %1702
br label %1713
1709: ; preds = %1702
%1710 = load i16, i16* %18
%1711 = sext i16 %1710 to i32
%1712 = sub nsw i32 25, %1711
br label %1713
1713: ; preds = %1709, %1708
%1714 = phi i32 [ 0, %1708 ], [ %1712, %1709 ]
%1715 = trunc i32 %1714 to i16
store i16 %1715, i16* %16
%1716 = load i16, i16* %13
store i16 %1716, i16* %18
%1717 = load i16, i16* %17
%1718 = sext i16 %1717 to i32
%1719 = icmp eq i32 %1718, 0
br i1 %1719, label %1720, label %1721
1720: ; preds = %1713
br label %1725
1721: ; preds = %1713
%1722 = load i16, i16* %17
%1723 = sext i16 %1722 to i32
%1724 = sub nsw i32 25, %1723
br label %1725
1725: ; preds = %1721, %1720
%1726 = phi i32 [ 0, %1720 ], [ %1724, %1721 ]
%1727 = trunc i32 %1726 to i16
store i16 %1727, i16* %13
%1728 = load i16, i16* %18
%1729 = sext i16 %1728 to i32
%1730 = icmp eq i32 %1729, 0
br i1 %1730, label %1731, label %1732
1731: ; preds = %1725
br label %1736
1732: ; preds = %1725
%1733 = load i16, i16* %18
%1734 = sext i16 %1733 to i32
%1735 = sub nsw i32 25, %1734
br label %1736
1736: ; preds = %1732, %1731
%1737 = phi i32 [ 0, %1731 ], [ %1735, %1732 ]
%1738 = trunc i32 %1737 to i16
store i16 %1738, i16* %17
%1739 = load i16, i16* %20
store i16 %1739, i16* %16
br label %2176
1740: ; preds = %1518
%1741 = load i16, i16* %17
%1742 = sext i16 %1741 to i32
%1743 = load i16, i16* %20
%1744 = sext i16 %1743 to i32
%1745 = icmp eq i32 %1742, %1744
br i1 %1745, label %1746, label %1961
1746: ; preds = %1740
store i16 0, i16* %17
%1747 = load i16, i16* %10
store i16 %1747, i16* %18
%1748 = load i16, i16* %14
%1749 = sext i16 %1748 to i32
%1750 = icmp eq i32 %1749, 0
br i1 %1750, label %1751, label %1752
1751: ; preds = %1746
br label %1756
1752: ; preds = %1746
%1753 = load i16, i16* %14
%1754 = sext i16 %1753 to i32
%1755 = sub nsw i32 25, %1754
br label %1756
1756: ; preds = %1752, %1751
%1757 = phi i32 [ 0, %1751 ], [ %1755, %1752 ]
%1758 = trunc i32 %1757 to i16
store i16 %1758, i16* %10
%1759 = load i16, i16* %18
%1760 = sext i16 %1759 to i32
%1761 = icmp eq i32 %1760, 0
br i1 %1761, label %1762, label %1763
1762: ; preds = %1756
br label %1767
1763: ; preds = %1756
%1764 = load i16, i16* %18
%1765 = sext i16 %1764 to i32
%1766 = sub nsw i32 25, %1765
br label %1767
1767: ; preds = %1763, %1762
%1768 = phi i32 [ 0, %1762 ], [ %1766, %1763 ]
%1769 = trunc i32 %1768 to i16
store i16 %1769, i16* %14
%1770 = load i16, i16* %11
store i16 %1770, i16* %18
%1771 = load i16, i16* %15
%1772 = sext i16 %1771 to i32
%1773 = icmp eq i32 %1772, 0
br i1 %1773, label %1774, label %1775
1774: ; preds = %1767
br label %1779
1775: ; preds = %1767
%1776 = load i16, i16* %15
%1777 = sext i16 %1776 to i32
%1778 = sub nsw i32 25, %1777
br label %1779
1779: ; preds = %1775, %1774
%1780 = phi i32 [ 0, %1774 ], [ %1778, %1775 ]
%1781 = trunc i32 %1780 to i16
store i16 %1781, i16* %11
%1782 = load i16, i16* %18
%1783 = sext i16 %1782 to i32
%1784 = icmp eq i32 %1783, 0
br i1 %1784, label %1785, label %1786
1785: ; preds = %1779
br label %1790
1786: ; preds = %1779
%1787 = load i16, i16* %18
%1788 = sext i16 %1787 to i32
%1789 = sub nsw i32 25, %1788
br label %1790
1790: ; preds = %1786, %1785
%1791 = phi i32 [ 0, %1785 ], [ %1789, %1786 ]
%1792 = trunc i32 %1791 to i16
store i16 %1792, i16* %15
%1793 = load i16, i16* %12
store i16 %1793, i16* %18
%1794 = load i16, i16* %16
%1795 = sext i16 %1794 to i32
%1796 = icmp eq i32 %1795, 0
br i1 %1796, label %1797, label %1798
1797: ; preds = %1790
br label %1802
1798: ; preds = %1790
%1799 = load i16, i16* %16
%1800 = sext i16 %1799 to i32
%1801 = sub nsw i32 25, %1800
br label %1802
1802: ; preds = %1798, %1797
%1803 = phi i32 [ 0, %1797 ], [ %1801, %1798 ]
%1804 = trunc i32 %1803 to i16
store i16 %1804, i16* %12
%1805 = load i16, i16* %18
%1806 = sext i16 %1805 to i32
%1807 = icmp eq i32 %1806, 0
br i1 %1807, label %1808, label %1809
1808: ; preds = %1802
br label %1813
1809: ; preds = %1802
%1810 = load i16, i16* %18
%1811 = sext i16 %1810 to i32
%1812 = sub nsw i32 25, %1811
br label %1813
1813: ; preds = %1809, %1808
%1814 = phi i32 [ 0, %1808 ], [ %1812, %1809 ]
%1815 = trunc i32 %1814 to i16
store i16 %1815, i16* %16
%1816 = load i16, i16* %13
store i16 %1816, i16* %18
%1817 = load i16, i16* %17
%1818 = sext i16 %1817 to i32
%1819 = icmp eq i32 %1818, 0
br i1 %1819, label %1820, label %1821
1820: ; preds = %1813
br label %1825
1821: ; preds = %1813
%1822 = load i16, i16* %17
%1823 = sext i16 %1822 to i32
%1824 = sub nsw i32 25, %1823
br label %1825
1825: ; preds = %1821, %1820
%1826 = phi i32 [ 0, %1820 ], [ %1824, %1821 ]
%1827 = trunc i32 %1826 to i16
store i16 %1827, i16* %13
%1828 = load i16, i16* %18
%1829 = sext i16 %1828 to i32
%1830 = icmp eq i32 %1829, 0
br i1 %1830, label %1831, label %1832
1831: ; preds = %1825
br label %1836
1832: ; preds = %1825
%1833 = load i16, i16* %18
%1834 = sext i16 %1833 to i32
%1835 = sub nsw i32 25, %1834
br label %1836
1836: ; preds = %1832, %1831
%1837 = phi i32 [ 0, %1831 ], [ %1835, %1832 ]
%1838 = trunc i32 %1837 to i16
store i16 %1838, i16* %17
%1839 = load i16, i16* %10
%1840 = sext i16 %1839 to i32
%1841 = load i16, i16* %11
%1842 = sext i16 %1841 to i32
%1843 = load i16, i16* %12
%1844 = sext i16 %1843 to i32
%1845 = load i16, i16* %13
%1846 = sext i16 %1845 to i32
%1847 = load i16, i16* %14
%1848 = sext i16 %1847 to i32
%1849 = load i16, i16* %15
%1850 = sext i16 %1849 to i32
%1851 = load i16, i16* %16
%1852 = sext i16 %1851 to i32
%1853 = load i16, i16* %17
%1854 = sext i16 %1853 to i32
%1855 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %1840, i32 %1842, i32 %1844, i32 %1846, i32 %1848, i32 %1850, i32 %1852, i32 %1854)
%1856 = trunc i32 %1855 to i16
store i16 %1856, i16* %18
%1857 = load i16, i16* %18
%1858 = sext i16 %1857 to i32
%1859 = icmp eq i32 %1858, -1
br i1 %1859, label %1860, label %1861
1860: ; preds = %1836
store i16 -1, i16* %9
br label %19404
1861: ; preds = %1836
%1862 = load i16, i16* %18
%1863 = sext i16 %1862 to i32
%1864 = icmp sle i32 0, %1863
br i1 %1864, label %1865, label %1867
1865: ; preds = %1861
%1866 = load i16, i16* %22
store i16 %1866, i16* %21
br label %1867
1867: ; preds = %1865, %1861
%1868 = load i16, i16* %10
store i16 %1868, i16* %18
%1869 = load i16, i16* %14
%1870 = sext i16 %1869 to i32
%1871 = icmp eq i32 %1870, 0
br i1 %1871, label %1872, label %1873
1872: ; preds = %1867
br label %1877
1873: ; preds = %1867
%1874 = load i16, i16* %14
%1875 = sext i16 %1874 to i32
%1876 = sub nsw i32 25, %1875
br label %1877
1877: ; preds = %1873, %1872
%1878 = phi i32 [ 0, %1872 ], [ %1876, %1873 ]
%1879 = trunc i32 %1878 to i16
store i16 %1879, i16* %10
%1880 = load i16, i16* %18
%1881 = sext i16 %1880 to i32
%1882 = icmp eq i32 %1881, 0
br i1 %1882, label %1883, label %1884
1883: ; preds = %1877
br label %1888
1884: ; preds = %1877
%1885 = load i16, i16* %18
%1886 = sext i16 %1885 to i32
%1887 = sub nsw i32 25, %1886
br label %1888
1888: ; preds = %1884, %1883
%1889 = phi i32 [ 0, %1883 ], [ %1887, %1884 ]
%1890 = trunc i32 %1889 to i16
store i16 %1890, i16* %14
%1891 = load i16, i16* %11
store i16 %1891, i16* %18
%1892 = load i16, i16* %15
%1893 = sext i16 %1892 to i32
%1894 = icmp eq i32 %1893, 0
br i1 %1894, label %1895, label %1896
1895: ; preds = %1888
br label %1900
1896: ; preds = %1888
%1897 = load i16, i16* %15
%1898 = sext i16 %1897 to i32
%1899 = sub nsw i32 25, %1898
br label %1900
1900: ; preds = %1896, %1895
%1901 = phi i32 [ 0, %1895 ], [ %1899, %1896 ]
%1902 = trunc i32 %1901 to i16
store i16 %1902, i16* %11
%1903 = load i16, i16* %18
%1904 = sext i16 %1903 to i32
%1905 = icmp eq i32 %1904, 0
br i1 %1905, label %1906, label %1907
1906: ; preds = %1900
br label %1911
1907: ; preds = %1900
%1908 = load i16, i16* %18
%1909 = sext i16 %1908 to i32
%1910 = sub nsw i32 25, %1909
br label %1911
1911: ; preds = %1907, %1906
%1912 = phi i32 [ 0, %1906 ], [ %1910, %1907 ]
%1913 = trunc i32 %1912 to i16
store i16 %1913, i16* %15
%1914 = load i16, i16* %12
store i16 %1914, i16* %18
%1915 = load i16, i16* %16
%1916 = sext i16 %1915 to i32
%1917 = icmp eq i32 %1916, 0
br i1 %1917, label %1918, label %1919
1918: ; preds = %1911
br label %1923
1919: ; preds = %1911
%1920 = load i16, i16* %16
%1921 = sext i16 %1920 to i32
%1922 = sub nsw i32 25, %1921
br label %1923
1923: ; preds = %1919, %1918
%1924 = phi i32 [ 0, %1918 ], [ %1922, %1919 ]
%1925 = trunc i32 %1924 to i16
store i16 %1925, i16* %12
%1926 = load i16, i16* %18
%1927 = sext i16 %1926 to i32
%1928 = icmp eq i32 %1927, 0
br i1 %1928, label %1929, label %1930
1929: ; preds = %1923
br label %1934
1930: ; preds = %1923
%1931 = load i16, i16* %18
%1932 = sext i16 %1931 to i32
%1933 = sub nsw i32 25, %1932
br label %1934
1934: ; preds = %1930, %1929
%1935 = phi i32 [ 0, %1929 ], [ %1933, %1930 ]
%1936 = trunc i32 %1935 to i16
store i16 %1936, i16* %16
%1937 = load i16, i16* %13
store i16 %1937, i16* %18
%1938 = load i16, i16* %17
%1939 = sext i16 %1938 to i32
%1940 = icmp eq i32 %1939, 0
br i1 %1940, label %1941, label %1942
1941: ; preds = %1934
br label %1946
1942: ; preds = %1934
%1943 = load i16, i16* %17
%1944 = sext i16 %1943 to i32
%1945 = sub nsw i32 25, %1944
br label %1946
1946: ; preds = %1942, %1941
%1947 = phi i32 [ 0, %1941 ], [ %1945, %1942 ]
%1948 = trunc i32 %1947 to i16
store i16 %1948, i16* %13
%1949 = load i16, i16* %18
%1950 = sext i16 %1949 to i32
%1951 = icmp eq i32 %1950, 0
br i1 %1951, label %1952, label %1953
1952: ; preds = %1946
br label %1957
1953: ; preds = %1946
%1954 = load i16, i16* %18
%1955 = sext i16 %1954 to i32
%1956 = sub nsw i32 25, %1955
br label %1957
1957: ; preds = %1953, %1952
%1958 = phi i32 [ 0, %1952 ], [ %1956, %1953 ]
%1959 = trunc i32 %1958 to i16
store i16 %1959, i16* %17
%1960 = load i16, i16* %20
store i16 %1960, i16* %17
br label %2175
1961: ; preds = %1740
%1962 = load i16, i16* %10
store i16 %1962, i16* %18
%1963 = load i16, i16* %14
%1964 = sext i16 %1963 to i32
%1965 = icmp eq i32 %1964, 0
br i1 %1965, label %1966, label %1967
1966: ; preds = %1961
br label %1971
1967: ; preds = %1961
%1968 = load i16, i16* %14
%1969 = sext i16 %1968 to i32
%1970 = sub nsw i32 25, %1969
br label %1971
1971: ; preds = %1967, %1966
%1972 = phi i32 [ 0, %1966 ], [ %1970, %1967 ]
%1973 = trunc i32 %1972 to i16
store i16 %1973, i16* %10
%1974 = load i16, i16* %18
%1975 = sext i16 %1974 to i32
%1976 = icmp eq i32 %1975, 0
br i1 %1976, label %1977, label %1978
1977: ; preds = %1971
br label %1982
1978: ; preds = %1971
%1979 = load i16, i16* %18
%1980 = sext i16 %1979 to i32
%1981 = sub nsw i32 25, %1980
br label %1982
1982: ; preds = %1978, %1977
%1983 = phi i32 [ 0, %1977 ], [ %1981, %1978 ]
%1984 = trunc i32 %1983 to i16
store i16 %1984, i16* %14
%1985 = load i16, i16* %11
store i16 %1985, i16* %18
%1986 = load i16, i16* %15
%1987 = sext i16 %1986 to i32
%1988 = icmp eq i32 %1987, 0
br i1 %1988, label %1989, label %1990
1989: ; preds = %1982
br label %1994
1990: ; preds = %1982
%1991 = load i16, i16* %15
%1992 = sext i16 %1991 to i32
%1993 = sub nsw i32 25, %1992
br label %1994
1994: ; preds = %1990, %1989
%1995 = phi i32 [ 0, %1989 ], [ %1993, %1990 ]
%1996 = trunc i32 %1995 to i16
store i16 %1996, i16* %11
%1997 = load i16, i16* %18
%1998 = sext i16 %1997 to i32
%1999 = icmp eq i32 %1998, 0
br i1 %1999, label %2000, label %2001
2000: ; preds = %1994
br label %2005
2001: ; preds = %1994
%2002 = load i16, i16* %18
%2003 = sext i16 %2002 to i32
%2004 = sub nsw i32 25, %2003
br label %2005
2005: ; preds = %2001, %2000
%2006 = phi i32 [ 0, %2000 ], [ %2004, %2001 ]
%2007 = trunc i32 %2006 to i16
store i16 %2007, i16* %15
%2008 = load i16, i16* %12
store i16 %2008, i16* %18
%2009 = load i16, i16* %16
%2010 = sext i16 %2009 to i32
%2011 = icmp eq i32 %2010, 0
br i1 %2011, label %2012, label %2013
2012: ; preds = %2005
br label %2017
2013: ; preds = %2005
%2014 = load i16, i16* %16
%2015 = sext i16 %2014 to i32
%2016 = sub nsw i32 25, %2015
br label %2017
2017: ; preds = %2013, %2012
%2018 = phi i32 [ 0, %2012 ], [ %2016, %2013 ]
%2019 = trunc i32 %2018 to i16
store i16 %2019, i16* %12
%2020 = load i16, i16* %18
%2021 = sext i16 %2020 to i32
%2022 = icmp eq i32 %2021, 0
br i1 %2022, label %2023, label %2024
2023: ; preds = %2017
br label %2028
2024: ; preds = %2017
%2025 = load i16, i16* %18
%2026 = sext i16 %2025 to i32
%2027 = sub nsw i32 25, %2026
br label %2028
2028: ; preds = %2024, %2023
%2029 = phi i32 [ 0, %2023 ], [ %2027, %2024 ]
%2030 = trunc i32 %2029 to i16
store i16 %2030, i16* %16
%2031 = load i16, i16* %13
store i16 %2031, i16* %18
%2032 = load i16, i16* %17
%2033 = sext i16 %2032 to i32
%2034 = icmp eq i32 %2033, 0
br i1 %2034, label %2035, label %2036
2035: ; preds = %2028
br label %2040
2036: ; preds = %2028
%2037 = load i16, i16* %17
%2038 = sext i16 %2037 to i32
%2039 = sub nsw i32 25, %2038
br label %2040
2040: ; preds = %2036, %2035
%2041 = phi i32 [ 0, %2035 ], [ %2039, %2036 ]
%2042 = trunc i32 %2041 to i16
store i16 %2042, i16* %13
%2043 = load i16, i16* %18
%2044 = sext i16 %2043 to i32
%2045 = icmp eq i32 %2044, 0
br i1 %2045, label %2046, label %2047
2046: ; preds = %2040
br label %2051
2047: ; preds = %2040
%2048 = load i16, i16* %18
%2049 = sext i16 %2048 to i32
%2050 = sub nsw i32 25, %2049
br label %2051
2051: ; preds = %2047, %2046
%2052 = phi i32 [ 0, %2046 ], [ %2050, %2047 ]
%2053 = trunc i32 %2052 to i16
store i16 %2053, i16* %17
%2054 = load i16, i16* %10
%2055 = sext i16 %2054 to i32
%2056 = load i16, i16* %11
%2057 = sext i16 %2056 to i32
%2058 = load i16, i16* %12
%2059 = sext i16 %2058 to i32
%2060 = load i16, i16* %13
%2061 = sext i16 %2060 to i32
%2062 = load i16, i16* %14
%2063 = sext i16 %2062 to i32
%2064 = load i16, i16* %15
%2065 = sext i16 %2064 to i32
%2066 = load i16, i16* %16
%2067 = sext i16 %2066 to i32
%2068 = load i16, i16* %17
%2069 = sext i16 %2068 to i32
%2070 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2055, i32 %2057, i32 %2059, i32 %2061, i32 %2063, i32 %2065, i32 %2067, i32 %2069)
%2071 = trunc i32 %2070 to i16
store i16 %2071, i16* %18
%2072 = load i16, i16* %18
%2073 = sext i16 %2072 to i32
%2074 = icmp eq i32 %2073, -1
br i1 %2074, label %2075, label %2076
2075: ; preds = %2051
store i16 -1, i16* %9
br label %19404
2076: ; preds = %2051
%2077 = load i16, i16* %18
%2078 = sext i16 %2077 to i32
%2079 = icmp sle i32 0, %2078
br i1 %2079, label %2080, label %2082
2080: ; preds = %2076
%2081 = load i16, i16* %22
store i16 %2081, i16* %21
br label %2082
2082: ; preds = %2080, %2076
%2083 = load i16, i16* %10
store i16 %2083, i16* %18
%2084 = load i16, i16* %14
%2085 = sext i16 %2084 to i32
%2086 = icmp eq i32 %2085, 0
br i1 %2086, label %2087, label %2088
2087: ; preds = %2082
br label %2092
2088: ; preds = %2082
%2089 = load i16, i16* %14
%2090 = sext i16 %2089 to i32
%2091 = sub nsw i32 25, %2090
br label %2092
2092: ; preds = %2088, %2087
%2093 = phi i32 [ 0, %2087 ], [ %2091, %2088 ]
%2094 = trunc i32 %2093 to i16
store i16 %2094, i16* %10
%2095 = load i16, i16* %18
%2096 = sext i16 %2095 to i32
%2097 = icmp eq i32 %2096, 0
br i1 %2097, label %2098, label %2099
2098: ; preds = %2092
br label %2103
2099: ; preds = %2092
%2100 = load i16, i16* %18
%2101 = sext i16 %2100 to i32
%2102 = sub nsw i32 25, %2101
br label %2103
2103: ; preds = %2099, %2098
%2104 = phi i32 [ 0, %2098 ], [ %2102, %2099 ]
%2105 = trunc i32 %2104 to i16
store i16 %2105, i16* %14
%2106 = load i16, i16* %11
store i16 %2106, i16* %18
%2107 = load i16, i16* %15
%2108 = sext i16 %2107 to i32
%2109 = icmp eq i32 %2108, 0
br i1 %2109, label %2110, label %2111
2110: ; preds = %2103
br label %2115
2111: ; preds = %2103
%2112 = load i16, i16* %15
%2113 = sext i16 %2112 to i32
%2114 = sub nsw i32 25, %2113
br label %2115
2115: ; preds = %2111, %2110
%2116 = phi i32 [ 0, %2110 ], [ %2114, %2111 ]
%2117 = trunc i32 %2116 to i16
store i16 %2117, i16* %11
%2118 = load i16, i16* %18
%2119 = sext i16 %2118 to i32
%2120 = icmp eq i32 %2119, 0
br i1 %2120, label %2121, label %2122
2121: ; preds = %2115
br label %2126
2122: ; preds = %2115
%2123 = load i16, i16* %18
%2124 = sext i16 %2123 to i32
%2125 = sub nsw i32 25, %2124
br label %2126
2126: ; preds = %2122, %2121
%2127 = phi i32 [ 0, %2121 ], [ %2125, %2122 ]
%2128 = trunc i32 %2127 to i16
store i16 %2128, i16* %15
%2129 = load i16, i16* %12
store i16 %2129, i16* %18
%2130 = load i16, i16* %16
%2131 = sext i16 %2130 to i32
%2132 = icmp eq i32 %2131, 0
br i1 %2132, label %2133, label %2134
2133: ; preds = %2126
br label %2138
2134: ; preds = %2126
%2135 = load i16, i16* %16
%2136 = sext i16 %2135 to i32
%2137 = sub nsw i32 25, %2136
br label %2138
2138: ; preds = %2134, %2133
%2139 = phi i32 [ 0, %2133 ], [ %2137, %2134 ]
%2140 = trunc i32 %2139 to i16
store i16 %2140, i16* %12
%2141 = load i16, i16* %18
%2142 = sext i16 %2141 to i32
%2143 = icmp eq i32 %2142, 0
br i1 %2143, label %2144, label %2145
2144: ; preds = %2138
br label %2149
2145: ; preds = %2138
%2146 = load i16, i16* %18
%2147 = sext i16 %2146 to i32
%2148 = sub nsw i32 25, %2147
br label %2149
2149: ; preds = %2145, %2144
%2150 = phi i32 [ 0, %2144 ], [ %2148, %2145 ]
%2151 = trunc i32 %2150 to i16
store i16 %2151, i16* %16
%2152 = load i16, i16* %13
store i16 %2152, i16* %18
%2153 = load i16, i16* %17
%2154 = sext i16 %2153 to i32
%2155 = icmp eq i32 %2154, 0
br i1 %2155, label %2156, label %2157
2156: ; preds = %2149
br label %2161
2157: ; preds = %2149
%2158 = load i16, i16* %17
%2159 = sext i16 %2158 to i32
%2160 = sub nsw i32 25, %2159
br label %2161
2161: ; preds = %2157, %2156
%2162 = phi i32 [ 0, %2156 ], [ %2160, %2157 ]
%2163 = trunc i32 %2162 to i16
store i16 %2163, i16* %13
%2164 = load i16, i16* %18
%2165 = sext i16 %2164 to i32
%2166 = icmp eq i32 %2165, 0
br i1 %2166, label %2167, label %2168
2167: ; preds = %2161
br label %2172
2168: ; preds = %2161
%2169 = load i16, i16* %18
%2170 = sext i16 %2169 to i32
%2171 = sub nsw i32 25, %2170
br label %2172
2172: ; preds = %2168, %2167
%2173 = phi i32 [ 0, %2167 ], [ %2171, %2168 ]
%2174 = trunc i32 %2173 to i16
store i16 %2174, i16* %17
br label %2175
2175: ; preds = %2172, %1957
br label %2176
2176: ; preds = %2175, %1736
%2177 = load i16, i16* %19
store i16 %2177, i16* %10
br label %2178
2178: ; preds = %2176, %1512, %1506, %1500, %1494, %1483
br label %2179
2179: ; preds = %2178, %1478, %1474
br label %19396
2180: ; preds = %1470
%2181 = load i16, i16* %22
%2182 = sext i16 %2181 to i32
%2183 = icmp eq i32 %2182, 3
br i1 %2183, label %2184, label %2894
2184: ; preds = %2180
%2185 = load i16, i16* %10
%2186 = sext i16 %2185 to i32
%2187 = icmp ne i32 %2186, 0
br i1 %2187, label %2188, label %2893
2188: ; preds = %2184
%2189 = load i16, i16* %10
%2190 = sext i16 %2189 to i32
%2191 = icmp slt i32 4, %2190
br i1 %2191, label %2192, label %2893
2192: ; preds = %2188
%2193 = load i16, i16* %10
%2194 = sext i16 %2193 to i32
%2195 = srem i32 %2194, 4
%2196 = icmp ne i32 %2195, 0
br i1 %2196, label %2197, label %2893
2197: ; preds = %2192
%2198 = load i16, i16* %10
store i16 %2198, i16* %19
%2199 = load i16, i16* %19
%2200 = sext i16 %2199 to i32
%2201 = sub nsw i32 %2200, 3
%2202 = trunc i32 %2201 to i16
store i16 %2202, i16* %20
%2203 = load i16, i16* %20
%2204 = sext i16 %2203 to i32
%2205 = load i16, i16* %11
%2206 = sext i16 %2205 to i32
%2207 = icmp ne i32 %2204, %2206
br i1 %2207, label %2208, label %2892
2208: ; preds = %2197
%2209 = load i16, i16* %20
%2210 = sext i16 %2209 to i32
%2211 = load i16, i16* %12
%2212 = sext i16 %2211 to i32
%2213 = icmp ne i32 %2210, %2212
br i1 %2213, label %2214, label %2892
2214: ; preds = %2208
%2215 = load i16, i16* %20
%2216 = sext i16 %2215 to i32
%2217 = load i16, i16* %13
%2218 = sext i16 %2217 to i32
%2219 = icmp ne i32 %2216, %2218
br i1 %2219, label %2220, label %2892
2220: ; preds = %2214
%2221 = load i16, i16* %20
%2222 = sext i16 %2221 to i32
%2223 = load i16, i16* %14
%2224 = sext i16 %2223 to i32
%2225 = icmp ne i32 %2222, %2224
br i1 %2225, label %2226, label %2892
2226: ; preds = %2220
%2227 = load i16, i16* %20
%2228 = sext i16 %2227 to i32
%2229 = load i16, i16* %15
%2230 = sext i16 %2229 to i32
%2231 = icmp ne i32 %2228, %2230
br i1 %2231, label %2232, label %2892
2232: ; preds = %2226
%2233 = load i16, i16* %20
store i16 %2233, i16* %10
%2234 = load i16, i16* %16
%2235 = sext i16 %2234 to i32
%2236 = load i16, i16* %20
%2237 = sext i16 %2236 to i32
%2238 = icmp eq i32 %2235, %2237
br i1 %2238, label %2239, label %2454
2239: ; preds = %2232
store i16 0, i16* %16
%2240 = load i16, i16* %10
store i16 %2240, i16* %18
%2241 = load i16, i16* %14
%2242 = sext i16 %2241 to i32
%2243 = icmp eq i32 %2242, 0
br i1 %2243, label %2244, label %2245
2244: ; preds = %2239
br label %2249
2245: ; preds = %2239
%2246 = load i16, i16* %14
%2247 = sext i16 %2246 to i32
%2248 = sub nsw i32 25, %2247
br label %2249
2249: ; preds = %2245, %2244
%2250 = phi i32 [ 0, %2244 ], [ %2248, %2245 ]
%2251 = trunc i32 %2250 to i16
store i16 %2251, i16* %10
%2252 = load i16, i16* %18
%2253 = sext i16 %2252 to i32
%2254 = icmp eq i32 %2253, 0
br i1 %2254, label %2255, label %2256
2255: ; preds = %2249
br label %2260
2256: ; preds = %2249
%2257 = load i16, i16* %18
%2258 = sext i16 %2257 to i32
%2259 = sub nsw i32 25, %2258
br label %2260
2260: ; preds = %2256, %2255
%2261 = phi i32 [ 0, %2255 ], [ %2259, %2256 ]
%2262 = trunc i32 %2261 to i16
store i16 %2262, i16* %14
%2263 = load i16, i16* %11
store i16 %2263, i16* %18
%2264 = load i16, i16* %15
%2265 = sext i16 %2264 to i32
%2266 = icmp eq i32 %2265, 0
br i1 %2266, label %2267, label %2268
2267: ; preds = %2260
br label %2272
2268: ; preds = %2260
%2269 = load i16, i16* %15
%2270 = sext i16 %2269 to i32
%2271 = sub nsw i32 25, %2270
br label %2272
2272: ; preds = %2268, %2267
%2273 = phi i32 [ 0, %2267 ], [ %2271, %2268 ]
%2274 = trunc i32 %2273 to i16
store i16 %2274, i16* %11
%2275 = load i16, i16* %18
%2276 = sext i16 %2275 to i32
%2277 = icmp eq i32 %2276, 0
br i1 %2277, label %2278, label %2279
2278: ; preds = %2272
br label %2283
2279: ; preds = %2272
%2280 = load i16, i16* %18
%2281 = sext i16 %2280 to i32
%2282 = sub nsw i32 25, %2281
br label %2283
2283: ; preds = %2279, %2278
%2284 = phi i32 [ 0, %2278 ], [ %2282, %2279 ]
%2285 = trunc i32 %2284 to i16
store i16 %2285, i16* %15
%2286 = load i16, i16* %12
store i16 %2286, i16* %18
%2287 = load i16, i16* %16
%2288 = sext i16 %2287 to i32
%2289 = icmp eq i32 %2288, 0
br i1 %2289, label %2290, label %2291
2290: ; preds = %2283
br label %2295
2291: ; preds = %2283
%2292 = load i16, i16* %16
%2293 = sext i16 %2292 to i32
%2294 = sub nsw i32 25, %2293
br label %2295
2295: ; preds = %2291, %2290
%2296 = phi i32 [ 0, %2290 ], [ %2294, %2291 ]
%2297 = trunc i32 %2296 to i16
store i16 %2297, i16* %12
%2298 = load i16, i16* %18
%2299 = sext i16 %2298 to i32
%2300 = icmp eq i32 %2299, 0
br i1 %2300, label %2301, label %2302
2301: ; preds = %2295
br label %2306
2302: ; preds = %2295
%2303 = load i16, i16* %18
%2304 = sext i16 %2303 to i32
%2305 = sub nsw i32 25, %2304
br label %2306
2306: ; preds = %2302, %2301
%2307 = phi i32 [ 0, %2301 ], [ %2305, %2302 ]
%2308 = trunc i32 %2307 to i16
store i16 %2308, i16* %16
%2309 = load i16, i16* %13
store i16 %2309, i16* %18
%2310 = load i16, i16* %17
%2311 = sext i16 %2310 to i32
%2312 = icmp eq i32 %2311, 0
br i1 %2312, label %2313, label %2314
2313: ; preds = %2306
br label %2318
2314: ; preds = %2306
%2315 = load i16, i16* %17
%2316 = sext i16 %2315 to i32
%2317 = sub nsw i32 25, %2316
br label %2318
2318: ; preds = %2314, %2313
%2319 = phi i32 [ 0, %2313 ], [ %2317, %2314 ]
%2320 = trunc i32 %2319 to i16
store i16 %2320, i16* %13
%2321 = load i16, i16* %18
%2322 = sext i16 %2321 to i32
%2323 = icmp eq i32 %2322, 0
br i1 %2323, label %2324, label %2325
2324: ; preds = %2318
br label %2329
2325: ; preds = %2318
%2326 = load i16, i16* %18
%2327 = sext i16 %2326 to i32
%2328 = sub nsw i32 25, %2327
br label %2329
2329: ; preds = %2325, %2324
%2330 = phi i32 [ 0, %2324 ], [ %2328, %2325 ]
%2331 = trunc i32 %2330 to i16
store i16 %2331, i16* %17
%2332 = load i16, i16* %10
%2333 = sext i16 %2332 to i32
%2334 = load i16, i16* %11
%2335 = sext i16 %2334 to i32
%2336 = load i16, i16* %12
%2337 = sext i16 %2336 to i32
%2338 = load i16, i16* %13
%2339 = sext i16 %2338 to i32
%2340 = load i16, i16* %14
%2341 = sext i16 %2340 to i32
%2342 = load i16, i16* %15
%2343 = sext i16 %2342 to i32
%2344 = load i16, i16* %16
%2345 = sext i16 %2344 to i32
%2346 = load i16, i16* %17
%2347 = sext i16 %2346 to i32
%2348 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2333, i32 %2335, i32 %2337, i32 %2339, i32 %2341, i32 %2343, i32 %2345, i32 %2347)
%2349 = trunc i32 %2348 to i16
store i16 %2349, i16* %18
%2350 = load i16, i16* %18
%2351 = sext i16 %2350 to i32
%2352 = icmp eq i32 %2351, -1
br i1 %2352, label %2353, label %2354
2353: ; preds = %2329
store i16 -1, i16* %9
br label %19404
2354: ; preds = %2329
%2355 = load i16, i16* %18
%2356 = sext i16 %2355 to i32
%2357 = icmp sle i32 0, %2356
br i1 %2357, label %2358, label %2360
2358: ; preds = %2354
%2359 = load i16, i16* %22
store i16 %2359, i16* %21
br label %2360
2360: ; preds = %2358, %2354
%2361 = load i16, i16* %10
store i16 %2361, i16* %18
%2362 = load i16, i16* %14
%2363 = sext i16 %2362 to i32
%2364 = icmp eq i32 %2363, 0
br i1 %2364, label %2365, label %2366
2365: ; preds = %2360
br label %2370
2366: ; preds = %2360
%2367 = load i16, i16* %14
%2368 = sext i16 %2367 to i32
%2369 = sub nsw i32 25, %2368
br label %2370
2370: ; preds = %2366, %2365
%2371 = phi i32 [ 0, %2365 ], [ %2369, %2366 ]
%2372 = trunc i32 %2371 to i16
store i16 %2372, i16* %10
%2373 = load i16, i16* %18
%2374 = sext i16 %2373 to i32
%2375 = icmp eq i32 %2374, 0
br i1 %2375, label %2376, label %2377
2376: ; preds = %2370
br label %2381
2377: ; preds = %2370
%2378 = load i16, i16* %18
%2379 = sext i16 %2378 to i32
%2380 = sub nsw i32 25, %2379
br label %2381
2381: ; preds = %2377, %2376
%2382 = phi i32 [ 0, %2376 ], [ %2380, %2377 ]
%2383 = trunc i32 %2382 to i16
store i16 %2383, i16* %14
%2384 = load i16, i16* %11
store i16 %2384, i16* %18
%2385 = load i16, i16* %15
%2386 = sext i16 %2385 to i32
%2387 = icmp eq i32 %2386, 0
br i1 %2387, label %2388, label %2389
2388: ; preds = %2381
br label %2393
2389: ; preds = %2381
%2390 = load i16, i16* %15
%2391 = sext i16 %2390 to i32
%2392 = sub nsw i32 25, %2391
br label %2393
2393: ; preds = %2389, %2388
%2394 = phi i32 [ 0, %2388 ], [ %2392, %2389 ]
%2395 = trunc i32 %2394 to i16
store i16 %2395, i16* %11
%2396 = load i16, i16* %18
%2397 = sext i16 %2396 to i32
%2398 = icmp eq i32 %2397, 0
br i1 %2398, label %2399, label %2400
2399: ; preds = %2393
br label %2404
2400: ; preds = %2393
%2401 = load i16, i16* %18
%2402 = sext i16 %2401 to i32
%2403 = sub nsw i32 25, %2402
br label %2404
2404: ; preds = %2400, %2399
%2405 = phi i32 [ 0, %2399 ], [ %2403, %2400 ]
%2406 = trunc i32 %2405 to i16
store i16 %2406, i16* %15
%2407 = load i16, i16* %12
store i16 %2407, i16* %18
%2408 = load i16, i16* %16
%2409 = sext i16 %2408 to i32
%2410 = icmp eq i32 %2409, 0
br i1 %2410, label %2411, label %2412
2411: ; preds = %2404
br label %2416
2412: ; preds = %2404
%2413 = load i16, i16* %16
%2414 = sext i16 %2413 to i32
%2415 = sub nsw i32 25, %2414
br label %2416
2416: ; preds = %2412, %2411
%2417 = phi i32 [ 0, %2411 ], [ %2415, %2412 ]
%2418 = trunc i32 %2417 to i16
store i16 %2418, i16* %12
%2419 = load i16, i16* %18
%2420 = sext i16 %2419 to i32
%2421 = icmp eq i32 %2420, 0
br i1 %2421, label %2422, label %2423
2422: ; preds = %2416
br label %2427
2423: ; preds = %2416
%2424 = load i16, i16* %18
%2425 = sext i16 %2424 to i32
%2426 = sub nsw i32 25, %2425
br label %2427
2427: ; preds = %2423, %2422
%2428 = phi i32 [ 0, %2422 ], [ %2426, %2423 ]
%2429 = trunc i32 %2428 to i16
store i16 %2429, i16* %16
%2430 = load i16, i16* %13
store i16 %2430, i16* %18
%2431 = load i16, i16* %17
%2432 = sext i16 %2431 to i32
%2433 = icmp eq i32 %2432, 0
br i1 %2433, label %2434, label %2435
2434: ; preds = %2427
br label %2439
2435: ; preds = %2427
%2436 = load i16, i16* %17
%2437 = sext i16 %2436 to i32
%2438 = sub nsw i32 25, %2437
br label %2439
2439: ; preds = %2435, %2434
%2440 = phi i32 [ 0, %2434 ], [ %2438, %2435 ]
%2441 = trunc i32 %2440 to i16
store i16 %2441, i16* %13
%2442 = load i16, i16* %18
%2443 = sext i16 %2442 to i32
%2444 = icmp eq i32 %2443, 0
br i1 %2444, label %2445, label %2446
2445: ; preds = %2439
br label %2450
2446: ; preds = %2439
%2447 = load i16, i16* %18
%2448 = sext i16 %2447 to i32
%2449 = sub nsw i32 25, %2448
br label %2450
2450: ; preds = %2446, %2445
%2451 = phi i32 [ 0, %2445 ], [ %2449, %2446 ]
%2452 = trunc i32 %2451 to i16
store i16 %2452, i16* %17
%2453 = load i16, i16* %20
store i16 %2453, i16* %16
br label %2890
2454: ; preds = %2232
%2455 = load i16, i16* %17
%2456 = sext i16 %2455 to i32
%2457 = load i16, i16* %20
%2458 = sext i16 %2457 to i32
%2459 = icmp eq i32 %2456, %2458
br i1 %2459, label %2460, label %2675
2460: ; preds = %2454
store i16 0, i16* %17
%2461 = load i16, i16* %10
store i16 %2461, i16* %18
%2462 = load i16, i16* %14
%2463 = sext i16 %2462 to i32
%2464 = icmp eq i32 %2463, 0
br i1 %2464, label %2465, label %2466
2465: ; preds = %2460
br label %2470
2466: ; preds = %2460
%2467 = load i16, i16* %14
%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* %10
%2473 = load i16, i16* %18
%2474 = sext i16 %2473 to i32
%2475 = icmp eq i32 %2474, 0
br i1 %2475, label %2476, label %2477
2476: ; preds = %2470
br label %2481
2477: ; preds = %2470
%2478 = load i16, i16* %18
%2479 = sext i16 %2478 to i32
%2480 = sub nsw i32 25, %2479
br label %2481
2481: ; preds = %2477, %2476
%2482 = phi i32 [ 0, %2476 ], [ %2480, %2477 ]
%2483 = trunc i32 %2482 to i16
store i16 %2483, i16* %14
%2484 = load i16, i16* %11
store i16 %2484, i16* %18
%2485 = load i16, i16* %15
%2486 = sext i16 %2485 to i32
%2487 = icmp eq i32 %2486, 0
br i1 %2487, label %2488, label %2489
2488: ; preds = %2481
br label %2493
2489: ; preds = %2481
%2490 = load i16, i16* %15
%2491 = sext i16 %2490 to i32
%2492 = sub nsw i32 25, %2491
br label %2493
2493: ; preds = %2489, %2488
%2494 = phi i32 [ 0, %2488 ], [ %2492, %2489 ]
%2495 = trunc i32 %2494 to i16
store i16 %2495, i16* %11
%2496 = load i16, i16* %18
%2497 = sext i16 %2496 to i32
%2498 = icmp eq i32 %2497, 0
br i1 %2498, label %2499, label %2500
2499: ; preds = %2493
br label %2504
2500: ; preds = %2493
%2501 = load i16, i16* %18
%2502 = sext i16 %2501 to i32
%2503 = sub nsw i32 25, %2502
br label %2504
2504: ; preds = %2500, %2499
%2505 = phi i32 [ 0, %2499 ], [ %2503, %2500 ]
%2506 = trunc i32 %2505 to i16
store i16 %2506, i16* %15
%2507 = load i16, i16* %12
store i16 %2507, i16* %18
%2508 = load i16, i16* %16
%2509 = sext i16 %2508 to i32
%2510 = icmp eq i32 %2509, 0
br i1 %2510, label %2511, label %2512
2511: ; preds = %2504
br label %2516
2512: ; preds = %2504
%2513 = load i16, i16* %16
%2514 = sext i16 %2513 to i32
%2515 = sub nsw i32 25, %2514
br label %2516
2516: ; preds = %2512, %2511
%2517 = phi i32 [ 0, %2511 ], [ %2515, %2512 ]
%2518 = trunc i32 %2517 to i16
store i16 %2518, i16* %12
%2519 = load i16, i16* %18
%2520 = sext i16 %2519 to i32
%2521 = icmp eq i32 %2520, 0
br i1 %2521, label %2522, label %2523
2522: ; preds = %2516
br label %2527
2523: ; preds = %2516
%2524 = load i16, i16* %18
%2525 = sext i16 %2524 to i32
%2526 = sub nsw i32 25, %2525
br label %2527
2527: ; preds = %2523, %2522
%2528 = phi i32 [ 0, %2522 ], [ %2526, %2523 ]
%2529 = trunc i32 %2528 to i16
store i16 %2529, i16* %16
%2530 = load i16, i16* %13
store i16 %2530, i16* %18
%2531 = load i16, i16* %17
%2532 = sext i16 %2531 to i32
%2533 = icmp eq i32 %2532, 0
br i1 %2533, label %2534, label %2535
2534: ; preds = %2527
br label %2539
2535: ; preds = %2527
%2536 = load i16, i16* %17
%2537 = sext i16 %2536 to i32
%2538 = sub nsw i32 25, %2537
br label %2539
2539: ; preds = %2535, %2534
%2540 = phi i32 [ 0, %2534 ], [ %2538, %2535 ]
%2541 = trunc i32 %2540 to i16
store i16 %2541, i16* %13
%2542 = load i16, i16* %18
%2543 = sext i16 %2542 to i32
%2544 = icmp eq i32 %2543, 0
br i1 %2544, label %2545, label %2546
2545: ; preds = %2539
br label %2550
2546: ; preds = %2539
%2547 = load i16, i16* %18
%2548 = sext i16 %2547 to i32
%2549 = sub nsw i32 25, %2548
br label %2550
2550: ; preds = %2546, %2545
%2551 = phi i32 [ 0, %2545 ], [ %2549, %2546 ]
%2552 = trunc i32 %2551 to i16
store i16 %2552, i16* %17
%2553 = load i16, i16* %10
%2554 = sext i16 %2553 to i32
%2555 = load i16, i16* %11
%2556 = sext i16 %2555 to i32
%2557 = load i16, i16* %12
%2558 = sext i16 %2557 to i32
%2559 = load i16, i16* %13
%2560 = sext i16 %2559 to i32
%2561 = load i16, i16* %14
%2562 = sext i16 %2561 to i32
%2563 = load i16, i16* %15
%2564 = sext i16 %2563 to i32
%2565 = load i16, i16* %16
%2566 = sext i16 %2565 to i32
%2567 = load i16, i16* %17
%2568 = sext i16 %2567 to i32
%2569 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2554, i32 %2556, i32 %2558, i32 %2560, i32 %2562, i32 %2564, i32 %2566, i32 %2568)
%2570 = trunc i32 %2569 to i16
store i16 %2570, i16* %18
%2571 = load i16, i16* %18
%2572 = sext i16 %2571 to i32
%2573 = icmp eq i32 %2572, -1
br i1 %2573, label %2574, label %2575
2574: ; preds = %2550
store i16 -1, i16* %9
br label %19404
2575: ; preds = %2550
%2576 = load i16, i16* %18
%2577 = sext i16 %2576 to i32
%2578 = icmp sle i32 0, %2577
br i1 %2578, label %2579, label %2581
2579: ; preds = %2575
%2580 = load i16, i16* %22
store i16 %2580, i16* %21
br label %2581
2581: ; preds = %2579, %2575
%2582 = load i16, i16* %10
store i16 %2582, i16* %18
%2583 = load i16, i16* %14
%2584 = sext i16 %2583 to i32
%2585 = icmp eq i32 %2584, 0
br i1 %2585, label %2586, label %2587
2586: ; preds = %2581
br label %2591
2587: ; preds = %2581
%2588 = load i16, i16* %14
%2589 = sext i16 %2588 to i32
%2590 = sub nsw i32 25, %2589
br label %2591
2591: ; preds = %2587, %2586
%2592 = phi i32 [ 0, %2586 ], [ %2590, %2587 ]
%2593 = trunc i32 %2592 to i16
store i16 %2593, i16* %10
%2594 = load i16, i16* %18
%2595 = sext i16 %2594 to i32
%2596 = icmp eq i32 %2595, 0
br i1 %2596, label %2597, label %2598
2597: ; preds = %2591
br label %2602
2598: ; preds = %2591
%2599 = load i16, i16* %18
%2600 = sext i16 %2599 to i32
%2601 = sub nsw i32 25, %2600
br label %2602
2602: ; preds = %2598, %2597
%2603 = phi i32 [ 0, %2597 ], [ %2601, %2598 ]
%2604 = trunc i32 %2603 to i16
store i16 %2604, i16* %14
%2605 = load i16, i16* %11
store i16 %2605, i16* %18
%2606 = load i16, i16* %15
%2607 = sext i16 %2606 to i32
%2608 = icmp eq i32 %2607, 0
br i1 %2608, label %2609, label %2610
2609: ; preds = %2602
br label %2614
2610: ; preds = %2602
%2611 = load i16, i16* %15
%2612 = sext i16 %2611 to i32
%2613 = sub nsw i32 25, %2612
br label %2614
2614: ; preds = %2610, %2609
%2615 = phi i32 [ 0, %2609 ], [ %2613, %2610 ]
%2616 = trunc i32 %2615 to i16
store i16 %2616, i16* %11
%2617 = load i16, i16* %18
%2618 = sext i16 %2617 to i32
%2619 = icmp eq i32 %2618, 0
br i1 %2619, label %2620, label %2621
2620: ; preds = %2614
br label %2625
2621: ; preds = %2614
%2622 = load i16, i16* %18
%2623 = sext i16 %2622 to i32
%2624 = sub nsw i32 25, %2623
br label %2625
2625: ; preds = %2621, %2620
%2626 = phi i32 [ 0, %2620 ], [ %2624, %2621 ]
%2627 = trunc i32 %2626 to i16
store i16 %2627, i16* %15
%2628 = load i16, i16* %12
store i16 %2628, i16* %18
%2629 = load i16, i16* %16
%2630 = sext i16 %2629 to i32
%2631 = icmp eq i32 %2630, 0
br i1 %2631, label %2632, label %2633
2632: ; preds = %2625
br label %2637
2633: ; preds = %2625
%2634 = load i16, i16* %16
%2635 = sext i16 %2634 to i32
%2636 = sub nsw i32 25, %2635
br label %2637
2637: ; preds = %2633, %2632
%2638 = phi i32 [ 0, %2632 ], [ %2636, %2633 ]
%2639 = trunc i32 %2638 to i16
store i16 %2639, i16* %12
%2640 = load i16, i16* %18
%2641 = sext i16 %2640 to i32
%2642 = icmp eq i32 %2641, 0
br i1 %2642, label %2643, label %2644
2643: ; preds = %2637
br label %2648
2644: ; preds = %2637
%2645 = load i16, i16* %18
%2646 = sext i16 %2645 to i32
%2647 = sub nsw i32 25, %2646
br label %2648
2648: ; preds = %2644, %2643
%2649 = phi i32 [ 0, %2643 ], [ %2647, %2644 ]
%2650 = trunc i32 %2649 to i16
store i16 %2650, i16* %16
%2651 = load i16, i16* %13
store i16 %2651, i16* %18
%2652 = load i16, i16* %17
%2653 = sext i16 %2652 to i32
%2654 = icmp eq i32 %2653, 0
br i1 %2654, label %2655, label %2656
2655: ; preds = %2648
br label %2660
2656: ; preds = %2648
%2657 = load i16, i16* %17
%2658 = sext i16 %2657 to i32
%2659 = sub nsw i32 25, %2658
br label %2660
2660: ; preds = %2656, %2655
%2661 = phi i32 [ 0, %2655 ], [ %2659, %2656 ]
%2662 = trunc i32 %2661 to i16
store i16 %2662, i16* %13
%2663 = load i16, i16* %18
%2664 = sext i16 %2663 to i32
%2665 = icmp eq i32 %2664, 0
br i1 %2665, label %2666, label %2667
2666: ; preds = %2660
br label %2671
2667: ; preds = %2660
%2668 = load i16, i16* %18
%2669 = sext i16 %2668 to i32
%2670 = sub nsw i32 25, %2669
br label %2671
2671: ; preds = %2667, %2666
%2672 = phi i32 [ 0, %2666 ], [ %2670, %2667 ]
%2673 = trunc i32 %2672 to i16
store i16 %2673, i16* %17
%2674 = load i16, i16* %20
store i16 %2674, i16* %17
br label %2889
2675: ; preds = %2454
%2676 = load i16, i16* %10
store i16 %2676, i16* %18
%2677 = load i16, i16* %14
%2678 = sext i16 %2677 to i32
%2679 = icmp eq i32 %2678, 0
br i1 %2679, label %2680, label %2681
2680: ; preds = %2675
br label %2685
2681: ; preds = %2675
%2682 = load i16, i16* %14
%2683 = sext i16 %2682 to i32
%2684 = sub nsw i32 25, %2683
br label %2685
2685: ; preds = %2681, %2680
%2686 = phi i32 [ 0, %2680 ], [ %2684, %2681 ]
%2687 = trunc i32 %2686 to i16
store i16 %2687, i16* %10
%2688 = load i16, i16* %18
%2689 = sext i16 %2688 to i32
%2690 = icmp eq i32 %2689, 0
br i1 %2690, label %2691, label %2692
2691: ; preds = %2685
br label %2696
2692: ; preds = %2685
%2693 = load i16, i16* %18
%2694 = sext i16 %2693 to i32
%2695 = sub nsw i32 25, %2694
br label %2696
2696: ; preds = %2692, %2691
%2697 = phi i32 [ 0, %2691 ], [ %2695, %2692 ]
%2698 = trunc i32 %2697 to i16
store i16 %2698, i16* %14
%2699 = load i16, i16* %11
store i16 %2699, i16* %18
%2700 = load i16, i16* %15
%2701 = sext i16 %2700 to i32
%2702 = icmp eq i32 %2701, 0
br i1 %2702, label %2703, label %2704
2703: ; preds = %2696
br label %2708
2704: ; preds = %2696
%2705 = load i16, i16* %15
%2706 = sext i16 %2705 to i32
%2707 = sub nsw i32 25, %2706
br label %2708
2708: ; preds = %2704, %2703
%2709 = phi i32 [ 0, %2703 ], [ %2707, %2704 ]
%2710 = trunc i32 %2709 to i16
store i16 %2710, i16* %11
%2711 = load i16, i16* %18
%2712 = sext i16 %2711 to i32
%2713 = icmp eq i32 %2712, 0
br i1 %2713, label %2714, label %2715
2714: ; preds = %2708
br label %2719
2715: ; preds = %2708
%2716 = load i16, i16* %18
%2717 = sext i16 %2716 to i32
%2718 = sub nsw i32 25, %2717
br label %2719
2719: ; preds = %2715, %2714
%2720 = phi i32 [ 0, %2714 ], [ %2718, %2715 ]
%2721 = trunc i32 %2720 to i16
store i16 %2721, i16* %15
%2722 = load i16, i16* %12
store i16 %2722, i16* %18
%2723 = load i16, i16* %16
%2724 = sext i16 %2723 to i32
%2725 = icmp eq i32 %2724, 0
br i1 %2725, label %2726, label %2727
2726: ; preds = %2719
br label %2731
2727: ; preds = %2719
%2728 = load i16, i16* %16
%2729 = sext i16 %2728 to i32
%2730 = sub nsw i32 25, %2729
br label %2731
2731: ; preds = %2727, %2726
%2732 = phi i32 [ 0, %2726 ], [ %2730, %2727 ]
%2733 = trunc i32 %2732 to i16
store i16 %2733, i16* %12
%2734 = load i16, i16* %18
%2735 = sext i16 %2734 to i32
%2736 = icmp eq i32 %2735, 0
br i1 %2736, label %2737, label %2738
2737: ; preds = %2731
br label %2742
2738: ; preds = %2731
%2739 = load i16, i16* %18
%2740 = sext i16 %2739 to i32
%2741 = sub nsw i32 25, %2740
br label %2742
2742: ; preds = %2738, %2737
%2743 = phi i32 [ 0, %2737 ], [ %2741, %2738 ]
%2744 = trunc i32 %2743 to i16
store i16 %2744, i16* %16
%2745 = load i16, i16* %13
store i16 %2745, i16* %18
%2746 = load i16, i16* %17
%2747 = sext i16 %2746 to i32
%2748 = icmp eq i32 %2747, 0
br i1 %2748, label %2749, label %2750
2749: ; preds = %2742
br label %2754
2750: ; preds = %2742
%2751 = load i16, i16* %17
%2752 = sext i16 %2751 to i32
%2753 = sub nsw i32 25, %2752
br label %2754
2754: ; preds = %2750, %2749
%2755 = phi i32 [ 0, %2749 ], [ %2753, %2750 ]
%2756 = trunc i32 %2755 to i16
store i16 %2756, i16* %13
%2757 = load i16, i16* %18
%2758 = sext i16 %2757 to i32
%2759 = icmp eq i32 %2758, 0
br i1 %2759, label %2760, label %2761
2760: ; preds = %2754
br label %2765
2761: ; preds = %2754
%2762 = load i16, i16* %18
%2763 = sext i16 %2762 to i32
%2764 = sub nsw i32 25, %2763
br label %2765
2765: ; preds = %2761, %2760
%2766 = phi i32 [ 0, %2760 ], [ %2764, %2761 ]
%2767 = trunc i32 %2766 to i16
store i16 %2767, i16* %17
%2768 = load i16, i16* %10
%2769 = sext i16 %2768 to i32
%2770 = load i16, i16* %11
%2771 = sext i16 %2770 to i32
%2772 = load i16, i16* %12
%2773 = sext i16 %2772 to i32
%2774 = load i16, i16* %13
%2775 = sext i16 %2774 to i32
%2776 = load i16, i16* %14
%2777 = sext i16 %2776 to i32
%2778 = load i16, i16* %15
%2779 = sext i16 %2778 to i32
%2780 = load i16, i16* %16
%2781 = sext i16 %2780 to i32
%2782 = load i16, i16* %17
%2783 = sext i16 %2782 to i32
%2784 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %2769, i32 %2771, i32 %2773, i32 %2775, i32 %2777, i32 %2779, i32 %2781, i32 %2783)
%2785 = trunc i32 %2784 to i16
store i16 %2785, i16* %18
%2786 = load i16, i16* %18
%2787 = sext i16 %2786 to i32
%2788 = icmp eq i32 %2787, -1
br i1 %2788, label %2789, label %2790
2789: ; preds = %2765
store i16 -1, i16* %9
br label %19404
2790: ; preds = %2765
%2791 = load i16, i16* %18
%2792 = sext i16 %2791 to i32
%2793 = icmp sle i32 0, %2792
br i1 %2793, label %2794, label %2796
2794: ; preds = %2790
%2795 = load i16, i16* %22
store i16 %2795, i16* %21
br label %2796
2796: ; preds = %2794, %2790
%2797 = load i16, i16* %10
store i16 %2797, i16* %18
%2798 = load i16, i16* %14
%2799 = sext i16 %2798 to i32
%2800 = icmp eq i32 %2799, 0
br i1 %2800, label %2801, label %2802
2801: ; preds = %2796
br label %2806
2802: ; preds = %2796
%2803 = load i16, i16* %14
%2804 = sext i16 %2803 to i32
%2805 = sub nsw i32 25, %2804
br label %2806
2806: ; preds = %2802, %2801
%2807 = phi i32 [ 0, %2801 ], [ %2805, %2802 ]
%2808 = trunc i32 %2807 to i16
store i16 %2808, i16* %10
%2809 = load i16, i16* %18
%2810 = sext i16 %2809 to i32
%2811 = icmp eq i32 %2810, 0
br i1 %2811, label %2812, label %2813
2812: ; preds = %2806
br label %2817
2813: ; preds = %2806
%2814 = load i16, i16* %18
%2815 = sext i16 %2814 to i32
%2816 = sub nsw i32 25, %2815
br label %2817
2817: ; preds = %2813, %2812
%2818 = phi i32 [ 0, %2812 ], [ %2816, %2813 ]
%2819 = trunc i32 %2818 to i16
store i16 %2819, i16* %14
%2820 = load i16, i16* %11
store i16 %2820, i16* %18
%2821 = load i16, i16* %15
%2822 = sext i16 %2821 to i32
%2823 = icmp eq i32 %2822, 0
br i1 %2823, label %2824, label %2825
2824: ; preds = %2817
br label %2829
2825: ; preds = %2817
%2826 = load i16, i16* %15
%2827 = sext i16 %2826 to i32
%2828 = sub nsw i32 25, %2827
br label %2829
2829: ; preds = %2825, %2824
%2830 = phi i32 [ 0, %2824 ], [ %2828, %2825 ]
%2831 = trunc i32 %2830 to i16
store i16 %2831, i16* %11
%2832 = load i16, i16* %18
%2833 = sext i16 %2832 to i32
%2834 = icmp eq i32 %2833, 0
br i1 %2834, label %2835, label %2836
2835: ; preds = %2829
br label %2840
2836: ; preds = %2829
%2837 = load i16, i16* %18
%2838 = sext i16 %2837 to i32
%2839 = sub nsw i32 25, %2838
br label %2840
2840: ; preds = %2836, %2835
%2841 = phi i32 [ 0, %2835 ], [ %2839, %2836 ]
%2842 = trunc i32 %2841 to i16
store i16 %2842, i16* %15
%2843 = load i16, i16* %12
store i16 %2843, i16* %18
%2844 = load i16, i16* %16
%2845 = sext i16 %2844 to i32
%2846 = icmp eq i32 %2845, 0
br i1 %2846, label %2847, label %2848
2847: ; preds = %2840
br label %2852
2848: ; preds = %2840
%2849 = load i16, i16* %16
%2850 = sext i16 %2849 to i32
%2851 = sub nsw i32 25, %2850
br label %2852
2852: ; preds = %2848, %2847
%2853 = phi i32 [ 0, %2847 ], [ %2851, %2848 ]
%2854 = trunc i32 %2853 to i16
store i16 %2854, i16* %12
%2855 = load i16, i16* %18
%2856 = sext i16 %2855 to i32
%2857 = icmp eq i32 %2856, 0
br i1 %2857, label %2858, label %2859
2858: ; preds = %2852
br label %2863
2859: ; preds = %2852
%2860 = load i16, i16* %18
%2861 = sext i16 %2860 to i32
%2862 = sub nsw i32 25, %2861
br label %2863
2863: ; preds = %2859, %2858
%2864 = phi i32 [ 0, %2858 ], [ %2862, %2859 ]
%2865 = trunc i32 %2864 to i16
store i16 %2865, i16* %16
%2866 = load i16, i16* %13
store i16 %2866, i16* %18
%2867 = load i16, i16* %17
%2868 = sext i16 %2867 to i32
%2869 = icmp eq i32 %2868, 0
br i1 %2869, label %2870, label %2871
2870: ; preds = %2863
br label %2875
2871: ; preds = %2863
%2872 = load i16, i16* %17
%2873 = sext i16 %2872 to i32
%2874 = sub nsw i32 25, %2873
br label %2875
2875: ; preds = %2871, %2870
%2876 = phi i32 [ 0, %2870 ], [ %2874, %2871 ]
%2877 = trunc i32 %2876 to i16
store i16 %2877, i16* %13
%2878 = load i16, i16* %18
%2879 = sext i16 %2878 to i32
%2880 = icmp eq i32 %2879, 0
br i1 %2880, label %2881, label %2882
2881: ; preds = %2875
br label %2886
2882: ; preds = %2875
%2883 = load i16, i16* %18
%2884 = sext i16 %2883 to i32
%2885 = sub nsw i32 25, %2884
br label %2886
2886: ; preds = %2882, %2881
%2887 = phi i32 [ 0, %2881 ], [ %2885, %2882 ]
%2888 = trunc i32 %2887 to i16
store i16 %2888, i16* %17
br label %2889
2889: ; preds = %2886, %2671
br label %2890
2890: ; preds = %2889, %2450
%2891 = load i16, i16* %19
store i16 %2891, i16* %10
br label %2892
2892: ; preds = %2890, %2226, %2220, %2214, %2208, %2197
br label %2893
2893: ; preds = %2892, %2192, %2188, %2184
br label %19395
2894: ; preds = %2180
%2895 = load i16, i16* %22
%2896 = sext i16 %2895 to i32
%2897 = icmp eq i32 %2896, 4
br i1 %2897, label %2898, label %3603
2898: ; preds = %2894
%2899 = load i16, i16* %10
%2900 = sext i16 %2899 to i32
%2901 = icmp ne i32 %2900, 0
br i1 %2901, label %2902, label %3602
2902: ; preds = %2898
%2903 = load i16, i16* %10
%2904 = sext i16 %2903 to i32
%2905 = icmp slt i32 4, %2904
br i1 %2905, label %2906, label %3602
2906: ; preds = %2902
%2907 = load i16, i16* %10
store i16 %2907, i16* %19
%2908 = load i16, i16* %19
%2909 = sext i16 %2908 to i32
%2910 = sub nsw i32 %2909, 4
%2911 = trunc i32 %2910 to i16
store i16 %2911, i16* %20
%2912 = load i16, i16* %20
%2913 = sext i16 %2912 to i32
%2914 = load i16, i16* %11
%2915 = sext i16 %2914 to i32
%2916 = icmp ne i32 %2913, %2915
br i1 %2916, label %2917, label %3601
2917: ; preds = %2906
%2918 = load i16, i16* %20
%2919 = sext i16 %2918 to i32
%2920 = load i16, i16* %12
%2921 = sext i16 %2920 to i32
%2922 = icmp ne i32 %2919, %2921
br i1 %2922, label %2923, label %3601
2923: ; preds = %2917
%2924 = load i16, i16* %20
%2925 = sext i16 %2924 to i32
%2926 = load i16, i16* %13
%2927 = sext i16 %2926 to i32
%2928 = icmp ne i32 %2925, %2927
br i1 %2928, label %2929, label %3601
2929: ; preds = %2923
%2930 = load i16, i16* %20
%2931 = sext i16 %2930 to i32
%2932 = load i16, i16* %14
%2933 = sext i16 %2932 to i32
%2934 = icmp ne i32 %2931, %2933
br i1 %2934, label %2935, label %3601
2935: ; preds = %2929
%2936 = load i16, i16* %20
%2937 = sext i16 %2936 to i32
%2938 = load i16, i16* %15
%2939 = sext i16 %2938 to i32
%2940 = icmp ne i32 %2937, %2939
br i1 %2940, label %2941, label %3601
2941: ; preds = %2935
%2942 = load i16, i16* %20
store i16 %2942, i16* %10
%2943 = load i16, i16* %16
%2944 = sext i16 %2943 to i32
%2945 = load i16, i16* %20
%2946 = sext i16 %2945 to i32
%2947 = icmp eq i32 %2944, %2946
br i1 %2947, label %2948, label %3163
2948: ; preds = %2941
store i16 0, i16* %16
%2949 = load i16, i16* %10
store i16 %2949, i16* %18
%2950 = load i16, i16* %14
%2951 = sext i16 %2950 to i32
%2952 = icmp eq i32 %2951, 0
br i1 %2952, label %2953, label %2954
2953: ; preds = %2948
br label %2958
2954: ; preds = %2948
%2955 = load i16, i16* %14
%2956 = sext i16 %2955 to i32
%2957 = sub nsw i32 25, %2956
br label %2958
2958: ; preds = %2954, %2953
%2959 = phi i32 [ 0, %2953 ], [ %2957, %2954 ]
%2960 = trunc i32 %2959 to i16
store i16 %2960, i16* %10
%2961 = load i16, i16* %18
%2962 = sext i16 %2961 to i32
%2963 = icmp eq i32 %2962, 0
br i1 %2963, label %2964, label %2965
2964: ; preds = %2958
br label %2969
2965: ; preds = %2958
%2966 = load i16, i16* %18
%2967 = sext i16 %2966 to i32
%2968 = sub nsw i32 25, %2967
br label %2969
2969: ; preds = %2965, %2964
%2970 = phi i32 [ 0, %2964 ], [ %2968, %2965 ]
%2971 = trunc i32 %2970 to i16
store i16 %2971, i16* %14
%2972 = load i16, i16* %11
store i16 %2972, i16* %18
%2973 = load i16, i16* %15
%2974 = sext i16 %2973 to i32
%2975 = icmp eq i32 %2974, 0
br i1 %2975, label %2976, label %2977
2976: ; preds = %2969
br label %2981
2977: ; preds = %2969
%2978 = load i16, i16* %15
%2979 = sext i16 %2978 to i32
%2980 = sub nsw i32 25, %2979
br label %2981
2981: ; preds = %2977, %2976
%2982 = phi i32 [ 0, %2976 ], [ %2980, %2977 ]
%2983 = trunc i32 %2982 to i16
store i16 %2983, i16* %11
%2984 = load i16, i16* %18
%2985 = sext i16 %2984 to i32
%2986 = icmp eq i32 %2985, 0
br i1 %2986, label %2987, label %2988
2987: ; preds = %2981
br label %2992
2988: ; preds = %2981
%2989 = load i16, i16* %18
%2990 = sext i16 %2989 to i32
%2991 = sub nsw i32 25, %2990
br label %2992
2992: ; preds = %2988, %2987
%2993 = phi i32 [ 0, %2987 ], [ %2991, %2988 ]
%2994 = trunc i32 %2993 to i16
store i16 %2994, i16* %15
%2995 = load i16, i16* %12
store i16 %2995, i16* %18
%2996 = load i16, i16* %16
%2997 = sext i16 %2996 to i32
%2998 = icmp eq i32 %2997, 0
br i1 %2998, label %2999, label %3000
2999: ; preds = %2992
br label %3004
3000: ; preds = %2992
%3001 = load i16, i16* %16
%3002 = sext i16 %3001 to i32
%3003 = sub nsw i32 25, %3002
br label %3004
3004: ; preds = %3000, %2999
%3005 = phi i32 [ 0, %2999 ], [ %3003, %3000 ]
%3006 = trunc i32 %3005 to i16
store i16 %3006, i16* %12
%3007 = load i16, i16* %18
%3008 = sext i16 %3007 to i32
%3009 = icmp eq i32 %3008, 0
br i1 %3009, label %3010, label %3011
3010: ; preds = %3004
br label %3015
3011: ; preds = %3004
%3012 = load i16, i16* %18
%3013 = sext i16 %3012 to i32
%3014 = sub nsw i32 25, %3013
br label %3015
3015: ; preds = %3011, %3010
%3016 = phi i32 [ 0, %3010 ], [ %3014, %3011 ]
%3017 = trunc i32 %3016 to i16
store i16 %3017, i16* %16
%3018 = load i16, i16* %13
store i16 %3018, i16* %18
%3019 = load i16, i16* %17
%3020 = sext i16 %3019 to i32
%3021 = icmp eq i32 %3020, 0
br i1 %3021, label %3022, label %3023
3022: ; preds = %3015
br label %3027
3023: ; preds = %3015
%3024 = load i16, i16* %17
%3025 = sext i16 %3024 to i32
%3026 = sub nsw i32 25, %3025
br label %3027
3027: ; preds = %3023, %3022
%3028 = phi i32 [ 0, %3022 ], [ %3026, %3023 ]
%3029 = trunc i32 %3028 to i16
store i16 %3029, i16* %13
%3030 = load i16, i16* %18
%3031 = sext i16 %3030 to i32
%3032 = icmp eq i32 %3031, 0
br i1 %3032, label %3033, label %3034
3033: ; preds = %3027
br label %3038
3034: ; preds = %3027
%3035 = load i16, i16* %18
%3036 = sext i16 %3035 to i32
%3037 = sub nsw i32 25, %3036
br label %3038
3038: ; preds = %3034, %3033
%3039 = phi i32 [ 0, %3033 ], [ %3037, %3034 ]
%3040 = trunc i32 %3039 to i16
store i16 %3040, i16* %17
%3041 = load i16, i16* %10
%3042 = sext i16 %3041 to i32
%3043 = load i16, i16* %11
%3044 = sext i16 %3043 to i32
%3045 = load i16, i16* %12
%3046 = sext i16 %3045 to i32
%3047 = load i16, i16* %13
%3048 = sext i16 %3047 to i32
%3049 = load i16, i16* %14
%3050 = sext i16 %3049 to i32
%3051 = load i16, i16* %15
%3052 = sext i16 %3051 to i32
%3053 = load i16, i16* %16
%3054 = sext i16 %3053 to i32
%3055 = load i16, i16* %17
%3056 = sext i16 %3055 to i32
%3057 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3042, i32 %3044, i32 %3046, i32 %3048, i32 %3050, i32 %3052, i32 %3054, i32 %3056)
%3058 = trunc i32 %3057 to i16
store i16 %3058, i16* %18
%3059 = load i16, i16* %18
%3060 = sext i16 %3059 to i32
%3061 = icmp eq i32 %3060, -1
br i1 %3061, label %3062, label %3063
3062: ; preds = %3038
store i16 -1, i16* %9
br label %19404
3063: ; preds = %3038
%3064 = load i16, i16* %18
%3065 = sext i16 %3064 to i32
%3066 = icmp sle i32 0, %3065
br i1 %3066, label %3067, label %3069
3067: ; preds = %3063
%3068 = load i16, i16* %22
store i16 %3068, i16* %21
br label %3069
3069: ; preds = %3067, %3063
%3070 = load i16, i16* %10
store i16 %3070, i16* %18
%3071 = load i16, i16* %14
%3072 = sext i16 %3071 to i32
%3073 = icmp eq i32 %3072, 0
br i1 %3073, label %3074, label %3075
3074: ; preds = %3069
br label %3079
3075: ; preds = %3069
%3076 = load i16, i16* %14
%3077 = sext i16 %3076 to i32
%3078 = sub nsw i32 25, %3077
br label %3079
3079: ; preds = %3075, %3074
%3080 = phi i32 [ 0, %3074 ], [ %3078, %3075 ]
%3081 = trunc i32 %3080 to i16
store i16 %3081, i16* %10
%3082 = load i16, i16* %18
%3083 = sext i16 %3082 to i32
%3084 = icmp eq i32 %3083, 0
br i1 %3084, label %3085, label %3086
3085: ; preds = %3079
br label %3090
3086: ; preds = %3079
%3087 = load i16, i16* %18
%3088 = sext i16 %3087 to i32
%3089 = sub nsw i32 25, %3088
br label %3090
3090: ; preds = %3086, %3085
%3091 = phi i32 [ 0, %3085 ], [ %3089, %3086 ]
%3092 = trunc i32 %3091 to i16
store i16 %3092, i16* %14
%3093 = load i16, i16* %11
store i16 %3093, i16* %18
%3094 = load i16, i16* %15
%3095 = sext i16 %3094 to i32
%3096 = icmp eq i32 %3095, 0
br i1 %3096, label %3097, label %3098
3097: ; preds = %3090
br label %3102
3098: ; preds = %3090
%3099 = load i16, i16* %15
%3100 = sext i16 %3099 to i32
%3101 = sub nsw i32 25, %3100
br label %3102
3102: ; preds = %3098, %3097
%3103 = phi i32 [ 0, %3097 ], [ %3101, %3098 ]
%3104 = trunc i32 %3103 to i16
store i16 %3104, i16* %11
%3105 = load i16, i16* %18
%3106 = sext i16 %3105 to i32
%3107 = icmp eq i32 %3106, 0
br i1 %3107, label %3108, label %3109
3108: ; preds = %3102
br label %3113
3109: ; preds = %3102
%3110 = load i16, i16* %18
%3111 = sext i16 %3110 to i32
%3112 = sub nsw i32 25, %3111
br label %3113
3113: ; preds = %3109, %3108
%3114 = phi i32 [ 0, %3108 ], [ %3112, %3109 ]
%3115 = trunc i32 %3114 to i16
store i16 %3115, i16* %15
%3116 = load i16, i16* %12
store i16 %3116, i16* %18
%3117 = load i16, i16* %16
%3118 = sext i16 %3117 to i32
%3119 = icmp eq i32 %3118, 0
br i1 %3119, label %3120, label %3121
3120: ; preds = %3113
br label %3125
3121: ; preds = %3113
%3122 = load i16, i16* %16
%3123 = sext i16 %3122 to i32
%3124 = sub nsw i32 25, %3123
br label %3125
3125: ; preds = %3121, %3120
%3126 = phi i32 [ 0, %3120 ], [ %3124, %3121 ]
%3127 = trunc i32 %3126 to i16
store i16 %3127, i16* %12
%3128 = load i16, i16* %18
%3129 = sext i16 %3128 to i32
%3130 = icmp eq i32 %3129, 0
br i1 %3130, label %3131, label %3132
3131: ; preds = %3125
br label %3136
3132: ; preds = %3125
%3133 = load i16, i16* %18
%3134 = sext i16 %3133 to i32
%3135 = sub nsw i32 25, %3134
br label %3136
3136: ; preds = %3132, %3131
%3137 = phi i32 [ 0, %3131 ], [ %3135, %3132 ]
%3138 = trunc i32 %3137 to i16
store i16 %3138, i16* %16
%3139 = load i16, i16* %13
store i16 %3139, i16* %18
%3140 = load i16, i16* %17
%3141 = sext i16 %3140 to i32
%3142 = icmp eq i32 %3141, 0
br i1 %3142, label %3143, label %3144
3143: ; preds = %3136
br label %3148
3144: ; preds = %3136
%3145 = load i16, i16* %17
%3146 = sext i16 %3145 to i32
%3147 = sub nsw i32 25, %3146
br label %3148
3148: ; preds = %3144, %3143
%3149 = phi i32 [ 0, %3143 ], [ %3147, %3144 ]
%3150 = trunc i32 %3149 to i16
store i16 %3150, i16* %13
%3151 = load i16, i16* %18
%3152 = sext i16 %3151 to i32
%3153 = icmp eq i32 %3152, 0
br i1 %3153, label %3154, label %3155
3154: ; preds = %3148
br label %3159
3155: ; preds = %3148
%3156 = load i16, i16* %18
%3157 = sext i16 %3156 to i32
%3158 = sub nsw i32 25, %3157
br label %3159
3159: ; preds = %3155, %3154
%3160 = phi i32 [ 0, %3154 ], [ %3158, %3155 ]
%3161 = trunc i32 %3160 to i16
store i16 %3161, i16* %17
%3162 = load i16, i16* %20
store i16 %3162, i16* %16
br label %3599
3163: ; preds = %2941
%3164 = load i16, i16* %17
%3165 = sext i16 %3164 to i32
%3166 = load i16, i16* %20
%3167 = sext i16 %3166 to i32
%3168 = icmp eq i32 %3165, %3167
br i1 %3168, label %3169, label %3384
3169: ; preds = %3163
store i16 0, i16* %17
%3170 = load i16, i16* %10
store i16 %3170, i16* %18
%3171 = load i16, i16* %14
%3172 = sext i16 %3171 to i32
%3173 = icmp eq i32 %3172, 0
br i1 %3173, label %3174, label %3175
3174: ; preds = %3169
br label %3179
3175: ; preds = %3169
%3176 = load i16, i16* %14
%3177 = sext i16 %3176 to i32
%3178 = sub nsw i32 25, %3177
br label %3179
3179: ; preds = %3175, %3174
%3180 = phi i32 [ 0, %3174 ], [ %3178, %3175 ]
%3181 = trunc i32 %3180 to i16
store i16 %3181, i16* %10
%3182 = load i16, i16* %18
%3183 = sext i16 %3182 to i32
%3184 = icmp eq i32 %3183, 0
br i1 %3184, label %3185, label %3186
3185: ; preds = %3179
br label %3190
3186: ; preds = %3179
%3187 = load i16, i16* %18
%3188 = sext i16 %3187 to i32
%3189 = sub nsw i32 25, %3188
br label %3190
3190: ; preds = %3186, %3185
%3191 = phi i32 [ 0, %3185 ], [ %3189, %3186 ]
%3192 = trunc i32 %3191 to i16
store i16 %3192, i16* %14
%3193 = load i16, i16* %11
store i16 %3193, i16* %18
%3194 = load i16, i16* %15
%3195 = sext i16 %3194 to i32
%3196 = icmp eq i32 %3195, 0
br i1 %3196, label %3197, label %3198
3197: ; preds = %3190
br label %3202
3198: ; preds = %3190
%3199 = load i16, i16* %15
%3200 = sext i16 %3199 to i32
%3201 = sub nsw i32 25, %3200
br label %3202
3202: ; preds = %3198, %3197
%3203 = phi i32 [ 0, %3197 ], [ %3201, %3198 ]
%3204 = trunc i32 %3203 to i16
store i16 %3204, i16* %11
%3205 = load i16, i16* %18
%3206 = sext i16 %3205 to i32
%3207 = icmp eq i32 %3206, 0
br i1 %3207, label %3208, label %3209
3208: ; preds = %3202
br label %3213
3209: ; preds = %3202
%3210 = load i16, i16* %18
%3211 = sext i16 %3210 to i32
%3212 = sub nsw i32 25, %3211
br label %3213
3213: ; preds = %3209, %3208
%3214 = phi i32 [ 0, %3208 ], [ %3212, %3209 ]
%3215 = trunc i32 %3214 to i16
store i16 %3215, i16* %15
%3216 = load i16, i16* %12
store i16 %3216, i16* %18
%3217 = load i16, i16* %16
%3218 = sext i16 %3217 to i32
%3219 = icmp eq i32 %3218, 0
br i1 %3219, label %3220, label %3221
3220: ; preds = %3213
br label %3225
3221: ; preds = %3213
%3222 = load i16, i16* %16
%3223 = sext i16 %3222 to i32
%3224 = sub nsw i32 25, %3223
br label %3225
3225: ; preds = %3221, %3220
%3226 = phi i32 [ 0, %3220 ], [ %3224, %3221 ]
%3227 = trunc i32 %3226 to i16
store i16 %3227, i16* %12
%3228 = load i16, i16* %18
%3229 = sext i16 %3228 to i32
%3230 = icmp eq i32 %3229, 0
br i1 %3230, label %3231, label %3232
3231: ; preds = %3225
br label %3236
3232: ; preds = %3225
%3233 = load i16, i16* %18
%3234 = sext i16 %3233 to i32
%3235 = sub nsw i32 25, %3234
br label %3236
3236: ; preds = %3232, %3231
%3237 = phi i32 [ 0, %3231 ], [ %3235, %3232 ]
%3238 = trunc i32 %3237 to i16
store i16 %3238, i16* %16
%3239 = load i16, i16* %13
store i16 %3239, i16* %18
%3240 = load i16, i16* %17
%3241 = sext i16 %3240 to i32
%3242 = icmp eq i32 %3241, 0
br i1 %3242, label %3243, label %3244
3243: ; preds = %3236
br label %3248
3244: ; preds = %3236
%3245 = load i16, i16* %17
%3246 = sext i16 %3245 to i32
%3247 = sub nsw i32 25, %3246
br label %3248
3248: ; preds = %3244, %3243
%3249 = phi i32 [ 0, %3243 ], [ %3247, %3244 ]
%3250 = trunc i32 %3249 to i16
store i16 %3250, i16* %13
%3251 = load i16, i16* %18
%3252 = sext i16 %3251 to i32
%3253 = icmp eq i32 %3252, 0
br i1 %3253, label %3254, label %3255
3254: ; preds = %3248
br label %3259
3255: ; preds = %3248
%3256 = load i16, i16* %18
%3257 = sext i16 %3256 to i32
%3258 = sub nsw i32 25, %3257
br label %3259
3259: ; preds = %3255, %3254
%3260 = phi i32 [ 0, %3254 ], [ %3258, %3255 ]
%3261 = trunc i32 %3260 to i16
store i16 %3261, i16* %17
%3262 = load i16, i16* %10
%3263 = sext i16 %3262 to i32
%3264 = load i16, i16* %11
%3265 = sext i16 %3264 to i32
%3266 = load i16, i16* %12
%3267 = sext i16 %3266 to i32
%3268 = load i16, i16* %13
%3269 = sext i16 %3268 to i32
%3270 = load i16, i16* %14
%3271 = sext i16 %3270 to i32
%3272 = load i16, i16* %15
%3273 = sext i16 %3272 to i32
%3274 = load i16, i16* %16
%3275 = sext i16 %3274 to i32
%3276 = load i16, i16* %17
%3277 = sext i16 %3276 to i32
%3278 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3263, i32 %3265, i32 %3267, i32 %3269, i32 %3271, i32 %3273, i32 %3275, i32 %3277)
%3279 = trunc i32 %3278 to i16
store i16 %3279, i16* %18
%3280 = load i16, i16* %18
%3281 = sext i16 %3280 to i32
%3282 = icmp eq i32 %3281, -1
br i1 %3282, label %3283, label %3284
3283: ; preds = %3259
store i16 -1, i16* %9
br label %19404
3284: ; preds = %3259
%3285 = load i16, i16* %18
%3286 = sext i16 %3285 to i32
%3287 = icmp sle i32 0, %3286
br i1 %3287, label %3288, label %3290
3288: ; preds = %3284
%3289 = load i16, i16* %22
store i16 %3289, i16* %21
br label %3290
3290: ; preds = %3288, %3284
%3291 = load i16, i16* %10
store i16 %3291, i16* %18
%3292 = load i16, i16* %14
%3293 = sext i16 %3292 to i32
%3294 = icmp eq i32 %3293, 0
br i1 %3294, label %3295, label %3296
3295: ; preds = %3290
br label %3300
3296: ; preds = %3290
%3297 = load i16, i16* %14
%3298 = sext i16 %3297 to i32
%3299 = sub nsw i32 25, %3298
br label %3300
3300: ; preds = %3296, %3295
%3301 = phi i32 [ 0, %3295 ], [ %3299, %3296 ]
%3302 = trunc i32 %3301 to i16
store i16 %3302, i16* %10
%3303 = load i16, i16* %18
%3304 = sext i16 %3303 to i32
%3305 = icmp eq i32 %3304, 0
br i1 %3305, label %3306, label %3307
3306: ; preds = %3300
br label %3311
3307: ; preds = %3300
%3308 = load i16, i16* %18
%3309 = sext i16 %3308 to i32
%3310 = sub nsw i32 25, %3309
br label %3311
3311: ; preds = %3307, %3306
%3312 = phi i32 [ 0, %3306 ], [ %3310, %3307 ]
%3313 = trunc i32 %3312 to i16
store i16 %3313, i16* %14
%3314 = load i16, i16* %11
store i16 %3314, i16* %18
%3315 = load i16, i16* %15
%3316 = sext i16 %3315 to i32
%3317 = icmp eq i32 %3316, 0
br i1 %3317, label %3318, label %3319
3318: ; preds = %3311
br label %3323
3319: ; preds = %3311
%3320 = load i16, i16* %15
%3321 = sext i16 %3320 to i32
%3322 = sub nsw i32 25, %3321
br label %3323
3323: ; preds = %3319, %3318
%3324 = phi i32 [ 0, %3318 ], [ %3322, %3319 ]
%3325 = trunc i32 %3324 to i16
store i16 %3325, i16* %11
%3326 = load i16, i16* %18
%3327 = sext i16 %3326 to i32
%3328 = icmp eq i32 %3327, 0
br i1 %3328, label %3329, label %3330
3329: ; preds = %3323
br label %3334
3330: ; preds = %3323
%3331 = load i16, i16* %18
%3332 = sext i16 %3331 to i32
%3333 = sub nsw i32 25, %3332
br label %3334
3334: ; preds = %3330, %3329
%3335 = phi i32 [ 0, %3329 ], [ %3333, %3330 ]
%3336 = trunc i32 %3335 to i16
store i16 %3336, i16* %15
%3337 = load i16, i16* %12
store i16 %3337, i16* %18
%3338 = load i16, i16* %16
%3339 = sext i16 %3338 to i32
%3340 = icmp eq i32 %3339, 0
br i1 %3340, label %3341, label %3342
3341: ; preds = %3334
br label %3346
3342: ; preds = %3334
%3343 = load i16, i16* %16
%3344 = sext i16 %3343 to i32
%3345 = sub nsw i32 25, %3344
br label %3346
3346: ; preds = %3342, %3341
%3347 = phi i32 [ 0, %3341 ], [ %3345, %3342 ]
%3348 = trunc i32 %3347 to i16
store i16 %3348, i16* %12
%3349 = load i16, i16* %18
%3350 = sext i16 %3349 to i32
%3351 = icmp eq i32 %3350, 0
br i1 %3351, label %3352, label %3353
3352: ; preds = %3346
br label %3357
3353: ; preds = %3346
%3354 = load i16, i16* %18
%3355 = sext i16 %3354 to i32
%3356 = sub nsw i32 25, %3355
br label %3357
3357: ; preds = %3353, %3352
%3358 = phi i32 [ 0, %3352 ], [ %3356, %3353 ]
%3359 = trunc i32 %3358 to i16
store i16 %3359, i16* %16
%3360 = load i16, i16* %13
store i16 %3360, i16* %18
%3361 = load i16, i16* %17
%3362 = sext i16 %3361 to i32
%3363 = icmp eq i32 %3362, 0
br i1 %3363, label %3364, label %3365
3364: ; preds = %3357
br label %3369
3365: ; preds = %3357
%3366 = load i16, i16* %17
%3367 = sext i16 %3366 to i32
%3368 = sub nsw i32 25, %3367
br label %3369
3369: ; preds = %3365, %3364
%3370 = phi i32 [ 0, %3364 ], [ %3368, %3365 ]
%3371 = trunc i32 %3370 to i16
store i16 %3371, i16* %13
%3372 = load i16, i16* %18
%3373 = sext i16 %3372 to i32
%3374 = icmp eq i32 %3373, 0
br i1 %3374, label %3375, label %3376
3375: ; preds = %3369
br label %3380
3376: ; preds = %3369
%3377 = load i16, i16* %18
%3378 = sext i16 %3377 to i32
%3379 = sub nsw i32 25, %3378
br label %3380
3380: ; preds = %3376, %3375
%3381 = phi i32 [ 0, %3375 ], [ %3379, %3376 ]
%3382 = trunc i32 %3381 to i16
store i16 %3382, i16* %17
%3383 = load i16, i16* %20
store i16 %3383, i16* %17
br label %3598
3384: ; preds = %3163
%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* %10
%3478 = sext i16 %3477 to i32
%3479 = load i16, i16* %11
%3480 = sext i16 %3479 to i32
%3481 = load i16, i16* %12
%3482 = sext i16 %3481 to i32
%3483 = load i16, i16* %13
%3484 = sext i16 %3483 to i32
%3485 = load i16, i16* %14
%3486 = sext i16 %3485 to i32
%3487 = load i16, i16* %15
%3488 = sext i16 %3487 to i32
%3489 = load i16, i16* %16
%3490 = sext i16 %3489 to i32
%3491 = load i16, i16* %17
%3492 = sext i16 %3491 to i32
%3493 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3478, i32 %3480, i32 %3482, i32 %3484, i32 %3486, i32 %3488, i32 %3490, i32 %3492)
%3494 = trunc i32 %3493 to i16
store i16 %3494, i16* %18
%3495 = load i16, i16* %18
%3496 = sext i16 %3495 to i32
%3497 = icmp eq i32 %3496, -1
br i1 %3497, label %3498, label %3499
3498: ; preds = %3474
store i16 -1, i16* %9
br label %19404
3499: ; preds = %3474
%3500 = load i16, i16* %18
%3501 = sext i16 %3500 to i32
%3502 = icmp sle i32 0, %3501
br i1 %3502, label %3503, label %3505
3503: ; preds = %3499
%3504 = load i16, i16* %22
store i16 %3504, i16* %21
br label %3505
3505: ; preds = %3503, %3499
%3506 = load i16, i16* %10
store i16 %3506, i16* %18
%3507 = load i16, i16* %14
%3508 = sext i16 %3507 to i32
%3509 = icmp eq i32 %3508, 0
br i1 %3509, label %3510, label %3511
3510: ; preds = %3505
br label %3515
3511: ; preds = %3505
%3512 = load i16, i16* %14
%3513 = sext i16 %3512 to i32
%3514 = sub nsw i32 25, %3513
br label %3515
3515: ; preds = %3511, %3510
%3516 = phi i32 [ 0, %3510 ], [ %3514, %3511 ]
%3517 = trunc i32 %3516 to i16
store i16 %3517, i16* %10
%3518 = load i16, i16* %18
%3519 = sext i16 %3518 to i32
%3520 = icmp eq i32 %3519, 0
br i1 %3520, label %3521, label %3522
3521: ; preds = %3515
br label %3526
3522: ; preds = %3515
%3523 = load i16, i16* %18
%3524 = sext i16 %3523 to i32
%3525 = sub nsw i32 25, %3524
br label %3526
3526: ; preds = %3522, %3521
%3527 = phi i32 [ 0, %3521 ], [ %3525, %3522 ]
%3528 = trunc i32 %3527 to i16
store i16 %3528, i16* %14
%3529 = load i16, i16* %11
store i16 %3529, i16* %18
%3530 = load i16, i16* %15
%3531 = sext i16 %3530 to i32
%3532 = icmp eq i32 %3531, 0
br i1 %3532, label %3533, label %3534
3533: ; preds = %3526
br label %3538
3534: ; preds = %3526
%3535 = load i16, i16* %15
%3536 = sext i16 %3535 to i32
%3537 = sub nsw i32 25, %3536
br label %3538
3538: ; preds = %3534, %3533
%3539 = phi i32 [ 0, %3533 ], [ %3537, %3534 ]
%3540 = trunc i32 %3539 to i16
store i16 %3540, i16* %11
%3541 = load i16, i16* %18
%3542 = sext i16 %3541 to i32
%3543 = icmp eq i32 %3542, 0
br i1 %3543, label %3544, label %3545
3544: ; preds = %3538
br label %3549
3545: ; preds = %3538
%3546 = load i16, i16* %18
%3547 = sext i16 %3546 to i32
%3548 = sub nsw i32 25, %3547
br label %3549
3549: ; preds = %3545, %3544
%3550 = phi i32 [ 0, %3544 ], [ %3548, %3545 ]
%3551 = trunc i32 %3550 to i16
store i16 %3551, i16* %15
%3552 = load i16, i16* %12
store i16 %3552, i16* %18
%3553 = load i16, i16* %16
%3554 = sext i16 %3553 to i32
%3555 = icmp eq i32 %3554, 0
br i1 %3555, label %3556, label %3557
3556: ; preds = %3549
br label %3561
3557: ; preds = %3549
%3558 = load i16, i16* %16
%3559 = sext i16 %3558 to i32
%3560 = sub nsw i32 25, %3559
br label %3561
3561: ; preds = %3557, %3556
%3562 = phi i32 [ 0, %3556 ], [ %3560, %3557 ]
%3563 = trunc i32 %3562 to i16
store i16 %3563, i16* %12
%3564 = load i16, i16* %18
%3565 = sext i16 %3564 to i32
%3566 = icmp eq i32 %3565, 0
br i1 %3566, label %3567, label %3568
3567: ; preds = %3561
br label %3572
3568: ; preds = %3561
%3569 = load i16, i16* %18
%3570 = sext i16 %3569 to i32
%3571 = sub nsw i32 25, %3570
br label %3572
3572: ; preds = %3568, %3567
%3573 = phi i32 [ 0, %3567 ], [ %3571, %3568 ]
%3574 = trunc i32 %3573 to i16
store i16 %3574, i16* %16
%3575 = load i16, i16* %13
store i16 %3575, i16* %18
%3576 = load i16, i16* %17
%3577 = sext i16 %3576 to i32
%3578 = icmp eq i32 %3577, 0
br i1 %3578, label %3579, label %3580
3579: ; preds = %3572
br label %3584
3580: ; preds = %3572
%3581 = load i16, i16* %17
%3582 = sext i16 %3581 to i32
%3583 = sub nsw i32 25, %3582
br label %3584
3584: ; preds = %3580, %3579
%3585 = phi i32 [ 0, %3579 ], [ %3583, %3580 ]
%3586 = trunc i32 %3585 to i16
store i16 %3586, i16* %13
%3587 = load i16, i16* %18
%3588 = sext i16 %3587 to i32
%3589 = icmp eq i32 %3588, 0
br i1 %3589, label %3590, label %3591
3590: ; preds = %3584
br label %3595
3591: ; preds = %3584
%3592 = load i16, i16* %18
%3593 = sext i16 %3592 to i32
%3594 = sub nsw i32 25, %3593
br label %3595
3595: ; preds = %3591, %3590
%3596 = phi i32 [ 0, %3590 ], [ %3594, %3591 ]
%3597 = trunc i32 %3596 to i16
store i16 %3597, i16* %17
br label %3598
3598: ; preds = %3595, %3380
br label %3599
3599: ; preds = %3598, %3159
%3600 = load i16, i16* %19
store i16 %3600, i16* %10
br label %3601
3601: ; preds = %3599, %2935, %2929, %2923, %2917, %2906
br label %3602
3602: ; preds = %3601, %2902, %2898
br label %19394
3603: ; preds = %2894
%3604 = load i16, i16* %22
%3605 = sext i16 %3604 to i32
%3606 = icmp eq i32 %3605, 5
br i1 %3606, label %3607, label %4317
3607: ; preds = %3603
%3608 = load i16, i16* %10
%3609 = sext i16 %3608 to i32
%3610 = icmp ne i32 %3609, 0
br i1 %3610, label %3611, label %4316
3611: ; preds = %3607
%3612 = load i16, i16* %10
%3613 = sext i16 %3612 to i32
%3614 = icmp slt i32 4, %3613
br i1 %3614, label %3615, label %4316
3615: ; preds = %3611
%3616 = load i16, i16* %10
%3617 = sext i16 %3616 to i32
%3618 = srem i32 %3617, 4
%3619 = icmp ne i32 %3618, 1
br i1 %3619, label %3620, label %4316
3620: ; preds = %3615
%3621 = load i16, i16* %10
store i16 %3621, i16* %19
%3622 = load i16, i16* %19
%3623 = sext i16 %3622 to i32
%3624 = sub nsw i32 %3623, 5
%3625 = trunc i32 %3624 to i16
store i16 %3625, i16* %20
%3626 = load i16, i16* %20
%3627 = sext i16 %3626 to i32
%3628 = load i16, i16* %11
%3629 = sext i16 %3628 to i32
%3630 = icmp ne i32 %3627, %3629
br i1 %3630, label %3631, label %4315
3631: ; preds = %3620
%3632 = load i16, i16* %20
%3633 = sext i16 %3632 to i32
%3634 = load i16, i16* %12
%3635 = sext i16 %3634 to i32
%3636 = icmp ne i32 %3633, %3635
br i1 %3636, label %3637, label %4315
3637: ; preds = %3631
%3638 = load i16, i16* %20
%3639 = sext i16 %3638 to i32
%3640 = load i16, i16* %13
%3641 = sext i16 %3640 to i32
%3642 = icmp ne i32 %3639, %3641
br i1 %3642, label %3643, label %4315
3643: ; preds = %3637
%3644 = load i16, i16* %20
%3645 = sext i16 %3644 to i32
%3646 = load i16, i16* %14
%3647 = sext i16 %3646 to i32
%3648 = icmp ne i32 %3645, %3647
br i1 %3648, label %3649, label %4315
3649: ; preds = %3643
%3650 = load i16, i16* %20
%3651 = sext i16 %3650 to i32
%3652 = load i16, i16* %15
%3653 = sext i16 %3652 to i32
%3654 = icmp ne i32 %3651, %3653
br i1 %3654, label %3655, label %4315
3655: ; preds = %3649
%3656 = load i16, i16* %20
store i16 %3656, i16* %10
%3657 = load i16, i16* %16
%3658 = sext i16 %3657 to i32
%3659 = load i16, i16* %20
%3660 = sext i16 %3659 to i32
%3661 = icmp eq i32 %3658, %3660
br i1 %3661, label %3662, label %3877
3662: ; preds = %3655
store i16 0, i16* %16
%3663 = load i16, i16* %10
store i16 %3663, i16* %18
%3664 = load i16, i16* %14
%3665 = sext i16 %3664 to i32
%3666 = icmp eq i32 %3665, 0
br i1 %3666, label %3667, label %3668
3667: ; preds = %3662
br label %3672
3668: ; preds = %3662
%3669 = load i16, i16* %14
%3670 = sext i16 %3669 to i32
%3671 = sub nsw i32 25, %3670
br label %3672
3672: ; preds = %3668, %3667
%3673 = phi i32 [ 0, %3667 ], [ %3671, %3668 ]
%3674 = trunc i32 %3673 to i16
store i16 %3674, i16* %10
%3675 = load i16, i16* %18
%3676 = sext i16 %3675 to i32
%3677 = icmp eq i32 %3676, 0
br i1 %3677, label %3678, label %3679
3678: ; preds = %3672
br label %3683
3679: ; preds = %3672
%3680 = load i16, i16* %18
%3681 = sext i16 %3680 to i32
%3682 = sub nsw i32 25, %3681
br label %3683
3683: ; preds = %3679, %3678
%3684 = phi i32 [ 0, %3678 ], [ %3682, %3679 ]
%3685 = trunc i32 %3684 to i16
store i16 %3685, i16* %14
%3686 = load i16, i16* %11
store i16 %3686, i16* %18
%3687 = load i16, i16* %15
%3688 = sext i16 %3687 to i32
%3689 = icmp eq i32 %3688, 0
br i1 %3689, label %3690, label %3691
3690: ; preds = %3683
br label %3695
3691: ; preds = %3683
%3692 = load i16, i16* %15
%3693 = sext i16 %3692 to i32
%3694 = sub nsw i32 25, %3693
br label %3695
3695: ; preds = %3691, %3690
%3696 = phi i32 [ 0, %3690 ], [ %3694, %3691 ]
%3697 = trunc i32 %3696 to i16
store i16 %3697, i16* %11
%3698 = load i16, i16* %18
%3699 = sext i16 %3698 to i32
%3700 = icmp eq i32 %3699, 0
br i1 %3700, label %3701, label %3702
3701: ; preds = %3695
br label %3706
3702: ; preds = %3695
%3703 = load i16, i16* %18
%3704 = sext i16 %3703 to i32
%3705 = sub nsw i32 25, %3704
br label %3706
3706: ; preds = %3702, %3701
%3707 = phi i32 [ 0, %3701 ], [ %3705, %3702 ]
%3708 = trunc i32 %3707 to i16
store i16 %3708, i16* %15
%3709 = load i16, i16* %12
store i16 %3709, i16* %18
%3710 = load i16, i16* %16
%3711 = sext i16 %3710 to i32
%3712 = icmp eq i32 %3711, 0
br i1 %3712, label %3713, label %3714
3713: ; preds = %3706
br label %3718
3714: ; preds = %3706
%3715 = load i16, i16* %16
%3716 = sext i16 %3715 to i32
%3717 = sub nsw i32 25, %3716
br label %3718
3718: ; preds = %3714, %3713
%3719 = phi i32 [ 0, %3713 ], [ %3717, %3714 ]
%3720 = trunc i32 %3719 to i16
store i16 %3720, i16* %12
%3721 = load i16, i16* %18
%3722 = sext i16 %3721 to i32
%3723 = icmp eq i32 %3722, 0
br i1 %3723, label %3724, label %3725
3724: ; preds = %3718
br label %3729
3725: ; preds = %3718
%3726 = load i16, i16* %18
%3727 = sext i16 %3726 to i32
%3728 = sub nsw i32 25, %3727
br label %3729
3729: ; preds = %3725, %3724
%3730 = phi i32 [ 0, %3724 ], [ %3728, %3725 ]
%3731 = trunc i32 %3730 to i16
store i16 %3731, i16* %16
%3732 = load i16, i16* %13
store i16 %3732, i16* %18
%3733 = load i16, i16* %17
%3734 = sext i16 %3733 to i32
%3735 = icmp eq i32 %3734, 0
br i1 %3735, label %3736, label %3737
3736: ; preds = %3729
br label %3741
3737: ; preds = %3729
%3738 = load i16, i16* %17
%3739 = sext i16 %3738 to i32
%3740 = sub nsw i32 25, %3739
br label %3741
3741: ; preds = %3737, %3736
%3742 = phi i32 [ 0, %3736 ], [ %3740, %3737 ]
%3743 = trunc i32 %3742 to i16
store i16 %3743, i16* %13
%3744 = load i16, i16* %18
%3745 = sext i16 %3744 to i32
%3746 = icmp eq i32 %3745, 0
br i1 %3746, label %3747, label %3748
3747: ; preds = %3741
br label %3752
3748: ; preds = %3741
%3749 = load i16, i16* %18
%3750 = sext i16 %3749 to i32
%3751 = sub nsw i32 25, %3750
br label %3752
3752: ; preds = %3748, %3747
%3753 = phi i32 [ 0, %3747 ], [ %3751, %3748 ]
%3754 = trunc i32 %3753 to i16
store i16 %3754, i16* %17
%3755 = load i16, i16* %10
%3756 = sext i16 %3755 to i32
%3757 = load i16, i16* %11
%3758 = sext i16 %3757 to i32
%3759 = load i16, i16* %12
%3760 = sext i16 %3759 to i32
%3761 = load i16, i16* %13
%3762 = sext i16 %3761 to i32
%3763 = load i16, i16* %14
%3764 = sext i16 %3763 to i32
%3765 = load i16, i16* %15
%3766 = sext i16 %3765 to i32
%3767 = load i16, i16* %16
%3768 = sext i16 %3767 to i32
%3769 = load i16, i16* %17
%3770 = sext i16 %3769 to i32
%3771 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3756, i32 %3758, i32 %3760, i32 %3762, i32 %3764, i32 %3766, i32 %3768, i32 %3770)
%3772 = trunc i32 %3771 to i16
store i16 %3772, i16* %18
%3773 = load i16, i16* %18
%3774 = sext i16 %3773 to i32
%3775 = icmp eq i32 %3774, -1
br i1 %3775, label %3776, label %3777
3776: ; preds = %3752
store i16 -1, i16* %9
br label %19404
3777: ; preds = %3752
%3778 = load i16, i16* %18
%3779 = sext i16 %3778 to i32
%3780 = icmp sle i32 0, %3779
br i1 %3780, label %3781, label %3783
3781: ; preds = %3777
%3782 = load i16, i16* %22
store i16 %3782, i16* %21
br label %3783
3783: ; preds = %3781, %3777
%3784 = load i16, i16* %10
store i16 %3784, i16* %18
%3785 = load i16, i16* %14
%3786 = sext i16 %3785 to i32
%3787 = icmp eq i32 %3786, 0
br i1 %3787, label %3788, label %3789
3788: ; preds = %3783
br label %3793
3789: ; preds = %3783
%3790 = load i16, i16* %14
%3791 = sext i16 %3790 to i32
%3792 = sub nsw i32 25, %3791
br label %3793
3793: ; preds = %3789, %3788
%3794 = phi i32 [ 0, %3788 ], [ %3792, %3789 ]
%3795 = trunc i32 %3794 to i16
store i16 %3795, i16* %10
%3796 = load i16, i16* %18
%3797 = sext i16 %3796 to i32
%3798 = icmp eq i32 %3797, 0
br i1 %3798, label %3799, label %3800
3799: ; preds = %3793
br label %3804
3800: ; preds = %3793
%3801 = load i16, i16* %18
%3802 = sext i16 %3801 to i32
%3803 = sub nsw i32 25, %3802
br label %3804
3804: ; preds = %3800, %3799
%3805 = phi i32 [ 0, %3799 ], [ %3803, %3800 ]
%3806 = trunc i32 %3805 to i16
store i16 %3806, i16* %14
%3807 = load i16, i16* %11
store i16 %3807, i16* %18
%3808 = load i16, i16* %15
%3809 = sext i16 %3808 to i32
%3810 = icmp eq i32 %3809, 0
br i1 %3810, label %3811, label %3812
3811: ; preds = %3804
br label %3816
3812: ; preds = %3804
%3813 = load i16, i16* %15
%3814 = sext i16 %3813 to i32
%3815 = sub nsw i32 25, %3814
br label %3816
3816: ; preds = %3812, %3811
%3817 = phi i32 [ 0, %3811 ], [ %3815, %3812 ]
%3818 = trunc i32 %3817 to i16
store i16 %3818, i16* %11
%3819 = load i16, i16* %18
%3820 = sext i16 %3819 to i32
%3821 = icmp eq i32 %3820, 0
br i1 %3821, label %3822, label %3823
3822: ; preds = %3816
br label %3827
3823: ; preds = %3816
%3824 = load i16, i16* %18
%3825 = sext i16 %3824 to i32
%3826 = sub nsw i32 25, %3825
br label %3827
3827: ; preds = %3823, %3822
%3828 = phi i32 [ 0, %3822 ], [ %3826, %3823 ]
%3829 = trunc i32 %3828 to i16
store i16 %3829, i16* %15
%3830 = load i16, i16* %12
store i16 %3830, i16* %18
%3831 = load i16, i16* %16
%3832 = sext i16 %3831 to i32
%3833 = icmp eq i32 %3832, 0
br i1 %3833, label %3834, label %3835
3834: ; preds = %3827
br label %3839
3835: ; preds = %3827
%3836 = load i16, i16* %16
%3837 = sext i16 %3836 to i32
%3838 = sub nsw i32 25, %3837
br label %3839
3839: ; preds = %3835, %3834
%3840 = phi i32 [ 0, %3834 ], [ %3838, %3835 ]
%3841 = trunc i32 %3840 to i16
store i16 %3841, i16* %12
%3842 = load i16, i16* %18
%3843 = sext i16 %3842 to i32
%3844 = icmp eq i32 %3843, 0
br i1 %3844, label %3845, label %3846
3845: ; preds = %3839
br label %3850
3846: ; preds = %3839
%3847 = load i16, i16* %18
%3848 = sext i16 %3847 to i32
%3849 = sub nsw i32 25, %3848
br label %3850
3850: ; preds = %3846, %3845
%3851 = phi i32 [ 0, %3845 ], [ %3849, %3846 ]
%3852 = trunc i32 %3851 to i16
store i16 %3852, i16* %16
%3853 = load i16, i16* %13
store i16 %3853, i16* %18
%3854 = load i16, i16* %17
%3855 = sext i16 %3854 to i32
%3856 = icmp eq i32 %3855, 0
br i1 %3856, label %3857, label %3858
3857: ; preds = %3850
br label %3862
3858: ; preds = %3850
%3859 = load i16, i16* %17
%3860 = sext i16 %3859 to i32
%3861 = sub nsw i32 25, %3860
br label %3862
3862: ; preds = %3858, %3857
%3863 = phi i32 [ 0, %3857 ], [ %3861, %3858 ]
%3864 = trunc i32 %3863 to i16
store i16 %3864, i16* %13
%3865 = load i16, i16* %18
%3866 = sext i16 %3865 to i32
%3867 = icmp eq i32 %3866, 0
br i1 %3867, label %3868, label %3869
3868: ; preds = %3862
br label %3873
3869: ; preds = %3862
%3870 = load i16, i16* %18
%3871 = sext i16 %3870 to i32
%3872 = sub nsw i32 25, %3871
br label %3873
3873: ; preds = %3869, %3868
%3874 = phi i32 [ 0, %3868 ], [ %3872, %3869 ]
%3875 = trunc i32 %3874 to i16
store i16 %3875, i16* %17
%3876 = load i16, i16* %20
store i16 %3876, i16* %16
br label %4313
3877: ; preds = %3655
%3878 = load i16, i16* %17
%3879 = sext i16 %3878 to i32
%3880 = load i16, i16* %20
%3881 = sext i16 %3880 to i32
%3882 = icmp eq i32 %3879, %3881
br i1 %3882, label %3883, label %4098
3883: ; preds = %3877
store i16 0, i16* %17
%3884 = load i16, i16* %10
store i16 %3884, i16* %18
%3885 = load i16, i16* %14
%3886 = sext i16 %3885 to i32
%3887 = icmp eq i32 %3886, 0
br i1 %3887, label %3888, label %3889
3888: ; preds = %3883
br label %3893
3889: ; preds = %3883
%3890 = load i16, i16* %14
%3891 = sext i16 %3890 to i32
%3892 = sub nsw i32 25, %3891
br label %3893
3893: ; preds = %3889, %3888
%3894 = phi i32 [ 0, %3888 ], [ %3892, %3889 ]
%3895 = trunc i32 %3894 to i16
store i16 %3895, i16* %10
%3896 = load i16, i16* %18
%3897 = sext i16 %3896 to i32
%3898 = icmp eq i32 %3897, 0
br i1 %3898, label %3899, label %3900
3899: ; preds = %3893
br label %3904
3900: ; preds = %3893
%3901 = load i16, i16* %18
%3902 = sext i16 %3901 to i32
%3903 = sub nsw i32 25, %3902
br label %3904
3904: ; preds = %3900, %3899
%3905 = phi i32 [ 0, %3899 ], [ %3903, %3900 ]
%3906 = trunc i32 %3905 to i16
store i16 %3906, i16* %14
%3907 = load i16, i16* %11
store i16 %3907, i16* %18
%3908 = load i16, i16* %15
%3909 = sext i16 %3908 to i32
%3910 = icmp eq i32 %3909, 0
br i1 %3910, label %3911, label %3912
3911: ; preds = %3904
br label %3916
3912: ; preds = %3904
%3913 = load i16, i16* %15
%3914 = sext i16 %3913 to i32
%3915 = sub nsw i32 25, %3914
br label %3916
3916: ; preds = %3912, %3911
%3917 = phi i32 [ 0, %3911 ], [ %3915, %3912 ]
%3918 = trunc i32 %3917 to i16
store i16 %3918, i16* %11
%3919 = load i16, i16* %18
%3920 = sext i16 %3919 to i32
%3921 = icmp eq i32 %3920, 0
br i1 %3921, label %3922, label %3923
3922: ; preds = %3916
br label %3927
3923: ; preds = %3916
%3924 = load i16, i16* %18
%3925 = sext i16 %3924 to i32
%3926 = sub nsw i32 25, %3925
br label %3927
3927: ; preds = %3923, %3922
%3928 = phi i32 [ 0, %3922 ], [ %3926, %3923 ]
%3929 = trunc i32 %3928 to i16
store i16 %3929, i16* %15
%3930 = load i16, i16* %12
store i16 %3930, i16* %18
%3931 = load i16, i16* %16
%3932 = sext i16 %3931 to i32
%3933 = icmp eq i32 %3932, 0
br i1 %3933, label %3934, label %3935
3934: ; preds = %3927
br label %3939
3935: ; preds = %3927
%3936 = load i16, i16* %16
%3937 = sext i16 %3936 to i32
%3938 = sub nsw i32 25, %3937
br label %3939
3939: ; preds = %3935, %3934
%3940 = phi i32 [ 0, %3934 ], [ %3938, %3935 ]
%3941 = trunc i32 %3940 to i16
store i16 %3941, i16* %12
%3942 = load i16, i16* %18
%3943 = sext i16 %3942 to i32
%3944 = icmp eq i32 %3943, 0
br i1 %3944, label %3945, label %3946
3945: ; preds = %3939
br label %3950
3946: ; preds = %3939
%3947 = load i16, i16* %18
%3948 = sext i16 %3947 to i32
%3949 = sub nsw i32 25, %3948
br label %3950
3950: ; preds = %3946, %3945
%3951 = phi i32 [ 0, %3945 ], [ %3949, %3946 ]
%3952 = trunc i32 %3951 to i16
store i16 %3952, i16* %16
%3953 = load i16, i16* %13
store i16 %3953, i16* %18
%3954 = load i16, i16* %17
%3955 = sext i16 %3954 to i32
%3956 = icmp eq i32 %3955, 0
br i1 %3956, label %3957, label %3958
3957: ; preds = %3950
br label %3962
3958: ; preds = %3950
%3959 = load i16, i16* %17
%3960 = sext i16 %3959 to i32
%3961 = sub nsw i32 25, %3960
br label %3962
3962: ; preds = %3958, %3957
%3963 = phi i32 [ 0, %3957 ], [ %3961, %3958 ]
%3964 = trunc i32 %3963 to i16
store i16 %3964, i16* %13
%3965 = load i16, i16* %18
%3966 = sext i16 %3965 to i32
%3967 = icmp eq i32 %3966, 0
br i1 %3967, label %3968, label %3969
3968: ; preds = %3962
br label %3973
3969: ; preds = %3962
%3970 = load i16, i16* %18
%3971 = sext i16 %3970 to i32
%3972 = sub nsw i32 25, %3971
br label %3973
3973: ; preds = %3969, %3968
%3974 = phi i32 [ 0, %3968 ], [ %3972, %3969 ]
%3975 = trunc i32 %3974 to i16
store i16 %3975, i16* %17
%3976 = load i16, i16* %10
%3977 = sext i16 %3976 to i32
%3978 = load i16, i16* %11
%3979 = sext i16 %3978 to i32
%3980 = load i16, i16* %12
%3981 = sext i16 %3980 to i32
%3982 = load i16, i16* %13
%3983 = sext i16 %3982 to i32
%3984 = load i16, i16* %14
%3985 = sext i16 %3984 to i32
%3986 = load i16, i16* %15
%3987 = sext i16 %3986 to i32
%3988 = load i16, i16* %16
%3989 = sext i16 %3988 to i32
%3990 = load i16, i16* %17
%3991 = sext i16 %3990 to i32
%3992 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %3977, i32 %3979, i32 %3981, i32 %3983, i32 %3985, i32 %3987, i32 %3989, i32 %3991)
%3993 = trunc i32 %3992 to i16
store i16 %3993, i16* %18
%3994 = load i16, i16* %18
%3995 = sext i16 %3994 to i32
%3996 = icmp eq i32 %3995, -1
br i1 %3996, label %3997, label %3998
3997: ; preds = %3973
store i16 -1, i16* %9
br label %19404
3998: ; preds = %3973
%3999 = load i16, i16* %18
%4000 = sext i16 %3999 to i32
%4001 = icmp sle i32 0, %4000
br i1 %4001, label %4002, label %4004
4002: ; preds = %3998
%4003 = load i16, i16* %22
store i16 %4003, i16* %21
br label %4004
4004: ; preds = %4002, %3998
%4005 = load i16, i16* %10
store i16 %4005, i16* %18
%4006 = load i16, i16* %14
%4007 = sext i16 %4006 to i32
%4008 = icmp eq i32 %4007, 0
br i1 %4008, label %4009, label %4010
4009: ; preds = %4004
br label %4014
4010: ; preds = %4004
%4011 = load i16, i16* %14
%4012 = sext i16 %4011 to i32
%4013 = sub nsw i32 25, %4012
br label %4014
4014: ; preds = %4010, %4009
%4015 = phi i32 [ 0, %4009 ], [ %4013, %4010 ]
%4016 = trunc i32 %4015 to i16
store i16 %4016, i16* %10
%4017 = load i16, i16* %18
%4018 = sext i16 %4017 to i32
%4019 = icmp eq i32 %4018, 0
br i1 %4019, label %4020, label %4021
4020: ; preds = %4014
br label %4025
4021: ; preds = %4014
%4022 = load i16, i16* %18
%4023 = sext i16 %4022 to i32
%4024 = sub nsw i32 25, %4023
br label %4025
4025: ; preds = %4021, %4020
%4026 = phi i32 [ 0, %4020 ], [ %4024, %4021 ]
%4027 = trunc i32 %4026 to i16
store i16 %4027, i16* %14
%4028 = load i16, i16* %11
store i16 %4028, i16* %18
%4029 = load i16, i16* %15
%4030 = sext i16 %4029 to i32
%4031 = icmp eq i32 %4030, 0
br i1 %4031, label %4032, label %4033
4032: ; preds = %4025
br label %4037
4033: ; preds = %4025
%4034 = load i16, i16* %15
%4035 = sext i16 %4034 to i32
%4036 = sub nsw i32 25, %4035
br label %4037
4037: ; preds = %4033, %4032
%4038 = phi i32 [ 0, %4032 ], [ %4036, %4033 ]
%4039 = trunc i32 %4038 to i16
store i16 %4039, i16* %11
%4040 = load i16, i16* %18
%4041 = sext i16 %4040 to i32
%4042 = icmp eq i32 %4041, 0
br i1 %4042, label %4043, label %4044
4043: ; preds = %4037
br label %4048
4044: ; preds = %4037
%4045 = load i16, i16* %18
%4046 = sext i16 %4045 to i32
%4047 = sub nsw i32 25, %4046
br label %4048
4048: ; preds = %4044, %4043
%4049 = phi i32 [ 0, %4043 ], [ %4047, %4044 ]
%4050 = trunc i32 %4049 to i16
store i16 %4050, i16* %15
%4051 = load i16, i16* %12
store i16 %4051, i16* %18
%4052 = load i16, i16* %16
%4053 = sext i16 %4052 to i32
%4054 = icmp eq i32 %4053, 0
br i1 %4054, label %4055, label %4056
4055: ; preds = %4048
br label %4060
4056: ; preds = %4048
%4057 = load i16, i16* %16
%4058 = sext i16 %4057 to i32
%4059 = sub nsw i32 25, %4058
br label %4060
4060: ; preds = %4056, %4055
%4061 = phi i32 [ 0, %4055 ], [ %4059, %4056 ]
%4062 = trunc i32 %4061 to i16
store i16 %4062, i16* %12
%4063 = load i16, i16* %18
%4064 = sext i16 %4063 to i32
%4065 = icmp eq i32 %4064, 0
br i1 %4065, label %4066, label %4067
4066: ; preds = %4060
br label %4071
4067: ; preds = %4060
%4068 = load i16, i16* %18
%4069 = sext i16 %4068 to i32
%4070 = sub nsw i32 25, %4069
br label %4071
4071: ; preds = %4067, %4066
%4072 = phi i32 [ 0, %4066 ], [ %4070, %4067 ]
%4073 = trunc i32 %4072 to i16
store i16 %4073, i16* %16
%4074 = load i16, i16* %13
store i16 %4074, i16* %18
%4075 = load i16, i16* %17
%4076 = sext i16 %4075 to i32
%4077 = icmp eq i32 %4076, 0
br i1 %4077, label %4078, label %4079
4078: ; preds = %4071
br label %4083
4079: ; preds = %4071
%4080 = load i16, i16* %17
%4081 = sext i16 %4080 to i32
%4082 = sub nsw i32 25, %4081
br label %4083
4083: ; preds = %4079, %4078
%4084 = phi i32 [ 0, %4078 ], [ %4082, %4079 ]
%4085 = trunc i32 %4084 to i16
store i16 %4085, i16* %13
%4086 = load i16, i16* %18
%4087 = sext i16 %4086 to i32
%4088 = icmp eq i32 %4087, 0
br i1 %4088, label %4089, label %4090
4089: ; preds = %4083
br label %4094
4090: ; preds = %4083
%4091 = load i16, i16* %18
%4092 = sext i16 %4091 to i32
%4093 = sub nsw i32 25, %4092
br label %4094
4094: ; preds = %4090, %4089
%4095 = phi i32 [ 0, %4089 ], [ %4093, %4090 ]
%4096 = trunc i32 %4095 to i16
store i16 %4096, i16* %17
%4097 = load i16, i16* %20
store i16 %4097, i16* %17
br label %4312
4098: ; preds = %3877
%4099 = load i16, i16* %10
store i16 %4099, i16* %18
%4100 = load i16, i16* %14
%4101 = sext i16 %4100 to i32
%4102 = icmp eq i32 %4101, 0
br i1 %4102, label %4103, label %4104
4103: ; preds = %4098
br label %4108
4104: ; preds = %4098
%4105 = load i16, i16* %14
%4106 = sext i16 %4105 to i32
%4107 = sub nsw i32 25, %4106
br label %4108
4108: ; preds = %4104, %4103
%4109 = phi i32 [ 0, %4103 ], [ %4107, %4104 ]
%4110 = trunc i32 %4109 to i16
store i16 %4110, i16* %10
%4111 = load i16, i16* %18
%4112 = sext i16 %4111 to i32
%4113 = icmp eq i32 %4112, 0
br i1 %4113, label %4114, label %4115
4114: ; preds = %4108
br label %4119
4115: ; preds = %4108
%4116 = load i16, i16* %18
%4117 = sext i16 %4116 to i32
%4118 = sub nsw i32 25, %4117
br label %4119
4119: ; preds = %4115, %4114
%4120 = phi i32 [ 0, %4114 ], [ %4118, %4115 ]
%4121 = trunc i32 %4120 to i16
store i16 %4121, i16* %14
%4122 = load i16, i16* %11
store i16 %4122, i16* %18
%4123 = load i16, i16* %15
%4124 = sext i16 %4123 to i32
%4125 = icmp eq i32 %4124, 0
br i1 %4125, label %4126, label %4127
4126: ; preds = %4119
br label %4131
4127: ; preds = %4119
%4128 = load i16, i16* %15
%4129 = sext i16 %4128 to i32
%4130 = sub nsw i32 25, %4129
br label %4131
4131: ; preds = %4127, %4126
%4132 = phi i32 [ 0, %4126 ], [ %4130, %4127 ]
%4133 = trunc i32 %4132 to i16
store i16 %4133, i16* %11
%4134 = load i16, i16* %18
%4135 = sext i16 %4134 to i32
%4136 = icmp eq i32 %4135, 0
br i1 %4136, label %4137, label %4138
4137: ; preds = %4131
br label %4142
4138: ; preds = %4131
%4139 = load i16, i16* %18
%4140 = sext i16 %4139 to i32
%4141 = sub nsw i32 25, %4140
br label %4142
4142: ; preds = %4138, %4137
%4143 = phi i32 [ 0, %4137 ], [ %4141, %4138 ]
%4144 = trunc i32 %4143 to i16
store i16 %4144, i16* %15
%4145 = load i16, i16* %12
store i16 %4145, i16* %18
%4146 = load i16, i16* %16
%4147 = sext i16 %4146 to i32
%4148 = icmp eq i32 %4147, 0
br i1 %4148, label %4149, label %4150
4149: ; preds = %4142
br label %4154
4150: ; preds = %4142
%4151 = load i16, i16* %16
%4152 = sext i16 %4151 to i32
%4153 = sub nsw i32 25, %4152
br label %4154
4154: ; preds = %4150, %4149
%4155 = phi i32 [ 0, %4149 ], [ %4153, %4150 ]
%4156 = trunc i32 %4155 to i16
store i16 %4156, i16* %12
%4157 = load i16, i16* %18
%4158 = sext i16 %4157 to i32
%4159 = icmp eq i32 %4158, 0
br i1 %4159, label %4160, label %4161
4160: ; preds = %4154
br label %4165
4161: ; preds = %4154
%4162 = load i16, i16* %18
%4163 = sext i16 %4162 to i32
%4164 = sub nsw i32 25, %4163
br label %4165
4165: ; preds = %4161, %4160
%4166 = phi i32 [ 0, %4160 ], [ %4164, %4161 ]
%4167 = trunc i32 %4166 to i16
store i16 %4167, i16* %16
%4168 = load i16, i16* %13
store i16 %4168, i16* %18
%4169 = load i16, i16* %17
%4170 = sext i16 %4169 to i32
%4171 = icmp eq i32 %4170, 0
br i1 %4171, label %4172, label %4173
4172: ; preds = %4165
br label %4177
4173: ; preds = %4165
%4174 = load i16, i16* %17
%4175 = sext i16 %4174 to i32
%4176 = sub nsw i32 25, %4175
br label %4177
4177: ; preds = %4173, %4172
%4178 = phi i32 [ 0, %4172 ], [ %4176, %4173 ]
%4179 = trunc i32 %4178 to i16
store i16 %4179, i16* %13
%4180 = load i16, i16* %18
%4181 = sext i16 %4180 to i32
%4182 = icmp eq i32 %4181, 0
br i1 %4182, label %4183, label %4184
4183: ; preds = %4177
br label %4188
4184: ; preds = %4177
%4185 = load i16, i16* %18
%4186 = sext i16 %4185 to i32
%4187 = sub nsw i32 25, %4186
br label %4188
4188: ; preds = %4184, %4183
%4189 = phi i32 [ 0, %4183 ], [ %4187, %4184 ]
%4190 = trunc i32 %4189 to i16
store i16 %4190, i16* %17
%4191 = load i16, i16* %10
%4192 = sext i16 %4191 to i32
%4193 = load i16, i16* %11
%4194 = sext i16 %4193 to i32
%4195 = load i16, i16* %12
%4196 = sext i16 %4195 to i32
%4197 = load i16, i16* %13
%4198 = sext i16 %4197 to i32
%4199 = load i16, i16* %14
%4200 = sext i16 %4199 to i32
%4201 = load i16, i16* %15
%4202 = sext i16 %4201 to i32
%4203 = load i16, i16* %16
%4204 = sext i16 %4203 to i32
%4205 = load i16, i16* %17
%4206 = sext i16 %4205 to i32
%4207 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4192, i32 %4194, i32 %4196, i32 %4198, i32 %4200, i32 %4202, i32 %4204, i32 %4206)
%4208 = trunc i32 %4207 to i16
store i16 %4208, i16* %18
%4209 = load i16, i16* %18
%4210 = sext i16 %4209 to i32
%4211 = icmp eq i32 %4210, -1
br i1 %4211, label %4212, label %4213
4212: ; preds = %4188
store i16 -1, i16* %9
br label %19404
4213: ; preds = %4188
%4214 = load i16, i16* %18
%4215 = sext i16 %4214 to i32
%4216 = icmp sle i32 0, %4215
br i1 %4216, label %4217, label %4219
4217: ; preds = %4213
%4218 = load i16, i16* %22
store i16 %4218, i16* %21
br label %4219
4219: ; preds = %4217, %4213
%4220 = load i16, i16* %10
store i16 %4220, i16* %18
%4221 = load i16, i16* %14
%4222 = sext i16 %4221 to i32
%4223 = icmp eq i32 %4222, 0
br i1 %4223, label %4224, label %4225
4224: ; preds = %4219
br label %4229
4225: ; preds = %4219
%4226 = load i16, i16* %14
%4227 = sext i16 %4226 to i32
%4228 = sub nsw i32 25, %4227
br label %4229
4229: ; preds = %4225, %4224
%4230 = phi i32 [ 0, %4224 ], [ %4228, %4225 ]
%4231 = trunc i32 %4230 to i16
store i16 %4231, i16* %10
%4232 = load i16, i16* %18
%4233 = sext i16 %4232 to i32
%4234 = icmp eq i32 %4233, 0
br i1 %4234, label %4235, label %4236
4235: ; preds = %4229
br label %4240
4236: ; preds = %4229
%4237 = load i16, i16* %18
%4238 = sext i16 %4237 to i32
%4239 = sub nsw i32 25, %4238
br label %4240
4240: ; preds = %4236, %4235
%4241 = phi i32 [ 0, %4235 ], [ %4239, %4236 ]
%4242 = trunc i32 %4241 to i16
store i16 %4242, i16* %14
%4243 = load i16, i16* %11
store i16 %4243, i16* %18
%4244 = load i16, i16* %15
%4245 = sext i16 %4244 to i32
%4246 = icmp eq i32 %4245, 0
br i1 %4246, label %4247, label %4248
4247: ; preds = %4240
br label %4252
4248: ; preds = %4240
%4249 = load i16, i16* %15
%4250 = sext i16 %4249 to i32
%4251 = sub nsw i32 25, %4250
br label %4252
4252: ; preds = %4248, %4247
%4253 = phi i32 [ 0, %4247 ], [ %4251, %4248 ]
%4254 = trunc i32 %4253 to i16
store i16 %4254, i16* %11
%4255 = load i16, i16* %18
%4256 = sext i16 %4255 to i32
%4257 = icmp eq i32 %4256, 0
br i1 %4257, label %4258, label %4259
4258: ; preds = %4252
br label %4263
4259: ; preds = %4252
%4260 = load i16, i16* %18
%4261 = sext i16 %4260 to i32
%4262 = sub nsw i32 25, %4261
br label %4263
4263: ; preds = %4259, %4258
%4264 = phi i32 [ 0, %4258 ], [ %4262, %4259 ]
%4265 = trunc i32 %4264 to i16
store i16 %4265, i16* %15
%4266 = load i16, i16* %12
store i16 %4266, i16* %18
%4267 = load i16, i16* %16
%4268 = sext i16 %4267 to i32
%4269 = icmp eq i32 %4268, 0
br i1 %4269, label %4270, label %4271
4270: ; preds = %4263
br label %4275
4271: ; preds = %4263
%4272 = load i16, i16* %16
%4273 = sext i16 %4272 to i32
%4274 = sub nsw i32 25, %4273
br label %4275
4275: ; preds = %4271, %4270
%4276 = phi i32 [ 0, %4270 ], [ %4274, %4271 ]
%4277 = trunc i32 %4276 to i16
store i16 %4277, i16* %12
%4278 = load i16, i16* %18
%4279 = sext i16 %4278 to i32
%4280 = icmp eq i32 %4279, 0
br i1 %4280, label %4281, label %4282
4281: ; preds = %4275
br label %4286
4282: ; preds = %4275
%4283 = load i16, i16* %18
%4284 = sext i16 %4283 to i32
%4285 = sub nsw i32 25, %4284
br label %4286
4286: ; preds = %4282, %4281
%4287 = phi i32 [ 0, %4281 ], [ %4285, %4282 ]
%4288 = trunc i32 %4287 to i16
store i16 %4288, i16* %16
%4289 = load i16, i16* %13
store i16 %4289, i16* %18
%4290 = load i16, i16* %17
%4291 = sext i16 %4290 to i32
%4292 = icmp eq i32 %4291, 0
br i1 %4292, label %4293, label %4294
4293: ; preds = %4286
br label %4298
4294: ; preds = %4286
%4295 = load i16, i16* %17
%4296 = sext i16 %4295 to i32
%4297 = sub nsw i32 25, %4296
br label %4298
4298: ; preds = %4294, %4293
%4299 = phi i32 [ 0, %4293 ], [ %4297, %4294 ]
%4300 = trunc i32 %4299 to i16
store i16 %4300, i16* %13
%4301 = load i16, i16* %18
%4302 = sext i16 %4301 to i32
%4303 = icmp eq i32 %4302, 0
br i1 %4303, label %4304, label %4305
4304: ; preds = %4298
br label %4309
4305: ; preds = %4298
%4306 = load i16, i16* %18
%4307 = sext i16 %4306 to i32
%4308 = sub nsw i32 25, %4307
br label %4309
4309: ; preds = %4305, %4304
%4310 = phi i32 [ 0, %4304 ], [ %4308, %4305 ]
%4311 = trunc i32 %4310 to i16
store i16 %4311, i16* %17
br label %4312
4312: ; preds = %4309, %4094
br label %4313
4313: ; preds = %4312, %3873
%4314 = load i16, i16* %19
store i16 %4314, i16* %10
br label %4315
4315: ; preds = %4313, %3649, %3643, %3637, %3631, %3620
br label %4316
4316: ; preds = %4315, %3615, %3611, %3607
br label %19393
4317: ; preds = %3603
%4318 = load i16, i16* %22
%4319 = sext i16 %4318 to i32
%4320 = icmp eq i32 %4319, 6
br i1 %4320, label %4321, label %5027
4321: ; preds = %4317
%4322 = load i16, i16* %10
%4323 = sext i16 %4322 to i32
%4324 = icmp ne i32 %4323, 0
br i1 %4324, label %4325, label %5026
4325: ; preds = %4321
%4326 = load i16, i16* %10
%4327 = sext i16 %4326 to i32
%4328 = srem i32 %4327, 4
%4329 = icmp ne i32 %4328, 1
br i1 %4329, label %4330, label %5026
4330: ; preds = %4325
%4331 = load i16, i16* %10
store i16 %4331, i16* %19
%4332 = load i16, i16* %19
%4333 = sext i16 %4332 to i32
%4334 = sub nsw i32 %4333, 1
%4335 = trunc i32 %4334 to i16
store i16 %4335, i16* %20
%4336 = load i16, i16* %20
%4337 = sext i16 %4336 to i32
%4338 = load i16, i16* %11
%4339 = sext i16 %4338 to i32
%4340 = icmp ne i32 %4337, %4339
br i1 %4340, label %4341, label %5025
4341: ; preds = %4330
%4342 = load i16, i16* %20
%4343 = sext i16 %4342 to i32
%4344 = load i16, i16* %12
%4345 = sext i16 %4344 to i32
%4346 = icmp ne i32 %4343, %4345
br i1 %4346, label %4347, label %5025
4347: ; preds = %4341
%4348 = load i16, i16* %20
%4349 = sext i16 %4348 to i32
%4350 = load i16, i16* %13
%4351 = sext i16 %4350 to i32
%4352 = icmp ne i32 %4349, %4351
br i1 %4352, label %4353, label %5025
4353: ; preds = %4347
%4354 = load i16, i16* %20
%4355 = sext i16 %4354 to i32
%4356 = load i16, i16* %14
%4357 = sext i16 %4356 to i32
%4358 = icmp ne i32 %4355, %4357
br i1 %4358, label %4359, label %5025
4359: ; preds = %4353
%4360 = load i16, i16* %20
%4361 = sext i16 %4360 to i32
%4362 = load i16, i16* %15
%4363 = sext i16 %4362 to i32
%4364 = icmp ne i32 %4361, %4363
br i1 %4364, label %4365, label %5025
4365: ; preds = %4359
%4366 = load i16, i16* %20
store i16 %4366, i16* %10
%4367 = load i16, i16* %16
%4368 = sext i16 %4367 to i32
%4369 = load i16, i16* %20
%4370 = sext i16 %4369 to i32
%4371 = icmp eq i32 %4368, %4370
br i1 %4371, label %4372, label %4587
4372: ; preds = %4365
store i16 0, i16* %16
%4373 = load i16, i16* %10
store i16 %4373, i16* %18
%4374 = load i16, i16* %14
%4375 = sext i16 %4374 to i32
%4376 = icmp eq i32 %4375, 0
br i1 %4376, label %4377, label %4378
4377: ; preds = %4372
br label %4382
4378: ; preds = %4372
%4379 = load i16, i16* %14
%4380 = sext i16 %4379 to i32
%4381 = sub nsw i32 25, %4380
br label %4382
4382: ; preds = %4378, %4377
%4383 = phi i32 [ 0, %4377 ], [ %4381, %4378 ]
%4384 = trunc i32 %4383 to i16
store i16 %4384, i16* %10
%4385 = load i16, i16* %18
%4386 = sext i16 %4385 to i32
%4387 = icmp eq i32 %4386, 0
br i1 %4387, label %4388, label %4389
4388: ; preds = %4382
br label %4393
4389: ; preds = %4382
%4390 = load i16, i16* %18
%4391 = sext i16 %4390 to i32
%4392 = sub nsw i32 25, %4391
br label %4393
4393: ; preds = %4389, %4388
%4394 = phi i32 [ 0, %4388 ], [ %4392, %4389 ]
%4395 = trunc i32 %4394 to i16
store i16 %4395, i16* %14
%4396 = load i16, i16* %11
store i16 %4396, i16* %18
%4397 = load i16, i16* %15
%4398 = sext i16 %4397 to i32
%4399 = icmp eq i32 %4398, 0
br i1 %4399, label %4400, label %4401
4400: ; preds = %4393
br label %4405
4401: ; preds = %4393
%4402 = load i16, i16* %15
%4403 = sext i16 %4402 to i32
%4404 = sub nsw i32 25, %4403
br label %4405
4405: ; preds = %4401, %4400
%4406 = phi i32 [ 0, %4400 ], [ %4404, %4401 ]
%4407 = trunc i32 %4406 to i16
store i16 %4407, i16* %11
%4408 = load i16, i16* %18
%4409 = sext i16 %4408 to i32
%4410 = icmp eq i32 %4409, 0
br i1 %4410, label %4411, label %4412
4411: ; preds = %4405
br label %4416
4412: ; preds = %4405
%4413 = load i16, i16* %18
%4414 = sext i16 %4413 to i32
%4415 = sub nsw i32 25, %4414
br label %4416
4416: ; preds = %4412, %4411
%4417 = phi i32 [ 0, %4411 ], [ %4415, %4412 ]
%4418 = trunc i32 %4417 to i16
store i16 %4418, i16* %15
%4419 = load i16, i16* %12
store i16 %4419, i16* %18
%4420 = load i16, i16* %16
%4421 = sext i16 %4420 to i32
%4422 = icmp eq i32 %4421, 0
br i1 %4422, label %4423, label %4424
4423: ; preds = %4416
br label %4428
4424: ; preds = %4416
%4425 = load i16, i16* %16
%4426 = sext i16 %4425 to i32
%4427 = sub nsw i32 25, %4426
br label %4428
4428: ; preds = %4424, %4423
%4429 = phi i32 [ 0, %4423 ], [ %4427, %4424 ]
%4430 = trunc i32 %4429 to i16
store i16 %4430, i16* %12
%4431 = load i16, i16* %18
%4432 = sext i16 %4431 to i32
%4433 = icmp eq i32 %4432, 0
br i1 %4433, label %4434, label %4435
4434: ; preds = %4428
br label %4439
4435: ; preds = %4428
%4436 = load i16, i16* %18
%4437 = sext i16 %4436 to i32
%4438 = sub nsw i32 25, %4437
br label %4439
4439: ; preds = %4435, %4434
%4440 = phi i32 [ 0, %4434 ], [ %4438, %4435 ]
%4441 = trunc i32 %4440 to i16
store i16 %4441, i16* %16
%4442 = load i16, i16* %13
store i16 %4442, i16* %18
%4443 = load i16, i16* %17
%4444 = sext i16 %4443 to i32
%4445 = icmp eq i32 %4444, 0
br i1 %4445, label %4446, label %4447
4446: ; preds = %4439
br label %4451
4447: ; preds = %4439
%4448 = load i16, i16* %17
%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* %13
%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* %17
%4465 = load i16, i16* %10
%4466 = sext i16 %4465 to i32
%4467 = load i16, i16* %11
%4468 = sext i16 %4467 to i32
%4469 = load i16, i16* %12
%4470 = sext i16 %4469 to i32
%4471 = load i16, i16* %13
%4472 = sext i16 %4471 to i32
%4473 = load i16, i16* %14
%4474 = sext i16 %4473 to i32
%4475 = load i16, i16* %15
%4476 = sext i16 %4475 to i32
%4477 = load i16, i16* %16
%4478 = sext i16 %4477 to i32
%4479 = load i16, i16* %17
%4480 = sext i16 %4479 to i32
%4481 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4466, i32 %4468, i32 %4470, i32 %4472, i32 %4474, i32 %4476, i32 %4478, i32 %4480)
%4482 = trunc i32 %4481 to i16
store i16 %4482, i16* %18
%4483 = load i16, i16* %18
%4484 = sext i16 %4483 to i32
%4485 = icmp eq i32 %4484, -1
br i1 %4485, label %4486, label %4487
4486: ; preds = %4462
store i16 -1, i16* %9
br label %19404
4487: ; preds = %4462
%4488 = load i16, i16* %18
%4489 = sext i16 %4488 to i32
%4490 = icmp sle i32 0, %4489
br i1 %4490, label %4491, label %4493
4491: ; preds = %4487
%4492 = load i16, i16* %22
store i16 %4492, i16* %21
br label %4493
4493: ; preds = %4491, %4487
%4494 = load i16, i16* %10
store i16 %4494, i16* %18
%4495 = load i16, i16* %14
%4496 = sext i16 %4495 to i32
%4497 = icmp eq i32 %4496, 0
br i1 %4497, label %4498, label %4499
4498: ; preds = %4493
br label %4503
4499: ; preds = %4493
%4500 = load i16, i16* %14
%4501 = sext i16 %4500 to i32
%4502 = sub nsw i32 25, %4501
br label %4503
4503: ; preds = %4499, %4498
%4504 = phi i32 [ 0, %4498 ], [ %4502, %4499 ]
%4505 = trunc i32 %4504 to i16
store i16 %4505, i16* %10
%4506 = load i16, i16* %18
%4507 = sext i16 %4506 to i32
%4508 = icmp eq i32 %4507, 0
br i1 %4508, label %4509, label %4510
4509: ; preds = %4503
br label %4514
4510: ; preds = %4503
%4511 = load i16, i16* %18
%4512 = sext i16 %4511 to i32
%4513 = sub nsw i32 25, %4512
br label %4514
4514: ; preds = %4510, %4509
%4515 = phi i32 [ 0, %4509 ], [ %4513, %4510 ]
%4516 = trunc i32 %4515 to i16
store i16 %4516, i16* %14
%4517 = load i16, i16* %11
store i16 %4517, i16* %18
%4518 = load i16, i16* %15
%4519 = sext i16 %4518 to i32
%4520 = icmp eq i32 %4519, 0
br i1 %4520, label %4521, label %4522
4521: ; preds = %4514
br label %4526
4522: ; preds = %4514
%4523 = load i16, i16* %15
%4524 = sext i16 %4523 to i32
%4525 = sub nsw i32 25, %4524
br label %4526
4526: ; preds = %4522, %4521
%4527 = phi i32 [ 0, %4521 ], [ %4525, %4522 ]
%4528 = trunc i32 %4527 to i16
store i16 %4528, i16* %11
%4529 = load i16, i16* %18
%4530 = sext i16 %4529 to i32
%4531 = icmp eq i32 %4530, 0
br i1 %4531, label %4532, label %4533
4532: ; preds = %4526
br label %4537
4533: ; preds = %4526
%4534 = load i16, i16* %18
%4535 = sext i16 %4534 to i32
%4536 = sub nsw i32 25, %4535
br label %4537
4537: ; preds = %4533, %4532
%4538 = phi i32 [ 0, %4532 ], [ %4536, %4533 ]
%4539 = trunc i32 %4538 to i16
store i16 %4539, i16* %15
%4540 = load i16, i16* %12
store i16 %4540, i16* %18
%4541 = load i16, i16* %16
%4542 = sext i16 %4541 to i32
%4543 = icmp eq i32 %4542, 0
br i1 %4543, label %4544, label %4545
4544: ; preds = %4537
br label %4549
4545: ; preds = %4537
%4546 = load i16, i16* %16
%4547 = sext i16 %4546 to i32
%4548 = sub nsw i32 25, %4547
br label %4549
4549: ; preds = %4545, %4544
%4550 = phi i32 [ 0, %4544 ], [ %4548, %4545 ]
%4551 = trunc i32 %4550 to i16
store i16 %4551, i16* %12
%4552 = load i16, i16* %18
%4553 = sext i16 %4552 to i32
%4554 = icmp eq i32 %4553, 0
br i1 %4554, label %4555, label %4556
4555: ; preds = %4549
br label %4560
4556: ; preds = %4549
%4557 = load i16, i16* %18
%4558 = sext i16 %4557 to i32
%4559 = sub nsw i32 25, %4558
br label %4560
4560: ; preds = %4556, %4555
%4561 = phi i32 [ 0, %4555 ], [ %4559, %4556 ]
%4562 = trunc i32 %4561 to i16
store i16 %4562, i16* %16
%4563 = load i16, i16* %13
store i16 %4563, i16* %18
%4564 = load i16, i16* %17
%4565 = sext i16 %4564 to i32
%4566 = icmp eq i32 %4565, 0
br i1 %4566, label %4567, label %4568
4567: ; preds = %4560
br label %4572
4568: ; preds = %4560
%4569 = load i16, i16* %17
%4570 = sext i16 %4569 to i32
%4571 = sub nsw i32 25, %4570
br label %4572
4572: ; preds = %4568, %4567
%4573 = phi i32 [ 0, %4567 ], [ %4571, %4568 ]
%4574 = trunc i32 %4573 to i16
store i16 %4574, i16* %13
%4575 = load i16, i16* %18
%4576 = sext i16 %4575 to i32
%4577 = icmp eq i32 %4576, 0
br i1 %4577, label %4578, label %4579
4578: ; preds = %4572
br label %4583
4579: ; preds = %4572
%4580 = load i16, i16* %18
%4581 = sext i16 %4580 to i32
%4582 = sub nsw i32 25, %4581
br label %4583
4583: ; preds = %4579, %4578
%4584 = phi i32 [ 0, %4578 ], [ %4582, %4579 ]
%4585 = trunc i32 %4584 to i16
store i16 %4585, i16* %17
%4586 = load i16, i16* %20
store i16 %4586, i16* %16
br label %5023
4587: ; preds = %4365
%4588 = load i16, i16* %17
%4589 = sext i16 %4588 to i32
%4590 = load i16, i16* %20
%4591 = sext i16 %4590 to i32
%4592 = icmp eq i32 %4589, %4591
br i1 %4592, label %4593, label %4808
4593: ; preds = %4587
store i16 0, i16* %17
%4594 = load i16, i16* %10
store i16 %4594, i16* %18
%4595 = load i16, i16* %14
%4596 = sext i16 %4595 to i32
%4597 = icmp eq i32 %4596, 0
br i1 %4597, label %4598, label %4599
4598: ; preds = %4593
br label %4603
4599: ; preds = %4593
%4600 = load i16, i16* %14
%4601 = sext i16 %4600 to i32
%4602 = sub nsw i32 25, %4601
br label %4603
4603: ; preds = %4599, %4598
%4604 = phi i32 [ 0, %4598 ], [ %4602, %4599 ]
%4605 = trunc i32 %4604 to i16
store i16 %4605, i16* %10
%4606 = load i16, i16* %18
%4607 = sext i16 %4606 to i32
%4608 = icmp eq i32 %4607, 0
br i1 %4608, label %4609, label %4610
4609: ; preds = %4603
br label %4614
4610: ; preds = %4603
%4611 = load i16, i16* %18
%4612 = sext i16 %4611 to i32
%4613 = sub nsw i32 25, %4612
br label %4614
4614: ; preds = %4610, %4609
%4615 = phi i32 [ 0, %4609 ], [ %4613, %4610 ]
%4616 = trunc i32 %4615 to i16
store i16 %4616, i16* %14
%4617 = load i16, i16* %11
store i16 %4617, i16* %18
%4618 = load i16, i16* %15
%4619 = sext i16 %4618 to i32
%4620 = icmp eq i32 %4619, 0
br i1 %4620, label %4621, label %4622
4621: ; preds = %4614
br label %4626
4622: ; preds = %4614
%4623 = load i16, i16* %15
%4624 = sext i16 %4623 to i32
%4625 = sub nsw i32 25, %4624
br label %4626
4626: ; preds = %4622, %4621
%4627 = phi i32 [ 0, %4621 ], [ %4625, %4622 ]
%4628 = trunc i32 %4627 to i16
store i16 %4628, i16* %11
%4629 = load i16, i16* %18
%4630 = sext i16 %4629 to i32
%4631 = icmp eq i32 %4630, 0
br i1 %4631, label %4632, label %4633
4632: ; preds = %4626
br label %4637
4633: ; preds = %4626
%4634 = load i16, i16* %18
%4635 = sext i16 %4634 to i32
%4636 = sub nsw i32 25, %4635
br label %4637
4637: ; preds = %4633, %4632
%4638 = phi i32 [ 0, %4632 ], [ %4636, %4633 ]
%4639 = trunc i32 %4638 to i16
store i16 %4639, i16* %15
%4640 = load i16, i16* %12
store i16 %4640, i16* %18
%4641 = load i16, i16* %16
%4642 = sext i16 %4641 to i32
%4643 = icmp eq i32 %4642, 0
br i1 %4643, label %4644, label %4645
4644: ; preds = %4637
br label %4649
4645: ; preds = %4637
%4646 = load i16, i16* %16
%4647 = sext i16 %4646 to i32
%4648 = sub nsw i32 25, %4647
br label %4649
4649: ; preds = %4645, %4644
%4650 = phi i32 [ 0, %4644 ], [ %4648, %4645 ]
%4651 = trunc i32 %4650 to i16
store i16 %4651, i16* %12
%4652 = load i16, i16* %18
%4653 = sext i16 %4652 to i32
%4654 = icmp eq i32 %4653, 0
br i1 %4654, label %4655, label %4656
4655: ; preds = %4649
br label %4660
4656: ; preds = %4649
%4657 = load i16, i16* %18
%4658 = sext i16 %4657 to i32
%4659 = sub nsw i32 25, %4658
br label %4660
4660: ; preds = %4656, %4655
%4661 = phi i32 [ 0, %4655 ], [ %4659, %4656 ]
%4662 = trunc i32 %4661 to i16
store i16 %4662, i16* %16
%4663 = load i16, i16* %13
store i16 %4663, i16* %18
%4664 = load i16, i16* %17
%4665 = sext i16 %4664 to i32
%4666 = icmp eq i32 %4665, 0
br i1 %4666, label %4667, label %4668
4667: ; preds = %4660
br label %4672
4668: ; preds = %4660
%4669 = load i16, i16* %17
%4670 = sext i16 %4669 to i32
%4671 = sub nsw i32 25, %4670
br label %4672
4672: ; preds = %4668, %4667
%4673 = phi i32 [ 0, %4667 ], [ %4671, %4668 ]
%4674 = trunc i32 %4673 to i16
store i16 %4674, i16* %13
%4675 = load i16, i16* %18
%4676 = sext i16 %4675 to i32
%4677 = icmp eq i32 %4676, 0
br i1 %4677, label %4678, label %4679
4678: ; preds = %4672
br label %4683
4679: ; preds = %4672
%4680 = load i16, i16* %18
%4681 = sext i16 %4680 to i32
%4682 = sub nsw i32 25, %4681
br label %4683
4683: ; preds = %4679, %4678
%4684 = phi i32 [ 0, %4678 ], [ %4682, %4679 ]
%4685 = trunc i32 %4684 to i16
store i16 %4685, i16* %17
%4686 = load i16, i16* %10
%4687 = sext i16 %4686 to i32
%4688 = load i16, i16* %11
%4689 = sext i16 %4688 to i32
%4690 = load i16, i16* %12
%4691 = sext i16 %4690 to i32
%4692 = load i16, i16* %13
%4693 = sext i16 %4692 to i32
%4694 = load i16, i16* %14
%4695 = sext i16 %4694 to i32
%4696 = load i16, i16* %15
%4697 = sext i16 %4696 to i32
%4698 = load i16, i16* %16
%4699 = sext i16 %4698 to i32
%4700 = load i16, i16* %17
%4701 = sext i16 %4700 to i32
%4702 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4687, i32 %4689, i32 %4691, i32 %4693, i32 %4695, i32 %4697, i32 %4699, i32 %4701)
%4703 = trunc i32 %4702 to i16
store i16 %4703, i16* %18
%4704 = load i16, i16* %18
%4705 = sext i16 %4704 to i32
%4706 = icmp eq i32 %4705, -1
br i1 %4706, label %4707, label %4708
4707: ; preds = %4683
store i16 -1, i16* %9
br label %19404
4708: ; preds = %4683
%4709 = load i16, i16* %18
%4710 = sext i16 %4709 to i32
%4711 = icmp sle i32 0, %4710
br i1 %4711, label %4712, label %4714
4712: ; preds = %4708
%4713 = load i16, i16* %22
store i16 %4713, i16* %21
br label %4714
4714: ; preds = %4712, %4708
%4715 = load i16, i16* %10
store i16 %4715, i16* %18
%4716 = load i16, i16* %14
%4717 = sext i16 %4716 to i32
%4718 = icmp eq i32 %4717, 0
br i1 %4718, label %4719, label %4720
4719: ; preds = %4714
br label %4724
4720: ; preds = %4714
%4721 = load i16, i16* %14
%4722 = sext i16 %4721 to i32
%4723 = sub nsw i32 25, %4722
br label %4724
4724: ; preds = %4720, %4719
%4725 = phi i32 [ 0, %4719 ], [ %4723, %4720 ]
%4726 = trunc i32 %4725 to i16
store i16 %4726, i16* %10
%4727 = load i16, i16* %18
%4728 = sext i16 %4727 to i32
%4729 = icmp eq i32 %4728, 0
br i1 %4729, label %4730, label %4731
4730: ; preds = %4724
br label %4735
4731: ; preds = %4724
%4732 = load i16, i16* %18
%4733 = sext i16 %4732 to i32
%4734 = sub nsw i32 25, %4733
br label %4735
4735: ; preds = %4731, %4730
%4736 = phi i32 [ 0, %4730 ], [ %4734, %4731 ]
%4737 = trunc i32 %4736 to i16
store i16 %4737, i16* %14
%4738 = load i16, i16* %11
store i16 %4738, i16* %18
%4739 = load i16, i16* %15
%4740 = sext i16 %4739 to i32
%4741 = icmp eq i32 %4740, 0
br i1 %4741, label %4742, label %4743
4742: ; preds = %4735
br label %4747
4743: ; preds = %4735
%4744 = load i16, i16* %15
%4745 = sext i16 %4744 to i32
%4746 = sub nsw i32 25, %4745
br label %4747
4747: ; preds = %4743, %4742
%4748 = phi i32 [ 0, %4742 ], [ %4746, %4743 ]
%4749 = trunc i32 %4748 to i16
store i16 %4749, i16* %11
%4750 = load i16, i16* %18
%4751 = sext i16 %4750 to i32
%4752 = icmp eq i32 %4751, 0
br i1 %4752, label %4753, label %4754
4753: ; preds = %4747
br label %4758
4754: ; preds = %4747
%4755 = load i16, i16* %18
%4756 = sext i16 %4755 to i32
%4757 = sub nsw i32 25, %4756
br label %4758
4758: ; preds = %4754, %4753
%4759 = phi i32 [ 0, %4753 ], [ %4757, %4754 ]
%4760 = trunc i32 %4759 to i16
store i16 %4760, i16* %15
%4761 = load i16, i16* %12
store i16 %4761, i16* %18
%4762 = load i16, i16* %16
%4763 = sext i16 %4762 to i32
%4764 = icmp eq i32 %4763, 0
br i1 %4764, label %4765, label %4766
4765: ; preds = %4758
br label %4770
4766: ; preds = %4758
%4767 = load i16, i16* %16
%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* %12
%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* %16
%4784 = load i16, i16* %13
store i16 %4784, i16* %18
%4785 = load i16, i16* %17
%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* %17
%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* %13
%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* %17
%4807 = load i16, i16* %20
store i16 %4807, i16* %17
br label %5022
4808: ; preds = %4587
%4809 = load i16, i16* %10
store i16 %4809, i16* %18
%4810 = load i16, i16* %14
%4811 = sext i16 %4810 to i32
%4812 = icmp eq i32 %4811, 0
br i1 %4812, label %4813, label %4814
4813: ; preds = %4808
br label %4818
4814: ; preds = %4808
%4815 = load i16, i16* %14
%4816 = sext i16 %4815 to i32
%4817 = sub nsw i32 25, %4816
br label %4818
4818: ; preds = %4814, %4813
%4819 = phi i32 [ 0, %4813 ], [ %4817, %4814 ]
%4820 = trunc i32 %4819 to i16
store i16 %4820, i16* %10
%4821 = load i16, i16* %18
%4822 = sext i16 %4821 to i32
%4823 = icmp eq i32 %4822, 0
br i1 %4823, label %4824, label %4825
4824: ; preds = %4818
br label %4829
4825: ; preds = %4818
%4826 = load i16, i16* %18
%4827 = sext i16 %4826 to i32
%4828 = sub nsw i32 25, %4827
br label %4829
4829: ; preds = %4825, %4824
%4830 = phi i32 [ 0, %4824 ], [ %4828, %4825 ]
%4831 = trunc i32 %4830 to i16
store i16 %4831, i16* %14
%4832 = load i16, i16* %11
store i16 %4832, i16* %18
%4833 = load i16, i16* %15
%4834 = sext i16 %4833 to i32
%4835 = icmp eq i32 %4834, 0
br i1 %4835, label %4836, label %4837
4836: ; preds = %4829
br label %4841
4837: ; preds = %4829
%4838 = load i16, i16* %15
%4839 = sext i16 %4838 to i32
%4840 = sub nsw i32 25, %4839
br label %4841
4841: ; preds = %4837, %4836
%4842 = phi i32 [ 0, %4836 ], [ %4840, %4837 ]
%4843 = trunc i32 %4842 to i16
store i16 %4843, i16* %11
%4844 = load i16, i16* %18
%4845 = sext i16 %4844 to i32
%4846 = icmp eq i32 %4845, 0
br i1 %4846, label %4847, label %4848
4847: ; preds = %4841
br label %4852
4848: ; preds = %4841
%4849 = load i16, i16* %18
%4850 = sext i16 %4849 to i32
%4851 = sub nsw i32 25, %4850
br label %4852
4852: ; preds = %4848, %4847
%4853 = phi i32 [ 0, %4847 ], [ %4851, %4848 ]
%4854 = trunc i32 %4853 to i16
store i16 %4854, i16* %15
%4855 = load i16, i16* %12
store i16 %4855, i16* %18
%4856 = load i16, i16* %16
%4857 = sext i16 %4856 to i32
%4858 = icmp eq i32 %4857, 0
br i1 %4858, label %4859, label %4860
4859: ; preds = %4852
br label %4864
4860: ; preds = %4852
%4861 = load i16, i16* %16
%4862 = sext i16 %4861 to i32
%4863 = sub nsw i32 25, %4862
br label %4864
4864: ; preds = %4860, %4859
%4865 = phi i32 [ 0, %4859 ], [ %4863, %4860 ]
%4866 = trunc i32 %4865 to i16
store i16 %4866, i16* %12
%4867 = load i16, i16* %18
%4868 = sext i16 %4867 to i32
%4869 = icmp eq i32 %4868, 0
br i1 %4869, label %4870, label %4871
4870: ; preds = %4864
br label %4875
4871: ; preds = %4864
%4872 = load i16, i16* %18
%4873 = sext i16 %4872 to i32
%4874 = sub nsw i32 25, %4873
br label %4875
4875: ; preds = %4871, %4870
%4876 = phi i32 [ 0, %4870 ], [ %4874, %4871 ]
%4877 = trunc i32 %4876 to i16
store i16 %4877, i16* %16
%4878 = load i16, i16* %13
store i16 %4878, i16* %18
%4879 = load i16, i16* %17
%4880 = sext i16 %4879 to i32
%4881 = icmp eq i32 %4880, 0
br i1 %4881, label %4882, label %4883
4882: ; preds = %4875
br label %4887
4883: ; preds = %4875
%4884 = load i16, i16* %17
%4885 = sext i16 %4884 to i32
%4886 = sub nsw i32 25, %4885
br label %4887
4887: ; preds = %4883, %4882
%4888 = phi i32 [ 0, %4882 ], [ %4886, %4883 ]
%4889 = trunc i32 %4888 to i16
store i16 %4889, i16* %13
%4890 = load i16, i16* %18
%4891 = sext i16 %4890 to i32
%4892 = icmp eq i32 %4891, 0
br i1 %4892, label %4893, label %4894
4893: ; preds = %4887
br label %4898
4894: ; preds = %4887
%4895 = load i16, i16* %18
%4896 = sext i16 %4895 to i32
%4897 = sub nsw i32 25, %4896
br label %4898
4898: ; preds = %4894, %4893
%4899 = phi i32 [ 0, %4893 ], [ %4897, %4894 ]
%4900 = trunc i32 %4899 to i16
store i16 %4900, i16* %17
%4901 = load i16, i16* %10
%4902 = sext i16 %4901 to i32
%4903 = load i16, i16* %11
%4904 = sext i16 %4903 to i32
%4905 = load i16, i16* %12
%4906 = sext i16 %4905 to i32
%4907 = load i16, i16* %13
%4908 = sext i16 %4907 to i32
%4909 = load i16, i16* %14
%4910 = sext i16 %4909 to i32
%4911 = load i16, i16* %15
%4912 = sext i16 %4911 to i32
%4913 = load i16, i16* %16
%4914 = sext i16 %4913 to i32
%4915 = load i16, i16* %17
%4916 = sext i16 %4915 to i32
%4917 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %4902, i32 %4904, i32 %4906, i32 %4908, i32 %4910, i32 %4912, i32 %4914, i32 %4916)
%4918 = trunc i32 %4917 to i16
store i16 %4918, i16* %18
%4919 = load i16, i16* %18
%4920 = sext i16 %4919 to i32
%4921 = icmp eq i32 %4920, -1
br i1 %4921, label %4922, label %4923
4922: ; preds = %4898
store i16 -1, i16* %9
br label %19404
4923: ; preds = %4898
%4924 = load i16, i16* %18
%4925 = sext i16 %4924 to i32
%4926 = icmp sle i32 0, %4925
br i1 %4926, label %4927, label %4929
4927: ; preds = %4923
%4928 = load i16, i16* %22
store i16 %4928, i16* %21
br label %4929
4929: ; preds = %4927, %4923
%4930 = load i16, i16* %10
store i16 %4930, i16* %18
%4931 = load i16, i16* %14
%4932 = sext i16 %4931 to i32
%4933 = icmp eq i32 %4932, 0
br i1 %4933, label %4934, label %4935
4934: ; preds = %4929
br label %4939
4935: ; preds = %4929
%4936 = load i16, i16* %14
%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* %10
%4942 = load i16, i16* %18
%4943 = sext i16 %4942 to i32
%4944 = icmp eq i32 %4943, 0
br i1 %4944, label %4945, label %4946
4945: ; preds = %4939
br label %4950
4946: ; preds = %4939
%4947 = load i16, i16* %18
%4948 = sext i16 %4947 to i32
%4949 = sub nsw i32 25, %4948
br label %4950
4950: ; preds = %4946, %4945
%4951 = phi i32 [ 0, %4945 ], [ %4949, %4946 ]
%4952 = trunc i32 %4951 to i16
store i16 %4952, i16* %14
%4953 = load i16, i16* %11
store i16 %4953, i16* %18
%4954 = load i16, i16* %15
%4955 = sext i16 %4954 to i32
%4956 = icmp eq i32 %4955, 0
br i1 %4956, label %4957, label %4958
4957: ; preds = %4950
br label %4962
4958: ; preds = %4950
%4959 = load i16, i16* %15
%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* %11
%4965 = load i16, i16* %18
%4966 = sext i16 %4965 to i32
%4967 = icmp eq i32 %4966, 0
br i1 %4967, label %4968, label %4969
4968: ; preds = %4962
br label %4973
4969: ; preds = %4962
%4970 = load i16, i16* %18
%4971 = sext i16 %4970 to i32
%4972 = sub nsw i32 25, %4971
br label %4973
4973: ; preds = %4969, %4968
%4974 = phi i32 [ 0, %4968 ], [ %4972, %4969 ]
%4975 = trunc i32 %4974 to i16
store i16 %4975, i16* %15
%4976 = load i16, i16* %12
store i16 %4976, i16* %18
%4977 = load i16, i16* %16
%4978 = sext i16 %4977 to i32
%4979 = icmp eq i32 %4978, 0
br i1 %4979, label %4980, label %4981
4980: ; preds = %4973
br label %4985
4981: ; preds = %4973
%4982 = load i16, i16* %16
%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* %12
%4988 = load i16, i16* %18
%4989 = sext i16 %4988 to i32
%4990 = icmp eq i32 %4989, 0
br i1 %4990, label %4991, label %4992
4991: ; preds = %4985
br label %4996
4992: ; preds = %4985
%4993 = load i16, i16* %18
%4994 = sext i16 %4993 to i32
%4995 = sub nsw i32 25, %4994
br label %4996
4996: ; preds = %4992, %4991
%4997 = phi i32 [ 0, %4991 ], [ %4995, %4992 ]
%4998 = trunc i32 %4997 to i16
store i16 %4998, i16* %16
%4999 = load i16, i16* %13
store i16 %4999, i16* %18
%5000 = load i16, i16* %17
%5001 = sext i16 %5000 to i32
%5002 = icmp eq i32 %5001, 0
br i1 %5002, label %5003, label %5004
5003: ; preds = %4996
br label %5008
5004: ; preds = %4996
%5005 = load i16, i16* %17
%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* %13
%5011 = load i16, i16* %18
%5012 = sext i16 %5011 to i32
%5013 = icmp eq i32 %5012, 0
br i1 %5013, label %5014, label %5015
5014: ; preds = %5008
br label %5019
5015: ; preds = %5008
%5016 = load i16, i16* %18
%5017 = sext i16 %5016 to i32
%5018 = sub nsw i32 25, %5017
br label %5019
5019: ; preds = %5015, %5014
%5020 = phi i32 [ 0, %5014 ], [ %5018, %5015 ]
%5021 = trunc i32 %5020 to i16
store i16 %5021, i16* %17
br label %5022
5022: ; preds = %5019, %4804
br label %5023
5023: ; preds = %5022, %4583
%5024 = load i16, i16* %19
store i16 %5024, i16* %10
br label %5025
5025: ; preds = %5023, %4359, %4353, %4347, %4341, %4330
br label %5026
5026: ; preds = %5025, %4325, %4321
br label %19392
5027: ; preds = %4317
%5028 = load i16, i16* %22
%5029 = sext i16 %5028 to i32
%5030 = icmp eq i32 %5029, 7
br i1 %5030, label %5031, label %5741
5031: ; preds = %5027
%5032 = load i16, i16* %10
%5033 = sext i16 %5032 to i32
%5034 = icmp ne i32 %5033, 0
br i1 %5034, label %5035, label %5740
5035: ; preds = %5031
%5036 = load i16, i16* %10
%5037 = sext i16 %5036 to i32
%5038 = icmp slt i32 %5037, 21
br i1 %5038, label %5039, label %5740
5039: ; preds = %5035
%5040 = load i16, i16* %10
%5041 = sext i16 %5040 to i32
%5042 = srem i32 %5041, 4
%5043 = icmp ne i32 %5042, 1
br i1 %5043, label %5044, label %5740
5044: ; preds = %5039
%5045 = load i16, i16* %10
store i16 %5045, i16* %19
%5046 = load i16, i16* %19
%5047 = sext i16 %5046 to i32
%5048 = add nsw i32 %5047, 3
%5049 = trunc i32 %5048 to i16
store i16 %5049, i16* %20
%5050 = load i16, i16* %20
%5051 = sext i16 %5050 to i32
%5052 = load i16, i16* %11
%5053 = sext i16 %5052 to i32
%5054 = icmp ne i32 %5051, %5053
br i1 %5054, label %5055, label %5739
5055: ; preds = %5044
%5056 = load i16, i16* %20
%5057 = sext i16 %5056 to i32
%5058 = load i16, i16* %12
%5059 = sext i16 %5058 to i32
%5060 = icmp ne i32 %5057, %5059
br i1 %5060, label %5061, label %5739
5061: ; preds = %5055
%5062 = load i16, i16* %20
%5063 = sext i16 %5062 to i32
%5064 = load i16, i16* %13
%5065 = sext i16 %5064 to i32
%5066 = icmp ne i32 %5063, %5065
br i1 %5066, label %5067, label %5739
5067: ; preds = %5061
%5068 = load i16, i16* %20
%5069 = sext i16 %5068 to i32
%5070 = load i16, i16* %14
%5071 = sext i16 %5070 to i32
%5072 = icmp ne i32 %5069, %5071
br i1 %5072, label %5073, label %5739
5073: ; preds = %5067
%5074 = load i16, i16* %20
%5075 = sext i16 %5074 to i32
%5076 = load i16, i16* %15
%5077 = sext i16 %5076 to i32
%5078 = icmp ne i32 %5075, %5077
br i1 %5078, label %5079, label %5739
5079: ; preds = %5073
%5080 = load i16, i16* %20
store i16 %5080, i16* %10
%5081 = load i16, i16* %16
%5082 = sext i16 %5081 to i32
%5083 = load i16, i16* %20
%5084 = sext i16 %5083 to i32
%5085 = icmp eq i32 %5082, %5084
br i1 %5085, label %5086, label %5301
5086: ; preds = %5079
store i16 0, i16* %16
%5087 = load i16, i16* %10
store i16 %5087, i16* %18
%5088 = load i16, i16* %14
%5089 = sext i16 %5088 to i32
%5090 = icmp eq i32 %5089, 0
br i1 %5090, label %5091, label %5092
5091: ; preds = %5086
br label %5096
5092: ; preds = %5086
%5093 = load i16, i16* %14
%5094 = sext i16 %5093 to i32
%5095 = sub nsw i32 25, %5094
br label %5096
5096: ; preds = %5092, %5091
%5097 = phi i32 [ 0, %5091 ], [ %5095, %5092 ]
%5098 = trunc i32 %5097 to i16
store i16 %5098, i16* %10
%5099 = load i16, i16* %18
%5100 = sext i16 %5099 to i32
%5101 = icmp eq i32 %5100, 0
br i1 %5101, label %5102, label %5103
5102: ; preds = %5096
br label %5107
5103: ; preds = %5096
%5104 = load i16, i16* %18
%5105 = sext i16 %5104 to i32
%5106 = sub nsw i32 25, %5105
br label %5107
5107: ; preds = %5103, %5102
%5108 = phi i32 [ 0, %5102 ], [ %5106, %5103 ]
%5109 = trunc i32 %5108 to i16
store i16 %5109, i16* %14
%5110 = load i16, i16* %11
store i16 %5110, i16* %18
%5111 = load i16, i16* %15
%5112 = sext i16 %5111 to i32
%5113 = icmp eq i32 %5112, 0
br i1 %5113, label %5114, label %5115
5114: ; preds = %5107
br label %5119
5115: ; preds = %5107
%5116 = load i16, i16* %15
%5117 = sext i16 %5116 to i32
%5118 = sub nsw i32 25, %5117
br label %5119
5119: ; preds = %5115, %5114
%5120 = phi i32 [ 0, %5114 ], [ %5118, %5115 ]
%5121 = trunc i32 %5120 to i16
store i16 %5121, i16* %11
%5122 = load i16, i16* %18
%5123 = sext i16 %5122 to i32
%5124 = icmp eq i32 %5123, 0
br i1 %5124, label %5125, label %5126
5125: ; preds = %5119
br label %5130
5126: ; preds = %5119
%5127 = load i16, i16* %18
%5128 = sext i16 %5127 to i32
%5129 = sub nsw i32 25, %5128
br label %5130
5130: ; preds = %5126, %5125
%5131 = phi i32 [ 0, %5125 ], [ %5129, %5126 ]
%5132 = trunc i32 %5131 to i16
store i16 %5132, i16* %15
%5133 = load i16, i16* %12
store i16 %5133, i16* %18
%5134 = load i16, i16* %16
%5135 = sext i16 %5134 to i32
%5136 = icmp eq i32 %5135, 0
br i1 %5136, label %5137, label %5138
5137: ; preds = %5130
br label %5142
5138: ; preds = %5130
%5139 = load i16, i16* %16
%5140 = sext i16 %5139 to i32
%5141 = sub nsw i32 25, %5140
br label %5142
5142: ; preds = %5138, %5137
%5143 = phi i32 [ 0, %5137 ], [ %5141, %5138 ]
%5144 = trunc i32 %5143 to i16
store i16 %5144, i16* %12
%5145 = load i16, i16* %18
%5146 = sext i16 %5145 to i32
%5147 = icmp eq i32 %5146, 0
br i1 %5147, label %5148, label %5149
5148: ; preds = %5142
br label %5153
5149: ; preds = %5142
%5150 = load i16, i16* %18
%5151 = sext i16 %5150 to i32
%5152 = sub nsw i32 25, %5151
br label %5153
5153: ; preds = %5149, %5148
%5154 = phi i32 [ 0, %5148 ], [ %5152, %5149 ]
%5155 = trunc i32 %5154 to i16
store i16 %5155, i16* %16
%5156 = load i16, i16* %13
store i16 %5156, i16* %18
%5157 = load i16, i16* %17
%5158 = sext i16 %5157 to i32
%5159 = icmp eq i32 %5158, 0
br i1 %5159, label %5160, label %5161
5160: ; preds = %5153
br label %5165
5161: ; preds = %5153
%5162 = load i16, i16* %17
%5163 = sext i16 %5162 to i32
%5164 = sub nsw i32 25, %5163
br label %5165
5165: ; preds = %5161, %5160
%5166 = phi i32 [ 0, %5160 ], [ %5164, %5161 ]
%5167 = trunc i32 %5166 to i16
store i16 %5167, i16* %13
%5168 = load i16, i16* %18
%5169 = sext i16 %5168 to i32
%5170 = icmp eq i32 %5169, 0
br i1 %5170, label %5171, label %5172
5171: ; preds = %5165
br label %5176
5172: ; preds = %5165
%5173 = load i16, i16* %18
%5174 = sext i16 %5173 to i32
%5175 = sub nsw i32 25, %5174
br label %5176
5176: ; preds = %5172, %5171
%5177 = phi i32 [ 0, %5171 ], [ %5175, %5172 ]
%5178 = trunc i32 %5177 to i16
store i16 %5178, i16* %17
%5179 = load i16, i16* %10
%5180 = sext i16 %5179 to i32
%5181 = load i16, i16* %11
%5182 = sext i16 %5181 to i32
%5183 = load i16, i16* %12
%5184 = sext i16 %5183 to i32
%5185 = load i16, i16* %13
%5186 = sext i16 %5185 to i32
%5187 = load i16, i16* %14
%5188 = sext i16 %5187 to i32
%5189 = load i16, i16* %15
%5190 = sext i16 %5189 to i32
%5191 = load i16, i16* %16
%5192 = sext i16 %5191 to i32
%5193 = load i16, i16* %17
%5194 = sext i16 %5193 to i32
%5195 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5180, i32 %5182, i32 %5184, i32 %5186, i32 %5188, i32 %5190, i32 %5192, i32 %5194)
%5196 = trunc i32 %5195 to i16
store i16 %5196, i16* %18
%5197 = load i16, i16* %18
%5198 = sext i16 %5197 to i32
%5199 = icmp eq i32 %5198, -1
br i1 %5199, label %5200, label %5201
5200: ; preds = %5176
store i16 -1, i16* %9
br label %19404
5201: ; preds = %5176
%5202 = load i16, i16* %18
%5203 = sext i16 %5202 to i32
%5204 = icmp sle i32 0, %5203
br i1 %5204, label %5205, label %5207
5205: ; preds = %5201
%5206 = load i16, i16* %22
store i16 %5206, i16* %21
br label %5207
5207: ; preds = %5205, %5201
%5208 = load i16, i16* %10
store i16 %5208, i16* %18
%5209 = load i16, i16* %14
%5210 = sext i16 %5209 to i32
%5211 = icmp eq i32 %5210, 0
br i1 %5211, label %5212, label %5213
5212: ; preds = %5207
br label %5217
5213: ; preds = %5207
%5214 = load i16, i16* %14
%5215 = sext i16 %5214 to i32
%5216 = sub nsw i32 25, %5215
br label %5217
5217: ; preds = %5213, %5212
%5218 = phi i32 [ 0, %5212 ], [ %5216, %5213 ]
%5219 = trunc i32 %5218 to i16
store i16 %5219, i16* %10
%5220 = load i16, i16* %18
%5221 = sext i16 %5220 to i32
%5222 = icmp eq i32 %5221, 0
br i1 %5222, label %5223, label %5224
5223: ; preds = %5217
br label %5228
5224: ; preds = %5217
%5225 = load i16, i16* %18
%5226 = sext i16 %5225 to i32
%5227 = sub nsw i32 25, %5226
br label %5228
5228: ; preds = %5224, %5223
%5229 = phi i32 [ 0, %5223 ], [ %5227, %5224 ]
%5230 = trunc i32 %5229 to i16
store i16 %5230, i16* %14
%5231 = load i16, i16* %11
store i16 %5231, i16* %18
%5232 = load i16, i16* %15
%5233 = sext i16 %5232 to i32
%5234 = icmp eq i32 %5233, 0
br i1 %5234, label %5235, label %5236
5235: ; preds = %5228
br label %5240
5236: ; preds = %5228
%5237 = load i16, i16* %15
%5238 = sext i16 %5237 to i32
%5239 = sub nsw i32 25, %5238
br label %5240
5240: ; preds = %5236, %5235
%5241 = phi i32 [ 0, %5235 ], [ %5239, %5236 ]
%5242 = trunc i32 %5241 to i16
store i16 %5242, i16* %11
%5243 = load i16, i16* %18
%5244 = sext i16 %5243 to i32
%5245 = icmp eq i32 %5244, 0
br i1 %5245, label %5246, label %5247
5246: ; preds = %5240
br label %5251
5247: ; preds = %5240
%5248 = load i16, i16* %18
%5249 = sext i16 %5248 to i32
%5250 = sub nsw i32 25, %5249
br label %5251
5251: ; preds = %5247, %5246
%5252 = phi i32 [ 0, %5246 ], [ %5250, %5247 ]
%5253 = trunc i32 %5252 to i16
store i16 %5253, i16* %15
%5254 = load i16, i16* %12
store i16 %5254, i16* %18
%5255 = load i16, i16* %16
%5256 = sext i16 %5255 to i32
%5257 = icmp eq i32 %5256, 0
br i1 %5257, label %5258, label %5259
5258: ; preds = %5251
br label %5263
5259: ; preds = %5251
%5260 = load i16, i16* %16
%5261 = sext i16 %5260 to i32
%5262 = sub nsw i32 25, %5261
br label %5263
5263: ; preds = %5259, %5258
%5264 = phi i32 [ 0, %5258 ], [ %5262, %5259 ]
%5265 = trunc i32 %5264 to i16
store i16 %5265, i16* %12
%5266 = load i16, i16* %18
%5267 = sext i16 %5266 to i32
%5268 = icmp eq i32 %5267, 0
br i1 %5268, label %5269, label %5270
5269: ; preds = %5263
br label %5274
5270: ; preds = %5263
%5271 = load i16, i16* %18
%5272 = sext i16 %5271 to i32
%5273 = sub nsw i32 25, %5272
br label %5274
5274: ; preds = %5270, %5269
%5275 = phi i32 [ 0, %5269 ], [ %5273, %5270 ]
%5276 = trunc i32 %5275 to i16
store i16 %5276, i16* %16
%5277 = load i16, i16* %13
store i16 %5277, i16* %18
%5278 = load i16, i16* %17
%5279 = sext i16 %5278 to i32
%5280 = icmp eq i32 %5279, 0
br i1 %5280, label %5281, label %5282
5281: ; preds = %5274
br label %5286
5282: ; preds = %5274
%5283 = load i16, i16* %17
%5284 = sext i16 %5283 to i32
%5285 = sub nsw i32 25, %5284
br label %5286
5286: ; preds = %5282, %5281
%5287 = phi i32 [ 0, %5281 ], [ %5285, %5282 ]
%5288 = trunc i32 %5287 to i16
store i16 %5288, i16* %13
%5289 = load i16, i16* %18
%5290 = sext i16 %5289 to i32
%5291 = icmp eq i32 %5290, 0
br i1 %5291, label %5292, label %5293
5292: ; preds = %5286
br label %5297
5293: ; preds = %5286
%5294 = load i16, i16* %18
%5295 = sext i16 %5294 to i32
%5296 = sub nsw i32 25, %5295
br label %5297
5297: ; preds = %5293, %5292
%5298 = phi i32 [ 0, %5292 ], [ %5296, %5293 ]
%5299 = trunc i32 %5298 to i16
store i16 %5299, i16* %17
%5300 = load i16, i16* %20
store i16 %5300, i16* %16
br label %5737
5301: ; preds = %5079
%5302 = load i16, i16* %17
%5303 = sext i16 %5302 to i32
%5304 = load i16, i16* %20
%5305 = sext i16 %5304 to i32
%5306 = icmp eq i32 %5303, %5305
br i1 %5306, label %5307, label %5522
5307: ; preds = %5301
store i16 0, i16* %17
%5308 = load i16, i16* %10
store i16 %5308, i16* %18
%5309 = load i16, i16* %14
%5310 = sext i16 %5309 to i32
%5311 = icmp eq i32 %5310, 0
br i1 %5311, label %5312, label %5313
5312: ; preds = %5307
br label %5317
5313: ; preds = %5307
%5314 = load i16, i16* %14
%5315 = sext i16 %5314 to i32
%5316 = sub nsw i32 25, %5315
br label %5317
5317: ; preds = %5313, %5312
%5318 = phi i32 [ 0, %5312 ], [ %5316, %5313 ]
%5319 = trunc i32 %5318 to i16
store i16 %5319, i16* %10
%5320 = load i16, i16* %18
%5321 = sext i16 %5320 to i32
%5322 = icmp eq i32 %5321, 0
br i1 %5322, label %5323, label %5324
5323: ; preds = %5317
br label %5328
5324: ; preds = %5317
%5325 = load i16, i16* %18
%5326 = sext i16 %5325 to i32
%5327 = sub nsw i32 25, %5326
br label %5328
5328: ; preds = %5324, %5323
%5329 = phi i32 [ 0, %5323 ], [ %5327, %5324 ]
%5330 = trunc i32 %5329 to i16
store i16 %5330, i16* %14
%5331 = load i16, i16* %11
store i16 %5331, i16* %18
%5332 = load i16, i16* %15
%5333 = sext i16 %5332 to i32
%5334 = icmp eq i32 %5333, 0
br i1 %5334, label %5335, label %5336
5335: ; preds = %5328
br label %5340
5336: ; preds = %5328
%5337 = load i16, i16* %15
%5338 = sext i16 %5337 to i32
%5339 = sub nsw i32 25, %5338
br label %5340
5340: ; preds = %5336, %5335
%5341 = phi i32 [ 0, %5335 ], [ %5339, %5336 ]
%5342 = trunc i32 %5341 to i16
store i16 %5342, i16* %11
%5343 = load i16, i16* %18
%5344 = sext i16 %5343 to i32
%5345 = icmp eq i32 %5344, 0
br i1 %5345, label %5346, label %5347
5346: ; preds = %5340
br label %5351
5347: ; preds = %5340
%5348 = load i16, i16* %18
%5349 = sext i16 %5348 to i32
%5350 = sub nsw i32 25, %5349
br label %5351
5351: ; preds = %5347, %5346
%5352 = phi i32 [ 0, %5346 ], [ %5350, %5347 ]
%5353 = trunc i32 %5352 to i16
store i16 %5353, i16* %15
%5354 = load i16, i16* %12
store i16 %5354, i16* %18
%5355 = load i16, i16* %16
%5356 = sext i16 %5355 to i32
%5357 = icmp eq i32 %5356, 0
br i1 %5357, label %5358, label %5359
5358: ; preds = %5351
br label %5363
5359: ; preds = %5351
%5360 = load i16, i16* %16
%5361 = sext i16 %5360 to i32
%5362 = sub nsw i32 25, %5361
br label %5363
5363: ; preds = %5359, %5358
%5364 = phi i32 [ 0, %5358 ], [ %5362, %5359 ]
%5365 = trunc i32 %5364 to i16
store i16 %5365, i16* %12
%5366 = load i16, i16* %18
%5367 = sext i16 %5366 to i32
%5368 = icmp eq i32 %5367, 0
br i1 %5368, label %5369, label %5370
5369: ; preds = %5363
br label %5374
5370: ; preds = %5363
%5371 = load i16, i16* %18
%5372 = sext i16 %5371 to i32
%5373 = sub nsw i32 25, %5372
br label %5374
5374: ; preds = %5370, %5369
%5375 = phi i32 [ 0, %5369 ], [ %5373, %5370 ]
%5376 = trunc i32 %5375 to i16
store i16 %5376, i16* %16
%5377 = load i16, i16* %13
store i16 %5377, i16* %18
%5378 = load i16, i16* %17
%5379 = sext i16 %5378 to i32
%5380 = icmp eq i32 %5379, 0
br i1 %5380, label %5381, label %5382
5381: ; preds = %5374
br label %5386
5382: ; preds = %5374
%5383 = load i16, i16* %17
%5384 = sext i16 %5383 to i32
%5385 = sub nsw i32 25, %5384
br label %5386
5386: ; preds = %5382, %5381
%5387 = phi i32 [ 0, %5381 ], [ %5385, %5382 ]
%5388 = trunc i32 %5387 to i16
store i16 %5388, i16* %13
%5389 = load i16, i16* %18
%5390 = sext i16 %5389 to i32
%5391 = icmp eq i32 %5390, 0
br i1 %5391, label %5392, label %5393
5392: ; preds = %5386
br label %5397
5393: ; preds = %5386
%5394 = load i16, i16* %18
%5395 = sext i16 %5394 to i32
%5396 = sub nsw i32 25, %5395
br label %5397
5397: ; preds = %5393, %5392
%5398 = phi i32 [ 0, %5392 ], [ %5396, %5393 ]
%5399 = trunc i32 %5398 to i16
store i16 %5399, i16* %17
%5400 = load i16, i16* %10
%5401 = sext i16 %5400 to i32
%5402 = load i16, i16* %11
%5403 = sext i16 %5402 to i32
%5404 = load i16, i16* %12
%5405 = sext i16 %5404 to i32
%5406 = load i16, i16* %13
%5407 = sext i16 %5406 to i32
%5408 = load i16, i16* %14
%5409 = sext i16 %5408 to i32
%5410 = load i16, i16* %15
%5411 = sext i16 %5410 to i32
%5412 = load i16, i16* %16
%5413 = sext i16 %5412 to i32
%5414 = load i16, i16* %17
%5415 = sext i16 %5414 to i32
%5416 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5401, i32 %5403, i32 %5405, i32 %5407, i32 %5409, i32 %5411, i32 %5413, i32 %5415)
%5417 = trunc i32 %5416 to i16
store i16 %5417, i16* %18
%5418 = load i16, i16* %18
%5419 = sext i16 %5418 to i32
%5420 = icmp eq i32 %5419, -1
br i1 %5420, label %5421, label %5422
5421: ; preds = %5397
store i16 -1, i16* %9
br label %19404
5422: ; preds = %5397
%5423 = load i16, i16* %18
%5424 = sext i16 %5423 to i32
%5425 = icmp sle i32 0, %5424
br i1 %5425, label %5426, label %5428
5426: ; preds = %5422
%5427 = load i16, i16* %22
store i16 %5427, i16* %21
br label %5428
5428: ; preds = %5426, %5422
%5429 = load i16, i16* %10
store i16 %5429, i16* %18
%5430 = load i16, i16* %14
%5431 = sext i16 %5430 to i32
%5432 = icmp eq i32 %5431, 0
br i1 %5432, label %5433, label %5434
5433: ; preds = %5428
br label %5438
5434: ; preds = %5428
%5435 = load i16, i16* %14
%5436 = sext i16 %5435 to i32
%5437 = sub nsw i32 25, %5436
br label %5438
5438: ; preds = %5434, %5433
%5439 = phi i32 [ 0, %5433 ], [ %5437, %5434 ]
%5440 = trunc i32 %5439 to i16
store i16 %5440, i16* %10
%5441 = load i16, i16* %18
%5442 = sext i16 %5441 to i32
%5443 = icmp eq i32 %5442, 0
br i1 %5443, label %5444, label %5445
5444: ; preds = %5438
br label %5449
5445: ; preds = %5438
%5446 = load i16, i16* %18
%5447 = sext i16 %5446 to i32
%5448 = sub nsw i32 25, %5447
br label %5449
5449: ; preds = %5445, %5444
%5450 = phi i32 [ 0, %5444 ], [ %5448, %5445 ]
%5451 = trunc i32 %5450 to i16
store i16 %5451, i16* %14
%5452 = load i16, i16* %11
store i16 %5452, i16* %18
%5453 = load i16, i16* %15
%5454 = sext i16 %5453 to i32
%5455 = icmp eq i32 %5454, 0
br i1 %5455, label %5456, label %5457
5456: ; preds = %5449
br label %5461
5457: ; preds = %5449
%5458 = load i16, i16* %15
%5459 = sext i16 %5458 to i32
%5460 = sub nsw i32 25, %5459
br label %5461
5461: ; preds = %5457, %5456
%5462 = phi i32 [ 0, %5456 ], [ %5460, %5457 ]
%5463 = trunc i32 %5462 to i16
store i16 %5463, i16* %11
%5464 = load i16, i16* %18
%5465 = sext i16 %5464 to i32
%5466 = icmp eq i32 %5465, 0
br i1 %5466, label %5467, label %5468
5467: ; preds = %5461
br label %5472
5468: ; preds = %5461
%5469 = load i16, i16* %18
%5470 = sext i16 %5469 to i32
%5471 = sub nsw i32 25, %5470
br label %5472
5472: ; preds = %5468, %5467
%5473 = phi i32 [ 0, %5467 ], [ %5471, %5468 ]
%5474 = trunc i32 %5473 to i16
store i16 %5474, i16* %15
%5475 = load i16, i16* %12
store i16 %5475, i16* %18
%5476 = load i16, i16* %16
%5477 = sext i16 %5476 to i32
%5478 = icmp eq i32 %5477, 0
br i1 %5478, label %5479, label %5480
5479: ; preds = %5472
br label %5484
5480: ; preds = %5472
%5481 = load i16, i16* %16
%5482 = sext i16 %5481 to i32
%5483 = sub nsw i32 25, %5482
br label %5484
5484: ; preds = %5480, %5479
%5485 = phi i32 [ 0, %5479 ], [ %5483, %5480 ]
%5486 = trunc i32 %5485 to i16
store i16 %5486, i16* %12
%5487 = load i16, i16* %18
%5488 = sext i16 %5487 to i32
%5489 = icmp eq i32 %5488, 0
br i1 %5489, label %5490, label %5491
5490: ; preds = %5484
br label %5495
5491: ; preds = %5484
%5492 = load i16, i16* %18
%5493 = sext i16 %5492 to i32
%5494 = sub nsw i32 25, %5493
br label %5495
5495: ; preds = %5491, %5490
%5496 = phi i32 [ 0, %5490 ], [ %5494, %5491 ]
%5497 = trunc i32 %5496 to i16
store i16 %5497, i16* %16
%5498 = load i16, i16* %13
store i16 %5498, i16* %18
%5499 = load i16, i16* %17
%5500 = sext i16 %5499 to i32
%5501 = icmp eq i32 %5500, 0
br i1 %5501, label %5502, label %5503
5502: ; preds = %5495
br label %5507
5503: ; preds = %5495
%5504 = load i16, i16* %17
%5505 = sext i16 %5504 to i32
%5506 = sub nsw i32 25, %5505
br label %5507
5507: ; preds = %5503, %5502
%5508 = phi i32 [ 0, %5502 ], [ %5506, %5503 ]
%5509 = trunc i32 %5508 to i16
store i16 %5509, i16* %13
%5510 = load i16, i16* %18
%5511 = sext i16 %5510 to i32
%5512 = icmp eq i32 %5511, 0
br i1 %5512, label %5513, label %5514
5513: ; preds = %5507
br label %5518
5514: ; preds = %5507
%5515 = load i16, i16* %18
%5516 = sext i16 %5515 to i32
%5517 = sub nsw i32 25, %5516
br label %5518
5518: ; preds = %5514, %5513
%5519 = phi i32 [ 0, %5513 ], [ %5517, %5514 ]
%5520 = trunc i32 %5519 to i16
store i16 %5520, i16* %17
%5521 = load i16, i16* %20
store i16 %5521, i16* %17
br label %5736
5522: ; preds = %5301
%5523 = load i16, i16* %10
store i16 %5523, i16* %18
%5524 = load i16, i16* %14
%5525 = sext i16 %5524 to i32
%5526 = icmp eq i32 %5525, 0
br i1 %5526, label %5527, label %5528
5527: ; preds = %5522
br label %5532
5528: ; preds = %5522
%5529 = load i16, i16* %14
%5530 = sext i16 %5529 to i32
%5531 = sub nsw i32 25, %5530
br label %5532
5532: ; preds = %5528, %5527
%5533 = phi i32 [ 0, %5527 ], [ %5531, %5528 ]
%5534 = trunc i32 %5533 to i16
store i16 %5534, i16* %10
%5535 = load i16, i16* %18
%5536 = sext i16 %5535 to i32
%5537 = icmp eq i32 %5536, 0
br i1 %5537, label %5538, label %5539
5538: ; preds = %5532
br label %5543
5539: ; preds = %5532
%5540 = load i16, i16* %18
%5541 = sext i16 %5540 to i32
%5542 = sub nsw i32 25, %5541
br label %5543
5543: ; preds = %5539, %5538
%5544 = phi i32 [ 0, %5538 ], [ %5542, %5539 ]
%5545 = trunc i32 %5544 to i16
store i16 %5545, i16* %14
%5546 = load i16, i16* %11
store i16 %5546, i16* %18
%5547 = load i16, i16* %15
%5548 = sext i16 %5547 to i32
%5549 = icmp eq i32 %5548, 0
br i1 %5549, label %5550, label %5551
5550: ; preds = %5543
br label %5555
5551: ; preds = %5543
%5552 = load i16, i16* %15
%5553 = sext i16 %5552 to i32
%5554 = sub nsw i32 25, %5553
br label %5555
5555: ; preds = %5551, %5550
%5556 = phi i32 [ 0, %5550 ], [ %5554, %5551 ]
%5557 = trunc i32 %5556 to i16
store i16 %5557, i16* %11
%5558 = load i16, i16* %18
%5559 = sext i16 %5558 to i32
%5560 = icmp eq i32 %5559, 0
br i1 %5560, label %5561, label %5562
5561: ; preds = %5555
br label %5566
5562: ; preds = %5555
%5563 = load i16, i16* %18
%5564 = sext i16 %5563 to i32
%5565 = sub nsw i32 25, %5564
br label %5566
5566: ; preds = %5562, %5561
%5567 = phi i32 [ 0, %5561 ], [ %5565, %5562 ]
%5568 = trunc i32 %5567 to i16
store i16 %5568, i16* %15
%5569 = load i16, i16* %12
store i16 %5569, i16* %18
%5570 = load i16, i16* %16
%5571 = sext i16 %5570 to i32
%5572 = icmp eq i32 %5571, 0
br i1 %5572, label %5573, label %5574
5573: ; preds = %5566
br label %5578
5574: ; preds = %5566
%5575 = load i16, i16* %16
%5576 = sext i16 %5575 to i32
%5577 = sub nsw i32 25, %5576
br label %5578
5578: ; preds = %5574, %5573
%5579 = phi i32 [ 0, %5573 ], [ %5577, %5574 ]
%5580 = trunc i32 %5579 to i16
store i16 %5580, i16* %12
%5581 = load i16, i16* %18
%5582 = sext i16 %5581 to i32
%5583 = icmp eq i32 %5582, 0
br i1 %5583, label %5584, label %5585
5584: ; preds = %5578
br label %5589
5585: ; preds = %5578
%5586 = load i16, i16* %18
%5587 = sext i16 %5586 to i32
%5588 = sub nsw i32 25, %5587
br label %5589
5589: ; preds = %5585, %5584
%5590 = phi i32 [ 0, %5584 ], [ %5588, %5585 ]
%5591 = trunc i32 %5590 to i16
store i16 %5591, i16* %16
%5592 = load i16, i16* %13
store i16 %5592, i16* %18
%5593 = load i16, i16* %17
%5594 = sext i16 %5593 to i32
%5595 = icmp eq i32 %5594, 0
br i1 %5595, label %5596, label %5597
5596: ; preds = %5589
br label %5601
5597: ; preds = %5589
%5598 = load i16, i16* %17
%5599 = sext i16 %5598 to i32
%5600 = sub nsw i32 25, %5599
br label %5601
5601: ; preds = %5597, %5596
%5602 = phi i32 [ 0, %5596 ], [ %5600, %5597 ]
%5603 = trunc i32 %5602 to i16
store i16 %5603, i16* %13
%5604 = load i16, i16* %18
%5605 = sext i16 %5604 to i32
%5606 = icmp eq i32 %5605, 0
br i1 %5606, label %5607, label %5608
5607: ; preds = %5601
br label %5612
5608: ; preds = %5601
%5609 = load i16, i16* %18
%5610 = sext i16 %5609 to i32
%5611 = sub nsw i32 25, %5610
br label %5612
5612: ; preds = %5608, %5607
%5613 = phi i32 [ 0, %5607 ], [ %5611, %5608 ]
%5614 = trunc i32 %5613 to i16
store i16 %5614, i16* %17
%5615 = load i16, i16* %10
%5616 = sext i16 %5615 to i32
%5617 = load i16, i16* %11
%5618 = sext i16 %5617 to i32
%5619 = load i16, i16* %12
%5620 = sext i16 %5619 to i32
%5621 = load i16, i16* %13
%5622 = sext i16 %5621 to i32
%5623 = load i16, i16* %14
%5624 = sext i16 %5623 to i32
%5625 = load i16, i16* %15
%5626 = sext i16 %5625 to i32
%5627 = load i16, i16* %16
%5628 = sext i16 %5627 to i32
%5629 = load i16, i16* %17
%5630 = sext i16 %5629 to i32
%5631 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5616, i32 %5618, i32 %5620, i32 %5622, i32 %5624, i32 %5626, i32 %5628, i32 %5630)
%5632 = trunc i32 %5631 to i16
store i16 %5632, i16* %18
%5633 = load i16, i16* %18
%5634 = sext i16 %5633 to i32
%5635 = icmp eq i32 %5634, -1
br i1 %5635, label %5636, label %5637
5636: ; preds = %5612
store i16 -1, i16* %9
br label %19404
5637: ; preds = %5612
%5638 = load i16, i16* %18
%5639 = sext i16 %5638 to i32
%5640 = icmp sle i32 0, %5639
br i1 %5640, label %5641, label %5643
5641: ; preds = %5637
%5642 = load i16, i16* %22
store i16 %5642, i16* %21
br label %5643
5643: ; preds = %5641, %5637
%5644 = load i16, i16* %10
store i16 %5644, i16* %18
%5645 = load i16, i16* %14
%5646 = sext i16 %5645 to i32
%5647 = icmp eq i32 %5646, 0
br i1 %5647, label %5648, label %5649
5648: ; preds = %5643
br label %5653
5649: ; preds = %5643
%5650 = load i16, i16* %14
%5651 = sext i16 %5650 to i32
%5652 = sub nsw i32 25, %5651
br label %5653
5653: ; preds = %5649, %5648
%5654 = phi i32 [ 0, %5648 ], [ %5652, %5649 ]
%5655 = trunc i32 %5654 to i16
store i16 %5655, i16* %10
%5656 = load i16, i16* %18
%5657 = sext i16 %5656 to i32
%5658 = icmp eq i32 %5657, 0
br i1 %5658, label %5659, label %5660
5659: ; preds = %5653
br label %5664
5660: ; preds = %5653
%5661 = load i16, i16* %18
%5662 = sext i16 %5661 to i32
%5663 = sub nsw i32 25, %5662
br label %5664
5664: ; preds = %5660, %5659
%5665 = phi i32 [ 0, %5659 ], [ %5663, %5660 ]
%5666 = trunc i32 %5665 to i16
store i16 %5666, i16* %14
%5667 = load i16, i16* %11
store i16 %5667, i16* %18
%5668 = load i16, i16* %15
%5669 = sext i16 %5668 to i32
%5670 = icmp eq i32 %5669, 0
br i1 %5670, label %5671, label %5672
5671: ; preds = %5664
br label %5676
5672: ; preds = %5664
%5673 = load i16, i16* %15
%5674 = sext i16 %5673 to i32
%5675 = sub nsw i32 25, %5674
br label %5676
5676: ; preds = %5672, %5671
%5677 = phi i32 [ 0, %5671 ], [ %5675, %5672 ]
%5678 = trunc i32 %5677 to i16
store i16 %5678, i16* %11
%5679 = load i16, i16* %18
%5680 = sext i16 %5679 to i32
%5681 = icmp eq i32 %5680, 0
br i1 %5681, label %5682, label %5683
5682: ; preds = %5676
br label %5687
5683: ; preds = %5676
%5684 = load i16, i16* %18
%5685 = sext i16 %5684 to i32
%5686 = sub nsw i32 25, %5685
br label %5687
5687: ; preds = %5683, %5682
%5688 = phi i32 [ 0, %5682 ], [ %5686, %5683 ]
%5689 = trunc i32 %5688 to i16
store i16 %5689, i16* %15
%5690 = load i16, i16* %12
store i16 %5690, i16* %18
%5691 = load i16, i16* %16
%5692 = sext i16 %5691 to i32
%5693 = icmp eq i32 %5692, 0
br i1 %5693, label %5694, label %5695
5694: ; preds = %5687
br label %5699
5695: ; preds = %5687
%5696 = load i16, i16* %16
%5697 = sext i16 %5696 to i32
%5698 = sub nsw i32 25, %5697
br label %5699
5699: ; preds = %5695, %5694
%5700 = phi i32 [ 0, %5694 ], [ %5698, %5695 ]
%5701 = trunc i32 %5700 to i16
store i16 %5701, i16* %12
%5702 = load i16, i16* %18
%5703 = sext i16 %5702 to i32
%5704 = icmp eq i32 %5703, 0
br i1 %5704, label %5705, label %5706
5705: ; preds = %5699
br label %5710
5706: ; preds = %5699
%5707 = load i16, i16* %18
%5708 = sext i16 %5707 to i32
%5709 = sub nsw i32 25, %5708
br label %5710
5710: ; preds = %5706, %5705
%5711 = phi i32 [ 0, %5705 ], [ %5709, %5706 ]
%5712 = trunc i32 %5711 to i16
store i16 %5712, i16* %16
%5713 = load i16, i16* %13
store i16 %5713, i16* %18
%5714 = load i16, i16* %17
%5715 = sext i16 %5714 to i32
%5716 = icmp eq i32 %5715, 0
br i1 %5716, label %5717, label %5718
5717: ; preds = %5710
br label %5722
5718: ; preds = %5710
%5719 = load i16, i16* %17
%5720 = sext i16 %5719 to i32
%5721 = sub nsw i32 25, %5720
br label %5722
5722: ; preds = %5718, %5717
%5723 = phi i32 [ 0, %5717 ], [ %5721, %5718 ]
%5724 = trunc i32 %5723 to i16
store i16 %5724, i16* %13
%5725 = load i16, i16* %18
%5726 = sext i16 %5725 to i32
%5727 = icmp eq i32 %5726, 0
br i1 %5727, label %5728, label %5729
5728: ; preds = %5722
br label %5733
5729: ; preds = %5722
%5730 = load i16, i16* %18
%5731 = sext i16 %5730 to i32
%5732 = sub nsw i32 25, %5731
br label %5733
5733: ; preds = %5729, %5728
%5734 = phi i32 [ 0, %5728 ], [ %5732, %5729 ]
%5735 = trunc i32 %5734 to i16
store i16 %5735, i16* %17
br label %5736
5736: ; preds = %5733, %5518
br label %5737
5737: ; preds = %5736, %5297
%5738 = load i16, i16* %19
store i16 %5738, i16* %10
br label %5739
5739: ; preds = %5737, %5073, %5067, %5061, %5055, %5044
br label %5740
5740: ; preds = %5739, %5039, %5035, %5031
br label %19391
5741: ; preds = %5027
%5742 = load i16, i16* %22
%5743 = sext i16 %5742 to i32
%5744 = icmp eq i32 %5743, 8
br i1 %5744, label %5745, label %6450
5745: ; preds = %5741
%5746 = load i16, i16* %11
%5747 = sext i16 %5746 to i32
%5748 = icmp ne i32 %5747, 0
br i1 %5748, label %5749, label %6449
5749: ; preds = %5745
%5750 = load i16, i16* %11
%5751 = sext i16 %5750 to i32
%5752 = icmp slt i32 %5751, 21
br i1 %5752, label %5753, label %6449
5753: ; preds = %5749
%5754 = load i16, i16* %11
store i16 %5754, i16* %19
%5755 = load i16, i16* %19
%5756 = sext i16 %5755 to i32
%5757 = add nsw i32 %5756, 4
%5758 = trunc i32 %5757 to i16
store i16 %5758, i16* %20
%5759 = load i16, i16* %20
%5760 = sext i16 %5759 to i32
%5761 = load i16, i16* %10
%5762 = sext i16 %5761 to i32
%5763 = icmp ne i32 %5760, %5762
br i1 %5763, label %5764, label %6448
5764: ; preds = %5753
%5765 = load i16, i16* %20
%5766 = sext i16 %5765 to i32
%5767 = load i16, i16* %12
%5768 = sext i16 %5767 to i32
%5769 = icmp ne i32 %5766, %5768
br i1 %5769, label %5770, label %6448
5770: ; preds = %5764
%5771 = load i16, i16* %20
%5772 = sext i16 %5771 to i32
%5773 = load i16, i16* %13
%5774 = sext i16 %5773 to i32
%5775 = icmp ne i32 %5772, %5774
br i1 %5775, label %5776, label %6448
5776: ; preds = %5770
%5777 = load i16, i16* %20
%5778 = sext i16 %5777 to i32
%5779 = load i16, i16* %15
%5780 = sext i16 %5779 to i32
%5781 = icmp ne i32 %5778, %5780
br i1 %5781, label %5782, label %6448
5782: ; preds = %5776
%5783 = load i16, i16* %20
%5784 = sext i16 %5783 to i32
%5785 = load i16, i16* %16
%5786 = sext i16 %5785 to i32
%5787 = icmp ne i32 %5784, %5786
br i1 %5787, label %5788, label %6448
5788: ; preds = %5782
%5789 = load i16, i16* %20
store i16 %5789, i16* %11
%5790 = load i16, i16* %14
%5791 = sext i16 %5790 to i32
%5792 = load i16, i16* %20
%5793 = sext i16 %5792 to i32
%5794 = icmp eq i32 %5791, %5793
br i1 %5794, label %5795, label %6010
5795: ; preds = %5788
store i16 0, i16* %14
%5796 = load i16, i16* %10
store i16 %5796, i16* %18
%5797 = load i16, i16* %14
%5798 = sext i16 %5797 to i32
%5799 = icmp eq i32 %5798, 0
br i1 %5799, label %5800, label %5801
5800: ; preds = %5795
br label %5805
5801: ; preds = %5795
%5802 = load i16, i16* %14
%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* %10
%5808 = load i16, i16* %18
%5809 = sext i16 %5808 to i32
%5810 = icmp eq i32 %5809, 0
br i1 %5810, label %5811, label %5812
5811: ; preds = %5805
br label %5816
5812: ; preds = %5805
%5813 = load i16, i16* %18
%5814 = sext i16 %5813 to i32
%5815 = sub nsw i32 25, %5814
br label %5816
5816: ; preds = %5812, %5811
%5817 = phi i32 [ 0, %5811 ], [ %5815, %5812 ]
%5818 = trunc i32 %5817 to i16
store i16 %5818, i16* %14
%5819 = load i16, i16* %11
store i16 %5819, i16* %18
%5820 = load i16, i16* %15
%5821 = sext i16 %5820 to i32
%5822 = icmp eq i32 %5821, 0
br i1 %5822, label %5823, label %5824
5823: ; preds = %5816
br label %5828
5824: ; preds = %5816
%5825 = load i16, i16* %15
%5826 = sext i16 %5825 to i32
%5827 = sub nsw i32 25, %5826
br label %5828
5828: ; preds = %5824, %5823
%5829 = phi i32 [ 0, %5823 ], [ %5827, %5824 ]
%5830 = trunc i32 %5829 to i16
store i16 %5830, i16* %11
%5831 = load i16, i16* %18
%5832 = sext i16 %5831 to i32
%5833 = icmp eq i32 %5832, 0
br i1 %5833, label %5834, label %5835
5834: ; preds = %5828
br label %5839
5835: ; preds = %5828
%5836 = load i16, i16* %18
%5837 = sext i16 %5836 to i32
%5838 = sub nsw i32 25, %5837
br label %5839
5839: ; preds = %5835, %5834
%5840 = phi i32 [ 0, %5834 ], [ %5838, %5835 ]
%5841 = trunc i32 %5840 to i16
store i16 %5841, i16* %15
%5842 = load i16, i16* %12
store i16 %5842, i16* %18
%5843 = load i16, i16* %16
%5844 = sext i16 %5843 to i32
%5845 = icmp eq i32 %5844, 0
br i1 %5845, label %5846, label %5847
5846: ; preds = %5839
br label %5851
5847: ; preds = %5839
%5848 = load i16, i16* %16
%5849 = sext i16 %5848 to i32
%5850 = sub nsw i32 25, %5849
br label %5851
5851: ; preds = %5847, %5846
%5852 = phi i32 [ 0, %5846 ], [ %5850, %5847 ]
%5853 = trunc i32 %5852 to i16
store i16 %5853, i16* %12
%5854 = load i16, i16* %18
%5855 = sext i16 %5854 to i32
%5856 = icmp eq i32 %5855, 0
br i1 %5856, label %5857, label %5858
5857: ; preds = %5851
br label %5862
5858: ; preds = %5851
%5859 = load i16, i16* %18
%5860 = sext i16 %5859 to i32
%5861 = sub nsw i32 25, %5860
br label %5862
5862: ; preds = %5858, %5857
%5863 = phi i32 [ 0, %5857 ], [ %5861, %5858 ]
%5864 = trunc i32 %5863 to i16
store i16 %5864, i16* %16
%5865 = load i16, i16* %13
store i16 %5865, i16* %18
%5866 = load i16, i16* %17
%5867 = sext i16 %5866 to i32
%5868 = icmp eq i32 %5867, 0
br i1 %5868, label %5869, label %5870
5869: ; preds = %5862
br label %5874
5870: ; preds = %5862
%5871 = load i16, i16* %17
%5872 = sext i16 %5871 to i32
%5873 = sub nsw i32 25, %5872
br label %5874
5874: ; preds = %5870, %5869
%5875 = phi i32 [ 0, %5869 ], [ %5873, %5870 ]
%5876 = trunc i32 %5875 to i16
store i16 %5876, i16* %13
%5877 = load i16, i16* %18
%5878 = sext i16 %5877 to i32
%5879 = icmp eq i32 %5878, 0
br i1 %5879, label %5880, label %5881
5880: ; preds = %5874
br label %5885
5881: ; preds = %5874
%5882 = load i16, i16* %18
%5883 = sext i16 %5882 to i32
%5884 = sub nsw i32 25, %5883
br label %5885
5885: ; preds = %5881, %5880
%5886 = phi i32 [ 0, %5880 ], [ %5884, %5881 ]
%5887 = trunc i32 %5886 to i16
store i16 %5887, i16* %17
%5888 = load i16, i16* %10
%5889 = sext i16 %5888 to i32
%5890 = load i16, i16* %11
%5891 = sext i16 %5890 to i32
%5892 = load i16, i16* %12
%5893 = sext i16 %5892 to i32
%5894 = load i16, i16* %13
%5895 = sext i16 %5894 to i32
%5896 = load i16, i16* %14
%5897 = sext i16 %5896 to i32
%5898 = load i16, i16* %15
%5899 = sext i16 %5898 to i32
%5900 = load i16, i16* %16
%5901 = sext i16 %5900 to i32
%5902 = load i16, i16* %17
%5903 = sext i16 %5902 to i32
%5904 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %5889, i32 %5891, i32 %5893, i32 %5895, i32 %5897, i32 %5899, i32 %5901, i32 %5903)
%5905 = trunc i32 %5904 to i16
store i16 %5905, i16* %18
%5906 = load i16, i16* %18
%5907 = sext i16 %5906 to i32
%5908 = icmp eq i32 %5907, -1
br i1 %5908, label %5909, label %5910
5909: ; preds = %5885
store i16 -1, i16* %9
br label %19404
5910: ; preds = %5885
%5911 = load i16, i16* %18
%5912 = sext i16 %5911 to i32
%5913 = icmp sle i32 0, %5912
br i1 %5913, label %5914, label %5916
5914: ; preds = %5910
%5915 = load i16, i16* %22
store i16 %5915, i16* %21
br label %5916
5916: ; preds = %5914, %5910
%5917 = load i16, i16* %10
store i16 %5917, i16* %18
%5918 = load i16, i16* %14
%5919 = sext i16 %5918 to i32
%5920 = icmp eq i32 %5919, 0
br i1 %5920, label %5921, label %5922
5921: ; preds = %5916
br label %5926
5922: ; preds = %5916
%5923 = load i16, i16* %14
%5924 = sext i16 %5923 to i32
%5925 = sub nsw i32 25, %5924
br label %5926
5926: ; preds = %5922, %5921
%5927 = phi i32 [ 0, %5921 ], [ %5925, %5922 ]
%5928 = trunc i32 %5927 to i16
store i16 %5928, i16* %10
%5929 = load i16, i16* %18
%5930 = sext i16 %5929 to i32
%5931 = icmp eq i32 %5930, 0
br i1 %5931, label %5932, label %5933
5932: ; preds = %5926
br label %5937
5933: ; preds = %5926
%5934 = load i16, i16* %18
%5935 = sext i16 %5934 to i32
%5936 = sub nsw i32 25, %5935
br label %5937
5937: ; preds = %5933, %5932
%5938 = phi i32 [ 0, %5932 ], [ %5936, %5933 ]
%5939 = trunc i32 %5938 to i16
store i16 %5939, i16* %14
%5940 = load i16, i16* %11
store i16 %5940, i16* %18
%5941 = load i16, i16* %15
%5942 = sext i16 %5941 to i32
%5943 = icmp eq i32 %5942, 0
br i1 %5943, label %5944, label %5945
5944: ; preds = %5937
br label %5949
5945: ; preds = %5937
%5946 = load i16, i16* %15
%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* %11
%5952 = load i16, i16* %18
%5953 = sext i16 %5952 to i32
%5954 = icmp eq i32 %5953, 0
br i1 %5954, label %5955, label %5956
5955: ; preds = %5949
br label %5960
5956: ; preds = %5949
%5957 = load i16, i16* %18
%5958 = sext i16 %5957 to i32
%5959 = sub nsw i32 25, %5958
br label %5960
5960: ; preds = %5956, %5955
%5961 = phi i32 [ 0, %5955 ], [ %5959, %5956 ]
%5962 = trunc i32 %5961 to i16
store i16 %5962, i16* %15
%5963 = load i16, i16* %12
store i16 %5963, i16* %18
%5964 = load i16, i16* %16
%5965 = sext i16 %5964 to i32
%5966 = icmp eq i32 %5965, 0
br i1 %5966, label %5967, label %5968
5967: ; preds = %5960
br label %5972
5968: ; preds = %5960
%5969 = load i16, i16* %16
%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* %12
%5975 = load i16, i16* %18
%5976 = sext i16 %5975 to i32
%5977 = icmp eq i32 %5976, 0
br i1 %5977, label %5978, label %5979
5978: ; preds = %5972
br label %5983
5979: ; preds = %5972
%5980 = load i16, i16* %18
%5981 = sext i16 %5980 to i32
%5982 = sub nsw i32 25, %5981
br label %5983
5983: ; preds = %5979, %5978
%5984 = phi i32 [ 0, %5978 ], [ %5982, %5979 ]
%5985 = trunc i32 %5984 to i16
store i16 %5985, i16* %16
%5986 = load i16, i16* %13
store i16 %5986, i16* %18
%5987 = load i16, i16* %17
%5988 = sext i16 %5987 to i32
%5989 = icmp eq i32 %5988, 0
br i1 %5989, label %5990, label %5991
5990: ; preds = %5983
br label %5995
5991: ; preds = %5983
%5992 = load i16, i16* %17
%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* %13
%5998 = load i16, i16* %18
%5999 = sext i16 %5998 to i32
%6000 = icmp eq i32 %5999, 0
br i1 %6000, label %6001, label %6002
6001: ; preds = %5995
br label %6006
6002: ; preds = %5995
%6003 = load i16, i16* %18
%6004 = sext i16 %6003 to i32
%6005 = sub nsw i32 25, %6004
br label %6006
6006: ; preds = %6002, %6001
%6007 = phi i32 [ 0, %6001 ], [ %6005, %6002 ]
%6008 = trunc i32 %6007 to i16
store i16 %6008, i16* %17
%6009 = load i16, i16* %20
store i16 %6009, i16* %14
br label %6446
6010: ; preds = %5788
%6011 = load i16, i16* %20
%6012 = sext i16 %6011 to i32
%6013 = load i16, i16* %17
%6014 = sext i16 %6013 to i32
%6015 = icmp eq i32 %6012, %6014
br i1 %6015, label %6016, label %6231
6016: ; preds = %6010
store i16 0, i16* %17
%6017 = load i16, i16* %10
store i16 %6017, i16* %18
%6018 = load i16, i16* %14
%6019 = sext i16 %6018 to i32
%6020 = icmp eq i32 %6019, 0
br i1 %6020, label %6021, label %6022
6021: ; preds = %6016
br label %6026
6022: ; preds = %6016
%6023 = load i16, i16* %14
%6024 = sext i16 %6023 to i32
%6025 = sub nsw i32 25, %6024
br label %6026
6026: ; preds = %6022, %6021
%6027 = phi i32 [ 0, %6021 ], [ %6025, %6022 ]
%6028 = trunc i32 %6027 to i16
store i16 %6028, i16* %10
%6029 = load i16, i16* %18
%6030 = sext i16 %6029 to i32
%6031 = icmp eq i32 %6030, 0
br i1 %6031, label %6032, label %6033
6032: ; preds = %6026
br label %6037
6033: ; preds = %6026
%6034 = load i16, i16* %18
%6035 = sext i16 %6034 to i32
%6036 = sub nsw i32 25, %6035
br label %6037
6037: ; preds = %6033, %6032
%6038 = phi i32 [ 0, %6032 ], [ %6036, %6033 ]
%6039 = trunc i32 %6038 to i16
store i16 %6039, i16* %14
%6040 = load i16, i16* %11
store i16 %6040, i16* %18
%6041 = load i16, i16* %15
%6042 = sext i16 %6041 to i32
%6043 = icmp eq i32 %6042, 0
br i1 %6043, label %6044, label %6045
6044: ; preds = %6037
br label %6049
6045: ; preds = %6037
%6046 = load i16, i16* %15
%6047 = sext i16 %6046 to i32
%6048 = sub nsw i32 25, %6047
br label %6049
6049: ; preds = %6045, %6044
%6050 = phi i32 [ 0, %6044 ], [ %6048, %6045 ]
%6051 = trunc i32 %6050 to i16
store i16 %6051, i16* %11
%6052 = load i16, i16* %18
%6053 = sext i16 %6052 to i32
%6054 = icmp eq i32 %6053, 0
br i1 %6054, label %6055, label %6056
6055: ; preds = %6049
br label %6060
6056: ; preds = %6049
%6057 = load i16, i16* %18
%6058 = sext i16 %6057 to i32
%6059 = sub nsw i32 25, %6058
br label %6060
6060: ; preds = %6056, %6055
%6061 = phi i32 [ 0, %6055 ], [ %6059, %6056 ]
%6062 = trunc i32 %6061 to i16
store i16 %6062, i16* %15
%6063 = load i16, i16* %12
store i16 %6063, i16* %18
%6064 = load i16, i16* %16
%6065 = sext i16 %6064 to i32
%6066 = icmp eq i32 %6065, 0
br i1 %6066, label %6067, label %6068
6067: ; preds = %6060
br label %6072
6068: ; preds = %6060
%6069 = load i16, i16* %16
%6070 = sext i16 %6069 to i32
%6071 = sub nsw i32 25, %6070
br label %6072
6072: ; preds = %6068, %6067
%6073 = phi i32 [ 0, %6067 ], [ %6071, %6068 ]
%6074 = trunc i32 %6073 to i16
store i16 %6074, i16* %12
%6075 = load i16, i16* %18
%6076 = sext i16 %6075 to i32
%6077 = icmp eq i32 %6076, 0
br i1 %6077, label %6078, label %6079
6078: ; preds = %6072
br label %6083
6079: ; preds = %6072
%6080 = load i16, i16* %18
%6081 = sext i16 %6080 to i32
%6082 = sub nsw i32 25, %6081
br label %6083
6083: ; preds = %6079, %6078
%6084 = phi i32 [ 0, %6078 ], [ %6082, %6079 ]
%6085 = trunc i32 %6084 to i16
store i16 %6085, i16* %16
%6086 = load i16, i16* %13
store i16 %6086, i16* %18
%6087 = load i16, i16* %17
%6088 = sext i16 %6087 to i32
%6089 = icmp eq i32 %6088, 0
br i1 %6089, label %6090, label %6091
6090: ; preds = %6083
br label %6095
6091: ; preds = %6083
%6092 = load i16, i16* %17
%6093 = sext i16 %6092 to i32
%6094 = sub nsw i32 25, %6093
br label %6095
6095: ; preds = %6091, %6090
%6096 = phi i32 [ 0, %6090 ], [ %6094, %6091 ]
%6097 = trunc i32 %6096 to i16
store i16 %6097, i16* %13
%6098 = load i16, i16* %18
%6099 = sext i16 %6098 to i32
%6100 = icmp eq i32 %6099, 0
br i1 %6100, label %6101, label %6102
6101: ; preds = %6095
br label %6106
6102: ; preds = %6095
%6103 = load i16, i16* %18
%6104 = sext i16 %6103 to i32
%6105 = sub nsw i32 25, %6104
br label %6106
6106: ; preds = %6102, %6101
%6107 = phi i32 [ 0, %6101 ], [ %6105, %6102 ]
%6108 = trunc i32 %6107 to i16
store i16 %6108, i16* %17
%6109 = load i16, i16* %10
%6110 = sext i16 %6109 to i32
%6111 = load i16, i16* %11
%6112 = sext i16 %6111 to i32
%6113 = load i16, i16* %12
%6114 = sext i16 %6113 to i32
%6115 = load i16, i16* %13
%6116 = sext i16 %6115 to i32
%6117 = load i16, i16* %14
%6118 = sext i16 %6117 to i32
%6119 = load i16, i16* %15
%6120 = sext i16 %6119 to i32
%6121 = load i16, i16* %16
%6122 = sext i16 %6121 to i32
%6123 = load i16, i16* %17
%6124 = sext i16 %6123 to i32
%6125 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6110, i32 %6112, i32 %6114, i32 %6116, i32 %6118, i32 %6120, i32 %6122, i32 %6124)
%6126 = trunc i32 %6125 to i16
store i16 %6126, i16* %18
%6127 = load i16, i16* %18
%6128 = sext i16 %6127 to i32
%6129 = icmp eq i32 %6128, -1
br i1 %6129, label %6130, label %6131
6130: ; preds = %6106
store i16 -1, i16* %9
br label %19404
6131: ; preds = %6106
%6132 = load i16, i16* %18
%6133 = sext i16 %6132 to i32
%6134 = icmp sle i32 0, %6133
br i1 %6134, label %6135, label %6137
6135: ; preds = %6131
%6136 = load i16, i16* %22
store i16 %6136, i16* %21
br label %6137
6137: ; preds = %6135, %6131
%6138 = load i16, i16* %10
store i16 %6138, i16* %18
%6139 = load i16, i16* %14
%6140 = sext i16 %6139 to i32
%6141 = icmp eq i32 %6140, 0
br i1 %6141, label %6142, label %6143
6142: ; preds = %6137
br label %6147
6143: ; preds = %6137
%6144 = load i16, i16* %14
%6145 = sext i16 %6144 to i32
%6146 = sub nsw i32 25, %6145
br label %6147
6147: ; preds = %6143, %6142
%6148 = phi i32 [ 0, %6142 ], [ %6146, %6143 ]
%6149 = trunc i32 %6148 to i16
store i16 %6149, i16* %10
%6150 = load i16, i16* %18
%6151 = sext i16 %6150 to i32
%6152 = icmp eq i32 %6151, 0
br i1 %6152, label %6153, label %6154
6153: ; preds = %6147
br label %6158
6154: ; preds = %6147
%6155 = load i16, i16* %18
%6156 = sext i16 %6155 to i32
%6157 = sub nsw i32 25, %6156
br label %6158
6158: ; preds = %6154, %6153
%6159 = phi i32 [ 0, %6153 ], [ %6157, %6154 ]
%6160 = trunc i32 %6159 to i16
store i16 %6160, i16* %14
%6161 = load i16, i16* %11
store i16 %6161, i16* %18
%6162 = load i16, i16* %15
%6163 = sext i16 %6162 to i32
%6164 = icmp eq i32 %6163, 0
br i1 %6164, label %6165, label %6166
6165: ; preds = %6158
br label %6170
6166: ; preds = %6158
%6167 = load i16, i16* %15
%6168 = sext i16 %6167 to i32
%6169 = sub nsw i32 25, %6168
br label %6170
6170: ; preds = %6166, %6165
%6171 = phi i32 [ 0, %6165 ], [ %6169, %6166 ]
%6172 = trunc i32 %6171 to i16
store i16 %6172, i16* %11
%6173 = load i16, i16* %18
%6174 = sext i16 %6173 to i32
%6175 = icmp eq i32 %6174, 0
br i1 %6175, label %6176, label %6177
6176: ; preds = %6170
br label %6181
6177: ; preds = %6170
%6178 = load i16, i16* %18
%6179 = sext i16 %6178 to i32
%6180 = sub nsw i32 25, %6179
br label %6181
6181: ; preds = %6177, %6176
%6182 = phi i32 [ 0, %6176 ], [ %6180, %6177 ]
%6183 = trunc i32 %6182 to i16
store i16 %6183, i16* %15
%6184 = load i16, i16* %12
store i16 %6184, i16* %18
%6185 = load i16, i16* %16
%6186 = sext i16 %6185 to i32
%6187 = icmp eq i32 %6186, 0
br i1 %6187, label %6188, label %6189
6188: ; preds = %6181
br label %6193
6189: ; preds = %6181
%6190 = load i16, i16* %16
%6191 = sext i16 %6190 to i32
%6192 = sub nsw i32 25, %6191
br label %6193
6193: ; preds = %6189, %6188
%6194 = phi i32 [ 0, %6188 ], [ %6192, %6189 ]
%6195 = trunc i32 %6194 to i16
store i16 %6195, i16* %12
%6196 = load i16, i16* %18
%6197 = sext i16 %6196 to i32
%6198 = icmp eq i32 %6197, 0
br i1 %6198, label %6199, label %6200
6199: ; preds = %6193
br label %6204
6200: ; preds = %6193
%6201 = load i16, i16* %18
%6202 = sext i16 %6201 to i32
%6203 = sub nsw i32 25, %6202
br label %6204
6204: ; preds = %6200, %6199
%6205 = phi i32 [ 0, %6199 ], [ %6203, %6200 ]
%6206 = trunc i32 %6205 to i16
store i16 %6206, i16* %16
%6207 = load i16, i16* %13
store i16 %6207, i16* %18
%6208 = load i16, i16* %17
%6209 = sext i16 %6208 to i32
%6210 = icmp eq i32 %6209, 0
br i1 %6210, label %6211, label %6212
6211: ; preds = %6204
br label %6216
6212: ; preds = %6204
%6213 = load i16, i16* %17
%6214 = sext i16 %6213 to i32
%6215 = sub nsw i32 25, %6214
br label %6216
6216: ; preds = %6212, %6211
%6217 = phi i32 [ 0, %6211 ], [ %6215, %6212 ]
%6218 = trunc i32 %6217 to i16
store i16 %6218, i16* %13
%6219 = load i16, i16* %18
%6220 = sext i16 %6219 to i32
%6221 = icmp eq i32 %6220, 0
br i1 %6221, label %6222, label %6223
6222: ; preds = %6216
br label %6227
6223: ; preds = %6216
%6224 = load i16, i16* %18
%6225 = sext i16 %6224 to i32
%6226 = sub nsw i32 25, %6225
br label %6227
6227: ; preds = %6223, %6222
%6228 = phi i32 [ 0, %6222 ], [ %6226, %6223 ]
%6229 = trunc i32 %6228 to i16
store i16 %6229, i16* %17
%6230 = load i16, i16* %20
store i16 %6230, i16* %17
br label %6445
6231: ; preds = %6010
%6232 = load i16, i16* %10
store i16 %6232, i16* %18
%6233 = load i16, i16* %14
%6234 = sext i16 %6233 to i32
%6235 = icmp eq i32 %6234, 0
br i1 %6235, label %6236, label %6237
6236: ; preds = %6231
br label %6241
6237: ; preds = %6231
%6238 = load i16, i16* %14
%6239 = sext i16 %6238 to i32
%6240 = sub nsw i32 25, %6239
br label %6241
6241: ; preds = %6237, %6236
%6242 = phi i32 [ 0, %6236 ], [ %6240, %6237 ]
%6243 = trunc i32 %6242 to i16
store i16 %6243, i16* %10
%6244 = load i16, i16* %18
%6245 = sext i16 %6244 to i32
%6246 = icmp eq i32 %6245, 0
br i1 %6246, label %6247, label %6248
6247: ; preds = %6241
br label %6252
6248: ; preds = %6241
%6249 = load i16, i16* %18
%6250 = sext i16 %6249 to i32
%6251 = sub nsw i32 25, %6250
br label %6252
6252: ; preds = %6248, %6247
%6253 = phi i32 [ 0, %6247 ], [ %6251, %6248 ]
%6254 = trunc i32 %6253 to i16
store i16 %6254, i16* %14
%6255 = load i16, i16* %11
store i16 %6255, i16* %18
%6256 = load i16, i16* %15
%6257 = sext i16 %6256 to i32
%6258 = icmp eq i32 %6257, 0
br i1 %6258, label %6259, label %6260
6259: ; preds = %6252
br label %6264
6260: ; preds = %6252
%6261 = load i16, i16* %15
%6262 = sext i16 %6261 to i32
%6263 = sub nsw i32 25, %6262
br label %6264
6264: ; preds = %6260, %6259
%6265 = phi i32 [ 0, %6259 ], [ %6263, %6260 ]
%6266 = trunc i32 %6265 to i16
store i16 %6266, i16* %11
%6267 = load i16, i16* %18
%6268 = sext i16 %6267 to i32
%6269 = icmp eq i32 %6268, 0
br i1 %6269, label %6270, label %6271
6270: ; preds = %6264
br label %6275
6271: ; preds = %6264
%6272 = load i16, i16* %18
%6273 = sext i16 %6272 to i32
%6274 = sub nsw i32 25, %6273
br label %6275
6275: ; preds = %6271, %6270
%6276 = phi i32 [ 0, %6270 ], [ %6274, %6271 ]
%6277 = trunc i32 %6276 to i16
store i16 %6277, i16* %15
%6278 = load i16, i16* %12
store i16 %6278, i16* %18
%6279 = load i16, i16* %16
%6280 = sext i16 %6279 to i32
%6281 = icmp eq i32 %6280, 0
br i1 %6281, label %6282, label %6283
6282: ; preds = %6275
br label %6287
6283: ; preds = %6275
%6284 = load i16, i16* %16
%6285 = sext i16 %6284 to i32
%6286 = sub nsw i32 25, %6285
br label %6287
6287: ; preds = %6283, %6282
%6288 = phi i32 [ 0, %6282 ], [ %6286, %6283 ]
%6289 = trunc i32 %6288 to i16
store i16 %6289, i16* %12
%6290 = load i16, i16* %18
%6291 = sext i16 %6290 to i32
%6292 = icmp eq i32 %6291, 0
br i1 %6292, label %6293, label %6294
6293: ; preds = %6287
br label %6298
6294: ; preds = %6287
%6295 = load i16, i16* %18
%6296 = sext i16 %6295 to i32
%6297 = sub nsw i32 25, %6296
br label %6298
6298: ; preds = %6294, %6293
%6299 = phi i32 [ 0, %6293 ], [ %6297, %6294 ]
%6300 = trunc i32 %6299 to i16
store i16 %6300, i16* %16
%6301 = load i16, i16* %13
store i16 %6301, i16* %18
%6302 = load i16, i16* %17
%6303 = sext i16 %6302 to i32
%6304 = icmp eq i32 %6303, 0
br i1 %6304, label %6305, label %6306
6305: ; preds = %6298
br label %6310
6306: ; preds = %6298
%6307 = load i16, i16* %17
%6308 = sext i16 %6307 to i32
%6309 = sub nsw i32 25, %6308
br label %6310
6310: ; preds = %6306, %6305
%6311 = phi i32 [ 0, %6305 ], [ %6309, %6306 ]
%6312 = trunc i32 %6311 to i16
store i16 %6312, i16* %13
%6313 = load i16, i16* %18
%6314 = sext i16 %6313 to i32
%6315 = icmp eq i32 %6314, 0
br i1 %6315, label %6316, label %6317
6316: ; preds = %6310
br label %6321
6317: ; preds = %6310
%6318 = load i16, i16* %18
%6319 = sext i16 %6318 to i32
%6320 = sub nsw i32 25, %6319
br label %6321
6321: ; preds = %6317, %6316
%6322 = phi i32 [ 0, %6316 ], [ %6320, %6317 ]
%6323 = trunc i32 %6322 to i16
store i16 %6323, i16* %17
%6324 = load i16, i16* %10
%6325 = sext i16 %6324 to i32
%6326 = load i16, i16* %11
%6327 = sext i16 %6326 to i32
%6328 = load i16, i16* %12
%6329 = sext i16 %6328 to i32
%6330 = load i16, i16* %13
%6331 = sext i16 %6330 to i32
%6332 = load i16, i16* %14
%6333 = sext i16 %6332 to i32
%6334 = load i16, i16* %15
%6335 = sext i16 %6334 to i32
%6336 = load i16, i16* %16
%6337 = sext i16 %6336 to i32
%6338 = load i16, i16* %17
%6339 = sext i16 %6338 to i32
%6340 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6325, i32 %6327, i32 %6329, i32 %6331, i32 %6333, i32 %6335, i32 %6337, i32 %6339)
%6341 = trunc i32 %6340 to i16
store i16 %6341, i16* %18
%6342 = load i16, i16* %18
%6343 = sext i16 %6342 to i32
%6344 = icmp eq i32 %6343, -1
br i1 %6344, label %6345, label %6346
6345: ; preds = %6321
store i16 -1, i16* %9
br label %19404
6346: ; preds = %6321
%6347 = load i16, i16* %18
%6348 = sext i16 %6347 to i32
%6349 = icmp sle i32 0, %6348
br i1 %6349, label %6350, label %6352
6350: ; preds = %6346
%6351 = load i16, i16* %22
store i16 %6351, i16* %21
br label %6352
6352: ; preds = %6350, %6346
%6353 = load i16, i16* %10
store i16 %6353, i16* %18
%6354 = load i16, i16* %14
%6355 = sext i16 %6354 to i32
%6356 = icmp eq i32 %6355, 0
br i1 %6356, label %6357, label %6358
6357: ; preds = %6352
br label %6362
6358: ; preds = %6352
%6359 = load i16, i16* %14
%6360 = sext i16 %6359 to i32
%6361 = sub nsw i32 25, %6360
br label %6362
6362: ; preds = %6358, %6357
%6363 = phi i32 [ 0, %6357 ], [ %6361, %6358 ]
%6364 = trunc i32 %6363 to i16
store i16 %6364, i16* %10
%6365 = load i16, i16* %18
%6366 = sext i16 %6365 to i32
%6367 = icmp eq i32 %6366, 0
br i1 %6367, label %6368, label %6369
6368: ; preds = %6362
br label %6373
6369: ; preds = %6362
%6370 = load i16, i16* %18
%6371 = sext i16 %6370 to i32
%6372 = sub nsw i32 25, %6371
br label %6373
6373: ; preds = %6369, %6368
%6374 = phi i32 [ 0, %6368 ], [ %6372, %6369 ]
%6375 = trunc i32 %6374 to i16
store i16 %6375, i16* %14
%6376 = load i16, i16* %11
store i16 %6376, i16* %18
%6377 = load i16, i16* %15
%6378 = sext i16 %6377 to i32
%6379 = icmp eq i32 %6378, 0
br i1 %6379, label %6380, label %6381
6380: ; preds = %6373
br label %6385
6381: ; preds = %6373
%6382 = load i16, i16* %15
%6383 = sext i16 %6382 to i32
%6384 = sub nsw i32 25, %6383
br label %6385
6385: ; preds = %6381, %6380
%6386 = phi i32 [ 0, %6380 ], [ %6384, %6381 ]
%6387 = trunc i32 %6386 to i16
store i16 %6387, i16* %11
%6388 = load i16, i16* %18
%6389 = sext i16 %6388 to i32
%6390 = icmp eq i32 %6389, 0
br i1 %6390, label %6391, label %6392
6391: ; preds = %6385
br label %6396
6392: ; preds = %6385
%6393 = load i16, i16* %18
%6394 = sext i16 %6393 to i32
%6395 = sub nsw i32 25, %6394
br label %6396
6396: ; preds = %6392, %6391
%6397 = phi i32 [ 0, %6391 ], [ %6395, %6392 ]
%6398 = trunc i32 %6397 to i16
store i16 %6398, i16* %15
%6399 = load i16, i16* %12
store i16 %6399, i16* %18
%6400 = load i16, i16* %16
%6401 = sext i16 %6400 to i32
%6402 = icmp eq i32 %6401, 0
br i1 %6402, label %6403, label %6404
6403: ; preds = %6396
br label %6408
6404: ; preds = %6396
%6405 = load i16, i16* %16
%6406 = sext i16 %6405 to i32
%6407 = sub nsw i32 25, %6406
br label %6408
6408: ; preds = %6404, %6403
%6409 = phi i32 [ 0, %6403 ], [ %6407, %6404 ]
%6410 = trunc i32 %6409 to i16
store i16 %6410, i16* %12
%6411 = load i16, i16* %18
%6412 = sext i16 %6411 to i32
%6413 = icmp eq i32 %6412, 0
br i1 %6413, label %6414, label %6415
6414: ; preds = %6408
br label %6419
6415: ; preds = %6408
%6416 = load i16, i16* %18
%6417 = sext i16 %6416 to i32
%6418 = sub nsw i32 25, %6417
br label %6419
6419: ; preds = %6415, %6414
%6420 = phi i32 [ 0, %6414 ], [ %6418, %6415 ]
%6421 = trunc i32 %6420 to i16
store i16 %6421, i16* %16
%6422 = load i16, i16* %13
store i16 %6422, i16* %18
%6423 = load i16, i16* %17
%6424 = sext i16 %6423 to i32
%6425 = icmp eq i32 %6424, 0
br i1 %6425, label %6426, label %6427
6426: ; preds = %6419
br label %6431
6427: ; preds = %6419
%6428 = load i16, i16* %17
%6429 = sext i16 %6428 to i32
%6430 = sub nsw i32 25, %6429
br label %6431
6431: ; preds = %6427, %6426
%6432 = phi i32 [ 0, %6426 ], [ %6430, %6427 ]
%6433 = trunc i32 %6432 to i16
store i16 %6433, i16* %13
%6434 = load i16, i16* %18
%6435 = sext i16 %6434 to i32
%6436 = icmp eq i32 %6435, 0
br i1 %6436, label %6437, label %6438
6437: ; preds = %6431
br label %6442
6438: ; preds = %6431
%6439 = load i16, i16* %18
%6440 = sext i16 %6439 to i32
%6441 = sub nsw i32 25, %6440
br label %6442
6442: ; preds = %6438, %6437
%6443 = phi i32 [ 0, %6437 ], [ %6441, %6438 ]
%6444 = trunc i32 %6443 to i16
store i16 %6444, i16* %17
br label %6445
6445: ; preds = %6442, %6227
br label %6446
6446: ; preds = %6445, %6006
%6447 = load i16, i16* %19
store i16 %6447, i16* %11
br label %6448
6448: ; preds = %6446, %5782, %5776, %5770, %5764, %5753
br label %6449
6449: ; preds = %6448, %5749, %5745
br label %19390
6450: ; preds = %5741
%6451 = load i16, i16* %22
%6452 = sext i16 %6451 to i32
%6453 = icmp eq i32 %6452, 9
br i1 %6453, label %6454, label %7164
6454: ; preds = %6450
%6455 = load i16, i16* %11
%6456 = sext i16 %6455 to i32
%6457 = icmp ne i32 %6456, 0
br i1 %6457, label %6458, label %7163
6458: ; preds = %6454
%6459 = load i16, i16* %11
%6460 = sext i16 %6459 to i32
%6461 = icmp slt i32 %6460, 21
br i1 %6461, label %6462, label %7163
6462: ; preds = %6458
%6463 = load i16, i16* %11
%6464 = sext i16 %6463 to i32
%6465 = srem i32 %6464, 4
%6466 = icmp ne i32 %6465, 0
br i1 %6466, label %6467, label %7163
6467: ; preds = %6462
%6468 = load i16, i16* %11
store i16 %6468, i16* %19
%6469 = load i16, i16* %19
%6470 = sext i16 %6469 to i32
%6471 = add nsw i32 %6470, 5
%6472 = trunc i32 %6471 to i16
store i16 %6472, i16* %20
%6473 = load i16, i16* %20
%6474 = sext i16 %6473 to i32
%6475 = load i16, i16* %10
%6476 = sext i16 %6475 to i32
%6477 = icmp ne i32 %6474, %6476
br i1 %6477, label %6478, label %7162
6478: ; preds = %6467
%6479 = load i16, i16* %20
%6480 = sext i16 %6479 to i32
%6481 = load i16, i16* %12
%6482 = sext i16 %6481 to i32
%6483 = icmp ne i32 %6480, %6482
br i1 %6483, label %6484, label %7162
6484: ; preds = %6478
%6485 = load i16, i16* %20
%6486 = sext i16 %6485 to i32
%6487 = load i16, i16* %13
%6488 = sext i16 %6487 to i32
%6489 = icmp ne i32 %6486, %6488
br i1 %6489, label %6490, label %7162
6490: ; preds = %6484
%6491 = load i16, i16* %20
%6492 = sext i16 %6491 to i32
%6493 = load i16, i16* %15
%6494 = sext i16 %6493 to i32
%6495 = icmp ne i32 %6492, %6494
br i1 %6495, label %6496, label %7162
6496: ; preds = %6490
%6497 = load i16, i16* %20
%6498 = sext i16 %6497 to i32
%6499 = load i16, i16* %16
%6500 = sext i16 %6499 to i32
%6501 = icmp ne i32 %6498, %6500
br i1 %6501, label %6502, label %7162
6502: ; preds = %6496
%6503 = load i16, i16* %20
store i16 %6503, i16* %11
%6504 = load i16, i16* %14
%6505 = sext i16 %6504 to i32
%6506 = load i16, i16* %20
%6507 = sext i16 %6506 to i32
%6508 = icmp eq i32 %6505, %6507
br i1 %6508, label %6509, label %6724
6509: ; preds = %6502
store i16 0, i16* %14
%6510 = load i16, i16* %10
store i16 %6510, i16* %18
%6511 = load i16, i16* %14
%6512 = sext i16 %6511 to i32
%6513 = icmp eq i32 %6512, 0
br i1 %6513, label %6514, label %6515
6514: ; preds = %6509
br label %6519
6515: ; preds = %6509
%6516 = load i16, i16* %14
%6517 = sext i16 %6516 to i32
%6518 = sub nsw i32 25, %6517
br label %6519
6519: ; preds = %6515, %6514
%6520 = phi i32 [ 0, %6514 ], [ %6518, %6515 ]
%6521 = trunc i32 %6520 to i16
store i16 %6521, i16* %10
%6522 = load i16, i16* %18
%6523 = sext i16 %6522 to i32
%6524 = icmp eq i32 %6523, 0
br i1 %6524, label %6525, label %6526
6525: ; preds = %6519
br label %6530
6526: ; preds = %6519
%6527 = load i16, i16* %18
%6528 = sext i16 %6527 to i32
%6529 = sub nsw i32 25, %6528
br label %6530
6530: ; preds = %6526, %6525
%6531 = phi i32 [ 0, %6525 ], [ %6529, %6526 ]
%6532 = trunc i32 %6531 to i16
store i16 %6532, i16* %14
%6533 = load i16, i16* %11
store i16 %6533, i16* %18
%6534 = load i16, i16* %15
%6535 = sext i16 %6534 to i32
%6536 = icmp eq i32 %6535, 0
br i1 %6536, label %6537, label %6538
6537: ; preds = %6530
br label %6542
6538: ; preds = %6530
%6539 = load i16, i16* %15
%6540 = sext i16 %6539 to i32
%6541 = sub nsw i32 25, %6540
br label %6542
6542: ; preds = %6538, %6537
%6543 = phi i32 [ 0, %6537 ], [ %6541, %6538 ]
%6544 = trunc i32 %6543 to i16
store i16 %6544, i16* %11
%6545 = load i16, i16* %18
%6546 = sext i16 %6545 to i32
%6547 = icmp eq i32 %6546, 0
br i1 %6547, label %6548, label %6549
6548: ; preds = %6542
br label %6553
6549: ; preds = %6542
%6550 = load i16, i16* %18
%6551 = sext i16 %6550 to i32
%6552 = sub nsw i32 25, %6551
br label %6553
6553: ; preds = %6549, %6548
%6554 = phi i32 [ 0, %6548 ], [ %6552, %6549 ]
%6555 = trunc i32 %6554 to i16
store i16 %6555, i16* %15
%6556 = load i16, i16* %12
store i16 %6556, i16* %18
%6557 = load i16, i16* %16
%6558 = sext i16 %6557 to i32
%6559 = icmp eq i32 %6558, 0
br i1 %6559, label %6560, label %6561
6560: ; preds = %6553
br label %6565
6561: ; preds = %6553
%6562 = load i16, i16* %16
%6563 = sext i16 %6562 to i32
%6564 = sub nsw i32 25, %6563
br label %6565
6565: ; preds = %6561, %6560
%6566 = phi i32 [ 0, %6560 ], [ %6564, %6561 ]
%6567 = trunc i32 %6566 to i16
store i16 %6567, i16* %12
%6568 = load i16, i16* %18
%6569 = sext i16 %6568 to i32
%6570 = icmp eq i32 %6569, 0
br i1 %6570, label %6571, label %6572
6571: ; preds = %6565
br label %6576
6572: ; preds = %6565
%6573 = load i16, i16* %18
%6574 = sext i16 %6573 to i32
%6575 = sub nsw i32 25, %6574
br label %6576
6576: ; preds = %6572, %6571
%6577 = phi i32 [ 0, %6571 ], [ %6575, %6572 ]
%6578 = trunc i32 %6577 to i16
store i16 %6578, i16* %16
%6579 = load i16, i16* %13
store i16 %6579, i16* %18
%6580 = load i16, i16* %17
%6581 = sext i16 %6580 to i32
%6582 = icmp eq i32 %6581, 0
br i1 %6582, label %6583, label %6584
6583: ; preds = %6576
br label %6588
6584: ; preds = %6576
%6585 = load i16, i16* %17
%6586 = sext i16 %6585 to i32
%6587 = sub nsw i32 25, %6586
br label %6588
6588: ; preds = %6584, %6583
%6589 = phi i32 [ 0, %6583 ], [ %6587, %6584 ]
%6590 = trunc i32 %6589 to i16
store i16 %6590, i16* %13
%6591 = load i16, i16* %18
%6592 = sext i16 %6591 to i32
%6593 = icmp eq i32 %6592, 0
br i1 %6593, label %6594, label %6595
6594: ; preds = %6588
br label %6599
6595: ; preds = %6588
%6596 = load i16, i16* %18
%6597 = sext i16 %6596 to i32
%6598 = sub nsw i32 25, %6597
br label %6599
6599: ; preds = %6595, %6594
%6600 = phi i32 [ 0, %6594 ], [ %6598, %6595 ]
%6601 = trunc i32 %6600 to i16
store i16 %6601, i16* %17
%6602 = load i16, i16* %10
%6603 = sext i16 %6602 to i32
%6604 = load i16, i16* %11
%6605 = sext i16 %6604 to i32
%6606 = load i16, i16* %12
%6607 = sext i16 %6606 to i32
%6608 = load i16, i16* %13
%6609 = sext i16 %6608 to i32
%6610 = load i16, i16* %14
%6611 = sext i16 %6610 to i32
%6612 = load i16, i16* %15
%6613 = sext i16 %6612 to i32
%6614 = load i16, i16* %16
%6615 = sext i16 %6614 to i32
%6616 = load i16, i16* %17
%6617 = sext i16 %6616 to i32
%6618 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6603, i32 %6605, i32 %6607, i32 %6609, i32 %6611, i32 %6613, i32 %6615, i32 %6617)
%6619 = trunc i32 %6618 to i16
store i16 %6619, i16* %18
%6620 = load i16, i16* %18
%6621 = sext i16 %6620 to i32
%6622 = icmp eq i32 %6621, -1
br i1 %6622, label %6623, label %6624
6623: ; preds = %6599
store i16 -1, i16* %9
br label %19404
6624: ; preds = %6599
%6625 = load i16, i16* %18
%6626 = sext i16 %6625 to i32
%6627 = icmp sle i32 0, %6626
br i1 %6627, label %6628, label %6630
6628: ; preds = %6624
%6629 = load i16, i16* %22
store i16 %6629, i16* %21
br label %6630
6630: ; preds = %6628, %6624
%6631 = load i16, i16* %10
store i16 %6631, i16* %18
%6632 = load i16, i16* %14
%6633 = sext i16 %6632 to i32
%6634 = icmp eq i32 %6633, 0
br i1 %6634, label %6635, label %6636
6635: ; preds = %6630
br label %6640
6636: ; preds = %6630
%6637 = load i16, i16* %14
%6638 = sext i16 %6637 to i32
%6639 = sub nsw i32 25, %6638
br label %6640
6640: ; preds = %6636, %6635
%6641 = phi i32 [ 0, %6635 ], [ %6639, %6636 ]
%6642 = trunc i32 %6641 to i16
store i16 %6642, i16* %10
%6643 = load i16, i16* %18
%6644 = sext i16 %6643 to i32
%6645 = icmp eq i32 %6644, 0
br i1 %6645, label %6646, label %6647
6646: ; preds = %6640
br label %6651
6647: ; preds = %6640
%6648 = load i16, i16* %18
%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* %14
%6654 = load i16, i16* %11
store i16 %6654, i16* %18
%6655 = load i16, i16* %15
%6656 = sext i16 %6655 to i32
%6657 = icmp eq i32 %6656, 0
br i1 %6657, label %6658, label %6659
6658: ; preds = %6651
br label %6663
6659: ; preds = %6651
%6660 = load i16, i16* %15
%6661 = sext i16 %6660 to i32
%6662 = sub nsw i32 25, %6661
br label %6663
6663: ; preds = %6659, %6658
%6664 = phi i32 [ 0, %6658 ], [ %6662, %6659 ]
%6665 = trunc i32 %6664 to i16
store i16 %6665, i16* %11
%6666 = load i16, i16* %18
%6667 = sext i16 %6666 to i32
%6668 = icmp eq i32 %6667, 0
br i1 %6668, label %6669, label %6670
6669: ; preds = %6663
br label %6674
6670: ; preds = %6663
%6671 = load i16, i16* %18
%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* %15
%6677 = load i16, i16* %12
store i16 %6677, i16* %18
%6678 = load i16, i16* %16
%6679 = sext i16 %6678 to i32
%6680 = icmp eq i32 %6679, 0
br i1 %6680, label %6681, label %6682
6681: ; preds = %6674
br label %6686
6682: ; preds = %6674
%6683 = load i16, i16* %16
%6684 = sext i16 %6683 to i32
%6685 = sub nsw i32 25, %6684
br label %6686
6686: ; preds = %6682, %6681
%6687 = phi i32 [ 0, %6681 ], [ %6685, %6682 ]
%6688 = trunc i32 %6687 to i16
store i16 %6688, i16* %12
%6689 = load i16, i16* %18
%6690 = sext i16 %6689 to i32
%6691 = icmp eq i32 %6690, 0
br i1 %6691, label %6692, label %6693
6692: ; preds = %6686
br label %6697
6693: ; preds = %6686
%6694 = load i16, i16* %18
%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* %16
%6700 = load i16, i16* %13
store i16 %6700, i16* %18
%6701 = load i16, i16* %17
%6702 = sext i16 %6701 to i32
%6703 = icmp eq i32 %6702, 0
br i1 %6703, label %6704, label %6705
6704: ; preds = %6697
br label %6709
6705: ; preds = %6697
%6706 = load i16, i16* %17
%6707 = sext i16 %6706 to i32
%6708 = sub nsw i32 25, %6707
br label %6709
6709: ; preds = %6705, %6704
%6710 = phi i32 [ 0, %6704 ], [ %6708, %6705 ]
%6711 = trunc i32 %6710 to i16
store i16 %6711, i16* %13
%6712 = load i16, i16* %18
%6713 = sext i16 %6712 to i32
%6714 = icmp eq i32 %6713, 0
br i1 %6714, label %6715, label %6716
6715: ; preds = %6709
br label %6720
6716: ; preds = %6709
%6717 = load i16, i16* %18
%6718 = sext i16 %6717 to i32
%6719 = sub nsw i32 25, %6718
br label %6720
6720: ; preds = %6716, %6715
%6721 = phi i32 [ 0, %6715 ], [ %6719, %6716 ]
%6722 = trunc i32 %6721 to i16
store i16 %6722, i16* %17
%6723 = load i16, i16* %20
store i16 %6723, i16* %14
br label %7160
6724: ; preds = %6502
%6725 = load i16, i16* %20
%6726 = sext i16 %6725 to i32
%6727 = load i16, i16* %17
%6728 = sext i16 %6727 to i32
%6729 = icmp eq i32 %6726, %6728
br i1 %6729, label %6730, label %6945
6730: ; preds = %6724
store i16 0, i16* %17
%6731 = load i16, i16* %10
store i16 %6731, i16* %18
%6732 = load i16, i16* %14
%6733 = sext i16 %6732 to i32
%6734 = icmp eq i32 %6733, 0
br i1 %6734, label %6735, label %6736
6735: ; preds = %6730
br label %6740
6736: ; preds = %6730
%6737 = load i16, i16* %14
%6738 = sext i16 %6737 to i32
%6739 = sub nsw i32 25, %6738
br label %6740
6740: ; preds = %6736, %6735
%6741 = phi i32 [ 0, %6735 ], [ %6739, %6736 ]
%6742 = trunc i32 %6741 to i16
store i16 %6742, i16* %10
%6743 = load i16, i16* %18
%6744 = sext i16 %6743 to i32
%6745 = icmp eq i32 %6744, 0
br i1 %6745, label %6746, label %6747
6746: ; preds = %6740
br label %6751
6747: ; preds = %6740
%6748 = load i16, i16* %18
%6749 = sext i16 %6748 to i32
%6750 = sub nsw i32 25, %6749
br label %6751
6751: ; preds = %6747, %6746
%6752 = phi i32 [ 0, %6746 ], [ %6750, %6747 ]
%6753 = trunc i32 %6752 to i16
store i16 %6753, i16* %14
%6754 = load i16, i16* %11
store i16 %6754, i16* %18
%6755 = load i16, i16* %15
%6756 = sext i16 %6755 to i32
%6757 = icmp eq i32 %6756, 0
br i1 %6757, label %6758, label %6759
6758: ; preds = %6751
br label %6763
6759: ; preds = %6751
%6760 = load i16, i16* %15
%6761 = sext i16 %6760 to i32
%6762 = sub nsw i32 25, %6761
br label %6763
6763: ; preds = %6759, %6758
%6764 = phi i32 [ 0, %6758 ], [ %6762, %6759 ]
%6765 = trunc i32 %6764 to i16
store i16 %6765, i16* %11
%6766 = load i16, i16* %18
%6767 = sext i16 %6766 to i32
%6768 = icmp eq i32 %6767, 0
br i1 %6768, label %6769, label %6770
6769: ; preds = %6763
br label %6774
6770: ; preds = %6763
%6771 = load i16, i16* %18
%6772 = sext i16 %6771 to i32
%6773 = sub nsw i32 25, %6772
br label %6774
6774: ; preds = %6770, %6769
%6775 = phi i32 [ 0, %6769 ], [ %6773, %6770 ]
%6776 = trunc i32 %6775 to i16
store i16 %6776, i16* %15
%6777 = load i16, i16* %12
store i16 %6777, i16* %18
%6778 = load i16, i16* %16
%6779 = sext i16 %6778 to i32
%6780 = icmp eq i32 %6779, 0
br i1 %6780, label %6781, label %6782
6781: ; preds = %6774
br label %6786
6782: ; preds = %6774
%6783 = load i16, i16* %16
%6784 = sext i16 %6783 to i32
%6785 = sub nsw i32 25, %6784
br label %6786
6786: ; preds = %6782, %6781
%6787 = phi i32 [ 0, %6781 ], [ %6785, %6782 ]
%6788 = trunc i32 %6787 to i16
store i16 %6788, i16* %12
%6789 = load i16, i16* %18
%6790 = sext i16 %6789 to i32
%6791 = icmp eq i32 %6790, 0
br i1 %6791, label %6792, label %6793
6792: ; preds = %6786
br label %6797
6793: ; preds = %6786
%6794 = load i16, i16* %18
%6795 = sext i16 %6794 to i32
%6796 = sub nsw i32 25, %6795
br label %6797
6797: ; preds = %6793, %6792
%6798 = phi i32 [ 0, %6792 ], [ %6796, %6793 ]
%6799 = trunc i32 %6798 to i16
store i16 %6799, i16* %16
%6800 = load i16, i16* %13
store i16 %6800, i16* %18
%6801 = load i16, i16* %17
%6802 = sext i16 %6801 to i32
%6803 = icmp eq i32 %6802, 0
br i1 %6803, label %6804, label %6805
6804: ; preds = %6797
br label %6809
6805: ; preds = %6797
%6806 = load i16, i16* %17
%6807 = sext i16 %6806 to i32
%6808 = sub nsw i32 25, %6807
br label %6809
6809: ; preds = %6805, %6804
%6810 = phi i32 [ 0, %6804 ], [ %6808, %6805 ]
%6811 = trunc i32 %6810 to i16
store i16 %6811, i16* %13
%6812 = load i16, i16* %18
%6813 = sext i16 %6812 to i32
%6814 = icmp eq i32 %6813, 0
br i1 %6814, label %6815, label %6816
6815: ; preds = %6809
br label %6820
6816: ; preds = %6809
%6817 = load i16, i16* %18
%6818 = sext i16 %6817 to i32
%6819 = sub nsw i32 25, %6818
br label %6820
6820: ; preds = %6816, %6815
%6821 = phi i32 [ 0, %6815 ], [ %6819, %6816 ]
%6822 = trunc i32 %6821 to i16
store i16 %6822, i16* %17
%6823 = load i16, i16* %10
%6824 = sext i16 %6823 to i32
%6825 = load i16, i16* %11
%6826 = sext i16 %6825 to i32
%6827 = load i16, i16* %12
%6828 = sext i16 %6827 to i32
%6829 = load i16, i16* %13
%6830 = sext i16 %6829 to i32
%6831 = load i16, i16* %14
%6832 = sext i16 %6831 to i32
%6833 = load i16, i16* %15
%6834 = sext i16 %6833 to i32
%6835 = load i16, i16* %16
%6836 = sext i16 %6835 to i32
%6837 = load i16, i16* %17
%6838 = sext i16 %6837 to i32
%6839 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %6824, i32 %6826, i32 %6828, i32 %6830, i32 %6832, i32 %6834, i32 %6836, i32 %6838)
%6840 = trunc i32 %6839 to i16
store i16 %6840, i16* %18
%6841 = load i16, i16* %18
%6842 = sext i16 %6841 to i32
%6843 = icmp eq i32 %6842, -1
br i1 %6843, label %6844, label %6845
6844: ; preds = %6820
store i16 -1, i16* %9
br label %19404
6845: ; preds = %6820
%6846 = load i16, i16* %18
%6847 = sext i16 %6846 to i32
%6848 = icmp sle i32 0, %6847
br i1 %6848, label %6849, label %6851
6849: ; preds = %6845
%6850 = load i16, i16* %22
store i16 %6850, i16* %21
br label %6851
6851: ; preds = %6849, %6845
%6852 = load i16, i16* %10
store i16 %6852, i16* %18
%6853 = load i16, i16* %14
%6854 = sext i16 %6853 to i32
%6855 = icmp eq i32 %6854, 0
br i1 %6855, label %6856, label %6857
6856: ; preds = %6851
br label %6861
6857: ; preds = %6851
%6858 = load i16, i16* %14
%6859 = sext i16 %6858 to i32
%6860 = sub nsw i32 25, %6859
br label %6861
6861: ; preds = %6857, %6856
%6862 = phi i32 [ 0, %6856 ], [ %6860, %6857 ]
%6863 = trunc i32 %6862 to i16
store i16 %6863, i16* %10
%6864 = load i16, i16* %18
%6865 = sext i16 %6864 to i32
%6866 = icmp eq i32 %6865, 0
br i1 %6866, label %6867, label %6868
6867: ; preds = %6861
br label %6872
6868: ; preds = %6861
%6869 = load i16, i16* %18
%6870 = sext i16 %6869 to i32
%6871 = sub nsw i32 25, %6870
br label %6872
6872: ; preds = %6868, %6867
%6873 = phi i32 [ 0, %6867 ], [ %6871, %6868 ]
%6874 = trunc i32 %6873 to i16
store i16 %6874, i16* %14
%6875 = load i16, i16* %11
store i16 %6875, i16* %18
%6876 = load i16, i16* %15
%6877 = sext i16 %6876 to i32
%6878 = icmp eq i32 %6877, 0
br i1 %6878, label %6879, label %6880
6879: ; preds = %6872
br label %6884
6880: ; preds = %6872
%6881 = load i16, i16* %15
%6882 = sext i16 %6881 to i32
%6883 = sub nsw i32 25, %6882
br label %6884
6884: ; preds = %6880, %6879
%6885 = phi i32 [ 0, %6879 ], [ %6883, %6880 ]
%6886 = trunc i32 %6885 to i16
store i16 %6886, i16* %11
%6887 = load i16, i16* %18
%6888 = sext i16 %6887 to i32
%6889 = icmp eq i32 %6888, 0
br i1 %6889, label %6890, label %6891
6890: ; preds = %6884
br label %6895
6891: ; preds = %6884
%6892 = load i16, i16* %18
%6893 = sext i16 %6892 to i32
%6894 = sub nsw i32 25, %6893
br label %6895
6895: ; preds = %6891, %6890
%6896 = phi i32 [ 0, %6890 ], [ %6894, %6891 ]
%6897 = trunc i32 %6896 to i16
store i16 %6897, i16* %15
%6898 = load i16, i16* %12
store i16 %6898, i16* %18
%6899 = load i16, i16* %16
%6900 = sext i16 %6899 to i32
%6901 = icmp eq i32 %6900, 0
br i1 %6901, label %6902, label %6903
6902: ; preds = %6895
br label %6907
6903: ; preds = %6895
%6904 = load i16, i16* %16
%6905 = sext i16 %6904 to i32
%6906 = sub nsw i32 25, %6905
br label %6907
6907: ; preds = %6903, %6902
%6908 = phi i32 [ 0, %6902 ], [ %6906, %6903 ]
%6909 = trunc i32 %6908 to i16
store i16 %6909, i16* %12
%6910 = load i16, i16* %18
%6911 = sext i16 %6910 to i32
%6912 = icmp eq i32 %6911, 0
br i1 %6912, label %6913, label %6914
6913: ; preds = %6907
br label %6918
6914: ; preds = %6907
%6915 = load i16, i16* %18
%6916 = sext i16 %6915 to i32
%6917 = sub nsw i32 25, %6916
br label %6918
6918: ; preds = %6914, %6913
%6919 = phi i32 [ 0, %6913 ], [ %6917, %6914 ]
%6920 = trunc i32 %6919 to i16
store i16 %6920, i16* %16
%6921 = load i16, i16* %13
store i16 %6921, i16* %18
%6922 = load i16, i16* %17
%6923 = sext i16 %6922 to i32
%6924 = icmp eq i32 %6923, 0
br i1 %6924, label %6925, label %6926
6925: ; preds = %6918
br label %6930
6926: ; preds = %6918
%6927 = load i16, i16* %17
%6928 = sext i16 %6927 to i32
%6929 = sub nsw i32 25, %6928
br label %6930
6930: ; preds = %6926, %6925
%6931 = phi i32 [ 0, %6925 ], [ %6929, %6926 ]
%6932 = trunc i32 %6931 to i16
store i16 %6932, i16* %13
%6933 = load i16, i16* %18
%6934 = sext i16 %6933 to i32
%6935 = icmp eq i32 %6934, 0
br i1 %6935, label %6936, label %6937
6936: ; preds = %6930
br label %6941
6937: ; preds = %6930
%6938 = load i16, i16* %18
%6939 = sext i16 %6938 to i32
%6940 = sub nsw i32 25, %6939
br label %6941
6941: ; preds = %6937, %6936
%6942 = phi i32 [ 0, %6936 ], [ %6940, %6937 ]
%6943 = trunc i32 %6942 to i16
store i16 %6943, i16* %17
%6944 = load i16, i16* %20
store i16 %6944, i16* %17
br label %7159
6945: ; preds = %6724
%6946 = load i16, i16* %10
store i16 %6946, i16* %18
%6947 = load i16, i16* %14
%6948 = sext i16 %6947 to i32
%6949 = icmp eq i32 %6948, 0
br i1 %6949, label %6950, label %6951
6950: ; preds = %6945
br label %6955
6951: ; preds = %6945
%6952 = load i16, i16* %14
%6953 = sext i16 %6952 to i32
%6954 = sub nsw i32 25, %6953
br label %6955
6955: ; preds = %6951, %6950
%6956 = phi i32 [ 0, %6950 ], [ %6954, %6951 ]
%6957 = trunc i32 %6956 to i16
store i16 %6957, i16* %10
%6958 = load i16, i16* %18
%6959 = sext i16 %6958 to i32
%6960 = icmp eq i32 %6959, 0
br i1 %6960, label %6961, label %6962
6961: ; preds = %6955
br label %6966
6962: ; preds = %6955
%6963 = load i16, i16* %18
%6964 = sext i16 %6963 to i32
%6965 = sub nsw i32 25, %6964
br label %6966
6966: ; preds = %6962, %6961
%6967 = phi i32 [ 0, %6961 ], [ %6965, %6962 ]
%6968 = trunc i32 %6967 to i16
store i16 %6968, i16* %14
%6969 = load i16, i16* %11
store i16 %6969, i16* %18
%6970 = load i16, i16* %15
%6971 = sext i16 %6970 to i32
%6972 = icmp eq i32 %6971, 0
br i1 %6972, label %6973, label %6974
6973: ; preds = %6966
br label %6978
6974: ; preds = %6966
%6975 = load i16, i16* %15
%6976 = sext i16 %6975 to i32
%6977 = sub nsw i32 25, %6976
br label %6978
6978: ; preds = %6974, %6973
%6979 = phi i32 [ 0, %6973 ], [ %6977, %6974 ]
%6980 = trunc i32 %6979 to i16
store i16 %6980, i16* %11
%6981 = load i16, i16* %18
%6982 = sext i16 %6981 to i32
%6983 = icmp eq i32 %6982, 0
br i1 %6983, label %6984, label %6985
6984: ; preds = %6978
br label %6989
6985: ; preds = %6978
%6986 = load i16, i16* %18
%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* %15
%6992 = load i16, i16* %12
store i16 %6992, i16* %18
%6993 = load i16, i16* %16
%6994 = sext i16 %6993 to i32
%6995 = icmp eq i32 %6994, 0
br i1 %6995, label %6996, label %6997
6996: ; preds = %6989
br label %7001
6997: ; preds = %6989
%6998 = load i16, i16* %16
%6999 = sext i16 %6998 to i32
%7000 = sub nsw i32 25, %6999
br label %7001
7001: ; preds = %6997, %6996
%7002 = phi i32 [ 0, %6996 ], [ %7000, %6997 ]
%7003 = trunc i32 %7002 to i16
store i16 %7003, i16* %12
%7004 = load i16, i16* %18
%7005 = sext i16 %7004 to i32
%7006 = icmp eq i32 %7005, 0
br i1 %7006, label %7007, label %7008
7007: ; preds = %7001
br label %7012
7008: ; preds = %7001
%7009 = load i16, i16* %18
%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* %16
%7015 = load i16, i16* %13
store i16 %7015, i16* %18
%7016 = load i16, i16* %17
%7017 = sext i16 %7016 to i32
%7018 = icmp eq i32 %7017, 0
br i1 %7018, label %7019, label %7020
7019: ; preds = %7012
br label %7024
7020: ; preds = %7012
%7021 = load i16, i16* %17
%7022 = sext i16 %7021 to i32
%7023 = sub nsw i32 25, %7022
br label %7024
7024: ; preds = %7020, %7019
%7025 = phi i32 [ 0, %7019 ], [ %7023, %7020 ]
%7026 = trunc i32 %7025 to i16
store i16 %7026, i16* %13
%7027 = load i16, i16* %18
%7028 = sext i16 %7027 to i32
%7029 = icmp eq i32 %7028, 0
br i1 %7029, label %7030, label %7031
7030: ; preds = %7024
br label %7035
7031: ; preds = %7024
%7032 = load i16, i16* %18
%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* %17
%7038 = load i16, i16* %10
%7039 = sext i16 %7038 to i32
%7040 = load i16, i16* %11
%7041 = sext i16 %7040 to i32
%7042 = load i16, i16* %12
%7043 = sext i16 %7042 to i32
%7044 = load i16, i16* %13
%7045 = sext i16 %7044 to i32
%7046 = load i16, i16* %14
%7047 = sext i16 %7046 to i32
%7048 = load i16, i16* %15
%7049 = sext i16 %7048 to i32
%7050 = load i16, i16* %16
%7051 = sext i16 %7050 to i32
%7052 = load i16, i16* %17
%7053 = sext i16 %7052 to i32
%7054 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7039, i32 %7041, i32 %7043, i32 %7045, i32 %7047, i32 %7049, i32 %7051, i32 %7053)
%7055 = trunc i32 %7054 to i16
store i16 %7055, i16* %18
%7056 = load i16, i16* %18
%7057 = sext i16 %7056 to i32
%7058 = icmp eq i32 %7057, -1
br i1 %7058, label %7059, label %7060
7059: ; preds = %7035
store i16 -1, i16* %9
br label %19404
7060: ; preds = %7035
%7061 = load i16, i16* %18
%7062 = sext i16 %7061 to i32
%7063 = icmp sle i32 0, %7062
br i1 %7063, label %7064, label %7066
7064: ; preds = %7060
%7065 = load i16, i16* %22
store i16 %7065, i16* %21
br label %7066
7066: ; preds = %7064, %7060
%7067 = load i16, i16* %10
store i16 %7067, i16* %18
%7068 = load i16, i16* %14
%7069 = sext i16 %7068 to i32
%7070 = icmp eq i32 %7069, 0
br i1 %7070, label %7071, label %7072
7071: ; preds = %7066
br label %7076
7072: ; preds = %7066
%7073 = load i16, i16* %14
%7074 = sext i16 %7073 to i32
%7075 = sub nsw i32 25, %7074
br label %7076
7076: ; preds = %7072, %7071
%7077 = phi i32 [ 0, %7071 ], [ %7075, %7072 ]
%7078 = trunc i32 %7077 to i16
store i16 %7078, i16* %10
%7079 = load i16, i16* %18
%7080 = sext i16 %7079 to i32
%7081 = icmp eq i32 %7080, 0
br i1 %7081, label %7082, label %7083
7082: ; preds = %7076
br label %7087
7083: ; preds = %7076
%7084 = load i16, i16* %18
%7085 = sext i16 %7084 to i32
%7086 = sub nsw i32 25, %7085
br label %7087
7087: ; preds = %7083, %7082
%7088 = phi i32 [ 0, %7082 ], [ %7086, %7083 ]
%7089 = trunc i32 %7088 to i16
store i16 %7089, i16* %14
%7090 = load i16, i16* %11
store i16 %7090, i16* %18
%7091 = load i16, i16* %15
%7092 = sext i16 %7091 to i32
%7093 = icmp eq i32 %7092, 0
br i1 %7093, label %7094, label %7095
7094: ; preds = %7087
br label %7099
7095: ; preds = %7087
%7096 = load i16, i16* %15
%7097 = sext i16 %7096 to i32
%7098 = sub nsw i32 25, %7097
br label %7099
7099: ; preds = %7095, %7094
%7100 = phi i32 [ 0, %7094 ], [ %7098, %7095 ]
%7101 = trunc i32 %7100 to i16
store i16 %7101, i16* %11
%7102 = load i16, i16* %18
%7103 = sext i16 %7102 to i32
%7104 = icmp eq i32 %7103, 0
br i1 %7104, label %7105, label %7106
7105: ; preds = %7099
br label %7110
7106: ; preds = %7099
%7107 = load i16, i16* %18
%7108 = sext i16 %7107 to i32
%7109 = sub nsw i32 25, %7108
br label %7110
7110: ; preds = %7106, %7105
%7111 = phi i32 [ 0, %7105 ], [ %7109, %7106 ]
%7112 = trunc i32 %7111 to i16
store i16 %7112, i16* %15
%7113 = load i16, i16* %12
store i16 %7113, i16* %18
%7114 = load i16, i16* %16
%7115 = sext i16 %7114 to i32
%7116 = icmp eq i32 %7115, 0
br i1 %7116, label %7117, label %7118
7117: ; preds = %7110
br label %7122
7118: ; preds = %7110
%7119 = load i16, i16* %16
%7120 = sext i16 %7119 to i32
%7121 = sub nsw i32 25, %7120
br label %7122
7122: ; preds = %7118, %7117
%7123 = phi i32 [ 0, %7117 ], [ %7121, %7118 ]
%7124 = trunc i32 %7123 to i16
store i16 %7124, i16* %12
%7125 = load i16, i16* %18
%7126 = sext i16 %7125 to i32
%7127 = icmp eq i32 %7126, 0
br i1 %7127, label %7128, label %7129
7128: ; preds = %7122
br label %7133
7129: ; preds = %7122
%7130 = load i16, i16* %18
%7131 = sext i16 %7130 to i32
%7132 = sub nsw i32 25, %7131
br label %7133
7133: ; preds = %7129, %7128
%7134 = phi i32 [ 0, %7128 ], [ %7132, %7129 ]
%7135 = trunc i32 %7134 to i16
store i16 %7135, i16* %16
%7136 = load i16, i16* %13
store i16 %7136, i16* %18
%7137 = load i16, i16* %17
%7138 = sext i16 %7137 to i32
%7139 = icmp eq i32 %7138, 0
br i1 %7139, label %7140, label %7141
7140: ; preds = %7133
br label %7145
7141: ; preds = %7133
%7142 = load i16, i16* %17
%7143 = sext i16 %7142 to i32
%7144 = sub nsw i32 25, %7143
br label %7145
7145: ; preds = %7141, %7140
%7146 = phi i32 [ 0, %7140 ], [ %7144, %7141 ]
%7147 = trunc i32 %7146 to i16
store i16 %7147, i16* %13
%7148 = load i16, i16* %18
%7149 = sext i16 %7148 to i32
%7150 = icmp eq i32 %7149, 0
br i1 %7150, label %7151, label %7152
7151: ; preds = %7145
br label %7156
7152: ; preds = %7145
%7153 = load i16, i16* %18
%7154 = sext i16 %7153 to i32
%7155 = sub nsw i32 25, %7154
br label %7156
7156: ; preds = %7152, %7151
%7157 = phi i32 [ 0, %7151 ], [ %7155, %7152 ]
%7158 = trunc i32 %7157 to i16
store i16 %7158, i16* %17
br label %7159
7159: ; preds = %7156, %6941
br label %7160
7160: ; preds = %7159, %6720
%7161 = load i16, i16* %19
store i16 %7161, i16* %11
br label %7162
7162: ; preds = %7160, %6496, %6490, %6484, %6478, %6467
br label %7163
7163: ; preds = %7162, %6462, %6458, %6454
br label %19389
7164: ; preds = %6450
%7165 = load i16, i16* %22
%7166 = sext i16 %7165 to i32
%7167 = icmp eq i32 %7166, 10
br i1 %7167, label %7168, label %7874
7168: ; preds = %7164
%7169 = load i16, i16* %11
%7170 = sext i16 %7169 to i32
%7171 = icmp ne i32 %7170, 0
br i1 %7171, label %7172, label %7873
7172: ; preds = %7168
%7173 = load i16, i16* %11
%7174 = sext i16 %7173 to i32
%7175 = srem i32 %7174, 4
%7176 = icmp ne i32 %7175, 0
br i1 %7176, label %7177, label %7873
7177: ; preds = %7172
%7178 = load i16, i16* %11
store i16 %7178, i16* %19
%7179 = load i16, i16* %19
%7180 = sext i16 %7179 to i32
%7181 = add nsw i32 %7180, 1
%7182 = trunc i32 %7181 to i16
store i16 %7182, i16* %20
%7183 = load i16, i16* %20
%7184 = sext i16 %7183 to i32
%7185 = load i16, i16* %10
%7186 = sext i16 %7185 to i32
%7187 = icmp ne i32 %7184, %7186
br i1 %7187, label %7188, label %7872
7188: ; preds = %7177
%7189 = load i16, i16* %20
%7190 = sext i16 %7189 to i32
%7191 = load i16, i16* %12
%7192 = sext i16 %7191 to i32
%7193 = icmp ne i32 %7190, %7192
br i1 %7193, label %7194, label %7872
7194: ; preds = %7188
%7195 = load i16, i16* %20
%7196 = sext i16 %7195 to i32
%7197 = load i16, i16* %13
%7198 = sext i16 %7197 to i32
%7199 = icmp ne i32 %7196, %7198
br i1 %7199, label %7200, label %7872
7200: ; preds = %7194
%7201 = load i16, i16* %20
%7202 = sext i16 %7201 to i32
%7203 = load i16, i16* %15
%7204 = sext i16 %7203 to i32
%7205 = icmp ne i32 %7202, %7204
br i1 %7205, label %7206, label %7872
7206: ; preds = %7200
%7207 = load i16, i16* %20
%7208 = sext i16 %7207 to i32
%7209 = load i16, i16* %16
%7210 = sext i16 %7209 to i32
%7211 = icmp ne i32 %7208, %7210
br i1 %7211, label %7212, label %7872
7212: ; preds = %7206
%7213 = load i16, i16* %20
store i16 %7213, i16* %11
%7214 = load i16, i16* %14
%7215 = sext i16 %7214 to i32
%7216 = load i16, i16* %20
%7217 = sext i16 %7216 to i32
%7218 = icmp eq i32 %7215, %7217
br i1 %7218, label %7219, label %7434
7219: ; preds = %7212
store i16 0, i16* %14
%7220 = load i16, i16* %10
store i16 %7220, i16* %18
%7221 = load i16, i16* %14
%7222 = sext i16 %7221 to i32
%7223 = icmp eq i32 %7222, 0
br i1 %7223, label %7224, label %7225
7224: ; preds = %7219
br label %7229
7225: ; preds = %7219
%7226 = load i16, i16* %14
%7227 = sext i16 %7226 to i32
%7228 = sub nsw i32 25, %7227
br label %7229
7229: ; preds = %7225, %7224
%7230 = phi i32 [ 0, %7224 ], [ %7228, %7225 ]
%7231 = trunc i32 %7230 to i16
store i16 %7231, i16* %10
%7232 = load i16, i16* %18
%7233 = sext i16 %7232 to i32
%7234 = icmp eq i32 %7233, 0
br i1 %7234, label %7235, label %7236
7235: ; preds = %7229
br label %7240
7236: ; preds = %7229
%7237 = load i16, i16* %18
%7238 = sext i16 %7237 to i32
%7239 = sub nsw i32 25, %7238
br label %7240
7240: ; preds = %7236, %7235
%7241 = phi i32 [ 0, %7235 ], [ %7239, %7236 ]
%7242 = trunc i32 %7241 to i16
store i16 %7242, i16* %14
%7243 = load i16, i16* %11
store i16 %7243, i16* %18
%7244 = load i16, i16* %15
%7245 = sext i16 %7244 to i32
%7246 = icmp eq i32 %7245, 0
br i1 %7246, label %7247, label %7248
7247: ; preds = %7240
br label %7252
7248: ; preds = %7240
%7249 = load i16, i16* %15
%7250 = sext i16 %7249 to i32
%7251 = sub nsw i32 25, %7250
br label %7252
7252: ; preds = %7248, %7247
%7253 = phi i32 [ 0, %7247 ], [ %7251, %7248 ]
%7254 = trunc i32 %7253 to i16
store i16 %7254, i16* %11
%7255 = load i16, i16* %18
%7256 = sext i16 %7255 to i32
%7257 = icmp eq i32 %7256, 0
br i1 %7257, label %7258, label %7259
7258: ; preds = %7252
br label %7263
7259: ; preds = %7252
%7260 = load i16, i16* %18
%7261 = sext i16 %7260 to i32
%7262 = sub nsw i32 25, %7261
br label %7263
7263: ; preds = %7259, %7258
%7264 = phi i32 [ 0, %7258 ], [ %7262, %7259 ]
%7265 = trunc i32 %7264 to i16
store i16 %7265, i16* %15
%7266 = load i16, i16* %12
store i16 %7266, i16* %18
%7267 = load i16, i16* %16
%7268 = sext i16 %7267 to i32
%7269 = icmp eq i32 %7268, 0
br i1 %7269, label %7270, label %7271
7270: ; preds = %7263
br label %7275
7271: ; preds = %7263
%7272 = load i16, i16* %16
%7273 = sext i16 %7272 to i32
%7274 = sub nsw i32 25, %7273
br label %7275
7275: ; preds = %7271, %7270
%7276 = phi i32 [ 0, %7270 ], [ %7274, %7271 ]
%7277 = trunc i32 %7276 to i16
store i16 %7277, i16* %12
%7278 = load i16, i16* %18
%7279 = sext i16 %7278 to i32
%7280 = icmp eq i32 %7279, 0
br i1 %7280, label %7281, label %7282
7281: ; preds = %7275
br label %7286
7282: ; preds = %7275
%7283 = load i16, i16* %18
%7284 = sext i16 %7283 to i32
%7285 = sub nsw i32 25, %7284
br label %7286
7286: ; preds = %7282, %7281
%7287 = phi i32 [ 0, %7281 ], [ %7285, %7282 ]
%7288 = trunc i32 %7287 to i16
store i16 %7288, i16* %16
%7289 = load i16, i16* %13
store i16 %7289, i16* %18
%7290 = load i16, i16* %17
%7291 = sext i16 %7290 to i32
%7292 = icmp eq i32 %7291, 0
br i1 %7292, label %7293, label %7294
7293: ; preds = %7286
br label %7298
7294: ; preds = %7286
%7295 = load i16, i16* %17
%7296 = sext i16 %7295 to i32
%7297 = sub nsw i32 25, %7296
br label %7298
7298: ; preds = %7294, %7293
%7299 = phi i32 [ 0, %7293 ], [ %7297, %7294 ]
%7300 = trunc i32 %7299 to i16
store i16 %7300, i16* %13
%7301 = load i16, i16* %18
%7302 = sext i16 %7301 to i32
%7303 = icmp eq i32 %7302, 0
br i1 %7303, label %7304, label %7305
7304: ; preds = %7298
br label %7309
7305: ; preds = %7298
%7306 = load i16, i16* %18
%7307 = sext i16 %7306 to i32
%7308 = sub nsw i32 25, %7307
br label %7309
7309: ; preds = %7305, %7304
%7310 = phi i32 [ 0, %7304 ], [ %7308, %7305 ]
%7311 = trunc i32 %7310 to i16
store i16 %7311, i16* %17
%7312 = load i16, i16* %10
%7313 = sext i16 %7312 to i32
%7314 = load i16, i16* %11
%7315 = sext i16 %7314 to i32
%7316 = load i16, i16* %12
%7317 = sext i16 %7316 to i32
%7318 = load i16, i16* %13
%7319 = sext i16 %7318 to i32
%7320 = load i16, i16* %14
%7321 = sext i16 %7320 to i32
%7322 = load i16, i16* %15
%7323 = sext i16 %7322 to i32
%7324 = load i16, i16* %16
%7325 = sext i16 %7324 to i32
%7326 = load i16, i16* %17
%7327 = sext i16 %7326 to i32
%7328 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7313, i32 %7315, i32 %7317, i32 %7319, i32 %7321, i32 %7323, i32 %7325, i32 %7327)
%7329 = trunc i32 %7328 to i16
store i16 %7329, i16* %18
%7330 = load i16, i16* %18
%7331 = sext i16 %7330 to i32
%7332 = icmp eq i32 %7331, -1
br i1 %7332, label %7333, label %7334
7333: ; preds = %7309
store i16 -1, i16* %9
br label %19404
7334: ; preds = %7309
%7335 = load i16, i16* %18
%7336 = sext i16 %7335 to i32
%7337 = icmp sle i32 0, %7336
br i1 %7337, label %7338, label %7340
7338: ; preds = %7334
%7339 = load i16, i16* %22
store i16 %7339, i16* %21
br label %7340
7340: ; preds = %7338, %7334
%7341 = load i16, i16* %10
store i16 %7341, i16* %18
%7342 = load i16, i16* %14
%7343 = sext i16 %7342 to i32
%7344 = icmp eq i32 %7343, 0
br i1 %7344, label %7345, label %7346
7345: ; preds = %7340
br label %7350
7346: ; preds = %7340
%7347 = load i16, i16* %14
%7348 = sext i16 %7347 to i32
%7349 = sub nsw i32 25, %7348
br label %7350
7350: ; preds = %7346, %7345
%7351 = phi i32 [ 0, %7345 ], [ %7349, %7346 ]
%7352 = trunc i32 %7351 to i16
store i16 %7352, i16* %10
%7353 = load i16, i16* %18
%7354 = sext i16 %7353 to i32
%7355 = icmp eq i32 %7354, 0
br i1 %7355, label %7356, label %7357
7356: ; preds = %7350
br label %7361
7357: ; preds = %7350
%7358 = load i16, i16* %18
%7359 = sext i16 %7358 to i32
%7360 = sub nsw i32 25, %7359
br label %7361
7361: ; preds = %7357, %7356
%7362 = phi i32 [ 0, %7356 ], [ %7360, %7357 ]
%7363 = trunc i32 %7362 to i16
store i16 %7363, i16* %14
%7364 = load i16, i16* %11
store i16 %7364, i16* %18
%7365 = load i16, i16* %15
%7366 = sext i16 %7365 to i32
%7367 = icmp eq i32 %7366, 0
br i1 %7367, label %7368, label %7369
7368: ; preds = %7361
br label %7373
7369: ; preds = %7361
%7370 = load i16, i16* %15
%7371 = sext i16 %7370 to i32
%7372 = sub nsw i32 25, %7371
br label %7373
7373: ; preds = %7369, %7368
%7374 = phi i32 [ 0, %7368 ], [ %7372, %7369 ]
%7375 = trunc i32 %7374 to i16
store i16 %7375, i16* %11
%7376 = load i16, i16* %18
%7377 = sext i16 %7376 to i32
%7378 = icmp eq i32 %7377, 0
br i1 %7378, label %7379, label %7380
7379: ; preds = %7373
br label %7384
7380: ; preds = %7373
%7381 = load i16, i16* %18
%7382 = sext i16 %7381 to i32
%7383 = sub nsw i32 25, %7382
br label %7384
7384: ; preds = %7380, %7379
%7385 = phi i32 [ 0, %7379 ], [ %7383, %7380 ]
%7386 = trunc i32 %7385 to i16
store i16 %7386, i16* %15
%7387 = load i16, i16* %12
store i16 %7387, i16* %18
%7388 = load i16, i16* %16
%7389 = sext i16 %7388 to i32
%7390 = icmp eq i32 %7389, 0
br i1 %7390, label %7391, label %7392
7391: ; preds = %7384
br label %7396
7392: ; preds = %7384
%7393 = load i16, i16* %16
%7394 = sext i16 %7393 to i32
%7395 = sub nsw i32 25, %7394
br label %7396
7396: ; preds = %7392, %7391
%7397 = phi i32 [ 0, %7391 ], [ %7395, %7392 ]
%7398 = trunc i32 %7397 to i16
store i16 %7398, i16* %12
%7399 = load i16, i16* %18
%7400 = sext i16 %7399 to i32
%7401 = icmp eq i32 %7400, 0
br i1 %7401, label %7402, label %7403
7402: ; preds = %7396
br label %7407
7403: ; preds = %7396
%7404 = load i16, i16* %18
%7405 = sext i16 %7404 to i32
%7406 = sub nsw i32 25, %7405
br label %7407
7407: ; preds = %7403, %7402
%7408 = phi i32 [ 0, %7402 ], [ %7406, %7403 ]
%7409 = trunc i32 %7408 to i16
store i16 %7409, i16* %16
%7410 = load i16, i16* %13
store i16 %7410, i16* %18
%7411 = load i16, i16* %17
%7412 = sext i16 %7411 to i32
%7413 = icmp eq i32 %7412, 0
br i1 %7413, label %7414, label %7415
7414: ; preds = %7407
br label %7419
7415: ; preds = %7407
%7416 = load i16, i16* %17
%7417 = sext i16 %7416 to i32
%7418 = sub nsw i32 25, %7417
br label %7419
7419: ; preds = %7415, %7414
%7420 = phi i32 [ 0, %7414 ], [ %7418, %7415 ]
%7421 = trunc i32 %7420 to i16
store i16 %7421, i16* %13
%7422 = load i16, i16* %18
%7423 = sext i16 %7422 to i32
%7424 = icmp eq i32 %7423, 0
br i1 %7424, label %7425, label %7426
7425: ; preds = %7419
br label %7430
7426: ; preds = %7419
%7427 = load i16, i16* %18
%7428 = sext i16 %7427 to i32
%7429 = sub nsw i32 25, %7428
br label %7430
7430: ; preds = %7426, %7425
%7431 = phi i32 [ 0, %7425 ], [ %7429, %7426 ]
%7432 = trunc i32 %7431 to i16
store i16 %7432, i16* %17
%7433 = load i16, i16* %20
store i16 %7433, i16* %14
br label %7870
7434: ; preds = %7212
%7435 = load i16, i16* %20
%7436 = sext i16 %7435 to i32
%7437 = load i16, i16* %17
%7438 = sext i16 %7437 to i32
%7439 = icmp eq i32 %7436, %7438
br i1 %7439, label %7440, label %7655
7440: ; preds = %7434
store i16 0, i16* %17
%7441 = load i16, i16* %10
store i16 %7441, i16* %18
%7442 = load i16, i16* %14
%7443 = sext i16 %7442 to i32
%7444 = icmp eq i32 %7443, 0
br i1 %7444, label %7445, label %7446
7445: ; preds = %7440
br label %7450
7446: ; preds = %7440
%7447 = load i16, i16* %14
%7448 = sext i16 %7447 to i32
%7449 = sub nsw i32 25, %7448
br label %7450
7450: ; preds = %7446, %7445
%7451 = phi i32 [ 0, %7445 ], [ %7449, %7446 ]
%7452 = trunc i32 %7451 to i16
store i16 %7452, i16* %10
%7453 = load i16, i16* %18
%7454 = sext i16 %7453 to i32
%7455 = icmp eq i32 %7454, 0
br i1 %7455, label %7456, label %7457
7456: ; preds = %7450
br label %7461
7457: ; preds = %7450
%7458 = load i16, i16* %18
%7459 = sext i16 %7458 to i32
%7460 = sub nsw i32 25, %7459
br label %7461
7461: ; preds = %7457, %7456
%7462 = phi i32 [ 0, %7456 ], [ %7460, %7457 ]
%7463 = trunc i32 %7462 to i16
store i16 %7463, i16* %14
%7464 = load i16, i16* %11
store i16 %7464, i16* %18
%7465 = load i16, i16* %15
%7466 = sext i16 %7465 to i32
%7467 = icmp eq i32 %7466, 0
br i1 %7467, label %7468, label %7469
7468: ; preds = %7461
br label %7473
7469: ; preds = %7461
%7470 = load i16, i16* %15
%7471 = sext i16 %7470 to i32
%7472 = sub nsw i32 25, %7471
br label %7473
7473: ; preds = %7469, %7468
%7474 = phi i32 [ 0, %7468 ], [ %7472, %7469 ]
%7475 = trunc i32 %7474 to i16
store i16 %7475, i16* %11
%7476 = load i16, i16* %18
%7477 = sext i16 %7476 to i32
%7478 = icmp eq i32 %7477, 0
br i1 %7478, label %7479, label %7480
7479: ; preds = %7473
br label %7484
7480: ; preds = %7473
%7481 = load i16, i16* %18
%7482 = sext i16 %7481 to i32
%7483 = sub nsw i32 25, %7482
br label %7484
7484: ; preds = %7480, %7479
%7485 = phi i32 [ 0, %7479 ], [ %7483, %7480 ]
%7486 = trunc i32 %7485 to i16
store i16 %7486, i16* %15
%7487 = load i16, i16* %12
store i16 %7487, i16* %18
%7488 = load i16, i16* %16
%7489 = sext i16 %7488 to i32
%7490 = icmp eq i32 %7489, 0
br i1 %7490, label %7491, label %7492
7491: ; preds = %7484
br label %7496
7492: ; preds = %7484
%7493 = load i16, i16* %16
%7494 = sext i16 %7493 to i32
%7495 = sub nsw i32 25, %7494
br label %7496
7496: ; preds = %7492, %7491
%7497 = phi i32 [ 0, %7491 ], [ %7495, %7492 ]
%7498 = trunc i32 %7497 to i16
store i16 %7498, i16* %12
%7499 = load i16, i16* %18
%7500 = sext i16 %7499 to i32
%7501 = icmp eq i32 %7500, 0
br i1 %7501, label %7502, label %7503
7502: ; preds = %7496
br label %7507
7503: ; preds = %7496
%7504 = load i16, i16* %18
%7505 = sext i16 %7504 to i32
%7506 = sub nsw i32 25, %7505
br label %7507
7507: ; preds = %7503, %7502
%7508 = phi i32 [ 0, %7502 ], [ %7506, %7503 ]
%7509 = trunc i32 %7508 to i16
store i16 %7509, i16* %16
%7510 = load i16, i16* %13
store i16 %7510, i16* %18
%7511 = load i16, i16* %17
%7512 = sext i16 %7511 to i32
%7513 = icmp eq i32 %7512, 0
br i1 %7513, label %7514, label %7515
7514: ; preds = %7507
br label %7519
7515: ; preds = %7507
%7516 = load i16, i16* %17
%7517 = sext i16 %7516 to i32
%7518 = sub nsw i32 25, %7517
br label %7519
7519: ; preds = %7515, %7514
%7520 = phi i32 [ 0, %7514 ], [ %7518, %7515 ]
%7521 = trunc i32 %7520 to i16
store i16 %7521, i16* %13
%7522 = load i16, i16* %18
%7523 = sext i16 %7522 to i32
%7524 = icmp eq i32 %7523, 0
br i1 %7524, label %7525, label %7526
7525: ; preds = %7519
br label %7530
7526: ; preds = %7519
%7527 = load i16, i16* %18
%7528 = sext i16 %7527 to i32
%7529 = sub nsw i32 25, %7528
br label %7530
7530: ; preds = %7526, %7525
%7531 = phi i32 [ 0, %7525 ], [ %7529, %7526 ]
%7532 = trunc i32 %7531 to i16
store i16 %7532, i16* %17
%7533 = load i16, i16* %10
%7534 = sext i16 %7533 to i32
%7535 = load i16, i16* %11
%7536 = sext i16 %7535 to i32
%7537 = load i16, i16* %12
%7538 = sext i16 %7537 to i32
%7539 = load i16, i16* %13
%7540 = sext i16 %7539 to i32
%7541 = load i16, i16* %14
%7542 = sext i16 %7541 to i32
%7543 = load i16, i16* %15
%7544 = sext i16 %7543 to i32
%7545 = load i16, i16* %16
%7546 = sext i16 %7545 to i32
%7547 = load i16, i16* %17
%7548 = sext i16 %7547 to i32
%7549 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7534, i32 %7536, i32 %7538, i32 %7540, i32 %7542, i32 %7544, i32 %7546, i32 %7548)
%7550 = trunc i32 %7549 to i16
store i16 %7550, i16* %18
%7551 = load i16, i16* %18
%7552 = sext i16 %7551 to i32
%7553 = icmp eq i32 %7552, -1
br i1 %7553, label %7554, label %7555
7554: ; preds = %7530
store i16 -1, i16* %9
br label %19404
7555: ; preds = %7530
%7556 = load i16, i16* %18
%7557 = sext i16 %7556 to i32
%7558 = icmp sle i32 0, %7557
br i1 %7558, label %7559, label %7561
7559: ; preds = %7555
%7560 = load i16, i16* %22
store i16 %7560, i16* %21
br label %7561
7561: ; preds = %7559, %7555
%7562 = load i16, i16* %10
store i16 %7562, i16* %18
%7563 = load i16, i16* %14
%7564 = sext i16 %7563 to i32
%7565 = icmp eq i32 %7564, 0
br i1 %7565, label %7566, label %7567
7566: ; preds = %7561
br label %7571
7567: ; preds = %7561
%7568 = load i16, i16* %14
%7569 = sext i16 %7568 to i32
%7570 = sub nsw i32 25, %7569
br label %7571
7571: ; preds = %7567, %7566
%7572 = phi i32 [ 0, %7566 ], [ %7570, %7567 ]
%7573 = trunc i32 %7572 to i16
store i16 %7573, i16* %10
%7574 = load i16, i16* %18
%7575 = sext i16 %7574 to i32
%7576 = icmp eq i32 %7575, 0
br i1 %7576, label %7577, label %7578
7577: ; preds = %7571
br label %7582
7578: ; preds = %7571
%7579 = load i16, i16* %18
%7580 = sext i16 %7579 to i32
%7581 = sub nsw i32 25, %7580
br label %7582
7582: ; preds = %7578, %7577
%7583 = phi i32 [ 0, %7577 ], [ %7581, %7578 ]
%7584 = trunc i32 %7583 to i16
store i16 %7584, i16* %14
%7585 = load i16, i16* %11
store i16 %7585, i16* %18
%7586 = load i16, i16* %15
%7587 = sext i16 %7586 to i32
%7588 = icmp eq i32 %7587, 0
br i1 %7588, label %7589, label %7590
7589: ; preds = %7582
br label %7594
7590: ; preds = %7582
%7591 = load i16, i16* %15
%7592 = sext i16 %7591 to i32
%7593 = sub nsw i32 25, %7592
br label %7594
7594: ; preds = %7590, %7589
%7595 = phi i32 [ 0, %7589 ], [ %7593, %7590 ]
%7596 = trunc i32 %7595 to i16
store i16 %7596, i16* %11
%7597 = load i16, i16* %18
%7598 = sext i16 %7597 to i32
%7599 = icmp eq i32 %7598, 0
br i1 %7599, label %7600, label %7601
7600: ; preds = %7594
br label %7605
7601: ; preds = %7594
%7602 = load i16, i16* %18
%7603 = sext i16 %7602 to i32
%7604 = sub nsw i32 25, %7603
br label %7605
7605: ; preds = %7601, %7600
%7606 = phi i32 [ 0, %7600 ], [ %7604, %7601 ]
%7607 = trunc i32 %7606 to i16
store i16 %7607, i16* %15
%7608 = load i16, i16* %12
store i16 %7608, i16* %18
%7609 = load i16, i16* %16
%7610 = sext i16 %7609 to i32
%7611 = icmp eq i32 %7610, 0
br i1 %7611, label %7612, label %7613
7612: ; preds = %7605
br label %7617
7613: ; preds = %7605
%7614 = load i16, i16* %16
%7615 = sext i16 %7614 to i32
%7616 = sub nsw i32 25, %7615
br label %7617
7617: ; preds = %7613, %7612
%7618 = phi i32 [ 0, %7612 ], [ %7616, %7613 ]
%7619 = trunc i32 %7618 to i16
store i16 %7619, i16* %12
%7620 = load i16, i16* %18
%7621 = sext i16 %7620 to i32
%7622 = icmp eq i32 %7621, 0
br i1 %7622, label %7623, label %7624
7623: ; preds = %7617
br label %7628
7624: ; preds = %7617
%7625 = load i16, i16* %18
%7626 = sext i16 %7625 to i32
%7627 = sub nsw i32 25, %7626
br label %7628
7628: ; preds = %7624, %7623
%7629 = phi i32 [ 0, %7623 ], [ %7627, %7624 ]
%7630 = trunc i32 %7629 to i16
store i16 %7630, i16* %16
%7631 = load i16, i16* %13
store i16 %7631, i16* %18
%7632 = load i16, i16* %17
%7633 = sext i16 %7632 to i32
%7634 = icmp eq i32 %7633, 0
br i1 %7634, label %7635, label %7636
7635: ; preds = %7628
br label %7640
7636: ; preds = %7628
%7637 = load i16, i16* %17
%7638 = sext i16 %7637 to i32
%7639 = sub nsw i32 25, %7638
br label %7640
7640: ; preds = %7636, %7635
%7641 = phi i32 [ 0, %7635 ], [ %7639, %7636 ]
%7642 = trunc i32 %7641 to i16
store i16 %7642, i16* %13
%7643 = load i16, i16* %18
%7644 = sext i16 %7643 to i32
%7645 = icmp eq i32 %7644, 0
br i1 %7645, label %7646, label %7647
7646: ; preds = %7640
br label %7651
7647: ; preds = %7640
%7648 = load i16, i16* %18
%7649 = sext i16 %7648 to i32
%7650 = sub nsw i32 25, %7649
br label %7651
7651: ; preds = %7647, %7646
%7652 = phi i32 [ 0, %7646 ], [ %7650, %7647 ]
%7653 = trunc i32 %7652 to i16
store i16 %7653, i16* %17
%7654 = load i16, i16* %20
store i16 %7654, i16* %17
br label %7869
7655: ; preds = %7434
%7656 = load i16, i16* %10
store i16 %7656, i16* %18
%7657 = load i16, i16* %14
%7658 = sext i16 %7657 to i32
%7659 = icmp eq i32 %7658, 0
br i1 %7659, label %7660, label %7661
7660: ; preds = %7655
br label %7665
7661: ; preds = %7655
%7662 = load i16, i16* %14
%7663 = sext i16 %7662 to i32
%7664 = sub nsw i32 25, %7663
br label %7665
7665: ; preds = %7661, %7660
%7666 = phi i32 [ 0, %7660 ], [ %7664, %7661 ]
%7667 = trunc i32 %7666 to i16
store i16 %7667, i16* %10
%7668 = load i16, i16* %18
%7669 = sext i16 %7668 to i32
%7670 = icmp eq i32 %7669, 0
br i1 %7670, label %7671, label %7672
7671: ; preds = %7665
br label %7676
7672: ; preds = %7665
%7673 = load i16, i16* %18
%7674 = sext i16 %7673 to i32
%7675 = sub nsw i32 25, %7674
br label %7676
7676: ; preds = %7672, %7671
%7677 = phi i32 [ 0, %7671 ], [ %7675, %7672 ]
%7678 = trunc i32 %7677 to i16
store i16 %7678, i16* %14
%7679 = load i16, i16* %11
store i16 %7679, i16* %18
%7680 = load i16, i16* %15
%7681 = sext i16 %7680 to i32
%7682 = icmp eq i32 %7681, 0
br i1 %7682, label %7683, label %7684
7683: ; preds = %7676
br label %7688
7684: ; preds = %7676
%7685 = load i16, i16* %15
%7686 = sext i16 %7685 to i32
%7687 = sub nsw i32 25, %7686
br label %7688
7688: ; preds = %7684, %7683
%7689 = phi i32 [ 0, %7683 ], [ %7687, %7684 ]
%7690 = trunc i32 %7689 to i16
store i16 %7690, i16* %11
%7691 = load i16, i16* %18
%7692 = sext i16 %7691 to i32
%7693 = icmp eq i32 %7692, 0
br i1 %7693, label %7694, label %7695
7694: ; preds = %7688
br label %7699
7695: ; preds = %7688
%7696 = load i16, i16* %18
%7697 = sext i16 %7696 to i32
%7698 = sub nsw i32 25, %7697
br label %7699
7699: ; preds = %7695, %7694
%7700 = phi i32 [ 0, %7694 ], [ %7698, %7695 ]
%7701 = trunc i32 %7700 to i16
store i16 %7701, i16* %15
%7702 = load i16, i16* %12
store i16 %7702, i16* %18
%7703 = load i16, i16* %16
%7704 = sext i16 %7703 to i32
%7705 = icmp eq i32 %7704, 0
br i1 %7705, label %7706, label %7707
7706: ; preds = %7699
br label %7711
7707: ; preds = %7699
%7708 = load i16, i16* %16
%7709 = sext i16 %7708 to i32
%7710 = sub nsw i32 25, %7709
br label %7711
7711: ; preds = %7707, %7706
%7712 = phi i32 [ 0, %7706 ], [ %7710, %7707 ]
%7713 = trunc i32 %7712 to i16
store i16 %7713, i16* %12
%7714 = load i16, i16* %18
%7715 = sext i16 %7714 to i32
%7716 = icmp eq i32 %7715, 0
br i1 %7716, label %7717, label %7718
7717: ; preds = %7711
br label %7722
7718: ; preds = %7711
%7719 = load i16, i16* %18
%7720 = sext i16 %7719 to i32
%7721 = sub nsw i32 25, %7720
br label %7722
7722: ; preds = %7718, %7717
%7723 = phi i32 [ 0, %7717 ], [ %7721, %7718 ]
%7724 = trunc i32 %7723 to i16
store i16 %7724, i16* %16
%7725 = load i16, i16* %13
store i16 %7725, i16* %18
%7726 = load i16, i16* %17
%7727 = sext i16 %7726 to i32
%7728 = icmp eq i32 %7727, 0
br i1 %7728, label %7729, label %7730
7729: ; preds = %7722
br label %7734
7730: ; preds = %7722
%7731 = load i16, i16* %17
%7732 = sext i16 %7731 to i32
%7733 = sub nsw i32 25, %7732
br label %7734
7734: ; preds = %7730, %7729
%7735 = phi i32 [ 0, %7729 ], [ %7733, %7730 ]
%7736 = trunc i32 %7735 to i16
store i16 %7736, i16* %13
%7737 = load i16, i16* %18
%7738 = sext i16 %7737 to i32
%7739 = icmp eq i32 %7738, 0
br i1 %7739, label %7740, label %7741
7740: ; preds = %7734
br label %7745
7741: ; preds = %7734
%7742 = load i16, i16* %18
%7743 = sext i16 %7742 to i32
%7744 = sub nsw i32 25, %7743
br label %7745
7745: ; preds = %7741, %7740
%7746 = phi i32 [ 0, %7740 ], [ %7744, %7741 ]
%7747 = trunc i32 %7746 to i16
store i16 %7747, i16* %17
%7748 = load i16, i16* %10
%7749 = sext i16 %7748 to i32
%7750 = load i16, i16* %11
%7751 = sext i16 %7750 to i32
%7752 = load i16, i16* %12
%7753 = sext i16 %7752 to i32
%7754 = load i16, i16* %13
%7755 = sext i16 %7754 to i32
%7756 = load i16, i16* %14
%7757 = sext i16 %7756 to i32
%7758 = load i16, i16* %15
%7759 = sext i16 %7758 to i32
%7760 = load i16, i16* %16
%7761 = sext i16 %7760 to i32
%7762 = load i16, i16* %17
%7763 = sext i16 %7762 to i32
%7764 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %7749, i32 %7751, i32 %7753, i32 %7755, i32 %7757, i32 %7759, i32 %7761, i32 %7763)
%7765 = trunc i32 %7764 to i16
store i16 %7765, i16* %18
%7766 = load i16, i16* %18
%7767 = sext i16 %7766 to i32
%7768 = icmp eq i32 %7767, -1
br i1 %7768, label %7769, label %7770
7769: ; preds = %7745
store i16 -1, i16* %9
br label %19404
7770: ; preds = %7745
%7771 = load i16, i16* %18
%7772 = sext i16 %7771 to i32
%7773 = icmp sle i32 0, %7772
br i1 %7773, label %7774, label %7776
7774: ; preds = %7770
%7775 = load i16, i16* %22
store i16 %7775, i16* %21
br label %7776
7776: ; preds = %7774, %7770
%7777 = load i16, i16* %10
store i16 %7777, i16* %18
%7778 = load i16, i16* %14
%7779 = sext i16 %7778 to i32
%7780 = icmp eq i32 %7779, 0
br i1 %7780, label %7781, label %7782
7781: ; preds = %7776
br label %7786
7782: ; preds = %7776
%7783 = load i16, i16* %14
%7784 = sext i16 %7783 to i32
%7785 = sub nsw i32 25, %7784
br label %7786
7786: ; preds = %7782, %7781
%7787 = phi i32 [ 0, %7781 ], [ %7785, %7782 ]
%7788 = trunc i32 %7787 to i16
store i16 %7788, i16* %10
%7789 = load i16, i16* %18
%7790 = sext i16 %7789 to i32
%7791 = icmp eq i32 %7790, 0
br i1 %7791, label %7792, label %7793
7792: ; preds = %7786
br label %7797
7793: ; preds = %7786
%7794 = load i16, i16* %18
%7795 = sext i16 %7794 to i32
%7796 = sub nsw i32 25, %7795
br label %7797
7797: ; preds = %7793, %7792
%7798 = phi i32 [ 0, %7792 ], [ %7796, %7793 ]
%7799 = trunc i32 %7798 to i16
store i16 %7799, i16* %14
%7800 = load i16, i16* %11
store i16 %7800, i16* %18
%7801 = load i16, i16* %15
%7802 = sext i16 %7801 to i32
%7803 = icmp eq i32 %7802, 0
br i1 %7803, label %7804, label %7805
7804: ; preds = %7797
br label %7809
7805: ; preds = %7797
%7806 = load i16, i16* %15
%7807 = sext i16 %7806 to i32
%7808 = sub nsw i32 25, %7807
br label %7809
7809: ; preds = %7805, %7804
%7810 = phi i32 [ 0, %7804 ], [ %7808, %7805 ]
%7811 = trunc i32 %7810 to i16
store i16 %7811, i16* %11
%7812 = load i16, i16* %18
%7813 = sext i16 %7812 to i32
%7814 = icmp eq i32 %7813, 0
br i1 %7814, label %7815, label %7816
7815: ; preds = %7809
br label %7820
7816: ; preds = %7809
%7817 = load i16, i16* %18
%7818 = sext i16 %7817 to i32
%7819 = sub nsw i32 25, %7818
br label %7820
7820: ; preds = %7816, %7815
%7821 = phi i32 [ 0, %7815 ], [ %7819, %7816 ]
%7822 = trunc i32 %7821 to i16
store i16 %7822, i16* %15
%7823 = load i16, i16* %12
store i16 %7823, i16* %18
%7824 = load i16, i16* %16
%7825 = sext i16 %7824 to i32
%7826 = icmp eq i32 %7825, 0
br i1 %7826, label %7827, label %7828
7827: ; preds = %7820
br label %7832
7828: ; preds = %7820
%7829 = load i16, i16* %16
%7830 = sext i16 %7829 to i32
%7831 = sub nsw i32 25, %7830
br label %7832
7832: ; preds = %7828, %7827
%7833 = phi i32 [ 0, %7827 ], [ %7831, %7828 ]
%7834 = trunc i32 %7833 to i16
store i16 %7834, i16* %12
%7835 = load i16, i16* %18
%7836 = sext i16 %7835 to i32
%7837 = icmp eq i32 %7836, 0
br i1 %7837, label %7838, label %7839
7838: ; preds = %7832
br label %7843
7839: ; preds = %7832
%7840 = load i16, i16* %18
%7841 = sext i16 %7840 to i32
%7842 = sub nsw i32 25, %7841
br label %7843
7843: ; preds = %7839, %7838
%7844 = phi i32 [ 0, %7838 ], [ %7842, %7839 ]
%7845 = trunc i32 %7844 to i16
store i16 %7845, i16* %16
%7846 = load i16, i16* %13
store i16 %7846, i16* %18
%7847 = load i16, i16* %17
%7848 = sext i16 %7847 to i32
%7849 = icmp eq i32 %7848, 0
br i1 %7849, label %7850, label %7851
7850: ; preds = %7843
br label %7855
7851: ; preds = %7843
%7852 = load i16, i16* %17
%7853 = sext i16 %7852 to i32
%7854 = sub nsw i32 25, %7853
br label %7855
7855: ; preds = %7851, %7850
%7856 = phi i32 [ 0, %7850 ], [ %7854, %7851 ]
%7857 = trunc i32 %7856 to i16
store i16 %7857, i16* %13
%7858 = load i16, i16* %18
%7859 = sext i16 %7858 to i32
%7860 = icmp eq i32 %7859, 0
br i1 %7860, label %7861, label %7862
7861: ; preds = %7855
br label %7866
7862: ; preds = %7855
%7863 = load i16, i16* %18
%7864 = sext i16 %7863 to i32
%7865 = sub nsw i32 25, %7864
br label %7866
7866: ; preds = %7862, %7861
%7867 = phi i32 [ 0, %7861 ], [ %7865, %7862 ]
%7868 = trunc i32 %7867 to i16
store i16 %7868, i16* %17
br label %7869
7869: ; preds = %7866, %7651
br label %7870
7870: ; preds = %7869, %7430
%7871 = load i16, i16* %19
store i16 %7871, i16* %11
br label %7872
7872: ; preds = %7870, %7206, %7200, %7194, %7188, %7177
br label %7873
7873: ; preds = %7872, %7172, %7168
br label %19388
7874: ; preds = %7164
%7875 = load i16, i16* %22
%7876 = sext i16 %7875 to i32
%7877 = icmp eq i32 %7876, 11
br i1 %7877, label %7878, label %8588
7878: ; preds = %7874
%7879 = load i16, i16* %11
%7880 = sext i16 %7879 to i32
%7881 = icmp ne i32 %7880, 0
br i1 %7881, label %7882, label %8587
7882: ; preds = %7878
%7883 = load i16, i16* %11
%7884 = sext i16 %7883 to i32
%7885 = icmp slt i32 4, %7884
br i1 %7885, label %7886, label %8587
7886: ; preds = %7882
%7887 = load i16, i16* %11
%7888 = sext i16 %7887 to i32
%7889 = srem i32 %7888, 4
%7890 = icmp ne i32 %7889, 0
br i1 %7890, label %7891, label %8587
7891: ; preds = %7886
%7892 = load i16, i16* %11
store i16 %7892, i16* %19
%7893 = load i16, i16* %19
%7894 = sext i16 %7893 to i32
%7895 = sub nsw i32 %7894, 3
%7896 = trunc i32 %7895 to i16
store i16 %7896, i16* %20
%7897 = load i16, i16* %20
%7898 = sext i16 %7897 to i32
%7899 = load i16, i16* %10
%7900 = sext i16 %7899 to i32
%7901 = icmp ne i32 %7898, %7900
br i1 %7901, label %7902, label %8586
7902: ; preds = %7891
%7903 = load i16, i16* %20
%7904 = sext i16 %7903 to i32
%7905 = load i16, i16* %12
%7906 = sext i16 %7905 to i32
%7907 = icmp ne i32 %7904, %7906
br i1 %7907, label %7908, label %8586
7908: ; preds = %7902
%7909 = load i16, i16* %20
%7910 = sext i16 %7909 to i32
%7911 = load i16, i16* %13
%7912 = sext i16 %7911 to i32
%7913 = icmp ne i32 %7910, %7912
br i1 %7913, label %7914, label %8586
7914: ; preds = %7908
%7915 = load i16, i16* %20
%7916 = sext i16 %7915 to i32
%7917 = load i16, i16* %15
%7918 = sext i16 %7917 to i32
%7919 = icmp ne i32 %7916, %7918
br i1 %7919, label %7920, label %8586
7920: ; preds = %7914
%7921 = load i16, i16* %20
%7922 = sext i16 %7921 to i32
%7923 = load i16, i16* %16
%7924 = sext i16 %7923 to i32
%7925 = icmp ne i32 %7922, %7924
br i1 %7925, label %7926, label %8586
7926: ; preds = %7920
%7927 = load i16, i16* %20
store i16 %7927, i16* %11
%7928 = load i16, i16* %14
%7929 = sext i16 %7928 to i32
%7930 = load i16, i16* %20
%7931 = sext i16 %7930 to i32
%7932 = icmp eq i32 %7929, %7931
br i1 %7932, label %7933, label %8148
7933: ; preds = %7926
store i16 0, i16* %14
%7934 = load i16, i16* %10
store i16 %7934, i16* %18
%7935 = load i16, i16* %14
%7936 = sext i16 %7935 to i32
%7937 = icmp eq i32 %7936, 0
br i1 %7937, label %7938, label %7939
7938: ; preds = %7933
br label %7943
7939: ; preds = %7933
%7940 = load i16, i16* %14
%7941 = sext i16 %7940 to i32
%7942 = sub nsw i32 25, %7941
br label %7943
7943: ; preds = %7939, %7938
%7944 = phi i32 [ 0, %7938 ], [ %7942, %7939 ]
%7945 = trunc i32 %7944 to i16
store i16 %7945, i16* %10
%7946 = load i16, i16* %18
%7947 = sext i16 %7946 to i32
%7948 = icmp eq i32 %7947, 0
br i1 %7948, label %7949, label %7950
7949: ; preds = %7943
br label %7954
7950: ; preds = %7943
%7951 = load i16, i16* %18
%7952 = sext i16 %7951 to i32
%7953 = sub nsw i32 25, %7952
br label %7954
7954: ; preds = %7950, %7949
%7955 = phi i32 [ 0, %7949 ], [ %7953, %7950 ]
%7956 = trunc i32 %7955 to i16
store i16 %7956, i16* %14
%7957 = load i16, i16* %11
store i16 %7957, i16* %18
%7958 = load i16, i16* %15
%7959 = sext i16 %7958 to i32
%7960 = icmp eq i32 %7959, 0
br i1 %7960, label %7961, label %7962
7961: ; preds = %7954
br label %7966
7962: ; preds = %7954
%7963 = load i16, i16* %15
%7964 = sext i16 %7963 to i32
%7965 = sub nsw i32 25, %7964
br label %7966
7966: ; preds = %7962, %7961
%7967 = phi i32 [ 0, %7961 ], [ %7965, %7962 ]
%7968 = trunc i32 %7967 to i16
store i16 %7968, i16* %11
%7969 = load i16, i16* %18
%7970 = sext i16 %7969 to i32
%7971 = icmp eq i32 %7970, 0
br i1 %7971, label %7972, label %7973
7972: ; preds = %7966
br label %7977
7973: ; preds = %7966
%7974 = load i16, i16* %18
%7975 = sext i16 %7974 to i32
%7976 = sub nsw i32 25, %7975
br label %7977
7977: ; preds = %7973, %7972
%7978 = phi i32 [ 0, %7972 ], [ %7976, %7973 ]
%7979 = trunc i32 %7978 to i16
store i16 %7979, i16* %15
%7980 = load i16, i16* %12
store i16 %7980, i16* %18
%7981 = load i16, i16* %16
%7982 = sext i16 %7981 to i32
%7983 = icmp eq i32 %7982, 0
br i1 %7983, label %7984, label %7985
7984: ; preds = %7977
br label %7989
7985: ; preds = %7977
%7986 = load i16, i16* %16
%7987 = sext i16 %7986 to i32
%7988 = sub nsw i32 25, %7987
br label %7989
7989: ; preds = %7985, %7984
%7990 = phi i32 [ 0, %7984 ], [ %7988, %7985 ]
%7991 = trunc i32 %7990 to i16
store i16 %7991, i16* %12
%7992 = load i16, i16* %18
%7993 = sext i16 %7992 to i32
%7994 = icmp eq i32 %7993, 0
br i1 %7994, label %7995, label %7996
7995: ; preds = %7989
br label %8000
7996: ; preds = %7989
%7997 = load i16, i16* %18
%7998 = sext i16 %7997 to i32
%7999 = sub nsw i32 25, %7998
br label %8000
8000: ; preds = %7996, %7995
%8001 = phi i32 [ 0, %7995 ], [ %7999, %7996 ]
%8002 = trunc i32 %8001 to i16
store i16 %8002, i16* %16
%8003 = load i16, i16* %13
store i16 %8003, i16* %18
%8004 = load i16, i16* %17
%8005 = sext i16 %8004 to i32
%8006 = icmp eq i32 %8005, 0
br i1 %8006, label %8007, label %8008
8007: ; preds = %8000
br label %8012
8008: ; preds = %8000
%8009 = load i16, i16* %17
%8010 = sext i16 %8009 to i32
%8011 = sub nsw i32 25, %8010
br label %8012
8012: ; preds = %8008, %8007
%8013 = phi i32 [ 0, %8007 ], [ %8011, %8008 ]
%8014 = trunc i32 %8013 to i16
store i16 %8014, i16* %13
%8015 = load i16, i16* %18
%8016 = sext i16 %8015 to i32
%8017 = icmp eq i32 %8016, 0
br i1 %8017, label %8018, label %8019
8018: ; preds = %8012
br label %8023
8019: ; preds = %8012
%8020 = load i16, i16* %18
%8021 = sext i16 %8020 to i32
%8022 = sub nsw i32 25, %8021
br label %8023
8023: ; preds = %8019, %8018
%8024 = phi i32 [ 0, %8018 ], [ %8022, %8019 ]
%8025 = trunc i32 %8024 to i16
store i16 %8025, i16* %17
%8026 = load i16, i16* %10
%8027 = sext i16 %8026 to i32
%8028 = load i16, i16* %11
%8029 = sext i16 %8028 to i32
%8030 = load i16, i16* %12
%8031 = sext i16 %8030 to i32
%8032 = load i16, i16* %13
%8033 = sext i16 %8032 to i32
%8034 = load i16, i16* %14
%8035 = sext i16 %8034 to i32
%8036 = load i16, i16* %15
%8037 = sext i16 %8036 to i32
%8038 = load i16, i16* %16
%8039 = sext i16 %8038 to i32
%8040 = load i16, i16* %17
%8041 = sext i16 %8040 to i32
%8042 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8027, i32 %8029, i32 %8031, i32 %8033, i32 %8035, i32 %8037, i32 %8039, i32 %8041)
%8043 = trunc i32 %8042 to i16
store i16 %8043, i16* %18
%8044 = load i16, i16* %18
%8045 = sext i16 %8044 to i32
%8046 = icmp eq i32 %8045, -1
br i1 %8046, label %8047, label %8048
8047: ; preds = %8023
store i16 -1, i16* %9
br label %19404
8048: ; preds = %8023
%8049 = load i16, i16* %18
%8050 = sext i16 %8049 to i32
%8051 = icmp sle i32 0, %8050
br i1 %8051, label %8052, label %8054
8052: ; preds = %8048
%8053 = load i16, i16* %22
store i16 %8053, i16* %21
br label %8054
8054: ; preds = %8052, %8048
%8055 = load i16, i16* %10
store i16 %8055, i16* %18
%8056 = load i16, i16* %14
%8057 = sext i16 %8056 to i32
%8058 = icmp eq i32 %8057, 0
br i1 %8058, label %8059, label %8060
8059: ; preds = %8054
br label %8064
8060: ; preds = %8054
%8061 = load i16, i16* %14
%8062 = sext i16 %8061 to i32
%8063 = sub nsw i32 25, %8062
br label %8064
8064: ; preds = %8060, %8059
%8065 = phi i32 [ 0, %8059 ], [ %8063, %8060 ]
%8066 = trunc i32 %8065 to i16
store i16 %8066, i16* %10
%8067 = load i16, i16* %18
%8068 = sext i16 %8067 to i32
%8069 = icmp eq i32 %8068, 0
br i1 %8069, label %8070, label %8071
8070: ; preds = %8064
br label %8075
8071: ; preds = %8064
%8072 = load i16, i16* %18
%8073 = sext i16 %8072 to i32
%8074 = sub nsw i32 25, %8073
br label %8075
8075: ; preds = %8071, %8070
%8076 = phi i32 [ 0, %8070 ], [ %8074, %8071 ]
%8077 = trunc i32 %8076 to i16
store i16 %8077, i16* %14
%8078 = load i16, i16* %11
store i16 %8078, i16* %18
%8079 = load i16, i16* %15
%8080 = sext i16 %8079 to i32
%8081 = icmp eq i32 %8080, 0
br i1 %8081, label %8082, label %8083
8082: ; preds = %8075
br label %8087
8083: ; preds = %8075
%8084 = load i16, i16* %15
%8085 = sext i16 %8084 to i32
%8086 = sub nsw i32 25, %8085
br label %8087
8087: ; preds = %8083, %8082
%8088 = phi i32 [ 0, %8082 ], [ %8086, %8083 ]
%8089 = trunc i32 %8088 to i16
store i16 %8089, i16* %11
%8090 = load i16, i16* %18
%8091 = sext i16 %8090 to i32
%8092 = icmp eq i32 %8091, 0
br i1 %8092, label %8093, label %8094
8093: ; preds = %8087
br label %8098
8094: ; preds = %8087
%8095 = load i16, i16* %18
%8096 = sext i16 %8095 to i32
%8097 = sub nsw i32 25, %8096
br label %8098
8098: ; preds = %8094, %8093
%8099 = phi i32 [ 0, %8093 ], [ %8097, %8094 ]
%8100 = trunc i32 %8099 to i16
store i16 %8100, i16* %15
%8101 = load i16, i16* %12
store i16 %8101, i16* %18
%8102 = load i16, i16* %16
%8103 = sext i16 %8102 to i32
%8104 = icmp eq i32 %8103, 0
br i1 %8104, label %8105, label %8106
8105: ; preds = %8098
br label %8110
8106: ; preds = %8098
%8107 = load i16, i16* %16
%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* %12
%8113 = load i16, i16* %18
%8114 = sext i16 %8113 to i32
%8115 = icmp eq i32 %8114, 0
br i1 %8115, label %8116, label %8117
8116: ; preds = %8110
br label %8121
8117: ; preds = %8110
%8118 = load i16, i16* %18
%8119 = sext i16 %8118 to i32
%8120 = sub nsw i32 25, %8119
br label %8121
8121: ; preds = %8117, %8116
%8122 = phi i32 [ 0, %8116 ], [ %8120, %8117 ]
%8123 = trunc i32 %8122 to i16
store i16 %8123, i16* %16
%8124 = load i16, i16* %13
store i16 %8124, i16* %18
%8125 = load i16, i16* %17
%8126 = sext i16 %8125 to i32
%8127 = icmp eq i32 %8126, 0
br i1 %8127, label %8128, label %8129
8128: ; preds = %8121
br label %8133
8129: ; preds = %8121
%8130 = load i16, i16* %17
%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* %13
%8136 = load i16, i16* %18
%8137 = sext i16 %8136 to i32
%8138 = icmp eq i32 %8137, 0
br i1 %8138, label %8139, label %8140
8139: ; preds = %8133
br label %8144
8140: ; preds = %8133
%8141 = load i16, i16* %18
%8142 = sext i16 %8141 to i32
%8143 = sub nsw i32 25, %8142
br label %8144
8144: ; preds = %8140, %8139
%8145 = phi i32 [ 0, %8139 ], [ %8143, %8140 ]
%8146 = trunc i32 %8145 to i16
store i16 %8146, i16* %17
%8147 = load i16, i16* %20
store i16 %8147, i16* %14
br label %8584
8148: ; preds = %7926
%8149 = load i16, i16* %20
%8150 = sext i16 %8149 to i32
%8151 = load i16, i16* %17
%8152 = sext i16 %8151 to i32
%8153 = icmp eq i32 %8150, %8152
br i1 %8153, label %8154, label %8369
8154: ; preds = %8148
store i16 0, i16* %17
%8155 = load i16, i16* %10
store i16 %8155, i16* %18
%8156 = load i16, i16* %14
%8157 = sext i16 %8156 to i32
%8158 = icmp eq i32 %8157, 0
br i1 %8158, label %8159, label %8160
8159: ; preds = %8154
br label %8164
8160: ; preds = %8154
%8161 = load i16, i16* %14
%8162 = sext i16 %8161 to i32
%8163 = sub nsw i32 25, %8162
br label %8164
8164: ; preds = %8160, %8159
%8165 = phi i32 [ 0, %8159 ], [ %8163, %8160 ]
%8166 = trunc i32 %8165 to i16
store i16 %8166, i16* %10
%8167 = load i16, i16* %18
%8168 = sext i16 %8167 to i32
%8169 = icmp eq i32 %8168, 0
br i1 %8169, label %8170, label %8171
8170: ; preds = %8164
br label %8175
8171: ; preds = %8164
%8172 = load i16, i16* %18
%8173 = sext i16 %8172 to i32
%8174 = sub nsw i32 25, %8173
br label %8175
8175: ; preds = %8171, %8170
%8176 = phi i32 [ 0, %8170 ], [ %8174, %8171 ]
%8177 = trunc i32 %8176 to i16
store i16 %8177, i16* %14
%8178 = load i16, i16* %11
store i16 %8178, i16* %18
%8179 = load i16, i16* %15
%8180 = sext i16 %8179 to i32
%8181 = icmp eq i32 %8180, 0
br i1 %8181, label %8182, label %8183
8182: ; preds = %8175
br label %8187
8183: ; preds = %8175
%8184 = load i16, i16* %15
%8185 = sext i16 %8184 to i32
%8186 = sub nsw i32 25, %8185
br label %8187
8187: ; preds = %8183, %8182
%8188 = phi i32 [ 0, %8182 ], [ %8186, %8183 ]
%8189 = trunc i32 %8188 to i16
store i16 %8189, i16* %11
%8190 = load i16, i16* %18
%8191 = sext i16 %8190 to i32
%8192 = icmp eq i32 %8191, 0
br i1 %8192, label %8193, label %8194
8193: ; preds = %8187
br label %8198
8194: ; preds = %8187
%8195 = load i16, i16* %18
%8196 = sext i16 %8195 to i32
%8197 = sub nsw i32 25, %8196
br label %8198
8198: ; preds = %8194, %8193
%8199 = phi i32 [ 0, %8193 ], [ %8197, %8194 ]
%8200 = trunc i32 %8199 to i16
store i16 %8200, i16* %15
%8201 = load i16, i16* %12
store i16 %8201, i16* %18
%8202 = load i16, i16* %16
%8203 = sext i16 %8202 to i32
%8204 = icmp eq i32 %8203, 0
br i1 %8204, label %8205, label %8206
8205: ; preds = %8198
br label %8210
8206: ; preds = %8198
%8207 = load i16, i16* %16
%8208 = sext i16 %8207 to i32
%8209 = sub nsw i32 25, %8208
br label %8210
8210: ; preds = %8206, %8205
%8211 = phi i32 [ 0, %8205 ], [ %8209, %8206 ]
%8212 = trunc i32 %8211 to i16
store i16 %8212, i16* %12
%8213 = load i16, i16* %18
%8214 = sext i16 %8213 to i32
%8215 = icmp eq i32 %8214, 0
br i1 %8215, label %8216, label %8217
8216: ; preds = %8210
br label %8221
8217: ; preds = %8210
%8218 = load i16, i16* %18
%8219 = sext i16 %8218 to i32
%8220 = sub nsw i32 25, %8219
br label %8221
8221: ; preds = %8217, %8216
%8222 = phi i32 [ 0, %8216 ], [ %8220, %8217 ]
%8223 = trunc i32 %8222 to i16
store i16 %8223, i16* %16
%8224 = load i16, i16* %13
store i16 %8224, i16* %18
%8225 = load i16, i16* %17
%8226 = sext i16 %8225 to i32
%8227 = icmp eq i32 %8226, 0
br i1 %8227, label %8228, label %8229
8228: ; preds = %8221
br label %8233
8229: ; preds = %8221
%8230 = load i16, i16* %17
%8231 = sext i16 %8230 to i32
%8232 = sub nsw i32 25, %8231
br label %8233
8233: ; preds = %8229, %8228
%8234 = phi i32 [ 0, %8228 ], [ %8232, %8229 ]
%8235 = trunc i32 %8234 to i16
store i16 %8235, i16* %13
%8236 = load i16, i16* %18
%8237 = sext i16 %8236 to i32
%8238 = icmp eq i32 %8237, 0
br i1 %8238, label %8239, label %8240
8239: ; preds = %8233
br label %8244
8240: ; preds = %8233
%8241 = load i16, i16* %18
%8242 = sext i16 %8241 to i32
%8243 = sub nsw i32 25, %8242
br label %8244
8244: ; preds = %8240, %8239
%8245 = phi i32 [ 0, %8239 ], [ %8243, %8240 ]
%8246 = trunc i32 %8245 to i16
store i16 %8246, i16* %17
%8247 = load i16, i16* %10
%8248 = sext i16 %8247 to i32
%8249 = load i16, i16* %11
%8250 = sext i16 %8249 to i32
%8251 = load i16, i16* %12
%8252 = sext i16 %8251 to i32
%8253 = load i16, i16* %13
%8254 = sext i16 %8253 to i32
%8255 = load i16, i16* %14
%8256 = sext i16 %8255 to i32
%8257 = load i16, i16* %15
%8258 = sext i16 %8257 to i32
%8259 = load i16, i16* %16
%8260 = sext i16 %8259 to i32
%8261 = load i16, i16* %17
%8262 = sext i16 %8261 to i32
%8263 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8248, i32 %8250, i32 %8252, i32 %8254, i32 %8256, i32 %8258, i32 %8260, i32 %8262)
%8264 = trunc i32 %8263 to i16
store i16 %8264, i16* %18
%8265 = load i16, i16* %18
%8266 = sext i16 %8265 to i32
%8267 = icmp eq i32 %8266, -1
br i1 %8267, label %8268, label %8269
8268: ; preds = %8244
store i16 -1, i16* %9
br label %19404
8269: ; preds = %8244
%8270 = load i16, i16* %18
%8271 = sext i16 %8270 to i32
%8272 = icmp sle i32 0, %8271
br i1 %8272, label %8273, label %8275
8273: ; preds = %8269
%8274 = load i16, i16* %22
store i16 %8274, i16* %21
br label %8275
8275: ; preds = %8273, %8269
%8276 = load i16, i16* %10
store i16 %8276, i16* %18
%8277 = load i16, i16* %14
%8278 = sext i16 %8277 to i32
%8279 = icmp eq i32 %8278, 0
br i1 %8279, label %8280, label %8281
8280: ; preds = %8275
br label %8285
8281: ; preds = %8275
%8282 = load i16, i16* %14
%8283 = sext i16 %8282 to i32
%8284 = sub nsw i32 25, %8283
br label %8285
8285: ; preds = %8281, %8280
%8286 = phi i32 [ 0, %8280 ], [ %8284, %8281 ]
%8287 = trunc i32 %8286 to i16
store i16 %8287, i16* %10
%8288 = load i16, i16* %18
%8289 = sext i16 %8288 to i32
%8290 = icmp eq i32 %8289, 0
br i1 %8290, label %8291, label %8292
8291: ; preds = %8285
br label %8296
8292: ; preds = %8285
%8293 = load i16, i16* %18
%8294 = sext i16 %8293 to i32
%8295 = sub nsw i32 25, %8294
br label %8296
8296: ; preds = %8292, %8291
%8297 = phi i32 [ 0, %8291 ], [ %8295, %8292 ]
%8298 = trunc i32 %8297 to i16
store i16 %8298, i16* %14
%8299 = load i16, i16* %11
store i16 %8299, i16* %18
%8300 = load i16, i16* %15
%8301 = sext i16 %8300 to i32
%8302 = icmp eq i32 %8301, 0
br i1 %8302, label %8303, label %8304
8303: ; preds = %8296
br label %8308
8304: ; preds = %8296
%8305 = load i16, i16* %15
%8306 = sext i16 %8305 to i32
%8307 = sub nsw i32 25, %8306
br label %8308
8308: ; preds = %8304, %8303
%8309 = phi i32 [ 0, %8303 ], [ %8307, %8304 ]
%8310 = trunc i32 %8309 to i16
store i16 %8310, i16* %11
%8311 = load i16, i16* %18
%8312 = sext i16 %8311 to i32
%8313 = icmp eq i32 %8312, 0
br i1 %8313, label %8314, label %8315
8314: ; preds = %8308
br label %8319
8315: ; preds = %8308
%8316 = load i16, i16* %18
%8317 = sext i16 %8316 to i32
%8318 = sub nsw i32 25, %8317
br label %8319
8319: ; preds = %8315, %8314
%8320 = phi i32 [ 0, %8314 ], [ %8318, %8315 ]
%8321 = trunc i32 %8320 to i16
store i16 %8321, i16* %15
%8322 = load i16, i16* %12
store i16 %8322, i16* %18
%8323 = load i16, i16* %16
%8324 = sext i16 %8323 to i32
%8325 = icmp eq i32 %8324, 0
br i1 %8325, label %8326, label %8327
8326: ; preds = %8319
br label %8331
8327: ; preds = %8319
%8328 = load i16, i16* %16
%8329 = sext i16 %8328 to i32
%8330 = sub nsw i32 25, %8329
br label %8331
8331: ; preds = %8327, %8326
%8332 = phi i32 [ 0, %8326 ], [ %8330, %8327 ]
%8333 = trunc i32 %8332 to i16
store i16 %8333, i16* %12
%8334 = load i16, i16* %18
%8335 = sext i16 %8334 to i32
%8336 = icmp eq i32 %8335, 0
br i1 %8336, label %8337, label %8338
8337: ; preds = %8331
br label %8342
8338: ; preds = %8331
%8339 = load i16, i16* %18
%8340 = sext i16 %8339 to i32
%8341 = sub nsw i32 25, %8340
br label %8342
8342: ; preds = %8338, %8337
%8343 = phi i32 [ 0, %8337 ], [ %8341, %8338 ]
%8344 = trunc i32 %8343 to i16
store i16 %8344, i16* %16
%8345 = load i16, i16* %13
store i16 %8345, i16* %18
%8346 = load i16, i16* %17
%8347 = sext i16 %8346 to i32
%8348 = icmp eq i32 %8347, 0
br i1 %8348, label %8349, label %8350
8349: ; preds = %8342
br label %8354
8350: ; preds = %8342
%8351 = load i16, i16* %17
%8352 = sext i16 %8351 to i32
%8353 = sub nsw i32 25, %8352
br label %8354
8354: ; preds = %8350, %8349
%8355 = phi i32 [ 0, %8349 ], [ %8353, %8350 ]
%8356 = trunc i32 %8355 to i16
store i16 %8356, i16* %13
%8357 = load i16, i16* %18
%8358 = sext i16 %8357 to i32
%8359 = icmp eq i32 %8358, 0
br i1 %8359, label %8360, label %8361
8360: ; preds = %8354
br label %8365
8361: ; preds = %8354
%8362 = load i16, i16* %18
%8363 = sext i16 %8362 to i32
%8364 = sub nsw i32 25, %8363
br label %8365
8365: ; preds = %8361, %8360
%8366 = phi i32 [ 0, %8360 ], [ %8364, %8361 ]
%8367 = trunc i32 %8366 to i16
store i16 %8367, i16* %17
%8368 = load i16, i16* %20
store i16 %8368, i16* %17
br label %8583
8369: ; preds = %8148
%8370 = load i16, i16* %10
store i16 %8370, i16* %18
%8371 = load i16, i16* %14
%8372 = sext i16 %8371 to i32
%8373 = icmp eq i32 %8372, 0
br i1 %8373, label %8374, label %8375
8374: ; preds = %8369
br label %8379
8375: ; preds = %8369
%8376 = load i16, i16* %14
%8377 = sext i16 %8376 to i32
%8378 = sub nsw i32 25, %8377
br label %8379
8379: ; preds = %8375, %8374
%8380 = phi i32 [ 0, %8374 ], [ %8378, %8375 ]
%8381 = trunc i32 %8380 to i16
store i16 %8381, i16* %10
%8382 = load i16, i16* %18
%8383 = sext i16 %8382 to i32
%8384 = icmp eq i32 %8383, 0
br i1 %8384, label %8385, label %8386
8385: ; preds = %8379
br label %8390
8386: ; preds = %8379
%8387 = load i16, i16* %18
%8388 = sext i16 %8387 to i32
%8389 = sub nsw i32 25, %8388
br label %8390
8390: ; preds = %8386, %8385
%8391 = phi i32 [ 0, %8385 ], [ %8389, %8386 ]
%8392 = trunc i32 %8391 to i16
store i16 %8392, i16* %14
%8393 = load i16, i16* %11
store i16 %8393, i16* %18
%8394 = load i16, i16* %15
%8395 = sext i16 %8394 to i32
%8396 = icmp eq i32 %8395, 0
br i1 %8396, label %8397, label %8398
8397: ; preds = %8390
br label %8402
8398: ; preds = %8390
%8399 = load i16, i16* %15
%8400 = sext i16 %8399 to i32
%8401 = sub nsw i32 25, %8400
br label %8402
8402: ; preds = %8398, %8397
%8403 = phi i32 [ 0, %8397 ], [ %8401, %8398 ]
%8404 = trunc i32 %8403 to i16
store i16 %8404, i16* %11
%8405 = load i16, i16* %18
%8406 = sext i16 %8405 to i32
%8407 = icmp eq i32 %8406, 0
br i1 %8407, label %8408, label %8409
8408: ; preds = %8402
br label %8413
8409: ; preds = %8402
%8410 = load i16, i16* %18
%8411 = sext i16 %8410 to i32
%8412 = sub nsw i32 25, %8411
br label %8413
8413: ; preds = %8409, %8408
%8414 = phi i32 [ 0, %8408 ], [ %8412, %8409 ]
%8415 = trunc i32 %8414 to i16
store i16 %8415, i16* %15
%8416 = load i16, i16* %12
store i16 %8416, i16* %18
%8417 = load i16, i16* %16
%8418 = sext i16 %8417 to i32
%8419 = icmp eq i32 %8418, 0
br i1 %8419, label %8420, label %8421
8420: ; preds = %8413
br label %8425
8421: ; preds = %8413
%8422 = load i16, i16* %16
%8423 = sext i16 %8422 to i32
%8424 = sub nsw i32 25, %8423
br label %8425
8425: ; preds = %8421, %8420
%8426 = phi i32 [ 0, %8420 ], [ %8424, %8421 ]
%8427 = trunc i32 %8426 to i16
store i16 %8427, i16* %12
%8428 = load i16, i16* %18
%8429 = sext i16 %8428 to i32
%8430 = icmp eq i32 %8429, 0
br i1 %8430, label %8431, label %8432
8431: ; preds = %8425
br label %8436
8432: ; preds = %8425
%8433 = load i16, i16* %18
%8434 = sext i16 %8433 to i32
%8435 = sub nsw i32 25, %8434
br label %8436
8436: ; preds = %8432, %8431
%8437 = phi i32 [ 0, %8431 ], [ %8435, %8432 ]
%8438 = trunc i32 %8437 to i16
store i16 %8438, i16* %16
%8439 = load i16, i16* %13
store i16 %8439, i16* %18
%8440 = load i16, i16* %17
%8441 = sext i16 %8440 to i32
%8442 = icmp eq i32 %8441, 0
br i1 %8442, label %8443, label %8444
8443: ; preds = %8436
br label %8448
8444: ; preds = %8436
%8445 = load i16, i16* %17
%8446 = sext i16 %8445 to i32
%8447 = sub nsw i32 25, %8446
br label %8448
8448: ; preds = %8444, %8443
%8449 = phi i32 [ 0, %8443 ], [ %8447, %8444 ]
%8450 = trunc i32 %8449 to i16
store i16 %8450, i16* %13
%8451 = load i16, i16* %18
%8452 = sext i16 %8451 to i32
%8453 = icmp eq i32 %8452, 0
br i1 %8453, label %8454, label %8455
8454: ; preds = %8448
br label %8459
8455: ; preds = %8448
%8456 = load i16, i16* %18
%8457 = sext i16 %8456 to i32
%8458 = sub nsw i32 25, %8457
br label %8459
8459: ; preds = %8455, %8454
%8460 = phi i32 [ 0, %8454 ], [ %8458, %8455 ]
%8461 = trunc i32 %8460 to i16
store i16 %8461, i16* %17
%8462 = load i16, i16* %10
%8463 = sext i16 %8462 to i32
%8464 = load i16, i16* %11
%8465 = sext i16 %8464 to i32
%8466 = load i16, i16* %12
%8467 = sext i16 %8466 to i32
%8468 = load i16, i16* %13
%8469 = sext i16 %8468 to i32
%8470 = load i16, i16* %14
%8471 = sext i16 %8470 to i32
%8472 = load i16, i16* %15
%8473 = sext i16 %8472 to i32
%8474 = load i16, i16* %16
%8475 = sext i16 %8474 to i32
%8476 = load i16, i16* %17
%8477 = sext i16 %8476 to i32
%8478 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8463, i32 %8465, i32 %8467, i32 %8469, i32 %8471, i32 %8473, i32 %8475, i32 %8477)
%8479 = trunc i32 %8478 to i16
store i16 %8479, i16* %18
%8480 = load i16, i16* %18
%8481 = sext i16 %8480 to i32
%8482 = icmp eq i32 %8481, -1
br i1 %8482, label %8483, label %8484
8483: ; preds = %8459
store i16 -1, i16* %9
br label %19404
8484: ; preds = %8459
%8485 = load i16, i16* %18
%8486 = sext i16 %8485 to i32
%8487 = icmp sle i32 0, %8486
br i1 %8487, label %8488, label %8490
8488: ; preds = %8484
%8489 = load i16, i16* %22
store i16 %8489, i16* %21
br label %8490
8490: ; preds = %8488, %8484
%8491 = load i16, i16* %10
store i16 %8491, i16* %18
%8492 = load i16, i16* %14
%8493 = sext i16 %8492 to i32
%8494 = icmp eq i32 %8493, 0
br i1 %8494, label %8495, label %8496
8495: ; preds = %8490
br label %8500
8496: ; preds = %8490
%8497 = load i16, i16* %14
%8498 = sext i16 %8497 to i32
%8499 = sub nsw i32 25, %8498
br label %8500
8500: ; preds = %8496, %8495
%8501 = phi i32 [ 0, %8495 ], [ %8499, %8496 ]
%8502 = trunc i32 %8501 to i16
store i16 %8502, i16* %10
%8503 = load i16, i16* %18
%8504 = sext i16 %8503 to i32
%8505 = icmp eq i32 %8504, 0
br i1 %8505, label %8506, label %8507
8506: ; preds = %8500
br label %8511
8507: ; preds = %8500
%8508 = load i16, i16* %18
%8509 = sext i16 %8508 to i32
%8510 = sub nsw i32 25, %8509
br label %8511
8511: ; preds = %8507, %8506
%8512 = phi i32 [ 0, %8506 ], [ %8510, %8507 ]
%8513 = trunc i32 %8512 to i16
store i16 %8513, i16* %14
%8514 = load i16, i16* %11
store i16 %8514, i16* %18
%8515 = load i16, i16* %15
%8516 = sext i16 %8515 to i32
%8517 = icmp eq i32 %8516, 0
br i1 %8517, label %8518, label %8519
8518: ; preds = %8511
br label %8523
8519: ; preds = %8511
%8520 = load i16, i16* %15
%8521 = sext i16 %8520 to i32
%8522 = sub nsw i32 25, %8521
br label %8523
8523: ; preds = %8519, %8518
%8524 = phi i32 [ 0, %8518 ], [ %8522, %8519 ]
%8525 = trunc i32 %8524 to i16
store i16 %8525, i16* %11
%8526 = load i16, i16* %18
%8527 = sext i16 %8526 to i32
%8528 = icmp eq i32 %8527, 0
br i1 %8528, label %8529, label %8530
8529: ; preds = %8523
br label %8534
8530: ; preds = %8523
%8531 = load i16, i16* %18
%8532 = sext i16 %8531 to i32
%8533 = sub nsw i32 25, %8532
br label %8534
8534: ; preds = %8530, %8529
%8535 = phi i32 [ 0, %8529 ], [ %8533, %8530 ]
%8536 = trunc i32 %8535 to i16
store i16 %8536, i16* %15
%8537 = load i16, i16* %12
store i16 %8537, i16* %18
%8538 = load i16, i16* %16
%8539 = sext i16 %8538 to i32
%8540 = icmp eq i32 %8539, 0
br i1 %8540, label %8541, label %8542
8541: ; preds = %8534
br label %8546
8542: ; preds = %8534
%8543 = load i16, i16* %16
%8544 = sext i16 %8543 to i32
%8545 = sub nsw i32 25, %8544
br label %8546
8546: ; preds = %8542, %8541
%8547 = phi i32 [ 0, %8541 ], [ %8545, %8542 ]
%8548 = trunc i32 %8547 to i16
store i16 %8548, i16* %12
%8549 = load i16, i16* %18
%8550 = sext i16 %8549 to i32
%8551 = icmp eq i32 %8550, 0
br i1 %8551, label %8552, label %8553
8552: ; preds = %8546
br label %8557
8553: ; preds = %8546
%8554 = load i16, i16* %18
%8555 = sext i16 %8554 to i32
%8556 = sub nsw i32 25, %8555
br label %8557
8557: ; preds = %8553, %8552
%8558 = phi i32 [ 0, %8552 ], [ %8556, %8553 ]
%8559 = trunc i32 %8558 to i16
store i16 %8559, i16* %16
%8560 = load i16, i16* %13
store i16 %8560, i16* %18
%8561 = load i16, i16* %17
%8562 = sext i16 %8561 to i32
%8563 = icmp eq i32 %8562, 0
br i1 %8563, label %8564, label %8565
8564: ; preds = %8557
br label %8569
8565: ; preds = %8557
%8566 = load i16, i16* %17
%8567 = sext i16 %8566 to i32
%8568 = sub nsw i32 25, %8567
br label %8569
8569: ; preds = %8565, %8564
%8570 = phi i32 [ 0, %8564 ], [ %8568, %8565 ]
%8571 = trunc i32 %8570 to i16
store i16 %8571, i16* %13
%8572 = load i16, i16* %18
%8573 = sext i16 %8572 to i32
%8574 = icmp eq i32 %8573, 0
br i1 %8574, label %8575, label %8576
8575: ; preds = %8569
br label %8580
8576: ; preds = %8569
%8577 = load i16, i16* %18
%8578 = sext i16 %8577 to i32
%8579 = sub nsw i32 25, %8578
br label %8580
8580: ; preds = %8576, %8575
%8581 = phi i32 [ 0, %8575 ], [ %8579, %8576 ]
%8582 = trunc i32 %8581 to i16
store i16 %8582, i16* %17
br label %8583
8583: ; preds = %8580, %8365
br label %8584
8584: ; preds = %8583, %8144
%8585 = load i16, i16* %19
store i16 %8585, i16* %11
br label %8586
8586: ; preds = %8584, %7920, %7914, %7908, %7902, %7891
br label %8587
8587: ; preds = %8586, %7886, %7882, %7878
br label %19387
8588: ; preds = %7874
%8589 = load i16, i16* %22
%8590 = sext i16 %8589 to i32
%8591 = icmp eq i32 %8590, 12
br i1 %8591, label %8592, label %9297
8592: ; preds = %8588
%8593 = load i16, i16* %11
%8594 = sext i16 %8593 to i32
%8595 = icmp ne i32 %8594, 0
br i1 %8595, label %8596, label %9296
8596: ; preds = %8592
%8597 = load i16, i16* %11
%8598 = sext i16 %8597 to i32
%8599 = icmp slt i32 4, %8598
br i1 %8599, label %8600, label %9296
8600: ; preds = %8596
%8601 = load i16, i16* %11
store i16 %8601, i16* %19
%8602 = load i16, i16* %19
%8603 = sext i16 %8602 to i32
%8604 = sub nsw i32 %8603, 4
%8605 = trunc i32 %8604 to i16
store i16 %8605, i16* %20
%8606 = load i16, i16* %20
%8607 = sext i16 %8606 to i32
%8608 = load i16, i16* %10
%8609 = sext i16 %8608 to i32
%8610 = icmp ne i32 %8607, %8609
br i1 %8610, label %8611, label %9295
8611: ; preds = %8600
%8612 = load i16, i16* %20
%8613 = sext i16 %8612 to i32
%8614 = load i16, i16* %12
%8615 = sext i16 %8614 to i32
%8616 = icmp ne i32 %8613, %8615
br i1 %8616, label %8617, label %9295
8617: ; preds = %8611
%8618 = load i16, i16* %20
%8619 = sext i16 %8618 to i32
%8620 = load i16, i16* %13
%8621 = sext i16 %8620 to i32
%8622 = icmp ne i32 %8619, %8621
br i1 %8622, label %8623, label %9295
8623: ; preds = %8617
%8624 = load i16, i16* %20
%8625 = sext i16 %8624 to i32
%8626 = load i16, i16* %15
%8627 = sext i16 %8626 to i32
%8628 = icmp ne i32 %8625, %8627
br i1 %8628, label %8629, label %9295
8629: ; preds = %8623
%8630 = load i16, i16* %20
%8631 = sext i16 %8630 to i32
%8632 = load i16, i16* %16
%8633 = sext i16 %8632 to i32
%8634 = icmp ne i32 %8631, %8633
br i1 %8634, label %8635, label %9295
8635: ; preds = %8629
%8636 = load i16, i16* %20
store i16 %8636, i16* %11
%8637 = load i16, i16* %14
%8638 = sext i16 %8637 to i32
%8639 = load i16, i16* %20
%8640 = sext i16 %8639 to i32
%8641 = icmp eq i32 %8638, %8640
br i1 %8641, label %8642, label %8857
8642: ; preds = %8635
store i16 0, i16* %14
%8643 = load i16, i16* %10
store i16 %8643, i16* %18
%8644 = load i16, i16* %14
%8645 = sext i16 %8644 to i32
%8646 = icmp eq i32 %8645, 0
br i1 %8646, label %8647, label %8648
8647: ; preds = %8642
br label %8652
8648: ; preds = %8642
%8649 = load i16, i16* %14
%8650 = sext i16 %8649 to i32
%8651 = sub nsw i32 25, %8650
br label %8652
8652: ; preds = %8648, %8647
%8653 = phi i32 [ 0, %8647 ], [ %8651, %8648 ]
%8654 = trunc i32 %8653 to i16
store i16 %8654, i16* %10
%8655 = load i16, i16* %18
%8656 = sext i16 %8655 to i32
%8657 = icmp eq i32 %8656, 0
br i1 %8657, label %8658, label %8659
8658: ; preds = %8652
br label %8663
8659: ; preds = %8652
%8660 = load i16, i16* %18
%8661 = sext i16 %8660 to i32
%8662 = sub nsw i32 25, %8661
br label %8663
8663: ; preds = %8659, %8658
%8664 = phi i32 [ 0, %8658 ], [ %8662, %8659 ]
%8665 = trunc i32 %8664 to i16
store i16 %8665, i16* %14
%8666 = load i16, i16* %11
store i16 %8666, i16* %18
%8667 = load i16, i16* %15
%8668 = sext i16 %8667 to i32
%8669 = icmp eq i32 %8668, 0
br i1 %8669, label %8670, label %8671
8670: ; preds = %8663
br label %8675
8671: ; preds = %8663
%8672 = load i16, i16* %15
%8673 = sext i16 %8672 to i32
%8674 = sub nsw i32 25, %8673
br label %8675
8675: ; preds = %8671, %8670
%8676 = phi i32 [ 0, %8670 ], [ %8674, %8671 ]
%8677 = trunc i32 %8676 to i16
store i16 %8677, i16* %11
%8678 = load i16, i16* %18
%8679 = sext i16 %8678 to i32
%8680 = icmp eq i32 %8679, 0
br i1 %8680, label %8681, label %8682
8681: ; preds = %8675
br label %8686
8682: ; preds = %8675
%8683 = load i16, i16* %18
%8684 = sext i16 %8683 to i32
%8685 = sub nsw i32 25, %8684
br label %8686
8686: ; preds = %8682, %8681
%8687 = phi i32 [ 0, %8681 ], [ %8685, %8682 ]
%8688 = trunc i32 %8687 to i16
store i16 %8688, i16* %15
%8689 = load i16, i16* %12
store i16 %8689, i16* %18
%8690 = load i16, i16* %16
%8691 = sext i16 %8690 to i32
%8692 = icmp eq i32 %8691, 0
br i1 %8692, label %8693, label %8694
8693: ; preds = %8686
br label %8698
8694: ; preds = %8686
%8695 = load i16, i16* %16
%8696 = sext i16 %8695 to i32
%8697 = sub nsw i32 25, %8696
br label %8698
8698: ; preds = %8694, %8693
%8699 = phi i32 [ 0, %8693 ], [ %8697, %8694 ]
%8700 = trunc i32 %8699 to i16
store i16 %8700, i16* %12
%8701 = load i16, i16* %18
%8702 = sext i16 %8701 to i32
%8703 = icmp eq i32 %8702, 0
br i1 %8703, label %8704, label %8705
8704: ; preds = %8698
br label %8709
8705: ; preds = %8698
%8706 = load i16, i16* %18
%8707 = sext i16 %8706 to i32
%8708 = sub nsw i32 25, %8707
br label %8709
8709: ; preds = %8705, %8704
%8710 = phi i32 [ 0, %8704 ], [ %8708, %8705 ]
%8711 = trunc i32 %8710 to i16
store i16 %8711, i16* %16
%8712 = load i16, i16* %13
store i16 %8712, i16* %18
%8713 = load i16, i16* %17
%8714 = sext i16 %8713 to i32
%8715 = icmp eq i32 %8714, 0
br i1 %8715, label %8716, label %8717
8716: ; preds = %8709
br label %8721
8717: ; preds = %8709
%8718 = load i16, i16* %17
%8719 = sext i16 %8718 to i32
%8720 = sub nsw i32 25, %8719
br label %8721
8721: ; preds = %8717, %8716
%8722 = phi i32 [ 0, %8716 ], [ %8720, %8717 ]
%8723 = trunc i32 %8722 to i16
store i16 %8723, i16* %13
%8724 = load i16, i16* %18
%8725 = sext i16 %8724 to i32
%8726 = icmp eq i32 %8725, 0
br i1 %8726, label %8727, label %8728
8727: ; preds = %8721
br label %8732
8728: ; preds = %8721
%8729 = load i16, i16* %18
%8730 = sext i16 %8729 to i32
%8731 = sub nsw i32 25, %8730
br label %8732
8732: ; preds = %8728, %8727
%8733 = phi i32 [ 0, %8727 ], [ %8731, %8728 ]
%8734 = trunc i32 %8733 to i16
store i16 %8734, i16* %17
%8735 = load i16, i16* %10
%8736 = sext i16 %8735 to i32
%8737 = load i16, i16* %11
%8738 = sext i16 %8737 to i32
%8739 = load i16, i16* %12
%8740 = sext i16 %8739 to i32
%8741 = load i16, i16* %13
%8742 = sext i16 %8741 to i32
%8743 = load i16, i16* %14
%8744 = sext i16 %8743 to i32
%8745 = load i16, i16* %15
%8746 = sext i16 %8745 to i32
%8747 = load i16, i16* %16
%8748 = sext i16 %8747 to i32
%8749 = load i16, i16* %17
%8750 = sext i16 %8749 to i32
%8751 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8736, i32 %8738, i32 %8740, i32 %8742, i32 %8744, i32 %8746, i32 %8748, i32 %8750)
%8752 = trunc i32 %8751 to i16
store i16 %8752, i16* %18
%8753 = load i16, i16* %18
%8754 = sext i16 %8753 to i32
%8755 = icmp eq i32 %8754, -1
br i1 %8755, label %8756, label %8757
8756: ; preds = %8732
store i16 -1, i16* %9
br label %19404
8757: ; preds = %8732
%8758 = load i16, i16* %18
%8759 = sext i16 %8758 to i32
%8760 = icmp sle i32 0, %8759
br i1 %8760, label %8761, label %8763
8761: ; preds = %8757
%8762 = load i16, i16* %22
store i16 %8762, i16* %21
br label %8763
8763: ; preds = %8761, %8757
%8764 = load i16, i16* %10
store i16 %8764, i16* %18
%8765 = load i16, i16* %14
%8766 = sext i16 %8765 to i32
%8767 = icmp eq i32 %8766, 0
br i1 %8767, label %8768, label %8769
8768: ; preds = %8763
br label %8773
8769: ; preds = %8763
%8770 = load i16, i16* %14
%8771 = sext i16 %8770 to i32
%8772 = sub nsw i32 25, %8771
br label %8773
8773: ; preds = %8769, %8768
%8774 = phi i32 [ 0, %8768 ], [ %8772, %8769 ]
%8775 = trunc i32 %8774 to i16
store i16 %8775, i16* %10
%8776 = load i16, i16* %18
%8777 = sext i16 %8776 to i32
%8778 = icmp eq i32 %8777, 0
br i1 %8778, label %8779, label %8780
8779: ; preds = %8773
br label %8784
8780: ; preds = %8773
%8781 = load i16, i16* %18
%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* %14
%8787 = load i16, i16* %11
store i16 %8787, i16* %18
%8788 = load i16, i16* %15
%8789 = sext i16 %8788 to i32
%8790 = icmp eq i32 %8789, 0
br i1 %8790, label %8791, label %8792
8791: ; preds = %8784
br label %8796
8792: ; preds = %8784
%8793 = load i16, i16* %15
%8794 = sext i16 %8793 to i32
%8795 = sub nsw i32 25, %8794
br label %8796
8796: ; preds = %8792, %8791
%8797 = phi i32 [ 0, %8791 ], [ %8795, %8792 ]
%8798 = trunc i32 %8797 to i16
store i16 %8798, i16* %11
%8799 = load i16, i16* %18
%8800 = sext i16 %8799 to i32
%8801 = icmp eq i32 %8800, 0
br i1 %8801, label %8802, label %8803
8802: ; preds = %8796
br label %8807
8803: ; preds = %8796
%8804 = load i16, i16* %18
%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* %15
%8810 = load i16, i16* %12
store i16 %8810, i16* %18
%8811 = load i16, i16* %16
%8812 = sext i16 %8811 to i32
%8813 = icmp eq i32 %8812, 0
br i1 %8813, label %8814, label %8815
8814: ; preds = %8807
br label %8819
8815: ; preds = %8807
%8816 = load i16, i16* %16
%8817 = sext i16 %8816 to i32
%8818 = sub nsw i32 25, %8817
br label %8819
8819: ; preds = %8815, %8814
%8820 = phi i32 [ 0, %8814 ], [ %8818, %8815 ]
%8821 = trunc i32 %8820 to i16
store i16 %8821, i16* %12
%8822 = load i16, i16* %18
%8823 = sext i16 %8822 to i32
%8824 = icmp eq i32 %8823, 0
br i1 %8824, label %8825, label %8826
8825: ; preds = %8819
br label %8830
8826: ; preds = %8819
%8827 = load i16, i16* %18
%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* %16
%8833 = load i16, i16* %13
store i16 %8833, i16* %18
%8834 = load i16, i16* %17
%8835 = sext i16 %8834 to i32
%8836 = icmp eq i32 %8835, 0
br i1 %8836, label %8837, label %8838
8837: ; preds = %8830
br label %8842
8838: ; preds = %8830
%8839 = load i16, i16* %17
%8840 = sext i16 %8839 to i32
%8841 = sub nsw i32 25, %8840
br label %8842
8842: ; preds = %8838, %8837
%8843 = phi i32 [ 0, %8837 ], [ %8841, %8838 ]
%8844 = trunc i32 %8843 to i16
store i16 %8844, i16* %13
%8845 = load i16, i16* %18
%8846 = sext i16 %8845 to i32
%8847 = icmp eq i32 %8846, 0
br i1 %8847, label %8848, label %8849
8848: ; preds = %8842
br label %8853
8849: ; preds = %8842
%8850 = load i16, i16* %18
%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* %17
%8856 = load i16, i16* %20
store i16 %8856, i16* %14
br label %9293
8857: ; preds = %8635
%8858 = load i16, i16* %20
%8859 = sext i16 %8858 to i32
%8860 = load i16, i16* %17
%8861 = sext i16 %8860 to i32
%8862 = icmp eq i32 %8859, %8861
br i1 %8862, label %8863, label %9078
8863: ; preds = %8857
store i16 0, i16* %17
%8864 = load i16, i16* %10
store i16 %8864, i16* %18
%8865 = load i16, i16* %14
%8866 = sext i16 %8865 to i32
%8867 = icmp eq i32 %8866, 0
br i1 %8867, label %8868, label %8869
8868: ; preds = %8863
br label %8873
8869: ; preds = %8863
%8870 = load i16, i16* %14
%8871 = sext i16 %8870 to i32
%8872 = sub nsw i32 25, %8871
br label %8873
8873: ; preds = %8869, %8868
%8874 = phi i32 [ 0, %8868 ], [ %8872, %8869 ]
%8875 = trunc i32 %8874 to i16
store i16 %8875, i16* %10
%8876 = load i16, i16* %18
%8877 = sext i16 %8876 to i32
%8878 = icmp eq i32 %8877, 0
br i1 %8878, label %8879, label %8880
8879: ; preds = %8873
br label %8884
8880: ; preds = %8873
%8881 = load i16, i16* %18
%8882 = sext i16 %8881 to i32
%8883 = sub nsw i32 25, %8882
br label %8884
8884: ; preds = %8880, %8879
%8885 = phi i32 [ 0, %8879 ], [ %8883, %8880 ]
%8886 = trunc i32 %8885 to i16
store i16 %8886, i16* %14
%8887 = load i16, i16* %11
store i16 %8887, i16* %18
%8888 = load i16, i16* %15
%8889 = sext i16 %8888 to i32
%8890 = icmp eq i32 %8889, 0
br i1 %8890, label %8891, label %8892
8891: ; preds = %8884
br label %8896
8892: ; preds = %8884
%8893 = load i16, i16* %15
%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* %11
%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* %15
%8910 = load i16, i16* %12
store i16 %8910, i16* %18
%8911 = load i16, i16* %16
%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* %16
%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* %12
%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* %16
%8933 = load i16, i16* %13
store i16 %8933, i16* %18
%8934 = load i16, i16* %17
%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* %17
%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* %13
%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* %17
%8956 = load i16, i16* %10
%8957 = sext i16 %8956 to i32
%8958 = load i16, i16* %11
%8959 = sext i16 %8958 to i32
%8960 = load i16, i16* %12
%8961 = sext i16 %8960 to i32
%8962 = load i16, i16* %13
%8963 = sext i16 %8962 to i32
%8964 = load i16, i16* %14
%8965 = sext i16 %8964 to i32
%8966 = load i16, i16* %15
%8967 = sext i16 %8966 to i32
%8968 = load i16, i16* %16
%8969 = sext i16 %8968 to i32
%8970 = load i16, i16* %17
%8971 = sext i16 %8970 to i32
%8972 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %8957, i32 %8959, i32 %8961, i32 %8963, i32 %8965, i32 %8967, i32 %8969, i32 %8971)
%8973 = trunc i32 %8972 to i16
store i16 %8973, i16* %18
%8974 = load i16, i16* %18
%8975 = sext i16 %8974 to i32
%8976 = icmp eq i32 %8975, -1
br i1 %8976, label %8977, label %8978
8977: ; preds = %8953
store i16 -1, i16* %9
br label %19404
8978: ; preds = %8953
%8979 = load i16, i16* %18
%8980 = sext i16 %8979 to i32
%8981 = icmp sle i32 0, %8980
br i1 %8981, label %8982, label %8984
8982: ; preds = %8978
%8983 = load i16, i16* %22
store i16 %8983, i16* %21
br label %8984
8984: ; preds = %8982, %8978
%8985 = load i16, i16* %10
store i16 %8985, i16* %18
%8986 = load i16, i16* %14
%8987 = sext i16 %8986 to i32
%8988 = icmp eq i32 %8987, 0
br i1 %8988, label %8989, label %8990
8989: ; preds = %8984
br label %8994
8990: ; preds = %8984
%8991 = load i16, i16* %14
%8992 = sext i16 %8991 to i32
%8993 = sub nsw i32 25, %8992
br label %8994
8994: ; preds = %8990, %8989
%8995 = phi i32 [ 0, %8989 ], [ %8993, %8990 ]
%8996 = trunc i32 %8995 to i16
store i16 %8996, i16* %10
%8997 = load i16, i16* %18
%8998 = sext i16 %8997 to i32
%8999 = icmp eq i32 %8998, 0
br i1 %8999, label %9000, label %9001
9000: ; preds = %8994
br label %9005
9001: ; preds = %8994
%9002 = load i16, i16* %18
%9003 = sext i16 %9002 to i32
%9004 = sub nsw i32 25, %9003
br label %9005
9005: ; preds = %9001, %9000
%9006 = phi i32 [ 0, %9000 ], [ %9004, %9001 ]
%9007 = trunc i32 %9006 to i16
store i16 %9007, i16* %14
%9008 = load i16, i16* %11
store i16 %9008, i16* %18
%9009 = load i16, i16* %15
%9010 = sext i16 %9009 to i32
%9011 = icmp eq i32 %9010, 0
br i1 %9011, label %9012, label %9013
9012: ; preds = %9005
br label %9017
9013: ; preds = %9005
%9014 = load i16, i16* %15
%9015 = sext i16 %9014 to i32
%9016 = sub nsw i32 25, %9015
br label %9017
9017: ; preds = %9013, %9012
%9018 = phi i32 [ 0, %9012 ], [ %9016, %9013 ]
%9019 = trunc i32 %9018 to i16
store i16 %9019, i16* %11
%9020 = load i16, i16* %18
%9021 = sext i16 %9020 to i32
%9022 = icmp eq i32 %9021, 0
br i1 %9022, label %9023, label %9024
9023: ; preds = %9017
br label %9028
9024: ; preds = %9017
%9025 = load i16, i16* %18
%9026 = sext i16 %9025 to i32
%9027 = sub nsw i32 25, %9026
br label %9028
9028: ; preds = %9024, %9023
%9029 = phi i32 [ 0, %9023 ], [ %9027, %9024 ]
%9030 = trunc i32 %9029 to i16
store i16 %9030, i16* %15
%9031 = load i16, i16* %12
store i16 %9031, i16* %18
%9032 = load i16, i16* %16
%9033 = sext i16 %9032 to i32
%9034 = icmp eq i32 %9033, 0
br i1 %9034, label %9035, label %9036
9035: ; preds = %9028
br label %9040
9036: ; preds = %9028
%9037 = load i16, i16* %16
%9038 = sext i16 %9037 to i32
%9039 = sub nsw i32 25, %9038
br label %9040
9040: ; preds = %9036, %9035
%9041 = phi i32 [ 0, %9035 ], [ %9039, %9036 ]
%9042 = trunc i32 %9041 to i16
store i16 %9042, i16* %12
%9043 = load i16, i16* %18
%9044 = sext i16 %9043 to i32
%9045 = icmp eq i32 %9044, 0
br i1 %9045, label %9046, label %9047
9046: ; preds = %9040
br label %9051
9047: ; preds = %9040
%9048 = load i16, i16* %18
%9049 = sext i16 %9048 to i32
%9050 = sub nsw i32 25, %9049
br label %9051
9051: ; preds = %9047, %9046
%9052 = phi i32 [ 0, %9046 ], [ %9050, %9047 ]
%9053 = trunc i32 %9052 to i16
store i16 %9053, i16* %16
%9054 = load i16, i16* %13
store i16 %9054, i16* %18
%9055 = load i16, i16* %17
%9056 = sext i16 %9055 to i32
%9057 = icmp eq i32 %9056, 0
br i1 %9057, label %9058, label %9059
9058: ; preds = %9051
br label %9063
9059: ; preds = %9051
%9060 = load i16, i16* %17
%9061 = sext i16 %9060 to i32
%9062 = sub nsw i32 25, %9061
br label %9063
9063: ; preds = %9059, %9058
%9064 = phi i32 [ 0, %9058 ], [ %9062, %9059 ]
%9065 = trunc i32 %9064 to i16
store i16 %9065, i16* %13
%9066 = load i16, i16* %18
%9067 = sext i16 %9066 to i32
%9068 = icmp eq i32 %9067, 0
br i1 %9068, label %9069, label %9070
9069: ; preds = %9063
br label %9074
9070: ; preds = %9063
%9071 = load i16, i16* %18
%9072 = sext i16 %9071 to i32
%9073 = sub nsw i32 25, %9072
br label %9074
9074: ; preds = %9070, %9069
%9075 = phi i32 [ 0, %9069 ], [ %9073, %9070 ]
%9076 = trunc i32 %9075 to i16
store i16 %9076, i16* %17
%9077 = load i16, i16* %20
store i16 %9077, i16* %17
br label %9292
9078: ; preds = %8857
%9079 = load i16, i16* %10
store i16 %9079, i16* %18
%9080 = load i16, i16* %14
%9081 = sext i16 %9080 to i32
%9082 = icmp eq i32 %9081, 0
br i1 %9082, label %9083, label %9084
9083: ; preds = %9078
br label %9088
9084: ; preds = %9078
%9085 = load i16, i16* %14
%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* %10
%9091 = load i16, i16* %18
%9092 = sext i16 %9091 to i32
%9093 = icmp eq i32 %9092, 0
br i1 %9093, label %9094, label %9095
9094: ; preds = %9088
br label %9099
9095: ; preds = %9088
%9096 = load i16, i16* %18
%9097 = sext i16 %9096 to i32
%9098 = sub nsw i32 25, %9097
br label %9099
9099: ; preds = %9095, %9094
%9100 = phi i32 [ 0, %9094 ], [ %9098, %9095 ]
%9101 = trunc i32 %9100 to i16
store i16 %9101, i16* %14
%9102 = load i16, i16* %11
store i16 %9102, i16* %18
%9103 = load i16, i16* %15
%9104 = sext i16 %9103 to i32
%9105 = icmp eq i32 %9104, 0
br i1 %9105, label %9106, label %9107
9106: ; preds = %9099
br label %9111
9107: ; preds = %9099
%9108 = load i16, i16* %15
%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* %11
%9114 = load i16, i16* %18
%9115 = sext i16 %9114 to i32
%9116 = icmp eq i32 %9115, 0
br i1 %9116, label %9117, label %9118
9117: ; preds = %9111
br label %9122
9118: ; preds = %9111
%9119 = load i16, i16* %18
%9120 = sext i16 %9119 to i32
%9121 = sub nsw i32 25, %9120
br label %9122
9122: ; preds = %9118, %9117
%9123 = phi i32 [ 0, %9117 ], [ %9121, %9118 ]
%9124 = trunc i32 %9123 to i16
store i16 %9124, i16* %15
%9125 = load i16, i16* %12
store i16 %9125, i16* %18
%9126 = load i16, i16* %16
%9127 = sext i16 %9126 to i32
%9128 = icmp eq i32 %9127, 0
br i1 %9128, label %9129, label %9130
9129: ; preds = %9122
br label %9134
9130: ; preds = %9122
%9131 = load i16, i16* %16
%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* %12
%9137 = load i16, i16* %18
%9138 = sext i16 %9137 to i32
%9139 = icmp eq i32 %9138, 0
br i1 %9139, label %9140, label %9141
9140: ; preds = %9134
br label %9145
9141: ; preds = %9134
%9142 = load i16, i16* %18
%9143 = sext i16 %9142 to i32
%9144 = sub nsw i32 25, %9143
br label %9145
9145: ; preds = %9141, %9140
%9146 = phi i32 [ 0, %9140 ], [ %9144, %9141 ]
%9147 = trunc i32 %9146 to i16
store i16 %9147, i16* %16
%9148 = load i16, i16* %13
store i16 %9148, i16* %18
%9149 = load i16, i16* %17
%9150 = sext i16 %9149 to i32
%9151 = icmp eq i32 %9150, 0
br i1 %9151, label %9152, label %9153
9152: ; preds = %9145
br label %9157
9153: ; preds = %9145
%9154 = load i16, i16* %17
%9155 = sext i16 %9154 to i32
%9156 = sub nsw i32 25, %9155
br label %9157
9157: ; preds = %9153, %9152
%9158 = phi i32 [ 0, %9152 ], [ %9156, %9153 ]
%9159 = trunc i32 %9158 to i16
store i16 %9159, i16* %13
%9160 = load i16, i16* %18
%9161 = sext i16 %9160 to i32
%9162 = icmp eq i32 %9161, 0
br i1 %9162, label %9163, label %9164
9163: ; preds = %9157
br label %9168
9164: ; preds = %9157
%9165 = load i16, i16* %18
%9166 = sext i16 %9165 to i32
%9167 = sub nsw i32 25, %9166
br label %9168
9168: ; preds = %9164, %9163
%9169 = phi i32 [ 0, %9163 ], [ %9167, %9164 ]
%9170 = trunc i32 %9169 to i16
store i16 %9170, i16* %17
%9171 = load i16, i16* %10
%9172 = sext i16 %9171 to i32
%9173 = load i16, i16* %11
%9174 = sext i16 %9173 to i32
%9175 = load i16, i16* %12
%9176 = sext i16 %9175 to i32
%9177 = load i16, i16* %13
%9178 = sext i16 %9177 to i32
%9179 = load i16, i16* %14
%9180 = sext i16 %9179 to i32
%9181 = load i16, i16* %15
%9182 = sext i16 %9181 to i32
%9183 = load i16, i16* %16
%9184 = sext i16 %9183 to i32
%9185 = load i16, i16* %17
%9186 = sext i16 %9185 to i32
%9187 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9172, i32 %9174, i32 %9176, i32 %9178, i32 %9180, i32 %9182, i32 %9184, i32 %9186)
%9188 = trunc i32 %9187 to i16
store i16 %9188, i16* %18
%9189 = load i16, i16* %18
%9190 = sext i16 %9189 to i32
%9191 = icmp eq i32 %9190, -1
br i1 %9191, label %9192, label %9193
9192: ; preds = %9168
store i16 -1, i16* %9
br label %19404
9193: ; preds = %9168
%9194 = load i16, i16* %18
%9195 = sext i16 %9194 to i32
%9196 = icmp sle i32 0, %9195
br i1 %9196, label %9197, label %9199
9197: ; preds = %9193
%9198 = load i16, i16* %22
store i16 %9198, i16* %21
br label %9199
9199: ; preds = %9197, %9193
%9200 = load i16, i16* %10
store i16 %9200, i16* %18
%9201 = load i16, i16* %14
%9202 = sext i16 %9201 to i32
%9203 = icmp eq i32 %9202, 0
br i1 %9203, label %9204, label %9205
9204: ; preds = %9199
br label %9209
9205: ; preds = %9199
%9206 = load i16, i16* %14
%9207 = sext i16 %9206 to i32
%9208 = sub nsw i32 25, %9207
br label %9209
9209: ; preds = %9205, %9204
%9210 = phi i32 [ 0, %9204 ], [ %9208, %9205 ]
%9211 = trunc i32 %9210 to i16
store i16 %9211, i16* %10
%9212 = load i16, i16* %18
%9213 = sext i16 %9212 to i32
%9214 = icmp eq i32 %9213, 0
br i1 %9214, label %9215, label %9216
9215: ; preds = %9209
br label %9220
9216: ; preds = %9209
%9217 = load i16, i16* %18
%9218 = sext i16 %9217 to i32
%9219 = sub nsw i32 25, %9218
br label %9220
9220: ; preds = %9216, %9215
%9221 = phi i32 [ 0, %9215 ], [ %9219, %9216 ]
%9222 = trunc i32 %9221 to i16
store i16 %9222, i16* %14
%9223 = load i16, i16* %11
store i16 %9223, i16* %18
%9224 = load i16, i16* %15
%9225 = sext i16 %9224 to i32
%9226 = icmp eq i32 %9225, 0
br i1 %9226, label %9227, label %9228
9227: ; preds = %9220
br label %9232
9228: ; preds = %9220
%9229 = load i16, i16* %15
%9230 = sext i16 %9229 to i32
%9231 = sub nsw i32 25, %9230
br label %9232
9232: ; preds = %9228, %9227
%9233 = phi i32 [ 0, %9227 ], [ %9231, %9228 ]
%9234 = trunc i32 %9233 to i16
store i16 %9234, i16* %11
%9235 = load i16, i16* %18
%9236 = sext i16 %9235 to i32
%9237 = icmp eq i32 %9236, 0
br i1 %9237, label %9238, label %9239
9238: ; preds = %9232
br label %9243
9239: ; preds = %9232
%9240 = load i16, i16* %18
%9241 = sext i16 %9240 to i32
%9242 = sub nsw i32 25, %9241
br label %9243
9243: ; preds = %9239, %9238
%9244 = phi i32 [ 0, %9238 ], [ %9242, %9239 ]
%9245 = trunc i32 %9244 to i16
store i16 %9245, i16* %15
%9246 = load i16, i16* %12
store i16 %9246, i16* %18
%9247 = load i16, i16* %16
%9248 = sext i16 %9247 to i32
%9249 = icmp eq i32 %9248, 0
br i1 %9249, label %9250, label %9251
9250: ; preds = %9243
br label %9255
9251: ; preds = %9243
%9252 = load i16, i16* %16
%9253 = sext i16 %9252 to i32
%9254 = sub nsw i32 25, %9253
br label %9255
9255: ; preds = %9251, %9250
%9256 = phi i32 [ 0, %9250 ], [ %9254, %9251 ]
%9257 = trunc i32 %9256 to i16
store i16 %9257, i16* %12
%9258 = load i16, i16* %18
%9259 = sext i16 %9258 to i32
%9260 = icmp eq i32 %9259, 0
br i1 %9260, label %9261, label %9262
9261: ; preds = %9255
br label %9266
9262: ; preds = %9255
%9263 = load i16, i16* %18
%9264 = sext i16 %9263 to i32
%9265 = sub nsw i32 25, %9264
br label %9266
9266: ; preds = %9262, %9261
%9267 = phi i32 [ 0, %9261 ], [ %9265, %9262 ]
%9268 = trunc i32 %9267 to i16
store i16 %9268, i16* %16
%9269 = load i16, i16* %13
store i16 %9269, i16* %18
%9270 = load i16, i16* %17
%9271 = sext i16 %9270 to i32
%9272 = icmp eq i32 %9271, 0
br i1 %9272, label %9273, label %9274
9273: ; preds = %9266
br label %9278
9274: ; preds = %9266
%9275 = load i16, i16* %17
%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* %13
%9281 = load i16, i16* %18
%9282 = sext i16 %9281 to i32
%9283 = icmp eq i32 %9282, 0
br i1 %9283, label %9284, label %9285
9284: ; preds = %9278
br label %9289
9285: ; preds = %9278
%9286 = load i16, i16* %18
%9287 = sext i16 %9286 to i32
%9288 = sub nsw i32 25, %9287
br label %9289
9289: ; preds = %9285, %9284
%9290 = phi i32 [ 0, %9284 ], [ %9288, %9285 ]
%9291 = trunc i32 %9290 to i16
store i16 %9291, i16* %17
br label %9292
9292: ; preds = %9289, %9074
br label %9293
9293: ; preds = %9292, %8853
%9294 = load i16, i16* %19
store i16 %9294, i16* %11
br label %9295
9295: ; preds = %9293, %8629, %8623, %8617, %8611, %8600
br label %9296
9296: ; preds = %9295, %8596, %8592
br label %19386
9297: ; preds = %8588
%9298 = load i16, i16* %22
%9299 = sext i16 %9298 to i32
%9300 = icmp eq i32 %9299, 13
br i1 %9300, label %9301, label %10011
9301: ; preds = %9297
%9302 = load i16, i16* %11
%9303 = sext i16 %9302 to i32
%9304 = icmp ne i32 %9303, 0
br i1 %9304, label %9305, label %10010
9305: ; preds = %9301
%9306 = load i16, i16* %11
%9307 = sext i16 %9306 to i32
%9308 = icmp slt i32 4, %9307
br i1 %9308, label %9309, label %10010
9309: ; preds = %9305
%9310 = load i16, i16* %11
%9311 = sext i16 %9310 to i32
%9312 = srem i32 %9311, 4
%9313 = icmp ne i32 %9312, 1
br i1 %9313, label %9314, label %10010
9314: ; preds = %9309
%9315 = load i16, i16* %11
store i16 %9315, i16* %19
%9316 = load i16, i16* %19
%9317 = sext i16 %9316 to i32
%9318 = sub nsw i32 %9317, 5
%9319 = trunc i32 %9318 to i16
store i16 %9319, i16* %20
%9320 = load i16, i16* %20
%9321 = sext i16 %9320 to i32
%9322 = load i16, i16* %10
%9323 = sext i16 %9322 to i32
%9324 = icmp ne i32 %9321, %9323
br i1 %9324, label %9325, label %10009
9325: ; preds = %9314
%9326 = load i16, i16* %20
%9327 = sext i16 %9326 to i32
%9328 = load i16, i16* %12
%9329 = sext i16 %9328 to i32
%9330 = icmp ne i32 %9327, %9329
br i1 %9330, label %9331, label %10009
9331: ; preds = %9325
%9332 = load i16, i16* %20
%9333 = sext i16 %9332 to i32
%9334 = load i16, i16* %13
%9335 = sext i16 %9334 to i32
%9336 = icmp ne i32 %9333, %9335
br i1 %9336, label %9337, label %10009
9337: ; preds = %9331
%9338 = load i16, i16* %20
%9339 = sext i16 %9338 to i32
%9340 = load i16, i16* %15
%9341 = sext i16 %9340 to i32
%9342 = icmp ne i32 %9339, %9341
br i1 %9342, label %9343, label %10009
9343: ; preds = %9337
%9344 = load i16, i16* %20
%9345 = sext i16 %9344 to i32
%9346 = load i16, i16* %16
%9347 = sext i16 %9346 to i32
%9348 = icmp ne i32 %9345, %9347
br i1 %9348, label %9349, label %10009
9349: ; preds = %9343
%9350 = load i16, i16* %20
store i16 %9350, i16* %11
%9351 = load i16, i16* %14
%9352 = sext i16 %9351 to i32
%9353 = load i16, i16* %20
%9354 = sext i16 %9353 to i32
%9355 = icmp eq i32 %9352, %9354
br i1 %9355, label %9356, label %9571
9356: ; preds = %9349
store i16 0, i16* %14
%9357 = load i16, i16* %10
store i16 %9357, i16* %18
%9358 = load i16, i16* %14
%9359 = sext i16 %9358 to i32
%9360 = icmp eq i32 %9359, 0
br i1 %9360, label %9361, label %9362
9361: ; preds = %9356
br label %9366
9362: ; preds = %9356
%9363 = load i16, i16* %14
%9364 = sext i16 %9363 to i32
%9365 = sub nsw i32 25, %9364
br label %9366
9366: ; preds = %9362, %9361
%9367 = phi i32 [ 0, %9361 ], [ %9365, %9362 ]
%9368 = trunc i32 %9367 to i16
store i16 %9368, i16* %10
%9369 = load i16, i16* %18
%9370 = sext i16 %9369 to i32
%9371 = icmp eq i32 %9370, 0
br i1 %9371, label %9372, label %9373
9372: ; preds = %9366
br label %9377
9373: ; preds = %9366
%9374 = load i16, i16* %18
%9375 = sext i16 %9374 to i32
%9376 = sub nsw i32 25, %9375
br label %9377
9377: ; preds = %9373, %9372
%9378 = phi i32 [ 0, %9372 ], [ %9376, %9373 ]
%9379 = trunc i32 %9378 to i16
store i16 %9379, i16* %14
%9380 = load i16, i16* %11
store i16 %9380, i16* %18
%9381 = load i16, i16* %15
%9382 = sext i16 %9381 to i32
%9383 = icmp eq i32 %9382, 0
br i1 %9383, label %9384, label %9385
9384: ; preds = %9377
br label %9389
9385: ; preds = %9377
%9386 = load i16, i16* %15
%9387 = sext i16 %9386 to i32
%9388 = sub nsw i32 25, %9387
br label %9389
9389: ; preds = %9385, %9384
%9390 = phi i32 [ 0, %9384 ], [ %9388, %9385 ]
%9391 = trunc i32 %9390 to i16
store i16 %9391, i16* %11
%9392 = load i16, i16* %18
%9393 = sext i16 %9392 to i32
%9394 = icmp eq i32 %9393, 0
br i1 %9394, label %9395, label %9396
9395: ; preds = %9389
br label %9400
9396: ; preds = %9389
%9397 = load i16, i16* %18
%9398 = sext i16 %9397 to i32
%9399 = sub nsw i32 25, %9398
br label %9400
9400: ; preds = %9396, %9395
%9401 = phi i32 [ 0, %9395 ], [ %9399, %9396 ]
%9402 = trunc i32 %9401 to i16
store i16 %9402, i16* %15
%9403 = load i16, i16* %12
store i16 %9403, i16* %18
%9404 = load i16, i16* %16
%9405 = sext i16 %9404 to i32
%9406 = icmp eq i32 %9405, 0
br i1 %9406, label %9407, label %9408
9407: ; preds = %9400
br label %9412
9408: ; preds = %9400
%9409 = load i16, i16* %16
%9410 = sext i16 %9409 to i32
%9411 = sub nsw i32 25, %9410
br label %9412
9412: ; preds = %9408, %9407
%9413 = phi i32 [ 0, %9407 ], [ %9411, %9408 ]
%9414 = trunc i32 %9413 to i16
store i16 %9414, i16* %12
%9415 = load i16, i16* %18
%9416 = sext i16 %9415 to i32
%9417 = icmp eq i32 %9416, 0
br i1 %9417, label %9418, label %9419
9418: ; preds = %9412
br label %9423
9419: ; preds = %9412
%9420 = load i16, i16* %18
%9421 = sext i16 %9420 to i32
%9422 = sub nsw i32 25, %9421
br label %9423
9423: ; preds = %9419, %9418
%9424 = phi i32 [ 0, %9418 ], [ %9422, %9419 ]
%9425 = trunc i32 %9424 to i16
store i16 %9425, i16* %16
%9426 = load i16, i16* %13
store i16 %9426, i16* %18
%9427 = load i16, i16* %17
%9428 = sext i16 %9427 to i32
%9429 = icmp eq i32 %9428, 0
br i1 %9429, label %9430, label %9431
9430: ; preds = %9423
br label %9435
9431: ; preds = %9423
%9432 = load i16, i16* %17
%9433 = sext i16 %9432 to i32
%9434 = sub nsw i32 25, %9433
br label %9435
9435: ; preds = %9431, %9430
%9436 = phi i32 [ 0, %9430 ], [ %9434, %9431 ]
%9437 = trunc i32 %9436 to i16
store i16 %9437, i16* %13
%9438 = load i16, i16* %18
%9439 = sext i16 %9438 to i32
%9440 = icmp eq i32 %9439, 0
br i1 %9440, label %9441, label %9442
9441: ; preds = %9435
br label %9446
9442: ; preds = %9435
%9443 = load i16, i16* %18
%9444 = sext i16 %9443 to i32
%9445 = sub nsw i32 25, %9444
br label %9446
9446: ; preds = %9442, %9441
%9447 = phi i32 [ 0, %9441 ], [ %9445, %9442 ]
%9448 = trunc i32 %9447 to i16
store i16 %9448, i16* %17
%9449 = load i16, i16* %10
%9450 = sext i16 %9449 to i32
%9451 = load i16, i16* %11
%9452 = sext i16 %9451 to i32
%9453 = load i16, i16* %12
%9454 = sext i16 %9453 to i32
%9455 = load i16, i16* %13
%9456 = sext i16 %9455 to i32
%9457 = load i16, i16* %14
%9458 = sext i16 %9457 to i32
%9459 = load i16, i16* %15
%9460 = sext i16 %9459 to i32
%9461 = load i16, i16* %16
%9462 = sext i16 %9461 to i32
%9463 = load i16, i16* %17
%9464 = sext i16 %9463 to i32
%9465 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9450, i32 %9452, i32 %9454, i32 %9456, i32 %9458, i32 %9460, i32 %9462, i32 %9464)
%9466 = trunc i32 %9465 to i16
store i16 %9466, i16* %18
%9467 = load i16, i16* %18
%9468 = sext i16 %9467 to i32
%9469 = icmp eq i32 %9468, -1
br i1 %9469, label %9470, label %9471
9470: ; preds = %9446
store i16 -1, i16* %9
br label %19404
9471: ; preds = %9446
%9472 = load i16, i16* %18
%9473 = sext i16 %9472 to i32
%9474 = icmp sle i32 0, %9473
br i1 %9474, label %9475, label %9477
9475: ; preds = %9471
%9476 = load i16, i16* %22
store i16 %9476, i16* %21
br label %9477
9477: ; preds = %9475, %9471
%9478 = load i16, i16* %10
store i16 %9478, i16* %18
%9479 = load i16, i16* %14
%9480 = sext i16 %9479 to i32
%9481 = icmp eq i32 %9480, 0
br i1 %9481, label %9482, label %9483
9482: ; preds = %9477
br label %9487
9483: ; preds = %9477
%9484 = load i16, i16* %14
%9485 = sext i16 %9484 to i32
%9486 = sub nsw i32 25, %9485
br label %9487
9487: ; preds = %9483, %9482
%9488 = phi i32 [ 0, %9482 ], [ %9486, %9483 ]
%9489 = trunc i32 %9488 to i16
store i16 %9489, i16* %10
%9490 = load i16, i16* %18
%9491 = sext i16 %9490 to i32
%9492 = icmp eq i32 %9491, 0
br i1 %9492, label %9493, label %9494
9493: ; preds = %9487
br label %9498
9494: ; preds = %9487
%9495 = load i16, i16* %18
%9496 = sext i16 %9495 to i32
%9497 = sub nsw i32 25, %9496
br label %9498
9498: ; preds = %9494, %9493
%9499 = phi i32 [ 0, %9493 ], [ %9497, %9494 ]
%9500 = trunc i32 %9499 to i16
store i16 %9500, i16* %14
%9501 = load i16, i16* %11
store i16 %9501, i16* %18
%9502 = load i16, i16* %15
%9503 = sext i16 %9502 to i32
%9504 = icmp eq i32 %9503, 0
br i1 %9504, label %9505, label %9506
9505: ; preds = %9498
br label %9510
9506: ; preds = %9498
%9507 = load i16, i16* %15
%9508 = sext i16 %9507 to i32
%9509 = sub nsw i32 25, %9508
br label %9510
9510: ; preds = %9506, %9505
%9511 = phi i32 [ 0, %9505 ], [ %9509, %9506 ]
%9512 = trunc i32 %9511 to i16
store i16 %9512, i16* %11
%9513 = load i16, i16* %18
%9514 = sext i16 %9513 to i32
%9515 = icmp eq i32 %9514, 0
br i1 %9515, label %9516, label %9517
9516: ; preds = %9510
br label %9521
9517: ; preds = %9510
%9518 = load i16, i16* %18
%9519 = sext i16 %9518 to i32
%9520 = sub nsw i32 25, %9519
br label %9521
9521: ; preds = %9517, %9516
%9522 = phi i32 [ 0, %9516 ], [ %9520, %9517 ]
%9523 = trunc i32 %9522 to i16
store i16 %9523, i16* %15
%9524 = load i16, i16* %12
store i16 %9524, i16* %18
%9525 = load i16, i16* %16
%9526 = sext i16 %9525 to i32
%9527 = icmp eq i32 %9526, 0
br i1 %9527, label %9528, label %9529
9528: ; preds = %9521
br label %9533
9529: ; preds = %9521
%9530 = load i16, i16* %16
%9531 = sext i16 %9530 to i32
%9532 = sub nsw i32 25, %9531
br label %9533
9533: ; preds = %9529, %9528
%9534 = phi i32 [ 0, %9528 ], [ %9532, %9529 ]
%9535 = trunc i32 %9534 to i16
store i16 %9535, i16* %12
%9536 = load i16, i16* %18
%9537 = sext i16 %9536 to i32
%9538 = icmp eq i32 %9537, 0
br i1 %9538, label %9539, label %9540
9539: ; preds = %9533
br label %9544
9540: ; preds = %9533
%9541 = load i16, i16* %18
%9542 = sext i16 %9541 to i32
%9543 = sub nsw i32 25, %9542
br label %9544
9544: ; preds = %9540, %9539
%9545 = phi i32 [ 0, %9539 ], [ %9543, %9540 ]
%9546 = trunc i32 %9545 to i16
store i16 %9546, i16* %16
%9547 = load i16, i16* %13
store i16 %9547, i16* %18
%9548 = load i16, i16* %17
%9549 = sext i16 %9548 to i32
%9550 = icmp eq i32 %9549, 0
br i1 %9550, label %9551, label %9552
9551: ; preds = %9544
br label %9556
9552: ; preds = %9544
%9553 = load i16, i16* %17
%9554 = sext i16 %9553 to i32
%9555 = sub nsw i32 25, %9554
br label %9556
9556: ; preds = %9552, %9551
%9557 = phi i32 [ 0, %9551 ], [ %9555, %9552 ]
%9558 = trunc i32 %9557 to i16
store i16 %9558, i16* %13
%9559 = load i16, i16* %18
%9560 = sext i16 %9559 to i32
%9561 = icmp eq i32 %9560, 0
br i1 %9561, label %9562, label %9563
9562: ; preds = %9556
br label %9567
9563: ; preds = %9556
%9564 = load i16, i16* %18
%9565 = sext i16 %9564 to i32
%9566 = sub nsw i32 25, %9565
br label %9567
9567: ; preds = %9563, %9562
%9568 = phi i32 [ 0, %9562 ], [ %9566, %9563 ]
%9569 = trunc i32 %9568 to i16
store i16 %9569, i16* %17
%9570 = load i16, i16* %20
store i16 %9570, i16* %14
br label %10007
9571: ; preds = %9349
%9572 = load i16, i16* %20
%9573 = sext i16 %9572 to i32
%9574 = load i16, i16* %17
%9575 = sext i16 %9574 to i32
%9576 = icmp eq i32 %9573, %9575
br i1 %9576, label %9577, label %9792
9577: ; preds = %9571
store i16 0, i16* %17
%9578 = load i16, i16* %10
store i16 %9578, i16* %18
%9579 = load i16, i16* %14
%9580 = sext i16 %9579 to i32
%9581 = icmp eq i32 %9580, 0
br i1 %9581, label %9582, label %9583
9582: ; preds = %9577
br label %9587
9583: ; preds = %9577
%9584 = load i16, i16* %14
%9585 = sext i16 %9584 to i32
%9586 = sub nsw i32 25, %9585
br label %9587
9587: ; preds = %9583, %9582
%9588 = phi i32 [ 0, %9582 ], [ %9586, %9583 ]
%9589 = trunc i32 %9588 to i16
store i16 %9589, i16* %10
%9590 = load i16, i16* %18
%9591 = sext i16 %9590 to i32
%9592 = icmp eq i32 %9591, 0
br i1 %9592, label %9593, label %9594
9593: ; preds = %9587
br label %9598
9594: ; preds = %9587
%9595 = load i16, i16* %18
%9596 = sext i16 %9595 to i32
%9597 = sub nsw i32 25, %9596
br label %9598
9598: ; preds = %9594, %9593
%9599 = phi i32 [ 0, %9593 ], [ %9597, %9594 ]
%9600 = trunc i32 %9599 to i16
store i16 %9600, i16* %14
%9601 = load i16, i16* %11
store i16 %9601, i16* %18
%9602 = load i16, i16* %15
%9603 = sext i16 %9602 to i32
%9604 = icmp eq i32 %9603, 0
br i1 %9604, label %9605, label %9606
9605: ; preds = %9598
br label %9610
9606: ; preds = %9598
%9607 = load i16, i16* %15
%9608 = sext i16 %9607 to i32
%9609 = sub nsw i32 25, %9608
br label %9610
9610: ; preds = %9606, %9605
%9611 = phi i32 [ 0, %9605 ], [ %9609, %9606 ]
%9612 = trunc i32 %9611 to i16
store i16 %9612, i16* %11
%9613 = load i16, i16* %18
%9614 = sext i16 %9613 to i32
%9615 = icmp eq i32 %9614, 0
br i1 %9615, label %9616, label %9617
9616: ; preds = %9610
br label %9621
9617: ; preds = %9610
%9618 = load i16, i16* %18
%9619 = sext i16 %9618 to i32
%9620 = sub nsw i32 25, %9619
br label %9621
9621: ; preds = %9617, %9616
%9622 = phi i32 [ 0, %9616 ], [ %9620, %9617 ]
%9623 = trunc i32 %9622 to i16
store i16 %9623, i16* %15
%9624 = load i16, i16* %12
store i16 %9624, i16* %18
%9625 = load i16, i16* %16
%9626 = sext i16 %9625 to i32
%9627 = icmp eq i32 %9626, 0
br i1 %9627, label %9628, label %9629
9628: ; preds = %9621
br label %9633
9629: ; preds = %9621
%9630 = load i16, i16* %16
%9631 = sext i16 %9630 to i32
%9632 = sub nsw i32 25, %9631
br label %9633
9633: ; preds = %9629, %9628
%9634 = phi i32 [ 0, %9628 ], [ %9632, %9629 ]
%9635 = trunc i32 %9634 to i16
store i16 %9635, i16* %12
%9636 = load i16, i16* %18
%9637 = sext i16 %9636 to i32
%9638 = icmp eq i32 %9637, 0
br i1 %9638, label %9639, label %9640
9639: ; preds = %9633
br label %9644
9640: ; preds = %9633
%9641 = load i16, i16* %18
%9642 = sext i16 %9641 to i32
%9643 = sub nsw i32 25, %9642
br label %9644
9644: ; preds = %9640, %9639
%9645 = phi i32 [ 0, %9639 ], [ %9643, %9640 ]
%9646 = trunc i32 %9645 to i16
store i16 %9646, i16* %16
%9647 = load i16, i16* %13
store i16 %9647, i16* %18
%9648 = load i16, i16* %17
%9649 = sext i16 %9648 to i32
%9650 = icmp eq i32 %9649, 0
br i1 %9650, label %9651, label %9652
9651: ; preds = %9644
br label %9656
9652: ; preds = %9644
%9653 = load i16, i16* %17
%9654 = sext i16 %9653 to i32
%9655 = sub nsw i32 25, %9654
br label %9656
9656: ; preds = %9652, %9651
%9657 = phi i32 [ 0, %9651 ], [ %9655, %9652 ]
%9658 = trunc i32 %9657 to i16
store i16 %9658, i16* %13
%9659 = load i16, i16* %18
%9660 = sext i16 %9659 to i32
%9661 = icmp eq i32 %9660, 0
br i1 %9661, label %9662, label %9663
9662: ; preds = %9656
br label %9667
9663: ; preds = %9656
%9664 = load i16, i16* %18
%9665 = sext i16 %9664 to i32
%9666 = sub nsw i32 25, %9665
br label %9667
9667: ; preds = %9663, %9662
%9668 = phi i32 [ 0, %9662 ], [ %9666, %9663 ]
%9669 = trunc i32 %9668 to i16
store i16 %9669, i16* %17
%9670 = load i16, i16* %10
%9671 = sext i16 %9670 to i32
%9672 = load i16, i16* %11
%9673 = sext i16 %9672 to i32
%9674 = load i16, i16* %12
%9675 = sext i16 %9674 to i32
%9676 = load i16, i16* %13
%9677 = sext i16 %9676 to i32
%9678 = load i16, i16* %14
%9679 = sext i16 %9678 to i32
%9680 = load i16, i16* %15
%9681 = sext i16 %9680 to i32
%9682 = load i16, i16* %16
%9683 = sext i16 %9682 to i32
%9684 = load i16, i16* %17
%9685 = sext i16 %9684 to i32
%9686 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9671, i32 %9673, i32 %9675, i32 %9677, i32 %9679, i32 %9681, i32 %9683, i32 %9685)
%9687 = trunc i32 %9686 to i16
store i16 %9687, i16* %18
%9688 = load i16, i16* %18
%9689 = sext i16 %9688 to i32
%9690 = icmp eq i32 %9689, -1
br i1 %9690, label %9691, label %9692
9691: ; preds = %9667
store i16 -1, i16* %9
br label %19404
9692: ; preds = %9667
%9693 = load i16, i16* %18
%9694 = sext i16 %9693 to i32
%9695 = icmp sle i32 0, %9694
br i1 %9695, label %9696, label %9698
9696: ; preds = %9692
%9697 = load i16, i16* %22
store i16 %9697, i16* %21
br label %9698
9698: ; preds = %9696, %9692
%9699 = load i16, i16* %10
store i16 %9699, i16* %18
%9700 = load i16, i16* %14
%9701 = sext i16 %9700 to i32
%9702 = icmp eq i32 %9701, 0
br i1 %9702, label %9703, label %9704
9703: ; preds = %9698
br label %9708
9704: ; preds = %9698
%9705 = load i16, i16* %14
%9706 = sext i16 %9705 to i32
%9707 = sub nsw i32 25, %9706
br label %9708
9708: ; preds = %9704, %9703
%9709 = phi i32 [ 0, %9703 ], [ %9707, %9704 ]
%9710 = trunc i32 %9709 to i16
store i16 %9710, i16* %10
%9711 = load i16, i16* %18
%9712 = sext i16 %9711 to i32
%9713 = icmp eq i32 %9712, 0
br i1 %9713, label %9714, label %9715
9714: ; preds = %9708
br label %9719
9715: ; preds = %9708
%9716 = load i16, i16* %18
%9717 = sext i16 %9716 to i32
%9718 = sub nsw i32 25, %9717
br label %9719
9719: ; preds = %9715, %9714
%9720 = phi i32 [ 0, %9714 ], [ %9718, %9715 ]
%9721 = trunc i32 %9720 to i16
store i16 %9721, i16* %14
%9722 = load i16, i16* %11
store i16 %9722, i16* %18
%9723 = load i16, i16* %15
%9724 = sext i16 %9723 to i32
%9725 = icmp eq i32 %9724, 0
br i1 %9725, label %9726, label %9727
9726: ; preds = %9719
br label %9731
9727: ; preds = %9719
%9728 = load i16, i16* %15
%9729 = sext i16 %9728 to i32
%9730 = sub nsw i32 25, %9729
br label %9731
9731: ; preds = %9727, %9726
%9732 = phi i32 [ 0, %9726 ], [ %9730, %9727 ]
%9733 = trunc i32 %9732 to i16
store i16 %9733, i16* %11
%9734 = load i16, i16* %18
%9735 = sext i16 %9734 to i32
%9736 = icmp eq i32 %9735, 0
br i1 %9736, label %9737, label %9738
9737: ; preds = %9731
br label %9742
9738: ; preds = %9731
%9739 = load i16, i16* %18
%9740 = sext i16 %9739 to i32
%9741 = sub nsw i32 25, %9740
br label %9742
9742: ; preds = %9738, %9737
%9743 = phi i32 [ 0, %9737 ], [ %9741, %9738 ]
%9744 = trunc i32 %9743 to i16
store i16 %9744, i16* %15
%9745 = load i16, i16* %12
store i16 %9745, i16* %18
%9746 = load i16, i16* %16
%9747 = sext i16 %9746 to i32
%9748 = icmp eq i32 %9747, 0
br i1 %9748, label %9749, label %9750
9749: ; preds = %9742
br label %9754
9750: ; preds = %9742
%9751 = load i16, i16* %16
%9752 = sext i16 %9751 to i32
%9753 = sub nsw i32 25, %9752
br label %9754
9754: ; preds = %9750, %9749
%9755 = phi i32 [ 0, %9749 ], [ %9753, %9750 ]
%9756 = trunc i32 %9755 to i16
store i16 %9756, i16* %12
%9757 = load i16, i16* %18
%9758 = sext i16 %9757 to i32
%9759 = icmp eq i32 %9758, 0
br i1 %9759, label %9760, label %9761
9760: ; preds = %9754
br label %9765
9761: ; preds = %9754
%9762 = load i16, i16* %18
%9763 = sext i16 %9762 to i32
%9764 = sub nsw i32 25, %9763
br label %9765
9765: ; preds = %9761, %9760
%9766 = phi i32 [ 0, %9760 ], [ %9764, %9761 ]
%9767 = trunc i32 %9766 to i16
store i16 %9767, i16* %16
%9768 = load i16, i16* %13
store i16 %9768, i16* %18
%9769 = load i16, i16* %17
%9770 = sext i16 %9769 to i32
%9771 = icmp eq i32 %9770, 0
br i1 %9771, label %9772, label %9773
9772: ; preds = %9765
br label %9777
9773: ; preds = %9765
%9774 = load i16, i16* %17
%9775 = sext i16 %9774 to i32
%9776 = sub nsw i32 25, %9775
br label %9777
9777: ; preds = %9773, %9772
%9778 = phi i32 [ 0, %9772 ], [ %9776, %9773 ]
%9779 = trunc i32 %9778 to i16
store i16 %9779, i16* %13
%9780 = load i16, i16* %18
%9781 = sext i16 %9780 to i32
%9782 = icmp eq i32 %9781, 0
br i1 %9782, label %9783, label %9784
9783: ; preds = %9777
br label %9788
9784: ; preds = %9777
%9785 = load i16, i16* %18
%9786 = sext i16 %9785 to i32
%9787 = sub nsw i32 25, %9786
br label %9788
9788: ; preds = %9784, %9783
%9789 = phi i32 [ 0, %9783 ], [ %9787, %9784 ]
%9790 = trunc i32 %9789 to i16
store i16 %9790, i16* %17
%9791 = load i16, i16* %20
store i16 %9791, i16* %17
br label %10006
9792: ; preds = %9571
%9793 = load i16, i16* %10
store i16 %9793, i16* %18
%9794 = load i16, i16* %14
%9795 = sext i16 %9794 to i32
%9796 = icmp eq i32 %9795, 0
br i1 %9796, label %9797, label %9798
9797: ; preds = %9792
br label %9802
9798: ; preds = %9792
%9799 = load i16, i16* %14
%9800 = sext i16 %9799 to i32
%9801 = sub nsw i32 25, %9800
br label %9802
9802: ; preds = %9798, %9797
%9803 = phi i32 [ 0, %9797 ], [ %9801, %9798 ]
%9804 = trunc i32 %9803 to i16
store i16 %9804, i16* %10
%9805 = load i16, i16* %18
%9806 = sext i16 %9805 to i32
%9807 = icmp eq i32 %9806, 0
br i1 %9807, label %9808, label %9809
9808: ; preds = %9802
br label %9813
9809: ; preds = %9802
%9810 = load i16, i16* %18
%9811 = sext i16 %9810 to i32
%9812 = sub nsw i32 25, %9811
br label %9813
9813: ; preds = %9809, %9808
%9814 = phi i32 [ 0, %9808 ], [ %9812, %9809 ]
%9815 = trunc i32 %9814 to i16
store i16 %9815, i16* %14
%9816 = load i16, i16* %11
store i16 %9816, i16* %18
%9817 = load i16, i16* %15
%9818 = sext i16 %9817 to i32
%9819 = icmp eq i32 %9818, 0
br i1 %9819, label %9820, label %9821
9820: ; preds = %9813
br label %9825
9821: ; preds = %9813
%9822 = load i16, i16* %15
%9823 = sext i16 %9822 to i32
%9824 = sub nsw i32 25, %9823
br label %9825
9825: ; preds = %9821, %9820
%9826 = phi i32 [ 0, %9820 ], [ %9824, %9821 ]
%9827 = trunc i32 %9826 to i16
store i16 %9827, i16* %11
%9828 = load i16, i16* %18
%9829 = sext i16 %9828 to i32
%9830 = icmp eq i32 %9829, 0
br i1 %9830, label %9831, label %9832
9831: ; preds = %9825
br label %9836
9832: ; preds = %9825
%9833 = load i16, i16* %18
%9834 = sext i16 %9833 to i32
%9835 = sub nsw i32 25, %9834
br label %9836
9836: ; preds = %9832, %9831
%9837 = phi i32 [ 0, %9831 ], [ %9835, %9832 ]
%9838 = trunc i32 %9837 to i16
store i16 %9838, i16* %15
%9839 = load i16, i16* %12
store i16 %9839, i16* %18
%9840 = load i16, i16* %16
%9841 = sext i16 %9840 to i32
%9842 = icmp eq i32 %9841, 0
br i1 %9842, label %9843, label %9844
9843: ; preds = %9836
br label %9848
9844: ; preds = %9836
%9845 = load i16, i16* %16
%9846 = sext i16 %9845 to i32
%9847 = sub nsw i32 25, %9846
br label %9848
9848: ; preds = %9844, %9843
%9849 = phi i32 [ 0, %9843 ], [ %9847, %9844 ]
%9850 = trunc i32 %9849 to i16
store i16 %9850, i16* %12
%9851 = load i16, i16* %18
%9852 = sext i16 %9851 to i32
%9853 = icmp eq i32 %9852, 0
br i1 %9853, label %9854, label %9855
9854: ; preds = %9848
br label %9859
9855: ; preds = %9848
%9856 = load i16, i16* %18
%9857 = sext i16 %9856 to i32
%9858 = sub nsw i32 25, %9857
br label %9859
9859: ; preds = %9855, %9854
%9860 = phi i32 [ 0, %9854 ], [ %9858, %9855 ]
%9861 = trunc i32 %9860 to i16
store i16 %9861, i16* %16
%9862 = load i16, i16* %13
store i16 %9862, i16* %18
%9863 = load i16, i16* %17
%9864 = sext i16 %9863 to i32
%9865 = icmp eq i32 %9864, 0
br i1 %9865, label %9866, label %9867
9866: ; preds = %9859
br label %9871
9867: ; preds = %9859
%9868 = load i16, i16* %17
%9869 = sext i16 %9868 to i32
%9870 = sub nsw i32 25, %9869
br label %9871
9871: ; preds = %9867, %9866
%9872 = phi i32 [ 0, %9866 ], [ %9870, %9867 ]
%9873 = trunc i32 %9872 to i16
store i16 %9873, i16* %13
%9874 = load i16, i16* %18
%9875 = sext i16 %9874 to i32
%9876 = icmp eq i32 %9875, 0
br i1 %9876, label %9877, label %9878
9877: ; preds = %9871
br label %9882
9878: ; preds = %9871
%9879 = load i16, i16* %18
%9880 = sext i16 %9879 to i32
%9881 = sub nsw i32 25, %9880
br label %9882
9882: ; preds = %9878, %9877
%9883 = phi i32 [ 0, %9877 ], [ %9881, %9878 ]
%9884 = trunc i32 %9883 to i16
store i16 %9884, i16* %17
%9885 = load i16, i16* %10
%9886 = sext i16 %9885 to i32
%9887 = load i16, i16* %11
%9888 = sext i16 %9887 to i32
%9889 = load i16, i16* %12
%9890 = sext i16 %9889 to i32
%9891 = load i16, i16* %13
%9892 = sext i16 %9891 to i32
%9893 = load i16, i16* %14
%9894 = sext i16 %9893 to i32
%9895 = load i16, i16* %15
%9896 = sext i16 %9895 to i32
%9897 = load i16, i16* %16
%9898 = sext i16 %9897 to i32
%9899 = load i16, i16* %17
%9900 = sext i16 %9899 to i32
%9901 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %9886, i32 %9888, i32 %9890, i32 %9892, i32 %9894, i32 %9896, i32 %9898, i32 %9900)
%9902 = trunc i32 %9901 to i16
store i16 %9902, i16* %18
%9903 = load i16, i16* %18
%9904 = sext i16 %9903 to i32
%9905 = icmp eq i32 %9904, -1
br i1 %9905, label %9906, label %9907
9906: ; preds = %9882
store i16 -1, i16* %9
br label %19404
9907: ; preds = %9882
%9908 = load i16, i16* %18
%9909 = sext i16 %9908 to i32
%9910 = icmp sle i32 0, %9909
br i1 %9910, label %9911, label %9913
9911: ; preds = %9907
%9912 = load i16, i16* %22
store i16 %9912, i16* %21
br label %9913
9913: ; preds = %9911, %9907
%9914 = load i16, i16* %10
store i16 %9914, i16* %18
%9915 = load i16, i16* %14
%9916 = sext i16 %9915 to i32
%9917 = icmp eq i32 %9916, 0
br i1 %9917, label %9918, label %9919
9918: ; preds = %9913
br label %9923
9919: ; preds = %9913
%9920 = load i16, i16* %14
%9921 = sext i16 %9920 to i32
%9922 = sub nsw i32 25, %9921
br label %9923
9923: ; preds = %9919, %9918
%9924 = phi i32 [ 0, %9918 ], [ %9922, %9919 ]
%9925 = trunc i32 %9924 to i16
store i16 %9925, i16* %10
%9926 = load i16, i16* %18
%9927 = sext i16 %9926 to i32
%9928 = icmp eq i32 %9927, 0
br i1 %9928, label %9929, label %9930
9929: ; preds = %9923
br label %9934
9930: ; preds = %9923
%9931 = load i16, i16* %18
%9932 = sext i16 %9931 to i32
%9933 = sub nsw i32 25, %9932
br label %9934
9934: ; preds = %9930, %9929
%9935 = phi i32 [ 0, %9929 ], [ %9933, %9930 ]
%9936 = trunc i32 %9935 to i16
store i16 %9936, i16* %14
%9937 = load i16, i16* %11
store i16 %9937, i16* %18
%9938 = load i16, i16* %15
%9939 = sext i16 %9938 to i32
%9940 = icmp eq i32 %9939, 0
br i1 %9940, label %9941, label %9942
9941: ; preds = %9934
br label %9946
9942: ; preds = %9934
%9943 = load i16, i16* %15
%9944 = sext i16 %9943 to i32
%9945 = sub nsw i32 25, %9944
br label %9946
9946: ; preds = %9942, %9941
%9947 = phi i32 [ 0, %9941 ], [ %9945, %9942 ]
%9948 = trunc i32 %9947 to i16
store i16 %9948, i16* %11
%9949 = load i16, i16* %18
%9950 = sext i16 %9949 to i32
%9951 = icmp eq i32 %9950, 0
br i1 %9951, label %9952, label %9953
9952: ; preds = %9946
br label %9957
9953: ; preds = %9946
%9954 = load i16, i16* %18
%9955 = sext i16 %9954 to i32
%9956 = sub nsw i32 25, %9955
br label %9957
9957: ; preds = %9953, %9952
%9958 = phi i32 [ 0, %9952 ], [ %9956, %9953 ]
%9959 = trunc i32 %9958 to i16
store i16 %9959, i16* %15
%9960 = load i16, i16* %12
store i16 %9960, i16* %18
%9961 = load i16, i16* %16
%9962 = sext i16 %9961 to i32
%9963 = icmp eq i32 %9962, 0
br i1 %9963, label %9964, label %9965
9964: ; preds = %9957
br label %9969
9965: ; preds = %9957
%9966 = load i16, i16* %16
%9967 = sext i16 %9966 to i32
%9968 = sub nsw i32 25, %9967
br label %9969
9969: ; preds = %9965, %9964
%9970 = phi i32 [ 0, %9964 ], [ %9968, %9965 ]
%9971 = trunc i32 %9970 to i16
store i16 %9971, i16* %12
%9972 = load i16, i16* %18
%9973 = sext i16 %9972 to i32
%9974 = icmp eq i32 %9973, 0
br i1 %9974, label %9975, label %9976
9975: ; preds = %9969
br label %9980
9976: ; preds = %9969
%9977 = load i16, i16* %18
%9978 = sext i16 %9977 to i32
%9979 = sub nsw i32 25, %9978
br label %9980
9980: ; preds = %9976, %9975
%9981 = phi i32 [ 0, %9975 ], [ %9979, %9976 ]
%9982 = trunc i32 %9981 to i16
store i16 %9982, i16* %16
%9983 = load i16, i16* %13
store i16 %9983, i16* %18
%9984 = load i16, i16* %17
%9985 = sext i16 %9984 to i32
%9986 = icmp eq i32 %9985, 0
br i1 %9986, label %9987, label %9988
9987: ; preds = %9980
br label %9992
9988: ; preds = %9980
%9989 = load i16, i16* %17
%9990 = sext i16 %9989 to i32
%9991 = sub nsw i32 25, %9990
br label %9992
9992: ; preds = %9988, %9987
%9993 = phi i32 [ 0, %9987 ], [ %9991, %9988 ]
%9994 = trunc i32 %9993 to i16
store i16 %9994, i16* %13
%9995 = load i16, i16* %18
%9996 = sext i16 %9995 to i32
%9997 = icmp eq i32 %9996, 0
br i1 %9997, label %9998, label %9999
9998: ; preds = %9992
br label %10003
9999: ; preds = %9992
%10000 = load i16, i16* %18
%10001 = sext i16 %10000 to i32
%10002 = sub nsw i32 25, %10001
br label %10003
10003: ; preds = %9999, %9998
%10004 = phi i32 [ 0, %9998 ], [ %10002, %9999 ]
%10005 = trunc i32 %10004 to i16
store i16 %10005, i16* %17
br label %10006
10006: ; preds = %10003, %9788
br label %10007
10007: ; preds = %10006, %9567
%10008 = load i16, i16* %19
store i16 %10008, i16* %11
br label %10009
10009: ; preds = %10007, %9343, %9337, %9331, %9325, %9314
br label %10010
10010: ; preds = %10009, %9309, %9305, %9301
br label %19385
10011: ; preds = %9297
%10012 = load i16, i16* %22
%10013 = sext i16 %10012 to i32
%10014 = icmp eq i32 %10013, 14
br i1 %10014, label %10015, label %10721
10015: ; preds = %10011
%10016 = load i16, i16* %11
%10017 = sext i16 %10016 to i32
%10018 = icmp ne i32 %10017, 0
br i1 %10018, label %10019, label %10720
10019: ; preds = %10015
%10020 = load i16, i16* %11
%10021 = sext i16 %10020 to i32
%10022 = srem i32 %10021, 4
%10023 = icmp ne i32 %10022, 1
br i1 %10023, label %10024, label %10720
10024: ; preds = %10019
%10025 = load i16, i16* %11
store i16 %10025, i16* %19
%10026 = load i16, i16* %19
%10027 = sext i16 %10026 to i32
%10028 = sub nsw i32 %10027, 1
%10029 = trunc i32 %10028 to i16
store i16 %10029, i16* %20
%10030 = load i16, i16* %20
%10031 = sext i16 %10030 to i32
%10032 = load i16, i16* %10
%10033 = sext i16 %10032 to i32
%10034 = icmp ne i32 %10031, %10033
br i1 %10034, label %10035, label %10719
10035: ; preds = %10024
%10036 = load i16, i16* %20
%10037 = sext i16 %10036 to i32
%10038 = load i16, i16* %12
%10039 = sext i16 %10038 to i32
%10040 = icmp ne i32 %10037, %10039
br i1 %10040, label %10041, label %10719
10041: ; preds = %10035
%10042 = load i16, i16* %20
%10043 = sext i16 %10042 to i32
%10044 = load i16, i16* %13
%10045 = sext i16 %10044 to i32
%10046 = icmp ne i32 %10043, %10045
br i1 %10046, label %10047, label %10719
10047: ; preds = %10041
%10048 = load i16, i16* %20
%10049 = sext i16 %10048 to i32
%10050 = load i16, i16* %15
%10051 = sext i16 %10050 to i32
%10052 = icmp ne i32 %10049, %10051
br i1 %10052, label %10053, label %10719
10053: ; preds = %10047
%10054 = load i16, i16* %20
%10055 = sext i16 %10054 to i32
%10056 = load i16, i16* %16
%10057 = sext i16 %10056 to i32
%10058 = icmp ne i32 %10055, %10057
br i1 %10058, label %10059, label %10719
10059: ; preds = %10053
%10060 = load i16, i16* %20
store i16 %10060, i16* %11
%10061 = load i16, i16* %14
%10062 = sext i16 %10061 to i32
%10063 = load i16, i16* %20
%10064 = sext i16 %10063 to i32
%10065 = icmp eq i32 %10062, %10064
br i1 %10065, label %10066, label %10281
10066: ; preds = %10059
store i16 0, i16* %14
%10067 = load i16, i16* %10
store i16 %10067, i16* %18
%10068 = load i16, i16* %14
%10069 = sext i16 %10068 to i32
%10070 = icmp eq i32 %10069, 0
br i1 %10070, label %10071, label %10072
10071: ; preds = %10066
br label %10076
10072: ; preds = %10066
%10073 = load i16, i16* %14
%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* %10
%10079 = load i16, i16* %18
%10080 = sext i16 %10079 to i32
%10081 = icmp eq i32 %10080, 0
br i1 %10081, label %10082, label %10083
10082: ; preds = %10076
br label %10087
10083: ; preds = %10076
%10084 = load i16, i16* %18
%10085 = sext i16 %10084 to i32
%10086 = sub nsw i32 25, %10085
br label %10087
10087: ; preds = %10083, %10082
%10088 = phi i32 [ 0, %10082 ], [ %10086, %10083 ]
%10089 = trunc i32 %10088 to i16
store i16 %10089, i16* %14
%10090 = load i16, i16* %11
store i16 %10090, i16* %18
%10091 = load i16, i16* %15
%10092 = sext i16 %10091 to i32
%10093 = icmp eq i32 %10092, 0
br i1 %10093, label %10094, label %10095
10094: ; preds = %10087
br label %10099
10095: ; preds = %10087
%10096 = load i16, i16* %15
%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* %11
%10102 = load i16, i16* %18
%10103 = sext i16 %10102 to i32
%10104 = icmp eq i32 %10103, 0
br i1 %10104, label %10105, label %10106
10105: ; preds = %10099
br label %10110
10106: ; preds = %10099
%10107 = load i16, i16* %18
%10108 = sext i16 %10107 to i32
%10109 = sub nsw i32 25, %10108
br label %10110
10110: ; preds = %10106, %10105
%10111 = phi i32 [ 0, %10105 ], [ %10109, %10106 ]
%10112 = trunc i32 %10111 to i16
store i16 %10112, i16* %15
%10113 = load i16, i16* %12
store i16 %10113, i16* %18
%10114 = load i16, i16* %16
%10115 = sext i16 %10114 to i32
%10116 = icmp eq i32 %10115, 0
br i1 %10116, label %10117, label %10118
10117: ; preds = %10110
br label %10122
10118: ; preds = %10110
%10119 = load i16, i16* %16
%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* %12
%10125 = load i16, i16* %18
%10126 = sext i16 %10125 to i32
%10127 = icmp eq i32 %10126, 0
br i1 %10127, label %10128, label %10129
10128: ; preds = %10122
br label %10133
10129: ; preds = %10122
%10130 = load i16, i16* %18
%10131 = sext i16 %10130 to i32
%10132 = sub nsw i32 25, %10131
br label %10133
10133: ; preds = %10129, %10128
%10134 = phi i32 [ 0, %10128 ], [ %10132, %10129 ]
%10135 = trunc i32 %10134 to i16
store i16 %10135, i16* %16
%10136 = load i16, i16* %13
store i16 %10136, i16* %18
%10137 = load i16, i16* %17
%10138 = sext i16 %10137 to i32
%10139 = icmp eq i32 %10138, 0
br i1 %10139, label %10140, label %10141
10140: ; preds = %10133
br label %10145
10141: ; preds = %10133
%10142 = load i16, i16* %17
%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* %13
%10148 = load i16, i16* %18
%10149 = sext i16 %10148 to i32
%10150 = icmp eq i32 %10149, 0
br i1 %10150, label %10151, label %10152
10151: ; preds = %10145
br label %10156
10152: ; preds = %10145
%10153 = load i16, i16* %18
%10154 = sext i16 %10153 to i32
%10155 = sub nsw i32 25, %10154
br label %10156
10156: ; preds = %10152, %10151
%10157 = phi i32 [ 0, %10151 ], [ %10155, %10152 ]
%10158 = trunc i32 %10157 to i16
store i16 %10158, i16* %17
%10159 = load i16, i16* %10
%10160 = sext i16 %10159 to i32
%10161 = load i16, i16* %11
%10162 = sext i16 %10161 to i32
%10163 = load i16, i16* %12
%10164 = sext i16 %10163 to i32
%10165 = load i16, i16* %13
%10166 = sext i16 %10165 to i32
%10167 = load i16, i16* %14
%10168 = sext i16 %10167 to i32
%10169 = load i16, i16* %15
%10170 = sext i16 %10169 to i32
%10171 = load i16, i16* %16
%10172 = sext i16 %10171 to i32
%10173 = load i16, i16* %17
%10174 = sext i16 %10173 to i32
%10175 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10160, i32 %10162, i32 %10164, i32 %10166, i32 %10168, i32 %10170, i32 %10172, i32 %10174)
%10176 = trunc i32 %10175 to i16
store i16 %10176, i16* %18
%10177 = load i16, i16* %18
%10178 = sext i16 %10177 to i32
%10179 = icmp eq i32 %10178, -1
br i1 %10179, label %10180, label %10181
10180: ; preds = %10156
store i16 -1, i16* %9
br label %19404
10181: ; preds = %10156
%10182 = load i16, i16* %18
%10183 = sext i16 %10182 to i32
%10184 = icmp sle i32 0, %10183
br i1 %10184, label %10185, label %10187
10185: ; preds = %10181
%10186 = load i16, i16* %22
store i16 %10186, i16* %21
br label %10187
10187: ; preds = %10185, %10181
%10188 = load i16, i16* %10
store i16 %10188, i16* %18
%10189 = load i16, i16* %14
%10190 = sext i16 %10189 to i32
%10191 = icmp eq i32 %10190, 0
br i1 %10191, label %10192, label %10193
10192: ; preds = %10187
br label %10197
10193: ; preds = %10187
%10194 = load i16, i16* %14
%10195 = sext i16 %10194 to i32
%10196 = sub nsw i32 25, %10195
br label %10197
10197: ; preds = %10193, %10192
%10198 = phi i32 [ 0, %10192 ], [ %10196, %10193 ]
%10199 = trunc i32 %10198 to i16
store i16 %10199, i16* %10
%10200 = load i16, i16* %18
%10201 = sext i16 %10200 to i32
%10202 = icmp eq i32 %10201, 0
br i1 %10202, label %10203, label %10204
10203: ; preds = %10197
br label %10208
10204: ; preds = %10197
%10205 = load i16, i16* %18
%10206 = sext i16 %10205 to i32
%10207 = sub nsw i32 25, %10206
br label %10208
10208: ; preds = %10204, %10203
%10209 = phi i32 [ 0, %10203 ], [ %10207, %10204 ]
%10210 = trunc i32 %10209 to i16
store i16 %10210, i16* %14
%10211 = load i16, i16* %11
store i16 %10211, i16* %18
%10212 = load i16, i16* %15
%10213 = sext i16 %10212 to i32
%10214 = icmp eq i32 %10213, 0
br i1 %10214, label %10215, label %10216
10215: ; preds = %10208
br label %10220
10216: ; preds = %10208
%10217 = load i16, i16* %15
%10218 = sext i16 %10217 to i32
%10219 = sub nsw i32 25, %10218
br label %10220
10220: ; preds = %10216, %10215
%10221 = phi i32 [ 0, %10215 ], [ %10219, %10216 ]
%10222 = trunc i32 %10221 to i16
store i16 %10222, i16* %11
%10223 = load i16, i16* %18
%10224 = sext i16 %10223 to i32
%10225 = icmp eq i32 %10224, 0
br i1 %10225, label %10226, label %10227
10226: ; preds = %10220
br label %10231
10227: ; preds = %10220
%10228 = load i16, i16* %18
%10229 = sext i16 %10228 to i32
%10230 = sub nsw i32 25, %10229
br label %10231
10231: ; preds = %10227, %10226
%10232 = phi i32 [ 0, %10226 ], [ %10230, %10227 ]
%10233 = trunc i32 %10232 to i16
store i16 %10233, i16* %15
%10234 = load i16, i16* %12
store i16 %10234, i16* %18
%10235 = load i16, i16* %16
%10236 = sext i16 %10235 to i32
%10237 = icmp eq i32 %10236, 0
br i1 %10237, label %10238, label %10239
10238: ; preds = %10231
br label %10243
10239: ; preds = %10231
%10240 = load i16, i16* %16
%10241 = sext i16 %10240 to i32
%10242 = sub nsw i32 25, %10241
br label %10243
10243: ; preds = %10239, %10238
%10244 = phi i32 [ 0, %10238 ], [ %10242, %10239 ]
%10245 = trunc i32 %10244 to i16
store i16 %10245, i16* %12
%10246 = load i16, i16* %18
%10247 = sext i16 %10246 to i32
%10248 = icmp eq i32 %10247, 0
br i1 %10248, label %10249, label %10250
10249: ; preds = %10243
br label %10254
10250: ; preds = %10243
%10251 = load i16, i16* %18
%10252 = sext i16 %10251 to i32
%10253 = sub nsw i32 25, %10252
br label %10254
10254: ; preds = %10250, %10249
%10255 = phi i32 [ 0, %10249 ], [ %10253, %10250 ]
%10256 = trunc i32 %10255 to i16
store i16 %10256, i16* %16
%10257 = load i16, i16* %13
store i16 %10257, i16* %18
%10258 = load i16, i16* %17
%10259 = sext i16 %10258 to i32
%10260 = icmp eq i32 %10259, 0
br i1 %10260, label %10261, label %10262
10261: ; preds = %10254
br label %10266
10262: ; preds = %10254
%10263 = load i16, i16* %17
%10264 = sext i16 %10263 to i32
%10265 = sub nsw i32 25, %10264
br label %10266
10266: ; preds = %10262, %10261
%10267 = phi i32 [ 0, %10261 ], [ %10265, %10262 ]
%10268 = trunc i32 %10267 to i16
store i16 %10268, i16* %13
%10269 = load i16, i16* %18
%10270 = sext i16 %10269 to i32
%10271 = icmp eq i32 %10270, 0
br i1 %10271, label %10272, label %10273
10272: ; preds = %10266
br label %10277
10273: ; preds = %10266
%10274 = load i16, i16* %18
%10275 = sext i16 %10274 to i32
%10276 = sub nsw i32 25, %10275
br label %10277
10277: ; preds = %10273, %10272
%10278 = phi i32 [ 0, %10272 ], [ %10276, %10273 ]
%10279 = trunc i32 %10278 to i16
store i16 %10279, i16* %17
%10280 = load i16, i16* %20
store i16 %10280, i16* %14
br label %10717
10281: ; preds = %10059
%10282 = load i16, i16* %20
%10283 = sext i16 %10282 to i32
%10284 = load i16, i16* %17
%10285 = sext i16 %10284 to i32
%10286 = icmp eq i32 %10283, %10285
br i1 %10286, label %10287, label %10502
10287: ; preds = %10281
store i16 0, i16* %17
%10288 = load i16, i16* %10
store i16 %10288, i16* %18
%10289 = load i16, i16* %14
%10290 = sext i16 %10289 to i32
%10291 = icmp eq i32 %10290, 0
br i1 %10291, label %10292, label %10293
10292: ; preds = %10287
br label %10297
10293: ; preds = %10287
%10294 = load i16, i16* %14
%10295 = sext i16 %10294 to i32
%10296 = sub nsw i32 25, %10295
br label %10297
10297: ; preds = %10293, %10292
%10298 = phi i32 [ 0, %10292 ], [ %10296, %10293 ]
%10299 = trunc i32 %10298 to i16
store i16 %10299, i16* %10
%10300 = load i16, i16* %18
%10301 = sext i16 %10300 to i32
%10302 = icmp eq i32 %10301, 0
br i1 %10302, label %10303, label %10304
10303: ; preds = %10297
br label %10308
10304: ; preds = %10297
%10305 = load i16, i16* %18
%10306 = sext i16 %10305 to i32
%10307 = sub nsw i32 25, %10306
br label %10308
10308: ; preds = %10304, %10303
%10309 = phi i32 [ 0, %10303 ], [ %10307, %10304 ]
%10310 = trunc i32 %10309 to i16
store i16 %10310, i16* %14
%10311 = load i16, i16* %11
store i16 %10311, i16* %18
%10312 = load i16, i16* %15
%10313 = sext i16 %10312 to i32
%10314 = icmp eq i32 %10313, 0
br i1 %10314, label %10315, label %10316
10315: ; preds = %10308
br label %10320
10316: ; preds = %10308
%10317 = load i16, i16* %15
%10318 = sext i16 %10317 to i32
%10319 = sub nsw i32 25, %10318
br label %10320
10320: ; preds = %10316, %10315
%10321 = phi i32 [ 0, %10315 ], [ %10319, %10316 ]
%10322 = trunc i32 %10321 to i16
store i16 %10322, i16* %11
%10323 = load i16, i16* %18
%10324 = sext i16 %10323 to i32
%10325 = icmp eq i32 %10324, 0
br i1 %10325, label %10326, label %10327
10326: ; preds = %10320
br label %10331
10327: ; preds = %10320
%10328 = load i16, i16* %18
%10329 = sext i16 %10328 to i32
%10330 = sub nsw i32 25, %10329
br label %10331
10331: ; preds = %10327, %10326
%10332 = phi i32 [ 0, %10326 ], [ %10330, %10327 ]
%10333 = trunc i32 %10332 to i16
store i16 %10333, i16* %15
%10334 = load i16, i16* %12
store i16 %10334, i16* %18
%10335 = load i16, i16* %16
%10336 = sext i16 %10335 to i32
%10337 = icmp eq i32 %10336, 0
br i1 %10337, label %10338, label %10339
10338: ; preds = %10331
br label %10343
10339: ; preds = %10331
%10340 = load i16, i16* %16
%10341 = sext i16 %10340 to i32
%10342 = sub nsw i32 25, %10341
br label %10343
10343: ; preds = %10339, %10338
%10344 = phi i32 [ 0, %10338 ], [ %10342, %10339 ]
%10345 = trunc i32 %10344 to i16
store i16 %10345, i16* %12
%10346 = load i16, i16* %18
%10347 = sext i16 %10346 to i32
%10348 = icmp eq i32 %10347, 0
br i1 %10348, label %10349, label %10350
10349: ; preds = %10343
br label %10354
10350: ; preds = %10343
%10351 = load i16, i16* %18
%10352 = sext i16 %10351 to i32
%10353 = sub nsw i32 25, %10352
br label %10354
10354: ; preds = %10350, %10349
%10355 = phi i32 [ 0, %10349 ], [ %10353, %10350 ]
%10356 = trunc i32 %10355 to i16
store i16 %10356, i16* %16
%10357 = load i16, i16* %13
store i16 %10357, i16* %18
%10358 = load i16, i16* %17
%10359 = sext i16 %10358 to i32
%10360 = icmp eq i32 %10359, 0
br i1 %10360, label %10361, label %10362
10361: ; preds = %10354
br label %10366
10362: ; preds = %10354
%10363 = load i16, i16* %17
%10364 = sext i16 %10363 to i32
%10365 = sub nsw i32 25, %10364
br label %10366
10366: ; preds = %10362, %10361
%10367 = phi i32 [ 0, %10361 ], [ %10365, %10362 ]
%10368 = trunc i32 %10367 to i16
store i16 %10368, i16* %13
%10369 = load i16, i16* %18
%10370 = sext i16 %10369 to i32
%10371 = icmp eq i32 %10370, 0
br i1 %10371, label %10372, label %10373
10372: ; preds = %10366
br label %10377
10373: ; preds = %10366
%10374 = load i16, i16* %18
%10375 = sext i16 %10374 to i32
%10376 = sub nsw i32 25, %10375
br label %10377
10377: ; preds = %10373, %10372
%10378 = phi i32 [ 0, %10372 ], [ %10376, %10373 ]
%10379 = trunc i32 %10378 to i16
store i16 %10379, i16* %17
%10380 = load i16, i16* %10
%10381 = sext i16 %10380 to i32
%10382 = load i16, i16* %11
%10383 = sext i16 %10382 to i32
%10384 = load i16, i16* %12
%10385 = sext i16 %10384 to i32
%10386 = load i16, i16* %13
%10387 = sext i16 %10386 to i32
%10388 = load i16, i16* %14
%10389 = sext i16 %10388 to i32
%10390 = load i16, i16* %15
%10391 = sext i16 %10390 to i32
%10392 = load i16, i16* %16
%10393 = sext i16 %10392 to i32
%10394 = load i16, i16* %17
%10395 = sext i16 %10394 to i32
%10396 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10381, i32 %10383, i32 %10385, i32 %10387, i32 %10389, i32 %10391, i32 %10393, i32 %10395)
%10397 = trunc i32 %10396 to i16
store i16 %10397, i16* %18
%10398 = load i16, i16* %18
%10399 = sext i16 %10398 to i32
%10400 = icmp eq i32 %10399, -1
br i1 %10400, label %10401, label %10402
10401: ; preds = %10377
store i16 -1, i16* %9
br label %19404
10402: ; preds = %10377
%10403 = load i16, i16* %18
%10404 = sext i16 %10403 to i32
%10405 = icmp sle i32 0, %10404
br i1 %10405, label %10406, label %10408
10406: ; preds = %10402
%10407 = load i16, i16* %22
store i16 %10407, i16* %21
br label %10408
10408: ; preds = %10406, %10402
%10409 = load i16, i16* %10
store i16 %10409, i16* %18
%10410 = load i16, i16* %14
%10411 = sext i16 %10410 to i32
%10412 = icmp eq i32 %10411, 0
br i1 %10412, label %10413, label %10414
10413: ; preds = %10408
br label %10418
10414: ; preds = %10408
%10415 = load i16, i16* %14
%10416 = sext i16 %10415 to i32
%10417 = sub nsw i32 25, %10416
br label %10418
10418: ; preds = %10414, %10413
%10419 = phi i32 [ 0, %10413 ], [ %10417, %10414 ]
%10420 = trunc i32 %10419 to i16
store i16 %10420, i16* %10
%10421 = load i16, i16* %18
%10422 = sext i16 %10421 to i32
%10423 = icmp eq i32 %10422, 0
br i1 %10423, label %10424, label %10425
10424: ; preds = %10418
br label %10429
10425: ; preds = %10418
%10426 = load i16, i16* %18
%10427 = sext i16 %10426 to i32
%10428 = sub nsw i32 25, %10427
br label %10429
10429: ; preds = %10425, %10424
%10430 = phi i32 [ 0, %10424 ], [ %10428, %10425 ]
%10431 = trunc i32 %10430 to i16
store i16 %10431, i16* %14
%10432 = load i16, i16* %11
store i16 %10432, i16* %18
%10433 = load i16, i16* %15
%10434 = sext i16 %10433 to i32
%10435 = icmp eq i32 %10434, 0
br i1 %10435, label %10436, label %10437
10436: ; preds = %10429
br label %10441
10437: ; preds = %10429
%10438 = load i16, i16* %15
%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* %11
%10444 = load i16, i16* %18
%10445 = sext i16 %10444 to i32
%10446 = icmp eq i32 %10445, 0
br i1 %10446, label %10447, label %10448
10447: ; preds = %10441
br label %10452
10448: ; preds = %10441
%10449 = load i16, i16* %18
%10450 = sext i16 %10449 to i32
%10451 = sub nsw i32 25, %10450
br label %10452
10452: ; preds = %10448, %10447
%10453 = phi i32 [ 0, %10447 ], [ %10451, %10448 ]
%10454 = trunc i32 %10453 to i16
store i16 %10454, i16* %15
%10455 = load i16, i16* %12
store i16 %10455, i16* %18
%10456 = load i16, i16* %16
%10457 = sext i16 %10456 to i32
%10458 = icmp eq i32 %10457, 0
br i1 %10458, label %10459, label %10460
10459: ; preds = %10452
br label %10464
10460: ; preds = %10452
%10461 = load i16, i16* %16
%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* %12
%10467 = load i16, i16* %18
%10468 = sext i16 %10467 to i32
%10469 = icmp eq i32 %10468, 0
br i1 %10469, label %10470, label %10471
10470: ; preds = %10464
br label %10475
10471: ; preds = %10464
%10472 = load i16, i16* %18
%10473 = sext i16 %10472 to i32
%10474 = sub nsw i32 25, %10473
br label %10475
10475: ; preds = %10471, %10470
%10476 = phi i32 [ 0, %10470 ], [ %10474, %10471 ]
%10477 = trunc i32 %10476 to i16
store i16 %10477, i16* %16
%10478 = load i16, i16* %13
store i16 %10478, i16* %18
%10479 = load i16, i16* %17
%10480 = sext i16 %10479 to i32
%10481 = icmp eq i32 %10480, 0
br i1 %10481, label %10482, label %10483
10482: ; preds = %10475
br label %10487
10483: ; preds = %10475
%10484 = load i16, i16* %17
%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* %13
%10490 = load i16, i16* %18
%10491 = sext i16 %10490 to i32
%10492 = icmp eq i32 %10491, 0
br i1 %10492, label %10493, label %10494
10493: ; preds = %10487
br label %10498
10494: ; preds = %10487
%10495 = load i16, i16* %18
%10496 = sext i16 %10495 to i32
%10497 = sub nsw i32 25, %10496
br label %10498
10498: ; preds = %10494, %10493
%10499 = phi i32 [ 0, %10493 ], [ %10497, %10494 ]
%10500 = trunc i32 %10499 to i16
store i16 %10500, i16* %17
%10501 = load i16, i16* %20
store i16 %10501, i16* %17
br label %10716
10502: ; preds = %10281
%10503 = load i16, i16* %10
store i16 %10503, i16* %18
%10504 = load i16, i16* %14
%10505 = sext i16 %10504 to i32
%10506 = icmp eq i32 %10505, 0
br i1 %10506, label %10507, label %10508
10507: ; preds = %10502
br label %10512
10508: ; preds = %10502
%10509 = load i16, i16* %14
%10510 = sext i16 %10509 to i32
%10511 = sub nsw i32 25, %10510
br label %10512
10512: ; preds = %10508, %10507
%10513 = phi i32 [ 0, %10507 ], [ %10511, %10508 ]
%10514 = trunc i32 %10513 to i16
store i16 %10514, i16* %10
%10515 = load i16, i16* %18
%10516 = sext i16 %10515 to i32
%10517 = icmp eq i32 %10516, 0
br i1 %10517, label %10518, label %10519
10518: ; preds = %10512
br label %10523
10519: ; preds = %10512
%10520 = load i16, i16* %18
%10521 = sext i16 %10520 to i32
%10522 = sub nsw i32 25, %10521
br label %10523
10523: ; preds = %10519, %10518
%10524 = phi i32 [ 0, %10518 ], [ %10522, %10519 ]
%10525 = trunc i32 %10524 to i16
store i16 %10525, i16* %14
%10526 = load i16, i16* %11
store i16 %10526, i16* %18
%10527 = load i16, i16* %15
%10528 = sext i16 %10527 to i32
%10529 = icmp eq i32 %10528, 0
br i1 %10529, label %10530, label %10531
10530: ; preds = %10523
br label %10535
10531: ; preds = %10523
%10532 = load i16, i16* %15
%10533 = sext i16 %10532 to i32
%10534 = sub nsw i32 25, %10533
br label %10535
10535: ; preds = %10531, %10530
%10536 = phi i32 [ 0, %10530 ], [ %10534, %10531 ]
%10537 = trunc i32 %10536 to i16
store i16 %10537, i16* %11
%10538 = load i16, i16* %18
%10539 = sext i16 %10538 to i32
%10540 = icmp eq i32 %10539, 0
br i1 %10540, label %10541, label %10542
10541: ; preds = %10535
br label %10546
10542: ; preds = %10535
%10543 = load i16, i16* %18
%10544 = sext i16 %10543 to i32
%10545 = sub nsw i32 25, %10544
br label %10546
10546: ; preds = %10542, %10541
%10547 = phi i32 [ 0, %10541 ], [ %10545, %10542 ]
%10548 = trunc i32 %10547 to i16
store i16 %10548, i16* %15
%10549 = load i16, i16* %12
store i16 %10549, i16* %18
%10550 = load i16, i16* %16
%10551 = sext i16 %10550 to i32
%10552 = icmp eq i32 %10551, 0
br i1 %10552, label %10553, label %10554
10553: ; preds = %10546
br label %10558
10554: ; preds = %10546
%10555 = load i16, i16* %16
%10556 = sext i16 %10555 to i32
%10557 = sub nsw i32 25, %10556
br label %10558
10558: ; preds = %10554, %10553
%10559 = phi i32 [ 0, %10553 ], [ %10557, %10554 ]
%10560 = trunc i32 %10559 to i16
store i16 %10560, i16* %12
%10561 = load i16, i16* %18
%10562 = sext i16 %10561 to i32
%10563 = icmp eq i32 %10562, 0
br i1 %10563, label %10564, label %10565
10564: ; preds = %10558
br label %10569
10565: ; preds = %10558
%10566 = load i16, i16* %18
%10567 = sext i16 %10566 to i32
%10568 = sub nsw i32 25, %10567
br label %10569
10569: ; preds = %10565, %10564
%10570 = phi i32 [ 0, %10564 ], [ %10568, %10565 ]
%10571 = trunc i32 %10570 to i16
store i16 %10571, i16* %16
%10572 = load i16, i16* %13
store i16 %10572, i16* %18
%10573 = load i16, i16* %17
%10574 = sext i16 %10573 to i32
%10575 = icmp eq i32 %10574, 0
br i1 %10575, label %10576, label %10577
10576: ; preds = %10569
br label %10581
10577: ; preds = %10569
%10578 = load i16, i16* %17
%10579 = sext i16 %10578 to i32
%10580 = sub nsw i32 25, %10579
br label %10581
10581: ; preds = %10577, %10576
%10582 = phi i32 [ 0, %10576 ], [ %10580, %10577 ]
%10583 = trunc i32 %10582 to i16
store i16 %10583, i16* %13
%10584 = load i16, i16* %18
%10585 = sext i16 %10584 to i32
%10586 = icmp eq i32 %10585, 0
br i1 %10586, label %10587, label %10588
10587: ; preds = %10581
br label %10592
10588: ; preds = %10581
%10589 = load i16, i16* %18
%10590 = sext i16 %10589 to i32
%10591 = sub nsw i32 25, %10590
br label %10592
10592: ; preds = %10588, %10587
%10593 = phi i32 [ 0, %10587 ], [ %10591, %10588 ]
%10594 = trunc i32 %10593 to i16
store i16 %10594, i16* %17
%10595 = load i16, i16* %10
%10596 = sext i16 %10595 to i32
%10597 = load i16, i16* %11
%10598 = sext i16 %10597 to i32
%10599 = load i16, i16* %12
%10600 = sext i16 %10599 to i32
%10601 = load i16, i16* %13
%10602 = sext i16 %10601 to i32
%10603 = load i16, i16* %14
%10604 = sext i16 %10603 to i32
%10605 = load i16, i16* %15
%10606 = sext i16 %10605 to i32
%10607 = load i16, i16* %16
%10608 = sext i16 %10607 to i32
%10609 = load i16, i16* %17
%10610 = sext i16 %10609 to i32
%10611 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10596, i32 %10598, i32 %10600, i32 %10602, i32 %10604, i32 %10606, i32 %10608, i32 %10610)
%10612 = trunc i32 %10611 to i16
store i16 %10612, i16* %18
%10613 = load i16, i16* %18
%10614 = sext i16 %10613 to i32
%10615 = icmp eq i32 %10614, -1
br i1 %10615, label %10616, label %10617
10616: ; preds = %10592
store i16 -1, i16* %9
br label %19404
10617: ; preds = %10592
%10618 = load i16, i16* %18
%10619 = sext i16 %10618 to i32
%10620 = icmp sle i32 0, %10619
br i1 %10620, label %10621, label %10623
10621: ; preds = %10617
%10622 = load i16, i16* %22
store i16 %10622, i16* %21
br label %10623
10623: ; preds = %10621, %10617
%10624 = load i16, i16* %10
store i16 %10624, i16* %18
%10625 = load i16, i16* %14
%10626 = sext i16 %10625 to i32
%10627 = icmp eq i32 %10626, 0
br i1 %10627, label %10628, label %10629
10628: ; preds = %10623
br label %10633
10629: ; preds = %10623
%10630 = load i16, i16* %14
%10631 = sext i16 %10630 to i32
%10632 = sub nsw i32 25, %10631
br label %10633
10633: ; preds = %10629, %10628
%10634 = phi i32 [ 0, %10628 ], [ %10632, %10629 ]
%10635 = trunc i32 %10634 to i16
store i16 %10635, i16* %10
%10636 = load i16, i16* %18
%10637 = sext i16 %10636 to i32
%10638 = icmp eq i32 %10637, 0
br i1 %10638, label %10639, label %10640
10639: ; preds = %10633
br label %10644
10640: ; preds = %10633
%10641 = load i16, i16* %18
%10642 = sext i16 %10641 to i32
%10643 = sub nsw i32 25, %10642
br label %10644
10644: ; preds = %10640, %10639
%10645 = phi i32 [ 0, %10639 ], [ %10643, %10640 ]
%10646 = trunc i32 %10645 to i16
store i16 %10646, i16* %14
%10647 = load i16, i16* %11
store i16 %10647, i16* %18
%10648 = load i16, i16* %15
%10649 = sext i16 %10648 to i32
%10650 = icmp eq i32 %10649, 0
br i1 %10650, label %10651, label %10652
10651: ; preds = %10644
br label %10656
10652: ; preds = %10644
%10653 = load i16, i16* %15
%10654 = sext i16 %10653 to i32
%10655 = sub nsw i32 25, %10654
br label %10656
10656: ; preds = %10652, %10651
%10657 = phi i32 [ 0, %10651 ], [ %10655, %10652 ]
%10658 = trunc i32 %10657 to i16
store i16 %10658, i16* %11
%10659 = load i16, i16* %18
%10660 = sext i16 %10659 to i32
%10661 = icmp eq i32 %10660, 0
br i1 %10661, label %10662, label %10663
10662: ; preds = %10656
br label %10667
10663: ; preds = %10656
%10664 = load i16, i16* %18
%10665 = sext i16 %10664 to i32
%10666 = sub nsw i32 25, %10665
br label %10667
10667: ; preds = %10663, %10662
%10668 = phi i32 [ 0, %10662 ], [ %10666, %10663 ]
%10669 = trunc i32 %10668 to i16
store i16 %10669, i16* %15
%10670 = load i16, i16* %12
store i16 %10670, i16* %18
%10671 = load i16, i16* %16
%10672 = sext i16 %10671 to i32
%10673 = icmp eq i32 %10672, 0
br i1 %10673, label %10674, label %10675
10674: ; preds = %10667
br label %10679
10675: ; preds = %10667
%10676 = load i16, i16* %16
%10677 = sext i16 %10676 to i32
%10678 = sub nsw i32 25, %10677
br label %10679
10679: ; preds = %10675, %10674
%10680 = phi i32 [ 0, %10674 ], [ %10678, %10675 ]
%10681 = trunc i32 %10680 to i16
store i16 %10681, i16* %12
%10682 = load i16, i16* %18
%10683 = sext i16 %10682 to i32
%10684 = icmp eq i32 %10683, 0
br i1 %10684, label %10685, label %10686
10685: ; preds = %10679
br label %10690
10686: ; preds = %10679
%10687 = load i16, i16* %18
%10688 = sext i16 %10687 to i32
%10689 = sub nsw i32 25, %10688
br label %10690
10690: ; preds = %10686, %10685
%10691 = phi i32 [ 0, %10685 ], [ %10689, %10686 ]
%10692 = trunc i32 %10691 to i16
store i16 %10692, i16* %16
%10693 = load i16, i16* %13
store i16 %10693, i16* %18
%10694 = load i16, i16* %17
%10695 = sext i16 %10694 to i32
%10696 = icmp eq i32 %10695, 0
br i1 %10696, label %10697, label %10698
10697: ; preds = %10690
br label %10702
10698: ; preds = %10690
%10699 = load i16, i16* %17
%10700 = sext i16 %10699 to i32
%10701 = sub nsw i32 25, %10700
br label %10702
10702: ; preds = %10698, %10697
%10703 = phi i32 [ 0, %10697 ], [ %10701, %10698 ]
%10704 = trunc i32 %10703 to i16
store i16 %10704, i16* %13
%10705 = load i16, i16* %18
%10706 = sext i16 %10705 to i32
%10707 = icmp eq i32 %10706, 0
br i1 %10707, label %10708, label %10709
10708: ; preds = %10702
br label %10713
10709: ; preds = %10702
%10710 = load i16, i16* %18
%10711 = sext i16 %10710 to i32
%10712 = sub nsw i32 25, %10711
br label %10713
10713: ; preds = %10709, %10708
%10714 = phi i32 [ 0, %10708 ], [ %10712, %10709 ]
%10715 = trunc i32 %10714 to i16
store i16 %10715, i16* %17
br label %10716
10716: ; preds = %10713, %10498
br label %10717
10717: ; preds = %10716, %10277
%10718 = load i16, i16* %19
store i16 %10718, i16* %11
br label %10719
10719: ; preds = %10717, %10053, %10047, %10041, %10035, %10024
br label %10720
10720: ; preds = %10719, %10019, %10015
br label %19384
10721: ; preds = %10011
%10722 = load i16, i16* %22
%10723 = sext i16 %10722 to i32
%10724 = icmp eq i32 %10723, 15
br i1 %10724, label %10725, label %11435
10725: ; preds = %10721
%10726 = load i16, i16* %11
%10727 = sext i16 %10726 to i32
%10728 = icmp ne i32 %10727, 0
br i1 %10728, label %10729, label %11434
10729: ; preds = %10725
%10730 = load i16, i16* %11
%10731 = sext i16 %10730 to i32
%10732 = icmp slt i32 %10731, 21
br i1 %10732, label %10733, label %11434
10733: ; preds = %10729
%10734 = load i16, i16* %11
%10735 = sext i16 %10734 to i32
%10736 = srem i32 %10735, 4
%10737 = icmp ne i32 %10736, 1
br i1 %10737, label %10738, label %11434
10738: ; preds = %10733
%10739 = load i16, i16* %11
store i16 %10739, i16* %19
%10740 = load i16, i16* %19
%10741 = sext i16 %10740 to i32
%10742 = add nsw i32 %10741, 3
%10743 = trunc i32 %10742 to i16
store i16 %10743, i16* %20
%10744 = load i16, i16* %20
%10745 = sext i16 %10744 to i32
%10746 = load i16, i16* %10
%10747 = sext i16 %10746 to i32
%10748 = icmp ne i32 %10745, %10747
br i1 %10748, label %10749, label %11433
10749: ; preds = %10738
%10750 = load i16, i16* %20
%10751 = sext i16 %10750 to i32
%10752 = load i16, i16* %12
%10753 = sext i16 %10752 to i32
%10754 = icmp ne i32 %10751, %10753
br i1 %10754, label %10755, label %11433
10755: ; preds = %10749
%10756 = load i16, i16* %20
%10757 = sext i16 %10756 to i32
%10758 = load i16, i16* %13
%10759 = sext i16 %10758 to i32
%10760 = icmp ne i32 %10757, %10759
br i1 %10760, label %10761, label %11433
10761: ; preds = %10755
%10762 = load i16, i16* %20
%10763 = sext i16 %10762 to i32
%10764 = load i16, i16* %15
%10765 = sext i16 %10764 to i32
%10766 = icmp ne i32 %10763, %10765
br i1 %10766, label %10767, label %11433
10767: ; preds = %10761
%10768 = load i16, i16* %20
%10769 = sext i16 %10768 to i32
%10770 = load i16, i16* %16
%10771 = sext i16 %10770 to i32
%10772 = icmp ne i32 %10769, %10771
br i1 %10772, label %10773, label %11433
10773: ; preds = %10767
%10774 = load i16, i16* %20
store i16 %10774, i16* %11
%10775 = load i16, i16* %14
%10776 = sext i16 %10775 to i32
%10777 = load i16, i16* %20
%10778 = sext i16 %10777 to i32
%10779 = icmp eq i32 %10776, %10778
br i1 %10779, label %10780, label %10995
10780: ; preds = %10773
store i16 0, i16* %14
%10781 = load i16, i16* %10
store i16 %10781, i16* %18
%10782 = load i16, i16* %14
%10783 = sext i16 %10782 to i32
%10784 = icmp eq i32 %10783, 0
br i1 %10784, label %10785, label %10786
10785: ; preds = %10780
br label %10790
10786: ; preds = %10780
%10787 = load i16, i16* %14
%10788 = sext i16 %10787 to i32
%10789 = sub nsw i32 25, %10788
br label %10790
10790: ; preds = %10786, %10785
%10791 = phi i32 [ 0, %10785 ], [ %10789, %10786 ]
%10792 = trunc i32 %10791 to i16
store i16 %10792, i16* %10
%10793 = load i16, i16* %18
%10794 = sext i16 %10793 to i32
%10795 = icmp eq i32 %10794, 0
br i1 %10795, label %10796, label %10797
10796: ; preds = %10790
br label %10801
10797: ; preds = %10790
%10798 = load i16, i16* %18
%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* %14
%10804 = load i16, i16* %11
store i16 %10804, i16* %18
%10805 = load i16, i16* %15
%10806 = sext i16 %10805 to i32
%10807 = icmp eq i32 %10806, 0
br i1 %10807, label %10808, label %10809
10808: ; preds = %10801
br label %10813
10809: ; preds = %10801
%10810 = load i16, i16* %15
%10811 = sext i16 %10810 to i32
%10812 = sub nsw i32 25, %10811
br label %10813
10813: ; preds = %10809, %10808
%10814 = phi i32 [ 0, %10808 ], [ %10812, %10809 ]
%10815 = trunc i32 %10814 to i16
store i16 %10815, i16* %11
%10816 = load i16, i16* %18
%10817 = sext i16 %10816 to i32
%10818 = icmp eq i32 %10817, 0
br i1 %10818, label %10819, label %10820
10819: ; preds = %10813
br label %10824
10820: ; preds = %10813
%10821 = load i16, i16* %18
%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* %15
%10827 = load i16, i16* %12
store i16 %10827, i16* %18
%10828 = load i16, i16* %16
%10829 = sext i16 %10828 to i32
%10830 = icmp eq i32 %10829, 0
br i1 %10830, label %10831, label %10832
10831: ; preds = %10824
br label %10836
10832: ; preds = %10824
%10833 = load i16, i16* %16
%10834 = sext i16 %10833 to i32
%10835 = sub nsw i32 25, %10834
br label %10836
10836: ; preds = %10832, %10831
%10837 = phi i32 [ 0, %10831 ], [ %10835, %10832 ]
%10838 = trunc i32 %10837 to i16
store i16 %10838, i16* %12
%10839 = load i16, i16* %18
%10840 = sext i16 %10839 to i32
%10841 = icmp eq i32 %10840, 0
br i1 %10841, label %10842, label %10843
10842: ; preds = %10836
br label %10847
10843: ; preds = %10836
%10844 = load i16, i16* %18
%10845 = sext i16 %10844 to i32
%10846 = sub nsw i32 25, %10845
br label %10847
10847: ; preds = %10843, %10842
%10848 = phi i32 [ 0, %10842 ], [ %10846, %10843 ]
%10849 = trunc i32 %10848 to i16
store i16 %10849, i16* %16
%10850 = load i16, i16* %13
store i16 %10850, i16* %18
%10851 = load i16, i16* %17
%10852 = sext i16 %10851 to i32
%10853 = icmp eq i32 %10852, 0
br i1 %10853, label %10854, label %10855
10854: ; preds = %10847
br label %10859
10855: ; preds = %10847
%10856 = load i16, i16* %17
%10857 = sext i16 %10856 to i32
%10858 = sub nsw i32 25, %10857
br label %10859
10859: ; preds = %10855, %10854
%10860 = phi i32 [ 0, %10854 ], [ %10858, %10855 ]
%10861 = trunc i32 %10860 to i16
store i16 %10861, i16* %13
%10862 = load i16, i16* %18
%10863 = sext i16 %10862 to i32
%10864 = icmp eq i32 %10863, 0
br i1 %10864, label %10865, label %10866
10865: ; preds = %10859
br label %10870
10866: ; preds = %10859
%10867 = load i16, i16* %18
%10868 = sext i16 %10867 to i32
%10869 = sub nsw i32 25, %10868
br label %10870
10870: ; preds = %10866, %10865
%10871 = phi i32 [ 0, %10865 ], [ %10869, %10866 ]
%10872 = trunc i32 %10871 to i16
store i16 %10872, i16* %17
%10873 = load i16, i16* %10
%10874 = sext i16 %10873 to i32
%10875 = load i16, i16* %11
%10876 = sext i16 %10875 to i32
%10877 = load i16, i16* %12
%10878 = sext i16 %10877 to i32
%10879 = load i16, i16* %13
%10880 = sext i16 %10879 to i32
%10881 = load i16, i16* %14
%10882 = sext i16 %10881 to i32
%10883 = load i16, i16* %15
%10884 = sext i16 %10883 to i32
%10885 = load i16, i16* %16
%10886 = sext i16 %10885 to i32
%10887 = load i16, i16* %17
%10888 = sext i16 %10887 to i32
%10889 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %10874, i32 %10876, i32 %10878, i32 %10880, i32 %10882, i32 %10884, i32 %10886, i32 %10888)
%10890 = trunc i32 %10889 to i16
store i16 %10890, i16* %18
%10891 = load i16, i16* %18
%10892 = sext i16 %10891 to i32
%10893 = icmp eq i32 %10892, -1
br i1 %10893, label %10894, label %10895
10894: ; preds = %10870
store i16 -1, i16* %9
br label %19404
10895: ; preds = %10870
%10896 = load i16, i16* %18
%10897 = sext i16 %10896 to i32
%10898 = icmp sle i32 0, %10897
br i1 %10898, label %10899, label %10901
10899: ; preds = %10895
%10900 = load i16, i16* %22
store i16 %10900, i16* %21
br label %10901
10901: ; preds = %10899, %10895
%10902 = load i16, i16* %10
store i16 %10902, i16* %18
%10903 = load i16, i16* %14
%10904 = sext i16 %10903 to i32
%10905 = icmp eq i32 %10904, 0
br i1 %10905, label %10906, label %10907
10906: ; preds = %10901
br label %10911
10907: ; preds = %10901
%10908 = load i16, i16* %14
%10909 = sext i16 %10908 to i32
%10910 = sub nsw i32 25, %10909
br label %10911
10911: ; preds = %10907, %10906
%10912 = phi i32 [ 0, %10906 ], [ %10910, %10907 ]
%10913 = trunc i32 %10912 to i16
store i16 %10913, i16* %10
%10914 = load i16, i16* %18
%10915 = sext i16 %10914 to i32
%10916 = icmp eq i32 %10915, 0
br i1 %10916, label %10917, label %10918
10917: ; preds = %10911
br label %10922
10918: ; preds = %10911
%10919 = load i16, i16* %18
%10920 = sext i16 %10919 to i32
%10921 = sub nsw i32 25, %10920
br label %10922
10922: ; preds = %10918, %10917
%10923 = phi i32 [ 0, %10917 ], [ %10921, %10918 ]
%10924 = trunc i32 %10923 to i16
store i16 %10924, i16* %14
%10925 = load i16, i16* %11
store i16 %10925, i16* %18
%10926 = load i16, i16* %15
%10927 = sext i16 %10926 to i32
%10928 = icmp eq i32 %10927, 0
br i1 %10928, label %10929, label %10930
10929: ; preds = %10922
br label %10934
10930: ; preds = %10922
%10931 = load i16, i16* %15
%10932 = sext i16 %10931 to i32
%10933 = sub nsw i32 25, %10932
br label %10934
10934: ; preds = %10930, %10929
%10935 = phi i32 [ 0, %10929 ], [ %10933, %10930 ]
%10936 = trunc i32 %10935 to i16
store i16 %10936, i16* %11
%10937 = load i16, i16* %18
%10938 = sext i16 %10937 to i32
%10939 = icmp eq i32 %10938, 0
br i1 %10939, label %10940, label %10941
10940: ; preds = %10934
br label %10945
10941: ; preds = %10934
%10942 = load i16, i16* %18
%10943 = sext i16 %10942 to i32
%10944 = sub nsw i32 25, %10943
br label %10945
10945: ; preds = %10941, %10940
%10946 = phi i32 [ 0, %10940 ], [ %10944, %10941 ]
%10947 = trunc i32 %10946 to i16
store i16 %10947, i16* %15
%10948 = load i16, i16* %12
store i16 %10948, i16* %18
%10949 = load i16, i16* %16
%10950 = sext i16 %10949 to i32
%10951 = icmp eq i32 %10950, 0
br i1 %10951, label %10952, label %10953
10952: ; preds = %10945
br label %10957
10953: ; preds = %10945
%10954 = load i16, i16* %16
%10955 = sext i16 %10954 to i32
%10956 = sub nsw i32 25, %10955
br label %10957
10957: ; preds = %10953, %10952
%10958 = phi i32 [ 0, %10952 ], [ %10956, %10953 ]
%10959 = trunc i32 %10958 to i16
store i16 %10959, i16* %12
%10960 = load i16, i16* %18
%10961 = sext i16 %10960 to i32
%10962 = icmp eq i32 %10961, 0
br i1 %10962, label %10963, label %10964
10963: ; preds = %10957
br label %10968
10964: ; preds = %10957
%10965 = load i16, i16* %18
%10966 = sext i16 %10965 to i32
%10967 = sub nsw i32 25, %10966
br label %10968
10968: ; preds = %10964, %10963
%10969 = phi i32 [ 0, %10963 ], [ %10967, %10964 ]
%10970 = trunc i32 %10969 to i16
store i16 %10970, i16* %16
%10971 = load i16, i16* %13
store i16 %10971, i16* %18
%10972 = load i16, i16* %17
%10973 = sext i16 %10972 to i32
%10974 = icmp eq i32 %10973, 0
br i1 %10974, label %10975, label %10976
10975: ; preds = %10968
br label %10980
10976: ; preds = %10968
%10977 = load i16, i16* %17
%10978 = sext i16 %10977 to i32
%10979 = sub nsw i32 25, %10978
br label %10980
10980: ; preds = %10976, %10975
%10981 = phi i32 [ 0, %10975 ], [ %10979, %10976 ]
%10982 = trunc i32 %10981 to i16
store i16 %10982, i16* %13
%10983 = load i16, i16* %18
%10984 = sext i16 %10983 to i32
%10985 = icmp eq i32 %10984, 0
br i1 %10985, label %10986, label %10987
10986: ; preds = %10980
br label %10991
10987: ; preds = %10980
%10988 = load i16, i16* %18
%10989 = sext i16 %10988 to i32
%10990 = sub nsw i32 25, %10989
br label %10991
10991: ; preds = %10987, %10986
%10992 = phi i32 [ 0, %10986 ], [ %10990, %10987 ]
%10993 = trunc i32 %10992 to i16
store i16 %10993, i16* %17
%10994 = load i16, i16* %20
store i16 %10994, i16* %14
br label %11431
10995: ; preds = %10773
%10996 = load i16, i16* %20
%10997 = sext i16 %10996 to i32
%10998 = load i16, i16* %17
%10999 = sext i16 %10998 to i32
%11000 = icmp eq i32 %10997, %10999
br i1 %11000, label %11001, label %11216
11001: ; preds = %10995
store i16 0, i16* %17
%11002 = load i16, i16* %10
store i16 %11002, i16* %18
%11003 = load i16, i16* %14
%11004 = sext i16 %11003 to i32
%11005 = icmp eq i32 %11004, 0
br i1 %11005, label %11006, label %11007
11006: ; preds = %11001
br label %11011
11007: ; preds = %11001
%11008 = load i16, i16* %14
%11009 = sext i16 %11008 to i32
%11010 = sub nsw i32 25, %11009
br label %11011
11011: ; preds = %11007, %11006
%11012 = phi i32 [ 0, %11006 ], [ %11010, %11007 ]
%11013 = trunc i32 %11012 to i16
store i16 %11013, i16* %10
%11014 = load i16, i16* %18
%11015 = sext i16 %11014 to i32
%11016 = icmp eq i32 %11015, 0
br i1 %11016, label %11017, label %11018
11017: ; preds = %11011
br label %11022
11018: ; preds = %11011
%11019 = load i16, i16* %18
%11020 = sext i16 %11019 to i32
%11021 = sub nsw i32 25, %11020
br label %11022
11022: ; preds = %11018, %11017
%11023 = phi i32 [ 0, %11017 ], [ %11021, %11018 ]
%11024 = trunc i32 %11023 to i16
store i16 %11024, i16* %14
%11025 = load i16, i16* %11
store i16 %11025, i16* %18
%11026 = load i16, i16* %15
%11027 = sext i16 %11026 to i32
%11028 = icmp eq i32 %11027, 0
br i1 %11028, label %11029, label %11030
11029: ; preds = %11022
br label %11034
11030: ; preds = %11022
%11031 = load i16, i16* %15
%11032 = sext i16 %11031 to i32
%11033 = sub nsw i32 25, %11032
br label %11034
11034: ; preds = %11030, %11029
%11035 = phi i32 [ 0, %11029 ], [ %11033, %11030 ]
%11036 = trunc i32 %11035 to i16
store i16 %11036, i16* %11
%11037 = load i16, i16* %18
%11038 = sext i16 %11037 to i32
%11039 = icmp eq i32 %11038, 0
br i1 %11039, label %11040, label %11041
11040: ; preds = %11034
br label %11045
11041: ; preds = %11034
%11042 = load i16, i16* %18
%11043 = sext i16 %11042 to i32
%11044 = sub nsw i32 25, %11043
br label %11045
11045: ; preds = %11041, %11040
%11046 = phi i32 [ 0, %11040 ], [ %11044, %11041 ]
%11047 = trunc i32 %11046 to i16
store i16 %11047, i16* %15
%11048 = load i16, i16* %12
store i16 %11048, i16* %18
%11049 = load i16, i16* %16
%11050 = sext i16 %11049 to i32
%11051 = icmp eq i32 %11050, 0
br i1 %11051, label %11052, label %11053
11052: ; preds = %11045
br label %11057
11053: ; preds = %11045
%11054 = load i16, i16* %16
%11055 = sext i16 %11054 to i32
%11056 = sub nsw i32 25, %11055
br label %11057
11057: ; preds = %11053, %11052
%11058 = phi i32 [ 0, %11052 ], [ %11056, %11053 ]
%11059 = trunc i32 %11058 to i16
store i16 %11059, i16* %12
%11060 = load i16, i16* %18
%11061 = sext i16 %11060 to i32
%11062 = icmp eq i32 %11061, 0
br i1 %11062, label %11063, label %11064
11063: ; preds = %11057
br label %11068
11064: ; preds = %11057
%11065 = load i16, i16* %18
%11066 = sext i16 %11065 to i32
%11067 = sub nsw i32 25, %11066
br label %11068
11068: ; preds = %11064, %11063
%11069 = phi i32 [ 0, %11063 ], [ %11067, %11064 ]
%11070 = trunc i32 %11069 to i16
store i16 %11070, i16* %16
%11071 = load i16, i16* %13
store i16 %11071, i16* %18
%11072 = load i16, i16* %17
%11073 = sext i16 %11072 to i32
%11074 = icmp eq i32 %11073, 0
br i1 %11074, label %11075, label %11076
11075: ; preds = %11068
br label %11080
11076: ; preds = %11068
%11077 = load i16, i16* %17
%11078 = sext i16 %11077 to i32
%11079 = sub nsw i32 25, %11078
br label %11080
11080: ; preds = %11076, %11075
%11081 = phi i32 [ 0, %11075 ], [ %11079, %11076 ]
%11082 = trunc i32 %11081 to i16
store i16 %11082, i16* %13
%11083 = load i16, i16* %18
%11084 = sext i16 %11083 to i32
%11085 = icmp eq i32 %11084, 0
br i1 %11085, label %11086, label %11087
11086: ; preds = %11080
br label %11091
11087: ; preds = %11080
%11088 = load i16, i16* %18
%11089 = sext i16 %11088 to i32
%11090 = sub nsw i32 25, %11089
br label %11091
11091: ; preds = %11087, %11086
%11092 = phi i32 [ 0, %11086 ], [ %11090, %11087 ]
%11093 = trunc i32 %11092 to i16
store i16 %11093, i16* %17
%11094 = load i16, i16* %10
%11095 = sext i16 %11094 to i32
%11096 = load i16, i16* %11
%11097 = sext i16 %11096 to i32
%11098 = load i16, i16* %12
%11099 = sext i16 %11098 to i32
%11100 = load i16, i16* %13
%11101 = sext i16 %11100 to i32
%11102 = load i16, i16* %14
%11103 = sext i16 %11102 to i32
%11104 = load i16, i16* %15
%11105 = sext i16 %11104 to i32
%11106 = load i16, i16* %16
%11107 = sext i16 %11106 to i32
%11108 = load i16, i16* %17
%11109 = sext i16 %11108 to i32
%11110 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11095, i32 %11097, i32 %11099, i32 %11101, i32 %11103, i32 %11105, i32 %11107, i32 %11109)
%11111 = trunc i32 %11110 to i16
store i16 %11111, i16* %18
%11112 = load i16, i16* %18
%11113 = sext i16 %11112 to i32
%11114 = icmp eq i32 %11113, -1
br i1 %11114, label %11115, label %11116
11115: ; preds = %11091
store i16 -1, i16* %9
br label %19404
11116: ; preds = %11091
%11117 = load i16, i16* %18
%11118 = sext i16 %11117 to i32
%11119 = icmp sle i32 0, %11118
br i1 %11119, label %11120, label %11122
11120: ; preds = %11116
%11121 = load i16, i16* %22
store i16 %11121, i16* %21
br label %11122
11122: ; preds = %11120, %11116
%11123 = load i16, i16* %10
store i16 %11123, i16* %18
%11124 = load i16, i16* %14
%11125 = sext i16 %11124 to i32
%11126 = icmp eq i32 %11125, 0
br i1 %11126, label %11127, label %11128
11127: ; preds = %11122
br label %11132
11128: ; preds = %11122
%11129 = load i16, i16* %14
%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* %10
%11135 = load i16, i16* %18
%11136 = sext i16 %11135 to i32
%11137 = icmp eq i32 %11136, 0
br i1 %11137, label %11138, label %11139
11138: ; preds = %11132
br label %11143
11139: ; preds = %11132
%11140 = load i16, i16* %18
%11141 = sext i16 %11140 to i32
%11142 = sub nsw i32 25, %11141
br label %11143
11143: ; preds = %11139, %11138
%11144 = phi i32 [ 0, %11138 ], [ %11142, %11139 ]
%11145 = trunc i32 %11144 to i16
store i16 %11145, i16* %14
%11146 = load i16, i16* %11
store i16 %11146, i16* %18
%11147 = load i16, i16* %15
%11148 = sext i16 %11147 to i32
%11149 = icmp eq i32 %11148, 0
br i1 %11149, label %11150, label %11151
11150: ; preds = %11143
br label %11155
11151: ; preds = %11143
%11152 = load i16, i16* %15
%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* %11
%11158 = load i16, i16* %18
%11159 = sext i16 %11158 to i32
%11160 = icmp eq i32 %11159, 0
br i1 %11160, label %11161, label %11162
11161: ; preds = %11155
br label %11166
11162: ; preds = %11155
%11163 = load i16, i16* %18
%11164 = sext i16 %11163 to i32
%11165 = sub nsw i32 25, %11164
br label %11166
11166: ; preds = %11162, %11161
%11167 = phi i32 [ 0, %11161 ], [ %11165, %11162 ]
%11168 = trunc i32 %11167 to i16
store i16 %11168, i16* %15
%11169 = load i16, i16* %12
store i16 %11169, i16* %18
%11170 = load i16, i16* %16
%11171 = sext i16 %11170 to i32
%11172 = icmp eq i32 %11171, 0
br i1 %11172, label %11173, label %11174
11173: ; preds = %11166
br label %11178
11174: ; preds = %11166
%11175 = load i16, i16* %16
%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* %12
%11181 = load i16, i16* %18
%11182 = sext i16 %11181 to i32
%11183 = icmp eq i32 %11182, 0
br i1 %11183, label %11184, label %11185
11184: ; preds = %11178
br label %11189
11185: ; preds = %11178
%11186 = load i16, i16* %18
%11187 = sext i16 %11186 to i32
%11188 = sub nsw i32 25, %11187
br label %11189
11189: ; preds = %11185, %11184
%11190 = phi i32 [ 0, %11184 ], [ %11188, %11185 ]
%11191 = trunc i32 %11190 to i16
store i16 %11191, i16* %16
%11192 = load i16, i16* %13
store i16 %11192, i16* %18
%11193 = load i16, i16* %17
%11194 = sext i16 %11193 to i32
%11195 = icmp eq i32 %11194, 0
br i1 %11195, label %11196, label %11197
11196: ; preds = %11189
br label %11201
11197: ; preds = %11189
%11198 = load i16, i16* %17
%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* %13
%11204 = load i16, i16* %18
%11205 = sext i16 %11204 to i32
%11206 = icmp eq i32 %11205, 0
br i1 %11206, label %11207, label %11208
11207: ; preds = %11201
br label %11212
11208: ; preds = %11201
%11209 = load i16, i16* %18
%11210 = sext i16 %11209 to i32
%11211 = sub nsw i32 25, %11210
br label %11212
11212: ; preds = %11208, %11207
%11213 = phi i32 [ 0, %11207 ], [ %11211, %11208 ]
%11214 = trunc i32 %11213 to i16
store i16 %11214, i16* %17
%11215 = load i16, i16* %20
store i16 %11215, i16* %17
br label %11430
11216: ; preds = %10995
%11217 = load i16, i16* %10
store i16 %11217, i16* %18
%11218 = load i16, i16* %14
%11219 = sext i16 %11218 to i32
%11220 = icmp eq i32 %11219, 0
br i1 %11220, label %11221, label %11222
11221: ; preds = %11216
br label %11226
11222: ; preds = %11216
%11223 = load i16, i16* %14
%11224 = sext i16 %11223 to i32
%11225 = sub nsw i32 25, %11224
br label %11226
11226: ; preds = %11222, %11221
%11227 = phi i32 [ 0, %11221 ], [ %11225, %11222 ]
%11228 = trunc i32 %11227 to i16
store i16 %11228, i16* %10
%11229 = load i16, i16* %18
%11230 = sext i16 %11229 to i32
%11231 = icmp eq i32 %11230, 0
br i1 %11231, label %11232, label %11233
11232: ; preds = %11226
br label %11237
11233: ; preds = %11226
%11234 = load i16, i16* %18
%11235 = sext i16 %11234 to i32
%11236 = sub nsw i32 25, %11235
br label %11237
11237: ; preds = %11233, %11232
%11238 = phi i32 [ 0, %11232 ], [ %11236, %11233 ]
%11239 = trunc i32 %11238 to i16
store i16 %11239, i16* %14
%11240 = load i16, i16* %11
store i16 %11240, i16* %18
%11241 = load i16, i16* %15
%11242 = sext i16 %11241 to i32
%11243 = icmp eq i32 %11242, 0
br i1 %11243, label %11244, label %11245
11244: ; preds = %11237
br label %11249
11245: ; preds = %11237
%11246 = load i16, i16* %15
%11247 = sext i16 %11246 to i32
%11248 = sub nsw i32 25, %11247
br label %11249
11249: ; preds = %11245, %11244
%11250 = phi i32 [ 0, %11244 ], [ %11248, %11245 ]
%11251 = trunc i32 %11250 to i16
store i16 %11251, i16* %11
%11252 = load i16, i16* %18
%11253 = sext i16 %11252 to i32
%11254 = icmp eq i32 %11253, 0
br i1 %11254, label %11255, label %11256
11255: ; preds = %11249
br label %11260
11256: ; preds = %11249
%11257 = load i16, i16* %18
%11258 = sext i16 %11257 to i32
%11259 = sub nsw i32 25, %11258
br label %11260
11260: ; preds = %11256, %11255
%11261 = phi i32 [ 0, %11255 ], [ %11259, %11256 ]
%11262 = trunc i32 %11261 to i16
store i16 %11262, i16* %15
%11263 = load i16, i16* %12
store i16 %11263, i16* %18
%11264 = load i16, i16* %16
%11265 = sext i16 %11264 to i32
%11266 = icmp eq i32 %11265, 0
br i1 %11266, label %11267, label %11268
11267: ; preds = %11260
br label %11272
11268: ; preds = %11260
%11269 = load i16, i16* %16
%11270 = sext i16 %11269 to i32
%11271 = sub nsw i32 25, %11270
br label %11272
11272: ; preds = %11268, %11267
%11273 = phi i32 [ 0, %11267 ], [ %11271, %11268 ]
%11274 = trunc i32 %11273 to i16
store i16 %11274, i16* %12
%11275 = load i16, i16* %18
%11276 = sext i16 %11275 to i32
%11277 = icmp eq i32 %11276, 0
br i1 %11277, label %11278, label %11279
11278: ; preds = %11272
br label %11283
11279: ; preds = %11272
%11280 = load i16, i16* %18
%11281 = sext i16 %11280 to i32
%11282 = sub nsw i32 25, %11281
br label %11283
11283: ; preds = %11279, %11278
%11284 = phi i32 [ 0, %11278 ], [ %11282, %11279 ]
%11285 = trunc i32 %11284 to i16
store i16 %11285, i16* %16
%11286 = load i16, i16* %13
store i16 %11286, i16* %18
%11287 = load i16, i16* %17
%11288 = sext i16 %11287 to i32
%11289 = icmp eq i32 %11288, 0
br i1 %11289, label %11290, label %11291
11290: ; preds = %11283
br label %11295
11291: ; preds = %11283
%11292 = load i16, i16* %17
%11293 = sext i16 %11292 to i32
%11294 = sub nsw i32 25, %11293
br label %11295
11295: ; preds = %11291, %11290
%11296 = phi i32 [ 0, %11290 ], [ %11294, %11291 ]
%11297 = trunc i32 %11296 to i16
store i16 %11297, i16* %13
%11298 = load i16, i16* %18
%11299 = sext i16 %11298 to i32
%11300 = icmp eq i32 %11299, 0
br i1 %11300, label %11301, label %11302
11301: ; preds = %11295
br label %11306
11302: ; preds = %11295
%11303 = load i16, i16* %18
%11304 = sext i16 %11303 to i32
%11305 = sub nsw i32 25, %11304
br label %11306
11306: ; preds = %11302, %11301
%11307 = phi i32 [ 0, %11301 ], [ %11305, %11302 ]
%11308 = trunc i32 %11307 to i16
store i16 %11308, i16* %17
%11309 = load i16, i16* %10
%11310 = sext i16 %11309 to i32
%11311 = load i16, i16* %11
%11312 = sext i16 %11311 to i32
%11313 = load i16, i16* %12
%11314 = sext i16 %11313 to i32
%11315 = load i16, i16* %13
%11316 = sext i16 %11315 to i32
%11317 = load i16, i16* %14
%11318 = sext i16 %11317 to i32
%11319 = load i16, i16* %15
%11320 = sext i16 %11319 to i32
%11321 = load i16, i16* %16
%11322 = sext i16 %11321 to i32
%11323 = load i16, i16* %17
%11324 = sext i16 %11323 to i32
%11325 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11310, i32 %11312, i32 %11314, i32 %11316, i32 %11318, i32 %11320, i32 %11322, i32 %11324)
%11326 = trunc i32 %11325 to i16
store i16 %11326, i16* %18
%11327 = load i16, i16* %18
%11328 = sext i16 %11327 to i32
%11329 = icmp eq i32 %11328, -1
br i1 %11329, label %11330, label %11331
11330: ; preds = %11306
store i16 -1, i16* %9
br label %19404
11331: ; preds = %11306
%11332 = load i16, i16* %18
%11333 = sext i16 %11332 to i32
%11334 = icmp sle i32 0, %11333
br i1 %11334, label %11335, label %11337
11335: ; preds = %11331
%11336 = load i16, i16* %22
store i16 %11336, i16* %21
br label %11337
11337: ; preds = %11335, %11331
%11338 = load i16, i16* %10
store i16 %11338, i16* %18
%11339 = load i16, i16* %14
%11340 = sext i16 %11339 to i32
%11341 = icmp eq i32 %11340, 0
br i1 %11341, label %11342, label %11343
11342: ; preds = %11337
br label %11347
11343: ; preds = %11337
%11344 = load i16, i16* %14
%11345 = sext i16 %11344 to i32
%11346 = sub nsw i32 25, %11345
br label %11347
11347: ; preds = %11343, %11342
%11348 = phi i32 [ 0, %11342 ], [ %11346, %11343 ]
%11349 = trunc i32 %11348 to i16
store i16 %11349, i16* %10
%11350 = load i16, i16* %18
%11351 = sext i16 %11350 to i32
%11352 = icmp eq i32 %11351, 0
br i1 %11352, label %11353, label %11354
11353: ; preds = %11347
br label %11358
11354: ; preds = %11347
%11355 = load i16, i16* %18
%11356 = sext i16 %11355 to i32
%11357 = sub nsw i32 25, %11356
br label %11358
11358: ; preds = %11354, %11353
%11359 = phi i32 [ 0, %11353 ], [ %11357, %11354 ]
%11360 = trunc i32 %11359 to i16
store i16 %11360, i16* %14
%11361 = load i16, i16* %11
store i16 %11361, i16* %18
%11362 = load i16, i16* %15
%11363 = sext i16 %11362 to i32
%11364 = icmp eq i32 %11363, 0
br i1 %11364, label %11365, label %11366
11365: ; preds = %11358
br label %11370
11366: ; preds = %11358
%11367 = load i16, i16* %15
%11368 = sext i16 %11367 to i32
%11369 = sub nsw i32 25, %11368
br label %11370
11370: ; preds = %11366, %11365
%11371 = phi i32 [ 0, %11365 ], [ %11369, %11366 ]
%11372 = trunc i32 %11371 to i16
store i16 %11372, i16* %11
%11373 = load i16, i16* %18
%11374 = sext i16 %11373 to i32
%11375 = icmp eq i32 %11374, 0
br i1 %11375, label %11376, label %11377
11376: ; preds = %11370
br label %11381
11377: ; preds = %11370
%11378 = load i16, i16* %18
%11379 = sext i16 %11378 to i32
%11380 = sub nsw i32 25, %11379
br label %11381
11381: ; preds = %11377, %11376
%11382 = phi i32 [ 0, %11376 ], [ %11380, %11377 ]
%11383 = trunc i32 %11382 to i16
store i16 %11383, i16* %15
%11384 = load i16, i16* %12
store i16 %11384, i16* %18
%11385 = load i16, i16* %16
%11386 = sext i16 %11385 to i32
%11387 = icmp eq i32 %11386, 0
br i1 %11387, label %11388, label %11389
11388: ; preds = %11381
br label %11393
11389: ; preds = %11381
%11390 = load i16, i16* %16
%11391 = sext i16 %11390 to i32
%11392 = sub nsw i32 25, %11391
br label %11393
11393: ; preds = %11389, %11388
%11394 = phi i32 [ 0, %11388 ], [ %11392, %11389 ]
%11395 = trunc i32 %11394 to i16
store i16 %11395, i16* %12
%11396 = load i16, i16* %18
%11397 = sext i16 %11396 to i32
%11398 = icmp eq i32 %11397, 0
br i1 %11398, label %11399, label %11400
11399: ; preds = %11393
br label %11404
11400: ; preds = %11393
%11401 = load i16, i16* %18
%11402 = sext i16 %11401 to i32
%11403 = sub nsw i32 25, %11402
br label %11404
11404: ; preds = %11400, %11399
%11405 = phi i32 [ 0, %11399 ], [ %11403, %11400 ]
%11406 = trunc i32 %11405 to i16
store i16 %11406, i16* %16
%11407 = load i16, i16* %13
store i16 %11407, i16* %18
%11408 = load i16, i16* %17
%11409 = sext i16 %11408 to i32
%11410 = icmp eq i32 %11409, 0
br i1 %11410, label %11411, label %11412
11411: ; preds = %11404
br label %11416
11412: ; preds = %11404
%11413 = load i16, i16* %17
%11414 = sext i16 %11413 to i32
%11415 = sub nsw i32 25, %11414
br label %11416
11416: ; preds = %11412, %11411
%11417 = phi i32 [ 0, %11411 ], [ %11415, %11412 ]
%11418 = trunc i32 %11417 to i16
store i16 %11418, i16* %13
%11419 = load i16, i16* %18
%11420 = sext i16 %11419 to i32
%11421 = icmp eq i32 %11420, 0
br i1 %11421, label %11422, label %11423
11422: ; preds = %11416
br label %11427
11423: ; preds = %11416
%11424 = load i16, i16* %18
%11425 = sext i16 %11424 to i32
%11426 = sub nsw i32 25, %11425
br label %11427
11427: ; preds = %11423, %11422
%11428 = phi i32 [ 0, %11422 ], [ %11426, %11423 ]
%11429 = trunc i32 %11428 to i16
store i16 %11429, i16* %17
br label %11430
11430: ; preds = %11427, %11212
br label %11431
11431: ; preds = %11430, %10991
%11432 = load i16, i16* %19
store i16 %11432, i16* %11
br label %11433
11433: ; preds = %11431, %10767, %10761, %10755, %10749, %10738
br label %11434
11434: ; preds = %11433, %10733, %10729, %10725
br label %19383
11435: ; preds = %10721
%11436 = load i16, i16* %22
%11437 = sext i16 %11436 to i32
%11438 = icmp eq i32 %11437, 16
br i1 %11438, label %11439, label %11928
11439: ; preds = %11435
%11440 = load i16, i16* %12
%11441 = sext i16 %11440 to i32
%11442 = icmp ne i32 %11441, 0
br i1 %11442, label %11443, label %11927
11443: ; preds = %11439
%11444 = load i16, i16* %12
%11445 = sext i16 %11444 to i32
%11446 = icmp slt i32 %11445, 21
br i1 %11446, label %11447, label %11927
11447: ; preds = %11443
%11448 = load i16, i16* %12
store i16 %11448, i16* %19
%11449 = load i16, i16* %19
%11450 = sext i16 %11449 to i32
%11451 = add nsw i32 %11450, 4
%11452 = trunc i32 %11451 to i16
store i16 %11452, i16* %20
%11453 = load i16, i16* %20
%11454 = sext i16 %11453 to i32
%11455 = load i16, i16* %10
%11456 = sext i16 %11455 to i32
%11457 = icmp ne i32 %11454, %11456
br i1 %11457, label %11458, label %11926
11458: ; preds = %11447
%11459 = load i16, i16* %20
%11460 = sext i16 %11459 to i32
%11461 = load i16, i16* %11
%11462 = sext i16 %11461 to i32
%11463 = icmp ne i32 %11460, %11462
br i1 %11463, label %11464, label %11926
11464: ; preds = %11458
%11465 = load i16, i16* %20
%11466 = sext i16 %11465 to i32
%11467 = load i16, i16* %13
%11468 = sext i16 %11467 to i32
%11469 = icmp ne i32 %11466, %11468
br i1 %11469, label %11470, label %11926
11470: ; preds = %11464
%11471 = load i16, i16* %20
%11472 = sext i16 %11471 to i32
%11473 = load i16, i16* %14
%11474 = sext i16 %11473 to i32
%11475 = icmp ne i32 %11472, %11474
br i1 %11475, label %11476, label %11926
11476: ; preds = %11470
%11477 = load i16, i16* %20
%11478 = sext i16 %11477 to i32
%11479 = load i16, i16* %16
%11480 = sext i16 %11479 to i32
%11481 = icmp ne i32 %11478, %11480
br i1 %11481, label %11482, label %11926
11482: ; preds = %11476
%11483 = load i16, i16* %20
%11484 = sext i16 %11483 to i32
%11485 = load i16, i16* %17
%11486 = sext i16 %11485 to i32
%11487 = icmp ne i32 %11484, %11486
br i1 %11487, label %11488, label %11926
11488: ; preds = %11482
%11489 = load i16, i16* %20
store i16 %11489, i16* %12
%11490 = load i16, i16* %15
%11491 = sext i16 %11490 to i32
%11492 = load i16, i16* %20
%11493 = sext i16 %11492 to i32
%11494 = icmp eq i32 %11491, %11493
br i1 %11494, label %11495, label %11710
11495: ; preds = %11488
store i16 0, i16* %15
%11496 = load i16, i16* %10
store i16 %11496, i16* %18
%11497 = load i16, i16* %14
%11498 = sext i16 %11497 to i32
%11499 = icmp eq i32 %11498, 0
br i1 %11499, label %11500, label %11501
11500: ; preds = %11495
br label %11505
11501: ; preds = %11495
%11502 = load i16, i16* %14
%11503 = sext i16 %11502 to i32
%11504 = sub nsw i32 25, %11503
br label %11505
11505: ; preds = %11501, %11500
%11506 = phi i32 [ 0, %11500 ], [ %11504, %11501 ]
%11507 = trunc i32 %11506 to i16
store i16 %11507, i16* %10
%11508 = load i16, i16* %18
%11509 = sext i16 %11508 to i32
%11510 = icmp eq i32 %11509, 0
br i1 %11510, label %11511, label %11512
11511: ; preds = %11505
br label %11516
11512: ; preds = %11505
%11513 = load i16, i16* %18
%11514 = sext i16 %11513 to i32
%11515 = sub nsw i32 25, %11514
br label %11516
11516: ; preds = %11512, %11511
%11517 = phi i32 [ 0, %11511 ], [ %11515, %11512 ]
%11518 = trunc i32 %11517 to i16
store i16 %11518, i16* %14
%11519 = load i16, i16* %11
store i16 %11519, i16* %18
%11520 = load i16, i16* %15
%11521 = sext i16 %11520 to i32
%11522 = icmp eq i32 %11521, 0
br i1 %11522, label %11523, label %11524
11523: ; preds = %11516
br label %11528
11524: ; preds = %11516
%11525 = load i16, i16* %15
%11526 = sext i16 %11525 to i32
%11527 = sub nsw i32 25, %11526
br label %11528
11528: ; preds = %11524, %11523
%11529 = phi i32 [ 0, %11523 ], [ %11527, %11524 ]
%11530 = trunc i32 %11529 to i16
store i16 %11530, i16* %11
%11531 = load i16, i16* %18
%11532 = sext i16 %11531 to i32
%11533 = icmp eq i32 %11532, 0
br i1 %11533, label %11534, label %11535
11534: ; preds = %11528
br label %11539
11535: ; preds = %11528
%11536 = load i16, i16* %18
%11537 = sext i16 %11536 to i32
%11538 = sub nsw i32 25, %11537
br label %11539
11539: ; preds = %11535, %11534
%11540 = phi i32 [ 0, %11534 ], [ %11538, %11535 ]
%11541 = trunc i32 %11540 to i16
store i16 %11541, i16* %15
%11542 = load i16, i16* %12
store i16 %11542, i16* %18
%11543 = load i16, i16* %16
%11544 = sext i16 %11543 to i32
%11545 = icmp eq i32 %11544, 0
br i1 %11545, label %11546, label %11547
11546: ; preds = %11539
br label %11551
11547: ; preds = %11539
%11548 = load i16, i16* %16
%11549 = sext i16 %11548 to i32
%11550 = sub nsw i32 25, %11549
br label %11551
11551: ; preds = %11547, %11546
%11552 = phi i32 [ 0, %11546 ], [ %11550, %11547 ]
%11553 = trunc i32 %11552 to i16
store i16 %11553, i16* %12
%11554 = load i16, i16* %18
%11555 = sext i16 %11554 to i32
%11556 = icmp eq i32 %11555, 0
br i1 %11556, label %11557, label %11558
11557: ; preds = %11551
br label %11562
11558: ; preds = %11551
%11559 = load i16, i16* %18
%11560 = sext i16 %11559 to i32
%11561 = sub nsw i32 25, %11560
br label %11562
11562: ; preds = %11558, %11557
%11563 = phi i32 [ 0, %11557 ], [ %11561, %11558 ]
%11564 = trunc i32 %11563 to i16
store i16 %11564, i16* %16
%11565 = load i16, i16* %13
store i16 %11565, i16* %18
%11566 = load i16, i16* %17
%11567 = sext i16 %11566 to i32
%11568 = icmp eq i32 %11567, 0
br i1 %11568, label %11569, label %11570
11569: ; preds = %11562
br label %11574
11570: ; preds = %11562
%11571 = load i16, i16* %17
%11572 = sext i16 %11571 to i32
%11573 = sub nsw i32 25, %11572
br label %11574
11574: ; preds = %11570, %11569
%11575 = phi i32 [ 0, %11569 ], [ %11573, %11570 ]
%11576 = trunc i32 %11575 to i16
store i16 %11576, i16* %13
%11577 = load i16, i16* %18
%11578 = sext i16 %11577 to i32
%11579 = icmp eq i32 %11578, 0
br i1 %11579, label %11580, label %11581
11580: ; preds = %11574
br label %11585
11581: ; preds = %11574
%11582 = load i16, i16* %18
%11583 = sext i16 %11582 to i32
%11584 = sub nsw i32 25, %11583
br label %11585
11585: ; preds = %11581, %11580
%11586 = phi i32 [ 0, %11580 ], [ %11584, %11581 ]
%11587 = trunc i32 %11586 to i16
store i16 %11587, i16* %17
%11588 = load i16, i16* %10
%11589 = sext i16 %11588 to i32
%11590 = load i16, i16* %11
%11591 = sext i16 %11590 to i32
%11592 = load i16, i16* %12
%11593 = sext i16 %11592 to i32
%11594 = load i16, i16* %13
%11595 = sext i16 %11594 to i32
%11596 = load i16, i16* %14
%11597 = sext i16 %11596 to i32
%11598 = load i16, i16* %15
%11599 = sext i16 %11598 to i32
%11600 = load i16, i16* %16
%11601 = sext i16 %11600 to i32
%11602 = load i16, i16* %17
%11603 = sext i16 %11602 to i32
%11604 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11589, i32 %11591, i32 %11593, i32 %11595, i32 %11597, i32 %11599, i32 %11601, i32 %11603)
%11605 = trunc i32 %11604 to i16
store i16 %11605, i16* %18
%11606 = load i16, i16* %18
%11607 = sext i16 %11606 to i32
%11608 = icmp eq i32 %11607, -1
br i1 %11608, label %11609, label %11610
11609: ; preds = %11585
store i16 -1, i16* %9
br label %19404
11610: ; preds = %11585
%11611 = load i16, i16* %18
%11612 = sext i16 %11611 to i32
%11613 = icmp sle i32 0, %11612
br i1 %11613, label %11614, label %11616
11614: ; preds = %11610
%11615 = load i16, i16* %22
store i16 %11615, i16* %21
br label %11616
11616: ; preds = %11614, %11610
%11617 = load i16, i16* %10
store i16 %11617, i16* %18
%11618 = load i16, i16* %14
%11619 = sext i16 %11618 to i32
%11620 = icmp eq i32 %11619, 0
br i1 %11620, label %11621, label %11622
11621: ; preds = %11616
br label %11626
11622: ; preds = %11616
%11623 = load i16, i16* %14
%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* %10
%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* %14
%11640 = load i16, i16* %11
store i16 %11640, i16* %18
%11641 = load i16, i16* %15
%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* %15
%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* %11
%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* %15
%11663 = load i16, i16* %12
store i16 %11663, i16* %18
%11664 = load i16, i16* %16
%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* %16
%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* %12
%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* %16
%11686 = load i16, i16* %13
store i16 %11686, i16* %18
%11687 = load i16, i16* %17
%11688 = sext i16 %11687 to i32
%11689 = icmp eq i32 %11688, 0
br i1 %11689, label %11690, label %11691
11690: ; preds = %11683
br label %11695
11691: ; preds = %11683
%11692 = load i16, i16* %17
%11693 = sext i16 %11692 to i32
%11694 = sub nsw i32 25, %11693
br label %11695
11695: ; preds = %11691, %11690
%11696 = phi i32 [ 0, %11690 ], [ %11694, %11691 ]
%11697 = trunc i32 %11696 to i16
store i16 %11697, i16* %13
%11698 = load i16, i16* %18
%11699 = sext i16 %11698 to i32
%11700 = icmp eq i32 %11699, 0
br i1 %11700, label %11701, label %11702
11701: ; preds = %11695
br label %11706
11702: ; preds = %11695
%11703 = load i16, i16* %18
%11704 = sext i16 %11703 to i32
%11705 = sub nsw i32 25, %11704
br label %11706
11706: ; preds = %11702, %11701
%11707 = phi i32 [ 0, %11701 ], [ %11705, %11702 ]
%11708 = trunc i32 %11707 to i16
store i16 %11708, i16* %17
%11709 = load i16, i16* %20
store i16 %11709, i16* %15
br label %11924
11710: ; preds = %11488
%11711 = load i16, i16* %10
store i16 %11711, i16* %18
%11712 = load i16, i16* %14
%11713 = sext i16 %11712 to i32
%11714 = icmp eq i32 %11713, 0
br i1 %11714, label %11715, label %11716
11715: ; preds = %11710
br label %11720
11716: ; preds = %11710
%11717 = load i16, i16* %14
%11718 = sext i16 %11717 to i32
%11719 = sub nsw i32 25, %11718
br label %11720
11720: ; preds = %11716, %11715
%11721 = phi i32 [ 0, %11715 ], [ %11719, %11716 ]
%11722 = trunc i32 %11721 to i16
store i16 %11722, i16* %10
%11723 = load i16, i16* %18
%11724 = sext i16 %11723 to i32
%11725 = icmp eq i32 %11724, 0
br i1 %11725, label %11726, label %11727
11726: ; preds = %11720
br label %11731
11727: ; preds = %11720
%11728 = load i16, i16* %18
%11729 = sext i16 %11728 to i32
%11730 = sub nsw i32 25, %11729
br label %11731
11731: ; preds = %11727, %11726
%11732 = phi i32 [ 0, %11726 ], [ %11730, %11727 ]
%11733 = trunc i32 %11732 to i16
store i16 %11733, i16* %14
%11734 = load i16, i16* %11
store i16 %11734, i16* %18
%11735 = load i16, i16* %15
%11736 = sext i16 %11735 to i32
%11737 = icmp eq i32 %11736, 0
br i1 %11737, label %11738, label %11739
11738: ; preds = %11731
br label %11743
11739: ; preds = %11731
%11740 = load i16, i16* %15
%11741 = sext i16 %11740 to i32
%11742 = sub nsw i32 25, %11741
br label %11743
11743: ; preds = %11739, %11738
%11744 = phi i32 [ 0, %11738 ], [ %11742, %11739 ]
%11745 = trunc i32 %11744 to i16
store i16 %11745, i16* %11
%11746 = load i16, i16* %18
%11747 = sext i16 %11746 to i32
%11748 = icmp eq i32 %11747, 0
br i1 %11748, label %11749, label %11750
11749: ; preds = %11743
br label %11754
11750: ; preds = %11743
%11751 = load i16, i16* %18
%11752 = sext i16 %11751 to i32
%11753 = sub nsw i32 25, %11752
br label %11754
11754: ; preds = %11750, %11749
%11755 = phi i32 [ 0, %11749 ], [ %11753, %11750 ]
%11756 = trunc i32 %11755 to i16
store i16 %11756, i16* %15
%11757 = load i16, i16* %12
store i16 %11757, i16* %18
%11758 = load i16, i16* %16
%11759 = sext i16 %11758 to i32
%11760 = icmp eq i32 %11759, 0
br i1 %11760, label %11761, label %11762
11761: ; preds = %11754
br label %11766
11762: ; preds = %11754
%11763 = load i16, i16* %16
%11764 = sext i16 %11763 to i32
%11765 = sub nsw i32 25, %11764
br label %11766
11766: ; preds = %11762, %11761
%11767 = phi i32 [ 0, %11761 ], [ %11765, %11762 ]
%11768 = trunc i32 %11767 to i16
store i16 %11768, i16* %12
%11769 = load i16, i16* %18
%11770 = sext i16 %11769 to i32
%11771 = icmp eq i32 %11770, 0
br i1 %11771, label %11772, label %11773
11772: ; preds = %11766
br label %11777
11773: ; preds = %11766
%11774 = load i16, i16* %18
%11775 = sext i16 %11774 to i32
%11776 = sub nsw i32 25, %11775
br label %11777
11777: ; preds = %11773, %11772
%11778 = phi i32 [ 0, %11772 ], [ %11776, %11773 ]
%11779 = trunc i32 %11778 to i16
store i16 %11779, i16* %16
%11780 = load i16, i16* %13
store i16 %11780, i16* %18
%11781 = load i16, i16* %17
%11782 = sext i16 %11781 to i32
%11783 = icmp eq i32 %11782, 0
br i1 %11783, label %11784, label %11785
11784: ; preds = %11777
br label %11789
11785: ; preds = %11777
%11786 = load i16, i16* %17
%11787 = sext i16 %11786 to i32
%11788 = sub nsw i32 25, %11787
br label %11789
11789: ; preds = %11785, %11784
%11790 = phi i32 [ 0, %11784 ], [ %11788, %11785 ]
%11791 = trunc i32 %11790 to i16
store i16 %11791, i16* %13
%11792 = load i16, i16* %18
%11793 = sext i16 %11792 to i32
%11794 = icmp eq i32 %11793, 0
br i1 %11794, label %11795, label %11796
11795: ; preds = %11789
br label %11800
11796: ; preds = %11789
%11797 = load i16, i16* %18
%11798 = sext i16 %11797 to i32
%11799 = sub nsw i32 25, %11798
br label %11800
11800: ; preds = %11796, %11795
%11801 = phi i32 [ 0, %11795 ], [ %11799, %11796 ]
%11802 = trunc i32 %11801 to i16
store i16 %11802, i16* %17
%11803 = load i16, i16* %10
%11804 = sext i16 %11803 to i32
%11805 = load i16, i16* %11
%11806 = sext i16 %11805 to i32
%11807 = load i16, i16* %12
%11808 = sext i16 %11807 to i32
%11809 = load i16, i16* %13
%11810 = sext i16 %11809 to i32
%11811 = load i16, i16* %14
%11812 = sext i16 %11811 to i32
%11813 = load i16, i16* %15
%11814 = sext i16 %11813 to i32
%11815 = load i16, i16* %16
%11816 = sext i16 %11815 to i32
%11817 = load i16, i16* %17
%11818 = sext i16 %11817 to i32
%11819 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %11804, i32 %11806, i32 %11808, i32 %11810, i32 %11812, i32 %11814, i32 %11816, i32 %11818)
%11820 = trunc i32 %11819 to i16
store i16 %11820, i16* %18
%11821 = load i16, i16* %18
%11822 = sext i16 %11821 to i32
%11823 = icmp eq i32 %11822, -1
br i1 %11823, label %11824, label %11825
11824: ; preds = %11800
store i16 -1, i16* %9
br label %19404
11825: ; preds = %11800
%11826 = load i16, i16* %18
%11827 = sext i16 %11826 to i32
%11828 = icmp sle i32 0, %11827
br i1 %11828, label %11829, label %11831
11829: ; preds = %11825
%11830 = load i16, i16* %22
store i16 %11830, i16* %21
br label %11831
11831: ; preds = %11829, %11825
%11832 = load i16, i16* %10
store i16 %11832, i16* %18
%11833 = load i16, i16* %14
%11834 = sext i16 %11833 to i32
%11835 = icmp eq i32 %11834, 0
br i1 %11835, label %11836, label %11837
11836: ; preds = %11831
br label %11841
11837: ; preds = %11831
%11838 = load i16, i16* %14
%11839 = sext i16 %11838 to i32
%11840 = sub nsw i32 25, %11839
br label %11841
11841: ; preds = %11837, %11836
%11842 = phi i32 [ 0, %11836 ], [ %11840, %11837 ]
%11843 = trunc i32 %11842 to i16
store i16 %11843, i16* %10
%11844 = load i16, i16* %18
%11845 = sext i16 %11844 to i32
%11846 = icmp eq i32 %11845, 0
br i1 %11846, label %11847, label %11848
11847: ; preds = %11841
br label %11852
11848: ; preds = %11841
%11849 = load i16, i16* %18
%11850 = sext i16 %11849 to i32
%11851 = sub nsw i32 25, %11850
br label %11852
11852: ; preds = %11848, %11847
%11853 = phi i32 [ 0, %11847 ], [ %11851, %11848 ]
%11854 = trunc i32 %11853 to i16
store i16 %11854, i16* %14
%11855 = load i16, i16* %11
store i16 %11855, i16* %18
%11856 = load i16, i16* %15
%11857 = sext i16 %11856 to i32
%11858 = icmp eq i32 %11857, 0
br i1 %11858, label %11859, label %11860
11859: ; preds = %11852
br label %11864
11860: ; preds = %11852
%11861 = load i16, i16* %15
%11862 = sext i16 %11861 to i32
%11863 = sub nsw i32 25, %11862
br label %11864
11864: ; preds = %11860, %11859
%11865 = phi i32 [ 0, %11859 ], [ %11863, %11860 ]
%11866 = trunc i32 %11865 to i16
store i16 %11866, i16* %11
%11867 = load i16, i16* %18
%11868 = sext i16 %11867 to i32
%11869 = icmp eq i32 %11868, 0
br i1 %11869, label %11870, label %11871
11870: ; preds = %11864
br label %11875
11871: ; preds = %11864
%11872 = load i16, i16* %18
%11873 = sext i16 %11872 to i32
%11874 = sub nsw i32 25, %11873
br label %11875
11875: ; preds = %11871, %11870
%11876 = phi i32 [ 0, %11870 ], [ %11874, %11871 ]
%11877 = trunc i32 %11876 to i16
store i16 %11877, i16* %15
%11878 = load i16, i16* %12
store i16 %11878, i16* %18
%11879 = load i16, i16* %16
%11880 = sext i16 %11879 to i32
%11881 = icmp eq i32 %11880, 0
br i1 %11881, label %11882, label %11883
11882: ; preds = %11875
br label %11887
11883: ; preds = %11875
%11884 = load i16, i16* %16
%11885 = sext i16 %11884 to i32
%11886 = sub nsw i32 25, %11885
br label %11887
11887: ; preds = %11883, %11882
%11888 = phi i32 [ 0, %11882 ], [ %11886, %11883 ]
%11889 = trunc i32 %11888 to i16
store i16 %11889, i16* %12
%11890 = load i16, i16* %18
%11891 = sext i16 %11890 to i32
%11892 = icmp eq i32 %11891, 0
br i1 %11892, label %11893, label %11894
11893: ; preds = %11887
br label %11898
11894: ; preds = %11887
%11895 = load i16, i16* %18
%11896 = sext i16 %11895 to i32
%11897 = sub nsw i32 25, %11896
br label %11898
11898: ; preds = %11894, %11893
%11899 = phi i32 [ 0, %11893 ], [ %11897, %11894 ]
%11900 = trunc i32 %11899 to i16
store i16 %11900, i16* %16
%11901 = load i16, i16* %13
store i16 %11901, i16* %18
%11902 = load i16, i16* %17
%11903 = sext i16 %11902 to i32
%11904 = icmp eq i32 %11903, 0
br i1 %11904, label %11905, label %11906
11905: ; preds = %11898
br label %11910
11906: ; preds = %11898
%11907 = load i16, i16* %17
%11908 = sext i16 %11907 to i32
%11909 = sub nsw i32 25, %11908
br label %11910
11910: ; preds = %11906, %11905
%11911 = phi i32 [ 0, %11905 ], [ %11909, %11906 ]
%11912 = trunc i32 %11911 to i16
store i16 %11912, i16* %13
%11913 = load i16, i16* %18
%11914 = sext i16 %11913 to i32
%11915 = icmp eq i32 %11914, 0
br i1 %11915, label %11916, label %11917
11916: ; preds = %11910
br label %11921
11917: ; preds = %11910
%11918 = load i16, i16* %18
%11919 = sext i16 %11918 to i32
%11920 = sub nsw i32 25, %11919
br label %11921
11921: ; preds = %11917, %11916
%11922 = phi i32 [ 0, %11916 ], [ %11920, %11917 ]
%11923 = trunc i32 %11922 to i16
store i16 %11923, i16* %17
br label %11924
11924: ; preds = %11921, %11706
%11925 = load i16, i16* %19
store i16 %11925, i16* %12
br label %11926
11926: ; preds = %11924, %11482, %11476, %11470, %11464, %11458, %11447
br label %11927
11927: ; preds = %11926, %11443, %11439
br label %19382
11928: ; preds = %11435
%11929 = load i16, i16* %22
%11930 = sext i16 %11929 to i32
%11931 = icmp eq i32 %11930, 17
br i1 %11931, label %11932, label %12426
11932: ; preds = %11928
%11933 = load i16, i16* %12
%11934 = sext i16 %11933 to i32
%11935 = icmp ne i32 %11934, 0
br i1 %11935, label %11936, label %12425
11936: ; preds = %11932
%11937 = load i16, i16* %12
%11938 = sext i16 %11937 to i32
%11939 = icmp slt i32 %11938, 21
br i1 %11939, label %11940, label %12425
11940: ; preds = %11936
%11941 = load i16, i16* %12
%11942 = sext i16 %11941 to i32
%11943 = srem i32 %11942, 4
%11944 = icmp ne i32 %11943, 0
br i1 %11944, label %11945, label %12425
11945: ; preds = %11940
%11946 = load i16, i16* %12
store i16 %11946, i16* %19
%11947 = load i16, i16* %19
%11948 = sext i16 %11947 to i32
%11949 = add nsw i32 %11948, 5
%11950 = trunc i32 %11949 to i16
store i16 %11950, i16* %20
%11951 = load i16, i16* %20
%11952 = sext i16 %11951 to i32
%11953 = load i16, i16* %10
%11954 = sext i16 %11953 to i32
%11955 = icmp ne i32 %11952, %11954
br i1 %11955, label %11956, label %12424
11956: ; preds = %11945
%11957 = load i16, i16* %20
%11958 = sext i16 %11957 to i32
%11959 = load i16, i16* %11
%11960 = sext i16 %11959 to i32
%11961 = icmp ne i32 %11958, %11960
br i1 %11961, label %11962, label %12424
11962: ; preds = %11956
%11963 = load i16, i16* %20
%11964 = sext i16 %11963 to i32
%11965 = load i16, i16* %13
%11966 = sext i16 %11965 to i32
%11967 = icmp ne i32 %11964, %11966
br i1 %11967, label %11968, label %12424
11968: ; preds = %11962
%11969 = load i16, i16* %20
%11970 = sext i16 %11969 to i32
%11971 = load i16, i16* %14
%11972 = sext i16 %11971 to i32
%11973 = icmp ne i32 %11970, %11972
br i1 %11973, label %11974, label %12424
11974: ; preds = %11968
%11975 = load i16, i16* %20
%11976 = sext i16 %11975 to i32
%11977 = load i16, i16* %16
%11978 = sext i16 %11977 to i32
%11979 = icmp ne i32 %11976, %11978
br i1 %11979, label %11980, label %12424
11980: ; preds = %11974
%11981 = load i16, i16* %20
%11982 = sext i16 %11981 to i32
%11983 = load i16, i16* %17
%11984 = sext i16 %11983 to i32
%11985 = icmp ne i32 %11982, %11984
br i1 %11985, label %11986, label %12424
11986: ; preds = %11980
%11987 = load i16, i16* %20
store i16 %11987, i16* %12
%11988 = load i16, i16* %15
%11989 = sext i16 %11988 to i32
%11990 = load i16, i16* %20
%11991 = sext i16 %11990 to i32
%11992 = icmp eq i32 %11989, %11991
br i1 %11992, label %11993, label %12208
11993: ; preds = %11986
store i16 0, i16* %15
%11994 = load i16, i16* %10
store i16 %11994, i16* %18
%11995 = load i16, i16* %14
%11996 = sext i16 %11995 to i32
%11997 = icmp eq i32 %11996, 0
br i1 %11997, label %11998, label %11999
11998: ; preds = %11993
br label %12003
11999: ; preds = %11993
%12000 = load i16, i16* %14
%12001 = sext i16 %12000 to i32
%12002 = sub nsw i32 25, %12001
br label %12003
12003: ; preds = %11999, %11998
%12004 = phi i32 [ 0, %11998 ], [ %12002, %11999 ]
%12005 = trunc i32 %12004 to i16
store i16 %12005, i16* %10
%12006 = load i16, i16* %18
%12007 = sext i16 %12006 to i32
%12008 = icmp eq i32 %12007, 0
br i1 %12008, label %12009, label %12010
12009: ; preds = %12003
br label %12014
12010: ; preds = %12003
%12011 = load i16, i16* %18
%12012 = sext i16 %12011 to i32
%12013 = sub nsw i32 25, %12012
br label %12014
12014: ; preds = %12010, %12009
%12015 = phi i32 [ 0, %12009 ], [ %12013, %12010 ]
%12016 = trunc i32 %12015 to i16
store i16 %12016, i16* %14
%12017 = load i16, i16* %11
store i16 %12017, i16* %18
%12018 = load i16, i16* %15
%12019 = sext i16 %12018 to i32
%12020 = icmp eq i32 %12019, 0
br i1 %12020, label %12021, label %12022
12021: ; preds = %12014
br label %12026
12022: ; preds = %12014
%12023 = load i16, i16* %15
%12024 = sext i16 %12023 to i32
%12025 = sub nsw i32 25, %12024
br label %12026
12026: ; preds = %12022, %12021
%12027 = phi i32 [ 0, %12021 ], [ %12025, %12022 ]
%12028 = trunc i32 %12027 to i16
store i16 %12028, i16* %11
%12029 = load i16, i16* %18
%12030 = sext i16 %12029 to i32
%12031 = icmp eq i32 %12030, 0
br i1 %12031, label %12032, label %12033
12032: ; preds = %12026
br label %12037
12033: ; preds = %12026
%12034 = load i16, i16* %18
%12035 = sext i16 %12034 to i32
%12036 = sub nsw i32 25, %12035
br label %12037
12037: ; preds = %12033, %12032
%12038 = phi i32 [ 0, %12032 ], [ %12036, %12033 ]
%12039 = trunc i32 %12038 to i16
store i16 %12039, i16* %15
%12040 = load i16, i16* %12
store i16 %12040, i16* %18
%12041 = load i16, i16* %16
%12042 = sext i16 %12041 to i32
%12043 = icmp eq i32 %12042, 0
br i1 %12043, label %12044, label %12045
12044: ; preds = %12037
br label %12049
12045: ; preds = %12037
%12046 = load i16, i16* %16
%12047 = sext i16 %12046 to i32
%12048 = sub nsw i32 25, %12047
br label %12049
12049: ; preds = %12045, %12044
%12050 = phi i32 [ 0, %12044 ], [ %12048, %12045 ]
%12051 = trunc i32 %12050 to i16
store i16 %12051, i16* %12
%12052 = load i16, i16* %18
%12053 = sext i16 %12052 to i32
%12054 = icmp eq i32 %12053, 0
br i1 %12054, label %12055, label %12056
12055: ; preds = %12049
br label %12060
12056: ; preds = %12049
%12057 = load i16, i16* %18
%12058 = sext i16 %12057 to i32
%12059 = sub nsw i32 25, %12058
br label %12060
12060: ; preds = %12056, %12055
%12061 = phi i32 [ 0, %12055 ], [ %12059, %12056 ]
%12062 = trunc i32 %12061 to i16
store i16 %12062, i16* %16
%12063 = load i16, i16* %13
store i16 %12063, i16* %18
%12064 = load i16, i16* %17
%12065 = sext i16 %12064 to i32
%12066 = icmp eq i32 %12065, 0
br i1 %12066, label %12067, label %12068
12067: ; preds = %12060
br label %12072
12068: ; preds = %12060
%12069 = load i16, i16* %17
%12070 = sext i16 %12069 to i32
%12071 = sub nsw i32 25, %12070
br label %12072
12072: ; preds = %12068, %12067
%12073 = phi i32 [ 0, %12067 ], [ %12071, %12068 ]
%12074 = trunc i32 %12073 to i16
store i16 %12074, i16* %13
%12075 = load i16, i16* %18
%12076 = sext i16 %12075 to i32
%12077 = icmp eq i32 %12076, 0
br i1 %12077, label %12078, label %12079
12078: ; preds = %12072
br label %12083
12079: ; preds = %12072
%12080 = load i16, i16* %18
%12081 = sext i16 %12080 to i32
%12082 = sub nsw i32 25, %12081
br label %12083
12083: ; preds = %12079, %12078
%12084 = phi i32 [ 0, %12078 ], [ %12082, %12079 ]
%12085 = trunc i32 %12084 to i16
store i16 %12085, i16* %17
%12086 = load i16, i16* %10
%12087 = sext i16 %12086 to i32
%12088 = load i16, i16* %11
%12089 = sext i16 %12088 to i32
%12090 = load i16, i16* %12
%12091 = sext i16 %12090 to i32
%12092 = load i16, i16* %13
%12093 = sext i16 %12092 to i32
%12094 = load i16, i16* %14
%12095 = sext i16 %12094 to i32
%12096 = load i16, i16* %15
%12097 = sext i16 %12096 to i32
%12098 = load i16, i16* %16
%12099 = sext i16 %12098 to i32
%12100 = load i16, i16* %17
%12101 = sext i16 %12100 to i32
%12102 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12087, i32 %12089, i32 %12091, i32 %12093, i32 %12095, i32 %12097, i32 %12099, i32 %12101)
%12103 = trunc i32 %12102 to i16
store i16 %12103, i16* %18
%12104 = load i16, i16* %18
%12105 = sext i16 %12104 to i32
%12106 = icmp eq i32 %12105, -1
br i1 %12106, label %12107, label %12108
12107: ; preds = %12083
store i16 -1, i16* %9
br label %19404
12108: ; preds = %12083
%12109 = load i16, i16* %18
%12110 = sext i16 %12109 to i32
%12111 = icmp sle i32 0, %12110
br i1 %12111, label %12112, label %12114
12112: ; preds = %12108
%12113 = load i16, i16* %22
store i16 %12113, i16* %21
br label %12114
12114: ; preds = %12112, %12108
%12115 = load i16, i16* %10
store i16 %12115, i16* %18
%12116 = load i16, i16* %14
%12117 = sext i16 %12116 to i32
%12118 = icmp eq i32 %12117, 0
br i1 %12118, label %12119, label %12120
12119: ; preds = %12114
br label %12124
12120: ; preds = %12114
%12121 = load i16, i16* %14
%12122 = sext i16 %12121 to i32
%12123 = sub nsw i32 25, %12122
br label %12124
12124: ; preds = %12120, %12119
%12125 = phi i32 [ 0, %12119 ], [ %12123, %12120 ]
%12126 = trunc i32 %12125 to i16
store i16 %12126, i16* %10
%12127 = load i16, i16* %18
%12128 = sext i16 %12127 to i32
%12129 = icmp eq i32 %12128, 0
br i1 %12129, label %12130, label %12131
12130: ; preds = %12124
br label %12135
12131: ; preds = %12124
%12132 = load i16, i16* %18
%12133 = sext i16 %12132 to i32
%12134 = sub nsw i32 25, %12133
br label %12135
12135: ; preds = %12131, %12130
%12136 = phi i32 [ 0, %12130 ], [ %12134, %12131 ]
%12137 = trunc i32 %12136 to i16
store i16 %12137, i16* %14
%12138 = load i16, i16* %11
store i16 %12138, i16* %18
%12139 = load i16, i16* %15
%12140 = sext i16 %12139 to i32
%12141 = icmp eq i32 %12140, 0
br i1 %12141, label %12142, label %12143
12142: ; preds = %12135
br label %12147
12143: ; preds = %12135
%12144 = load i16, i16* %15
%12145 = sext i16 %12144 to i32
%12146 = sub nsw i32 25, %12145
br label %12147
12147: ; preds = %12143, %12142
%12148 = phi i32 [ 0, %12142 ], [ %12146, %12143 ]
%12149 = trunc i32 %12148 to i16
store i16 %12149, i16* %11
%12150 = load i16, i16* %18
%12151 = sext i16 %12150 to i32
%12152 = icmp eq i32 %12151, 0
br i1 %12152, label %12153, label %12154
12153: ; preds = %12147
br label %12158
12154: ; preds = %12147
%12155 = load i16, i16* %18
%12156 = sext i16 %12155 to i32
%12157 = sub nsw i32 25, %12156
br label %12158
12158: ; preds = %12154, %12153
%12159 = phi i32 [ 0, %12153 ], [ %12157, %12154 ]
%12160 = trunc i32 %12159 to i16
store i16 %12160, i16* %15
%12161 = load i16, i16* %12
store i16 %12161, i16* %18
%12162 = load i16, i16* %16
%12163 = sext i16 %12162 to i32
%12164 = icmp eq i32 %12163, 0
br i1 %12164, label %12165, label %12166
12165: ; preds = %12158
br label %12170
12166: ; preds = %12158
%12167 = load i16, i16* %16
%12168 = sext i16 %12167 to i32
%12169 = sub nsw i32 25, %12168
br label %12170
12170: ; preds = %12166, %12165
%12171 = phi i32 [ 0, %12165 ], [ %12169, %12166 ]
%12172 = trunc i32 %12171 to i16
store i16 %12172, i16* %12
%12173 = load i16, i16* %18
%12174 = sext i16 %12173 to i32
%12175 = icmp eq i32 %12174, 0
br i1 %12175, label %12176, label %12177
12176: ; preds = %12170
br label %12181
12177: ; preds = %12170
%12178 = load i16, i16* %18
%12179 = sext i16 %12178 to i32
%12180 = sub nsw i32 25, %12179
br label %12181
12181: ; preds = %12177, %12176
%12182 = phi i32 [ 0, %12176 ], [ %12180, %12177 ]
%12183 = trunc i32 %12182 to i16
store i16 %12183, i16* %16
%12184 = load i16, i16* %13
store i16 %12184, i16* %18
%12185 = load i16, i16* %17
%12186 = sext i16 %12185 to i32
%12187 = icmp eq i32 %12186, 0
br i1 %12187, label %12188, label %12189
12188: ; preds = %12181
br label %12193
12189: ; preds = %12181
%12190 = load i16, i16* %17
%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* %13
%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* %17
%12207 = load i16, i16* %20
store i16 %12207, i16* %15
br label %12422
12208: ; preds = %11986
%12209 = load i16, i16* %10
store i16 %12209, i16* %18
%12210 = load i16, i16* %14
%12211 = sext i16 %12210 to i32
%12212 = icmp eq i32 %12211, 0
br i1 %12212, label %12213, label %12214
12213: ; preds = %12208
br label %12218
12214: ; preds = %12208
%12215 = load i16, i16* %14
%12216 = sext i16 %12215 to i32
%12217 = sub nsw i32 25, %12216
br label %12218
12218: ; preds = %12214, %12213
%12219 = phi i32 [ 0, %12213 ], [ %12217, %12214 ]
%12220 = trunc i32 %12219 to i16
store i16 %12220, i16* %10
%12221 = load i16, i16* %18
%12222 = sext i16 %12221 to i32
%12223 = icmp eq i32 %12222, 0
br i1 %12223, label %12224, label %12225
12224: ; preds = %12218
br label %12229
12225: ; preds = %12218
%12226 = load i16, i16* %18
%12227 = sext i16 %12226 to i32
%12228 = sub nsw i32 25, %12227
br label %12229
12229: ; preds = %12225, %12224
%12230 = phi i32 [ 0, %12224 ], [ %12228, %12225 ]
%12231 = trunc i32 %12230 to i16
store i16 %12231, i16* %14
%12232 = load i16, i16* %11
store i16 %12232, i16* %18
%12233 = load i16, i16* %15
%12234 = sext i16 %12233 to i32
%12235 = icmp eq i32 %12234, 0
br i1 %12235, label %12236, label %12237
12236: ; preds = %12229
br label %12241
12237: ; preds = %12229
%12238 = load i16, i16* %15
%12239 = sext i16 %12238 to i32
%12240 = sub nsw i32 25, %12239
br label %12241
12241: ; preds = %12237, %12236
%12242 = phi i32 [ 0, %12236 ], [ %12240, %12237 ]
%12243 = trunc i32 %12242 to i16
store i16 %12243, i16* %11
%12244 = load i16, i16* %18
%12245 = sext i16 %12244 to i32
%12246 = icmp eq i32 %12245, 0
br i1 %12246, label %12247, label %12248
12247: ; preds = %12241
br label %12252
12248: ; preds = %12241
%12249 = load i16, i16* %18
%12250 = sext i16 %12249 to i32
%12251 = sub nsw i32 25, %12250
br label %12252
12252: ; preds = %12248, %12247
%12253 = phi i32 [ 0, %12247 ], [ %12251, %12248 ]
%12254 = trunc i32 %12253 to i16
store i16 %12254, i16* %15
%12255 = load i16, i16* %12
store i16 %12255, i16* %18
%12256 = load i16, i16* %16
%12257 = sext i16 %12256 to i32
%12258 = icmp eq i32 %12257, 0
br i1 %12258, label %12259, label %12260
12259: ; preds = %12252
br label %12264
12260: ; preds = %12252
%12261 = load i16, i16* %16
%12262 = sext i16 %12261 to i32
%12263 = sub nsw i32 25, %12262
br label %12264
12264: ; preds = %12260, %12259
%12265 = phi i32 [ 0, %12259 ], [ %12263, %12260 ]
%12266 = trunc i32 %12265 to i16
store i16 %12266, i16* %12
%12267 = load i16, i16* %18
%12268 = sext i16 %12267 to i32
%12269 = icmp eq i32 %12268, 0
br i1 %12269, label %12270, label %12271
12270: ; preds = %12264
br label %12275
12271: ; preds = %12264
%12272 = load i16, i16* %18
%12273 = sext i16 %12272 to i32
%12274 = sub nsw i32 25, %12273
br label %12275
12275: ; preds = %12271, %12270
%12276 = phi i32 [ 0, %12270 ], [ %12274, %12271 ]
%12277 = trunc i32 %12276 to i16
store i16 %12277, i16* %16
%12278 = load i16, i16* %13
store i16 %12278, i16* %18
%12279 = load i16, i16* %17
%12280 = sext i16 %12279 to i32
%12281 = icmp eq i32 %12280, 0
br i1 %12281, label %12282, label %12283
12282: ; preds = %12275
br label %12287
12283: ; preds = %12275
%12284 = load i16, i16* %17
%12285 = sext i16 %12284 to i32
%12286 = sub nsw i32 25, %12285
br label %12287
12287: ; preds = %12283, %12282
%12288 = phi i32 [ 0, %12282 ], [ %12286, %12283 ]
%12289 = trunc i32 %12288 to i16
store i16 %12289, i16* %13
%12290 = load i16, i16* %18
%12291 = sext i16 %12290 to i32
%12292 = icmp eq i32 %12291, 0
br i1 %12292, label %12293, label %12294
12293: ; preds = %12287
br label %12298
12294: ; preds = %12287
%12295 = load i16, i16* %18
%12296 = sext i16 %12295 to i32
%12297 = sub nsw i32 25, %12296
br label %12298
12298: ; preds = %12294, %12293
%12299 = phi i32 [ 0, %12293 ], [ %12297, %12294 ]
%12300 = trunc i32 %12299 to i16
store i16 %12300, i16* %17
%12301 = load i16, i16* %10
%12302 = sext i16 %12301 to i32
%12303 = load i16, i16* %11
%12304 = sext i16 %12303 to i32
%12305 = load i16, i16* %12
%12306 = sext i16 %12305 to i32
%12307 = load i16, i16* %13
%12308 = sext i16 %12307 to i32
%12309 = load i16, i16* %14
%12310 = sext i16 %12309 to i32
%12311 = load i16, i16* %15
%12312 = sext i16 %12311 to i32
%12313 = load i16, i16* %16
%12314 = sext i16 %12313 to i32
%12315 = load i16, i16* %17
%12316 = sext i16 %12315 to i32
%12317 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12302, i32 %12304, i32 %12306, i32 %12308, i32 %12310, i32 %12312, i32 %12314, i32 %12316)
%12318 = trunc i32 %12317 to i16
store i16 %12318, i16* %18
%12319 = load i16, i16* %18
%12320 = sext i16 %12319 to i32
%12321 = icmp eq i32 %12320, -1
br i1 %12321, label %12322, label %12323
12322: ; preds = %12298
store i16 -1, i16* %9
br label %19404
12323: ; preds = %12298
%12324 = load i16, i16* %18
%12325 = sext i16 %12324 to i32
%12326 = icmp sle i32 0, %12325
br i1 %12326, label %12327, label %12329
12327: ; preds = %12323
%12328 = load i16, i16* %22
store i16 %12328, i16* %21
br label %12329
12329: ; preds = %12327, %12323
%12330 = load i16, i16* %10
store i16 %12330, i16* %18
%12331 = load i16, i16* %14
%12332 = sext i16 %12331 to i32
%12333 = icmp eq i32 %12332, 0
br i1 %12333, label %12334, label %12335
12334: ; preds = %12329
br label %12339
12335: ; preds = %12329
%12336 = load i16, i16* %14
%12337 = sext i16 %12336 to i32
%12338 = sub nsw i32 25, %12337
br label %12339
12339: ; preds = %12335, %12334
%12340 = phi i32 [ 0, %12334 ], [ %12338, %12335 ]
%12341 = trunc i32 %12340 to i16
store i16 %12341, i16* %10
%12342 = load i16, i16* %18
%12343 = sext i16 %12342 to i32
%12344 = icmp eq i32 %12343, 0
br i1 %12344, label %12345, label %12346
12345: ; preds = %12339
br label %12350
12346: ; preds = %12339
%12347 = load i16, i16* %18
%12348 = sext i16 %12347 to i32
%12349 = sub nsw i32 25, %12348
br label %12350
12350: ; preds = %12346, %12345
%12351 = phi i32 [ 0, %12345 ], [ %12349, %12346 ]
%12352 = trunc i32 %12351 to i16
store i16 %12352, i16* %14
%12353 = load i16, i16* %11
store i16 %12353, i16* %18
%12354 = load i16, i16* %15
%12355 = sext i16 %12354 to i32
%12356 = icmp eq i32 %12355, 0
br i1 %12356, label %12357, label %12358
12357: ; preds = %12350
br label %12362
12358: ; preds = %12350
%12359 = load i16, i16* %15
%12360 = sext i16 %12359 to i32
%12361 = sub nsw i32 25, %12360
br label %12362
12362: ; preds = %12358, %12357
%12363 = phi i32 [ 0, %12357 ], [ %12361, %12358 ]
%12364 = trunc i32 %12363 to i16
store i16 %12364, i16* %11
%12365 = load i16, i16* %18
%12366 = sext i16 %12365 to i32
%12367 = icmp eq i32 %12366, 0
br i1 %12367, label %12368, label %12369
12368: ; preds = %12362
br label %12373
12369: ; preds = %12362
%12370 = load i16, i16* %18
%12371 = sext i16 %12370 to i32
%12372 = sub nsw i32 25, %12371
br label %12373
12373: ; preds = %12369, %12368
%12374 = phi i32 [ 0, %12368 ], [ %12372, %12369 ]
%12375 = trunc i32 %12374 to i16
store i16 %12375, i16* %15
%12376 = load i16, i16* %12
store i16 %12376, i16* %18
%12377 = load i16, i16* %16
%12378 = sext i16 %12377 to i32
%12379 = icmp eq i32 %12378, 0
br i1 %12379, label %12380, label %12381
12380: ; preds = %12373
br label %12385
12381: ; preds = %12373
%12382 = load i16, i16* %16
%12383 = sext i16 %12382 to i32
%12384 = sub nsw i32 25, %12383
br label %12385
12385: ; preds = %12381, %12380
%12386 = phi i32 [ 0, %12380 ], [ %12384, %12381 ]
%12387 = trunc i32 %12386 to i16
store i16 %12387, i16* %12
%12388 = load i16, i16* %18
%12389 = sext i16 %12388 to i32
%12390 = icmp eq i32 %12389, 0
br i1 %12390, label %12391, label %12392
12391: ; preds = %12385
br label %12396
12392: ; preds = %12385
%12393 = load i16, i16* %18
%12394 = sext i16 %12393 to i32
%12395 = sub nsw i32 25, %12394
br label %12396
12396: ; preds = %12392, %12391
%12397 = phi i32 [ 0, %12391 ], [ %12395, %12392 ]
%12398 = trunc i32 %12397 to i16
store i16 %12398, i16* %16
%12399 = load i16, i16* %13
store i16 %12399, i16* %18
%12400 = load i16, i16* %17
%12401 = sext i16 %12400 to i32
%12402 = icmp eq i32 %12401, 0
br i1 %12402, label %12403, label %12404
12403: ; preds = %12396
br label %12408
12404: ; preds = %12396
%12405 = load i16, i16* %17
%12406 = sext i16 %12405 to i32
%12407 = sub nsw i32 25, %12406
br label %12408
12408: ; preds = %12404, %12403
%12409 = phi i32 [ 0, %12403 ], [ %12407, %12404 ]
%12410 = trunc i32 %12409 to i16
store i16 %12410, i16* %13
%12411 = load i16, i16* %18
%12412 = sext i16 %12411 to i32
%12413 = icmp eq i32 %12412, 0
br i1 %12413, label %12414, label %12415
12414: ; preds = %12408
br label %12419
12415: ; preds = %12408
%12416 = load i16, i16* %18
%12417 = sext i16 %12416 to i32
%12418 = sub nsw i32 25, %12417
br label %12419
12419: ; preds = %12415, %12414
%12420 = phi i32 [ 0, %12414 ], [ %12418, %12415 ]
%12421 = trunc i32 %12420 to i16
store i16 %12421, i16* %17
br label %12422
12422: ; preds = %12419, %12204
%12423 = load i16, i16* %19
store i16 %12423, i16* %12
br label %12424
12424: ; preds = %12422, %11980, %11974, %11968, %11962, %11956, %11945
br label %12425
12425: ; preds = %12424, %11940, %11936, %11932
br label %19381
12426: ; preds = %11928
%12427 = load i16, i16* %22
%12428 = sext i16 %12427 to i32
%12429 = icmp eq i32 %12428, 18
br i1 %12429, label %12430, label %12920
12430: ; preds = %12426
%12431 = load i16, i16* %12
%12432 = sext i16 %12431 to i32
%12433 = icmp ne i32 %12432, 0
br i1 %12433, label %12434, label %12919
12434: ; preds = %12430
%12435 = load i16, i16* %12
%12436 = sext i16 %12435 to i32
%12437 = srem i32 %12436, 4
%12438 = icmp ne i32 %12437, 0
br i1 %12438, label %12439, label %12919
12439: ; preds = %12434
%12440 = load i16, i16* %12
store i16 %12440, i16* %19
%12441 = load i16, i16* %19
%12442 = sext i16 %12441 to i32
%12443 = add nsw i32 %12442, 1
%12444 = trunc i32 %12443 to i16
store i16 %12444, i16* %20
%12445 = load i16, i16* %20
%12446 = sext i16 %12445 to i32
%12447 = load i16, i16* %10
%12448 = sext i16 %12447 to i32
%12449 = icmp ne i32 %12446, %12448
br i1 %12449, label %12450, label %12918
12450: ; preds = %12439
%12451 = load i16, i16* %20
%12452 = sext i16 %12451 to i32
%12453 = load i16, i16* %11
%12454 = sext i16 %12453 to i32
%12455 = icmp ne i32 %12452, %12454
br i1 %12455, label %12456, label %12918
12456: ; preds = %12450
%12457 = load i16, i16* %20
%12458 = sext i16 %12457 to i32
%12459 = load i16, i16* %13
%12460 = sext i16 %12459 to i32
%12461 = icmp ne i32 %12458, %12460
br i1 %12461, label %12462, label %12918
12462: ; preds = %12456
%12463 = load i16, i16* %20
%12464 = sext i16 %12463 to i32
%12465 = load i16, i16* %14
%12466 = sext i16 %12465 to i32
%12467 = icmp ne i32 %12464, %12466
br i1 %12467, label %12468, label %12918
12468: ; preds = %12462
%12469 = load i16, i16* %20
%12470 = sext i16 %12469 to i32
%12471 = load i16, i16* %16
%12472 = sext i16 %12471 to i32
%12473 = icmp ne i32 %12470, %12472
br i1 %12473, label %12474, label %12918
12474: ; preds = %12468
%12475 = load i16, i16* %20
%12476 = sext i16 %12475 to i32
%12477 = load i16, i16* %17
%12478 = sext i16 %12477 to i32
%12479 = icmp ne i32 %12476, %12478
br i1 %12479, label %12480, label %12918
12480: ; preds = %12474
%12481 = load i16, i16* %20
store i16 %12481, i16* %12
%12482 = load i16, i16* %15
%12483 = sext i16 %12482 to i32
%12484 = load i16, i16* %20
%12485 = sext i16 %12484 to i32
%12486 = icmp eq i32 %12483, %12485
br i1 %12486, label %12487, label %12702
12487: ; preds = %12480
store i16 0, i16* %15
%12488 = load i16, i16* %10
store i16 %12488, i16* %18
%12489 = load i16, i16* %14
%12490 = sext i16 %12489 to i32
%12491 = icmp eq i32 %12490, 0
br i1 %12491, label %12492, label %12493
12492: ; preds = %12487
br label %12497
12493: ; preds = %12487
%12494 = load i16, i16* %14
%12495 = sext i16 %12494 to i32
%12496 = sub nsw i32 25, %12495
br label %12497
12497: ; preds = %12493, %12492
%12498 = phi i32 [ 0, %12492 ], [ %12496, %12493 ]
%12499 = trunc i32 %12498 to i16
store i16 %12499, i16* %10
%12500 = load i16, i16* %18
%12501 = sext i16 %12500 to i32
%12502 = icmp eq i32 %12501, 0
br i1 %12502, label %12503, label %12504
12503: ; preds = %12497
br label %12508
12504: ; preds = %12497
%12505 = load i16, i16* %18
%12506 = sext i16 %12505 to i32
%12507 = sub nsw i32 25, %12506
br label %12508
12508: ; preds = %12504, %12503
%12509 = phi i32 [ 0, %12503 ], [ %12507, %12504 ]
%12510 = trunc i32 %12509 to i16
store i16 %12510, i16* %14
%12511 = load i16, i16* %11
store i16 %12511, i16* %18
%12512 = load i16, i16* %15
%12513 = sext i16 %12512 to i32
%12514 = icmp eq i32 %12513, 0
br i1 %12514, label %12515, label %12516
12515: ; preds = %12508
br label %12520
12516: ; preds = %12508
%12517 = load i16, i16* %15
%12518 = sext i16 %12517 to i32
%12519 = sub nsw i32 25, %12518
br label %12520
12520: ; preds = %12516, %12515
%12521 = phi i32 [ 0, %12515 ], [ %12519, %12516 ]
%12522 = trunc i32 %12521 to i16
store i16 %12522, i16* %11
%12523 = load i16, i16* %18
%12524 = sext i16 %12523 to i32
%12525 = icmp eq i32 %12524, 0
br i1 %12525, label %12526, label %12527
12526: ; preds = %12520
br label %12531
12527: ; preds = %12520
%12528 = load i16, i16* %18
%12529 = sext i16 %12528 to i32
%12530 = sub nsw i32 25, %12529
br label %12531
12531: ; preds = %12527, %12526
%12532 = phi i32 [ 0, %12526 ], [ %12530, %12527 ]
%12533 = trunc i32 %12532 to i16
store i16 %12533, i16* %15
%12534 = load i16, i16* %12
store i16 %12534, i16* %18
%12535 = load i16, i16* %16
%12536 = sext i16 %12535 to i32
%12537 = icmp eq i32 %12536, 0
br i1 %12537, label %12538, label %12539
12538: ; preds = %12531
br label %12543
12539: ; preds = %12531
%12540 = load i16, i16* %16
%12541 = sext i16 %12540 to i32
%12542 = sub nsw i32 25, %12541
br label %12543
12543: ; preds = %12539, %12538
%12544 = phi i32 [ 0, %12538 ], [ %12542, %12539 ]
%12545 = trunc i32 %12544 to i16
store i16 %12545, i16* %12
%12546 = load i16, i16* %18
%12547 = sext i16 %12546 to i32
%12548 = icmp eq i32 %12547, 0
br i1 %12548, label %12549, label %12550
12549: ; preds = %12543
br label %12554
12550: ; preds = %12543
%12551 = load i16, i16* %18
%12552 = sext i16 %12551 to i32
%12553 = sub nsw i32 25, %12552
br label %12554
12554: ; preds = %12550, %12549
%12555 = phi i32 [ 0, %12549 ], [ %12553, %12550 ]
%12556 = trunc i32 %12555 to i16
store i16 %12556, i16* %16
%12557 = load i16, i16* %13
store i16 %12557, i16* %18
%12558 = load i16, i16* %17
%12559 = sext i16 %12558 to i32
%12560 = icmp eq i32 %12559, 0
br i1 %12560, label %12561, label %12562
12561: ; preds = %12554
br label %12566
12562: ; preds = %12554
%12563 = load i16, i16* %17
%12564 = sext i16 %12563 to i32
%12565 = sub nsw i32 25, %12564
br label %12566
12566: ; preds = %12562, %12561
%12567 = phi i32 [ 0, %12561 ], [ %12565, %12562 ]
%12568 = trunc i32 %12567 to i16
store i16 %12568, i16* %13
%12569 = load i16, i16* %18
%12570 = sext i16 %12569 to i32
%12571 = icmp eq i32 %12570, 0
br i1 %12571, label %12572, label %12573
12572: ; preds = %12566
br label %12577
12573: ; preds = %12566
%12574 = load i16, i16* %18
%12575 = sext i16 %12574 to i32
%12576 = sub nsw i32 25, %12575
br label %12577
12577: ; preds = %12573, %12572
%12578 = phi i32 [ 0, %12572 ], [ %12576, %12573 ]
%12579 = trunc i32 %12578 to i16
store i16 %12579, i16* %17
%12580 = load i16, i16* %10
%12581 = sext i16 %12580 to i32
%12582 = load i16, i16* %11
%12583 = sext i16 %12582 to i32
%12584 = load i16, i16* %12
%12585 = sext i16 %12584 to i32
%12586 = load i16, i16* %13
%12587 = sext i16 %12586 to i32
%12588 = load i16, i16* %14
%12589 = sext i16 %12588 to i32
%12590 = load i16, i16* %15
%12591 = sext i16 %12590 to i32
%12592 = load i16, i16* %16
%12593 = sext i16 %12592 to i32
%12594 = load i16, i16* %17
%12595 = sext i16 %12594 to i32
%12596 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12581, i32 %12583, i32 %12585, i32 %12587, i32 %12589, i32 %12591, i32 %12593, i32 %12595)
%12597 = trunc i32 %12596 to i16
store i16 %12597, i16* %18
%12598 = load i16, i16* %18
%12599 = sext i16 %12598 to i32
%12600 = icmp eq i32 %12599, -1
br i1 %12600, label %12601, label %12602
12601: ; preds = %12577
store i16 -1, i16* %9
br label %19404
12602: ; preds = %12577
%12603 = load i16, i16* %18
%12604 = sext i16 %12603 to i32
%12605 = icmp sle i32 0, %12604
br i1 %12605, label %12606, label %12608
12606: ; preds = %12602
%12607 = load i16, i16* %22
store i16 %12607, i16* %21
br label %12608
12608: ; preds = %12606, %12602
%12609 = load i16, i16* %10
store i16 %12609, i16* %18
%12610 = load i16, i16* %14
%12611 = sext i16 %12610 to i32
%12612 = icmp eq i32 %12611, 0
br i1 %12612, label %12613, label %12614
12613: ; preds = %12608
br label %12618
12614: ; preds = %12608
%12615 = load i16, i16* %14
%12616 = sext i16 %12615 to i32
%12617 = sub nsw i32 25, %12616
br label %12618
12618: ; preds = %12614, %12613
%12619 = phi i32 [ 0, %12613 ], [ %12617, %12614 ]
%12620 = trunc i32 %12619 to i16
store i16 %12620, i16* %10
%12621 = load i16, i16* %18
%12622 = sext i16 %12621 to i32
%12623 = icmp eq i32 %12622, 0
br i1 %12623, label %12624, label %12625
12624: ; preds = %12618
br label %12629
12625: ; preds = %12618
%12626 = load i16, i16* %18
%12627 = sext i16 %12626 to i32
%12628 = sub nsw i32 25, %12627
br label %12629
12629: ; preds = %12625, %12624
%12630 = phi i32 [ 0, %12624 ], [ %12628, %12625 ]
%12631 = trunc i32 %12630 to i16
store i16 %12631, i16* %14
%12632 = load i16, i16* %11
store i16 %12632, i16* %18
%12633 = load i16, i16* %15
%12634 = sext i16 %12633 to i32
%12635 = icmp eq i32 %12634, 0
br i1 %12635, label %12636, label %12637
12636: ; preds = %12629
br label %12641
12637: ; preds = %12629
%12638 = load i16, i16* %15
%12639 = sext i16 %12638 to i32
%12640 = sub nsw i32 25, %12639
br label %12641
12641: ; preds = %12637, %12636
%12642 = phi i32 [ 0, %12636 ], [ %12640, %12637 ]
%12643 = trunc i32 %12642 to i16
store i16 %12643, i16* %11
%12644 = load i16, i16* %18
%12645 = sext i16 %12644 to i32
%12646 = icmp eq i32 %12645, 0
br i1 %12646, label %12647, label %12648
12647: ; preds = %12641
br label %12652
12648: ; preds = %12641
%12649 = load i16, i16* %18
%12650 = sext i16 %12649 to i32
%12651 = sub nsw i32 25, %12650
br label %12652
12652: ; preds = %12648, %12647
%12653 = phi i32 [ 0, %12647 ], [ %12651, %12648 ]
%12654 = trunc i32 %12653 to i16
store i16 %12654, i16* %15
%12655 = load i16, i16* %12
store i16 %12655, i16* %18
%12656 = load i16, i16* %16
%12657 = sext i16 %12656 to i32
%12658 = icmp eq i32 %12657, 0
br i1 %12658, label %12659, label %12660
12659: ; preds = %12652
br label %12664
12660: ; preds = %12652
%12661 = load i16, i16* %16
%12662 = sext i16 %12661 to i32
%12663 = sub nsw i32 25, %12662
br label %12664
12664: ; preds = %12660, %12659
%12665 = phi i32 [ 0, %12659 ], [ %12663, %12660 ]
%12666 = trunc i32 %12665 to i16
store i16 %12666, i16* %12
%12667 = load i16, i16* %18
%12668 = sext i16 %12667 to i32
%12669 = icmp eq i32 %12668, 0
br i1 %12669, label %12670, label %12671
12670: ; preds = %12664
br label %12675
12671: ; preds = %12664
%12672 = load i16, i16* %18
%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* %16
%12678 = load i16, i16* %13
store i16 %12678, i16* %18
%12679 = load i16, i16* %17
%12680 = sext i16 %12679 to i32
%12681 = icmp eq i32 %12680, 0
br i1 %12681, label %12682, label %12683
12682: ; preds = %12675
br label %12687
12683: ; preds = %12675
%12684 = load i16, i16* %17
%12685 = sext i16 %12684 to i32
%12686 = sub nsw i32 25, %12685
br label %12687
12687: ; preds = %12683, %12682
%12688 = phi i32 [ 0, %12682 ], [ %12686, %12683 ]
%12689 = trunc i32 %12688 to i16
store i16 %12689, i16* %13
%12690 = load i16, i16* %18
%12691 = sext i16 %12690 to i32
%12692 = icmp eq i32 %12691, 0
br i1 %12692, label %12693, label %12694
12693: ; preds = %12687
br label %12698
12694: ; preds = %12687
%12695 = load i16, i16* %18
%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* %17
%12701 = load i16, i16* %20
store i16 %12701, i16* %15
br label %12916
12702: ; preds = %12480
%12703 = load i16, i16* %10
store i16 %12703, i16* %18
%12704 = load i16, i16* %14
%12705 = sext i16 %12704 to i32
%12706 = icmp eq i32 %12705, 0
br i1 %12706, label %12707, label %12708
12707: ; preds = %12702
br label %12712
12708: ; preds = %12702
%12709 = load i16, i16* %14
%12710 = sext i16 %12709 to i32
%12711 = sub nsw i32 25, %12710
br label %12712
12712: ; preds = %12708, %12707
%12713 = phi i32 [ 0, %12707 ], [ %12711, %12708 ]
%12714 = trunc i32 %12713 to i16
store i16 %12714, i16* %10
%12715 = load i16, i16* %18
%12716 = sext i16 %12715 to i32
%12717 = icmp eq i32 %12716, 0
br i1 %12717, label %12718, label %12719
12718: ; preds = %12712
br label %12723
12719: ; preds = %12712
%12720 = load i16, i16* %18
%12721 = sext i16 %12720 to i32
%12722 = sub nsw i32 25, %12721
br label %12723
12723: ; preds = %12719, %12718
%12724 = phi i32 [ 0, %12718 ], [ %12722, %12719 ]
%12725 = trunc i32 %12724 to i16
store i16 %12725, i16* %14
%12726 = load i16, i16* %11
store i16 %12726, i16* %18
%12727 = load i16, i16* %15
%12728 = sext i16 %12727 to i32
%12729 = icmp eq i32 %12728, 0
br i1 %12729, label %12730, label %12731
12730: ; preds = %12723
br label %12735
12731: ; preds = %12723
%12732 = load i16, i16* %15
%12733 = sext i16 %12732 to i32
%12734 = sub nsw i32 25, %12733
br label %12735
12735: ; preds = %12731, %12730
%12736 = phi i32 [ 0, %12730 ], [ %12734, %12731 ]
%12737 = trunc i32 %12736 to i16
store i16 %12737, i16* %11
%12738 = load i16, i16* %18
%12739 = sext i16 %12738 to i32
%12740 = icmp eq i32 %12739, 0
br i1 %12740, label %12741, label %12742
12741: ; preds = %12735
br label %12746
12742: ; preds = %12735
%12743 = load i16, i16* %18
%12744 = sext i16 %12743 to i32
%12745 = sub nsw i32 25, %12744
br label %12746
12746: ; preds = %12742, %12741
%12747 = phi i32 [ 0, %12741 ], [ %12745, %12742 ]
%12748 = trunc i32 %12747 to i16
store i16 %12748, i16* %15
%12749 = load i16, i16* %12
store i16 %12749, i16* %18
%12750 = load i16, i16* %16
%12751 = sext i16 %12750 to i32
%12752 = icmp eq i32 %12751, 0
br i1 %12752, label %12753, label %12754
12753: ; preds = %12746
br label %12758
12754: ; preds = %12746
%12755 = load i16, i16* %16
%12756 = sext i16 %12755 to i32
%12757 = sub nsw i32 25, %12756
br label %12758
12758: ; preds = %12754, %12753
%12759 = phi i32 [ 0, %12753 ], [ %12757, %12754 ]
%12760 = trunc i32 %12759 to i16
store i16 %12760, i16* %12
%12761 = load i16, i16* %18
%12762 = sext i16 %12761 to i32
%12763 = icmp eq i32 %12762, 0
br i1 %12763, label %12764, label %12765
12764: ; preds = %12758
br label %12769
12765: ; preds = %12758
%12766 = load i16, i16* %18
%12767 = sext i16 %12766 to i32
%12768 = sub nsw i32 25, %12767
br label %12769
12769: ; preds = %12765, %12764
%12770 = phi i32 [ 0, %12764 ], [ %12768, %12765 ]
%12771 = trunc i32 %12770 to i16
store i16 %12771, i16* %16
%12772 = load i16, i16* %13
store i16 %12772, i16* %18
%12773 = load i16, i16* %17
%12774 = sext i16 %12773 to i32
%12775 = icmp eq i32 %12774, 0
br i1 %12775, label %12776, label %12777
12776: ; preds = %12769
br label %12781
12777: ; preds = %12769
%12778 = load i16, i16* %17
%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* %13
%12784 = load i16, i16* %18
%12785 = sext i16 %12784 to i32
%12786 = icmp eq i32 %12785, 0
br i1 %12786, label %12787, label %12788
12787: ; preds = %12781
br label %12792
12788: ; preds = %12781
%12789 = load i16, i16* %18
%12790 = sext i16 %12789 to i32
%12791 = sub nsw i32 25, %12790
br label %12792
12792: ; preds = %12788, %12787
%12793 = phi i32 [ 0, %12787 ], [ %12791, %12788 ]
%12794 = trunc i32 %12793 to i16
store i16 %12794, i16* %17
%12795 = load i16, i16* %10
%12796 = sext i16 %12795 to i32
%12797 = load i16, i16* %11
%12798 = sext i16 %12797 to i32
%12799 = load i16, i16* %12
%12800 = sext i16 %12799 to i32
%12801 = load i16, i16* %13
%12802 = sext i16 %12801 to i32
%12803 = load i16, i16* %14
%12804 = sext i16 %12803 to i32
%12805 = load i16, i16* %15
%12806 = sext i16 %12805 to i32
%12807 = load i16, i16* %16
%12808 = sext i16 %12807 to i32
%12809 = load i16, i16* %17
%12810 = sext i16 %12809 to i32
%12811 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %12796, i32 %12798, i32 %12800, i32 %12802, i32 %12804, i32 %12806, i32 %12808, i32 %12810)
%12812 = trunc i32 %12811 to i16
store i16 %12812, i16* %18
%12813 = load i16, i16* %18
%12814 = sext i16 %12813 to i32
%12815 = icmp eq i32 %12814, -1
br i1 %12815, label %12816, label %12817
12816: ; preds = %12792
store i16 -1, i16* %9
br label %19404
12817: ; preds = %12792
%12818 = load i16, i16* %18
%12819 = sext i16 %12818 to i32
%12820 = icmp sle i32 0, %12819
br i1 %12820, label %12821, label %12823
12821: ; preds = %12817
%12822 = load i16, i16* %22
store i16 %12822, i16* %21
br label %12823
12823: ; preds = %12821, %12817
%12824 = load i16, i16* %10
store i16 %12824, i16* %18
%12825 = load i16, i16* %14
%12826 = sext i16 %12825 to i32
%12827 = icmp eq i32 %12826, 0
br i1 %12827, label %12828, label %12829
12828: ; preds = %12823
br label %12833
12829: ; preds = %12823
%12830 = load i16, i16* %14
%12831 = sext i16 %12830 to i32
%12832 = sub nsw i32 25, %12831
br label %12833
12833: ; preds = %12829, %12828
%12834 = phi i32 [ 0, %12828 ], [ %12832, %12829 ]
%12835 = trunc i32 %12834 to i16
store i16 %12835, i16* %10
%12836 = load i16, i16* %18
%12837 = sext i16 %12836 to i32
%12838 = icmp eq i32 %12837, 0
br i1 %12838, label %12839, label %12840
12839: ; preds = %12833
br label %12844
12840: ; preds = %12833
%12841 = load i16, i16* %18
%12842 = sext i16 %12841 to i32
%12843 = sub nsw i32 25, %12842
br label %12844
12844: ; preds = %12840, %12839
%12845 = phi i32 [ 0, %12839 ], [ %12843, %12840 ]
%12846 = trunc i32 %12845 to i16
store i16 %12846, i16* %14
%12847 = load i16, i16* %11
store i16 %12847, i16* %18
%12848 = load i16, i16* %15
%12849 = sext i16 %12848 to i32
%12850 = icmp eq i32 %12849, 0
br i1 %12850, label %12851, label %12852
12851: ; preds = %12844
br label %12856
12852: ; preds = %12844
%12853 = load i16, i16* %15
%12854 = sext i16 %12853 to i32
%12855 = sub nsw i32 25, %12854
br label %12856
12856: ; preds = %12852, %12851
%12857 = phi i32 [ 0, %12851 ], [ %12855, %12852 ]
%12858 = trunc i32 %12857 to i16
store i16 %12858, i16* %11
%12859 = load i16, i16* %18
%12860 = sext i16 %12859 to i32
%12861 = icmp eq i32 %12860, 0
br i1 %12861, label %12862, label %12863
12862: ; preds = %12856
br label %12867
12863: ; preds = %12856
%12864 = load i16, i16* %18
%12865 = sext i16 %12864 to i32
%12866 = sub nsw i32 25, %12865
br label %12867
12867: ; preds = %12863, %12862
%12868 = phi i32 [ 0, %12862 ], [ %12866, %12863 ]
%12869 = trunc i32 %12868 to i16
store i16 %12869, i16* %15
%12870 = load i16, i16* %12
store i16 %12870, i16* %18
%12871 = load i16, i16* %16
%12872 = sext i16 %12871 to i32
%12873 = icmp eq i32 %12872, 0
br i1 %12873, label %12874, label %12875
12874: ; preds = %12867
br label %12879
12875: ; preds = %12867
%12876 = load i16, i16* %16
%12877 = sext i16 %12876 to i32
%12878 = sub nsw i32 25, %12877
br label %12879
12879: ; preds = %12875, %12874
%12880 = phi i32 [ 0, %12874 ], [ %12878, %12875 ]
%12881 = trunc i32 %12880 to i16
store i16 %12881, i16* %12
%12882 = load i16, i16* %18
%12883 = sext i16 %12882 to i32
%12884 = icmp eq i32 %12883, 0
br i1 %12884, label %12885, label %12886
12885: ; preds = %12879
br label %12890
12886: ; preds = %12879
%12887 = load i16, i16* %18
%12888 = sext i16 %12887 to i32
%12889 = sub nsw i32 25, %12888
br label %12890
12890: ; preds = %12886, %12885
%12891 = phi i32 [ 0, %12885 ], [ %12889, %12886 ]
%12892 = trunc i32 %12891 to i16
store i16 %12892, i16* %16
%12893 = load i16, i16* %13
store i16 %12893, i16* %18
%12894 = load i16, i16* %17
%12895 = sext i16 %12894 to i32
%12896 = icmp eq i32 %12895, 0
br i1 %12896, label %12897, label %12898
12897: ; preds = %12890
br label %12902
12898: ; preds = %12890
%12899 = load i16, i16* %17
%12900 = sext i16 %12899 to i32
%12901 = sub nsw i32 25, %12900
br label %12902
12902: ; preds = %12898, %12897
%12903 = phi i32 [ 0, %12897 ], [ %12901, %12898 ]
%12904 = trunc i32 %12903 to i16
store i16 %12904, i16* %13
%12905 = load i16, i16* %18
%12906 = sext i16 %12905 to i32
%12907 = icmp eq i32 %12906, 0
br i1 %12907, label %12908, label %12909
12908: ; preds = %12902
br label %12913
12909: ; preds = %12902
%12910 = load i16, i16* %18
%12911 = sext i16 %12910 to i32
%12912 = sub nsw i32 25, %12911
br label %12913
12913: ; preds = %12909, %12908
%12914 = phi i32 [ 0, %12908 ], [ %12912, %12909 ]
%12915 = trunc i32 %12914 to i16
store i16 %12915, i16* %17
br label %12916
12916: ; preds = %12913, %12698
%12917 = load i16, i16* %19
store i16 %12917, i16* %12
br label %12918
12918: ; preds = %12916, %12474, %12468, %12462, %12456, %12450, %12439
br label %12919
12919: ; preds = %12918, %12434, %12430
br label %19380
12920: ; preds = %12426
%12921 = load i16, i16* %22
%12922 = sext i16 %12921 to i32
%12923 = icmp eq i32 %12922, 19
br i1 %12923, label %12924, label %13418
12924: ; preds = %12920
%12925 = load i16, i16* %12
%12926 = sext i16 %12925 to i32
%12927 = icmp ne i32 %12926, 0
br i1 %12927, label %12928, label %13417
12928: ; preds = %12924
%12929 = load i16, i16* %12
%12930 = sext i16 %12929 to i32
%12931 = icmp slt i32 4, %12930
br i1 %12931, label %12932, label %13417
12932: ; preds = %12928
%12933 = load i16, i16* %12
%12934 = sext i16 %12933 to i32
%12935 = srem i32 %12934, 4
%12936 = icmp ne i32 %12935, 0
br i1 %12936, label %12937, label %13417
12937: ; preds = %12932
%12938 = load i16, i16* %12
store i16 %12938, i16* %19
%12939 = load i16, i16* %19
%12940 = sext i16 %12939 to i32
%12941 = sub nsw i32 %12940, 3
%12942 = trunc i32 %12941 to i16
store i16 %12942, i16* %20
%12943 = load i16, i16* %20
%12944 = sext i16 %12943 to i32
%12945 = load i16, i16* %10
%12946 = sext i16 %12945 to i32
%12947 = icmp ne i32 %12944, %12946
br i1 %12947, label %12948, label %13416
12948: ; preds = %12937
%12949 = load i16, i16* %20
%12950 = sext i16 %12949 to i32
%12951 = load i16, i16* %11
%12952 = sext i16 %12951 to i32
%12953 = icmp ne i32 %12950, %12952
br i1 %12953, label %12954, label %13416
12954: ; preds = %12948
%12955 = load i16, i16* %20
%12956 = sext i16 %12955 to i32
%12957 = load i16, i16* %13
%12958 = sext i16 %12957 to i32
%12959 = icmp ne i32 %12956, %12958
br i1 %12959, label %12960, label %13416
12960: ; preds = %12954
%12961 = load i16, i16* %20
%12962 = sext i16 %12961 to i32
%12963 = load i16, i16* %14
%12964 = sext i16 %12963 to i32
%12965 = icmp ne i32 %12962, %12964
br i1 %12965, label %12966, label %13416
12966: ; preds = %12960
%12967 = load i16, i16* %20
%12968 = sext i16 %12967 to i32
%12969 = load i16, i16* %16
%12970 = sext i16 %12969 to i32
%12971 = icmp ne i32 %12968, %12970
br i1 %12971, label %12972, label %13416
12972: ; preds = %12966
%12973 = load i16, i16* %20
%12974 = sext i16 %12973 to i32
%12975 = load i16, i16* %17
%12976 = sext i16 %12975 to i32
%12977 = icmp ne i32 %12974, %12976
br i1 %12977, label %12978, label %13416
12978: ; preds = %12972
%12979 = load i16, i16* %20
store i16 %12979, i16* %12
%12980 = load i16, i16* %15
%12981 = sext i16 %12980 to i32
%12982 = load i16, i16* %20
%12983 = sext i16 %12982 to i32
%12984 = icmp eq i32 %12981, %12983
br i1 %12984, label %12985, label %13200
12985: ; preds = %12978
store i16 0, i16* %15
%12986 = load i16, i16* %10
store i16 %12986, i16* %18
%12987 = load i16, i16* %14
%12988 = sext i16 %12987 to i32
%12989 = icmp eq i32 %12988, 0
br i1 %12989, label %12990, label %12991
12990: ; preds = %12985
br label %12995
12991: ; preds = %12985
%12992 = load i16, i16* %14
%12993 = sext i16 %12992 to i32
%12994 = sub nsw i32 25, %12993
br label %12995
12995: ; preds = %12991, %12990
%12996 = phi i32 [ 0, %12990 ], [ %12994, %12991 ]
%12997 = trunc i32 %12996 to i16
store i16 %12997, i16* %10
%12998 = load i16, i16* %18
%12999 = sext i16 %12998 to i32
%13000 = icmp eq i32 %12999, 0
br i1 %13000, label %13001, label %13002
13001: ; preds = %12995
br label %13006
13002: ; preds = %12995
%13003 = load i16, i16* %18
%13004 = sext i16 %13003 to i32
%13005 = sub nsw i32 25, %13004
br label %13006
13006: ; preds = %13002, %13001
%13007 = phi i32 [ 0, %13001 ], [ %13005, %13002 ]
%13008 = trunc i32 %13007 to i16
store i16 %13008, i16* %14
%13009 = load i16, i16* %11
store i16 %13009, i16* %18
%13010 = load i16, i16* %15
%13011 = sext i16 %13010 to i32
%13012 = icmp eq i32 %13011, 0
br i1 %13012, label %13013, label %13014
13013: ; preds = %13006
br label %13018
13014: ; preds = %13006
%13015 = load i16, i16* %15
%13016 = sext i16 %13015 to i32
%13017 = sub nsw i32 25, %13016
br label %13018
13018: ; preds = %13014, %13013
%13019 = phi i32 [ 0, %13013 ], [ %13017, %13014 ]
%13020 = trunc i32 %13019 to i16
store i16 %13020, i16* %11
%13021 = load i16, i16* %18
%13022 = sext i16 %13021 to i32
%13023 = icmp eq i32 %13022, 0
br i1 %13023, label %13024, label %13025
13024: ; preds = %13018
br label %13029
13025: ; preds = %13018
%13026 = load i16, i16* %18
%13027 = sext i16 %13026 to i32
%13028 = sub nsw i32 25, %13027
br label %13029
13029: ; preds = %13025, %13024
%13030 = phi i32 [ 0, %13024 ], [ %13028, %13025 ]
%13031 = trunc i32 %13030 to i16
store i16 %13031, i16* %15
%13032 = load i16, i16* %12
store i16 %13032, i16* %18
%13033 = load i16, i16* %16
%13034 = sext i16 %13033 to i32
%13035 = icmp eq i32 %13034, 0
br i1 %13035, label %13036, label %13037
13036: ; preds = %13029
br label %13041
13037: ; preds = %13029
%13038 = load i16, i16* %16
%13039 = sext i16 %13038 to i32
%13040 = sub nsw i32 25, %13039
br label %13041
13041: ; preds = %13037, %13036
%13042 = phi i32 [ 0, %13036 ], [ %13040, %13037 ]
%13043 = trunc i32 %13042 to i16
store i16 %13043, i16* %12
%13044 = load i16, i16* %18
%13045 = sext i16 %13044 to i32
%13046 = icmp eq i32 %13045, 0
br i1 %13046, label %13047, label %13048
13047: ; preds = %13041
br label %13052
13048: ; preds = %13041
%13049 = load i16, i16* %18
%13050 = sext i16 %13049 to i32
%13051 = sub nsw i32 25, %13050
br label %13052
13052: ; preds = %13048, %13047
%13053 = phi i32 [ 0, %13047 ], [ %13051, %13048 ]
%13054 = trunc i32 %13053 to i16
store i16 %13054, i16* %16
%13055 = load i16, i16* %13
store i16 %13055, i16* %18
%13056 = load i16, i16* %17
%13057 = sext i16 %13056 to i32
%13058 = icmp eq i32 %13057, 0
br i1 %13058, label %13059, label %13060
13059: ; preds = %13052
br label %13064
13060: ; preds = %13052
%13061 = load i16, i16* %17
%13062 = sext i16 %13061 to i32
%13063 = sub nsw i32 25, %13062
br label %13064
13064: ; preds = %13060, %13059
%13065 = phi i32 [ 0, %13059 ], [ %13063, %13060 ]
%13066 = trunc i32 %13065 to i16
store i16 %13066, i16* %13
%13067 = load i16, i16* %18
%13068 = sext i16 %13067 to i32
%13069 = icmp eq i32 %13068, 0
br i1 %13069, label %13070, label %13071
13070: ; preds = %13064
br label %13075
13071: ; preds = %13064
%13072 = load i16, i16* %18
%13073 = sext i16 %13072 to i32
%13074 = sub nsw i32 25, %13073
br label %13075
13075: ; preds = %13071, %13070
%13076 = phi i32 [ 0, %13070 ], [ %13074, %13071 ]
%13077 = trunc i32 %13076 to i16
store i16 %13077, i16* %17
%13078 = load i16, i16* %10
%13079 = sext i16 %13078 to i32
%13080 = load i16, i16* %11
%13081 = sext i16 %13080 to i32
%13082 = load i16, i16* %12
%13083 = sext i16 %13082 to i32
%13084 = load i16, i16* %13
%13085 = sext i16 %13084 to i32
%13086 = load i16, i16* %14
%13087 = sext i16 %13086 to i32
%13088 = load i16, i16* %15
%13089 = sext i16 %13088 to i32
%13090 = load i16, i16* %16
%13091 = sext i16 %13090 to i32
%13092 = load i16, i16* %17
%13093 = sext i16 %13092 to i32
%13094 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13079, i32 %13081, i32 %13083, i32 %13085, i32 %13087, i32 %13089, i32 %13091, i32 %13093)
%13095 = trunc i32 %13094 to i16
store i16 %13095, i16* %18
%13096 = load i16, i16* %18
%13097 = sext i16 %13096 to i32
%13098 = icmp eq i32 %13097, -1
br i1 %13098, label %13099, label %13100
13099: ; preds = %13075
store i16 -1, i16* %9
br label %19404
13100: ; preds = %13075
%13101 = load i16, i16* %18
%13102 = sext i16 %13101 to i32
%13103 = icmp sle i32 0, %13102
br i1 %13103, label %13104, label %13106
13104: ; preds = %13100
%13105 = load i16, i16* %22
store i16 %13105, i16* %21
br label %13106
13106: ; preds = %13104, %13100
%13107 = load i16, i16* %10
store i16 %13107, i16* %18
%13108 = load i16, i16* %14
%13109 = sext i16 %13108 to i32
%13110 = icmp eq i32 %13109, 0
br i1 %13110, label %13111, label %13112
13111: ; preds = %13106
br label %13116
13112: ; preds = %13106
%13113 = load i16, i16* %14
%13114 = sext i16 %13113 to i32
%13115 = sub nsw i32 25, %13114
br label %13116
13116: ; preds = %13112, %13111
%13117 = phi i32 [ 0, %13111 ], [ %13115, %13112 ]
%13118 = trunc i32 %13117 to i16
store i16 %13118, i16* %10
%13119 = load i16, i16* %18
%13120 = sext i16 %13119 to i32
%13121 = icmp eq i32 %13120, 0
br i1 %13121, label %13122, label %13123
13122: ; preds = %13116
br label %13127
13123: ; preds = %13116
%13124 = load i16, i16* %18
%13125 = sext i16 %13124 to i32
%13126 = sub nsw i32 25, %13125
br label %13127
13127: ; preds = %13123, %13122
%13128 = phi i32 [ 0, %13122 ], [ %13126, %13123 ]
%13129 = trunc i32 %13128 to i16
store i16 %13129, i16* %14
%13130 = load i16, i16* %11
store i16 %13130, i16* %18
%13131 = load i16, i16* %15
%13132 = sext i16 %13131 to i32
%13133 = icmp eq i32 %13132, 0
br i1 %13133, label %13134, label %13135
13134: ; preds = %13127
br label %13139
13135: ; preds = %13127
%13136 = load i16, i16* %15
%13137 = sext i16 %13136 to i32
%13138 = sub nsw i32 25, %13137
br label %13139
13139: ; preds = %13135, %13134
%13140 = phi i32 [ 0, %13134 ], [ %13138, %13135 ]
%13141 = trunc i32 %13140 to i16
store i16 %13141, i16* %11
%13142 = load i16, i16* %18
%13143 = sext i16 %13142 to i32
%13144 = icmp eq i32 %13143, 0
br i1 %13144, label %13145, label %13146
13145: ; preds = %13139
br label %13150
13146: ; preds = %13139
%13147 = load i16, i16* %18
%13148 = sext i16 %13147 to i32
%13149 = sub nsw i32 25, %13148
br label %13150
13150: ; preds = %13146, %13145
%13151 = phi i32 [ 0, %13145 ], [ %13149, %13146 ]
%13152 = trunc i32 %13151 to i16
store i16 %13152, i16* %15
%13153 = load i16, i16* %12
store i16 %13153, i16* %18
%13154 = load i16, i16* %16
%13155 = sext i16 %13154 to i32
%13156 = icmp eq i32 %13155, 0
br i1 %13156, label %13157, label %13158
13157: ; preds = %13150
br label %13162
13158: ; preds = %13150
%13159 = load i16, i16* %16
%13160 = sext i16 %13159 to i32
%13161 = sub nsw i32 25, %13160
br label %13162
13162: ; preds = %13158, %13157
%13163 = phi i32 [ 0, %13157 ], [ %13161, %13158 ]
%13164 = trunc i32 %13163 to i16
store i16 %13164, i16* %12
%13165 = load i16, i16* %18
%13166 = sext i16 %13165 to i32
%13167 = icmp eq i32 %13166, 0
br i1 %13167, label %13168, label %13169
13168: ; preds = %13162
br label %13173
13169: ; preds = %13162
%13170 = load i16, i16* %18
%13171 = sext i16 %13170 to i32
%13172 = sub nsw i32 25, %13171
br label %13173
13173: ; preds = %13169, %13168
%13174 = phi i32 [ 0, %13168 ], [ %13172, %13169 ]
%13175 = trunc i32 %13174 to i16
store i16 %13175, i16* %16
%13176 = load i16, i16* %13
store i16 %13176, i16* %18
%13177 = load i16, i16* %17
%13178 = sext i16 %13177 to i32
%13179 = icmp eq i32 %13178, 0
br i1 %13179, label %13180, label %13181
13180: ; preds = %13173
br label %13185
13181: ; preds = %13173
%13182 = load i16, i16* %17
%13183 = sext i16 %13182 to i32
%13184 = sub nsw i32 25, %13183
br label %13185
13185: ; preds = %13181, %13180
%13186 = phi i32 [ 0, %13180 ], [ %13184, %13181 ]
%13187 = trunc i32 %13186 to i16
store i16 %13187, i16* %13
%13188 = load i16, i16* %18
%13189 = sext i16 %13188 to i32
%13190 = icmp eq i32 %13189, 0
br i1 %13190, label %13191, label %13192
13191: ; preds = %13185
br label %13196
13192: ; preds = %13185
%13193 = load i16, i16* %18
%13194 = sext i16 %13193 to i32
%13195 = sub nsw i32 25, %13194
br label %13196
13196: ; preds = %13192, %13191
%13197 = phi i32 [ 0, %13191 ], [ %13195, %13192 ]
%13198 = trunc i32 %13197 to i16
store i16 %13198, i16* %17
%13199 = load i16, i16* %20
store i16 %13199, i16* %15
br label %13414
13200: ; preds = %12978
%13201 = load i16, i16* %10
store i16 %13201, i16* %18
%13202 = load i16, i16* %14
%13203 = sext i16 %13202 to i32
%13204 = icmp eq i32 %13203, 0
br i1 %13204, label %13205, label %13206
13205: ; preds = %13200
br label %13210
13206: ; preds = %13200
%13207 = load i16, i16* %14
%13208 = sext i16 %13207 to i32
%13209 = sub nsw i32 25, %13208
br label %13210
13210: ; preds = %13206, %13205
%13211 = phi i32 [ 0, %13205 ], [ %13209, %13206 ]
%13212 = trunc i32 %13211 to i16
store i16 %13212, i16* %10
%13213 = load i16, i16* %18
%13214 = sext i16 %13213 to i32
%13215 = icmp eq i32 %13214, 0
br i1 %13215, label %13216, label %13217
13216: ; preds = %13210
br label %13221
13217: ; preds = %13210
%13218 = load i16, i16* %18
%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* %14
%13224 = load i16, i16* %11
store i16 %13224, i16* %18
%13225 = load i16, i16* %15
%13226 = sext i16 %13225 to i32
%13227 = icmp eq i32 %13226, 0
br i1 %13227, label %13228, label %13229
13228: ; preds = %13221
br label %13233
13229: ; preds = %13221
%13230 = load i16, i16* %15
%13231 = sext i16 %13230 to i32
%13232 = sub nsw i32 25, %13231
br label %13233
13233: ; preds = %13229, %13228
%13234 = phi i32 [ 0, %13228 ], [ %13232, %13229 ]
%13235 = trunc i32 %13234 to i16
store i16 %13235, i16* %11
%13236 = load i16, i16* %18
%13237 = sext i16 %13236 to i32
%13238 = icmp eq i32 %13237, 0
br i1 %13238, label %13239, label %13240
13239: ; preds = %13233
br label %13244
13240: ; preds = %13233
%13241 = load i16, i16* %18
%13242 = sext i16 %13241 to i32
%13243 = sub nsw i32 25, %13242
br label %13244
13244: ; preds = %13240, %13239
%13245 = phi i32 [ 0, %13239 ], [ %13243, %13240 ]
%13246 = trunc i32 %13245 to i16
store i16 %13246, i16* %15
%13247 = load i16, i16* %12
store i16 %13247, i16* %18
%13248 = load i16, i16* %16
%13249 = sext i16 %13248 to i32
%13250 = icmp eq i32 %13249, 0
br i1 %13250, label %13251, label %13252
13251: ; preds = %13244
br label %13256
13252: ; preds = %13244
%13253 = load i16, i16* %16
%13254 = sext i16 %13253 to i32
%13255 = sub nsw i32 25, %13254
br label %13256
13256: ; preds = %13252, %13251
%13257 = phi i32 [ 0, %13251 ], [ %13255, %13252 ]
%13258 = trunc i32 %13257 to i16
store i16 %13258, i16* %12
%13259 = load i16, i16* %18
%13260 = sext i16 %13259 to i32
%13261 = icmp eq i32 %13260, 0
br i1 %13261, label %13262, label %13263
13262: ; preds = %13256
br label %13267
13263: ; preds = %13256
%13264 = load i16, i16* %18
%13265 = sext i16 %13264 to i32
%13266 = sub nsw i32 25, %13265
br label %13267
13267: ; preds = %13263, %13262
%13268 = phi i32 [ 0, %13262 ], [ %13266, %13263 ]
%13269 = trunc i32 %13268 to i16
store i16 %13269, i16* %16
%13270 = load i16, i16* %13
store i16 %13270, i16* %18
%13271 = load i16, i16* %17
%13272 = sext i16 %13271 to i32
%13273 = icmp eq i32 %13272, 0
br i1 %13273, label %13274, label %13275
13274: ; preds = %13267
br label %13279
13275: ; preds = %13267
%13276 = load i16, i16* %17
%13277 = sext i16 %13276 to i32
%13278 = sub nsw i32 25, %13277
br label %13279
13279: ; preds = %13275, %13274
%13280 = phi i32 [ 0, %13274 ], [ %13278, %13275 ]
%13281 = trunc i32 %13280 to i16
store i16 %13281, i16* %13
%13282 = load i16, i16* %18
%13283 = sext i16 %13282 to i32
%13284 = icmp eq i32 %13283, 0
br i1 %13284, label %13285, label %13286
13285: ; preds = %13279
br label %13290
13286: ; preds = %13279
%13287 = load i16, i16* %18
%13288 = sext i16 %13287 to i32
%13289 = sub nsw i32 25, %13288
br label %13290
13290: ; preds = %13286, %13285
%13291 = phi i32 [ 0, %13285 ], [ %13289, %13286 ]
%13292 = trunc i32 %13291 to i16
store i16 %13292, i16* %17
%13293 = load i16, i16* %10
%13294 = sext i16 %13293 to i32
%13295 = load i16, i16* %11
%13296 = sext i16 %13295 to i32
%13297 = load i16, i16* %12
%13298 = sext i16 %13297 to i32
%13299 = load i16, i16* %13
%13300 = sext i16 %13299 to i32
%13301 = load i16, i16* %14
%13302 = sext i16 %13301 to i32
%13303 = load i16, i16* %15
%13304 = sext i16 %13303 to i32
%13305 = load i16, i16* %16
%13306 = sext i16 %13305 to i32
%13307 = load i16, i16* %17
%13308 = sext i16 %13307 to i32
%13309 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13294, i32 %13296, i32 %13298, i32 %13300, i32 %13302, i32 %13304, i32 %13306, i32 %13308)
%13310 = trunc i32 %13309 to i16
store i16 %13310, i16* %18
%13311 = load i16, i16* %18
%13312 = sext i16 %13311 to i32
%13313 = icmp eq i32 %13312, -1
br i1 %13313, label %13314, label %13315
13314: ; preds = %13290
store i16 -1, i16* %9
br label %19404
13315: ; preds = %13290
%13316 = load i16, i16* %18
%13317 = sext i16 %13316 to i32
%13318 = icmp sle i32 0, %13317
br i1 %13318, label %13319, label %13321
13319: ; preds = %13315
%13320 = load i16, i16* %22
store i16 %13320, i16* %21
br label %13321
13321: ; preds = %13319, %13315
%13322 = load i16, i16* %10
store i16 %13322, i16* %18
%13323 = load i16, i16* %14
%13324 = sext i16 %13323 to i32
%13325 = icmp eq i32 %13324, 0
br i1 %13325, label %13326, label %13327
13326: ; preds = %13321
br label %13331
13327: ; preds = %13321
%13328 = load i16, i16* %14
%13329 = sext i16 %13328 to i32
%13330 = sub nsw i32 25, %13329
br label %13331
13331: ; preds = %13327, %13326
%13332 = phi i32 [ 0, %13326 ], [ %13330, %13327 ]
%13333 = trunc i32 %13332 to i16
store i16 %13333, i16* %10
%13334 = load i16, i16* %18
%13335 = sext i16 %13334 to i32
%13336 = icmp eq i32 %13335, 0
br i1 %13336, label %13337, label %13338
13337: ; preds = %13331
br label %13342
13338: ; preds = %13331
%13339 = load i16, i16* %18
%13340 = sext i16 %13339 to i32
%13341 = sub nsw i32 25, %13340
br label %13342
13342: ; preds = %13338, %13337
%13343 = phi i32 [ 0, %13337 ], [ %13341, %13338 ]
%13344 = trunc i32 %13343 to i16
store i16 %13344, i16* %14
%13345 = load i16, i16* %11
store i16 %13345, i16* %18
%13346 = load i16, i16* %15
%13347 = sext i16 %13346 to i32
%13348 = icmp eq i32 %13347, 0
br i1 %13348, label %13349, label %13350
13349: ; preds = %13342
br label %13354
13350: ; preds = %13342
%13351 = load i16, i16* %15
%13352 = sext i16 %13351 to i32
%13353 = sub nsw i32 25, %13352
br label %13354
13354: ; preds = %13350, %13349
%13355 = phi i32 [ 0, %13349 ], [ %13353, %13350 ]
%13356 = trunc i32 %13355 to i16
store i16 %13356, i16* %11
%13357 = load i16, i16* %18
%13358 = sext i16 %13357 to i32
%13359 = icmp eq i32 %13358, 0
br i1 %13359, label %13360, label %13361
13360: ; preds = %13354
br label %13365
13361: ; preds = %13354
%13362 = load i16, i16* %18
%13363 = sext i16 %13362 to i32
%13364 = sub nsw i32 25, %13363
br label %13365
13365: ; preds = %13361, %13360
%13366 = phi i32 [ 0, %13360 ], [ %13364, %13361 ]
%13367 = trunc i32 %13366 to i16
store i16 %13367, i16* %15
%13368 = load i16, i16* %12
store i16 %13368, i16* %18
%13369 = load i16, i16* %16
%13370 = sext i16 %13369 to i32
%13371 = icmp eq i32 %13370, 0
br i1 %13371, label %13372, label %13373
13372: ; preds = %13365
br label %13377
13373: ; preds = %13365
%13374 = load i16, i16* %16
%13375 = sext i16 %13374 to i32
%13376 = sub nsw i32 25, %13375
br label %13377
13377: ; preds = %13373, %13372
%13378 = phi i32 [ 0, %13372 ], [ %13376, %13373 ]
%13379 = trunc i32 %13378 to i16
store i16 %13379, i16* %12
%13380 = load i16, i16* %18
%13381 = sext i16 %13380 to i32
%13382 = icmp eq i32 %13381, 0
br i1 %13382, label %13383, label %13384
13383: ; preds = %13377
br label %13388
13384: ; preds = %13377
%13385 = load i16, i16* %18
%13386 = sext i16 %13385 to i32
%13387 = sub nsw i32 25, %13386
br label %13388
13388: ; preds = %13384, %13383
%13389 = phi i32 [ 0, %13383 ], [ %13387, %13384 ]
%13390 = trunc i32 %13389 to i16
store i16 %13390, i16* %16
%13391 = load i16, i16* %13
store i16 %13391, i16* %18
%13392 = load i16, i16* %17
%13393 = sext i16 %13392 to i32
%13394 = icmp eq i32 %13393, 0
br i1 %13394, label %13395, label %13396
13395: ; preds = %13388
br label %13400
13396: ; preds = %13388
%13397 = load i16, i16* %17
%13398 = sext i16 %13397 to i32
%13399 = sub nsw i32 25, %13398
br label %13400
13400: ; preds = %13396, %13395
%13401 = phi i32 [ 0, %13395 ], [ %13399, %13396 ]
%13402 = trunc i32 %13401 to i16
store i16 %13402, i16* %13
%13403 = load i16, i16* %18
%13404 = sext i16 %13403 to i32
%13405 = icmp eq i32 %13404, 0
br i1 %13405, label %13406, label %13407
13406: ; preds = %13400
br label %13411
13407: ; preds = %13400
%13408 = load i16, i16* %18
%13409 = sext i16 %13408 to i32
%13410 = sub nsw i32 25, %13409
br label %13411
13411: ; preds = %13407, %13406
%13412 = phi i32 [ 0, %13406 ], [ %13410, %13407 ]
%13413 = trunc i32 %13412 to i16
store i16 %13413, i16* %17
br label %13414
13414: ; preds = %13411, %13196
%13415 = load i16, i16* %19
store i16 %13415, i16* %12
br label %13416
13416: ; preds = %13414, %12972, %12966, %12960, %12954, %12948, %12937
br label %13417
13417: ; preds = %13416, %12932, %12928, %12924
br label %19379
13418: ; preds = %12920
%13419 = load i16, i16* %22
%13420 = sext i16 %13419 to i32
%13421 = icmp eq i32 %13420, 20
br i1 %13421, label %13422, label %13911
13422: ; preds = %13418
%13423 = load i16, i16* %12
%13424 = sext i16 %13423 to i32
%13425 = icmp ne i32 %13424, 0
br i1 %13425, label %13426, label %13910
13426: ; preds = %13422
%13427 = load i16, i16* %12
%13428 = sext i16 %13427 to i32
%13429 = icmp slt i32 4, %13428
br i1 %13429, label %13430, label %13910
13430: ; preds = %13426
%13431 = load i16, i16* %12
store i16 %13431, i16* %19
%13432 = load i16, i16* %19
%13433 = sext i16 %13432 to i32
%13434 = sub nsw i32 %13433, 4
%13435 = trunc i32 %13434 to i16
store i16 %13435, i16* %20
%13436 = load i16, i16* %20
%13437 = sext i16 %13436 to i32
%13438 = load i16, i16* %10
%13439 = sext i16 %13438 to i32
%13440 = icmp ne i32 %13437, %13439
br i1 %13440, label %13441, label %13909
13441: ; preds = %13430
%13442 = load i16, i16* %20
%13443 = sext i16 %13442 to i32
%13444 = load i16, i16* %11
%13445 = sext i16 %13444 to i32
%13446 = icmp ne i32 %13443, %13445
br i1 %13446, label %13447, label %13909
13447: ; preds = %13441
%13448 = load i16, i16* %20
%13449 = sext i16 %13448 to i32
%13450 = load i16, i16* %13
%13451 = sext i16 %13450 to i32
%13452 = icmp ne i32 %13449, %13451
br i1 %13452, label %13453, label %13909
13453: ; preds = %13447
%13454 = load i16, i16* %20
%13455 = sext i16 %13454 to i32
%13456 = load i16, i16* %14
%13457 = sext i16 %13456 to i32
%13458 = icmp ne i32 %13455, %13457
br i1 %13458, label %13459, label %13909
13459: ; preds = %13453
%13460 = load i16, i16* %20
%13461 = sext i16 %13460 to i32
%13462 = load i16, i16* %16
%13463 = sext i16 %13462 to i32
%13464 = icmp ne i32 %13461, %13463
br i1 %13464, label %13465, label %13909
13465: ; preds = %13459
%13466 = load i16, i16* %20
%13467 = sext i16 %13466 to i32
%13468 = load i16, i16* %17
%13469 = sext i16 %13468 to i32
%13470 = icmp ne i32 %13467, %13469
br i1 %13470, label %13471, label %13909
13471: ; preds = %13465
%13472 = load i16, i16* %20
store i16 %13472, i16* %12
%13473 = load i16, i16* %15
%13474 = sext i16 %13473 to i32
%13475 = load i16, i16* %20
%13476 = sext i16 %13475 to i32
%13477 = icmp eq i32 %13474, %13476
br i1 %13477, label %13478, label %13693
13478: ; preds = %13471
store i16 0, i16* %15
%13479 = load i16, i16* %10
store i16 %13479, i16* %18
%13480 = load i16, i16* %14
%13481 = sext i16 %13480 to i32
%13482 = icmp eq i32 %13481, 0
br i1 %13482, label %13483, label %13484
13483: ; preds = %13478
br label %13488
13484: ; preds = %13478
%13485 = load i16, i16* %14
%13486 = sext i16 %13485 to i32
%13487 = sub nsw i32 25, %13486
br label %13488
13488: ; preds = %13484, %13483
%13489 = phi i32 [ 0, %13483 ], [ %13487, %13484 ]
%13490 = trunc i32 %13489 to i16
store i16 %13490, i16* %10
%13491 = load i16, i16* %18
%13492 = sext i16 %13491 to i32
%13493 = icmp eq i32 %13492, 0
br i1 %13493, label %13494, label %13495
13494: ; preds = %13488
br label %13499
13495: ; preds = %13488
%13496 = load i16, i16* %18
%13497 = sext i16 %13496 to i32
%13498 = sub nsw i32 25, %13497
br label %13499
13499: ; preds = %13495, %13494
%13500 = phi i32 [ 0, %13494 ], [ %13498, %13495 ]
%13501 = trunc i32 %13500 to i16
store i16 %13501, i16* %14
%13502 = load i16, i16* %11
store i16 %13502, i16* %18
%13503 = load i16, i16* %15
%13504 = sext i16 %13503 to i32
%13505 = icmp eq i32 %13504, 0
br i1 %13505, label %13506, label %13507
13506: ; preds = %13499
br label %13511
13507: ; preds = %13499
%13508 = load i16, i16* %15
%13509 = sext i16 %13508 to i32
%13510 = sub nsw i32 25, %13509
br label %13511
13511: ; preds = %13507, %13506
%13512 = phi i32 [ 0, %13506 ], [ %13510, %13507 ]
%13513 = trunc i32 %13512 to i16
store i16 %13513, i16* %11
%13514 = load i16, i16* %18
%13515 = sext i16 %13514 to i32
%13516 = icmp eq i32 %13515, 0
br i1 %13516, label %13517, label %13518
13517: ; preds = %13511
br label %13522
13518: ; preds = %13511
%13519 = load i16, i16* %18
%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* %15
%13525 = load i16, i16* %12
store i16 %13525, i16* %18
%13526 = load i16, i16* %16
%13527 = sext i16 %13526 to i32
%13528 = icmp eq i32 %13527, 0
br i1 %13528, label %13529, label %13530
13529: ; preds = %13522
br label %13534
13530: ; preds = %13522
%13531 = load i16, i16* %16
%13532 = sext i16 %13531 to i32
%13533 = sub nsw i32 25, %13532
br label %13534
13534: ; preds = %13530, %13529
%13535 = phi i32 [ 0, %13529 ], [ %13533, %13530 ]
%13536 = trunc i32 %13535 to i16
store i16 %13536, i16* %12
%13537 = load i16, i16* %18
%13538 = sext i16 %13537 to i32
%13539 = icmp eq i32 %13538, 0
br i1 %13539, label %13540, label %13541
13540: ; preds = %13534
br label %13545
13541: ; preds = %13534
%13542 = load i16, i16* %18
%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* %16
%13548 = load i16, i16* %13
store i16 %13548, i16* %18
%13549 = load i16, i16* %17
%13550 = sext i16 %13549 to i32
%13551 = icmp eq i32 %13550, 0
br i1 %13551, label %13552, label %13553
13552: ; preds = %13545
br label %13557
13553: ; preds = %13545
%13554 = load i16, i16* %17
%13555 = sext i16 %13554 to i32
%13556 = sub nsw i32 25, %13555
br label %13557
13557: ; preds = %13553, %13552
%13558 = phi i32 [ 0, %13552 ], [ %13556, %13553 ]
%13559 = trunc i32 %13558 to i16
store i16 %13559, i16* %13
%13560 = load i16, i16* %18
%13561 = sext i16 %13560 to i32
%13562 = icmp eq i32 %13561, 0
br i1 %13562, label %13563, label %13564
13563: ; preds = %13557
br label %13568
13564: ; preds = %13557
%13565 = load i16, i16* %18
%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* %17
%13571 = load i16, i16* %10
%13572 = sext i16 %13571 to i32
%13573 = load i16, i16* %11
%13574 = sext i16 %13573 to i32
%13575 = load i16, i16* %12
%13576 = sext i16 %13575 to i32
%13577 = load i16, i16* %13
%13578 = sext i16 %13577 to i32
%13579 = load i16, i16* %14
%13580 = sext i16 %13579 to i32
%13581 = load i16, i16* %15
%13582 = sext i16 %13581 to i32
%13583 = load i16, i16* %16
%13584 = sext i16 %13583 to i32
%13585 = load i16, i16* %17
%13586 = sext i16 %13585 to i32
%13587 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13572, i32 %13574, i32 %13576, i32 %13578, i32 %13580, i32 %13582, i32 %13584, i32 %13586)
%13588 = trunc i32 %13587 to i16
store i16 %13588, i16* %18
%13589 = load i16, i16* %18
%13590 = sext i16 %13589 to i32
%13591 = icmp eq i32 %13590, -1
br i1 %13591, label %13592, label %13593
13592: ; preds = %13568
store i16 -1, i16* %9
br label %19404
13593: ; preds = %13568
%13594 = load i16, i16* %18
%13595 = sext i16 %13594 to i32
%13596 = icmp sle i32 0, %13595
br i1 %13596, label %13597, label %13599
13597: ; preds = %13593
%13598 = load i16, i16* %22
store i16 %13598, i16* %21
br label %13599
13599: ; preds = %13597, %13593
%13600 = load i16, i16* %10
store i16 %13600, i16* %18
%13601 = load i16, i16* %14
%13602 = sext i16 %13601 to i32
%13603 = icmp eq i32 %13602, 0
br i1 %13603, label %13604, label %13605
13604: ; preds = %13599
br label %13609
13605: ; preds = %13599
%13606 = load i16, i16* %14
%13607 = sext i16 %13606 to i32
%13608 = sub nsw i32 25, %13607
br label %13609
13609: ; preds = %13605, %13604
%13610 = phi i32 [ 0, %13604 ], [ %13608, %13605 ]
%13611 = trunc i32 %13610 to i16
store i16 %13611, i16* %10
%13612 = load i16, i16* %18
%13613 = sext i16 %13612 to i32
%13614 = icmp eq i32 %13613, 0
br i1 %13614, label %13615, label %13616
13615: ; preds = %13609
br label %13620
13616: ; preds = %13609
%13617 = load i16, i16* %18
%13618 = sext i16 %13617 to i32
%13619 = sub nsw i32 25, %13618
br label %13620
13620: ; preds = %13616, %13615
%13621 = phi i32 [ 0, %13615 ], [ %13619, %13616 ]
%13622 = trunc i32 %13621 to i16
store i16 %13622, i16* %14
%13623 = load i16, i16* %11
store i16 %13623, i16* %18
%13624 = load i16, i16* %15
%13625 = sext i16 %13624 to i32
%13626 = icmp eq i32 %13625, 0
br i1 %13626, label %13627, label %13628
13627: ; preds = %13620
br label %13632
13628: ; preds = %13620
%13629 = load i16, i16* %15
%13630 = sext i16 %13629 to i32
%13631 = sub nsw i32 25, %13630
br label %13632
13632: ; preds = %13628, %13627
%13633 = phi i32 [ 0, %13627 ], [ %13631, %13628 ]
%13634 = trunc i32 %13633 to i16
store i16 %13634, i16* %11
%13635 = load i16, i16* %18
%13636 = sext i16 %13635 to i32
%13637 = icmp eq i32 %13636, 0
br i1 %13637, label %13638, label %13639
13638: ; preds = %13632
br label %13643
13639: ; preds = %13632
%13640 = load i16, i16* %18
%13641 = sext i16 %13640 to i32
%13642 = sub nsw i32 25, %13641
br label %13643
13643: ; preds = %13639, %13638
%13644 = phi i32 [ 0, %13638 ], [ %13642, %13639 ]
%13645 = trunc i32 %13644 to i16
store i16 %13645, i16* %15
%13646 = load i16, i16* %12
store i16 %13646, i16* %18
%13647 = load i16, i16* %16
%13648 = sext i16 %13647 to i32
%13649 = icmp eq i32 %13648, 0
br i1 %13649, label %13650, label %13651
13650: ; preds = %13643
br label %13655
13651: ; preds = %13643
%13652 = load i16, i16* %16
%13653 = sext i16 %13652 to i32
%13654 = sub nsw i32 25, %13653
br label %13655
13655: ; preds = %13651, %13650
%13656 = phi i32 [ 0, %13650 ], [ %13654, %13651 ]
%13657 = trunc i32 %13656 to i16
store i16 %13657, i16* %12
%13658 = load i16, i16* %18
%13659 = sext i16 %13658 to i32
%13660 = icmp eq i32 %13659, 0
br i1 %13660, label %13661, label %13662
13661: ; preds = %13655
br label %13666
13662: ; preds = %13655
%13663 = load i16, i16* %18
%13664 = sext i16 %13663 to i32
%13665 = sub nsw i32 25, %13664
br label %13666
13666: ; preds = %13662, %13661
%13667 = phi i32 [ 0, %13661 ], [ %13665, %13662 ]
%13668 = trunc i32 %13667 to i16
store i16 %13668, i16* %16
%13669 = load i16, i16* %13
store i16 %13669, i16* %18
%13670 = load i16, i16* %17
%13671 = sext i16 %13670 to i32
%13672 = icmp eq i32 %13671, 0
br i1 %13672, label %13673, label %13674
13673: ; preds = %13666
br label %13678
13674: ; preds = %13666
%13675 = load i16, i16* %17
%13676 = sext i16 %13675 to i32
%13677 = sub nsw i32 25, %13676
br label %13678
13678: ; preds = %13674, %13673
%13679 = phi i32 [ 0, %13673 ], [ %13677, %13674 ]
%13680 = trunc i32 %13679 to i16
store i16 %13680, i16* %13
%13681 = load i16, i16* %18
%13682 = sext i16 %13681 to i32
%13683 = icmp eq i32 %13682, 0
br i1 %13683, label %13684, label %13685
13684: ; preds = %13678
br label %13689
13685: ; preds = %13678
%13686 = load i16, i16* %18
%13687 = sext i16 %13686 to i32
%13688 = sub nsw i32 25, %13687
br label %13689
13689: ; preds = %13685, %13684
%13690 = phi i32 [ 0, %13684 ], [ %13688, %13685 ]
%13691 = trunc i32 %13690 to i16
store i16 %13691, i16* %17
%13692 = load i16, i16* %20
store i16 %13692, i16* %15
br label %13907
13693: ; preds = %13471
%13694 = load i16, i16* %10
store i16 %13694, i16* %18
%13695 = load i16, i16* %14
%13696 = sext i16 %13695 to i32
%13697 = icmp eq i32 %13696, 0
br i1 %13697, label %13698, label %13699
13698: ; preds = %13693
br label %13703
13699: ; preds = %13693
%13700 = load i16, i16* %14
%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* %10
%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* %14
%13717 = load i16, i16* %11
store i16 %13717, i16* %18
%13718 = load i16, i16* %15
%13719 = sext i16 %13718 to i32
%13720 = icmp eq i32 %13719, 0
br i1 %13720, label %13721, label %13722
13721: ; preds = %13714
br label %13726
13722: ; preds = %13714
%13723 = load i16, i16* %15
%13724 = sext i16 %13723 to i32
%13725 = sub nsw i32 25, %13724
br label %13726
13726: ; preds = %13722, %13721
%13727 = phi i32 [ 0, %13721 ], [ %13725, %13722 ]
%13728 = trunc i32 %13727 to i16
store i16 %13728, i16* %11
%13729 = load i16, i16* %18
%13730 = sext i16 %13729 to i32
%13731 = icmp eq i32 %13730, 0
br i1 %13731, label %13732, label %13733
13732: ; preds = %13726
br label %13737
13733: ; preds = %13726
%13734 = load i16, i16* %18
%13735 = sext i16 %13734 to i32
%13736 = sub nsw i32 25, %13735
br label %13737
13737: ; preds = %13733, %13732
%13738 = phi i32 [ 0, %13732 ], [ %13736, %13733 ]
%13739 = trunc i32 %13738 to i16
store i16 %13739, i16* %15
%13740 = load i16, i16* %12
store i16 %13740, i16* %18
%13741 = load i16, i16* %16
%13742 = sext i16 %13741 to i32
%13743 = icmp eq i32 %13742, 0
br i1 %13743, label %13744, label %13745
13744: ; preds = %13737
br label %13749
13745: ; preds = %13737
%13746 = load i16, i16* %16
%13747 = sext i16 %13746 to i32
%13748 = sub nsw i32 25, %13747
br label %13749
13749: ; preds = %13745, %13744
%13750 = phi i32 [ 0, %13744 ], [ %13748, %13745 ]
%13751 = trunc i32 %13750 to i16
store i16 %13751, i16* %12
%13752 = load i16, i16* %18
%13753 = sext i16 %13752 to i32
%13754 = icmp eq i32 %13753, 0
br i1 %13754, label %13755, label %13756
13755: ; preds = %13749
br label %13760
13756: ; preds = %13749
%13757 = load i16, i16* %18
%13758 = sext i16 %13757 to i32
%13759 = sub nsw i32 25, %13758
br label %13760
13760: ; preds = %13756, %13755
%13761 = phi i32 [ 0, %13755 ], [ %13759, %13756 ]
%13762 = trunc i32 %13761 to i16
store i16 %13762, i16* %16
%13763 = load i16, i16* %13
store i16 %13763, i16* %18
%13764 = load i16, i16* %17
%13765 = sext i16 %13764 to i32
%13766 = icmp eq i32 %13765, 0
br i1 %13766, label %13767, label %13768
13767: ; preds = %13760
br label %13772
13768: ; preds = %13760
%13769 = load i16, i16* %17
%13770 = sext i16 %13769 to i32
%13771 = sub nsw i32 25, %13770
br label %13772
13772: ; preds = %13768, %13767
%13773 = phi i32 [ 0, %13767 ], [ %13771, %13768 ]
%13774 = trunc i32 %13773 to i16
store i16 %13774, i16* %13
%13775 = load i16, i16* %18
%13776 = sext i16 %13775 to i32
%13777 = icmp eq i32 %13776, 0
br i1 %13777, label %13778, label %13779
13778: ; preds = %13772
br label %13783
13779: ; preds = %13772
%13780 = load i16, i16* %18
%13781 = sext i16 %13780 to i32
%13782 = sub nsw i32 25, %13781
br label %13783
13783: ; preds = %13779, %13778
%13784 = phi i32 [ 0, %13778 ], [ %13782, %13779 ]
%13785 = trunc i32 %13784 to i16
store i16 %13785, i16* %17
%13786 = load i16, i16* %10
%13787 = sext i16 %13786 to i32
%13788 = load i16, i16* %11
%13789 = sext i16 %13788 to i32
%13790 = load i16, i16* %12
%13791 = sext i16 %13790 to i32
%13792 = load i16, i16* %13
%13793 = sext i16 %13792 to i32
%13794 = load i16, i16* %14
%13795 = sext i16 %13794 to i32
%13796 = load i16, i16* %15
%13797 = sext i16 %13796 to i32
%13798 = load i16, i16* %16
%13799 = sext i16 %13798 to i32
%13800 = load i16, i16* %17
%13801 = sext i16 %13800 to i32
%13802 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %13787, i32 %13789, i32 %13791, i32 %13793, i32 %13795, i32 %13797, i32 %13799, i32 %13801)
%13803 = trunc i32 %13802 to i16
store i16 %13803, i16* %18
%13804 = load i16, i16* %18
%13805 = sext i16 %13804 to i32
%13806 = icmp eq i32 %13805, -1
br i1 %13806, label %13807, label %13808
13807: ; preds = %13783
store i16 -1, i16* %9
br label %19404
13808: ; preds = %13783
%13809 = load i16, i16* %18
%13810 = sext i16 %13809 to i32
%13811 = icmp sle i32 0, %13810
br i1 %13811, label %13812, label %13814
13812: ; preds = %13808
%13813 = load i16, i16* %22
store i16 %13813, i16* %21
br label %13814
13814: ; preds = %13812, %13808
%13815 = load i16, i16* %10
store i16 %13815, i16* %18
%13816 = load i16, i16* %14
%13817 = sext i16 %13816 to i32
%13818 = icmp eq i32 %13817, 0
br i1 %13818, label %13819, label %13820
13819: ; preds = %13814
br label %13824
13820: ; preds = %13814
%13821 = load i16, i16* %14
%13822 = sext i16 %13821 to i32
%13823 = sub nsw i32 25, %13822
br label %13824
13824: ; preds = %13820, %13819
%13825 = phi i32 [ 0, %13819 ], [ %13823, %13820 ]
%13826 = trunc i32 %13825 to i16
store i16 %13826, i16* %10
%13827 = load i16, i16* %18
%13828 = sext i16 %13827 to i32
%13829 = icmp eq i32 %13828, 0
br i1 %13829, label %13830, label %13831
13830: ; preds = %13824
br label %13835
13831: ; preds = %13824
%13832 = load i16, i16* %18
%13833 = sext i16 %13832 to i32
%13834 = sub nsw i32 25, %13833
br label %13835
13835: ; preds = %13831, %13830
%13836 = phi i32 [ 0, %13830 ], [ %13834, %13831 ]
%13837 = trunc i32 %13836 to i16
store i16 %13837, i16* %14
%13838 = load i16, i16* %11
store i16 %13838, i16* %18
%13839 = load i16, i16* %15
%13840 = sext i16 %13839 to i32
%13841 = icmp eq i32 %13840, 0
br i1 %13841, label %13842, label %13843
13842: ; preds = %13835
br label %13847
13843: ; preds = %13835
%13844 = load i16, i16* %15
%13845 = sext i16 %13844 to i32
%13846 = sub nsw i32 25, %13845
br label %13847
13847: ; preds = %13843, %13842
%13848 = phi i32 [ 0, %13842 ], [ %13846, %13843 ]
%13849 = trunc i32 %13848 to i16
store i16 %13849, i16* %11
%13850 = load i16, i16* %18
%13851 = sext i16 %13850 to i32
%13852 = icmp eq i32 %13851, 0
br i1 %13852, label %13853, label %13854
13853: ; preds = %13847
br label %13858
13854: ; preds = %13847
%13855 = load i16, i16* %18
%13856 = sext i16 %13855 to i32
%13857 = sub nsw i32 25, %13856
br label %13858
13858: ; preds = %13854, %13853
%13859 = phi i32 [ 0, %13853 ], [ %13857, %13854 ]
%13860 = trunc i32 %13859 to i16
store i16 %13860, i16* %15
%13861 = load i16, i16* %12
store i16 %13861, i16* %18
%13862 = load i16, i16* %16
%13863 = sext i16 %13862 to i32
%13864 = icmp eq i32 %13863, 0
br i1 %13864, label %13865, label %13866
13865: ; preds = %13858
br label %13870
13866: ; preds = %13858
%13867 = load i16, i16* %16
%13868 = sext i16 %13867 to i32
%13869 = sub nsw i32 25, %13868
br label %13870
13870: ; preds = %13866, %13865
%13871 = phi i32 [ 0, %13865 ], [ %13869, %13866 ]
%13872 = trunc i32 %13871 to i16
store i16 %13872, i16* %12
%13873 = load i16, i16* %18
%13874 = sext i16 %13873 to i32
%13875 = icmp eq i32 %13874, 0
br i1 %13875, label %13876, label %13877
13876: ; preds = %13870
br label %13881
13877: ; preds = %13870
%13878 = load i16, i16* %18
%13879 = sext i16 %13878 to i32
%13880 = sub nsw i32 25, %13879
br label %13881
13881: ; preds = %13877, %13876
%13882 = phi i32 [ 0, %13876 ], [ %13880, %13877 ]
%13883 = trunc i32 %13882 to i16
store i16 %13883, i16* %16
%13884 = load i16, i16* %13
store i16 %13884, i16* %18
%13885 = load i16, i16* %17
%13886 = sext i16 %13885 to i32
%13887 = icmp eq i32 %13886, 0
br i1 %13887, label %13888, label %13889
13888: ; preds = %13881
br label %13893
13889: ; preds = %13881
%13890 = load i16, i16* %17
%13891 = sext i16 %13890 to i32
%13892 = sub nsw i32 25, %13891
br label %13893
13893: ; preds = %13889, %13888
%13894 = phi i32 [ 0, %13888 ], [ %13892, %13889 ]
%13895 = trunc i32 %13894 to i16
store i16 %13895, i16* %13
%13896 = load i16, i16* %18
%13897 = sext i16 %13896 to i32
%13898 = icmp eq i32 %13897, 0
br i1 %13898, label %13899, label %13900
13899: ; preds = %13893
br label %13904
13900: ; preds = %13893
%13901 = load i16, i16* %18
%13902 = sext i16 %13901 to i32
%13903 = sub nsw i32 25, %13902
br label %13904
13904: ; preds = %13900, %13899
%13905 = phi i32 [ 0, %13899 ], [ %13903, %13900 ]
%13906 = trunc i32 %13905 to i16
store i16 %13906, i16* %17
br label %13907
13907: ; preds = %13904, %13689
%13908 = load i16, i16* %19
store i16 %13908, i16* %12
br label %13909
13909: ; preds = %13907, %13465, %13459, %13453, %13447, %13441, %13430
br label %13910
13910: ; preds = %13909, %13426, %13422
br label %19378
13911: ; preds = %13418
%13912 = load i16, i16* %22
%13913 = sext i16 %13912 to i32
%13914 = icmp eq i32 %13913, 21
br i1 %13914, label %13915, label %14409
13915: ; preds = %13911
%13916 = load i16, i16* %12
%13917 = sext i16 %13916 to i32
%13918 = icmp ne i32 %13917, 0
br i1 %13918, label %13919, label %14408
13919: ; preds = %13915
%13920 = load i16, i16* %12
%13921 = sext i16 %13920 to i32
%13922 = icmp slt i32 4, %13921
br i1 %13922, label %13923, label %14408
13923: ; preds = %13919
%13924 = load i16, i16* %12
%13925 = sext i16 %13924 to i32
%13926 = srem i32 %13925, 4
%13927 = icmp ne i32 %13926, 1
br i1 %13927, label %13928, label %14408
13928: ; preds = %13923
%13929 = load i16, i16* %12
store i16 %13929, i16* %19
%13930 = load i16, i16* %19
%13931 = sext i16 %13930 to i32
%13932 = sub nsw i32 %13931, 5
%13933 = trunc i32 %13932 to i16
store i16 %13933, i16* %20
%13934 = load i16, i16* %20
%13935 = sext i16 %13934 to i32
%13936 = load i16, i16* %10
%13937 = sext i16 %13936 to i32
%13938 = icmp ne i32 %13935, %13937
br i1 %13938, label %13939, label %14407
13939: ; preds = %13928
%13940 = load i16, i16* %20
%13941 = sext i16 %13940 to i32
%13942 = load i16, i16* %11
%13943 = sext i16 %13942 to i32
%13944 = icmp ne i32 %13941, %13943
br i1 %13944, label %13945, label %14407
13945: ; preds = %13939
%13946 = load i16, i16* %20
%13947 = sext i16 %13946 to i32
%13948 = load i16, i16* %13
%13949 = sext i16 %13948 to i32
%13950 = icmp ne i32 %13947, %13949
br i1 %13950, label %13951, label %14407
13951: ; preds = %13945
%13952 = load i16, i16* %20
%13953 = sext i16 %13952 to i32
%13954 = load i16, i16* %14
%13955 = sext i16 %13954 to i32
%13956 = icmp ne i32 %13953, %13955
br i1 %13956, label %13957, label %14407
13957: ; preds = %13951
%13958 = load i16, i16* %20
%13959 = sext i16 %13958 to i32
%13960 = load i16, i16* %16
%13961 = sext i16 %13960 to i32
%13962 = icmp ne i32 %13959, %13961
br i1 %13962, label %13963, label %14407
13963: ; preds = %13957
%13964 = load i16, i16* %20
%13965 = sext i16 %13964 to i32
%13966 = load i16, i16* %17
%13967 = sext i16 %13966 to i32
%13968 = icmp ne i32 %13965, %13967
br i1 %13968, label %13969, label %14407
13969: ; preds = %13963
%13970 = load i16, i16* %20
store i16 %13970, i16* %12
%13971 = load i16, i16* %15
%13972 = sext i16 %13971 to i32
%13973 = load i16, i16* %20
%13974 = sext i16 %13973 to i32
%13975 = icmp eq i32 %13972, %13974
br i1 %13975, label %13976, label %14191
13976: ; preds = %13969
store i16 0, i16* %15
%13977 = load i16, i16* %10
store i16 %13977, i16* %18
%13978 = load i16, i16* %14
%13979 = sext i16 %13978 to i32
%13980 = icmp eq i32 %13979, 0
br i1 %13980, label %13981, label %13982
13981: ; preds = %13976
br label %13986
13982: ; preds = %13976
%13983 = load i16, i16* %14
%13984 = sext i16 %13983 to i32
%13985 = sub nsw i32 25, %13984
br label %13986
13986: ; preds = %13982, %13981
%13987 = phi i32 [ 0, %13981 ], [ %13985, %13982 ]
%13988 = trunc i32 %13987 to i16
store i16 %13988, i16* %10
%13989 = load i16, i16* %18
%13990 = sext i16 %13989 to i32
%13991 = icmp eq i32 %13990, 0
br i1 %13991, label %13992, label %13993
13992: ; preds = %13986
br label %13997
13993: ; preds = %13986
%13994 = load i16, i16* %18
%13995 = sext i16 %13994 to i32
%13996 = sub nsw i32 25, %13995
br label %13997
13997: ; preds = %13993, %13992
%13998 = phi i32 [ 0, %13992 ], [ %13996, %13993 ]
%13999 = trunc i32 %13998 to i16
store i16 %13999, i16* %14
%14000 = load i16, i16* %11
store i16 %14000, i16* %18
%14001 = load i16, i16* %15
%14002 = sext i16 %14001 to i32
%14003 = icmp eq i32 %14002, 0
br i1 %14003, label %14004, label %14005
14004: ; preds = %13997
br label %14009
14005: ; preds = %13997
%14006 = load i16, i16* %15
%14007 = sext i16 %14006 to i32
%14008 = sub nsw i32 25, %14007
br label %14009
14009: ; preds = %14005, %14004
%14010 = phi i32 [ 0, %14004 ], [ %14008, %14005 ]
%14011 = trunc i32 %14010 to i16
store i16 %14011, i16* %11
%14012 = load i16, i16* %18
%14013 = sext i16 %14012 to i32
%14014 = icmp eq i32 %14013, 0
br i1 %14014, label %14015, label %14016
14015: ; preds = %14009
br label %14020
14016: ; preds = %14009
%14017 = load i16, i16* %18
%14018 = sext i16 %14017 to i32
%14019 = sub nsw i32 25, %14018
br label %14020
14020: ; preds = %14016, %14015
%14021 = phi i32 [ 0, %14015 ], [ %14019, %14016 ]
%14022 = trunc i32 %14021 to i16
store i16 %14022, i16* %15
%14023 = load i16, i16* %12
store i16 %14023, i16* %18
%14024 = load i16, i16* %16
%14025 = sext i16 %14024 to i32
%14026 = icmp eq i32 %14025, 0
br i1 %14026, label %14027, label %14028
14027: ; preds = %14020
br label %14032
14028: ; preds = %14020
%14029 = load i16, i16* %16
%14030 = sext i16 %14029 to i32
%14031 = sub nsw i32 25, %14030
br label %14032
14032: ; preds = %14028, %14027
%14033 = phi i32 [ 0, %14027 ], [ %14031, %14028 ]
%14034 = trunc i32 %14033 to i16
store i16 %14034, i16* %12
%14035 = load i16, i16* %18
%14036 = sext i16 %14035 to i32
%14037 = icmp eq i32 %14036, 0
br i1 %14037, label %14038, label %14039
14038: ; preds = %14032
br label %14043
14039: ; preds = %14032
%14040 = load i16, i16* %18
%14041 = sext i16 %14040 to i32
%14042 = sub nsw i32 25, %14041
br label %14043
14043: ; preds = %14039, %14038
%14044 = phi i32 [ 0, %14038 ], [ %14042, %14039 ]
%14045 = trunc i32 %14044 to i16
store i16 %14045, i16* %16
%14046 = load i16, i16* %13
store i16 %14046, i16* %18
%14047 = load i16, i16* %17
%14048 = sext i16 %14047 to i32
%14049 = icmp eq i32 %14048, 0
br i1 %14049, label %14050, label %14051
14050: ; preds = %14043
br label %14055
14051: ; preds = %14043
%14052 = load i16, i16* %17
%14053 = sext i16 %14052 to i32
%14054 = sub nsw i32 25, %14053
br label %14055
14055: ; preds = %14051, %14050
%14056 = phi i32 [ 0, %14050 ], [ %14054, %14051 ]
%14057 = trunc i32 %14056 to i16
store i16 %14057, i16* %13
%14058 = load i16, i16* %18
%14059 = sext i16 %14058 to i32
%14060 = icmp eq i32 %14059, 0
br i1 %14060, label %14061, label %14062
14061: ; preds = %14055
br label %14066
14062: ; preds = %14055
%14063 = load i16, i16* %18
%14064 = sext i16 %14063 to i32
%14065 = sub nsw i32 25, %14064
br label %14066
14066: ; preds = %14062, %14061
%14067 = phi i32 [ 0, %14061 ], [ %14065, %14062 ]
%14068 = trunc i32 %14067 to i16
store i16 %14068, i16* %17
%14069 = load i16, i16* %10
%14070 = sext i16 %14069 to i32
%14071 = load i16, i16* %11
%14072 = sext i16 %14071 to i32
%14073 = load i16, i16* %12
%14074 = sext i16 %14073 to i32
%14075 = load i16, i16* %13
%14076 = sext i16 %14075 to i32
%14077 = load i16, i16* %14
%14078 = sext i16 %14077 to i32
%14079 = load i16, i16* %15
%14080 = sext i16 %14079 to i32
%14081 = load i16, i16* %16
%14082 = sext i16 %14081 to i32
%14083 = load i16, i16* %17
%14084 = sext i16 %14083 to i32
%14085 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14070, i32 %14072, i32 %14074, i32 %14076, i32 %14078, i32 %14080, i32 %14082, i32 %14084)
%14086 = trunc i32 %14085 to i16
store i16 %14086, i16* %18
%14087 = load i16, i16* %18
%14088 = sext i16 %14087 to i32
%14089 = icmp eq i32 %14088, -1
br i1 %14089, label %14090, label %14091
14090: ; preds = %14066
store i16 -1, i16* %9
br label %19404
14091: ; preds = %14066
%14092 = load i16, i16* %18
%14093 = sext i16 %14092 to i32
%14094 = icmp sle i32 0, %14093
br i1 %14094, label %14095, label %14097
14095: ; preds = %14091
%14096 = load i16, i16* %22
store i16 %14096, i16* %21
br label %14097
14097: ; preds = %14095, %14091
%14098 = load i16, i16* %10
store i16 %14098, i16* %18
%14099 = load i16, i16* %14
%14100 = sext i16 %14099 to i32
%14101 = icmp eq i32 %14100, 0
br i1 %14101, label %14102, label %14103
14102: ; preds = %14097
br label %14107
14103: ; preds = %14097
%14104 = load i16, i16* %14
%14105 = sext i16 %14104 to i32
%14106 = sub nsw i32 25, %14105
br label %14107
14107: ; preds = %14103, %14102
%14108 = phi i32 [ 0, %14102 ], [ %14106, %14103 ]
%14109 = trunc i32 %14108 to i16
store i16 %14109, i16* %10
%14110 = load i16, i16* %18
%14111 = sext i16 %14110 to i32
%14112 = icmp eq i32 %14111, 0
br i1 %14112, label %14113, label %14114
14113: ; preds = %14107
br label %14118
14114: ; preds = %14107
%14115 = load i16, i16* %18
%14116 = sext i16 %14115 to i32
%14117 = sub nsw i32 25, %14116
br label %14118
14118: ; preds = %14114, %14113
%14119 = phi i32 [ 0, %14113 ], [ %14117, %14114 ]
%14120 = trunc i32 %14119 to i16
store i16 %14120, i16* %14
%14121 = load i16, i16* %11
store i16 %14121, i16* %18
%14122 = load i16, i16* %15
%14123 = sext i16 %14122 to i32
%14124 = icmp eq i32 %14123, 0
br i1 %14124, label %14125, label %14126
14125: ; preds = %14118
br label %14130
14126: ; preds = %14118
%14127 = load i16, i16* %15
%14128 = sext i16 %14127 to i32
%14129 = sub nsw i32 25, %14128
br label %14130
14130: ; preds = %14126, %14125
%14131 = phi i32 [ 0, %14125 ], [ %14129, %14126 ]
%14132 = trunc i32 %14131 to i16
store i16 %14132, i16* %11
%14133 = load i16, i16* %18
%14134 = sext i16 %14133 to i32
%14135 = icmp eq i32 %14134, 0
br i1 %14135, label %14136, label %14137
14136: ; preds = %14130
br label %14141
14137: ; preds = %14130
%14138 = load i16, i16* %18
%14139 = sext i16 %14138 to i32
%14140 = sub nsw i32 25, %14139
br label %14141
14141: ; preds = %14137, %14136
%14142 = phi i32 [ 0, %14136 ], [ %14140, %14137 ]
%14143 = trunc i32 %14142 to i16
store i16 %14143, i16* %15
%14144 = load i16, i16* %12
store i16 %14144, i16* %18
%14145 = load i16, i16* %16
%14146 = sext i16 %14145 to i32
%14147 = icmp eq i32 %14146, 0
br i1 %14147, label %14148, label %14149
14148: ; preds = %14141
br label %14153
14149: ; preds = %14141
%14150 = load i16, i16* %16
%14151 = sext i16 %14150 to i32
%14152 = sub nsw i32 25, %14151
br label %14153
14153: ; preds = %14149, %14148
%14154 = phi i32 [ 0, %14148 ], [ %14152, %14149 ]
%14155 = trunc i32 %14154 to i16
store i16 %14155, i16* %12
%14156 = load i16, i16* %18
%14157 = sext i16 %14156 to i32
%14158 = icmp eq i32 %14157, 0
br i1 %14158, label %14159, label %14160
14159: ; preds = %14153
br label %14164
14160: ; preds = %14153
%14161 = load i16, i16* %18
%14162 = sext i16 %14161 to i32
%14163 = sub nsw i32 25, %14162
br label %14164
14164: ; preds = %14160, %14159
%14165 = phi i32 [ 0, %14159 ], [ %14163, %14160 ]
%14166 = trunc i32 %14165 to i16
store i16 %14166, i16* %16
%14167 = load i16, i16* %13
store i16 %14167, i16* %18
%14168 = load i16, i16* %17
%14169 = sext i16 %14168 to i32
%14170 = icmp eq i32 %14169, 0
br i1 %14170, label %14171, label %14172
14171: ; preds = %14164
br label %14176
14172: ; preds = %14164
%14173 = load i16, i16* %17
%14174 = sext i16 %14173 to i32
%14175 = sub nsw i32 25, %14174
br label %14176
14176: ; preds = %14172, %14171
%14177 = phi i32 [ 0, %14171 ], [ %14175, %14172 ]
%14178 = trunc i32 %14177 to i16
store i16 %14178, i16* %13
%14179 = load i16, i16* %18
%14180 = sext i16 %14179 to i32
%14181 = icmp eq i32 %14180, 0
br i1 %14181, label %14182, label %14183
14182: ; preds = %14176
br label %14187
14183: ; preds = %14176
%14184 = load i16, i16* %18
%14185 = sext i16 %14184 to i32
%14186 = sub nsw i32 25, %14185
br label %14187
14187: ; preds = %14183, %14182
%14188 = phi i32 [ 0, %14182 ], [ %14186, %14183 ]
%14189 = trunc i32 %14188 to i16
store i16 %14189, i16* %17
%14190 = load i16, i16* %20
store i16 %14190, i16* %15
br label %14405
14191: ; preds = %13969
%14192 = load i16, i16* %10
store i16 %14192, i16* %18
%14193 = load i16, i16* %14
%14194 = sext i16 %14193 to i32
%14195 = icmp eq i32 %14194, 0
br i1 %14195, label %14196, label %14197
14196: ; preds = %14191
br label %14201
14197: ; preds = %14191
%14198 = load i16, i16* %14
%14199 = sext i16 %14198 to i32
%14200 = sub nsw i32 25, %14199
br label %14201
14201: ; preds = %14197, %14196
%14202 = phi i32 [ 0, %14196 ], [ %14200, %14197 ]
%14203 = trunc i32 %14202 to i16
store i16 %14203, i16* %10
%14204 = load i16, i16* %18
%14205 = sext i16 %14204 to i32
%14206 = icmp eq i32 %14205, 0
br i1 %14206, label %14207, label %14208
14207: ; preds = %14201
br label %14212
14208: ; preds = %14201
%14209 = load i16, i16* %18
%14210 = sext i16 %14209 to i32
%14211 = sub nsw i32 25, %14210
br label %14212
14212: ; preds = %14208, %14207
%14213 = phi i32 [ 0, %14207 ], [ %14211, %14208 ]
%14214 = trunc i32 %14213 to i16
store i16 %14214, i16* %14
%14215 = load i16, i16* %11
store i16 %14215, i16* %18
%14216 = load i16, i16* %15
%14217 = sext i16 %14216 to i32
%14218 = icmp eq i32 %14217, 0
br i1 %14218, label %14219, label %14220
14219: ; preds = %14212
br label %14224
14220: ; preds = %14212
%14221 = load i16, i16* %15
%14222 = sext i16 %14221 to i32
%14223 = sub nsw i32 25, %14222
br label %14224
14224: ; preds = %14220, %14219
%14225 = phi i32 [ 0, %14219 ], [ %14223, %14220 ]
%14226 = trunc i32 %14225 to i16
store i16 %14226, i16* %11
%14227 = load i16, i16* %18
%14228 = sext i16 %14227 to i32
%14229 = icmp eq i32 %14228, 0
br i1 %14229, label %14230, label %14231
14230: ; preds = %14224
br label %14235
14231: ; preds = %14224
%14232 = load i16, i16* %18
%14233 = sext i16 %14232 to i32
%14234 = sub nsw i32 25, %14233
br label %14235
14235: ; preds = %14231, %14230
%14236 = phi i32 [ 0, %14230 ], [ %14234, %14231 ]
%14237 = trunc i32 %14236 to i16
store i16 %14237, i16* %15
%14238 = load i16, i16* %12
store i16 %14238, i16* %18
%14239 = load i16, i16* %16
%14240 = sext i16 %14239 to i32
%14241 = icmp eq i32 %14240, 0
br i1 %14241, label %14242, label %14243
14242: ; preds = %14235
br label %14247
14243: ; preds = %14235
%14244 = load i16, i16* %16
%14245 = sext i16 %14244 to i32
%14246 = sub nsw i32 25, %14245
br label %14247
14247: ; preds = %14243, %14242
%14248 = phi i32 [ 0, %14242 ], [ %14246, %14243 ]
%14249 = trunc i32 %14248 to i16
store i16 %14249, i16* %12
%14250 = load i16, i16* %18
%14251 = sext i16 %14250 to i32
%14252 = icmp eq i32 %14251, 0
br i1 %14252, label %14253, label %14254
14253: ; preds = %14247
br label %14258
14254: ; preds = %14247
%14255 = load i16, i16* %18
%14256 = sext i16 %14255 to i32
%14257 = sub nsw i32 25, %14256
br label %14258
14258: ; preds = %14254, %14253
%14259 = phi i32 [ 0, %14253 ], [ %14257, %14254 ]
%14260 = trunc i32 %14259 to i16
store i16 %14260, i16* %16
%14261 = load i16, i16* %13
store i16 %14261, i16* %18
%14262 = load i16, i16* %17
%14263 = sext i16 %14262 to i32
%14264 = icmp eq i32 %14263, 0
br i1 %14264, label %14265, label %14266
14265: ; preds = %14258
br label %14270
14266: ; preds = %14258
%14267 = load i16, i16* %17
%14268 = sext i16 %14267 to i32
%14269 = sub nsw i32 25, %14268
br label %14270
14270: ; preds = %14266, %14265
%14271 = phi i32 [ 0, %14265 ], [ %14269, %14266 ]
%14272 = trunc i32 %14271 to i16
store i16 %14272, i16* %13
%14273 = load i16, i16* %18
%14274 = sext i16 %14273 to i32
%14275 = icmp eq i32 %14274, 0
br i1 %14275, label %14276, label %14277
14276: ; preds = %14270
br label %14281
14277: ; preds = %14270
%14278 = load i16, i16* %18
%14279 = sext i16 %14278 to i32
%14280 = sub nsw i32 25, %14279
br label %14281
14281: ; preds = %14277, %14276
%14282 = phi i32 [ 0, %14276 ], [ %14280, %14277 ]
%14283 = trunc i32 %14282 to i16
store i16 %14283, i16* %17
%14284 = load i16, i16* %10
%14285 = sext i16 %14284 to i32
%14286 = load i16, i16* %11
%14287 = sext i16 %14286 to i32
%14288 = load i16, i16* %12
%14289 = sext i16 %14288 to i32
%14290 = load i16, i16* %13
%14291 = sext i16 %14290 to i32
%14292 = load i16, i16* %14
%14293 = sext i16 %14292 to i32
%14294 = load i16, i16* %15
%14295 = sext i16 %14294 to i32
%14296 = load i16, i16* %16
%14297 = sext i16 %14296 to i32
%14298 = load i16, i16* %17
%14299 = sext i16 %14298 to i32
%14300 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14285, i32 %14287, i32 %14289, i32 %14291, i32 %14293, i32 %14295, i32 %14297, i32 %14299)
%14301 = trunc i32 %14300 to i16
store i16 %14301, i16* %18
%14302 = load i16, i16* %18
%14303 = sext i16 %14302 to i32
%14304 = icmp eq i32 %14303, -1
br i1 %14304, label %14305, label %14306
14305: ; preds = %14281
store i16 -1, i16* %9
br label %19404
14306: ; preds = %14281
%14307 = load i16, i16* %18
%14308 = sext i16 %14307 to i32
%14309 = icmp sle i32 0, %14308
br i1 %14309, label %14310, label %14312
14310: ; preds = %14306
%14311 = load i16, i16* %22
store i16 %14311, i16* %21
br label %14312
14312: ; preds = %14310, %14306
%14313 = load i16, i16* %10
store i16 %14313, i16* %18
%14314 = load i16, i16* %14
%14315 = sext i16 %14314 to i32
%14316 = icmp eq i32 %14315, 0
br i1 %14316, label %14317, label %14318
14317: ; preds = %14312
br label %14322
14318: ; preds = %14312
%14319 = load i16, i16* %14
%14320 = sext i16 %14319 to i32
%14321 = sub nsw i32 25, %14320
br label %14322
14322: ; preds = %14318, %14317
%14323 = phi i32 [ 0, %14317 ], [ %14321, %14318 ]
%14324 = trunc i32 %14323 to i16
store i16 %14324, i16* %10
%14325 = load i16, i16* %18
%14326 = sext i16 %14325 to i32
%14327 = icmp eq i32 %14326, 0
br i1 %14327, label %14328, label %14329
14328: ; preds = %14322
br label %14333
14329: ; preds = %14322
%14330 = load i16, i16* %18
%14331 = sext i16 %14330 to i32
%14332 = sub nsw i32 25, %14331
br label %14333
14333: ; preds = %14329, %14328
%14334 = phi i32 [ 0, %14328 ], [ %14332, %14329 ]
%14335 = trunc i32 %14334 to i16
store i16 %14335, i16* %14
%14336 = load i16, i16* %11
store i16 %14336, i16* %18
%14337 = load i16, i16* %15
%14338 = sext i16 %14337 to i32
%14339 = icmp eq i32 %14338, 0
br i1 %14339, label %14340, label %14341
14340: ; preds = %14333
br label %14345
14341: ; preds = %14333
%14342 = load i16, i16* %15
%14343 = sext i16 %14342 to i32
%14344 = sub nsw i32 25, %14343
br label %14345
14345: ; preds = %14341, %14340
%14346 = phi i32 [ 0, %14340 ], [ %14344, %14341 ]
%14347 = trunc i32 %14346 to i16
store i16 %14347, i16* %11
%14348 = load i16, i16* %18
%14349 = sext i16 %14348 to i32
%14350 = icmp eq i32 %14349, 0
br i1 %14350, label %14351, label %14352
14351: ; preds = %14345
br label %14356
14352: ; preds = %14345
%14353 = load i16, i16* %18
%14354 = sext i16 %14353 to i32
%14355 = sub nsw i32 25, %14354
br label %14356
14356: ; preds = %14352, %14351
%14357 = phi i32 [ 0, %14351 ], [ %14355, %14352 ]
%14358 = trunc i32 %14357 to i16
store i16 %14358, i16* %15
%14359 = load i16, i16* %12
store i16 %14359, i16* %18
%14360 = load i16, i16* %16
%14361 = sext i16 %14360 to i32
%14362 = icmp eq i32 %14361, 0
br i1 %14362, label %14363, label %14364
14363: ; preds = %14356
br label %14368
14364: ; preds = %14356
%14365 = load i16, i16* %16
%14366 = sext i16 %14365 to i32
%14367 = sub nsw i32 25, %14366
br label %14368
14368: ; preds = %14364, %14363
%14369 = phi i32 [ 0, %14363 ], [ %14367, %14364 ]
%14370 = trunc i32 %14369 to i16
store i16 %14370, i16* %12
%14371 = load i16, i16* %18
%14372 = sext i16 %14371 to i32
%14373 = icmp eq i32 %14372, 0
br i1 %14373, label %14374, label %14375
14374: ; preds = %14368
br label %14379
14375: ; preds = %14368
%14376 = load i16, i16* %18
%14377 = sext i16 %14376 to i32
%14378 = sub nsw i32 25, %14377
br label %14379
14379: ; preds = %14375, %14374
%14380 = phi i32 [ 0, %14374 ], [ %14378, %14375 ]
%14381 = trunc i32 %14380 to i16
store i16 %14381, i16* %16
%14382 = load i16, i16* %13
store i16 %14382, i16* %18
%14383 = load i16, i16* %17
%14384 = sext i16 %14383 to i32
%14385 = icmp eq i32 %14384, 0
br i1 %14385, label %14386, label %14387
14386: ; preds = %14379
br label %14391
14387: ; preds = %14379
%14388 = load i16, i16* %17
%14389 = sext i16 %14388 to i32
%14390 = sub nsw i32 25, %14389
br label %14391
14391: ; preds = %14387, %14386
%14392 = phi i32 [ 0, %14386 ], [ %14390, %14387 ]
%14393 = trunc i32 %14392 to i16
store i16 %14393, i16* %13
%14394 = load i16, i16* %18
%14395 = sext i16 %14394 to i32
%14396 = icmp eq i32 %14395, 0
br i1 %14396, label %14397, label %14398
14397: ; preds = %14391
br label %14402
14398: ; preds = %14391
%14399 = load i16, i16* %18
%14400 = sext i16 %14399 to i32
%14401 = sub nsw i32 25, %14400
br label %14402
14402: ; preds = %14398, %14397
%14403 = phi i32 [ 0, %14397 ], [ %14401, %14398 ]
%14404 = trunc i32 %14403 to i16
store i16 %14404, i16* %17
br label %14405
14405: ; preds = %14402, %14187
%14406 = load i16, i16* %19
store i16 %14406, i16* %12
br label %14407
14407: ; preds = %14405, %13963, %13957, %13951, %13945, %13939, %13928
br label %14408
14408: ; preds = %14407, %13923, %13919, %13915
br label %19377
14409: ; preds = %13911
%14410 = load i16, i16* %22
%14411 = sext i16 %14410 to i32
%14412 = icmp eq i32 %14411, 22
br i1 %14412, label %14413, label %14903
14413: ; preds = %14409
%14414 = load i16, i16* %12
%14415 = sext i16 %14414 to i32
%14416 = icmp ne i32 %14415, 0
br i1 %14416, label %14417, label %14902
14417: ; preds = %14413
%14418 = load i16, i16* %12
%14419 = sext i16 %14418 to i32
%14420 = srem i32 %14419, 4
%14421 = icmp ne i32 %14420, 1
br i1 %14421, label %14422, label %14902
14422: ; preds = %14417
%14423 = load i16, i16* %12
store i16 %14423, i16* %19
%14424 = load i16, i16* %19
%14425 = sext i16 %14424 to i32
%14426 = sub nsw i32 %14425, 1
%14427 = trunc i32 %14426 to i16
store i16 %14427, i16* %20
%14428 = load i16, i16* %20
%14429 = sext i16 %14428 to i32
%14430 = load i16, i16* %10
%14431 = sext i16 %14430 to i32
%14432 = icmp ne i32 %14429, %14431
br i1 %14432, label %14433, label %14901
14433: ; preds = %14422
%14434 = load i16, i16* %20
%14435 = sext i16 %14434 to i32
%14436 = load i16, i16* %11
%14437 = sext i16 %14436 to i32
%14438 = icmp ne i32 %14435, %14437
br i1 %14438, label %14439, label %14901
14439: ; preds = %14433
%14440 = load i16, i16* %20
%14441 = sext i16 %14440 to i32
%14442 = load i16, i16* %13
%14443 = sext i16 %14442 to i32
%14444 = icmp ne i32 %14441, %14443
br i1 %14444, label %14445, label %14901
14445: ; preds = %14439
%14446 = load i16, i16* %20
%14447 = sext i16 %14446 to i32
%14448 = load i16, i16* %14
%14449 = sext i16 %14448 to i32
%14450 = icmp ne i32 %14447, %14449
br i1 %14450, label %14451, label %14901
14451: ; preds = %14445
%14452 = load i16, i16* %20
%14453 = sext i16 %14452 to i32
%14454 = load i16, i16* %16
%14455 = sext i16 %14454 to i32
%14456 = icmp ne i32 %14453, %14455
br i1 %14456, label %14457, label %14901
14457: ; preds = %14451
%14458 = load i16, i16* %20
%14459 = sext i16 %14458 to i32
%14460 = load i16, i16* %17
%14461 = sext i16 %14460 to i32
%14462 = icmp ne i32 %14459, %14461
br i1 %14462, label %14463, label %14901
14463: ; preds = %14457
%14464 = load i16, i16* %20
store i16 %14464, i16* %12
%14465 = load i16, i16* %15
%14466 = sext i16 %14465 to i32
%14467 = load i16, i16* %20
%14468 = sext i16 %14467 to i32
%14469 = icmp eq i32 %14466, %14468
br i1 %14469, label %14470, label %14685
14470: ; preds = %14463
store i16 0, i16* %15
%14471 = load i16, i16* %10
store i16 %14471, i16* %18
%14472 = load i16, i16* %14
%14473 = sext i16 %14472 to i32
%14474 = icmp eq i32 %14473, 0
br i1 %14474, label %14475, label %14476
14475: ; preds = %14470
br label %14480
14476: ; preds = %14470
%14477 = load i16, i16* %14
%14478 = sext i16 %14477 to i32
%14479 = sub nsw i32 25, %14478
br label %14480
14480: ; preds = %14476, %14475
%14481 = phi i32 [ 0, %14475 ], [ %14479, %14476 ]
%14482 = trunc i32 %14481 to i16
store i16 %14482, i16* %10
%14483 = load i16, i16* %18
%14484 = sext i16 %14483 to i32
%14485 = icmp eq i32 %14484, 0
br i1 %14485, label %14486, label %14487
14486: ; preds = %14480
br label %14491
14487: ; preds = %14480
%14488 = load i16, i16* %18
%14489 = sext i16 %14488 to i32
%14490 = sub nsw i32 25, %14489
br label %14491
14491: ; preds = %14487, %14486
%14492 = phi i32 [ 0, %14486 ], [ %14490, %14487 ]
%14493 = trunc i32 %14492 to i16
store i16 %14493, i16* %14
%14494 = load i16, i16* %11
store i16 %14494, i16* %18
%14495 = load i16, i16* %15
%14496 = sext i16 %14495 to i32
%14497 = icmp eq i32 %14496, 0
br i1 %14497, label %14498, label %14499
14498: ; preds = %14491
br label %14503
14499: ; preds = %14491
%14500 = load i16, i16* %15
%14501 = sext i16 %14500 to i32
%14502 = sub nsw i32 25, %14501
br label %14503
14503: ; preds = %14499, %14498
%14504 = phi i32 [ 0, %14498 ], [ %14502, %14499 ]
%14505 = trunc i32 %14504 to i16
store i16 %14505, i16* %11
%14506 = load i16, i16* %18
%14507 = sext i16 %14506 to i32
%14508 = icmp eq i32 %14507, 0
br i1 %14508, label %14509, label %14510
14509: ; preds = %14503
br label %14514
14510: ; preds = %14503
%14511 = load i16, i16* %18
%14512 = sext i16 %14511 to i32
%14513 = sub nsw i32 25, %14512
br label %14514
14514: ; preds = %14510, %14509
%14515 = phi i32 [ 0, %14509 ], [ %14513, %14510 ]
%14516 = trunc i32 %14515 to i16
store i16 %14516, i16* %15
%14517 = load i16, i16* %12
store i16 %14517, i16* %18
%14518 = load i16, i16* %16
%14519 = sext i16 %14518 to i32
%14520 = icmp eq i32 %14519, 0
br i1 %14520, label %14521, label %14522
14521: ; preds = %14514
br label %14526
14522: ; preds = %14514
%14523 = load i16, i16* %16
%14524 = sext i16 %14523 to i32
%14525 = sub nsw i32 25, %14524
br label %14526
14526: ; preds = %14522, %14521
%14527 = phi i32 [ 0, %14521 ], [ %14525, %14522 ]
%14528 = trunc i32 %14527 to i16
store i16 %14528, i16* %12
%14529 = load i16, i16* %18
%14530 = sext i16 %14529 to i32
%14531 = icmp eq i32 %14530, 0
br i1 %14531, label %14532, label %14533
14532: ; preds = %14526
br label %14537
14533: ; preds = %14526
%14534 = load i16, i16* %18
%14535 = sext i16 %14534 to i32
%14536 = sub nsw i32 25, %14535
br label %14537
14537: ; preds = %14533, %14532
%14538 = phi i32 [ 0, %14532 ], [ %14536, %14533 ]
%14539 = trunc i32 %14538 to i16
store i16 %14539, i16* %16
%14540 = load i16, i16* %13
store i16 %14540, i16* %18
%14541 = load i16, i16* %17
%14542 = sext i16 %14541 to i32
%14543 = icmp eq i32 %14542, 0
br i1 %14543, label %14544, label %14545
14544: ; preds = %14537
br label %14549
14545: ; preds = %14537
%14546 = load i16, i16* %17
%14547 = sext i16 %14546 to i32
%14548 = sub nsw i32 25, %14547
br label %14549
14549: ; preds = %14545, %14544
%14550 = phi i32 [ 0, %14544 ], [ %14548, %14545 ]
%14551 = trunc i32 %14550 to i16
store i16 %14551, i16* %13
%14552 = load i16, i16* %18
%14553 = sext i16 %14552 to i32
%14554 = icmp eq i32 %14553, 0
br i1 %14554, label %14555, label %14556
14555: ; preds = %14549
br label %14560
14556: ; preds = %14549
%14557 = load i16, i16* %18
%14558 = sext i16 %14557 to i32
%14559 = sub nsw i32 25, %14558
br label %14560
14560: ; preds = %14556, %14555
%14561 = phi i32 [ 0, %14555 ], [ %14559, %14556 ]
%14562 = trunc i32 %14561 to i16
store i16 %14562, i16* %17
%14563 = load i16, i16* %10
%14564 = sext i16 %14563 to i32
%14565 = load i16, i16* %11
%14566 = sext i16 %14565 to i32
%14567 = load i16, i16* %12
%14568 = sext i16 %14567 to i32
%14569 = load i16, i16* %13
%14570 = sext i16 %14569 to i32
%14571 = load i16, i16* %14
%14572 = sext i16 %14571 to i32
%14573 = load i16, i16* %15
%14574 = sext i16 %14573 to i32
%14575 = load i16, i16* %16
%14576 = sext i16 %14575 to i32
%14577 = load i16, i16* %17
%14578 = sext i16 %14577 to i32
%14579 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14564, i32 %14566, i32 %14568, i32 %14570, i32 %14572, i32 %14574, i32 %14576, i32 %14578)
%14580 = trunc i32 %14579 to i16
store i16 %14580, i16* %18
%14581 = load i16, i16* %18
%14582 = sext i16 %14581 to i32
%14583 = icmp eq i32 %14582, -1
br i1 %14583, label %14584, label %14585
14584: ; preds = %14560
store i16 -1, i16* %9
br label %19404
14585: ; preds = %14560
%14586 = load i16, i16* %18
%14587 = sext i16 %14586 to i32
%14588 = icmp sle i32 0, %14587
br i1 %14588, label %14589, label %14591
14589: ; preds = %14585
%14590 = load i16, i16* %22
store i16 %14590, i16* %21
br label %14591
14591: ; preds = %14589, %14585
%14592 = load i16, i16* %10
store i16 %14592, i16* %18
%14593 = load i16, i16* %14
%14594 = sext i16 %14593 to i32
%14595 = icmp eq i32 %14594, 0
br i1 %14595, label %14596, label %14597
14596: ; preds = %14591
br label %14601
14597: ; preds = %14591
%14598 = load i16, i16* %14
%14599 = sext i16 %14598 to i32
%14600 = sub nsw i32 25, %14599
br label %14601
14601: ; preds = %14597, %14596
%14602 = phi i32 [ 0, %14596 ], [ %14600, %14597 ]
%14603 = trunc i32 %14602 to i16
store i16 %14603, i16* %10
%14604 = load i16, i16* %18
%14605 = sext i16 %14604 to i32
%14606 = icmp eq i32 %14605, 0
br i1 %14606, label %14607, label %14608
14607: ; preds = %14601
br label %14612
14608: ; preds = %14601
%14609 = load i16, i16* %18
%14610 = sext i16 %14609 to i32
%14611 = sub nsw i32 25, %14610
br label %14612
14612: ; preds = %14608, %14607
%14613 = phi i32 [ 0, %14607 ], [ %14611, %14608 ]
%14614 = trunc i32 %14613 to i16
store i16 %14614, i16* %14
%14615 = load i16, i16* %11
store i16 %14615, i16* %18
%14616 = load i16, i16* %15
%14617 = sext i16 %14616 to i32
%14618 = icmp eq i32 %14617, 0
br i1 %14618, label %14619, label %14620
14619: ; preds = %14612
br label %14624
14620: ; preds = %14612
%14621 = load i16, i16* %15
%14622 = sext i16 %14621 to i32
%14623 = sub nsw i32 25, %14622
br label %14624
14624: ; preds = %14620, %14619
%14625 = phi i32 [ 0, %14619 ], [ %14623, %14620 ]
%14626 = trunc i32 %14625 to i16
store i16 %14626, i16* %11
%14627 = load i16, i16* %18
%14628 = sext i16 %14627 to i32
%14629 = icmp eq i32 %14628, 0
br i1 %14629, label %14630, label %14631
14630: ; preds = %14624
br label %14635
14631: ; preds = %14624
%14632 = load i16, i16* %18
%14633 = sext i16 %14632 to i32
%14634 = sub nsw i32 25, %14633
br label %14635
14635: ; preds = %14631, %14630
%14636 = phi i32 [ 0, %14630 ], [ %14634, %14631 ]
%14637 = trunc i32 %14636 to i16
store i16 %14637, i16* %15
%14638 = load i16, i16* %12
store i16 %14638, i16* %18
%14639 = load i16, i16* %16
%14640 = sext i16 %14639 to i32
%14641 = icmp eq i32 %14640, 0
br i1 %14641, label %14642, label %14643
14642: ; preds = %14635
br label %14647
14643: ; preds = %14635
%14644 = load i16, i16* %16
%14645 = sext i16 %14644 to i32
%14646 = sub nsw i32 25, %14645
br label %14647
14647: ; preds = %14643, %14642
%14648 = phi i32 [ 0, %14642 ], [ %14646, %14643 ]
%14649 = trunc i32 %14648 to i16
store i16 %14649, i16* %12
%14650 = load i16, i16* %18
%14651 = sext i16 %14650 to i32
%14652 = icmp eq i32 %14651, 0
br i1 %14652, label %14653, label %14654
14653: ; preds = %14647
br label %14658
14654: ; preds = %14647
%14655 = load i16, i16* %18
%14656 = sext i16 %14655 to i32
%14657 = sub nsw i32 25, %14656
br label %14658
14658: ; preds = %14654, %14653
%14659 = phi i32 [ 0, %14653 ], [ %14657, %14654 ]
%14660 = trunc i32 %14659 to i16
store i16 %14660, i16* %16
%14661 = load i16, i16* %13
store i16 %14661, i16* %18
%14662 = load i16, i16* %17
%14663 = sext i16 %14662 to i32
%14664 = icmp eq i32 %14663, 0
br i1 %14664, label %14665, label %14666
14665: ; preds = %14658
br label %14670
14666: ; preds = %14658
%14667 = load i16, i16* %17
%14668 = sext i16 %14667 to i32
%14669 = sub nsw i32 25, %14668
br label %14670
14670: ; preds = %14666, %14665
%14671 = phi i32 [ 0, %14665 ], [ %14669, %14666 ]
%14672 = trunc i32 %14671 to i16
store i16 %14672, i16* %13
%14673 = load i16, i16* %18
%14674 = sext i16 %14673 to i32
%14675 = icmp eq i32 %14674, 0
br i1 %14675, label %14676, label %14677
14676: ; preds = %14670
br label %14681
14677: ; preds = %14670
%14678 = load i16, i16* %18
%14679 = sext i16 %14678 to i32
%14680 = sub nsw i32 25, %14679
br label %14681
14681: ; preds = %14677, %14676
%14682 = phi i32 [ 0, %14676 ], [ %14680, %14677 ]
%14683 = trunc i32 %14682 to i16
store i16 %14683, i16* %17
%14684 = load i16, i16* %20
store i16 %14684, i16* %15
br label %14899
14685: ; preds = %14463
%14686 = load i16, i16* %10
store i16 %14686, i16* %18
%14687 = load i16, i16* %14
%14688 = sext i16 %14687 to i32
%14689 = icmp eq i32 %14688, 0
br i1 %14689, label %14690, label %14691
14690: ; preds = %14685
br label %14695
14691: ; preds = %14685
%14692 = load i16, i16* %14
%14693 = sext i16 %14692 to i32
%14694 = sub nsw i32 25, %14693
br label %14695
14695: ; preds = %14691, %14690
%14696 = phi i32 [ 0, %14690 ], [ %14694, %14691 ]
%14697 = trunc i32 %14696 to i16
store i16 %14697, i16* %10
%14698 = load i16, i16* %18
%14699 = sext i16 %14698 to i32
%14700 = icmp eq i32 %14699, 0
br i1 %14700, label %14701, label %14702
14701: ; preds = %14695
br label %14706
14702: ; preds = %14695
%14703 = load i16, i16* %18
%14704 = sext i16 %14703 to i32
%14705 = sub nsw i32 25, %14704
br label %14706
14706: ; preds = %14702, %14701
%14707 = phi i32 [ 0, %14701 ], [ %14705, %14702 ]
%14708 = trunc i32 %14707 to i16
store i16 %14708, i16* %14
%14709 = load i16, i16* %11
store i16 %14709, i16* %18
%14710 = load i16, i16* %15
%14711 = sext i16 %14710 to i32
%14712 = icmp eq i32 %14711, 0
br i1 %14712, label %14713, label %14714
14713: ; preds = %14706
br label %14718
14714: ; preds = %14706
%14715 = load i16, i16* %15
%14716 = sext i16 %14715 to i32
%14717 = sub nsw i32 25, %14716
br label %14718
14718: ; preds = %14714, %14713
%14719 = phi i32 [ 0, %14713 ], [ %14717, %14714 ]
%14720 = trunc i32 %14719 to i16
store i16 %14720, i16* %11
%14721 = load i16, i16* %18
%14722 = sext i16 %14721 to i32
%14723 = icmp eq i32 %14722, 0
br i1 %14723, label %14724, label %14725
14724: ; preds = %14718
br label %14729
14725: ; preds = %14718
%14726 = load i16, i16* %18
%14727 = sext i16 %14726 to i32
%14728 = sub nsw i32 25, %14727
br label %14729
14729: ; preds = %14725, %14724
%14730 = phi i32 [ 0, %14724 ], [ %14728, %14725 ]
%14731 = trunc i32 %14730 to i16
store i16 %14731, i16* %15
%14732 = load i16, i16* %12
store i16 %14732, i16* %18
%14733 = load i16, i16* %16
%14734 = sext i16 %14733 to i32
%14735 = icmp eq i32 %14734, 0
br i1 %14735, label %14736, label %14737
14736: ; preds = %14729
br label %14741
14737: ; preds = %14729
%14738 = load i16, i16* %16
%14739 = sext i16 %14738 to i32
%14740 = sub nsw i32 25, %14739
br label %14741
14741: ; preds = %14737, %14736
%14742 = phi i32 [ 0, %14736 ], [ %14740, %14737 ]
%14743 = trunc i32 %14742 to i16
store i16 %14743, i16* %12
%14744 = load i16, i16* %18
%14745 = sext i16 %14744 to i32
%14746 = icmp eq i32 %14745, 0
br i1 %14746, label %14747, label %14748
14747: ; preds = %14741
br label %14752
14748: ; preds = %14741
%14749 = load i16, i16* %18
%14750 = sext i16 %14749 to i32
%14751 = sub nsw i32 25, %14750
br label %14752
14752: ; preds = %14748, %14747
%14753 = phi i32 [ 0, %14747 ], [ %14751, %14748 ]
%14754 = trunc i32 %14753 to i16
store i16 %14754, i16* %16
%14755 = load i16, i16* %13
store i16 %14755, i16* %18
%14756 = load i16, i16* %17
%14757 = sext i16 %14756 to i32
%14758 = icmp eq i32 %14757, 0
br i1 %14758, label %14759, label %14760
14759: ; preds = %14752
br label %14764
14760: ; preds = %14752
%14761 = load i16, i16* %17
%14762 = sext i16 %14761 to i32
%14763 = sub nsw i32 25, %14762
br label %14764
14764: ; preds = %14760, %14759
%14765 = phi i32 [ 0, %14759 ], [ %14763, %14760 ]
%14766 = trunc i32 %14765 to i16
store i16 %14766, i16* %13
%14767 = load i16, i16* %18
%14768 = sext i16 %14767 to i32
%14769 = icmp eq i32 %14768, 0
br i1 %14769, label %14770, label %14771
14770: ; preds = %14764
br label %14775
14771: ; preds = %14764
%14772 = load i16, i16* %18
%14773 = sext i16 %14772 to i32
%14774 = sub nsw i32 25, %14773
br label %14775
14775: ; preds = %14771, %14770
%14776 = phi i32 [ 0, %14770 ], [ %14774, %14771 ]
%14777 = trunc i32 %14776 to i16
store i16 %14777, i16* %17
%14778 = load i16, i16* %10
%14779 = sext i16 %14778 to i32
%14780 = load i16, i16* %11
%14781 = sext i16 %14780 to i32
%14782 = load i16, i16* %12
%14783 = sext i16 %14782 to i32
%14784 = load i16, i16* %13
%14785 = sext i16 %14784 to i32
%14786 = load i16, i16* %14
%14787 = sext i16 %14786 to i32
%14788 = load i16, i16* %15
%14789 = sext i16 %14788 to i32
%14790 = load i16, i16* %16
%14791 = sext i16 %14790 to i32
%14792 = load i16, i16* %17
%14793 = sext i16 %14792 to i32
%14794 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %14779, i32 %14781, i32 %14783, i32 %14785, i32 %14787, i32 %14789, i32 %14791, i32 %14793)
%14795 = trunc i32 %14794 to i16
store i16 %14795, i16* %18
%14796 = load i16, i16* %18
%14797 = sext i16 %14796 to i32
%14798 = icmp eq i32 %14797, -1
br i1 %14798, label %14799, label %14800
14799: ; preds = %14775
store i16 -1, i16* %9
br label %19404
14800: ; preds = %14775
%14801 = load i16, i16* %18
%14802 = sext i16 %14801 to i32
%14803 = icmp sle i32 0, %14802
br i1 %14803, label %14804, label %14806
14804: ; preds = %14800
%14805 = load i16, i16* %22
store i16 %14805, i16* %21
br label %14806
14806: ; preds = %14804, %14800
%14807 = load i16, i16* %10
store i16 %14807, i16* %18
%14808 = load i16, i16* %14
%14809 = sext i16 %14808 to i32
%14810 = icmp eq i32 %14809, 0
br i1 %14810, label %14811, label %14812
14811: ; preds = %14806
br label %14816
14812: ; preds = %14806
%14813 = load i16, i16* %14
%14814 = sext i16 %14813 to i32
%14815 = sub nsw i32 25, %14814
br label %14816
14816: ; preds = %14812, %14811
%14817 = phi i32 [ 0, %14811 ], [ %14815, %14812 ]
%14818 = trunc i32 %14817 to i16
store i16 %14818, i16* %10
%14819 = load i16, i16* %18
%14820 = sext i16 %14819 to i32
%14821 = icmp eq i32 %14820, 0
br i1 %14821, label %14822, label %14823
14822: ; preds = %14816
br label %14827
14823: ; preds = %14816
%14824 = load i16, i16* %18
%14825 = sext i16 %14824 to i32
%14826 = sub nsw i32 25, %14825
br label %14827
14827: ; preds = %14823, %14822
%14828 = phi i32 [ 0, %14822 ], [ %14826, %14823 ]
%14829 = trunc i32 %14828 to i16
store i16 %14829, i16* %14
%14830 = load i16, i16* %11
store i16 %14830, i16* %18
%14831 = load i16, i16* %15
%14832 = sext i16 %14831 to i32
%14833 = icmp eq i32 %14832, 0
br i1 %14833, label %14834, label %14835
14834: ; preds = %14827
br label %14839
14835: ; preds = %14827
%14836 = load i16, i16* %15
%14837 = sext i16 %14836 to i32
%14838 = sub nsw i32 25, %14837
br label %14839
14839: ; preds = %14835, %14834
%14840 = phi i32 [ 0, %14834 ], [ %14838, %14835 ]
%14841 = trunc i32 %14840 to i16
store i16 %14841, i16* %11
%14842 = load i16, i16* %18
%14843 = sext i16 %14842 to i32
%14844 = icmp eq i32 %14843, 0
br i1 %14844, label %14845, label %14846
14845: ; preds = %14839
br label %14850
14846: ; preds = %14839
%14847 = load i16, i16* %18
%14848 = sext i16 %14847 to i32
%14849 = sub nsw i32 25, %14848
br label %14850
14850: ; preds = %14846, %14845
%14851 = phi i32 [ 0, %14845 ], [ %14849, %14846 ]
%14852 = trunc i32 %14851 to i16
store i16 %14852, i16* %15
%14853 = load i16, i16* %12
store i16 %14853, i16* %18
%14854 = load i16, i16* %16
%14855 = sext i16 %14854 to i32
%14856 = icmp eq i32 %14855, 0
br i1 %14856, label %14857, label %14858
14857: ; preds = %14850
br label %14862
14858: ; preds = %14850
%14859 = load i16, i16* %16
%14860 = sext i16 %14859 to i32
%14861 = sub nsw i32 25, %14860
br label %14862
14862: ; preds = %14858, %14857
%14863 = phi i32 [ 0, %14857 ], [ %14861, %14858 ]
%14864 = trunc i32 %14863 to i16
store i16 %14864, i16* %12
%14865 = load i16, i16* %18
%14866 = sext i16 %14865 to i32
%14867 = icmp eq i32 %14866, 0
br i1 %14867, label %14868, label %14869
14868: ; preds = %14862
br label %14873
14869: ; preds = %14862
%14870 = load i16, i16* %18
%14871 = sext i16 %14870 to i32
%14872 = sub nsw i32 25, %14871
br label %14873
14873: ; preds = %14869, %14868
%14874 = phi i32 [ 0, %14868 ], [ %14872, %14869 ]
%14875 = trunc i32 %14874 to i16
store i16 %14875, i16* %16
%14876 = load i16, i16* %13
store i16 %14876, i16* %18
%14877 = load i16, i16* %17
%14878 = sext i16 %14877 to i32
%14879 = icmp eq i32 %14878, 0
br i1 %14879, label %14880, label %14881
14880: ; preds = %14873
br label %14885
14881: ; preds = %14873
%14882 = load i16, i16* %17
%14883 = sext i16 %14882 to i32
%14884 = sub nsw i32 25, %14883
br label %14885
14885: ; preds = %14881, %14880
%14886 = phi i32 [ 0, %14880 ], [ %14884, %14881 ]
%14887 = trunc i32 %14886 to i16
store i16 %14887, i16* %13
%14888 = load i16, i16* %18
%14889 = sext i16 %14888 to i32
%14890 = icmp eq i32 %14889, 0
br i1 %14890, label %14891, label %14892
14891: ; preds = %14885
br label %14896
14892: ; preds = %14885
%14893 = load i16, i16* %18
%14894 = sext i16 %14893 to i32
%14895 = sub nsw i32 25, %14894
br label %14896
14896: ; preds = %14892, %14891
%14897 = phi i32 [ 0, %14891 ], [ %14895, %14892 ]
%14898 = trunc i32 %14897 to i16
store i16 %14898, i16* %17
br label %14899
14899: ; preds = %14896, %14681
%14900 = load i16, i16* %19
store i16 %14900, i16* %12
br label %14901
14901: ; preds = %14899, %14457, %14451, %14445, %14439, %14433, %14422
br label %14902
14902: ; preds = %14901, %14417, %14413
br label %19376
14903: ; preds = %14409
%14904 = load i16, i16* %22
%14905 = sext i16 %14904 to i32
%14906 = icmp eq i32 %14905, 23
br i1 %14906, label %14907, label %15401
14907: ; preds = %14903
%14908 = load i16, i16* %12
%14909 = sext i16 %14908 to i32
%14910 = icmp ne i32 %14909, 0
br i1 %14910, label %14911, label %15400
14911: ; preds = %14907
%14912 = load i16, i16* %12
%14913 = sext i16 %14912 to i32
%14914 = icmp slt i32 %14913, 21
br i1 %14914, label %14915, label %15400
14915: ; preds = %14911
%14916 = load i16, i16* %12
%14917 = sext i16 %14916 to i32
%14918 = srem i32 %14917, 4
%14919 = icmp ne i32 %14918, 1
br i1 %14919, label %14920, label %15400
14920: ; preds = %14915
%14921 = load i16, i16* %12
store i16 %14921, i16* %19
%14922 = load i16, i16* %19
%14923 = sext i16 %14922 to i32
%14924 = add nsw i32 %14923, 3
%14925 = trunc i32 %14924 to i16
store i16 %14925, i16* %20
%14926 = load i16, i16* %20
%14927 = sext i16 %14926 to i32
%14928 = load i16, i16* %10
%14929 = sext i16 %14928 to i32
%14930 = icmp ne i32 %14927, %14929
br i1 %14930, label %14931, label %15399
14931: ; preds = %14920
%14932 = load i16, i16* %20
%14933 = sext i16 %14932 to i32
%14934 = load i16, i16* %11
%14935 = sext i16 %14934 to i32
%14936 = icmp ne i32 %14933, %14935
br i1 %14936, label %14937, label %15399
14937: ; preds = %14931
%14938 = load i16, i16* %20
%14939 = sext i16 %14938 to i32
%14940 = load i16, i16* %13
%14941 = sext i16 %14940 to i32
%14942 = icmp ne i32 %14939, %14941
br i1 %14942, label %14943, label %15399
14943: ; preds = %14937
%14944 = load i16, i16* %20
%14945 = sext i16 %14944 to i32
%14946 = load i16, i16* %14
%14947 = sext i16 %14946 to i32
%14948 = icmp ne i32 %14945, %14947
br i1 %14948, label %14949, label %15399
14949: ; preds = %14943
%14950 = load i16, i16* %20
%14951 = sext i16 %14950 to i32
%14952 = load i16, i16* %16
%14953 = sext i16 %14952 to i32
%14954 = icmp ne i32 %14951, %14953
br i1 %14954, label %14955, label %15399
14955: ; preds = %14949
%14956 = load i16, i16* %20
%14957 = sext i16 %14956 to i32
%14958 = load i16, i16* %17
%14959 = sext i16 %14958 to i32
%14960 = icmp ne i32 %14957, %14959
br i1 %14960, label %14961, label %15399
14961: ; preds = %14955
%14962 = load i16, i16* %20
store i16 %14962, i16* %12
%14963 = load i16, i16* %15
%14964 = sext i16 %14963 to i32
%14965 = load i16, i16* %20
%14966 = sext i16 %14965 to i32
%14967 = icmp eq i32 %14964, %14966
br i1 %14967, label %14968, label %15183
14968: ; preds = %14961
store i16 0, i16* %15
%14969 = load i16, i16* %10
store i16 %14969, i16* %18
%14970 = load i16, i16* %14
%14971 = sext i16 %14970 to i32
%14972 = icmp eq i32 %14971, 0
br i1 %14972, label %14973, label %14974
14973: ; preds = %14968
br label %14978
14974: ; preds = %14968
%14975 = load i16, i16* %14
%14976 = sext i16 %14975 to i32
%14977 = sub nsw i32 25, %14976
br label %14978
14978: ; preds = %14974, %14973
%14979 = phi i32 [ 0, %14973 ], [ %14977, %14974 ]
%14980 = trunc i32 %14979 to i16
store i16 %14980, i16* %10
%14981 = load i16, i16* %18
%14982 = sext i16 %14981 to i32
%14983 = icmp eq i32 %14982, 0
br i1 %14983, label %14984, label %14985
14984: ; preds = %14978
br label %14989
14985: ; preds = %14978
%14986 = load i16, i16* %18
%14987 = sext i16 %14986 to i32
%14988 = sub nsw i32 25, %14987
br label %14989
14989: ; preds = %14985, %14984
%14990 = phi i32 [ 0, %14984 ], [ %14988, %14985 ]
%14991 = trunc i32 %14990 to i16
store i16 %14991, i16* %14
%14992 = load i16, i16* %11
store i16 %14992, i16* %18
%14993 = load i16, i16* %15
%14994 = sext i16 %14993 to i32
%14995 = icmp eq i32 %14994, 0
br i1 %14995, label %14996, label %14997
14996: ; preds = %14989
br label %15001
14997: ; preds = %14989
%14998 = load i16, i16* %15
%14999 = sext i16 %14998 to i32
%15000 = sub nsw i32 25, %14999
br label %15001
15001: ; preds = %14997, %14996
%15002 = phi i32 [ 0, %14996 ], [ %15000, %14997 ]
%15003 = trunc i32 %15002 to i16
store i16 %15003, i16* %11
%15004 = load i16, i16* %18
%15005 = sext i16 %15004 to i32
%15006 = icmp eq i32 %15005, 0
br i1 %15006, label %15007, label %15008
15007: ; preds = %15001
br label %15012
15008: ; preds = %15001
%15009 = load i16, i16* %18
%15010 = sext i16 %15009 to i32
%15011 = sub nsw i32 25, %15010
br label %15012
15012: ; preds = %15008, %15007
%15013 = phi i32 [ 0, %15007 ], [ %15011, %15008 ]
%15014 = trunc i32 %15013 to i16
store i16 %15014, i16* %15
%15015 = load i16, i16* %12
store i16 %15015, i16* %18
%15016 = load i16, i16* %16
%15017 = sext i16 %15016 to i32
%15018 = icmp eq i32 %15017, 0
br i1 %15018, label %15019, label %15020
15019: ; preds = %15012
br label %15024
15020: ; preds = %15012
%15021 = load i16, i16* %16
%15022 = sext i16 %15021 to i32
%15023 = sub nsw i32 25, %15022
br label %15024
15024: ; preds = %15020, %15019
%15025 = phi i32 [ 0, %15019 ], [ %15023, %15020 ]
%15026 = trunc i32 %15025 to i16
store i16 %15026, i16* %12
%15027 = load i16, i16* %18
%15028 = sext i16 %15027 to i32
%15029 = icmp eq i32 %15028, 0
br i1 %15029, label %15030, label %15031
15030: ; preds = %15024
br label %15035
15031: ; preds = %15024
%15032 = load i16, i16* %18
%15033 = sext i16 %15032 to i32
%15034 = sub nsw i32 25, %15033
br label %15035
15035: ; preds = %15031, %15030
%15036 = phi i32 [ 0, %15030 ], [ %15034, %15031 ]
%15037 = trunc i32 %15036 to i16
store i16 %15037, i16* %16
%15038 = load i16, i16* %13
store i16 %15038, i16* %18
%15039 = load i16, i16* %17
%15040 = sext i16 %15039 to i32
%15041 = icmp eq i32 %15040, 0
br i1 %15041, label %15042, label %15043
15042: ; preds = %15035
br label %15047
15043: ; preds = %15035
%15044 = load i16, i16* %17
%15045 = sext i16 %15044 to i32
%15046 = sub nsw i32 25, %15045
br label %15047
15047: ; preds = %15043, %15042
%15048 = phi i32 [ 0, %15042 ], [ %15046, %15043 ]
%15049 = trunc i32 %15048 to i16
store i16 %15049, i16* %13
%15050 = load i16, i16* %18
%15051 = sext i16 %15050 to i32
%15052 = icmp eq i32 %15051, 0
br i1 %15052, label %15053, label %15054
15053: ; preds = %15047
br label %15058
15054: ; preds = %15047
%15055 = load i16, i16* %18
%15056 = sext i16 %15055 to i32
%15057 = sub nsw i32 25, %15056
br label %15058
15058: ; preds = %15054, %15053
%15059 = phi i32 [ 0, %15053 ], [ %15057, %15054 ]
%15060 = trunc i32 %15059 to i16
store i16 %15060, i16* %17
%15061 = load i16, i16* %10
%15062 = sext i16 %15061 to i32
%15063 = load i16, i16* %11
%15064 = sext i16 %15063 to i32
%15065 = load i16, i16* %12
%15066 = sext i16 %15065 to i32
%15067 = load i16, i16* %13
%15068 = sext i16 %15067 to i32
%15069 = load i16, i16* %14
%15070 = sext i16 %15069 to i32
%15071 = load i16, i16* %15
%15072 = sext i16 %15071 to i32
%15073 = load i16, i16* %16
%15074 = sext i16 %15073 to i32
%15075 = load i16, i16* %17
%15076 = sext i16 %15075 to i32
%15077 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15062, i32 %15064, i32 %15066, i32 %15068, i32 %15070, i32 %15072, i32 %15074, i32 %15076)
%15078 = trunc i32 %15077 to i16
store i16 %15078, i16* %18
%15079 = load i16, i16* %18
%15080 = sext i16 %15079 to i32
%15081 = icmp eq i32 %15080, -1
br i1 %15081, label %15082, label %15083
15082: ; preds = %15058
store i16 -1, i16* %9
br label %19404
15083: ; preds = %15058
%15084 = load i16, i16* %18
%15085 = sext i16 %15084 to i32
%15086 = icmp sle i32 0, %15085
br i1 %15086, label %15087, label %15089
15087: ; preds = %15083
%15088 = load i16, i16* %22
store i16 %15088, i16* %21
br label %15089
15089: ; preds = %15087, %15083
%15090 = load i16, i16* %10
store i16 %15090, i16* %18
%15091 = load i16, i16* %14
%15092 = sext i16 %15091 to i32
%15093 = icmp eq i32 %15092, 0
br i1 %15093, label %15094, label %15095
15094: ; preds = %15089
br label %15099
15095: ; preds = %15089
%15096 = load i16, i16* %14
%15097 = sext i16 %15096 to i32
%15098 = sub nsw i32 25, %15097
br label %15099
15099: ; preds = %15095, %15094
%15100 = phi i32 [ 0, %15094 ], [ %15098, %15095 ]
%15101 = trunc i32 %15100 to i16
store i16 %15101, i16* %10
%15102 = load i16, i16* %18
%15103 = sext i16 %15102 to i32
%15104 = icmp eq i32 %15103, 0
br i1 %15104, label %15105, label %15106
15105: ; preds = %15099
br label %15110
15106: ; preds = %15099
%15107 = load i16, i16* %18
%15108 = sext i16 %15107 to i32
%15109 = sub nsw i32 25, %15108
br label %15110
15110: ; preds = %15106, %15105
%15111 = phi i32 [ 0, %15105 ], [ %15109, %15106 ]
%15112 = trunc i32 %15111 to i16
store i16 %15112, i16* %14
%15113 = load i16, i16* %11
store i16 %15113, i16* %18
%15114 = load i16, i16* %15
%15115 = sext i16 %15114 to i32
%15116 = icmp eq i32 %15115, 0
br i1 %15116, label %15117, label %15118
15117: ; preds = %15110
br label %15122
15118: ; preds = %15110
%15119 = load i16, i16* %15
%15120 = sext i16 %15119 to i32
%15121 = sub nsw i32 25, %15120
br label %15122
15122: ; preds = %15118, %15117
%15123 = phi i32 [ 0, %15117 ], [ %15121, %15118 ]
%15124 = trunc i32 %15123 to i16
store i16 %15124, i16* %11
%15125 = load i16, i16* %18
%15126 = sext i16 %15125 to i32
%15127 = icmp eq i32 %15126, 0
br i1 %15127, label %15128, label %15129
15128: ; preds = %15122
br label %15133
15129: ; preds = %15122
%15130 = load i16, i16* %18
%15131 = sext i16 %15130 to i32
%15132 = sub nsw i32 25, %15131
br label %15133
15133: ; preds = %15129, %15128
%15134 = phi i32 [ 0, %15128 ], [ %15132, %15129 ]
%15135 = trunc i32 %15134 to i16
store i16 %15135, i16* %15
%15136 = load i16, i16* %12
store i16 %15136, i16* %18
%15137 = load i16, i16* %16
%15138 = sext i16 %15137 to i32
%15139 = icmp eq i32 %15138, 0
br i1 %15139, label %15140, label %15141
15140: ; preds = %15133
br label %15145
15141: ; preds = %15133
%15142 = load i16, i16* %16
%15143 = sext i16 %15142 to i32
%15144 = sub nsw i32 25, %15143
br label %15145
15145: ; preds = %15141, %15140
%15146 = phi i32 [ 0, %15140 ], [ %15144, %15141 ]
%15147 = trunc i32 %15146 to i16
store i16 %15147, i16* %12
%15148 = load i16, i16* %18
%15149 = sext i16 %15148 to i32
%15150 = icmp eq i32 %15149, 0
br i1 %15150, label %15151, label %15152
15151: ; preds = %15145
br label %15156
15152: ; preds = %15145
%15153 = load i16, i16* %18
%15154 = sext i16 %15153 to i32
%15155 = sub nsw i32 25, %15154
br label %15156
15156: ; preds = %15152, %15151
%15157 = phi i32 [ 0, %15151 ], [ %15155, %15152 ]
%15158 = trunc i32 %15157 to i16
store i16 %15158, i16* %16
%15159 = load i16, i16* %13
store i16 %15159, i16* %18
%15160 = load i16, i16* %17
%15161 = sext i16 %15160 to i32
%15162 = icmp eq i32 %15161, 0
br i1 %15162, label %15163, label %15164
15163: ; preds = %15156
br label %15168
15164: ; preds = %15156
%15165 = load i16, i16* %17
%15166 = sext i16 %15165 to i32
%15167 = sub nsw i32 25, %15166
br label %15168
15168: ; preds = %15164, %15163
%15169 = phi i32 [ 0, %15163 ], [ %15167, %15164 ]
%15170 = trunc i32 %15169 to i16
store i16 %15170, i16* %13
%15171 = load i16, i16* %18
%15172 = sext i16 %15171 to i32
%15173 = icmp eq i32 %15172, 0
br i1 %15173, label %15174, label %15175
15174: ; preds = %15168
br label %15179
15175: ; preds = %15168
%15176 = load i16, i16* %18
%15177 = sext i16 %15176 to i32
%15178 = sub nsw i32 25, %15177
br label %15179
15179: ; preds = %15175, %15174
%15180 = phi i32 [ 0, %15174 ], [ %15178, %15175 ]
%15181 = trunc i32 %15180 to i16
store i16 %15181, i16* %17
%15182 = load i16, i16* %20
store i16 %15182, i16* %15
br label %15397
15183: ; preds = %14961
%15184 = load i16, i16* %10
store i16 %15184, i16* %18
%15185 = load i16, i16* %14
%15186 = sext i16 %15185 to i32
%15187 = icmp eq i32 %15186, 0
br i1 %15187, label %15188, label %15189
15188: ; preds = %15183
br label %15193
15189: ; preds = %15183
%15190 = load i16, i16* %14
%15191 = sext i16 %15190 to i32
%15192 = sub nsw i32 25, %15191
br label %15193
15193: ; preds = %15189, %15188
%15194 = phi i32 [ 0, %15188 ], [ %15192, %15189 ]
%15195 = trunc i32 %15194 to i16
store i16 %15195, i16* %10
%15196 = load i16, i16* %18
%15197 = sext i16 %15196 to i32
%15198 = icmp eq i32 %15197, 0
br i1 %15198, label %15199, label %15200
15199: ; preds = %15193
br label %15204
15200: ; preds = %15193
%15201 = load i16, i16* %18
%15202 = sext i16 %15201 to i32
%15203 = sub nsw i32 25, %15202
br label %15204
15204: ; preds = %15200, %15199
%15205 = phi i32 [ 0, %15199 ], [ %15203, %15200 ]
%15206 = trunc i32 %15205 to i16
store i16 %15206, i16* %14
%15207 = load i16, i16* %11
store i16 %15207, i16* %18
%15208 = load i16, i16* %15
%15209 = sext i16 %15208 to i32
%15210 = icmp eq i32 %15209, 0
br i1 %15210, label %15211, label %15212
15211: ; preds = %15204
br label %15216
15212: ; preds = %15204
%15213 = load i16, i16* %15
%15214 = sext i16 %15213 to i32
%15215 = sub nsw i32 25, %15214
br label %15216
15216: ; preds = %15212, %15211
%15217 = phi i32 [ 0, %15211 ], [ %15215, %15212 ]
%15218 = trunc i32 %15217 to i16
store i16 %15218, i16* %11
%15219 = load i16, i16* %18
%15220 = sext i16 %15219 to i32
%15221 = icmp eq i32 %15220, 0
br i1 %15221, label %15222, label %15223
15222: ; preds = %15216
br label %15227
15223: ; preds = %15216
%15224 = load i16, i16* %18
%15225 = sext i16 %15224 to i32
%15226 = sub nsw i32 25, %15225
br label %15227
15227: ; preds = %15223, %15222
%15228 = phi i32 [ 0, %15222 ], [ %15226, %15223 ]
%15229 = trunc i32 %15228 to i16
store i16 %15229, i16* %15
%15230 = load i16, i16* %12
store i16 %15230, i16* %18
%15231 = load i16, i16* %16
%15232 = sext i16 %15231 to i32
%15233 = icmp eq i32 %15232, 0
br i1 %15233, label %15234, label %15235
15234: ; preds = %15227
br label %15239
15235: ; preds = %15227
%15236 = load i16, i16* %16
%15237 = sext i16 %15236 to i32
%15238 = sub nsw i32 25, %15237
br label %15239
15239: ; preds = %15235, %15234
%15240 = phi i32 [ 0, %15234 ], [ %15238, %15235 ]
%15241 = trunc i32 %15240 to i16
store i16 %15241, i16* %12
%15242 = load i16, i16* %18
%15243 = sext i16 %15242 to i32
%15244 = icmp eq i32 %15243, 0
br i1 %15244, label %15245, label %15246
15245: ; preds = %15239
br label %15250
15246: ; preds = %15239
%15247 = load i16, i16* %18
%15248 = sext i16 %15247 to i32
%15249 = sub nsw i32 25, %15248
br label %15250
15250: ; preds = %15246, %15245
%15251 = phi i32 [ 0, %15245 ], [ %15249, %15246 ]
%15252 = trunc i32 %15251 to i16
store i16 %15252, i16* %16
%15253 = load i16, i16* %13
store i16 %15253, i16* %18
%15254 = load i16, i16* %17
%15255 = sext i16 %15254 to i32
%15256 = icmp eq i32 %15255, 0
br i1 %15256, label %15257, label %15258
15257: ; preds = %15250
br label %15262
15258: ; preds = %15250
%15259 = load i16, i16* %17
%15260 = sext i16 %15259 to i32
%15261 = sub nsw i32 25, %15260
br label %15262
15262: ; preds = %15258, %15257
%15263 = phi i32 [ 0, %15257 ], [ %15261, %15258 ]
%15264 = trunc i32 %15263 to i16
store i16 %15264, i16* %13
%15265 = load i16, i16* %18
%15266 = sext i16 %15265 to i32
%15267 = icmp eq i32 %15266, 0
br i1 %15267, label %15268, label %15269
15268: ; preds = %15262
br label %15273
15269: ; preds = %15262
%15270 = load i16, i16* %18
%15271 = sext i16 %15270 to i32
%15272 = sub nsw i32 25, %15271
br label %15273
15273: ; preds = %15269, %15268
%15274 = phi i32 [ 0, %15268 ], [ %15272, %15269 ]
%15275 = trunc i32 %15274 to i16
store i16 %15275, i16* %17
%15276 = load i16, i16* %10
%15277 = sext i16 %15276 to i32
%15278 = load i16, i16* %11
%15279 = sext i16 %15278 to i32
%15280 = load i16, i16* %12
%15281 = sext i16 %15280 to i32
%15282 = load i16, i16* %13
%15283 = sext i16 %15282 to i32
%15284 = load i16, i16* %14
%15285 = sext i16 %15284 to i32
%15286 = load i16, i16* %15
%15287 = sext i16 %15286 to i32
%15288 = load i16, i16* %16
%15289 = sext i16 %15288 to i32
%15290 = load i16, i16* %17
%15291 = sext i16 %15290 to i32
%15292 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15277, i32 %15279, i32 %15281, i32 %15283, i32 %15285, i32 %15287, i32 %15289, i32 %15291)
%15293 = trunc i32 %15292 to i16
store i16 %15293, i16* %18
%15294 = load i16, i16* %18
%15295 = sext i16 %15294 to i32
%15296 = icmp eq i32 %15295, -1
br i1 %15296, label %15297, label %15298
15297: ; preds = %15273
store i16 -1, i16* %9
br label %19404
15298: ; preds = %15273
%15299 = load i16, i16* %18
%15300 = sext i16 %15299 to i32
%15301 = icmp sle i32 0, %15300
br i1 %15301, label %15302, label %15304
15302: ; preds = %15298
%15303 = load i16, i16* %22
store i16 %15303, i16* %21
br label %15304
15304: ; preds = %15302, %15298
%15305 = load i16, i16* %10
store i16 %15305, i16* %18
%15306 = load i16, i16* %14
%15307 = sext i16 %15306 to i32
%15308 = icmp eq i32 %15307, 0
br i1 %15308, label %15309, label %15310
15309: ; preds = %15304
br label %15314
15310: ; preds = %15304
%15311 = load i16, i16* %14
%15312 = sext i16 %15311 to i32
%15313 = sub nsw i32 25, %15312
br label %15314
15314: ; preds = %15310, %15309
%15315 = phi i32 [ 0, %15309 ], [ %15313, %15310 ]
%15316 = trunc i32 %15315 to i16
store i16 %15316, i16* %10
%15317 = load i16, i16* %18
%15318 = sext i16 %15317 to i32
%15319 = icmp eq i32 %15318, 0
br i1 %15319, label %15320, label %15321
15320: ; preds = %15314
br label %15325
15321: ; preds = %15314
%15322 = load i16, i16* %18
%15323 = sext i16 %15322 to i32
%15324 = sub nsw i32 25, %15323
br label %15325
15325: ; preds = %15321, %15320
%15326 = phi i32 [ 0, %15320 ], [ %15324, %15321 ]
%15327 = trunc i32 %15326 to i16
store i16 %15327, i16* %14
%15328 = load i16, i16* %11
store i16 %15328, i16* %18
%15329 = load i16, i16* %15
%15330 = sext i16 %15329 to i32
%15331 = icmp eq i32 %15330, 0
br i1 %15331, label %15332, label %15333
15332: ; preds = %15325
br label %15337
15333: ; preds = %15325
%15334 = load i16, i16* %15
%15335 = sext i16 %15334 to i32
%15336 = sub nsw i32 25, %15335
br label %15337
15337: ; preds = %15333, %15332
%15338 = phi i32 [ 0, %15332 ], [ %15336, %15333 ]
%15339 = trunc i32 %15338 to i16
store i16 %15339, i16* %11
%15340 = load i16, i16* %18
%15341 = sext i16 %15340 to i32
%15342 = icmp eq i32 %15341, 0
br i1 %15342, label %15343, label %15344
15343: ; preds = %15337
br label %15348
15344: ; preds = %15337
%15345 = load i16, i16* %18
%15346 = sext i16 %15345 to i32
%15347 = sub nsw i32 25, %15346
br label %15348
15348: ; preds = %15344, %15343
%15349 = phi i32 [ 0, %15343 ], [ %15347, %15344 ]
%15350 = trunc i32 %15349 to i16
store i16 %15350, i16* %15
%15351 = load i16, i16* %12
store i16 %15351, i16* %18
%15352 = load i16, i16* %16
%15353 = sext i16 %15352 to i32
%15354 = icmp eq i32 %15353, 0
br i1 %15354, label %15355, label %15356
15355: ; preds = %15348
br label %15360
15356: ; preds = %15348
%15357 = load i16, i16* %16
%15358 = sext i16 %15357 to i32
%15359 = sub nsw i32 25, %15358
br label %15360
15360: ; preds = %15356, %15355
%15361 = phi i32 [ 0, %15355 ], [ %15359, %15356 ]
%15362 = trunc i32 %15361 to i16
store i16 %15362, i16* %12
%15363 = load i16, i16* %18
%15364 = sext i16 %15363 to i32
%15365 = icmp eq i32 %15364, 0
br i1 %15365, label %15366, label %15367
15366: ; preds = %15360
br label %15371
15367: ; preds = %15360
%15368 = load i16, i16* %18
%15369 = sext i16 %15368 to i32
%15370 = sub nsw i32 25, %15369
br label %15371
15371: ; preds = %15367, %15366
%15372 = phi i32 [ 0, %15366 ], [ %15370, %15367 ]
%15373 = trunc i32 %15372 to i16
store i16 %15373, i16* %16
%15374 = load i16, i16* %13
store i16 %15374, i16* %18
%15375 = load i16, i16* %17
%15376 = sext i16 %15375 to i32
%15377 = icmp eq i32 %15376, 0
br i1 %15377, label %15378, label %15379
15378: ; preds = %15371
br label %15383
15379: ; preds = %15371
%15380 = load i16, i16* %17
%15381 = sext i16 %15380 to i32
%15382 = sub nsw i32 25, %15381
br label %15383
15383: ; preds = %15379, %15378
%15384 = phi i32 [ 0, %15378 ], [ %15382, %15379 ]
%15385 = trunc i32 %15384 to i16
store i16 %15385, i16* %13
%15386 = load i16, i16* %18
%15387 = sext i16 %15386 to i32
%15388 = icmp eq i32 %15387, 0
br i1 %15388, label %15389, label %15390
15389: ; preds = %15383
br label %15394
15390: ; preds = %15383
%15391 = load i16, i16* %18
%15392 = sext i16 %15391 to i32
%15393 = sub nsw i32 25, %15392
br label %15394
15394: ; preds = %15390, %15389
%15395 = phi i32 [ 0, %15389 ], [ %15393, %15390 ]
%15396 = trunc i32 %15395 to i16
store i16 %15396, i16* %17
br label %15397
15397: ; preds = %15394, %15179
%15398 = load i16, i16* %19
store i16 %15398, i16* %12
br label %15399
15399: ; preds = %15397, %14955, %14949, %14943, %14937, %14931, %14920
br label %15400
15400: ; preds = %15399, %14915, %14911, %14907
br label %19375
15401: ; preds = %14903
%15402 = load i16, i16* %22
%15403 = sext i16 %15402 to i32
%15404 = icmp eq i32 %15403, 24
br i1 %15404, label %15405, label %15894
15405: ; preds = %15401
%15406 = load i16, i16* %13
%15407 = sext i16 %15406 to i32
%15408 = icmp ne i32 %15407, 0
br i1 %15408, label %15409, label %15893
15409: ; preds = %15405
%15410 = load i16, i16* %13
%15411 = sext i16 %15410 to i32
%15412 = icmp slt i32 %15411, 21
br i1 %15412, label %15413, label %15893
15413: ; preds = %15409
%15414 = load i16, i16* %13
store i16 %15414, i16* %19
%15415 = load i16, i16* %19
%15416 = sext i16 %15415 to i32
%15417 = add nsw i32 %15416, 4
%15418 = trunc i32 %15417 to i16
store i16 %15418, i16* %20
%15419 = load i16, i16* %20
%15420 = sext i16 %15419 to i32
%15421 = load i16, i16* %10
%15422 = sext i16 %15421 to i32
%15423 = icmp ne i32 %15420, %15422
br i1 %15423, label %15424, label %15892
15424: ; preds = %15413
%15425 = load i16, i16* %20
%15426 = sext i16 %15425 to i32
%15427 = load i16, i16* %11
%15428 = sext i16 %15427 to i32
%15429 = icmp ne i32 %15426, %15428
br i1 %15429, label %15430, label %15892
15430: ; preds = %15424
%15431 = load i16, i16* %20
%15432 = sext i16 %15431 to i32
%15433 = load i16, i16* %12
%15434 = sext i16 %15433 to i32
%15435 = icmp ne i32 %15432, %15434
br i1 %15435, label %15436, label %15892
15436: ; preds = %15430
%15437 = load i16, i16* %20
%15438 = sext i16 %15437 to i32
%15439 = load i16, i16* %14
%15440 = sext i16 %15439 to i32
%15441 = icmp ne i32 %15438, %15440
br i1 %15441, label %15442, label %15892
15442: ; preds = %15436
%15443 = load i16, i16* %20
%15444 = sext i16 %15443 to i32
%15445 = load i16, i16* %15
%15446 = sext i16 %15445 to i32
%15447 = icmp ne i32 %15444, %15446
br i1 %15447, label %15448, label %15892
15448: ; preds = %15442
%15449 = load i16, i16* %20
%15450 = sext i16 %15449 to i32
%15451 = load i16, i16* %17
%15452 = sext i16 %15451 to i32
%15453 = icmp ne i32 %15450, %15452
br i1 %15453, label %15454, label %15892
15454: ; preds = %15448
%15455 = load i16, i16* %20
store i16 %15455, i16* %13
%15456 = load i16, i16* %16
%15457 = sext i16 %15456 to i32
%15458 = load i16, i16* %20
%15459 = sext i16 %15458 to i32
%15460 = icmp eq i32 %15457, %15459
br i1 %15460, label %15461, label %15676
15461: ; preds = %15454
store i16 0, i16* %16
%15462 = load i16, i16* %10
store i16 %15462, i16* %18
%15463 = load i16, i16* %14
%15464 = sext i16 %15463 to i32
%15465 = icmp eq i32 %15464, 0
br i1 %15465, label %15466, label %15467
15466: ; preds = %15461
br label %15471
15467: ; preds = %15461
%15468 = load i16, i16* %14
%15469 = sext i16 %15468 to i32
%15470 = sub nsw i32 25, %15469
br label %15471
15471: ; preds = %15467, %15466
%15472 = phi i32 [ 0, %15466 ], [ %15470, %15467 ]
%15473 = trunc i32 %15472 to i16
store i16 %15473, i16* %10
%15474 = load i16, i16* %18
%15475 = sext i16 %15474 to i32
%15476 = icmp eq i32 %15475, 0
br i1 %15476, label %15477, label %15478
15477: ; preds = %15471
br label %15482
15478: ; preds = %15471
%15479 = load i16, i16* %18
%15480 = sext i16 %15479 to i32
%15481 = sub nsw i32 25, %15480
br label %15482
15482: ; preds = %15478, %15477
%15483 = phi i32 [ 0, %15477 ], [ %15481, %15478 ]
%15484 = trunc i32 %15483 to i16
store i16 %15484, i16* %14
%15485 = load i16, i16* %11
store i16 %15485, i16* %18
%15486 = load i16, i16* %15
%15487 = sext i16 %15486 to i32
%15488 = icmp eq i32 %15487, 0
br i1 %15488, label %15489, label %15490
15489: ; preds = %15482
br label %15494
15490: ; preds = %15482
%15491 = load i16, i16* %15
%15492 = sext i16 %15491 to i32
%15493 = sub nsw i32 25, %15492
br label %15494
15494: ; preds = %15490, %15489
%15495 = phi i32 [ 0, %15489 ], [ %15493, %15490 ]
%15496 = trunc i32 %15495 to i16
store i16 %15496, i16* %11
%15497 = load i16, i16* %18
%15498 = sext i16 %15497 to i32
%15499 = icmp eq i32 %15498, 0
br i1 %15499, label %15500, label %15501
15500: ; preds = %15494
br label %15505
15501: ; preds = %15494
%15502 = load i16, i16* %18
%15503 = sext i16 %15502 to i32
%15504 = sub nsw i32 25, %15503
br label %15505
15505: ; preds = %15501, %15500
%15506 = phi i32 [ 0, %15500 ], [ %15504, %15501 ]
%15507 = trunc i32 %15506 to i16
store i16 %15507, i16* %15
%15508 = load i16, i16* %12
store i16 %15508, i16* %18
%15509 = load i16, i16* %16
%15510 = sext i16 %15509 to i32
%15511 = icmp eq i32 %15510, 0
br i1 %15511, label %15512, label %15513
15512: ; preds = %15505
br label %15517
15513: ; preds = %15505
%15514 = load i16, i16* %16
%15515 = sext i16 %15514 to i32
%15516 = sub nsw i32 25, %15515
br label %15517
15517: ; preds = %15513, %15512
%15518 = phi i32 [ 0, %15512 ], [ %15516, %15513 ]
%15519 = trunc i32 %15518 to i16
store i16 %15519, i16* %12
%15520 = load i16, i16* %18
%15521 = sext i16 %15520 to i32
%15522 = icmp eq i32 %15521, 0
br i1 %15522, label %15523, label %15524
15523: ; preds = %15517
br label %15528
15524: ; preds = %15517
%15525 = load i16, i16* %18
%15526 = sext i16 %15525 to i32
%15527 = sub nsw i32 25, %15526
br label %15528
15528: ; preds = %15524, %15523
%15529 = phi i32 [ 0, %15523 ], [ %15527, %15524 ]
%15530 = trunc i32 %15529 to i16
store i16 %15530, i16* %16
%15531 = load i16, i16* %13
store i16 %15531, i16* %18
%15532 = load i16, i16* %17
%15533 = sext i16 %15532 to i32
%15534 = icmp eq i32 %15533, 0
br i1 %15534, label %15535, label %15536
15535: ; preds = %15528
br label %15540
15536: ; preds = %15528
%15537 = load i16, i16* %17
%15538 = sext i16 %15537 to i32
%15539 = sub nsw i32 25, %15538
br label %15540
15540: ; preds = %15536, %15535
%15541 = phi i32 [ 0, %15535 ], [ %15539, %15536 ]
%15542 = trunc i32 %15541 to i16
store i16 %15542, i16* %13
%15543 = load i16, i16* %18
%15544 = sext i16 %15543 to i32
%15545 = icmp eq i32 %15544, 0
br i1 %15545, label %15546, label %15547
15546: ; preds = %15540
br label %15551
15547: ; preds = %15540
%15548 = load i16, i16* %18
%15549 = sext i16 %15548 to i32
%15550 = sub nsw i32 25, %15549
br label %15551
15551: ; preds = %15547, %15546
%15552 = phi i32 [ 0, %15546 ], [ %15550, %15547 ]
%15553 = trunc i32 %15552 to i16
store i16 %15553, i16* %17
%15554 = load i16, i16* %10
%15555 = sext i16 %15554 to i32
%15556 = load i16, i16* %11
%15557 = sext i16 %15556 to i32
%15558 = load i16, i16* %12
%15559 = sext i16 %15558 to i32
%15560 = load i16, i16* %13
%15561 = sext i16 %15560 to i32
%15562 = load i16, i16* %14
%15563 = sext i16 %15562 to i32
%15564 = load i16, i16* %15
%15565 = sext i16 %15564 to i32
%15566 = load i16, i16* %16
%15567 = sext i16 %15566 to i32
%15568 = load i16, i16* %17
%15569 = sext i16 %15568 to i32
%15570 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15555, i32 %15557, i32 %15559, i32 %15561, i32 %15563, i32 %15565, i32 %15567, i32 %15569)
%15571 = trunc i32 %15570 to i16
store i16 %15571, i16* %18
%15572 = load i16, i16* %18
%15573 = sext i16 %15572 to i32
%15574 = icmp eq i32 %15573, -1
br i1 %15574, label %15575, label %15576
15575: ; preds = %15551
store i16 -1, i16* %9
br label %19404
15576: ; preds = %15551
%15577 = load i16, i16* %18
%15578 = sext i16 %15577 to i32
%15579 = icmp sle i32 0, %15578
br i1 %15579, label %15580, label %15582
15580: ; preds = %15576
%15581 = load i16, i16* %22
store i16 %15581, i16* %21
br label %15582
15582: ; preds = %15580, %15576
%15583 = load i16, i16* %10
store i16 %15583, i16* %18
%15584 = load i16, i16* %14
%15585 = sext i16 %15584 to i32
%15586 = icmp eq i32 %15585, 0
br i1 %15586, label %15587, label %15588
15587: ; preds = %15582
br label %15592
15588: ; preds = %15582
%15589 = load i16, i16* %14
%15590 = sext i16 %15589 to i32
%15591 = sub nsw i32 25, %15590
br label %15592
15592: ; preds = %15588, %15587
%15593 = phi i32 [ 0, %15587 ], [ %15591, %15588 ]
%15594 = trunc i32 %15593 to i16
store i16 %15594, i16* %10
%15595 = load i16, i16* %18
%15596 = sext i16 %15595 to i32
%15597 = icmp eq i32 %15596, 0
br i1 %15597, label %15598, label %15599
15598: ; preds = %15592
br label %15603
15599: ; preds = %15592
%15600 = load i16, i16* %18
%15601 = sext i16 %15600 to i32
%15602 = sub nsw i32 25, %15601
br label %15603
15603: ; preds = %15599, %15598
%15604 = phi i32 [ 0, %15598 ], [ %15602, %15599 ]
%15605 = trunc i32 %15604 to i16
store i16 %15605, i16* %14
%15606 = load i16, i16* %11
store i16 %15606, i16* %18
%15607 = load i16, i16* %15
%15608 = sext i16 %15607 to i32
%15609 = icmp eq i32 %15608, 0
br i1 %15609, label %15610, label %15611
15610: ; preds = %15603
br label %15615
15611: ; preds = %15603
%15612 = load i16, i16* %15
%15613 = sext i16 %15612 to i32
%15614 = sub nsw i32 25, %15613
br label %15615
15615: ; preds = %15611, %15610
%15616 = phi i32 [ 0, %15610 ], [ %15614, %15611 ]
%15617 = trunc i32 %15616 to i16
store i16 %15617, i16* %11
%15618 = load i16, i16* %18
%15619 = sext i16 %15618 to i32
%15620 = icmp eq i32 %15619, 0
br i1 %15620, label %15621, label %15622
15621: ; preds = %15615
br label %15626
15622: ; preds = %15615
%15623 = load i16, i16* %18
%15624 = sext i16 %15623 to i32
%15625 = sub nsw i32 25, %15624
br label %15626
15626: ; preds = %15622, %15621
%15627 = phi i32 [ 0, %15621 ], [ %15625, %15622 ]
%15628 = trunc i32 %15627 to i16
store i16 %15628, i16* %15
%15629 = load i16, i16* %12
store i16 %15629, i16* %18
%15630 = load i16, i16* %16
%15631 = sext i16 %15630 to i32
%15632 = icmp eq i32 %15631, 0
br i1 %15632, label %15633, label %15634
15633: ; preds = %15626
br label %15638
15634: ; preds = %15626
%15635 = load i16, i16* %16
%15636 = sext i16 %15635 to i32
%15637 = sub nsw i32 25, %15636
br label %15638
15638: ; preds = %15634, %15633
%15639 = phi i32 [ 0, %15633 ], [ %15637, %15634 ]
%15640 = trunc i32 %15639 to i16
store i16 %15640, i16* %12
%15641 = load i16, i16* %18
%15642 = sext i16 %15641 to i32
%15643 = icmp eq i32 %15642, 0
br i1 %15643, label %15644, label %15645
15644: ; preds = %15638
br label %15649
15645: ; preds = %15638
%15646 = load i16, i16* %18
%15647 = sext i16 %15646 to i32
%15648 = sub nsw i32 25, %15647
br label %15649
15649: ; preds = %15645, %15644
%15650 = phi i32 [ 0, %15644 ], [ %15648, %15645 ]
%15651 = trunc i32 %15650 to i16
store i16 %15651, i16* %16
%15652 = load i16, i16* %13
store i16 %15652, i16* %18
%15653 = load i16, i16* %17
%15654 = sext i16 %15653 to i32
%15655 = icmp eq i32 %15654, 0
br i1 %15655, label %15656, label %15657
15656: ; preds = %15649
br label %15661
15657: ; preds = %15649
%15658 = load i16, i16* %17
%15659 = sext i16 %15658 to i32
%15660 = sub nsw i32 25, %15659
br label %15661
15661: ; preds = %15657, %15656
%15662 = phi i32 [ 0, %15656 ], [ %15660, %15657 ]
%15663 = trunc i32 %15662 to i16
store i16 %15663, i16* %13
%15664 = load i16, i16* %18
%15665 = sext i16 %15664 to i32
%15666 = icmp eq i32 %15665, 0
br i1 %15666, label %15667, label %15668
15667: ; preds = %15661
br label %15672
15668: ; preds = %15661
%15669 = load i16, i16* %18
%15670 = sext i16 %15669 to i32
%15671 = sub nsw i32 25, %15670
br label %15672
15672: ; preds = %15668, %15667
%15673 = phi i32 [ 0, %15667 ], [ %15671, %15668 ]
%15674 = trunc i32 %15673 to i16
store i16 %15674, i16* %17
%15675 = load i16, i16* %20
store i16 %15675, i16* %16
br label %15890
15676: ; preds = %15454
%15677 = load i16, i16* %10
store i16 %15677, i16* %18
%15678 = load i16, i16* %14
%15679 = sext i16 %15678 to i32
%15680 = icmp eq i32 %15679, 0
br i1 %15680, label %15681, label %15682
15681: ; preds = %15676
br label %15686
15682: ; preds = %15676
%15683 = load i16, i16* %14
%15684 = sext i16 %15683 to i32
%15685 = sub nsw i32 25, %15684
br label %15686
15686: ; preds = %15682, %15681
%15687 = phi i32 [ 0, %15681 ], [ %15685, %15682 ]
%15688 = trunc i32 %15687 to i16
store i16 %15688, i16* %10
%15689 = load i16, i16* %18
%15690 = sext i16 %15689 to i32
%15691 = icmp eq i32 %15690, 0
br i1 %15691, label %15692, label %15693
15692: ; preds = %15686
br label %15697
15693: ; preds = %15686
%15694 = load i16, i16* %18
%15695 = sext i16 %15694 to i32
%15696 = sub nsw i32 25, %15695
br label %15697
15697: ; preds = %15693, %15692
%15698 = phi i32 [ 0, %15692 ], [ %15696, %15693 ]
%15699 = trunc i32 %15698 to i16
store i16 %15699, i16* %14
%15700 = load i16, i16* %11
store i16 %15700, i16* %18
%15701 = load i16, i16* %15
%15702 = sext i16 %15701 to i32
%15703 = icmp eq i32 %15702, 0
br i1 %15703, label %15704, label %15705
15704: ; preds = %15697
br label %15709
15705: ; preds = %15697
%15706 = load i16, i16* %15
%15707 = sext i16 %15706 to i32
%15708 = sub nsw i32 25, %15707
br label %15709
15709: ; preds = %15705, %15704
%15710 = phi i32 [ 0, %15704 ], [ %15708, %15705 ]
%15711 = trunc i32 %15710 to i16
store i16 %15711, i16* %11
%15712 = load i16, i16* %18
%15713 = sext i16 %15712 to i32
%15714 = icmp eq i32 %15713, 0
br i1 %15714, label %15715, label %15716
15715: ; preds = %15709
br label %15720
15716: ; preds = %15709
%15717 = load i16, i16* %18
%15718 = sext i16 %15717 to i32
%15719 = sub nsw i32 25, %15718
br label %15720
15720: ; preds = %15716, %15715
%15721 = phi i32 [ 0, %15715 ], [ %15719, %15716 ]
%15722 = trunc i32 %15721 to i16
store i16 %15722, i16* %15
%15723 = load i16, i16* %12
store i16 %15723, i16* %18
%15724 = load i16, i16* %16
%15725 = sext i16 %15724 to i32
%15726 = icmp eq i32 %15725, 0
br i1 %15726, label %15727, label %15728
15727: ; preds = %15720
br label %15732
15728: ; preds = %15720
%15729 = load i16, i16* %16
%15730 = sext i16 %15729 to i32
%15731 = sub nsw i32 25, %15730
br label %15732
15732: ; preds = %15728, %15727
%15733 = phi i32 [ 0, %15727 ], [ %15731, %15728 ]
%15734 = trunc i32 %15733 to i16
store i16 %15734, i16* %12
%15735 = load i16, i16* %18
%15736 = sext i16 %15735 to i32
%15737 = icmp eq i32 %15736, 0
br i1 %15737, label %15738, label %15739
15738: ; preds = %15732
br label %15743
15739: ; preds = %15732
%15740 = load i16, i16* %18
%15741 = sext i16 %15740 to i32
%15742 = sub nsw i32 25, %15741
br label %15743
15743: ; preds = %15739, %15738
%15744 = phi i32 [ 0, %15738 ], [ %15742, %15739 ]
%15745 = trunc i32 %15744 to i16
store i16 %15745, i16* %16
%15746 = load i16, i16* %13
store i16 %15746, i16* %18
%15747 = load i16, i16* %17
%15748 = sext i16 %15747 to i32
%15749 = icmp eq i32 %15748, 0
br i1 %15749, label %15750, label %15751
15750: ; preds = %15743
br label %15755
15751: ; preds = %15743
%15752 = load i16, i16* %17
%15753 = sext i16 %15752 to i32
%15754 = sub nsw i32 25, %15753
br label %15755
15755: ; preds = %15751, %15750
%15756 = phi i32 [ 0, %15750 ], [ %15754, %15751 ]
%15757 = trunc i32 %15756 to i16
store i16 %15757, i16* %13
%15758 = load i16, i16* %18
%15759 = sext i16 %15758 to i32
%15760 = icmp eq i32 %15759, 0
br i1 %15760, label %15761, label %15762
15761: ; preds = %15755
br label %15766
15762: ; preds = %15755
%15763 = load i16, i16* %18
%15764 = sext i16 %15763 to i32
%15765 = sub nsw i32 25, %15764
br label %15766
15766: ; preds = %15762, %15761
%15767 = phi i32 [ 0, %15761 ], [ %15765, %15762 ]
%15768 = trunc i32 %15767 to i16
store i16 %15768, i16* %17
%15769 = load i16, i16* %10
%15770 = sext i16 %15769 to i32
%15771 = load i16, i16* %11
%15772 = sext i16 %15771 to i32
%15773 = load i16, i16* %12
%15774 = sext i16 %15773 to i32
%15775 = load i16, i16* %13
%15776 = sext i16 %15775 to i32
%15777 = load i16, i16* %14
%15778 = sext i16 %15777 to i32
%15779 = load i16, i16* %15
%15780 = sext i16 %15779 to i32
%15781 = load i16, i16* %16
%15782 = sext i16 %15781 to i32
%15783 = load i16, i16* %17
%15784 = sext i16 %15783 to i32
%15785 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %15770, i32 %15772, i32 %15774, i32 %15776, i32 %15778, i32 %15780, i32 %15782, i32 %15784)
%15786 = trunc i32 %15785 to i16
store i16 %15786, i16* %18
%15787 = load i16, i16* %18
%15788 = sext i16 %15787 to i32
%15789 = icmp eq i32 %15788, -1
br i1 %15789, label %15790, label %15791
15790: ; preds = %15766
store i16 -1, i16* %9
br label %19404
15791: ; preds = %15766
%15792 = load i16, i16* %18
%15793 = sext i16 %15792 to i32
%15794 = icmp sle i32 0, %15793
br i1 %15794, label %15795, label %15797
15795: ; preds = %15791
%15796 = load i16, i16* %22
store i16 %15796, i16* %21
br label %15797
15797: ; preds = %15795, %15791
%15798 = load i16, i16* %10
store i16 %15798, i16* %18
%15799 = load i16, i16* %14
%15800 = sext i16 %15799 to i32
%15801 = icmp eq i32 %15800, 0
br i1 %15801, label %15802, label %15803
15802: ; preds = %15797
br label %15807
15803: ; preds = %15797
%15804 = load i16, i16* %14
%15805 = sext i16 %15804 to i32
%15806 = sub nsw i32 25, %15805
br label %15807
15807: ; preds = %15803, %15802
%15808 = phi i32 [ 0, %15802 ], [ %15806, %15803 ]
%15809 = trunc i32 %15808 to i16
store i16 %15809, i16* %10
%15810 = load i16, i16* %18
%15811 = sext i16 %15810 to i32
%15812 = icmp eq i32 %15811, 0
br i1 %15812, label %15813, label %15814
15813: ; preds = %15807
br label %15818
15814: ; preds = %15807
%15815 = load i16, i16* %18
%15816 = sext i16 %15815 to i32
%15817 = sub nsw i32 25, %15816
br label %15818
15818: ; preds = %15814, %15813
%15819 = phi i32 [ 0, %15813 ], [ %15817, %15814 ]
%15820 = trunc i32 %15819 to i16
store i16 %15820, i16* %14
%15821 = load i16, i16* %11
store i16 %15821, i16* %18
%15822 = load i16, i16* %15
%15823 = sext i16 %15822 to i32
%15824 = icmp eq i32 %15823, 0
br i1 %15824, label %15825, label %15826
15825: ; preds = %15818
br label %15830
15826: ; preds = %15818
%15827 = load i16, i16* %15
%15828 = sext i16 %15827 to i32
%15829 = sub nsw i32 25, %15828
br label %15830
15830: ; preds = %15826, %15825
%15831 = phi i32 [ 0, %15825 ], [ %15829, %15826 ]
%15832 = trunc i32 %15831 to i16
store i16 %15832, i16* %11
%15833 = load i16, i16* %18
%15834 = sext i16 %15833 to i32
%15835 = icmp eq i32 %15834, 0
br i1 %15835, label %15836, label %15837
15836: ; preds = %15830
br label %15841
15837: ; preds = %15830
%15838 = load i16, i16* %18
%15839 = sext i16 %15838 to i32
%15840 = sub nsw i32 25, %15839
br label %15841
15841: ; preds = %15837, %15836
%15842 = phi i32 [ 0, %15836 ], [ %15840, %15837 ]
%15843 = trunc i32 %15842 to i16
store i16 %15843, i16* %15
%15844 = load i16, i16* %12
store i16 %15844, i16* %18
%15845 = load i16, i16* %16
%15846 = sext i16 %15845 to i32
%15847 = icmp eq i32 %15846, 0
br i1 %15847, label %15848, label %15849
15848: ; preds = %15841
br label %15853
15849: ; preds = %15841
%15850 = load i16, i16* %16
%15851 = sext i16 %15850 to i32
%15852 = sub nsw i32 25, %15851
br label %15853
15853: ; preds = %15849, %15848
%15854 = phi i32 [ 0, %15848 ], [ %15852, %15849 ]
%15855 = trunc i32 %15854 to i16
store i16 %15855, i16* %12
%15856 = load i16, i16* %18
%15857 = sext i16 %15856 to i32
%15858 = icmp eq i32 %15857, 0
br i1 %15858, label %15859, label %15860
15859: ; preds = %15853
br label %15864
15860: ; preds = %15853
%15861 = load i16, i16* %18
%15862 = sext i16 %15861 to i32
%15863 = sub nsw i32 25, %15862
br label %15864
15864: ; preds = %15860, %15859
%15865 = phi i32 [ 0, %15859 ], [ %15863, %15860 ]
%15866 = trunc i32 %15865 to i16
store i16 %15866, i16* %16
%15867 = load i16, i16* %13
store i16 %15867, i16* %18
%15868 = load i16, i16* %17
%15869 = sext i16 %15868 to i32
%15870 = icmp eq i32 %15869, 0
br i1 %15870, label %15871, label %15872
15871: ; preds = %15864
br label %15876
15872: ; preds = %15864
%15873 = load i16, i16* %17
%15874 = sext i16 %15873 to i32
%15875 = sub nsw i32 25, %15874
br label %15876
15876: ; preds = %15872, %15871
%15877 = phi i32 [ 0, %15871 ], [ %15875, %15872 ]
%15878 = trunc i32 %15877 to i16
store i16 %15878, i16* %13
%15879 = load i16, i16* %18
%15880 = sext i16 %15879 to i32
%15881 = icmp eq i32 %15880, 0
br i1 %15881, label %15882, label %15883
15882: ; preds = %15876
br label %15887
15883: ; preds = %15876
%15884 = load i16, i16* %18
%15885 = sext i16 %15884 to i32
%15886 = sub nsw i32 25, %15885
br label %15887
15887: ; preds = %15883, %15882
%15888 = phi i32 [ 0, %15882 ], [ %15886, %15883 ]
%15889 = trunc i32 %15888 to i16
store i16 %15889, i16* %17
br label %15890
15890: ; preds = %15887, %15672
%15891 = load i16, i16* %19
store i16 %15891, i16* %13
br label %15892
15892: ; preds = %15890, %15448, %15442, %15436, %15430, %15424, %15413
br label %15893
15893: ; preds = %15892, %15409, %15405
br label %19374
15894: ; preds = %15401
%15895 = load i16, i16* %22
%15896 = sext i16 %15895 to i32
%15897 = icmp eq i32 %15896, 25
br i1 %15897, label %15898, label %16392
15898: ; preds = %15894
%15899 = load i16, i16* %13
%15900 = sext i16 %15899 to i32
%15901 = icmp ne i32 %15900, 0
br i1 %15901, label %15902, label %16391
15902: ; preds = %15898
%15903 = load i16, i16* %13
%15904 = sext i16 %15903 to i32
%15905 = icmp slt i32 %15904, 21
br i1 %15905, label %15906, label %16391
15906: ; preds = %15902
%15907 = load i16, i16* %13
%15908 = sext i16 %15907 to i32
%15909 = srem i32 %15908, 4
%15910 = icmp ne i32 %15909, 0
br i1 %15910, label %15911, label %16391
15911: ; preds = %15906
%15912 = load i16, i16* %13
store i16 %15912, i16* %19
%15913 = load i16, i16* %19
%15914 = sext i16 %15913 to i32
%15915 = add nsw i32 %15914, 5
%15916 = trunc i32 %15915 to i16
store i16 %15916, i16* %20
%15917 = load i16, i16* %20
%15918 = sext i16 %15917 to i32
%15919 = load i16, i16* %10
%15920 = sext i16 %15919 to i32
%15921 = icmp ne i32 %15918, %15920
br i1 %15921, label %15922, label %16390
15922: ; preds = %15911
%15923 = load i16, i16* %20
%15924 = sext i16 %15923 to i32
%15925 = load i16, i16* %11
%15926 = sext i16 %15925 to i32
%15927 = icmp ne i32 %15924, %15926
br i1 %15927, label %15928, label %16390
15928: ; preds = %15922
%15929 = load i16, i16* %20
%15930 = sext i16 %15929 to i32
%15931 = load i16, i16* %12
%15932 = sext i16 %15931 to i32
%15933 = icmp ne i32 %15930, %15932
br i1 %15933, label %15934, label %16390
15934: ; preds = %15928
%15935 = load i16, i16* %20
%15936 = sext i16 %15935 to i32
%15937 = load i16, i16* %14
%15938 = sext i16 %15937 to i32
%15939 = icmp ne i32 %15936, %15938
br i1 %15939, label %15940, label %16390
15940: ; preds = %15934
%15941 = load i16, i16* %20
%15942 = sext i16 %15941 to i32
%15943 = load i16, i16* %15
%15944 = sext i16 %15943 to i32
%15945 = icmp ne i32 %15942, %15944
br i1 %15945, label %15946, label %16390
15946: ; preds = %15940
%15947 = load i16, i16* %20
%15948 = sext i16 %15947 to i32
%15949 = load i16, i16* %17
%15950 = sext i16 %15949 to i32
%15951 = icmp ne i32 %15948, %15950
br i1 %15951, label %15952, label %16390
15952: ; preds = %15946
%15953 = load i16, i16* %20
store i16 %15953, i16* %13
%15954 = load i16, i16* %16
%15955 = sext i16 %15954 to i32
%15956 = load i16, i16* %20
%15957 = sext i16 %15956 to i32
%15958 = icmp eq i32 %15955, %15957
br i1 %15958, label %15959, label %16174
15959: ; preds = %15952
store i16 0, i16* %16
%15960 = load i16, i16* %10
store i16 %15960, i16* %18
%15961 = load i16, i16* %14
%15962 = sext i16 %15961 to i32
%15963 = icmp eq i32 %15962, 0
br i1 %15963, label %15964, label %15965
15964: ; preds = %15959
br label %15969
15965: ; preds = %15959
%15966 = load i16, i16* %14
%15967 = sext i16 %15966 to i32
%15968 = sub nsw i32 25, %15967
br label %15969
15969: ; preds = %15965, %15964
%15970 = phi i32 [ 0, %15964 ], [ %15968, %15965 ]
%15971 = trunc i32 %15970 to i16
store i16 %15971, i16* %10
%15972 = load i16, i16* %18
%15973 = sext i16 %15972 to i32
%15974 = icmp eq i32 %15973, 0
br i1 %15974, label %15975, label %15976
15975: ; preds = %15969
br label %15980
15976: ; preds = %15969
%15977 = load i16, i16* %18
%15978 = sext i16 %15977 to i32
%15979 = sub nsw i32 25, %15978
br label %15980
15980: ; preds = %15976, %15975
%15981 = phi i32 [ 0, %15975 ], [ %15979, %15976 ]
%15982 = trunc i32 %15981 to i16
store i16 %15982, i16* %14
%15983 = load i16, i16* %11
store i16 %15983, i16* %18
%15984 = load i16, i16* %15
%15985 = sext i16 %15984 to i32
%15986 = icmp eq i32 %15985, 0
br i1 %15986, label %15987, label %15988
15987: ; preds = %15980
br label %15992
15988: ; preds = %15980
%15989 = load i16, i16* %15
%15990 = sext i16 %15989 to i32
%15991 = sub nsw i32 25, %15990
br label %15992
15992: ; preds = %15988, %15987
%15993 = phi i32 [ 0, %15987 ], [ %15991, %15988 ]
%15994 = trunc i32 %15993 to i16
store i16 %15994, i16* %11
%15995 = load i16, i16* %18
%15996 = sext i16 %15995 to i32
%15997 = icmp eq i32 %15996, 0
br i1 %15997, label %15998, label %15999
15998: ; preds = %15992
br label %16003
15999: ; preds = %15992
%16000 = load i16, i16* %18
%16001 = sext i16 %16000 to i32
%16002 = sub nsw i32 25, %16001
br label %16003
16003: ; preds = %15999, %15998
%16004 = phi i32 [ 0, %15998 ], [ %16002, %15999 ]
%16005 = trunc i32 %16004 to i16
store i16 %16005, i16* %15
%16006 = load i16, i16* %12
store i16 %16006, i16* %18
%16007 = load i16, i16* %16
%16008 = sext i16 %16007 to i32
%16009 = icmp eq i32 %16008, 0
br i1 %16009, label %16010, label %16011
16010: ; preds = %16003
br label %16015
16011: ; preds = %16003
%16012 = load i16, i16* %16
%16013 = sext i16 %16012 to i32
%16014 = sub nsw i32 25, %16013
br label %16015
16015: ; preds = %16011, %16010
%16016 = phi i32 [ 0, %16010 ], [ %16014, %16011 ]
%16017 = trunc i32 %16016 to i16
store i16 %16017, i16* %12
%16018 = load i16, i16* %18
%16019 = sext i16 %16018 to i32
%16020 = icmp eq i32 %16019, 0
br i1 %16020, label %16021, label %16022
16021: ; preds = %16015
br label %16026
16022: ; preds = %16015
%16023 = load i16, i16* %18
%16024 = sext i16 %16023 to i32
%16025 = sub nsw i32 25, %16024
br label %16026
16026: ; preds = %16022, %16021
%16027 = phi i32 [ 0, %16021 ], [ %16025, %16022 ]
%16028 = trunc i32 %16027 to i16
store i16 %16028, i16* %16
%16029 = load i16, i16* %13
store i16 %16029, i16* %18
%16030 = load i16, i16* %17
%16031 = sext i16 %16030 to i32
%16032 = icmp eq i32 %16031, 0
br i1 %16032, label %16033, label %16034
16033: ; preds = %16026
br label %16038
16034: ; preds = %16026
%16035 = load i16, i16* %17
%16036 = sext i16 %16035 to i32
%16037 = sub nsw i32 25, %16036
br label %16038
16038: ; preds = %16034, %16033
%16039 = phi i32 [ 0, %16033 ], [ %16037, %16034 ]
%16040 = trunc i32 %16039 to i16
store i16 %16040, i16* %13
%16041 = load i16, i16* %18
%16042 = sext i16 %16041 to i32
%16043 = icmp eq i32 %16042, 0
br i1 %16043, label %16044, label %16045
16044: ; preds = %16038
br label %16049
16045: ; preds = %16038
%16046 = load i16, i16* %18
%16047 = sext i16 %16046 to i32
%16048 = sub nsw i32 25, %16047
br label %16049
16049: ; preds = %16045, %16044
%16050 = phi i32 [ 0, %16044 ], [ %16048, %16045 ]
%16051 = trunc i32 %16050 to i16
store i16 %16051, i16* %17
%16052 = load i16, i16* %10
%16053 = sext i16 %16052 to i32
%16054 = load i16, i16* %11
%16055 = sext i16 %16054 to i32
%16056 = load i16, i16* %12
%16057 = sext i16 %16056 to i32
%16058 = load i16, i16* %13
%16059 = sext i16 %16058 to i32
%16060 = load i16, i16* %14
%16061 = sext i16 %16060 to i32
%16062 = load i16, i16* %15
%16063 = sext i16 %16062 to i32
%16064 = load i16, i16* %16
%16065 = sext i16 %16064 to i32
%16066 = load i16, i16* %17
%16067 = sext i16 %16066 to i32
%16068 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16053, i32 %16055, i32 %16057, i32 %16059, i32 %16061, i32 %16063, i32 %16065, i32 %16067)
%16069 = trunc i32 %16068 to i16
store i16 %16069, i16* %18
%16070 = load i16, i16* %18
%16071 = sext i16 %16070 to i32
%16072 = icmp eq i32 %16071, -1
br i1 %16072, label %16073, label %16074
16073: ; preds = %16049
store i16 -1, i16* %9
br label %19404
16074: ; preds = %16049
%16075 = load i16, i16* %18
%16076 = sext i16 %16075 to i32
%16077 = icmp sle i32 0, %16076
br i1 %16077, label %16078, label %16080
16078: ; preds = %16074
%16079 = load i16, i16* %22
store i16 %16079, i16* %21
br label %16080
16080: ; preds = %16078, %16074
%16081 = load i16, i16* %10
store i16 %16081, i16* %18
%16082 = load i16, i16* %14
%16083 = sext i16 %16082 to i32
%16084 = icmp eq i32 %16083, 0
br i1 %16084, label %16085, label %16086
16085: ; preds = %16080
br label %16090
16086: ; preds = %16080
%16087 = load i16, i16* %14
%16088 = sext i16 %16087 to i32
%16089 = sub nsw i32 25, %16088
br label %16090
16090: ; preds = %16086, %16085
%16091 = phi i32 [ 0, %16085 ], [ %16089, %16086 ]
%16092 = trunc i32 %16091 to i16
store i16 %16092, i16* %10
%16093 = load i16, i16* %18
%16094 = sext i16 %16093 to i32
%16095 = icmp eq i32 %16094, 0
br i1 %16095, label %16096, label %16097
16096: ; preds = %16090
br label %16101
16097: ; preds = %16090
%16098 = load i16, i16* %18
%16099 = sext i16 %16098 to i32
%16100 = sub nsw i32 25, %16099
br label %16101
16101: ; preds = %16097, %16096
%16102 = phi i32 [ 0, %16096 ], [ %16100, %16097 ]
%16103 = trunc i32 %16102 to i16
store i16 %16103, i16* %14
%16104 = load i16, i16* %11
store i16 %16104, i16* %18
%16105 = load i16, i16* %15
%16106 = sext i16 %16105 to i32
%16107 = icmp eq i32 %16106, 0
br i1 %16107, label %16108, label %16109
16108: ; preds = %16101
br label %16113
16109: ; preds = %16101
%16110 = load i16, i16* %15
%16111 = sext i16 %16110 to i32
%16112 = sub nsw i32 25, %16111
br label %16113
16113: ; preds = %16109, %16108
%16114 = phi i32 [ 0, %16108 ], [ %16112, %16109 ]
%16115 = trunc i32 %16114 to i16
store i16 %16115, i16* %11
%16116 = load i16, i16* %18
%16117 = sext i16 %16116 to i32
%16118 = icmp eq i32 %16117, 0
br i1 %16118, label %16119, label %16120
16119: ; preds = %16113
br label %16124
16120: ; preds = %16113
%16121 = load i16, i16* %18
%16122 = sext i16 %16121 to i32
%16123 = sub nsw i32 25, %16122
br label %16124
16124: ; preds = %16120, %16119
%16125 = phi i32 [ 0, %16119 ], [ %16123, %16120 ]
%16126 = trunc i32 %16125 to i16
store i16 %16126, i16* %15
%16127 = load i16, i16* %12
store i16 %16127, i16* %18
%16128 = load i16, i16* %16
%16129 = sext i16 %16128 to i32
%16130 = icmp eq i32 %16129, 0
br i1 %16130, label %16131, label %16132
16131: ; preds = %16124
br label %16136
16132: ; preds = %16124
%16133 = load i16, i16* %16
%16134 = sext i16 %16133 to i32
%16135 = sub nsw i32 25, %16134
br label %16136
16136: ; preds = %16132, %16131
%16137 = phi i32 [ 0, %16131 ], [ %16135, %16132 ]
%16138 = trunc i32 %16137 to i16
store i16 %16138, i16* %12
%16139 = load i16, i16* %18
%16140 = sext i16 %16139 to i32
%16141 = icmp eq i32 %16140, 0
br i1 %16141, label %16142, label %16143
16142: ; preds = %16136
br label %16147
16143: ; preds = %16136
%16144 = load i16, i16* %18
%16145 = sext i16 %16144 to i32
%16146 = sub nsw i32 25, %16145
br label %16147
16147: ; preds = %16143, %16142
%16148 = phi i32 [ 0, %16142 ], [ %16146, %16143 ]
%16149 = trunc i32 %16148 to i16
store i16 %16149, i16* %16
%16150 = load i16, i16* %13
store i16 %16150, i16* %18
%16151 = load i16, i16* %17
%16152 = sext i16 %16151 to i32
%16153 = icmp eq i32 %16152, 0
br i1 %16153, label %16154, label %16155
16154: ; preds = %16147
br label %16159
16155: ; preds = %16147
%16156 = load i16, i16* %17
%16157 = sext i16 %16156 to i32
%16158 = sub nsw i32 25, %16157
br label %16159
16159: ; preds = %16155, %16154
%16160 = phi i32 [ 0, %16154 ], [ %16158, %16155 ]
%16161 = trunc i32 %16160 to i16
store i16 %16161, i16* %13
%16162 = load i16, i16* %18
%16163 = sext i16 %16162 to i32
%16164 = icmp eq i32 %16163, 0
br i1 %16164, label %16165, label %16166
16165: ; preds = %16159
br label %16170
16166: ; preds = %16159
%16167 = load i16, i16* %18
%16168 = sext i16 %16167 to i32
%16169 = sub nsw i32 25, %16168
br label %16170
16170: ; preds = %16166, %16165
%16171 = phi i32 [ 0, %16165 ], [ %16169, %16166 ]
%16172 = trunc i32 %16171 to i16
store i16 %16172, i16* %17
%16173 = load i16, i16* %20
store i16 %16173, i16* %16
br label %16388
16174: ; preds = %15952
%16175 = load i16, i16* %10
store i16 %16175, i16* %18
%16176 = load i16, i16* %14
%16177 = sext i16 %16176 to i32
%16178 = icmp eq i32 %16177, 0
br i1 %16178, label %16179, label %16180
16179: ; preds = %16174
br label %16184
16180: ; preds = %16174
%16181 = load i16, i16* %14
%16182 = sext i16 %16181 to i32
%16183 = sub nsw i32 25, %16182
br label %16184
16184: ; preds = %16180, %16179
%16185 = phi i32 [ 0, %16179 ], [ %16183, %16180 ]
%16186 = trunc i32 %16185 to i16
store i16 %16186, i16* %10
%16187 = load i16, i16* %18
%16188 = sext i16 %16187 to i32
%16189 = icmp eq i32 %16188, 0
br i1 %16189, label %16190, label %16191
16190: ; preds = %16184
br label %16195
16191: ; preds = %16184
%16192 = load i16, i16* %18
%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* %14
%16198 = load i16, i16* %11
store i16 %16198, i16* %18
%16199 = load i16, i16* %15
%16200 = sext i16 %16199 to i32
%16201 = icmp eq i32 %16200, 0
br i1 %16201, label %16202, label %16203
16202: ; preds = %16195
br label %16207
16203: ; preds = %16195
%16204 = load i16, i16* %15
%16205 = sext i16 %16204 to i32
%16206 = sub nsw i32 25, %16205
br label %16207
16207: ; preds = %16203, %16202
%16208 = phi i32 [ 0, %16202 ], [ %16206, %16203 ]
%16209 = trunc i32 %16208 to i16
store i16 %16209, i16* %11
%16210 = load i16, i16* %18
%16211 = sext i16 %16210 to i32
%16212 = icmp eq i32 %16211, 0
br i1 %16212, label %16213, label %16214
16213: ; preds = %16207
br label %16218
16214: ; preds = %16207
%16215 = load i16, i16* %18
%16216 = sext i16 %16215 to i32
%16217 = sub nsw i32 25, %16216
br label %16218
16218: ; preds = %16214, %16213
%16219 = phi i32 [ 0, %16213 ], [ %16217, %16214 ]
%16220 = trunc i32 %16219 to i16
store i16 %16220, i16* %15
%16221 = load i16, i16* %12
store i16 %16221, i16* %18
%16222 = load i16, i16* %16
%16223 = sext i16 %16222 to i32
%16224 = icmp eq i32 %16223, 0
br i1 %16224, label %16225, label %16226
16225: ; preds = %16218
br label %16230
16226: ; preds = %16218
%16227 = load i16, i16* %16
%16228 = sext i16 %16227 to i32
%16229 = sub nsw i32 25, %16228
br label %16230
16230: ; preds = %16226, %16225
%16231 = phi i32 [ 0, %16225 ], [ %16229, %16226 ]
%16232 = trunc i32 %16231 to i16
store i16 %16232, i16* %12
%16233 = load i16, i16* %18
%16234 = sext i16 %16233 to i32
%16235 = icmp eq i32 %16234, 0
br i1 %16235, label %16236, label %16237
16236: ; preds = %16230
br label %16241
16237: ; preds = %16230
%16238 = load i16, i16* %18
%16239 = sext i16 %16238 to i32
%16240 = sub nsw i32 25, %16239
br label %16241
16241: ; preds = %16237, %16236
%16242 = phi i32 [ 0, %16236 ], [ %16240, %16237 ]
%16243 = trunc i32 %16242 to i16
store i16 %16243, i16* %16
%16244 = load i16, i16* %13
store i16 %16244, i16* %18
%16245 = load i16, i16* %17
%16246 = sext i16 %16245 to i32
%16247 = icmp eq i32 %16246, 0
br i1 %16247, label %16248, label %16249
16248: ; preds = %16241
br label %16253
16249: ; preds = %16241
%16250 = load i16, i16* %17
%16251 = sext i16 %16250 to i32
%16252 = sub nsw i32 25, %16251
br label %16253
16253: ; preds = %16249, %16248
%16254 = phi i32 [ 0, %16248 ], [ %16252, %16249 ]
%16255 = trunc i32 %16254 to i16
store i16 %16255, i16* %13
%16256 = load i16, i16* %18
%16257 = sext i16 %16256 to i32
%16258 = icmp eq i32 %16257, 0
br i1 %16258, label %16259, label %16260
16259: ; preds = %16253
br label %16264
16260: ; preds = %16253
%16261 = load i16, i16* %18
%16262 = sext i16 %16261 to i32
%16263 = sub nsw i32 25, %16262
br label %16264
16264: ; preds = %16260, %16259
%16265 = phi i32 [ 0, %16259 ], [ %16263, %16260 ]
%16266 = trunc i32 %16265 to i16
store i16 %16266, i16* %17
%16267 = load i16, i16* %10
%16268 = sext i16 %16267 to i32
%16269 = load i16, i16* %11
%16270 = sext i16 %16269 to i32
%16271 = load i16, i16* %12
%16272 = sext i16 %16271 to i32
%16273 = load i16, i16* %13
%16274 = sext i16 %16273 to i32
%16275 = load i16, i16* %14
%16276 = sext i16 %16275 to i32
%16277 = load i16, i16* %15
%16278 = sext i16 %16277 to i32
%16279 = load i16, i16* %16
%16280 = sext i16 %16279 to i32
%16281 = load i16, i16* %17
%16282 = sext i16 %16281 to i32
%16283 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16268, i32 %16270, i32 %16272, i32 %16274, i32 %16276, i32 %16278, i32 %16280, i32 %16282)
%16284 = trunc i32 %16283 to i16
store i16 %16284, i16* %18
%16285 = load i16, i16* %18
%16286 = sext i16 %16285 to i32
%16287 = icmp eq i32 %16286, -1
br i1 %16287, label %16288, label %16289
16288: ; preds = %16264
store i16 -1, i16* %9
br label %19404
16289: ; preds = %16264
%16290 = load i16, i16* %18
%16291 = sext i16 %16290 to i32
%16292 = icmp sle i32 0, %16291
br i1 %16292, label %16293, label %16295
16293: ; preds = %16289
%16294 = load i16, i16* %22
store i16 %16294, i16* %21
br label %16295
16295: ; preds = %16293, %16289
%16296 = load i16, i16* %10
store i16 %16296, i16* %18
%16297 = load i16, i16* %14
%16298 = sext i16 %16297 to i32
%16299 = icmp eq i32 %16298, 0
br i1 %16299, label %16300, label %16301
16300: ; preds = %16295
br label %16305
16301: ; preds = %16295
%16302 = load i16, i16* %14
%16303 = sext i16 %16302 to i32
%16304 = sub nsw i32 25, %16303
br label %16305
16305: ; preds = %16301, %16300
%16306 = phi i32 [ 0, %16300 ], [ %16304, %16301 ]
%16307 = trunc i32 %16306 to i16
store i16 %16307, i16* %10
%16308 = load i16, i16* %18
%16309 = sext i16 %16308 to i32
%16310 = icmp eq i32 %16309, 0
br i1 %16310, label %16311, label %16312
16311: ; preds = %16305
br label %16316
16312: ; preds = %16305
%16313 = load i16, i16* %18
%16314 = sext i16 %16313 to i32
%16315 = sub nsw i32 25, %16314
br label %16316
16316: ; preds = %16312, %16311
%16317 = phi i32 [ 0, %16311 ], [ %16315, %16312 ]
%16318 = trunc i32 %16317 to i16
store i16 %16318, i16* %14
%16319 = load i16, i16* %11
store i16 %16319, i16* %18
%16320 = load i16, i16* %15
%16321 = sext i16 %16320 to i32
%16322 = icmp eq i32 %16321, 0
br i1 %16322, label %16323, label %16324
16323: ; preds = %16316
br label %16328
16324: ; preds = %16316
%16325 = load i16, i16* %15
%16326 = sext i16 %16325 to i32
%16327 = sub nsw i32 25, %16326
br label %16328
16328: ; preds = %16324, %16323
%16329 = phi i32 [ 0, %16323 ], [ %16327, %16324 ]
%16330 = trunc i32 %16329 to i16
store i16 %16330, i16* %11
%16331 = load i16, i16* %18
%16332 = sext i16 %16331 to i32
%16333 = icmp eq i32 %16332, 0
br i1 %16333, label %16334, label %16335
16334: ; preds = %16328
br label %16339
16335: ; preds = %16328
%16336 = load i16, i16* %18
%16337 = sext i16 %16336 to i32
%16338 = sub nsw i32 25, %16337
br label %16339
16339: ; preds = %16335, %16334
%16340 = phi i32 [ 0, %16334 ], [ %16338, %16335 ]
%16341 = trunc i32 %16340 to i16
store i16 %16341, i16* %15
%16342 = load i16, i16* %12
store i16 %16342, i16* %18
%16343 = load i16, i16* %16
%16344 = sext i16 %16343 to i32
%16345 = icmp eq i32 %16344, 0
br i1 %16345, label %16346, label %16347
16346: ; preds = %16339
br label %16351
16347: ; preds = %16339
%16348 = load i16, i16* %16
%16349 = sext i16 %16348 to i32
%16350 = sub nsw i32 25, %16349
br label %16351
16351: ; preds = %16347, %16346
%16352 = phi i32 [ 0, %16346 ], [ %16350, %16347 ]
%16353 = trunc i32 %16352 to i16
store i16 %16353, i16* %12
%16354 = load i16, i16* %18
%16355 = sext i16 %16354 to i32
%16356 = icmp eq i32 %16355, 0
br i1 %16356, label %16357, label %16358
16357: ; preds = %16351
br label %16362
16358: ; preds = %16351
%16359 = load i16, i16* %18
%16360 = sext i16 %16359 to i32
%16361 = sub nsw i32 25, %16360
br label %16362
16362: ; preds = %16358, %16357
%16363 = phi i32 [ 0, %16357 ], [ %16361, %16358 ]
%16364 = trunc i32 %16363 to i16
store i16 %16364, i16* %16
%16365 = load i16, i16* %13
store i16 %16365, i16* %18
%16366 = load i16, i16* %17
%16367 = sext i16 %16366 to i32
%16368 = icmp eq i32 %16367, 0
br i1 %16368, label %16369, label %16370
16369: ; preds = %16362
br label %16374
16370: ; preds = %16362
%16371 = load i16, i16* %17
%16372 = sext i16 %16371 to i32
%16373 = sub nsw i32 25, %16372
br label %16374
16374: ; preds = %16370, %16369
%16375 = phi i32 [ 0, %16369 ], [ %16373, %16370 ]
%16376 = trunc i32 %16375 to i16
store i16 %16376, i16* %13
%16377 = load i16, i16* %18
%16378 = sext i16 %16377 to i32
%16379 = icmp eq i32 %16378, 0
br i1 %16379, label %16380, label %16381
16380: ; preds = %16374
br label %16385
16381: ; preds = %16374
%16382 = load i16, i16* %18
%16383 = sext i16 %16382 to i32
%16384 = sub nsw i32 25, %16383
br label %16385
16385: ; preds = %16381, %16380
%16386 = phi i32 [ 0, %16380 ], [ %16384, %16381 ]
%16387 = trunc i32 %16386 to i16
store i16 %16387, i16* %17
br label %16388
16388: ; preds = %16385, %16170
%16389 = load i16, i16* %19
store i16 %16389, i16* %13
br label %16390
16390: ; preds = %16388, %15946, %15940, %15934, %15928, %15922, %15911
br label %16391
16391: ; preds = %16390, %15906, %15902, %15898
br label %19373
16392: ; preds = %15894
%16393 = load i16, i16* %22
%16394 = sext i16 %16393 to i32
%16395 = icmp eq i32 %16394, 26
br i1 %16395, label %16396, label %16886
16396: ; preds = %16392
%16397 = load i16, i16* %13
%16398 = sext i16 %16397 to i32
%16399 = icmp ne i32 %16398, 0
br i1 %16399, label %16400, label %16885
16400: ; preds = %16396
%16401 = load i16, i16* %13
%16402 = sext i16 %16401 to i32
%16403 = srem i32 %16402, 4
%16404 = icmp ne i32 %16403, 0
br i1 %16404, label %16405, label %16885
16405: ; preds = %16400
%16406 = load i16, i16* %13
store i16 %16406, i16* %19
%16407 = load i16, i16* %19
%16408 = sext i16 %16407 to i32
%16409 = add nsw i32 %16408, 1
%16410 = trunc i32 %16409 to i16
store i16 %16410, i16* %20
%16411 = load i16, i16* %20
%16412 = sext i16 %16411 to i32
%16413 = load i16, i16* %10
%16414 = sext i16 %16413 to i32
%16415 = icmp ne i32 %16412, %16414
br i1 %16415, label %16416, label %16884
16416: ; preds = %16405
%16417 = load i16, i16* %20
%16418 = sext i16 %16417 to i32
%16419 = load i16, i16* %11
%16420 = sext i16 %16419 to i32
%16421 = icmp ne i32 %16418, %16420
br i1 %16421, label %16422, label %16884
16422: ; preds = %16416
%16423 = load i16, i16* %20
%16424 = sext i16 %16423 to i32
%16425 = load i16, i16* %12
%16426 = sext i16 %16425 to i32
%16427 = icmp ne i32 %16424, %16426
br i1 %16427, label %16428, label %16884
16428: ; preds = %16422
%16429 = load i16, i16* %20
%16430 = sext i16 %16429 to i32
%16431 = load i16, i16* %14
%16432 = sext i16 %16431 to i32
%16433 = icmp ne i32 %16430, %16432
br i1 %16433, label %16434, label %16884
16434: ; preds = %16428
%16435 = load i16, i16* %20
%16436 = sext i16 %16435 to i32
%16437 = load i16, i16* %15
%16438 = sext i16 %16437 to i32
%16439 = icmp ne i32 %16436, %16438
br i1 %16439, label %16440, label %16884
16440: ; preds = %16434
%16441 = load i16, i16* %20
%16442 = sext i16 %16441 to i32
%16443 = load i16, i16* %17
%16444 = sext i16 %16443 to i32
%16445 = icmp ne i32 %16442, %16444
br i1 %16445, label %16446, label %16884
16446: ; preds = %16440
%16447 = load i16, i16* %20
store i16 %16447, i16* %13
%16448 = load i16, i16* %16
%16449 = sext i16 %16448 to i32
%16450 = load i16, i16* %20
%16451 = sext i16 %16450 to i32
%16452 = icmp eq i32 %16449, %16451
br i1 %16452, label %16453, label %16668
16453: ; preds = %16446
store i16 0, i16* %16
%16454 = load i16, i16* %10
store i16 %16454, i16* %18
%16455 = load i16, i16* %14
%16456 = sext i16 %16455 to i32
%16457 = icmp eq i32 %16456, 0
br i1 %16457, label %16458, label %16459
16458: ; preds = %16453
br label %16463
16459: ; preds = %16453
%16460 = load i16, i16* %14
%16461 = sext i16 %16460 to i32
%16462 = sub nsw i32 25, %16461
br label %16463
16463: ; preds = %16459, %16458
%16464 = phi i32 [ 0, %16458 ], [ %16462, %16459 ]
%16465 = trunc i32 %16464 to i16
store i16 %16465, i16* %10
%16466 = load i16, i16* %18
%16467 = sext i16 %16466 to i32
%16468 = icmp eq i32 %16467, 0
br i1 %16468, label %16469, label %16470
16469: ; preds = %16463
br label %16474
16470: ; preds = %16463
%16471 = load i16, i16* %18
%16472 = sext i16 %16471 to i32
%16473 = sub nsw i32 25, %16472
br label %16474
16474: ; preds = %16470, %16469
%16475 = phi i32 [ 0, %16469 ], [ %16473, %16470 ]
%16476 = trunc i32 %16475 to i16
store i16 %16476, i16* %14
%16477 = load i16, i16* %11
store i16 %16477, i16* %18
%16478 = load i16, i16* %15
%16479 = sext i16 %16478 to i32
%16480 = icmp eq i32 %16479, 0
br i1 %16480, label %16481, label %16482
16481: ; preds = %16474
br label %16486
16482: ; preds = %16474
%16483 = load i16, i16* %15
%16484 = sext i16 %16483 to i32
%16485 = sub nsw i32 25, %16484
br label %16486
16486: ; preds = %16482, %16481
%16487 = phi i32 [ 0, %16481 ], [ %16485, %16482 ]
%16488 = trunc i32 %16487 to i16
store i16 %16488, i16* %11
%16489 = load i16, i16* %18
%16490 = sext i16 %16489 to i32
%16491 = icmp eq i32 %16490, 0
br i1 %16491, label %16492, label %16493
16492: ; preds = %16486
br label %16497
16493: ; preds = %16486
%16494 = load i16, i16* %18
%16495 = sext i16 %16494 to i32
%16496 = sub nsw i32 25, %16495
br label %16497
16497: ; preds = %16493, %16492
%16498 = phi i32 [ 0, %16492 ], [ %16496, %16493 ]
%16499 = trunc i32 %16498 to i16
store i16 %16499, i16* %15
%16500 = load i16, i16* %12
store i16 %16500, i16* %18
%16501 = load i16, i16* %16
%16502 = sext i16 %16501 to i32
%16503 = icmp eq i32 %16502, 0
br i1 %16503, label %16504, label %16505
16504: ; preds = %16497
br label %16509
16505: ; preds = %16497
%16506 = load i16, i16* %16
%16507 = sext i16 %16506 to i32
%16508 = sub nsw i32 25, %16507
br label %16509
16509: ; preds = %16505, %16504
%16510 = phi i32 [ 0, %16504 ], [ %16508, %16505 ]
%16511 = trunc i32 %16510 to i16
store i16 %16511, i16* %12
%16512 = load i16, i16* %18
%16513 = sext i16 %16512 to i32
%16514 = icmp eq i32 %16513, 0
br i1 %16514, label %16515, label %16516
16515: ; preds = %16509
br label %16520
16516: ; preds = %16509
%16517 = load i16, i16* %18
%16518 = sext i16 %16517 to i32
%16519 = sub nsw i32 25, %16518
br label %16520
16520: ; preds = %16516, %16515
%16521 = phi i32 [ 0, %16515 ], [ %16519, %16516 ]
%16522 = trunc i32 %16521 to i16
store i16 %16522, i16* %16
%16523 = load i16, i16* %13
store i16 %16523, i16* %18
%16524 = load i16, i16* %17
%16525 = sext i16 %16524 to i32
%16526 = icmp eq i32 %16525, 0
br i1 %16526, label %16527, label %16528
16527: ; preds = %16520
br label %16532
16528: ; preds = %16520
%16529 = load i16, i16* %17
%16530 = sext i16 %16529 to i32
%16531 = sub nsw i32 25, %16530
br label %16532
16532: ; preds = %16528, %16527
%16533 = phi i32 [ 0, %16527 ], [ %16531, %16528 ]
%16534 = trunc i32 %16533 to i16
store i16 %16534, i16* %13
%16535 = load i16, i16* %18
%16536 = sext i16 %16535 to i32
%16537 = icmp eq i32 %16536, 0
br i1 %16537, label %16538, label %16539
16538: ; preds = %16532
br label %16543
16539: ; preds = %16532
%16540 = load i16, i16* %18
%16541 = sext i16 %16540 to i32
%16542 = sub nsw i32 25, %16541
br label %16543
16543: ; preds = %16539, %16538
%16544 = phi i32 [ 0, %16538 ], [ %16542, %16539 ]
%16545 = trunc i32 %16544 to i16
store i16 %16545, i16* %17
%16546 = load i16, i16* %10
%16547 = sext i16 %16546 to i32
%16548 = load i16, i16* %11
%16549 = sext i16 %16548 to i32
%16550 = load i16, i16* %12
%16551 = sext i16 %16550 to i32
%16552 = load i16, i16* %13
%16553 = sext i16 %16552 to i32
%16554 = load i16, i16* %14
%16555 = sext i16 %16554 to i32
%16556 = load i16, i16* %15
%16557 = sext i16 %16556 to i32
%16558 = load i16, i16* %16
%16559 = sext i16 %16558 to i32
%16560 = load i16, i16* %17
%16561 = sext i16 %16560 to i32
%16562 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16547, i32 %16549, i32 %16551, i32 %16553, i32 %16555, i32 %16557, i32 %16559, i32 %16561)
%16563 = trunc i32 %16562 to i16
store i16 %16563, i16* %18
%16564 = load i16, i16* %18
%16565 = sext i16 %16564 to i32
%16566 = icmp eq i32 %16565, -1
br i1 %16566, label %16567, label %16568
16567: ; preds = %16543
store i16 -1, i16* %9
br label %19404
16568: ; preds = %16543
%16569 = load i16, i16* %18
%16570 = sext i16 %16569 to i32
%16571 = icmp sle i32 0, %16570
br i1 %16571, label %16572, label %16574
16572: ; preds = %16568
%16573 = load i16, i16* %22
store i16 %16573, i16* %21
br label %16574
16574: ; preds = %16572, %16568
%16575 = load i16, i16* %10
store i16 %16575, i16* %18
%16576 = load i16, i16* %14
%16577 = sext i16 %16576 to i32
%16578 = icmp eq i32 %16577, 0
br i1 %16578, label %16579, label %16580
16579: ; preds = %16574
br label %16584
16580: ; preds = %16574
%16581 = load i16, i16* %14
%16582 = sext i16 %16581 to i32
%16583 = sub nsw i32 25, %16582
br label %16584
16584: ; preds = %16580, %16579
%16585 = phi i32 [ 0, %16579 ], [ %16583, %16580 ]
%16586 = trunc i32 %16585 to i16
store i16 %16586, i16* %10
%16587 = load i16, i16* %18
%16588 = sext i16 %16587 to i32
%16589 = icmp eq i32 %16588, 0
br i1 %16589, label %16590, label %16591
16590: ; preds = %16584
br label %16595
16591: ; preds = %16584
%16592 = load i16, i16* %18
%16593 = sext i16 %16592 to i32
%16594 = sub nsw i32 25, %16593
br label %16595
16595: ; preds = %16591, %16590
%16596 = phi i32 [ 0, %16590 ], [ %16594, %16591 ]
%16597 = trunc i32 %16596 to i16
store i16 %16597, i16* %14
%16598 = load i16, i16* %11
store i16 %16598, i16* %18
%16599 = load i16, i16* %15
%16600 = sext i16 %16599 to i32
%16601 = icmp eq i32 %16600, 0
br i1 %16601, label %16602, label %16603
16602: ; preds = %16595
br label %16607
16603: ; preds = %16595
%16604 = load i16, i16* %15
%16605 = sext i16 %16604 to i32
%16606 = sub nsw i32 25, %16605
br label %16607
16607: ; preds = %16603, %16602
%16608 = phi i32 [ 0, %16602 ], [ %16606, %16603 ]
%16609 = trunc i32 %16608 to i16
store i16 %16609, i16* %11
%16610 = load i16, i16* %18
%16611 = sext i16 %16610 to i32
%16612 = icmp eq i32 %16611, 0
br i1 %16612, label %16613, label %16614
16613: ; preds = %16607
br label %16618
16614: ; preds = %16607
%16615 = load i16, i16* %18
%16616 = sext i16 %16615 to i32
%16617 = sub nsw i32 25, %16616
br label %16618
16618: ; preds = %16614, %16613
%16619 = phi i32 [ 0, %16613 ], [ %16617, %16614 ]
%16620 = trunc i32 %16619 to i16
store i16 %16620, i16* %15
%16621 = load i16, i16* %12
store i16 %16621, i16* %18
%16622 = load i16, i16* %16
%16623 = sext i16 %16622 to i32
%16624 = icmp eq i32 %16623, 0
br i1 %16624, label %16625, label %16626
16625: ; preds = %16618
br label %16630
16626: ; preds = %16618
%16627 = load i16, i16* %16
%16628 = sext i16 %16627 to i32
%16629 = sub nsw i32 25, %16628
br label %16630
16630: ; preds = %16626, %16625
%16631 = phi i32 [ 0, %16625 ], [ %16629, %16626 ]
%16632 = trunc i32 %16631 to i16
store i16 %16632, i16* %12
%16633 = load i16, i16* %18
%16634 = sext i16 %16633 to i32
%16635 = icmp eq i32 %16634, 0
br i1 %16635, label %16636, label %16637
16636: ; preds = %16630
br label %16641
16637: ; preds = %16630
%16638 = load i16, i16* %18
%16639 = sext i16 %16638 to i32
%16640 = sub nsw i32 25, %16639
br label %16641
16641: ; preds = %16637, %16636
%16642 = phi i32 [ 0, %16636 ], [ %16640, %16637 ]
%16643 = trunc i32 %16642 to i16
store i16 %16643, i16* %16
%16644 = load i16, i16* %13
store i16 %16644, i16* %18
%16645 = load i16, i16* %17
%16646 = sext i16 %16645 to i32
%16647 = icmp eq i32 %16646, 0
br i1 %16647, label %16648, label %16649
16648: ; preds = %16641
br label %16653
16649: ; preds = %16641
%16650 = load i16, i16* %17
%16651 = sext i16 %16650 to i32
%16652 = sub nsw i32 25, %16651
br label %16653
16653: ; preds = %16649, %16648
%16654 = phi i32 [ 0, %16648 ], [ %16652, %16649 ]
%16655 = trunc i32 %16654 to i16
store i16 %16655, i16* %13
%16656 = load i16, i16* %18
%16657 = sext i16 %16656 to i32
%16658 = icmp eq i32 %16657, 0
br i1 %16658, label %16659, label %16660
16659: ; preds = %16653
br label %16664
16660: ; preds = %16653
%16661 = load i16, i16* %18
%16662 = sext i16 %16661 to i32
%16663 = sub nsw i32 25, %16662
br label %16664
16664: ; preds = %16660, %16659
%16665 = phi i32 [ 0, %16659 ], [ %16663, %16660 ]
%16666 = trunc i32 %16665 to i16
store i16 %16666, i16* %17
%16667 = load i16, i16* %20
store i16 %16667, i16* %16
br label %16882
16668: ; preds = %16446
%16669 = load i16, i16* %10
store i16 %16669, i16* %18
%16670 = load i16, i16* %14
%16671 = sext i16 %16670 to i32
%16672 = icmp eq i32 %16671, 0
br i1 %16672, label %16673, label %16674
16673: ; preds = %16668
br label %16678
16674: ; preds = %16668
%16675 = load i16, i16* %14
%16676 = sext i16 %16675 to i32
%16677 = sub nsw i32 25, %16676
br label %16678
16678: ; preds = %16674, %16673
%16679 = phi i32 [ 0, %16673 ], [ %16677, %16674 ]
%16680 = trunc i32 %16679 to i16
store i16 %16680, i16* %10
%16681 = load i16, i16* %18
%16682 = sext i16 %16681 to i32
%16683 = icmp eq i32 %16682, 0
br i1 %16683, label %16684, label %16685
16684: ; preds = %16678
br label %16689
16685: ; preds = %16678
%16686 = load i16, i16* %18
%16687 = sext i16 %16686 to i32
%16688 = sub nsw i32 25, %16687
br label %16689
16689: ; preds = %16685, %16684
%16690 = phi i32 [ 0, %16684 ], [ %16688, %16685 ]
%16691 = trunc i32 %16690 to i16
store i16 %16691, i16* %14
%16692 = load i16, i16* %11
store i16 %16692, i16* %18
%16693 = load i16, i16* %15
%16694 = sext i16 %16693 to i32
%16695 = icmp eq i32 %16694, 0
br i1 %16695, label %16696, label %16697
16696: ; preds = %16689
br label %16701
16697: ; preds = %16689
%16698 = load i16, i16* %15
%16699 = sext i16 %16698 to i32
%16700 = sub nsw i32 25, %16699
br label %16701
16701: ; preds = %16697, %16696
%16702 = phi i32 [ 0, %16696 ], [ %16700, %16697 ]
%16703 = trunc i32 %16702 to i16
store i16 %16703, i16* %11
%16704 = load i16, i16* %18
%16705 = sext i16 %16704 to i32
%16706 = icmp eq i32 %16705, 0
br i1 %16706, label %16707, label %16708
16707: ; preds = %16701
br label %16712
16708: ; preds = %16701
%16709 = load i16, i16* %18
%16710 = sext i16 %16709 to i32
%16711 = sub nsw i32 25, %16710
br label %16712
16712: ; preds = %16708, %16707
%16713 = phi i32 [ 0, %16707 ], [ %16711, %16708 ]
%16714 = trunc i32 %16713 to i16
store i16 %16714, i16* %15
%16715 = load i16, i16* %12
store i16 %16715, i16* %18
%16716 = load i16, i16* %16
%16717 = sext i16 %16716 to i32
%16718 = icmp eq i32 %16717, 0
br i1 %16718, label %16719, label %16720
16719: ; preds = %16712
br label %16724
16720: ; preds = %16712
%16721 = load i16, i16* %16
%16722 = sext i16 %16721 to i32
%16723 = sub nsw i32 25, %16722
br label %16724
16724: ; preds = %16720, %16719
%16725 = phi i32 [ 0, %16719 ], [ %16723, %16720 ]
%16726 = trunc i32 %16725 to i16
store i16 %16726, i16* %12
%16727 = load i16, i16* %18
%16728 = sext i16 %16727 to i32
%16729 = icmp eq i32 %16728, 0
br i1 %16729, label %16730, label %16731
16730: ; preds = %16724
br label %16735
16731: ; preds = %16724
%16732 = load i16, i16* %18
%16733 = sext i16 %16732 to i32
%16734 = sub nsw i32 25, %16733
br label %16735
16735: ; preds = %16731, %16730
%16736 = phi i32 [ 0, %16730 ], [ %16734, %16731 ]
%16737 = trunc i32 %16736 to i16
store i16 %16737, i16* %16
%16738 = load i16, i16* %13
store i16 %16738, i16* %18
%16739 = load i16, i16* %17
%16740 = sext i16 %16739 to i32
%16741 = icmp eq i32 %16740, 0
br i1 %16741, label %16742, label %16743
16742: ; preds = %16735
br label %16747
16743: ; preds = %16735
%16744 = load i16, i16* %17
%16745 = sext i16 %16744 to i32
%16746 = sub nsw i32 25, %16745
br label %16747
16747: ; preds = %16743, %16742
%16748 = phi i32 [ 0, %16742 ], [ %16746, %16743 ]
%16749 = trunc i32 %16748 to i16
store i16 %16749, i16* %13
%16750 = load i16, i16* %18
%16751 = sext i16 %16750 to i32
%16752 = icmp eq i32 %16751, 0
br i1 %16752, label %16753, label %16754
16753: ; preds = %16747
br label %16758
16754: ; preds = %16747
%16755 = load i16, i16* %18
%16756 = sext i16 %16755 to i32
%16757 = sub nsw i32 25, %16756
br label %16758
16758: ; preds = %16754, %16753
%16759 = phi i32 [ 0, %16753 ], [ %16757, %16754 ]
%16760 = trunc i32 %16759 to i16
store i16 %16760, i16* %17
%16761 = load i16, i16* %10
%16762 = sext i16 %16761 to i32
%16763 = load i16, i16* %11
%16764 = sext i16 %16763 to i32
%16765 = load i16, i16* %12
%16766 = sext i16 %16765 to i32
%16767 = load i16, i16* %13
%16768 = sext i16 %16767 to i32
%16769 = load i16, i16* %14
%16770 = sext i16 %16769 to i32
%16771 = load i16, i16* %15
%16772 = sext i16 %16771 to i32
%16773 = load i16, i16* %16
%16774 = sext i16 %16773 to i32
%16775 = load i16, i16* %17
%16776 = sext i16 %16775 to i32
%16777 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %16762, i32 %16764, i32 %16766, i32 %16768, i32 %16770, i32 %16772, i32 %16774, i32 %16776)
%16778 = trunc i32 %16777 to i16
store i16 %16778, i16* %18
%16779 = load i16, i16* %18
%16780 = sext i16 %16779 to i32
%16781 = icmp eq i32 %16780, -1
br i1 %16781, label %16782, label %16783
16782: ; preds = %16758
store i16 -1, i16* %9
br label %19404
16783: ; preds = %16758
%16784 = load i16, i16* %18
%16785 = sext i16 %16784 to i32
%16786 = icmp sle i32 0, %16785
br i1 %16786, label %16787, label %16789
16787: ; preds = %16783
%16788 = load i16, i16* %22
store i16 %16788, i16* %21
br label %16789
16789: ; preds = %16787, %16783
%16790 = load i16, i16* %10
store i16 %16790, i16* %18
%16791 = load i16, i16* %14
%16792 = sext i16 %16791 to i32
%16793 = icmp eq i32 %16792, 0
br i1 %16793, label %16794, label %16795
16794: ; preds = %16789
br label %16799
16795: ; preds = %16789
%16796 = load i16, i16* %14
%16797 = sext i16 %16796 to i32
%16798 = sub nsw i32 25, %16797
br label %16799
16799: ; preds = %16795, %16794
%16800 = phi i32 [ 0, %16794 ], [ %16798, %16795 ]
%16801 = trunc i32 %16800 to i16
store i16 %16801, i16* %10
%16802 = load i16, i16* %18
%16803 = sext i16 %16802 to i32
%16804 = icmp eq i32 %16803, 0
br i1 %16804, label %16805, label %16806
16805: ; preds = %16799
br label %16810
16806: ; preds = %16799
%16807 = load i16, i16* %18
%16808 = sext i16 %16807 to i32
%16809 = sub nsw i32 25, %16808
br label %16810
16810: ; preds = %16806, %16805
%16811 = phi i32 [ 0, %16805 ], [ %16809, %16806 ]
%16812 = trunc i32 %16811 to i16
store i16 %16812, i16* %14
%16813 = load i16, i16* %11
store i16 %16813, i16* %18
%16814 = load i16, i16* %15
%16815 = sext i16 %16814 to i32
%16816 = icmp eq i32 %16815, 0
br i1 %16816, label %16817, label %16818
16817: ; preds = %16810
br label %16822
16818: ; preds = %16810
%16819 = load i16, i16* %15
%16820 = sext i16 %16819 to i32
%16821 = sub nsw i32 25, %16820
br label %16822
16822: ; preds = %16818, %16817
%16823 = phi i32 [ 0, %16817 ], [ %16821, %16818 ]
%16824 = trunc i32 %16823 to i16
store i16 %16824, i16* %11
%16825 = load i16, i16* %18
%16826 = sext i16 %16825 to i32
%16827 = icmp eq i32 %16826, 0
br i1 %16827, label %16828, label %16829
16828: ; preds = %16822
br label %16833
16829: ; preds = %16822
%16830 = load i16, i16* %18
%16831 = sext i16 %16830 to i32
%16832 = sub nsw i32 25, %16831
br label %16833
16833: ; preds = %16829, %16828
%16834 = phi i32 [ 0, %16828 ], [ %16832, %16829 ]
%16835 = trunc i32 %16834 to i16
store i16 %16835, i16* %15
%16836 = load i16, i16* %12
store i16 %16836, i16* %18
%16837 = load i16, i16* %16
%16838 = sext i16 %16837 to i32
%16839 = icmp eq i32 %16838, 0
br i1 %16839, label %16840, label %16841
16840: ; preds = %16833
br label %16845
16841: ; preds = %16833
%16842 = load i16, i16* %16
%16843 = sext i16 %16842 to i32
%16844 = sub nsw i32 25, %16843
br label %16845
16845: ; preds = %16841, %16840
%16846 = phi i32 [ 0, %16840 ], [ %16844, %16841 ]
%16847 = trunc i32 %16846 to i16
store i16 %16847, i16* %12
%16848 = load i16, i16* %18
%16849 = sext i16 %16848 to i32
%16850 = icmp eq i32 %16849, 0
br i1 %16850, label %16851, label %16852
16851: ; preds = %16845
br label %16856
16852: ; preds = %16845
%16853 = load i16, i16* %18
%16854 = sext i16 %16853 to i32
%16855 = sub nsw i32 25, %16854
br label %16856
16856: ; preds = %16852, %16851
%16857 = phi i32 [ 0, %16851 ], [ %16855, %16852 ]
%16858 = trunc i32 %16857 to i16
store i16 %16858, i16* %16
%16859 = load i16, i16* %13
store i16 %16859, i16* %18
%16860 = load i16, i16* %17
%16861 = sext i16 %16860 to i32
%16862 = icmp eq i32 %16861, 0
br i1 %16862, label %16863, label %16864
16863: ; preds = %16856
br label %16868
16864: ; preds = %16856
%16865 = load i16, i16* %17
%16866 = sext i16 %16865 to i32
%16867 = sub nsw i32 25, %16866
br label %16868
16868: ; preds = %16864, %16863
%16869 = phi i32 [ 0, %16863 ], [ %16867, %16864 ]
%16870 = trunc i32 %16869 to i16
store i16 %16870, i16* %13
%16871 = load i16, i16* %18
%16872 = sext i16 %16871 to i32
%16873 = icmp eq i32 %16872, 0
br i1 %16873, label %16874, label %16875
16874: ; preds = %16868
br label %16879
16875: ; preds = %16868
%16876 = load i16, i16* %18
%16877 = sext i16 %16876 to i32
%16878 = sub nsw i32 25, %16877
br label %16879
16879: ; preds = %16875, %16874
%16880 = phi i32 [ 0, %16874 ], [ %16878, %16875 ]
%16881 = trunc i32 %16880 to i16
store i16 %16881, i16* %17
br label %16882
16882: ; preds = %16879, %16664
%16883 = load i16, i16* %19
store i16 %16883, i16* %13
br label %16884
16884: ; preds = %16882, %16440, %16434, %16428, %16422, %16416, %16405
br label %16885
16885: ; preds = %16884, %16400, %16396
br label %19372
16886: ; preds = %16392
%16887 = load i16, i16* %22
%16888 = sext i16 %16887 to i32
%16889 = icmp eq i32 %16888, 27
br i1 %16889, label %16890, label %17384
16890: ; preds = %16886
%16891 = load i16, i16* %13
%16892 = sext i16 %16891 to i32
%16893 = icmp ne i32 %16892, 0
br i1 %16893, label %16894, label %17383
16894: ; preds = %16890
%16895 = load i16, i16* %13
%16896 = sext i16 %16895 to i32
%16897 = icmp slt i32 4, %16896
br i1 %16897, label %16898, label %17383
16898: ; preds = %16894
%16899 = load i16, i16* %13
%16900 = sext i16 %16899 to i32
%16901 = srem i32 %16900, 4
%16902 = icmp ne i32 %16901, 0
br i1 %16902, label %16903, label %17383
16903: ; preds = %16898
%16904 = load i16, i16* %13
store i16 %16904, i16* %19
%16905 = load i16, i16* %19
%16906 = sext i16 %16905 to i32
%16907 = sub nsw i32 %16906, 3
%16908 = trunc i32 %16907 to i16
store i16 %16908, i16* %20
%16909 = load i16, i16* %20
%16910 = sext i16 %16909 to i32
%16911 = load i16, i16* %10
%16912 = sext i16 %16911 to i32
%16913 = icmp ne i32 %16910, %16912
br i1 %16913, label %16914, label %17382
16914: ; preds = %16903
%16915 = load i16, i16* %20
%16916 = sext i16 %16915 to i32
%16917 = load i16, i16* %11
%16918 = sext i16 %16917 to i32
%16919 = icmp ne i32 %16916, %16918
br i1 %16919, label %16920, label %17382
16920: ; preds = %16914
%16921 = load i16, i16* %20
%16922 = sext i16 %16921 to i32
%16923 = load i16, i16* %12
%16924 = sext i16 %16923 to i32
%16925 = icmp ne i32 %16922, %16924
br i1 %16925, label %16926, label %17382
16926: ; preds = %16920
%16927 = load i16, i16* %20
%16928 = sext i16 %16927 to i32
%16929 = load i16, i16* %14
%16930 = sext i16 %16929 to i32
%16931 = icmp ne i32 %16928, %16930
br i1 %16931, label %16932, label %17382
16932: ; preds = %16926
%16933 = load i16, i16* %20
%16934 = sext i16 %16933 to i32
%16935 = load i16, i16* %15
%16936 = sext i16 %16935 to i32
%16937 = icmp ne i32 %16934, %16936
br i1 %16937, label %16938, label %17382
16938: ; preds = %16932
%16939 = load i16, i16* %20
%16940 = sext i16 %16939 to i32
%16941 = load i16, i16* %17
%16942 = sext i16 %16941 to i32
%16943 = icmp ne i32 %16940, %16942
br i1 %16943, label %16944, label %17382
16944: ; preds = %16938
%16945 = load i16, i16* %20
store i16 %16945, i16* %13
%16946 = load i16, i16* %16
%16947 = sext i16 %16946 to i32
%16948 = load i16, i16* %20
%16949 = sext i16 %16948 to i32
%16950 = icmp eq i32 %16947, %16949
br i1 %16950, label %16951, label %17166
16951: ; preds = %16944
store i16 0, i16* %16
%16952 = load i16, i16* %10
store i16 %16952, i16* %18
%16953 = load i16, i16* %14
%16954 = sext i16 %16953 to i32
%16955 = icmp eq i32 %16954, 0
br i1 %16955, label %16956, label %16957
16956: ; preds = %16951
br label %16961
16957: ; preds = %16951
%16958 = load i16, i16* %14
%16959 = sext i16 %16958 to i32
%16960 = sub nsw i32 25, %16959
br label %16961
16961: ; preds = %16957, %16956
%16962 = phi i32 [ 0, %16956 ], [ %16960, %16957 ]
%16963 = trunc i32 %16962 to i16
store i16 %16963, i16* %10
%16964 = load i16, i16* %18
%16965 = sext i16 %16964 to i32
%16966 = icmp eq i32 %16965, 0
br i1 %16966, label %16967, label %16968
16967: ; preds = %16961
br label %16972
16968: ; preds = %16961
%16969 = load i16, i16* %18
%16970 = sext i16 %16969 to i32
%16971 = sub nsw i32 25, %16970
br label %16972
16972: ; preds = %16968, %16967
%16973 = phi i32 [ 0, %16967 ], [ %16971, %16968 ]
%16974 = trunc i32 %16973 to i16
store i16 %16974, i16* %14
%16975 = load i16, i16* %11
store i16 %16975, i16* %18
%16976 = load i16, i16* %15
%16977 = sext i16 %16976 to i32
%16978 = icmp eq i32 %16977, 0
br i1 %16978, label %16979, label %16980
16979: ; preds = %16972
br label %16984
16980: ; preds = %16972
%16981 = load i16, i16* %15
%16982 = sext i16 %16981 to i32
%16983 = sub nsw i32 25, %16982
br label %16984
16984: ; preds = %16980, %16979
%16985 = phi i32 [ 0, %16979 ], [ %16983, %16980 ]
%16986 = trunc i32 %16985 to i16
store i16 %16986, i16* %11
%16987 = load i16, i16* %18
%16988 = sext i16 %16987 to i32
%16989 = icmp eq i32 %16988, 0
br i1 %16989, label %16990, label %16991
16990: ; preds = %16984
br label %16995
16991: ; preds = %16984
%16992 = load i16, i16* %18
%16993 = sext i16 %16992 to i32
%16994 = sub nsw i32 25, %16993
br label %16995
16995: ; preds = %16991, %16990
%16996 = phi i32 [ 0, %16990 ], [ %16994, %16991 ]
%16997 = trunc i32 %16996 to i16
store i16 %16997, i16* %15
%16998 = load i16, i16* %12
store i16 %16998, i16* %18
%16999 = load i16, i16* %16
%17000 = sext i16 %16999 to i32
%17001 = icmp eq i32 %17000, 0
br i1 %17001, label %17002, label %17003
17002: ; preds = %16995
br label %17007
17003: ; preds = %16995
%17004 = load i16, i16* %16
%17005 = sext i16 %17004 to i32
%17006 = sub nsw i32 25, %17005
br label %17007
17007: ; preds = %17003, %17002
%17008 = phi i32 [ 0, %17002 ], [ %17006, %17003 ]
%17009 = trunc i32 %17008 to i16
store i16 %17009, i16* %12
%17010 = load i16, i16* %18
%17011 = sext i16 %17010 to i32
%17012 = icmp eq i32 %17011, 0
br i1 %17012, label %17013, label %17014
17013: ; preds = %17007
br label %17018
17014: ; preds = %17007
%17015 = load i16, i16* %18
%17016 = sext i16 %17015 to i32
%17017 = sub nsw i32 25, %17016
br label %17018
17018: ; preds = %17014, %17013
%17019 = phi i32 [ 0, %17013 ], [ %17017, %17014 ]
%17020 = trunc i32 %17019 to i16
store i16 %17020, i16* %16
%17021 = load i16, i16* %13
store i16 %17021, i16* %18
%17022 = load i16, i16* %17
%17023 = sext i16 %17022 to i32
%17024 = icmp eq i32 %17023, 0
br i1 %17024, label %17025, label %17026
17025: ; preds = %17018
br label %17030
17026: ; preds = %17018
%17027 = load i16, i16* %17
%17028 = sext i16 %17027 to i32
%17029 = sub nsw i32 25, %17028
br label %17030
17030: ; preds = %17026, %17025
%17031 = phi i32 [ 0, %17025 ], [ %17029, %17026 ]
%17032 = trunc i32 %17031 to i16
store i16 %17032, i16* %13
%17033 = load i16, i16* %18
%17034 = sext i16 %17033 to i32
%17035 = icmp eq i32 %17034, 0
br i1 %17035, label %17036, label %17037
17036: ; preds = %17030
br label %17041
17037: ; preds = %17030
%17038 = load i16, i16* %18
%17039 = sext i16 %17038 to i32
%17040 = sub nsw i32 25, %17039
br label %17041
17041: ; preds = %17037, %17036
%17042 = phi i32 [ 0, %17036 ], [ %17040, %17037 ]
%17043 = trunc i32 %17042 to i16
store i16 %17043, i16* %17
%17044 = load i16, i16* %10
%17045 = sext i16 %17044 to i32
%17046 = load i16, i16* %11
%17047 = sext i16 %17046 to i32
%17048 = load i16, i16* %12
%17049 = sext i16 %17048 to i32
%17050 = load i16, i16* %13
%17051 = sext i16 %17050 to i32
%17052 = load i16, i16* %14
%17053 = sext i16 %17052 to i32
%17054 = load i16, i16* %15
%17055 = sext i16 %17054 to i32
%17056 = load i16, i16* %16
%17057 = sext i16 %17056 to i32
%17058 = load i16, i16* %17
%17059 = sext i16 %17058 to i32
%17060 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17045, i32 %17047, i32 %17049, i32 %17051, i32 %17053, i32 %17055, i32 %17057, i32 %17059)
%17061 = trunc i32 %17060 to i16
store i16 %17061, i16* %18
%17062 = load i16, i16* %18
%17063 = sext i16 %17062 to i32
%17064 = icmp eq i32 %17063, -1
br i1 %17064, label %17065, label %17066
17065: ; preds = %17041
store i16 -1, i16* %9
br label %19404
17066: ; preds = %17041
%17067 = load i16, i16* %18
%17068 = sext i16 %17067 to i32
%17069 = icmp sle i32 0, %17068
br i1 %17069, label %17070, label %17072
17070: ; preds = %17066
%17071 = load i16, i16* %22
store i16 %17071, i16* %21
br label %17072
17072: ; preds = %17070, %17066
%17073 = load i16, i16* %10
store i16 %17073, i16* %18
%17074 = load i16, i16* %14
%17075 = sext i16 %17074 to i32
%17076 = icmp eq i32 %17075, 0
br i1 %17076, label %17077, label %17078
17077: ; preds = %17072
br label %17082
17078: ; preds = %17072
%17079 = load i16, i16* %14
%17080 = sext i16 %17079 to i32
%17081 = sub nsw i32 25, %17080
br label %17082
17082: ; preds = %17078, %17077
%17083 = phi i32 [ 0, %17077 ], [ %17081, %17078 ]
%17084 = trunc i32 %17083 to i16
store i16 %17084, i16* %10
%17085 = load i16, i16* %18
%17086 = sext i16 %17085 to i32
%17087 = icmp eq i32 %17086, 0
br i1 %17087, label %17088, label %17089
17088: ; preds = %17082
br label %17093
17089: ; preds = %17082
%17090 = load i16, i16* %18
%17091 = sext i16 %17090 to i32
%17092 = sub nsw i32 25, %17091
br label %17093
17093: ; preds = %17089, %17088
%17094 = phi i32 [ 0, %17088 ], [ %17092, %17089 ]
%17095 = trunc i32 %17094 to i16
store i16 %17095, i16* %14
%17096 = load i16, i16* %11
store i16 %17096, i16* %18
%17097 = load i16, i16* %15
%17098 = sext i16 %17097 to i32
%17099 = icmp eq i32 %17098, 0
br i1 %17099, label %17100, label %17101
17100: ; preds = %17093
br label %17105
17101: ; preds = %17093
%17102 = load i16, i16* %15
%17103 = sext i16 %17102 to i32
%17104 = sub nsw i32 25, %17103
br label %17105
17105: ; preds = %17101, %17100
%17106 = phi i32 [ 0, %17100 ], [ %17104, %17101 ]
%17107 = trunc i32 %17106 to i16
store i16 %17107, i16* %11
%17108 = load i16, i16* %18
%17109 = sext i16 %17108 to i32
%17110 = icmp eq i32 %17109, 0
br i1 %17110, label %17111, label %17112
17111: ; preds = %17105
br label %17116
17112: ; preds = %17105
%17113 = load i16, i16* %18
%17114 = sext i16 %17113 to i32
%17115 = sub nsw i32 25, %17114
br label %17116
17116: ; preds = %17112, %17111
%17117 = phi i32 [ 0, %17111 ], [ %17115, %17112 ]
%17118 = trunc i32 %17117 to i16
store i16 %17118, i16* %15
%17119 = load i16, i16* %12
store i16 %17119, i16* %18
%17120 = load i16, i16* %16
%17121 = sext i16 %17120 to i32
%17122 = icmp eq i32 %17121, 0
br i1 %17122, label %17123, label %17124
17123: ; preds = %17116
br label %17128
17124: ; preds = %17116
%17125 = load i16, i16* %16
%17126 = sext i16 %17125 to i32
%17127 = sub nsw i32 25, %17126
br label %17128
17128: ; preds = %17124, %17123
%17129 = phi i32 [ 0, %17123 ], [ %17127, %17124 ]
%17130 = trunc i32 %17129 to i16
store i16 %17130, i16* %12
%17131 = load i16, i16* %18
%17132 = sext i16 %17131 to i32
%17133 = icmp eq i32 %17132, 0
br i1 %17133, label %17134, label %17135
17134: ; preds = %17128
br label %17139
17135: ; preds = %17128
%17136 = load i16, i16* %18
%17137 = sext i16 %17136 to i32
%17138 = sub nsw i32 25, %17137
br label %17139
17139: ; preds = %17135, %17134
%17140 = phi i32 [ 0, %17134 ], [ %17138, %17135 ]
%17141 = trunc i32 %17140 to i16
store i16 %17141, i16* %16
%17142 = load i16, i16* %13
store i16 %17142, i16* %18
%17143 = load i16, i16* %17
%17144 = sext i16 %17143 to i32
%17145 = icmp eq i32 %17144, 0
br i1 %17145, label %17146, label %17147
17146: ; preds = %17139
br label %17151
17147: ; preds = %17139
%17148 = load i16, i16* %17
%17149 = sext i16 %17148 to i32
%17150 = sub nsw i32 25, %17149
br label %17151
17151: ; preds = %17147, %17146
%17152 = phi i32 [ 0, %17146 ], [ %17150, %17147 ]
%17153 = trunc i32 %17152 to i16
store i16 %17153, i16* %13
%17154 = load i16, i16* %18
%17155 = sext i16 %17154 to i32
%17156 = icmp eq i32 %17155, 0
br i1 %17156, label %17157, label %17158
17157: ; preds = %17151
br label %17162
17158: ; preds = %17151
%17159 = load i16, i16* %18
%17160 = sext i16 %17159 to i32
%17161 = sub nsw i32 25, %17160
br label %17162
17162: ; preds = %17158, %17157
%17163 = phi i32 [ 0, %17157 ], [ %17161, %17158 ]
%17164 = trunc i32 %17163 to i16
store i16 %17164, i16* %17
%17165 = load i16, i16* %20
store i16 %17165, i16* %16
br label %17380
17166: ; preds = %16944
%17167 = load i16, i16* %10
store i16 %17167, i16* %18
%17168 = load i16, i16* %14
%17169 = sext i16 %17168 to i32
%17170 = icmp eq i32 %17169, 0
br i1 %17170, label %17171, label %17172
17171: ; preds = %17166
br label %17176
17172: ; preds = %17166
%17173 = load i16, i16* %14
%17174 = sext i16 %17173 to i32
%17175 = sub nsw i32 25, %17174
br label %17176
17176: ; preds = %17172, %17171
%17177 = phi i32 [ 0, %17171 ], [ %17175, %17172 ]
%17178 = trunc i32 %17177 to i16
store i16 %17178, i16* %10
%17179 = load i16, i16* %18
%17180 = sext i16 %17179 to i32
%17181 = icmp eq i32 %17180, 0
br i1 %17181, label %17182, label %17183
17182: ; preds = %17176
br label %17187
17183: ; preds = %17176
%17184 = load i16, i16* %18
%17185 = sext i16 %17184 to i32
%17186 = sub nsw i32 25, %17185
br label %17187
17187: ; preds = %17183, %17182
%17188 = phi i32 [ 0, %17182 ], [ %17186, %17183 ]
%17189 = trunc i32 %17188 to i16
store i16 %17189, i16* %14
%17190 = load i16, i16* %11
store i16 %17190, i16* %18
%17191 = load i16, i16* %15
%17192 = sext i16 %17191 to i32
%17193 = icmp eq i32 %17192, 0
br i1 %17193, label %17194, label %17195
17194: ; preds = %17187
br label %17199
17195: ; preds = %17187
%17196 = load i16, i16* %15
%17197 = sext i16 %17196 to i32
%17198 = sub nsw i32 25, %17197
br label %17199
17199: ; preds = %17195, %17194
%17200 = phi i32 [ 0, %17194 ], [ %17198, %17195 ]
%17201 = trunc i32 %17200 to i16
store i16 %17201, i16* %11
%17202 = load i16, i16* %18
%17203 = sext i16 %17202 to i32
%17204 = icmp eq i32 %17203, 0
br i1 %17204, label %17205, label %17206
17205: ; preds = %17199
br label %17210
17206: ; preds = %17199
%17207 = load i16, i16* %18
%17208 = sext i16 %17207 to i32
%17209 = sub nsw i32 25, %17208
br label %17210
17210: ; preds = %17206, %17205
%17211 = phi i32 [ 0, %17205 ], [ %17209, %17206 ]
%17212 = trunc i32 %17211 to i16
store i16 %17212, i16* %15
%17213 = load i16, i16* %12
store i16 %17213, i16* %18
%17214 = load i16, i16* %16
%17215 = sext i16 %17214 to i32
%17216 = icmp eq i32 %17215, 0
br i1 %17216, label %17217, label %17218
17217: ; preds = %17210
br label %17222
17218: ; preds = %17210
%17219 = load i16, i16* %16
%17220 = sext i16 %17219 to i32
%17221 = sub nsw i32 25, %17220
br label %17222
17222: ; preds = %17218, %17217
%17223 = phi i32 [ 0, %17217 ], [ %17221, %17218 ]
%17224 = trunc i32 %17223 to i16
store i16 %17224, i16* %12
%17225 = load i16, i16* %18
%17226 = sext i16 %17225 to i32
%17227 = icmp eq i32 %17226, 0
br i1 %17227, label %17228, label %17229
17228: ; preds = %17222
br label %17233
17229: ; preds = %17222
%17230 = load i16, i16* %18
%17231 = sext i16 %17230 to i32
%17232 = sub nsw i32 25, %17231
br label %17233
17233: ; preds = %17229, %17228
%17234 = phi i32 [ 0, %17228 ], [ %17232, %17229 ]
%17235 = trunc i32 %17234 to i16
store i16 %17235, i16* %16
%17236 = load i16, i16* %13
store i16 %17236, i16* %18
%17237 = load i16, i16* %17
%17238 = sext i16 %17237 to i32
%17239 = icmp eq i32 %17238, 0
br i1 %17239, label %17240, label %17241
17240: ; preds = %17233
br label %17245
17241: ; preds = %17233
%17242 = load i16, i16* %17
%17243 = sext i16 %17242 to i32
%17244 = sub nsw i32 25, %17243
br label %17245
17245: ; preds = %17241, %17240
%17246 = phi i32 [ 0, %17240 ], [ %17244, %17241 ]
%17247 = trunc i32 %17246 to i16
store i16 %17247, i16* %13
%17248 = load i16, i16* %18
%17249 = sext i16 %17248 to i32
%17250 = icmp eq i32 %17249, 0
br i1 %17250, label %17251, label %17252
17251: ; preds = %17245
br label %17256
17252: ; preds = %17245
%17253 = load i16, i16* %18
%17254 = sext i16 %17253 to i32
%17255 = sub nsw i32 25, %17254
br label %17256
17256: ; preds = %17252, %17251
%17257 = phi i32 [ 0, %17251 ], [ %17255, %17252 ]
%17258 = trunc i32 %17257 to i16
store i16 %17258, i16* %17
%17259 = load i16, i16* %10
%17260 = sext i16 %17259 to i32
%17261 = load i16, i16* %11
%17262 = sext i16 %17261 to i32
%17263 = load i16, i16* %12
%17264 = sext i16 %17263 to i32
%17265 = load i16, i16* %13
%17266 = sext i16 %17265 to i32
%17267 = load i16, i16* %14
%17268 = sext i16 %17267 to i32
%17269 = load i16, i16* %15
%17270 = sext i16 %17269 to i32
%17271 = load i16, i16* %16
%17272 = sext i16 %17271 to i32
%17273 = load i16, i16* %17
%17274 = sext i16 %17273 to i32
%17275 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17260, i32 %17262, i32 %17264, i32 %17266, i32 %17268, i32 %17270, i32 %17272, i32 %17274)
%17276 = trunc i32 %17275 to i16
store i16 %17276, i16* %18
%17277 = load i16, i16* %18
%17278 = sext i16 %17277 to i32
%17279 = icmp eq i32 %17278, -1
br i1 %17279, label %17280, label %17281
17280: ; preds = %17256
store i16 -1, i16* %9
br label %19404
17281: ; preds = %17256
%17282 = load i16, i16* %18
%17283 = sext i16 %17282 to i32
%17284 = icmp sle i32 0, %17283
br i1 %17284, label %17285, label %17287
17285: ; preds = %17281
%17286 = load i16, i16* %22
store i16 %17286, i16* %21
br label %17287
17287: ; preds = %17285, %17281
%17288 = load i16, i16* %10
store i16 %17288, i16* %18
%17289 = load i16, i16* %14
%17290 = sext i16 %17289 to i32
%17291 = icmp eq i32 %17290, 0
br i1 %17291, label %17292, label %17293
17292: ; preds = %17287
br label %17297
17293: ; preds = %17287
%17294 = load i16, i16* %14
%17295 = sext i16 %17294 to i32
%17296 = sub nsw i32 25, %17295
br label %17297
17297: ; preds = %17293, %17292
%17298 = phi i32 [ 0, %17292 ], [ %17296, %17293 ]
%17299 = trunc i32 %17298 to i16
store i16 %17299, i16* %10
%17300 = load i16, i16* %18
%17301 = sext i16 %17300 to i32
%17302 = icmp eq i32 %17301, 0
br i1 %17302, label %17303, label %17304
17303: ; preds = %17297
br label %17308
17304: ; preds = %17297
%17305 = load i16, i16* %18
%17306 = sext i16 %17305 to i32
%17307 = sub nsw i32 25, %17306
br label %17308
17308: ; preds = %17304, %17303
%17309 = phi i32 [ 0, %17303 ], [ %17307, %17304 ]
%17310 = trunc i32 %17309 to i16
store i16 %17310, i16* %14
%17311 = load i16, i16* %11
store i16 %17311, i16* %18
%17312 = load i16, i16* %15
%17313 = sext i16 %17312 to i32
%17314 = icmp eq i32 %17313, 0
br i1 %17314, label %17315, label %17316
17315: ; preds = %17308
br label %17320
17316: ; preds = %17308
%17317 = load i16, i16* %15
%17318 = sext i16 %17317 to i32
%17319 = sub nsw i32 25, %17318
br label %17320
17320: ; preds = %17316, %17315
%17321 = phi i32 [ 0, %17315 ], [ %17319, %17316 ]
%17322 = trunc i32 %17321 to i16
store i16 %17322, i16* %11
%17323 = load i16, i16* %18
%17324 = sext i16 %17323 to i32
%17325 = icmp eq i32 %17324, 0
br i1 %17325, label %17326, label %17327
17326: ; preds = %17320
br label %17331
17327: ; preds = %17320
%17328 = load i16, i16* %18
%17329 = sext i16 %17328 to i32
%17330 = sub nsw i32 25, %17329
br label %17331
17331: ; preds = %17327, %17326
%17332 = phi i32 [ 0, %17326 ], [ %17330, %17327 ]
%17333 = trunc i32 %17332 to i16
store i16 %17333, i16* %15
%17334 = load i16, i16* %12
store i16 %17334, i16* %18
%17335 = load i16, i16* %16
%17336 = sext i16 %17335 to i32
%17337 = icmp eq i32 %17336, 0
br i1 %17337, label %17338, label %17339
17338: ; preds = %17331
br label %17343
17339: ; preds = %17331
%17340 = load i16, i16* %16
%17341 = sext i16 %17340 to i32
%17342 = sub nsw i32 25, %17341
br label %17343
17343: ; preds = %17339, %17338
%17344 = phi i32 [ 0, %17338 ], [ %17342, %17339 ]
%17345 = trunc i32 %17344 to i16
store i16 %17345, i16* %12
%17346 = load i16, i16* %18
%17347 = sext i16 %17346 to i32
%17348 = icmp eq i32 %17347, 0
br i1 %17348, label %17349, label %17350
17349: ; preds = %17343
br label %17354
17350: ; preds = %17343
%17351 = load i16, i16* %18
%17352 = sext i16 %17351 to i32
%17353 = sub nsw i32 25, %17352
br label %17354
17354: ; preds = %17350, %17349
%17355 = phi i32 [ 0, %17349 ], [ %17353, %17350 ]
%17356 = trunc i32 %17355 to i16
store i16 %17356, i16* %16
%17357 = load i16, i16* %13
store i16 %17357, i16* %18
%17358 = load i16, i16* %17
%17359 = sext i16 %17358 to i32
%17360 = icmp eq i32 %17359, 0
br i1 %17360, label %17361, label %17362
17361: ; preds = %17354
br label %17366
17362: ; preds = %17354
%17363 = load i16, i16* %17
%17364 = sext i16 %17363 to i32
%17365 = sub nsw i32 25, %17364
br label %17366
17366: ; preds = %17362, %17361
%17367 = phi i32 [ 0, %17361 ], [ %17365, %17362 ]
%17368 = trunc i32 %17367 to i16
store i16 %17368, i16* %13
%17369 = load i16, i16* %18
%17370 = sext i16 %17369 to i32
%17371 = icmp eq i32 %17370, 0
br i1 %17371, label %17372, label %17373
17372: ; preds = %17366
br label %17377
17373: ; preds = %17366
%17374 = load i16, i16* %18
%17375 = sext i16 %17374 to i32
%17376 = sub nsw i32 25, %17375
br label %17377
17377: ; preds = %17373, %17372
%17378 = phi i32 [ 0, %17372 ], [ %17376, %17373 ]
%17379 = trunc i32 %17378 to i16
store i16 %17379, i16* %17
br label %17380
17380: ; preds = %17377, %17162
%17381 = load i16, i16* %19
store i16 %17381, i16* %13
br label %17382
17382: ; preds = %17380, %16938, %16932, %16926, %16920, %16914, %16903
br label %17383
17383: ; preds = %17382, %16898, %16894, %16890
br label %19371
17384: ; preds = %16886
%17385 = load i16, i16* %22
%17386 = sext i16 %17385 to i32
%17387 = icmp eq i32 %17386, 28
br i1 %17387, label %17388, label %17877
17388: ; preds = %17384
%17389 = load i16, i16* %13
%17390 = sext i16 %17389 to i32
%17391 = icmp ne i32 %17390, 0
br i1 %17391, label %17392, label %17876
17392: ; preds = %17388
%17393 = load i16, i16* %13
%17394 = sext i16 %17393 to i32
%17395 = icmp slt i32 4, %17394
br i1 %17395, label %17396, label %17876
17396: ; preds = %17392
%17397 = load i16, i16* %13
store i16 %17397, i16* %19
%17398 = load i16, i16* %19
%17399 = sext i16 %17398 to i32
%17400 = sub nsw i32 %17399, 4
%17401 = trunc i32 %17400 to i16
store i16 %17401, i16* %20
%17402 = load i16, i16* %20
%17403 = sext i16 %17402 to i32
%17404 = load i16, i16* %10
%17405 = sext i16 %17404 to i32
%17406 = icmp ne i32 %17403, %17405
br i1 %17406, label %17407, label %17875
17407: ; preds = %17396
%17408 = load i16, i16* %20
%17409 = sext i16 %17408 to i32
%17410 = load i16, i16* %11
%17411 = sext i16 %17410 to i32
%17412 = icmp ne i32 %17409, %17411
br i1 %17412, label %17413, label %17875
17413: ; preds = %17407
%17414 = load i16, i16* %20
%17415 = sext i16 %17414 to i32
%17416 = load i16, i16* %12
%17417 = sext i16 %17416 to i32
%17418 = icmp ne i32 %17415, %17417
br i1 %17418, label %17419, label %17875
17419: ; preds = %17413
%17420 = load i16, i16* %20
%17421 = sext i16 %17420 to i32
%17422 = load i16, i16* %14
%17423 = sext i16 %17422 to i32
%17424 = icmp ne i32 %17421, %17423
br i1 %17424, label %17425, label %17875
17425: ; preds = %17419
%17426 = load i16, i16* %20
%17427 = sext i16 %17426 to i32
%17428 = load i16, i16* %15
%17429 = sext i16 %17428 to i32
%17430 = icmp ne i32 %17427, %17429
br i1 %17430, label %17431, label %17875
17431: ; preds = %17425
%17432 = load i16, i16* %20
%17433 = sext i16 %17432 to i32
%17434 = load i16, i16* %17
%17435 = sext i16 %17434 to i32
%17436 = icmp ne i32 %17433, %17435
br i1 %17436, label %17437, label %17875
17437: ; preds = %17431
%17438 = load i16, i16* %20
store i16 %17438, i16* %13
%17439 = load i16, i16* %16
%17440 = sext i16 %17439 to i32
%17441 = load i16, i16* %20
%17442 = sext i16 %17441 to i32
%17443 = icmp eq i32 %17440, %17442
br i1 %17443, label %17444, label %17659
17444: ; preds = %17437
store i16 0, i16* %16
%17445 = load i16, i16* %10
store i16 %17445, i16* %18
%17446 = load i16, i16* %14
%17447 = sext i16 %17446 to i32
%17448 = icmp eq i32 %17447, 0
br i1 %17448, label %17449, label %17450
17449: ; preds = %17444
br label %17454
17450: ; preds = %17444
%17451 = load i16, i16* %14
%17452 = sext i16 %17451 to i32
%17453 = sub nsw i32 25, %17452
br label %17454
17454: ; preds = %17450, %17449
%17455 = phi i32 [ 0, %17449 ], [ %17453, %17450 ]
%17456 = trunc i32 %17455 to i16
store i16 %17456, i16* %10
%17457 = load i16, i16* %18
%17458 = sext i16 %17457 to i32
%17459 = icmp eq i32 %17458, 0
br i1 %17459, label %17460, label %17461
17460: ; preds = %17454
br label %17465
17461: ; preds = %17454
%17462 = load i16, i16* %18
%17463 = sext i16 %17462 to i32
%17464 = sub nsw i32 25, %17463
br label %17465
17465: ; preds = %17461, %17460
%17466 = phi i32 [ 0, %17460 ], [ %17464, %17461 ]
%17467 = trunc i32 %17466 to i16
store i16 %17467, i16* %14
%17468 = load i16, i16* %11
store i16 %17468, i16* %18
%17469 = load i16, i16* %15
%17470 = sext i16 %17469 to i32
%17471 = icmp eq i32 %17470, 0
br i1 %17471, label %17472, label %17473
17472: ; preds = %17465
br label %17477
17473: ; preds = %17465
%17474 = load i16, i16* %15
%17475 = sext i16 %17474 to i32
%17476 = sub nsw i32 25, %17475
br label %17477
17477: ; preds = %17473, %17472
%17478 = phi i32 [ 0, %17472 ], [ %17476, %17473 ]
%17479 = trunc i32 %17478 to i16
store i16 %17479, i16* %11
%17480 = load i16, i16* %18
%17481 = sext i16 %17480 to i32
%17482 = icmp eq i32 %17481, 0
br i1 %17482, label %17483, label %17484
17483: ; preds = %17477
br label %17488
17484: ; preds = %17477
%17485 = load i16, i16* %18
%17486 = sext i16 %17485 to i32
%17487 = sub nsw i32 25, %17486
br label %17488
17488: ; preds = %17484, %17483
%17489 = phi i32 [ 0, %17483 ], [ %17487, %17484 ]
%17490 = trunc i32 %17489 to i16
store i16 %17490, i16* %15
%17491 = load i16, i16* %12
store i16 %17491, i16* %18
%17492 = load i16, i16* %16
%17493 = sext i16 %17492 to i32
%17494 = icmp eq i32 %17493, 0
br i1 %17494, label %17495, label %17496
17495: ; preds = %17488
br label %17500
17496: ; preds = %17488
%17497 = load i16, i16* %16
%17498 = sext i16 %17497 to i32
%17499 = sub nsw i32 25, %17498
br label %17500
17500: ; preds = %17496, %17495
%17501 = phi i32 [ 0, %17495 ], [ %17499, %17496 ]
%17502 = trunc i32 %17501 to i16
store i16 %17502, i16* %12
%17503 = load i16, i16* %18
%17504 = sext i16 %17503 to i32
%17505 = icmp eq i32 %17504, 0
br i1 %17505, label %17506, label %17507
17506: ; preds = %17500
br label %17511
17507: ; preds = %17500
%17508 = load i16, i16* %18
%17509 = sext i16 %17508 to i32
%17510 = sub nsw i32 25, %17509
br label %17511
17511: ; preds = %17507, %17506
%17512 = phi i32 [ 0, %17506 ], [ %17510, %17507 ]
%17513 = trunc i32 %17512 to i16
store i16 %17513, i16* %16
%17514 = load i16, i16* %13
store i16 %17514, i16* %18
%17515 = load i16, i16* %17
%17516 = sext i16 %17515 to i32
%17517 = icmp eq i32 %17516, 0
br i1 %17517, label %17518, label %17519
17518: ; preds = %17511
br label %17523
17519: ; preds = %17511
%17520 = load i16, i16* %17
%17521 = sext i16 %17520 to i32
%17522 = sub nsw i32 25, %17521
br label %17523
17523: ; preds = %17519, %17518
%17524 = phi i32 [ 0, %17518 ], [ %17522, %17519 ]
%17525 = trunc i32 %17524 to i16
store i16 %17525, i16* %13
%17526 = load i16, i16* %18
%17527 = sext i16 %17526 to i32
%17528 = icmp eq i32 %17527, 0
br i1 %17528, label %17529, label %17530
17529: ; preds = %17523
br label %17534
17530: ; preds = %17523
%17531 = load i16, i16* %18
%17532 = sext i16 %17531 to i32
%17533 = sub nsw i32 25, %17532
br label %17534
17534: ; preds = %17530, %17529
%17535 = phi i32 [ 0, %17529 ], [ %17533, %17530 ]
%17536 = trunc i32 %17535 to i16
store i16 %17536, i16* %17
%17537 = load i16, i16* %10
%17538 = sext i16 %17537 to i32
%17539 = load i16, i16* %11
%17540 = sext i16 %17539 to i32
%17541 = load i16, i16* %12
%17542 = sext i16 %17541 to i32
%17543 = load i16, i16* %13
%17544 = sext i16 %17543 to i32
%17545 = load i16, i16* %14
%17546 = sext i16 %17545 to i32
%17547 = load i16, i16* %15
%17548 = sext i16 %17547 to i32
%17549 = load i16, i16* %16
%17550 = sext i16 %17549 to i32
%17551 = load i16, i16* %17
%17552 = sext i16 %17551 to i32
%17553 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17538, i32 %17540, i32 %17542, i32 %17544, i32 %17546, i32 %17548, i32 %17550, i32 %17552)
%17554 = trunc i32 %17553 to i16
store i16 %17554, i16* %18
%17555 = load i16, i16* %18
%17556 = sext i16 %17555 to i32
%17557 = icmp eq i32 %17556, -1
br i1 %17557, label %17558, label %17559
17558: ; preds = %17534
store i16 -1, i16* %9
br label %19404
17559: ; preds = %17534
%17560 = load i16, i16* %18
%17561 = sext i16 %17560 to i32
%17562 = icmp sle i32 0, %17561
br i1 %17562, label %17563, label %17565
17563: ; preds = %17559
%17564 = load i16, i16* %22
store i16 %17564, i16* %21
br label %17565
17565: ; preds = %17563, %17559
%17566 = load i16, i16* %10
store i16 %17566, i16* %18
%17567 = load i16, i16* %14
%17568 = sext i16 %17567 to i32
%17569 = icmp eq i32 %17568, 0
br i1 %17569, label %17570, label %17571
17570: ; preds = %17565
br label %17575
17571: ; preds = %17565
%17572 = load i16, i16* %14
%17573 = sext i16 %17572 to i32
%17574 = sub nsw i32 25, %17573
br label %17575
17575: ; preds = %17571, %17570
%17576 = phi i32 [ 0, %17570 ], [ %17574, %17571 ]
%17577 = trunc i32 %17576 to i16
store i16 %17577, i16* %10
%17578 = load i16, i16* %18
%17579 = sext i16 %17578 to i32
%17580 = icmp eq i32 %17579, 0
br i1 %17580, label %17581, label %17582
17581: ; preds = %17575
br label %17586
17582: ; preds = %17575
%17583 = load i16, i16* %18
%17584 = sext i16 %17583 to i32
%17585 = sub nsw i32 25, %17584
br label %17586
17586: ; preds = %17582, %17581
%17587 = phi i32 [ 0, %17581 ], [ %17585, %17582 ]
%17588 = trunc i32 %17587 to i16
store i16 %17588, i16* %14
%17589 = load i16, i16* %11
store i16 %17589, i16* %18
%17590 = load i16, i16* %15
%17591 = sext i16 %17590 to i32
%17592 = icmp eq i32 %17591, 0
br i1 %17592, label %17593, label %17594
17593: ; preds = %17586
br label %17598
17594: ; preds = %17586
%17595 = load i16, i16* %15
%17596 = sext i16 %17595 to i32
%17597 = sub nsw i32 25, %17596
br label %17598
17598: ; preds = %17594, %17593
%17599 = phi i32 [ 0, %17593 ], [ %17597, %17594 ]
%17600 = trunc i32 %17599 to i16
store i16 %17600, i16* %11
%17601 = load i16, i16* %18
%17602 = sext i16 %17601 to i32
%17603 = icmp eq i32 %17602, 0
br i1 %17603, label %17604, label %17605
17604: ; preds = %17598
br label %17609
17605: ; preds = %17598
%17606 = load i16, i16* %18
%17607 = sext i16 %17606 to i32
%17608 = sub nsw i32 25, %17607
br label %17609
17609: ; preds = %17605, %17604
%17610 = phi i32 [ 0, %17604 ], [ %17608, %17605 ]
%17611 = trunc i32 %17610 to i16
store i16 %17611, i16* %15
%17612 = load i16, i16* %12
store i16 %17612, i16* %18
%17613 = load i16, i16* %16
%17614 = sext i16 %17613 to i32
%17615 = icmp eq i32 %17614, 0
br i1 %17615, label %17616, label %17617
17616: ; preds = %17609
br label %17621
17617: ; preds = %17609
%17618 = load i16, i16* %16
%17619 = sext i16 %17618 to i32
%17620 = sub nsw i32 25, %17619
br label %17621
17621: ; preds = %17617, %17616
%17622 = phi i32 [ 0, %17616 ], [ %17620, %17617 ]
%17623 = trunc i32 %17622 to i16
store i16 %17623, i16* %12
%17624 = load i16, i16* %18
%17625 = sext i16 %17624 to i32
%17626 = icmp eq i32 %17625, 0
br i1 %17626, label %17627, label %17628
17627: ; preds = %17621
br label %17632
17628: ; preds = %17621
%17629 = load i16, i16* %18
%17630 = sext i16 %17629 to i32
%17631 = sub nsw i32 25, %17630
br label %17632
17632: ; preds = %17628, %17627
%17633 = phi i32 [ 0, %17627 ], [ %17631, %17628 ]
%17634 = trunc i32 %17633 to i16
store i16 %17634, i16* %16
%17635 = load i16, i16* %13
store i16 %17635, i16* %18
%17636 = load i16, i16* %17
%17637 = sext i16 %17636 to i32
%17638 = icmp eq i32 %17637, 0
br i1 %17638, label %17639, label %17640
17639: ; preds = %17632
br label %17644
17640: ; preds = %17632
%17641 = load i16, i16* %17
%17642 = sext i16 %17641 to i32
%17643 = sub nsw i32 25, %17642
br label %17644
17644: ; preds = %17640, %17639
%17645 = phi i32 [ 0, %17639 ], [ %17643, %17640 ]
%17646 = trunc i32 %17645 to i16
store i16 %17646, i16* %13
%17647 = load i16, i16* %18
%17648 = sext i16 %17647 to i32
%17649 = icmp eq i32 %17648, 0
br i1 %17649, label %17650, label %17651
17650: ; preds = %17644
br label %17655
17651: ; preds = %17644
%17652 = load i16, i16* %18
%17653 = sext i16 %17652 to i32
%17654 = sub nsw i32 25, %17653
br label %17655
17655: ; preds = %17651, %17650
%17656 = phi i32 [ 0, %17650 ], [ %17654, %17651 ]
%17657 = trunc i32 %17656 to i16
store i16 %17657, i16* %17
%17658 = load i16, i16* %20
store i16 %17658, i16* %16
br label %17873
17659: ; preds = %17437
%17660 = load i16, i16* %10
store i16 %17660, i16* %18
%17661 = load i16, i16* %14
%17662 = sext i16 %17661 to i32
%17663 = icmp eq i32 %17662, 0
br i1 %17663, label %17664, label %17665
17664: ; preds = %17659
br label %17669
17665: ; preds = %17659
%17666 = load i16, i16* %14
%17667 = sext i16 %17666 to i32
%17668 = sub nsw i32 25, %17667
br label %17669
17669: ; preds = %17665, %17664
%17670 = phi i32 [ 0, %17664 ], [ %17668, %17665 ]
%17671 = trunc i32 %17670 to i16
store i16 %17671, i16* %10
%17672 = load i16, i16* %18
%17673 = sext i16 %17672 to i32
%17674 = icmp eq i32 %17673, 0
br i1 %17674, label %17675, label %17676
17675: ; preds = %17669
br label %17680
17676: ; preds = %17669
%17677 = load i16, i16* %18
%17678 = sext i16 %17677 to i32
%17679 = sub nsw i32 25, %17678
br label %17680
17680: ; preds = %17676, %17675
%17681 = phi i32 [ 0, %17675 ], [ %17679, %17676 ]
%17682 = trunc i32 %17681 to i16
store i16 %17682, i16* %14
%17683 = load i16, i16* %11
store i16 %17683, i16* %18
%17684 = load i16, i16* %15
%17685 = sext i16 %17684 to i32
%17686 = icmp eq i32 %17685, 0
br i1 %17686, label %17687, label %17688
17687: ; preds = %17680
br label %17692
17688: ; preds = %17680
%17689 = load i16, i16* %15
%17690 = sext i16 %17689 to i32
%17691 = sub nsw i32 25, %17690
br label %17692
17692: ; preds = %17688, %17687
%17693 = phi i32 [ 0, %17687 ], [ %17691, %17688 ]
%17694 = trunc i32 %17693 to i16
store i16 %17694, i16* %11
%17695 = load i16, i16* %18
%17696 = sext i16 %17695 to i32
%17697 = icmp eq i32 %17696, 0
br i1 %17697, label %17698, label %17699
17698: ; preds = %17692
br label %17703
17699: ; preds = %17692
%17700 = load i16, i16* %18
%17701 = sext i16 %17700 to i32
%17702 = sub nsw i32 25, %17701
br label %17703
17703: ; preds = %17699, %17698
%17704 = phi i32 [ 0, %17698 ], [ %17702, %17699 ]
%17705 = trunc i32 %17704 to i16
store i16 %17705, i16* %15
%17706 = load i16, i16* %12
store i16 %17706, i16* %18
%17707 = load i16, i16* %16
%17708 = sext i16 %17707 to i32
%17709 = icmp eq i32 %17708, 0
br i1 %17709, label %17710, label %17711
17710: ; preds = %17703
br label %17715
17711: ; preds = %17703
%17712 = load i16, i16* %16
%17713 = sext i16 %17712 to i32
%17714 = sub nsw i32 25, %17713
br label %17715
17715: ; preds = %17711, %17710
%17716 = phi i32 [ 0, %17710 ], [ %17714, %17711 ]
%17717 = trunc i32 %17716 to i16
store i16 %17717, i16* %12
%17718 = load i16, i16* %18
%17719 = sext i16 %17718 to i32
%17720 = icmp eq i32 %17719, 0
br i1 %17720, label %17721, label %17722
17721: ; preds = %17715
br label %17726
17722: ; preds = %17715
%17723 = load i16, i16* %18
%17724 = sext i16 %17723 to i32
%17725 = sub nsw i32 25, %17724
br label %17726
17726: ; preds = %17722, %17721
%17727 = phi i32 [ 0, %17721 ], [ %17725, %17722 ]
%17728 = trunc i32 %17727 to i16
store i16 %17728, i16* %16
%17729 = load i16, i16* %13
store i16 %17729, i16* %18
%17730 = load i16, i16* %17
%17731 = sext i16 %17730 to i32
%17732 = icmp eq i32 %17731, 0
br i1 %17732, label %17733, label %17734
17733: ; preds = %17726
br label %17738
17734: ; preds = %17726
%17735 = load i16, i16* %17
%17736 = sext i16 %17735 to i32
%17737 = sub nsw i32 25, %17736
br label %17738
17738: ; preds = %17734, %17733
%17739 = phi i32 [ 0, %17733 ], [ %17737, %17734 ]
%17740 = trunc i32 %17739 to i16
store i16 %17740, i16* %13
%17741 = load i16, i16* %18
%17742 = sext i16 %17741 to i32
%17743 = icmp eq i32 %17742, 0
br i1 %17743, label %17744, label %17745
17744: ; preds = %17738
br label %17749
17745: ; preds = %17738
%17746 = load i16, i16* %18
%17747 = sext i16 %17746 to i32
%17748 = sub nsw i32 25, %17747
br label %17749
17749: ; preds = %17745, %17744
%17750 = phi i32 [ 0, %17744 ], [ %17748, %17745 ]
%17751 = trunc i32 %17750 to i16
store i16 %17751, i16* %17
%17752 = load i16, i16* %10
%17753 = sext i16 %17752 to i32
%17754 = load i16, i16* %11
%17755 = sext i16 %17754 to i32
%17756 = load i16, i16* %12
%17757 = sext i16 %17756 to i32
%17758 = load i16, i16* %13
%17759 = sext i16 %17758 to i32
%17760 = load i16, i16* %14
%17761 = sext i16 %17760 to i32
%17762 = load i16, i16* %15
%17763 = sext i16 %17762 to i32
%17764 = load i16, i16* %16
%17765 = sext i16 %17764 to i32
%17766 = load i16, i16* %17
%17767 = sext i16 %17766 to i32
%17768 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %17753, i32 %17755, i32 %17757, i32 %17759, i32 %17761, i32 %17763, i32 %17765, i32 %17767)
%17769 = trunc i32 %17768 to i16
store i16 %17769, i16* %18
%17770 = load i16, i16* %18
%17771 = sext i16 %17770 to i32
%17772 = icmp eq i32 %17771, -1
br i1 %17772, label %17773, label %17774
17773: ; preds = %17749
store i16 -1, i16* %9
br label %19404
17774: ; preds = %17749
%17775 = load i16, i16* %18
%17776 = sext i16 %17775 to i32
%17777 = icmp sle i32 0, %17776
br i1 %17777, label %17778, label %17780
17778: ; preds = %17774
%17779 = load i16, i16* %22
store i16 %17779, i16* %21
br label %17780
17780: ; preds = %17778, %17774
%17781 = load i16, i16* %10
store i16 %17781, i16* %18
%17782 = load i16, i16* %14
%17783 = sext i16 %17782 to i32
%17784 = icmp eq i32 %17783, 0
br i1 %17784, label %17785, label %17786
17785: ; preds = %17780
br label %17790
17786: ; preds = %17780
%17787 = load i16, i16* %14
%17788 = sext i16 %17787 to i32
%17789 = sub nsw i32 25, %17788
br label %17790
17790: ; preds = %17786, %17785
%17791 = phi i32 [ 0, %17785 ], [ %17789, %17786 ]
%17792 = trunc i32 %17791 to i16
store i16 %17792, i16* %10
%17793 = load i16, i16* %18
%17794 = sext i16 %17793 to i32
%17795 = icmp eq i32 %17794, 0
br i1 %17795, label %17796, label %17797
17796: ; preds = %17790
br label %17801
17797: ; preds = %17790
%17798 = load i16, i16* %18
%17799 = sext i16 %17798 to i32
%17800 = sub nsw i32 25, %17799
br label %17801
17801: ; preds = %17797, %17796
%17802 = phi i32 [ 0, %17796 ], [ %17800, %17797 ]
%17803 = trunc i32 %17802 to i16
store i16 %17803, i16* %14
%17804 = load i16, i16* %11
store i16 %17804, i16* %18
%17805 = load i16, i16* %15
%17806 = sext i16 %17805 to i32
%17807 = icmp eq i32 %17806, 0
br i1 %17807, label %17808, label %17809
17808: ; preds = %17801
br label %17813
17809: ; preds = %17801
%17810 = load i16, i16* %15
%17811 = sext i16 %17810 to i32
%17812 = sub nsw i32 25, %17811
br label %17813
17813: ; preds = %17809, %17808
%17814 = phi i32 [ 0, %17808 ], [ %17812, %17809 ]
%17815 = trunc i32 %17814 to i16
store i16 %17815, i16* %11
%17816 = load i16, i16* %18
%17817 = sext i16 %17816 to i32
%17818 = icmp eq i32 %17817, 0
br i1 %17818, label %17819, label %17820
17819: ; preds = %17813
br label %17824
17820: ; preds = %17813
%17821 = load i16, i16* %18
%17822 = sext i16 %17821 to i32
%17823 = sub nsw i32 25, %17822
br label %17824
17824: ; preds = %17820, %17819
%17825 = phi i32 [ 0, %17819 ], [ %17823, %17820 ]
%17826 = trunc i32 %17825 to i16
store i16 %17826, i16* %15
%17827 = load i16, i16* %12
store i16 %17827, i16* %18
%17828 = load i16, i16* %16
%17829 = sext i16 %17828 to i32
%17830 = icmp eq i32 %17829, 0
br i1 %17830, label %17831, label %17832
17831: ; preds = %17824
br label %17836
17832: ; preds = %17824
%17833 = load i16, i16* %16
%17834 = sext i16 %17833 to i32
%17835 = sub nsw i32 25, %17834
br label %17836
17836: ; preds = %17832, %17831
%17837 = phi i32 [ 0, %17831 ], [ %17835, %17832 ]
%17838 = trunc i32 %17837 to i16
store i16 %17838, i16* %12
%17839 = load i16, i16* %18
%17840 = sext i16 %17839 to i32
%17841 = icmp eq i32 %17840, 0
br i1 %17841, label %17842, label %17843
17842: ; preds = %17836
br label %17847
17843: ; preds = %17836
%17844 = load i16, i16* %18
%17845 = sext i16 %17844 to i32
%17846 = sub nsw i32 25, %17845
br label %17847
17847: ; preds = %17843, %17842
%17848 = phi i32 [ 0, %17842 ], [ %17846, %17843 ]
%17849 = trunc i32 %17848 to i16
store i16 %17849, i16* %16
%17850 = load i16, i16* %13
store i16 %17850, i16* %18
%17851 = load i16, i16* %17
%17852 = sext i16 %17851 to i32
%17853 = icmp eq i32 %17852, 0
br i1 %17853, label %17854, label %17855
17854: ; preds = %17847
br label %17859
17855: ; preds = %17847
%17856 = load i16, i16* %17
%17857 = sext i16 %17856 to i32
%17858 = sub nsw i32 25, %17857
br label %17859
17859: ; preds = %17855, %17854
%17860 = phi i32 [ 0, %17854 ], [ %17858, %17855 ]
%17861 = trunc i32 %17860 to i16
store i16 %17861, i16* %13
%17862 = load i16, i16* %18
%17863 = sext i16 %17862 to i32
%17864 = icmp eq i32 %17863, 0
br i1 %17864, label %17865, label %17866
17865: ; preds = %17859
br label %17870
17866: ; preds = %17859
%17867 = load i16, i16* %18
%17868 = sext i16 %17867 to i32
%17869 = sub nsw i32 25, %17868
br label %17870
17870: ; preds = %17866, %17865
%17871 = phi i32 [ 0, %17865 ], [ %17869, %17866 ]
%17872 = trunc i32 %17871 to i16
store i16 %17872, i16* %17
br label %17873
17873: ; preds = %17870, %17655
%17874 = load i16, i16* %19
store i16 %17874, i16* %13
br label %17875
17875: ; preds = %17873, %17431, %17425, %17419, %17413, %17407, %17396
br label %17876
17876: ; preds = %17875, %17392, %17388
br label %19370
17877: ; preds = %17384
%17878 = load i16, i16* %22
%17879 = sext i16 %17878 to i32
%17880 = icmp eq i32 %17879, 29
br i1 %17880, label %17881, label %18375
17881: ; preds = %17877
%17882 = load i16, i16* %13
%17883 = sext i16 %17882 to i32
%17884 = icmp ne i32 %17883, 0
br i1 %17884, label %17885, label %18374
17885: ; preds = %17881
%17886 = load i16, i16* %13
%17887 = sext i16 %17886 to i32
%17888 = icmp slt i32 4, %17887
br i1 %17888, label %17889, label %18374
17889: ; preds = %17885
%17890 = load i16, i16* %13
%17891 = sext i16 %17890 to i32
%17892 = srem i32 %17891, 4
%17893 = icmp ne i32 %17892, 1
br i1 %17893, label %17894, label %18374
17894: ; preds = %17889
%17895 = load i16, i16* %13
store i16 %17895, i16* %19
%17896 = load i16, i16* %19
%17897 = sext i16 %17896 to i32
%17898 = sub nsw i32 %17897, 5
%17899 = trunc i32 %17898 to i16
store i16 %17899, i16* %20
%17900 = load i16, i16* %20
%17901 = sext i16 %17900 to i32
%17902 = load i16, i16* %10
%17903 = sext i16 %17902 to i32
%17904 = icmp ne i32 %17901, %17903
br i1 %17904, label %17905, label %18373
17905: ; preds = %17894
%17906 = load i16, i16* %20
%17907 = sext i16 %17906 to i32
%17908 = load i16, i16* %11
%17909 = sext i16 %17908 to i32
%17910 = icmp ne i32 %17907, %17909
br i1 %17910, label %17911, label %18373
17911: ; preds = %17905
%17912 = load i16, i16* %20
%17913 = sext i16 %17912 to i32
%17914 = load i16, i16* %12
%17915 = sext i16 %17914 to i32
%17916 = icmp ne i32 %17913, %17915
br i1 %17916, label %17917, label %18373
17917: ; preds = %17911
%17918 = load i16, i16* %20
%17919 = sext i16 %17918 to i32
%17920 = load i16, i16* %14
%17921 = sext i16 %17920 to i32
%17922 = icmp ne i32 %17919, %17921
br i1 %17922, label %17923, label %18373
17923: ; preds = %17917
%17924 = load i16, i16* %20
%17925 = sext i16 %17924 to i32
%17926 = load i16, i16* %15
%17927 = sext i16 %17926 to i32
%17928 = icmp ne i32 %17925, %17927
br i1 %17928, label %17929, label %18373
17929: ; preds = %17923
%17930 = load i16, i16* %20
%17931 = sext i16 %17930 to i32
%17932 = load i16, i16* %17
%17933 = sext i16 %17932 to i32
%17934 = icmp ne i32 %17931, %17933
br i1 %17934, label %17935, label %18373
17935: ; preds = %17929
%17936 = load i16, i16* %20
store i16 %17936, i16* %13
%17937 = load i16, i16* %16
%17938 = sext i16 %17937 to i32
%17939 = load i16, i16* %20
%17940 = sext i16 %17939 to i32
%17941 = icmp eq i32 %17938, %17940
br i1 %17941, label %17942, label %18157
17942: ; preds = %17935
store i16 0, i16* %16
%17943 = load i16, i16* %10
store i16 %17943, i16* %18
%17944 = load i16, i16* %14
%17945 = sext i16 %17944 to i32
%17946 = icmp eq i32 %17945, 0
br i1 %17946, label %17947, label %17948
17947: ; preds = %17942
br label %17952
17948: ; preds = %17942
%17949 = load i16, i16* %14
%17950 = sext i16 %17949 to i32
%17951 = sub nsw i32 25, %17950
br label %17952
17952: ; preds = %17948, %17947
%17953 = phi i32 [ 0, %17947 ], [ %17951, %17948 ]
%17954 = trunc i32 %17953 to i16
store i16 %17954, i16* %10
%17955 = load i16, i16* %18
%17956 = sext i16 %17955 to i32
%17957 = icmp eq i32 %17956, 0
br i1 %17957, label %17958, label %17959
17958: ; preds = %17952
br label %17963
17959: ; preds = %17952
%17960 = load i16, i16* %18
%17961 = sext i16 %17960 to i32
%17962 = sub nsw i32 25, %17961
br label %17963
17963: ; preds = %17959, %17958
%17964 = phi i32 [ 0, %17958 ], [ %17962, %17959 ]
%17965 = trunc i32 %17964 to i16
store i16 %17965, i16* %14
%17966 = load i16, i16* %11
store i16 %17966, i16* %18
%17967 = load i16, i16* %15
%17968 = sext i16 %17967 to i32
%17969 = icmp eq i32 %17968, 0
br i1 %17969, label %17970, label %17971
17970: ; preds = %17963
br label %17975
17971: ; preds = %17963
%17972 = load i16, i16* %15
%17973 = sext i16 %17972 to i32
%17974 = sub nsw i32 25, %17973
br label %17975
17975: ; preds = %17971, %17970
%17976 = phi i32 [ 0, %17970 ], [ %17974, %17971 ]
%17977 = trunc i32 %17976 to i16
store i16 %17977, i16* %11
%17978 = load i16, i16* %18
%17979 = sext i16 %17978 to i32
%17980 = icmp eq i32 %17979, 0
br i1 %17980, label %17981, label %17982
17981: ; preds = %17975
br label %17986
17982: ; preds = %17975
%17983 = load i16, i16* %18
%17984 = sext i16 %17983 to i32
%17985 = sub nsw i32 25, %17984
br label %17986
17986: ; preds = %17982, %17981
%17987 = phi i32 [ 0, %17981 ], [ %17985, %17982 ]
%17988 = trunc i32 %17987 to i16
store i16 %17988, i16* %15
%17989 = load i16, i16* %12
store i16 %17989, i16* %18
%17990 = load i16, i16* %16
%17991 = sext i16 %17990 to i32
%17992 = icmp eq i32 %17991, 0
br i1 %17992, label %17993, label %17994
17993: ; preds = %17986
br label %17998
17994: ; preds = %17986
%17995 = load i16, i16* %16
%17996 = sext i16 %17995 to i32
%17997 = sub nsw i32 25, %17996
br label %17998
17998: ; preds = %17994, %17993
%17999 = phi i32 [ 0, %17993 ], [ %17997, %17994 ]
%18000 = trunc i32 %17999 to i16
store i16 %18000, i16* %12
%18001 = load i16, i16* %18
%18002 = sext i16 %18001 to i32
%18003 = icmp eq i32 %18002, 0
br i1 %18003, label %18004, label %18005
18004: ; preds = %17998
br label %18009
18005: ; preds = %17998
%18006 = load i16, i16* %18
%18007 = sext i16 %18006 to i32
%18008 = sub nsw i32 25, %18007
br label %18009
18009: ; preds = %18005, %18004
%18010 = phi i32 [ 0, %18004 ], [ %18008, %18005 ]
%18011 = trunc i32 %18010 to i16
store i16 %18011, i16* %16
%18012 = load i16, i16* %13
store i16 %18012, i16* %18
%18013 = load i16, i16* %17
%18014 = sext i16 %18013 to i32
%18015 = icmp eq i32 %18014, 0
br i1 %18015, label %18016, label %18017
18016: ; preds = %18009
br label %18021
18017: ; preds = %18009
%18018 = load i16, i16* %17
%18019 = sext i16 %18018 to i32
%18020 = sub nsw i32 25, %18019
br label %18021
18021: ; preds = %18017, %18016
%18022 = phi i32 [ 0, %18016 ], [ %18020, %18017 ]
%18023 = trunc i32 %18022 to i16
store i16 %18023, i16* %13
%18024 = load i16, i16* %18
%18025 = sext i16 %18024 to i32
%18026 = icmp eq i32 %18025, 0
br i1 %18026, label %18027, label %18028
18027: ; preds = %18021
br label %18032
18028: ; preds = %18021
%18029 = load i16, i16* %18
%18030 = sext i16 %18029 to i32
%18031 = sub nsw i32 25, %18030
br label %18032
18032: ; preds = %18028, %18027
%18033 = phi i32 [ 0, %18027 ], [ %18031, %18028 ]
%18034 = trunc i32 %18033 to i16
store i16 %18034, i16* %17
%18035 = load i16, i16* %10
%18036 = sext i16 %18035 to i32
%18037 = load i16, i16* %11
%18038 = sext i16 %18037 to i32
%18039 = load i16, i16* %12
%18040 = sext i16 %18039 to i32
%18041 = load i16, i16* %13
%18042 = sext i16 %18041 to i32
%18043 = load i16, i16* %14
%18044 = sext i16 %18043 to i32
%18045 = load i16, i16* %15
%18046 = sext i16 %18045 to i32
%18047 = load i16, i16* %16
%18048 = sext i16 %18047 to i32
%18049 = load i16, i16* %17
%18050 = sext i16 %18049 to i32
%18051 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18036, i32 %18038, i32 %18040, i32 %18042, i32 %18044, i32 %18046, i32 %18048, i32 %18050)
%18052 = trunc i32 %18051 to i16
store i16 %18052, i16* %18
%18053 = load i16, i16* %18
%18054 = sext i16 %18053 to i32
%18055 = icmp eq i32 %18054, -1
br i1 %18055, label %18056, label %18057
18056: ; preds = %18032
store i16 -1, i16* %9
br label %19404
18057: ; preds = %18032
%18058 = load i16, i16* %18
%18059 = sext i16 %18058 to i32
%18060 = icmp sle i32 0, %18059
br i1 %18060, label %18061, label %18063
18061: ; preds = %18057
%18062 = load i16, i16* %22
store i16 %18062, i16* %21
br label %18063
18063: ; preds = %18061, %18057
%18064 = load i16, i16* %10
store i16 %18064, i16* %18
%18065 = load i16, i16* %14
%18066 = sext i16 %18065 to i32
%18067 = icmp eq i32 %18066, 0
br i1 %18067, label %18068, label %18069
18068: ; preds = %18063
br label %18073
18069: ; preds = %18063
%18070 = load i16, i16* %14
%18071 = sext i16 %18070 to i32
%18072 = sub nsw i32 25, %18071
br label %18073
18073: ; preds = %18069, %18068
%18074 = phi i32 [ 0, %18068 ], [ %18072, %18069 ]
%18075 = trunc i32 %18074 to i16
store i16 %18075, i16* %10
%18076 = load i16, i16* %18
%18077 = sext i16 %18076 to i32
%18078 = icmp eq i32 %18077, 0
br i1 %18078, label %18079, label %18080
18079: ; preds = %18073
br label %18084
18080: ; preds = %18073
%18081 = load i16, i16* %18
%18082 = sext i16 %18081 to i32
%18083 = sub nsw i32 25, %18082
br label %18084
18084: ; preds = %18080, %18079
%18085 = phi i32 [ 0, %18079 ], [ %18083, %18080 ]
%18086 = trunc i32 %18085 to i16
store i16 %18086, i16* %14
%18087 = load i16, i16* %11
store i16 %18087, i16* %18
%18088 = load i16, i16* %15
%18089 = sext i16 %18088 to i32
%18090 = icmp eq i32 %18089, 0
br i1 %18090, label %18091, label %18092
18091: ; preds = %18084
br label %18096
18092: ; preds = %18084
%18093 = load i16, i16* %15
%18094 = sext i16 %18093 to i32
%18095 = sub nsw i32 25, %18094
br label %18096
18096: ; preds = %18092, %18091
%18097 = phi i32 [ 0, %18091 ], [ %18095, %18092 ]
%18098 = trunc i32 %18097 to i16
store i16 %18098, i16* %11
%18099 = load i16, i16* %18
%18100 = sext i16 %18099 to i32
%18101 = icmp eq i32 %18100, 0
br i1 %18101, label %18102, label %18103
18102: ; preds = %18096
br label %18107
18103: ; preds = %18096
%18104 = load i16, i16* %18
%18105 = sext i16 %18104 to i32
%18106 = sub nsw i32 25, %18105
br label %18107
18107: ; preds = %18103, %18102
%18108 = phi i32 [ 0, %18102 ], [ %18106, %18103 ]
%18109 = trunc i32 %18108 to i16
store i16 %18109, i16* %15
%18110 = load i16, i16* %12
store i16 %18110, i16* %18
%18111 = load i16, i16* %16
%18112 = sext i16 %18111 to i32
%18113 = icmp eq i32 %18112, 0
br i1 %18113, label %18114, label %18115
18114: ; preds = %18107
br label %18119
18115: ; preds = %18107
%18116 = load i16, i16* %16
%18117 = sext i16 %18116 to i32
%18118 = sub nsw i32 25, %18117
br label %18119
18119: ; preds = %18115, %18114
%18120 = phi i32 [ 0, %18114 ], [ %18118, %18115 ]
%18121 = trunc i32 %18120 to i16
store i16 %18121, i16* %12
%18122 = load i16, i16* %18
%18123 = sext i16 %18122 to i32
%18124 = icmp eq i32 %18123, 0
br i1 %18124, label %18125, label %18126
18125: ; preds = %18119
br label %18130
18126: ; preds = %18119
%18127 = load i16, i16* %18
%18128 = sext i16 %18127 to i32
%18129 = sub nsw i32 25, %18128
br label %18130
18130: ; preds = %18126, %18125
%18131 = phi i32 [ 0, %18125 ], [ %18129, %18126 ]
%18132 = trunc i32 %18131 to i16
store i16 %18132, i16* %16
%18133 = load i16, i16* %13
store i16 %18133, i16* %18
%18134 = load i16, i16* %17
%18135 = sext i16 %18134 to i32
%18136 = icmp eq i32 %18135, 0
br i1 %18136, label %18137, label %18138
18137: ; preds = %18130
br label %18142
18138: ; preds = %18130
%18139 = load i16, i16* %17
%18140 = sext i16 %18139 to i32
%18141 = sub nsw i32 25, %18140
br label %18142
18142: ; preds = %18138, %18137
%18143 = phi i32 [ 0, %18137 ], [ %18141, %18138 ]
%18144 = trunc i32 %18143 to i16
store i16 %18144, i16* %13
%18145 = load i16, i16* %18
%18146 = sext i16 %18145 to i32
%18147 = icmp eq i32 %18146, 0
br i1 %18147, label %18148, label %18149
18148: ; preds = %18142
br label %18153
18149: ; preds = %18142
%18150 = load i16, i16* %18
%18151 = sext i16 %18150 to i32
%18152 = sub nsw i32 25, %18151
br label %18153
18153: ; preds = %18149, %18148
%18154 = phi i32 [ 0, %18148 ], [ %18152, %18149 ]
%18155 = trunc i32 %18154 to i16
store i16 %18155, i16* %17
%18156 = load i16, i16* %20
store i16 %18156, i16* %16
br label %18371
18157: ; preds = %17935
%18158 = load i16, i16* %10
store i16 %18158, i16* %18
%18159 = load i16, i16* %14
%18160 = sext i16 %18159 to i32
%18161 = icmp eq i32 %18160, 0
br i1 %18161, label %18162, label %18163
18162: ; preds = %18157
br label %18167
18163: ; preds = %18157
%18164 = load i16, i16* %14
%18165 = sext i16 %18164 to i32
%18166 = sub nsw i32 25, %18165
br label %18167
18167: ; preds = %18163, %18162
%18168 = phi i32 [ 0, %18162 ], [ %18166, %18163 ]
%18169 = trunc i32 %18168 to i16
store i16 %18169, i16* %10
%18170 = load i16, i16* %18
%18171 = sext i16 %18170 to i32
%18172 = icmp eq i32 %18171, 0
br i1 %18172, label %18173, label %18174
18173: ; preds = %18167
br label %18178
18174: ; preds = %18167
%18175 = load i16, i16* %18
%18176 = sext i16 %18175 to i32
%18177 = sub nsw i32 25, %18176
br label %18178
18178: ; preds = %18174, %18173
%18179 = phi i32 [ 0, %18173 ], [ %18177, %18174 ]
%18180 = trunc i32 %18179 to i16
store i16 %18180, i16* %14
%18181 = load i16, i16* %11
store i16 %18181, i16* %18
%18182 = load i16, i16* %15
%18183 = sext i16 %18182 to i32
%18184 = icmp eq i32 %18183, 0
br i1 %18184, label %18185, label %18186
18185: ; preds = %18178
br label %18190
18186: ; preds = %18178
%18187 = load i16, i16* %15
%18188 = sext i16 %18187 to i32
%18189 = sub nsw i32 25, %18188
br label %18190
18190: ; preds = %18186, %18185
%18191 = phi i32 [ 0, %18185 ], [ %18189, %18186 ]
%18192 = trunc i32 %18191 to i16
store i16 %18192, i16* %11
%18193 = load i16, i16* %18
%18194 = sext i16 %18193 to i32
%18195 = icmp eq i32 %18194, 0
br i1 %18195, label %18196, label %18197
18196: ; preds = %18190
br label %18201
18197: ; preds = %18190
%18198 = load i16, i16* %18
%18199 = sext i16 %18198 to i32
%18200 = sub nsw i32 25, %18199
br label %18201
18201: ; preds = %18197, %18196
%18202 = phi i32 [ 0, %18196 ], [ %18200, %18197 ]
%18203 = trunc i32 %18202 to i16
store i16 %18203, i16* %15
%18204 = load i16, i16* %12
store i16 %18204, i16* %18
%18205 = load i16, i16* %16
%18206 = sext i16 %18205 to i32
%18207 = icmp eq i32 %18206, 0
br i1 %18207, label %18208, label %18209
18208: ; preds = %18201
br label %18213
18209: ; preds = %18201
%18210 = load i16, i16* %16
%18211 = sext i16 %18210 to i32
%18212 = sub nsw i32 25, %18211
br label %18213
18213: ; preds = %18209, %18208
%18214 = phi i32 [ 0, %18208 ], [ %18212, %18209 ]
%18215 = trunc i32 %18214 to i16
store i16 %18215, i16* %12
%18216 = load i16, i16* %18
%18217 = sext i16 %18216 to i32
%18218 = icmp eq i32 %18217, 0
br i1 %18218, label %18219, label %18220
18219: ; preds = %18213
br label %18224
18220: ; preds = %18213
%18221 = load i16, i16* %18
%18222 = sext i16 %18221 to i32
%18223 = sub nsw i32 25, %18222
br label %18224
18224: ; preds = %18220, %18219
%18225 = phi i32 [ 0, %18219 ], [ %18223, %18220 ]
%18226 = trunc i32 %18225 to i16
store i16 %18226, i16* %16
%18227 = load i16, i16* %13
store i16 %18227, i16* %18
%18228 = load i16, i16* %17
%18229 = sext i16 %18228 to i32
%18230 = icmp eq i32 %18229, 0
br i1 %18230, label %18231, label %18232
18231: ; preds = %18224
br label %18236
18232: ; preds = %18224
%18233 = load i16, i16* %17
%18234 = sext i16 %18233 to i32
%18235 = sub nsw i32 25, %18234
br label %18236
18236: ; preds = %18232, %18231
%18237 = phi i32 [ 0, %18231 ], [ %18235, %18232 ]
%18238 = trunc i32 %18237 to i16
store i16 %18238, i16* %13
%18239 = load i16, i16* %18
%18240 = sext i16 %18239 to i32
%18241 = icmp eq i32 %18240, 0
br i1 %18241, label %18242, label %18243
18242: ; preds = %18236
br label %18247
18243: ; preds = %18236
%18244 = load i16, i16* %18
%18245 = sext i16 %18244 to i32
%18246 = sub nsw i32 25, %18245
br label %18247
18247: ; preds = %18243, %18242
%18248 = phi i32 [ 0, %18242 ], [ %18246, %18243 ]
%18249 = trunc i32 %18248 to i16
store i16 %18249, i16* %17
%18250 = load i16, i16* %10
%18251 = sext i16 %18250 to i32
%18252 = load i16, i16* %11
%18253 = sext i16 %18252 to i32
%18254 = load i16, i16* %12
%18255 = sext i16 %18254 to i32
%18256 = load i16, i16* %13
%18257 = sext i16 %18256 to i32
%18258 = load i16, i16* %14
%18259 = sext i16 %18258 to i32
%18260 = load i16, i16* %15
%18261 = sext i16 %18260 to i32
%18262 = load i16, i16* %16
%18263 = sext i16 %18262 to i32
%18264 = load i16, i16* %17
%18265 = sext i16 %18264 to i32
%18266 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18251, i32 %18253, i32 %18255, i32 %18257, i32 %18259, i32 %18261, i32 %18263, i32 %18265)
%18267 = trunc i32 %18266 to i16
store i16 %18267, i16* %18
%18268 = load i16, i16* %18
%18269 = sext i16 %18268 to i32
%18270 = icmp eq i32 %18269, -1
br i1 %18270, label %18271, label %18272
18271: ; preds = %18247
store i16 -1, i16* %9
br label %19404
18272: ; preds = %18247
%18273 = load i16, i16* %18
%18274 = sext i16 %18273 to i32
%18275 = icmp sle i32 0, %18274
br i1 %18275, label %18276, label %18278
18276: ; preds = %18272
%18277 = load i16, i16* %22
store i16 %18277, i16* %21
br label %18278
18278: ; preds = %18276, %18272
%18279 = load i16, i16* %10
store i16 %18279, i16* %18
%18280 = load i16, i16* %14
%18281 = sext i16 %18280 to i32
%18282 = icmp eq i32 %18281, 0
br i1 %18282, label %18283, label %18284
18283: ; preds = %18278
br label %18288
18284: ; preds = %18278
%18285 = load i16, i16* %14
%18286 = sext i16 %18285 to i32
%18287 = sub nsw i32 25, %18286
br label %18288
18288: ; preds = %18284, %18283
%18289 = phi i32 [ 0, %18283 ], [ %18287, %18284 ]
%18290 = trunc i32 %18289 to i16
store i16 %18290, i16* %10
%18291 = load i16, i16* %18
%18292 = sext i16 %18291 to i32
%18293 = icmp eq i32 %18292, 0
br i1 %18293, label %18294, label %18295
18294: ; preds = %18288
br label %18299
18295: ; preds = %18288
%18296 = load i16, i16* %18
%18297 = sext i16 %18296 to i32
%18298 = sub nsw i32 25, %18297
br label %18299
18299: ; preds = %18295, %18294
%18300 = phi i32 [ 0, %18294 ], [ %18298, %18295 ]
%18301 = trunc i32 %18300 to i16
store i16 %18301, i16* %14
%18302 = load i16, i16* %11
store i16 %18302, i16* %18
%18303 = load i16, i16* %15
%18304 = sext i16 %18303 to i32
%18305 = icmp eq i32 %18304, 0
br i1 %18305, label %18306, label %18307
18306: ; preds = %18299
br label %18311
18307: ; preds = %18299
%18308 = load i16, i16* %15
%18309 = sext i16 %18308 to i32
%18310 = sub nsw i32 25, %18309
br label %18311
18311: ; preds = %18307, %18306
%18312 = phi i32 [ 0, %18306 ], [ %18310, %18307 ]
%18313 = trunc i32 %18312 to i16
store i16 %18313, i16* %11
%18314 = load i16, i16* %18
%18315 = sext i16 %18314 to i32
%18316 = icmp eq i32 %18315, 0
br i1 %18316, label %18317, label %18318
18317: ; preds = %18311
br label %18322
18318: ; preds = %18311
%18319 = load i16, i16* %18
%18320 = sext i16 %18319 to i32
%18321 = sub nsw i32 25, %18320
br label %18322
18322: ; preds = %18318, %18317
%18323 = phi i32 [ 0, %18317 ], [ %18321, %18318 ]
%18324 = trunc i32 %18323 to i16
store i16 %18324, i16* %15
%18325 = load i16, i16* %12
store i16 %18325, i16* %18
%18326 = load i16, i16* %16
%18327 = sext i16 %18326 to i32
%18328 = icmp eq i32 %18327, 0
br i1 %18328, label %18329, label %18330
18329: ; preds = %18322
br label %18334
18330: ; preds = %18322
%18331 = load i16, i16* %16
%18332 = sext i16 %18331 to i32
%18333 = sub nsw i32 25, %18332
br label %18334
18334: ; preds = %18330, %18329
%18335 = phi i32 [ 0, %18329 ], [ %18333, %18330 ]
%18336 = trunc i32 %18335 to i16
store i16 %18336, i16* %12
%18337 = load i16, i16* %18
%18338 = sext i16 %18337 to i32
%18339 = icmp eq i32 %18338, 0
br i1 %18339, label %18340, label %18341
18340: ; preds = %18334
br label %18345
18341: ; preds = %18334
%18342 = load i16, i16* %18
%18343 = sext i16 %18342 to i32
%18344 = sub nsw i32 25, %18343
br label %18345
18345: ; preds = %18341, %18340
%18346 = phi i32 [ 0, %18340 ], [ %18344, %18341 ]
%18347 = trunc i32 %18346 to i16
store i16 %18347, i16* %16
%18348 = load i16, i16* %13
store i16 %18348, i16* %18
%18349 = load i16, i16* %17
%18350 = sext i16 %18349 to i32
%18351 = icmp eq i32 %18350, 0
br i1 %18351, label %18352, label %18353
18352: ; preds = %18345
br label %18357
18353: ; preds = %18345
%18354 = load i16, i16* %17
%18355 = sext i16 %18354 to i32
%18356 = sub nsw i32 25, %18355
br label %18357
18357: ; preds = %18353, %18352
%18358 = phi i32 [ 0, %18352 ], [ %18356, %18353 ]
%18359 = trunc i32 %18358 to i16
store i16 %18359, i16* %13
%18360 = load i16, i16* %18
%18361 = sext i16 %18360 to i32
%18362 = icmp eq i32 %18361, 0
br i1 %18362, label %18363, label %18364
18363: ; preds = %18357
br label %18368
18364: ; preds = %18357
%18365 = load i16, i16* %18
%18366 = sext i16 %18365 to i32
%18367 = sub nsw i32 25, %18366
br label %18368
18368: ; preds = %18364, %18363
%18369 = phi i32 [ 0, %18363 ], [ %18367, %18364 ]
%18370 = trunc i32 %18369 to i16
store i16 %18370, i16* %17
br label %18371
18371: ; preds = %18368, %18153
%18372 = load i16, i16* %19
store i16 %18372, i16* %13
br label %18373
18373: ; preds = %18371, %17929, %17923, %17917, %17911, %17905, %17894
br label %18374
18374: ; preds = %18373, %17889, %17885, %17881
br label %19369
18375: ; preds = %17877
%18376 = load i16, i16* %22
%18377 = sext i16 %18376 to i32
%18378 = icmp eq i32 %18377, 30
br i1 %18378, label %18379, label %18869
18379: ; preds = %18375
%18380 = load i16, i16* %13
%18381 = sext i16 %18380 to i32
%18382 = icmp ne i32 %18381, 0
br i1 %18382, label %18383, label %18868
18383: ; preds = %18379
%18384 = load i16, i16* %13
%18385 = sext i16 %18384 to i32
%18386 = srem i32 %18385, 4
%18387 = icmp ne i32 %18386, 1
br i1 %18387, label %18388, label %18868
18388: ; preds = %18383
%18389 = load i16, i16* %13
store i16 %18389, i16* %19
%18390 = load i16, i16* %19
%18391 = sext i16 %18390 to i32
%18392 = sub nsw i32 %18391, 1
%18393 = trunc i32 %18392 to i16
store i16 %18393, i16* %20
%18394 = load i16, i16* %20
%18395 = sext i16 %18394 to i32
%18396 = load i16, i16* %10
%18397 = sext i16 %18396 to i32
%18398 = icmp ne i32 %18395, %18397
br i1 %18398, label %18399, label %18867
18399: ; preds = %18388
%18400 = load i16, i16* %20
%18401 = sext i16 %18400 to i32
%18402 = load i16, i16* %11
%18403 = sext i16 %18402 to i32
%18404 = icmp ne i32 %18401, %18403
br i1 %18404, label %18405, label %18867
18405: ; preds = %18399
%18406 = load i16, i16* %20
%18407 = sext i16 %18406 to i32
%18408 = load i16, i16* %12
%18409 = sext i16 %18408 to i32
%18410 = icmp ne i32 %18407, %18409
br i1 %18410, label %18411, label %18867
18411: ; preds = %18405
%18412 = load i16, i16* %20
%18413 = sext i16 %18412 to i32
%18414 = load i16, i16* %14
%18415 = sext i16 %18414 to i32
%18416 = icmp ne i32 %18413, %18415
br i1 %18416, label %18417, label %18867
18417: ; preds = %18411
%18418 = load i16, i16* %20
%18419 = sext i16 %18418 to i32
%18420 = load i16, i16* %15
%18421 = sext i16 %18420 to i32
%18422 = icmp ne i32 %18419, %18421
br i1 %18422, label %18423, label %18867
18423: ; preds = %18417
%18424 = load i16, i16* %20
%18425 = sext i16 %18424 to i32
%18426 = load i16, i16* %17
%18427 = sext i16 %18426 to i32
%18428 = icmp ne i32 %18425, %18427
br i1 %18428, label %18429, label %18867
18429: ; preds = %18423
%18430 = load i16, i16* %20
store i16 %18430, i16* %13
%18431 = load i16, i16* %16
%18432 = sext i16 %18431 to i32
%18433 = load i16, i16* %20
%18434 = sext i16 %18433 to i32
%18435 = icmp eq i32 %18432, %18434
br i1 %18435, label %18436, label %18651
18436: ; preds = %18429
store i16 0, i16* %16
%18437 = load i16, i16* %10
store i16 %18437, i16* %18
%18438 = load i16, i16* %14
%18439 = sext i16 %18438 to i32
%18440 = icmp eq i32 %18439, 0
br i1 %18440, label %18441, label %18442
18441: ; preds = %18436
br label %18446
18442: ; preds = %18436
%18443 = load i16, i16* %14
%18444 = sext i16 %18443 to i32
%18445 = sub nsw i32 25, %18444
br label %18446
18446: ; preds = %18442, %18441
%18447 = phi i32 [ 0, %18441 ], [ %18445, %18442 ]
%18448 = trunc i32 %18447 to i16
store i16 %18448, i16* %10
%18449 = load i16, i16* %18
%18450 = sext i16 %18449 to i32
%18451 = icmp eq i32 %18450, 0
br i1 %18451, label %18452, label %18453
18452: ; preds = %18446
br label %18457
18453: ; preds = %18446
%18454 = load i16, i16* %18
%18455 = sext i16 %18454 to i32
%18456 = sub nsw i32 25, %18455
br label %18457
18457: ; preds = %18453, %18452
%18458 = phi i32 [ 0, %18452 ], [ %18456, %18453 ]
%18459 = trunc i32 %18458 to i16
store i16 %18459, i16* %14
%18460 = load i16, i16* %11
store i16 %18460, i16* %18
%18461 = load i16, i16* %15
%18462 = sext i16 %18461 to i32
%18463 = icmp eq i32 %18462, 0
br i1 %18463, label %18464, label %18465
18464: ; preds = %18457
br label %18469
18465: ; preds = %18457
%18466 = load i16, i16* %15
%18467 = sext i16 %18466 to i32
%18468 = sub nsw i32 25, %18467
br label %18469
18469: ; preds = %18465, %18464
%18470 = phi i32 [ 0, %18464 ], [ %18468, %18465 ]
%18471 = trunc i32 %18470 to i16
store i16 %18471, i16* %11
%18472 = load i16, i16* %18
%18473 = sext i16 %18472 to i32
%18474 = icmp eq i32 %18473, 0
br i1 %18474, label %18475, label %18476
18475: ; preds = %18469
br label %18480
18476: ; preds = %18469
%18477 = load i16, i16* %18
%18478 = sext i16 %18477 to i32
%18479 = sub nsw i32 25, %18478
br label %18480
18480: ; preds = %18476, %18475
%18481 = phi i32 [ 0, %18475 ], [ %18479, %18476 ]
%18482 = trunc i32 %18481 to i16
store i16 %18482, i16* %15
%18483 = load i16, i16* %12
store i16 %18483, i16* %18
%18484 = load i16, i16* %16
%18485 = sext i16 %18484 to i32
%18486 = icmp eq i32 %18485, 0
br i1 %18486, label %18487, label %18488
18487: ; preds = %18480
br label %18492
18488: ; preds = %18480
%18489 = load i16, i16* %16
%18490 = sext i16 %18489 to i32
%18491 = sub nsw i32 25, %18490
br label %18492
18492: ; preds = %18488, %18487
%18493 = phi i32 [ 0, %18487 ], [ %18491, %18488 ]
%18494 = trunc i32 %18493 to i16
store i16 %18494, i16* %12
%18495 = load i16, i16* %18
%18496 = sext i16 %18495 to i32
%18497 = icmp eq i32 %18496, 0
br i1 %18497, label %18498, label %18499
18498: ; preds = %18492
br label %18503
18499: ; preds = %18492
%18500 = load i16, i16* %18
%18501 = sext i16 %18500 to i32
%18502 = sub nsw i32 25, %18501
br label %18503
18503: ; preds = %18499, %18498
%18504 = phi i32 [ 0, %18498 ], [ %18502, %18499 ]
%18505 = trunc i32 %18504 to i16
store i16 %18505, i16* %16
%18506 = load i16, i16* %13
store i16 %18506, i16* %18
%18507 = load i16, i16* %17
%18508 = sext i16 %18507 to i32
%18509 = icmp eq i32 %18508, 0
br i1 %18509, label %18510, label %18511
18510: ; preds = %18503
br label %18515
18511: ; preds = %18503
%18512 = load i16, i16* %17
%18513 = sext i16 %18512 to i32
%18514 = sub nsw i32 25, %18513
br label %18515
18515: ; preds = %18511, %18510
%18516 = phi i32 [ 0, %18510 ], [ %18514, %18511 ]
%18517 = trunc i32 %18516 to i16
store i16 %18517, i16* %13
%18518 = load i16, i16* %18
%18519 = sext i16 %18518 to i32
%18520 = icmp eq i32 %18519, 0
br i1 %18520, label %18521, label %18522
18521: ; preds = %18515
br label %18526
18522: ; preds = %18515
%18523 = load i16, i16* %18
%18524 = sext i16 %18523 to i32
%18525 = sub nsw i32 25, %18524
br label %18526
18526: ; preds = %18522, %18521
%18527 = phi i32 [ 0, %18521 ], [ %18525, %18522 ]
%18528 = trunc i32 %18527 to i16
store i16 %18528, i16* %17
%18529 = load i16, i16* %10
%18530 = sext i16 %18529 to i32
%18531 = load i16, i16* %11
%18532 = sext i16 %18531 to i32
%18533 = load i16, i16* %12
%18534 = sext i16 %18533 to i32
%18535 = load i16, i16* %13
%18536 = sext i16 %18535 to i32
%18537 = load i16, i16* %14
%18538 = sext i16 %18537 to i32
%18539 = load i16, i16* %15
%18540 = sext i16 %18539 to i32
%18541 = load i16, i16* %16
%18542 = sext i16 %18541 to i32
%18543 = load i16, i16* %17
%18544 = sext i16 %18543 to i32
%18545 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18530, i32 %18532, i32 %18534, i32 %18536, i32 %18538, i32 %18540, i32 %18542, i32 %18544)
%18546 = trunc i32 %18545 to i16
store i16 %18546, i16* %18
%18547 = load i16, i16* %18
%18548 = sext i16 %18547 to i32
%18549 = icmp eq i32 %18548, -1
br i1 %18549, label %18550, label %18551
18550: ; preds = %18526
store i16 -1, i16* %9
br label %19404
18551: ; preds = %18526
%18552 = load i16, i16* %18
%18553 = sext i16 %18552 to i32
%18554 = icmp sle i32 0, %18553
br i1 %18554, label %18555, label %18557
18555: ; preds = %18551
%18556 = load i16, i16* %22
store i16 %18556, i16* %21
br label %18557
18557: ; preds = %18555, %18551
%18558 = load i16, i16* %10
store i16 %18558, i16* %18
%18559 = load i16, i16* %14
%18560 = sext i16 %18559 to i32
%18561 = icmp eq i32 %18560, 0
br i1 %18561, label %18562, label %18563
18562: ; preds = %18557
br label %18567
18563: ; preds = %18557
%18564 = load i16, i16* %14
%18565 = sext i16 %18564 to i32
%18566 = sub nsw i32 25, %18565
br label %18567
18567: ; preds = %18563, %18562
%18568 = phi i32 [ 0, %18562 ], [ %18566, %18563 ]
%18569 = trunc i32 %18568 to i16
store i16 %18569, i16* %10
%18570 = load i16, i16* %18
%18571 = sext i16 %18570 to i32
%18572 = icmp eq i32 %18571, 0
br i1 %18572, label %18573, label %18574
18573: ; preds = %18567
br label %18578
18574: ; preds = %18567
%18575 = load i16, i16* %18
%18576 = sext i16 %18575 to i32
%18577 = sub nsw i32 25, %18576
br label %18578
18578: ; preds = %18574, %18573
%18579 = phi i32 [ 0, %18573 ], [ %18577, %18574 ]
%18580 = trunc i32 %18579 to i16
store i16 %18580, i16* %14
%18581 = load i16, i16* %11
store i16 %18581, i16* %18
%18582 = load i16, i16* %15
%18583 = sext i16 %18582 to i32
%18584 = icmp eq i32 %18583, 0
br i1 %18584, label %18585, label %18586
18585: ; preds = %18578
br label %18590
18586: ; preds = %18578
%18587 = load i16, i16* %15
%18588 = sext i16 %18587 to i32
%18589 = sub nsw i32 25, %18588
br label %18590
18590: ; preds = %18586, %18585
%18591 = phi i32 [ 0, %18585 ], [ %18589, %18586 ]
%18592 = trunc i32 %18591 to i16
store i16 %18592, i16* %11
%18593 = load i16, i16* %18
%18594 = sext i16 %18593 to i32
%18595 = icmp eq i32 %18594, 0
br i1 %18595, label %18596, label %18597
18596: ; preds = %18590
br label %18601
18597: ; preds = %18590
%18598 = load i16, i16* %18
%18599 = sext i16 %18598 to i32
%18600 = sub nsw i32 25, %18599
br label %18601
18601: ; preds = %18597, %18596
%18602 = phi i32 [ 0, %18596 ], [ %18600, %18597 ]
%18603 = trunc i32 %18602 to i16
store i16 %18603, i16* %15
%18604 = load i16, i16* %12
store i16 %18604, i16* %18
%18605 = load i16, i16* %16
%18606 = sext i16 %18605 to i32
%18607 = icmp eq i32 %18606, 0
br i1 %18607, label %18608, label %18609
18608: ; preds = %18601
br label %18613
18609: ; preds = %18601
%18610 = load i16, i16* %16
%18611 = sext i16 %18610 to i32
%18612 = sub nsw i32 25, %18611
br label %18613
18613: ; preds = %18609, %18608
%18614 = phi i32 [ 0, %18608 ], [ %18612, %18609 ]
%18615 = trunc i32 %18614 to i16
store i16 %18615, i16* %12
%18616 = load i16, i16* %18
%18617 = sext i16 %18616 to i32
%18618 = icmp eq i32 %18617, 0
br i1 %18618, label %18619, label %18620
18619: ; preds = %18613
br label %18624
18620: ; preds = %18613
%18621 = load i16, i16* %18
%18622 = sext i16 %18621 to i32
%18623 = sub nsw i32 25, %18622
br label %18624
18624: ; preds = %18620, %18619
%18625 = phi i32 [ 0, %18619 ], [ %18623, %18620 ]
%18626 = trunc i32 %18625 to i16
store i16 %18626, i16* %16
%18627 = load i16, i16* %13
store i16 %18627, i16* %18
%18628 = load i16, i16* %17
%18629 = sext i16 %18628 to i32
%18630 = icmp eq i32 %18629, 0
br i1 %18630, label %18631, label %18632
18631: ; preds = %18624
br label %18636
18632: ; preds = %18624
%18633 = load i16, i16* %17
%18634 = sext i16 %18633 to i32
%18635 = sub nsw i32 25, %18634
br label %18636
18636: ; preds = %18632, %18631
%18637 = phi i32 [ 0, %18631 ], [ %18635, %18632 ]
%18638 = trunc i32 %18637 to i16
store i16 %18638, i16* %13
%18639 = load i16, i16* %18
%18640 = sext i16 %18639 to i32
%18641 = icmp eq i32 %18640, 0
br i1 %18641, label %18642, label %18643
18642: ; preds = %18636
br label %18647
18643: ; preds = %18636
%18644 = load i16, i16* %18
%18645 = sext i16 %18644 to i32
%18646 = sub nsw i32 25, %18645
br label %18647
18647: ; preds = %18643, %18642
%18648 = phi i32 [ 0, %18642 ], [ %18646, %18643 ]
%18649 = trunc i32 %18648 to i16
store i16 %18649, i16* %17
%18650 = load i16, i16* %20
store i16 %18650, i16* %16
br label %18865
18651: ; preds = %18429
%18652 = load i16, i16* %10
store i16 %18652, i16* %18
%18653 = load i16, i16* %14
%18654 = sext i16 %18653 to i32
%18655 = icmp eq i32 %18654, 0
br i1 %18655, label %18656, label %18657
18656: ; preds = %18651
br label %18661
18657: ; preds = %18651
%18658 = load i16, i16* %14
%18659 = sext i16 %18658 to i32
%18660 = sub nsw i32 25, %18659
br label %18661
18661: ; preds = %18657, %18656
%18662 = phi i32 [ 0, %18656 ], [ %18660, %18657 ]
%18663 = trunc i32 %18662 to i16
store i16 %18663, i16* %10
%18664 = load i16, i16* %18
%18665 = sext i16 %18664 to i32
%18666 = icmp eq i32 %18665, 0
br i1 %18666, label %18667, label %18668
18667: ; preds = %18661
br label %18672
18668: ; preds = %18661
%18669 = load i16, i16* %18
%18670 = sext i16 %18669 to i32
%18671 = sub nsw i32 25, %18670
br label %18672
18672: ; preds = %18668, %18667
%18673 = phi i32 [ 0, %18667 ], [ %18671, %18668 ]
%18674 = trunc i32 %18673 to i16
store i16 %18674, i16* %14
%18675 = load i16, i16* %11
store i16 %18675, i16* %18
%18676 = load i16, i16* %15
%18677 = sext i16 %18676 to i32
%18678 = icmp eq i32 %18677, 0
br i1 %18678, label %18679, label %18680
18679: ; preds = %18672
br label %18684
18680: ; preds = %18672
%18681 = load i16, i16* %15
%18682 = sext i16 %18681 to i32
%18683 = sub nsw i32 25, %18682
br label %18684
18684: ; preds = %18680, %18679
%18685 = phi i32 [ 0, %18679 ], [ %18683, %18680 ]
%18686 = trunc i32 %18685 to i16
store i16 %18686, i16* %11
%18687 = load i16, i16* %18
%18688 = sext i16 %18687 to i32
%18689 = icmp eq i32 %18688, 0
br i1 %18689, label %18690, label %18691
18690: ; preds = %18684
br label %18695
18691: ; preds = %18684
%18692 = load i16, i16* %18
%18693 = sext i16 %18692 to i32
%18694 = sub nsw i32 25, %18693
br label %18695
18695: ; preds = %18691, %18690
%18696 = phi i32 [ 0, %18690 ], [ %18694, %18691 ]
%18697 = trunc i32 %18696 to i16
store i16 %18697, i16* %15
%18698 = load i16, i16* %12
store i16 %18698, i16* %18
%18699 = load i16, i16* %16
%18700 = sext i16 %18699 to i32
%18701 = icmp eq i32 %18700, 0
br i1 %18701, label %18702, label %18703
18702: ; preds = %18695
br label %18707
18703: ; preds = %18695
%18704 = load i16, i16* %16
%18705 = sext i16 %18704 to i32
%18706 = sub nsw i32 25, %18705
br label %18707
18707: ; preds = %18703, %18702
%18708 = phi i32 [ 0, %18702 ], [ %18706, %18703 ]
%18709 = trunc i32 %18708 to i16
store i16 %18709, i16* %12
%18710 = load i16, i16* %18
%18711 = sext i16 %18710 to i32
%18712 = icmp eq i32 %18711, 0
br i1 %18712, label %18713, label %18714
18713: ; preds = %18707
br label %18718
18714: ; preds = %18707
%18715 = load i16, i16* %18
%18716 = sext i16 %18715 to i32
%18717 = sub nsw i32 25, %18716
br label %18718
18718: ; preds = %18714, %18713
%18719 = phi i32 [ 0, %18713 ], [ %18717, %18714 ]
%18720 = trunc i32 %18719 to i16
store i16 %18720, i16* %16
%18721 = load i16, i16* %13
store i16 %18721, i16* %18
%18722 = load i16, i16* %17
%18723 = sext i16 %18722 to i32
%18724 = icmp eq i32 %18723, 0
br i1 %18724, label %18725, label %18726
18725: ; preds = %18718
br label %18730
18726: ; preds = %18718
%18727 = load i16, i16* %17
%18728 = sext i16 %18727 to i32
%18729 = sub nsw i32 25, %18728
br label %18730
18730: ; preds = %18726, %18725
%18731 = phi i32 [ 0, %18725 ], [ %18729, %18726 ]
%18732 = trunc i32 %18731 to i16
store i16 %18732, i16* %13
%18733 = load i16, i16* %18
%18734 = sext i16 %18733 to i32
%18735 = icmp eq i32 %18734, 0
br i1 %18735, label %18736, label %18737
18736: ; preds = %18730
br label %18741
18737: ; preds = %18730
%18738 = load i16, i16* %18
%18739 = sext i16 %18738 to i32
%18740 = sub nsw i32 25, %18739
br label %18741
18741: ; preds = %18737, %18736
%18742 = phi i32 [ 0, %18736 ], [ %18740, %18737 ]
%18743 = trunc i32 %18742 to i16
store i16 %18743, i16* %17
%18744 = load i16, i16* %10
%18745 = sext i16 %18744 to i32
%18746 = load i16, i16* %11
%18747 = sext i16 %18746 to i32
%18748 = load i16, i16* %12
%18749 = sext i16 %18748 to i32
%18750 = load i16, i16* %13
%18751 = sext i16 %18750 to i32
%18752 = load i16, i16* %14
%18753 = sext i16 %18752 to i32
%18754 = load i16, i16* %15
%18755 = sext i16 %18754 to i32
%18756 = load i16, i16* %16
%18757 = sext i16 %18756 to i32
%18758 = load i16, i16* %17
%18759 = sext i16 %18758 to i32
%18760 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %18745, i32 %18747, i32 %18749, i32 %18751, i32 %18753, i32 %18755, i32 %18757, i32 %18759)
%18761 = trunc i32 %18760 to i16
store i16 %18761, i16* %18
%18762 = load i16, i16* %18
%18763 = sext i16 %18762 to i32
%18764 = icmp eq i32 %18763, -1
br i1 %18764, label %18765, label %18766
18765: ; preds = %18741
store i16 -1, i16* %9
br label %19404
18766: ; preds = %18741
%18767 = load i16, i16* %18
%18768 = sext i16 %18767 to i32
%18769 = icmp sle i32 0, %18768
br i1 %18769, label %18770, label %18772
18770: ; preds = %18766
%18771 = load i16, i16* %22
store i16 %18771, i16* %21
br label %18772
18772: ; preds = %18770, %18766
%18773 = load i16, i16* %10
store i16 %18773, i16* %18
%18774 = load i16, i16* %14
%18775 = sext i16 %18774 to i32
%18776 = icmp eq i32 %18775, 0
br i1 %18776, label %18777, label %18778
18777: ; preds = %18772
br label %18782
18778: ; preds = %18772
%18779 = load i16, i16* %14
%18780 = sext i16 %18779 to i32
%18781 = sub nsw i32 25, %18780
br label %18782
18782: ; preds = %18778, %18777
%18783 = phi i32 [ 0, %18777 ], [ %18781, %18778 ]
%18784 = trunc i32 %18783 to i16
store i16 %18784, i16* %10
%18785 = load i16, i16* %18
%18786 = sext i16 %18785 to i32
%18787 = icmp eq i32 %18786, 0
br i1 %18787, label %18788, label %18789
18788: ; preds = %18782
br label %18793
18789: ; preds = %18782
%18790 = load i16, i16* %18
%18791 = sext i16 %18790 to i32
%18792 = sub nsw i32 25, %18791
br label %18793
18793: ; preds = %18789, %18788
%18794 = phi i32 [ 0, %18788 ], [ %18792, %18789 ]
%18795 = trunc i32 %18794 to i16
store i16 %18795, i16* %14
%18796 = load i16, i16* %11
store i16 %18796, i16* %18
%18797 = load i16, i16* %15
%18798 = sext i16 %18797 to i32
%18799 = icmp eq i32 %18798, 0
br i1 %18799, label %18800, label %18801
18800: ; preds = %18793
br label %18805
18801: ; preds = %18793
%18802 = load i16, i16* %15
%18803 = sext i16 %18802 to i32
%18804 = sub nsw i32 25, %18803
br label %18805
18805: ; preds = %18801, %18800
%18806 = phi i32 [ 0, %18800 ], [ %18804, %18801 ]
%18807 = trunc i32 %18806 to i16
store i16 %18807, i16* %11
%18808 = load i16, i16* %18
%18809 = sext i16 %18808 to i32
%18810 = icmp eq i32 %18809, 0
br i1 %18810, label %18811, label %18812
18811: ; preds = %18805
br label %18816
18812: ; preds = %18805
%18813 = load i16, i16* %18
%18814 = sext i16 %18813 to i32
%18815 = sub nsw i32 25, %18814
br label %18816
18816: ; preds = %18812, %18811
%18817 = phi i32 [ 0, %18811 ], [ %18815, %18812 ]
%18818 = trunc i32 %18817 to i16
store i16 %18818, i16* %15
%18819 = load i16, i16* %12
store i16 %18819, i16* %18
%18820 = load i16, i16* %16
%18821 = sext i16 %18820 to i32
%18822 = icmp eq i32 %18821, 0
br i1 %18822, label %18823, label %18824
18823: ; preds = %18816
br label %18828
18824: ; preds = %18816
%18825 = load i16, i16* %16
%18826 = sext i16 %18825 to i32
%18827 = sub nsw i32 25, %18826
br label %18828
18828: ; preds = %18824, %18823
%18829 = phi i32 [ 0, %18823 ], [ %18827, %18824 ]
%18830 = trunc i32 %18829 to i16
store i16 %18830, i16* %12
%18831 = load i16, i16* %18
%18832 = sext i16 %18831 to i32
%18833 = icmp eq i32 %18832, 0
br i1 %18833, label %18834, label %18835
18834: ; preds = %18828
br label %18839
18835: ; preds = %18828
%18836 = load i16, i16* %18
%18837 = sext i16 %18836 to i32
%18838 = sub nsw i32 25, %18837
br label %18839
18839: ; preds = %18835, %18834
%18840 = phi i32 [ 0, %18834 ], [ %18838, %18835 ]
%18841 = trunc i32 %18840 to i16
store i16 %18841, i16* %16
%18842 = load i16, i16* %13
store i16 %18842, i16* %18
%18843 = load i16, i16* %17
%18844 = sext i16 %18843 to i32
%18845 = icmp eq i32 %18844, 0
br i1 %18845, label %18846, label %18847
18846: ; preds = %18839
br label %18851
18847: ; preds = %18839
%18848 = load i16, i16* %17
%18849 = sext i16 %18848 to i32
%18850 = sub nsw i32 25, %18849
br label %18851
18851: ; preds = %18847, %18846
%18852 = phi i32 [ 0, %18846 ], [ %18850, %18847 ]
%18853 = trunc i32 %18852 to i16
store i16 %18853, i16* %13
%18854 = load i16, i16* %18
%18855 = sext i16 %18854 to i32
%18856 = icmp eq i32 %18855, 0
br i1 %18856, label %18857, label %18858
18857: ; preds = %18851
br label %18862
18858: ; preds = %18851
%18859 = load i16, i16* %18
%18860 = sext i16 %18859 to i32
%18861 = sub nsw i32 25, %18860
br label %18862
18862: ; preds = %18858, %18857
%18863 = phi i32 [ 0, %18857 ], [ %18861, %18858 ]
%18864 = trunc i32 %18863 to i16
store i16 %18864, i16* %17
br label %18865
18865: ; preds = %18862, %18647
%18866 = load i16, i16* %19
store i16 %18866, i16* %13
br label %18867
18867: ; preds = %18865, %18423, %18417, %18411, %18405, %18399, %18388
br label %18868
18868: ; preds = %18867, %18383, %18379
br label %19368
18869: ; preds = %18375
%18870 = load i16, i16* %22
%18871 = sext i16 %18870 to i32
%18872 = icmp eq i32 %18871, 31
br i1 %18872, label %18873, label %19367
18873: ; preds = %18869
%18874 = load i16, i16* %13
%18875 = sext i16 %18874 to i32
%18876 = icmp ne i32 %18875, 0
br i1 %18876, label %18877, label %19366
18877: ; preds = %18873
%18878 = load i16, i16* %13
%18879 = sext i16 %18878 to i32
%18880 = icmp slt i32 %18879, 21
br i1 %18880, label %18881, label %19366
18881: ; preds = %18877
%18882 = load i16, i16* %13
%18883 = sext i16 %18882 to i32
%18884 = srem i32 %18883, 4
%18885 = icmp ne i32 %18884, 1
br i1 %18885, label %18886, label %19366
18886: ; preds = %18881
%18887 = load i16, i16* %13
store i16 %18887, i16* %19
%18888 = load i16, i16* %19
%18889 = sext i16 %18888 to i32
%18890 = add nsw i32 %18889, 3
%18891 = trunc i32 %18890 to i16
store i16 %18891, i16* %20
%18892 = load i16, i16* %20
%18893 = sext i16 %18892 to i32
%18894 = load i16, i16* %10
%18895 = sext i16 %18894 to i32
%18896 = icmp ne i32 %18893, %18895
br i1 %18896, label %18897, label %19365
18897: ; preds = %18886
%18898 = load i16, i16* %20
%18899 = sext i16 %18898 to i32
%18900 = load i16, i16* %11
%18901 = sext i16 %18900 to i32
%18902 = icmp ne i32 %18899, %18901
br i1 %18902, label %18903, label %19365
18903: ; preds = %18897
%18904 = load i16, i16* %20
%18905 = sext i16 %18904 to i32
%18906 = load i16, i16* %12
%18907 = sext i16 %18906 to i32
%18908 = icmp ne i32 %18905, %18907
br i1 %18908, label %18909, label %19365
18909: ; preds = %18903
%18910 = load i16, i16* %20
%18911 = sext i16 %18910 to i32
%18912 = load i16, i16* %14
%18913 = sext i16 %18912 to i32
%18914 = icmp ne i32 %18911, %18913
br i1 %18914, label %18915, label %19365
18915: ; preds = %18909
%18916 = load i16, i16* %20
%18917 = sext i16 %18916 to i32
%18918 = load i16, i16* %15
%18919 = sext i16 %18918 to i32
%18920 = icmp ne i32 %18917, %18919
br i1 %18920, label %18921, label %19365
18921: ; preds = %18915
%18922 = load i16, i16* %20
%18923 = sext i16 %18922 to i32
%18924 = load i16, i16* %17
%18925 = sext i16 %18924 to i32
%18926 = icmp ne i32 %18923, %18925
br i1 %18926, label %18927, label %19365
18927: ; preds = %18921
%18928 = load i16, i16* %20
store i16 %18928, i16* %13
%18929 = load i16, i16* %16
%18930 = sext i16 %18929 to i32
%18931 = load i16, i16* %20
%18932 = sext i16 %18931 to i32
%18933 = icmp eq i32 %18930, %18932
br i1 %18933, label %18934, label %19149
18934: ; preds = %18927
store i16 0, i16* %16
%18935 = load i16, i16* %10
store i16 %18935, i16* %18
%18936 = load i16, i16* %14
%18937 = sext i16 %18936 to i32
%18938 = icmp eq i32 %18937, 0
br i1 %18938, label %18939, label %18940
18939: ; preds = %18934
br label %18944
18940: ; preds = %18934
%18941 = load i16, i16* %14
%18942 = sext i16 %18941 to i32
%18943 = sub nsw i32 25, %18942
br label %18944
18944: ; preds = %18940, %18939
%18945 = phi i32 [ 0, %18939 ], [ %18943, %18940 ]
%18946 = trunc i32 %18945 to i16
store i16 %18946, i16* %10
%18947 = load i16, i16* %18
%18948 = sext i16 %18947 to i32
%18949 = icmp eq i32 %18948, 0
br i1 %18949, label %18950, label %18951
18950: ; preds = %18944
br label %18955
18951: ; preds = %18944
%18952 = load i16, i16* %18
%18953 = sext i16 %18952 to i32
%18954 = sub nsw i32 25, %18953
br label %18955
18955: ; preds = %18951, %18950
%18956 = phi i32 [ 0, %18950 ], [ %18954, %18951 ]
%18957 = trunc i32 %18956 to i16
store i16 %18957, i16* %14
%18958 = load i16, i16* %11
store i16 %18958, i16* %18
%18959 = load i16, i16* %15
%18960 = sext i16 %18959 to i32
%18961 = icmp eq i32 %18960, 0
br i1 %18961, label %18962, label %18963
18962: ; preds = %18955
br label %18967
18963: ; preds = %18955
%18964 = load i16, i16* %15
%18965 = sext i16 %18964 to i32
%18966 = sub nsw i32 25, %18965
br label %18967
18967: ; preds = %18963, %18962
%18968 = phi i32 [ 0, %18962 ], [ %18966, %18963 ]
%18969 = trunc i32 %18968 to i16
store i16 %18969, i16* %11
%18970 = load i16, i16* %18
%18971 = sext i16 %18970 to i32
%18972 = icmp eq i32 %18971, 0
br i1 %18972, label %18973, label %18974
18973: ; preds = %18967
br label %18978
18974: ; preds = %18967
%18975 = load i16, i16* %18
%18976 = sext i16 %18975 to i32
%18977 = sub nsw i32 25, %18976
br label %18978
18978: ; preds = %18974, %18973
%18979 = phi i32 [ 0, %18973 ], [ %18977, %18974 ]
%18980 = trunc i32 %18979 to i16
store i16 %18980, i16* %15
%18981 = load i16, i16* %12
store i16 %18981, i16* %18
%18982 = load i16, i16* %16
%18983 = sext i16 %18982 to i32
%18984 = icmp eq i32 %18983, 0
br i1 %18984, label %18985, label %18986
18985: ; preds = %18978
br label %18990
18986: ; preds = %18978
%18987 = load i16, i16* %16
%18988 = sext i16 %18987 to i32
%18989 = sub nsw i32 25, %18988
br label %18990
18990: ; preds = %18986, %18985
%18991 = phi i32 [ 0, %18985 ], [ %18989, %18986 ]
%18992 = trunc i32 %18991 to i16
store i16 %18992, i16* %12
%18993 = load i16, i16* %18
%18994 = sext i16 %18993 to i32
%18995 = icmp eq i32 %18994, 0
br i1 %18995, label %18996, label %18997
18996: ; preds = %18990
br label %19001
18997: ; preds = %18990
%18998 = load i16, i16* %18
%18999 = sext i16 %18998 to i32
%19000 = sub nsw i32 25, %18999
br label %19001
19001: ; preds = %18997, %18996
%19002 = phi i32 [ 0, %18996 ], [ %19000, %18997 ]
%19003 = trunc i32 %19002 to i16
store i16 %19003, i16* %16
%19004 = load i16, i16* %13
store i16 %19004, i16* %18
%19005 = load i16, i16* %17
%19006 = sext i16 %19005 to i32
%19007 = icmp eq i32 %19006, 0
br i1 %19007, label %19008, label %19009
19008: ; preds = %19001
br label %19013
19009: ; preds = %19001
%19010 = load i16, i16* %17
%19011 = sext i16 %19010 to i32
%19012 = sub nsw i32 25, %19011
br label %19013
19013: ; preds = %19009, %19008
%19014 = phi i32 [ 0, %19008 ], [ %19012, %19009 ]
%19015 = trunc i32 %19014 to i16
store i16 %19015, i16* %13
%19016 = load i16, i16* %18
%19017 = sext i16 %19016 to i32
%19018 = icmp eq i32 %19017, 0
br i1 %19018, label %19019, label %19020
19019: ; preds = %19013
br label %19024
19020: ; preds = %19013
%19021 = load i16, i16* %18
%19022 = sext i16 %19021 to i32
%19023 = sub nsw i32 25, %19022
br label %19024
19024: ; preds = %19020, %19019
%19025 = phi i32 [ 0, %19019 ], [ %19023, %19020 ]
%19026 = trunc i32 %19025 to i16
store i16 %19026, i16* %17
%19027 = load i16, i16* %10
%19028 = sext i16 %19027 to i32
%19029 = load i16, i16* %11
%19030 = sext i16 %19029 to i32
%19031 = load i16, i16* %12
%19032 = sext i16 %19031 to i32
%19033 = load i16, i16* %13
%19034 = sext i16 %19033 to i32
%19035 = load i16, i16* %14
%19036 = sext i16 %19035 to i32
%19037 = load i16, i16* %15
%19038 = sext i16 %19037 to i32
%19039 = load i16, i16* %16
%19040 = sext i16 %19039 to i32
%19041 = load i16, i16* %17
%19042 = sext i16 %19041 to i32
%19043 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %19028, i32 %19030, i32 %19032, i32 %19034, i32 %19036, i32 %19038, i32 %19040, i32 %19042)
%19044 = trunc i32 %19043 to i16
store i16 %19044, i16* %18
%19045 = load i16, i16* %18
%19046 = sext i16 %19045 to i32
%19047 = icmp eq i32 %19046, -1
br i1 %19047, label %19048, label %19049
19048: ; preds = %19024
store i16 -1, i16* %9
br label %19404
19049: ; preds = %19024
%19050 = load i16, i16* %18
%19051 = sext i16 %19050 to i32
%19052 = icmp sle i32 0, %19051
br i1 %19052, label %19053, label %19055
19053: ; preds = %19049
%19054 = load i16, i16* %22
store i16 %19054, i16* %21
br label %19055
19055: ; preds = %19053, %19049
%19056 = load i16, i16* %10
store i16 %19056, i16* %18
%19057 = load i16, i16* %14
%19058 = sext i16 %19057 to i32
%19059 = icmp eq i32 %19058, 0
br i1 %19059, label %19060, label %19061
19060: ; preds = %19055
br label %19065
19061: ; preds = %19055
%19062 = load i16, i16* %14
%19063 = sext i16 %19062 to i32
%19064 = sub nsw i32 25, %19063
br label %19065
19065: ; preds = %19061, %19060
%19066 = phi i32 [ 0, %19060 ], [ %19064, %19061 ]
%19067 = trunc i32 %19066 to i16
store i16 %19067, i16* %10
%19068 = load i16, i16* %18
%19069 = sext i16 %19068 to i32
%19070 = icmp eq i32 %19069, 0
br i1 %19070, label %19071, label %19072
19071: ; preds = %19065
br label %19076
19072: ; preds = %19065
%19073 = load i16, i16* %18
%19074 = sext i16 %19073 to i32
%19075 = sub nsw i32 25, %19074
br label %19076
19076: ; preds = %19072, %19071
%19077 = phi i32 [ 0, %19071 ], [ %19075, %19072 ]
%19078 = trunc i32 %19077 to i16
store i16 %19078, i16* %14
%19079 = load i16, i16* %11
store i16 %19079, i16* %18
%19080 = load i16, i16* %15
%19081 = sext i16 %19080 to i32
%19082 = icmp eq i32 %19081, 0
br i1 %19082, label %19083, label %19084
19083: ; preds = %19076
br label %19088
19084: ; preds = %19076
%19085 = load i16, i16* %15
%19086 = sext i16 %19085 to i32
%19087 = sub nsw i32 25, %19086
br label %19088
19088: ; preds = %19084, %19083
%19089 = phi i32 [ 0, %19083 ], [ %19087, %19084 ]
%19090 = trunc i32 %19089 to i16
store i16 %19090, i16* %11
%19091 = load i16, i16* %18
%19092 = sext i16 %19091 to i32
%19093 = icmp eq i32 %19092, 0
br i1 %19093, label %19094, label %19095
19094: ; preds = %19088
br label %19099
19095: ; preds = %19088
%19096 = load i16, i16* %18
%19097 = sext i16 %19096 to i32
%19098 = sub nsw i32 25, %19097
br label %19099
19099: ; preds = %19095, %19094
%19100 = phi i32 [ 0, %19094 ], [ %19098, %19095 ]
%19101 = trunc i32 %19100 to i16
store i16 %19101, i16* %15
%19102 = load i16, i16* %12
store i16 %19102, i16* %18
%19103 = load i16, i16* %16
%19104 = sext i16 %19103 to i32
%19105 = icmp eq i32 %19104, 0
br i1 %19105, label %19106, label %19107
19106: ; preds = %19099
br label %19111
19107: ; preds = %19099
%19108 = load i16, i16* %16
%19109 = sext i16 %19108 to i32
%19110 = sub nsw i32 25, %19109
br label %19111
19111: ; preds = %19107, %19106
%19112 = phi i32 [ 0, %19106 ], [ %19110, %19107 ]
%19113 = trunc i32 %19112 to i16
store i16 %19113, i16* %12
%19114 = load i16, i16* %18
%19115 = sext i16 %19114 to i32
%19116 = icmp eq i32 %19115, 0
br i1 %19116, label %19117, label %19118
19117: ; preds = %19111
br label %19122
19118: ; preds = %19111
%19119 = load i16, i16* %18
%19120 = sext i16 %19119 to i32
%19121 = sub nsw i32 25, %19120
br label %19122
19122: ; preds = %19118, %19117
%19123 = phi i32 [ 0, %19117 ], [ %19121, %19118 ]
%19124 = trunc i32 %19123 to i16
store i16 %19124, i16* %16
%19125 = load i16, i16* %13
store i16 %19125, i16* %18
%19126 = load i16, i16* %17
%19127 = sext i16 %19126 to i32
%19128 = icmp eq i32 %19127, 0
br i1 %19128, label %19129, label %19130
19129: ; preds = %19122
br label %19134
19130: ; preds = %19122
%19131 = load i16, i16* %17
%19132 = sext i16 %19131 to i32
%19133 = sub nsw i32 25, %19132
br label %19134
19134: ; preds = %19130, %19129
%19135 = phi i32 [ 0, %19129 ], [ %19133, %19130 ]
%19136 = trunc i32 %19135 to i16
store i16 %19136, i16* %13
%19137 = load i16, i16* %18
%19138 = sext i16 %19137 to i32
%19139 = icmp eq i32 %19138, 0
br i1 %19139, label %19140, label %19141
19140: ; preds = %19134
br label %19145
19141: ; preds = %19134
%19142 = load i16, i16* %18
%19143 = sext i16 %19142 to i32
%19144 = sub nsw i32 25, %19143
br label %19145
19145: ; preds = %19141, %19140
%19146 = phi i32 [ 0, %19140 ], [ %19144, %19141 ]
%19147 = trunc i32 %19146 to i16
store i16 %19147, i16* %17
%19148 = load i16, i16* %20
store i16 %19148, i16* %16
br label %19363
19149: ; preds = %18927
%19150 = load i16, i16* %10
store i16 %19150, i16* %18
%19151 = load i16, i16* %14
%19152 = sext i16 %19151 to i32
%19153 = icmp eq i32 %19152, 0
br i1 %19153, label %19154, label %19155
19154: ; preds = %19149
br label %19159
19155: ; preds = %19149
%19156 = load i16, i16* %14
%19157 = sext i16 %19156 to i32
%19158 = sub nsw i32 25, %19157
br label %19159
19159: ; preds = %19155, %19154
%19160 = phi i32 [ 0, %19154 ], [ %19158, %19155 ]
%19161 = trunc i32 %19160 to i16
store i16 %19161, i16* %10
%19162 = load i16, i16* %18
%19163 = sext i16 %19162 to i32
%19164 = icmp eq i32 %19163, 0
br i1 %19164, label %19165, label %19166
19165: ; preds = %19159
br label %19170
19166: ; preds = %19159
%19167 = load i16, i16* %18
%19168 = sext i16 %19167 to i32
%19169 = sub nsw i32 25, %19168
br label %19170
19170: ; preds = %19166, %19165
%19171 = phi i32 [ 0, %19165 ], [ %19169, %19166 ]
%19172 = trunc i32 %19171 to i16
store i16 %19172, i16* %14
%19173 = load i16, i16* %11
store i16 %19173, i16* %18
%19174 = load i16, i16* %15
%19175 = sext i16 %19174 to i32
%19176 = icmp eq i32 %19175, 0
br i1 %19176, label %19177, label %19178
19177: ; preds = %19170
br label %19182
19178: ; preds = %19170
%19179 = load i16, i16* %15
%19180 = sext i16 %19179 to i32
%19181 = sub nsw i32 25, %19180
br label %19182
19182: ; preds = %19178, %19177
%19183 = phi i32 [ 0, %19177 ], [ %19181, %19178 ]
%19184 = trunc i32 %19183 to i16
store i16 %19184, i16* %11
%19185 = load i16, i16* %18
%19186 = sext i16 %19185 to i32
%19187 = icmp eq i32 %19186, 0
br i1 %19187, label %19188, label %19189
19188: ; preds = %19182
br label %19193
19189: ; preds = %19182
%19190 = load i16, i16* %18
%19191 = sext i16 %19190 to i32
%19192 = sub nsw i32 25, %19191
br label %19193
19193: ; preds = %19189, %19188
%19194 = phi i32 [ 0, %19188 ], [ %19192, %19189 ]
%19195 = trunc i32 %19194 to i16
store i16 %19195, i16* %15
%19196 = load i16, i16* %12
store i16 %19196, i16* %18
%19197 = load i16, i16* %16
%19198 = sext i16 %19197 to i32
%19199 = icmp eq i32 %19198, 0
br i1 %19199, label %19200, label %19201
19200: ; preds = %19193
br label %19205
19201: ; preds = %19193
%19202 = load i16, i16* %16
%19203 = sext i16 %19202 to i32
%19204 = sub nsw i32 25, %19203
br label %19205
19205: ; preds = %19201, %19200
%19206 = phi i32 [ 0, %19200 ], [ %19204, %19201 ]
%19207 = trunc i32 %19206 to i16
store i16 %19207, i16* %12
%19208 = load i16, i16* %18
%19209 = sext i16 %19208 to i32
%19210 = icmp eq i32 %19209, 0
br i1 %19210, label %19211, label %19212
19211: ; preds = %19205
br label %19216
19212: ; preds = %19205
%19213 = load i16, i16* %18
%19214 = sext i16 %19213 to i32
%19215 = sub nsw i32 25, %19214
br label %19216
19216: ; preds = %19212, %19211
%19217 = phi i32 [ 0, %19211 ], [ %19215, %19212 ]
%19218 = trunc i32 %19217 to i16
store i16 %19218, i16* %16
%19219 = load i16, i16* %13
store i16 %19219, i16* %18
%19220 = load i16, i16* %17
%19221 = sext i16 %19220 to i32
%19222 = icmp eq i32 %19221, 0
br i1 %19222, label %19223, label %19224
19223: ; preds = %19216
br label %19228
19224: ; preds = %19216
%19225 = load i16, i16* %17
%19226 = sext i16 %19225 to i32
%19227 = sub nsw i32 25, %19226
br label %19228
19228: ; preds = %19224, %19223
%19229 = phi i32 [ 0, %19223 ], [ %19227, %19224 ]
%19230 = trunc i32 %19229 to i16
store i16 %19230, i16* %13
%19231 = load i16, i16* %18
%19232 = sext i16 %19231 to i32
%19233 = icmp eq i32 %19232, 0
br i1 %19233, label %19234, label %19235
19234: ; preds = %19228
br label %19239
19235: ; preds = %19228
%19236 = load i16, i16* %18
%19237 = sext i16 %19236 to i32
%19238 = sub nsw i32 25, %19237
br label %19239
19239: ; preds = %19235, %19234
%19240 = phi i32 [ 0, %19234 ], [ %19238, %19235 ]
%19241 = trunc i32 %19240 to i16
store i16 %19241, i16* %17
%19242 = load i16, i16* %10
%19243 = sext i16 %19242 to i32
%19244 = load i16, i16* %11
%19245 = sext i16 %19244 to i32
%19246 = load i16, i16* %12
%19247 = sext i16 %19246 to i32
%19248 = load i16, i16* %13
%19249 = sext i16 %19248 to i32
%19250 = load i16, i16* %14
%19251 = sext i16 %19250 to i32
%19252 = load i16, i16* %15
%19253 = sext i16 %19252 to i32
%19254 = load i16, i16* %16
%19255 = sext i16 %19254 to i32
%19256 = load i16, i16* %17
%19257 = sext i16 %19256 to i32
%19258 = call i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...) bitcast (i32 (...)* @get_first_winning_move_3 to i32 (i32, i32, i32, i32, i32, i32, i32, i32, ...)*)(i32 %19243, i32 %19245, i32 %19247, i32 %19249, i32 %19251, i32 %19253, i32 %19255, i32 %19257)
%19259 = trunc i32 %19258 to i16
store i16 %19259, i16* %18
%19260 = load i16, i16* %18
%19261 = sext i16 %19260 to i32
%19262 = icmp eq i32 %19261, -1
br i1 %19262, label %19263, label %19264
19263: ; preds = %19239
store i16 -1, i16* %9
br label %19404
19264: ; preds = %19239
%19265 = load i16, i16* %18
%19266 = sext i16 %19265 to i32
%19267 = icmp sle i32 0, %19266
br i1 %19267, label %19268, label %19270
19268: ; preds = %19264
%19269 = load i16, i16* %22
store i16 %19269, i16* %21
br label %19270
19270: ; preds = %19268, %19264
%19271 = load i16, i16* %10
store i16 %19271, i16* %18
%19272 = load i16, i16* %14
%19273 = sext i16 %19272 to i32
%19274 = icmp eq i32 %19273, 0
br i1 %19274, label %19275, label %19276
19275: ; preds = %19270
br label %19280
19276: ; preds = %19270
%19277 = load i16, i16* %14
%19278 = sext i16 %19277 to i32
%19279 = sub nsw i32 25, %19278
br label %19280
19280: ; preds = %19276, %19275
%19281 = phi i32 [ 0, %19275 ], [ %19279, %19276 ]
%19282 = trunc i32 %19281 to i16
store i16 %19282, i16* %10
%19283 = load i16, i16* %18
%19284 = sext i16 %19283 to i32
%19285 = icmp eq i32 %19284, 0
br i1 %19285, label %19286, label %19287
19286: ; preds = %19280
br label %19291
19287: ; preds = %19280
%19288 = load i16, i16* %18
%19289 = sext i16 %19288 to i32
%19290 = sub nsw i32 25, %19289
br label %19291
19291: ; preds = %19287, %19286
%19292 = phi i32 [ 0, %19286 ], [ %19290, %19287 ]
%19293 = trunc i32 %19292 to i16
store i16 %19293, i16* %14
%19294 = load i16, i16* %11
store i16 %19294, i16* %18
%19295 = load i16, i16* %15
%19296 = sext i16 %19295 to i32
%19297 = icmp eq i32 %19296, 0
br i1 %19297, label %19298, label %19299
19298: ; preds = %19291
br label %19303
19299: ; preds = %19291
%19300 = load i16, i16* %15
%19301 = sext i16 %19300 to i32
%19302 = sub nsw i32 25, %19301
br label %19303
19303: ; preds = %19299, %19298
%19304 = phi i32 [ 0, %19298 ], [ %19302, %19299 ]
%19305 = trunc i32 %19304 to i16
store i16 %19305, i16* %11
%19306 = load i16, i16* %18
%19307 = sext i16 %19306 to i32
%19308 = icmp eq i32 %19307, 0
br i1 %19308, label %19309, label %19310
19309: ; preds = %19303
br label %19314
19310: ; preds = %19303
%19311 = load i16, i16* %18
%19312 = sext i16 %19311 to i32
%19313 = sub nsw i32 25, %19312
br label %19314
19314: ; preds = %19310, %19309
%19315 = phi i32 [ 0, %19309 ], [ %19313, %19310 ]
%19316 = trunc i32 %19315 to i16
store i16 %19316, i16* %15
%19317 = load i16, i16* %12
store i16 %19317, i16* %18
%19318 = load i16, i16* %16
%19319 = sext i16 %19318 to i32
%19320 = icmp eq i32 %19319, 0
br i1 %19320, label %19321, label %19322
19321: ; preds = %19314
br label %19326
19322: ; preds = %19314
%19323 = load i16, i16* %16
%19324 = sext i16 %19323 to i32
%19325 = sub nsw i32 25, %19324
br label %19326
19326: ; preds = %19322, %19321
%19327 = phi i32 [ 0, %19321 ], [ %19325, %19322 ]
%19328 = trunc i32 %19327 to i16
store i16 %19328, i16* %12
%19329 = load i16, i16* %18
%19330 = sext i16 %19329 to i32
%19331 = icmp eq i32 %19330, 0
br i1 %19331, label %19332, label %19333
19332: ; preds = %19326
br label %19337
19333: ; preds = %19326
%19334 = load i16, i16* %18
%19335 = sext i16 %19334 to i32
%19336 = sub nsw i32 25, %19335
br label %19337
19337: ; preds = %19333, %19332
%19338 = phi i32 [ 0, %19332 ], [ %19336, %19333 ]
%19339 = trunc i32 %19338 to i16
store i16 %19339, i16* %16
%19340 = load i16, i16* %13
store i16 %19340, i16* %18
%19341 = load i16, i16* %17
%19342 = sext i16 %19341 to i32
%19343 = icmp eq i32 %19342, 0
br i1 %19343, label %19344, label %19345
19344: ; preds = %19337
br label %19349
19345: ; preds = %19337
%19346 = load i16, i16* %17
%19347 = sext i16 %19346 to i32
%19348 = sub nsw i32 25, %19347
br label %19349
19349: ; preds = %19345, %19344
%19350 = phi i32 [ 0, %19344 ], [ %19348, %19345 ]
%19351 = trunc i32 %19350 to i16
store i16 %19351, i16* %13
%19352 = load i16, i16* %18
%19353 = sext i16 %19352 to i32
%19354 = icmp eq i32 %19353, 0
br i1 %19354, label %19355, label %19356
19355: ; preds = %19349
br label %19360
19356: ; preds = %19349
%19357 = load i16, i16* %18
%19358 = sext i16 %19357 to i32
%19359 = sub nsw i32 25, %19358
br label %19360
19360: ; preds = %19356, %19355
%19361 = phi i32 [ 0, %19355 ], [ %19359, %19356 ]
%19362 = trunc i32 %19361 to i16
store i16 %19362, i16* %17
br label %19363
19363: ; preds = %19360, %19145
%19364 = load i16, i16* %19
store i16 %19364, i16* %13
br label %19365
19365: ; preds = %19363, %18921, %18915, %18909, %18903, %18897, %18886
br label %19366
19366: ; preds = %19365, %18881, %18877, %18873
br label %19367
19367: ; preds = %19366, %18869
br label %19368
19368: ; preds = %19367, %18868
br label %19369
19369: ; preds = %19368, %18374
br label %19370
19370: ; preds = %19369, %17876
br label %19371
19371: ; preds = %19370, %17383
br label %19372
19372: ; preds = %19371, %16885
br label %19373
19373: ; preds = %19372, %16391
br label %19374
19374: ; preds = %19373, %15893
br label %19375
19375: ; preds = %19374, %15400
br label %19376
19376: ; preds = %19375, %14902
br label %19377
19377: ; preds = %19376, %14408
br label %19378
19378: ; preds = %19377, %13910
br label %19379
19379: ; preds = %19378, %13417
br label %19380
19380: ; preds = %19379, %12919
br label %19381
19381: ; preds = %19380, %12425
br label %19382
19382: ; preds = %19381, %11927
br label %19383
19383: ; preds = %19382, %11434
br label %19384
19384: ; preds = %19383, %10720
br label %19385
19385: ; preds = %19384, %10010
br label %19386
19386: ; preds = %19385, %9296
br label %19387
19387: ; preds = %19386, %8587
br label %19388
19388: ; preds = %19387, %7873
br label %19389
19389: ; preds = %19388, %7163
br label %19390
19390: ; preds = %19389, %6449
br label %19391
19391: ; preds = %19390, %5740
br label %19392
19392: ; preds = %19391, %5026
br label %19393
19393: ; preds = %19392, %4316
br label %19394
19394: ; preds = %19393, %3602
br label %19395
19395: ; preds = %19394, %2893
br label %19396
19396: ; preds = %19395, %2179
br label %19397
19397: ; preds = %19396, %1469
br label %19398
19398: ; preds = %19397, %755
br label %19399
19399: ; preds = %19398
%19400 = load i16, i16* %22
%19401 = add i16 %19400, -1
store i16 %19401, i16* %22
br label %43
19402: ; preds = %43
%19403 = load i16, i16* %21
store i16 %19403, i16* %9
br label %19404
19404: ; preds = %19402, %19263, %19048, %18765, %18550, %18271, %18056, %17773, %17558, %17280, %17065, %16782, %16567, %16288, %16073, %15790, %15575, %15297, %15082, %14799, %14584, %14305, %14090, %13807, %13592, %13314, %13099, %12816, %12601, %12322, %12107, %11824, %11609, %11330, %11115, %10894, %10616, %10401, %10180, %9906, %9691, %9470, %9192, %8977, %8756, %8483, %8268, %8047, %7769, %7554, %7333, %7059, %6844, %6623, %6345, %6130, %5909, %5636, %5421, %5200, %4922, %4707, %4486, %4212, %3997, %3776, %3498, %3283, %3062, %2789, %2574, %2353, %2075, %1860, %1639, %1365, %1150, %929, %651, %436, %215, %41
%19405 = load i16, i16* %9
ret i16 %19405
}

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