LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/mapping.c
// Function: gt_mapping_map_string
GtStr* gt_mapping_map_string(GtMapping *m, const char *input, GtError *err)
{
  GtStr *output = NULL;
  gt_error_check(err);
  map_generic(m, &output, NULL, input, err);
  return output;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x3334c
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x33314
jmp 0x3334c
movq 0x180cbd(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12ad41(%rip), %rsi    # 0x15e066
leaq 0x12b31c(%rip), %rdx    # 0x15e648
leaq 0x132984(%rip), %rcx    # 0x165cb7
leaq 0x1328a0(%rip), %r8     # 0x165bda
movl $0xd2, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3334e
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rcx
movq 0x10(%rsp), %r8
leaq 0x8(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edx
callq 0x33380
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/mapping.c
// Function: map_generic
static int map_generic(GtMapping *m, GtStr **stroutput, GtWord *integeroutput,
                       const char *input, GtError *err)
{
  gt_error_check(err);
  gt_assert(m && input);
  gt_assert((m->type == GT_MAPPINGTYPE_STRING  && stroutput) ||
            (m->type == GT_MAPPINGTYPE_INTEGER && integeroutput));
  if (m->is_table)
    return map_table(m, stroutput, integeroutput, input, err);
  return map_function(m, stroutput, integeroutput, input, err);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq %rsi, 0x20(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq %r8, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x333ed
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x333b5
jmp 0x333ed
movq 0x180c1c(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12aca0(%rip), %rsi    # 0x15e066
leaq 0x12b27b(%rip), %rdx    # 0x15e648
leaq 0x132910(%rip), %rcx    # 0x165ce4
leaq 0x1327ff(%rip), %r8     # 0x165bda
movl $0xc6, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x333ef
jmp 0x333f1
cmpq $0x0, 0x28(%rsp)
je 0x33401
cmpq $0x0, 0x10(%rsp)
jne 0x33439
movq 0x180bd0(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12ac54(%rip), %rsi    # 0x15e066
leaq 0x1328d7(%rip), %rdx    # 0x165cf0
leaq 0x1328c4(%rip), %rcx    # 0x165ce4
leaq 0x1327b3(%rip), %r8     # 0x165bda
movl $0xc7, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3343b
jmp 0x3343d
movq 0x28(%rsp), %rax
cmpl $0x0, 0x10(%rax)
jne 0x33450
cmpq $0x0, 0x20(%rsp)
jne 0x3349b
movq 0x28(%rsp), %rax
cmpl $0x1, 0x10(%rax)
jne 0x33463
cmpq $0x0, 0x18(%rsp)
jne 0x3349b
movq 0x180b6e(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12abf2(%rip), %rsi    # 0x15e066
leaq 0x132880(%rip), %rdx    # 0x165cfb
leaq 0x132862(%rip), %rcx    # 0x165ce4
leaq 0x132751(%rip), %r8     # 0x165bda
movl $0xc9, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3349d
movq 0x28(%rsp), %rax
testb $0x1, 0x20(%rax)
je 0x334cc
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %r8
callq 0x33590
movl %eax, 0x34(%rsp)
jmp 0x334ee
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %r8
callq 0x339f0
movl %eax, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/meta_node.c
// Function: gt_meta_node_class
const GtGenomeNodeClass* gt_meta_node_class()
{
  static const GtGenomeNodeClass *gnc = NULL;
  gt_class_alloc_lock_enter();
  if (!gnc) {
    gnc = gt_genome_node_class_new(sizeof (GtMetaNode),
                                   meta_node_free,
                                   NULL,
                                   meta_node_get_idstr,
                                   meta_node_get_range,
                                   NULL,
                                   NULL,
                                   meta_node_accept);
  }
  gt_class_alloc_lock_leave();
  return gnc;
}

// Assembly:
subq $0x18, %rsp
callq 0x7b730
cmpq $0x0, 0x182667(%rip)    # 0x1b6438
jne 0x33e15
movl $0x48, %edi
leaq 0x51(%rip), %rsi        # 0x33e30
xorl %eax, %eax
movl %eax, %r9d
leaq 0xa5(%rip), %rcx        # 0x33e90
leaq 0x10e(%rip), %r8        # 0x33f00
leaq 0x137(%rip), %rax       # 0x33f30
movq %r9, %rdx
movq $0x0, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x251c0
movq %rax, 0x182623(%rip)    # 0x1b6438
callq 0x7b790
movq 0x182617(%rip), %rax    # 0x1b6438
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/meta_node.c
// Function: meta_node_free
static void meta_node_free(GtGenomeNode *gn)
{
  GtMetaNode *m = gt_meta_node_cast(gn);
  gt_free(m->meta_directive);
  gt_free(m->meta_data);
  gt_str_delete(m->meta_str);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x340a0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
leaq 0x13202e(%rip), %rsi    # 0x165e86
movl $0x25, %edx
callq 0xdab0
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
leaq 0x132014(%rip), %rsi    # 0x165e86
movl $0x26, %edx
callq 0xdab0
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0x1afc0
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/meta_node.c
// Function: gt_meta_node_new
GtGenomeNode* gt_meta_node_new(const char *meta_directive,
                               const char *meta_data)
{
  GtGenomeNode *gn = gt_genome_node_create(gt_meta_node_class());
  GtMetaNode *m = gt_meta_node_cast(gn);
  gt_assert(meta_directive);
  m->meta_directive = gt_cstr_dup(meta_directive);
  if (meta_data)
    m->meta_data = gt_cstr_dup(meta_data);
  else
    m->meta_data = NULL;
  m->meta_str = gt_str_new_cstr("");
  return gn;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
callq 0x33dc0
movq %rax, %rdi
callq 0x25530
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x340a0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x3402f
movq 0x17ffda(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12a05e(%rip), %rsi    # 0x15e066
leaq 0x131e98(%rip), %rdx    # 0x165ea7
leaq 0x131e5f(%rip), %rcx    # 0x165e75
leaq 0x131e69(%rip), %r8     # 0x165e86
movl $0x59, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34031
movq 0x20(%rsp), %rdi
callq 0x7c400
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x30(%rax)
cmpq $0x0, 0x18(%rsp)
je 0x34067
movq 0x18(%rsp), %rdi
callq 0x7c400
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x38(%rax)
jmp 0x34074
movq 0x8(%rsp), %rax
movq $0x0, 0x38(%rax)
leaq 0x137e68(%rip), %rdi    # 0x16bee3
callq 0x18f70
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x10(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/multi_sanitizer_visitor.c
// Function: msv_feature_node
static int msv_feature_node(GtNodeVisitor *nv, GtFeatureNode *fn,
                            GtError *err)
{
  GtMultiSanitizerVisitor *msv;
  int had_err = 0;
  gt_error_check(err);
  msv = msv_cast(nv);

  gt_hashmap_reset(msv->first_elems);
  had_err = gt_feature_node_traverse_children(fn, msv,
                                              msv_fixup_representatives,
                                              true, err);
  gt_assert(!had_err);   /* msv_fixup_representatives() is sane */

  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0x4(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x342cb
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x34293
jmp 0x342cb
movq 0x17fd3e(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129dc2(%rip), %rsi    # 0x15e066
leaq 0x12a39d(%rip), %rdx    # 0x15e648
leaq 0x131c8e(%rip), %rcx    # 0x165f40
leaq 0x131c60(%rip), %r8     # 0x165f19
movl $0x4a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x342cd
callq 0x34190
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x34d50
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x867b0
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %r8
leaq 0xb8(%rip), %rdx        # 0x343c0
movl $0x1, %ecx
callq 0x22090
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0x34355
movq 0x17fcb4(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129d38(%rip), %rsi    # 0x15e066
leaq 0x132c89(%rip), %rdx    # 0x166fbe
leaq 0x131c04(%rip), %rcx    # 0x165f40
leaq 0x131bd6(%rip), %r8     # 0x165f19
movl $0x51, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34357
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/multi_sanitizer_visitor.c
// Function: gt_multi_sanitizer_visitor_new
GtNodeVisitor* gt_multi_sanitizer_visitor_new()
{
  GtNodeVisitor *nv =
                     gt_node_visitor_create(gt_multi_sanitizer_visitor_class());
  GtMultiSanitizerVisitor *msv = msv_cast(nv);
  msv->first_elems = gt_hashmap_new(GT_HASH_DIRECT, NULL, NULL);

  return nv;
}

// Assembly:
subq $0x18, %rsp
callq 0x34190
movq %rax, %rdi
callq 0x34cc0
movq %rax, 0x10(%rsp)
callq 0x34190
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x34d50
movq %rax, 0x8(%rsp)
xorl %edi, %edi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x86190
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/multi_sanitizer_visitor.c
// Function: msv_fixup_representatives
static int msv_fixup_representatives(GtFeatureNode *fn, void *data,
                                     GT_UNUSED GtError *err)
{
  int had_err = 0;
  GtMultiSanitizerVisitor *msv = (GtMultiSanitizerVisitor*) data;

  if (gt_feature_node_is_multi(fn)) {
    GtFeatureNode *rep = NULL;
    if (!(rep = gt_hashmap_get(msv->first_elems,
                               gt_feature_node_get_multi_representative(fn)))) {
      gt_hashmap_add(msv->first_elems,
                     gt_feature_node_get_multi_representative(fn),
                     fn);
      gt_feature_node_unset_multi(fn);
      gt_feature_node_make_multi_representative(fn);
    } else {
      gt_assert(rep);
      gt_feature_node_unset_multi(fn);
      gt_feature_node_set_multi_representative(fn, rep);
    }
  }
  return had_err;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movl $0x0, 0x2c(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x40(%rsp), %rdi
callq 0x217b0
testb $0x1, %al
jne 0x343f8
jmp 0x344d0
movq $0x0, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rdi
callq 0x21c40
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x86470
movq %rax, 0x18(%rsp)
cmpq $0x0, %rax
jne 0x34471
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %rdi
callq 0x21c40
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movq 0x40(%rsp), %rdx
callq 0x86510
movq 0x40(%rsp), %rdi
callq 0x21bd0
movq 0x40(%rsp), %rdi
callq 0x21950
jmp 0x344ce
jmp 0x34473
cmpq $0x0, 0x18(%rsp)
jne 0x344b3
movq 0x17fb56(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129bda(%rip), %rsi    # 0x15e066
leaq 0x133873(%rip), %rdx    # 0x167d06
leaq 0x131ab7(%rip), %rcx    # 0x165f51
leaq 0x131a78(%rip), %r8     # 0x165f19
movl $0x3d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x344b5
movq 0x40(%rsp), %rdi
callq 0x21bd0
movq 0x40(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x21a90
jmp 0x344d0
movl 0x2c(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_stream.c
// Function: gt_node_stream_class_new
const GtNodeStreamClass*
gt_node_stream_class_new(size_t size, GtNodeStreamFreeFunc free,
                         GtNodeStreamNextFunc next)
{
  GtNodeStreamClass *c_class;
  gt_assert(size && next);
  c_class = gt_class_alloc(sizeof *c_class);
  c_class->size = size;
  c_class->free = free;
  c_class->next = next;
  return c_class;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x34503
cmpq $0x0, 0x10(%rsp)
jne 0x3453b
movq 0x17face(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129b52(%rip), %rsi    # 0x15e066
leaq 0x131a50(%rip), %rdx    # 0x165f6b
leaq 0x131a56(%rip), %rcx    # 0x165f78
leaq 0x131a68(%rip), %r8     # 0x165f91
movl $0x2b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3453d
movl $0x18, %edi
callq 0x7b610
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_stream.c
// Function: gt_node_stream_create
GtNodeStream* gt_node_stream_create(const GtNodeStreamClass *nsc,
                                    bool ensure_sorting)
{
  GtNodeStream *ns;
  gt_assert(nsc && nsc->size);
  ns = gt_calloc(1, nsc->size);
  ns->c_class = nsc;
  ns->members = gt_calloc(1, sizeof (GtNodeStreamMembers));
  ns->members->ensure_sorting = ensure_sorting;
  return ns;
}

// Assembly:
subq $0x18, %rsp
movb %sil, %al
movq %rdi, 0x10(%rsp)
andb $0x1, %al
movb %al, 0xf(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x345a5
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x345dd
movq 0x17fa2c(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129ab0(%rip), %rsi    # 0x15e066
leaq 0x1319ef(%rip), %rdx    # 0x165fac
leaq 0x1319f9(%rip), %rcx    # 0x165fbd
leaq 0x1319c6(%rip), %r8     # 0x165f91
movl $0x37, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x345df
movq 0x10(%rsp), %rax
movq (%rax), %rsi
movl $0x1, %edi
leaq 0x13199e(%rip), %rdx    # 0x165f91
movl $0x38, %ecx
callq 0xd5b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movl $0x1, %edi
movl $0x10, %esi
leaq 0x131973(%rip), %rdx    # 0x165f91
movl $0x3a, %ecx
callq 0xd5b0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movb 0xf(%rsp), %cl
movq (%rsp), %rax
movq 0x8(%rax), %rax
andb $0x1, %cl
movb %cl, 0x8(%rax)
movq (%rsp), %rax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_stream.c
// Function: gt_node_stream_delete
void gt_node_stream_delete(GtNodeStream *ns)
{
  if (!ns) return;
  if (ns->members->reference_count) {
    ns->members->reference_count--;
    return;
  }
  gt_assert(ns->c_class);
  if (ns->c_class->free) ns->c_class->free(ns);
  gt_genome_node_delete(ns->members->buffer);
  gt_free(ns->members);
  gt_free(ns);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x346c1
jmp 0x34788
movq (%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x0, 0xc(%rax)
je 0x346e5
movq (%rsp), %rax
movq 0x8(%rax), %rax
movl 0xc(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0xc(%rax)
jmp 0x34788
jmp 0x346e7
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0x34729
movq 0x17f8e0(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129964(%rip), %rsi    # 0x15e066
leaq 0x1318dd(%rip), %rdx    # 0x165fe6
leaq 0x1318e2(%rip), %rcx    # 0x165ff2
leaq 0x13187a(%rip), %r8     # 0x165f91
movl $0x4d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3472b
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x3474a
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdi
callq 0x26eb0
movq (%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x131828(%rip), %rsi    # 0x165f91
movl $0x50, %edx
callq 0xdab0
movq (%rsp), %rdi
leaq 0x131813(%rip), %rsi    # 0x165f91
movl $0x51, %edx
callq 0xdab0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_stream.c
// Function: gt_node_stream_pull
int gt_node_stream_pull(GtNodeStream *ns, GtError *err)
{
  GtGenomeNode *gn;
  int had_err;
  gt_assert(ns);
  gt_error_check(err);
  while (!(had_err = gt_node_stream_next(ns, &gn, err)) && gn)
    gt_genome_node_delete(gn);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x349de
movq 0x17f62b(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1296af(%rip), %rsi    # 0x15e066
leaq 0x147df7(%rip), %rdx    # 0x17c7b5
leaq 0x1316bb(%rip), %rcx    # 0x166080
leaq 0x1315c5(%rip), %r8     # 0x165f91
movl $0x72, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x349e0
jmp 0x349e2
cmpq $0x0, 0x18(%rsp)
je 0x34a32
movq 0x18(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x349fa
jmp 0x34a32
movq 0x17f5d7(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12965b(%rip), %rsi    # 0x15e066
leaq 0x129c36(%rip), %rdx    # 0x15e648
leaq 0x131667(%rip), %rcx    # 0x166080
leaq 0x131571(%rip), %r8     # 0x165f91
movl $0x73, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34a34
jmp 0x34a36
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rdx
leaq 0x10(%rsp), %rsi
callq 0x34790
movl %eax, %ecx
movl %ecx, 0xc(%rsp)
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0xb(%rsp)
jne 0x34a68
cmpq $0x0, 0x10(%rsp)
setne %al
movb %al, 0xb(%rsp)
movb 0xb(%rsp), %al
testb $0x1, %al
jne 0x34a72
jmp 0x34a7e
movq 0x10(%rsp), %rdi
callq 0x26eb0
jmp 0x34a36
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_class_new
GtNodeVisitorClass*
gt_node_visitor_class_new(size_t size,
                          GtNodeVisitorFreeFunc free,
                          GtNodeVisitorCommentNodeFunc comment_node,
                          GtNodeVisitorFeatureNodeFunc feature_node,
                          GtNodeVisitorRegionNodeFunc region_node,
                          GtNodeVisitorSequenceNodeFunc sequence_node,
                          GtNodeVisitorEOFNodeFunc eof_node)
{
  GtNodeVisitorClass *c_class;
  gt_assert(size);
  c_class = gt_class_alloc(sizeof *c_class);
  c_class->size = size;
  c_class->free = free;
  c_class->comment_node = comment_node;
  c_class->feature_node = feature_node;
  c_class->region_node = region_node;
  c_class->sequence_node = sequence_node;
  c_class->eof_node = eof_node;
  return c_class;
}

// Assembly:
subq $0x38, %rsp
movq 0x40(%rsp), %rax
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq %r9, 0x8(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x34bd7
movq 0x17f432(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1294b6(%rip), %rsi    # 0x15e066
leaq 0x139050(%rip), %rdx    # 0x16dc07
leaq 0x131523(%rip), %rcx    # 0x1660e1
leaq 0x131536(%rip), %r8     # 0x1660fb
movl $0x2f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34bd9
movl $0x40, %edi
callq 0x7b610
movq %rax, (%rsp)
movq 0x30(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x28(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x18(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x40(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x38(%rax)
movq (%rsp), %rax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_create
GtNodeVisitor* gt_node_visitor_create(const GtNodeVisitorClass *nvc)
{
  GtNodeVisitor *nv;
  gt_assert(nvc && nvc->size);
  nv = gt_calloc(1, nvc->size);
  nv->c_class = nvc;
  return nv;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x34cdc
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x34d14
movq 0x17f2f5(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129379(%rip), %rsi    # 0x15e066
leaq 0x13144c(%rip), %rdx    # 0x166140
leaq 0x131456(%rip), %rcx    # 0x166151
leaq 0x1313f9(%rip), %r8     # 0x1660fb
movl $0x46, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34d16
movq 0x10(%rsp), %rax
movq (%rax), %rsi
movl $0x1, %edi
leaq 0x1313d1(%rip), %rdx    # 0x1660fb
movl $0x47, %ecx
callq 0xd5b0
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/node_visitor.c
// Function: gt_node_visitor_visit_comment_node
int gt_node_visitor_visit_comment_node(GtNodeVisitor *nv, GtCommentNode *cn,
                                       GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && cn && nv->c_class);
  if (nv->c_class->comment_node)
    return nv->c_class->comment_node(nv, cn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x34e33
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x34dfb
jmp 0x34e33
movq 0x17f1d6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12925a(%rip), %rsi    # 0x15e066
leaq 0x129835(%rip), %rdx    # 0x15e648
leaq 0x131383(%rip), %rcx    # 0x16619d
leaq 0x1312da(%rip), %r8     # 0x1660fb
movl $0x56, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34e35
jmp 0x34e37
cmpq $0x0, 0x18(%rsp)
je 0x34e52
cmpq $0x0, 0x10(%rsp)
je 0x34e52
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x34e8a
movq 0x17f17f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129203(%rip), %rsi    # 0x15e066
leaq 0x131356(%rip), %rdx    # 0x1661c0
leaq 0x13132c(%rip), %rcx    # 0x16619d
leaq 0x131283(%rip), %r8     # 0x1660fb
movl $0x57, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34e8c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x34ebe
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x10(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x34ec6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_visit_feature_node
int gt_node_visitor_visit_feature_node(GtNodeVisitor *nv, GtFeatureNode *fn,
                                       GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && fn && nv->c_class);
  if (nv->c_class->feature_node)
    return nv->c_class->feature_node(nv, fn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x34f33
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x34efb
jmp 0x34f33
movq 0x17f0d6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12915a(%rip), %rsi    # 0x15e066
leaq 0x129735(%rip), %rdx    # 0x15e648
leaq 0x1312be(%rip), %rcx    # 0x1661d8
leaq 0x1311da(%rip), %r8     # 0x1660fb
movl $0x60, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34f35
jmp 0x34f37
cmpq $0x0, 0x18(%rsp)
je 0x34f52
cmpq $0x0, 0x10(%rsp)
je 0x34f52
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x34f8a
movq 0x17f07f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129103(%rip), %rsi    # 0x15e066
leaq 0x131291(%rip), %rdx    # 0x1661fb
leaq 0x131267(%rip), %rcx    # 0x1661d8
leaq 0x131183(%rip), %r8     # 0x1660fb
movl $0x61, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x34f8c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x18(%rax)
je 0x34fbe
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x18(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x34fc6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_visit_meta_node
int gt_node_visitor_visit_meta_node(GtNodeVisitor *nv, GtMetaNode *mn,
                                    GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && mn && nv->c_class);
  if (nv->c_class->meta_node)
    return nv->c_class->meta_node(nv, mn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x35033
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x34ffb
jmp 0x35033
movq 0x17efd6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12905a(%rip), %rsi    # 0x15e066
leaq 0x129635(%rip), %rdx    # 0x15e648
leaq 0x1311f9(%rip), %rcx    # 0x166213
leaq 0x1310da(%rip), %r8     # 0x1660fb
movl $0x6a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35035
jmp 0x35037
cmpq $0x0, 0x18(%rsp)
je 0x35052
cmpq $0x0, 0x10(%rsp)
je 0x35052
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x3508a
movq 0x17ef7f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x129003(%rip), %rsi    # 0x15e066
leaq 0x1311c9(%rip), %rdx    # 0x166233
leaq 0x1311a2(%rip), %rcx    # 0x166213
leaq 0x131083(%rip), %r8     # 0x1660fb
movl $0x6b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3508c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x20(%rax)
je 0x350be
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x20(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x350c6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_visit_region_node
int gt_node_visitor_visit_region_node(GtNodeVisitor *nv, GtRegionNode *rn,
                                      GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && rn && nv->c_class);
  if (nv->c_class->region_node)
    return nv->c_class->region_node(nv, rn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x35133
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x350fb
jmp 0x35133
movq 0x17eed6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128f5a(%rip), %rsi    # 0x15e066
leaq 0x129535(%rip), %rdx    # 0x15e648
leaq 0x131131(%rip), %rcx    # 0x16624b
leaq 0x130fda(%rip), %r8     # 0x1660fb
movl $0x74, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35135
jmp 0x35137
cmpq $0x0, 0x18(%rsp)
je 0x35152
cmpq $0x0, 0x10(%rsp)
je 0x35152
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x3518a
movq 0x17ee7f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128f03(%rip), %rsi    # 0x15e066
leaq 0x131103(%rip), %rdx    # 0x16626d
leaq 0x1310da(%rip), %rcx    # 0x16624b
leaq 0x130f83(%rip), %r8     # 0x1660fb
movl $0x75, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3518c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x28(%rax)
je 0x351be
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x28(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x351c6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_visit_sequence_node
int gt_node_visitor_visit_sequence_node(GtNodeVisitor *nv, GtSequenceNode *sn,
                                        GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && sn && nv->c_class);
  if (nv->c_class->sequence_node)
    return nv->c_class->sequence_node(nv, sn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x35233
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x351fb
jmp 0x35233
movq 0x17edd6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128e5a(%rip), %rsi    # 0x15e066
leaq 0x129435(%rip), %rdx    # 0x15e648
leaq 0x13106b(%rip), %rcx    # 0x166285
leaq 0x130eda(%rip), %r8     # 0x1660fb
movl $0x7e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35235
jmp 0x35237
cmpq $0x0, 0x18(%rsp)
je 0x35252
cmpq $0x0, 0x10(%rsp)
je 0x35252
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x3528a
movq 0x17ed7f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128e03(%rip), %rsi    # 0x15e066
leaq 0x13103f(%rip), %rdx    # 0x1662a9
leaq 0x131014(%rip), %rcx    # 0x166285
leaq 0x130e83(%rip), %r8     # 0x1660fb
movl $0x7f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3528c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x30(%rax)
je 0x352be
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x30(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x352c6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_visit_eof_node
int gt_node_visitor_visit_eof_node(GtNodeVisitor *nv, GtEOFNode *eofn,
                                   GtError *err)
{
  gt_error_check(err);
  gt_assert(nv && eofn && nv->c_class);
  if (nv->c_class->eof_node)
    return nv->c_class->eof_node(nv, eofn, err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x35333
movq 0x8(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0x352fb
jmp 0x35333
movq 0x17ecd6(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128d5a(%rip), %rsi    # 0x15e066
leaq 0x129335(%rip), %rdx    # 0x15e648
leaq 0x130fa7(%rip), %rcx    # 0x1662c1
leaq 0x130dda(%rip), %r8     # 0x1660fb
movl $0x88, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35335
jmp 0x35337
cmpq $0x0, 0x18(%rsp)
je 0x35352
cmpq $0x0, 0x10(%rsp)
je 0x35352
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x3538a
movq 0x17ec7f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128d03(%rip), %rsi    # 0x15e066
leaq 0x130f76(%rip), %rdx    # 0x1662e0
leaq 0x130f50(%rip), %rcx    # 0x1662c1
leaq 0x130d83(%rip), %r8     # 0x1660fb
movl $0x89, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3538c
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x38(%rax)
je 0x353be
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq 0x38(%rax), %rax
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq *%rax
movl %eax, 0x24(%rsp)
jmp 0x353c6
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/node_visitor.c
// Function: gt_node_visitor_delete
void gt_node_visitor_delete(GtNodeVisitor *nv)
{
  if (!nv) return;
  gt_assert(nv->c_class);
  if (nv->c_class->free)
    nv->c_class->free(nv);
  gt_free(nv);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x353de
jmp 0x35458
jmp 0x353e0
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0x35422
movq 0x17ebe7(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128c6b(%rip), %rsi    # 0x15e066
leaq 0x130dca(%rip), %rdx    # 0x1661cc
leaq 0x130ef1(%rip), %rcx    # 0x1662fa
leaq 0x130ceb(%rip), %r8     # 0x1660fb
movl $0x92, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35424
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x35443
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq (%rsp), %rdi
leaq 0x130cad(%rip), %rsi    # 0x1660fb
movl $0x95, %edx
callq 0xdab0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_new
GtOrphanage* gt_orphanage_new(void)
{
  GtOrphanage *o = gt_malloc(sizeof *o);
  o->orphans = gt_queue_new();
  o->missing_parents = gt_cstr_table_new();
  o->orphan_ids = gt_cstr_table_new();
  return o;
}

// Assembly:
pushq %rax
movl $0x18, %edi
leaq 0x130ea4(%rip), %rsi    # 0x166311
movl $0x23, %edx
callq 0xd2e0
movq %rax, (%rsp)
callq 0x909b0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
callq 0x7d020
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x8(%rax)
callq 0x7d020
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
popq %rcx
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_delete
void gt_orphanage_delete(GtOrphanage *o)
{
  if (!o) return;
  gt_cstr_table_delete(o->orphan_ids);
  gt_cstr_table_delete(o->missing_parents);
  while (gt_queue_size(o->orphans))
    gt_genome_node_delete(gt_queue_get(o->orphans));
  gt_queue_delete(o->orphans);
  gt_free(o);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x354be
jmp 0x35521
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x7d720
movq (%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x7d720
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x90d30
cmpq $0x0, %rax
je 0x35500
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x90c50
movq %rax, %rdi
callq 0x26eb0
jmp 0x354d8
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x91770
movq (%rsp), %rdi
leaq 0x130dfa(%rip), %rsi    # 0x166311
movl $0x32, %edx
callq 0xdab0
popq %rax
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_reset
void gt_orphanage_reset(GtOrphanage *o)
{
  gt_assert(o);
  while (gt_queue_size(o->orphans))
    gt_genome_node_delete(gt_queue_get(o->orphans));
  gt_cstr_table_reset(o->missing_parents);
  gt_cstr_table_reset(o->orphan_ids);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x35574
movq 0x17ea95(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128b19(%rip), %rsi    # 0x15e066
leaq 0x12c68c(%rip), %rdx    # 0x161be0
leaq 0x130dcf(%rip), %rcx    # 0x16632a
leaq 0x130daf(%rip), %r8     # 0x166311
movl $0x37, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35576
jmp 0x35578
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x90d30
cmpq $0x0, %rax
je 0x355a0
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x90c50
movq %rax, %rdi
callq 0x26eb0
jmp 0x35578
movq (%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x7d490
movq (%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x7d490
popq %rax
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_add
void gt_orphanage_add(GtOrphanage *o, GtGenomeNode *orphan,
                      const char *orphan_id, GtStrArray *missing_parents)
{
  const char *missing_parent;
  GtUword i;
  gt_assert(o && orphan);
  gt_assert(gt_feature_node_get_attribute((GtFeatureNode*) orphan,
                                          GT_GFF_PARENT));
  gt_queue_add(o->orphans, orphan);
  if (orphan_id && !gt_cstr_table_get(o->orphan_ids, orphan_id))
    gt_cstr_table_add(o->orphan_ids, orphan_id);
  if (missing_parents) {
    for (i = 0; i < gt_str_array_size(missing_parents); i++) {
      missing_parent = gt_str_array_get(missing_parents, i);
      if (!gt_cstr_table_get(o->missing_parents, missing_parent))
        gt_cstr_table_add(o->missing_parents, missing_parent);
    }
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x355e8
cmpq $0x0, 0x28(%rsp)
jne 0x35620
movq 0x17e9e9(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128a6d(%rip), %rsi    # 0x15e066
leaq 0x130d3d(%rip), %rdx    # 0x16633d
leaq 0x130d42(%rip), %rcx    # 0x166349
leaq 0x130d03(%rip), %r8     # 0x166311
movl $0x43, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35622
jmp 0x35624
movq 0x28(%rsp), %rdi
leaq 0x12f213(%rip), %rsi    # 0x164843
callq 0x1fde0
cmpq $0x0, %rax
jne 0x35673
movq 0x17e996(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128a1a(%rip), %rsi    # 0x15e066
leaq 0x130d07(%rip), %rdx    # 0x16635a
leaq 0x130cef(%rip), %rcx    # 0x166349
leaq 0x130cb0(%rip), %r8     # 0x166311
movl $0x45, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35675
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0x909d0
cmpq $0x0, 0x20(%rsp)
je 0x356bb
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x7d1d0
cmpq $0x0, %rax
jne 0x356bb
movq 0x30(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x7d0b0
cmpq $0x0, 0x18(%rsp)
je 0x3573f
movq $0x0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
callq 0x1b720
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jae 0x3573d
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x1b320
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0x7d1d0
cmpq $0x0, %rax
jne 0x3572b
movq 0x30(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0x7d0b0
jmp 0x3572d
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0x356cc
jmp 0x3573f
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_get_orphan
GtGenomeNode* gt_orphanage_get_orphan(GtOrphanage *o)
{
  gt_assert(o);
  if (gt_queue_size(o->orphans))
    return gt_queue_get(o->orphans);
  return NULL;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0x35809
movq 0x17e800(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128884(%rip), %rsi    # 0x15e066
leaq 0x12c3f7(%rip), %rdx    # 0x161be0
leaq 0x130bd7(%rip), %rcx    # 0x1663c7
leaq 0x130b1a(%rip), %r8     # 0x166311
movl $0x5a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x3580b
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x90d30
cmpq $0x0, %rax
je 0x35832
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x90c50
movq %rax, 0x10(%rsp)
jmp 0x3583b
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/orphanage.c
// Function: gt_orphanage_parent_is_missing
bool gt_orphanage_parent_is_missing(GtOrphanage *o, const char *parent_id)
{
  gt_assert(o && parent_id);
  if (gt_cstr_table_get(o->missing_parents, parent_id))
    return true;
  return false;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq %rsi, (%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x3586c
cmpq $0x0, (%rsp)
jne 0x358a4
movq 0x17e765(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1287e9(%rip), %rsi    # 0x15e066
leaq 0x130b1c(%rip), %rdx    # 0x1663a0
leaq 0x130b54(%rip), %rcx    # 0x1663df
leaq 0x130a7f(%rip), %r8     # 0x166311
movl $0x62, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x358a6
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq (%rsp), %rsi
callq 0x7d1d0
cmpq $0x0, %rax
je 0x358c5
movb $0x1, 0x17(%rsp)
jmp 0x358ca
movb $0x0, 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/orphanage.c
// Function: gt_orphanage_is_orphan
bool gt_orphanage_is_orphan(GtOrphanage *o, const char *id)
{
 gt_assert(o && id);
  if (gt_cstr_table_get(o->orphan_ids, id))
    return true;
  return false;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x8(%rsp)
movq %rsi, (%rsp)
cmpq $0x0, 0x8(%rsp)
je 0x358fc
cmpq $0x0, (%rsp)
jne 0x35934
movq 0x17e6d5(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128759(%rip), %rsi    # 0x15e066
leaq 0x130aea(%rip), %rdx    # 0x1663fe
leaq 0x130aeb(%rip), %rcx    # 0x166406
leaq 0x1309ef(%rip), %r8     # 0x166311
movl $0x6a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35936
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
movq (%rsp), %rsi
callq 0x7d1d0
cmpq $0x0, %rax
je 0x35955
movb $0x1, 0x17(%rsp)
jmp 0x3595a
movb $0x0, 0x17(%rsp)
movb 0x17(%rsp), %al
andb $0x1, %al
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_node.c
// Function: gt_region_node_class
const GtGenomeNodeClass* gt_region_node_class()
{
  static const GtGenomeNodeClass *gnc = NULL;
  gt_class_alloc_lock_enter();
  if (!gnc) {
    gnc = gt_genome_node_class_new(sizeof (GtRegionNode),
                                   region_node_free,
                                   region_node_get_seqid,
                                   region_node_get_seqid,
                                   region_node_get_range,
                                   region_node_set_range,
                                   region_node_change_seqid,
                                   region_node_accept);
  }
  gt_class_alloc_lock_leave();
  return gnc;
}

// Assembly:
subq $0x18, %rsp
callq 0x7b730
cmpq $0x0, 0x180ac7(%rip)    # 0x1b6448
jne 0x359ca
movl $0x48, %edi
leaq 0x51(%rip), %rsi        # 0x359e0
leaq 0xca(%rip), %rcx        # 0x35a60
leaq 0xf3(%rip), %r8         # 0x35a90
leaq 0x12c(%rip), %r9        # 0x35ad0
leaq 0x165(%rip), %r10       # 0x35b10
leaq 0x1ee(%rip), %rax       # 0x35ba0
movq %rcx, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x251c0
movq %rax, 0x180a7e(%rip)    # 0x1b6448
callq 0x7b790
movq 0x180a72(%rip), %rax    # 0x1b6448
addq $0x18, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_node.c
// Function: region_node_change_seqid
static void region_node_change_seqid(GtGenomeNode *gn, GtStr *seqid)
{
  GtRegionNode *rn = gt_region_node_cast(gn);
  gt_assert(rn && seqid);
  gt_str_delete(rn->seqid);
  rn->seqid = gt_str_ref(seqid);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x35d30
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x35b3b
cmpq $0x0, 0x8(%rsp)
jne 0x35b73
movq 0x17e496(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12851a(%rip), %rsi    # 0x15e066
leaq 0x1309aa(%rip), %rdx    # 0x1664fd
leaq 0x1309af(%rip), %rcx    # 0x166509
leaq 0x1308cf(%rip), %r8     # 0x166430
movl $0x3b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35b75
movq (%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rdi
callq 0x19dc0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_node.c
// Function: gt_region_node_new
GtGenomeNode* gt_region_node_new(GtStr *seqid, GtUword start,
                                               GtUword end)
{
  GtGenomeNode *gn = gt_genome_node_create(gt_region_node_class());
  GtRegionNode *rn = gt_region_node_cast(gn);
  gt_assert(seqid);
  gt_assert(start <= end);
  rn->seqid = gt_str_ref(seqid);
  rn->range.start = start;
  rn->range.end   = end;
  return gn;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
callq 0x35970
movq %rax, %rdi
callq 0x25530
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x35d30
movq %rax, (%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x35ca3
movq 0x17e366(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1283ea(%rip), %rsi    # 0x15e066
leaq 0x14eced(%rip), %rdx    # 0x184970
leaq 0x130793(%rip), %rcx    # 0x16641d
leaq 0x13079f(%rip), %r8     # 0x166430
movl $0x5f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35ca5
jmp 0x35ca7
movq 0x18(%rsp), %rax
cmpq 0x10(%rsp), %rax
jbe 0x35ceb
movq 0x17e31e(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1283a2(%rip), %rsi    # 0x15e066
leaq 0x138f6f(%rip), %rdx    # 0x16ec3a
leaq 0x13074b(%rip), %rcx    # 0x16641d
leaq 0x130757(%rip), %r8     # 0x166430
movl $0x60, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35ced
movq 0x20(%rsp), %rdi
callq 0x19dc0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
movq 0x18(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x38(%rax)
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0x8(%rsp), %rax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/region_node.c
// Function: gt_region_node_consolidate
void gt_region_node_consolidate(GtRegionNode *rn_a, GtRegionNode *rn_b)
{
  GtRange range_a, range_b;
  gt_assert(rn_a);
  gt_assert(rn_b);
  gt_assert(!gt_str_cmp(gt_genome_node_get_seqid((GtGenomeNode*) rn_a),
                        gt_genome_node_get_seqid((GtGenomeNode*) rn_b)));
  range_a = gt_genome_node_get_range((GtGenomeNode*) rn_a);
  range_b = gt_genome_node_get_range((GtGenomeNode*) rn_b);
  range_a = gt_range_join(&range_a, &range_b);
  gt_genome_node_set_range((GtGenomeNode*) rn_a, &range_a);
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movq %rsi, 0x58(%rsp)
cmpq $0x0, 0x60(%rsp)
jne 0x35d9e
movq 0x17e26b(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1282ef(%rip), %rsi    # 0x15e066
leaq 0x1306cd(%rip), %rdx    # 0x16644b
leaq 0x1306cb(%rip), %rcx    # 0x166450
leaq 0x1306a4(%rip), %r8     # 0x166430
movl $0x6a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35da0
jmp 0x35da2
cmpq $0x0, 0x58(%rsp)
jne 0x35de2
movq 0x17e227(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1282ab(%rip), %rsi    # 0x15e066
leaq 0x1306a9(%rip), %rdx    # 0x16646b
leaq 0x130687(%rip), %rcx    # 0x166450
leaq 0x130660(%rip), %r8     # 0x166430
movl $0x6b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35de4
jmp 0x35de6
movq 0x60(%rsp), %rdi
callq 0x258a0
movq %rax, (%rsp)
movq 0x58(%rsp), %rdi
callq 0x258a0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x19bd0
cmpl $0x0, %eax
je 0x35e47
movq 0x17e1c2(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x128246(%rip), %rsi    # 0x15e066
leaq 0x130649(%rip), %rdx    # 0x166470
leaq 0x130622(%rip), %rcx    # 0x166450
leaq 0x1305fb(%rip), %r8     # 0x166430
movl $0x6d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x35e49
movq 0x60(%rsp), %rdi
callq 0x259f0
movq %rax, 0x28(%rsp)
movq %rdx, 0x30(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
callq 0x259f0
movq %rax, 0x18(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0x48(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x93fe0
movq %rax, 0x8(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x60(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x25b50
addq $0x68, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sequence_node.c
// Function: gt_sequence_node_class
const GtGenomeNodeClass* gt_sequence_node_class()
{
  static const GtGenomeNodeClass *gnc = NULL;
  gt_class_alloc_lock_enter();
  if (!gnc) {
    gnc = gt_genome_node_class_new(sizeof (GtSequenceNode),
                                   sequence_node_free,
                                   sequence_node_get_seqid,
                                   sequence_node_get_seqid,
                                   sequence_node_get_range,
                                   NULL,
                                   sequence_node_change_seqid,
                                   sequence_node_accept);
  }
  gt_class_alloc_lock_leave();
  return gnc;
}

// Assembly:
subq $0x18, %rsp
callq 0x7b730
cmpq $0x0, 0x18053f(%rip)    # 0x1b6450
jne 0x35f58
movl $0x40, %edi
leaq 0x51(%rip), %rsi        # 0x35f70
leaq 0x8a(%rip), %rcx        # 0x35fb0
leaq 0xb3(%rip), %r8         # 0x35fe0
xorl %eax, %eax
movl %eax, %r9d
leaq 0xd7(%rip), %r10        # 0x36010
leaq 0x160(%rip), %rax       # 0x360a0
movq %rcx, %rdx
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x251c0
movq %rax, 0x1804f8(%rip)    # 0x1b6450
callq 0x7b790
movq 0x1804ec(%rip), %rax    # 0x1b6450
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/sequence_node.c
// Function: sequence_node_change_seqid
static void sequence_node_change_seqid(GtGenomeNode *gn, GtStr *seqid)
{
  GtSequenceNode *sn = gt_sequence_node_cast(gn);
  gt_assert(sn && seqid);
  gt_str_delete(sn->description);
  sn->description = gt_str_ref(seqid);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rdi
callq 0x361e0
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x3603b
cmpq $0x0, 0x8(%rsp)
jne 0x36073
movq 0x17df96(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0x12801a(%rip), %rsi    # 0x15e066
leaq 0x130590(%rip), %rdx    # 0x1665e3
leaq 0x130595(%rip), %rcx    # 0x1665ef
leaq 0x130501(%rip), %r8     # 0x166562
movl $0x35, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x36075
movq (%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x1afc0
movq 0x8(%rsp), %rdi
callq 0x19dc0
movq %rax, %rcx
movq (%rsp), %rax
movq %rcx, 0x30(%rax)
addq $0x18, %rsp
retq
nopl (%rax)