LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blast_class
const GtMatchIteratorClass* gt_match_iterator_blast_class(void)
{
  static const GtMatchIteratorClass *mpc;
  gt_class_alloc_lock_enter();
  if (!mpc) {
    mpc = gt_match_iterator_class_new(sizeof (GtMatchIteratorBlast),
                                      gt_match_iterator_blast_next,
                                      gt_match_iterator_blast_free);
  }
  gt_class_alloc_lock_leave();
  return mpc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x49b16a(%rip)    # 0x642df8
jne 0x1a7caf
movl $0x10, %edi
leaq 0x914(%rip), %rsi       # 0x1a85b0
leaq 0xfcd(%rip), %rdx       # 0x1a8c70
callq 0x1a7860
movq %rax, 0x49b149(%rip)    # 0x642df8
callq 0x9f280
movq 0x49b13d(%rip), %rax    # 0x642df8
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blast_process_new
GtMatchIterator *gt_match_iterator_blast_process_new(GtBlastProcessCall *call,
                                                     GtError *err)
{
  GtMatchIterator *mp;
  GtMatchIteratorBlast *mpb;
  mp = gt_match_iterator_create(gt_match_iterator_blast_class());
  mpb = gt_match_iterator_blast_cast(mp);
  mpb->pvt = gt_calloc(1, sizeof (GtMatchIteratorBlastMembers));
  mpb->pvt->matchfile = "stdin";
  mpb->pvt->process = true;

  gt_blast_process_call_set_outfmt_tabular(call);

  mpb->pvt->matchfilep = gt_blast_process_call_run(call, err);
  if (mpb->pvt->matchfilep == NULL)
    return NULL;
  mpb->pvt->gtmatchfilep = NULL;
  return mp;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
callq 0x1a7c80
movq %rax, %rdi
callq 0x1a78c0
movq %rax, 0x8(%rsp)
callq 0x1a7c80
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x1a79f0
movq %rax, (%rsp)
movl $0x1, %edi
movl $0x28, %esi
leaq 0x3b19e1(%rip), %rdx    # 0x5596e8
movl $0xdf, %ecx
callq 0xe83c0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rax
leaq 0x36f1ef(%rip), %rcx    # 0x516f1a
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rax
movb $0x1, 0x20(%rax)
movq 0x18(%rsp), %rdi
callq 0x1378e0
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1379b0
movq %rax, %rcx
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq (%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x1a7d7d
movq $0x0, 0x20(%rsp)
jmp 0x1a7d97
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x10(%rax)
movq 0x8(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blastallp_process_new
GtMatchIterator* gt_match_iterator_blastallp_process_new(const char *query,
                                                         const char *db_name,
                                                         double evalue,
                                                         int word_size,
                                                         int gapopen,
                                                         int gapextend,
                                                         int xdrop_gap_final,
                                                         GtError *err)
{
  GtBlastProcessCall *call = gt_blast_process_call_new_all_prot();

  gt_blast_process_call_set_query(call, query);
  gt_blast_process_call_set_db(call, db_name);
  if (evalue != GT_UNDEF_DOUBLE)
    gt_blast_process_call_set_evalue(call, evalue);
  if (word_size != GT_UNDEF_INT)
    gt_blast_process_call_set_wordsize(call, word_size);
  if (gapopen != GT_UNDEF_INT)
    gt_blast_process_call_set_gapopen(call, gapopen);
  if (gapextend != GT_UNDEF_INT)
    gt_blast_process_call_set_gapextend(call, gapextend);
  if (xdrop_gap_final != GT_UNDEF_INT)
    gt_blast_process_call_set_xdrop_gap_final(call, xdrop_gap_final);

  return gt_match_iterator_blast_process_new(call, err);
}

// Assembly:
subq $0x38, %rsp
movq 0x40(%rsp), %rax
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movl %ecx, 0x18(%rsp)
movl %r8d, 0x14(%rsp)
movl %r9d, 0x10(%rsp)
callq 0x137000
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x137080
movq 0x8(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x137130
movsd 0x20(%rsp), %xmm0
movsd 0x370c9f(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1a80bb
jp 0x1a80bb
jmp 0x1a80cb
movq 0x8(%rsp), %rdi
movsd 0x20(%rsp), %xmm0
callq 0x1371e0
cmpl $0x80000000, 0x1c(%rsp) # imm = 0x80000000
je 0x1a80e3
movq 0x8(%rsp), %rdi
movl 0x1c(%rsp), %esi
callq 0x137290
cmpl $0x80000000, 0x18(%rsp) # imm = 0x80000000
je 0x1a80fb
movq 0x8(%rsp), %rdi
movl 0x18(%rsp), %esi
callq 0x137340
cmpl $0x80000000, 0x14(%rsp) # imm = 0x80000000
je 0x1a8113
movq 0x8(%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x1373f0
cmpl $0x80000000, 0x10(%rsp) # imm = 0x80000000
je 0x1a812d
movq 0x8(%rsp), %rdi
cvtsi2sdl 0x10(%rsp), %xmm0
callq 0x137730
movq 0x8(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x1a7cc0
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blastp_process_new
GtMatchIterator* gt_match_iterator_blastp_process_new(const char *query,
                                                      const char *db_name,
                                                      double evalue,
                                                      int word_size,
                                                      int gapopen,
                                                      int gapextend,
                                                      int num_threads,
                                                      double xdrop_gap_final,
                                                      GtError *err)
{
  GtBlastProcessCall *call = gt_blast_process_call_new_all_prot();

  gt_blast_process_call_set_query(call, query);
  gt_blast_process_call_set_db(call, db_name);
  if (evalue != GT_UNDEF_DOUBLE)
    gt_blast_process_call_set_evalue(call, evalue);
  if (word_size != GT_UNDEF_INT)
    gt_blast_process_call_set_wordsize(call, word_size);
  if (gapopen != GT_UNDEF_INT)
    gt_blast_process_call_set_gapopen(call, gapopen);
  if (gapextend != GT_UNDEF_INT)
    gt_blast_process_call_set_gapextend(call, gapextend);
  if (num_threads != GT_UNDEF_INT)
    gt_blast_process_call_set_num_threads(call, num_threads);
  if (xdrop_gap_final != GT_UNDEF_DOUBLE)
    gt_blast_process_call_set_xdrop_gap_final(call, xdrop_gap_final);

  return gt_match_iterator_blast_process_new(call, err);
}

// Assembly:
subq $0x38, %rsp
movq 0x40(%rsp), %rax
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movsd %xmm0, 0x20(%rsp)
movl %edx, 0x1c(%rsp)
movl %ecx, 0x18(%rsp)
movl %r8d, 0x14(%rsp)
movl %r9d, 0x10(%rsp)
movsd %xmm1, 0x8(%rsp)
callq 0x137000
movq %rax, (%rsp)
movq (%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x137080
movq (%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x137130
movsd 0x20(%rsp), %xmm0
movsd 0x37085c(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1a84fe
jp 0x1a84fe
jmp 0x1a850d
movq (%rsp), %rdi
movsd 0x20(%rsp), %xmm0
callq 0x1371e0
cmpl $0x80000000, 0x1c(%rsp) # imm = 0x80000000
je 0x1a8524
movq (%rsp), %rdi
movl 0x1c(%rsp), %esi
callq 0x137290
cmpl $0x80000000, 0x18(%rsp) # imm = 0x80000000
je 0x1a853b
movq (%rsp), %rdi
movl 0x18(%rsp), %esi
callq 0x137340
cmpl $0x80000000, 0x14(%rsp) # imm = 0x80000000
je 0x1a8552
movq (%rsp), %rdi
movl 0x14(%rsp), %esi
callq 0x1373f0
cmpl $0x80000000, 0x10(%rsp) # imm = 0x80000000
je 0x1a8569
movq (%rsp), %rdi
movl 0x10(%rsp), %esi
callq 0x137680
movsd 0x8(%rsp), %xmm0
movsd 0x3707d9(%rip), %xmm1   # 0x518d50
ucomisd %xmm1, %xmm0
jne 0x1a8581
jp 0x1a8581
jmp 0x1a8590
movq (%rsp), %rdi
movsd 0x8(%rsp), %xmm0
callq 0x137730
movq (%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0x1a7cc0
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_blast.c
// Function: gt_match_iterator_blast_free
static void gt_match_iterator_blast_free(GtMatchIterator *mp)
{
  GtMatchIteratorBlast *mpb;
  if (!mp) return;
  mpb = gt_match_iterator_blast_cast(mp);
  if (mpb->pvt->matchfilep) {
    if (mpb->pvt->process) {
      pclose(mpb->pvt->matchfilep);
    } else {
      fclose(mpb->pvt->matchfilep);
    }
    mpb->pvt->matchfilep = NULL;
  }
  if (mpb->pvt->gtmatchfilep != NULL)
    gt_file_delete(mpb->pvt->gtmatchfilep);
  gt_free(mpb->pvt);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1a8c86
jmp 0x1a8d2f
callq 0x1a7c80
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1a79f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x1a8cf3
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
testb $0x1, 0x20(%rax)
je 0x1a8cd0
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x199b0
jmp 0x1a8ce2
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x19780
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x8(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x1a8d15
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x3b09c3(%rip), %rsi    # 0x5596e8
movl $0x197, %edx            # imm = 0x197
callq 0xe88c0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_last.c
// Function: gt_match_iterator_last_class
const GtMatchIteratorClass* gt_match_iterator_last_class(void)
{
  static const GtMatchIteratorClass *mpc;
  gt_class_alloc_lock_enter();
  if (!mpc) {
    mpc = gt_match_iterator_class_new(sizeof (GtMatchIteratorLast),
                               gt_match_iterator_last_next,
                               gt_match_iterator_last_free);
  }
  gt_class_alloc_lock_leave();
  return mpc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x499da2(%rip)    # 0x642e00
jne 0x1a907f
movl $0x10, %edi
leaq 0x424(%rip), %rsi       # 0x1a9490
leaq 0xa7d(%rip), %rdx       # 0x1a9af0
callq 0x1a7860
movq %rax, 0x499d81(%rip)    # 0x642e00
callq 0x9f280
movq 0x499d75(%rip), %rax    # 0x642e00
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_last.c
// Function: gt_match_iterator_last_free
static void gt_match_iterator_last_free(GtMatchIterator *mp)
{
  GtMatchIteratorLast *mil;
  if (!mp) return;
  mil = gt_match_iterator_last_cast(mp);
  gt_file_delete(mil->pvt->matchfile);
  gt_str_delete(mil->pvt->matchfilename);
  gt_str_delete(mil->pvt->idxfilename);
  gt_str_delete(mil->pvt->queryfilename);
  gt_str_delete(mil->pvt->linebuf);
  gt_encseq_delete(mil->pvt->es1);
  gt_encseq_delete(mil->pvt->es2);
  gt_hashmap_delete(mil->pvt->desc_to_seqno);
  gt_free(mil->pvt);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1a9b06
jmp 0x1a9bc6
callq 0x1a9050
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1a79f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x60(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x40(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x58(%rax), %rdi
callq 0x11f560
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0xae070
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0xae070
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x68(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x3afce2(%rip), %rsi    # 0x55989e
movl $0x204, %edx            # imm = 0x204
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_last.c
// Function: get_index_parameterization
static int get_index_parameterization(GtMatchIteratorLast *mil, GtStr *out,
                                GT_UNUSED GtError *err)
{
  int had_err = 0;
  gt_assert(mil);
  gt_error_check(err);
  gt_str_reset(out);
  gt_str_append_cstr(out, mil->pvt->tmpdir);
  gt_str_append_cstr(out, "/");
  gt_str_append_cstr(out, gt_encseq_indexname(mil->pvt->es1));
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x1a9c2b
movq 0x4923a6(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36c40f(%rip), %rsi    # 0x516013
leaq 0x3afccc(%rip), %rdx    # 0x5598d7
leaq 0x3afd3d(%rip), %rcx    # 0x55994f
leaq 0x3afc85(%rip), %r8     # 0x55989e
movl $0x51, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1a9c2d
jmp 0x1a9c2f
cmpq $0x0, 0x10(%rsp)
je 0x1a9c7f
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1a9c47
jmp 0x1a9c7f
movq 0x492352(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36c3bb(%rip), %rsi    # 0x516013
leaq 0x36c560(%rip), %rdx    # 0x5161bf
leaq 0x3afce9(%rip), %rcx    # 0x55994f
leaq 0x3afc31(%rip), %r8     # 0x55989e
movl $0x52, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1a9c81
movq 0x18(%rsp), %rdi
callq 0x11e110
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x38(%rax), %rsi
callq 0x11d550
movq 0x18(%rsp), %rdi
leaq 0x382438(%rip), %rsi    # 0x52c0e6
callq 0x11d550
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0xabb10
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x11d550
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_last.c
// Function: last_parse_comment_line
static bool last_parse_comment_line(GtMatchIteratorLast *mil)
{
  char c;
  gt_assert(mil && mil->pvt->matchfile);
  c = gt_file_xfgetc(mil->pvt->matchfile);
  if (c == '#') {
    while (gt_file_xfgetc(mil->pvt->matchfile) != '\n');
  } else {
    gt_file_unget_char(mil->pvt->matchfile, c);
    return false;
  }
  return true;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x1aa3d1
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x60(%rax)
jne 0x1aa409
movq 0x491bc8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36bc31(%rip), %rsi    # 0x516013
leaq 0x3af6c9(%rip), %rdx    # 0x559ab2
leaq 0x3af6dd(%rip), %rcx    # 0x559acd
leaq 0x3af4a7(%rip), %r8     # 0x55989e
movl $0xd3, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1aa40b
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x60(%rax), %rdi
callq 0xddb10
movb %al, 0x7(%rsp)
movsbl 0x7(%rsp), %eax
cmpl $0x23, %eax
jne 0x1aa448
jmp 0x1aa42d
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x60(%rax), %rdi
callq 0xddb10
cmpl $0xa, %eax
je 0x1aa446
jmp 0x1aa42d
jmp 0x1aa466
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x60(%rax), %rdi
movsbl 0x7(%rsp), %esi
callq 0xddc10
movb $0x0, 0x17(%rsp)
jmp 0x1aa46b
movb $0x1, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_open.c
// Function: gt_match_iterator_open_new
GtMatchIterator* gt_match_iterator_open_new(const char *matchfile, GtError *err)
{
  GtMatchIterator *mp;
  GtMatchIteratorOpen *mpo;
  mp = gt_match_iterator_create(gt_match_iterator_open_class());
  mpo = (GtMatchIteratorOpen*) mp;
  mpo->pvt = gt_calloc(1, sizeof (GtMatchIteratorOpenMembers));
  GtFileMode mode;
  if (gt_file_exists(matchfile)) {
    mode = gt_file_mode_determine(matchfile);
    if (mode == GT_FILE_MODE_UNCOMPRESSED) {
      mpo->pvt->matchfilep = fopen(matchfile, "r");
      mpo->pvt->gtmatchfilep = NULL;
      if (!mpo->pvt->matchfilep) {
        gt_error_set(err, "Could not open %s", matchfile);
        return NULL;
      }
    } else {
      mpo->pvt->gtmatchfilep = gt_file_open(mode, matchfile, "r", err);
      mpo->pvt->matchfilep = NULL;
      if (!mpo->pvt->gtmatchfilep)
        return NULL;
    }
    mpo->pvt->matchfile = matchfile;
    return mp;
  } else {
    gt_error_set(err, "No such file or directory %s", matchfile);
    return NULL;
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
callq 0x1aaa50
movq %rax, %rdi
callq 0x1a78c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0x1, %edi
movl $0x20, %esi
leaq 0x3af28a(%rip), %rdx    # 0x559b85
movl $0x9e, %ecx
callq 0xe83c0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x28(%rsp), %rdi
callq 0xde820
testb $0x1, %al
jne 0x1aa924
jmp 0x1aaa19
movq 0x28(%rsp), %rdi
callq 0xdd100
movl %eax, 0xc(%rsp)
cmpl $0x0, 0xc(%rsp)
jne 0x1aa9a3
movq 0x28(%rsp), %rdi
leaq 0x381695(%rip), %rsi    # 0x52bfda
callq 0x19800
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
jne 0x1aa9a1
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x3af21c(%rip), %rsi    # 0x559ba8
movb $0x0, %al
callq 0xd88c0
movq $0x0, 0x30(%rsp)
jmp 0x1aaa3a
jmp 0x1aa9fb
movl 0xc(%rsp), %edi
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rcx
leaq 0x381622(%rip), %rdx    # 0x52bfda
callq 0xdd3f0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq $0x0, 0x8(%rax)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x10(%rax)
jne 0x1aa9f9
movq $0x0, 0x30(%rsp)
jmp 0x1aaa3a
jmp 0x1aa9fb
movq 0x28(%rsp), %rcx
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
jmp 0x1aaa3a
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rdx
leaq 0x3af190(%rip), %rsi    # 0x559bba
movb $0x0, %al
callq 0xd88c0
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/extended/match_iterator_open.c
// Function: gt_match_iterator_open_class
const GtMatchIteratorClass* gt_match_iterator_open_class(void)
{
  static const GtMatchIteratorClass *mpc;
  gt_class_alloc_lock_enter();
  if (!mpc) {
    mpc = gt_match_iterator_class_new(sizeof (GtMatchIteratorOpen),
                               gt_match_iterator_open_next,
                               gt_match_iterator_open_free);
  }
  gt_class_alloc_lock_leave();
  return mpc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x4983aa(%rip)    # 0x642e08
jne 0x1aaa7f
movl $0x10, %edi
leaq 0x24(%rip), %rsi        # 0x1aaa90
leaq 0x50d(%rip), %rdx       # 0x1aaf80
callq 0x1a7860
movq %rax, 0x498389(%rip)    # 0x642e08
callq 0x9f280
movq 0x49837d(%rip), %rax    # 0x642e08
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_open.c
// Function: gt_match_iterator_open_free
static void gt_match_iterator_open_free(GtMatchIterator *mp)
{
  GtMatchIteratorOpen *mpo;
  if (!mp) return;
  mpo = gt_match_iterator_open_cast(mp);
  if (mpo->pvt->matchfilep != NULL)
    fclose(mpo->pvt->matchfilep);
  if (mpo->pvt->gtmatchfilep != NULL)
    gt_file_delete(mpo->pvt->gtmatchfilep);
  gt_free(mpo->pvt);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1aaf93
jmp 0x1ab008
callq 0x1aaa50
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1a79f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x1aafcc
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0x19780
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x1aafee
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
callq 0xde430
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x3aeb87(%rip), %rsi    # 0x559b85
movl $0xc0, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_sw.c
// Function: gt_match_iterator_sw_new
GtMatchIterator* gt_match_iterator_sw_new(GtEncseq *es1, GtEncseq *es2,
                                          GtScoreFunction *sf,
                                          GtUword min_len,
                                          GtUword max_edist,
                                          GT_UNUSED GtError *err)
{
  GtMatchIterator *mi;
  GtMatchIteratorSW *mis;
  gt_assert(es1 && es2 && sf);
  gt_error_check(err);

  mi = gt_match_iterator_create(gt_match_iterator_sw_class());
  mis = (GtMatchIteratorSW*) mi;
  mis->pvt = gt_calloc(1, sizeof (GtMatchIteratorSWMembers));
  mis->pvt->es1 = gt_encseq_ref(es1);
  mis->pvt->es2 = gt_encseq_ref(es2);
  mis->pvt->sf = gt_score_function_ref(sf);
  mis->pvt->min_len = min_len;
  mis->pvt->max_edist = max_edist;
  mis->pvt->firstali = true;
  return mi;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movq %rcx, 0x28(%rsp)
movq %r8, 0x20(%rsp)
movq %r9, 0x18(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x1ab04a
cmpq $0x0, 0x38(%rsp)
je 0x1ab04a
cmpq $0x0, 0x30(%rsp)
jne 0x1ab082
movq 0x490f4f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36afb8(%rip), %rsi    # 0x516013
leaq 0x3aebec(%rip), %rdx    # 0x559c4e
leaq 0x3aebf6(%rip), %rcx    # 0x559c5f
leaq 0x3aec08(%rip), %r8     # 0x559c78
movl $0x80, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ab084
jmp 0x1ab086
cmpq $0x0, 0x18(%rsp)
je 0x1ab0d6
movq 0x18(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1ab09e
jmp 0x1ab0d6
movq 0x490efb(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36af64(%rip), %rsi    # 0x516013
leaq 0x36b109(%rip), %rdx    # 0x5161bf
leaq 0x3aeba2(%rip), %rcx    # 0x559c5f
leaq 0x3aebb4(%rip), %r8     # 0x559c78
movl $0x81, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ab0d8
callq 0x1ab1b0
movq %rax, %rdi
callq 0x1a78c0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x1, %edi
movl $0x40, %esi
leaq 0x3aeb73(%rip), %rdx    # 0x559c78
movl $0x85, %ecx
callq 0xe83c0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x40(%rsp), %rdi
callq 0xaebc0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x38(%rsp), %rdi
callq 0xaebc0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x30(%rsp), %rdi
callq 0x10edf0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x28(%rax)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq %rcx, 0x30(%rax)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movb $0x1, 0x38(%rax)
movq 0x10(%rsp), %rax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_iterator_sw.c
// Function: gt_match_iterator_sw_free
static void gt_match_iterator_sw_free(GtMatchIterator *mi)
{
  GtMatchIteratorSW *mis;
  if (!mi) return;
  mis = gt_match_iterator_sw_cast(mi);
  gt_encseq_delete(mis->pvt->es1);
  gt_encseq_delete(mis->pvt->es2);
  gt_score_function_delete(mis->pvt->sf);
  gt_free(mis->pvt);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x1ab8a3
jmp 0x1ab909
callq 0x1ab1b0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1a79f0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rdi
callq 0xae070
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rdi
callq 0xae070
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0x10efa0
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x3ae379(%rip), %rsi    # 0x559c78
movl $0x97, %edx
callq 0xe88c0
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_last.c
// Function: gt_match_last_class
const GtMatchClass* gt_match_last_class()
{
  static const GtMatchClass *matchc = NULL;
  gt_class_alloc_lock_enter();
  if (!matchc) {
    matchc = gt_match_class_new(sizeof (GtMatchLAST),
                                NULL,
                                NULL);
  }
  gt_class_alloc_lock_leave();
  return matchc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x4974fa(%rip)    # 0x642e18
jne 0x1ab938
movl $0x58, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x1a6670
movq %rax, 0x4974e0(%rip)    # 0x642e18
callq 0x9f280
movq 0x4974d4(%rip), %rax    # 0x642e18
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_last.c
// Function: gt_match_last_new
GtMatch* gt_match_last_new(const char *seqid1,
                           const char *seqid2,
                           GtUword score,
                           GtUword seqno1,
                           GtUword seqno2,
                           GtUword start_seq1,
                           GtUword start_seq2,
                           GtUword end_seq1,
                           GtUword end_seq2,
                           GtMatchDirection dir)
{
  GtMatch *match;
  GtMatchLAST *matchs;
  match = gt_match_create(gt_match_last_class(), start_seq1, end_seq1,
                          start_seq2, end_seq2, seqid1, seqid2, dir);
  matchs = gt_match_last_cast(match);
  matchs->seqno1 = seqno1;
  matchs->seqno2 = seqno2;
  matchs->score = score;
  return match;
}

// Assembly:
subq $0x58, %rsp
movl 0x78(%rsp), %eax
movq 0x70(%rsp), %rax
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
callq 0x1ab910
movq %rax, %rdi
movq 0x28(%rsp), %rsi
movq 0x68(%rsp), %rdx
movq 0x60(%rsp), %rcx
movq 0x70(%rsp), %r8
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r10
movl 0x78(%rsp), %eax
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x1a6710
movq %rax, 0x20(%rsp)
callq 0x1ab910
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1a6850
movq %rax, 0x18(%rsp)
movq 0x38(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x40(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_open.c
// Function: gt_match_open_class
const GtMatchClass* gt_match_open_class()
{
  static const GtMatchClass *matchc = NULL;
  gt_class_alloc_lock_enter();
  if (!matchc) {
    matchc = gt_match_class_new(sizeof (GtMatchOpen),
                                NULL,
                                match_open_accept);
  }
  gt_class_alloc_lock_leave();
  return matchc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x497312(%rip)    # 0x642e20
jne 0x1abb2c
movl $0x48, %edi
xorl %eax, %eax
movl %eax, %esi
leaq 0x20(%rip), %rdx        # 0x1abb40
callq 0x1a6670
movq %rax, 0x4972f4(%rip)    # 0x642e20
callq 0x9f280
movq 0x4972e8(%rip), %rax    # 0x642e20
popq %rcx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_open.c
// Function: match_open_accept
static int match_open_accept(GtMatch *match, GtMatchVisitor *mv, GtError *err)
{
  GtMatchOpen *mo;
  gt_assert(match && mv);
  gt_error_check(err);
  mo = gt_match_open_cast(match);
  return gt_match_visitor_visit_match_open(mv, mo, err);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x1abb63
cmpq $0x0, 0x18(%rsp)
jne 0x1abb9b
movq 0x490436(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36a49f(%rip), %rsi    # 0x516013
leaq 0x3adabc(%rip), %rdx    # 0x559637
leaq 0x3ae1f0(%rip), %rcx    # 0x559d72
leaq 0x3ae1b6(%rip), %r8     # 0x559d3f
movl $0x2b, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1abb9d
jmp 0x1abb9f
cmpq $0x0, 0x10(%rsp)
je 0x1abbef
movq 0x10(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1abbb7
jmp 0x1abbef
movq 0x4903e2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36a44b(%rip), %rsi    # 0x516013
leaq 0x36a5f0(%rip), %rdx    # 0x5161bf
leaq 0x3ae19c(%rip), %rcx    # 0x559d72
leaq 0x3ae162(%rip), %r8     # 0x559d3f
movl $0x2c, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1abbf1
callq 0x1abb00
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1a6850
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x1ac2a0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_open.c
// Function: gt_match_open_new
GtMatch* gt_match_open_new(char *seqid1,
                           char *seqid2,
                           GtUword start_seq1,
                           GtUword end_seq1,
                           GtUword start_seq2,
                           GtUword end_seq2,
                           GtWord weight,
                           GtMatchDirection dir)
{
  GtMatch *match;
  GtMatchOpen *matcho;
  match = gt_match_create(gt_match_open_class(), start_seq1, end_seq1,
                          start_seq2, end_seq2, seqid1, seqid2, dir);
  matcho = gt_match_open_cast(match);
  matcho->weight = weight;
  return match;
}

// Assembly:
subq $0x58, %rsp
movl 0x68(%rsp), %eax
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
callq 0x1abb00
movq %rax, %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %r8
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r10
movl 0x68(%rsp), %eax
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x1a6710
movq %rax, 0x20(%rsp)
callq 0x1abb00
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1a6850
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_sw.c
// Function: gt_match_sw_class
const GtMatchClass* gt_match_sw_class()
{
  static const GtMatchClass *matchc = NULL;
  gt_class_alloc_lock_enter();
  if (!matchc) {
    matchc = gt_match_class_new(sizeof (GtMatchSW),
                                NULL,
                                NULL);
  }
  gt_class_alloc_lock_leave();
  return matchc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x49708a(%rip)    # 0x642e28
jne 0x1abdb8
movl $0x60, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x1a6670
movq %rax, 0x497070(%rip)    # 0x642e28
callq 0x9f280
movq 0x497064(%rip), %rax    # 0x642e28
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_sw.c
// Function: gt_match_sw_new
GtMatch* gt_match_sw_new(const char *seqid1,
                         const char *seqid2,
                         GtUword seqno1,
                         GtUword seqno2,
                         GtUword length,
                         GtUword edist,
                         GtUword start_seq1,
                         GtUword start_seq2,
                         GtUword end_seq1,
                         GtUword end_seq2,
                         GtMatchDirection dir)
{
  GtMatch *match;
  GtMatchSW *matchs;
  match = gt_match_create(gt_match_sw_class(), start_seq1, end_seq1,
                          start_seq2, end_seq2, seqid1, seqid2, dir);
  matchs = gt_match_sw_cast(match);
  matchs->alilen = length;
  matchs->seqno1 = seqno1;
  matchs->seqno2 = seqno2;
  matchs->edist = edist;
  return match;
}

// Assembly:
subq $0x58, %rsp
movl 0x80(%rsp), %eax
movq 0x78(%rsp), %rax
movq 0x70(%rsp), %rax
movq 0x68(%rsp), %rax
movq 0x60(%rsp), %rax
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x28(%rsp)
callq 0x1abd90
movq %rax, %rdi
movq 0x60(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq 0x68(%rsp), %rcx
movq 0x78(%rsp), %r8
movq 0x50(%rsp), %r9
movq 0x48(%rsp), %r10
movl 0x80(%rsp), %eax
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x1a6710
movq %rax, 0x20(%rsp)
callq 0x1abd90
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x1a6850
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x40(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x38(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x48(%rax)
movq 0x28(%rsp), %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x50(%rax)
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_visitor.c
// Function: gt_match_visitor_class_new
const GtMatchVisitorClass*
gt_match_visitor_class_new(size_t size,
                           GtMatchVisitorFreeFunc free,
                           GtMatchVisitorBlastFunc match_blast,
                           GtMatchVisitorOpenFunc match_open)
{
  GtMatchVisitorClass *c_class;
  gt_assert(size);
  c_class = gt_class_alloc(sizeof *c_class);
  c_class->size = size;
  c_class->free = free;
  c_class->match_blast = match_blast;
  c_class->match_open = match_open;
  return c_class;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x1ac048
movq 0x48ff89(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369ff2(%rip), %rsi    # 0x516013
leaq 0x388ac8(%rip), %rdx    # 0x534af0
leaq 0x3addd2(%rip), %rcx    # 0x559e01
leaq 0x3adde6(%rip), %r8     # 0x559e1c
movl $0x26, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ac04a
movl $0x20, %edi
callq 0x481160
movq %rax, (%rsp)
movq 0x20(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq (%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_visitor.c
// Function: gt_match_visitor_create
GtMatchVisitor* gt_match_visitor_create(const GtMatchVisitorClass *mvc)
{
  GtMatchVisitor *mv;
  gt_assert(mvc && mvc->size);
  mv = gt_calloc(1, mvc->size);
  mv->c_class = mvc;
  return mv;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1ac0bc
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x1ac0f4
movq 0x48fedd(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369f46(%rip), %rsi    # 0x516013
leaq 0x3add65(%rip), %rdx    # 0x559e39
leaq 0x3add6f(%rip), %rcx    # 0x559e4a
leaq 0x3add3a(%rip), %r8     # 0x559e1c
movl $0x32, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ac0f6
movq 0x10(%rsp), %rax
movq (%rax), %rsi
movl $0x1, %edi
leaq 0x3add12(%rip), %rdx    # 0x559e1c
movl $0x33, %ecx
callq 0xe83c0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/match_visitor.c
// Function: gt_match_visitor_delete
void gt_match_visitor_delete(GtMatchVisitor *mv)
{
  if (!mv) return;
  gt_assert(mv->c_class);
  if (mv->c_class->free)
    mv->c_class->free(mv);
  gt_free(mv);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1ac39e
jmp 0x1ac418
jmp 0x1ac3a0
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0x1ac3e2
movq 0x48fbef(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369c58(%rip), %rsi    # 0x516013
leaq 0x3adb82(%rip), %rdx    # 0x559f44
leaq 0x3adb87(%rip), %rcx    # 0x559f50
leaq 0x3ada4c(%rip), %r8     # 0x559e1c
movl $0x52, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ac3e4
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x1ac403
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
leaq 0x3ada0e(%rip), %rsi    # 0x559e1c
movl $0x55, %edx
callq 0xe88c0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_new
GtMaxcoordvalue* gt_maxcoordvalue_new(void)
{
  GtMaxcoordvalue *max;
  max = gt_calloc((size_t) 1, sizeof (GtMaxcoordvalue));
  max->value = 0;

  max->start.a=0;
  max->start.b=0;

  max->end.a=0;
  max->end.b=0;
  return max;
}

// Assembly:
pushq %rax
movl $0x1, %edi
movl $0x28, %esi
leaq 0x3adb36(%rip), %rdx    # 0x559f68
movl $0x20, %ecx
callq 0xe83c0
movq %rax, (%rsp)
movq (%rsp), %rax
movq $0x0, (%rax)
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
movq (%rsp), %rax
movq $0x0, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
movq (%rsp), %rax
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_coord_update
void gt_maxcoordvalue_coord_update(GtMaxcoordvalue *max,
                                   GtWord value,
                                   GtUwordPair start,
                                   GtUword enda, GtUword endb)
{
  gt_assert(max != NULL);

  gt_maxcoordvalue_set_value(max, value);
  gt_maxcoordvalue_set_start_with_pair(max, start);
  gt_maxcoordvalue_set_end(max, enda, endb);
}

// Assembly:
subq $0x38, %rsp
movq %rdx, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq %r9, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x1ac742
movq 0x48f88f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3698f8(%rip), %rsi    # 0x516013
leaq 0x3abeef(%rip), %rdx    # 0x558611
leaq 0x3ad8e9(%rip), %rcx    # 0x55a012
leaq 0x3ad838(%rip), %r8     # 0x559f68
movl $0x6d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ac744
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x1ac780
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0x1ac7f0
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x1ac860
addq $0x38, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_get_row_length
GtUword gt_maxcoordvalue_get_row_length(const GtMaxcoordvalue *max)
{
  gt_assert(max != NULL);

  GtUword end = (gt_maxcoordvalue_get_end(max)).a;
  GtUword start = (gt_maxcoordvalue_get_start(max)).a;

  gt_assert(end >= start);
  return end-start;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x1ac9b9
movq 0x48f618(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369681(%rip), %rsi    # 0x516013
leaq 0x3abc78(%rip), %rdx    # 0x558611
leaq 0x3ad6bc(%rip), %rcx    # 0x55a05c
leaq 0x3ad5c1(%rip), %r8     # 0x559f68
movl $0x82, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ac9bb
movq 0x30(%rsp), %rdi
callq 0x1ac670
movq %rax, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
callq 0x1ac590
movq %rax, (%rsp)
movq %rdx, 0x8(%rsp)
movq (%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
cmpq 0x10(%rsp), %rax
jae 0x1aca39
movq 0x48f598(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369601(%rip), %rsi    # 0x516013
leaq 0x383ad5(%rip), %rdx    # 0x5304ee
leaq 0x3ad63c(%rip), %rcx    # 0x55a05c
leaq 0x3ad541(%rip), %r8     # 0x559f68
movl $0x87, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1aca3b
movq 0x28(%rsp), %rax
subq 0x10(%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_get_col_length
GtUword gt_maxcoordvalue_get_col_length(const GtMaxcoordvalue *max)
{
  gt_assert(max != NULL);

  GtUword end = (gt_maxcoordvalue_get_end(max)).b;
  GtUword start = (gt_maxcoordvalue_get_start(max)).b;

  gt_assert(end >= start);
  return end-start;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x1aca99
movq 0x48f538(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3695a1(%rip), %rsi    # 0x516013
leaq 0x3abb98(%rip), %rdx    # 0x558611
leaq 0x3ad5fc(%rip), %rcx    # 0x55a07c
leaq 0x3ad4e1(%rip), %r8     # 0x559f68
movl $0x8d, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1aca9b
movq 0x30(%rsp), %rdi
callq 0x1ac670
movq %rax, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
callq 0x1ac590
movq %rax, (%rsp)
movq %rdx, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
cmpq 0x10(%rsp), %rax
jae 0x1acb1a
movq 0x48f4b7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369520(%rip), %rsi    # 0x516013
leaq 0x3839f4(%rip), %rdx    # 0x5304ee
leaq 0x3ad57b(%rip), %rcx    # 0x55a07c
leaq 0x3ad460(%rip), %r8     # 0x559f68
movl $0x92, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1acb1c
movq 0x28(%rsp), %rax
subq 0x10(%rsp), %rax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_get_length_safe
bool gt_maxcoordvalue_get_length_safe(const GtMaxcoordvalue *max)
{
  if (gt_maxcoordvalue_get_end(max).a == gt_maxcoordvalue_get_start(max).a &&
      gt_maxcoordvalue_get_end(max).b == gt_maxcoordvalue_get_start(max).b  )
    return false;
  return true;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1ac670
movq %rax, 0x48(%rsp)
movq %rdx, 0x50(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1ac590
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, 0x38(%rsp)
movq %rdx, 0x40(%rsp)
cmpq 0x38(%rsp), %rax
jne 0x1acbc2
movq 0x58(%rsp), %rdi
callq 0x1ac670
movq %rax, 0x28(%rsp)
movq %rdx, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x58(%rsp), %rdi
callq 0x1ac590
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
cmpq 0x20(%rsp), %rax
jne 0x1acbc2
movb $0x0, 0x67(%rsp)
jmp 0x1acbc7
movb $0x1, 0x67(%rsp)
movb 0x67(%rsp), %al
andb $0x1, %al
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/maxcoordvalue.c
// Function: gt_maxcoordvalue_reset
void gt_maxcoordvalue_reset(GtMaxcoordvalue *max)
{
  gt_assert(max != NULL);

  max->value = 0;
  max->start.a=0;
  max->start.b=0;
  max->end.a=0;
  max->end.b=0;
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x1acc24
movq 0x48f3ad(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x369416(%rip), %rsi    # 0x516013
leaq 0x3aba0d(%rip), %rdx    # 0x558611
leaq 0x3ad491(%rip), %rcx    # 0x55a09c
leaq 0x3ad356(%rip), %r8     # 0x559f68
movl $0xa0, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1acc26
movq (%rsp), %rax
movq $0x0, (%rax)
movq (%rsp), %rax
movq $0x0, 0x8(%rax)
movq (%rsp), %rax
movq $0x0, 0x10(%rax)
movq (%rsp), %rax
movq $0x0, 0x18(%rax)
movq (%rsp), %rax
movq $0x0, 0x20(%rax)
popq %rax
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/md5_to_id_visitor.c
// Function: gt_md5_to_id_visitor_class
const GtNodeVisitorClass* gt_md5_to_id_visitor_class()
{
  static const GtNodeVisitorClass *nvc = NULL;
  gt_class_alloc_lock_enter();
  if (!nvc) {
    nvc = gt_node_visitor_class_new(sizeof (GtMD5ToSeqidsVisitor),
                                    md5_to_id_visitor_free,
                                    NULL,
                                    md5_to_id_visitor_feature_node,
                                    md5_to_id_visitor_region_node,
                                    NULL,
                                    NULL);
  }
  gt_class_alloc_lock_leave();
  return nvc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x496132(%rip)    # 0x642e30
jne 0x1acd36
movl $0x18, %edi
leaq 0x44(%rip), %rsi        # 0x1acd50
xorl %eax, %eax
movl %eax, %r9d
leaq 0xb8(%rip), %rcx        # 0x1acdd0
leaq 0x151(%rip), %r8        # 0x1ace70
movq %r9, %rdx
movq $0x0, (%rsp)
callq 0x1b2170
movq %rax, 0x4960fa(%rip)    # 0x642e30
callq 0x9f280
movq 0x4960ee(%rip), %rax    # 0x642e30
popq %rcx
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/md5_to_id_visitor.c
// Function: md5_to_id_visitor_free
static void md5_to_id_visitor_free(GtNodeVisitor *nv)
{
  GtMD5ToSeqidsVisitor *md5_to_id_visitor =
    md5_to_id_visitor_cast(nv);
  gt_assert(md5_to_id_visitor);
  gt_region_mapping_delete(md5_to_id_visitor->region_mapping);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x1accf0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x1b2350
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x1acdb0
movq 0x48f221(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x36928a(%rip), %rsi    # 0x516013
leaq 0x3ad3b4(%rip), %rdx    # 0x55a144
leaq 0x3ad3bf(%rip), %rcx    # 0x55a156
leaq 0x3ad3cf(%rip), %r8     # 0x55a16d
movl $0x2a, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1acdb2
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x1c7bd0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/md5_to_id_visitor.c
// Function: gt_md5_to_id_visitor_new
GtNodeVisitor* gt_md5_to_id_visitor_new(GtRegionMapping *region_mapping)
{
  GtNodeVisitor *nv;
  GtMD5ToSeqidsVisitor *md5_to_id_visitor;
  nv = gt_node_visitor_create(gt_md5_to_id_visitor_class());
  md5_to_id_visitor = md5_to_id_visitor_cast(nv);
  md5_to_id_visitor->region_mapping = region_mapping;
  return nv;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x1accf0
movq %rax, %rdi
callq 0x1b22c0
movq %rax, 0x8(%rsp)
callq 0x1accf0
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x1b2350
movq %rax, (%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/md5_to_id_visitor.c
// Function: m2i_change_seqid
static int m2i_change_seqid(GtFeatureNode *fn, void *data, GtError *err)
{
  const char *target;
  M2IChangeSeqidInfo *info = (M2IChangeSeqidInfo*) data;
  gt_error_check(err);
  gt_assert(fn && info);
  gt_genome_node_change_seqid((GtGenomeNode*) fn, info->new_seqid);
  if ((target = gt_feature_node_get_attribute(fn, GT_GFF_TARGET)))
    return m2i_change_target_seqids(fn, target, info->region_mapping, err);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x1ad1dd
movq 0x18(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x1ad1a5
jmp 0x1ad1dd
movq 0x48edf4(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x368e5d(%rip), %rsi    # 0x516013
leaq 0x369002(%rip), %rdx    # 0x5161bf
leaq 0x3ad010(%rip), %rcx    # 0x55a1d4
leaq 0x3acfa2(%rip), %r8     # 0x55a16d
movl $0x72, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ad1df
jmp 0x1ad1e1
cmpq $0x0, 0x28(%rsp)
je 0x1ad1f1
cmpq $0x0, 0x8(%rsp)
jne 0x1ad229
movq 0x48eda8(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x368e11(%rip), %rsi    # 0x516013
leaq 0x3a3b2b(%rip), %rdx    # 0x550d34
leaq 0x3acfc4(%rip), %rcx    # 0x55a1d4
leaq 0x3acf56(%rip), %r8     # 0x55a16d
movl $0x73, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x1ad22b
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
callq 0x171f00
movq 0x28(%rsp), %rdi
leaq 0x370757(%rip), %rsi    # 0x51d9a0
callq 0x16c040
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
je 0x1ad27c
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdx
movq 0x18(%rsp), %rcx
callq 0x1ad290
movl %eax, 0x34(%rsp)
jmp 0x1ad284
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)