// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/sfx-diffcov.c
// Function: dc_gt_inlinedarr_qsort_r
static void QSORTNAME(gt_inlinedarr_qsort_r) (QSORTNAME(Datatype) data,
                                              GtLcpvalues *sssplcpvalues,
                                              const GtDifferencecover *dcov,
                                              GtUword insertionsortthreshold,
                                              bool handlenotswapped,
                                              GtUword subbucketleft,
                                              GtUword len)
{
  GtUword tmp, pa, pb, pc, pd, pl, pm, pn, aidx, bidx, s,
          smallermaxlcp, greatermaxlcp;
  int r;
  bool swapped;
  GtStackIntervalarrtobesorted intervalstack;
  Intervalarrtobesorted current;
  GtLcptrace lcptrace;

  GT_STACK_INIT(&intervalstack,32UL);
  current.startindex = 0;
  current.len = len;
  GT_STACK_PUSH(&intervalstack,current);
  if (insertionsortthreshold <= 2UL)
  {
    insertionsortthreshold = 6UL;
  }
  while (!GT_STACK_ISEMPTY(&intervalstack))
  {
    swapped = false;
    current = GT_STACK_POP(&intervalstack);
    if (current.len <= insertionsortthreshold)
    {
      for (pm = current.startindex + 1;
           pm < current.startindex + current.len; pm++)
      {
        for (pl = pm; pl > current.startindex; pl--)
        {
          r = QSORTNAME(qsortcmparr) (pl - 1, pl, dcov, &lcptrace,
                                      subbucketleft, data);
          if (sssplcpvalues != NULL)
          {
            if (pl < pm && r > 0)
            {
              gt_lcptab_update(sssplcpvalues,subbucketleft,pl+1,
                               gt_lcptab_getvalue(sssplcpvalues,
                                                  subbucketleft,pl));
            }
            gt_lcptab_update(sssplcpvalues,subbucketleft,pl,
                             gt_differencecover_eval_lcp(&lcptrace, dcov));
          }
          if (r <= 0)
          {
            break;
          }
          GT_QSORT_ARR_SWAP (data, pl, pl - 1);
        }
      }
      continue;
    }
    pm = current.startindex + GT_DIV2 (current.len);
    if (current.len > 7UL)
    {
      pl = current.startindex;
      pn = current.startindex + current.len - 1;
      if (current.len > 40UL)
      {
        s = GT_DIV8 (current.len);
        pl = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pl, pl + s,
                                                     pl + GT_MULT2 (s), dcov,
                                                     &lcptrace, subbucketleft,
                                                     data);
        gt_assert(pm >= s);
        pm = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pm - s, pm,
                                                     pm + s, dcov,
                                                     &lcptrace, subbucketleft,
                                                     data);
        gt_assert(pn >= GT_MULT2(s));
        pn = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pn - GT_MULT2 (s),
                                                     pn - s, pn, dcov,
                                                     &lcptrace, subbucketleft,
                                                     data);
      }
      pm = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pl, pm, pn, dcov, &lcptrace,
                                                   subbucketleft,  data);
    }
    GT_QSORT_ARR_SWAP (data, current.startindex, pm);
    pa = pb = current.startindex + 1;
    pc = pd = current.startindex + current.len - 1;
    smallermaxlcp = greatermaxlcp = 0;
    while (1)
    {
      while (pb <= pc)
      {
        r = QSORTNAME(qsortcmparr) (pb, current.startindex, dcov, &lcptrace,
                                    subbucketleft, data);
        if (r > 0)
        {
          if (sssplcpvalues != NULL)
          {
            GtUword tmplcplen = gt_differencecover_eval_lcp(&lcptrace,dcov);
            GT_UPDATE_MAX(greatermaxlcp,tmplcplen);
          }
          break;
        }
        if (r == 0)
        {
          swapped = true;
          GT_QSORT_ARR_SWAP (data, pa, pb);
          pa++;
        } else
        {
          if (sssplcpvalues != NULL)
          {
            GtUword tmplcplen = gt_differencecover_eval_lcp(&lcptrace,dcov);
            GT_UPDATE_MAX(smallermaxlcp,tmplcplen);
          }
        }
        pb++;
      }
      while (pb <= pc)
      {
        r = QSORTNAME(qsortcmparr) (pc, current.startindex, dcov, &lcptrace,
                                    subbucketleft, data);
        if (r < 0)
        {
          if (sssplcpvalues != NULL)
          {
            GtUword tmplcplen = gt_differencecover_eval_lcp(&lcptrace,dcov);
            GT_UPDATE_MAX(smallermaxlcp,tmplcplen);
          }
          break;
        }
        if (r == 0)
        {
          swapped = true;
          GT_QSORT_ARR_SWAP (data, pc, pd);
          gt_assert(pd > 0);
          pd--;
        } else
        {
          if (sssplcpvalues != NULL)
          {
            GtUword tmplcplen = gt_differencecover_eval_lcp(&lcptrace,dcov);
            GT_UPDATE_MAX(greatermaxlcp,tmplcplen);
          }
        }
        gt_assert(pc > 0);
        pc--;
      }
      if (pb > pc)
      {
        break;
      }
      GT_QSORT_ARR_SWAP (data, pb, pc);
      swapped = true;
      pb++;
      gt_assert(pc > 0);
      pc--;
    }
    /* The following switch is not explained in the above mentioned
       paper and therefore we ignore it. */
    if (handlenotswapped && !swapped)
    {                                  /* Switch to insertion sort */
      gt_assert(current.len <= 40UL);
      for (pm = current.startindex + 1;
           pm < current.startindex + current.len; pm++)
      {
        for (pl = pm; pl > current.startindex; pl--)
        {
          r = QSORTNAME(qsortcmparr) (pl - 1, pl, dcov, &lcptrace,
                                      subbucketleft, data);
          if (r <= 0)
          {
            break;
          }
          GT_QSORT_ARR_SWAP (data, pl, pl - 1);
        }
      }
      continue;
    }
    pn = current.startindex + current.len;
    gt_assert(pa >= current.startindex);
    gt_assert(pb >= pa);
    s = GT_MIN ((GtUword) (pa - current.startindex),
             (GtUword) (pb - pa));
    gt_assert(pb >= s);
    GT_QSORT_ARR_VECSWAP (data, current.startindex, pb - s, s);
    gt_assert(pd >= pc);
    gt_assert(pn > pd);
    s = GT_MIN ((GtUword) (pd - pc), (GtUword) (pn - pd - 1));
    gt_assert(pn > s);
    GT_QSORT_ARR_VECSWAP (data, pb, pn - s, s);
    gt_assert(pb >= pa);
    if ((s = (GtUword) (pb - pa)) > 0)
    {
      if (sssplcpvalues != NULL)
      {
        /*
          left part has suffix with lcp up to length smallermaxlcp w.r.t.
          to the pivot. This lcp belongs to a suffix on the left
          which is at a minimum distance to the pivot and thus to an
          element in the final part of the left side.
        */
        gt_lcptab_update(sssplcpvalues,
                         subbucketleft,current.startindex + s,
                         smallermaxlcp);
      }
      if (s > 1UL)
      {
        current.len = s;
        GT_STACK_PUSH(&intervalstack,current);
      }
    }
    gt_assert(pd >= pc);
    if ((s = (GtUword) (pd - pc)) > 0)
    {
      if (sssplcpvalues != NULL)
      {
        /*
          right part has suffix with lcp up to length largermaxlcp w.r.t.
          to the pivot. This lcp belongs to a suffix on the right
          which is at a minimum distance to the pivot and thus to an
          element in the first part of the right side.
        */
        gt_assert(pn >= s);
        gt_lcptab_update(sssplcpvalues,subbucketleft,pn - s, greatermaxlcp);
      }
      if (s > 1UL)
      {
        gt_assert(pn >= s);
        current.startindex = pn - s;
        current.len = s;
        GT_STACK_PUSH(&intervalstack,current);
      }
    }
  }
  GT_STACK_DELETE(&intervalstack);
}

// Assembly:
subq $0x498, %rsp            # imm = 0x498
movb %r8b, %al
movq 0x4a0(%rsp), %r8
movq %rdi, 0x490(%rsp)
movq %rsi, 0x488(%rsp)
movq %rdx, 0x480(%rsp)
movq %rcx, 0x478(%rsp)
andb $0x1, %al
movb %al, 0x477(%rsp)
movq %r9, 0x468(%rsp)
movq $0x20, 0x1d8(%rsp)
movq $0x20, 0x1e0(%rsp)
movq 0x1d8(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq $0x0, 0x1d0(%rsp)
movq $0x0, 0x1c8(%rsp)
leaq 0x1c0(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x3e8(%rsp)
movq $0x0, 0x3f0(%rsp)
cmpq $0x0, 0x3f0(%rsp)
je 0x2c0511
movq $0x0, 0x3f0(%rsp)
movq $0x0, 0x190(%rsp)
movq 0x190(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jae 0x2c050f
movq 0x3f0(%rsp), %rax
movq 0x3e8(%rsp), %rdi
movq 0x190(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x190(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x190(%rsp)
jmp 0x2c04c6
jmp 0x2c0511
movq $0x0, 0x1b0(%rsp)
movq 0x4a0(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1d0(%rsp), %rax
cmpq 0x1c0(%rsp), %rax
jne 0x2c068f
movq $0x10, 0x188(%rsp)
movq 0x188(%rsp), %rax
movq 0x1c0(%rsp), %rcx
addq 0x1e0(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x180(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c0591
xorl %eax, %eax
movq %rax, 0x120(%rsp)
jmp 0x2c05a1
movq 0x3e8(%rsp), %rax
movq %rax, 0x120(%rsp)
movq 0x120(%rsp), %rdi
movq 0x180(%rsp), %rsi
leaq 0x2c9203(%rip), %rdx    # 0x5897bb
movl $0x7f1, %ecx            # imm = 0x7F1
callq 0xe8540
movq %rax, 0x3e8(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c0606
movq 0x3e8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
addq $0x28, %rsi
movq 0x188(%rsp), %rdx
imulq 0x1d8(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x3f0(%rsp)
je 0x2c0677
movq $0x0, 0x178(%rsp)
movq 0x178(%rsp), %rax
cmpq 0x1e0(%rsp), %rax
jae 0x2c0675
movq 0x3f0(%rsp), %rax
movq 0x3e8(%rsp), %rdi
movq 0x1c0(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x178(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x178(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x178(%rsp)
jmp 0x2c061d
jmp 0x2c0677
movq 0x1e0(%rsp), %rax
addq 0x1c0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq 0x3e8(%rsp), %rax
movq 0x1d0(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x1d0(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x1b0(%rsp), %rcx
movq %rcx, (%rax)
movq 0x1b8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x1c8(%rsp), %rax
cmpq 0x1d0(%rsp), %rax
jae 0x2c06ee
movq 0x1d0(%rsp), %rax
movq %rax, 0x1c8(%rsp)
cmpq $0x2, 0x478(%rsp)
ja 0x2c0705
movq $0x6, 0x478(%rsp)
jmp 0x2c0707
movq 0x1d0(%rsp), %rdx
xorl %eax, %eax
movl $0x1, %ecx
cmpq $0x0, %rdx
cmovel %ecx, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x2c072e
jmp 0x2c209c
movb $0x0, 0x3fb(%rsp)
movq 0x3e8(%rsp), %rax
movq 0x1d0(%rsp), %rcx
addq $-0x1, %rcx
movq %rcx, 0x1d0(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x1b0(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1b8(%rsp), %rax
cmpq 0x478(%rsp), %rax
ja 0x2c0a48
movq 0x1b0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x430(%rsp)
movq 0x430(%rsp), %rax
movq 0x1b0(%rsp), %rcx
addq 0x1b8(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2c0a43
movq 0x430(%rsp), %rax
movq %rax, 0x438(%rsp)
movq 0x438(%rsp), %rax
cmpq 0x1b0(%rsp), %rax
jbe 0x2c0a28
movq 0x438(%rsp), %rdi
subq $0x1, %rdi
movq 0x438(%rsp), %rsi
movq 0x480(%rsp), %rdx
movq 0x468(%rsp), %r8
movq 0x490(%rsp), %r9
leaq 0x198(%rsp), %rcx
callq 0x2c5220
movl %eax, 0x3fc(%rsp)
cmpq $0x0, 0x488(%rsp)
je 0x2c0922
movq 0x438(%rsp), %rax
cmpq 0x430(%rsp), %rax
jae 0x2c08bd
cmpl $0x0, 0x3fc(%rsp)
jle 0x2c08bd
movq 0x488(%rsp), %rax
movq %rax, 0x108(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x110(%rsp)
movq 0x438(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x118(%rsp)
movq 0x488(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
callq 0x2bff60
movq 0x108(%rsp), %rdi
movq 0x110(%rsp), %rsi
movq 0x118(%rsp), %rdx
movq %rax, %rcx
callq 0x2c01b0
movq 0x488(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x438(%rsp), %rax
movq %rax, 0x100(%rsp)
movq 0x480(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x2c52e0
movq 0xf0(%rsp), %rdi
movq 0xf8(%rsp), %rsi
movq 0x100(%rsp), %rdx
movq %rax, %rcx
callq 0x2c01b0
cmpl $0x0, 0x3fc(%rsp)
jg 0x2c0931
jmp 0x2c0a28
movq 0x438(%rsp), %rax
movq 0x438(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
je 0x2c0a0d
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0xd8(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x438(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
subq $0x1, %rdx
callq 0x2e9ec0
movq 0xd8(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movq 0xe8(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
subq $0x1, %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
jmp 0x2c0a0f
movq 0x438(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x438(%rsp)
jmp 0x2c07cb
jmp 0x2c0a2a
movq 0x430(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x430(%rsp)
jmp 0x2c079a
jmp 0x2c0707
movq 0x1b0(%rsp), %rax
movq 0x1b8(%rsp), %rcx
shrq %rcx
addq %rcx, %rax
movq %rax, 0x430(%rsp)
cmpq $0x7, 0x1b8(%rsp)
jbe 0x2c0cc2
movq 0x1b0(%rsp), %rax
movq %rax, 0x438(%rsp)
movq 0x1b0(%rsp), %rax
addq 0x1b8(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x428(%rsp)
cmpq $0x28, 0x1b8(%rsp)
jbe 0x2c0c79
movq 0x1b8(%rsp), %rax
shrq $0x3, %rax
movq %rax, 0x410(%rsp)
movq 0x438(%rsp), %rdi
movq 0x438(%rsp), %rsi
addq 0x410(%rsp), %rsi
movq 0x438(%rsp), %rdx
movq 0x410(%rsp), %rax
shlq %rax
addq %rax, %rdx
movq 0x480(%rsp), %rcx
movq 0x468(%rsp), %r9
movq 0x490(%rsp), %rax
leaq 0x198(%rsp), %r8
movq %rax, (%rsp)
callq 0x2c5430
movq %rax, 0x438(%rsp)
movq 0x430(%rsp), %rax
cmpq 0x410(%rsp), %rax
jae 0x2c0b6d
movq 0x37b464(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2554cd(%rip), %rsi    # 0x516013
leaq 0x26bce4(%rip), %rdx    # 0x52c831
leaq 0x2c9ac6(%rip), %rcx    # 0x58a61a
leaq 0x2c8c60(%rip), %r8     # 0x5897bb
movl $0x823, %r9d            # imm = 0x823
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c0b6f
movq 0x430(%rsp), %rdi
subq 0x410(%rsp), %rdi
movq 0x430(%rsp), %rsi
movq 0x430(%rsp), %rdx
addq 0x410(%rsp), %rdx
movq 0x480(%rsp), %rcx
movq 0x468(%rsp), %r9
movq 0x490(%rsp), %rax
leaq 0x198(%rsp), %r8
movq %rax, (%rsp)
callq 0x2c5430
movq %rax, 0x430(%rsp)
movq 0x428(%rsp), %rax
movq 0x410(%rsp), %rcx
shlq %rcx
cmpq %rcx, %rax
jae 0x2c0c18
movq 0x37b3b9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x255422(%rip), %rsi    # 0x516013
leaq 0x26bc61(%rip), %rdx    # 0x52c859
leaq 0x2c9a1b(%rip), %rcx    # 0x58a61a
leaq 0x2c8bb5(%rip), %r8     # 0x5897bb
movl $0x828, %r9d            # imm = 0x828
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c0c1a
movq 0x428(%rsp), %rdi
movq 0x410(%rsp), %rax
shlq %rax
subq %rax, %rdi
movq 0x428(%rsp), %rsi
subq 0x410(%rsp), %rsi
movq 0x428(%rsp), %rdx
movq 0x480(%rsp), %rcx
movq 0x468(%rsp), %r9
movq 0x490(%rsp), %rax
leaq 0x198(%rsp), %r8
movq %rax, (%rsp)
callq 0x2c5430
movq %rax, 0x428(%rsp)
movq 0x438(%rsp), %rdi
movq 0x430(%rsp), %rsi
movq 0x428(%rsp), %rdx
movq 0x480(%rsp), %rcx
movq 0x468(%rsp), %r9
movq 0x490(%rsp), %rax
leaq 0x198(%rsp), %r8
movq %rax, (%rsp)
callq 0x2c5430
movq %rax, 0x430(%rsp)
movq 0x1b0(%rsp), %rax
cmpq 0x430(%rsp), %rax
je 0x2c0d8f
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x1b0(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0xc0(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x1b0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x430(%rsp), %rdx
callq 0x2e9ec0
movq 0xc0(%rsp), %rdi
movq 0xc8(%rsp), %rsi
movq 0xd0(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x430(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
movq 0x1b0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x450(%rsp)
movq %rax, 0x458(%rsp)
movq 0x1b0(%rsp), %rax
addq 0x1b8(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x440(%rsp)
movq %rax, 0x448(%rsp)
movq $0x0, 0x400(%rsp)
movq $0x0, 0x408(%rsp)
jmp 0x2c0de9
movq 0x450(%rsp), %rax
cmpq 0x448(%rsp), %rax
ja 0x2c0ff6
movq 0x450(%rsp), %rdi
movq 0x1b0(%rsp), %rsi
movq 0x480(%rsp), %rdx
movq 0x468(%rsp), %r8
movq 0x490(%rsp), %r9
leaq 0x198(%rsp), %rcx
callq 0x2c5220
movl %eax, 0x3fc(%rsp)
cmpl $0x0, 0x3fc(%rsp)
jle 0x2c0e96
cmpq $0x0, 0x488(%rsp)
je 0x2c0e91
movq 0x480(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x2c52e0
movq %rax, 0x170(%rsp)
movq 0x400(%rsp), %rax
cmpq 0x170(%rsp), %rax
jae 0x2c0e8f
movq 0x170(%rsp), %rax
movq %rax, 0x400(%rsp)
jmp 0x2c0e91
jmp 0x2c0ff6
cmpl $0x0, 0x3fc(%rsp)
jne 0x2c0f8f
movb $0x1, 0x3fb(%rsp)
movq 0x458(%rsp), %rax
cmpq 0x450(%rsp), %rax
je 0x2c0f79
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x458(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x458(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x450(%rsp), %rdx
callq 0x2e9ec0
movq 0xa8(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movq 0xb8(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x450(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
movq 0x458(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x458(%rsp)
jmp 0x2c0fdd
cmpq $0x0, 0x488(%rsp)
je 0x2c0fdb
movq 0x480(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x2c52e0
movq %rax, 0x168(%rsp)
movq 0x408(%rsp), %rax
cmpq 0x168(%rsp), %rax
jae 0x2c0fd9
movq 0x168(%rsp), %rax
movq %rax, 0x408(%rsp)
jmp 0x2c0fdb
jmp 0x2c0fdd
movq 0x450(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x450(%rsp)
jmp 0x2c0de9
jmp 0x2c0ff8
movq 0x450(%rsp), %rax
cmpq 0x448(%rsp), %rax
ja 0x2c1293
movq 0x448(%rsp), %rdi
movq 0x1b0(%rsp), %rsi
movq 0x480(%rsp), %rdx
movq 0x468(%rsp), %r8
movq 0x490(%rsp), %r9
leaq 0x198(%rsp), %rcx
callq 0x2c5220
movl %eax, 0x3fc(%rsp)
cmpl $0x0, 0x3fc(%rsp)
jge 0x2c10a5
cmpq $0x0, 0x488(%rsp)
je 0x2c10a0
movq 0x480(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x2c52e0
movq %rax, 0x160(%rsp)
movq 0x408(%rsp), %rax
cmpq 0x160(%rsp), %rax
jae 0x2c109e
movq 0x160(%rsp), %rax
movq %rax, 0x408(%rsp)
jmp 0x2c10a0
jmp 0x2c1293
cmpl $0x0, 0x3fc(%rsp)
jne 0x2c11e5
movb $0x1, 0x3fb(%rsp)
movq 0x448(%rsp), %rax
cmpq 0x440(%rsp), %rax
je 0x2c1188
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x448(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x448(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x440(%rsp), %rdx
callq 0x2e9ec0
movq 0x90(%rsp), %rdi
movq 0x98(%rsp), %rsi
movq 0xa0(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x440(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
jmp 0x2c118a
cmpq $0x0, 0x440(%rsp)
ja 0x2c11cd
movq 0x37ae04(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254e6d(%rip), %rsi    # 0x516013
leaq 0x26b6be(%rip), %rdx    # 0x52c86b
leaq 0x2c9466(%rip), %rcx    # 0x58a61a
leaq 0x2c8600(%rip), %r8     # 0x5897bb
movl $0x864, %r9d            # imm = 0x864
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c11cf
movq 0x440(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x440(%rsp)
jmp 0x2c1233
cmpq $0x0, 0x488(%rsp)
je 0x2c1231
movq 0x480(%rsp), %rsi
leaq 0x198(%rsp), %rdi
callq 0x2c52e0
movq %rax, 0x158(%rsp)
movq 0x400(%rsp), %rax
cmpq 0x158(%rsp), %rax
jae 0x2c122f
movq 0x158(%rsp), %rax
movq %rax, 0x400(%rsp)
jmp 0x2c1231
jmp 0x2c1233
jmp 0x2c1235
cmpq $0x0, 0x448(%rsp)
ja 0x2c1278
movq 0x37ad59(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254dc2(%rip), %rsi    # 0x516013
leaq 0x26b61a(%rip), %rdx    # 0x52c872
leaq 0x2c93bb(%rip), %rcx    # 0x58a61a
leaq 0x2c8555(%rip), %r8     # 0x5897bb
movl $0x86e, %r9d            # imm = 0x86E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c127a
movq 0x448(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x448(%rsp)
jmp 0x2c0ff8
movq 0x450(%rsp), %rax
cmpq 0x448(%rsp), %rax
jbe 0x2c12aa
jmp 0x2c13eb
movq 0x450(%rsp), %rax
cmpq 0x448(%rsp), %rax
je 0x2c1371
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x450(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x450(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x448(%rsp), %rdx
callq 0x2e9ec0
movq 0x78(%rsp), %rdi
movq 0x80(%rsp), %rsi
movq 0x88(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x448(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
movb $0x1, 0x3fb(%rsp)
movq 0x450(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x450(%rsp)
cmpq $0x0, 0x448(%rsp)
ja 0x2c13d0
movq 0x37ac01(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254c6a(%rip), %rsi    # 0x516013
leaq 0x26b4c2(%rip), %rdx    # 0x52c872
leaq 0x2c9263(%rip), %rcx    # 0x58a61a
leaq 0x2c83fd(%rip), %r8     # 0x5897bb
movl $0x878, %r9d            # imm = 0x878
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c13d2
movq 0x448(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x448(%rsp)
jmp 0x2c0de7
testb $0x1, 0x477(%rsp)
je 0x2c15fd
testb $0x1, 0x3fb(%rsp)
jne 0x2c15fd
jmp 0x2c1409
cmpq $0x28, 0x1b8(%rsp)
jbe 0x2c144c
movq 0x37ab85(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254bee(%rip), %rsi    # 0x516013
leaq 0x26b44d(%rip), %rdx    # 0x52c879
leaq 0x2c91e7(%rip), %rcx    # 0x58a61a
leaq 0x2c8381(%rip), %r8     # 0x5897bb
movl $0x87f, %r9d            # imm = 0x87F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c144e
movq 0x1b0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x430(%rsp)
movq 0x430(%rsp), %rax
movq 0x1b0(%rsp), %rcx
addq 0x1b8(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2c15f8
movq 0x430(%rsp), %rax
movq %rax, 0x438(%rsp)
movq 0x438(%rsp), %rax
cmpq 0x1b0(%rsp), %rax
jbe 0x2c15dd
movq 0x438(%rsp), %rdi
subq $0x1, %rdi
movq 0x438(%rsp), %rsi
movq 0x480(%rsp), %rdx
movq 0x468(%rsp), %r8
movq 0x490(%rsp), %r9
leaq 0x198(%rsp), %rcx
callq 0x2c5220
movl %eax, 0x3fc(%rsp)
cmpl $0x0, 0x3fc(%rsp)
jg 0x2c14f8
jmp 0x2c15dd
movq 0x438(%rsp), %rax
movq 0x438(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
je 0x2c15c2
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x438(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
subq $0x1, %rdx
callq 0x2e9ec0
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x438(%rsp), %rdx
subq $0x1, %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
jmp 0x2c15c4
movq 0x438(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x438(%rsp)
jmp 0x2c1493
jmp 0x2c15df
movq 0x430(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x430(%rsp)
jmp 0x2c1462
jmp 0x2c0707
movq 0x1b0(%rsp), %rax
addq 0x1b8(%rsp), %rax
movq %rax, 0x428(%rsp)
movq 0x458(%rsp), %rax
cmpq 0x1b0(%rsp), %rax
jae 0x2c165f
movq 0x37a972(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2549db(%rip), %rsi    # 0x516013
leaq 0x26b24e(%rip), %rdx    # 0x52c88d
leaq 0x2c8fd4(%rip), %rcx    # 0x58a61a
leaq 0x2c816e(%rip), %r8     # 0x5897bb
movl $0x891, %r9d            # imm = 0x891
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1661
jmp 0x2c1663
movq 0x450(%rsp), %rax
cmpq 0x458(%rsp), %rax
jae 0x2c16ad
movq 0x37a924(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x25498d(%rip), %rsi    # 0x516013
leaq 0x2cbac5(%rip), %rdx    # 0x58d152
leaq 0x2c8f86(%rip), %rcx    # 0x58a61a
leaq 0x2c8120(%rip), %r8     # 0x5897bb
movl $0x892, %r9d            # imm = 0x892
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c16af
movq 0x458(%rsp), %rax
subq 0x1b0(%rsp), %rax
movq 0x450(%rsp), %rcx
subq 0x458(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2c16eb
movq 0x458(%rsp), %rax
subq 0x1b0(%rsp), %rax
movq %rax, 0x58(%rsp)
jmp 0x2c1700
movq 0x450(%rsp), %rax
subq 0x458(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x410(%rsp)
movq 0x450(%rsp), %rax
cmpq 0x410(%rsp), %rax
jae 0x2c1757
movq 0x37a87a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2548e3(%rip), %rsi    # 0x516013
leaq 0x26b16f(%rip), %rdx    # 0x52c8a6
leaq 0x2c8edc(%rip), %rcx    # 0x58a61a
leaq 0x2c8076(%rip), %r8     # 0x5897bb
movl $0x895, %r9d            # imm = 0x895
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1759
movq 0x1b0(%rsp), %rax
movq %rax, 0x420(%rsp)
movq 0x450(%rsp), %rax
subq 0x410(%rsp), %rax
movq %rax, 0x418(%rsp)
movq 0x410(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x410(%rsp)
cmpq $0x0, %rax
jbe 0x2c1874
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x420(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x420(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x418(%rsp), %rdx
callq 0x2e9ec0
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x418(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
movq 0x420(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x420(%rsp)
movq 0x418(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x418(%rsp)
jmp 0x2c1781
jmp 0x2c1876
movq 0x440(%rsp), %rax
cmpq 0x448(%rsp), %rax
jae 0x2c18c0
movq 0x37a711(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x25477a(%rip), %rsi    # 0x516013
leaq 0x26b00e(%rip), %rdx    # 0x52c8ae
leaq 0x2c8d73(%rip), %rcx    # 0x58a61a
leaq 0x2c7f0d(%rip), %r8     # 0x5897bb
movl $0x897, %r9d            # imm = 0x897
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c18c2
jmp 0x2c18c4
movq 0x428(%rsp), %rax
cmpq 0x440(%rsp), %rax
ja 0x2c190e
movq 0x37a6c3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x25472c(%rip), %rsi    # 0x516013
leaq 0x2cb879(%rip), %rdx    # 0x58d167
leaq 0x2c8d25(%rip), %rcx    # 0x58a61a
leaq 0x2c7ebf(%rip), %r8     # 0x5897bb
movl $0x898, %r9d            # imm = 0x898
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1910
movq 0x440(%rsp), %rax
subq 0x448(%rsp), %rax
movq 0x428(%rsp), %rcx
subq 0x440(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x2c1950
movq 0x440(%rsp), %rax
subq 0x448(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x2c1969
movq 0x428(%rsp), %rax
subq 0x440(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x410(%rsp)
movq 0x428(%rsp), %rax
cmpq 0x410(%rsp), %rax
ja 0x2c19c0
movq 0x37a611(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x25467a(%rip), %rsi    # 0x516013
leaq 0x26af17(%rip), %rdx    # 0x52c8b7
leaq 0x2c8c73(%rip), %rcx    # 0x58a61a
leaq 0x2c7e0d(%rip), %r8     # 0x5897bb
movl $0x89a, %r9d            # imm = 0x89A
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c19c2
movq 0x450(%rsp), %rax
movq %rax, 0x420(%rsp)
movq 0x428(%rsp), %rax
subq 0x410(%rsp), %rax
movq %rax, 0x418(%rsp)
movq 0x410(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x410(%rsp)
cmpq $0x0, %rax
jbe 0x2c1add
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x420(%rsp), %rdx
callq 0x2e9ec0
movq %rax, 0x460(%rsp)
movq 0x490(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x468(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x420(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x418(%rsp), %rdx
callq 0x2e9ec0
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rax, %rcx
callq 0x2ea0a0
movq 0x490(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x418(%rsp), %rdx
movq 0x460(%rsp), %rcx
callq 0x2ea0a0
movq 0x420(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x420(%rsp)
movq 0x418(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x418(%rsp)
jmp 0x2c19ea
jmp 0x2c1adf
movq 0x450(%rsp), %rax
cmpq 0x458(%rsp), %rax
jae 0x2c1b29
movq 0x37a4a8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254511(%rip), %rsi    # 0x516013
leaq 0x2cb649(%rip), %rdx    # 0x58d152
leaq 0x2c8b0a(%rip), %rcx    # 0x58a61a
leaq 0x2c7ca4(%rip), %r8     # 0x5897bb
movl $0x89c, %r9d            # imm = 0x89C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1b2b
movq 0x450(%rsp), %rax
subq 0x458(%rsp), %rax
movq %rax, 0x410(%rsp)
cmpq $0x0, %rax
jbe 0x2c1d60
cmpq $0x0, 0x488(%rsp)
je 0x2c1b85
movq 0x488(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x1b0(%rsp), %rdx
addq 0x410(%rsp), %rdx
movq 0x408(%rsp), %rcx
callq 0x2c01b0
cmpq $0x1, 0x410(%rsp)
jbe 0x2c1d5e
movq 0x410(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1d0(%rsp), %rax
cmpq 0x1c0(%rsp), %rax
jne 0x2c1cfd
movq $0x10, 0x150(%rsp)
movq 0x150(%rsp), %rax
movq 0x1c0(%rsp), %rcx
addq 0x1e0(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x148(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c1c05
xorl %eax, %eax
movq %rax, 0x18(%rsp)
jmp 0x2c1c12
movq 0x3e8(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movq 0x148(%rsp), %rsi
leaq 0x2c7b95(%rip), %rdx    # 0x5897bb
movl $0x8ae, %ecx            # imm = 0x8AE
callq 0xe8540
movq %rax, 0x3e8(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c1c74
movq 0x3e8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
addq $0x28, %rsi
movq 0x150(%rsp), %rdx
imulq 0x1d8(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x3f0(%rsp)
je 0x2c1ce5
movq $0x0, 0x140(%rsp)
movq 0x140(%rsp), %rax
cmpq 0x1e0(%rsp), %rax
jae 0x2c1ce3
movq 0x3f0(%rsp), %rax
movq 0x3e8(%rsp), %rdi
movq 0x1c0(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x140(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x140(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x140(%rsp)
jmp 0x2c1c8b
jmp 0x2c1ce5
movq 0x1e0(%rsp), %rax
addq 0x1c0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq 0x3e8(%rsp), %rax
movq 0x1d0(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x1d0(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x1b0(%rsp), %rcx
movq %rcx, (%rax)
movq 0x1b8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x1c8(%rsp), %rax
cmpq 0x1d0(%rsp), %rax
jae 0x2c1d5c
movq 0x1d0(%rsp), %rax
movq %rax, 0x1c8(%rsp)
jmp 0x2c1d5e
jmp 0x2c1d60
jmp 0x2c1d62
movq 0x440(%rsp), %rax
cmpq 0x448(%rsp), %rax
jae 0x2c1dac
movq 0x37a225(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x25428e(%rip), %rsi    # 0x516013
leaq 0x26ab22(%rip), %rdx    # 0x52c8ae
leaq 0x2c8887(%rip), %rcx    # 0x58a61a
leaq 0x2c7a21(%rip), %r8     # 0x5897bb
movl $0x8b1, %r9d            # imm = 0x8B1
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1dae
movq 0x440(%rsp), %rax
subq 0x448(%rsp), %rax
movq %rax, 0x410(%rsp)
cmpq $0x0, %rax
jbe 0x2c2097
cmpq $0x0, 0x488(%rsp)
je 0x2c1e56
jmp 0x2c1ddd
movq 0x428(%rsp), %rax
cmpq 0x410(%rsp), %rax
jae 0x2c1e27
movq 0x37a1aa(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254213(%rip), %rsi    # 0x516013
leaq 0x26aab7(%rip), %rdx    # 0x52c8be
leaq 0x2c880c(%rip), %rcx    # 0x58a61a
leaq 0x2c79a6(%rip), %r8     # 0x5897bb
movl $0x8bc, %r9d            # imm = 0x8BC
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1e29
movq 0x488(%rsp), %rdi
movq 0x468(%rsp), %rsi
movq 0x428(%rsp), %rdx
subq 0x410(%rsp), %rdx
movq 0x400(%rsp), %rcx
callq 0x2c01b0
cmpq $0x1, 0x410(%rsp)
jbe 0x2c2095
jmp 0x2c1e67
movq 0x428(%rsp), %rax
cmpq 0x410(%rsp), %rax
jae 0x2c1eb1
movq 0x37a120(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x254189(%rip), %rsi    # 0x516013
leaq 0x26aa2d(%rip), %rdx    # 0x52c8be
leaq 0x2c8782(%rip), %rcx    # 0x58a61a
leaq 0x2c791c(%rip), %r8     # 0x5897bb
movl $0x8c1, %r9d            # imm = 0x8C1
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2c1eb3
movq 0x428(%rsp), %rax
subq 0x410(%rsp), %rax
movq %rax, 0x1b0(%rsp)
movq 0x410(%rsp), %rax
movq %rax, 0x1b8(%rsp)
movq 0x1d0(%rsp), %rax
cmpq 0x1c0(%rsp), %rax
jne 0x2c2034
movq $0x10, 0x138(%rsp)
movq 0x138(%rsp), %rax
movq 0x1c0(%rsp), %rcx
addq 0x1e0(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x130(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c1f3c
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x2c1f49
movq 0x3e8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x130(%rsp), %rsi
leaq 0x2c785e(%rip), %rdx    # 0x5897bb
movl $0x8c4, %ecx            # imm = 0x8C4
callq 0xe8540
movq %rax, 0x3e8(%rsp)
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jne 0x2c1fab
movq 0x3e8(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
addq $0x28, %rsi
movq 0x138(%rsp), %rdx
imulq 0x1d8(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x3f0(%rsp)
je 0x2c201c
movq $0x0, 0x128(%rsp)
movq 0x128(%rsp), %rax
cmpq 0x1e0(%rsp), %rax
jae 0x2c201a
movq 0x3f0(%rsp), %rax
movq 0x3e8(%rsp), %rdi
movq 0x1c0(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x128(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x128(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x128(%rsp)
jmp 0x2c1fc2
jmp 0x2c201c
movq 0x1e0(%rsp), %rax
addq 0x1c0(%rsp), %rax
movq %rax, 0x1c0(%rsp)
movq 0x3e8(%rsp), %rax
movq 0x1d0(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x1d0(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x1b0(%rsp), %rcx
movq %rcx, (%rax)
movq 0x1b8(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x1c8(%rsp), %rax
cmpq 0x1d0(%rsp), %rax
jae 0x2c2093
movq 0x1d0(%rsp), %rax
movq %rax, 0x1c8(%rsp)
jmp 0x2c2095
jmp 0x2c2097
jmp 0x2c0707
movq 0x1c0(%rsp), %rax
cmpq 0x1d8(%rsp), %rax
jbe 0x2c20d3
movq 0x3e8(%rsp), %rdi
leaq 0x2c76fe(%rip), %rsi    # 0x5897bb
movl $0x8c8, %edx            # imm = 0x8C8
callq 0xe88c0
movq $0x0, 0x3e8(%rsp)
addq $0x498, %rsp            # imm = 0x498
retq
nopl (%rax,%rax)