// File: /workspace/github_c_makefile_star2_O0/jsh58[P]Genrich/Genrich.c
// Function: saveFragAtac
uint32_t saveFragAtac(Chrom* c, uint32_t start,
    uint32_t end, int atacLen5, int atacLen3, bool atacAdj,
    char* qname, uint8_t count, File bed, bool bedOpt,
    bool gzOut, bool ctrl, int sample, uint64_t* errCount,
    bool verbose) {
  if (atacAdj) {
    start += ATACADJF;
    end += ATACADJR;
  }
  if (start + atacLen3 >= (signed) (end - atacLen3))
    // expanded intervals overlap: just save one
    return saveInterval(c, (signed) (start - atacLen5),
      end + atacLen5, qname, count, bed, bedOpt, gzOut,
      ctrl, sample, errCount, verbose);
  // save two intervals
  return saveInterval(c, (signed) (start - atacLen5),
      start + atacLen3, qname, count, bed, bedOpt,
      gzOut, ctrl, sample, errCount, verbose)
    + saveInterval(c, (signed) (end - atacLen3),
      end + atacLen5, qname, count, bed, bedOpt,
      gzOut, ctrl, sample, errCount, verbose);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x68, %rsp
movl %r9d, %eax
movl %ecx, %r9d
movl %edx, %r10d
movl %esi, %r11d
movq %rdi, %rbx
movb %al, %dil
movb 0xd0(%rsp), %al
movq 0xc8(%rsp), %rcx
movl 0xc0(%rsp), %ecx
movb 0xb8(%rsp), %cl
movb 0xb0(%rsp), %dl
movb 0xa8(%rsp), %sil
movq 0xa0(%rsp), %r14
movb 0x98(%rsp), %bpl
movq 0x90(%rsp), %r15
movq %r14, 0x58(%rsp)
movq %rbx, 0x50(%rsp)
movl %r11d, 0x4c(%rsp)
movl %r10d, 0x48(%rsp)
movl %r9d, 0x44(%rsp)
movl %r8d, 0x40(%rsp)
andb $0x1, %dil
movb %dil, 0x3f(%rsp)
andb $0x1, %sil
movb %sil, 0x3e(%rsp)
andb $0x1, %dl
movb %dl, 0x3d(%rsp)
andb $0x1, %cl
movb %cl, 0x3c(%rsp)
andb $0x1, %al
movb %al, 0x3b(%rsp)
testb $0x1, 0x3f(%rsp)
je 0xc671
movl 0x4c(%rsp), %eax
addl $0x5, %eax
movl %eax, 0x4c(%rsp)
movl 0x48(%rsp), %eax
addl $-0x5, %eax
movl %eax, 0x48(%rsp)
movl 0x4c(%rsp), %eax
addl 0x40(%rsp), %eax
movl 0x48(%rsp), %ecx
subl 0x40(%rsp), %ecx
cmpl %ecx, %eax
jb 0xc723
movq 0x50(%rsp), %rdi
movl 0x4c(%rsp), %eax
subl 0x44(%rsp), %eax
movslq %eax, %rsi
movl 0x48(%rsp), %eax
addl 0x44(%rsp), %eax
movl %eax, %eax
movl %eax, %edx
movq 0x90(%rsp), %rcx
movb 0x98(%rsp), %r8b
movb 0x3e(%rsp), %r14b
movb 0x3d(%rsp), %bpl
movb 0x3c(%rsp), %bl
movl 0xc0(%rsp), %r11d
movq 0xc8(%rsp), %r10
movb 0x3b(%rsp), %al
movq 0x58(%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, 0x64(%rsp)
jmp 0xc855
movq 0x50(%rsp), %rdi
movl 0x4c(%rsp), %eax
subl 0x44(%rsp), %eax
movslq %eax, %rsi
movl 0x4c(%rsp), %eax
addl 0x40(%rsp), %eax
movl %eax, %eax
movl %eax, %edx
movq 0x90(%rsp), %rcx
movb 0x98(%rsp), %r8b
movb 0x3e(%rsp), %r14b
movb 0x3d(%rsp), %bpl
movb 0x3c(%rsp), %bl
movl 0xc0(%rsp), %r11d
movq 0xc8(%rsp), %r10
movb 0x3b(%rsp), %al
movq 0x58(%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, 0x34(%rsp)
movq 0x50(%rsp), %rdi
movl 0x48(%rsp), %eax
subl 0x40(%rsp), %eax
movslq %eax, %rsi
movl 0x48(%rsp), %eax
addl 0x44(%rsp), %eax
movl %eax, %eax
movl %eax, %edx
movq 0x90(%rsp), %rcx
movb 0x98(%rsp), %r8b
movb 0x3e(%rsp), %r14b
movb 0x3d(%rsp), %bpl
movb 0x3c(%rsp), %bl
movl 0xc0(%rsp), %r11d
movq 0xc8(%rsp), %r10
movb 0x3b(%rsp), %al
movq 0x58(%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, %ecx
movl 0x34(%rsp), %eax
addl %ecx, %eax
movl %eax, 0x64(%rsp)
movl 0x64(%rsp), %eax
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nopw %cs:(%rax,%rax)