// File: /workspace/github_c_makefile_star2_O1/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 0xc1eb1
cmpl $0x5, %eax
je 0xc1dea
cmpl $0x4, %eax
jne 0xc1f71
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc1f71
cmpq $0x0, 0x260(%rbx)
je 0xc1f7a
cmpq $0x0, 0x250(%rbx)
je 0xc1f7a
leaq 0x8(,%rax,8), %rdi
leaq 0x44377(%rip), %rsi     # 0x1060d8
movl $0x125, %edx            # imm = 0x125
callq 0x35ee2
cmpq $0x0, 0x260(%rbx)
je 0xc1f73
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc1d93
movq -0x8(%rcx,%rdi,8), %r8
jmp 0xc1d96
xorl %r8d, %r8d
movq (%rcx,%rdi,8), %r10
movq %r10, %r9
subq %r8, %r9
jbe 0xc1dcc
decq %r10
cmpq %r10, %r8
ja 0xc1dc8
addq 0x240(%rbx), %r8
xorl %r10d, %r10d
movzbl (%r8,%r10), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r10,8)
incq %r10
cmpq %r10, %r9
jne 0xc1db4
leaq (%rsi,%r9,8), %rsi
movq 0x270(%rbx), %r8
addq %r8, %rdx
incq %rdx
incq %rdi
cmpq 0x260(%rbx), %rdi
jb 0xc1d87
jmp 0xc1f73
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc1f71
cmpq $0x0, 0x260(%rbx)
je 0xc1f75
cmpq $0x0, 0x250(%rbx)
je 0xc1f75
leaq 0x8(,%rax,8), %rdi
leaq 0x442b3(%rip), %rsi     # 0x1060d8
movl $0x125, %edx            # imm = 0x125
callq 0x35ee2
cmpq $0x0, 0x260(%rbx)
je 0xc1f73
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc1e57
movq -0x8(%rcx,%rdi,8), %r8
jmp 0xc1e5a
xorl %r8d, %r8d
movq (%rcx,%rdi,8), %r10
movq %r10, %r9
subq %r8, %r9
jbe 0xc1e93
decq %r10
cmpq %r10, %r8
ja 0xc1e8f
addq %r8, %r8
addq 0x240(%rbx), %r8
xorl %r10d, %r10d
movzwl (%r8,%r10,2), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r10,8)
incq %r10
cmpq %r10, %r9
jne 0xc1e7b
leaq (%rsi,%r9,8), %rsi
movq 0x270(%rbx), %r8
addq %r8, %rdx
incq %rdx
incq %rdi
cmpq 0x260(%rbx), %rdi
jb 0xc1e4b
jmp 0xc1f73
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xc1f71
cmpq $0x0, 0x260(%rbx)
je 0xc1f7f
cmpq $0x0, 0x250(%rbx)
je 0xc1f7f
leaq 0x8(,%rax,8), %rdi
leaq 0x441ec(%rip), %rsi     # 0x1060d8
movl $0x125, %edx            # imm = 0x125
callq 0x35ee2
cmpq $0x0, 0x260(%rbx)
je 0xc1f73
movq 0x250(%rbx), %rcx
xorl %edx, %edx
movq %rax, %rsi
xorl %edi, %edi
testq %rdi, %rdi
je 0xc1f1a
movq -0x8(%rcx,%rdi,8), %r8
jmp 0xc1f1d
xorl %r8d, %r8d
movq (%rcx,%rdi,8), %r10
movq %r10, %r9
subq %r8, %r9
jbe 0xc1f56
decq %r10
cmpq %r10, %r8
ja 0xc1f52
shlq $0x2, %r8
addq 0x240(%rbx), %r8
xorl %r10d, %r10d
movl (%r8,%r10,4), %r11d
addq %rdx, %r11
movq %r11, (%rsi,%r10,8)
incq %r10
cmpq %r10, %r9
jne 0xc1f3f
leaq (%rsi,%r9,8), %rsi
movq 0x270(%rbx), %r8
addq %r8, %rdx
incq %rdx
incq %rdi
cmpq 0x260(%rbx), %rdi
jb 0xc1f0e
jmp 0xc1f73
xorl %eax, %eax
popq %rbx
retq
callq 0x2afc8
callq 0x2b001
callq 0x2af8f