// File: /workspace/github_c_makefile_star2_O1/jsh58[P]Genrich/Genrich.c
// Function: usage
void usage(void) {
  fprintf(stderr, "Usage: ./Genrich  -%c <file>  -%c <file>", INFILE, OUTFILE);
  fprintf(stderr, "  [optional arguments]\n");
  fprintf(stderr, "Required arguments:\n");
  fprintf(stderr, "  -%c  <file>       Input SAM/BAM file(s) for experimental sample(s)\n", INFILE);
  fprintf(stderr, "  -%c  <file>       Output peak file (in ENCODE narrowPeak format)\n", OUTFILE);
  fprintf(stderr, "Optional I/O arguments:\n");
  fprintf(stderr, "  -%c  <file>       Input SAM/BAM file(s) for control sample(s)\n", CTRLFILE);
  fprintf(stderr, "  -%c  <file>       Output bedgraph-ish file for p/q values\n", LOGFILE);
  fprintf(stderr, "  -%c  <file>       Output bedgraph-ish file for pileups and p-values\n", PILEFILE);
  fprintf(stderr, "  -%c  <file>       Output BED file for reads/fragments/intervals\n", BEDFILE);
  fprintf(stderr, "  -%c  <file>       Output file for PCR duplicates (only with -%c)\n", DUPSFILE, DUPSOPT);
  fprintf(stderr, "Filtering options:\n");
  fprintf(stderr, "  -%c               Remove PCR duplicates\n", DUPSOPT);
  fprintf(stderr, "  -%c  <arg>        Comma-separated list of chromosomes to exclude\n", XCHROM);
  fprintf(stderr, "  -%c  <file>       Input BED file(s) of genomic regions to exclude\n", XFILE);
  fprintf(stderr, "  -%c  <int>        Minimum MAPQ to keep an alignment (def. 0)\n", MINMAPQ);
  fprintf(stderr, "  -%c  <float>      Keep sec alns with AS >= bestAS - <float> (def. 0)\n", ASDIFF);
  fprintf(stderr, "  -%c               Keep unpaired alignments (def. false)\n", UNPAIROPT);
  fprintf(stderr, "  -%c  <int>        Keep unpaired alns, lengths changed to <int>\n", EXTENDOPT);
  fprintf(stderr, "  -%c               Keep unpaired alns, lengths changed to paired avg\n", AVGEXTOPT);
  fprintf(stderr, "Options for ATAC-seq:\n");
  fprintf(stderr, "  -%c               Use ATAC-seq mode (def. false)\n", ATACOPT);
  fprintf(stderr, "  -%c  <int>        Expand cut sites to <int> bp (def. %d)\n", ATACLEN, DEFATAC);
  fprintf(stderr, "  -%c               Skip Tn5 adjustments of cut sites (def. false)\n", DNASEOPT);
  fprintf(stderr, "Options for peak-calling:\n");
  fprintf(stderr, "  -%c  <float>      Maximum p-value (def. %.2f)\n", PVALUE, DEFPVAL);
  fprintf(stderr, "  -%c  <float>      Maximum q-value (FDR-adjusted p-value; def. 1)\n", QVALUE);
  fprintf(stderr, "  -%c  <float>      Minimum AUC for a peak (def. %.1f)\n", MINAUC, DEFAUC);
  fprintf(stderr, "  -%c  <int>        Minimum length of a peak (def. %d)\n", MINLEN, DEFMINLEN);
  fprintf(stderr, "  -%c  <int>        Maximum distance between signif. sites (def. %d)\n", MAXGAP, DEFMAXGAP);
  fprintf(stderr, "Other options:\n");
  fprintf(stderr, "  -%c               Skip peak-calling\n", NOPEAKS);
  fprintf(stderr, "  -%c               Call peaks directly from a log file (-%c)\n", PEAKSONLY, LOGFILE);
  fprintf(stderr, "  -%c               Option to gzip-compress output(s)\n", GZOPT);
  fprintf(stderr, "  -%c               Option to print status updates/counts to stderr\n", VERBOSE);
  exit(EXIT_FAILURE);
}

// Assembly:
pushq %rbx
movq 0x16a41(%rip), %rbx     # 0x19ff8
movq (%rbx), %rdi
leaq 0xf6c7(%rip), %rsi      # 0x12c88
movl $0x74, %edx
movl $0x6f, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf6d5(%rip), %rdi      # 0x12cb1
movl $0x17, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rcx
leaq 0xf6d4(%rip), %rdi      # 0x12cc9
movl $0x14, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf6d0(%rip), %rsi      # 0x12cde
movl $0x74, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf700(%rip), %rsi      # 0x12d24
movl $0x6f, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf72e(%rip), %rdi      # 0x12d68
movl $0x18, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf72e(%rip), %rsi      # 0x12d81
movl $0x63, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf759(%rip), %rsi      # 0x12dc2
movl $0x66, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf780(%rip), %rsi      # 0x12dff
movl $0x6b, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf7b1(%rip), %rsi      # 0x12e46
movl $0x62, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf7de(%rip), %rsi      # 0x12e89
movl $0x52, %edx
movl $0x72, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf807(%rip), %rdi      # 0x12ecd
movl $0x13, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf802(%rip), %rsi      # 0x12ee1
movl $0x72, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf817(%rip), %rsi      # 0x12f0c
movl $0x65, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf845(%rip), %rsi      # 0x12f50
movl $0x45, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf874(%rip), %rsi      # 0x12f95
movl $0x6d, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf89e(%rip), %rsi      # 0x12fd5
movl $0x73, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf8d0(%rip), %rsi      # 0x1301d
movl $0x79, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf8f5(%rip), %rsi      # 0x13058
movl $0x77, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf921(%rip), %rsi      # 0x1309a
movl $0x78, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf952(%rip), %rdi      # 0x130e1
movl $0x16, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf950(%rip), %rsi      # 0x130f8
movl $0x6a, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf96e(%rip), %rsi      # 0x1312c
movl $0x64, %edx
movl $0x64, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf98f(%rip), %rsi      # 0x13168
movl $0x44, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xf9bd(%rip), %rdi      # 0x131ac
movl $0x1a, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xf9bf(%rip), %rsi      # 0x131c7
movsd 0xe7f8(%rip), %xmm0     # 0x12008
movl $0x70, %edx
movb $0x1, %al
callq 0x21d0
movq (%rbx), %rdi
leaq 0xf9d2(%rip), %rsi      # 0x131f8
movl $0x71, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa00(%rip), %rsi      # 0x1323c
movsd 0xe7cc(%rip), %xmm0     # 0x12010
movl $0x61, %edx
movb $0x1, %al
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa1a(%rip), %rsi      # 0x13274
movl $0x6c, %edx
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa3a(%rip), %rsi      # 0x132ac
movl $0x67, %edx
movl $0x64, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rcx
leaq 0xfa65(%rip), %rdi      # 0x132f2
movl $0xf, %esi
movl $0x1, %edx
callq 0x22b0
movq (%rbx), %rdi
leaq 0xfa5c(%rip), %rsi      # 0x13302
movl $0x58, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa6d(%rip), %rsi      # 0x13329
movl $0x50, %edx
movl $0x66, %ecx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfa91(%rip), %rsi      # 0x13368
movl $0x7a, %edx
xorl %eax, %eax
callq 0x21d0
movq (%rbx), %rdi
leaq 0xfab2(%rip), %rsi      # 0x1339f
movl $0x76, %edx
xorl %eax, %eax
callq 0x21d0
movl $0x1, %edi
callq 0x22a0