// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x338, %rsp            # imm = 0x338
movq %rsi, %r14
movl %edi, %r13d
callq 0x494a
leaq 0xa8(%rsp), %rdi
callq 0x4a5d
leaq 0x64(%rsp), %rdi
callq 0x4988
movslq %r13d, %r15
leal -0x1(%r15), %eax
movl %eax, 0x50(%rsp)
movl %r15d, %eax
negl %eax
movq %rax, 0xa0(%rsp)
movl $0x4, 0x34(%rsp)
movl $0x1, %ebx
xorl %r12d, %r12d
xorl %ebp, %ebp
movl $0x1, 0x38(%rsp)
movl $0x0, 0x40(%rsp)
movl $0x0, 0x3c(%rsp)
xorl %eax, %eax
movq $0x0, 0x80(%rsp)
movq $0x0, 0x78(%rsp)
movq %r14, 0x58(%rsp)
movq %r13, 0x18(%rsp)
movq %r15, 0x10(%rsp)
movl %eax, 0x4(%rsp)
cmpl %r13d, %ebx
setl %al
jge 0x2f46
movslq %ebx, %rcx
leal (%r12,%r13), %edx
subl %ebx, %edx
incq %rcx
movq 0xa0(%rsp), %rax
leal (%rax,%rbx), %edi
movb $0x1, %al
xorl %esi, %esi
movq -0x8(%r14,%rcx,8), %r8
cmpb $0x2d, (%r8)
jne 0x2f20
cmpb $0x0, 0x1(%r8)
jne 0x2f41
cmpq %r15, %rcx
setl %al
decl %esi
incq %rcx
cmpl %esi, %edi
jne 0x2f0e
movl %edx, %r12d
movl %r13d, %ecx
movq %rcx, 0x20(%rsp)
movq %rcx, 0x28(%rsp)
jmp 0x2f50
subl %esi, %r12d
subl %esi, %ebx
movq %rbx, 0x20(%rsp)
movq %rbx, 0x28(%rsp)
testb $0x1, %al
movq 0x28(%rsp), %rax
movq %r12, 0x48(%rsp)
je 0x2f84
movslq %eax, %rbx
movq (%r14,%rbx,8), %rcx
cmpb $0x2d, (%rcx)
jne 0x2f84
movzbl 0x1(%rcx), %eax
cmpl $0x2d, %eax
je 0x3046
testl %eax, %eax
movq 0x28(%rsp), %rax
jne 0x307d
subl %r12d, %eax
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %edi, %edi
movl %eax, 0x38(%rsp)
testl %ecx, %ecx
js 0x3e9b
cmpl $0x12c, %ecx            # imm = 0x12C
jg 0x2fde
addl $-0x41, %ecx
cmpl $0x36, %ecx
movq 0x48(%rsp), %r12
movq 0x20(%rsp), %rbx
ja 0x3e64
movl $0x1, %eax
leaq 0xf06c(%rip), %rdx      # 0x12030
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
orb $0x2, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leal -0x12d(%rcx), %eax
cmpl $0x12, %eax
movq 0x48(%rsp), %r12
movq 0x20(%rsp), %rbx
ja 0x3014
leaq 0xf112(%rip), %rcx      # 0x1210c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
orb $0x8, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leal -0x1f5(%rcx), %eax
cmpl $0x5, %eax
ja 0x3e58
leaq 0xf12e(%rip), %rcx      # 0x12158
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x15746(%rip), %rax     # 0x18780
orb $0x1, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
cmpb $0x0, 0x2(%rcx)
je 0x31b2
leaq 0x2(%rcx), %r12
addq $0x3, %rcx
xorl %r15d, %r15d
movabsq $0x100000000, %rax      # imm = 0x100000000
movzbl -0x1(%rcx), %r13d
testl %r13d, %r13d
je 0x30d2
cmpl $0x3d, %r13d
je 0x30d2
addq %rax, %r15
incq %rcx
jmp 0x3065
cmpl $0x1, %ebp
adcl $0x0, %ebp
movslq %ebp, %rbp
movq %rbp, %r13
movq %rcx, %rbp
movsbl (%rcx,%r13), %r12d
incq %r13
movl $0x3b, %edx
leaq 0xf0d0(%rip), %rdi      # 0x12170
movl %r12d, %esi
callq 0x2180
testq %rax, %rax
je 0x31df
cmpb $0x3a, 0x1(%rax)
jne 0x31e5
cmpb $0x0, (%rbp,%r13)
je 0x3aa1
addq %r13, %rbp
movq %rbp, %rdi
jmp 0x3ac2
movq %rcx, 0x98(%rsp)
sarq $0x20, %r15
movq $0x0, 0x90(%rsp)
leaq 0x149ff(%rip), %r14     # 0x17af0
leaq 0xf22d(%rip), %rbp      # 0x12325
movq $0x0, 0x88(%rsp)
movl $0x0, 0x44(%rsp)
movl $0x0, 0x54(%rsp)
movq %r12, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x2070
testl %eax, %eax
jne 0x3148
cmpb $0x0, (%rbp,%r15)
je 0x313c
incl 0x44(%rsp)
movq %r14, 0x90(%rsp)
jmp 0x3148
incl 0x54(%rsp)
movq %r14, 0x88(%rsp)
movq 0x10(%r14), %rbp
addq $0x10, %r14
testq %rbp, %rbp
jne 0x3114
movl 0x54(%rsp), %esi
cmpl $0x1, %esi
jg 0x3176
testl %esi, %esi
sete %al
cmpl $0x2, 0x44(%rsp)
setge %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x39ea
movq 0x28(%rsp), %rax
incl %eax
movq %rax, 0x20(%rsp)
movl $0x3f, %r12d
xorl %edi, %edi
xorl %eax, %eax
movq 0x58(%rsp), %r14
movq 0x18(%rsp), %r13
movq 0x10(%rsp), %r15
movl $0x3f, %ecx
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
testb %al, %al
je 0x2f92
jmp 0x3acc
movq %rcx, %rdi
testl %r12d, %r12d
jle 0x3a71
movl %r12d, %ecx
leaq (%r14,%rbx,8), %rdx
xorl %eax, %eax
movq -0x8(%rdx), %rsi
movq %rsi, (%rdx)
addq $-0x8, %rdx
incq %rax
cmpq %rax, %rcx
jne 0x31c7
jmp 0x3a73
movl $0x3f, %r12d
xorl %edi, %edi
movq %r13, %rbp
jmp 0x3ac7
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3b77
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3b67
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3b43
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3b7c
mulsd 0xedb9(%rip), %xmm0     # 0x12010
jmp 0x3b4b
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3ba9
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3b99
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3b55
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3bae
mulsd 0xed4c(%rip), %xmm0     # 0x12010
jmp 0x3b5d
callq 0x22c0
movl %eax, 0x68(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3bff
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3bef
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3bcb
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3c04
mulsd 0xeccd(%rip), %xmm0     # 0x12010
jmp 0x3bd3
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3c52
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3c42
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3bdd
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3c57
mulsd 0xec60(%rip), %xmm0     # 0x12010
jmp 0x3be5
callq 0x22c0
movl %eax, 0x74(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x110(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3c84
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3c74
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3c30
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3c89
mulsd 0xebcc(%rip), %xmm0     # 0x12010
jmp 0x3c38
callq 0x22c0
movl %eax, 0x70(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x138(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x130(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
movq %rdi, 0x148(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $0x1, 0xa8(%rsp)
movl $0x3e8, 0xc0(%rsp) # imm = 0x3E8
movabsq $0x3e8000003e8, %rax    # imm = 0x3E8000003E8
movq %rax, 0xcc(%rsp)
movl $0x2710, %eax           # imm = 0x2710
movl %eax, 0x11c(%rsp)
movl %eax, 0x114(%rsp)
jmp 0x3c1f
callq 0x22c0
leaq 0xa8(%rsp), %rdi
movl %eax, %esi
callq 0x499a
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x10c(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3cc8
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3cb8
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3ca6
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3ccd
mulsd 0xea9d(%rip), %xmm0     # 0x12010
jmp 0x3cae
movl 0x4(%rsp), %eax
movq %rdi, 0x80(%rsp)
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xe8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x64(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x6c(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x114(%rsp)
jmp 0x38e7
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3d1f
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3d0f
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3ceb
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3d24
mulsd 0xe9cf(%rip), %xmm0     # 0x12010
jmp 0x3cf3
leaq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x20b0
movq (%r15), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3d51
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3d41
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
movq 0x10(%rsp), %r15
jb 0x3cfd
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3d56
mulsd 0xe962(%rip), %xmm0     # 0x12010
jmp 0x3d05
callq 0x22c0
movl %eax, 0x124(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x108(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xf4(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $0x4, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x34(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
movl 0x4(%rsp), %eax
movq %rdi, 0x78(%rsp)
jmp 0x2ee7
orb $0x1, 0xa9(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %rsi
callq 0x20b0
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3d8d
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3d7d
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
jb 0x3d73
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3d8d
mulsd 0xe874(%rip), %xmm0     # 0x12010
jmp 0x3d85
movsbl (%rdi), %eax
movl %eax, 0x140(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xfc(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $0x40, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %rsi
callq 0x20b0
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3dd5
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3dc5
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
jb 0x3dbb
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3dd5
mulsd 0xe7ce(%rip), %xmm0     # 0x12010
jmp 0x3dcd
orb $0x2, 0xa9(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x14f21(%rip), %rax     # 0x18780
orb $0x10, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $0x18, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xf8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x134(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, %ecx
negl %ecx
cmovnsl %eax, %ecx
movl %ecx, 0x128(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x14eb1(%rip), %rax     # 0x18780
orb $0x4, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x11c(%rsp)
movl $0x1, 0x3c(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x20c0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x120(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x14e66(%rip), %rax     # 0x18780
orb $0x8, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $0x20, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x22c0
movl %eax, 0x12c(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
orb $-0x80, 0xa8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x8(%rsp), %rsi
callq 0x20b0
movq 0x8(%rsp), %rax
movzbl (%rax), %ecx
addl $-0x47, %ecx
cmpl $0x26, %ecx
ja 0x3e0c
movabsq $0x100000001, %rdx      # imm = 0x100000001
btq %rcx, %rdx
jb 0x3dfc
movabsq $0x1000000010, %rdx     # imm = 0x1000000010
btq %rcx, %rdx
jb 0x3df2
movabsq $0x4000000040, %rdx     # imm = 0x4000000040
btq %rcx, %rdx
jae 0x3e0c
mulsd 0xe651(%rip), %xmm0     # 0x12010
jmp 0x3e04
leaq 0x14db5(%rip), %rax     # 0x18780
orb $0x2, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0x14da2(%rip), %rax     # 0x18780
orb $0x20, (%rax)
movl 0x4(%rsp), %eax
jmp 0x2ee7
cmpl $0x1, 0x44(%rsp)
movl $0x0, %ecx
movq 0x90(%rsp), %rdx
cmovneq %rcx, %rdx
cmpl $0x1, %esi
cmoveq 0x88(%rsp), %rdx
movb $0x1, %al
testq %rdx, %rdx
movq 0x58(%rsp), %r14
movq 0x10(%rsp), %r15
je 0x3e29
movl 0xc(%rdx), %r12d
cmpb $0x3d, %r13b
movq 0x98(%rsp), %rdi
cmovneq %rcx, %rdi
testb %r13b, %r13b
jne 0x3e31
cmpl $0x1, 0x8(%rdx)
movq 0x18(%rsp), %r13
jne 0x319b
movq 0x28(%rsp), %rdx
cmpl 0x50(%rsp), %edx
jge 0x3e4d
leal 0x1(%rdx), %ecx
movq %rcx, 0x20(%rsp)
movslq %edx, %rcx
movq 0x8(%r14,%rcx,8), %rdi
jmp 0x319b
xorl %eax, %eax
movq 0x28(%rsp), %rdx
movl %edx, %ecx
subl %eax, %ecx
movslq %ecx, %rax
movq %rdi, (%r14,%rax,8)
incl %edx
movl %edx, %eax
subl %r12d, %eax
movl %eax, 0x38(%rsp)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl %edx, %eax
movq %rax, 0x20(%rsp)
xorl %edi, %edi
jmp 0x2f92
movq 0x28(%rsp), %rax
cmpl 0x50(%rsp), %eax
jge 0x3e3b
movq %rax, %rcx
incl %eax
movq %rax, 0x20(%rsp)
movslq %ecx, %rax
movq 0x8(%r14,%rax,8), %rdi
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq 0x18(%rsp), %r13
testl %ebp, %ebp
movq 0x20(%rsp), %rdx
js 0x3ae8
movslq %edx, %rax
movq (%r14,%rax,8), %rax
movl %ebp, %ecx
cmpb $0x0, (%rax,%rcx)
je 0x3ae8
movl %edx, %eax
jmp 0x3b2c
leal 0x1(%rdx), %eax
xorl %ebp, %ebp
cmpl $0x0, 0x48(%rsp)
jle 0x3b2c
cmpl %edx, 0x28(%rsp)
jg 0x3b2c
movl 0x48(%rsp), %ecx
leaq (%r14,%rbx,8), %rdx
negq %rcx
movq (%r14,%rbx,8), %rsi
xorl %r9d, %r9d
movq -0x8(%rdx,%r9,8), %r8
movq %r8, (%rdx,%r9,8)
decq %r9
cmpq %r9, %rcx
jne 0x3b0c
movq %rsi, (%rdx,%r9,8)
incq %rbx
addq $0x8, %rdx
cmpl %ebx, %eax
jne 0x3b05
movl %eax, %ecx
subl 0x48(%rsp), %ecx
movl %ecx, 0x38(%rsp)
movq %rax, 0x20(%rsp)
movl %r12d, %ecx
jmp 0x2f92
mulsd 0xe4bd(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3b7c
mulsd 0xe4ab(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3bae
mulsd 0xe4a9(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe49c(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xb8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe477(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe46a(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xe4(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe435(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3c04
mulsd 0xe423(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3c57
mulsd 0xe421(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe414(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xc0(%rsp)
movl %eax, 0xcc(%rsp)
movl $0x1, 0x40(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe3d0(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3c89
mulsd 0xe3ce(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe3c1(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xbc(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe39c(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe38f(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0x100(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe35a(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3ccd
mulsd 0xe358(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe34b(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movq %rax, 0xb0(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe315(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3d24
mulsd 0xe303(%rip), %xmm0     # 0x12008
incq %rax
movq %rax, 0x8(%rsp)
jmp 0x3d56
mulsd 0xe301(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe2f4(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xd0(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe2cf(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
movq 0x10(%rsp), %r15
addsd 0xe2c2(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xd8(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe28d(%rip), %xmm0     # 0x12008
jmp 0x3d85
mulsd 0xe293(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
addsd 0xe28b(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
leaq 0x1(%rax), %rcx
shrq $0x3f, %rcx
addq %rcx, %rax
incq %rax
shrq %rax
movl %eax, 0x144(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe245(%rip), %xmm0     # 0x12008
jmp 0x3dcd
mulsd 0xe24b(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
addsd 0xe243(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0x104(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
mulsd 0xe20e(%rip), %xmm0     # 0x12008
jmp 0x3e04
mulsd 0xe214(%rip), %xmm0     # 0x12018
incq %rax
movq %rax, 0x8(%rsp)
addsd 0xe20c(%rip), %xmm0     # 0x12020
cvttsd2si %xmm0, %rax
movl %eax, 0xdc(%rsp)
movl 0x4(%rsp), %eax
jmp 0x2ee7
movl $0x3f, %r12d
xorl %edi, %edi
movq 0x18(%rsp), %r13
jmp 0x319b
movl $0x3a, %r12d
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
xorl %edi, %edi
jmp 0x3ac7
movl $0x3a, %r12d
jmp 0x319b
cmpl $0x191, %ecx            # imm = 0x191
je 0x405d
movq 0x14185(%rip), %rax     # 0x17ff0
movq (%rax), %rdi
movslq %ebx, %rax
movq -0x8(%r14,%rax,8), %rdx
leaq 0xe354(%rip), %rsi      # 0x121d1
xorl %eax, %eax
callq 0x21d0
movl 0x4(%rsp), %eax
jmp 0x2ee7
callq 0x288f
movl 0x4(%rsp), %eax
jmp 0x2ee7
leaq 0xa8(%rsp), %rdi
callq 0x4b7f
testl %eax, %eax
js 0x3fd5
movl %r13d, %eax
movl 0x38(%rsp), %ebx
subl %ebx, %eax
movq 0x80(%rsp), %r15
je 0x403f
cmpl $0x1, %eax
jne 0x3ed5
testq %r15, %r15
je 0x403f
movl 0x74(%rsp), %edi
callq 0x4084
testl %eax, %eax
js 0x3fe0
movslq %ebx, %rbx
movq (%r14,%rbx,8), %rdi
leaq 0x64(%rsp), %rsi
movl 0x34(%rsp), %edx
callq 0x5374
testq %rax, %rax
je 0x3ffe
movq %rax, %r13
cmpl $0x0, 0x4(%rsp)
sete %al
cmpl $0x0, 0x40(%rsp)
setne %cl
orb %al, %cl
jne 0x3f30
movq 0x18(%r13), %rax
movq 0x10(%rax), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x49e0
leaq 0x144a9(%rip), %rax     # 0x183e0
cmpl $0x3, (%rax)
jl 0x3f4b
movl 0xb8(%rsp), %esi
movq %r13, %rdi
callq 0x28cd
testq %r15, %r15
je 0x3f5b
movq %r15, %rdi
movq %r13, %rsi
callq 0x5114
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x3f79
leaq 0xa8(%rsp), %rdx
movq %r13, %rsi
movl 0x3c(%rsp), %ecx
callq 0x5480
movq 0x58(%rsp), %rax
leaq (%rax,%rbx,8), %r15
addq $0x8, %r15
incq %rbx
xorl %r14d, %r14d
leaq 0xa8(%rsp), %rbp
cmpq 0x10(%rsp), %rbx
jge 0x4017
movq (%r15), %rsi
movq %r13, %rdi
movq %rbp, %rdx
movl 0x34(%rsp), %ecx
callq 0x634e
movl %eax, %r12d
testl %eax, %eax
jne 0x3fc5
incq %rbx
addq $0x8, %r15
testl %r12d, %r12d
je 0x3f94
jmp 0x406c
movq %r15, %rdi
callq 0x2444
movl $0x1, %r14d
jmp 0x3fb4
movl $0x1, %r14d
jmp 0x406c
movl $0x1, %r14d
leaq 0x143f3(%rip), %rax     # 0x183e0
cmpl $0x0, (%rax)
jle 0x406c
leaq 0x74(%rsp), %rdi
callq 0x2491
jmp 0x406c
movl $0x1, %r14d
leaq 0x143d5(%rip), %rax     # 0x183e0
cmpl $0x0, (%rax)
jle 0x406c
callq 0x246f
jmp 0x406c
movq %r13, %rdi
callq 0x50dd
xorl %r14d, %r14d
leaq 0x143b7(%rip), %rax     # 0x183e0
cmpl $0x3, (%rax)
jl 0x406c
movq 0x18(%rsp), %rdi
movq 0x58(%rsp), %rsi
callq 0x2360
jmp 0x406c
movl $0x1, %r14d
leaq 0x64(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
movl 0x34(%rsp), %edx
callq 0x24b4
jmp 0x406c
leaq 0xe163(%rip), %rdi      # 0x121c7
callq 0x2090
xorl %r14d, %r14d
movl %r14d, %eax
addq $0x338, %rsp            # imm = 0x338
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)