// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/core/seq_iterator_fastq.c
// Function: parse_fastq_block
static inline int parse_fastq_block(GtSeqIteratorFastQ *seqit, GtError *err)
{
  int had_err = 0;
  gt_assert(seqit);
  gt_error_check(err);

  /* parse @<seqname> */
  had_err = parse_fastq_seqname(seqit,
                                seqit->descbuffer,
                                GT_FASTQ_BLOCK_START_CHAR,
                                err);
  if (!had_err) {
    /* parse sequence */
    had_err = parse_fastq_sequence(seqit, err);
    gt_fastq_premature_end_check(had_err, seqit);
  }
  if (!had_err) {
    /* parse +[seqname] */
    had_err = parse_fastq_seqname(seqit,
                                  seqit->qdescbuffer,
                                  GT_FASTQ_QUAL_SEPARATOR_CHAR,
                                  err);
    gt_fastq_premature_end_check(had_err, seqit);
  }
  if (!had_err
      && !seqit->relax_qualdesc_check
      && gt_str_length(seqit->qdescbuffer)
      && gt_str_cmp(seqit->descbuffer, seqit->qdescbuffer) != 0)
  {
      gt_error_set(err, "sequence description '%s' is not equal to "
                        "qualities description '%s' in line "GT_WU"",
                        gt_str_get(seqit->descbuffer),
                        gt_str_get(seqit->qdescbuffer),
                        seqit->curline-1);
      return -2;
  }
  if (!had_err) {
    /* parse qualities */
    had_err = parse_fastq_qualities(seqit, err);
    if (gt_str_length(seqit->qualsbuffer)
          != gt_str_length(seqit->sequencebuffer))
    {
      gt_error_set(err, "lengths of character sequence and qualities "
                        "sequence differ ("GT_WU" <-> "GT_WU")",
                        gt_str_length(seqit->qualsbuffer),
                        gt_str_length(seqit->sequencebuffer));
      return -2;
    }
  }
  return had_err;
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
cmpq $0x0, 0x48(%rsp)
jne 0xe3e46
movq 0xd01c3(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7a247(%rip), %rsi     # 0x15e066
leaq 0x94f2e(%rip), %rdx     # 0x178d54
leaq 0x951d9(%rip), %rcx     # 0x179006
leaq 0x95066(%rip), %r8      # 0x178e9a
movl $0x104, %r9d            # imm = 0x104
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe3e48
jmp 0xe3e4a
cmpq $0x0, 0x40(%rsp)
je 0xe3e9a
movq 0x40(%rsp), %rdi
callq 0xc270
testb $0x1, %al
jne 0xe3e62
jmp 0xe3e9a
movq 0xd016f(%rip), %rax     # 0x1b3fd8
movq (%rax), %rdi
leaq 0x7a1f3(%rip), %rsi     # 0x15e066
leaq 0x7a7ce(%rip), %rdx     # 0x15e648
leaq 0x95185(%rip), %rcx     # 0x179006
leaq 0x95012(%rip), %r8      # 0x178e9a
movl $0x105, %r9d            # imm = 0x105
movb $0x0, %al
callq 0xb890
callq 0xb2e0
jmp 0xe3e9c
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq 0x30(%rax), %rsi
movq 0x40(%rsp), %rcx
movl $0x40, %edx
callq 0xe4430
movl %eax, 0x3c(%rsp)
cmpl $0x0, 0x3c(%rsp)
jne 0xe3f35
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xe4640
movl %eax, 0x3c(%rsp)
cmpl $-0x1, 0x3c(%rsp)
jne 0xe3f33
movq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x48(%rsp), %rax
movq 0x90(%rax), %rdi
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, %esi
callq 0x1b320
movq 0x30(%rsp), %rdi
movq %rax, %rdx
movq 0x48(%rsp), %rax
movq 0x68(%rax), %rcx
subq $0x1, %rcx
leaq 0x950f9(%rip), %rsi     # 0x179018
movb $0x0, %al
callq 0xc0d0
movl $0xfffffffe, 0x54(%rsp) # imm = 0xFFFFFFFE
jmp 0xe4109
jmp 0xe3f35
cmpl $0x0, 0x3c(%rsp)
jne 0xe3fbb
movq 0x48(%rsp), %rdi
movq 0x48(%rsp), %rax
movq 0x40(%rax), %rsi
movq 0x40(%rsp), %rcx
movl $0x2b, %edx
callq 0xe4430
movl %eax, 0x3c(%rsp)
cmpl $-0x1, 0x3c(%rsp)
jne 0xe3fb9
movq 0x40(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rax
movq 0x90(%rax), %rdi
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, %esi
callq 0x1b320
movq 0x28(%rsp), %rdi
movq %rax, %rdx
movq 0x48(%rsp), %rax
movq 0x68(%rax), %rcx
subq $0x1, %rcx
leaq 0x95073(%rip), %rsi     # 0x179018
movb $0x0, %al
callq 0xc0d0
movl $0xfffffffe, 0x54(%rsp) # imm = 0xFFFFFFFE
jmp 0xe4109
jmp 0xe3fbb
cmpl $0x0, 0x3c(%rsp)
jne 0xe4065
movq 0x48(%rsp), %rax
testb $0x1, 0x23(%rax)
jne 0xe4065
movq 0x48(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0x19a00
cmpq $0x0, %rax
je 0xe4065
movq 0x48(%rsp), %rax
movq 0x30(%rax), %rdi
movq 0x48(%rsp), %rax
movq 0x40(%rax), %rsi
callq 0x19bd0
cmpl $0x0, %eax
je 0xe4065
movq 0x40(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x48(%rsp), %rax
movq 0x30(%rax), %rdi
callq 0x19940
movq %rax, 0x20(%rsp)
movq 0x48(%rsp), %rax
movq 0x40(%rax), %rdi
callq 0x19940
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rdx
movq %rax, %rcx
movq 0x48(%rsp), %rax
movq 0x68(%rax), %r8
subq $0x1, %r8
leaq 0x9500e(%rip), %rsi     # 0x17905f
movb $0x0, %al
callq 0xc0d0
movl $0xfffffffe, 0x54(%rsp) # imm = 0xFFFFFFFE
jmp 0xe4109
cmpl $0x0, 0x3c(%rsp)
jne 0xe4101
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
callq 0xe4a90
movl %eax, 0x3c(%rsp)
movq 0x48(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x19a00
movq %rax, 0x10(%rsp)
movq 0x48(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x19a00
movq %rax, %rcx
movq 0x10(%rsp), %rax
cmpq %rcx, %rax
je 0xe40ff
movq 0x40(%rsp), %rax
movq %rax, (%rsp)
movq 0x48(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0x19a00
movq %rax, 0x8(%rsp)
movq 0x48(%rsp), %rax
movq 0x28(%rax), %rdi
callq 0x19a00
movq (%rsp), %rdi
movq 0x8(%rsp), %rdx
movq %rax, %rcx
leaq 0x94fc2(%rip), %rsi     # 0x1790b0
movb $0x0, %al
callq 0xc0d0
movl $0xfffffffe, 0x54(%rsp) # imm = 0xFFFFFFFE
jmp 0xe4109
jmp 0xe4101
movl 0x3c(%rsp), %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)