// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/core/seq_iterator_fastq.c
// Function: parse_fastq_seqname
static inline int parse_fastq_seqname(GtSeqIteratorFastQ *seqit,
                                      GtStr *buffer,
                                      char startchar,
                                      GtError *err)
{
  char currentchar;
  bool firstsymbol = true;
  gt_error_check(err);
  gt_assert(seqit && buffer);
  gt_assert(gt_str_length(buffer) == 0);
  if ((currentchar = fastq_buf_getchar(seqit)) == EOF)
    return EOF;
  seqit->currentread++;
  if (currentchar != startchar) {
    gt_error_set(err, "'%c' expected, '%c' encountered instead in line "GT_WU"",
                      startchar,
                      currentchar,
                      seqit->curline);
    return -2;
  }
  while (currentchar != GT_FASTQ_NEWLINESYMBOL) {
    if (!firstsymbol)
      gt_str_append_char(buffer, currentchar);
    else
      firstsymbol = false;
    if ((currentchar = fastq_buf_getchar(seqit)) == EOF)
      return EOF;
    seqit->currentread++;
  }
  seqit->curline++;
  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rcx, %r15
movl %edx, %r12d
movq %rsi, %r14
movq %rdi, %rbx
testq %rcx, %rcx
je 0xa6577
movq %r15, %rdi
callq 0x3566a
testb %al, %al
jne 0xa66f9
testq %r14, %r14
je 0xa66ef
movq %r14, %rdi
callq 0x3c434
testq %rax, %rax
jne 0xa66f4
cmpb $0x1, 0x21(%rbx)
jne 0xa65a4
movb $0x0, 0x21(%rbx)
movzbl 0x98(%rbx), %eax
jmp 0xa65f3
movq 0x60(%rbx), %rax
cmpq 0x58(%rbx), %rax
jb 0xa65d9
movq 0x48(%rbx), %rdi
leaq 0x99(%rbx), %rsi
movl $0x2000, %edx           # imm = 0x2000
callq 0x75a89
cltq
movq %rax, 0x58(%rbx)
testl %eax, %eax
je 0xa66e5
movq $0x0, 0x60(%rbx)
movq 0x60(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60(%rbx)
movzbl 0x99(%rbx,%rax), %eax
movb %al, 0x98(%rbx)
movl %eax, %ecx
shll $0x18, %ecx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $0xff000000, %ecx       # imm = 0xFF000000
je 0xa663d
incq 0x88(%rbx)
movsbl %al, %ecx
movzbl %r12b, %edx
cmpl %edx, %ecx
jne 0xa6623
cmpb $0xa, %al
jne 0xa6648
incq 0x68(%rbx)
xorl %ebp, %ebp
jmp 0xa663d
movq 0x68(%rbx), %r8
leaq 0x54733(%rip), %rsi     # 0xfad61
movq %r15, %rdi
xorl %eax, %eax
callq 0x3559f
movl $0xfffffffe, %ebp       # imm = 0xFFFFFFFE
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x99(%rbx), %r15
movb $0x1, %r12b
testb $0x1, %r12b
je 0xa665d
xorl %r12d, %r12d
jmp 0xa6668
movsbl %al, %esi
movq %r14, %rdi
callq 0x3c28d
cmpb $0x1, 0x21(%rbx)
jne 0xa667b
movb $0x0, 0x21(%rbx)
movzbl 0x98(%rbx), %eax
jmp 0xa66c2
movq 0x60(%rbx), %rax
cmpq 0x58(%rbx), %rax
jb 0xa66a8
movq 0x48(%rbx), %rdi
movl $0x2000, %edx           # imm = 0x2000
movq %r15, %rsi
callq 0x75a89
cltq
movq %rax, 0x58(%rbx)
testl %eax, %eax
je 0xa66de
movq $0x0, 0x60(%rbx)
movq 0x60(%rbx), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x60(%rbx)
movzbl 0x99(%rbx,%rax), %eax
movb %al, 0x98(%rbx)
cmpb $-0x1, %al
je 0xa663d
incq 0x88(%rbx)
cmpb $0xa, %al
jne 0xa6652
jmp 0xa661b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0xa66c2
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
jmp 0xa65f3
callq 0x230f5
callq 0x230be
callq 0x23087
nop