// File: /workspace/github_c_makefile_star2_O0/lh3[P]pre-pe/pre-meta.c
// Function: main
int main(int argc, char *argv[])
{
	int c;
	lt_global_t g;
	gzFile fp;

	lt_global_init(&g);
	while ((c = getopt(argc, argv, "Tt:b:l:c:q:")) >= 0) {
		if (c == 't') g.opt.n_threads = atoi(optarg);
		else if (c == 'T') g.opt.tab_out = 1;
		else if (c == 'l') g.opt.min_seq_len = atoi(optarg);
		else if (c == 'c') g.opt.bc_cut = atoi(optarg);
		else if (c == 'q') g.opt.qmask = atoi(optarg);
	}
	if (argc - optind < 1) {
		fprintf(stderr, "Usage: seqtk mergepe <read1.fq> <read2.fq> | pre-meta [options] -\n");
		fprintf(stderr, "Options:\n");
		fprintf(stderr, "  -t INT     number of threads [%d]\n", g.opt.n_threads);
		fprintf(stderr, "  -l INT     min read/fragment length to output [%d]\n", g.opt.min_seq_len);
		fprintf(stderr, "  -c INT     cut INT-bp from the 5'-end to derive concatenated BC [%d]\n", g.opt.bc_cut);
		fprintf(stderr, "  -q INT     if both qualities on an overlap base above INT, mask to N [%d]\n", g.opt.qmask);
		fprintf(stderr, "  -T         tabular output for debugging\n");
		return 1;
	}

	fp = strcmp(argv[optind], "-")? gzopen(argv[optind], "r") : gzdopen(fileno(stdin), "r");
	g.ks = kseq_init(fp);

	kt_pipeline(2, worker_pipeline, &g, 3);

	kseq_destroy(g.ks);
	gzclose(fp);
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x35b0
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0x130d(%rip), %rdx      # 0x608a
callq 0x2210
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jl 0x4e10
cmpl $0x74, -0x14(%rbp)
jne 0x4da8
movq 0x323d(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2220
movl %eax, -0x58(%rbp)
jmp 0x4e0b
cmpl $0x54, -0x14(%rbp)
jne 0x4db7
movl $0x1, -0x30(%rbp)
jmp 0x4e09
cmpl $0x6c, -0x14(%rbp)
jne 0x4dd1
movq 0x3214(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2220
movl %eax, -0x50(%rbp)
jmp 0x4e07
cmpl $0x63, -0x14(%rbp)
jne 0x4deb
movq 0x31fa(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2220
movl %eax, -0x2c(%rbp)
jmp 0x4e05
cmpl $0x71, -0x14(%rbp)
jne 0x4e03
movq 0x31e0(%rip), %rax      # 0x7fd8
movq (%rax), %rdi
callq 0x2220
movl %eax, -0x28(%rbp)
jmp 0x4e05
jmp 0x4e07
jmp 0x4e09
jmp 0x4e0b
jmp 0x4d6f
movl -0x8(%rbp), %eax
movq 0x31b6(%rip), %rcx      # 0x7fd0
subl (%rcx), %eax
cmpl $0x1, %eax
jge 0x4ee5
movq 0x31cc(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x1260(%rip), %rsi      # 0x6096
movb $0x0, %al
callq 0x2150
movq 0x31b4(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x128b(%rip), %rsi      # 0x60d9
movb $0x0, %al
callq 0x2150
movq 0x319c(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
movl -0x58(%rbp), %edx
leaq 0x127a(%rip), %rsi      # 0x60e3
movb $0x0, %al
callq 0x2150
movq 0x3181(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
movl -0x50(%rbp), %edx
leaq 0x1284(%rip), %rsi      # 0x6108
movb $0x0, %al
callq 0x2150
movq 0x3166(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
movl -0x2c(%rbp), %edx
leaq 0x129f(%rip), %rsi      # 0x613e
movb $0x0, %al
callq 0x2150
movq 0x314b(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
movl -0x28(%rbp), %edx
leaq 0x12cc(%rip), %rsi      # 0x6186
movb $0x0, %al
callq 0x2150
movq 0x3130(%rip), %rax      # 0x7ff8
movq (%rax), %rdi
leaq 0x1301(%rip), %rsi      # 0x61d3
movb $0x0, %al
callq 0x2150
movl $0x1, -0x4(%rbp)
jmp 0x4f95
movq -0x10(%rbp), %rax
movq 0x30e0(%rip), %rcx      # 0x7fd0
movslq (%rcx), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x1300(%rip), %rsi      # 0x61fe
callq 0x2130
cmpl $0x0, %eax
je 0x4f2c
movq -0x10(%rbp), %rax
movq 0x30bd(%rip), %rcx      # 0x7fd0
movslq (%rcx), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x12df(%rip), %rsi      # 0x6200
callq 0x21f0
movq %rax, -0x68(%rbp)
jmp 0x4f4d
movq 0x3095(%rip), %rax      # 0x7fc8
movq (%rax), %rdi
callq 0x2170
movl %eax, %edi
leaq 0x12bc(%rip), %rsi      # 0x6200
callq 0x20a0
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
callq 0x4fa0
movq %rax, -0x20(%rbp)
movl $0x2, %edi
leaq 0x72(%rip), %rsi        # 0x4fe0
leaq -0x58(%rbp), %rdx
movl $0x3, %ecx
callq 0x2580
movq -0x20(%rbp), %rdi
callq 0x5520
movq -0x60(%rbp), %rdi
callq 0x2030
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nop