// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/match/ft-eoplist.c
// Function: gt_eoplist_write_lines
static void gt_eoplist_write_lines(GtUword one_off,
                                   bool subject_first,
                                   int numwidth,
                                   unsigned int width,
                                   const GtUchar *subject_buf,
                                   GtUword subject_seqlength,
                                   GtUword subject_start_pos,
                                   GtUword subject_end_pos,
                                   const GtUchar *midbuf,
                                   const GtUchar *query_buf,
                                   GtUword query_start_pos,
                                   GtUword query_end_pos,
                                   FILE *fp)
{
  gt_assert(numwidth > 0);
  if (subject_first)
  {
    gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
                           subject_start_pos + one_off,
                           subject_end_pos + one_off,fp);
    gt_eoplist_middle_line(numwidth,width,midbuf,fp);
    gt_eoplist_single_line("Query",numwidth,width,query_buf,
                           query_start_pos + one_off,
                           query_end_pos + one_off,fp);
  } else
  {
    gt_eoplist_single_line("Query",numwidth,width,query_buf,
                           query_start_pos + one_off,
                           query_end_pos + one_off,fp);
    gt_eoplist_middle_line(numwidth,width,midbuf,fp);
    if (subject_seqlength == 0)
    {
      gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
                             subject_start_pos + one_off,
                             subject_end_pos + one_off,fp);
    } else
    {
      gt_assert(subject_seqlength > subject_start_pos &&
                subject_seqlength >= subject_end_pos);
      gt_eoplist_single_line("Sbjct",numwidth,width,subject_buf,
                             subject_seqlength - 1 - subject_start_pos
                               + one_off,
                             one_off +
                             (subject_seqlength > subject_end_pos
                               ? subject_seqlength - 1 - subject_end_pos
                               : 0),
                             fp);
    }
  }
  fputc('\n',fp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
testl %edx, %edx
jle 0x323f19
movq %rdi, %r12
movq 0x90(%rsp), %r14
movq 0x88(%rsp), %rbx
movq 0x80(%rsp), %rbp
movq 0x78(%rsp), %r11
movq 0x70(%rsp), %rdi
movq %rdi, 0x18(%rsp)
movq 0x68(%rsp), %r13
movq 0x60(%rsp), %r15
testb %sil, %sil
je 0x323e30
addq %r12, %r15
addq %r12, %r13
movq %r14, (%rsp)
leaq 0xc8bd9(%rip), %rdi     # 0x3ec9af
movl %edx, %esi
movq %r15, %rax
movl %edx, %r15d
movl %ecx, %edx
movq %r13, %r9
movl %ecx, %r13d
movq %r8, %rcx
movq %rax, %r8
movq %r11, 0x8(%rsp)
callq 0x3242c0
movl %r15d, %edi
movl %r13d, %esi
movq 0x18(%rsp), %rdx
movq %r14, %rcx
callq 0x32431a
addq %r12, %rbp
addq %r12, %rbx
movq %r14, (%rsp)
leaq 0xc8b9b(%rip), %rdi     # 0x3ec9b5
movl %r15d, %esi
movl %r13d, %edx
movq 0x8(%rsp), %rcx
movq %rbp, %r8
movq %rbx, %r9
jmp 0x323ef9
movq %r9, %rax
movq %r8, 0x10(%rsp)
addq %r12, %rbp
addq %r12, %rbx
movq %r14, (%rsp)
leaq 0xc8b6c(%rip), %rdi     # 0x3ec9b5
movl %edx, %esi
movl %edx, %r10d
movl %ecx, %edx
movq %r14, 0x20(%rsp)
movl %ecx, %r14d
movq %r11, %rcx
movq %rbp, %r8
movl %r10d, %ebp
movq %rbx, %r9
movq %rax, %rbx
callq 0x3242c0
movl %ebp, %edi
movl %r14d, 0x8(%rsp)
movl %r14d, %esi
movq 0x20(%rsp), %r14
movq 0x18(%rsp), %rdx
movq %r14, %rcx
callq 0x32431a
testq %rbx, %rbx
je 0x323ed7
movq %rbx, %rdi
movl 0x8(%rsp), %edx
cmpq %r15, %rbx
jbe 0x323f1e
cmpq %r13, %rdi
jb 0x323f1e
leaq -0x1(%rdi), %rax
movq %r12, %rcx
subq %r15, %rcx
leaq (%rcx,%rdi), %r8
decq %r8
subq %r13, %rax
xorl %r9d, %r9d
cmpq %r13, %rdi
cmovaq %rax, %r9
addq %r12, %r9
movq %r14, (%rsp)
leaq 0xc8ae1(%rip), %rdi     # 0x3ec9af
movl %ebp, %esi
movq 0x10(%rsp), %rcx
jmp 0x323ef9
addq %r12, %r15
addq %r12, %r13
movq %r14, (%rsp)
leaq 0xc8ac7(%rip), %rdi     # 0x3ec9af
movl %ebp, %esi
movl 0x8(%rsp), %edx
movq 0x10(%rsp), %rcx
movq %r15, %r8
movq %r13, %r9
callq 0x3242c0
movl $0xa, %edi
movq %r14, %rsi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x17980
callq 0x9428c
callq 0x942c5