// File: /workspace/github_c_makefile_star2_O1/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movl %esi, 0xc(%rsp)
movq $0x0, 0x40(%rsp)
testq %rdi, %rdi
je 0x1dbb31
movq %rdi, %rbx
cmpl $0x2, 0x10(%rdi)
jne 0x1dbb36
movq 0x80(%rbx), %rsi
testq %rsi, %rsi
je 0x1dad0d
xorl %r14d, %r14d
movq 0x58(%rbx), %rax
testq %rax, %rax
je 0x1dbb13
cmpq %r14, 0x8(%rax)
jbe 0x1dbb13
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb13
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r14, %rsi
xorl %ecx, %ecx
callq 0x2fcd13
incq %r14
movq 0x80(%rbx), %rsi
cmpq %rsi, %r14
jb 0x1dacc9
cmpb $0x0, 0xc(%rsp)
je 0x1dad1e
leaq 0x40(%rsp), %rdi
callq 0x110c6c
cmpq $0x0, 0x80(%rbx)
je 0x1dba15
xorl %r13d, %r13d
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x1dbb18
cmpq %r13, 0x8(%rax)
jbe 0x1dbb18
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb18
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %rax, %rax
je 0x1db9f9
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbab9
leaq 0x1(%r13), %rcx
xorl %r12d, %r12d
movq %rcx, (%rsp)
cmpq %rcx, 0x8(%rax)
jbe 0x1dbab9
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbab9
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rcx, %rsi
callq 0x2fcc2c
movq %rax, %r14
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbabe
cmpq %r13, 0x8(%rax)
jbe 0x1dbabe
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbabe
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
subq %rax, %r14
cmpq %r14, %r12
jae 0x1daef1
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbacd
cmpq %r13, 0x8(%rax)
jbe 0x1dbacd
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbacd
movq 0x58(%rbx), %rbp
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dbac3
addq %r12, %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dbac3
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dbac3
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x80(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %r14d
movslq %r14d, %r14
andq %r15, %r14
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r14
testq %rbp, %rbp
je 0x1dbac8
cmpq %r14, 0x8(%rbp)
jbe 0x1dbac8
movl 0x10(%rbp), %edx
cmpq $0x41, %rdx
jae 0x1dbac8
movq (%rbp), %rdi
imulq %rdx, %r14
movl $0x1, %ecx
movq %r14, %rsi
callq 0x2fcd13
incq %r12
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %rcx
jne 0x1dad83
jmp 0x1dbab9
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %rcx
je 0x1dbb22
cmpq %rcx, 0x8(%rax)
jbe 0x1dbb22
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb22
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rcx, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbb1d
cmpq %r13, 0x8(%rax)
jbe 0x1dbb1d
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb1d
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r14
movq 0x90(%rbx), %rax
movq %rax, 0x28(%rsp)
cmpq %r14, %r15
je 0x1db0bd
notq %r14
addq %r15, %r14
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbb0e
cmpq %r13, 0x8(%rax)
jbe 0x1dbb0e
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb0e
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dbb09
addq %r14, %rax
cmpq %rax, 0x8(%r15)
jbe 0x1dbb09
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dbb09
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %r15, %rax
shrq %rax
cmpq 0x90(%rbx), %rax
jne 0x1db026
addq $-0x1, %r14
jb 0x1daf7c
jmp 0x1db0bd
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbb2c
cmpq %r13, 0x8(%rax)
jbe 0x1dbb2c
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbb2c
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dbb27
addq %r14, %rax
cmpq %rax, 0x8(%r15)
jbe 0x1dbb27
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dbb27
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r14
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %r14, %rax
shrq %rax
movq %rax, 0x28(%rsp)
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %r14
je 0x1dbad7
movq $0x0, 0x18(%rsp)
cmpq %r14, 0x8(%rax)
jbe 0x1dbad7
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbad7
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r14, %rsi
callq 0x2fcc2c
movq %rax, %r14
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbad2
cmpq %r13, 0x8(%rax)
jbe 0x1dbad2
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbad2
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
subq %rax, %r14
cmpq %r14, 0x18(%rsp)
jae 0x1db87a
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbae6
cmpq %r13, 0x8(%rax)
jbe 0x1dbae6
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbae6
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dbaeb
addq 0x18(%rsp), %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dbaeb
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dbaeb
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x80(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
notl %ebp
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %ebp
movslq %ebp, %r12
andq %r15, %r12
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r12
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbaf0
cmpq %r13, 0x8(%rax)
jbe 0x1dbaf0
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbaf0
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dbaf5
addq 0x18(%rsp), %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dbaf5
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dbaf5
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %r14
je 0x1dba8c
notl %edx
addl %edx, %edx
movslq %edx, %rcx
andq %rcx, %r15
shrq %r15
movq %r15, 0x30(%rsp)
leaq 0x1(%r12), %rbp
movq $0x0, 0x10(%rsp)
movq %r12, 0x38(%rsp)
movq %rbp, 0x48(%rsp)
cmpq %rbp, 0x8(%rax)
jbe 0x1dba8c
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba8c
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rbp, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba91
cmpq %r12, 0x8(%rax)
jbe 0x1dba91
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba91
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r12, %rsi
callq 0x2fcc2c
subq %rax, %r15
cmpq %r15, 0x10(%rsp)
jae 0x1db863
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba9b
cmpq %r12, 0x8(%rax)
jbe 0x1dba9b
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba9b
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r12, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dba96
addq 0x10(%rsp), %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dba96
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dba96
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %r15, %rax
shrq %rax
addq 0x30(%rsp), %rax
cmpq 0x28(%rsp), %rax
movq (%rsp), %r14
ja 0x1db863
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbaa5
cmpq %r12, 0x8(%rax)
jbe 0x1dbaa5
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbaa5
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r12, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dbaa0
addq 0x10(%rsp), %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dbaa0
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dbaa0
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x80(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
notl %ebp
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %ebp
movslq %ebp, %r12
movq 0x38(%rsp), %r14
andq %r15, %r12
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r12
movq %r12, 0x20(%rsp)
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbab4
cmpq %r14, 0x8(%rax)
jbe 0x1dbab4
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbab4
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r14, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dbaaf
addq 0x10(%rsp), %rax
cmpq %rax, 0x8(%r15)
jbe 0x1dbaaf
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dbaaf
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %ebp
movq 0x58(%rbx), %rax
testq %rax, %rax
je 0x1dbaaa
movq 0x20(%rsp), %rcx
cmpq %rcx, 0x8(%rax)
jbe 0x1dbaaa
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbaaa
movq (%rax), %rdi
movq %rdx, %rsi
imulq 0x20(%rsp), %rsi
callq 0x2fcc2c
cmpl $0x1, %eax
movq (%rsp), %r14
jne 0x1db842
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba5f
notl %ebp
addl %ebp, %ebp
movslq %ebp, %rcx
andq %rcx, %r15
shrq %r15
addq 0x30(%rsp), %r15
movq %r15, 0x50(%rsp)
xorl %ebp, %ebp
cmpq %r14, 0x8(%rax)
jbe 0x1dba5f
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba5f
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r14, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba5a
cmpq %r13, 0x8(%rax)
jbe 0x1dba5a
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba5a
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
subq %rax, %r12
cmpq %r12, %rbp
jae 0x1db842
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba69
cmpq %r13, 0x8(%rax)
jbe 0x1dba69
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba69
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dba64
addq %rbp, %rax
cmpq %rax, 0x8(%r15)
jbe 0x1dba64
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dba64
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x80(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r15d
notl %r15d
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %r15d
movslq %r15d, %r15
andq %r12, %r15
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r15
cmpq 0x20(%rsp), %r15
jne 0x1db82d
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba6e
cmpq %r13, 0x8(%rax)
jbe 0x1dba6e
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba6e
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dba73
addq %rbp, %rax
cmpq %rax, 0x8(%r15)
jbe 0x1dba73
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dba73
movq (%r15), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x90(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %edx
notl %edx
addl %edx, %edx
movslq %edx, %rax
andq %r12, %rax
shrq %rax
cmpq 0x50(%rsp), %rax
jne 0x1db82d
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba7d
cmpq %r13, 0x8(%rax)
jbe 0x1dba7d
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba7d
movq 0x88(%rbx), %r15
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
movq %rax, %r12
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dba78
cmpq %r13, 0x8(%rax)
jbe 0x1dba78
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dba78
movq %r13, %rcx
movq 0x88(%rbx), %r13
movq (%rax), %rdi
movq %rdx, %rsi
movq %rcx, %r14
imulq %rcx, %rsi
callq 0x2fcc2c
testq %r13, %r13
je 0x1dba82
addq %rbp, %rax
cmpq %rax, 0x8(%r13)
jbe 0x1dba82
movl 0x10(%r13), %edx
cmpq $0x41, %rdx
jae 0x1dba82
movq (%r13), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
testq %r15, %r15
je 0x1dba87
addq %rbp, %r12
cmpq %r12, 0x8(%r15)
jbe 0x1dba87
movl 0x10(%r15), %edx
cmpq $0x41, %rdx
jae 0x1dba87
orq $0x1, %rax
movq (%r15), %rdi
imulq %rdx, %r12
movq %r12, %rsi
movq %rax, %rcx
callq 0x2fcd13
movq %r14, %r13
movq (%rsp), %r14
incq %rbp
movq 0x60(%rbx), %rax
testq %rax, %rax
jne 0x1db577
jmp 0x1dba5f
incq 0x10(%rsp)
movq 0x60(%rbx), %rax
testq %rax, %rax
movq 0x38(%rsp), %r12
movq 0x48(%rsp), %rbp
jne 0x1db2b5
jmp 0x1dba8c
incq 0x18(%rsp)
movq 0x60(%rbx), %rax
testq %rax, %rax
jne 0x1db0d7
jmp 0x1dbad7
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %rcx
je 0x1dbadc
xorl %r12d, %r12d
cmpq %rcx, 0x8(%rax)
jbe 0x1dbadc
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbadc
movq (%rax), %rdi
movq %rdx, %rsi
imulq %rcx, %rsi
callq 0x2fcc2c
movq %rax, %r14
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbae1
cmpq %r13, 0x8(%rax)
jbe 0x1dbae1
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbae1
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
subq %rax, %r14
cmpq %r14, %r12
jae 0x1db9f9
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x1dbaff
cmpq %r13, 0x8(%rax)
jbe 0x1dbaff
movl 0x10(%rax), %edx
cmpq $0x41, %rdx
jae 0x1dbaff
movq 0x58(%rbx), %rbp
movq 0x88(%rbx), %r14
movq (%rax), %rdi
movq %rdx, %rsi
imulq %r13, %rsi
callq 0x2fcc2c
testq %r14, %r14
je 0x1dbb04
addq %r12, %rax
cmpq %rax, 0x8(%r14)
jbe 0x1dbb04
movl 0x10(%r14), %edx
cmpq $0x41, %rdx
jae 0x1dbb04
movq (%r14), %rdi
imulq %rdx, %rax
movq %rax, %rsi
callq 0x2fcc2c
movq %rax, %r15
movq 0x80(%rbx), %rdi
callq 0x2f9d41
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %r14d
notl %r14d
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shll %cl, %r14d
movslq %r14d, %r14
andq %r15, %r14
movq 0x90(%rbx), %rdi
callq 0x2f9d41
leal 0x1(%rax), %ecx
shrq %cl, %r14
testq %rbp, %rbp
je 0x1dbafa
cmpq %r14, 0x8(%rbp)
jbe 0x1dbafa
movl 0x10(%rbp), %edx
cmpq $0x41, %rdx
jae 0x1dbafa
movq (%rbp), %rdi
imulq %rdx, %r14
movq %r14, %rsi
xorl %ecx, %ecx
callq 0x2fcd13
incq %r12
movq 0x60(%rbx), %rax
testq %rax, %rax
movq (%rsp), %rcx
jne 0x1db88e
jmp 0x1dbadc
cmpb $0x0, 0xc(%rsp)
je 0x1dba05
incq 0x40(%rsp)
incq %r13
cmpq 0x80(%rbx), %r13
jb 0x1dad2f
cmpb $0x0, 0xc(%rsp)
je 0x1dba21
callq 0x111189
movq %rbx, %rdi
callq 0x1dbb3b
movq %rax, %r14
leaq 0x1dd493(%rip), %rdi    # 0x3b8ec6
movq %rax, %rsi
xorl %eax, %eax
callq 0x108e02
movq %rbx, %rdi
callq 0x1da5e8
shrq %r14
movq %r14, %rax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x6fca3
callq 0x6fcdc
callq 0x6fc31
callq 0x6fc6a
callq 0x6fbf8
callq 0x6fbbf
callq 0x6fb4d
callq 0x6fb86
callq 0x6fb14
callq 0x6fadb
callq 0x6fedd
callq 0x6fea4
callq 0x6fe32
callq 0x6fe6b
callq 0x6fdc0
callq 0x6fdf9
callq 0x6fd15
callq 0x6fd4e
callq 0x6fd87
callq 0x701c2
callq 0x70189
callq 0x70117
callq 0x700de
callq 0x70150
callq 0x6fffa
callq 0x70033
callq 0x6faa2
callq 0x6fa69
callq 0x6ffc1
callq 0x6ff88
callq 0x6ff4f
callq 0x6ff16
callq 0x6f9be
callq 0x6fa30
callq 0x6f9f7
callq 0x6f94c
callq 0x6f985
callq 0x6f8a1
callq 0x701fb
callq 0x7006c
callq 0x700a5
callq 0x6f8da
callq 0x6f913
callq 0x70234
callq 0x6f868