// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/rdj-strgraph.c
// Function: gt_strgraph_redtrans
GtUword gt_strgraph_redtrans(GtStrgraph *strgraph, bool show_progressbar)
{
  GtStrgraphLength jlen, klen, longest;
  GtStrgraphVEdgenum j, k, l;
  GtStrgraphVnum i, jdest, kdest;
  GtUword counter;
  GtUint64 progress = 0;

  gt_assert(strgraph != NULL);
  gt_assert(strgraph->state == GT_STRGRAPH_SORTED_BY_L);

  for (i = 0; i < GT_STRGRAPH_NOFVERTICES(strgraph); i++)
    GT_STRGRAPH_V_SET_MARK(strgraph, i, GT_STRGRAPH_V_VACANT);

  if (show_progressbar)
    gt_progressbar_start(&progress,
        (GtUint64)GT_STRGRAPH_NOFVERTICES(strgraph));
  for (i = 0; i < GT_STRGRAPH_NOFVERTICES(strgraph); i++)
  {
    if (GT_STRGRAPH_V_OUTDEG(strgraph, i) > 0)
    {
      for (j = 0; j < GT_STRGRAPH_V_NOFEDGES(strgraph, i); j++)
      {
        GT_STRGRAPH_V_SET_MARK(strgraph, GT_STRGRAPH_EDGE_DEST(strgraph, i, j),
            GT_STRGRAPH_V_INPLAY);
      }
      GT_STRGRAPH_FIND_LONGEST_EDGE(strgraph, i, longest);
      for (j = 0; j < GT_STRGRAPH_V_NOFEDGES(strgraph, i); j++)
      {
        jdest = GT_STRGRAPH_EDGE_DEST(strgraph, i, j);
        jlen = GT_STRGRAPH_EDGE_LEN(strgraph, i, j);
        for (k = 0; k < GT_STRGRAPH_V_NOFEDGES(strgraph, jdest) &&
            GT_STRGRAPH_EDGE_LEN(strgraph, jdest, k) + jlen <= longest; k++)
        {
          kdest = GT_STRGRAPH_EDGE_DEST(strgraph, jdest, k);
          klen = GT_STRGRAPH_EDGE_LEN(strgraph, jdest, k);
          if (GT_STRGRAPH_V_MARK(strgraph, kdest) == GT_STRGRAPH_V_INPLAY)
          {
            for (l = 0; l < GT_STRGRAPH_V_NOFEDGES(strgraph, i); l++)
            {
              if (GT_STRGRAPH_EDGE_DEST(strgraph, i, l) == kdest &&
                  GT_STRGRAPH_EDGE_LEN(strgraph, i, l) == jlen + klen)
              {
                GT_STRGRAPH_EDGE_SET_MARK(strgraph, i, l);
              }
            }
          }
        }
      }
      for (j = 0; j < GT_STRGRAPH_V_NOFEDGES(strgraph, i); j++)
      {
        GT_STRGRAPH_V_SET_MARK(strgraph, GT_STRGRAPH_EDGE_DEST(strgraph, i, j),
            GT_STRGRAPH_V_VACANT);
      }
    }
    if (show_progressbar)
      progress++;
  }
  if (show_progressbar)
    gt_progressbar_stop();

  counter = gt_strgraph_reduce_marked_edges(strgraph);
  gt_log_log("transitive counter: "GT_WU"", counter);
  /* trans spm should be found twice, check number is even */
  /*gt_assert((counter & 1) == 0);*/
#ifndef NDEBUG
  gt_strgraph_check_outdegs(strgraph);
#endif
  return (counter >> 1);
}

// Assembly:
subq $0x208, %rsp            # imm = 0x208
movb %sil, %al
movq %rdi, 0x200(%rsp)
andb $0x1, %al
movb %al, 0x1ff(%rsp)
movq $0x0, 0x1a0(%rsp)
cmpq $0x0, 0x200(%rsp)
jne 0x293f8a
movq 0x3a8047(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2820b0(%rip), %rsi    # 0x516013
leaq 0x2ee19a(%rip), %rdx    # 0x582104
leaq 0x2ee667(%rip), %rcx    # 0x5825d8
leaq 0x2ee0c8(%rip), %r8     # 0x582040
movl $0x3e4, %r9d            # imm = 0x3E4
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x293f8c
jmp 0x293f8e
movq 0x200(%rsp), %rax
cmpl $0x2, 0x10(%rax)
je 0x293fd4
movq 0x3a7ffd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x282066(%rip), %rsi    # 0x516013
leaq 0x2ee639(%rip), %rdx    # 0x5825ed
leaq 0x2ee61d(%rip), %rcx    # 0x5825d8
leaq 0x2ee07e(%rip), %r8     # 0x582040
movl $0x3e5, %r9d            # imm = 0x3E5
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x293fd6
movq $0x0, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x200(%rsp), %rcx
cmpq 0x80(%rcx), %rax
jae 0x29402e
movq 0x200(%rsp), %rax
movq 0x58(%rax), %rdi
movq 0x1c0(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x2907d0
movq 0x1c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1c0(%rsp)
jmp 0x293fe2
testb $0x1, 0x1ff(%rsp)
je 0x294054
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rsi
leaq 0x1a0(%rsp), %rdi
callq 0xf9830
movq $0x0, 0x1c0(%rsp)
movq 0x1c0(%rsp), %rax
movq 0x200(%rsp), %rcx
cmpq 0x80(%rcx), %rax
jae 0x294d3d
movq 0x200(%rsp), %rax
movq 0x70(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
cmpq $0x0, %rax
jbe 0x294d04
movq $0x0, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rax
movq %rax, 0x188(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0x180(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x180(%rsp), %rcx
movq %rax, %rdx
movq 0x188(%rsp), %rax
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x29422f
movq 0x200(%rsp), %rax
movq 0x58(%rax), %rax
movq %rax, 0x178(%rsp)
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x158(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x158(%rsp), %rdi
movq %rax, %rsi
addq 0x1d8(%rsp), %rsi
callq 0x290730
movq %rax, 0x168(%rsp)
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0x164(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0x164(%rsp), %edx
movl %eax, %ecx
movq 0x168(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x170(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movq 0x170(%rsp), %rsi
movq 0x178(%rsp), %rdi
addl $0x1, %eax
movl %eax, %eax
movl %eax, %ecx
shrq %cl, %rsi
movl $0x1, %edx
callq 0x2907d0
movq 0x1d8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1d8(%rsp)
jmp 0x2940ac
jmp 0x294231
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0x150(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq %rax, %rcx
movq 0x150(%rsp), %rax
subq %rcx, %rax
movq %rax, 0x190(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x1e0(%rsp)
movq $0x0, 0x198(%rsp)
movq 0x198(%rsp), %rax
cmpq 0x190(%rsp), %rax
jae 0x294434
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x140(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x140(%rsp), %rdi
movq %rax, %rsi
movq 0x190(%rsp), %rax
subq 0x198(%rsp), %rax
subq $0x1, %rax
addq %rax, %rsi
callq 0x290730
movq %rax, 0x148(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x148(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq 0x200(%rsp), %rcx
cmpq 0x90(%rcx), %rax
jne 0x29436f
movb $0x1, %al
testb $0x1, %al
jne 0x294419
jmp 0x29437b
xorl %eax, %eax
testb $0x1, %al
jne 0x294419
jmp 0x29437b
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x130(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x130(%rsp), %rdi
movq %rax, %rsi
movq 0x190(%rsp), %rax
subq 0x198(%rsp), %rax
subq $0x1, %rax
addq %rax, %rsi
callq 0x290730
movq %rax, 0x138(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x138(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq %rax, 0x1e0(%rsp)
jmp 0x294434
jmp 0x29441b
movq 0x198(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x198(%rsp)
jmp 0x2942a8
jmp 0x294436
movq $0x0, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rax
movq %rax, 0x128(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0x120(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x120(%rsp), %rcx
movq %rax, %rdx
movq 0x128(%rsp), %rax
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x294b9e
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0xf0(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0xf0(%rsp), %rdi
movq %rax, %rsi
addq 0x1d8(%rsp), %rsi
callq 0x290730
movq %rax, 0x100(%rsp)
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0xfc(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0xfc(%rsp), %edx
movl %eax, %ecx
movq 0x100(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x108(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x108(%rsp), %rax
addl $0x1, %ecx
movl %ecx, %ecx
shrq %cl, %rax
movq %rax, 0x1b8(%rsp)
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x110(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x110(%rsp), %rdi
movq %rax, %rsi
addq 0x1d8(%rsp), %rsi
callq 0x290730
movq %rax, 0x118(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x118(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq %rax, 0x1f0(%rsp)
movq $0x0, 0x1d0(%rsp)
movq 0x1d0(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1b8(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0xd8(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1b8(%rsp), %rsi
callq 0x290730
movq 0xd8(%rsp), %rdx
movq 0xe0(%rsp), %rcx
subq %rax, %rdx
xorl %eax, %eax
cmpq %rdx, %rcx
movb %al, 0xef(%rsp)
jae 0x294739
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0xc8(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1b8(%rsp), %rsi
callq 0x290730
movq 0xc8(%rsp), %rdi
movq %rax, %rsi
addq 0x1d0(%rsp), %rsi
callq 0x290730
movq %rax, 0xd0(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0xd0(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
addq 0x1f0(%rsp), %rax
cmpq 0x1e0(%rsp), %rax
setbe %al
movb %al, 0xef(%rsp)
movb 0xef(%rsp), %al
testb $0x1, %al
jne 0x294749
jmp 0x294b83
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x98(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1b8(%rsp), %rsi
callq 0x290730
movq 0x98(%rsp), %rdi
movq %rax, %rsi
addq 0x1d0(%rsp), %rsi
callq 0x290730
movq %rax, 0xa8(%rsp)
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0xa4(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0xa4(%rsp), %edx
movl %eax, %ecx
movq 0xa8(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0xb0(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0xb0(%rsp), %rax
addl $0x1, %ecx
movl %ecx, %ecx
shrq %cl, %rax
movq %rax, 0x1b0(%rsp)
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0xb8(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1b8(%rsp), %rsi
callq 0x290730
movq 0xb8(%rsp), %rdi
movq %rax, %rsi
addq 0x1d0(%rsp), %rsi
callq 0x290730
movq %rax, 0xc0(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0xc0(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq %rax, 0x1e8(%rsp)
movq 0x200(%rsp), %rax
movq 0x58(%rax), %rdi
movq 0x1b0(%rsp), %rsi
callq 0x290730
cmpl $0x1, %eax
jne 0x294b68
movq $0x0, 0x1c8(%rsp)
movq 0x1c8(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0x88(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x88(%rsp), %rcx
movq %rax, %rdx
movq 0x90(%rsp), %rax
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x294b66
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x68(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x68(%rsp), %rdi
movq %rax, %rsi
addq 0x1c8(%rsp), %rsi
callq 0x290730
movq %rax, 0x78(%rsp)
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0x74(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0x74(%rsp), %edx
movl %eax, %ecx
movq 0x78(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x80(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x80(%rsp), %rax
addl $0x1, %ecx
movl %ecx, %ecx
shrq %cl, %rax
cmpq 0x1b0(%rsp), %rax
jne 0x294b4b
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x58(%rsp), %rdi
movq %rax, %rsi
addq 0x1c8(%rsp), %rsi
callq 0x290730
movq %rax, 0x60(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movq 0x60(%rsp), %rax
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
shll %ecx
movslq %ecx, %rcx
andq %rcx, %rax
shrq %rax
movq 0x1f0(%rsp), %rcx
addq 0x1e8(%rsp), %rcx
cmpq %rcx, %rax
jne 0x294b4b
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
addq 0x1c8(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x40(%rsp), %rdi
movq %rax, %rsi
addq 0x1c8(%rsp), %rsi
callq 0x290730
movq 0x48(%rsp), %rdi
movq 0x50(%rsp), %rsi
movq %rax, %rdx
andq $-0x2, %rdx
addq $0x1, %rdx
callq 0x2907d0
jmp 0x294b4d
movq 0x1c8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1c8(%rsp)
jmp 0x2948e3
jmp 0x294b68
jmp 0x294b6a
movq 0x1d0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1d0(%rsp)
jmp 0x294627
jmp 0x294b85
movq 0x1d8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1d8(%rsp)
jmp 0x294442
movq $0x0, 0x1d8(%rsp)
movq 0x1d8(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
addq $0x1, %rsi
callq 0x290730
movq %rax, 0x30(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x30(%rsp), %rcx
movq %rax, %rdx
movq 0x38(%rsp), %rax
subq %rdx, %rcx
cmpq %rcx, %rax
jae 0x294d02
movq 0x200(%rsp), %rax
movq 0x58(%rax), %rax
movq %rax, 0x28(%rsp)
movq 0x200(%rsp), %rax
movq 0x88(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x200(%rsp), %rax
movq 0x60(%rax), %rdi
movq 0x1c0(%rsp), %rsi
callq 0x290730
movq 0x8(%rsp), %rdi
movq %rax, %rsi
addq 0x1d8(%rsp), %rsi
callq 0x290730
movq %rax, 0x18(%rsp)
movq 0x200(%rsp), %rax
movq 0x80(%rax), %rdi
callq 0x46ec80
movl %eax, %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, 0x14(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movl 0x14(%rsp), %edx
movl %eax, %ecx
movq 0x18(%rsp), %rax
addl $0x1, %ecx
shll %cl, %edx
movl %edx, %ecx
movslq %ecx, %rcx
andq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x200(%rsp), %rax
movq 0x90(%rax), %rdi
callq 0x46ec80
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdi
addl $0x1, %eax
movl %eax, %eax
movl %eax, %ecx
shrq %cl, %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x2907d0
movq 0x1d8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1d8(%rsp)
jmp 0x294baa
jmp 0x294d04
testb $0x1, 0x1ff(%rsp)
je 0x294d22
movq 0x1a0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1a0(%rsp)
jmp 0x294d24
movq 0x1c0(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x1c0(%rsp)
jmp 0x294060
testb $0x1, 0x1ff(%rsp)
je 0x294d4c
callq 0xfa220
movq 0x200(%rsp), %rdi
callq 0x294da0
movq %rax, 0x1a8(%rsp)
movq 0x1a8(%rsp), %rsi
leaq 0x2ed8a8(%rip), %rdi    # 0x582618
movb $0x0, %al
callq 0xe7740
movq 0x200(%rsp), %rdi
callq 0x293800
movq 0x1a8(%rsp), %rax
shrq %rax
addq $0x208, %rsp            # imm = 0x208
retq
nopw (%rax,%rax)