LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_init_sqlite
int anno_db_gfflike_init_sqlite(GT_UNUSED GtRDBVisitor *rdbv, GtRDBSqlite *db,
                                GtError *err)
{
  GtCstrTable *cst = NULL;
  GtStrArray *arr = NULL;
  bool check = true;
  int had_err = 0;
  gt_assert(db);

  cst = gt_rdb_get_tables((GtRDB*) db, err);
  if (!cst) {
    had_err = -1;
  }
  if (!had_err) {
    arr = gt_cstr_table_get_all(cst);
    if (!arr)
      had_err = -1;
  }
  if (!had_err) {
    if (gt_str_array_size(arr) == 0) {
      had_err = anno_db_gfflike_create_tables_sqlite(db, err);
    }
  }
  gt_cstr_table_delete(cst);
  gt_str_array_delete(arr);
  if (!had_err)
    had_err = anno_db_gfflike_validate_sqlite(db, err, &check);
  if (!had_err && !check) {
    gt_error_set(err, "possible corruption in database file: "
                      "tables are missing");
    had_err = -1;
  }
  if (!had_err) {
    had_err = anno_db_gfflike_create_indexes_sqlite(db, err);
  }

  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x1, 0xf(%rsp)
movl $0x0, 0x8(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x12c762
movq 0x50f86f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e98d8(%rip), %rsi    # 0x516013
leaq 0x41afff(%rip), %rdx    # 0x547741
leaq 0x41ace9(%rip), %rcx    # 0x547432
leaq 0x41acfe(%rip), %r8     # 0x54744e
movl $0x22c, %r9d            # imm = 0x22C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12c764
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4090
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x12c788
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0x8(%rsp)
jne 0x12c7b0
movq 0x18(%rsp), %rdi
callq 0xa3c20
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x12c7ae
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
jmp 0x12c7b0
cmpl $0x0, 0x8(%rsp)
jne 0x12c7dc
movq 0x10(%rsp), %rdi
callq 0x11fcc0
cmpq $0x0, %rax
jne 0x12c7da
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x12c860
movl %eax, 0x8(%rsp)
jmp 0x12c7dc
movq 0x18(%rsp), %rdi
callq 0xa40d0
movq 0x10(%rsp), %rdi
callq 0x11fd20
cmpl $0x0, 0x8(%rsp)
jne 0x12c80f
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
leaq 0xf(%rsp), %rdx
callq 0x12cbd0
movl %eax, 0x8(%rsp)
cmpl $0x0, 0x8(%rsp)
jne 0x12c838
testb $0x1, 0xf(%rsp)
jne 0x12c838
movq 0x20(%rsp), %rdi
leaq 0x41ac44(%rip), %rsi    # 0x54746d
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0x8(%rsp)
jne 0x12c852
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x12cd30
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_validate_sqlite
static int anno_db_gfflike_validate_sqlite(GtRDBSqlite *db, GtError *err,
                                           bool *check)
{
  int had_err = 0;
  bool ok = true;
  GtCstrTable *tables = gt_rdb_get_tables((GtRDB*) db, err);
  if (!tables)
    had_err = -1;
  if (ok && !had_err && !gt_cstr_table_get(tables, "features")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "types")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "sequenceregions"))
    ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "parents")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "sources")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "attributes")) ok = false;
  /* TODO: more elaborate checks? */
  if (!had_err)
    *check = ok;
  gt_cstr_table_delete(tables);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movb $0x1, 0xb(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x1c4090
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12cc12
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
testb $0x1, 0xb(%rsp)
je 0x12cc3b
cmpl $0x0, 0xc(%rsp)
jne 0x12cc3b
movq (%rsp), %rdi
leaq 0x3ea3b2(%rip), %rsi    # 0x516fdd
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12cc3b
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12cc64
cmpl $0x0, 0xc(%rsp)
jne 0x12cc64
movq (%rsp), %rdi
leaq 0x4073f2(%rip), %rsi    # 0x534046
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12cc64
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12cc8d
cmpl $0x0, 0xc(%rsp)
jne 0x12cc8d
movq (%rsp), %rdi
leaq 0x41c1f7(%rip), %rsi    # 0x548e74
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12cc8d
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12ccb6
cmpl $0x0, 0xc(%rsp)
jne 0x12ccb6
movq (%rsp), %rdi
leaq 0x4853a9(%rip), %rsi    # 0x5b204f
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12ccb6
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12ccdf
cmpl $0x0, 0xc(%rsp)
jne 0x12ccdf
movq (%rsp), %rdi
leaq 0x43a82a(%rip), %rsi    # 0x5674f9
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12ccdf
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12cd08
cmpl $0x0, 0xc(%rsp)
jne 0x12cd08
movq (%rsp), %rdi
leaq 0x3f0fdd(%rip), %rsi    # 0x51dcd5
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12cd08
movb $0x0, 0xb(%rsp)
cmpl $0x0, 0xc(%rsp)
jne 0x12cd1d
movb 0xb(%rsp), %cl
movq 0x10(%rsp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq (%rsp), %rdi
callq 0xa40d0
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_init_mysql
int anno_db_gfflike_init_mysql(GT_UNUSED GtRDBVisitor *rdbv, GtRDBMySQL *db,
                               GtError *err)
{
  GtCstrTable *cst = NULL;
  GtStrArray *arr = NULL;
  bool check = true;
  int had_err = 0;
  gt_assert(db);

  cst = gt_rdb_get_tables((GtRDB*) db, err);
  if (!cst) {
    had_err = -1;
  }
  if (!had_err) {
    arr = gt_cstr_table_get_all(cst);
    if (!arr)
      had_err = -1;
  }
  if (!had_err) {
    if (gt_str_array_size(arr) == 0) {
      had_err = anno_db_gfflike_create_tables_mysql(db, err);
    }
  }
  gt_cstr_table_delete(cst);
  gt_str_array_delete(arr);
  if (!had_err)
    had_err = anno_db_gfflike_validate_mysql(db, err, &check);
  if (!had_err && !check) {
    gt_error_set(err, "corrupt database schema: tables are missing");
    had_err = -1;
  }
  if (!had_err) {
    had_err = anno_db_gfflike_create_indexes_mysql(db, err);
  }

  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movb $0x1, 0xf(%rsp)
movl $0x0, 0x8(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x12d0f2
movq 0x50eedf(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e8f48(%rip), %rsi    # 0x516013
leaq 0x41a66f(%rip), %rdx    # 0x547741
leaq 0x41a3cd(%rip), %rcx    # 0x5474a6
leaq 0x41a36e(%rip), %r8     # 0x54744e
movl $0x253, %r9d            # imm = 0x253
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12d0f4
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c4090
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x12d118
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0x8(%rsp)
jne 0x12d140
movq 0x18(%rsp), %rdi
callq 0xa3c20
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x12d13e
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
jmp 0x12d140
cmpl $0x0, 0x8(%rsp)
jne 0x12d16c
movq 0x10(%rsp), %rdi
callq 0x11fcc0
cmpq $0x0, %rax
jne 0x12d16a
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x12d1f0
movl %eax, 0x8(%rsp)
jmp 0x12d16c
movq 0x18(%rsp), %rdi
callq 0xa40d0
movq 0x10(%rsp), %rdi
callq 0x11fd20
cmpl $0x0, 0x8(%rsp)
jne 0x12d19f
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
leaq 0xf(%rsp), %rdx
callq 0x12d400
movl %eax, 0x8(%rsp)
cmpl $0x0, 0x8(%rsp)
jne 0x12d1c8
testb $0x1, 0xf(%rsp)
jne 0x12d1c8
movq 0x20(%rsp), %rdi
leaq 0x41a308(%rip), %rsi    # 0x5474c1
movb $0x0, %al
callq 0xd88c0
movl $0xffffffff, 0x8(%rsp)  # imm = 0xFFFFFFFF
cmpl $0x0, 0x8(%rsp)
jne 0x12d1e2
movq 0x28(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x12d560
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: anno_db_gfflike_validate_mysql
static int anno_db_gfflike_validate_mysql(GtRDBMySQL *db, GtError *err,
                                          bool *check)
{
  int had_err = 0;
  bool ok = true;
  GtCstrTable *tables = gt_rdb_get_tables((GtRDB*) db, err);
  if (!tables)
    had_err = -1;
  /* XXX: for some reason, MySQL omits the last letter of the table name?! */
  if (ok && !had_err && !gt_cstr_table_get(tables, "feature")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "type")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "sequenceregion"))
    ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "parent")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "source")) ok = false;
  if (ok && !had_err && !gt_cstr_table_get(tables, "attribute")) ok = false;
  /* TODO: more elaborate checks? */
  if (!had_err)
    *check = ok;
  gt_cstr_table_delete(tables);
  return had_err;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movb $0x1, 0xb(%rsp)
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x1c4090
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x12d442
movl $0xffffffff, 0xc(%rsp)  # imm = 0xFFFFFFFF
testb $0x1, 0xb(%rsp)
je 0x12d46b
cmpl $0x0, 0xc(%rsp)
jne 0x12d46b
movq (%rsp), %rdi
leaq 0x425965(%rip), %rsi    # 0x552dc0
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d46b
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12d494
cmpl $0x0, 0xc(%rsp)
jne 0x12d494
movq (%rsp), %rdi
leaq 0x43c99e(%rip), %rsi    # 0x569e22
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d494
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12d4bd
cmpl $0x0, 0xc(%rsp)
jne 0x12d4bd
movq (%rsp), %rdi
leaq 0x41afdf(%rip), %rsi    # 0x54848c
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d4bd
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12d4e6
cmpl $0x0, 0xc(%rsp)
jne 0x12d4e6
movq (%rsp), %rdi
leaq 0x442e2b(%rip), %rsi    # 0x570301
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d4e6
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12d50f
cmpl $0x0, 0xc(%rsp)
jne 0x12d50f
movq (%rsp), %rdi
leaq 0x422b97(%rip), %rsi    # 0x550096
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d50f
movb $0x0, 0xb(%rsp)
testb $0x1, 0xb(%rsp)
je 0x12d538
cmpl $0x0, 0xc(%rsp)
jne 0x12d538
movq (%rsp), %rdi
leaq 0x471249(%rip), %rsi    # 0x59e771
callq 0xa3b80
cmpq $0x0, %rax
jne 0x12d538
movb $0x0, 0xb(%rsp)
cmpl $0x0, 0xc(%rsp)
jne 0x12d54d
movb 0xb(%rsp), %cl
movq 0x10(%rsp), %rax
andb $0x1, %cl
movb %cl, (%rax)
movq (%rsp), %rdi
callq 0xa40d0
movl 0xc(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_anno_db_gfflike_class
const GtAnnoDBSchemaClass* gt_anno_db_gfflike_class()
{
  static const GtAnnoDBSchemaClass *adbsc = NULL;
  gt_class_alloc_lock_enter();
  if (!adbsc) {
    adbsc = gt_anno_db_schema_class_new(sizeof (GtAnnoDBGFFlike),
                                        anno_db_gfflike_free,
                                        anno_db_gfflike_build);
  }
  gt_class_alloc_lock_leave();
  return adbsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x51522a(%rip)    # 0x642cf8
jne 0x12daef
movl $0x20, %edi
leaq -0x5c(%rip), %rsi       # 0x12da80
leaq 0x1d2d(%rip), %rdx      # 0x12f810
callq 0x132880
movq %rax, 0x515209(%rip)    # 0x642cf8
callq 0x9f280
movq 0x5151fd(%rip), %rax    # 0x642cf8
popq %rcx
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_add_feature_node
int gt_feature_index_gfflike_add_feature_node(GtFeatureIndex *gfi,
                                              GtFeatureNode *gf,
                                              GtError *err)
{
  GtFeatureIndexGFFlike *fi;
  int had_err = 0;
  gt_assert(gfi && gf);

  fi = feature_index_gfflike_cast(gfi);
  had_err = insert_feature_node(fi,
                                (GtFeatureNode*)
                                         gt_genome_node_ref((GtGenomeNode*) gf),
                                err);
  if (!had_err)
    gt_hashmap_add(fi->ref_nodes, gf, (void*) 1);
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x12dd4b
cmpq $0x0, 0x28(%rsp)
jne 0x12dd83
movq 0x50e24e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e82b7(%rip), %rsi    # 0x516013
leaq 0x4197bc(%rip), %rdx    # 0x54751f
leaq 0x4197bf(%rip), %rcx    # 0x547529
leaq 0x4196dd(%rip), %r8     # 0x54744e
movl $0x3fe, %r9d            # imm = 0x3FE
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12dd85
callq 0x12dc70
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rdi
callq 0x171410
movq 0x8(%rsp), %rdi
movq %rax, %rsi
movq 0x20(%rsp), %rdx
callq 0x12ddf0
movl %eax, 0x14(%rsp)
cmpl $0x0, 0x14(%rsp)
jne 0x12dde5
movq 0x18(%rsp), %rax
movq 0x30(%rax), %rdi
movq 0x28(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
movl 0x14(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: insert_feature_node
static int insert_feature_node(GtFeatureIndexGFFlike *fi,
                               GtFeatureNode *fn,
                               GtError *err)
{
  GtFeatureNodeIterator *fni;
  GtFeatureNode *toplevel;
  int had_err = 0;
  GtUword num;

  /* TODO: locking! subgraph insertion is a transaction
      we also need to avoid nesting */

  /* collect relationships */
  gt_hashmap_reset(fi->node_to_parent_array);
  gt_feature_node_traverse_children(fn, fi->node_to_parent_array, get_parents,
                                    true, NULL);

  /* top level nodes can be pseudo nodes, check this now as
     pseudo nodes are skipped during traversal */
  if (gt_feature_node_is_pseudo(toplevel = fn)) {
    had_err = insert_single_node(fi, &num, fn, err);
  }

  /* insert nodes */
  fni = gt_feature_node_iterator_new(fn);
  while (!had_err && (fn = gt_feature_node_iterator_next(fni))) {
    gt_feature_node_set_observer(fn, fi->obs);
    had_err = insert_single_node(fi, &num, fn, err);
  }

  /* nodes inserted or cached, process relationships in this subgraph */
  if (!had_err)
    gt_hashmap_foreach(fi->node_to_parent_array, set_parents, fi, err);

  /* TODO: locking! commit this subgraph to DB */

  gt_feature_node_iterator_delete(fni);
  gt_hashmap_reset(fi->node_to_parent_array);
  return had_err;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movq %rdx, 0x30(%rsp)
movl $0x0, 0x1c(%rsp)
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xe1260
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rsi
leaq 0x2e02(%rip), %rdx      # 0x130c30
movl $0x1, %ecx
xorl %eax, %eax
movl %eax, %r8d
callq 0x16e2f0
movq 0x38(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x16dae0
testb $0x1, %al
jne 0x12de52
jmp 0x12de6f
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
leaq 0x10(%rsp), %rsi
callq 0x130d90
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
callq 0x170b00
movq %rax, 0x28(%rsp)
xorl %eax, %eax
cmpl $0x0, 0x1c(%rsp)
movb %al, 0xf(%rsp)
jne 0x12dea5
movq 0x28(%rsp), %rdi
callq 0x170e30
movq %rax, 0x38(%rsp)
cmpq $0x0, %rax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x12deaf
jmp 0x12dee4
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rax
movq 0x160(%rax), %rsi
callq 0x16c320
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
leaq 0x10(%rsp), %rsi
callq 0x130d90
movl %eax, 0x1c(%rsp)
jmp 0x12de7e
cmpl $0x0, 0x1c(%rsp)
jne 0x12df0a
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x40(%rsp), %rdx
movq 0x30(%rsp), %rcx
leaq 0x370b(%rip), %rsi      # 0x131610
callq 0xe11a0
movq 0x28(%rsp), %rdi
callq 0x170f50
movq 0x40(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xe1260
movl 0x1c(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_remove_node
int gt_feature_index_gfflike_remove_node(GtFeatureIndex *gfi,
                                         GtFeatureNode *gf,
                                         GT_UNUSED GtError *err)
{
  GtFeatureIndexGFFlike *fi;
  int had_err = 0;
  gt_assert(gfi && gf);

  fi = feature_index_gfflike_cast(gfi);
  if (gt_hashmap_get(fi->added, gf)) {
    gt_hashmap_remove(fi->added, gf);
  }
  if (gt_hashmap_get(fi->changed, gf)) {
    gt_hashmap_remove(fi->changed, gf);
  }
  gt_hashmap_add(fi->deleted, gf, (void*) 1);

  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, 0x20(%rsp)
je 0x12df5b
cmpq $0x0, 0x18(%rsp)
jne 0x12df93
movq 0x50e03e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e80a7(%rip), %rsi    # 0x516013
leaq 0x4195ac(%rip), %rdx    # 0x54751f
leaq 0x4195d9(%rip), %rcx    # 0x547553
leaq 0x4194cd(%rip), %r8     # 0x54744e
movl $0x44e, %r9d            # imm = 0x44E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12df95
callq 0x12dc70
movq %rax, %rdi
movq 0x20(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xe0f20
cmpq $0x0, %rax
je 0x12dfd8
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xe1030
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xe0f20
cmpq $0x0, %rax
je 0x12e004
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0xe1030
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdi
movq 0x18(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
movl 0x4(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_get_features_for_seqid
GtArray* gt_feature_index_gfflike_get_features_for_seqid(GtFeatureIndex *gfi,
                                                         const char *seqid,
                                                         GtError *err)
{
  GtArray *a;
  GtFeatureIndexGFFlike *fi;
  GtRDBStmt *stmt;
  gt_assert(gfi && seqid);
  gt_error_check(err);
  fi = feature_index_gfflike_cast(gfi);
  stmt = fi->stmts[GT_PSTMT_GET_BY_SEQID_SELECT];
  a = gt_array_new(sizeof (GtFeatureNode*));
  gt_rdb_stmt_reset(stmt, err);
  gt_rdb_stmt_bind_string(stmt, 0, seqid, err);
  get_nodes_for_stmt(fi, a, stmt, err);
  return a;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x12e053
cmpq $0x0, 0x28(%rsp)
jne 0x12e08b
movq 0x50df46(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e7faf(%rip), %rsi    # 0x516013
leaq 0x41950d(%rip), %rdx    # 0x547578
leaq 0x419513(%rip), %rcx    # 0x547585
leaq 0x4193d5(%rip), %r8     # 0x54744e
movl $0x5ab, %r9d            # imm = 0x5AB
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12e08d
jmp 0x12e08f
cmpq $0x0, 0x20(%rsp)
je 0x12e0df
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x12e0a7
jmp 0x12e0df
movq 0x50def2(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e7f5b(%rip), %rsi    # 0x516013
leaq 0x3e8100(%rip), %rdx    # 0x5161bf
leaq 0x4194bf(%rip), %rcx    # 0x547585
leaq 0x419381(%rip), %r8     # 0x54744e
movl $0x5ac, %r9d            # imm = 0x5AC
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12e0e1
callq 0x12dc70
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq 0xf0(%rax), %rax
movq %rax, 0x8(%rsp)
movl $0x8, %edi
callq 0x80990
movq %rax, 0x18(%rsp)
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c42f0
movq 0x8(%rsp), %rdi
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0x1c44f0
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x20(%rsp), %rcx
callq 0x12e170
movq 0x18(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_get_all_features
int gt_feature_index_gfflike_get_all_features(GtFeatureIndex *gfi,
                                              GtArray *results,
                                              GtError *err)
{
  GtFeatureIndexGFFlike *fi;
  int retval;
  gt_error_check(err);
  GtRDBStmt *stmt;
  gt_assert(gfi && results);
  gt_error_check(err);
  fi = feature_index_gfflike_cast(gfi);
  stmt = fi->stmts[GT_PSTMT_GET_ALL];
  gt_mutex_lock(fi->dblock);
  gt_rdb_stmt_reset(stmt, err);
  retval = get_nodes_for_stmt(fi, results, stmt, err);
  gt_mutex_unlock(fi->dblock);
  return retval;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x12ed63
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x12ed2b
jmp 0x12ed63
movq 0x50d26e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e72d7(%rip), %rsi    # 0x516013
leaq 0x3e747c(%rip), %rdx    # 0x5161bf
leaq 0x4188aa(%rip), %rcx    # 0x5475f4
leaq 0x4186fd(%rip), %r8     # 0x54744e
movl $0x5d4, %r9d            # imm = 0x5D4
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12ed65
jmp 0x12ed67
cmpq $0x0, 0x30(%rsp)
je 0x12ed77
cmpq $0x0, 0x28(%rsp)
jne 0x12edaf
movq 0x50d222(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e728b(%rip), %rsi    # 0x516013
leaq 0x418856(%rip), %rdx    # 0x5475e5
leaq 0x41885e(%rip), %rcx    # 0x5475f4
leaq 0x4186b1(%rip), %r8     # 0x54744e
movl $0x5d6, %r9d            # imm = 0x5D6
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12edb1
jmp 0x12edb3
cmpq $0x0, 0x20(%rsp)
je 0x12ee03
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x12edcb
jmp 0x12ee03
movq 0x50d1ce(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e7237(%rip), %rsi    # 0x516013
leaq 0x3e73dc(%rip), %rdx    # 0x5161bf
leaq 0x41880a(%rip), %rcx    # 0x5475f4
leaq 0x41865d(%rip), %r8     # 0x54744e
movl $0x5d7, %r9d            # imm = 0x5D7
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12ee05
callq 0x12dc70
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0xc0(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x170(%rax), %rdi
callq 0x1211d0
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1c42f0
movq 0x18(%rsp), %rdi
movq 0x28(%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x20(%rsp), %rcx
callq 0x12e170
movl %eax, 0x14(%rsp)
movq 0x18(%rsp), %rax
movq 0x170(%rax), %rdi
callq 0x121270
movl 0x14(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_get_seqids
GtStrArray* gt_feature_index_gfflike_get_seqids(const GtFeatureIndex *gfi,
                                                GtError *err)
{
  GtStrArray* seqids;
  GtFeatureIndexGFFlike *fi;
  GtRDBStmt *stmt;
  int rval;
  gt_assert(gfi);
  gt_error_check(err);
  fi = feature_index_gfflike_cast((GtFeatureIndex*) gfi);
  seqids = gt_str_array_new();
  gt_mutex_lock(fi->dblock);
  stmt = fi->stmts[GT_PSTMT_GET_SEQIDS_SELECT];
  gt_rdb_stmt_reset(stmt, err);
  while ((rval = gt_rdb_stmt_exec(stmt, err)) == 0) {
    GtStr *seqid = gt_str_new();
    gt_rdb_stmt_get_string(stmt, 0, seqid, err);
    gt_str_array_add(seqids, seqid);
    gt_str_delete(seqid);
  }
  gt_mutex_unlock(fi->dblock);
  return seqids;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x12f0fe
movq 0x50ced3(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e6f3c(%rip), %rsi    # 0x516013
leaq 0x418540(%rip), %rdx    # 0x54761e
leaq 0x4185a4(%rip), %rcx    # 0x547689
leaq 0x418362(%rip), %r8     # 0x54744e
movl $0x60c, %r9d            # imm = 0x60C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12f100
jmp 0x12f102
cmpq $0x0, 0x28(%rsp)
je 0x12f152
movq 0x28(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x12f11a
jmp 0x12f152
movq 0x50ce7f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e6ee8(%rip), %rsi    # 0x516013
leaq 0x3e708d(%rip), %rdx    # 0x5161bf
leaq 0x418550(%rip), %rcx    # 0x547689
leaq 0x41830e(%rip), %r8     # 0x54744e
movl $0x60d, %r9d            # imm = 0x60D
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12f154
callq 0x12dc70
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x18(%rsp)
callq 0x11f5c0
movq %rax, 0x20(%rsp)
movq 0x18(%rsp), %rax
movq 0x170(%rax), %rdi
callq 0x1211d0
movq 0x18(%rsp), %rax
movq 0xe8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x1c42f0
movq 0x10(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x1c4650
movl %eax, 0xc(%rsp)
cmpl $0x0, %eax
jne 0x12f1f7
callq 0x11d4a0
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
movq (%rsp), %rdx
movq 0x28(%rsp), %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0x1c4900
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
callq 0x11f840
movq (%rsp), %rdi
callq 0x11f560
jmp 0x12f1a6
movq 0x18(%rsp), %rax
movq 0x170(%rax), %rdi
callq 0x121270
movq 0x20(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_delete
void gt_feature_index_gfflike_delete(GtFeatureIndex *gfi)
{
  GtFeatureIndexGFFlike *fi;
  GtUword i;
  if (!gfi) return;
  fi = feature_index_gfflike_cast(gfi);
  for (i=0;i<GT_PSTMT_NOF_STATEMENTS;i++) {
    gt_rdb_stmt_delete(fi->stmts[i]);
  }
  if (fi->db)
    gt_rdb_delete(fi->db);
  gt_hashmap_delete(fi->node_to_parent_array);
  unregister_observers(fi, NULL);
  gt_feature_node_observer_delete(fi->obs);
  node_ul_gt_hashmap_delete(fi->cache_node2id);
  ul_node_gt_hashmap_delete(fi->cache_id2node);
  gt_hashmap_delete(fi->ref_nodes);
  gt_hashmap_delete(fi->seqid_cache);
  gt_hashmap_delete(fi->source_cache);
  gt_hashmap_delete(fi->string_caches);
  gt_hashmap_delete(fi->added);
  gt_hashmap_delete(fi->deleted);
  gt_hashmap_delete(fi->changed);
  gt_mutex_delete(fi->dblock);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x12f686
jmp 0x12f7a9
callq 0x12dc70
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x16a0d0
movq %rax, 0x8(%rsp)
movq $0x0, (%rsp)
cmpq $0x20, (%rsp)
jae 0x12f6cd
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq 0x60(%rax,%rcx,8), %rdi
callq 0x1c46f0
movq (%rsp), %rax
addq $0x1, %rax
movq %rax, (%rsp)
jmp 0x12f6a5
movq 0x8(%rsp), %rax
cmpq $0x0, 0x168(%rax)
je 0x12f6ed
movq 0x8(%rsp), %rax
movq 0x168(%rax), %rdi
callq 0x1c3d40
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x12f7b0
movq 0x8(%rsp), %rax
movq 0x160(%rax), %rdi
callq 0x171020
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rdi
callq 0x12f7f0
movq 0x8(%rsp), %rax
movq 0x58(%rax), %rdi
callq 0x12f800
movq 0x8(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x48(%rax), %rdi
callq 0xe1770
movq 0x8(%rsp), %rax
movq 0x170(%rax), %rdi
callq 0x121150
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: node_score_changed_callback
static void node_score_changed_callback(GtFeatureNode *changed,
                                        GT_UNUSED double score,
                                        void *data)
{
  GtUword *id;
  ObserverCallbackInfo *info = (ObserverCallbackInfo*) data;
  gt_assert(changed);
  if ((id = node_ul_gt_hashmap_get(info->fis->cache_node2id, changed))) {
    gt_hashmap_add(info->fis->changed, changed, (void*) 1);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movsd %xmm0, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x12fcad
movq 0x50c324(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e638d(%rip), %rsi    # 0x516013
leaq 0x47bd2b(%rip), %rdx    # 0x5ab9b8
leaq 0x418ab3(%rip), %rcx    # 0x548747
leaq 0x4177b3(%rip), %r8     # 0x54744e
movl $0x3dc, %r9d            # imm = 0x3DC
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12fcaf
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x131830
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x12fceb
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: node_attribute_change_callback
static void node_attribute_change_callback(GtFeatureNode *changed,
                                           GT_UNUSED bool added,
                                           GT_UNUSED const char *key,
                                           GT_UNUSED const char *value,
                                           void *data)
{
  GtUword *id;
  ObserverCallbackInfo *info = (ObserverCallbackInfo*) data;
  gt_assert(changed);
  if ((id = node_ul_gt_hashmap_get(info->fis->cache_node2id, changed))) {
    gt_hashmap_add(info->fis->changed, changed, (void*) 1);
  }
}

// Assembly:
subq $0x38, %rsp
movb %sil, %al
movq %rdi, 0x30(%rsp)
andb $0x1, %al
movb %al, 0x2f(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq %r8, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0x12fe1a
movq 0x50c1b7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e6220(%rip), %rsi    # 0x516013
leaq 0x47bbbe(%rip), %rdx    # 0x5ab9b8
leaq 0x418962(%rip), %rcx    # 0x548763
leaq 0x417646(%rip), %r8     # 0x54744e
movl $0x3b2, %r9d            # imm = 0x3B2
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12fe1c
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x30(%rsp), %rsi
callq 0x131830
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x12fe58
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rdi
movq 0x30(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: node_attribute_delete_callback
static void node_attribute_delete_callback(GtFeatureNode *changed,
                                           GT_UNUSED const char *key,
                                           GT_UNUSED void *data)
{
  GtUword *id;
  ObserverCallbackInfo *info = (ObserverCallbackInfo*) data;
  gt_assert(changed);
  if ((id = node_ul_gt_hashmap_get(info->fis->cache_node2id, changed))) {
    gt_hashmap_add(info->fis->changed, changed, (void*) 1);
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0x12febc
movq 0x50c115(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e617e(%rip), %rsi    # 0x516013
leaq 0x47bb1c(%rip), %rdx    # 0x5ab9b8
leaq 0x4188df(%rip), %rcx    # 0x548782
leaq 0x4175a4(%rip), %r8     # 0x54744e
movl $0x3be, %r9d            # imm = 0x3BE
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12febe
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x20(%rsp), %rsi
callq 0x131830
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0x12fefa
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rdi
movq 0x20(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: node_child_add_callback
static int node_child_add_callback(GtFeatureNode *parent,
                                   GtFeatureNode *child,
                                   void *data)
{
  int had_err = 0;
  GtUword *id, *child_id;
  ObserverCallbackInfo *info = (ObserverCallbackInfo*) data;
  gt_assert(parent && child);

  if ((id = node_ul_gt_hashmap_get(info->fis->cache_node2id, parent))) {
    if (!(child_id = node_ul_gt_hashmap_get(info->fis->cache_node2id, child))) {
      gt_hashmap_add(info->fis->added, child, (void*) 1);
    }
    gt_hashmap_add(info->fis->changed, parent, (void*) 1);
  }
  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x1c(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, 0x30(%rsp)
je 0x12ff34
cmpq $0x0, 0x28(%rsp)
jne 0x12ff6c
movq 0x50c065(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e60ce(%rip), %rsi    # 0x516013
leaq 0x418855(%rip), %rdx    # 0x5487a1
leaq 0x41885e(%rip), %rcx    # 0x5487b1
leaq 0x4174f4(%rip), %r8     # 0x54744e
movl $0x3cb, %r9d            # imm = 0x3CB
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x12ff6e
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x30(%rsp), %rsi
callq 0x131830
movq %rax, 0x10(%rsp)
cmpq $0x0, %rax
je 0x12ffe6
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0x131830
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
jne 0x12ffcb
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x38(%rax), %rdi
movq 0x28(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rdi
movq 0x30(%rsp), %rsi
movl $0x1, %edx
callq 0xe0fc0
movl 0x1c(%rsp), %eax
addq $0x38, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_anno_db_gfflike_new
GtAnnoDBSchema* gt_anno_db_gfflike_new(void)
{
  GtAnnoDBSchema *s = gt_anno_db_schema_create(gt_anno_db_gfflike_class());
  GtAnnoDBGFFlike *adg = anno_db_gfflike_cast(s);
  adg->visitor = gfflike_setup_visitor_new(adg);
  return s;
}

// Assembly:
subq $0x18, %rsp
callq 0x12dac0
movq %rax, %rdi
callq 0x1328e0
movq %rax, 0x10(%rsp)
callq 0x12dac0
movq %rax, %rdi
movq 0x10(%rsp), %rsi
callq 0x132ad0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x130900
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x10(%rsp), %rax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gfflike_setup_visitor_new
static GtRDBVisitor* gfflike_setup_visitor_new(GtAnnoDBGFFlike *adb)
{
  GtRDBVisitor *v = gt_rdb_visitor_create(gfflike_setup_visitor_class());
  GFFlikeSetupVisitor *sv = gfflike_setup_visitor_cast(v);
  gt_assert(adb);
  sv->annodb = adb;
  return v;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
callq 0x132830
movq %rax, %rdi
callq 0x1c63c0
movq %rax, 0x8(%rsp)
callq 0x132830
movq %rax, %rdi
movq 0x8(%rsp), %rsi
callq 0x1c6450
movq %rax, (%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0x130971
movq 0x50b660(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e56c9(%rip), %rsi    # 0x516013
leaq 0x418914(%rip), %rdx    # 0x549265
leaq 0x418911(%rip), %rcx    # 0x549269
leaq 0x416aef(%rip), %r8     # 0x54744e
movl $0x7e5, %r9d            # imm = 0x7E5
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x130973
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: unregister_observer
static int
unregister_observer(void *key, GT_UNUSED void *val, GT_UNUSED void *data,
                    GT_UNUSED GtError *err)
{
  GtFeatureNode *fn = (void*) key;
  gt_assert(fn);
  gt_feature_node_unset_observer(fn);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq %rcx, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0x131c80
movq 0x50a351(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e43ba(%rip), %rsi    # 0x516013
leaq 0x481290(%rip), %rdx    # 0x5b2ef0
leaq 0x416a68(%rip), %rcx    # 0x5486cf
leaq 0x4157e0(%rip), %r8     # 0x54744e
movl $0x665, %r9d            # imm = 0x665
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x131c82
movq (%rsp), %rdi
callq 0x16c3c0
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_save_del
static int gt_feature_index_gfflike_save_del(void *key, GT_UNUSED void *val,
                                             void *data, GtError *err)
{
  GtFeatureNode *fn = (GtFeatureNode*) key;
  GtFeatureNodeIterator *it;
  GtUword *id;
  ObserverCallbackInfo *oci = (ObserverCallbackInfo*) data;
  int had_err = 0;

  it = gt_feature_node_iterator_new(fn);
  id = node_ul_gt_hashmap_get(oci->fis->cache_node2id, fn);
  if (!id) {
    return 0;
  }

  while ((fn = gt_feature_node_iterator_next(it))) {
    id = node_ul_gt_hashmap_get(oci->fis->cache_node2id, fn);
    remove_node_by_id(oci->fis, *id, err);
  }
  return had_err;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movq %rdx, 0x38(%rsp)
movq %rcx, 0x30(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movq 0x28(%rsp), %rdi
callq 0x170b00
movq %rax, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0x131830
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0x131f81
movl $0x0, 0x54(%rsp)
jmp 0x131fd9
jmp 0x131f83
movq 0x20(%rsp), %rdi
callq 0x170e30
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
je 0x131fd1
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x50(%rax), %rdi
movq 0x28(%rsp), %rsi
callq 0x131830
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rsi
movq 0x30(%rsp), %rdx
callq 0x132450
jmp 0x131f83
movl 0xc(%rsp), %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gt_feature_index_gfflike_save_add
static int gt_feature_index_gfflike_save_add(void *key, GT_UNUSED void *val,
                                             void *data, GtError *err)
{
  GtFeatureNode *fn = (GtFeatureNode*) key;
  ObserverCallbackInfo *oci = (ObserverCallbackInfo*) data;
  int had_err = 0;

  had_err = gt_feature_index_add_feature_node((GtFeatureIndex*) oci->fis, fn,
                                              err);

  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movq %rcx, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movl $0x0, 0x4(%rsp)
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x169630
movl %eax, 0x4(%rsp)
movl 0x4(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: resave_each_attribute
static void resave_each_attribute(const char *attr_name, const char *attr_value,
                                  void *data)
{
  GFFlikeAttributeInfo *ai = (GFFlikeAttributeInfo*) data;
  gt_rdb_stmt_reset(ai->fis->stmts[GT_PSTMT_ATTRIBUTE_INSERT], ai->err);
  gt_rdb_stmt_bind_int(ai->fis->stmts[GT_PSTMT_ATTRIBUTE_INSERT], 0, ai->id,
                       ai->err);
  gt_rdb_stmt_bind_string(ai->fis->stmts[GT_PSTMT_ATTRIBUTE_INSERT], 1,
                          attr_name, ai->err);
  gt_rdb_stmt_bind_string(ai->fis->stmts[GT_PSTMT_ATTRIBUTE_INSERT], 2,
                          attr_value, ai->err);
  gt_rdb_stmt_exec(ai->fis->stmts[GT_PSTMT_ATTRIBUTE_INSERT], ai->err);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x1c42f0
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movl %eax, %edx
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
movl %eax, %esi
callq 0x1c4390
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rdi
movq 0x20(%rsp), %rdx
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movl $0x1, %esi
callq 0x1c44f0
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rdi
movq 0x18(%rsp), %rdx
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rcx
movl $0x2, %esi
callq 0x1c44f0
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq 0xb8(%rax), %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0x1c4650
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_gfflike.c
// Function: gfflike_setup_visitor_class
static const GtRDBVisitorClass* gfflike_setup_visitor_class()
{
  static const GtRDBVisitorClass *svc = NULL;
  gt_class_alloc_lock_enter();
  if (!svc) {
    svc = gt_rdb_visitor_class_new(sizeof (GtAnnoDBGFFlike),
                                   NULL,
                                   anno_db_gfflike_init_sqlite,
                                   anno_db_gfflike_init_mysql);
  }
  gt_class_alloc_lock_leave();
  return svc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x5104ca(%rip)    # 0x642d08
jne 0x132863
movl $0x20, %edi
xorl %eax, %eax
movl %eax, %esi
leaq -0x6160(%rip), %rdx     # 0x12c6f0
leaq -0x57d7(%rip), %rcx     # 0x12d080
callq 0x1c6310
movq %rax, 0x5104a5(%rip)    # 0x642d08
callq 0x9f280
movq 0x510499(%rip), %rax    # 0x642d08
popq %rcx
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_schema.c
// Function: gt_anno_db_schema_create
GtAnnoDBSchema* gt_anno_db_schema_create(const GtAnnoDBSchemaClass *dbc)
{
  GtAnnoDBSchema *s;
  gt_assert(dbc && dbc->size);
  s = gt_calloc(1, dbc->size);
  s->c_class = dbc;
  s->members = gt_calloc(1, sizeof (GtAnnoDBSchemaMembers));
  return s;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0x1328fc
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x132934
movq 0x50969d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e3706(%rip), %rsi    # 0x516013
leaq 0x41696f(%rip), %rdx    # 0x549283
leaq 0x416979(%rip), %rcx    # 0x549294
leaq 0x41698b(%rip), %r8     # 0x5492ad
movl $0x2e, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x132936
movq 0x10(%rsp), %rax
movq (%rax), %rsi
movl $0x1, %edi
leaq 0x416963(%rip), %rdx    # 0x5492ad
movl $0x2f, %ecx
callq 0xe83c0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movl $0x1, %edi
movl $0x4, %esi
leaq 0x416936(%rip), %rdx    # 0x5492ad
movl $0x31, %ecx
callq 0xe83c0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x8(%rsp), %rax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_schema.c
// Function: gt_anno_db_schema_delete
void gt_anno_db_schema_delete(GtAnnoDBSchema *s)
{
  if (!s) return;
  if (s->members->reference_count) {
    s->members->reference_count--;
    return;
  }
  gt_assert(s->c_class);
  if (s->c_class->free_func) s->c_class->free_func(s);
  gt_free(s->members);
  gt_free(s);
}

// Assembly:
pushq %rax
movq %rdi, (%rsp)
cmpq $0x0, (%rsp)
jne 0x132a11
jmp 0x132ac5
movq (%rsp), %rax
movq 0x8(%rax), %rax
cmpl $0x0, (%rax)
je 0x132a32
movq (%rsp), %rax
movq 0x8(%rax), %rax
movl (%rax), %ecx
addl $-0x1, %ecx
movl %ecx, (%rax)
jmp 0x132ac5
jmp 0x132a34
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0x132a76
movq 0x50955b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e35c4(%rip), %rsi    # 0x516013
leaq 0x4168dc(%rip), %rdx    # 0x549332
leaq 0x416884(%rip), %rcx    # 0x5492e1
leaq 0x416849(%rip), %r8     # 0x5492ad
movl $0x43, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x132a78
movq (%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x8(%rax)
je 0x132a97
movq (%rsp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rdi
callq *%rax
movq (%rsp), %rax
movq 0x8(%rax), %rdi
leaq 0x416807(%rip), %rsi    # 0x5492ad
movl $0x45, %edx
callq 0xe88c0
movq (%rsp), %rdi
leaq 0x4167f2(%rip), %rsi    # 0x5492ad
movl $0x46, %edx
callq 0xe88c0
popq %rax
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/anno_db_schema.c
// Function: gt_anno_db_schema_get_feature_index
GtFeatureIndex* gt_anno_db_schema_get_feature_index(GtAnnoDBSchema *s,
                                                    GtRDB *rdb, GtError *err)
{
  gt_assert(s && s->c_class);
  if (s->c_class->build_func)
    return s->c_class->build_func(s, rdb, err);
  return NULL;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq %rsi, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x132b76
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0x132bae
movq 0x509423(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e348c(%rip), %rsi    # 0x516013
leaq 0x41679f(%rip), %rdx    # 0x54932d
leaq 0x4167a8(%rip), %rcx    # 0x54933d
leaq 0x416711(%rip), %r8     # 0x5492ad
movl $0x53, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x132bb0
movq 0x18(%rsp), %rax
movq (%rax), %rax
cmpq $0x0, 0x10(%rax)
je 0x132be3
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
movq %rax, 0x20(%rsp)
jmp 0x132bec
movq $0x0, 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/array_in_stream.c
// Function: gt_array_in_stream_class
const GtNodeStreamClass* gt_array_in_stream_class(void)
{
  static const GtNodeStreamClass *gsc = NULL;
  gt_class_alloc_lock_enter();
  if (!gsc) {
    gsc = gt_node_stream_class_new(sizeof (GtArrayInStream),
                                   NULL,
                                   gt_array_in_stream_next);
  }
  gt_class_alloc_lock_leave();
  return gsc;
}

// Assembly:
pushq %rax
callq 0x9f220
cmpq $0x0, 0x510102(%rip)    # 0x642d10
jne 0x132c2c
movl $0x28, %edi
xorl %eax, %eax
movl %eax, %esi
leaq 0x20(%rip), %rdx        # 0x132c40
callq 0x1b1ae0
movq %rax, 0x5100e4(%rip)    # 0x642d10
callq 0x9f280
movq 0x5100d8(%rip), %rax    # 0x642d10
popq %rcx
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/extended/array_in_stream.c
// Function: gt_array_in_stream_next
static int gt_array_in_stream_next(GtNodeStream *gs, GtGenomeNode **gn,
                                   GT_UNUSED GtError *err)
{
  GtArrayInStream *ais;
  int had_err = 0;

  gt_error_check(err);
  ais = gt_array_in_stream_cast(gs);
  if (ais->next_index >= gt_array_size(ais->nodes))
    *gn = NULL;
  else {
    *gn = *(GtGenomeNode**) gt_array_get(ais->nodes, ais->next_index);
    ais->next_index++;
    if (ais->progress)
      *ais->progress = *ais->progress + 1;
  }

  return had_err;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq %rdx, 0x20(%rsp)
movl $0x0, 0x14(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x132cab
movq 0x20(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x132c73
jmp 0x132cab
movq 0x509326(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x3e338f(%rip), %rsi    # 0x516013
leaq 0x3e3534(%rip), %rdx    # 0x5161bf
leaq 0x416705(%rip), %rcx    # 0x549397
leaq 0x4166df(%rip), %r8     # 0x549378
movl $0x28, %r9d
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x132cad
callq 0x132c00
movq %rax, %rdi
movq 0x30(%rsp), %rsi
callq 0x1b20f0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0x81370
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jb 0x132cfb
movq 0x28(%rsp), %rax
movq $0x0, (%rax)
jmp 0x132d58
movq 0x18(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0x80b60
movq (%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
movq 0x18(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x18(%rax)
movq 0x18(%rsp), %rax
cmpq $0x0, 0x20(%rax)
je 0x132d56
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq 0x18(%rsp), %rax
movq 0x20(%rax), %rax
movq %rcx, (%rax)
jmp 0x132d58
movl 0x14(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)