// File: /workspace/github_c_makefile_star2_O3/lh3[P]minigraph/main.c
// Function: main
int main(int argc, char *argv[])
{
	const char *opt_str = "x:k:w:t:r:m:n:g:K:o:p:N:Pq:d:l:f:U:M:F:j:L:DSc";
	ketopt_t o = KETOPT_INIT;
	mg_mapopt_t opt;
	mg_idxopt_t ipt;
	mg_ggopt_t gpt;
	int i, c, ret, n_threads = 4;
	char *s;
	FILE *fp_help = stderr;
	gfa_t *g;

	mg_verbose = 3;
	liftrlimit();
	mg_realtime0 = realtime();
	mg_opt_set(0, &ipt, &opt, &gpt);

	while ((c = ketopt(&o, argc, argv, 1, opt_str, long_options)) >= 0) { // test command line options and apply option -x/preset first
		if (c == 'x') {
			if (mg_opt_set(o.arg, &ipt, &opt, &gpt) < 0) {
				fprintf(stderr, "[ERROR] unknown preset '%s'\n", o.arg);
				return 1;
			}
		} else if (c == ':') {
			fprintf(stderr, "[ERROR] missing option argument\n");
			return 1;
		} else if (c == '?') {
			fprintf(stderr, "[ERROR] unknown option in \"%s\"\n", argv[o.i - 1]);
			return 1;
		}
	}
	o = KETOPT_INIT;

	while ((c = ketopt(&o, argc, argv, 1, opt_str, long_options)) >= 0) {
		if (c == 'w') ipt.w = atoi(o.arg);
		else if (c == 'k') ipt.k = atoi(o.arg);
		else if (c == 't') n_threads = atoi(o.arg);
		else if (c == 'f') opt.occ_max1_frac = atof(o.arg);
		else if (c == 'g') opt.max_gap = mm_parse_num(o.arg);
		else if (c == 'F') opt.max_frag_len = mm_parse_num(o.arg);
		else if (c == 'K') opt.mini_batch_size = mm_parse_num(o.arg);
		else if (c == 'p') opt.pri_ratio = atof(o.arg);
		else if (c == 'N') opt.best_n = mm_parse_num(o.arg);
		else if (c == 'P') opt.flag |= MG_M_ALL_CHAINS;
		else if (c == 'D') opt.flag |= MG_M_NO_DIAG;
		else if (c == 'M') opt.mask_level = atof(o.arg);
		else if (c == 'j') opt.div = atof(o.arg);
		else if (c == 'l') gpt.min_map_len = mm_parse_num(o.arg);
		else if (c == 'd') gpt.min_depth_len = mm_parse_num(o.arg);
		else if (c == 'q') gpt.min_mapq = atoi(o.arg);
		else if (c == 'L') gpt.min_var_len = atoi(o.arg);
		else if (c == 'S') opt.flag |= MG_M_WRITE_LCHAIN;
		else if (c == 'c') opt.flag |= MG_M_CIGAR;
		else if (c == 301) opt.flag |= MG_M_VERTEX_COOR;      // --vc
		else if (c == 309) gpt.ggs_min_end_cnt = atoi(o.arg);  // --gg-min-end-cnt
		else if (c == 310) gpt.ggs_min_end_frac = atof(o.arg); // --gg-min-end-frac
		else if (c == 312) opt.flag |= MG_M_NO_COMP_PATH;     // --no-comp-path
		else if (c == 313) gpt.match_pen = atoi(o.arg);       // --gg-match-pen
		else if (c == 314) opt.flag |= MG_M_FRAG_MODE | MG_M_FRAG_MERGE;       // --frag
		else if (c == 315) opt.flag |= MG_M_CAL_COV | MG_M_SKIP_GCHECK, gpt.flag |= MG_G_CAL_COV; // --cov
		else if (c == 316) opt.min_cov_blen = mm_parse_num(o.arg);             // --min-cov-blen
		else if (c == 317) opt.min_cov_mapq = atoi(o.arg);                     // --min-cov-mapq
		else if (c == 318) opt.chn_pen_gap = atof(o.arg);     // --gap-pen
		else if (c == 319) opt.ref_bonus = atoi(o.arg);       // --ref-bonus
		else if (c == 320) opt.max_gap_pre = mm_parse_num(o.arg); // --max-gap-pre
		else if (c == 321) opt.max_lc_skip = atoi(o.arg);     // --max-lc-skip
		else if (c == 322) opt.max_gc_skip = atoi(o.arg);     // --max-gc-skip
		else if (c == 323) opt.max_lc_iter = mm_parse_num(o.arg);  // --max-lc-iter
		else if (c == 324) opt.rmq_size_cap = mm_parse_num(o.arg); // --max-rmq-size
		else if (c == 326) opt.flag |= MG_M_WRITE_MZ | MG_M_WRITE_LCHAIN; // --write-mz
		else if (c == 327) gpt.flag |= MG_G_CALL, opt.flag |= MG_M_SKIP_GCHECK; // --call
		else if (c == 328) opt.cap_kalloc = mm_parse_num(o.arg); // --cap-kalloc
		else if (c == 329) opt.gdp_max_ed = mm_parse_num(o.arg); // --gdp-max-ed
		else if (c == 401) mg_dbg_flag |= MG_DBG_NO_KALLOC;   // --no-kalloc
		else if (c == 402) mg_dbg_flag |= MG_DBG_QNAME;       // --dbg-qname
		else if (c == 403) mg_dbg_flag |= MG_DBG_LCHAIN;      // --dbg-lchain
		else if (c == 404) mg_dbg_flag |= MG_DBG_INSERT;      // --dbg-insert
		else if (c == 405) mg_dbg_flag |= MG_DBG_SHORTK;      // --dbg-shortk
		else if (c == 406) mg_dbg_flag |= MG_DBG_GC1;         // --dbg-gc1
		else if (c == 407) mg_dbg_flag |= MG_DBG_LC_PROF;     // --dbg-lc-prof
		else if (c == 408) mg_dbg_flag |= MG_DBG_MINIWFA;     // --dbg-mwf-long
		else if (c == 409) mg_dbg_flag |= MG_DBG_MWF_SEQ;     // --dbg-mwf-seq
		else if (c == 'U') {
			opt.occ_max1 = (int)mm_parse_num2(o.arg, &s);
			if (*s == ',') opt.occ_max1_cap = (int)mm_parse_num2(s + 1, &s);
		} else if (c == 'r') {
			opt.bw = (int)mm_parse_num2(o.arg, &s);
			if (*s == ',') opt.bw_long = (int)mm_parse_num2(s + 1, &s);
		} else if (c == 'n') {
			opt.min_gc_cnt = (int)mm_parse_num2(o.arg, &s);
			if (*s == ',') opt.min_lc_cnt = (int)mm_parse_num2(s + 1, &s);
		} else if (c == 'm') {
			opt.min_gc_score = (int)mm_parse_num2(o.arg, &s);
			if (*s == ',') opt.min_lc_score = (int)mm_parse_num2(s + 1, &s);
		} else if (c == 'o') {
			if (strcmp(o.arg, "-") != 0) {
				if (freopen(o.arg, "wb", stdout) == NULL) {
					fprintf(stderr, "[ERROR]\033[1;31m failed to write the output to file '%s'\033[0m\n", o.arg);
					exit(1);
				}
			}
		} else if (c == 306) { // --ggen
			if (o.arg) {
				if (strcmp(o.arg, "none") == 0) gpt.algo = MG_G_NONE;
				else if (strcmp(o.arg, "simple") == 0) gpt.algo = MG_G_GGSIMPLE;
				else {
					fprintf(stderr, "ERROR: unknown graph generation algorithm \"%s\"\n", o.arg);
					return 1;
				}
			} else gpt.algo = MG_G_GGSIMPLE;
		} else if (c == 302) { // --secondary
			yes_or_no(&opt.flag, MG_M_PRINT_2ND, o.longidx, o.arg, 1);
		} else if (c == 303) { // --ins-qovlp
			yes_or_no(&gpt.flag, MG_G_NO_QOVLP, o.longidx, o.arg, 1);
		} else if (c == 304) { // --heap-sort
			yes_or_no(&opt.flag, MG_M_HEAP_SORT, o.longidx, o.arg, 1);
		} else if (c == 305) { // --show-unmap
			yes_or_no(&opt.flag, MG_M_SHOW_UNMAP, o.longidx, o.arg, 1);
		} else if (c == 307) { // --rmq
			yes_or_no(&opt.flag, MG_M_RMQ, o.longidx, o.arg, 1);
		} else if (c == 325) { // --inv
			yes_or_no(&gpt.flag, MG_G_NO_INV, o.longidx, o.arg, 0);
		} else if (c == 300) { // --version
			puts(MG_VERSION);
			return 0;
		}
	}
	if (mg_opt_check(&ipt, &opt, &gpt) < 0)
		return 1;
	if (gpt.algo == MG_G_GGSIMPLE && !(opt.flag&MG_M_CIGAR))
		fprintf(stderr, "[WARNING]\033[1;31m it is recommended to add -c for graph generation\033[0m\n");

	if (argc == o.ind || fp_help == stdout) {
		fprintf(fp_help, "Usage: minigraph [options] <target.gfa> <query.fa> [...]\n");
		fprintf(fp_help, "Options:\n");
		fprintf(fp_help, "  Indexing:\n");
		fprintf(fp_help, "    -k INT       k-mer size (no larger than 28) [%d]\n", ipt.k);
		fprintf(fp_help, "    -w INT       minizer window size [%d]\n", ipt.w);
		fprintf(fp_help, "  Mapping:\n");
		fprintf(fp_help, "    -c           perform base alignment; RECOMMENDED\n");
		fprintf(fp_help, "    -f FLOAT     ignore top FLOAT fraction of repetitive minimizers [%g]\n", opt.occ_max1_frac);
		fprintf(fp_help, "    -U INT[,INT] choose the minimizer occurrence threshold within this interval [%d,%d]\n", opt.occ_max1, opt.occ_max1_cap);
		fprintf(fp_help, "    -j FLOAT     expected sequence divergence [%g]\n", opt.div);
		fprintf(fp_help, "    -g NUM       stop chain enlongation if there are no minimizers in INT-bp [%d]\n", opt.max_gap);
		fprintf(fp_help, "    -F NUM       max fragment length (effective with -xsr or in the fragment mode) [%d]\n", opt.max_frag_len);
		fprintf(fp_help, "    -r NUM[,NUM] bandwidth for the two rounds of chaining [%d,%d]\n", opt.bw, opt.bw_long);
		fprintf(fp_help, "    -n INT[,INT] minimal number of minimizers on a graph/linear chain [%d,%d]\n", opt.min_gc_cnt, opt.min_lc_cnt);
		fprintf(fp_help, "    -m INT[,INT] minimal graph/linear chaining score [%d,%d]\n", opt.min_gc_score, opt.min_lc_score);
		fprintf(fp_help, "    -p FLOAT     min secondary-to-primary score ratio [%g]\n", opt.pri_ratio);
		fprintf(fp_help, "    -N INT       retain at most INT secondary mappings [%d]\n", opt.best_n);
		fprintf(fp_help, "    -D           skip self diagonal matches\n");
		fprintf(fp_help, "  Graph generation:\n");
		fprintf(fp_help, "    --ggen       perform incremental graph generation\n");
		fprintf(fp_help, "    -q INT       min mapping quality [%d]\n", gpt.min_mapq);
		fprintf(fp_help, "    -l NUM       min alignment length [%d]\n", gpt.min_map_len);
		fprintf(fp_help, "    -d NUM       min alignment length for depth calculation [%d]\n", gpt.min_depth_len);
		fprintf(fp_help, "    -L INT       min variant length [%d]\n", gpt.min_var_len);
		fprintf(fp_help, "    --call       call the graph path in each bubble and output BED\n");
		fprintf(fp_help, "  Input/output:\n");
		fprintf(fp_help, "    -t INT       number of threads [%d]\n", n_threads);
		fprintf(fp_help, "    -o FILE      output mappings to FILE [stdout]\n");
		fprintf(fp_help, "    -K NUM       minibatch size for mapping [500M]\n");
		fprintf(fp_help, "    -S           output linear chains in * sName sLen nMz div sStart sEnd qStart qEnd\n");
		fprintf(fp_help, "    --vc         output in the vertex coordinate\n");
		fprintf(fp_help, "  Preset:\n");
		fprintf(fp_help, "    -x STR       preset []\n");
		fprintf(fp_help, "                 - lr: noisy long read mapping (the default)\n");
		fprintf(fp_help, "                 - asm: asm-to-ref mapping\n");
		fprintf(fp_help, "                 - sr: short reads\n");
		fprintf(fp_help, "                 - ggs: incremental graph generation\n");
		return fp_help == stdout? 0 : 1;
	}

	g = gfa_read(argv[o.ind]);
	if (g == 0) {
		fprintf(stderr, "[ERROR] failed to load the graph from file '%s'\n", argv[o.ind]);
		return 1;
	} else if (mg_verbose >= 3) {
		fprintf(stderr, "[M::%s::%.3f*%.2f] loaded the graph from \"%s\"\n", __func__, realtime() - mg_realtime0, cputime() / (realtime() - mg_realtime0), argv[o.ind]);
	}

	if (gpt.algo == MG_G_NONE && !(gpt.flag & MG_G_CALL)) {
		ret = mg_map_files(g, argc - (o.ind + 1), (const char**)&argv[o.ind + 1], &ipt, &opt, n_threads);
	} else {
		if (gpt.flag & MG_G_CALL) gfa_sort_ref_arc(g);
		ret = mg_ggen(g, argc - (o.ind + 1), (const char**)&argv[o.ind + 1], &ipt, &opt, &gpt, n_threads);
	}

	if ((gpt.algo != MG_G_NONE || (opt.flag & MG_M_CAL_COV)) && !(gpt.flag & MG_G_CALL))
		gfa_print(g, stdout, 0);
	gfa_destroy(g);

	if (fflush(stdout) == EOF) {
		fprintf(stderr, "[ERROR] failed to write the results\n");
		exit(EXIT_FAILURE);
	}

	if (mg_verbose >= 3) {
		fprintf(stderr, "[M::%s] Version: %s\n", __func__, MG_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__, realtime() - mg_realtime0, cputime(), peakrss() / 1024.0 / 1024.0 / 1024.0);
	}
	return !!ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
movq %rsi, %r14
movl %edi, %r15d
movups 0x5c6b(%rip), %xmm0     # 0x2b620
leaq 0x10(%rsp), %rbx
movaps %xmm0, 0x10(%rbx)
movups 0x5c4b(%rip), %xmm0     # 0x2b610
movaps %xmm0, (%rbx)
movq 0xc629(%rip), %rax      # 0x31ff8
movq (%rax), %rax
movq %rax, 0x120(%rsp)
leaq 0xca1f(%rip), %rax      # 0x32400
movl $0x3, (%rax)
leaq 0x78(%rsp), %r12
movl $0x9, %edi
movq %r12, %rsi
callq 0x2350
movq 0x8(%r12), %rax
movq %rax, (%r12)
movl $0x9, %edi
movq %r12, %rsi
callq 0x22a0
callq 0x42a5
leaq 0xcc65(%rip), %rax      # 0x32680
movsd %xmm0, (%rax)
leaq 0x34(%rsp), %rsi
leaq 0x78(%rsp), %rdx
leaq 0x40(%rsp), %rcx
xorl %edi, %edi
callq 0x10234
movq %rbx, %rdi
movl %r15d, %esi
movq %r14, %rdx
callq 0x27353
testl %eax, %eax
js 0x25aa0
leaq 0x34(%rsp), %r13
leaq 0x78(%rsp), %rbp
leaq 0x40(%rsp), %rbx
leaq 0x10(%rsp), %r12
cmpl $0x78, %eax
je 0x25a73
cmpl $0x3a, %eax
je 0x272f8
cmpl $0x3f, %eax
jne 0x25a8e
jmp 0x272d4
movq 0x18(%rsp), %rdi
movq %r13, %rsi
movq %rbp, %rdx
movq %rbx, %rcx
callq 0x10234
testl %eax, %eax
js 0x272ff
movq %r12, %rdi
movl %r15d, %esi
movq %r14, %rdx
callq 0x27353
testl %eax, %eax
jns 0x25a5b
leaq 0x10(%rsp), %rdi
movups 0x5b74(%rip), %xmm0     # 0x2b620
movaps %xmm0, 0x10(%rdi)
movupd 0x5b58(%rip), %xmm0     # 0x2b610
movapd %xmm0, (%rdi)
movl %r15d, %esi
movq %r14, %rdx
callq 0x27353
testl %eax, %eax
js 0x26d73
movl $0x4, 0x30(%rsp)
leaq 0x4ea2(%rip), %r12      # 0x2a980
leaq 0x10(%rsp), %r13
leaq 0x4f66(%rip), %rbp      # 0x2aa50
leal -0x12c(%rax), %ecx
cmpl $0x1d, %ecx
jbe 0x25b10
leal -0x44(%rax), %ecx
cmpl $0x33, %ecx
ja 0x25b24
movslq (%r12,%rcx,4), %rax
addq %r12, %rax
jmpq *%rax
orb $0x40, 0x7a(%rsp)
jmp 0x267e0
movslq (%rbp,%rcx,4), %rax
addq %rbp, %rax
jmpq *%rax
orb $0x8, 0x79(%rsp)
jmp 0x267e0
addl $0xfffffe6f, %eax       # imm = 0xFFFFFE6F
cmpl $0x8, %eax
ja 0x267e0
leaq 0x4f8f(%rip), %rcx      # 0x2aac8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xcb2f(%rip), %rax      # 0x32678
orb $0x1, (%rax)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0xd8(%rsp)
jmp 0x267e0
orb $0x8, 0x40(%rsp)
orb $0x2, 0x7b(%rsp)
jmp 0x267e0
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x40(%rsp), %rbp
leaq 0x5a40(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25bba
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x266d6
cmpl $0x79, %eax
jne 0x26d2b
cmpb $0x0, 0x1(%r12)
jne 0x26d2b
andq $-0x5, %rbp
jmp 0x26771
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x2680d
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26805
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x267fb
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x2680d
mulsd 0x4d3d(%rip), %xmm0     # 0x2a968
jmp 0x2680d
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x118(%rsp)
jmp 0x267e0
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x78(%rsp), %rbp
leaq 0x5970(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25c8a
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x266fb
cmpl $0x79, %eax
jne 0x26d37
cmpb $0x0, 0x1(%r12)
jne 0x26d37
orq $0x8000, %rbp           # imm = 0x8000
jmp 0x267cd
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x68(%rsp)
jmp 0x267e0
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x78(%rsp), %rbp
leaq 0x5907(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25cf3
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x26726
cmpl $0x79, %eax
jne 0x26d43
cmpb $0x0, 0x1(%r12)
jne 0x26d43
orq $0x100000, %rbp         # imm = 0x100000
jmp 0x267cd
orb $-0x40, 0x78(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26835
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x2682d
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26823
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26835
mulsd 0x4bf7(%rip), %xmm0     # 0x2a968
jmp 0x26835
orb $0x20, 0x7a(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x5c(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rbx
testq %rbx, %rbx
je 0x25dcb
leaq 0x4e14(%rip), %rsi      # 0x2abb8
movq %rbx, %rdi
callq 0x21f0
testl %eax, %eax
je 0x26c72
leaq 0x457e(%rip), %rsi      # 0x2a339
movq %rbx, %rdi
callq 0x21f0
testl %eax, %eax
jne 0x2732e
movl $0x1, 0x48(%rsp)
jmp 0x267e0
orq $0x1800000, 0x78(%rsp)  # imm = 0x1800000
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x64(%rsp)
jmp 0x267e0
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x40(%rsp), %rbp
leaq 0x57bd(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25e3d
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x2674e
cmpl $0x79, %eax
jne 0x26d4f
cmpb $0x0, 0x1(%r12)
jne 0x26d4f
orq $0x1, %rbp
jmp 0x26771
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x78(%rsp), %rbp
leaq 0x5770(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25e8a
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x2677f
cmpl $0x79, %eax
jne 0x26d5b
cmpb $0x0, 0x1(%r12)
jne 0x26d5b
orq $0x2000, %rbp           # imm = 0x2000
jmp 0x267cd
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26867
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x2685f
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x2684b
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26867
mulsd 0x4a6a(%rip), %xmm0     # 0x2a968
jmp 0x26867
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x108(%rsp)
jmp 0x267e0
movl 0x20(%rsp), %ebx
movq 0x18(%rsp), %r12
movq 0x78(%rsp), %rbp
leaq 0x569d(%rip), %rsi      # 0x2b5cb
movq %r12, %rdi
callq 0x21f0
testl %eax, %eax
je 0x25f5d
movzbl (%r12), %eax
cmpl $0x6e, %eax
je 0x267a7
cmpl $0x79, %eax
jne 0x26d67
cmpb $0x0, 0x1(%r12)
jne 0x26d67
orq $0x400, %rbp            # imm = 0x400
jmp 0x267cd
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26888
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26880
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26855
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26888
mulsd 0x4997(%rip), %xmm0     # 0x2a968
jmp 0x26888
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc8(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x268bd
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x268b5
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x268a1
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x268bd
mulsd 0x490e(%rip), %xmm0     # 0x2a968
jmp 0x268bd
orq $0x2004000, 0x78(%rsp)  # imm = 0x2004000
orb $0x2, 0x40(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x268df
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x268d7
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x268ab
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x268df
mulsd 0x488e(%rip), %xmm0     # 0x2a968
jmp 0x268df
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0xd0(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x104(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26914
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x2690c
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x268f8
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26914
mulsd 0x47ef(%rip), %xmm0     # 0x2a968
jmp 0x26914
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rdi
movzbl (%rdi), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26938
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x2692d
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26902
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26938
mulsd 0x4782(%rip), %xmm0     # 0x2a968
jmp 0x26935
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x58(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x269e6
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x269de
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x269c0
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x269e6
mulsd 0x4702(%rip), %xmm0     # 0x2a968
jmp 0x269e6
orb $-0x80, 0x7a(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0x9c(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26a0e
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26a06
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x269ca
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26a0e
mulsd 0x466f(%rip), %xmm0     # 0x2a968
jmp 0x26a0e
orb $0x10, 0x79(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26a2f
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26a27
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x269d4
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26a2f
mulsd 0x45f8(%rip), %xmm0     # 0x2a968
jmp 0x26a2f
movq 0x18(%rsp), %rdi
cmpb $0x2d, (%rdi)
jne 0x26389
cmpb $0x0, 0x1(%rdi)
je 0x267e0
movq 0xbc48(%rip), %rax      # 0x31fd8
movq (%rax), %rdx
leaq 0x47df(%rip), %rsi      # 0x2ab79
callq 0x2190
testq %rax, %rax
jne 0x267e0
jmp 0x27349
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rdi
movzbl (%rdi), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26a7b
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26a70
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x269fc
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26a7b
mulsd 0x4553(%rip), %xmm0     # 0x2a968
jmp 0x26a78
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xf8(%rsp)
jmp 0x267e0
orb $0x4, 0x7b(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26b0b
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26b03
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26a49
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26b0b
mulsd 0x44c0(%rip), %xmm0     # 0x2a968
jmp 0x26b0b
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rdi
movzbl (%rdi), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26b2f
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26b24
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26a56
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26b2f
mulsd 0x4453(%rip), %xmm0     # 0x2a968
jmp 0x26b2c
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26bbf
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26bb7
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26a63
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26bbf
mulsd 0x43e6(%rip), %xmm0     # 0x2a968
jmp 0x26bbf
movq 0x18(%rsp), %rdi
callq 0x20e0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc4(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x4c(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x38(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x30(%rsp)
jmp 0x267e0
movq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rdi
movzbl (%rdi), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26bea
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26bdf
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26bd5
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26bea
mulsd 0x4324(%rip), %xmm0     # 0x2a968
jmp 0x26be7
movq 0x18(%rsp), %rdi
callq 0x2310
movl %eax, 0x34(%rsp)
jmp 0x267e0
leaq 0xc015(%rip), %rax      # 0x32678
orb $0x20, (%rax)
jmp 0x267e0
leaq 0xc006(%rip), %rax      # 0x32678
orb $0x8, (%rax)
jmp 0x267e0
leaq 0xbff7(%rip), %rax      # 0x32678
orb $0x10, (%rax)
jmp 0x267e0
leaq 0xbfe8(%rip), %rax      # 0x32678
orb $0x1, 0x1(%rax)
jmp 0x267e0
leaq 0xbfd8(%rip), %rax      # 0x32678
orb $0x2, (%rax)
jmp 0x267e0
leaq 0xbfc9(%rip), %rax      # 0x32678
orb $0x40, (%rax)
jmp 0x267e0
leaq 0xbfba(%rip), %rax      # 0x32678
orb $-0x80, (%rax)
jmp 0x267e0
leaq 0xbfab(%rip), %rax      # 0x32678
orb $0x2, 0x1(%rax)
jmp 0x267e0
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x266f5
cmpl $0x6f, %eax
jne 0x26d2b
cmpb $0x0, 0x2(%r12)
jne 0x26d2b
orq $0x4, %rbp
jmp 0x26771
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x2671a
cmpl $0x6f, %eax
jne 0x26d37
cmpb $0x0, 0x2(%r12)
jne 0x26d37
andq $-0x8001, %rbp          # imm = 0xFFFF7FFF
jmp 0x267cd
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x26745
cmpl $0x6f, %eax
jne 0x26d43
cmpb $0x0, 0x2(%r12)
jne 0x26d43
andq $-0x100001, %rbp        # imm = 0xFFEFFFFF
jmp 0x267cd
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x2676d
cmpl $0x6f, %eax
jne 0x26d4f
cmpb $0x0, 0x2(%r12)
jne 0x26d4f
andq $-0x2, %rbp
leaq 0x4208(%rip), %r12      # 0x2a980
movq %rbp, 0x40(%rsp)
jmp 0x267d9
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x2679e
cmpl $0x6f, %eax
jne 0x26d5b
cmpb $0x0, 0x2(%r12)
jne 0x26d5b
andq $-0x2001, %rbp          # imm = 0xDFFF
jmp 0x267cd
movzbl 0x1(%r12), %eax
testl %eax, %eax
je 0x267c6
cmpl $0x6f, %eax
jne 0x26d67
cmpb $0x0, 0x2(%r12)
jne 0x26d67
andq $-0x401, %rbp           # imm = 0xFBFF
leaq 0x41ac(%rip), %r12      # 0x2a980
movq %rbp, 0x78(%rsp)
leaq 0x4270(%rip), %rbp      # 0x2aa50
movq %r13, %rdi
movl %r15d, %esi
movq %r14, %rdx
callq 0x27353
testl %eax, %eax
jns 0x25aea
jmp 0x26d7b
mulsd 0x415d(%rip), %xmm0     # 0x2a960
jmp 0x2680d
mulsd 0x4163(%rip), %xmm0     # 0x2a970
addsd 0x2c9b(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xa8(%rsp)
jmp 0x267e0
mulsd 0x4135(%rip), %xmm0     # 0x2a960
jmp 0x26835
mulsd 0x413b(%rip), %xmm0     # 0x2a970
addsd 0x2c73(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xb4(%rsp)
jmp 0x267e0
mulsd 0x410d(%rip), %xmm0     # 0x2a960
jmp 0x26867
mulsd 0x4103(%rip), %xmm0     # 0x2a960
jmp 0x26888
mulsd 0x4109(%rip), %xmm0     # 0x2a970
addsd 0x2c41(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xec(%rsp)
jmp 0x267e0
mulsd 0x40e8(%rip), %xmm0     # 0x2a970
addsd 0x2c20(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x11c(%rsp)
jmp 0x267e0
mulsd 0x40b7(%rip), %xmm0     # 0x2a960
jmp 0x268bd
mulsd 0x40ad(%rip), %xmm0     # 0x2a960
jmp 0x268df
mulsd 0x40b3(%rip), %xmm0     # 0x2a970
addsd 0x2beb(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movq %rax, 0x110(%rsp)
jmp 0x267e0
mulsd 0x4091(%rip), %xmm0     # 0x2a970
addsd 0x2bc9(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xd4(%rsp)
jmp 0x267e0
mulsd 0x4060(%rip), %xmm0     # 0x2a960
jmp 0x26914
mulsd 0x4056(%rip), %xmm0     # 0x2a960
jmp 0x26935
mulsd 0x405c(%rip), %xmm0     # 0x2a970
addsd 0x2b94(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xb8(%rsp)
jmp 0x267e0
mulsd 0x403b(%rip), %xmm0     # 0x2a970
incq %rdi
addsd 0x2b70(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xe8(%rsp)
cmpb $0x2c, (%rdi)
jne 0x267e0
incq %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26c91
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26c89
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26c7f
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26c91
mulsd 0x3fad(%rip), %xmm0     # 0x2a968
jmp 0x26c91
mulsd 0x3f98(%rip), %xmm0     # 0x2a960
jmp 0x269e6
mulsd 0x3f8e(%rip), %xmm0     # 0x2a960
jmp 0x26a0e
mulsd 0x3f84(%rip), %xmm0     # 0x2a960
jmp 0x26a2f
mulsd 0x3f8a(%rip), %xmm0     # 0x2a970
addsd 0x2ac2(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x50(%rsp)
jmp 0x267e0
mulsd 0x3f5c(%rip), %xmm0     # 0x2a960
jmp 0x26a78
mulsd 0x3f62(%rip), %xmm0     # 0x2a970
addsd 0x2a9a(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xc0(%rsp)
jmp 0x267e0
mulsd 0x3f41(%rip), %xmm0     # 0x2a970
addsd 0x2a79(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movq %rax, 0x80(%rsp)
jmp 0x267e0
mulsd 0x3f0f(%rip), %xmm0     # 0x2a960
jmp 0x26b0b
mulsd 0x3f02(%rip), %xmm0     # 0x2a960
jmp 0x26b2c
mulsd 0x3ef5(%rip), %xmm0     # 0x2a960
jmp 0x26bbf
mulsd 0x3ef8(%rip), %xmm0     # 0x2a970
incq %rdi
addsd 0x2a2d(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xe4(%rsp)
cmpb $0x2c, (%rdi)
jne 0x267e0
incq %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26cc6
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26cbe
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26caa
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26cc6
mulsd 0x3e6a(%rip), %xmm0     # 0x2a968
jmp 0x26cc6
mulsd 0x3e65(%rip), %xmm0     # 0x2a970
addsd 0x299d(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x100(%rsp)
jmp 0x267e0
mulsd 0x3e44(%rip), %xmm0     # 0x2a970
incq %rdi
addsd 0x2979(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x94(%rsp)
cmpb $0x2c, (%rdi)
jne 0x267e0
incq %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26ce7
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26cdf
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26cb4
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26ce7
mulsd 0x3db6(%rip), %xmm0     # 0x2a968
jmp 0x26ce7
mulsd 0x3db1(%rip), %xmm0     # 0x2a970
addsd 0x28e9(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x54(%rsp)
jmp 0x267e0
mulsd 0x3d83(%rip), %xmm0     # 0x2a960
jmp 0x26be7
mulsd 0x3d89(%rip), %xmm0     # 0x2a970
incq %rdi
addsd 0x28be(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xa0(%rsp)
cmpb $0x2c, (%rdi)
jne 0x267e0
incq %rdi
leaq 0x8(%rsp), %rbx
movq %rbx, %rsi
callq 0x20c0
movq (%rbx), %rax
movzbl (%rax), %eax
addl $-0x47, %eax
cmpl $0x26, %eax
ja 0x26d12
movabsq $0x100000001, %rcx      # imm = 0x100000001
btq %rax, %rcx
jb 0x26d0a
movabsq $0x1000000010, %rcx     # imm = 0x1000000010
btq %rax, %rcx
jb 0x26d00
movabsq $0x4000000040, %rcx     # imm = 0x4000000040
btq %rax, %rcx
jae 0x26d12
mulsd 0x3cfb(%rip), %xmm0     # 0x2a968
jmp 0x26d12
movl $0x0, 0x48(%rsp)
jmp 0x267e0
mulsd 0x3cd9(%rip), %xmm0     # 0x2a960
jmp 0x26c91
mulsd 0x3cdf(%rip), %xmm0     # 0x2a970
addsd 0x2817(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xe0(%rsp)
jmp 0x267e0
mulsd 0x3cae(%rip), %xmm0     # 0x2a960
jmp 0x26cc6
mulsd 0x3ca4(%rip), %xmm0     # 0x2a960
jmp 0x26ce7
mulsd 0x3caa(%rip), %xmm0     # 0x2a970
addsd 0x27e2(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xdc(%rsp)
jmp 0x267e0
mulsd 0x3c89(%rip), %xmm0     # 0x2a970
addsd 0x27c1(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0x98(%rsp)
jmp 0x267e0
mulsd 0x3c58(%rip), %xmm0     # 0x2a960
jmp 0x26d12
mulsd 0x3c5e(%rip), %xmm0     # 0x2a970
addsd 0x2796(%rip), %xmm0     # 0x294b0
cvttsd2si %xmm0, %rax
movl %eax, 0xa4(%rsp)
jmp 0x267e0
movl %ebx, %edi
callq 0x2b3a
jmp 0x26771
movl %ebx, %edi
callq 0x2b6d
jmp 0x267cd
movl %ebx, %edi
callq 0x2ba0
jmp 0x267cd
movl %ebx, %edi
callq 0x2c06
jmp 0x26771
movl %ebx, %edi
callq 0x2c39
jmp 0x267cd
movl %ebx, %edi
callq 0x2bd3
jmp 0x267cd
movl $0x4, 0x30(%rsp)
leaq 0x34(%rsp), %rdi
leaq 0x78(%rsp), %rsi
leaq 0x40(%rsp), %rdx
callq 0x104a0
movb $0x1, %bpl
testl %eax, %eax
js 0x26ecb
cmpl $0x1, 0x48(%rsp)
jne 0x26dac
testb $0x4, 0x7b(%rsp)
je 0x27311
movslq 0x10(%rsp), %rax
movq 0xb220(%rip), %r12      # 0x31fd8
cmpl %r15d, %eax
movq 0x120(%rsp), %rbx
leaq 0xb636(%rip), %r13      # 0x32400
je 0x26ee1
cmpq (%r12), %rbx
je 0x26ee1
movq (%r14,%rax,8), %rdi
callq 0x882b
testq %rax, %rax
je 0x2728c
movq %rax, %rbx
cmpl $0x3, (%r13)
jge 0x272b2
cmpl $0x0, 0x48(%rsp)
movq 0x40(%rsp), %rax
je 0x26e0c
testb $0x8, %al
je 0x26e47
jmp 0x26e3f
testb $0x8, %al
jne 0x26e3f
movslq 0x10(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %r15d, %esi
subl %ecx, %esi
leaq (%r14,%rax,8), %rdx
addq $0x8, %rdx
leaq 0x34(%rsp), %rcx
leaq 0x78(%rsp), %r8
movq %rbx, %rdi
movl 0x30(%rsp), %r9d
callq 0x2155e
jmp 0x26e7b
movq %rbx, %rdi
callq 0xa571
movslq 0x10(%rsp), %rax
leaq 0x1(%rax), %rcx
movl %r15d, %esi
subl %ecx, %esi
leaq (%r14,%rax,8), %rdx
addq $0x8, %rdx
movl 0x30(%rsp), %eax
movl %eax, (%rsp)
leaq 0x34(%rsp), %rcx
leaq 0x78(%rsp), %r8
leaq 0x40(%rsp), %r9
movq %rbx, %rdi
callq 0x24c69
movl %eax, %ebp
cmpl $0x0, 0x48(%rsp)
jne 0x26e8b
testb $0x40, 0x79(%rsp)
je 0x26ea0
testb $0x8, 0x40(%rsp)
jne 0x26ea0
movq (%r12), %rsi
movq %rbx, %rdi
xorl %edx, %edx
callq 0x8d0d
movq %rbx, %rdi
callq 0x489f
movq (%r12), %rdi
callq 0x2290
cmpl $-0x1, %eax
je 0x27344
cmpl $0x3, (%r13)
jge 0x272c4
testl %ebp, %ebp
setne %bpl
movzbl %bpl, %eax
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3d56(%rip), %rdi      # 0x2ac3e
movl $0x39, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x3d77(%rip), %rdi      # 0x2ac78
movl $0x9, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x3d68(%rip), %rdi      # 0x2ac82
movl $0xc, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
movl 0x38(%rsp), %edx
leaq 0x3d58(%rip), %rsi      # 0x2ac8f
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0x34(%rsp), %edx
leaq 0x3d79(%rip), %rsi      # 0x2acc5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
leaq 0x3d93(%rip), %rdi      # 0x2acf0
movl $0xb, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x3d86(%rip), %rdi      # 0x2acfc
movl $0x35, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
xorps %xmm0, %xmm0
cvtss2sd 0x9c(%rsp), %xmm0
leaq 0x3d97(%rip), %rsi      # 0x2ad32
movq %rbx, %rdi
movb $0x1, %al
callq 0x2210
movl 0x94(%rsp), %edx
movl 0x98(%rsp), %ecx
leaq 0x3dc2(%rip), %rsi      # 0x2ad7c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
xorps %xmm0, %xmm0
cvtss2sd 0xc4(%rsp), %xmm0
leaq 0x3dfe(%rip), %rsi      # 0x2add5
movq %rbx, %rdi
movb $0x1, %al
callq 0x2210
movl 0xb8(%rsp), %edx
leaq 0x3e1a(%rip), %rsi      # 0x2ae09
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0xc0(%rsp), %edx
leaq 0x3e55(%rip), %rsi      # 0x2ae5c
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0xa0(%rsp), %edx
movl 0xa4(%rsp), %ecx
leaq 0x3e8f(%rip), %rsi      # 0x2aeb5
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0xdc(%rsp), %ecx
movl 0xe4(%rsp), %edx
leaq 0x3eb3(%rip), %rsi      # 0x2aef8
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0xe0(%rsp), %ecx
movl 0xe8(%rsp), %edx
leaq 0x3ee3(%rip), %rsi      # 0x2af47
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
xorps %xmm0, %xmm0
cvtss2sd 0x104(%rsp), %xmm0
leaq 0x3f04(%rip), %rsi      # 0x2af85
movq %rbx, %rdi
movb $0x1, %al
callq 0x2210
movl 0x100(%rsp), %edx
leaq 0x3f28(%rip), %rsi      # 0x2afc1
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
leaq 0x3f54(%rip), %rdi      # 0x2affe
movl $0x2c, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x3f68(%rip), %rdi      # 0x2b02b
movl $0x14, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x3f64(%rip), %rdi      # 0x2b040
movl $0x36, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
movl 0x4c(%rsp), %edx
leaq 0x3f7e(%rip), %rsi      # 0x2b077
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0x50(%rsp), %edx
leaq 0x3f94(%rip), %rsi      # 0x2b0a2
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0x54(%rsp), %edx
leaq 0x3fab(%rip), %rsi      # 0x2b0ce
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
movl 0x58(%rsp), %edx
leaq 0x3fd8(%rip), %rsi      # 0x2b110
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2210
leaq 0x3ff1(%rip), %rdi      # 0x2b13a
movl $0x43, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x401c(%rip), %rdi      # 0x2b17e
movl $0x10, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x4014(%rip), %rsi      # 0x2b18f
movq %rbx, %rdi
movl 0x30(%rsp), %edx
xorl %eax, %eax
callq 0x2210
leaq 0x4028(%rip), %rdi      # 0x2b1b8
movl $0x32, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x4042(%rip), %rdi      # 0x2b1eb
movl $0x33, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x405d(%rip), %rdi      # 0x2b21f
movl $0x56, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x409b(%rip), %rdi      # 0x2b276
movl $0x31, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40b4(%rip), %rdi      # 0x2b2a8
movl $0xa, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40a6(%rip), %rdi      # 0x2b2b3
movl $0x1b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40a9(%rip), %rdi      # 0x2b2cf
movl $0x3d, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40ce(%rip), %rdi      # 0x2b30d
movl $0x2b, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40e1(%rip), %rdi      # 0x2b339
movl $0x23, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
leaq 0x40ec(%rip), %rdi      # 0x2b35d
movl $0x35, %esi
movl $0x1, %edx
movq %rbx, %rcx
callq 0x2340
cmpq (%r12), %rbx
jmp 0x26ec7
movq 0xad65(%rip), %rax      # 0x31ff8
movq (%rax), %rdi
movslq 0x10(%rsp), %rax
movq (%r14,%rax,8), %rdx
leaq 0x40ed(%rip), %rsi      # 0x2b393
xorl %eax, %eax
callq 0x2210
jmp 0x26ecb
leaq 0x10(%rsp), %rdi
movq %r14, %rsi
callq 0x2cb5
jmp 0x26dfa
movl %r15d, %edi
movq %r14, %rsi
callq 0x2d39
jmp 0x26ec5
movq 0xad1d(%rip), %rax      # 0x31ff8
movq (%rax), %rdi
movslq 0x24(%rsp), %rax
movq -0x8(%r14,%rax,8), %rdx
leaq 0x386a(%rip), %rsi      # 0x2ab59
xorl %eax, %eax
callq 0x2210
jmp 0x27309
callq 0x2af4
jmp 0x27309
leaq 0x18(%rsp), %rdi
callq 0x2b16
movb $0x1, %bpl
jmp 0x26ecb
callq 0x2c93
jmp 0x26dac
leaq 0x38cb(%rip), %rdi      # 0x2abed
callq 0x2090
xorl %ebp, %ebp
jmp 0x26ecb
movq 0xacc3(%rip), %rax      # 0x31ff8
movq (%rax), %rdi
leaq 0x387e(%rip), %rsi      # 0x2abbd
movq %rbx, %rdx
jmp 0x272ef
callq 0x2e28
leaq 0x18(%rsp), %rdi
callq 0x2c6c