// File: /workspace/github_c_makefile_star2_O3/genometools[P]genometools/src/core/encseq.c
// Function: gt_all_sequence_separators_get
GtUword *gt_all_sequence_separators_get(const GtEncseq *encseq)
{
  switch (encseq->satsep) {
    case GT_ACCESS_TYPE_UCHARTABLES:
      return gt_all_ssps_get_uchar(&encseq->ssptab.st_uchar);
    case GT_ACCESS_TYPE_USHORTTABLES:
      return gt_all_ssps_get_uint16(&encseq->ssptab.st_uint16);
    case GT_ACCESS_TYPE_UINT32TABLES:
      return gt_all_ssps_get_uint32(&encseq->ssptab.st_uint32);
    default: return NULL; /* which means that all sequences are of the
                             same length */
  }
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movl 0x4(%rdi), %eax
cmpl $0x6, %eax
je 0xc2f54
cmpl $0x5, %eax
je 0xc2e93
cmpl $0x4, %eax
jne 0xc300e
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc300e
cmpq $0x0, 0x260(%rbx)
je 0xc3017
cmpq $0x0, 0x250(%rbx)
je 0xc3017
leaq 0x8(,%rax,8), %rdi
leaq 0x43163(%rip), %rsi     # 0x105f73
movl $0x125, %edx            # imm = 0x125
callq 0x35862
movq 0x260(%rbx), %r8
testq %r8, %r8
je 0xc3010
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc2e44
movq -0x8(%rcx,%rdi,8), %r9
jmp 0xc2e47
xorl %r9d, %r9d
movq (%rcx,%rdi,8), %r10
subq %r9, %r10
jbe 0xc2e79
addq 0x240(%rbx), %r9
xorl %r8d, %r8d
movzbl (%r9,%r8), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r8,8)
incq %r8
cmpq %r8, %r10
jne 0xc2e5a
leaq (%rsi,%r10,8), %rsi
movq 0x260(%rbx), %r8
movq 0x270(%rbx), %r9
addq %r9, %rdx
incq %rdx
incq %rdi
cmpq %r8, %rdi
jb 0xc2e38
jmp 0xc3010
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc300e
cmpq $0x0, 0x260(%rbx)
je 0xc3012
cmpq $0x0, 0x250(%rbx)
je 0xc3012
leaq 0x8(,%rax,8), %rdi
leaq 0x430a5(%rip), %rsi     # 0x105f73
movl $0x125, %edx            # imm = 0x125
callq 0x35862
movq 0x260(%rbx), %r8
testq %r8, %r8
je 0xc3010
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc2f02
movq -0x8(%rcx,%rdi,8), %r9
jmp 0xc2f05
xorl %r9d, %r9d
movq (%rcx,%rdi,8), %r10
subq %r9, %r10
jbe 0xc2f3a
addq %r9, %r9
addq 0x240(%rbx), %r9
xorl %r8d, %r8d
movzwl (%r9,%r8,2), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r8,8)
incq %r8
cmpq %r8, %r10
jne 0xc2f1b
leaq (%rsi,%r10,8), %rsi
movq 0x260(%rbx), %r8
movq 0x270(%rbx), %r9
addq %r9, %rdx
incq %rdx
incq %rdi
cmpq %r8, %rdi
jb 0xc2ef6
jmp 0xc3010
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc300e
cmpq $0x0, 0x260(%rbx)
je 0xc301c
cmpq $0x0, 0x250(%rbx)
je 0xc301c
leaq 0x8(,%rax,8), %rdi
leaq 0x42fe4(%rip), %rsi     # 0x105f73
movl $0x125, %edx            # imm = 0x125
callq 0x35862
movq 0x260(%rbx), %r8
testq %r8, %r8
je 0xc3010
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc2fbf
movq -0x8(%rcx,%rdi,8), %r9
jmp 0xc2fc2
xorl %r9d, %r9d
movq (%rcx,%rdi,8), %r10
subq %r9, %r10
jbe 0xc2ff7
shlq $0x2, %r9
addq 0x240(%rbx), %r9
xorl %r8d, %r8d
movl (%r9,%r8,4), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r8,8)
incq %r8
cmpq %r8, %r10
jne 0xc2fd9
leaq (%rsi,%r10,8), %rsi
movq 0x260(%rbx), %r8
movq 0x270(%rbx), %r9
addq %r9, %rdx
incq %rdx
incq %rdi
cmpq %r8, %rdi
jb 0xc2fb3
jmp 0xc3010
xorl %eax, %eax
popq %rbx
retq
callq 0x2ad94
callq 0x2adcd
callq 0x2ad5b