LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_get_exons
static int feature_node_lua_get_exons(lua_State *L)
{
  GtGenomeNode **gn = check_genome_node(L, 1);
  GtArray *exons = gt_array_new(sizeof (GtGenomeNode*));
  GtUword i = 0;
  GtFeatureNode *fn;
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  gt_feature_node_get_exons(fn, exons);
  lua_newtable(L);
  for (i = 0; i < gt_array_size(exons); i++) {
    lua_pushnumber(L, i+1);
    gt_lua_genome_node_push(L, (GtGenomeNode*)
                            gt_genome_node_ref(*(GtGenomeNode**)
                                               gt_array_get(exons, i)));
    lua_rawset(L, -3);
  }
  gt_array_delete(exons);
  return 1;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7e2d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x38(%rsp)
movl $0x8, %edi
callq 0x75ab0
movq %rax, 0x30(%rsp)
movq $0x0, 0x28(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x20(%rsp)
movb $0x1, %al
cmpq $0x0, 0x20(%rsp)
movb %al, 0x1f(%rsp)
jne 0xab86c
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7ee6(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1f(%rsp)
movb 0x1f(%rsp), %al
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x21fc0
movq 0x40(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x519c0
movq $0x0, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
callq 0x76490
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
jae 0xab944
movq 0x40(%rsp), %rdi
movq 0x28(%rsp), %rax
incq %rax
movq %rax, %xmm0
movaps 0xb2bac(%rip), %xmm1    # 0x15e480
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0xb2bb0(%rip), %xmm1    # 0x15e490
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x506d0
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x75c80
movq (%rax), %rdi
callq 0x25140
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0xaade0
movq 0x40(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x52070
movq 0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
jmp 0xab896
movq 0x30(%rsp), %rdi
callq 0x770a0
movl $0x1, %eax
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_accept
static int genome_node_lua_accept(lua_State *L)
{
  GtGenomeNode **gn;
  GtNodeVisitor **gv;
  GtError *err;
  gn = check_genome_node(L, 1);
  gv = check_genome_visitor(L, 2);
  err = gt_error_new();
  if (gt_genome_node_accept(*gn, *gv, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7cbd(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movl $0x2, %esi
leaq 0xc7ded(%rip), %rdx     # 0x173782
callq 0x559c0
movq %rax, 0x8(%rsp)
callq 0xc0b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rax
movq (%rax), %rsi
movq (%rsp), %rdx
callq 0x25cc0
cmpl $0x0, %eax
je 0xab9da
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
callq 0xe84e0
movl %eax, 0x24(%rsp)
jmp 0xab9eb
movq (%rsp), %rdi
callq 0xc490
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_add_attribute
static int genome_node_lua_add_attribute(lua_State *L)
{
  GtGenomeNode **node;
  const char *key, *val;
  GtFeatureNode *f;
  node = check_genome_node(L, 1);
  f = gt_feature_node_try_cast(*node);
  luaL_argcheck(L, f, 1, "not a feature node");
  key = luaL_checkstring(L, 2);
  luaL_argcheck(L, !gt_feature_node_get_attribute(f, key), 2,
                "attribute already present");
  val = luaL_checkstring(L, 3);
  gt_feature_node_add_attribute(f, key, val);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7c1d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xaba64
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7cee(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x20(%rsp)
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1fde0
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0xe(%rsp)
je 0xababe
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc7cee(%rip), %rdx     # 0x17379d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x18(%rsp)
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x22b50
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_remove_attribute
static int genome_node_lua_remove_attribute(lua_State *L)
{
  GtGenomeNode **node;
  const char *key;
  GtFeatureNode *f;
  node = check_genome_node(L, 1);
  f = gt_feature_node_try_cast(*node);
  luaL_argcheck(L, f, 1, "not a feature node");
  key = luaL_checkstring(L, 2);
  luaL_argcheck(L, gt_feature_node_get_attribute(f, key), 2,
                "attribute not present in node");
  gt_feature_node_remove_attribute(f, key);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7b1d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x8(%rsp)
movb $0x1, %al
cmpq $0x0, 0x8(%rsp)
movb %al, 0x7(%rsp)
jne 0xabb64
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7bee(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movq 0x20(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1fde0
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0x6(%rsp)
jne 0xabbbe
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0xc7c08(%rip), %rdx     # 0x1737b7
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x22cf0
xorl %eax, %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_set_attribute
static int genome_node_lua_set_attribute(lua_State *L)
{
  GtGenomeNode **node;
  const char *key, *val;
  GtFeatureNode *f;
  node = check_genome_node(L, 1);
  f = gt_feature_node_try_cast(*node);
  luaL_argcheck(L, f, 1, "not a feature node");
  key = luaL_checkstring(L, 2);
  luaL_argcheck(L, strlen(key) > 0, 2,
                "key must have length > 0");
  val = luaL_checkstring(L, 3);
  luaL_argcheck(L, strlen(key) > 0, 3,
                "value must have length > 0");
  gt_feature_node_set_attribute(f, key, val);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7a3d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xabc44
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7b0e(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0xb240
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0xe(%rsp)
ja 0xabc99
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc7b4b(%rip), %rdx     # 0x1737d5
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
callq 0xb240
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0xd(%rsp)
ja 0xabcee
movq 0x30(%rsp), %rdi
movl $0x3, %esi
leaq 0xc7b0f(%rip), %rdx     # 0x1737ee
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xd(%rsp)
movb 0xd(%rsp), %al
movq 0x10(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x21400
xorl %eax, %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_add_child
static int genome_node_lua_add_child(lua_State *L)
{
  GtGenomeNode **parent, **child;
  GtFeatureNode *pf, *cf;
  parent = check_genome_node(L, 1);
  child  = check_genome_node(L, 2);
  pf = gt_feature_node_try_cast(*parent);
  luaL_argcheck(L, pf, 1, "not a feature node");
  cf = gt_feature_node_try_cast(*child);
  luaL_argcheck(L, cf, 2, "not a feature node");
  luaL_argcheck(L,
               !strcmp(gt_str_get(gt_genome_node_get_seqid((GtGenomeNode*) pf)),
                      gt_str_get(gt_genome_node_get_seqid((GtGenomeNode*) cf))),
                2, "has a sequence ID different to the one of its parent");
  gt_feature_node_add_child(pf, (GtFeatureNode*)
                                gt_genome_node_ref((GtGenomeNode*) cf));
  return 0;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc790d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x38(%rsp)
movq 0x40(%rsp), %rdi
movl $0x2, %esi
leaq 0xc78f2(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x28(%rsp)
movb $0x1, %al
cmpq $0x0, 0x28(%rsp)
movb %al, 0x1f(%rsp)
jne 0xabd8f
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc79c3(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1f(%rsp)
movb 0x1f(%rsp), %al
movq 0x30(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x20(%rsp)
movb $0x1, %al
cmpq $0x0, 0x20(%rsp)
movb %al, 0x1e(%rsp)
jne 0xabdd3
movq 0x40(%rsp), %rdi
movl $0x2, %esi
leaq 0xc797f(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1e(%rsp)
movb 0x1e(%rsp), %al
movq 0x28(%rsp), %rdi
callq 0x258a0
movq %rax, %rdi
callq 0x19940
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
callq 0x258a0
movq %rax, %rdi
callq 0x19940
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xb850
movl %eax, %ecx
movb $0x1, %al
cmpl $0x0, %ecx
movb %al, 0x1d(%rsp)
je 0xabe3a
movq 0x40(%rsp), %rdi
movl $0x2, %esi
leaq 0xc79de(%rip), %rdx     # 0x173809
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1d(%rsp)
movb 0x1d(%rsp), %al
movq 0x28(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
callq 0x25140
movq 0x8(%rsp), %rdi
movq %rax, %rsi
callq 0x20db0
xorl %eax, %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: genome_node_lua_contains_marked
static int genome_node_lua_contains_marked(lua_State *L)
{
  GtGenomeNode **gn;
  gn = check_genome_node(L, 1);
  lua_pushboolean(L,
                  gt_feature_node_contains_marked(gt_feature_node_cast(*gn)));
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0xc770d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x20750
movq %rax, %rdi
callq 0x23ef0
movq (%rsp), %rdi
andb $0x1, %al
movzbl %al, %esi
callq 0x51340
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_output_leading
static int feature_node_lua_output_leading(lua_State *L)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  gt_gff3_output_leading(fn, NULL);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc76ad(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xabfd4
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc777e(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x10(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7b50
xorl %eax, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_get_type
static int feature_node_lua_get_type(lua_State *L)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  lua_pushstring(L, gt_feature_node_get_type(fn));
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc762d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xac054
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc76fe(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x211d0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_set_type
static int feature_node_lua_set_type(lua_State *L)
{
  GtGenomeNode **gn;
  const char *type = NULL;
  GtFeatureNode *fn;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  type = luaL_checkstring(L, 2);
  gt_assert(type);
  luaL_argcheck(L, strlen(type) > 0, 2, "must not be empty");
  gt_feature_node_set_type(fn, type);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7584(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x8(%rsp)
movb $0x1, %al
cmpq $0x0, 0x8(%rsp)
movb %al, 0x7(%rsp)
jne 0xac0fd
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7655(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movq 0x20(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xac159
movq 0x107eb0(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb1f34(%rip), %rsi     # 0x15e066
leaq 0xb5aee(%rip), %rdx     # 0x161c27
leaq 0xc76fe(%rip), %rcx     # 0x17383e
leaq 0xc74d4(%rip), %r8      # 0x17361b
movl $0x22c, %r9d            # imm = 0x22C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xac15b
movq 0x10(%rsp), %rdi
callq 0xb240
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0x6(%rsp)
ja 0xac194
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0xddd23(%rip), %rdx     # 0x189ea8
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x21630
xorl %eax, %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_each_attribute
static int feature_node_lua_each_attribute(lua_State *L) {
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  GtFeatureNodeLuaEachAttribInfo **info;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  info = (GtFeatureNodeLuaEachAttribInfo**) lua_newuserdata(L,
                                     sizeof (GtFeatureNodeLuaEachAttribInfo *));
  luaL_getmetatable(L, "GenomeTools.each_attrib");
  lua_setmetatable(L, -2);
  *info = gt_calloc(1, sizeof (GtFeatureNodeLuaEachAttribInfo));
  gt_assert(*info);
  (*info)->fn = (GtFeatureNode*) gt_genome_node_ref(*gn);
  (*info)->cur_attr = 0;
  (*info)->attribs = gt_feature_node_get_attribute_list(fn);
  lua_pushcclosure(L, feature_node_lua_each_attribute_iter, 1);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc742d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0x7(%rsp)
jne 0xac254
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc74fe(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movq 0x20(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0xc73eb(%rip), %rdx     # 0x173668
callq 0x51640
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %edi
movl $0x18, %esi
leaq 0xc7379(%rip), %rdx     # 0x17361b
movl $0x1ea, %ecx            # imm = 0x1EA
callq 0xd5b0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xac2fa
movq 0x107d0f(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb1d93(%rip), %rsi     # 0x15e066
leaq 0xc75a8(%rip), %rdx     # 0x173882
leaq 0xc75a7(%rip), %rcx     # 0x173888
leaq 0xc7333(%rip), %r8      # 0x17361b
movl $0x1eb, %r9d            # imm = 0x1EB
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xac2fc
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x25140
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x10(%rax)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq $0x0, (%rax)
movq 0x10(%rsp), %rdi
callq 0x1fe30
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x20(%rsp), %rdi
leaq 0xbd4(%rip), %rsi       # 0xacf20
movl $0x1, %edx
callq 0x51120
movl $0x1, %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_has_child_of_type
static int feature_node_lua_has_child_of_type(lua_State *L)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn, GT_UNUSED *fn2 = NULL;
  GtFeatureNodeIterator *it;
  bool found = false;
  const char *type;

  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  type = gt_symbol(luaL_checkstring(L, 2));
  it = gt_feature_node_iterator_new(fn);
  /* skip parent node itself */
  fn2 = gt_feature_node_iterator_next(it);
  gt_assert(fn2);
  while (!found && (fn2 = gt_feature_node_iterator_next(it))) {
    found = (gt_feature_node_get_type(fn2) == type);
  }
  gt_feature_node_iterator_delete(it);
  lua_pushboolean(L, found);
  return 1;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x40(%rsp)
movq $0x0, 0x28(%rsp)
movb $0x0, 0x1f(%rsp)
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc72af(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x30(%rsp)
movb $0x1, %al
cmpq $0x0, 0x30(%rsp)
movb %al, 0xf(%rsp)
jne 0xac3d2
movq 0x40(%rsp), %rdi
movl $0x1, %esi
leaq 0xc7380(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x40(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, %rdi
callq 0x1baa0
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
callq 0x248a0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rdi
callq 0x24bd0
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0xac454
movq 0x107bb5(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb1c39(%rip), %rsi     # 0x15e066
leaq 0xc7499(%rip), %rdx     # 0x1738cd
leaq 0xc7496(%rip), %rcx     # 0x1738d1
leaq 0xc71d9(%rip), %r8      # 0x17361b
movl $0x314, %r9d            # imm = 0x314
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xac456
jmp 0xac458
xorl %eax, %eax
testb $0x1, 0x1f(%rsp)
movb %al, 0xe(%rsp)
jne 0xac47f
movq 0x20(%rsp), %rdi
callq 0x24bd0
movq %rax, 0x28(%rsp)
cmpq $0x0, %rax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
testb $0x1, %al
jne 0xac489
jmp 0xac4a3
movq 0x28(%rsp), %rdi
callq 0x211d0
cmpq 0x10(%rsp), %rax
sete %al
andb $0x1, %al
movb %al, 0x1f(%rsp)
jmp 0xac458
movq 0x20(%rsp), %rdi
callq 0x24cf0
movq 0x40(%rsp), %rdi
movb 0x1f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x51340
movl $0x1, %eax
addq $0x48, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_extract_sequence
static int feature_node_lua_extract_sequence(lua_State *L)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  const char *type;
  bool join;
  GtRegionMapping **region_mapping;
  GtStr *sequence;
  GtError *err;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  type = luaL_checkstring(L, 2);
  join = lua_toboolean(L, 3);
  region_mapping = check_region_mapping(L, 4);
  err = gt_error_new();
  sequence = gt_str_new();
  if (gt_extract_feature_sequence(sequence, *gn, gt_symbol(type), join,
                                  NULL, NULL, *region_mapping, err)) {
    gt_str_delete(sequence);
    return gt_lua_error(L, err);
  }
  lua_pushstring(L, gt_str_get(sequence));
  gt_str_delete(sequence);
  gt_error_delete(err);
  return 1;
}

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x68(%rsp)
movq 0x68(%rsp), %rdi
movl $0x1, %esi
leaq 0xc714d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x58(%rsp)
movb $0x1, %al
cmpq $0x0, 0x58(%rsp)
movb %al, 0x2f(%rsp)
jne 0xac534
movq 0x68(%rsp), %rdi
movl $0x1, %esi
leaq 0xc721e(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x2f(%rsp)
movb 0x2f(%rsp), %al
movq 0x68(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x50(%rsp)
movq 0x68(%rsp), %rdi
movl $0x3, %esi
callq 0x50110
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x4f(%rsp)
movq 0x68(%rsp), %rdi
movl $0x4, %esi
leaq 0xc7378(%rip), %rdx     # 0x1738f4
callq 0x559c0
movq %rax, 0x40(%rsp)
callq 0xc0b0
movq %rax, 0x30(%rsp)
callq 0x18f00
movq %rax, 0x38(%rsp)
movq 0x38(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x60(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x50(%rsp), %rdi
callq 0x1baa0
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq %rax, %rdx
movb 0x4f(%rsp), %cl
movq 0x40(%rsp), %rax
movq (%rax), %r10
movq 0x30(%rsp), %rax
xorl %r8d, %r8d
movl %r8d, %r9d
andb $0x1, %cl
movzbl %cl, %ecx
movq %r9, %r8
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0xe7130
cmpl $0x0, %eax
je 0xac61a
movq 0x38(%rsp), %rdi
callq 0x1afc0
movq 0x68(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x74(%rsp)
jmp 0xac657
movq 0x68(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
callq 0x19940
movq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movq 0x38(%rsp), %rdi
callq 0x1afc0
movq 0x30(%rsp), %rdi
callq 0xc490
movl $0x1, 0x74(%rsp)
movl 0x74(%rsp), %eax
addq $0x78, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_extract_and_translate_sequence
static int feature_node_lua_extract_and_translate_sequence(lua_State *L)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  const char *type;
  bool join;
  GtRegionMapping **region_mapping;
  GtStr *sequence;
  GtError *err;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  type = luaL_checkstring(L, 2);
  join = lua_toboolean(L, 3);
  region_mapping = check_region_mapping(L, 4);
  err = gt_error_new();
  sequence = gt_str_new();
  if (gt_extract_and_translate_feature_sequence(fn, gt_symbol(type), join,
                                                NULL, NULL, *region_mapping,
                                                NULL,
                                                sequence, NULL, NULL, err)) {
    gt_str_delete(sequence);
    return gt_lua_error(L, err);
  }
  lua_pushstring(L, gt_str_get(sequence));
  gt_str_delete(sequence);
  gt_error_delete(err);
  return 1;
}

// Assembly:
subq $0x88, %rsp
movq %rdi, 0x78(%rsp)
movq 0x78(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6fba(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x70(%rsp)
movq 0x70(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x68(%rsp)
movb $0x1, %al
cmpq $0x0, 0x68(%rsp)
movb %al, 0x3f(%rsp)
jne 0xac6c7
movq 0x78(%rsp), %rdi
movl $0x1, %esi
leaq 0xc708b(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x3f(%rsp)
movb 0x3f(%rsp), %al
movq 0x78(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x60(%rsp)
movq 0x78(%rsp), %rdi
movl $0x3, %esi
callq 0x50110
cmpl $0x0, %eax
setne %al
andb $0x1, %al
movb %al, 0x5f(%rsp)
movq 0x78(%rsp), %rdi
movl $0x4, %esi
leaq 0xc71e5(%rip), %rdx     # 0x1738f4
callq 0x559c0
movq %rax, 0x50(%rsp)
callq 0xc0b0
movq %rax, 0x40(%rsp)
callq 0x18f00
movq %rax, 0x48(%rsp)
movq 0x68(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x60(%rsp), %rdi
callq 0x1baa0
movq 0x30(%rsp), %rdi
movq %rax, %rsi
movb 0x5f(%rsp), %cl
movq 0x50(%rsp), %rax
movq (%rax), %r9
movq 0x48(%rsp), %r10
movq 0x40(%rsp), %rax
xorl %edx, %edx
movl %edx, %r8d
andb $0x1, %cl
movzbl %cl, %edx
movq %r8, %rcx
movq $0x0, (%rsp)
movq %r10, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movq %rax, 0x20(%rsp)
callq 0xe77e0
cmpl $0x0, %eax
je 0xac7bd
movq 0x48(%rsp), %rdi
callq 0x1afc0
movq 0x78(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x84(%rsp)
jmp 0xac7fd
movq 0x78(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rdi
callq 0x19940
movq 0x28(%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movq 0x48(%rsp), %rdi
callq 0x1afc0
movq 0x40(%rsp), %rdi
callq 0xc490
movl $0x1, 0x84(%rsp)
movl 0x84(%rsp), %eax
addq $0x88, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_remove_leaf
static int feature_node_lua_remove_leaf(lua_State *L)
{
  GtGenomeNode **parent, **leaf;
  GtFeatureNode *pf, *lf;
  parent = check_genome_node(L, 1);
  leaf  = check_genome_node(L, 2);
  pf = gt_feature_node_try_cast(*parent);
  luaL_argcheck(L, pf, 1, "not a feature node");
  lf = gt_feature_node_try_cast(*leaf);
  luaL_argcheck(L, lf, 2, "not a feature node");
  luaL_argcheck(L, gt_feature_node_number_of_children(lf) == 0, 2,
                "must be a leaf");
  gt_feature_node_remove_leaf(pf, lf);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6e0d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc6df2(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x18(%rsp)
movb %al, 0xf(%rsp)
jne 0xac88f
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6ec3(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xe(%rsp)
jne 0xac8d3
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc6e7f(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
movq 0x10(%rsp), %rdi
callq 0x238a0
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0xd(%rsp)
je 0xac910
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc700e(%rip), %rdx     # 0x17390f
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xd(%rsp)
movb 0xd(%rsp), %al
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x23ac0
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: meta_node_lua_get_data
static int meta_node_lua_get_data(lua_State *L)
{
  GtGenomeNode **gn;
  GtMetaNode *mn;
  const char *meta_data = NULL;
  gn = check_genome_node(L, 1);
  /* make sure we get a meta node */
  mn = gt_meta_node_try_cast(*gn);
  luaL_argcheck(L, mn, 1, "not a meta node");
  meta_data = gt_meta_node_get_data(mn);
  if (meta_data) {
    lua_pushstring(L, meta_data);
  } else {
    lua_pushnil(L);
  }
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq $0x0, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6ce4(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x34170
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0x7(%rsp)
jne 0xac99d
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6f90(%rip), %rdx     # 0x17391e
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movq 0x10(%rsp), %rdi
callq 0x34120
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xac9c9
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x50970
jmp 0xac9d3
movq 0x20(%rsp), %rdi
callq 0x506a0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: meta_node_lua_get_directive
static int meta_node_lua_get_directive(lua_State *L)
{
  GtGenomeNode **gn;
  GtMetaNode *mn;
  const char *meta_directive = NULL;
  gn = check_genome_node(L, 1);
  /* make sure we get a meta node */
  mn = gt_meta_node_try_cast(*gn);
  luaL_argcheck(L, mn, 1, "not a meta node");
  meta_directive = gt_meta_node_get_directive(mn);
  gt_assert(meta_directive);
  lua_pushstring(L, meta_directive);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq $0x0, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6c34(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x34170
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0x7(%rsp)
jne 0xaca4d
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6ee0(%rip), %rdx     # 0x17391e
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movq 0x10(%rsp), %rdi
callq 0x340c0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xacaa0
movq 0x107569(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb15ed(%rip), %rsi     # 0x15e066
leaq 0xb9427(%rip), %rdx     # 0x165ea7
leaq 0xc6ea7(%rip), %rcx     # 0x17392e
leaq 0xc6b8d(%rip), %r8      # 0x17361b
movl $0x23c, %r9d            # imm = 0x23C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xacaa2
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x50970
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: comment_node_lua_get_comment
static int comment_node_lua_get_comment(lua_State *L)
{
  GtGenomeNode **gn;
  GtCommentNode *cn;
  gn = check_genome_node(L, 1);
  /* make sure we get a meta node */
  cn = gt_comment_node_try_cast(*gn);
  luaL_argcheck(L, cn, 1, "not a comment node");
  lua_pushstring(L, gt_comment_node_get_comment(cn));
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6b5d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0xa5e70
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xacb24
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6e35(%rip), %rdx     # 0x17394a
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0xa5e10
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: sequence_node_lua_get_description
static int sequence_node_lua_get_description(lua_State *L)
{
  GtGenomeNode **gn;
  GtSequenceNode *sn;
  gn = check_genome_node(L, 1);
  /* make sure we get a sequence node */
  sn = gt_sequence_node_try_cast(*gn);
  luaL_argcheck(L, sn, 1, "not a sequence node");
  lua_pushstring(L, gt_sequence_node_get_description(sn));
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6abd(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x36320
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xacbc4
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6da8(%rip), %rdx     # 0x17395d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x36200
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: sequence_node_lua_get_sequence
static int sequence_node_lua_get_sequence(lua_State *L)
{
  GtGenomeNode **gn;
  GtSequenceNode *sn;
  gn = check_genome_node(L, 1);
  /* make sure we get a sequence node */
  sn = gt_sequence_node_try_cast(*gn);
  luaL_argcheck(L, sn, 1, "not a sequence node");
  lua_pushstring(L, gt_sequence_node_get_sequence(sn));
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6a1d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x36320
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xacc64
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6d08(%rip), %rdx     # 0x17395d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x36260
movq (%rsp), %rdi
movq %rax, %rsi
callq 0x50970
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: sequence_node_lua_get_sequence_length
static int sequence_node_lua_get_sequence_length(lua_State *L)
{
  GtGenomeNode **gn;
  GtSequenceNode *sn;
  gn = check_genome_node(L, 1);
  /* make sure we get a sequence node */
  sn = gt_sequence_node_try_cast(*gn);
  luaL_argcheck(L, sn, 1, "not a sequence node");
  lua_pushnumber(L, gt_sequence_node_get_sequence_length(sn));
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc697d(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x36320
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0xf(%rsp)
jne 0xacd04
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6c68(%rip), %rdx     # 0x17395d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
callq 0x362c0
movq (%rsp), %rdi
movq %rax, %xmm0
movaps 0xb1755(%rip), %xmm1    # 0x15e480
punpckldq %xmm1, %xmm0    # xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
movapd 0xb1759(%rip), %xmm1    # 0x15e490
subpd %xmm1, %xmm0
movaps %xmm0, %xmm1
unpckhpd %xmm0, %xmm0            # xmm0 = xmm0[1,1]
addsd %xmm1, %xmm0
callq 0x506d0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_get_children_generic
static int feature_node_lua_get_children_generic(lua_State *L, bool direct)
{
  GtGenomeNode **gn;
  GtFeatureNode *fn;
  GtFeatureNodeIterator **it;
  gn = check_genome_node(L, 1);
  /* make sure we get a feature node */
  fn = gt_feature_node_try_cast(*gn);
  luaL_argcheck(L, fn, 1, "not a feature node");
  it = (GtFeatureNodeIterator**) lua_newuserdata(L,
                                              sizeof (GtFeatureNodeIterator *));
  luaL_getmetatable(L, "GenomeTools.get_children");
  lua_setmetatable(L, -2);
  if (direct)
    *it = gt_feature_node_iterator_new_direct(fn);
  else
    *it = gt_feature_node_iterator_new(fn);
  gt_assert(*it);
  lua_pushcclosure(L, feature_node_lua_get_children_iter, 1);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movb %sil, %al
movq %rdi, 0x30(%rsp)
andb $0x1, %al
movb %al, 0x2f(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc68b4(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
callq 0x241f0
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x18(%rsp)
movb %al, 0xf(%rsp)
jne 0xacdcd
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0xc6985(%rip), %rdx     # 0x173743
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0xc6859(%rip), %rdx     # 0x17364f
callq 0x51640
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
testb $0x1, 0x2f(%rsp)
je 0xace28
movq 0x18(%rsp), %rdi
callq 0x24a80
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
jmp 0xace3d
movq 0x18(%rsp), %rdi
callq 0x248a0
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
jmp 0xace3f
movq 0x10(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xace82
movq 0x107187(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb120b(%rip), %rsi     # 0x15e066
leaq 0xc69f6(%rip), %rdx     # 0x173858
leaq 0xc69f3(%rip), %rcx     # 0x17385c
leaq 0xc67ab(%rip), %r8      # 0x17361b
movl $0x2f5, %r9d            # imm = 0x2F5
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xace84
movq 0x30(%rsp), %rdi
leaq 0x20(%rip), %rsi        # 0xaceb0
movl $0x1, %edx
callq 0x51120
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_get_children_iter
static int feature_node_lua_get_children_iter(lua_State *L)
{
  GtFeatureNodeIterator *it;
  GtFeatureNode *fn;
  it = *(GtFeatureNodeIterator**) lua_touserdata(L, lua_upvalueindex(1));
  if ((fn = gt_feature_node_iterator_next(it))) {
    gt_lua_genome_node_push(L, gt_genome_node_ref((GtGenomeNode*) fn));
    return 1;
  } else
    return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0xffffd8ed, %esi       # imm = 0xFFFFD8ED
callq 0x50530
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
callq 0x24bd0
movq %rax, 0x8(%rsp)
cmpq $0x0, %rax
je 0xacf0e
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
callq 0x25140
movq (%rsp), %rdi
movq %rax, %rsi
callq 0xaade0
movl $0x1, 0x24(%rsp)
jmp 0xacf16
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: feature_node_lua_each_attribute_iter
static int feature_node_lua_each_attribute_iter(lua_State *L) {
  GtFeatureNodeLuaEachAttribInfo *info;
  info = *(GtFeatureNodeLuaEachAttribInfo**) lua_touserdata(L,
                                                           lua_upvalueindex(1));
  if (!info->attribs) return 0;
  if (info->cur_attr < gt_str_array_size(info->attribs)) {
    const char *attr, *val;
    attr = gt_str_array_get(info->attribs, info->cur_attr);
    gt_assert(attr);
    val = gt_feature_node_get_attribute(info->fn, attr);
    gt_assert(val);
    lua_pushstring(L, attr);
    lua_pushstring(L, val);
    info->cur_attr++;
    return 2;
  } else
    return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0xffffd8ed, %esi       # imm = 0xFFFFD8ED
callq 0x50530
movq (%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xacf59
movl $0x0, 0x34(%rsp)
jmp 0xad07b
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x1b720
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0xad073
movq 0x20(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rsi
callq 0x1b320
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xacfe0
movq 0x107029(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb10ad(%rip), %rsi     # 0x15e066
leaq 0xb7aa6(%rip), %rdx     # 0x164a66
leaq 0xc68e1(%rip), %rcx     # 0x1738a8
leaq 0xc664d(%rip), %r8      # 0x17361b
movl $0x1c8, %r9d            # imm = 0x1C8
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xacfe2
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x1fde0
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xad03a
movq 0x106fcf(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb1053(%rip), %rsi     # 0x15e066
leaq 0xbc31e(%rip), %rdx     # 0x169338
leaq 0xc6887(%rip), %rcx     # 0x1738a8
leaq 0xc65f3(%rip), %r8      # 0x17361b
movl $0x1ca, %r9d            # imm = 0x1CA
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad03c
movq 0x28(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0x50970
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x50970
movq 0x20(%rsp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movl $0x2, 0x34(%rsp)
jmp 0xad07b
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: region_node_lua_new
static int region_node_lua_new(lua_State *L)
{
  GtGenomeNode **rn;
  GtUword startpos, endpos;
  const char *seqid;
  GtStr *seqid_str;
  gt_assert(L);
  /* get_check parameters */
  seqid = luaL_checkstring(L, 1);
  startpos = luaL_checklong(L, 2);
  endpos   = luaL_checklong(L, 3);
  luaL_argcheck(L, startpos > 0, 2, "must be > 0");
  luaL_argcheck(L, endpos > 0, 3, "must be > 0");
  luaL_argcheck(L, startpos <= endpos, 2, "must be <= endpos");
  /* construct object */
  rn = lua_newuserdata(L, sizeof (GtGenomeNode*));
  seqid_str = gt_str_new_cstr(seqid);
  *rn = gt_region_node_new(seqid_str, startpos, endpos);
  gt_str_delete(seqid_str);
  gt_assert(*rn);
  luaL_getmetatable(L, GENOME_NODE_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
cmpq $0x0, 0x30(%rsp)
jne 0xad379
movq 0x106c90(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb0d14(%rip), %rsi     # 0x15e066
leaq 0xbdaa5(%rip), %rdx     # 0x16adfe
leaq 0xc6678(%rip), %rcx     # 0x1739d8
leaq 0xc62b4(%rip), %r8      # 0x17361b
movl $0x51, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad37b
movq 0x30(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x55c40
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x20(%rsp)
movb %al, 0x7(%rsp)
ja 0xad3e9
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc65ac(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
movb $0x1, %al
cmpq $0x0, 0x18(%rsp)
movb %al, 0x6(%rsp)
ja 0xad41b
movq 0x30(%rsp), %rdi
movl $0x3, %esi
leaq 0xc657a(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movq 0x20(%rsp), %rcx
movb $0x1, %al
cmpq 0x18(%rsp), %rcx
movb %al, 0x5(%rsp)
jbe 0xad451
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0xc6550(%rip), %rdx     # 0x173992
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x5(%rsp)
movb 0x5(%rsp), %al
movq 0x30(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x28(%rsp)
movq 0x10(%rsp), %rdi
callq 0x18f70
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x20(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0x35c30
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rdi
callq 0x1afc0
movq 0x28(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xad4e4
movq 0x106b25(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb0ba9(%rip), %rsi     # 0x15e066
leaq 0xc6528(%rip), %rdx     # 0x1739ec
leaq 0xc650d(%rip), %rcx     # 0x1739d8
leaq 0xc6149(%rip), %r8      # 0x17361b
movl $0x5e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad4e6
movq 0x30(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0xc6140(%rip), %rdx     # 0x173637
callq 0x51640
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/genome_node_lua.c
// Function: meta_node_lua_new
static int meta_node_lua_new(lua_State *L)
{
  GtGenomeNode **mn;
  const char *directive = NULL, *data = NULL;
  gt_assert(L);
  /* get_check parameters */
  directive = luaL_checkstring(L, 1);
  if (!lua_isnil(L, 2))
    data = luaL_checkstring(L, 2);
  /* construct object */
  mn = lua_newuserdata(L, sizeof (GtGenomeNode*));
  gt_assert(directive);
  *mn = gt_meta_node_new(directive, data);
  gt_assert(*mn);
  luaL_getmetatable(L, GENOME_NODE_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq $0x0, 0x10(%rsp)
movq $0x0, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0xad57b
movq 0x106a8e(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb0b12(%rip), %rsi     # 0x15e066
leaq 0xbd8a3(%rip), %rdx     # 0x16adfe
leaq 0xc648e(%rip), %rcx     # 0x1739f0
leaq 0xc60b2(%rip), %r8      # 0x17361b
movl $0x68, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad57d
movq 0x20(%rsp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x4f800
cmpl $0x0, %eax
je 0xad5c1
movq 0x20(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xad615
movq 0x1069f4(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb0a78(%rip), %rsi     # 0x15e066
leaq 0xb88b7(%rip), %rdx     # 0x165eac
leaq 0xc63f4(%rip), %rcx     # 0x1739f0
leaq 0xc6018(%rip), %r8      # 0x17361b
movl $0x6f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad617
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x33fc0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xad674
movq 0x106995(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xb0a19(%rip), %rsi     # 0x15e066
leaq 0xc63ae(%rip), %rdx     # 0x173a02
leaq 0xc6395(%rip), %rcx     # 0x1739f0
leaq 0xc5fb9(%rip), %r8      # 0x17361b
movl $0x71, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xad676
movq 0x20(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0xc5fb0(%rip), %rdx     # 0x173637
callq 0x51640
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)