// File: /workspace/github_c_makefile_star2_O2/genometools[P]genometools/src/extended/seqpos_classifier.c
// Function: gt_seqpos_classifier_next_specified_ft
static int gt_seqpos_classifier_next_specified_ft(
    GtSeqposClassifier *seqpos_classifier, GtRange *range,
    bool *end_of_annotation, GtError *err)
{
  int had_err = 0;
  GtFeatureNode *cfn;
  bool fni_exhausted = (seqpos_classifier->fni == NULL) ? true : false;
  gt_assert(seqpos_classifier != NULL);
  gt_assert(range != NULL);
  while (true)
  {
    if (fni_exhausted)
    {
      had_err = gt_seqpos_classifier_next_fn(seqpos_classifier, err);
      if (had_err != 0 || seqpos_classifier->fn == NULL)
      {
        *end_of_annotation = true;
        return had_err;
      }
      fni_exhausted = false;
    }
    gt_assert(seqpos_classifier->fni != NULL);
    cfn = gt_feature_node_iterator_next(seqpos_classifier->fni);
    if (cfn == NULL)
    {
      fni_exhausted = true;
    }
    else if (strcmp(gt_feature_node_get_type(cfn),
          seqpos_classifier->specified_ft) == 0)
    {
      seqpos_classifier->nof_specified_ft_found++;
      *range = gt_genome_node_get_range((GtGenomeNode*)cfn);
      gt_assert(range->start > 0);
      gt_assert(range->end > 0);
      range->start--;
      range->end--;
      *end_of_annotation = false;
      return had_err;
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testq %rdi, %rdi
je 0x117a9f
movq %rsi, %r14
movq %rdx, (%rsp)
testq %rsi, %rsi
je 0x117ac9
movq %rcx, %r15
movq %rdi, %r12
movq 0x18(%rdi), %rdi
testq %rdi, %rdi
sete %bl
leaq 0x8(%r12), %r13
testb $0x1, %bl
je 0x1179d1
testq %rdi, %rdi
je 0x11797e
callq 0xdc9f1
andq $0x0, 0x18(%r12)
movq (%r13), %rdi
testq %rdi, %rdi
je 0x11798c
callq 0xde013
movq (%r12), %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x102a22
testl %eax, %eax
jne 0x117a0d
movq (%r13), %rdi
testq %rdi, %rdi
je 0x117a17
callq 0xdc2f0
movq %rax, 0x10(%r12)
testq %rax, %rax
je 0x11797e
movq %rax, %rdi
callq 0xdc6f0
movq %rax, 0x18(%r12)
cmpq $0x0, 0x10(%r12)
je 0x117a1f
movq 0x18(%r12), %rdi
testq %rdi, %rdi
je 0x117a75
callq 0xdc92e
testq %rax, %rax
sete %bl
je 0x117a03
movq %rax, %rbp
movq %rax, %rdi
callq 0xda338
movq 0x38(%r12), %rsi
movq %rax, %rdi
callq 0x179e0
testl %eax, %eax
je 0x117a38
movq 0x18(%r12), %rdi
jmp 0x117969
xorps %xmm0, %xmm0
movups %xmm0, (%r13)
jmp 0x117a21
xorps %xmm0, %xmm0
movups %xmm0, (%r13)
xorl %eax, %eax
movb $0x1, %cl
movq (%rsp), %rsi
movb %cl, (%rsi)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
incq 0x20(%r12)
movq %rbp, %rdi
callq 0xdd1f4
movq %rax, (%r14)
movq %rdx, 0x8(%r14)
testq %rax, %rax
je 0x117aff
testq %rdx, %rdx
movq (%rsp), %rsi
je 0x117b29
decq %rax
movq %rax, (%r14)
decq %rdx
movq %rdx, 0x8(%r14)
xorl %ecx, %ecx
xorl %eax, %eax
jmp 0x117a27
movq 0x3204ec(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cd58d(%rip), %rsi    # 0x2e5013
leaq 0x21b634(%rip), %rdx    # 0x3330c1
leaq 0x21b606(%rip), %rcx    # 0x33309a
leaq 0x21b4d2(%rip), %r8     # 0x332f6d
pushq $0x70
jmp 0x117af1
movq 0x3204c2(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cd563(%rip), %rsi    # 0x2e5013
leaq 0x21b5c9(%rip), %rdx    # 0x333080
leaq 0x21b5dc(%rip), %rcx    # 0x33309a
leaq 0x21b4a8(%rip), %r8     # 0x332f6d
pushq $0x62
jmp 0x117af1
movq 0x320498(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cd539(%rip), %rsi    # 0x2e5013
leaq 0x240d6e(%rip), %rdx    # 0x35884f
leaq 0x21b5b2(%rip), %rcx    # 0x33309a
leaq 0x21b47e(%rip), %r8     # 0x332f6d
pushq $0x63
popq %r9
xorl %eax, %eax
callq 0x17a50
callq 0x17390
movq 0x320462(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cd503(%rip), %rsi    # 0x2e5013
leaq 0x21b5c9(%rip), %rdx    # 0x3330e0
leaq 0x21b57c(%rip), %rcx    # 0x33309a
leaq 0x21b448(%rip), %r8     # 0x332f6d
pushq $0x7b
jmp 0x117af1
movq 0x320438(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x1cd4d9(%rip), %rsi    # 0x2e5013
leaq 0x21b5b0(%rip), %rdx    # 0x3330f1
leaq 0x21b552(%rip), %rcx    # 0x33309a
leaq 0x21b41e(%rip), %r8     # 0x332f6d
pushq $0x7c
jmp 0x117af1