// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: containsspecialViaequallength
static bool containsspecialViaequallength(const GtEncseq *encseq,
                                          GtReadmode readmode,
                                          GT_UNUSED GtEncseqReader *esr,
                                          GtUword startpos,
                                          GtUword len)
{
  gt_assert(encseq != NULL);
  if (!GT_ISDIRREVERSE(readmode)) {
    gt_assert(startpos + len <= encseq->totallength);
    if (issinglepositioninspecialrangeViaequallength(encseq, startpos) ||
        issinglepositioninspecialrangeViaequallength(encseq, startpos+len-1) ||
        gt_encseq_seqnum_Viaequallength(encseq, startpos) !=
        gt_encseq_seqnum_Viaequallength(encseq, startpos + len - 1)) {
      return true;
    }
  }
  else {
    gt_assert(startpos < encseq->totallength);
    startpos = GT_REVERSEPOS(encseq->totallength, startpos);
    gt_assert (startpos + 1 >= len);
    if (issinglepositioninspecialrangeViaequallength(encseq, startpos) ||
        issinglepositioninspecialrangeViaequallength(encseq, startpos+1-len) ||
        gt_encseq_seqnum_Viaequallength(encseq, startpos) !=
        gt_encseq_seqnum_Viaequallength(encseq, startpos + 1 - len)) {
      return true;
    }
  }
  return false;
}

// Assembly:
subq $0x48, %rsp
movq %rdi, 0x38(%rsp)
movl %esi, 0x34(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movq %r8, 0x18(%rsp)
cmpq $0x0, 0x38(%rsp)
jne 0x13976c
movq 0x7a89d(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x24921(%rip), %rsi     # 0x15e066
leaq 0x4c648(%rip), %rdx     # 0x185d94
leaq 0x50db7(%rip), %rcx     # 0x18a50a
leaq 0x4bf04(%rip), %r8      # 0x18565e
movl $0xa9e, %r9d            # imm = 0xA9E
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13976e
cmpl $0x1, 0x34(%rsp)
je 0x13984c
cmpl $0x3, 0x34(%rsp)
je 0x13984c
jmp 0x139786
movq 0x20(%rsp), %rax
addq 0x18(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jbe 0x1397d3
movq 0x7a836(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x248ba(%rip), %rsi     # 0x15e066
leaq 0x511da(%rip), %rdx     # 0x18a98d
leaq 0x50d50(%rip), %rcx     # 0x18a50a
leaq 0x4be9d(%rip), %r8      # 0x18565e
movl $0xaa0, %r9d            # imm = 0xAA0
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1397d5
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1144a0
testb $0x1, %al
jne 0x13983d
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
addq 0x18(%rsp), %rsi
subq $0x1, %rsi
callq 0x1144a0
testb $0x1, %al
jne 0x13983d
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x11a690
movq %rax, 0x10(%rsp)
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
addq 0x18(%rsp), %rsi
subq $0x1, %rsi
callq 0x11a690
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
je 0x139847
movb $0x1, 0x47(%rsp)
jmp 0x13996f
jmp 0x13996a
jmp 0x13984e
movq 0x20(%rsp), %rax
movq 0x38(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jb 0x139896
movq 0x7a773(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x247f7(%rip), %rsi     # 0x15e066
leaq 0x4ff3f(%rip), %rdx     # 0x1897b5
leaq 0x50c8d(%rip), %rcx     # 0x18a50a
leaq 0x4bdda(%rip), %r8      # 0x18565e
movl $0xaa9, %r9d            # imm = 0xAA9
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x139898
movq 0x38(%rsp), %rax
movq 0x30(%rax), %rax
subq $0x1, %rax
subq 0x20(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
addq $0x1, %rax
cmpq 0x18(%rsp), %rax
jae 0x1398f7
movq 0x7a712(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x24796(%rip), %rsi     # 0x15e066
leaq 0x50f67(%rip), %rdx     # 0x18a83e
leaq 0x50c2c(%rip), %rcx     # 0x18a50a
leaq 0x4bd79(%rip), %r8      # 0x18565e
movl $0xaab, %r9d            # imm = 0xAAB
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1398f9
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x1144a0
testb $0x1, %al
jne 0x139961
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
addq $0x1, %rsi
subq 0x18(%rsp), %rsi
callq 0x1144a0
testb $0x1, %al
jne 0x139961
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
callq 0x11a690
movq %rax, 0x8(%rsp)
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
addq $0x1, %rsi
subq 0x18(%rsp), %rsi
callq 0x11a690
movq %rax, %rcx
movq 0x8(%rsp), %rax
cmpq %rcx, %rax
je 0x139968
movb $0x1, 0x47(%rsp)
jmp 0x13996f
jmp 0x13996a
movb $0x0, 0x47(%rsp)
movb 0x47(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
retq
nopw (%rax,%rax)