// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/reads2twobit.c
// Function: gt_reads2twobit_encode_twofile_paired_fasta_library
static void gt_reads2twobit_encode_twofile_paired_fasta_library(
    GtReads2TwobitEncodeState *state, GtReadsLibraryInfo *rli, FILE *file1,
    FILE *file2, char *line1)
{
  char *fgetsretval = NULL,
       line2[GT_READS2TWOBIT_READBUFFER_SIZE];
  line2[0] = '\0';
  do {
    if (line1[0] == '>')
    {
      if (state->current.nofseqs > rli->first_seqnum)
      {
        if (!state->invalid_mode)
          gt_reads2twobit_process_sequence_end(state);
        gt_reads2twobit_process_fasta_mate_pair(state, line2, file2);
      }
      else
      {
        if (state->invalid_mode)
          gt_reads2twobit_process_fasta_mate_pair(state, line2, file2);
      }
      gt_reads2twobit_process_desc_line(state, line1, false, false);
      GT_READS2TWOBIT_HANDLE_LONG_DESCRIPTIONS(line1, file1, fgetsretval,
          true, state, false);
      gt_reads2twobit_prepare_for_new_sequence(state);
    }
    else if (!state->invalid_mode)
    {
      gt_reads2twobit_process_sequence_line(state, line1);
    }
  } while ((fgetsretval = fgets(line1, (int)GT_READS2TWOBIT_READBUFFER_SIZE,
            file1)) == line1);
  if (!state->invalid_mode)
    gt_reads2twobit_process_sequence_end(state);
  gt_reads2twobit_process_fasta_mate_pair(state, line2, file2);
}

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x140(%rsp)
movq %rsi, 0x138(%rsp)
movq %rdx, 0x130(%rsp)
movq %rcx, 0x128(%rsp)
movq %r8, 0x120(%rsp)
movq $0x0, 0x118(%rsp)
movb $0x0, 0x10(%rsp)
movq 0x120(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x3e, %eax
jne 0x2a73e1
movq 0x140(%rsp), %rax
movq 0x860(%rax), %rax
movq 0x138(%rsp), %rcx
cmpq 0x38(%rcx), %rax
jbe 0x2a72eb
movq 0x140(%rsp), %rax
testb $0x1, 0x8f1(%rax)
jne 0x2a72cf
movq 0x140(%rsp), %rdi
callq 0x2a57b0
movq 0x140(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x2a7dc0
jmp 0x2a7318
movq 0x140(%rsp), %rax
testb $0x1, 0x8f1(%rax)
je 0x2a7316
movq 0x140(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x2a7dc0
jmp 0x2a7318
movq 0x140(%rsp), %rdi
movq 0x120(%rsp), %rsi
xorl %ecx, %ecx
movl %ecx, %edx
callq 0x2a5c70
movq 0x120(%rsp), %rdi
callq 0x192b0
movq %rax, %rcx
xorl %eax, %eax
cmpq $0xff, %rcx
movb %al, 0xf(%rsp)
jne 0x2a737a
movq 0x120(%rsp), %rax
movsbl 0xfe(%rax), %ecx
xorl %eax, %eax
cmpl $0xa, %ecx
movb %al, 0xf(%rsp)
je 0x2a737a
cmpq $0x0, 0x118(%rsp)
setne %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
testb $0x1, %al
jne 0x2a7384
jmp 0x2a73d2
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rdx
movl $0x100, %esi            # imm = 0x100
callq 0x19b60
movq %rax, 0x118(%rsp)
cmpq $0x0, 0x118(%rsp)
je 0x2a73cd
movq 0x140(%rsp), %rdi
movq 0x120(%rsp), %rsi
xorl %edx, %edx
movl $0x1, %ecx
callq 0x2a5c70
jmp 0x2a7331
movq 0x140(%rsp), %rdi
callq 0x2a5d20
jmp 0x2a7409
movq 0x140(%rsp), %rax
testb $0x1, 0x8f1(%rax)
jne 0x2a7407
movq 0x140(%rsp), %rdi
movq 0x120(%rsp), %rsi
callq 0x2a5db0
jmp 0x2a7409
jmp 0x2a740b
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rdx
movl $0x100, %esi            # imm = 0x100
callq 0x19b60
movq %rax, 0x118(%rsp)
cmpq 0x120(%rsp), %rax
je 0x2a7280
movq 0x140(%rsp), %rax
testb $0x1, 0x8f1(%rax)
jne 0x2a7459
movq 0x140(%rsp), %rdi
callq 0x2a57b0
movq 0x140(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq 0x128(%rsp), %rdx
callq 0x2a7dc0
addq $0x148, %rsp            # imm = 0x148
retq
nopl (%rax,%rax)