// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/sfx-shortreadsort.c
// Function: shortread_gt_inlinedarr_qsort_r
static void QSORTNAME(gt_inlinedarr_qsort_r) (
                                   GtUword insertionsortthreshold,
                                   bool handlenotswapped,
                                   GtUword len,
                                   QSORTNAME(Datatype) data,
                                   GtUword depth,
                                   GtUword subbucketleft)
{
  GtUword pa, pb, pc, pd, pl, pm, pn, aidx, bidx, s,
                smallermaxlcp, greatermaxlcp;
  GtShortreadsort tmp;
  int r;
  bool swapped;
  GtStackIntervalarrtobesorted intervalstack;
  Intervalarrtobesorted current;

  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, data);
          if (data->mediumsizelcpvalues != NULL)
          {
            if (pl < pm && r > 0)
            {
              data->mediumsizelcpvalues[pl+1] = data->mediumsizelcpvalues[pl];
            }
            gt_assert(depth + data->tmplcplen <= UINT16_MAX);
            data->mediumsizelcpvalues[pl]
              = (uint16_t) (depth + data->tmplcplen);
          } else
          {
            if (data->sssplcpvalues != NULL)
            {
              if (pl < pm && r > 0)
              {
                gt_lcptab_update(data->sssplcpvalues,subbucketleft,pl+1,
                                 gt_lcptab_getvalue(data->sssplcpvalues,
                                                       subbucketleft,pl));
              }
              gt_lcptab_update(data->sssplcpvalues,subbucketleft,pl,
                               depth + data->tmplcplen);
            }
          }
          if (r <= 0)
          {
            break;
          }
          GT_QSORT_ARR_SWAP (arr, 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), data);
        gt_assert(pm >= s);
        pm = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pm - s, pm,
                                                     pm + s, data);
        gt_assert(pn >= GT_MULT2(s));
        pn = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pn - GT_MULT2 (s),
                                                     pn - s, pn, data);
      }
      pm = QSORTNAME(gt_inlined_qsort_arr_r_med3) (pl, pm, pn, data);
    }
    GT_QSORT_ARR_SWAP (arr, 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, data);
        if (r > 0)
        {
          GT_UPDATE_MAX(greatermaxlcp,data->tmplcplen);
          break;
        }
        if (r == 0)
        {
          swapped = true;
          GT_QSORT_ARR_SWAP (arr, pa, pb);
          pa++;
        } else
        {
          GT_UPDATE_MAX(smallermaxlcp,data->tmplcplen);
        }
        pb++;
      }
      while (pb <= pc)
      {
        r = QSORTNAME(qsortcmparr) (pc, current.startindex, data);
        if (r < 0)
        {
          GT_UPDATE_MAX(smallermaxlcp,data->tmplcplen);
          break;
        }
        if (r == 0)
        {
          swapped = true;
          GT_QSORT_ARR_SWAP (arr, pc, pd);
          gt_assert(pd > 0);
          pd--;
        } else
        {
          GT_UPDATE_MAX(greatermaxlcp,data->tmplcplen);
        }
        gt_assert(pc > 0);
        pc--;
      }
      if (pb > pc)
      {
        break;
      }
      GT_QSORT_ARR_SWAP (arr, 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, data);
          if (r <= 0)
          {
            break;
          }
          GT_QSORT_ARR_SWAP (arr, pl, pl - 1);
        }
      }
      continue;
    }
    pn = current.startindex + current.len;
    gt_assert(pa >= current.startindex && pb >= pa);
    s = GT_MIN ((GtUword) (pa - current.startindex),
             (GtUword) (pb - pa));
    gt_assert(pb >= s);
    GT_QSORT_ARR_VECSWAP (arr, current.startindex, pb - s, s);
    gt_assert(pd >= pc && pn > pd);
    s = GT_MIN ((GtUword) (pd - pc), (GtUword) (pn - pd - 1));
    gt_assert(pn > s);
    GT_QSORT_ARR_VECSWAP (arr, pb, pn - s, s);
    gt_assert(pb >= pa);
    if ((s = (GtUword) (pb - pa)) > 0)
    {
      if (data->mediumsizelcpvalues != NULL)
      {
        gt_assert(depth + smallermaxlcp <= UINT16_MAX);
        data->mediumsizelcpvalues[current.startindex + s]
          = (uint16_t) (depth + smallermaxlcp);
      } else
      {
        if (data->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(data->sssplcpvalues,
                           subbucketleft,current.startindex + s,
                           depth + smallermaxlcp);
        }
      }
      if (s > 1UL)
      {
        current.len = s;
        GT_STACK_PUSH(&intervalstack,current);
      }
    }
    gt_assert(pd >= pc);
    if ((s = (GtUword) (pd - pc)) > 0)
    {
      if (data->mediumsizelcpvalues != NULL)
      {
        gt_assert (depth + greatermaxlcp <= UINT16_MAX);
        data->mediumsizelcpvalues[pn - s] = (uint16_t) (depth + greatermaxlcp);
      } else
      {
        if (data->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(data->sssplcpvalues,subbucketleft,pn - s,
                           depth + 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 $0x388, %rsp            # imm = 0x388
movb %sil, %al
movq %rdi, 0x380(%rsp)
andb $0x1, %al
movb %al, 0x37f(%rsp)
movq %rdx, 0x370(%rsp)
movq %rcx, 0x368(%rsp)
movq %r8, 0x360(%rsp)
movq %r9, 0x358(%rsp)
movq $0x20, 0xc0(%rsp)
movq $0x20, 0xc8(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq $0x0, 0xb8(%rsp)
movq $0x0, 0xb0(%rsp)
leaq 0xa8(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x2d0(%rsp)
movq $0x0, 0x2d8(%rsp)
cmpq $0x0, 0x2d8(%rsp)
je 0x2db019
movq $0x0, 0x2d8(%rsp)
movq $0x0, 0x90(%rsp)
movq 0x90(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jae 0x2db017
movq 0x2d8(%rsp), %rax
movq 0x2d0(%rsp), %rdi
movq 0x90(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x90(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x90(%rsp)
jmp 0x2dafce
jmp 0x2db019
movq $0x0, 0x98(%rsp)
movq 0x370(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x2db17f
movq $0x10, 0x88(%rsp)
movq 0x88(%rsp), %rax
movq 0xa8(%rsp), %rcx
addq 0xc8(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x80(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2db096
xorl %eax, %eax
movq %rax, 0x40(%rsp)
jmp 0x2db0a3
movq 0x2d0(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movq 0x80(%rsp), %rsi
leaq 0x2b1f10(%rip), %rdx    # 0x58cfc7
movl $0x158, %ecx            # imm = 0x158
callq 0xe8540
movq %rax, 0x2d0(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2db105
movq 0x2d0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
addq $0x28, %rsi
movq 0x88(%rsp), %rdx
imulq 0xc0(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x2d8(%rsp)
je 0x2db167
movq $0x0, 0x78(%rsp)
movq 0x78(%rsp), %rax
cmpq 0xc8(%rsp), %rax
jae 0x2db165
movq 0x2d8(%rsp), %rax
movq 0x2d0(%rsp), %rdi
movq 0xa8(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x78(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x78(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x78(%rsp)
jmp 0x2db119
jmp 0x2db167
movq 0xc8(%rsp), %rax
addq 0xa8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x2d0(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0xb8(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x98(%rsp), %rcx
movq %rcx, (%rax)
movq 0xa0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x2db1de
movq 0xb8(%rsp), %rax
movq %rax, 0xb0(%rsp)
cmpq $0x2, 0x380(%rsp)
ja 0x2db1f5
movq $0x6, 0x380(%rsp)
jmp 0x2db1f7
movq 0xb8(%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 0x2db21e
jmp 0x2dcb3f
movb $0x0, 0x2e3(%rsp)
movq 0x2d0(%rsp), %rax
movq 0xb8(%rsp), %rcx
addq $-0x1, %rcx
movq %rcx, 0xb8(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x98(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
cmpq 0x380(%rsp), %rax
ja 0x2db5c5
movq 0x98(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x328(%rsp)
movq 0x328(%rsp), %rax
movq 0x98(%rsp), %rcx
addq 0xa0(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2db5c0
movq 0x328(%rsp), %rax
movq %rax, 0x330(%rsp)
movq 0x330(%rsp), %rax
cmpq 0x98(%rsp), %rax
jbe 0x2db5a5
movq 0x330(%rsp), %rdi
subq $0x1, %rdi
movq 0x330(%rsp), %rsi
movq 0x368(%rsp), %rdx
callq 0x2dd360
movl %eax, 0x2e4(%rsp)
movq 0x368(%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2db3e5
movq 0x330(%rsp), %rax
cmpq 0x328(%rsp), %rax
jae 0x2db359
cmpl $0x0, 0x2e4(%rsp)
jle 0x2db359
movq 0x368(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x330(%rsp), %rcx
movw (%rax,%rcx,2), %dx
movq 0x368(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x330(%rsp), %rcx
movw %dx, 0x2(%rax,%rcx,2)
jmp 0x2db35b
movq 0x360(%rsp), %rax
movq 0x368(%rsp), %rcx
addq 0x38(%rcx), %rax
cmpq $0xffff, %rax           # imm = 0xFFFF
jbe 0x2db3af
movq 0x360c22(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23ac8b(%rip), %rsi    # 0x516013
leaq 0x2b1d61(%rip), %rdx    # 0x58d0f0
leaq 0x2b1d80(%rip), %rcx    # 0x58d116
leaq 0x2b1c2a(%rip), %r8     # 0x58cfc7
movl $0x16f, %r9d            # imm = 0x16F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2db3b1
movq 0x360(%rsp), %rax
movq 0x368(%rsp), %rcx
addq 0x38(%rcx), %rax
movw %ax, %dx
movq 0x368(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x330(%rsp), %rcx
movw %dx, (%rax,%rcx,2)
jmp 0x2db4b2
movq 0x368(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2db4b0
movq 0x330(%rsp), %rax
cmpq 0x328(%rsp), %rax
jae 0x2db47b
cmpl $0x0, 0x2e4(%rsp)
jle 0x2db47b
movq 0x368(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x358(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x330(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x38(%rsp)
movq 0x368(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x358(%rsp), %rsi
movq 0x330(%rsp), %rdx
callq 0x2dcd40
movq 0x28(%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq %rax, %rcx
callq 0x2dd3b0
movq 0x368(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x358(%rsp), %rsi
movq 0x330(%rsp), %rdx
movq 0x360(%rsp), %rcx
movq 0x368(%rsp), %rax
addq 0x38(%rax), %rcx
callq 0x2dd3b0
jmp 0x2db4b2
cmpl $0x0, 0x2e4(%rsp)
jg 0x2db4c1
jmp 0x2db5a5
movq 0x330(%rsp), %rax
movq 0x330(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
je 0x2db58a
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x330(%rsp), %rdx
subq $0x1, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
subq $0x1, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x2db58c
movq 0x330(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x330(%rsp)
jmp 0x2db2bb
jmp 0x2db5a7
movq 0x328(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x328(%rsp)
jmp 0x2db28a
jmp 0x2db1f7
movq 0x98(%rsp), %rax
movq 0xa0(%rsp), %rcx
shrq %rcx
addq %rcx, %rax
movq %rax, 0x328(%rsp)
cmpq $0x7, 0xa0(%rsp)
jbe 0x2db7cf
movq 0x98(%rsp), %rax
movq %rax, 0x330(%rsp)
movq 0x98(%rsp), %rax
addq 0xa0(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x320(%rsp)
cmpq $0x28, 0xa0(%rsp)
jbe 0x2db7a2
movq 0xa0(%rsp), %rax
shrq $0x3, %rax
movq %rax, 0x308(%rsp)
movq 0x330(%rsp), %rdi
movq 0x330(%rsp), %rsi
addq 0x308(%rsp), %rsi
movq 0x330(%rsp), %rdx
movq 0x308(%rsp), %rax
shlq %rax
addq %rax, %rdx
movq 0x368(%rsp), %rcx
callq 0x2dd520
movq %rax, 0x330(%rsp)
movq 0x328(%rsp), %rax
cmpq 0x308(%rsp), %rax
jae 0x2db6ce
movq 0x360903(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a96c(%rip), %rsi    # 0x516013
leaq 0x251183(%rip), %rdx    # 0x52c831
leaq 0x2b1a61(%rip), %rcx    # 0x58d116
leaq 0x2b190b(%rip), %r8     # 0x58cfc7
movl $0x193, %r9d            # imm = 0x193
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2db6d0
movq 0x328(%rsp), %rdi
subq 0x308(%rsp), %rdi
movq 0x328(%rsp), %rsi
movq 0x328(%rsp), %rdx
addq 0x308(%rsp), %rdx
movq 0x368(%rsp), %rcx
callq 0x2dd520
movq %rax, 0x328(%rsp)
movq 0x320(%rsp), %rax
movq 0x308(%rsp), %rcx
shlq %rcx
cmpq %rcx, %rax
jae 0x2db75d
movq 0x360874(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a8dd(%rip), %rsi    # 0x516013
leaq 0x25111c(%rip), %rdx    # 0x52c859
leaq 0x2b19d2(%rip), %rcx    # 0x58d116
leaq 0x2b187c(%rip), %r8     # 0x58cfc7
movl $0x196, %r9d            # imm = 0x196
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2db75f
movq 0x320(%rsp), %rdi
movq 0x308(%rsp), %rax
shlq %rax
subq %rax, %rdi
movq 0x320(%rsp), %rsi
subq 0x308(%rsp), %rsi
movq 0x320(%rsp), %rdx
movq 0x368(%rsp), %rcx
callq 0x2dd520
movq %rax, 0x320(%rsp)
movq 0x330(%rsp), %rdi
movq 0x328(%rsp), %rsi
movq 0x320(%rsp), %rdx
movq 0x368(%rsp), %rcx
callq 0x2dd520
movq %rax, 0x328(%rsp)
movq 0x98(%rsp), %rax
cmpq 0x328(%rsp), %rax
je 0x2db889
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x98(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x328(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x328(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x98(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x348(%rsp)
movq %rax, 0x350(%rsp)
movq 0x98(%rsp), %rax
addq 0xa0(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x338(%rsp)
movq %rax, 0x340(%rsp)
movq $0x0, 0x2f8(%rsp)
movq $0x0, 0x300(%rsp)
jmp 0x2db8e3
movq 0x348(%rsp), %rax
cmpq 0x340(%rsp), %rax
ja 0x2dba81
movq 0x348(%rsp), %rdi
movq 0x98(%rsp), %rsi
movq 0x368(%rsp), %rdx
callq 0x2dd360
movl %eax, 0x2e4(%rsp)
cmpl $0x0, 0x2e4(%rsp)
jle 0x2db956
movq 0x2f8(%rsp), %rax
movq 0x368(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x2db951
movq 0x368(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x2f8(%rsp)
jmp 0x2dba81
cmpl $0x0, 0x2e4(%rsp)
jne 0x2dba3c
movb $0x1, 0x2e3(%rsp)
movq 0x350(%rsp), %rax
cmpq 0x348(%rsp), %rax
je 0x2dba26
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x350(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x350(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x348(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x348(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x350(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x350(%rsp)
jmp 0x2dba68
movq 0x300(%rsp), %rax
movq 0x368(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x2dba66
movq 0x368(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x300(%rsp)
jmp 0x2dba68
movq 0x348(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x348(%rsp)
jmp 0x2db8e3
jmp 0x2dba83
movq 0x348(%rsp), %rax
cmpq 0x340(%rsp), %rax
ja 0x2dbcaf
movq 0x340(%rsp), %rdi
movq 0x98(%rsp), %rsi
movq 0x368(%rsp), %rdx
callq 0x2dd360
movl %eax, 0x2e4(%rsp)
cmpl $0x0, 0x2e4(%rsp)
jge 0x2dbaf6
movq 0x300(%rsp), %rax
movq 0x368(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x2dbaf1
movq 0x368(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x300(%rsp)
jmp 0x2dbcaf
cmpl $0x0, 0x2e4(%rsp)
jne 0x2dbc23
movb $0x1, 0x2e3(%rsp)
movq 0x340(%rsp), %rax
cmpq 0x338(%rsp), %rax
je 0x2dbbc6
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x340(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x340(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x338(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x338(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x2dbbc8
cmpq $0x0, 0x338(%rsp)
ja 0x2dbc0b
movq 0x3603c6(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a42f(%rip), %rsi    # 0x516013
leaq 0x250c80(%rip), %rdx    # 0x52c86b
leaq 0x2b1524(%rip), %rcx    # 0x58d116
leaq 0x2b13ce(%rip), %r8     # 0x58cfc7
movl $0x1c1, %r9d            # imm = 0x1C1
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dbc0d
movq 0x338(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x338(%rsp)
jmp 0x2dbc4f
movq 0x2f8(%rsp), %rax
movq 0x368(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jae 0x2dbc4d
movq 0x368(%rsp), %rax
movq 0x38(%rax), %rax
movq %rax, 0x2f8(%rsp)
jmp 0x2dbc4f
jmp 0x2dbc51
cmpq $0x0, 0x340(%rsp)
ja 0x2dbc94
movq 0x36033d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a3a6(%rip), %rsi    # 0x516013
leaq 0x250bfe(%rip), %rdx    # 0x52c872
leaq 0x2b149b(%rip), %rcx    # 0x58d116
leaq 0x2b1345(%rip), %r8     # 0x58cfc7
movl $0x1c7, %r9d            # imm = 0x1C7
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dbc96
movq 0x340(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x340(%rsp)
jmp 0x2dba83
movq 0x348(%rsp), %rax
cmpq 0x340(%rsp), %rax
jbe 0x2dbcc6
jmp 0x2dbdfa
movq 0x348(%rsp), %rax
cmpq 0x340(%rsp), %rax
je 0x2dbd80
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x348(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x348(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x340(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x340(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movb $0x1, 0x2e3(%rsp)
movq 0x348(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x348(%rsp)
cmpq $0x0, 0x340(%rsp)
ja 0x2dbddf
movq 0x3601f2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a25b(%rip), %rsi    # 0x516013
leaq 0x250ab3(%rip), %rdx    # 0x52c872
leaq 0x2b1350(%rip), %rcx    # 0x58d116
leaq 0x2b11fa(%rip), %r8     # 0x58cfc7
movl $0x1d1, %r9d            # imm = 0x1D1
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dbde1
movq 0x340(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x340(%rsp)
jmp 0x2db8e1
testb $0x1, 0x37f(%rsp)
je 0x2dbff3
testb $0x1, 0x2e3(%rsp)
jne 0x2dbff3
jmp 0x2dbe18
cmpq $0x28, 0xa0(%rsp)
jbe 0x2dbe5b
movq 0x360176(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x23a1df(%rip), %rsi    # 0x516013
leaq 0x250a3e(%rip), %rdx    # 0x52c879
leaq 0x2b12d4(%rip), %rcx    # 0x58d116
leaq 0x2b117e(%rip), %r8     # 0x58cfc7
movl $0x1d8, %r9d            # imm = 0x1D8
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dbe5d
movq 0x98(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x328(%rsp)
movq 0x328(%rsp), %rax
movq 0x98(%rsp), %rcx
addq 0xa0(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2dbfee
movq 0x328(%rsp), %rax
movq %rax, 0x330(%rsp)
movq 0x330(%rsp), %rax
cmpq 0x98(%rsp), %rax
jbe 0x2dbfd3
movq 0x330(%rsp), %rdi
subq $0x1, %rdi
movq 0x330(%rsp), %rsi
movq 0x368(%rsp), %rdx
callq 0x2dd360
movl %eax, 0x2e4(%rsp)
cmpl $0x0, 0x2e4(%rsp)
jg 0x2dbeef
jmp 0x2dbfd3
movq 0x330(%rsp), %rax
movq 0x330(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
je 0x2dbfb8
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x330(%rsp), %rdx
subq $0x1, %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x330(%rsp), %rcx
subq $0x1, %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x2dbfba
movq 0x330(%rsp), %rax
addq $-0x1, %rax
movq %rax, 0x330(%rsp)
jmp 0x2dbea2
jmp 0x2dbfd5
movq 0x328(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x328(%rsp)
jmp 0x2dbe71
jmp 0x2db1f7
movq 0x98(%rsp), %rax
addq 0xa0(%rsp), %rax
movq %rax, 0x320(%rsp)
movq 0x350(%rsp), %rax
cmpq 0x98(%rsp), %rax
jb 0x2dc02f
movq 0x348(%rsp), %rax
cmpq 0x350(%rsp), %rax
jae 0x2dc067
movq 0x35ff6a(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239fd3(%rip), %rsi    # 0x516013
leaq 0x2b10ef(%rip), %rdx    # 0x58d136
leaq 0x2b10c8(%rip), %rcx    # 0x58d116
leaq 0x2b0f72(%rip), %r8     # 0x58cfc7
movl $0x1e9, %r9d            # imm = 0x1E9
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc069
movq 0x350(%rsp), %rax
subq 0x98(%rsp), %rax
movq 0x348(%rsp), %rcx
subq 0x350(%rsp), %rcx
cmpq %rcx, %rax
jae 0x2dc0a5
movq 0x350(%rsp), %rax
subq 0x98(%rsp), %rax
movq %rax, 0x20(%rsp)
jmp 0x2dc0ba
movq 0x348(%rsp), %rax
subq 0x350(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x308(%rsp)
movq 0x348(%rsp), %rax
cmpq 0x308(%rsp), %rax
jae 0x2dc111
movq 0x35fec0(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239f29(%rip), %rsi    # 0x516013
leaq 0x2507b5(%rip), %rdx    # 0x52c8a6
leaq 0x2b101e(%rip), %rcx    # 0x58d116
leaq 0x2b0ec8(%rip), %r8     # 0x58cfc7
movl $0x1ec, %r9d            # imm = 0x1EC
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc113
movq 0x98(%rsp), %rax
movq %rax, 0x318(%rsp)
movq 0x348(%rsp), %rax
subq 0x308(%rsp), %rax
movq %rax, 0x310(%rsp)
movq 0x308(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x308(%rsp)
cmpq $0x0, %rax
jbe 0x2dc22d
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x318(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x318(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x310(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x310(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x318(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x318(%rsp)
movq 0x310(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x310(%rsp)
jmp 0x2dc13b
jmp 0x2dc22f
movq 0x338(%rsp), %rax
cmpq 0x340(%rsp), %rax
jb 0x2dc253
movq 0x320(%rsp), %rax
cmpq 0x338(%rsp), %rax
ja 0x2dc28b
movq 0x35fd46(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239daf(%rip), %rsi    # 0x516013
leaq 0x2b0ef0(%rip), %rdx    # 0x58d15b
leaq 0x2b0ea4(%rip), %rcx    # 0x58d116
leaq 0x2b0d4e(%rip), %r8     # 0x58cfc7
movl $0x1ee, %r9d            # imm = 0x1EE
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc28d
movq 0x338(%rsp), %rax
subq 0x340(%rsp), %rax
movq 0x320(%rsp), %rcx
subq 0x338(%rsp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x2dc2cd
movq 0x338(%rsp), %rax
subq 0x340(%rsp), %rax
movq %rax, 0x18(%rsp)
jmp 0x2dc2e6
movq 0x320(%rsp), %rax
subq 0x338(%rsp), %rax
subq $0x1, %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x308(%rsp)
movq 0x320(%rsp), %rax
cmpq 0x308(%rsp), %rax
ja 0x2dc33d
movq 0x35fc94(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239cfd(%rip), %rsi    # 0x516013
leaq 0x25059a(%rip), %rdx    # 0x52c8b7
leaq 0x2b0df2(%rip), %rcx    # 0x58d116
leaq 0x2b0c9c(%rip), %r8     # 0x58cfc7
movl $0x1f0, %r9d            # imm = 0x1F0
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc33f
movq 0x348(%rsp), %rax
movq %rax, 0x318(%rsp)
movq 0x320(%rsp), %rax
subq 0x308(%rsp), %rax
movq %rax, 0x310(%rsp)
movq 0x308(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, 0x308(%rsp)
cmpq $0x0, %rax
jbe 0x2dc459
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x318(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq %rcx, 0x2e8(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x2f0(%rsp)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x318(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x368(%rsp), %rcx
movq (%rcx), %rcx
movq 0x310(%rsp), %rdx
shlq $0x4, %rdx
addq %rdx, %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq 0x368(%rsp), %rax
movq (%rax), %rax
movq 0x310(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x2e8(%rsp), %rcx
movq %rcx, (%rax)
movq 0x2f0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x318(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x318(%rsp)
movq 0x310(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x310(%rsp)
jmp 0x2dc367
jmp 0x2dc45b
movq 0x348(%rsp), %rax
cmpq 0x350(%rsp), %rax
jae 0x2dc4a5
movq 0x35fb2c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239b95(%rip), %rsi    # 0x516013
leaq 0x2b0ccd(%rip), %rdx    # 0x58d152
leaq 0x2b0c8a(%rip), %rcx    # 0x58d116
leaq 0x2b0b34(%rip), %r8     # 0x58cfc7
movl $0x1f2, %r9d            # imm = 0x1F2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc4a7
movq 0x348(%rsp), %rax
subq 0x350(%rsp), %rax
movq %rax, 0x308(%rsp)
cmpq $0x0, %rax
jbe 0x2dc76c
movq 0x368(%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2dc565
jmp 0x2dc4de
movq 0x360(%rsp), %rax
addq 0x300(%rsp), %rax
cmpq $0xffff, %rax           # imm = 0xFFFF
jbe 0x2dc52e
movq 0x35faa3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239b0c(%rip), %rsi    # 0x516013
leaq 0x2b0c61(%rip), %rdx    # 0x58d16f
leaq 0x2b0c01(%rip), %rcx    # 0x58d116
leaq 0x2b0aab(%rip), %r8     # 0x58cfc7
movl $0x1f7, %r9d            # imm = 0x1F7
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc530
movq 0x360(%rsp), %rax
addq 0x300(%rsp), %rax
movw %ax, %dx
movq 0x368(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x98(%rsp), %rcx
addq 0x308(%rsp), %rcx
movw %dx, (%rax,%rcx,2)
jmp 0x2dc5af
movq 0x368(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2dc5ad
movq 0x368(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x358(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq 0x308(%rsp), %rdx
movq 0x360(%rsp), %rcx
addq 0x300(%rsp), %rcx
callq 0x2dd3b0
jmp 0x2dc5af
cmpq $0x1, 0x308(%rsp)
jbe 0x2dc76a
movq 0x308(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x2dc709
movq $0x10, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq 0xa8(%rsp), %rcx
addq 0xc8(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x68(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2dc626
xorl %eax, %eax
movq %rax, 0x10(%rsp)
jmp 0x2dc633
movq 0x2d0(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x68(%rsp), %rsi
leaq 0x2b0983(%rip), %rdx    # 0x58cfc7
movl $0x20c, %ecx            # imm = 0x20C
callq 0xe8540
movq %rax, 0x2d0(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2dc68f
movq 0x2d0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
addq $0x28, %rsi
movq 0x70(%rsp), %rdx
imulq 0xc0(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x2d8(%rsp)
je 0x2dc6f1
movq $0x0, 0x60(%rsp)
movq 0x60(%rsp), %rax
cmpq 0xc8(%rsp), %rax
jae 0x2dc6ef
movq 0x2d8(%rsp), %rax
movq 0x2d0(%rsp), %rdi
movq 0xa8(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x60(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x60(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x60(%rsp)
jmp 0x2dc6a3
jmp 0x2dc6f1
movq 0xc8(%rsp), %rax
addq 0xa8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x2d0(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0xb8(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x98(%rsp), %rcx
movq %rcx, (%rax)
movq 0xa0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x2dc768
movq 0xb8(%rsp), %rax
movq %rax, 0xb0(%rsp)
jmp 0x2dc76a
jmp 0x2dc76c
jmp 0x2dc76e
movq 0x338(%rsp), %rax
cmpq 0x340(%rsp), %rax
jae 0x2dc7b8
movq 0x35f819(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239882(%rip), %rsi    # 0x516013
leaq 0x250116(%rip), %rdx    # 0x52c8ae
leaq 0x2b0977(%rip), %rcx    # 0x58d116
leaq 0x2b0821(%rip), %r8     # 0x58cfc7
movl $0x20f, %r9d            # imm = 0x20F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc7ba
movq 0x338(%rsp), %rax
subq 0x340(%rsp), %rax
movq %rax, 0x308(%rsp)
cmpq $0x0, %rax
jbe 0x2dcb3a
movq 0x368(%rsp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2dc87b
jmp 0x2dc7f1
movq 0x360(%rsp), %rax
addq 0x2f8(%rsp), %rax
cmpq $0xffff, %rax           # imm = 0xFFFF
jbe 0x2dc841
movq 0x35f790(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2397f9(%rip), %rsi    # 0x516013
leaq 0x2b0972(%rip), %rdx    # 0x58d193
leaq 0x2b08ee(%rip), %rcx    # 0x58d116
leaq 0x2b0798(%rip), %r8     # 0x58cfc7
movl $0x214, %r9d            # imm = 0x214
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc843
movq 0x360(%rsp), %rax
addq 0x2f8(%rsp), %rax
movw %ax, %dx
movq 0x368(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x320(%rsp), %rcx
subq 0x308(%rsp), %rcx
movw %dx, (%rax,%rcx,2)
jmp 0x2dc917
movq 0x368(%rsp), %rax
cmpq $0x0, 0x8(%rax)
je 0x2dc915
jmp 0x2dc890
movq 0x320(%rsp), %rax
cmpq 0x308(%rsp), %rax
jae 0x2dc8da
movq 0x35f6f7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x239760(%rip), %rsi    # 0x516013
leaq 0x250004(%rip), %rdx    # 0x52c8be
leaq 0x2b0855(%rip), %rcx    # 0x58d116
leaq 0x2b06ff(%rip), %r8     # 0x58cfc7
movl $0x220, %r9d            # imm = 0x220
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc8dc
movq 0x368(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x358(%rsp), %rsi
movq 0x320(%rsp), %rdx
subq 0x308(%rsp), %rdx
movq 0x360(%rsp), %rcx
addq 0x2f8(%rsp), %rcx
callq 0x2dd3b0
jmp 0x2dc917
cmpq $0x1, 0x308(%rsp)
jbe 0x2dcb38
jmp 0x2dc928
movq 0x320(%rsp), %rax
cmpq 0x308(%rsp), %rax
jae 0x2dc972
movq 0x35f65f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2396c8(%rip), %rsi    # 0x516013
leaq 0x24ff6c(%rip), %rdx    # 0x52c8be
leaq 0x2b07bd(%rip), %rcx    # 0x58d116
leaq 0x2b0667(%rip), %r8     # 0x58cfc7
movl $0x227, %r9d            # imm = 0x227
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2dc974
movq 0x320(%rsp), %rax
subq 0x308(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x308(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0xb8(%rsp), %rax
cmpq 0xa8(%rsp), %rax
jne 0x2dcad7
movq $0x10, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq 0xa8(%rsp), %rcx
addq 0xc8(%rsp), %rcx
imulq %rcx, %rax
movq %rax, 0x50(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2dc9f4
xorl %eax, %eax
movq %rax, 0x8(%rsp)
jmp 0x2dca01
movq 0x2d0(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x50(%rsp), %rsi
leaq 0x2b05b5(%rip), %rdx    # 0x58cfc7
movl $0x22a, %ecx            # imm = 0x22A
callq 0xe8540
movq %rax, 0x2d0(%rsp)
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jne 0x2dca5d
movq 0x2d0(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
addq $0x28, %rsi
movq 0x58(%rsp), %rdx
imulq 0xc0(%rsp), %rdx
callq 0x19610
cmpq $0x0, 0x2d8(%rsp)
je 0x2dcabf
movq $0x0, 0x48(%rsp)
movq 0x48(%rsp), %rax
cmpq 0xc8(%rsp), %rax
jae 0x2dcabd
movq 0x2d8(%rsp), %rax
movq 0x2d0(%rsp), %rdi
movq 0xa8(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
movq 0x48(%rsp), %rcx
shlq $0x4, %rcx
addq %rcx, %rdi
callq *%rax
movq 0x48(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x48(%rsp)
jmp 0x2dca71
jmp 0x2dcabf
movq 0xc8(%rsp), %rax
addq 0xa8(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x2d0(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0xb8(%rsp)
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x98(%rsp), %rcx
movq %rcx, (%rax)
movq 0xa0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jae 0x2dcb36
movq 0xb8(%rsp), %rax
movq %rax, 0xb0(%rsp)
jmp 0x2dcb38
jmp 0x2dcb3a
jmp 0x2db1f7
movq 0xa8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
jbe 0x2dcb76
movq 0x2d0(%rsp), %rdi
leaq 0x2b0467(%rip), %rsi    # 0x58cfc7
movl $0x22e, %edx            # imm = 0x22E
callq 0xe88c0
movq $0x0, 0x2d0(%rsp)
addq $0x388, %rsp            # imm = 0x388
retq
nop