// File: /workspace/github_c_makefile_star2_O2/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 0x2b9d92
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 0x2b9ca7
addq %r12, %r15
addq %r12, %r13
movq %r14, (%rsp)
leaq 0xc99ee(%rip), %rdi     # 0x38363b
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 0x2ba309
movl %r15d, %edi
movl %r13d, %esi
movq 0x18(%rsp), %rdx
movq %r14, %rcx
callq 0x2ba361
addq %r12, %rbp
addq %r12, %rbx
movq %r14, (%rsp)
leaq 0xc99b0(%rip), %rdi     # 0x383641
movl %r15d, %esi
movl %r13d, %edx
movq 0x8(%rsp), %rcx
movq %rbp, %r8
movq %rbx, %r9
jmp 0x2b9d74
movq %r9, %rax
movq %r8, 0x10(%rsp)
addq %r12, %rbp
addq %r12, %rbx
movq %r14, (%rsp)
leaq 0xc9981(%rip), %rdi     # 0x383641
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 0x2ba309
movl %ebp, %edi
movl %r14d, 0x8(%rsp)
movl %r14d, %esi
movq 0x20(%rsp), %r14
movq 0x18(%rsp), %rdx
movq %r14, %rcx
callq 0x2ba361
testq %rbx, %rbx
je 0x2b9d52
movq %rbx, %rdi
movl 0x8(%rsp), %edx
cmpq %r15, %rbx
jbe 0x2b9dc0
cmpq %r13, %rdi
jb 0x2b9dc0
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 0xc98f2(%rip), %rdi     # 0x38363b
movl %ebp, %esi
movq 0x10(%rsp), %rcx
jmp 0x2b9d74
addq %r12, %r15
addq %r12, %r13
movq %r14, (%rsp)
leaq 0xc98d8(%rip), %rdi     # 0x38363b
movl %ebp, %esi
movl 0x8(%rsp), %edx
movq 0x10(%rsp), %rcx
movq %r15, %r8
movq %r13, %r9
callq 0x2ba309
pushq $0xa
popq %rdi
movq %r14, %rsi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x17930
movq 0x17e1cf(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2b270(%rip), %rsi     # 0x2e5013
leaq 0xc986d(%rip), %rdx     # 0x383617
leaq 0xc9873(%rip), %rcx     # 0x383624
leaq 0xc9218(%rip), %r8      # 0x382fd0
movl $0x2c4, %r9d            # imm = 0x2C4
jmp 0x2b9dec
movq 0x17e1a1(%rip), %rax    # 0x437f68
movq (%rax), %rdi
leaq 0x2b242(%rip), %rsi     # 0x2e5013
leaq 0xc986f(%rip), %rdx     # 0x383647
leaq 0xc9845(%rip), %rcx     # 0x383624
leaq 0xc91ea(%rip), %r8      # 0x382fd0
movl $0x2dc, %r9d            # imm = 0x2DC
xorl %eax, %eax
callq 0x17a50
callq 0x17390