LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/alphabet_lua.c
// Function: gt_lua_alphabet_push
void gt_lua_alphabet_push(lua_State *L, GtAlphabet *alpha)
{
  GtAlphabet **alphaptr;
  gt_assert(L && alpha);
  alphaptr = lua_newuserdata(L, sizeof (*alphaptr));
  *alphaptr = alpha;
  luaL_getmetatable(L, ALPHABET_METATABLE);
  lua_setmetatable(L, -2);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
je 0xf32fe
cmpq $0x0, 0x8(%rsp)
jne 0xf3336
movq 0xc0cd3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6ad57(%rip), %rsi     # 0x15e066
leaq 0x883a9(%rip), %rdx     # 0x17b6bf
leaq 0x883ad(%rip), %rcx     # 0x17b6ca
leaq 0x88382(%rip), %r8      # 0x17b6a6
movl $0xa3, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3338
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 0x80abb(%rip), %rdx     # 0x173e23
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/alphabet_lua.c
// Function: alphabet_lua_add_mapping
static int alphabet_lua_add_mapping(lua_State *L)
{
  GtAlphabet **alpha;
  const char *characters;
  alpha = check_alphabet(L, 1);
  characters = luaL_checkstring(L, 2);
  luaL_argcheck(L, strlen(characters), 2,
                "mapping must contain at least one character");
  gt_alphabet_add_mapping(*alpha, characters);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x80a79(%rip), %rdx     # 0x173e23
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 0x10(%rsp), %rdi
callq 0xb240
movq %rax, %rcx
movb $0x1, %al
cmpq $0x0, %rcx
movb %al, 0xf(%rsp)
jne 0xf3405
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x882e9(%rip), %rdx     # 0x17b6df
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rsi
callq 0x109320
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/alphabet_lua.c
// Function: alphabet_lua_add_wildcard
static int alphabet_lua_add_wildcard(lua_State *L)
{
  GtAlphabet **alpha;
  const char *wildcard;
  alpha = check_alphabet(L, 1);
  wildcard = luaL_checkstring(L, 2);
  luaL_argcheck(L, strlen(wildcard) == 1, 2,
                "wildcard string must have length 0");
  gt_alphabet_add_wildcard(*alpha, wildcard[0]);
  return 0;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x809d9(%rip), %rdx     # 0x173e23
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 0x10(%rsp), %rdi
callq 0xb240
movq %rax, %rcx
movb $0x1, %al
cmpq $0x1, %rcx
movb %al, 0xf(%rsp)
je 0xf34a5
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x88275(%rip), %rdx     # 0x17b70b
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movq 0x10(%rsp), %rax
movsbl (%rax), %esi
callq 0x109520
xorl %eax, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/alphabet_lua.c
// Function: alphabet_lua_decode
static int alphabet_lua_decode(lua_State *L)
{
  GtAlphabet **alpha;
  unsigned int code;
  char character;
  alpha = check_alphabet(L, 1);
  code = luaL_checkinteger(L, 2);
  /* XXX: too restrictive, does not consider wildcards */
  luaL_argcheck(L, code < gt_alphabet_size(*alpha), 2, "invalid code");
  character = gt_alphabet_decode(*alpha, code);
  lua_pushlstring(L, &character, 1);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x80939(%rip), %rdx     # 0x173e23
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movl %eax, 0x14(%rsp)
movl 0x14(%rsp), %eax
movl %eax, 0xc(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0x109e00
movl 0xc(%rsp), %ecx
movl %eax, %edx
movb $0x1, %al
cmpl %edx, %ecx
movb %al, 0x12(%rsp)
jb 0xf354c
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x881f1(%rip), %rdx     # 0x17b72e
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x12(%rsp)
movb 0x12(%rsp), %al
movq 0x18(%rsp), %rax
movq (%rax), %rdi
movl 0x14(%rsp), %eax
movzbl %al, %esi
callq 0x10ac90
movb %al, 0x13(%rsp)
movq 0x20(%rsp), %rdi
leaq 0x13(%rsp), %rsi
movl $0x1, %edx
callq 0x50770
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/alphabet_lua.c
// Function: alphabet_lua_size
static int alphabet_lua_size(lua_State *L)
{
  GtAlphabet **alpha;
  unsigned int size;
  alpha = check_alphabet(L, 1);
  size = gt_alphabet_size(*alpha);
  lua_pushinteger(L, size);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x80879(%rip), %rdx     # 0x173e23
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rdi
callq 0x109e00
movl %eax, 0x4(%rsp)
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %eax
movl %eax, %esi
callq 0x50720
movl $0x1, %eax
addq $0x18, %rsp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/alphabet_lua.c
// Function: alphabet_lua_new_dna
static int alphabet_lua_new_dna(lua_State *L)
{
  GtAlphabet **alpha;
  gt_assert(L);
  alpha = lua_newuserdata(L, sizeof *alpha);
  gt_assert(alpha);
  *alpha = gt_alphabet_new_dna();
  gt_assert(*alpha);
  luaL_getmetatable(L, ALPHABET_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf3629
movq 0xc09e0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6aa64(%rip), %rsi     # 0x15e066
leaq 0x777f5(%rip), %rdx     # 0x16adfe
leaq 0x8813e(%rip), %rcx     # 0x17b74e
leaq 0x8808f(%rip), %r8      # 0x17b6a6
movl $0x35, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf362b
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf367f
movq 0xc098a(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6aa0e(%rip), %rsi     # 0x15e066
leaq 0x88065(%rip), %rdx     # 0x17b6c4
leaq 0x880e8(%rip), %rcx     # 0x17b74e
leaq 0x88039(%rip), %r8      # 0x17b6a6
movl $0x37, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3681
callq 0x109990
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf36d4
movq 0xc0935(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a9b9(%rip), %rsi     # 0x15e066
leaq 0x88c6a(%rip), %rdx     # 0x17c31e
leaq 0x88093(%rip), %rcx     # 0x17b74e
leaq 0x87fe4(%rip), %r8      # 0x17b6a6
movl $0x39, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf36d6
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x8073c(%rip), %rdx     # 0x173e23
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/alphabet_lua.c
// Function: alphabet_lua_new_protein
static int alphabet_lua_new_protein(lua_State *L)
{
  GtAlphabet **alpha;
  gt_assert(L);
  alpha = lua_newuserdata(L, sizeof *alpha);
  gt_assert(alpha);
  *alpha = gt_alphabet_new_protein();
  gt_assert(*alpha);
  luaL_getmetatable(L, ALPHABET_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf3759
movq 0xc08b0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a934(%rip), %rsi     # 0x15e066
leaq 0x776c5(%rip), %rdx     # 0x16adfe
leaq 0x88023(%rip), %rcx     # 0x17b763
leaq 0x87f5f(%rip), %r8      # 0x17b6a6
movl $0x1b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf375b
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf37af
movq 0xc085a(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a8de(%rip), %rsi     # 0x15e066
leaq 0x87f35(%rip), %rdx     # 0x17b6c4
leaq 0x87fcd(%rip), %rcx     # 0x17b763
leaq 0x87f09(%rip), %r8      # 0x17b6a6
movl $0x1d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf37b1
callq 0x109af0
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf3804
movq 0xc0805(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a889(%rip), %rsi     # 0x15e066
leaq 0x88b3a(%rip), %rdx     # 0x17c31e
leaq 0x87f78(%rip), %rcx     # 0x17b763
leaq 0x87eb4(%rip), %r8      # 0x17b6a6
movl $0x1f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3806
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x8060c(%rip), %rdx     # 0x173e23
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/alphabet_lua.c
// Function: alphabet_lua_new_empty
static int alphabet_lua_new_empty(lua_State *L)
{
  GtAlphabet **alpha;
  gt_assert(L);
  alpha = lua_newuserdata(L, sizeof *alpha);
  gt_assert(alpha);
  *alpha = gt_alphabet_new_empty();
  gt_assert(*alpha);
  luaL_getmetatable(L, ALPHABET_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf3889
movq 0xc0780(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a804(%rip), %rsi     # 0x15e066
leaq 0x77595(%rip), %rdx     # 0x16adfe
leaq 0x87f0c(%rip), %rcx     # 0x17b77c
leaq 0x87e2f(%rip), %r8      # 0x17b6a6
movl $0x28, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf388b
movq 0x10(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x8(%rsp)
jne 0xf38df
movq 0xc072a(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a7ae(%rip), %rsi     # 0x15e066
leaq 0x87e05(%rip), %rdx     # 0x17b6c4
leaq 0x87eb6(%rip), %rcx     # 0x17b77c
leaq 0x87dd9(%rip), %r8      # 0x17b6a6
movl $0x2a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf38e1
callq 0x109730
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rax)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xf3934
movq 0xc06d5(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a759(%rip), %rsi     # 0x15e066
leaq 0x88a0a(%rip), %rdx     # 0x17c31e
leaq 0x87e61(%rip), %rcx     # 0x17b77c
leaq 0x87d84(%rip), %r8      # 0x17b6a6
movl $0x2c, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3936
movq 0x10(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x804dc(%rip), %rdx     # 0x173e23
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/annotationsketch_lua.c
// Function: gt_lua_open_annotationsketch
int gt_lua_open_annotationsketch(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  gt_lua_open_canvas(L);
  gt_lua_open_diagram(L);
  gt_lua_open_imageinfo(L);
  gt_lua_open_layout(L);
  gt_assert(lua_gettop(L) == stack_size);
  return 1;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf39b9
movq 0xc0650(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a6d4(%rip), %rsi     # 0x15e066
leaq 0x77465(%rip), %rdx     # 0x16adfe
leaq 0x87df3(%rip), %rcx     # 0x17b793
leaq 0x87e09(%rip), %r8      # 0x17b7b0
movl $0x1e, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf39bb
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
callq 0xf4070
movq 0x10(%rsp), %rdi
callq 0xf49a0
movq 0x10(%rsp), %rdi
callq 0xfb290
movq 0x10(%rsp), %rdi
callq 0xfba60
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf3a39
movq 0xc05d0(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a654(%rip), %rsi     # 0x15e066
leaq 0x7f219(%rip), %rdx     # 0x172c32
leaq 0x87d73(%rip), %rcx     # 0x17b793
leaq 0x87d89(%rip), %r8      # 0x17b7b0
movl $0x26, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3a3b
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/bittab_lua.c
// Function: gt_lua_open_bittab
int gt_lua_open_bittab(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_newmetatable(L, BITTAB_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, bittab_lua_delete);
  lua_settable(L, -3);
  /* register functions */
  luaL_register(L, NULL, bittab_lib_m);
  lua_pop(L, 1);
  luaL_register(L, "gt", bittab_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 0xf3a99
movq 0xc0570(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a5f4(%rip), %rsi     # 0x15e066
leaq 0x77385(%rip), %rdx     # 0x16adfe
leaq 0x87d51(%rip), %rcx     # 0x17b7d1
leaq 0x87d5d(%rip), %r8      # 0x17b7e4
movl $0x8b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3a9b
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x87d46(%rip), %rsi     # 0x17b7fb
callq 0x55930
movq 0x10(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f790
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x77bad(%rip), %rdx     # 0x16b687
callq 0x51fc0
movq 0x10(%rsp), %rdi
leaq 0x774f4(%rip), %rsi     # 0x16afdf
callq 0x50970
movq 0x10(%rsp), %rdi
leaq 0xc4(%rip), %rsi        # 0xf3bc0
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 0xbf9be(%rip), %rdx     # 0x1b34e0
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
leaq 0x90135(%rip), %rsi     # 0x183c77
leaq 0xbfa07(%rip), %rdx     # 0x1b3550
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf3ba5
movq 0xc0464(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a4e8(%rip), %rsi     # 0x15e066
leaq 0x7f0ad(%rip), %rdx     # 0x172c32
leaq 0x87c45(%rip), %rcx     # 0x17b7d1
leaq 0x87c51(%rip), %r8      # 0x17b7e4
movl $0x9c, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3ba7
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/bittab_lua.c
// Function: get_bittab_and_bit
static void get_bittab_and_bit(lua_State *L, GtBittab ***bittab, GtWord *bit)
{
  *bittab = check_bittab(L, 1);
  *bit = luaL_checklong(L, 2);
  luaL_argcheck(L, *bit >= 0, 2, "bit number too small");
  luaL_argcheck(L, *bit < gt_bittab_size(**bittab), 2, "bit number too large");
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x87a37(%rip), %rdx     # 0x17b7fb
callq 0x559c0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rcx
movb $0x1, %al
cmpq $0x0, (%rcx)
movb %al, 0xf(%rsp)
jge 0xf3e1f
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x879fe(%rip), %rdx     # 0x17b80e
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x10(%rsp), %rax
movq (%rax), %rax
movq %rax, (%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rdi
callq 0x79e90
movq (%rsp), %rcx
movq %rax, %rdx
movb $0x1, %al
cmpq %rdx, %rcx
movb %al, 0xe(%rsp)
jb 0xf3e71
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x879c1(%rip), %rdx     # 0x17b823
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
addq $0x28, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/bittab_lua.c
// Function: bittab_lua_new
static int bittab_lua_new(lua_State *L)
{
  GtWord num_of_bits;
  GtBittab **bittab;
  gt_assert(L);
  num_of_bits = luaL_checklong(L, 1);
  luaL_argcheck(L, num_of_bits > 0, 1, "must be > 0");
  bittab = lua_newuserdata(L, sizeof (GtBittab*));
  gt_assert(bittab);
  *bittab = gt_bittab_new(num_of_bits);
  luaL_getmetatable(L, BITTAB_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0xf3f89
movq 0xc0080(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a104(%rip), %rsi     # 0x15e066
leaq 0x76e95(%rip), %rdx     # 0x16adfe
leaq 0x878e5(%rip), %rcx     # 0x17b855
leaq 0x8786d(%rip), %r8      # 0x17b7e4
movl $0x21, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf3f8b
movq 0x20(%rsp), %rdi
movl $0x1, %esi
callq 0x55c40
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x18(%rsp)
movb %al, 0xf(%rsp)
jg 0xf3fcd
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x7f9c8(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf4025
movq 0xbffe4(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6a068(%rip), %rsi     # 0x15e066
leaq 0x87802(%rip), %rdx     # 0x17b807
leaq 0x87849(%rip), %rcx     # 0x17b855
leaq 0x877d1(%rip), %r8      # 0x17b7e4
movl $0x25, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf4027
movq 0x18(%rsp), %rdi
callq 0x78f00
movq %rax, %rcx
movq 0x10(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x877ae(%rip), %rdx     # 0x17b7fb
callq 0x51640
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/canvas_lua.c
// Function: gt_lua_open_canvas
int gt_lua_open_canvas(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_newmetatable(L, CANVAS_METATABLE);
  lua_pushvalue(L, -1); /* duplicate the metatable */
  lua_setfield(L, -2, "__index");
  /* set its _gc field */
  lua_pushstring(L, "__gc");
  lua_pushcfunction(L, canvas_lua_delete);
  lua_settable(L, -3);
  /* register functions */
  luaL_register(L, NULL, canvas_lib_m);
  lua_pop(L, 1);
  luaL_register(L, "gt", canvas_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 0xf40b9
movq 0xbff50(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69fd4(%rip), %rsi     # 0x15e066
leaq 0x76d65(%rip), %rdx     # 0x16adfe
leaq 0x877c4(%rip), %rcx     # 0x17b864
leaq 0x877d0(%rip), %r8      # 0x17b877
movl $0x7d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf40bb
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x877b9(%rip), %rsi     # 0x17b88e
callq 0x55930
movq 0x10(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f790
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x7758d(%rip), %rdx     # 0x16b687
callq 0x51fc0
movq 0x10(%rsp), %rdi
leaq 0x76ed4(%rip), %rsi     # 0x16afdf
callq 0x50970
movq 0x10(%rsp), %rdi
leaq 0xc4(%rip), %rsi        # 0xf41e0
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 0xbf42e(%rip), %rdx     # 0x1b3570
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
leaq 0x8fb15(%rip), %rsi     # 0x183c77
leaq 0xbf427(%rip), %rdx     # 0x1b3590
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf41c5
movq 0xbfe44(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69ec8(%rip), %rsi     # 0x15e066
leaq 0x7ea8d(%rip), %rdx     # 0x172c32
leaq 0x876b8(%rip), %rcx     # 0x17b864
leaq 0x876c4(%rip), %r8      # 0x17b877
movl $0x8d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf41c7
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/canvas_lua.c
// Function: canvas_cairo_file_lua_to_file
static int canvas_cairo_file_lua_to_file(lua_State *L)
{
  GtCanvas **canvas;
  GtCanvasCairoFile *ccf = NULL;
  GtError *err;
  const char *fn;
  int had_err = 0;
  canvas = check_canvas(L, 1);
  ccf = canvas_cairo_file_try_cast(*canvas);
  luaL_argcheck(L, ccf, 1, "must be a CanvasCairoFile object");
  fn = luaL_checkstring(L, 2);
  gt_assert(canvas);
  err = gt_error_new();
  had_err = gt_canvas_cairo_file_to_file(ccf, fn, err);
  if (had_err)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  return 0;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movq $0x0, 0x18(%rsp)
movl $0x0, 0x4(%rsp)
movq 0x28(%rsp), %rdi
movl $0x1, %esi
leaq 0x87643(%rip), %rdx     # 0x17b88e
callq 0x559c0
movq %rax, 0x20(%rsp)
callq 0x3b100
movq %rax, %rdi
movq 0x20(%rsp), %rax
movq (%rax), %rsi
callq 0x3a830
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x18(%rsp)
movb %al, 0x3(%rsp)
jne 0xf429d
movq 0x28(%rsp), %rdi
movl $0x1, %esi
leaq 0x87613(%rip), %rdx     # 0x17b8a1
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x3(%rsp)
movb 0x3(%rsp), %al
movq 0x28(%rsp), %rdi
movl $0x2, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x558e0
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
jne 0xf42f9
movq 0xbfd10(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69d94(%rip), %rsi     # 0x15e066
leaq 0x80979(%rip), %rdx     # 0x174c52
leaq 0x875e2(%rip), %rcx     # 0x17b8c2
leaq 0x87590(%rip), %r8      # 0x17b877
movl $0x5a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf42fb
callq 0xc0b0
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
callq 0x3af40
movl %eax, 0x4(%rsp)
cmpl $0x0, 0x4(%rsp)
je 0xf4339
movq 0x28(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x34(%rsp)
jmp 0xf434b
movq 0x10(%rsp), %rdi
callq 0xc490
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/canvas_lua.c
// Function: canvas_cairo_file_lua_new_generic
static int canvas_cairo_file_lua_new_generic(lua_State *L, GtGraphicsOutType t)
{
  GtCanvas **canvas;
  GtImageInfo **ii;
  unsigned int width,
               height;
  GtError *err;
  GtStyle *style;
  width = luaL_checkint(L, 1);
  height = luaL_checkint(L, 2);
  /* create canvas */
  style = gt_lua_get_style_from_registry(L);
  canvas = lua_newuserdata(L, sizeof (GtCanvas*));
  gt_assert(canvas);
  /* if a imageinfo object is passed, it must be correct type */
  if (lua_isnil(L, 3)) {
    err = gt_error_new();
    *canvas = gt_canvas_cairo_file_new(style, t, width, height, NULL, err);
  } else {
    ii = check_imageinfo(L, 3);
    err = gt_error_new();
    *canvas = gt_canvas_cairo_file_new(style, t, width, height, *ii, err);
  }
  if (gt_error_is_set(err))
    return gt_lua_error(L, err);
  gt_error_delete(err);
  luaL_getmetatable(L, CANVAS_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movq 0x38(%rsp), %rdi
movl $0x1, %esi
callq 0x55c40
movl %eax, 0x1c(%rsp)
movq 0x38(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rdi
callq 0xfbfa0
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0xf4476
movq 0xbfb93(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69c17(%rip), %rsi     # 0x15e066
leaq 0x807fc(%rip), %rdx     # 0x174c52
leaq 0x874ea(%rip), %rcx     # 0x17b947
leaq 0x87413(%rip), %r8      # 0x17b877
movl $0x29, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf4478
movq 0x38(%rsp), %rdi
movl $0x3, %esi
callq 0x4f800
cmpl $0x0, %eax
jne 0xf44c7
callq 0xc0b0
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
movl 0x34(%rsp), %esi
movl 0x1c(%rsp), %eax
movl %eax, %edx
movl 0x18(%rsp), %eax
movl %eax, %ecx
movq 0x10(%rsp), %r9
xorl %eax, %eax
movl %eax, %r8d
callq 0x3b1b0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
jmp 0xf451e
movq 0x38(%rsp), %rdi
movl $0x3, %esi
leaq 0x87491(%rip), %rdx     # 0x17b969
callq 0x559c0
movq %rax, 0x20(%rsp)
callq 0xc0b0
movq %rax, 0x10(%rsp)
movq 0x8(%rsp), %rdi
movl 0x34(%rsp), %esi
movl 0x1c(%rsp), %eax
movl %eax, %edx
movl 0x18(%rsp), %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq (%rax), %r8
movq 0x10(%rsp), %r9
callq 0x3b1b0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x10(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xf452e
jmp 0xf4543
movq 0x38(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x44(%rsp)
jmp 0xf457a
movq 0x10(%rsp), %rdi
callq 0xc490
movq 0x38(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x87330(%rip), %rdx     # 0x17b88e
callq 0x51640
movq 0x38(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, 0x44(%rsp)
movl 0x44(%rsp), %eax
addq $0x48, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/cds_stream_lua.c
// Function: gt_lua_open_cds_stream
int gt_lua_open_cds_stream(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_register(L, "gt", cds_stream_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 0xf45d9
movq 0xbfa30(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69ab4(%rip), %rsi     # 0x15e066
leaq 0x76845(%rip), %rdx     # 0x16adfe
leaq 0x873bf(%rip), %rcx     # 0x17b97f
leaq 0x873cf(%rip), %r8      # 0x17b996
movl $0x37, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf45db
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x8f682(%rip), %rsi     # 0x183c77
leaq 0xbefe4(%rip), %rdx     # 0x1b35e0
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf4658
movq 0xbf9b1(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69a35(%rip), %rsi     # 0x15e066
leaq 0x7e5fa(%rip), %rdx     # 0x172c32
leaq 0x87340(%rip), %rcx     # 0x17b97f
leaq 0x87350(%rip), %r8      # 0x17b996
movl $0x3d, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf465a
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/cds_stream_lua.c
// Function: cds_stream_lua_new
static int cds_stream_lua_new(lua_State *L)
{
  GtNodeStream **cds_stream, **in_stream;
  GtRegionMapping **region_mapping;
  in_stream = check_genome_stream(L, 1);
  region_mapping = check_region_mapping(L, 2);
  cds_stream = lua_newuserdata(L, sizeof (GtNodeStream*));
  gt_assert(cds_stream);
  *cds_stream = gt_cds_stream_new(*in_stream,
                                  gt_region_mapping_ref(*region_mapping),
                                  1, /* XXX */
                                  "gtscript",
                                  true, /* XXX */
                                  true, /* XXX */
                                  false /* XXX */);
  luaL_getmetatable(L, GENOME_STREAM_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x7f81e(%rip), %rdx     # 0x173ea8
callq 0x559c0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x7f24f(%rip), %rdx     # 0x1738f4
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x30(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0xf4703
movq 0xbf906(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6998a(%rip), %rsi     # 0x15e066
leaq 0x872a8(%rip), %rdx     # 0x17b98b
leaq 0x872d6(%rip), %rcx     # 0x17b9c0
leaq 0x872a5(%rip), %r8      # 0x17b996
movl $0x20, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf4705
movq 0x20(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rax), %rdi
callq 0xe8c00
movq 0x10(%rsp), %rdi
movq %rax, %rsi
movl $0x1, %r9d
leaq 0x8729f(%rip), %rcx     # 0x17b9d3
xorl %eax, %eax
movl %r9d, %edx
movl %r9d, %r8d
movl $0x0, (%rsp)
callq 0x14d1f0
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x30(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x7f744(%rip), %rdx     # 0x173ea8
callq 0x51640
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/csa_stream_lua.c
// Function: gt_lua_open_csa_stream
int gt_lua_open_csa_stream(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_register(L, "gt", csa_stream_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 0xf47d9
movq 0xbf830(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x698b4(%rip), %rsi     # 0x15e066
leaq 0x76645(%rip), %rdx     # 0x16adfe
leaq 0x8721c(%rip), %rcx     # 0x17b9dc
leaq 0x8722c(%rip), %r8      # 0x17b9f3
movl $0x35, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf47db
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x8f482(%rip), %rsi     # 0x183c77
leaq 0xbee04(%rip), %rdx     # 0x1b3600
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf4858
movq 0xbf7b1(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69835(%rip), %rsi     # 0x15e066
leaq 0x7e3fa(%rip), %rdx     # 0x172c32
leaq 0x8719d(%rip), %rcx     # 0x17b9dc
leaq 0x871ad(%rip), %r8      # 0x17b9f3
movl $0x3b, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf485a
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/csa_stream_lua.c
// Function: csa_stream_lua_new
static int csa_stream_lua_new(lua_State *L)
{
  GtNodeStream **csa_stream, **in_stream;
  GtWord join_length;
  in_stream = check_genome_stream(L, 1);
  if (lua_gettop(L) >= 2) {
    join_length = luaL_checklong(L, 2);
    luaL_argcheck(L, join_length >= 0, 2, "must be >= 0");
  }
  else
    join_length = GT_DEFAULT_JOIN_LENGTH;
  csa_stream = lua_newuserdata(L, sizeof (GtNodeStream*));
  gt_assert(csa_stream);
  *csa_stream = gt_csa_stream_new(*in_stream, join_length);
  luaL_getmetatable(L, GENOME_STREAM_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
movl $0x1, %esi
leaq 0x7f61e(%rip), %rdx     # 0x173ea8
callq 0x559c0
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
callq 0x4f0e0
cmpl $0x2, %eax
jl 0xf48eb
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, 0x8(%rsp)
movb $0x1, %al
cmpq $0x0, 0x8(%rsp)
movb %al, 0x7(%rsp)
jge 0xf48e5
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x87147(%rip), %rdx     # 0x17ba1d
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
jmp 0xf48f4
movq $0x12c, 0x8(%rsp)       # imm = 0x12C
movq 0x20(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xf4948
movq 0xbf6c1(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69745(%rip), %rsi     # 0x15e066
leaq 0x870c0(%rip), %rdx     # 0x17b9e8
leaq 0x870fb(%rip), %rcx     # 0x17ba2a
leaq 0x870bd(%rip), %r8      # 0x17b9f3
movl $0x24, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf494a
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
callq 0x14eb70
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x7f530(%rip), %rdx     # 0x173ea8
callq 0x51640
movq 0x20(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x28, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/diagram_lua.c
// Function: gt_lua_open_diagram
int gt_lua_open_diagram(lua_State *L)
{
#ifndef NDEBUG
  int stack_size;
#endif
  gt_assert(L);
#ifndef NDEBUG
  stack_size = lua_gettop(L);
#endif
  luaL_newmetatable(L, DIAGRAM_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, diagram_lua_delete);
  lua_settable(L, -3);
  /* register functions */
  luaL_register(L, NULL, diagram_lib_m);
  lua_pop(L, 1);
  luaL_register(L, "gt", diagram_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 0xf49e9
movq 0xbf620(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x696a4(%rip), %rsi     # 0x15e066
leaq 0x76435(%rip), %rdx     # 0x16adfe
leaq 0x8706d(%rip), %rcx     # 0x17ba3d
leaq 0x8707a(%rip), %r8      # 0x17ba51
movl $0x9f, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf49eb
movq 0x10(%rsp), %rdi
callq 0x4f0e0
movl %eax, 0xc(%rsp)
movq 0x10(%rsp), %rdi
leaq 0x87064(%rip), %rsi     # 0x17ba69
callq 0x55930
movq 0x10(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f790
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
leaq 0x76c5d(%rip), %rdx     # 0x16b687
callq 0x51fc0
movq 0x10(%rsp), %rdi
leaq 0x765a4(%rip), %rsi     # 0x16afdf
callq 0x50970
movq 0x10(%rsp), %rdi
leaq 0xc4(%rip), %rsi        # 0xf4b10
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 0x8705e(%rip), %rdx     # 0x17bad0
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
leaq 0x8f1e5(%rip), %rsi     # 0x183c77
leaq 0xbeb87(%rip), %rdx     # 0x1b3620
callq 0x55e30
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x10(%rsp), %rdi
callq 0x4f0e0
cmpl 0xc(%rsp), %eax
je 0xf4af5
movq 0xbf514(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69598(%rip), %rsi     # 0x15e066
leaq 0x7e15d(%rip), %rdx     # 0x172c32
leaq 0x86f61(%rip), %rcx     # 0x17ba3d
leaq 0x86f6e(%rip), %r8      # 0x17ba51
movl $0xb0, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf4af7
movl $0x1, %eax
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/diagram_lua.c
// Function: diagram_lua_new_from_array
static int diagram_lua_new_from_array(lua_State *L)
{
  GtDiagram **diagram;
  GtArray *nodes;
  GtRange range;
  GtStyle *style;
  /* get array */
  nodes = genome_node_table_to_array(L);
  /* get range */
  range.start = luaL_checklong(L, 2);
  range.end   = luaL_checklong(L, 3);
  luaL_argcheck(L, range.start > 0, 2, "must be > 0");
  luaL_argcheck(L, range.end > 0, 3, "must be > 0");
  luaL_argcheck(L, range.start <= range.end, 2, "must be <= endpos");
  /* create diagram */
  style = gt_lua_get_style_from_registry(L);
  diagram = lua_newuserdata(L, sizeof (GtDiagram*));
  gt_assert(diagram);
  *diagram = gt_diagram_new_from_array(nodes, &range, style);
  gt_array_delete(nodes);
  luaL_getmetatable(L, DIAGRAM_METATABLE);
  lua_setmetatable(L, -2);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
callq 0xf4ed0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x55c40
movq %rax, 0x18(%rsp)
movb $0x1, %al
cmpq $0x0, 0x10(%rsp)
movb %al, 0x7(%rsp)
ja 0xf4d9e
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x7ebf7(%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 0xf4dd0
movq 0x30(%rsp), %rdi
movl $0x3, %esi
leaq 0x7ebc5(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
movq 0x10(%rsp), %rcx
movb $0x1, %al
cmpq 0x18(%rsp), %rcx
movb %al, 0x5(%rsp)
jbe 0xf4e06
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x7eb9b(%rip), %rdx     # 0x173992
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x5(%rsp)
movb 0x5(%rsp), %al
movq 0x30(%rsp), %rdi
callq 0xfbfa0
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
movl $0x8, %esi
callq 0x53950
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0xf4e6d
movq 0xbf19c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x69220(%rip), %rsi     # 0x15e066
leaq 0x86c28(%rip), %rdx     # 0x17ba75
leaq 0x86c53(%rip), %rcx     # 0x17baa7
leaq 0x86bf6(%rip), %r8      # 0x17ba51
movl $0x80, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf4e6f
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x10(%rsp), %rsi
callq 0x3b750
movq %rax, %rcx
movq 0x28(%rsp), %rax
movq %rcx, (%rax)
movq 0x20(%rsp), %rdi
callq 0x770a0
movq 0x30(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x86bc0(%rip), %rdx     # 0x17ba69
callq 0x51640
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/diagram_lua.c
// Function: genome_node_table_to_array
static GtArray* genome_node_table_to_array(lua_State *L)
{
  lua_Integer i = 1;
  GtArray *nodes;
  GtGenomeNode **gn;
  GT_UNUSED const char *msg;
  bool error;
  /* make sure we got a table as first argument */
  luaL_checktype(L, 1, LUA_TTABLE);
  /* traverse table and save the ranges */
  nodes = gt_array_new(sizeof (GtGenomeNode*));
  lua_pushinteger(L, i);
  lua_gettable(L, 1);
  while (!lua_isnil(L, -1)) {
    error = false;
    gn = lua_touserdata(L, -1);
    if (gn && lua_getmetatable(L, -1)) {
      lua_getfield(L, LUA_REGISTRYINDEX, GENOME_NODE_METATABLE);
      if (lua_rawequal(L, -1, -2)) {
        lua_pop(L, 2); /* remove both metatables */
        gt_array_add(nodes, *gn);
      }
      else
        error = true;
    }
    else
      error = true;
    if (error) {
      /* we have a non-GenomeNode in the table */
      msg = lua_pushfstring(L, "expected %s as type of table entry %d",
                            GENOME_NODE_METATABLE, i);
      gt_array_delete(nodes);
      lua_error(L);
    }
    i++;
    lua_pop(L, 1); /* pop last result */
    lua_pushinteger(L, i);
    lua_gettable(L, 1);
  }
  return nodes;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq $0x1, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
movl $0x5, %edx
callq 0x55ab0
movl $0x8, %edi
callq 0x75ab0
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x50720
movq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x51440
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x4f800
cmpl $0x0, %eax
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0xf4f43
jmp 0xf5057
movb $0x0, 0xf(%rsp)
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x50530
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0xf4fd3
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x51b00
cmpl $0x0, %eax
je 0xf4fd3
movq 0x30(%rsp), %rdi
movl $0xffffd8f0, %esi       # imm = 0xFFFFD8F0
leaq 0x7e6ae(%rip), %rdx     # 0x173637
callq 0x51640
movq 0x30(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0xfffffffe, %edx       # imm = 0xFFFFFFFE
callq 0x4fa80
cmpl $0x0, %eax
je 0xf4fcc
movq 0x30(%rsp), %rdi
movl $0xfffffffd, %esi       # imm = 0xFFFFFFFD
callq 0x4f100
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movl $0x8, %edx
callq 0x76220
jmp 0xf4fd1
movb $0x1, 0xf(%rsp)
jmp 0xf4fd8
movb $0x1, 0xf(%rsp)
testb $0x1, 0xf(%rsp)
je 0xf5017
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rcx
leaq 0x7eb49(%rip), %rsi     # 0x173b39
leaq 0x7e640(%rip), %rdx     # 0x173637
movb $0x0, %al
callq 0x51020
movq %rax, 0x10(%rsp)
movq 0x20(%rsp), %rdi
callq 0x770a0
movq 0x30(%rsp), %rdi
callq 0x530d0
movq 0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x4f100
movq 0x30(%rsp), %rdi
movq 0x28(%rsp), %rsi
callq 0x50720
movq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0x51440
jmp 0xf4f23
movq 0x20(%rsp), %rax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_lua_index_buffer
static int encseq_lua_index_buffer(lua_State *L)
{
  GtEncseqExtractedBuffer **buf = luaL_checkudata(L, 1,
                                                  ENCSEQ_BUFFER_METATABLE);
  GtUword num = luaL_checknumber(L, 2);
  luaL_argcheck(L, num <= (*buf)->length, 2,
                "must be inside extracted substring");
  lua_pushinteger(L, ((*buf)->buf)[num-1]);
  return 1;
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rdi
leaq 0x86638(%rip), %rdx     # 0x17bb1d
movl $0x1, %esi
callq 0x559c0
movq %rax, 0x18(%rsp)
movq 0x20(%rsp), %rdi
movl $0x2, %esi
callq 0x55b80
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0x7240e(%rip), %xmm1    # 0x167928
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movq (%rax), %rdx
movb $0x1, %al
cmpq 0x8(%rdx), %rcx
movb %al, 0xf(%rsp)
jbe 0xf5567
movq 0x20(%rsp), %rdi
movl $0x2, %esi
leaq 0x867fa(%rip), %rdx     # 0x17bd52
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
subq $0x1, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, %esi
callq 0x50720
movl $0x1, %eax
addq $0x28, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_lua_delete_buffer
static int encseq_lua_delete_buffer(lua_State *L)
{
  GtEncseqExtractedBuffer **buf = luaL_checkudata(L, 1,
                                                  ENCSEQ_BUFFER_METATABLE);
  gt_free((*buf)->buf);
  gt_free(*buf);
  return 0;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movl $0x1, %esi
leaq 0x86563(%rip), %rdx     # 0x17bb1d
callq 0x559c0
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq (%rax), %rax
movq (%rax), %rdi
leaq 0x8651d(%rip), %rsi     # 0x17baf3
movl $0xb1, %edx
callq 0xdab0
movq 0x8(%rsp), %rax
movq (%rax), %rdi
leaq 0x86504(%rip), %rsi     # 0x17baf3
movl $0xb2, %edx
callq 0xdab0
xorl %eax, %eax
addq $0x18, %rsp
retq
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: gt_lua_encseq_push
void gt_lua_encseq_push(lua_State *L, GtEncseq *encseq)
{
  GtEncseq **encseqptr;
  gt_assert(L);
  encseqptr = lua_newuserdata(L, sizeof (GtEncseq*));
  *encseqptr = encseq;
  luaL_getmetatable(L, ENCSEQ_METATABLE);
  lua_setmetatable(L, -2);
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xf574e
movq 0xbe8bb(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x6893f(%rip), %rsi     # 0x15e066
leaq 0x756d0(%rip), %rdx     # 0x16adfe
leaq 0x8646c(%rip), %rcx     # 0x17bba1
leaq 0x863b7(%rip), %r8      # 0x17baf3
movl $0x415, %r9d            # imm = 0x415
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xf5750
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 0x8638a(%rip), %rdx     # 0x17bb0a
callq 0x51640
movq 0x10(%rsp), %rdi
movl $0xfffffffe, %esi       # imm = 0xFFFFFFFE
callq 0x523f0
addq $0x18, %rsp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/encseq_lua.c
// Function: encseq_lua_get_encoded_char
static int encseq_lua_get_encoded_char(lua_State *L)
{
  GtEncseq **encseq;
  GtUword pos;
  int readmode;
  unsigned char cc;
  encseq = check_encseq(L, 1);
  pos = luaL_checklong(L, 2);
  readmode = luaL_checklong(L, 3);
  luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
                "cannot exceed total length of encoded sequence");
  luaL_argcheck(L, readmode <= 3, 3,
                "invalid readmode value, must be <= 3");
  cc = gt_encseq_get_encoded_char(*encseq, pos, readmode);
  lua_pushnumber(L, cc);
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x86250(%rip), %rdx     # 0x17bb0a
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x55c40
movl %eax, 0x1c(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
callq 0x113ee0
movq 0x10(%rsp), %rcx
movq %rax, %rdx
movb $0x1, %al
cmpq %rdx, %rcx
movb %al, 0x1a(%rsp)
jb 0xf5935
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x862bb(%rip), %rdx     # 0x17bbe1
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1a(%rsp)
movb 0x1a(%rsp), %al
movb $0x1, %al
cmpl $0x3, 0x1c(%rsp)
movb %al, 0xf(%rsp)
jle 0xf5966
movq 0x30(%rsp), %rdi
movl $0x3, %esi
leaq 0x862b9(%rip), %rdx     # 0x17bc10
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
movl 0x1c(%rsp), %edx
callq 0x113f80
movb %al, 0x1b(%rsp)
movq 0x30(%rsp), %rdi
movzbl 0x1b(%rsp), %eax
cvtsi2sd %eax, %xmm0
callq 0x506d0
movl $0x1, %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_lua_get_decoded_char
static int encseq_lua_get_decoded_char(lua_State *L)
{
  GtEncseq **encseq;
  GtUword pos;
  int readmode;
  char cc;
  encseq = check_encseq(L, 1);
  pos = luaL_checklong(L, 2);
  readmode = luaL_checklong(L, 3);
  luaL_argcheck(L, pos < gt_encseq_total_length(*encseq), 2,
                "cannot exceed total length of encoded sequence");
  luaL_argcheck(L, readmode <= 3, 3,
                "invalid readmode value, must be <= 3");
  cc = gt_encseq_get_decoded_char(*encseq, pos, readmode);
  lua_pushlstring(L, &cc, sizeof (char));
  return 1;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0x30(%rsp), %rdi
movl $0x1, %esi
leaq 0x86140(%rip), %rdx     # 0x17bb0a
callq 0x559c0
movq %rax, 0x28(%rsp)
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0x55c40
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl $0x3, %esi
callq 0x55c40
movl %eax, 0x1c(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x28(%rsp), %rax
movq (%rax), %rdi
callq 0x113ee0
movq 0x10(%rsp), %rcx
movq %rax, %rdx
movb $0x1, %al
cmpq %rdx, %rcx
movb %al, 0x1a(%rsp)
jb 0xf5a45
movq 0x30(%rsp), %rdi
movl $0x2, %esi
leaq 0x861ab(%rip), %rdx     # 0x17bbe1
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1a(%rsp)
movb 0x1a(%rsp), %al
movb $0x1, %al
cmpl $0x3, 0x1c(%rsp)
movb %al, 0xf(%rsp)
jle 0xf5a76
movq 0x30(%rsp), %rdi
movl $0x3, %esi
leaq 0x861a9(%rip), %rdx     # 0x17bc10
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x28(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rsi
movl 0x1c(%rsp), %edx
callq 0x114690
movb %al, 0x1b(%rsp)
movq 0x30(%rsp), %rdi
leaq 0x1b(%rsp), %rsi
movl $0x1, %edx
callq 0x50770
movl $0x1, %eax
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)