// File: /workspace/github_c_makefile_star2_O0/jsh58[P]Genrich/Genrich.c
// Function: saveFragment
uint32_t saveFragment(char* qname, Aln* a, uint8_t count,
    bool atacOpt, int atacLen5, int atacLen3, bool atacAdj,
    File bed, bool bedOpt, bool gzOut, bool ctrl,
    int sample, uint64_t* errCount, bool verbose) {
  // ensure start < end
  uint32_t start, end;
  if (a->pos[0] > a->pos[1]) {
    start = a->pos[1];
    end = a->pos[0];
  } else {
    start = a->pos[0];
    end = a->pos[1];
  }
  if (atacOpt)
    return saveFragAtac(a->chrom, start, end, atacLen5,
      atacLen3, atacAdj, qname, count, bed, bedOpt,
      gzOut, ctrl, sample, errCount, verbose);
  return saveInterval(a->chrom, start, end, qname,
    count, bed, bedOpt, gzOut, ctrl, sample, errCount,
    verbose);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movb %cl, %r10b
movb %dl, %r11b
movb 0xf8(%rsp), %al
movq 0xf0(%rsp), %rcx
movl 0xe8(%rsp), %ecx
movb 0xe0(%rsp), %cl
movb 0xd8(%rsp), %dl
movb 0xd0(%rsp), %sil
movq 0xc8(%rsp), %r15
movb 0xc0(%rsp), %dil
movq %r15, 0x78(%rsp)
movq %r14, 0x70(%rsp)
movq %rbx, 0x68(%rsp)
movb %r11b, 0x67(%rsp)
andb $0x1, %r10b
movb %r10b, 0x66(%rsp)
movl %r8d, 0x60(%rsp)
movl %r9d, 0x5c(%rsp)
andb $0x1, %dil
movb %dil, 0x5b(%rsp)
andb $0x1, %sil
movb %sil, 0x5a(%rsp)
andb $0x1, %dl
movb %dl, 0x59(%rsp)
andb $0x1, %cl
movb %cl, 0x58(%rsp)
andb $0x1, %al
movb %al, 0x57(%rsp)
movq 0x68(%rsp), %rax
movl (%rax), %eax
movq 0x68(%rsp), %rcx
cmpl 0x4(%rcx), %eax
jbe 0xc940
movq 0x68(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, 0x50(%rsp)
movq 0x68(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x4c(%rsp)
jmp 0xc957
movq 0x68(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x50(%rsp)
movq 0x68(%rsp), %rax
movl 0x4(%rax), %eax
movl %eax, 0x4c(%rsp)
testb $0x1, 0x66(%rsp)
je 0xca13
movq 0x68(%rsp), %rax
movq 0x20(%rax), %rdi
movl 0x50(%rsp), %esi
movl 0x4c(%rsp), %edx
movl 0x60(%rsp), %ecx
movl 0x5c(%rsp), %r8d
movb 0x5b(%rsp), %r9b
movq 0x70(%rsp), %r13
movb 0x67(%rsp), %r12b
movb 0x5a(%rsp), %r14b
movb 0x59(%rsp), %bpl
movb 0x58(%rsp), %bl
movl 0xe8(%rsp), %r11d
movq 0xf0(%rsp), %r10
movb 0x57(%rsp), %al
movq 0x78(%rsp), %r15
andb $0x1, %r9b
andb $0x1, %r14b
andb $0x1, %bpl
andb $0x1, %bl
andb $0x1, %al
movzbl %r9b, %r9d
movq %r13, (%rsp)
movzbl %r12b, %r12d
movl %r12d, 0x8(%rsp)
movq %r15, 0x10(%rsp)
movzbl %r14b, %r14d
movl %r14d, 0x18(%rsp)
movzbl %bpl, %ebp
movl %ebp, 0x20(%rsp)
movzbl %bl, %ebx
movl %ebx, 0x28(%rsp)
movl %r11d, 0x30(%rsp)
movq %r10, 0x38(%rsp)
movzbl %al, %eax
movl %eax, 0x40(%rsp)
callq 0xc5b0
movl %eax, 0x84(%rsp)
jmp 0xca9e
movq 0x68(%rsp), %rax
movq 0x20(%rax), %rdi
movl 0x50(%rsp), %eax
movl %eax, %esi
movl 0x4c(%rsp), %eax
movl %eax, %edx
movq 0x70(%rsp), %rcx
movb 0x67(%rsp), %r8b
movb 0x5a(%rsp), %r14b
movb 0x59(%rsp), %bpl
movb 0x58(%rsp), %bl
movl 0xe8(%rsp), %r11d
movq 0xf0(%rsp), %r10
movb 0x57(%rsp), %al
movq 0x78(%rsp), %r9
andb $0x1, %r14b
andb $0x1, %bpl
andb $0x1, %bl
andb $0x1, %al
movzbl %r8b, %r8d
movzbl %r14b, %r14d
movl %r14d, (%rsp)
movzbl %bpl, %ebp
movl %ebp, 0x8(%rsp)
movzbl %bl, %ebx
movl %ebx, 0x10(%rsp)
movl %r11d, 0x18(%rsp)
movq %r10, 0x20(%rsp)
movzbl %al, %eax
movl %eax, 0x28(%rsp)
callq 0xb690
movl %eax, 0x84(%rsp)
movl 0x84(%rsp), %eax
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopw (%rax,%rax)