// File: /workspace/github_c_makefile_star2_O2/lh3[P]bgt/view.c
// Function: main_view
int main_view(int argc, char *argv[])
{
	int i, c, n_files = 0, out_bcf = 0, clevel = -1, multi_flag = 0, excl = 0, not_vcf = 0, in_mem = 0, u_set = 0;
	long seekn = -1, n_rec = LONG_MAX, n_read = 0;
	bgtm_t *bm = 0;
	bcf1_t *b;
	htsFile *out = 0;
	char modew[8], *reg = 0, *site_flt = 0;
	void *bed = 0;
	int n_groups = 0;
	char *gexpr[BGT_MAX_GROUPS], *aexpr = 0, *dbfn = 0, *fmt = 0;
	bgt_file_t **files = 0;
	fmf_t *vardb = 0;

	while ((c = getopt(argc, argv, "ubs:r:l:CMGB:ef:g:a:i:n:SHt:d:")) >= 0) {
		if (c == 'b') out_bcf = 1;
		else if (c == 'r') reg = optarg;
		else if (c == 'l') clevel = atoi(optarg);
		else if (c == 'e') excl = 1;
		else if (c == 'u') u_set = 1;
		else if (c == 'B') bed = bed_read(optarg);
		else if (c == 'C') multi_flag |= BGT_F_SET_AC;
		else if (c == 'G') multi_flag |= BGT_F_NO_GT;
		else if (c == 'S') multi_flag |= BGT_F_NO_GT | BGT_F_CNT_AL, not_vcf = 1;
		else if (c == 'H') multi_flag |= BGT_F_NO_GT | BGT_F_CNT_HAP, not_vcf = 1;
		else if (c == 'M') in_mem = 1;
		else if (c == 'i') seekn = atol(optarg) - 1;
		else if (c == 'n') n_rec = atol(optarg);
		else if (c == 'f') site_flt = optarg;
		else if (c == 't') fmt = optarg, not_vcf = 1;
		else if (c == 'd') dbfn = optarg;
		else if (c == 's' && n_groups < BGT_MAX_GROUPS) gexpr[n_groups++] = optarg;
		else if (c == 'a') aexpr = optarg;
	}
	if (n_rec < 0) {
		fprintf(stderr, "[E::%s] option -n must be at least 0.\n", __func__);
		return 1;
	}
	if (clevel > 9) clevel = 9;
	if (u_set) clevel = 0, out_bcf = 1;
	if (n_groups > 1) multi_flag |= BGT_F_SET_AC;
	if (argc - optind < 1) {
		fprintf(stderr, "Usage: bgt %s [options] <bgt-prefix> [...]", argv[0]);
		fputc('\n', stderr);
		fprintf(stderr, "Options:\n");
		fprintf(stderr, "  Sample selection:\n");
		fprintf(stderr, "    -s EXPR      samples list (,sample1,sample2 or a file or expr; see Notes below) [all]\n");
		fprintf(stderr, "  Site selection:\n");
		fprintf(stderr, "    -r STR       region [all]\n");
		fprintf(stderr, "    -B FILE      extract variants overlapping BED FILE []\n");
		fprintf(stderr, "    -e           exclude variants overlapping BED FILE (effective with -B)\n");
		fprintf(stderr, "    -i INT       process from the INT-th record (1-based) []\n");
		fprintf(stderr, "    -n INT       process at most INT records []\n");
		fprintf(stderr, "    -d FILE      variant annotations in FMF (to work with -a) []\n");
		fprintf(stderr, "    -M           load variant annotations in RAM (only with -d)\n");
		fprintf(stderr, "    -a EXPR      alleles list chr:1basedPos:refLen:seq (,allele1,allele2 or a file or expr) []\n");
		fprintf(stderr, "    -f STR       frequency filters []\n");
		fprintf(stderr, "  VCF output:\n");
		fprintf(stderr, "    -b           BCF output (effective without -S/-H)\n");
		fprintf(stderr, "    -l INT       compression level for BCF [default]\n");
		fprintf(stderr, "    -u           equivalent to -bl0 (overriding -b and -l)\n");
		fprintf(stderr, "    -G           don't output sample genotypes\n");
		fprintf(stderr, "    -C           write AC/AN to the INFO field (auto applied with -f or multipl -s)\n");
		fprintf(stderr, "  Non-VCF output:\n");
		fprintf(stderr, "    -S           show samples with a set of alleles (with -a)\n");
		fprintf(stderr, "    -H           count of haplotypes with a set of alleles (with -a)\n");
		fprintf(stderr, "    -t STR       comma-delimited list of fields to output. Accepted variables:\n");
		fprintf(stderr, "                 AC, AN, AC#, AN#, CHROM, POS, END, REF, ALT (# for a group number)\n");
		fprintf(stderr, "Notes:\n");
		fprintf(stderr, "  For option -s/-a, EXPR can be one of:\n");
		fprintf(stderr, "    1) comma-delimited list following a colon/comma. e.g. -s,NA12878,NA12044\n");
		fprintf(stderr, "    2) space-delimited file with the first column giving a sample/allele name. e.g. -s list.txt\n");
		fprintf(stderr, "    3) expression if .spl/-d file contains metadata. e.g.: -s\"gender=='M'&&population!='CEU'\"\n");
		fprintf(stderr, "  If multiple -s is specified, the AC/AN of the first group will be written to VCF INFO AC1/AN1,\n");
		fprintf(stderr, "  the second to AC2/AN2, etc.\n");
		return 1;
	}

	if (dbfn && in_mem) vardb = fmf_read(dbfn), dbfn = 0;

	if ((multi_flag&(BGT_F_CNT_AL|BGT_F_CNT_HAP)) && aexpr == 0) {
		fprintf(stderr, "[E::%s] -a must be specified when -S/-H is in use.\n", __func__);
		return 1;
	}

	n_files = argc - optind;
	files = (bgt_file_t**)calloc(n_files, sizeof(bgt_file_t*));
	for (i = 0; i < n_files; ++i) {
		files[i] = bgt_open(argv[optind+i]);
		if (files[i] == 0) {
			fprintf(stderr, "[E::%s] failed to open BGT with prefix '%s'\n", __func__, argv[optind+i]);
			return 1; // FIXME: memory leak
		}
	}

	bm = bgtm_reader_init(n_files, files);
	bgtm_set_flag(bm, multi_flag);
	if (site_flt && bgtm_set_flt_site(bm, site_flt) != 0) {
		fprintf(stderr, "[E::%s] failed to set frequency filters. Syntax error?\n", __func__);
		return 1;
	}
	if (reg && bgtm_set_region(bm, reg) < 0) {
		fprintf(stderr, "[E::%s] failed to set region. Region format error?\n", __func__);
		return 1;
	}
	if (bed) bgtm_set_bed(bm, bed, excl);
	if (fmt && bgtm_set_table(bm, fmt) < 0) {
		fprintf(stderr, "[E::%s] failed to set tabular output.\n", __func__);
		return 1;
	}
	if (seekn > 0) bgtm_set_start(bm, seekn);
	if (aexpr) {
		int n_al;
		n_al = bgtm_set_alleles(bm, aexpr, vardb, dbfn);
		if (n_al < 0) {
			fprintf(stderr, "[E::%s] failed to set alleles.\n", __func__);
			return 1;
		} else if (n_al == 0)
			fprintf(stderr, "[W::%s] no alleles selected.\n", __func__);
	}
	for (i = 0; i < n_groups; ++i) {
		if (bgtm_add_group(bm, gexpr[i]) < 0) {
			fprintf(stderr, "[E::%s] failed to add sample group '%s'.\n", __func__, gexpr[i]);
			return 1;
		}
	}
	bgtm_prepare(bm); // bgtm_prepare() generates the VCF header

	if (!not_vcf) {
		strcpy(modew, "w");
		if (out_bcf) strcat(modew, "b");
		sprintf(modew + strlen(modew), "%d", clevel);
		out = hts_open("-", modew, 0);
		vcf_hdr_write(out, bm->h_out);
	}

	b = bcf_init1();
	while (bgtm_read(bm, b) >= 0 && n_read < n_rec) {
		if (out) vcf_write1(out, bm->h_out, b);
		if (fmt && bm->n_fields > 0) puts(bm->tbl_line.s);
		++n_read;
	}
	bcf_destroy1(b);

	if (not_vcf && bm->n_aal > 0) {
		if (bm->flag & BGT_F_CNT_HAP) {
			bgt_hapcnt_t *hc;
			int n_hap;
			char *s;
			hc = bgtm_hapcnt(bm, &n_hap);
			s = bgtm_hapcnt_print_destroy(bm, n_hap, hc);
			fputs(s, stdout);
			free(s);
		}
		if (bm->flag & BGT_F_CNT_AL) {
			char *s;
			if ((s = bgtm_alcnt_print(bm)) != 0)
				fputs(s, stdout);
			free(s);
		}
	}

	if (out) hts_close(out);
	bgtm_reader_destroy(bm);
	if (bed) bed_destroy(bed);
	for (i = 0; i < n_files; ++i) bgt_close(files[i]);
	free(files);
	if (vardb) fmf_destroy(vardb);
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movq %rsi, %r13
movl %edi, %ebp
pushq $-0x1
popq %rax
movl %eax, 0x10(%rsp)
movabsq $0x7fffffffffffffff, %rax # imm = 0x7FFFFFFFFFFFFFFF
movq %rax, 0x58(%rsp)
pushq $-0x1
popq %rax
movq %rax, 0x68(%rsp)
movq $0x0, (%rsp)
leaq 0x1541d(%rip), %r12     # 0x18538
leaq 0x153c6(%rip), %rbx     # 0x184e8
movl $0x0, 0x1c(%rsp)
xorl %r14d, %r14d
movl $0x0, 0x28(%rsp)
movl $0x0, 0xc(%rsp)
movq $0x0, 0x70(%rsp)
movq $0x0, 0x78(%rsp)
movq $0x0, 0x48(%rsp)
movq $0x0, 0x38(%rsp)
movq $0x0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
movq $0x0, 0x50(%rsp)
xorl %ecx, %ecx
movl %ecx, %r15d
movl %ebp, %edi
movq %r13, %rsi
movq %r12, %rdx
callq 0x23e0
testl %eax, %eax
js 0x3318
leal -0x62(%rax), %ecx
cmpl $0x13, %ecx
ja 0x31be
movslq (%rbx,%rcx,4), %rdx
addq %rbx, %rdx
pushq $0x1
popq %rcx
jmpq *%rdx
movq 0x1ddff(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movq %rax, 0x30(%rsp)
jmp 0x32fa
leal -0x42(%rax), %ecx
cmpl $0xb, %ecx
ja 0x31ef
leaq 0x152eb(%rip), %rdx     # 0x184b8
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x1ddd3(%rip), %rax     # 0x20fb0
movq (%rax), %rdi
callq 0xf7c8
movq %rax, 0x48(%rsp)
jmp 0x32fa
cmpl $0x53, %eax
jne 0x3200
movq (%rsp), %rax
orl $0x6, %eax
jmp 0x32dc
cmpl $0x73, %eax
sete %cl
movq 0x38(%rsp), %rsi
cmpl $0x20, %esi
setl %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x3302
movq 0x1dd8d(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movslq %esi, %rcx
incl %esi
movq %rsi, 0x38(%rsp)
movq %rax, 0x90(%rsp,%rcx,8)
jmp 0x32fa
movq 0x1dd6c(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movq %rax, 0x70(%rsp)
jmp 0x32fa
movq 0x1dd58(%rip), %rax     # 0x20fb0
movq (%rax), %rdi
callq 0x2390
decq %rax
movq %rax, 0x68(%rsp)
jmp 0x32fa
movq 0x1dd3c(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movq %rax, 0x50(%rsp)
jmp 0x32e0
movq 0x1dd2b(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movq %rax, 0x78(%rsp)
jmp 0x32fa
movq 0x1dd1a(%rip), %rax     # 0x20fb0
movq (%rax), %rdi
callq 0x2390
movq %rax, 0x58(%rsp)
jmp 0x32fa
movq 0x1dd04(%rip), %rax     # 0x20fb0
movq (%rax), %rdi
callq 0x23f0
movl %eax, 0x10(%rsp)
jmp 0x32fa
pushq $0x1
popq %rax
movl %eax, 0x1c(%rsp)
jmp 0x32fa
pushq $0x1
popq %rax
movl %eax, 0xc(%rsp)
jmp 0x32fa
pushq $0x1
popq %rax
movl %eax, 0x28(%rsp)
jmp 0x32fa
movq (%rsp), %rax
orl $0xa, %eax
movq %rax, (%rsp)
pushq $0x1
popq %r14
jmp 0x32fa
movq (%rsp), %rax
orl $0x2, %eax
jmp 0x32f6
movq (%rsp), %rax
orl $0x1, %eax
movq %rax, (%rsp)
movl %r15d, %ecx
jmp 0x317e
cmpl $0x61, %eax
jne 0x32fa
movq 0x1dca2(%rip), %rax     # 0x20fb0
movq (%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x32fa
cmpq $0x0, 0x58(%rsp)
js 0x371d
movl %r14d, 0x18(%rsp)
movl 0x10(%rsp), %ecx
cmpl $0x9, %ecx
pushq $0x9
popq %rax
cmovll %ecx, %eax
xorl %ecx, %ecx
cmpl $0x0, 0xc(%rsp)
cmovel %eax, %ecx
xorl %r14d, %r14d
cmpl $0x2, 0x38(%rsp)
setge %r12b
movq 0x1dc45(%rip), %rbx     # 0x20f98
cmpl %ebp, (%rbx)
jge 0x3733
movl %ecx, 0x64(%rsp)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
setne %al
cmpl $0x0, 0x28(%rsp)
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x3382
callq 0x8a70
xorl %edi, %edi
jmp 0x3384
xorl %eax, %eax
movq 0x20(%rsp), %rcx
movq (%rsp), %rdx
testb $0xc, %dl
setne %sil
testq %rcx, %rcx
sete %cl
andb %sil, %cl
cmpb $0x1, %cl
je 0x3a17
movq %rax, 0x10(%rsp)
movq %rdi, 0x30(%rsp)
movb %r12b, %r14b
orl %r14d, %edx
movq %rdx, (%rsp)
movslq (%rbx), %rax
movq %r13, 0x28(%rsp)
movslq %ebp, %r13
subq %rax, %r13
pushq $0x8
popq %rsi
movq %r13, %rdi
callq 0x2220
movq %rax, %rbp
xorl %r12d, %r12d
testl %r13d, %r13d
movl $0x0, %r14d
movq %r13, 0x80(%rsp)
cmovgl %r13d, %r14d
movq 0x28(%rsp), %r13
cmpq %r12, %r14
je 0x343d
movslq (%rbx), %rax
addq %r12, %rax
movq (%r13,%rax,8), %rdi
callq 0x11284
movq %rax, (%rbp,%r12,8)
incq %r12
testq %rax, %rax
jne 0x33f3
movq 0x1dbdc(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
movslq (%rbx), %rax
addq %r12, %rax
movq -0x8(%r13,%rax,8), %rcx
leaq 0x15892(%rip), %rsi     # 0x18cc3
leaq 0x15146(%rip), %rdx     # 0x1857e
jmp 0x3548
movq 0x80(%rsp), %rdi
movq %rbp, %rsi
callq 0x1210c
movq %rax, %r13
movq %rax, %rdi
movq (%rsp), %rsi
callq 0x123e8
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x3476
movq %r13, %rdi
callq 0x123ec
testl %eax, %eax
jne 0x3a2a
movq 0x70(%rsp), %rsi
testq %rsi, %rsi
je 0x3490
movq %r13, %rdi
callq 0x12353
testl %eax, %eax
js 0x3a3d
movq 0x48(%rsp), %rsi
testq %rsi, %rsi
je 0x34a6
movq %r13, %rdi
movl 0x1c(%rsp), %edx
callq 0x123c8
movq 0x50(%rsp), %rsi
testq %rsi, %rsi
je 0x34c0
movq %r13, %rdi
callq 0x13150
testl %eax, %eax
js 0x3a50
movq 0x68(%rsp), %rsi
testq %rsi, %rsi
jle 0x34d2
movq %r13, %rdi
callq 0x12395
movq 0x20(%rsp), %rsi
testq %rsi, %rsi
je 0x34fc
movq %r13, %rdi
movq 0x10(%rsp), %rdx
movq 0x30(%rsp), %rcx
callq 0x12468
testl %eax, %eax
js 0x3a63
je 0x3a99
movq %rbp, (%rsp)
xorl %r12d, %r12d
movq 0x38(%rsp), %rbp
testl %ebp, %ebp
cmovlel %r12d, %ebp
cmpq %r12, %rbp
je 0x3554
movq 0x90(%rsp,%r12,8), %rbx
movq %r13, %rdi
movq %rbx, %rsi
callq 0x12305
incq %r12
testl %eax, %eax
jns 0x350e
movq 0x1dac4(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x15883(%rip), %rsi     # 0x18dc1
leaq 0x15039(%rip), %rdx     # 0x1857e
movq %rbx, %rcx
xorl %eax, %eax
callq 0x2250
jmp 0x3a82
movq %r13, %rdi
callq 0x13173
cmpl $0x0, 0x18(%rsp)
je 0x356b
xorl %ebx, %ebx
movq (%rsp), %rbp
jmp 0x35d5
movw $0x77, 0x40(%rsp)
orl %r15d, 0xc(%rsp)
movq (%rsp), %rbp
je 0x358e
leaq 0x40(%rsp), %rdi
callq 0x2170
movw $0x62, 0x40(%rsp,%rax)
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x2170
leaq (%rsp,%rax), %rdi
addq $0x40, %rdi
leaq 0x16703(%rip), %rsi     # 0x19cad
movl 0x64(%rsp), %edx
xorl %eax, %eax
callq 0x2400
leaq 0x14ef8(%rip), %rdi     # 0x184b4
movq %rbx, %rsi
xorl %edx, %edx
callq 0x5e33
movq %rax, %rbx
movq 0x50(%r13), %rsi
movq %rax, %rdi
callq 0xad39
xorl %r15d, %r15d
xorl %eax, %eax
callq 0xa6a8
movq %rax, %r12
movq %r13, %rdi
movq %r12, %rsi
callq 0x14376
testl %eax, %eax
js 0x362c
cmpq 0x58(%rsp), %r15
jge 0x362c
testq %rbx, %rbx
je 0x360c
movq 0x50(%r13), %rsi
movq %rbx, %rdi
movq %r12, %rdx
callq 0xce98
cmpq $0x0, 0x50(%rsp)
je 0x3627
cmpl $0x0, 0x68(%r13)
jle 0x3627
movq 0x88(%r13), %rdi
callq 0x20e0
incq %r15
jmp 0x35e2
movq %r12, %rdi
callq 0xa6b5
cmpl $0x0, 0x18(%rsp)
je 0x36c1
cmpl $0x0, 0x90(%r13)
jle 0x36c1
movl 0xc(%r13), %eax
testb $0x8, %al
je 0x3693
leaq 0x8c(%rsp), %r15
movq %r13, %rdi
movq %r15, %rsi
callq 0x147e1
movl (%r15), %esi
movq %r13, %rdi
movq %rax, %rdx
callq 0x14e99
movq %rax, %r15
movq 0x1d904(%rip), %rax     # 0x20f80
movq (%rax), %rsi
movq %r15, %rdi
callq 0x21c0
movq %r15, %rdi
callq 0x2050
movl 0xc(%r13), %eax
testb $0x4, %al
je 0x36c1
movq %r13, %rdi
callq 0x15025
movq %rax, %r15
testq %rax, %rax
je 0x36b9
movq 0x1d8d2(%rip), %rax     # 0x20f80
movq (%rax), %rsi
movq %r15, %rdi
callq 0x21c0
movq %r15, %rdi
callq 0x2050
testq %rbx, %rbx
je 0x36ce
movq %rbx, %rdi
callq 0x601f
movq %r13, %rdi
callq 0x1218a
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x36e5
callq 0x101c0
xorl %ebx, %ebx
cmpq %rbx, %r14
je 0x36fb
movq (%rbp,%rbx,8), %rdi
callq 0x11447
incq %rbx
jmp 0x36e7
movq %rbp, %rdi
callq 0x2050
xorl %ebx, %ebx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x3a85
callq 0x8efb
jmp 0x3a85
movq 0x1d8d4(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x14e29(%rip), %rsi     # 0x18557
jmp 0x3a74
movq 0x1d8be(%rip), %rbp     # 0x20ff8
movq (%rbp), %rdi
movq (%r13), %rdx
leaq 0x14e3f(%rip), %rsi     # 0x18588
xorl %eax, %eax
callq 0x2250
movq (%rbp), %rsi
pushq $0xa
popq %rdi
callq 0x21f0
movq (%rbp), %rcx
leaq 0x14a57(%rip), %rdi     # 0x181be
pushq $0x9
popq %rsi
pushq $0x1
popq %rbx
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e33(%rip), %rdi     # 0x185b3
pushq $0x14
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e32(%rip), %rdi     # 0x185c8
pushq $0x5a
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e77(%rip), %rdi     # 0x18623
pushq $0x12
popq %r15
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e70(%rip), %rdi     # 0x18636
pushq $0x1e
popq %r14
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e75(%rip), %rdi     # 0x18655
pushq $0x3a
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14e9a(%rip), %rdi     # 0x18690
pushq $0x4b
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14ed0(%rip), %rdi     # 0x186dc
pushq $0x3d
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14ef8(%rip), %rdi     # 0x1871a
pushq $0x30
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14f13(%rip), %rdi     # 0x1874b
pushq $0x41
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14f3f(%rip), %rdi     # 0x1878d
pushq $0x40
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14f6a(%rip), %rdi     # 0x187ce
pushq $0x5f
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14fb4(%rip), %rdi     # 0x1882e
pushq $0x26
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14fc5(%rip), %rdi     # 0x18855
pushq $0xe
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14fbe(%rip), %rdi     # 0x18864
pushq $0x36
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14fdf(%rip), %rdi     # 0x1889b
pushq $0x35
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x14fff(%rip), %rdi     # 0x188d1
pushq $0x3b
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x15025(%rip), %rdi     # 0x1890d
pushq $0x2f
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1503f(%rip), %rdi     # 0x1893d
pushq $0x54
popq %r12
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1507a(%rip), %rdi     # 0x18992
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x15077(%rip), %rdi     # 0x189a5
pushq $0x3e
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x150a0(%rip), %rdi     # 0x189e4
pushq $0x45
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x150d0(%rip), %rdi     # 0x18a2a
pushq $0x4f
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1510a(%rip), %rdi     # 0x18a7a
movq %r12, %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x15149(%rip), %rdi     # 0x18acf
pushq $0x7
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1513b(%rip), %rdi     # 0x18ad7
pushq $0x28
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1514e(%rip), %rdi     # 0x18b00
pushq $0x4d
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x15186(%rip), %rdi     # 0x18b4e
pushq $0x60
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x151d1(%rip), %rdi     # 0x18baf
pushq $0x5e
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x1521a(%rip), %rdi     # 0x18c0e
pushq $0x61
popq %rsi
movq %rbx, %rdx
callq 0x2410
movq (%rbp), %rcx
leaq 0x15266(%rip), %rdi     # 0x18c70
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2410
jmp 0x3a82
movq 0x1d5da(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x15267(%rip), %rsi     # 0x18c8f
jmp 0x3a74
movq 0x1d5c7(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x152b5(%rip), %rsi     # 0x18cf0
jmp 0x3a74
movq 0x1d5b4(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x152da(%rip), %rsi     # 0x18d28
jmp 0x3a74
movq 0x1d5a1(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x152fb(%rip), %rsi     # 0x18d5c
jmp 0x3a74
movq 0x1d58e(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x1530f(%rip), %rsi     # 0x18d83
leaq 0x14b03(%rip), %rdx     # 0x1857e
xorl %eax, %eax
callq 0x2250
pushq $0x1
popq %rbx
movl %ebx, %eax
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x1d558(%rip), %rax     # 0x20ff8
movq (%rax), %rdi
leaq 0x152f9(%rip), %rsi     # 0x18da3
leaq 0x14acd(%rip), %rdx     # 0x1857e
xorl %eax, %eax
callq 0x2250
jmp 0x34fc