// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/encseq.c
// Function: containsspecialViadirectaccess
static bool containsspecialViadirectaccess(const GtEncseq *encseq,
                                           GtReadmode readmode,
                                           GT_UNUSED GtEncseqReader *esr,
                                           GtUword startpos,
                                           GtUword len)
{
  GtUword pos;

  gt_assert(encseq != NULL);
  if (!GT_ISDIRREVERSE(readmode)) {
    for (pos = startpos; pos < startpos + len; pos++) {
      if (GT_ISSPECIAL(encseq->plainseq[pos]))
        return true;
    }
  }
  else {
    gt_assert(startpos < encseq->totallength);
    startpos = GT_REVERSEPOS(encseq->totallength, startpos);
    gt_assert (startpos + 1 >= len);
    for (pos = startpos; /* Nothing */; pos--) {
      if (GT_ISSPECIAL(encseq->plainseq[pos]))
        return true;
      if (pos == startpos + 1 - len)
        break;
    }
  }
  return false;
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movq %rdx, 0x18(%rsp)
movq %rcx, 0x10(%rsp)
movq %r8, 0x8(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x1383ec
movq 0x7bc1d(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x25ca1(%rip), %rsi     # 0x15e066
leaq 0x4d9c8(%rip), %rdx     # 0x185d94
leaq 0x51f9e(%rip), %rcx     # 0x18a371
leaq 0x4d284(%rip), %r8      # 0x18565e
movl $0x8f2, %r9d            # imm = 0x8F2
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1383ee
cmpl $0x1, 0x24(%rsp)
je 0x138452
cmpl $0x3, 0x24(%rsp)
je 0x138452
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
addq 0x8(%rsp), %rcx
cmpq %rcx, %rax
jae 0x13844d
movq 0x28(%rsp), %rax
movq 0x290(%rax), %rax
movq (%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jl 0x13843d
movb $0x1, 0x37(%rsp)
jmp 0x13855a
jmp 0x13843f
movq (%rsp), %rax
addq $0x1, %rax
movq %rax, (%rsp)
jmp 0x138405
jmp 0x138555
jmp 0x138454
movq 0x10(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq 0x30(%rcx), %rax
jb 0x13849c
movq 0x7bb6d(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x25bf1(%rip), %rsi     # 0x15e066
leaq 0x51339(%rip), %rdx     # 0x1897b5
leaq 0x51eee(%rip), %rcx     # 0x18a371
leaq 0x4d1d4(%rip), %r8      # 0x18565e
movl $0x8fa, %r9d            # imm = 0x8FA
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x13849e
movq 0x28(%rsp), %rax
movq 0x30(%rax), %rax
subq $0x1, %rax
subq 0x10(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x1, %rax
cmpq 0x8(%rsp), %rax
jae 0x1384fd
movq 0x7bb0c(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x25b90(%rip), %rsi     # 0x15e066
leaq 0x52361(%rip), %rdx     # 0x18a83e
leaq 0x51e8d(%rip), %rcx     # 0x18a371
leaq 0x4d173(%rip), %r8      # 0x18565e
movl $0x8fc, %r9d            # imm = 0x8FC
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0x1384ff
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x28(%rsp), %rax
movq 0x290(%rax), %rax
movq (%rsp), %rcx
movzbl (%rax,%rcx), %eax
cmpl $0xfe, %eax
jl 0x13852a
movb $0x1, 0x37(%rsp)
jmp 0x13855a
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
addq $0x1, %rcx
subq 0x8(%rsp), %rcx
cmpq %rcx, %rax
jne 0x138543
jmp 0x138553
jmp 0x138545
movq (%rsp), %rax
addq $-0x1, %rax
movq %rax, (%rsp)
jmp 0x138508
jmp 0x138555
movb $0x0, 0x37(%rsp)
movb 0x37(%rsp), %al
andb $0x1, %al
addq $0x38, %rsp
retq
nopw %cs:(%rax,%rax)