// File: /workspace/github_c_makefile_star2_O2/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 0xa5865
cmpl $0x5, %eax
je 0xa57af
cmpl $0x4, %eax
jne 0xa5916
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xa5916
cmpq $0x0, 0x260(%rbx)
je 0xa591a
cmpq $0x0, 0x250(%rbx)
je 0xa591a
leaq 0x8(,%rax,8), %rdi
leaq 0x49abf(%rip), %rsi     # 0xef1f3
movl $0x125, %edx            # imm = 0x125
callq 0xccb0
xorl %ecx, %ecx
xorl %edx, %edx
movq %rax, %rsi
cmpq 0x260(%rbx), %rcx
jae 0xa5918
movq 0x250(%rbx), %r8
testq %rcx, %rcx
je 0xa5765
movq -0x8(%r8,%rcx,8), %rdi
jmp 0xa5767
xorl %edi, %edi
movq (%r8,%rcx,8), %r9
movq %r9, %r8
subq %rdi, %r8
jbe 0xa579d
decq %r9
movq %rsi, %r10
cmpq %r9, %rdi
ja 0xa5799
movq 0x240(%rbx), %r11
movzbl (%r11,%rdi), %r11d
addq %rdx, %r11
movq %r11, (%r10)
incq %rdi
addq $0x8, %r10
jmp 0xa5779
leaq (%rsi,%r8,8), %rsi
movq 0x270(%rbx), %rdi
addq %rdi, %rdx
incq %rdx
incq %rcx
jmp 0xa5745
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xa5916
cmpq $0x0, 0x260(%rbx)
je 0xa593b
cmpq $0x0, 0x250(%rbx)
je 0xa593b
leaq 0x8(,%rax,8), %rdi
leaq 0x49a09(%rip), %rsi     # 0xef1f3
movl $0x125, %edx            # imm = 0x125
callq 0xccb0
xorl %ecx, %ecx
xorl %edx, %edx
movq %rax, %rsi
cmpq 0x260(%rbx), %rcx
jae 0xa5918
movq 0x250(%rbx), %r8
testq %rcx, %rcx
je 0xa581b
movq -0x8(%r8,%rcx,8), %rdi
jmp 0xa581d
xorl %edi, %edi
movq (%r8,%rcx,8), %r9
movq %r9, %r8
subq %rdi, %r8
jbe 0xa5853
decq %r9
movq %rsi, %r10
cmpq %r9, %rdi
ja 0xa584f
movq 0x240(%rbx), %r11
movzwl (%r11,%rdi,2), %r11d
addq %rdx, %r11
movq %r11, (%r10)
incq %rdi
addq $0x8, %r10
jmp 0xa582f
leaq (%rsi,%r8,8), %rsi
movq 0x270(%rbx), %rdi
addq %rdi, %rdx
incq %rdx
incq %rcx
jmp 0xa57fb
movq 0x268(%rbx), %rax
testq %rax, %rax
je 0xa5916
cmpq $0x0, 0x260(%rbx)
je 0xa595c
cmpq $0x0, 0x250(%rbx)
je 0xa595c
leaq 0x8(,%rax,8), %rdi
leaq 0x49953(%rip), %rsi     # 0xef1f3
movl $0x125, %edx            # imm = 0x125
callq 0xccb0
xorl %ecx, %ecx
xorl %edx, %edx
movq %rax, %rsi
cmpq 0x260(%rbx), %rcx
jae 0xa5918
movq 0x250(%rbx), %r8
testq %rcx, %rcx
je 0xa58cd
movq -0x8(%r8,%rcx,8), %rdi
jmp 0xa58cf
xorl %edi, %edi
movq (%r8,%rcx,8), %r9
movq %r9, %r8
subq %rdi, %r8
jbe 0xa5904
decq %r9
movq %rsi, %r10
cmpq %r9, %rdi
ja 0xa5900
movq 0x240(%rbx), %r11
movl (%r11,%rdi,4), %r11d
addq %rdx, %r11
movq %r11, (%r10)
incq %rdi
addq $0x8, %r10
jmp 0xa58e1
leaq (%rsi,%r8,8), %rsi
movq 0x270(%rbx), %rdi
addq %rdi, %rdx
incq %rdx
incq %rcx
jmp 0xa58b1
xorl %eax, %eax
popq %rbx
retq
movq 0x88697(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x2473b(%rip), %rsi     # 0xca066
leaq 0x49a4e(%rip), %rdx     # 0xef380
leaq 0x49a80(%rip), %rcx     # 0xef3b9
jmp 0xa597b
movq 0x88676(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x2471a(%rip), %rsi     # 0xca066
leaq 0x49a2d(%rip), %rdx     # 0xef380
leaq 0x49a75(%rip), %rcx     # 0xef3cf
jmp 0xa597b
movq 0x88655(%rip), %rax     # 0x12dfb8
movq (%rax), %rdi
leaq 0x246f9(%rip), %rsi     # 0xca066
leaq 0x49a0c(%rip), %rdx     # 0xef380
leaq 0x49a6b(%rip), %rcx     # 0xef3e6
leaq 0x49871(%rip), %r8      # 0xef1f3
movl $0x122, %r9d            # imm = 0x122
xorl %eax, %eax
callq 0xb8c0
callq 0xb300