// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_parse_domainhits
static int gt_ltrdigest_pdom_visitor_parse_domainhits(
                                                     GtLTRdigestPdomVisitor *lv,
                                                     GtHMMERParseStatus *status,
                                                     char *buf,
                                                     FILE *instream,
                                                     GtError *err)
{
  int had_err = 0;
  GtUword i, nof_hits = 0;
  gt_assert(lv && instream && status);
  gt_error_check(err);

  had_err = pdom_parser_get_next_line(buf, instream, err);
  gt_assert(buf != NULL);
  while (!had_err && strncmp("Internal", buf, (size_t) 8)) {
    GtUword no, hmmfrom, hmmto, alifrom, alito;
    double score, evalue;
    char threshold_ok = '-';
    if ((buf[0] == '>' && buf[1] == '>')) {
      char *b = buf;
      b = strtok(buf+3, " ");
      gt_str_reset(status->cur_model);
      gt_str_append_cstr(status->cur_model, b);
      had_err = pdom_parser_get_next_line(buf, instream, err);
      if (!had_err && strncmp("   [No individual", buf, (size_t) 17)) {
        for (i = 0UL; i < 2UL && !had_err; i++)
          had_err = pdom_parser_get_next_line(buf, instream, err);
      }
      nof_hits = 0UL;
      gt_hmmer_parse_status_mark_frame_finished(status);
    }
    while (!had_err &&
             8 == sscanf(buf, ""GT_WU" %c %lf %*f %*f %lf "GT_WU" "GT_WU" %*s "
                         GT_WU" "GT_WU"", &no,  &threshold_ok, &score, &evalue,
                         &hmmfrom, &hmmto, &alifrom, &alito)) {
      GtHMMERSingleHit *shit = gt_calloc((size_t) 1, sizeof (*shit));
      shit->hmmfrom = hmmfrom;
      shit->hmmto = hmmto;
      shit->alifrom = alifrom;
      shit->alito = alito;
      shit->score = score;
      shit->evalue = evalue;
      shit->strand = status->strand;
      shit->frame = (GtUword) status->frame;
      shit->reported = (threshold_ok == '!');
      shit->chains = gt_array_new(sizeof (GtUword));
      gt_hmmer_parse_status_add_hit(status, shit);
      nof_hits++;
      had_err = pdom_parser_get_next_line(buf, instream, err);
    }
    if (!had_err) {
      if (nof_hits > 0)
        had_err = gt_ltrdigest_pdom_visitor_parse_alignments(lv, status, buf,
                                                             instream, err);
      else
        had_err = pdom_parser_get_next_line(buf, instream, err);
    }
  }
  return had_err;
}

// Assembly:
pushq %rbx
subq $0xc0, %rsp
movq %rdi, 0xb8(%rsp)
movq %rsi, 0xb0(%rsp)
movq %rdx, 0xa8(%rsp)
movq %rcx, 0xa0(%rsp)
movq %r8, 0x98(%rsp)
movl $0x0, 0x94(%rsp)
movq $0x0, 0x80(%rsp)
cmpq $0x0, 0xb8(%rsp)
je 0x3095f8
cmpq $0x0, 0xa0(%rsp)
je 0x3095f8
cmpq $0x0, 0xb0(%rsp)
jne 0x309630
movq 0x3329a1(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20ca0a(%rip), %rsi    # 0x516013
leaq 0x28a1ca(%rip), %rdx    # 0x5937da
leaq 0x28a2fe(%rip), %rcx    # 0x593915
leaq 0x289edb(%rip), %r8     # 0x5934f9
movl $0x192, %r9d            # imm = 0x192
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309632
jmp 0x309634
cmpq $0x0, 0x98(%rsp)
je 0x30968a
movq 0x98(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x309652
jmp 0x30968a
movq 0x332947(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c9b0(%rip), %rsi    # 0x516013
leaq 0x20cb55(%rip), %rdx    # 0x5161bf
leaq 0x28a2a4(%rip), %rcx    # 0x593915
leaq 0x289e81(%rip), %r8     # 0x5934f9
movl $0x193, %r9d            # imm = 0x193
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30968c
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x309290
movl %eax, 0x94(%rsp)
cmpq $0x0, 0xa8(%rsp)
jne 0x3096f3
movq 0x3328de(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c947(%rip), %rsi    # 0x516013
leaq 0x28a1d5(%rip), %rdx    # 0x5938a8
leaq 0x28a23b(%rip), %rcx    # 0x593915
leaq 0x289e18(%rip), %r8     # 0x5934f9
movl $0x196, %r9d            # imm = 0x196
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x3096f5
jmp 0x3096f7
xorl %eax, %eax
cmpl $0x0, 0x94(%rsp)
movb %al, 0x2f(%rsp)
jne 0x30972a
movq 0xa8(%rsp), %rsi
leaq 0x28a22a(%rip), %rdi    # 0x593940
movl $0x8, %edx
callq 0x192f0
cmpl $0x0, %eax
setne %al
movb %al, 0x2f(%rsp)
movb 0x2f(%rsp), %al
testb $0x1, %al
jne 0x309737
jmp 0x309aa3
movb $0x2d, 0x47(%rsp)
movq 0xa8(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x309893
movq 0xa8(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x3e, %eax
jne 0x309893
movq 0xa8(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0xa8(%rsp), %rdi
addq $0x3, %rdi
leaq 0x28bcfa(%rip), %rsi    # 0x59547f
callq 0x19b40
movq %rax, 0x38(%rsp)
movq 0xb0(%rsp), %rax
movq 0x8(%rax), %rdi
callq 0x11e110
movq 0xb0(%rsp), %rax
movq 0x8(%rax), %rdi
movq 0x38(%rsp), %rsi
callq 0x11d550
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x309290
movl %eax, 0x94(%rsp)
cmpl $0x0, 0x94(%rsp)
jne 0x30987a
movq 0xa8(%rsp), %rsi
leaq 0x28a152(%rip), %rdi    # 0x593949
movl $0x11, %edx
callq 0x192f0
cmpl $0x0, %eax
je 0x30987a
movq $0x0, 0x88(%rsp)
xorl %eax, %eax
cmpq $0x2, 0x88(%rsp)
movb %al, 0x2e(%rsp)
jae 0x309834
cmpl $0x0, 0x94(%rsp)
setne %al
xorb $-0x1, %al
movb %al, 0x2e(%rsp)
movb 0x2e(%rsp), %al
testb $0x1, %al
jne 0x30983e
jmp 0x309878
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x309290
movl %eax, 0x94(%rsp)
movq 0x88(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x88(%rsp)
jmp 0x309812
jmp 0x30987a
movq $0x0, 0x80(%rsp)
movq 0xb0(%rsp), %rdi
callq 0x309bf0
jmp 0x309895
xorl %eax, %eax
cmpl $0x0, 0x94(%rsp)
movb %al, 0x2d(%rsp)
jne 0x309906
movq 0xa8(%rsp), %rdi
leaq 0x28a0a7(%rip), %rsi    # 0x59395b
leaq 0x78(%rsp), %rdx
leaq 0x47(%rsp), %rcx
leaq 0x50(%rsp), %r8
leaq 0x48(%rsp), %r9
leaq 0x70(%rsp), %rbx
leaq 0x68(%rsp), %r11
leaq 0x60(%rsp), %r10
leaq 0x58(%rsp), %rax
movq %rbx, (%rsp)
movq %r11, 0x8(%rsp)
movq %r10, 0x10(%rsp)
movq %rax, 0x18(%rsp)
movb $0x0, %al
callq 0x19770
movl %eax, %ecx
movl $0x8, %eax
cmpl %ecx, %eax
sete %al
movb %al, 0x2d(%rsp)
movb 0x2d(%rsp), %al
testb $0x1, %al
jne 0x309913
jmp 0x309a2d
movl $0x1, %edi
movl $0x60, %esi
leaq 0x289bd5(%rip), %rdx    # 0x5934f9
movl $0x1ac, %ecx            # imm = 0x1AC
callq 0xe83c0
movq %rax, 0x30(%rsp)
movq 0x70(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x68(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x60(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x58(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movsd 0x50(%rsp), %xmm0
movq 0x30(%rsp), %rax
movsd %xmm0, 0x30(%rax)
movsd 0x48(%rsp), %xmm0
movq 0x30(%rsp), %rax
movsd %xmm0, 0x28(%rax)
movq 0xb0(%rsp), %rax
movl (%rax), %ecx
movq 0x30(%rsp), %rax
movl %ecx, 0x38(%rax)
movq 0xb0(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, %ecx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rax)
movsbl 0x47(%rsp), %eax
cmpl $0x21, %eax
sete %cl
movq 0x30(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x48(%rax)
movl $0x8, %edi
callq 0x80990
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x40(%rax)
movq 0xb0(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0x309cc0
movq 0x80(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x80(%rsp)
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x309290
movl %eax, 0x94(%rsp)
jmp 0x309895
cmpl $0x0, 0x94(%rsp)
jne 0x309a9e
cmpq $0x0, 0x80(%rsp)
jbe 0x309a78
movq 0xb8(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movq 0xa0(%rsp), %rcx
movq 0x98(%rsp), %r8
callq 0x309f00
movl %eax, 0x94(%rsp)
jmp 0x309a9c
movq 0xa8(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0x98(%rsp), %rdx
callq 0x309290
movl %eax, 0x94(%rsp)
jmp 0x309a9e
jmp 0x3096f7
movl 0x94(%rsp), %eax
addq $0xc0, %rsp
popq %rbx
retq
nopw %cs:(%rax,%rax)