// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/ltr/ltrdigest_pdom_visitor.c
// Function: gt_ltrdigest_pdom_visitor_parse_alignments
static int gt_ltrdigest_pdom_visitor_parse_alignments(
                                           GT_UNUSED GtLTRdigestPdomVisitor *lv,
                                           GtHMMERParseStatus *status,
                                           char *buf,
                                           FILE *instream,
                                           GtError *err)
{
  int had_err = 0, cur_domain = GT_UNDEF_INT, line = GT_UNDEF_INT;
  int mod_val = 4;
  GtHMMERSingleHit *hit = NULL;
  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 pipeline statistics",
                             buf, (size_t) 28) &&
                     strncmp(">>", buf, (size_t) 2)) {
    if ((buf[2] == '=' && buf[3] == '=')) {
      buf[17] = '\0';
      cur_domain = atoi(buf+12);
      gt_assert(cur_domain != GT_UNDEF_INT && cur_domain > 0);
      hit = gt_hmmer_parse_status_get_hit(status,
                                          (GtUword) cur_domain - 1);
      gt_assert(hit && !hit->alignment);
      hit->alignment = gt_str_new();
      hit->aastring = gt_str_new();
      mod_val = 3;
      line = 0;
    } else {
      bool junk_match = false;
      (void) gt_grep(&junk_match, " (CS|RF|PP)$", buf, NULL);
      if (line % mod_val == 1 || !junk_match) {
        gt_assert(hit && hit->alignment);
        switch (line % mod_val) {
          case 0:
            if (line > 0)
              gt_str_append_char(hit->alignment, '\n');
            gt_str_append_cstr(hit->alignment, buf);
            gt_str_append_char(hit->alignment, '\n');
            break;
          case 1:
            gt_str_append_cstr(hit->alignment, buf);
            gt_str_append_char(hit->alignment, '\n');
            break;
          case 2:
            {
              GT_UNUSED char *b = buf;
              gt_str_append_cstr(hit->alignment, buf);
              gt_str_append_char(hit->alignment, '\n');
              b = strtok(buf, " ");
              gt_assert(strspn(b, "012+-") == (size_t) 2);
              b = strtok(NULL, " ");
              gt_assert(strlen(b) > 0);
              b = strtok(NULL, " ");
              gt_ltrdigest_pdom_visitor_add_aaseq(b, hit->aastring);
            }
            break;
        }
        line++;
      }
    }
    had_err = pdom_parser_get_next_line(buf, instream, err);
  }
  return had_err;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movq %rdx, 0x40(%rsp)
movq %rcx, 0x38(%rsp)
movq %r8, 0x30(%rsp)
movl $0x0, 0x2c(%rsp)
movl $0x80000000, 0x28(%rsp) # imm = 0x80000000
movl $0x80000000, 0x24(%rsp) # imm = 0x80000000
movl $0x4, 0x20(%rsp)
movq $0x0, 0x18(%rsp)
cmpq $0x0, 0x50(%rsp)
je 0x309f5e
cmpq $0x0, 0x38(%rsp)
je 0x309f5e
cmpq $0x0, 0x48(%rsp)
jne 0x309f96
movq 0x33203b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c0a4(%rip), %rsi    # 0x516013
leaq 0x289864(%rip), %rdx    # 0x5937da
leaq 0x289a82(%rip), %rcx    # 0x5939ff
leaq 0x289575(%rip), %r8     # 0x5934f9
movl $0x14f, %r9d            # imm = 0x14F
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309f98
jmp 0x309f9a
cmpq $0x0, 0x30(%rsp)
je 0x309fea
movq 0x30(%rsp), %rdi
callq 0xd8a60
testb $0x1, %al
jne 0x309fb2
jmp 0x309fea
movq 0x331fe7(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20c050(%rip), %rsi    # 0x516013
leaq 0x20c1f5(%rip), %rdx    # 0x5161bf
leaq 0x289a2e(%rip), %rcx    # 0x5939ff
leaq 0x289521(%rip), %r8     # 0x5934f9
movl $0x150, %r9d            # imm = 0x150
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x309fec
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0x309290
movl %eax, 0x2c(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x30a044
movq 0x331f8d(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bff6(%rip), %rsi    # 0x516013
leaq 0x289884(%rip), %rdx    # 0x5938a8
leaq 0x2899d4(%rip), %rcx    # 0x5939ff
leaq 0x2894c7(%rip), %r8     # 0x5934f9
movl $0x152, %r9d            # imm = 0x152
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a046
jmp 0x30a048
xorl %eax, %eax
cmpl $0x0, 0x2c(%rsp)
movb %al, 0x7(%rsp)
jne 0x30a098
movq 0x40(%rsp), %rsi
leaq 0x2899c9(%rip), %rdi    # 0x593a2a
movl $0x1c, %edx
callq 0x192f0
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, 0x7(%rsp)
je 0x30a098
movq 0x40(%rsp), %rsi
leaq 0x2899c3(%rip), %rdi    # 0x593a47
movl $0x2, %edx
callq 0x192f0
cmpl $0x0, %eax
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0x30a0a5
jmp 0x30a439
movq 0x40(%rsp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x3d, %eax
jne 0x30a1cc
movq 0x40(%rsp), %rax
movsbl 0x3(%rax), %eax
cmpl $0x3d, %eax
jne 0x30a1cc
movq 0x40(%rsp), %rax
movb $0x0, 0x11(%rax)
movq 0x40(%rsp), %rdi
addq $0xc, %rdi
callq 0x19b30
movl %eax, 0x28(%rsp)
cmpl $0x80000000, 0x28(%rsp) # imm = 0x80000000
je 0x30a0f5
cmpl $0x0, 0x28(%rsp)
jg 0x30a12d
movq 0x331ea4(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bf0d(%rip), %rsi    # 0x516013
leaq 0x28993d(%rip), %rdx    # 0x593a4a
leaq 0x2898eb(%rip), %rcx    # 0x5939ff
leaq 0x2893de(%rip), %r8     # 0x5934f9
movl $0x159, %r9d            # imm = 0x159
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a12f
movq 0x48(%rsp), %rdi
movslq 0x28(%rsp), %rsi
subq $0x1, %rsi
callq 0x30a450
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
je 0x30a15b
movq 0x18(%rsp), %rax
cmpq $0x0, 0x50(%rax)
je 0x30a193
movq 0x331e3e(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bea7(%rip), %rsi    # 0x516013
leaq 0x289904(%rip), %rdx    # 0x593a77
leaq 0x289885(%rip), %rcx    # 0x5939ff
leaq 0x289378(%rip), %r8     # 0x5934f9
movl $0x15c, %r9d            # imm = 0x15C
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a195
callq 0x11d4a0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x50(%rax)
callq 0x11d4a0
movq %rax, %rcx
movq 0x18(%rsp), %rax
movq %rcx, 0x58(%rax)
movl $0x3, 0x20(%rsp)
movl $0x0, 0x24(%rsp)
jmp 0x30a41c
movb $0x0, 0x17(%rsp)
movq 0x40(%rsp), %rdx
leaq 0x17(%rsp), %rdi
leaq 0x2898ac(%rip), %rsi    # 0x593a8e
xorl %eax, %eax
movl %eax, %ecx
callq 0xdfdb0
movl 0x24(%rsp), %eax
cltd
idivl 0x20(%rsp)
cmpl $0x1, %edx
je 0x30a204
testb $0x1, 0x17(%rsp)
jne 0x30a41a
jmp 0x30a206
cmpq $0x0, 0x18(%rsp)
je 0x30a21a
movq 0x18(%rsp), %rax
cmpq $0x0, 0x50(%rax)
jne 0x30a252
movq 0x331d7f(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bde8(%rip), %rsi    # 0x516013
leaq 0x289869(%rip), %rdx    # 0x593a9b
leaq 0x2897c6(%rip), %rcx    # 0x5939ff
leaq 0x2892b9(%rip), %r8     # 0x5934f9
movl $0x165, %r9d            # imm = 0x165
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a254
movl 0x24(%rsp), %eax
movl 0x20(%rsp), %ecx
cltd
idivl %ecx
movl %edx, %eax
movl %eax, (%rsp)
testl %edx, %edx
je 0x30a281
jmp 0x30a26a
movl (%rsp), %eax
subl $0x1, %eax
je 0x30a2c6
jmp 0x30a274
movl (%rsp), %eax
subl $0x2, %eax
je 0x30a2f1
jmp 0x30a40f
cmpl $0x0, 0x24(%rsp)
jle 0x30a29b
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movl $0xa, %esi
callq 0x11da70
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movq 0x40(%rsp), %rsi
callq 0x11d550
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movl $0xa, %esi
callq 0x11da70
jmp 0x30a40f
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movq 0x40(%rsp), %rsi
callq 0x11d550
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movl $0xa, %esi
callq 0x11da70
jmp 0x30a40f
movq 0x40(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movq 0x40(%rsp), %rsi
callq 0x11d550
movq 0x18(%rsp), %rax
movq 0x50(%rax), %rdi
movl $0xa, %esi
callq 0x11da70
movq 0x40(%rsp), %rdi
leaq 0x28b152(%rip), %rsi    # 0x59547f
callq 0x19b40
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x28976e(%rip), %rsi    # 0x593ab1
callq 0x19280
cmpq $0x2, %rax
je 0x30a386
movq 0x331c4b(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bcb4(%rip), %rsi    # 0x516013
leaq 0x289751(%rip), %rdx    # 0x593ab7
leaq 0x289692(%rip), %rcx    # 0x5939ff
leaq 0x289185(%rip), %r8     # 0x5934f9
movl $0x177, %r9d            # imm = 0x177
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a388
xorl %eax, %eax
movl %eax, %edi
leaq 0x28b0ec(%rip), %rsi    # 0x59547f
callq 0x19b40
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
callq 0x192b0
cmpq $0x0, %rax
ja 0x30a3e5
movq 0x331bec(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x20bc55(%rip), %rsi    # 0x516013
leaq 0x289713(%rip), %rdx    # 0x593ad8
leaq 0x289633(%rip), %rcx    # 0x5939ff
leaq 0x289126(%rip), %r8     # 0x5934f9
movl $0x179, %r9d            # imm = 0x179
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x30a3e7
xorl %eax, %eax
movl %eax, %edi
leaq 0x28b08d(%rip), %rsi    # 0x59547f
callq 0x19b40
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
movq 0x18(%rsp), %rax
movq 0x58(%rax), %rsi
callq 0x30a630
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0x30a41c
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdx
callq 0x309290
movl %eax, 0x2c(%rsp)
jmp 0x30a048
movl 0x2c(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)