// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq_col.c
// Function: gt_encseq_col_get_sequence
static char* gt_encseq_col_get_sequence(const GtSeqCol *sc,
                                        GtUword filenum,
                                        GtUword seqnum,
                                        GtUword start,
                                        GtUword end)
{
  GtEncseqCol *esc;
  char *out;
  GtUword encseq_seqnum, startpos;
  esc = gt_encseq_col_cast(sc);
  gt_assert(esc && filenum < gt_encseq_num_of_files(esc->encseq));
  encseq_seqnum = gt_encseq_filenum_first_seqnum(esc->encseq, filenum) + seqnum;
  gt_assert(encseq_seqnum < gt_encseq_num_of_sequences(esc->encseq));
  gt_assert(start <= end);
  startpos = gt_encseq_seqstartpos(esc->encseq, encseq_seqnum);
  out = gt_calloc(end - start + 1, sizeof (char));
  gt_encseq_extract_decoded(esc->encseq, out, startpos + start, startpos + end);
  return out;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
callq 0x13f230
movq %rax, %rdi
movq 0x50(%rsp), %rsi
callq 0x14a350
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x140541
movq 0x48(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x121fd0
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
jb 0x140579
movq 0x73a90(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1db14(%rip), %rsi     # 0x15e066
leaq 0x4abdf(%rip), %rdx     # 0x18b138
leaq 0x4ac7b(%rip), %rcx     # 0x18b1db
leaq 0x4a947(%rip), %r8      # 0x18aeae
movl $0x188, %r9d            # imm = 0x188
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x14057b
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x48(%rsp), %rsi
callq 0x12cea0
addq 0x40(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x113f30
movq %rax, %rcx
movq (%rsp), %rax
cmpq %rcx, %rax
jb 0x1405f3
movq 0x73a16(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1da9a(%rip), %rsi     # 0x15e066
leaq 0x4ac23(%rip), %rdx     # 0x18b1f6
leaq 0x4ac01(%rip), %rcx     # 0x18b1db
leaq 0x4a8cd(%rip), %r8      # 0x18aeae
movl $0x18a, %r9d            # imm = 0x18A
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1405f5
jmp 0x1405f7
movq 0x38(%rsp), %rax
cmpq 0x30(%rsp), %rax
jbe 0x14063b
movq 0x739ce(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x1da52(%rip), %rsi     # 0x15e066
leaq 0x2e61f(%rip), %rdx     # 0x16ec3a
leaq 0x4abb9(%rip), %rcx     # 0x18b1db
leaq 0x4a885(%rip), %r8      # 0x18aeae
movl $0x18b, %r9d            # imm = 0x18B
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x14063d
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x18(%rsp), %rsi
callq 0x11a710
movq %rax, 0x10(%rsp)
movq 0x30(%rsp), %rdi
subq 0x38(%rsp), %rdi
addq $0x1, %rdi
movl $0x1, %esi
leaq 0x4a83f(%rip), %rdx     # 0x18aeae
movl $0x18d, %ecx            # imm = 0x18D
callq 0xd5b0
movq %rax, 0x20(%rsp)
movq 0x28(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x20(%rsp), %rsi
movq 0x10(%rsp), %rdx
addq 0x38(%rsp), %rdx
movq 0x10(%rsp), %rcx
addq 0x30(%rsp), %rcx
callq 0x116750
movq 0x20(%rsp), %rax
addq $0x58, %rsp
retq
nop