// File: /workspace/github_c_makefile_star2_O3/xiongxu[P]bam2bedGraph2/samtools-0.1.19/sam_view.c
// Function: usage
static int usage(int is_long_help)
{
	fprintf(stderr, "\n");
	fprintf(stderr, "Usage:   samtools view [options] <in.bam>|<in.sam> [region1 [...]]\n\n");
	fprintf(stderr, "Options: -b       output BAM\n");
	fprintf(stderr, "         -h       print header for the SAM output\n");
	fprintf(stderr, "         -H       print header only (no alignments)\n");
	fprintf(stderr, "         -S       input is SAM\n");
	fprintf(stderr, "         -u       uncompressed BAM output (force -b)\n");
	fprintf(stderr, "         -1       fast compression (force -b)\n");
	fprintf(stderr, "         -x       output FLAG in HEX (samtools-C specific)\n");
	fprintf(stderr, "         -X       output FLAG in string (samtools-C specific)\n");
	fprintf(stderr, "         -c       print only the count of matching records\n");
	fprintf(stderr, "         -B       collapse the backward CIGAR operation\n");
	fprintf(stderr, "         -@ INT   number of BAM compression threads [0]\n");
	fprintf(stderr, "         -L FILE  output alignments overlapping the input BED FILE [null]\n");
	fprintf(stderr, "         -t FILE  list of reference names and lengths (force -S) [null]\n");
	fprintf(stderr, "         -T FILE  reference sequence file (force -S) [null]\n");
	fprintf(stderr, "         -o FILE  output file name [stdout]\n");
	fprintf(stderr, "         -R FILE  list of read groups to be outputted [null]\n");
	fprintf(stderr, "         -f INT   required flag, 0 for unset [0]\n");
	fprintf(stderr, "         -F INT   filtering flag, 0 for unset [0]\n");
	fprintf(stderr, "         -q INT   minimum mapping quality [0]\n");
	fprintf(stderr, "         -l STR   only output reads in library STR [null]\n");
	fprintf(stderr, "         -r STR   only output reads in read group STR [null]\n");
	fprintf(stderr, "         -s FLOAT fraction of templates to subsample; integer part as seed [-1]\n");
	fprintf(stderr, "         -?       longer help\n");
	fprintf(stderr, "\n");
	if (is_long_help)
		fprintf(stderr, "Notes:\n\
\n\
  1. By default, this command assumes the file on the command line is in\n\
     the BAM format and it prints the alignments in SAM. If `-t' is\n\
     applied, the input file is assumed to be in the SAM format. The\n\
     file supplied with `-t' is SPACE/TAB delimited with the first two\n\
     fields of each line consisting of the reference name and the\n\
     corresponding sequence length. The `.fai' file generated by `faidx'\n\
     can be used here. This file may be empty if reads are unaligned.\n\
\n\
  2. SAM->BAM conversion: `samtools view -bT ref.fa in.sam.gz'.\n\
\n\
  3. BAM->SAM conversion: `samtools view in.bam'.\n\
\n\
  4. A region should be presented in one of the following formats:\n\
     `chr1', `chr2:1,000' and `chr3:1000-2,000'. When a region is\n\
     specified, the input alignment file must be an indexed BAM file.\n\
\n\
  5. Option `-u' is preferred over `-b' when the output is piped to\n\
     another samtools command.\n\
\n\
  6. In a string FLAG, each character represents one bit with\n\
     p=0x1 (paired), P=0x2 (properly paired), u=0x4 (unmapped),\n\
     U=0x8 (mate unmapped), r=0x10 (reverse), R=0x20 (mate reverse)\n\
     1=0x40 (first), 2=0x80 (second), s=0x100 (not primary), \n\
     f=0x200 (failure) and d=0x400 (duplicate). Note that `-x' and\n\
     `-X' are samtools-C specific. Picard and older samtools do not\n\
     support HEX or string flags.\n\
\n");
	return 1;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edi, %ebx
movq 0x4c599(%rip), %rbp     # 0x4ffe8
movq (%rbp), %rsi
pushq $0xa
popq %rdi
callq 0x3320
movq (%rbp), %rcx
leaq 0x3ca89(%rip), %rdi     # 0x404ef
pushq $0x44
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cab4(%rip), %rdi     # 0x40534
pushq $0x1d
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cabc(%rip), %rdi     # 0x40552
pushq $0x32
popq %r15
movq %r15, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cad5(%rip), %rdi     # 0x40585
pushq $0x34
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3caf4(%rip), %rdi     # 0x405ba
pushq $0x1f
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cafe(%rip), %rdi     # 0x405da
pushq $0x35
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cb1e(%rip), %rdi     # 0x40610
pushq $0x2e
popq %r12
movq %r12, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cb33(%rip), %rdi     # 0x4063f
pushq $0x3b
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cb55(%rip), %rdi     # 0x4067b
pushq $0x3e
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cb7e(%rip), %rdi     # 0x406ba
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cba4(%rip), %rdi     # 0x406f6
pushq $0x38
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cbc3(%rip), %rdi     # 0x4072f
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cbe6(%rip), %rdi     # 0x40768
pushq $0x4a
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cc1b(%rip), %rdi     # 0x407b3
pushq $0x48
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cc4e(%rip), %rdi     # 0x407fc
pushq $0x3c
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cc75(%rip), %rdi     # 0x40839
pushq $0x2c
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cc8c(%rip), %rdi     # 0x40866
pushq $0x3d
popq %r13
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3ccb0(%rip), %rdi     # 0x408a4
pushq $0x31
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cccc(%rip), %rdi     # 0x408d6
movq %r15, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cce9(%rip), %rdi     # 0x40909
movq %r12, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cd02(%rip), %rdi     # 0x40938
pushq $0x3a
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cd27(%rip), %rdi     # 0x40973
movq %r13, %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cd4f(%rip), %rdi     # 0x409b1
pushq $0x50
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rcx
leaq 0x3cd8a(%rip), %rdi     # 0x40a02
pushq $0x1e
popq %rsi
movq %r14, %rdx
callq 0x3700
movq (%rbp), %rsi
pushq $0xa
popq %rdi
callq 0x3320
testl %ebx, %ebx
jne 0x3ca2
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbp), %rcx
leaq 0x3cd74(%rip), %rdi     # 0x40a21
pushq $0x1
popq %rdx
movl $0x541, %esi            # imm = 0x541
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3700