LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_hmmer_parse_status_mark_frame_finished
static void gt_hmmer_parse_status_mark_frame_finished(GtHMMERParseStatus *s)
{
  GtHMMERModelHit *mh;
  gt_assert(s && s->models);
  mh = gt_hashmap_get(s->models, gt_str_get(s->cur_model));
  if (mh != NULL) {
    mh->last_array_size_fwd = gt_array_size(mh->fwd_hits);
    mh->last_array_size_rev = gt_array_size(mh->rev_hits);
  }
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x309c0d
movq 0x10(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x309c45
movq 0x33238c(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c3f5(%rip), %rsi    # 0x516013
leaq 0x289d61(%rip), %rdx    # 0x593986
leaq 0x289d69(%rip), %rcx    # 0x593995
leaq 0x2898c6(%rip), %r8     # 0x5934f9
movl $0x97, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309c47
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0xe0f20
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x309cae
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_hmmer_parse_status_get_hit
static GtHMMERSingleHit* gt_hmmer_parse_status_get_hit(GtHMMERParseStatus *s,
                                                       GtUword i)
{
  GtHMMERModelHit *mh;
  gt_assert(s && s->models);
  mh = gt_hashmap_get(s->models, gt_str_get(s->cur_model));
  if (mh != NULL) {
    if (s->strand == GT_STRAND_FORWARD) {
      i += mh->last_array_size_fwd;
      gt_assert(i < gt_array_size(mh->fwd_hits));
      return *(GtHMMERSingleHit**) gt_array_get(mh->fwd_hits, i);
    } else {
      i += mh->last_array_size_rev;
      gt_assert(i < gt_array_size(mh->rev_hits));
      return *(GtHMMERSingleHit**) gt_array_get(mh->rev_hits, i);
    }
  } else return NULL;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x30a472
movq 0x28(%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x30a4aa
movq 0x331b27(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bb90(%rip), %rsi    # 0x516013
leaq 0x2894fc(%rip), %rdx    # 0x593986
leaq 0x289655(%rip), %rcx    # 0x593ae6
leaq 0x289061(%rip), %r8     # 0x5934f9
movl $0xa5, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a4ac
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11dee0
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xe0f20
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x30a611
movq 0x28(%rsp), %rax
cmpl $0x0, (%rax)
jne 0x30a584
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rax
addq 0x20(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jb 0x30a563
movq 0x331a6e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bad7(%rip), %rsi    # 0x516013
leaq 0x2895c1(%rip), %rdx    # 0x593b04
leaq 0x28959c(%rip), %rcx    # 0x593ae6
leaq 0x288fa8(%rip), %r8     # 0x5934f9
movl $0xaa, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a565
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x30a61a
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
addq 0x20(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jb 0x30a5f2
movq 0x3319df(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20ba48(%rip), %rsi    # 0x516013
leaq 0x289552(%rip), %rdx    # 0x593b24
leaq 0x28950d(%rip), %rcx    # 0x593ae6
leaq 0x288f19(%rip), %r8     # 0x5934f9
movl $0xae, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a5f4
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x30a61a
movq $0x0, 0x30(%rsp)
movq 0x30(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_add_aaseq
GT_UNUSED static void gt_ltrdigest_pdom_visitor_add_aaseq(const char *str,
                                                          GtStr *dest)
{
  GtUword i;
  gt_assert(str && dest);
  for (i = 0; str[i] != '\0'; i++) {
    if (!gt_ltrdigest_pdom_visitor_isgap(str[i])) {
      /* replace stop codons by 'X'es */
      if (str[i] == '*') {
        gt_str_append_char(dest, 'X');
      } else {
        gt_str_append_char(dest, toupper(str[i]));
      }
    }
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x30a64e
cmpq $0x0, 0x18(%rsp)
jne 0x30a686
movq 0x33194b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20b9b4(%rip), %rsi    # 0x516013
leaq 0x2894de(%rip), %rdx    # 0x593b44
leaq 0x2894e3(%rip), %rcx    # 0x593b50
leaq 0x288e85(%rip), %r8     # 0x5934f9
movl $0x137, %r9d            # imm = 0x137
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a688
movq $0x0, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
je 0x30a774
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x20, %eax
je 0x30a75f
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2e, %eax
je 0x30a75f
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5f, %eax
je 0x30a75f
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2d, %eax
je 0x30a75f
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x7e, %eax
je 0x30a75f
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x2a, %eax
jne 0x30a733
movq 0x18(%rsp), %rdi
movl $0x58, %esi
callq 0x11da70
jmp 0x30a75d
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movsbl (%rax,%rcx), %edi
callq 0x19dd0
movq 0x8(%rsp), %rdi
movsbl %al, %esi
callq 0x11da70
jmp 0x30a75f
jmp 0x30a761
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0x30a691
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_fragcmp
static int gt_ltrdigest_pdom_visitor_fragcmp(const void *frag1,
                                             const void *frag2)
{
  GtFragment *f1 = (GtFragment*) frag1;
  GtFragment *f2 = (GtFragment*) frag2;
  if (f1->startpos2 == f2->startpos2)
    return 0;
  else return (f1->startpos2 < f2->startpos2 ? -1 : 1);
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq %rax, -0x20(%rsp)
movq -0x18(%rsp), %rax
movq %rax, -0x28(%rsp)
movq -0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x28(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jne 0x30ab3c
movl $0x0, -0x4(%rsp)
jmp 0x30ab62
movq -0x20(%rsp), %rax
movq 0x10(%rax), %rdx
movq -0x28(%rsp), %rax
movq 0x10(%rax), %rsi
movl $0x1, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
cmpq %rsi, %rdx
cmovbl %ecx, %eax
movl %eax, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_chainproc
static void gt_ltrdigest_pdom_visitor_chainproc(GtChain *c, GtFragment *f,
                                             GT_UNUSED GtUword nof_frags,
                                             GT_UNUSED GtUword gap_length,
                                             void *data)
{
  GtUword i,
                *chainno = (GtUword*) data;
  gt_log_log("resulting chain has "GT_WD" GtFragments, score "GT_WD"",
             gt_chain_size(c),
             gt_chain_get_score(c));
  for (i = 0; i < gt_chain_size(c); i++) {
    GtFragment frag;
    frag = f[gt_chain_get_fragnum(c, i)];
    gt_log_log("("GT_WU" "GT_WU") ("GT_WU" "GT_WU")", frag.startpos1,
               frag.endpos1, frag.startpos2, frag.endpos2);
    gt_array_add(((GtHMMERSingleHit*) frag.data)->chains, *chainno);
  }
  (*chainno)++;
  gt_log_log("\n");
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
movq %rcx, 0x68(%rsp)
movq %r8, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x80(%rsp), %rdi
callq 0x48ba70
movq %rax, 0x18(%rsp)
movq 0x80(%rsp), %rdi
callq 0x48b790
movq 0x18(%rsp), %rsi
movq %rax, %rdx
leaq 0x289057(%rip), %rdi    # 0x593c22
movb $0x0, %al
callq 0xe7740
movq $0x0, 0x58(%rsp)
movq 0x58(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x80(%rsp), %rdi
callq 0x48ba70
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0x30ac87
movq 0x78(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x80(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x48b9a0
movq 0x8(%rsp), %rsi
imulq $0x30, %rax, %rax
addq %rax, %rsi
leaq 0x20(%rsp), %rdi
movl $0x30, %edx
callq 0x19610
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %r8
leaq 0x288ffc(%rip), %rdi    # 0x593c51
movb $0x0, %al
callq 0xe7740
movq 0x48(%rsp), %rax
movq 0x40(%rax), %rdi
movq 0x50(%rsp), %rsi
movl $0x8, %edx
callq 0x81100
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
jmp 0x30abdb
movq 0x50(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
leaq 0x2885d6(%rip), %rdi    # 0x593273
movb $0x0, %al
callq 0xe7740
addq $0x88, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_coords
static GtRange gt_ltrdigest_pdom_visitor_coords(GtLTRdigestPdomVisitor *lv,
                                              const GtHMMERSingleHit *singlehit)
{
  GtRange retrng;
  gt_assert(singlehit);
  switch (singlehit->strand)
  {
    case GT_STRAND_FORWARD:
    default:
      retrng.start = lv->leftLTR_5 + (singlehit->alifrom - 1) * GT_CODON_LENGTH
                        + (GtUword) singlehit->frame;
      retrng.end   =  retrng.start + (singlehit->alito - singlehit->alifrom + 1)
                           * GT_CODON_LENGTH;
      break;
    case GT_STRAND_REVERSE:
      retrng.start = lv->rightLTR_3 - (singlehit->alito) * GT_CODON_LENGTH
                        - (GtUword) singlehit->frame;
      retrng.end   =  retrng.start + (singlehit->alito - singlehit->alifrom + 1)
                           * GT_CODON_LENGTH;
      break;
  }
  retrng.start++; retrng.end++;  /* GFF3 is 1-based */
  return retrng;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x30b10e
movq 0x330ec3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20af2c(%rip), %rsi    # 0x516013
leaq 0x288b7d(%rip), %rdx    # 0x593c6b
leaq 0x288bbf(%rip), %rcx    # 0x593cb4
leaq 0x2883fd(%rip), %r8     # 0x5934f9
movl $0x224, %r9d            # imm = 0x224
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30b110
movq 0x8(%rsp), %rax
movl 0x38(%rax), %eax
movl %eax, 0x4(%rsp)
testl %eax, %eax
je 0x30b12d
jmp 0x30b122
movl 0x4(%rsp), %eax
subl $0x1, %eax
je 0x30b183
jmp 0x30b12f
jmp 0x30b12f
movq 0x10(%rsp), %rax
movq 0x68(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
subq $0x1, %rcx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movq 0x8(%rsp), %rcx
addq 0x20(%rcx), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x8(%rsp), %rdx
subq 0x10(%rdx), %rcx
addq $0x1, %rcx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x20(%rsp)
jmp 0x30b1ce
movq 0x10(%rsp), %rax
movq 0x70(%rax), %rax
movq 0x8(%rsp), %rcx
imulq $0x3, 0x18(%rcx), %rcx
subq %rcx, %rax
movq 0x8(%rsp), %rcx
subq 0x20(%rcx), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x8(%rsp), %rcx
movq 0x18(%rcx), %rcx
movq 0x8(%rsp), %rdx
subq 0x10(%rdx), %rcx
addq $0x1, %rcx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rax
incq %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rax
incq %rax
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rdx
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_hit_get_coords
GtRange gt_ppt_hit_get_coords(const GtPPTHit *h,
                                     GtLTRdigestPPTVisitor *lv)
{
  GtRange rng;
  gt_assert(h);
  rng.start = h->rng.start;
  rng.end = h->rng.end;
  switch (h->strand)
  {
    case GT_STRAND_FORWARD:
    default:
      rng.start = h->res->rightltrrng.start - 2 - lv->radius
                    + rng.start;
      rng.end = rng.start + (gt_range_length(&h->rng) - 1);
      break;
    case GT_STRAND_REVERSE:
      rng.end = h->res->leftltrrng.end + lv->radius - rng.start;
      rng.start = rng.end - (gt_range_length(&h->rng) - 1);
      break;
  }
  gt_assert(gt_range_length(&rng) == gt_range_length(&h->rng));
  return rng;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x30b24e
movq 0x330d83(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20adec(%rip), %rsi    # 0x516013
leaq 0x273f4f(%rip), %rdx    # 0x57f17d
leaq 0x288b0b(%rip), %rcx    # 0x593d40
leaq 0x288b1a(%rip), %r8     # 0x593d56
movl $0x74, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30b250
movq 0x30(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x38(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x30(%rsp), %rax
movl 0x28(%rax), %eax
movl %eax, 0x24(%rsp)
testl %eax, %eax
je 0x30b288
jmp 0x30b27d
movl 0x24(%rsp), %eax
subl $0x1, %eax
je 0x30b2dd
jmp 0x30b28a
jmp 0x30b28a
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x18(%rax), %rax
subq $0x2, %rax
movq 0x28(%rsp), %rcx
movl 0x88(%rcx), %ecx
subq %rcx, %rax
addq 0x38(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
callq 0x107320
movq %rax, %rcx
movq 0x18(%rsp), %rax
subq $0x1, %rcx
addq %rcx, %rax
movq %rax, 0x40(%rsp)
jmp 0x30b32a
movq 0x30(%rsp), %rax
movq 0x30(%rax), %rax
movq 0x10(%rax), %rax
movq 0x28(%rsp), %rcx
movl 0x88(%rcx), %ecx
addq %rcx, %rax
subq 0x38(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
callq 0x107320
movq %rax, %rcx
movq 0x10(%rsp), %rax
subq $0x1, %rcx
subq %rcx, %rax
movq %rax, 0x38(%rsp)
jmp 0x30b32c
leaq 0x38(%rsp), %rdi
callq 0x107320
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
callq 0x107320
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
je 0x30b38a
movq 0x330c47(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20acb0(%rip), %rsi    # 0x516013
leaq 0x288a0c(%rip), %rdx    # 0x593d76
leaq 0x2889cf(%rip), %rcx    # 0x593d40
leaq 0x2889de(%rip), %r8     # 0x593d56
movl $0x84, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30b38c
movq 0x38(%rsp), %rax
movq 0x40(%rsp), %rdx
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_results_delete
void gt_ppt_results_delete(GtPPTResults *results)
{
  GtUword i;
  if (results == NULL) return;

  if (results->hits != NULL)
  {
    for (i=0;i<gt_array_size(results->hits);i++)
    {
      GtPPTHit * hit = *(GtPPTHit**) gt_array_get(results->hits,i);
      if (hit->ubox != NULL)
        gt_free(hit->ubox);
      gt_free(hit);
    }
    gt_array_delete(results->hits);
  }
  gt_free(results);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x30b3b6
jmp 0x30b47e
movq 0x20(%rsp), %rax
cmpq $0x0, (%rax)
je 0x30b468
movq $0x0, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0x30b45b
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x80b60
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x30b432
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rdi
leaq 0x28892e(%rip), %rsi    # 0x593d56
movl $0x1ca, %edx            # imm = 0x1CA
callq 0xe88c0
movq 0x10(%rsp), %rdi
leaq 0x288918(%rip), %rsi    # 0x593d56
movl $0x1cb, %edx            # imm = 0x1CB
callq 0xe88c0
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x30b3ce
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x81f80
movq 0x20(%rsp), %rdi
leaq 0x2888e2(%rip), %rsi    # 0x593d56
movl $0x1cf, %edx            # imm = 0x1CF
callq 0xe88c0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ltrdigest_ppt_visitor_free
void gt_ltrdigest_ppt_visitor_free(GtNodeVisitor *nv)
{
  GT_UNUSED GtLTRdigestPPTVisitor *lv;
  if (!nv) return;
  lv = gt_ltrdigest_ppt_visitor_cast(nv);
  gt_str_delete(lv->tag);
  gt_alphabet_delete(lv->alpha);
  gt_hmm_delete(lv->hmm);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x30b4a3
jmp 0x30b4e4
callq 0x30b4f0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x7e3d0
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x18d780
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_results_new
static GtPPTResults* gt_ppt_results_new(GtRange leftltrrng,
                                        GtRange rightltrrng)
{
  GtPPTResults *res = gt_calloc((size_t) 1, sizeof (GtPPTResults));
  res->leftltrrng = leftltrrng;
  res->rightltrrng = rightltrrng;
  res->hits = gt_array_new(sizeof (GtPPTHit*));
  return res;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x8(%rsp)
movq %rcx, 0x10(%rsp)
movl $0x1, %edi
movl $0x28, %esi
leaq 0x28721d(%rip), %rdx    # 0x593d56
movl $0x5f, %ecx
callq 0xe83c0
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rcx
movq %rcx, 0x20(%rax)
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq (%rsp), %rax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_hit_cmp
static int gt_ppt_hit_cmp(const void *h1, const void *h2)
{
  GtPPTHit* ph1 = *(GtPPTHit**) h1;
  GtPPTHit* ph2 = *(GtPPTHit**) h2;
  gt_assert(h1 && h2);
  return gt_double_compare(ph2->score, ph1->score);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x30cfe8
cmpq $0x0, 0x18(%rsp)
jne 0x30d020
movq 0x32efb1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20901a(%rip), %rsi    # 0x516013
leaq 0x249efe(%rip), %rdx    # 0x556efe
leaq 0x286f07(%rip), %rcx    # 0x593f0e
leaq 0x286d48(%rip), %r8     # 0x593d56
movl $0x111, %r9d            # imm = 0x111
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30d022
movq 0x8(%rsp), %rax
movsd 0x10(%rax), %xmm0
movq 0x10(%rsp), %rax
movsd 0x10(%rax), %xmm1
callq 0xec290
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_hit_new
static GtPPTHit* gt_ppt_hit_new(GtStrand strand, GtPPTResults *r)
{
  GtPPTHit *h = gt_calloc((size_t) 1, sizeof (GtPPTHit));
  gt_assert(h);
  h->strand = strand;
  h->res = r;
  h->score = 0.0;
  return h;
}

// Assembly:
subq $0x18, %rsp
movl %edi, 0x14(%rsp)
movq %rsi, 0x8(%rsp)
movl $0x1, %edi
movl $0x38, %esi
leaq 0x286cf8(%rip), %rdx    # 0x593d56
movl $0x68, %ecx
callq 0xe83c0
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x30d0ab
movq 0x32ef26(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x208f8f(%rip), %rsi    # 0x516013
leaq 0x2720f2(%rip), %rdx    # 0x57f17d
leaq 0x286e58(%rip), %rcx    # 0x593eea
leaq 0x286cbd(%rip), %r8     # 0x593d56
movl $0x69, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30d0ad
movl 0x14(%rsp), %ecx
movq (%rsp), %rax
movl %ecx, 0x28(%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movq (%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x10(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ubox_ok
static bool gt_ubox_ok(GtPPTHit *hit, GtRange uboxlen)
{
  gt_assert(hit);
  return (hit->state == PPT_UBOX
           && hit->rng.end-hit->rng.start+1 >= uboxlen.start
           && hit->rng.end-hit->rng.start+1 <= uboxlen.end);
}

// Assembly:
subq $0x28, %rsp
movq %rsi, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x30d133
movq 0x32ee9e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x208f07(%rip), %rsi    # 0x516013
leaq 0x28622c(%rip), %rdx    # 0x59333f
leaq 0x286ddf(%rip), %rcx    # 0x593ef9
leaq 0x286c35(%rip), %r8     # 0x593d56
movl $0x117, %r9d            # imm = 0x117
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30d135
movq 0x10(%rsp), %rcx
xorl %eax, %eax
cmpl $0x2, 0x18(%rcx)
movb %al, 0xf(%rsp)
jne 0x30d189
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
subq (%rax), %rcx
addq $0x1, %rcx
xorl %eax, %eax
cmpq 0x18(%rsp), %rcx
movb %al, 0xf(%rsp)
jb 0x30d189
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rsp), %rcx
subq (%rcx), %rax
addq $0x1, %rax
cmpq 0x20(%rsp), %rax
setbe %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_ok
static bool gt_ppt_ok(GtPPTHit *hit, GtRange pptlen)
{
  gt_assert(hit);
  return (hit->state == PPT_IN
           && hit->rng.end-hit->rng.start+1 >= pptlen.start
           && hit->rng.end-hit->rng.start+1 <= pptlen.end);
}

// Assembly:
subq $0x28, %rsp
movq %rsi, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x30d1f3
movq 0x32edde(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x208e47(%rip), %rsi    # 0x516013
leaq 0x28616c(%rip), %rdx    # 0x59333f
leaq 0x286d2a(%rip), %rcx    # 0x593f04
leaq 0x286b75(%rip), %r8     # 0x593d56
movl $0x11f, %r9d            # imm = 0x11F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30d1f5
movq 0x10(%rsp), %rcx
xorl %eax, %eax
cmpl $0x0, 0x18(%rcx)
movb %al, 0xf(%rsp)
jne 0x30d249
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rsp), %rax
subq (%rax), %rcx
addq $0x1, %rcx
xorl %eax, %eax
cmpq 0x18(%rsp), %rcx
movb %al, 0xf(%rsp)
jb 0x30d249
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rsp), %rcx
subq (%rcx), %rax
addq $0x1, %rax
cmpq 0x20(%rsp), %rax
setbe %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
andb $0x1, %al
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_ppt_visitor.c
// Function: gt_ppt_score
static inline double gt_ppt_score(GtUword radius, GtUword end)
{
  double ret;
  GtUword r2;
  r2 = radius * radius;
  ret = ((double) r2
           - pow(fabs((double) radius - (double) end), 2.0))/(double) r2;
  return ret;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rax
imulq %rax, %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %xmm0
movaps 0x20b6a7(%rip), %xmm3   # 0x518930
movaps %xmm3, (%rsp)
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
movapd 0x20b6a7(%rip), %xmm2   # 0x518940
movaps %xmm2, 0x10(%rsp)
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movq 0x40(%rsp), %xmm0
punpckldq %xmm3, %xmm0    # xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
subpd %xmm2, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
movq 0x38(%rsp), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
subsd %xmm1, %xmm0
movaps 0x230160(%rip), %xmm1   # 0x53d450
pand %xmm1, %xmm0
movsd 0x20ba64(%rip), %xmm1   # 0x518d60
callq 0x19cb0
movaps (%rsp), %xmm3
movaps 0x10(%rsp), %xmm2
movaps %xmm0, %xmm1
movsd 0x20(%rsp), %xmm0
subsd %xmm1, %xmm0
movq 0x28(%rsp), %xmm1
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
subpd %xmm2, %xmm1
movaps %xmm1, %xmm2
unpckhpd %xmm1, %xmm1            # xmm1 = xmm1[1,1]
addsd %xmm2, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x30(%rsp), %xmm0
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_strand_assign_visitor.c
// Function: gt_ltrdigest_strand_assign_visitor_new
GtNodeVisitor* gt_ltrdigest_strand_assign_visitor_new()
{
  GtNodeVisitor *nv = NULL;
  GtLTRdigestStrandAssignVisitor *sav;
  nv = gt_node_visitor_create(gt_ltrdigest_strand_assign_visitor_class());
  sav = gt_ltrdigest_strand_assign_visitor_cast(nv);
  sav->strand = GT_STRAND_UNKNOWN;
  return nv;
}

// Assembly:
subq $0x18, %rsp
movq $0x0, 0x10(%rsp)
callq 0x30d490
movq %rax, %rdi
callq 0x1b22c0
movq %rax, 0x10(%rsp)
callq 0x30d490
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movl $0x3, 0x10(%rax)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_fasta_out_visitor.c
// Function: gt_ltrharvest_fasta_out_visitor_class
const GtNodeVisitorClass* gt_ltrharvest_fasta_out_visitor_class(void)
{
  static const GtNodeVisitorClass *nvc = NULL;
  gt_class_alloc_lock_enter();
  if (!nvc) {
    nvc = gt_node_visitor_class_new(sizeof (GtLTRharvestFastaOutVisitor),
                                   NULL,
                                   NULL,
                                   gt_ltrharvest_fasta_out_visitor_feature_node,
                                   NULL,
                                   NULL,
                                   NULL);
  }
  gt_class_alloc_lock_leave();
  return nvc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x3357fa(%rip)    # 0x643018
jne 0x30d84e
movl $0x30, %edi
xorl %eax, %eax
movl %eax, %r9d
leaq 0x2f(%rip), %rcx        # 0x30d860
movq %r9, %rsi
movq %r9, %rdx
movq %r9, %r8
movq $0x0, (%rsp)
callq 0x1b2170
movq %rax, 0x3357ca(%rip)    # 0x643018
callq 0x9f280
movq 0x3357be(%rip), %rax    # 0x643018
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_fasta_out_visitor.c
// Function: gt_ltrharvest_fasta_out_visitor_new
GtNodeVisitor* gt_ltrharvest_fasta_out_visitor_new(const GtEncseq *encseq,
                                                   bool inner,
                                                   GtUword width,
                                                   GtFile *outfp)
{
  GtNodeVisitor *nv;
  GtLTRharvestFastaOutVisitor *lv;
  gt_assert(encseq && outfp);
  nv = gt_node_visitor_create(gt_ltrharvest_fasta_out_visitor_class());
  lv = gt_ltrharvest_fasta_out_visitor_cast(nv);
  gt_assert(lv);
  lv->inner = inner;
  lv->outfp = outfp;
  lv->width = width;
  lv->encseq = encseq;
  return nv;
}

// Assembly:
subq $0x38, %rsp
movb %sil, %al
movq %rdi, 0x30(%rsp)
andb $0x1, %al
movb %al, 0x2f(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x30e00c
cmpq $0x0, 0x18(%rsp)
jne 0x30e044
movq 0x32df8d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x207ff6(%rip), %rsi    # 0x516013
leaq 0x286060(%rip), %rdx    # 0x594084
leaq 0x286069(%rip), %rcx    # 0x594094
leaq 0x286086(%rip), %r8     # 0x5940b8
movl $0xc0, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30e046
callq 0x30d810
movq %rax, %rdi
callq 0x1b22c0
movq %rax, 0x10(%rsp)
callq 0x30d810
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x30e0af
movq 0x32df22(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x207f8b(%rip), %rsi    # 0x516013
leaq 0x284ff3(%rip), %rdx    # 0x593082
leaq 0x285ffe(%rip), %rcx    # 0x594094
leaq 0x28601b(%rip), %r8     # 0x5940b8
movl $0xc3, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30e0b1
movb 0x2f(%rsp), %cl
movq 0x8(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x20(%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x10(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_ltrharvest_stream_class
const GtNodeStreamClass* gt_ltrharvest_stream_class(void)
{
  static const GtNodeStreamClass *nsc = NULL;
  gt_class_alloc_lock_enter();
  if (!nsc) {
    nsc = gt_node_stream_class_new(sizeof (GtLTRharvestStream),
                                   gt_ltrharvest_stream_free,
                                   gt_ltrharvest_stream_next);
  }
  gt_class_alloc_lock_leave();
  return nsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x334f12(%rip)    # 0x643020
jne 0x30e12f
movl $0x100, %edi            # imm = 0x100
leaq 0x24(%rip), %rsi        # 0x30e140
leaq 0xed(%rip), %rdx        # 0x30e210
callq 0x1b1ae0
movq %rax, 0x334ef1(%rip)    # 0x643020
callq 0x9f280
movq 0x334ee5(%rip), %rax    # 0x643020
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_ltrharvest_stream_free
static void gt_ltrharvest_stream_free(GtNodeStream *ns)
{
  GtLTRharvestStream *ltrh_stream = gt_ltrharvest_stream_cast(ns);
  GT_FREEARRAY(&ltrh_stream->arrayLTRboundaries, LTRboundaries);
  if (ltrh_stream->ssar != NULL)
    gt_freeSequentialsuffixarrayreader(&ltrh_stream->ssar);
  if (ltrh_stream->bdptrtab != NULL)
    gt_free(ltrh_stream->bdptrtab);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x30e100
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, 0xc0(%rax)
je 0x30e1bc
movq 0x8(%rsp), %rax
movq 0xc0(%rax), %rdi
leaq 0x286100(%rip), %rsi    # 0x594282
movl $0x666, %edx            # imm = 0x666
callq 0xe88c0
movq 0x8(%rsp), %rax
movq $0x0, 0xc8(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0xd0(%rax)
movq 0x8(%rsp), %rax
movq $0x0, 0xc0(%rax)
jmp 0x30e1be
movq 0x8(%rsp), %rax
cmpq $0x0, 0xe0(%rax)
je 0x30e1de
movq 0x8(%rsp), %rdi
addq $0xe0, %rdi
callq 0x23b5e0
movq 0x8(%rsp), %rax
cmpq $0x0, 0xb8(%rax)
je 0x30e20a
movq 0x8(%rsp), %rax
movq 0xb8(%rax), %rdi
leaq 0x286082(%rip), %rsi    # 0x594282
movl $0x66a, %edx            # imm = 0x66A
callq 0xe88c0
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_searchforLTRs_threadfunc
static void* gt_searchforLTRs_threadfunc(void *data) {
  GtLTRharvestThreadInfo *info = (GtLTRharvestThreadInfo*) data;
  GT_UNUSED int rval;
  gt_assert(info);
  rval = gt_searchforLTRs(info->lo, info->arrayLTRboundaries, info->rmutex,
                          info->wmutex, &info->cur_seed, info->err);
  gt_assert(rval == 0);
  return NULL;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x30ff53
movq 0x32c07e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x2060e7(%rip), %rsi    # 0x516013
leaq 0x25616d(%rip), %rdx    # 0x5660a0
leaq 0x2844b9(%rip), %rcx    # 0x5943f3
leaq 0x284341(%rip), %r8     # 0x594282
movl $0x486, %r9d            # imm = 0x486
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30ff55
movq 0x8(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rsi
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rcx
movq 0x8(%rsp), %r8
addq $0x30, %r8
movq 0x8(%rsp), %rax
movq 0x18(%rax), %r9
callq 0x310600
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0x30ffd2
movq 0x32bfff(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x206068(%rip), %rsi    # 0x516013
leaq 0x23fcad(%rip), %rdx    # 0x54fc5f
leaq 0x28443a(%rip), %rcx    # 0x5943f3
leaq 0x2842c2(%rip), %r8     # 0x594282
movl $0x489, %r9d            # imm = 0x489
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30ffd4
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: bdcompare
static int bdcompare(const void *a, const void *b, GT_UNUSED void *data)
{
  const LTRboundaries *bda, *bdb;

  bda = (const LTRboundaries *) a;
  bdb = (const LTRboundaries *) b;
  if (bda == bdb) return 0;
  if (bda->contignumber < bdb->contignumber)
  {
    return -1;
  }
  if (bda->contignumber > bdb->contignumber)
  {
    return 1;
  }
  gt_assert(bda->contignumber == bdb->contignumber);
  if (bda->leftLTR_5 < bdb->leftLTR_5)
  {
    return -1;
  }
  if (bda->leftLTR_5 > bdb->leftLTR_5)
  {
    return 1;
  }
  gt_assert(bda->leftLTR_5 == bdb->leftLTR_5);
  if (bda->rightLTR_3 < bdb->rightLTR_3)
  {
    return -1;
  }
  if (bda->rightLTR_3 > bdb->rightLTR_3)
  {
    return 1;
  }
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
cmpq 0x8(%rsp), %rax
jne 0x310020
movl $0x0, 0x34(%rsp)
jmp 0x310182
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jae 0x31003f
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x310182
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
jbe 0x31005e
movl $0x1, 0x34(%rsp)
jmp 0x310182
jmp 0x310060
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq 0x8(%rsp), %rcx
cmpq (%rcx), %rax
je 0x3100aa
movq 0x32bf27(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x205f90(%rip), %rsi    # 0x516013
leaq 0x2844dc(%rip), %rdx    # 0x594566
leaq 0x2844fc(%rip), %rcx    # 0x59458d
leaq 0x2841ea(%rip), %r8     # 0x594282
movl $0xa6, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x3100ac
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jae 0x3100cd
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x310182
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0x3100ee
movl $0x1, 0x34(%rsp)
jmp 0x310182
jmp 0x3100f0
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
je 0x31013c
movq 0x32be95(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x205efe(%rip), %rsi    # 0x516013
leaq 0x28447b(%rip), %rdx    # 0x594597
leaq 0x28446a(%rip), %rcx    # 0x59458d
leaq 0x284158(%rip), %r8     # 0x594282
movl $0xaf, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x31013e
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jae 0x31015c
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
jmp 0x310182
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jbe 0x31017a
movl $0x1, 0x34(%rsp)
jmp 0x310182
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_removeduplicates
static void gt_removeduplicates(GtArrayLTRboundaries *arrayLTRboundaries)
{
  GtUword i;
  LTRboundaries *oldboundaries,
                *boundaries;

  oldboundaries = arrayLTRboundaries->spaceLTRboundaries;
  for (i = 1UL; i < arrayLTRboundaries->nextfreeLTRboundaries; i++)
  {
    boundaries = arrayLTRboundaries->spaceLTRboundaries + i;
    gt_assert(!boundaries->skipped);
    if (oldboundaries->leftLTR_5 == boundaries->leftLTR_5
          && oldboundaries->rightLTR_3 == boundaries->rightLTR_3)
      boundaries->skipped = true;
    else
      oldboundaries = boundaries;
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq $0x1, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq 0x10(%rcx), %rax
jae 0x310270
movq 0x20(%rsp), %rax
movq (%rax), %rax
imulq $0x48, 0x18(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
testb $0x1, 0x3c(%rax)
je 0x31021c
movq 0x32bdb5(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x205e1e(%rip), %rsi    # 0x516013
leaq 0x2843bc(%rip), %rdx    # 0x5945b8
leaq 0x2843ca(%rip), %rcx    # 0x5945cd
leaq 0x284078(%rip), %r8     # 0x594282
movl $0x49a, %r9d            # imm = 0x49A
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x31021e
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x310251
movq 0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x8(%rsp), %rcx
cmpq 0x20(%rcx), %rax
jne 0x310251
movq 0x8(%rsp), %rax
movb $0x1, 0x3c(%rax)
jmp 0x31025b
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
jmp 0x31025d
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x3101af
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: compactboundaries
static const LTRboundaries **compactboundaries(GtUword *numofboundaries,
                                               const GtArrayLTRboundaries *ltr)
{
  GtUword countboundaries = 0, nextfill = 0;
  const LTRboundaries *bd, **bdptrtab;

  for (bd = ltr->spaceLTRboundaries; bd < ltr->spaceLTRboundaries +
                                          ltr->nextfreeLTRboundaries; bd++)
  {
    if (!bd->skipped)
    {
      countboundaries++;
    }
  }
  bdptrtab = gt_malloc(sizeof (LTRboundaries *) * countboundaries);
  nextfill = 0;
  for (bd = ltr->spaceLTRboundaries; bd < ltr->spaceLTRboundaries +
                                          ltr->nextfreeLTRboundaries; bd++)
  {
    if (!bd->skipped)
    {
      bdptrtab[nextfill++] = bd;
    }
  }
  *numofboundaries = countboundaries;
  return bdptrtab;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq $0x0, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x28(%rsp), %rcx
movq (%rcx), %rcx
movq 0x28(%rsp), %rdx
imulq $0x48, 0x10(%rdx), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x310557
movq 0x10(%rsp), %rax
testb $0x1, 0x3c(%rax)
jne 0x310545
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x310547
movq 0x10(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x10(%rsp)
jmp 0x31050d
movq 0x20(%rsp), %rdi
shlq $0x3, %rdi
leaq 0x283d1b(%rip), %rsi    # 0x594282
movl $0x104, %edx            # imm = 0x104
callq 0xe80f0
movq %rax, 0x8(%rsp)
movq $0x0, 0x18(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0x28(%rsp), %rcx
movq (%rcx), %rcx
movq 0x28(%rsp), %rdx
imulq $0x48, 0x10(%rdx), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jae 0x3105e7
movq 0x10(%rsp), %rax
testb $0x1, 0x3c(%rax)
jne 0x3105d5
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x18(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0x3105d7
movq 0x10(%rsp), %rax
addq $0x48, %rax
movq %rax, 0x10(%rsp)
jmp 0x31058c
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: adjustboundariesfromXdropextension
static void adjustboundariesfromXdropextension(GtXdropbest xdropbest_left,
                                               GtXdropbest xdropbest_right,
                                               GtUword seed1_startpos,
                                               GtUword seed2_startpos,
                                               GtUword seed1_endpos,
                                               GtUword seed2_endpos,
                                               LTRboundaries *boundaries)
{
  /* left alignment */
  boundaries->leftLTR_5  = seed1_startpos - xdropbest_left.ivalue;
  boundaries->rightLTR_5 = seed2_startpos - xdropbest_left.jvalue;

  /* right alignment */
  boundaries->leftLTR_3  = seed1_endpos + xdropbest_right.ivalue;
  boundaries->rightLTR_3 = seed2_endpos + xdropbest_right.jvalue;
}

// Assembly:
movq %rcx, -0x40(%rsp)
movq %rdx, %rax
movq -0x40(%rsp), %rdx
movq %rax, -0x38(%rsp)
movq %rsi, %rax
movq -0x38(%rsp), %rsi
movq %rax, -0x30(%rsp)
movq %rdi, %r9
movq -0x30(%rsp), %rdi
leaq 0x30(%rsp), %rax
leaq 0x8(%rsp), %rcx
movq %r9, -0x8(%rsp)
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq %r8, -0x28(%rsp)
movq -0x8(%rsp), %rsi
subq (%rcx), %rsi
movq -0x28(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq -0x10(%rsp), %rdx
subq 0x8(%rcx), %rdx
movq -0x28(%rsp), %rcx
movq %rdx, 0x18(%rcx)
movq -0x18(%rsp), %rdx
addq (%rax), %rdx
movq -0x28(%rsp), %rcx
movq %rdx, 0x10(%rcx)
movq -0x20(%rsp), %rcx
addq 0x8(%rax), %rcx
movq -0x28(%rsp), %rax
movq %rcx, 0x20(%rax)
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_findcorrectboundaries
static int gt_findcorrectboundaries(const GtLTRharvestStream *lo,
                                    LTRboundaries *boundaries,
                                    GtError *err)
{
  LTRMotifmismatches motifmismatches;
  gt_error_check(err);

  motifmismatches.left = motifmismatches.right = 0;
  /* first: 5'-border of left LTR and 3'-border of right LTR */
  if (searchforTSDandorMotifoutside(lo, boundaries, &motifmismatches, err) != 0)
  {
    return -1;
  }
  /* second: 3'-border of left LTR and 5'-border of right LTR */
  if (lo->motif->allowedmismatches < 4U)
  {
    searchformotifonlyinside(lo,boundaries,&motifmismatches);
  }
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x311323
movq 0x8(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x3112eb
jmp 0x311323
movq 0x32acae(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x204d17(%rip), %rsi    # 0x516013
leaq 0x204ebc(%rip), %rdx    # 0x5161bf
leaq 0x2831c3(%rip), %rcx    # 0x5944cd
leaq 0x282f71(%rip), %r8     # 0x594282
movl $0x341, %r9d            # imm = 0x341
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x311325
movl $0x0, 0x4(%rsp)
movl $0x0, (%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rcx
movq %rsp, %rdx
callq 0x311490
cmpl $0x0, %eax
je 0x31135a
movl $0xffffffff, 0x24(%rsp) # imm = 0xFFFFFFFF
jmp 0x311386
movq 0x18(%rsp), %rax
movq 0x88(%rax), %rax
cmpl $0x4, 0xc(%rax)
jae 0x31137e
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rsp, %rdx
callq 0x311ab0
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: checklengthanddistanceconstraints
static bool checklengthanddistanceconstraints(LTRboundaries *boundaries,
                                              const RepeatInfo *repeatinfo)
{
  GtUword ulen, vlen, dist_between_LTRs;

  ulen = boundaries->leftLTR_3  - boundaries->leftLTR_5  + 1;
  vlen = boundaries->rightLTR_3 - boundaries->rightLTR_5 + 1;
  dist_between_LTRs = boundaries->rightLTR_5 - boundaries->leftLTR_5;
  if (ulen > repeatinfo->lmax
        || vlen > repeatinfo->lmax
        || ulen < repeatinfo->lmin
        || vlen < repeatinfo->lmin
        || dist_between_LTRs > repeatinfo->dmax
        || dist_between_LTRs < repeatinfo->dmin
        || boundaries->leftLTR_3 >= boundaries->rightLTR_5)
  {
    boundaries->lengthdistconstraint = false;
    boundaries->similarity = 0.0;
    return false;
  } else
  {
    boundaries->lengthdistconstraint = true;
    return true;
  }
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq -0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rsp), %rcx
subq 0x8(%rcx), %rax
addq $0x1, %rax
movq %rax, -0x20(%rsp)
movq -0x10(%rsp), %rax
movq 0x20(%rax), %rax
movq -0x10(%rsp), %rcx
subq 0x18(%rcx), %rax
addq $0x1, %rax
movq %rax, -0x28(%rsp)
movq -0x10(%rsp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rsp), %rcx
subq 0x8(%rcx), %rax
movq %rax, -0x30(%rsp)
movq -0x20(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x20(%rcx), %rax
ja 0x31145b
movq -0x28(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x20(%rcx), %rax
ja 0x31145b
movq -0x20(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x31145b
movq -0x28(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x31145b
movq -0x30(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x30(%rcx), %rax
ja 0x31145b
movq -0x30(%rsp), %rax
movq -0x18(%rsp), %rcx
cmpq 0x28(%rcx), %rax
jb 0x31145b
movq -0x10(%rsp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rsp), %rcx
cmpq 0x18(%rcx), %rax
jb 0x311478
movq -0x10(%rsp), %rax
movb $0x0, 0x3b(%rax)
movq -0x10(%rsp), %rax
xorps %xmm0, %xmm0
movsd %xmm0, 0x40(%rax)
movb $0x0, -0x1(%rsp)
jmp 0x311486
movq -0x10(%rsp), %rax
movb $0x1, 0x3b(%rax)
movb $0x1, -0x1(%rsp)
movb -0x1(%rsp), %al
andb $0x1, %al
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrharvest_stream.c
// Function: gt_subsimpleexactselfmatchstore
static void gt_subsimpleexactselfmatchstore(void *info,
                                            const GtQuerymatch *querymatch)
{
  Repeat *nextfreerepeatptr;
  SubRepeatInfo *sri = (SubRepeatInfo *) info;

  GT_GETNEXTFREEINARRAY (nextfreerepeatptr, &sri->repeats, Repeat, 10);
  nextfreerepeatptr->pos1 = sri->offset1 + gt_querymatch_dbstart(querymatch);
  nextfreerepeatptr->offset = sri->offset2 +
                              gt_querymatch_querystart(querymatch) -
                              (sri->offset1 +
                               gt_querymatch_dbstart(querymatch));
  nextfreerepeatptr->len = gt_querymatch_querylen(querymatch);
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq 0x40(%rsp), %rax
movq %rax, 0x28(%rsp)
jmp 0x31226a
movq 0x28(%rsp), %rax
movq 0x10(%rax), %rax
addq $0x0, %rax
movq 0x28(%rsp), %rcx
cmpq 0x8(%rcx), %rax
jb 0x312315
movq $0xa, 0x20(%rsp)
xorl %eax, %eax
cmpq 0x20(%rsp), %rax
jbe 0x3122d0
movq 0x329d01(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x203d6a(%rip), %rsi    # 0x516013
leaq 0x206ef7(%rip), %rdx    # 0x5191a7
leaq 0x28226a(%rip), %rcx    # 0x594521
leaq 0x281fc4(%rip), %r8     # 0x594282
movl $0xed, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x3122d2
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %rax
addq 0x8(%rax), %rcx
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rsi
shlq $0x5, %rsi
leaq 0x281f82(%rip), %rdx    # 0x594282
movl $0xed, %ecx
callq 0xe8540
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
jmp 0x312317
movq 0x28(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x31235a
movq 0x329c77(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x203ce0(%rip), %rsi    # 0x516013
leaq 0x282207(%rip), %rdx    # 0x594541
leaq 0x2821e0(%rip), %rcx    # 0x594521
leaq 0x281f3a(%rip), %r8     # 0x594282
movl $0xed, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x31235c
jmp 0x31235e
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rsp), %rdx
movq 0x10(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rdx)
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0x28(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, (%rsp)
movq 0x38(%rsp), %rdi
callq 0x2676b0
movq (%rsp), %rcx
addq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rax
movq 0x30(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
callq 0x2676f0
movq %rax, %rcx
movq 0x8(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq 0x28(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
callq 0x2676b0
movq 0x10(%rsp), %rcx
movq %rax, %rdx
movq 0x18(%rsp), %rax
addq %rdx, %rax
subq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rdi
callq 0x2676a0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)