// File: /workspace/github_c_makefile_star2_O0/lh3[P]miniprot/main.c
// Function: main
int main(int argc, char *argv[])
{
	int32_t c, i, set_I = 0, set_G = 0, keep_io = 0, n_threads = 4;
	ketopt_t o = KETOPT_INIT;
	mp_mapopt_t mo;
	mp_idxopt_t io;
	mp_idx_t *mi;
	char *fn_idx = 0, *fn_spsc = 0;

	mp_start();
	mp_mapopt_init(&mo);
	mp_idxopt_init(&io);
	while ((c = ketopt(&o, argc, argv, 1, "k:M:L:s:l:b:T:t:d:c:n:m:K:p:N:SAO:E:J:C:F:G:e:uB:P:w:j:g:I", long_options)) >= 0) {
		if (c == 'k') io.kmer = atoi(o.arg);
		else if (c == 'M') io.mod_bit = atoi(o.arg);
		else if (c == 'L') io.min_aa_len = atoi(o.arg);
		else if (c == 'b') io.bbit = atoi(o.arg);
		else if (c == 'T') io.trans_code = atoi(o.arg);
		else if (c == 'd') fn_idx = o.arg;
		else if (c == 't') n_threads = atoi(o.arg);
		else if (c == 'l') mo.kmer2 = atoi(o.arg);
		else if (c == 'c') mo.max_occ = mp_parse_num(o.arg);
		else if (c == 'G') mo.bw = mo.max_intron = mp_parse_num(o.arg), set_G = 1;
		else if (c == 'I') set_I = 1;
		else if (c == 'n') mo.min_chn_cnt = mp_parse_num(o.arg);
		else if (c == 'm') mo.min_chn_sc = mp_parse_num(o.arg);
		else if (c == 'K') mo.mini_batch_size = mp_parse_num(o.arg);
		else if (c == 'p') mo.pri_ratio = atof(o.arg);
		else if (c == 'N') mo.best_n = mp_parse_num(o.arg);
		else if (c == 'S') mo.flag |= MP_F_NO_SPLICE, mo.bw = mo.max_intron = mo.max_ext = 1000, mo.io = mo.io_end = 10000, set_G = 1;
		else if (c == 'A') mo.flag |= MP_F_NO_ALIGN;
		else if (c == 'O') mo.go = atoi(o.arg);
		else if (c == 'E') mo.ge = atoi(o.arg);
		else if (c == 'J') mo.io = atoi(o.arg), keep_io = 1;
		else if (c == 'C') mo.sp_scale = atof(o.arg);
		else if (c == 'F') mp_mapopt_set_fs(&mo, atoi(o.arg));
		else if (c == 'B') mo.end_bonus = atoi(o.arg);
		else if (c == 'e') mo.max_ext = mp_parse_num(o.arg);
		else if (c == 'P') mo.gff_prefix = o.arg;
		else if (c == 'u') mo.flag |= MP_F_SHOW_UNMAP;
		else if (c == 'w') mo.chn_coef_log = atof(o.arg);
		else if (c == 'j') mo.sp_model = atoi(o.arg);
		else if (c == 'g') mo.max_gap = mp_parse_num(o.arg);
		else if (c == 301) mo.flag |= MP_F_GFF; // --gff
		else if (c == 302) mo.xdrop = atoi(o.arg); // --xdrop
		else if (c == 303) mo.out_n = mp_parse_num(o.arg); // --outn
		else if (c == 308) mo.out_sim = atof(o.arg); // --outs
		else if (c == 304) mo.flag |= MP_F_GFF | MP_F_NO_PAF; // --gff-only
		else if (c == 305) mo.gff_delim = o.arg[0]; // --gff-delim
		else if (c == 306) mo.io_end = atoi(o.arg), keep_io = 1; // --J2
		else if (c == 307) mo.flag |= MP_F_GTF; // --gtf
		else if (c == 309) mo.max_chn_max_skip = mp_parse_num(o.arg); // --max-skip
		else if (c == 310) mo.flag |= MP_F_NO_PRE_CHAIN; // --no-pre-chain
		else if (c == 311) mo.flag |= MP_F_SHOW_RESIDUE; // --aln
		else if (c == 312) mo.max_intron_flank = (mp_parse_num(o.arg) + 1) / 2; // --max-intron-out
		else if (c == 313) mo.out_cov = atof(o.arg); // --outc
		else if (c == 314) mo.ie_coef = atof(o.arg); // --ie-coef
		else if (c == 315) mo.flag |= MP_F_SHOW_TRANS; // --trans
		else if (c == 316) mo.flag |= MP_F_NO_CS; // --no-cs
		else if (c == 317) fn_spsc = o.arg; // --spsc
		else if (c == 319) mo.sp_max_bonus = atoi(o.arg); // --spsc-max
		else if (c == 501) mp_dbg_flag |= MP_DBG_NO_KALLOC; // --no-kalloc
		else if (c == 502) mp_dbg_flag |= MP_DBG_QNAME; // --dbg-qname
		else if (c == 503) mp_dbg_flag |= MP_DBG_NO_REFINE; // --dbg-no-refine
		else if (c == 504) mp_dbg_flag |= MP_DBG_MORE_DP; // --dbg-aflt
		else if (c == 505) mp_dbg_flag |= MP_DBG_ANCHOR; // --dbg-anchor
		else if (c == 506) mp_dbg_flag |= MP_DBG_CHAIN; // --dbg-chain
		else if (c == 318) { // --spsc0
			int32_t s;
			s = atoi(o.arg);
			mo.sp_null_bonus = s < 0? s : -s;
		} else if (c == 's') {
			fprintf(stderr, "Option '-s' is deprecated.\n");
		} else if (c == 401) {
			printf("%s\n", MP_VERSION);
			return 0;
		} else {
			fprintf(stderr, "[WARNING]\033[1;31m unrecognized option: %s\033[0m\n", argv[o.i-1]);
		}
	}
	if (mp_mapopt_check(&mo) < 0) return 1;
	if (argc - o.ind == 0 || (argc - o.ind == 1 && fn_idx == 0)) {
		print_usage(stderr, &io, &mo, n_threads);
		return 1;
	}

	if (ns_make_tables(io.trans_code) < 0) {
		if (mp_verbose >= 1)
			fprintf(stderr, "[ERROR]\033[1;31m failed to find translation table %d\033[0m\n", io.trans_code);
		return 1;
	}
	mi = mp_idx_load(argv[o.ind], &io, n_threads);
	if (mi == 0) {
		if (mp_verbose >= 1)
			fprintf(stderr, "[ERROR]\033[1;31m failed to open/build the index\033[0m\n");
		return 1;
	}
	if (set_I && !set_G) mp_mapopt_set_max_intron(&mo, mi->nt->l_seq);
	if (mp_verbose >= 3) mp_idx_print_stat(mi, mo.max_occ);
	if (fn_idx != 0) mp_idx_dump(fn_idx, mi);
	if (fn_spsc != 0) mp_set_spsc(fn_spsc, mi, &mo, keep_io);
	for (i = o.ind + 1; i < argc; ++i) {
		int32_t res = mp_map_file(mi, argv[i], &mo, n_threads);
		if (res != 0) {
			fprintf(stderr, "[M::%s] ERROR during mapping %s (check files exists and are amino acid fastas)\n", __func__, argv[i]);
			return 1;
		}
	}
	mp_idx_destroy(mi);

	if (mp_verbose >= 3) {
		fprintf(stderr, "[M::%s] Version: %s\n", __func__, MP_VERSION);
		fprintf(stderr, "[M::%s] CMD:", __func__);
		for (i = 0; i < argc; ++i)
			fprintf(stderr, " %s", argv[i]);
		fprintf(stderr, "\n[M::%s] Real time: %.3f sec; CPU: %.3f sec; Peak RSS: %.3f GB\n", __func__, mp_realtime(), mp_cputime(), mp_peakrss() / 1024.0 / 1024.0 / 1024.0);
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x4, -0x28(%rbp)
movq 0x23d24(%rip), %rax     # 0x261d0
movq %rax, -0x48(%rbp)
movq 0x23d21(%rip), %rax     # 0x261d8
movq %rax, -0x40(%rbp)
movq 0x23d1e(%rip), %rax     # 0x261e0
movq %rax, -0x38(%rbp)
movq 0x23d1b(%rip), %rax     # 0x261e8
movq %rax, -0x30(%rbp)
movq $0x0, -0x300(%rbp)
movq $0x0, -0x308(%rbp)
callq 0x4c30
leaq -0x2d8(%rbp), %rdi
callq 0x4e40
leaq -0x2ec(%rbp), %rdi
callq 0x4ca0
movl -0x8(%rbp), %esi
movq -0x10(%rbp), %rdx
leaq -0x48(%rbp), %rdi
movl $0x1, %ecx
leaq 0x1db15(%rip), %r8      # 0x20030
leaq 0x23cce(%rip), %r9      # 0x261f0
callq 0x3020
movl %eax, -0x14(%rbp)
cmpl $0x0, %eax
jl 0x2cca
cmpl $0x6b, -0x14(%rbp)
jne 0x254d
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x2e4(%rbp)
jmp 0x2cc5
cmpl $0x4d, -0x14(%rbp)
jne 0x2567
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x2e0(%rbp)
jmp 0x2cc3
cmpl $0x4c, -0x14(%rbp)
jne 0x2581
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x2e8(%rbp)
jmp 0x2cc1
cmpl $0x62, -0x14(%rbp)
jne 0x259b
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x2ec(%rbp)
jmp 0x2cbf
cmpl $0x54, -0x14(%rbp)
jne 0x25b5
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x2dc(%rbp)
jmp 0x2cbd
cmpl $0x64, -0x14(%rbp)
jne 0x25cb
movq -0x40(%rbp), %rax
movq %rax, -0x300(%rbp)
jmp 0x2cbb
cmpl $0x74, -0x14(%rbp)
jne 0x25e2
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x28(%rbp)
jmp 0x2cb9
cmpl $0x6c, -0x14(%rbp)
jne 0x25fc
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x278(%rbp)
jmp 0x2cb7
cmpl $0x63, -0x14(%rbp)
jne 0x2616
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2c8(%rbp)
jmp 0x2cb5
cmpl $0x47, -0x14(%rbp)
jne 0x263d
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2c0(%rbp)
movl %eax, -0x2b4(%rbp)
movl $0x1, -0x20(%rbp)
jmp 0x2cb3
cmpl $0x49, -0x14(%rbp)
jne 0x264f
movl $0x1, -0x1c(%rbp)
jmp 0x2cb1
cmpl $0x6e, -0x14(%rbp)
jne 0x2669
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2a8(%rbp)
jmp 0x2caf
cmpl $0x6d, -0x14(%rbp)
jne 0x2683
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x29c(%rbp)
jmp 0x2cad
cmpl $0x4b, -0x14(%rbp)
jne 0x269e
movq -0x40(%rbp), %rdi
callq 0x3650
movq %rax, -0x2d0(%rbp)
jmp 0x2cab
cmpl $0x70, -0x14(%rbp)
jne 0x26be
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x28c(%rbp)
jmp 0x2ca9
cmpl $0x4e, -0x14(%rbp)
jne 0x26d8
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x280(%rbp)
jmp 0x2ca7
cmpl $0x53, -0x14(%rbp)
jne 0x272b
movl -0x2d8(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x2d8(%rbp)
movl $0x3e8, -0x2b0(%rbp)    # imm = 0x3E8
movl $0x3e8, -0x2c0(%rbp)    # imm = 0x3E8
movl $0x3e8, -0x2b4(%rbp)    # imm = 0x3E8
movl $0x2710, -0x264(%rbp)   # imm = 0x2710
movl $0x2710, -0x26c(%rbp)   # imm = 0x2710
movl $0x1, -0x20(%rbp)
jmp 0x2ca5
cmpl $0x41, -0x14(%rbp)
jne 0x2745
movl -0x2d8(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2ca3
cmpl $0x4f, -0x14(%rbp)
jne 0x275f
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x274(%rbp)
jmp 0x2ca1
cmpl $0x45, -0x14(%rbp)
jne 0x2779
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x270(%rbp)
jmp 0x2c9f
cmpl $0x4a, -0x14(%rbp)
jne 0x279a
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x26c(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0x2c9d
cmpl $0x43, -0x14(%rbp)
jne 0x27ba
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x250(%rbp)
jmp 0x2c9b
cmpl $0x46, -0x14(%rbp)
jne 0x27dc
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, %esi
leaq -0x2d8(%rbp), %rdi
callq 0x4d00
jmp 0x2c99
cmpl $0x42, -0x14(%rbp)
jne 0x27f6
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x248(%rbp)
jmp 0x2c97
cmpl $0x65, -0x14(%rbp)
jne 0x2810
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2b0(%rbp)
jmp 0x2c95
cmpl $0x50, -0x14(%rbp)
jne 0x2826
movq -0x40(%rbp), %rax
movq %rax, -0x238(%rbp)
jmp 0x2c93
cmpl $0x75, -0x14(%rbp)
jne 0x2840
movl -0x2d8(%rbp), %eax
orl $0x4, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c91
cmpl $0x77, -0x14(%rbp)
jne 0x2860
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x298(%rbp)
jmp 0x2c8f
cmpl $0x6a, -0x14(%rbp)
jne 0x287a
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x25c(%rbp)
jmp 0x2c8d
cmpl $0x67, -0x14(%rbp)
jne 0x2894
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2c4(%rbp)
jmp 0x2c8b
cmpl $0x12d, -0x14(%rbp)     # imm = 0x12D
jne 0x28b1
movl -0x2d8(%rbp), %eax
orl $0x8, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c89
cmpl $0x12e, -0x14(%rbp)     # imm = 0x12E
jne 0x28ce
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x24c(%rbp)
jmp 0x2c87
cmpl $0x12f, -0x14(%rbp)     # imm = 0x12F
jne 0x28eb
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x27c(%rbp)
jmp 0x2c85
cmpl $0x134, -0x14(%rbp)     # imm = 0x134
jne 0x290e
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x288(%rbp)
jmp 0x2c83
cmpl $0x130, -0x14(%rbp)     # imm = 0x130
jne 0x292b
movl -0x2d8(%rbp), %eax
orl $0x18, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c81
cmpl $0x131, -0x14(%rbp)     # imm = 0x131
jne 0x2946
movq -0x40(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x240(%rbp)
jmp 0x2c7f
cmpl $0x132, -0x14(%rbp)     # imm = 0x132
jne 0x296a
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x264(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0x2c7d
cmpl $0x133, -0x14(%rbp)     # imm = 0x133
jne 0x2987
movl -0x2d8(%rbp), %eax
orl $0x20, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c7b
cmpl $0x135, -0x14(%rbp)     # imm = 0x135
jne 0x29a4
movq -0x40(%rbp), %rdi
callq 0x3650
movl %eax, -0x2a4(%rbp)
jmp 0x2c79
cmpl $0x136, -0x14(%rbp)     # imm = 0x136
jne 0x29c1
movl -0x2d8(%rbp), %eax
orl $0x40, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c77
cmpl $0x137, -0x14(%rbp)     # imm = 0x137
jne 0x29e0
movl -0x2d8(%rbp), %eax
orl $0x80, %eax
movl %eax, -0x2d8(%rbp)
jmp 0x2c75
cmpl $0x138, -0x14(%rbp)     # imm = 0x138
jne 0x2a0b
movq -0x40(%rbp), %rdi
callq 0x3650
addq $0x1, %rax
movl $0x2, %ecx
cqto
idivq %rcx
movl %eax, -0x23c(%rbp)
jmp 0x2c73
cmpl $0x139, -0x14(%rbp)     # imm = 0x139
jne 0x2a2e
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x284(%rbp)
jmp 0x2c71
cmpl $0x13a, -0x14(%rbp)     # imm = 0x13A
jne 0x2a51
movq -0x40(%rbp), %rdi
callq 0x20d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x260(%rbp)
jmp 0x2c6f
cmpl $0x13b, -0x14(%rbp)     # imm = 0x13B
jne 0x2a70
movl -0x2d8(%rbp), %eax
orl $0x100, %eax            # imm = 0x100
movl %eax, -0x2d8(%rbp)
jmp 0x2c6d
cmpl $0x13c, -0x14(%rbp)     # imm = 0x13C
jne 0x2a8f
movl -0x2d8(%rbp), %eax
orl $0x200, %eax            # imm = 0x200
movl %eax, -0x2d8(%rbp)
jmp 0x2c6b
cmpl $0x13d, -0x14(%rbp)     # imm = 0x13D
jne 0x2aa8
movq -0x40(%rbp), %rax
movq %rax, -0x308(%rbp)
jmp 0x2c69
cmpl $0x13f, -0x14(%rbp)     # imm = 0x13F
jne 0x2ac5
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x254(%rbp)
jmp 0x2c67
cmpl $0x1f5, -0x14(%rbp)     # imm = 0x1F5
jne 0x2ae8
leaq 0x23f9b(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x1, %ecx
leaq 0x23f8f(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c65
cmpl $0x1f6, -0x14(%rbp)     # imm = 0x1F6
jne 0x2b0b
leaq 0x23f78(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x2, %ecx
leaq 0x23f6c(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c63
cmpl $0x1f7, -0x14(%rbp)     # imm = 0x1F7
jne 0x2b2e
leaq 0x23f55(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x4, %ecx
leaq 0x23f49(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c61
cmpl $0x1f8, -0x14(%rbp)     # imm = 0x1F8
jne 0x2b51
leaq 0x23f32(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x8, %ecx
leaq 0x23f26(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c5f
cmpl $0x1f9, -0x14(%rbp)     # imm = 0x1F9
jne 0x2b74
leaq 0x23f0f(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x10, %ecx
leaq 0x23f03(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c5d
cmpl $0x1fa, -0x14(%rbp)     # imm = 0x1FA
jne 0x2b97
leaq 0x23eec(%rip), %rax     # 0x26a70
movl (%rax), %ecx
orl $0x20, %ecx
leaq 0x23ee0(%rip), %rax     # 0x26a70
movl %ecx, (%rax)
jmp 0x2c5b
cmpl $0x13e, -0x14(%rbp)     # imm = 0x13E
jne 0x2be2
movq -0x40(%rbp), %rdi
callq 0x22f0
movl %eax, -0x30c(%rbp)
cmpl $0x0, -0x30c(%rbp)
jge 0x2bc6
movl -0x30c(%rbp), %eax
movl %eax, -0x314(%rbp)
jmp 0x2bd4
xorl %eax, %eax
subl -0x30c(%rbp), %eax
movl %eax, -0x314(%rbp)
movl -0x314(%rbp), %eax
movl %eax, -0x258(%rbp)
jmp 0x2c59
cmpl $0x73, -0x14(%rbp)
jne 0x2c02
movq 0x23409(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
leaq 0x1d472(%rip), %rsi     # 0x2006b
movb $0x0, %al
callq 0x21f0
jmp 0x2c57
cmpl $0x191, -0x14(%rbp)     # imm = 0x191
jne 0x2c2c
leaq 0x1f4ad(%rip), %rdi     # 0x220bf
leaq 0x1d46e(%rip), %rsi     # 0x20087
movb $0x0, %al
callq 0x2130
movl $0x0, -0x4(%rbp)
jmp 0x300f
movq 0x233c5(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movl -0x34(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1d443(%rip), %rsi     # 0x20091
movb $0x0, %al
callq 0x21f0
jmp 0x2c57
jmp 0x2c59
jmp 0x2c5b
jmp 0x2c5d
jmp 0x2c5f
jmp 0x2c61
jmp 0x2c63
jmp 0x2c65
jmp 0x2c67
jmp 0x2c69
jmp 0x2c6b
jmp 0x2c6d
jmp 0x2c6f
jmp 0x2c71
jmp 0x2c73
jmp 0x2c75
jmp 0x2c77
jmp 0x2c79
jmp 0x2c7b
jmp 0x2c7d
jmp 0x2c7f
jmp 0x2c81
jmp 0x2c83
jmp 0x2c85
jmp 0x2c87
jmp 0x2c89
jmp 0x2c8b
jmp 0x2c8d
jmp 0x2c8f
jmp 0x2c91
jmp 0x2c93
jmp 0x2c95
jmp 0x2c97
jmp 0x2c99
jmp 0x2c9b
jmp 0x2c9d
jmp 0x2c9f
jmp 0x2ca1
jmp 0x2ca3
jmp 0x2ca5
jmp 0x2ca7
jmp 0x2ca9
jmp 0x2cab
jmp 0x2cad
jmp 0x2caf
jmp 0x2cb1
jmp 0x2cb3
jmp 0x2cb5
jmp 0x2cb7
jmp 0x2cb9
jmp 0x2cbb
jmp 0x2cbd
jmp 0x2cbf
jmp 0x2cc1
jmp 0x2cc3
jmp 0x2cc5
jmp 0x2504
leaq -0x2d8(%rbp), %rdi
callq 0x50a0
cmpl $0x0, %eax
jge 0x2ce7
movl $0x1, -0x4(%rbp)
jmp 0x300f
movl -0x8(%rbp), %eax
subl -0x48(%rbp), %eax
cmpl $0x0, %eax
je 0x2d07
movl -0x8(%rbp), %eax
subl -0x48(%rbp), %eax
cmpl $0x1, %eax
jne 0x2d33
cmpq $0x0, -0x300(%rbp)
jne 0x2d33
movq 0x232ea(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
movl -0x28(%rbp), %ecx
leaq -0x2ec(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0x3670
movl $0x1, -0x4(%rbp)
jmp 0x300f
movl -0x2dc(%rbp), %edi
callq 0x3bf0
cmpl $0x0, %eax
jge 0x2d79
leaq 0x2398e(%rip), %rax     # 0x266d8
cmpl $0x1, (%rax)
jl 0x2d6d
movq 0x232a2(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
movl -0x2dc(%rbp), %edx
leaq 0x1d359(%rip), %rsi     # 0x200bf
movb $0x0, %al
callq 0x21f0
movl $0x1, -0x4(%rbp)
jmp 0x300f
movq -0x10(%rbp), %rax
movslq -0x48(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl -0x28(%rbp), %edx
leaq -0x2ec(%rbp), %rsi
callq 0x5f70
movq %rax, -0x2f8(%rbp)
cmpq $0x0, -0x2f8(%rbp)
jne 0x2dd5
leaq 0x2392c(%rip), %rax     # 0x266d8
cmpl $0x1, (%rax)
jl 0x2dc9
movq 0x23240(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
leaq 0x1d335(%rip), %rsi     # 0x200f7
movb $0x0, %al
callq 0x21f0
movl $0x1, -0x4(%rbp)
jmp 0x300f
cmpl $0x0, -0x1c(%rbp)
je 0x2dfc
cmpl $0x0, -0x20(%rbp)
jne 0x2dfc
movq -0x2f8(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rsi
leaq -0x2d8(%rbp), %rdi
callq 0x4d70
leaq 0x238d5(%rip), %rax     # 0x266d8
cmpl $0x3, (%rax)
jl 0x2e1a
movq -0x2f8(%rbp), %rdi
movl -0x2c8(%rbp), %esi
callq 0x5a50
cmpq $0x0, -0x300(%rbp)
je 0x2e37
movq -0x300(%rbp), %rdi
movq -0x2f8(%rbp), %rsi
callq 0x5bf0
cmpq $0x0, -0x308(%rbp)
je 0x2e5e
movq -0x308(%rbp), %rdi
movq -0x2f8(%rbp), %rsi
movl -0x24(%rbp), %ecx
leaq -0x2d8(%rbp), %rdx
callq 0x60f0
movl -0x48(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x2ee4
movq -0x2f8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movl -0x28(%rbp), %ecx
leaq -0x2d8(%rbp), %rdx
callq 0x7b90
movl %eax, -0x310(%rbp)
cmpl $0x0, -0x310(%rbp)
je 0x2ed7
movq 0x23151(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rcx
leaq 0x1d26d(%rip), %rsi     # 0x2012a
leaq 0x1d2b6(%rip), %rdx     # 0x2017a
movb $0x0, %al
callq 0x21f0
movl $0x1, -0x4(%rbp)
jmp 0x300f
jmp 0x2ed9
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2e67
movq -0x2f8(%rbp), %rdi
callq 0x5b90
leaq 0x237e1(%rip), %rax     # 0x266d8
cmpl $0x3, (%rax)
jl 0x3008
movq 0x230f1(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
leaq 0x1d26e(%rip), %rsi     # 0x2017f
leaq 0x1d262(%rip), %rdx     # 0x2017a
leaq 0x1d168(%rip), %rcx     # 0x20087
movb $0x0, %al
callq 0x21f0
movq 0x230cb(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
leaq 0x1d25d(%rip), %rsi     # 0x20194
leaq 0x1d23c(%rip), %rdx     # 0x2017a
movb $0x0, %al
callq 0x21f0
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x8(%rbp), %eax
jge 0x2f83
movq 0x2309d(%rip), %rax     # 0x25ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1d230(%rip), %rsi     # 0x201a1
movb $0x0, %al
callq 0x21f0
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x2f4c
movq 0x2306e(%rip), %rax     # 0x25ff8
movq (%rax), %rax
movq %rax, -0x330(%rbp)
callq 0x41a0
movsd %xmm0, -0x328(%rbp)
callq 0x4110
movsd %xmm0, -0x320(%rbp)
callq 0x4170
movq -0x330(%rbp), %rdi
movsd -0x328(%rbp), %xmm0
movsd -0x320(%rbp), %xmm1
cvtsi2sd %rax, %xmm2
movsd 0x1d031(%rip), %xmm3    # 0x20008
divsd %xmm3, %xmm2
movsd 0x1d025(%rip), %xmm3    # 0x20008
divsd %xmm3, %xmm2
movsd 0x1d019(%rip), %xmm3    # 0x20008
divsd %xmm3, %xmm2
leaq 0x1d1ab(%rip), %rsi     # 0x201a5
leaq 0x1d179(%rip), %rdx     # 0x2017a
movb $0x3, %al
callq 0x21f0
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
nopl (%rax,%rax)