// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/gtlua/region_mapping_lua.c
// Function: region_mapping_lua_get_sequence
static int region_mapping_lua_get_sequence(lua_State *L)
{
  GtRegionMapping **region_mapping;
  GtError *err;
  GtStr *seqidstr;
  char *result;
  GtUword start, end;
  const char *seqid;
  int had_err = 0;
  gt_assert(L);
  region_mapping = check_region_mapping(L, 1);
  seqid = luaL_checkstring(L, 2);
  start = luaL_checknumber(L, 3);
  end = luaL_checknumber(L, 4);
  luaL_argcheck(L, start > 0, 3, "must be > 0");
  luaL_argcheck(L, end > 0, 4, "must be > 0");
  luaL_argcheck(L, start <= end, 3, "must be <= endpos");
  seqidstr = gt_str_new_cstr(seqid);
  err = gt_error_new();
  had_err = gt_region_mapping_get_sequence(*region_mapping, &result, seqidstr,
                                           start, end, err);
  gt_str_delete(seqidstr);
  if (had_err)
    return gt_lua_error(L, err);
  gt_error_delete(err);
  lua_pushstring(L, result);
  gt_free(result);
  return 1;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movl $0x0, 0x1c(%rsp)
cmpq $0x0, 0x58(%rsp)
jne 0xaeca1
movq 0x105368(%rip), %rax    # 0x1b3fd8
movq (%rax), %rdi
leaq 0xaf3ec(%rip), %rsi     # 0x15e066
leaq 0xbc17d(%rip), %rdx     # 0x16adfe
leaq 0xc4f5b(%rip), %rcx     # 0x173be3
leaq 0xc4ef3(%rip), %r8      # 0x173b82
movl $0x7a, %r9d
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xaeca3
movq 0x58(%rsp), %rdi
leaq 0xc4c45(%rip), %rdx     # 0x1738f4
movl $0x1, %esi
callq 0x559c0
movq %rax, 0x50(%rsp)
movq 0x58(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x2, %esi
callq 0x558e0
movq %rax, 0x20(%rsp)
movq 0x58(%rsp), %rdi
movl $0x3, %esi
callq 0x55b80
movaps %xmm0, %xmm1
cvttsd2si %xmm1, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
movsd 0xb8c2c(%rip), %xmm1    # 0x167928
movsd %xmm1, 0x10(%rsp)
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x30(%rsp)
movq 0x58(%rsp), %rdi
movl $0x4, %esi
callq 0x55b80
movsd 0x10(%rsp), %xmm1
movaps %xmm0, %xmm2
cvttsd2si %xmm2, %rax
movq %rax, %rdx
sarq $0x3f, %rdx
subsd %xmm1, %xmm0
cvttsd2si %xmm0, %rcx
andq %rdx, %rcx
orq %rcx, %rax
movq %rax, 0x28(%rsp)
movb $0x1, %al
cmpq $0x0, 0x30(%rsp)
movb %al, 0x1b(%rsp)
ja 0xaed7c
movq 0x58(%rsp), %rdi
movl $0x3, %esi
leaq 0xc4c19(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0x1b(%rsp)
movb 0x1b(%rsp), %al
movb $0x1, %al
cmpq $0x0, 0x28(%rsp)
movb %al, 0xf(%rsp)
ja 0xaedae
movq 0x58(%rsp), %rdi
movl $0x4, %esi
leaq 0xc4be7(%rip), %rdx     # 0x173986
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
movq 0x30(%rsp), %rcx
movb $0x1, %al
cmpq 0x28(%rsp), %rcx
movb %al, 0xe(%rsp)
jbe 0xaede4
movq 0x58(%rsp), %rdi
movl $0x3, %esi
leaq 0xc4bbd(%rip), %rdx     # 0x173992
callq 0x55420
cmpl $0x0, %eax
setne %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
movq 0x20(%rsp), %rdi
callq 0x18f70
movq %rax, 0x40(%rsp)
callq 0xc0b0
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq (%rax), %rdi
movq 0x40(%rsp), %rdx
movq 0x30(%rsp), %rcx
movq 0x28(%rsp), %r8
movq 0x48(%rsp), %r9
leaq 0x38(%rsp), %rsi
callq 0xe8c60
movl %eax, 0x1c(%rsp)
movq 0x40(%rsp), %rdi
callq 0x1afc0
cmpl $0x0, 0x1c(%rsp)
je 0xaee51
movq 0x58(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0xe84e0
movl %eax, 0x64(%rsp)
jmp 0xaee88
movq 0x48(%rsp), %rdi
callq 0xc490
movq 0x58(%rsp), %rdi
movq 0x38(%rsp), %rsi
callq 0x50970
movq 0x38(%rsp), %rdi
leaq 0xc4d0c(%rip), %rsi     # 0x173b82
movl $0x8b, %edx
callq 0xdab0
movl $0x1, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)