// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/diagonalbandalign_affinegapcost.c
// Function: diagonalband_fillDPtab_affine
static void diagonalband_fillDPtab_affine(GtAffinealignDPentry **Atabcolumn,
                                          const GtUchar *useq,
                                          GtUword ustart,
                                          GtUword ulen,
                                          const GtUchar *vseq,
                                          GtUword vstart,
                                          GtUword vlen,
                                          GtWord left_dist,
                                          GtWord right_dist,
                                          GtAffineAlignEdge from_edge,
                                          GtAffineAlignEdge edge,
                                          const GtScoreHandler *scorehandler)
{
  GtUword i,j, low_row, high_row, gap_opening, gap_extension;
  GtWord rcost, r_dist, d_dist, i_dist, minvalue;

  gt_assert(Atabcolumn && scorehandler);
  if ((left_dist > GT_MIN(0, (GtWord)vlen-(GtWord)ulen))||
      (right_dist < GT_MAX(0, (GtWord)vlen-(GtWord)ulen)))
  {
    gt_assert(false);
  }

  gap_opening = gt_scorehandler_get_gap_opening(scorehandler);
  gap_extension = gt_scorehandler_get_gapscore(scorehandler);
  low_row = 0;
  high_row = -left_dist;

  /* first entry */
   switch (edge) {
    case Affine_R:
      Atabcolumn[0][0].Rvalue = 0;
      Atabcolumn[0][0].Redge = from_edge;
      Atabcolumn[0][0].Dvalue = GT_WORD_MAX;
      Atabcolumn[0][0].Ivalue = GT_WORD_MAX;
      break;
    case Affine_D:
      Atabcolumn[0][0].Rvalue = GT_WORD_MAX;
      Atabcolumn[0][0].Dvalue = 0;
      Atabcolumn[0][0].Dedge = from_edge;
      Atabcolumn[0][0].Ivalue = GT_WORD_MAX;
      break;
    case Affine_I:
      Atabcolumn[0][0].Rvalue = GT_WORD_MAX;
      Atabcolumn[0][0].Dvalue = GT_WORD_MAX;
      Atabcolumn[0][0].Ivalue = 0;
      Atabcolumn[0][0].Iedge = from_edge;
      break;
    default:
      Atabcolumn[0][0].Rvalue = 0;
      Atabcolumn[0][0].Dvalue = gap_opening;
      Atabcolumn[0][0].Ivalue = gap_opening;
    }
  /* first column */
  for (i = 1; i <= high_row; i++)
  {
    Atabcolumn[i][0].Rvalue = GT_WORD_MAX;
    r_dist = add_safe_max(Atabcolumn[i-1][0].Rvalue,
                         gap_opening + gap_extension);
    d_dist = add_safe_max(Atabcolumn[i-1][0].Dvalue, gap_extension);
    i_dist = add_safe_max(Atabcolumn[i-1][0].Ivalue,
                         gap_opening + gap_extension);
    Atabcolumn[i][0].Dvalue = GT_MIN3(r_dist, d_dist, i_dist);
    Atabcolumn[i][0].Ivalue = GT_WORD_MAX;

    Atabcolumn[i][0].Redge = Affine_X;
    Atabcolumn[i][0].Dedge = gt_linearalign_affinegapcost_set_edge(r_dist,
                                                                   d_dist,
                                                                   i_dist);
    Atabcolumn[i][0].Iedge = Affine_X;
  }
  for (; i <= ulen; i++)
  {
    /* invalid values */
    Atabcolumn[i][0].Rvalue = GT_WORD_MAX;
    Atabcolumn[i][0].Dvalue = GT_WORD_MAX;
    Atabcolumn[i][0].Ivalue = GT_WORD_MAX;
  }

  /* next columns */
  for (j = 1; j <= vlen; j++)
  {
    /* below diagonal band*/
    for (i = 0; i <= low_row; i++)
    {
      if (j <= right_dist)
      {
        Atabcolumn[i][j].Redge = Affine_X;
        Atabcolumn[i][j].Dedge = Affine_X;
        r_dist = add_safe_max(Atabcolumn[i][j-1].Rvalue,
                               gap_extension + gap_opening);
        d_dist = add_safe_max(Atabcolumn[i][j-1].Dvalue,
                               gap_extension + gap_opening);
        i_dist = add_safe_max(Atabcolumn[i][j-1].Ivalue,gap_extension);

        minvalue = GT_MIN3(r_dist, d_dist, i_dist);
        Atabcolumn[i][j].Ivalue = minvalue;
        Atabcolumn[i][j].Rvalue = GT_WORD_MAX;
        Atabcolumn[i][j].Dvalue = GT_WORD_MAX;

        Atabcolumn[i][j].Iedge = gt_linearalign_affinegapcost_set_edge(r_dist,
                                                         d_dist,
                                                         i_dist);
      }
      else{
        Atabcolumn[i][j].Rvalue = GT_WORD_MAX;
        Atabcolumn[i][j].Dvalue = GT_WORD_MAX;
        Atabcolumn[i][j].Ivalue = GT_WORD_MAX;
        Atabcolumn[i][j].Iedge = Affine_X;
      }
    }
    if ( j > right_dist)
      low_row++;
    if (high_row < ulen)
      high_row ++;

    /* diagonalband */
    for (; i <= high_row; i++)
    {
      /* compute A_affine(i,j,I) */
      r_dist=add_safe_max(Atabcolumn[i][j-1].Rvalue,gap_extension+gap_opening);
      d_dist=add_safe_max(Atabcolumn[i][j-1].Dvalue,gap_extension+gap_opening);
      i_dist=add_safe_max(Atabcolumn[i][j-1].Ivalue,gap_extension);
      minvalue = GT_MIN3(r_dist, d_dist, i_dist);
      Atabcolumn[i][j].Ivalue = minvalue;
      Atabcolumn[i][j].Iedge = gt_linearalign_affinegapcost_set_edge(
                                                        r_dist, d_dist, i_dist);

      /* compute A_affine(i,j,R) */
      rcost = gt_scorehandler_get_replacement(scorehandler,
                                            useq[ustart+i-1], vseq[vstart+j-1]);
      r_dist = add_safe_max(Atabcolumn[i-1][j-1].Rvalue, rcost);
      d_dist = add_safe_max(Atabcolumn[i-1][j-1].Dvalue, rcost);
      i_dist = add_safe_max(Atabcolumn[i-1][j-1].Ivalue, rcost);
      minvalue = GT_MIN3(r_dist, d_dist, i_dist);
      Atabcolumn[i][j].Rvalue = minvalue;
      Atabcolumn[i][j].Redge = gt_linearalign_affinegapcost_set_edge(
                                                        r_dist, d_dist, i_dist);

      /* compute A_affine(i,j,D) */
      r_dist = add_safe_max(Atabcolumn[i-1][j].Rvalue,
                         gap_extension+gap_opening);
      d_dist = add_safe_max(Atabcolumn[i-1][j].Dvalue,gap_extension);
      i_dist = add_safe_max(Atabcolumn[i-1][j].Ivalue,
                          gap_extension+gap_opening);
      minvalue = GT_MIN3(r_dist, d_dist, i_dist);
      Atabcolumn[i][j].Dvalue = minvalue;
      Atabcolumn[i][j].Dedge = gt_linearalign_affinegapcost_set_edge(
                                                        r_dist, d_dist, i_dist);

    }
    /* above diagonal band */
    for (; i <= ulen; i++)
    {
      Atabcolumn[i][j].Rvalue = GT_WORD_MAX;
      Atabcolumn[i][j].Dvalue = GT_WORD_MAX;
      Atabcolumn[i][j].Ivalue = GT_WORD_MAX;
    }
  }
}

// Assembly:
subq $0x1a8, %rsp            # imm = 0x1A8
movq 0x1d8(%rsp), %rax
movl 0x1d0(%rsp), %eax
movl 0x1c8(%rsp), %eax
movq 0x1c0(%rsp), %rax
movq 0x1b8(%rsp), %rax
movq 0x1b0(%rsp), %rax
movq %rdi, 0x1a0(%rsp)
movq %rsi, 0x198(%rsp)
movq %rdx, 0x190(%rsp)
movq %rcx, 0x188(%rsp)
movq %r8, 0x180(%rsp)
movq %r9, 0x178(%rsp)
cmpq $0x0, 0x1a0(%rsp)
je 0x1515eb
cmpq $0x0, 0x1d8(%rsp)
jne 0x151623
movq 0x4ea9ae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3c4a17(%rip), %rsi    # 0x516013
leaq 0x3fbf94(%rip), %rdx    # 0x54d597
leaq 0x3fbfa8(%rip), %rcx    # 0x54d5b2
leaq 0x3fbd8b(%rip), %r8     # 0x54d39c
movl $0x32, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x151625
movq 0x1b8(%rsp), %rax
movq %rax, 0x118(%rsp)
movq 0x1b0(%rsp), %rcx
subq 0x188(%rsp), %rcx
xorl %eax, %eax
cmpq %rcx, %rax
jge 0x151658
xorl %eax, %eax
movq %rax, 0x110(%rsp)
jmp 0x151670
movq 0x1b0(%rsp), %rax
subq 0x188(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0x118(%rsp), %rax
movq 0x110(%rsp), %rcx
cmpq %rcx, %rax
jg 0x1516e5
movq 0x1c0(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x1b0(%rsp), %rcx
subq 0x188(%rsp), %rcx
xorl %eax, %eax
cmpq %rcx, %rax
jle 0x1516b8
xorl %eax, %eax
movq %rax, 0x100(%rsp)
jmp 0x1516d0
movq 0x1b0(%rsp), %rax
subq 0x188(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0x108(%rsp), %rax
movq 0x100(%rsp), %rcx
cmpq %rcx, %rax
jge 0x15171f
jmp 0x1516e7
movq 0x4ea8b2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3c491b(%rip), %rsi    # 0x516013
leaq 0x407664(%rip), %rdx    # 0x558d63
leaq 0x3fbeac(%rip), %rcx    # 0x54d5b2
leaq 0x3fbc8f(%rip), %r8     # 0x54d39c
movl $0x36, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
movq 0x1d8(%rsp), %rdi
callq 0x1d1180
movq %rax, 0x150(%rsp)
movq 0x1d8(%rsp), %rdi
callq 0x1d11d0
movq %rax, 0x148(%rsp)
movq $0x0, 0x160(%rsp)
movq 0x1b8(%rsp), %rax
negq %rax
movq %rax, 0x158(%rsp)
movl 0x1d0(%rsp), %eax
movl %eax, 0xfc(%rsp)
testl %eax, %eax
je 0x15179f
jmp 0x15177c
movl 0xfc(%rsp), %eax
subl $0x1, %eax
je 0x1517fd
jmp 0x15178a
movl 0xfc(%rsp), %eax
subl $0x2, %eax
je 0x15185b
jmp 0x1518b6
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movl 0x1c8(%rsp), %ecx
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movl %ecx, 0x20(%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
jmp 0x1518f6
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq $0x0, 0x8(%rax)
movl 0x1c8(%rsp), %ecx
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movl %ecx, 0x24(%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
jmp 0x1518f6
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq $0x0, 0x10(%rax)
movl 0x1c8(%rsp), %ecx
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movl %ecx, 0x28(%rax)
jmp 0x1518f6
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movq 0x150(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x150(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x10(%rax)
movq $0x1, 0x170(%rsp)
movq 0x170(%rsp), %rax
cmpq 0x158(%rsp), %rax
ja 0x151c1e
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x151998
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq (%rax), %rax
movq 0x150(%rsp), %rcx
addq 0x148(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xf0(%rsp)
jmp 0x1519ac
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xf0(%rsp)
jmp 0x1519ac
movq 0xf0(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x151a12
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x8(%rax), %rax
addq 0x148(%rsp), %rax
movq %rax, 0xe8(%rsp)
jmp 0x151a26
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xe8(%rsp)
jmp 0x151a26
movq 0xe8(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x151a97
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x10(%rax), %rax
movq 0x150(%rsp), %rcx
addq 0x148(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xe0(%rsp)
jmp 0x151aab
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xe0(%rsp)
jmp 0x151aab
movq 0xe0(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x130(%rsp), %rax
jge 0x151b13
movq 0x138(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x151af1
movq 0x138(%rsp), %rax
movq %rax, 0xd8(%rsp)
jmp 0x151b01
movq 0x128(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0xd8(%rsp), %rax
movq %rax, 0xd0(%rsp)
jmp 0x151b57
movq 0x130(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x151b37
movq 0x130(%rsp), %rax
movq %rax, 0xc8(%rsp)
jmp 0x151b47
movq 0x128(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0xc8(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0xd0(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl $0x3, 0x20(%rax)
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x19e680
movl %eax, %ecx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
movl %ecx, 0x24(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movl $0x3, 0x28(%rax)
movq 0x170(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x170(%rsp)
jmp 0x151902
jmp 0x151c20
movq 0x170(%rsp), %rax
cmpq 0x188(%rsp), %rax
ja 0x151cb0
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
movq 0x170(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x170(%rsp)
jmp 0x151c20
movq $0x1, 0x168(%rsp)
movq 0x168(%rsp), %rax
cmpq 0x1b0(%rsp), %rax
ja 0x152b6c
movq $0x0, 0x170(%rsp)
movq 0x170(%rsp), %rax
cmpq 0x160(%rsp), %rax
ja 0x152179
movq 0x168(%rsp), %rax
cmpq 0x1c0(%rsp), %rax
ja 0x1520ae
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x20(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x24(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x151dd5
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xc0(%rsp)
jmp 0x151de9
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xc0(%rsp)
jmp 0x151de9
movq 0xc0(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x151e78
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xb8(%rsp)
jmp 0x151e8c
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xb8(%rsp)
jmp 0x151e8c
movq 0xb8(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x151f10
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x148(%rsp), %rax
movq %rax, 0xb0(%rsp)
jmp 0x151f24
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0xb0(%rsp)
jmp 0x151f24
movq 0xb0(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x130(%rsp), %rax
jge 0x151f8c
movq 0x138(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x151f6a
movq 0x138(%rsp), %rax
movq %rax, 0xa8(%rsp)
jmp 0x151f7a
movq 0x128(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x151fd0
movq 0x130(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x151fb0
movq 0x130(%rsp), %rax
movq %rax, 0x98(%rsp)
jmp 0x151fc0
movq 0x128(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x98(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x19e680
movl %eax, %ecx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
jmp 0x15215e
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movl $0x3, 0x28(%rax)
jmp 0x152160
movq 0x170(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x170(%rsp)
jmp 0x151cde
movq 0x168(%rsp), %rax
cmpq 0x1c0(%rsp), %rax
jbe 0x15219f
movq 0x160(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x160(%rsp)
movq 0x158(%rsp), %rax
cmpq 0x188(%rsp), %rax
jae 0x1521c5
movq 0x158(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x158(%rsp)
jmp 0x1521c7
movq 0x170(%rsp), %rax
cmpq 0x158(%rsp), %rax
ja 0x152a97
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x15225a
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x90(%rsp)
jmp 0x15226e
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x90(%rsp)
jmp 0x15226e
movq 0x90(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x1522fd
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x88(%rsp)
jmp 0x152311
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x88(%rsp)
jmp 0x152311
movq 0x88(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x152395
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x148(%rsp), %rax
movq %rax, 0x80(%rsp)
jmp 0x1523a9
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x80(%rsp)
jmp 0x1523a9
movq 0x80(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x130(%rsp), %rax
jge 0x152405
movq 0x138(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x1523ec
movq 0x138(%rsp), %rax
movq %rax, 0x78(%rsp)
jmp 0x1523f9
movq 0x128(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x78(%rsp), %rax
movq %rax, 0x70(%rsp)
jmp 0x15243d
movq 0x130(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x152426
movq 0x130(%rsp), %rax
movq %rax, 0x68(%rsp)
jmp 0x152433
movq 0x128(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x19e680
movl %eax, %ecx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movl %ecx, 0x28(%rax)
movq 0x1d8(%rsp), %rdi
movq 0x198(%rsp), %rax
movq 0x190(%rsp), %rcx
addq 0x170(%rsp), %rcx
subq $0x1, %rcx
movb (%rax,%rcx), %dl
movq 0x180(%rsp), %rax
movq 0x178(%rsp), %rcx
addq 0x168(%rsp), %rcx
subq $0x1, %rcx
movzbl %dl, %esi
movzbl (%rax,%rcx), %edx
callq 0x1d12c0
movq %rax, 0x140(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x152586
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq (%rax), %rax
addq 0x140(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x152597
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x60(%rsp)
jmp 0x152597
movq 0x60(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x15261d
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x140(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x15262e
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x58(%rsp)
jmp 0x15262e
movq 0x58(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x1526b4
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
movq 0x168(%rsp), %rcx
subq $0x1, %rcx
imulq $0x30, %rcx, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
addq 0x140(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0x1526c5
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x50(%rsp)
jmp 0x1526c5
movq 0x50(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x130(%rsp), %rax
jge 0x15271e
movq 0x138(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x152705
movq 0x138(%rsp), %rax
movq %rax, 0x48(%rsp)
jmp 0x152712
movq 0x128(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x40(%rsp)
jmp 0x152756
movq 0x130(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x15273f
movq 0x130(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x15274c
movq 0x128(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x19e680
movl %eax, %ecx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movl %ecx, 0x20(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, (%rax)
je 0x152844
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movq (%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
jmp 0x152855
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x30(%rsp)
jmp 0x152855
movq 0x30(%rsp), %rax
movq %rax, 0x138(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x8(%rax)
je 0x1528cd
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movq 0x8(%rax), %rax
addq 0x148(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x1528de
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x28(%rsp)
jmp 0x1528de
movq 0x28(%rsp), %rax
movq %rax, 0x130(%rsp)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
cmpq %rcx, 0x10(%rax)
je 0x152961
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
subq $0x1, %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movq 0x148(%rsp), %rcx
addq 0x150(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x20(%rsp)
jmp 0x152972
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x20(%rsp)
jmp 0x152972
movq 0x20(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x138(%rsp), %rax
cmpq 0x130(%rsp), %rax
jge 0x1529cb
movq 0x138(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x1529b2
movq 0x138(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x1529bf
movq 0x128(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x152a03
movq 0x130(%rsp), %rax
cmpq 0x128(%rsp), %rax
jge 0x1529ec
movq 0x130(%rsp), %rax
movq %rax, 0x8(%rsp)
jmp 0x1529f9
movq 0x128(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movq %rcx, 0x8(%rax)
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x19e680
movl %eax, %ecx
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rdx
movq (%rax,%rdx,8), %rax
imulq $0x30, 0x168(%rsp), %rdx
addq %rdx, %rax
movl %ecx, 0x24(%rax)
movq 0x170(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x170(%rsp)
jmp 0x1521c7
jmp 0x152a99
movq 0x170(%rsp), %rax
cmpq 0x188(%rsp), %rax
ja 0x152b51
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x8(%rax)
movq 0x1a0(%rsp), %rax
movq 0x170(%rsp), %rcx
movq (%rax,%rcx,8), %rax
imulq $0x30, 0x168(%rsp), %rcx
addq %rcx, %rax
movabsq $0x7fffffffffffffff, %rcx # imm = 0x7FFFFFFFFFFFFFFF
movq %rcx, 0x10(%rax)
movq 0x170(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x170(%rsp)
jmp 0x152a99
jmp 0x152b53
movq 0x168(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x168(%rsp)
jmp 0x151cbc
addq $0x1a8, %rsp            # imm = 0x1A8
retq
nopw %cs:(%rax,%rax)