LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_disable_autosupport
static int encseq_loader_lua_disable_autosupport(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_disable_autosupport(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x844b2(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7707
movq 0xbc902(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66986(%rip), %rsi     # 0x15e066
leaq 0x848d6(%rip), %rdx     # 0x17bfbd
leaq 0x848fc(%rip), %rcx     # 0x17bfea
leaq 0x843fe(%rip), %r8      # 0x17baf3
movl $0x26f, %r9d            # imm = 0x26F
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7709
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124940
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_require_description_support
static int encseq_loader_lua_require_description_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_require_description_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x84432(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7787
movq 0xbc882(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66906(%rip), %rsi     # 0x15e066
leaq 0x84856(%rip), %rdx     # 0x17bfbd
leaq 0x848a2(%rip), %rcx     # 0x17c010
leaq 0x8437e(%rip), %r8      # 0x17baf3
movl $0x278, %r9d            # imm = 0x278
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7789
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124ea0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_drop_description_support
static int encseq_loader_lua_drop_description_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_drop_description_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x843b2(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7807
movq 0xbc802(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66886(%rip), %rsi     # 0x15e066
leaq 0x847d6(%rip), %rdx     # 0x17bfbd
leaq 0x84850(%rip), %rcx     # 0x17c03e
leaq 0x842fe(%rip), %r8      # 0x17baf3
movl $0x281, %r9d            # imm = 0x281
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7809
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124750
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_require_multiseq_support
static int encseq_loader_lua_require_multiseq_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_require_multiseq_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x84332(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7887
movq 0xbc782(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66806(%rip), %rsi     # 0x15e066
leaq 0x84756(%rip), %rdx     # 0x17bfbd
leaq 0x847fb(%rip), %rcx     # 0x17c069
leaq 0x8427e(%rip), %r8      # 0x17baf3
movl $0x28a, %r9d            # imm = 0x28A
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7889
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124ec0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_drop_multiseq_support
static int encseq_loader_lua_drop_multiseq_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_drop_multiseq_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x842b2(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7907
movq 0xbc702(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66786(%rip), %rsi     # 0x15e066
leaq 0x846d6(%rip), %rdx     # 0x17bfbd
leaq 0x847a6(%rip), %rcx     # 0x17c094
leaq 0x841fe(%rip), %r8      # 0x17baf3
movl $0x293, %r9d            # imm = 0x293
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7909
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124720
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_require_lossless_support
static int encseq_loader_lua_require_lossless_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_require_lossless_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x84232(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7987
movq 0xbc682(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66706(%rip), %rsi     # 0x15e066
leaq 0x84656(%rip), %rdx     # 0x17bfbd
leaq 0x8474e(%rip), %rcx     # 0x17c0bc
leaq 0x8417e(%rip), %r8      # 0x17baf3
movl $0x29c, %r9d            # imm = 0x29C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7989
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x1248d0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_drop_lossless_support
static int encseq_loader_lua_drop_lossless_support(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_drop_lossless_support(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x841b2(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7a07
movq 0xbc602(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66686(%rip), %rsi     # 0x15e066
leaq 0x845d6(%rip), %rdx     # 0x17bfbd
leaq 0x846f9(%rip), %rcx     # 0x17c0e7
leaq 0x840fe(%rip), %r8      # 0x17baf3
movl $0x2a5, %r9d            # imm = 0x2A5
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7a09
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x124730
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_mirror
static int encseq_loader_lua_mirror(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_mirror(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x84132(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7a87
movq 0xbc582(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66606(%rip), %rsi     # 0x15e066
leaq 0x84556(%rip), %rdx     # 0x17bfbd
leaq 0x846a1(%rip), %rcx     # 0x17c10f
leaq 0x8407e(%rip), %r8      # 0x17baf3
movl $0x2ae, %r9d            # imm = 0x2AE
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7a89
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x1248f0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_do_not_mirror
static int encseq_loader_lua_do_not_mirror(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = check_encseq_loader(L, 1);
  gt_assert(*loader);
  gt_encseq_loader_do_not_mirror(*loader);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x840b2(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7b07
movq 0xbc502(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66586(%rip), %rsi     # 0x15e066
leaq 0x844d6(%rip), %rdx     # 0x17bfbd
leaq 0x8463a(%rip), %rcx     # 0x17c128
leaq 0x83ffe(%rip), %r8      # 0x17baf3
movl $0x2b7, %r9d            # imm = 0x2B7
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7b09
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x1247c0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_load
static int encseq_loader_lua_load(lua_State *L)
{
  GtEncseqLoader **loader;
  const char *indexname;
  GtError *err = gt_error_new();
  GtEncseq *encseq;
  loader = check_encseq_loader(L, 1);
  indexname = luaL_checkstring(L, 2);
  gt_assert(*loader);
  encseq = gt_encseq_loader_load(*loader, indexname, err);
  if (encseq == NULL)
    gt_lua_error(L, err);
  else {
    gt_lua_encseq_push(L, encseq);
  }
  gt_error_delete(err);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x84028(%rip), %rdx     # 0x17bb6c
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7ba9
movq 0xbc460(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x664e4(%rip), %rsi     # 0x15e066
leaq 0x84434(%rip), %rdx     # 0x17bfbd
leaq 0x845b8(%rip), %rcx     # 0x17c148
leaq 0x83f5c(%rip), %r8      # 0x17baf3
movl $0x2c4, %r9d            # imm = 0x2C4
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7bab
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x121c80
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
jne 0xf7bde
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
jmp 0xf7bec
movq 0x20(%rsp), %rdi
movq (%rsp), %rsi
callq 0xf5700
movq 0x8(%rsp), %rdi
callq 0xc490
movl $0x1, %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_enable_description_support
static int encseq_builder_lua_enable_description_support(lua_State *L)
{
  GtEncseqBuilder **builder;
  builder = check_encseq_builder(L, 1);
  gt_assert(*builder);
  gt_encseq_builder_enable_description_support(*builder);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x83f6c(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7c67
movq 0xbc3a2(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66426(%rip), %rsi     # 0x15e066
leaq 0x84523(%rip), %rdx     # 0x17c16a
leaq 0x84525(%rip), %rcx     # 0x17c173
leaq 0x83e9e(%rip), %r8      # 0x17baf3
movl $0x2eb, %r9d            # imm = 0x2EB
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7c69
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x1263b0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_disable_description_support
static int encseq_builder_lua_disable_description_support(lua_State *L)
{
  GtEncseqBuilder **builder;
  builder = check_encseq_builder(L, 1);
  gt_assert(*builder);
  gt_encseq_builder_disable_description_support(*builder);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x83eec(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7ce7
movq 0xbc322(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x663a6(%rip), %rsi     # 0x15e066
leaq 0x844a3(%rip), %rdx     # 0x17c16a
leaq 0x844d3(%rip), %rcx     # 0x17c1a1
leaq 0x83e1e(%rip), %r8      # 0x17baf3
movl $0x2f4, %r9d            # imm = 0x2F4
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7ce9
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x126410
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_enable_multiseq_support
static int encseq_builder_lua_enable_multiseq_support(lua_State *L)
{
  GtEncseqBuilder **builder;
  builder = check_encseq_builder(L, 1);
  gt_assert(*builder);
  gt_encseq_builder_enable_multiseq_support(*builder);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x83e6c(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7d67
movq 0xbc2a2(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x66326(%rip), %rsi     # 0x15e066
leaq 0x84423(%rip), %rdx     # 0x17c16a
leaq 0x84482(%rip), %rcx     # 0x17c1d0
leaq 0x83d9e(%rip), %r8      # 0x17baf3
movl $0x2fd, %r9d            # imm = 0x2FD
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7d69
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x126470
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_disable_multiseq_support
static int encseq_builder_lua_disable_multiseq_support(lua_State *L)
{
  GtEncseqBuilder **builder;
  builder = check_encseq_builder(L, 1);
  gt_assert(*builder);
  gt_encseq_builder_disable_multiseq_support(*builder);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x83dec(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7de7
movq 0xbc222(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x662a6(%rip), %rsi     # 0x15e066
leaq 0x843a3(%rip), %rdx     # 0x17c16a
leaq 0x8442d(%rip), %rcx     # 0x17c1fb
leaq 0x83d1e(%rip), %r8      # 0x17baf3
movl $0x306, %r9d            # imm = 0x306
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7de9
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x1264d0
xorl %eax, %eax
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_add_str
static int encseq_builder_lua_add_str(lua_State *L)
{
  GtEncseqBuilder **builder;
  const char *str, *desc;
  builder = check_encseq_builder(L, 1);
  str = luaL_checkstring(L, 2);
  if (lua_isnil(L, 3))
    desc = "";
  else
    desc = luaL_checkstring(L, 3);
  gt_assert(*builder);
  gt_encseq_builder_add_cstr(*builder, str, strlen(str), desc);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x83d6c(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x4f800
cmpl $0x0, %eax
jne 0xf7e5e
leaq 0x7408c(%rip), %rax     # 0x16bee3
movq %rax, 0x18(%rsp)
jmp 0xf7e76
movq 0x30(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x18(%rsp)
jmp 0xf7e78
movq 0x28(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7ebb
movq 0xbc14e(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x661d2(%rip), %rsi     # 0x15e066
leaq 0x842cf(%rip), %rdx     # 0x17c16a
leaq 0x84385(%rip), %rcx     # 0x17c227
leaq 0x83c4a(%rip), %r8      # 0x17baf3
movl $0x315, %r9d            # imm = 0x315
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7ebd
movq 0x28(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
callq 0xb240
movq 0x8(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rax, %rdx
movq 0x18(%rsp), %rcx
callq 0x126530
xorl %eax, %eax
addq $0x38, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_add_encoded
static int encseq_builder_lua_add_encoded(lua_State *L)
{
  GtEncseqBuilder **builder;
  const char *desc;
  unsigned char *arr = NULL;
  GtUword arrlen = 0;
  GtError *err;
  builder = check_encseq_builder(L, 1);
  err = gt_error_new();
  if (gt_lua_get_table_as_uchararray(L, 2, &arr, &arrlen, err) != 0) {
    gt_lua_error(L, err);
  }
  if (lua_isnil(L, 3))
    desc = "";
  else
    desc = luaL_checkstring(L, 3);
  gt_assert(*builder);
  gt_encseq_builder_add_encoded_own(*builder, arr, arrlen, desc);
  gt_free(arr);
  gt_error_delete(err);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x83c5a(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x28(%rsp)
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movq 0x8(%rsp), %r8
movl $0x2, %esi
leaq 0x18(%rsp), %rdx
leaq 0x10(%rsp), %rcx
callq 0xf8110
cmpl $0x0, %eax
je 0xf7f72
movq 0x30(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x4f800
cmpl $0x0, %eax
jne 0xf7f94
leaq 0x73f56(%rip), %rax     # 0x16bee3
movq %rax, 0x20(%rsp)
jmp 0xf7fac
movq 0x30(%rsp), %rdi
movl $0x3, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x20(%rsp)
jmp 0xf7fae
movq 0x28(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf7ff1
movq 0xbc018(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6609c(%rip), %rsi     # 0x15e066
leaq 0x84199(%rip), %rdx     # 0x17c16a
leaq 0x8426a(%rip), %rcx     # 0x17c242
leaq 0x83b14(%rip), %r8      # 0x17baf3
movl $0x34c, %r9d            # imm = 0x34C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf7ff3
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x20(%rsp), %rcx
callq 0x127430
movq 0x18(%rsp), %rdi
leaq 0x83ad8(%rip), %rsi     # 0x17baf3
movl $0x34e, %edx            # imm = 0x34E
callq 0xdab0
movq 0x8(%rsp), %rdi
callq 0xc490
xorl %eax, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_build
static int encseq_builder_lua_build(lua_State *L)
{
  GtEncseqBuilder **builder;
  GtEncseq *encseq;
  GtError *err;
  builder = check_encseq_builder(L, 1);
  err = gt_error_new();
  encseq = gt_encseq_builder_build(*builder, err);
  if (encseq == NULL) {
    gt_lua_error(L, err);
  } else
    gt_lua_encseq_push(L, encseq);
  gt_error_delete(err);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x83b2c(%rip), %rdx     # 0x17bb86
callq 0x559c0
movq %rax, 0x18(%rsp)
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x127800
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf809e
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
jmp 0xf80ad
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf5700
movq 0x8(%rsp), %rdi
callq 0xc490
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: gt_lua_get_table_as_uchararray
static inline int gt_lua_get_table_as_uchararray(lua_State *L, int index,
                                                 unsigned char **outarray,
                                                 GtUword *arrlen,
                                                 GtError *err)
{
  int had_err = 0, val;
  GtUword i;
  unsigned char *arr;
  if (!lua_istable(L, index)) {
    gt_error_set(err, "argument is not a table");
    return -1;
  }
  *arrlen = lua_objlen(L, index);
  arr = gt_malloc(*arrlen * sizeof (unsigned char));
  for (i = 1; i <= *arrlen; i++)
  {
    lua_rawgeti(L, index, i);
    if (!lua_isnumber(L, -1)) {
      had_err = -1;
      gt_error_set(err, "input contains non-numeric value");
      break;
    }
    if (!had_err && (val = lua_tointeger(L, -1)) > UCHAR_MAX) {
      had_err = -1;
      gt_error_set(err, "input contains oversized encoded value");
    }
    if (!had_err)
      arr[i-1] = (unsigned char) val;
    lua_pop(L, 1);
  }
  *outarray = arr;
  return had_err;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq %r8, 0x18(%rsp)
movl $0x0, 0x14(%rsp)
movq 0x38(%rsp), %rdi
movl 0x34(%rsp), %esi
callq 0x4f800
cmpl $0x5, %eax
je 0xf8167
movq 0x18(%rsp), %rdi
leaq 0x8410e(%rip), %rsi     # 0x17c261
movb $0x0, %al
callq 0xc0d0
movl $0xffffffff, 0x44(%rsp) # imm = 0xFFFFFFFF
jmp 0xf8292
movq 0x38(%rsp), %rdi
movl 0x34(%rsp), %esi
callq 0x50300
movq %rax, %rcx
movq 0x20(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
shlq $0x0, %rdi
leaq 0x83960(%rip), %rsi     # 0x17baf3
movl $0x327, %edx            # imm = 0x327
callq 0xd2e0
movq %rax, (%rsp)
movq $0x1, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rsp), %rcx
cmpq (%rcx), %rax
ja 0xf827e
movq 0x38(%rsp), %rdi
movl 0x34(%rsp), %esi
movq 0x8(%rsp), %rax
movl %eax, %edx
callq 0x51880
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f8f0
cmpl $0x0, %eax
jne 0xf8203
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
movq 0x18(%rsp), %rdi
leaq 0x8407f(%rip), %rsi     # 0x17c279
movb $0x0, %al
callq 0xc0d0
jmp 0xf827e
cmpl $0x0, 0x14(%rsp)
jne 0xf823f
movq 0x38(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x50090
movl %eax, 0x10(%rsp)
cmpl $0xff, %eax
jle 0xf823f
movl $0xffffffff, 0x14(%rsp) # imm = 0xFFFFFFFF
movq 0x18(%rsp), %rdi
leaq 0x84062(%rip), %rsi     # 0x17c29a
movb $0x0, %al
callq 0xc0d0
cmpl $0x0, 0x14(%rsp)
jne 0xf825c
movl 0x10(%rsp), %eax
movb %al, %dl
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
subq $0x1, %rcx
movb %dl, (%rax,%rcx)
movq 0x38(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x8(%rsp)
jmp 0xf81aa
movq (%rsp), %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movl 0x14(%rsp), %eax
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_encoder_lua_new
static int encseq_encoder_lua_new(lua_State *L)
{
  GtEncseqEncoder **encoder;
  encoder = lua_newuserdata(L, sizeof (GtEncseqEncoder*));
  gt_assert(encoder);
  *encoder = gt_encseq_encoder_new();
  gt_assert(*encoder);
  luaL_getmetatable(L, ENCSEQ_ENCODER_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf82fd
movq 0xbbd0c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65d90(%rip), %rsi     # 0x15e066
leaq 0x83a99(%rip), %rdx     # 0x17bd76
leaq 0x84002(%rip), %rcx     # 0x17c2e6
leaq 0x83808(%rip), %r8      # 0x17baf3
movl $0x1a3, %r9d            # imm = 0x1A3
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf82ff
callq 0x122270
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf8352
movq 0xbbcb7(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65d3b(%rip), %rsi     # 0x15e066
leaq 0x83a43(%rip), %rdx     # 0x17bd75
leaq 0x83fad(%rip), %rcx     # 0x17c2e6
leaq 0x837b3(%rip), %r8      # 0x17baf3
movl $0x1a5, %r9d            # imm = 0x1A5
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf8354
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x837ec(%rip), %rdx     # 0x17bb51
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_loader_lua_new
static int encseq_loader_lua_new(lua_State *L)
{
  GtEncseqLoader **loader;
  loader = lua_newuserdata(L, sizeof (GtEncseqLoader*));
  gt_assert(loader);
  *loader = gt_encseq_loader_new();
  gt_assert(*loader);
  luaL_getmetatable(L, ENCSEQ_LOADER_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf83ed
movq 0xbbc1c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65ca0(%rip), %rsi     # 0x15e066
leaq 0x83bf1(%rip), %rdx     # 0x17bfbe
leaq 0x83f29(%rip), %rcx     # 0x17c2fd
leaq 0x83718(%rip), %r8      # 0x17baf3
movl $0x25a, %r9d            # imm = 0x25A
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf83ef
callq 0x121c20
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf8442
movq 0xbbbc7(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65c4b(%rip), %rsi     # 0x15e066
leaq 0x83b9b(%rip), %rdx     # 0x17bfbd
leaq 0x83ed4(%rip), %rcx     # 0x17c2fd
leaq 0x836c3(%rip), %r8      # 0x17baf3
movl $0x25c, %r9d            # imm = 0x25C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf8444
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x83717(%rip), %rdx     # 0x17bb6c
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_builder_lua_new
static int encseq_builder_lua_new(lua_State *L)
{
  GtEncseqBuilder **builder;
  GtAlphabet **alpha;
  builder = lua_newuserdata(L, sizeof (GtEncseqBuilder*));
  alpha = check_alphabet(L, 1);
  gt_assert(builder && *alpha);
  *builder = gt_encseq_builder_new(*alpha);
  gt_assert(*builder);
  luaL_getmetatable(L, ENCSEQ_BUILDER_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x7b975(%rip), %rdx     # 0x173e23
callq 0x559c0
movq %rax, (%rsp)
cmpq $0x0, 0x8(%rsp)
je 0xf84c9
movq (%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf8501
movq 0xbbb08(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65b8c(%rip), %rsi     # 0x15e066
leaq 0x83e32(%rip), %rdx     # 0x17c313
leaq 0x83e3d(%rip), %rcx     # 0x17c325
leaq 0x83604(%rip), %r8      # 0x17baf3
movl $0x2df, %r9d            # imm = 0x2DF
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf8503
movq (%rsp), %rax
movq (%rax), %rdi
callq 0x1260a0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf855d
movq 0xbbaac(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65b30(%rip), %rsi     # 0x15e066
leaq 0x83c2d(%rip), %rdx     # 0x17c16a
leaq 0x83de1(%rip), %rcx     # 0x17c325
leaq 0x835a8(%rip), %r8      # 0x17baf3
movl $0x2e1, %r9d            # imm = 0x2E1
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf855f
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x83616(%rip), %rdx     # 0x17bb86
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: gt_lua_feature_index_push
void gt_lua_feature_index_push(lua_State *L, GtFeatureIndex *fi)
{
  GtFeatureIndex **fi_lua;
  gt_assert(L && fi);
  fi_lua = lua_newuserdata(L, sizeof (GtFeatureIndex**));
  *fi_lua = fi;
  luaL_getmetatable(L, FEATURE_INDEX_METATABLE);
  lua_setmetatable(L, -2);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xf85ae
cmpq $0x0, 0x8(%rsp)
jne 0xf85e6
movq 0xbba23(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65aa7(%rip), %rsi     # 0x15e066
leaq 0x83d76(%rip), %rdx     # 0x17c33c
leaq 0x83d77(%rip), %rcx     # 0x17c344
leaq 0x83d8a(%rip), %r8      # 0x17c35e
movl $0xf7, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf85e8
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, (%rsp)
movq 0x8(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x83465(%rip), %rdx     # 0x17ba7d
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: gt_lua_open_feature_index
int gt_lua_open_feature_index(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_newmetatable(L, FEATURE_INDEX_METATABLE);
  /* metatable.__index = metatable */
  lua_pushvalue(L, -1); /* duplicate the metatable */
  lua_setfield(L, -2, "__index");
  /* set its _gc field */
  lua_pushstring(L, "__gc");
  lua_pushcfunction(L, feature_index_lua_delete);
  lua_settable(L, -3);
  /* register functions */
  luaL_register(L, NULL, feature_index_lib_m);
  gt_lua_export_metatable(L, FEATURE_INDEX_METATABLE);
  luaL_register(L, "gt", feature_index_lib_f);
  lua_pop(L, 1);
  gt_assert(lua_gettop(L) == stack_size);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf8689
movq 0xbb980(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65a04(%rip), %rsi     # 0x15e066
leaq 0x72795(%rip), %rdx     # 0x16adfe
leaq 0x83d0c(%rip), %rcx     # 0x17c37c
leaq 0x83ce7(%rip), %r8      # 0x17c35e
movl $0x11c, %r9d            # imm = 0x11C
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf868b
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x833d8(%rip), %rsi     # 0x17ba7d
callq 0x55930
movq 0x10(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f790
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x72fbd(%rip), %rdx     # 0x16b687
callq 0x51fc0
movq 0x10(%rsp), %rdi
leaq 0x72904(%rip), %rsi     # 0x16afdf
callq 0x50970
movq 0x10(%rsp), %rdi
leaq 0xc4(%rip), %rsi        # 0xf87b0
xorl %edx, %edx
callq 0x51120
movq 0x10(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x51d10
movq 0x10(%rsp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xbb37e(%rip), %rdx     # 0x1b3a90
callq 0x55e30
movq 0x10(%rsp), %rdi
leaq 0x8335a(%rip), %rsi     # 0x17ba7d
callq 0xe81d0
movq 0x10(%rsp), %rdi
leaq 0x8b543(%rip), %rsi     # 0x183c77
leaq 0xbb3f5(%rip), %rdx     # 0x1b3b30
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf8797
movq 0xbb872(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x658f6(%rip), %rsi     # 0x15e066
leaq 0x7a4bb(%rip), %rdx     # 0x172c32
leaq 0x83bfe(%rip), %rcx     # 0x17c37c
leaq 0x83bd9(%rip), %r8      # 0x17c35e
movl $0x12d, %r9d            # imm = 0x12D
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf8799
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_add_region_node
static int feature_index_lua_add_region_node(lua_State *L)
{
  GtFeatureIndex **fi;
  GtGenomeNode **gn;
  GtRegionNode *rn;
  GtError *err;
  gt_assert(L);
  fi = check_feature_index(L, 1);
  gn = check_genome_node(L, 2);
  rn = gt_region_node_try_cast(*gn);
  luaL_argcheck(L, rn, 2, "not a region node");
  err = gt_error_new();
  if (gt_feature_index_add_region_node(*fi, rn, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0xf8839
movq 0xbb7d0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65854(%rip), %rsi     # 0x15e066
leaq 0x725e5(%rip), %rdx     # 0x16adfe
leaq 0x83b76(%rip), %rcx     # 0x17c396
leaq 0x83b37(%rip), %r8      # 0x17c35e
movl $0x2e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf883b
movq 0x28(%rsp), %rdi
movl $0x1, %esi
leaq 0x83231(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
leaq 0x7add0(%rip), %rdx     # 0x173637
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x35ee0
movq %rax, 0x10(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0x7(%rsp)
jne 0xf88b1
movq 0x28(%rsp), %rdi
movl $0x2, %esi
leaq 0x83b16(%rip), %rdx     # 0x17c3b8
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x1d310
cmpl $0x0, %eax
je 0xf88f0
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x34(%rsp)
jmp 0xf8902
movq 0x8(%rsp), %rdi
callq 0xc490
movl $0x0, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_add_gff3file
static int feature_index_lua_add_gff3file(lua_State *L)
{
  GtFeatureIndex **fi;
  const char *filename;
  GtError *err;
  gt_assert(L);
  fi = check_feature_index(L, 1);
  filename = luaL_checkstring(L, 2);
  err = gt_error_new();
  if (gt_feature_index_add_gff3file(*fi, filename, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xf8b49
movq 0xbb4c0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x65544(%rip), %rsi     # 0x15e066
leaq 0x722d5(%rip), %rdx     # 0x16adfe
leaq 0x8391e(%rip), %rcx     # 0x17c44e
leaq 0x83827(%rip), %r8      # 0x17c35e
movl $0x3f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf8b4b
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0x82f21(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x8(%rsp)
callq 0xc0b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
movq (%rsp), %rdx
callq 0x1d550
cmpl $0x0, %eax
je 0xf8bb6
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
callq 0xe84e0
movl %eax, 0x24(%rsp)
jmp 0xf8bc7
movq (%rsp), %rdi
callq 0xc490
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_get_features_for_seqid
static int feature_index_lua_get_features_for_seqid(lua_State *L)
{
  GtFeatureIndex **feature_index;
  const char *seqid;
  GtArray *features;
  GtError *err;
  feature_index = check_feature_index(L, 1);
  seqid = luaL_checkstring(L, 2);
  err = gt_error_new();
  features = gt_feature_index_get_features_for_seqid(*feature_index, seqid,
                                                     err);
  if (!features)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  push_features_as_table(L, features);
  gt_array_delete(features);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
leaq 0x82e93(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x18(%rsp)
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x1d7d0
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf8c4f
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x34(%rsp)
jmp 0xf8c7a
movq 0x8(%rsp), %rdi
callq 0xc490
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xf9150
movq 0x10(%rsp), %rdi
callq 0x770a0
movl $0x1, 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/feature_index_lua.c
// Function: feature_index_lua_get_features_for_range
static int feature_index_lua_get_features_for_range(lua_State *L)
{
  GtFeatureIndex **feature_index;
  const char *seqid;
  GtRange *range;
  GtError *err;
  bool has_seqid;
  GtArray *features;
  GT_UNUSED int had_err;

  feature_index = check_feature_index(L, 1);
  seqid = luaL_checkstring(L, 2);
  err = gt_error_new();
  if (gt_feature_index_has_seqid(*feature_index, &has_seqid, seqid, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  luaL_argcheck(L, has_seqid, 2,
                "feature_index does not contain seqid");
  range = check_range(L, 3);
  features = gt_array_new(sizeof (GtGenomeNode*));
  err = gt_error_new();
  had_err = gt_feature_index_get_features_for_range(*feature_index, features,
                                                    seqid, range, err);
  if (had_err)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  push_features_as_table(L, features);
  gt_array_delete(features);
  return 1;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
leaq 0x82dd3(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x28(%rsp)
callq 0xc0b0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rdx
movq 0x18(%rsp), %rcx
leaq 0x17(%rsp), %rsi
callq 0x1ddb0
cmpl $0x0, %eax
je 0xf8d0f
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x44(%rsp)
jmp 0xf8dea
movq 0x18(%rsp), %rdi
callq 0xc490
movb $0x1, %al
testb $0x1, 0x17(%rsp)
movb %al, 0x3(%rsp)
jne 0xf8d46
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x83736(%rip), %rdx     # 0x17c46d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x3(%rsp)
movb 0x3(%rsp), %al
movq 0x38(%rsp), %rdi
movl $0x3, %esi
leaq 0x7a9d6(%rip), %rdx     # 0x173731
callq 0x559c0
movq %rax, 0x20(%rsp)
movl $0x8, %edi
callq 0x75ab0
movq %rax, 0x8(%rsp)
callq 0xc0b0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
movq 0x18(%rsp), %r8
callq 0x1d890
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0xf8dbf
movq 0x38(%rsp), %rdi
movq 0x18(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x44(%rsp)
jmp 0xf8dea
movq 0x18(%rsp), %rdi
callq 0xc490
movq 0x38(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xf9150
movq 0x8(%rsp), %rdi
callq 0x770a0
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_get_first_seqid
static int feature_index_lua_get_first_seqid(lua_State *L)
{
  GtFeatureIndex **feature_index;
  char *seqid;
  GtError *err;
  feature_index = check_feature_index(L, 1);
  err = gt_error_new();
  seqid = gt_feature_index_get_first_seqid(*feature_index, err);
  if (gt_error_is_set(err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  if (seqid) {
    lua_pushstring(L, seqid);
    gt_free(seqid);
  } else
    lua_pushnil(L);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0x82c63(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x10(%rsp)
callq 0xc0b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rsi
callq 0x1d9c0
movq %rax, 0x8(%rsp)
movq (%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xf8e52
jmp 0xf8e66
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
callq 0xe84e0
movl %eax, 0x24(%rsp)
jmp 0xf8eb0
movq (%rsp), %rdi
callq 0xc490
cmpq $0x0, 0x8(%rsp)
je 0xf8e9e
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0x50970
movq 0x8(%rsp), %rdi
leaq 0x834cc(%rip), %rsi     # 0x17c35e
movl $0xb5, %edx
callq 0xdab0
jmp 0xf8ea8
movq 0x18(%rsp), %rdi
callq 0x506a0
movl $0x1, 0x24(%rsp)
movl 0x24(%rsp), %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_get_seqids
static int feature_index_lua_get_seqids(lua_State *L)
{
  GtFeatureIndex **feature_index;
  GtStrArray *seqids;
  GtError *err;
  feature_index = check_feature_index(L, 1);
  err = gt_error_new();
  seqids = gt_feature_index_get_seqids(*feature_index, err);
  if (!seqids)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  /* push table containing sequence ids onto the stack */
  gt_lua_push_strarray_as_table(L, seqids);
  gt_str_array_delete(seqids);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movl $0x1, %esi
leaq 0x82ba3(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x10(%rsp)
callq 0xc0b0
movq %rax, (%rsp)
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq (%rsp), %rsi
callq 0x1db60
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf8f1f
movq 0x18(%rsp), %rdi
movq (%rsp), %rsi
callq 0xe84e0
movl %eax, 0x24(%rsp)
jmp 0xf8f49
movq (%rsp), %rdi
callq 0xc490
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe82d0
movq 0x8(%rsp), %rdi
callq 0x1b780
movl $0x1, 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/feature_index_lua.c
// Function: feature_index_lua_get_range_for_seqid
static int feature_index_lua_get_range_for_seqid(lua_State *L)
{
  GtFeatureIndex **feature_index;
  const char *seqid;
  GtError *err;
  GtRange range;
  bool has_seqid;
  feature_index = check_feature_index(L, 1);
  seqid = luaL_checkstring(L, 2);
  err = gt_error_new();
  if (gt_feature_index_has_seqid(*feature_index, &has_seqid, seqid, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  luaL_argcheck(L, has_seqid, 2,
                "feature_index does not contain seqid");
  err = gt_error_new();
  if (gt_feature_index_get_range_for_seqid(*feature_index, &range, seqid, err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  return gt_lua_range_push(L, range);
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
leaq 0x82b03(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x28(%rsp)
callq 0xc0b0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0xf(%rsp), %rsi
callq 0x1ddb0
cmpl $0x0, %eax
je 0xf8fdf
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x44(%rsp)
jmp 0xf907c
movq 0x20(%rsp), %rdi
callq 0xc490
movb $0x1, %al
testb $0x1, 0xf(%rsp)
movb %al, 0xe(%rsp)
jne 0xf9016
movq 0x38(%rsp), %rdi
movl $0x2, %esi
leaq 0x83466(%rip), %rdx     # 0x17c46d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
callq 0xc0b0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rcx
leaq 0x10(%rsp), %rsi
callq 0x1dc10
cmpl $0x0, %eax
je 0xf905a
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x44(%rsp)
jmp 0xf907c
movq 0x20(%rsp), %rdi
callq 0xc490
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
callq 0xadfd0
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_lua_has_seqid
static int feature_index_lua_has_seqid(lua_State *L)
{
  GtFeatureIndex **feature_index;
  bool has_seqid;
  const char *seqid;
  GtError *err;
  int had_err = 0;
  feature_index = check_feature_index(L, 1);
  seqid = luaL_checkstring(L, 2);
  err = gt_error_new();
  had_err = gt_feature_index_has_seqid(*feature_index, &has_seqid, seqid, err);
  if (had_err)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  lua_pushboolean(L, has_seqid);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl $0x0, 0x4(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
leaq 0x829cb(%rip), %rdx     # 0x17ba7d
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x10(%rsp)
callq 0xc0b0
movq %rax, 0x8(%rsp)
movq 0x20(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rcx
leaq 0x1f(%rsp), %rsi
callq 0x1ddb0
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0xf911a
movq 0x28(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x34(%rsp)
jmp 0xf913f
movq 0x8(%rsp), %rdi
callq 0xc490
movq 0x28(%rsp), %rdi
movb 0x1f(%rsp), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x51340
movl $0x1, 0x34(%rsp)
movl 0x34(%rsp), %eax
addq $0x38, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: push_features_as_table
static void push_features_as_table(lua_State *L, GtArray *features)
{
  GtUword i;
  if (features && gt_array_size(features)) {
    /* push table containing feature references onto the stack */
    lua_newtable(L);
    for (i = 0; i < gt_array_size(features); i++) {
      lua_pushinteger(L, i+1); /* in Lua we index from 1 on */
      gt_lua_genome_node_push(L, gt_genome_node_ref(*(GtGenomeNode**)
                                                  gt_array_get(features, i)));
      lua_rawset(L, -3);
    }
  }
  else
    lua_pushnil(L);
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xf9216
movq 0x18(%rsp), %rdi
callq 0x76490
cmpq $0x0, %rax
je 0xf9216
movq 0x20(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x519c0
movq $0x0, 0x10(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
callq 0x76490
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jae 0xf9214
movq 0x20(%rsp), %rdi
movq 0x10(%rsp), %rsi
addq $0x1, %rsi
callq 0x50720
movq 0x20(%rsp), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x75c80
movq (%rax), %rdi
callq 0x25140
movq (%rsp), %rdi
movq %rax, %rsi
callq 0xaade0
movq 0x20(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x52070
movq 0x10(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x10(%rsp)
jmp 0xf9195
jmp 0xf9220
movq 0x20(%rsp), %rdi
callq 0x506a0
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/feature_index_lua.c
// Function: feature_index_memory_lua_new
static int feature_index_memory_lua_new(lua_State *L)
{
  GtFeatureIndex **feature_index;
  feature_index = lua_newuserdata(L, sizeof (GtFeatureIndex*));
  gt_assert(feature_index);
  *feature_index = gt_feature_index_memory_new();
  luaL_getmetatable(L, FEATURE_INDEX_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf928d
movq 0xbad7c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x64e00(%rip), %rsi     # 0x15e066
leaq 0x8281c(%rip), %rdx     # 0x17ba89
leaq 0x83237(%rip), %rcx     # 0x17c4ab
leaq 0x830e3(%rip), %r8      # 0x17c35e
movl $0x21, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf928f
callq 0x1f9d0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x827cd(%rip), %rdx     # 0x17ba7d
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nop