// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Modex/Src/modex.c
// Function: BldCmds
int
BldCmds(int argc, char **argv)
{	char *arg;

	argc--; 
	argv++;

	while(argc-- > 0)
	{	arg = *argv++;

		if (arg[0] == '-')
		{	if (strncmp(arg, "-dynamic", strlen("-dynamic")) == 0)
			{	if (isdigit((int) *(arg+strlen("-dynamic"))))
				{	dynamic = atoi(arg+(int)strlen("-dynamic"));
					if (dynamic > 250)
					{	dynamic = 250;
					} else if (dynamic < 1)
					{	dynamic = 1;
					}
				//	printf("modex: max nr of threads: %d\n", dynamic);
				} else
				{	dynamic = 250;
				}
				continue;
			} else if (strcmp(arg, "-parsetree") == 0) /* dot output of parsetree */
			{	predot = 1;
				do_dflow=1;
				continue;
			} else if (strcmp(arg, "-cfg") == 0)	/* dot output control flow graph */
			{	preview     = 2;
				do_dflow    = 1;
				sysoverride = 1;
				continue;
			} else if (strcmp(arg, "-fcg") == 0)	/* dot output fct call graph */
			{	preview     = 3;
				do_dflow    = 1;
				sysoverride = 1;
				continue;
			} else if (strcmp(arg, "-nopre") == 0)
			{	nopre = 1;
				continue;
			} else if (strcmp(arg, "-nostructs") == 0)
			{	nostructs = 1;
				continue;
			} else if (strcmp(arg, "-master") == 0)
			{	master_dfn = (char *) e_malloc(strlen(*argv)+1);
				strcpy(master_dfn, *argv);
				continue;
			} else if (strcmp(arg, "-defuse") == 0)
			{	do_dflow = 1;
				du_mode = 1;
				continue;
			} else if (strcmp(arg, "-heapsize") == 0)
			{	spin_heap_size = atoi(*argv);
				argc--; argv++;
				continue;
			} else if (strcmp(arg, "-run") == 0)
			{	tagrun = 1;
				continue;
			} else if (strcmp(arg, "-printf") == 0)
			{	add_printfs = 1;
				continue;
			}

			nrprocs = nrprocs_default;

			switch (arg[1]) {
			case 'x':
				want = "all";
				hasaction = 1;
				// fall thru
				if (isdigit((int) arg[strlen(arg)-1]))
				{	nrprocs = atoi(&arg[strlen(arg)-1]);
				} else
				{	nrprocs = nrprocs_default;
				}
			default:
				new_cmd(arg[1], arg, 1);
				break;

			/* commands with arguments */
			case 'a':
			case 'e':	/* -e or -eN or -ex */
			case 'N':
				if (isdigit((int) arg[2]))
				{	nrprocs = atoi(&arg[2]);
				} else
				{	nrprocs = 1;
				}
				if (arg[1] == 'N')
				{	nrprocs_default = nrprocs;
					break;
				}
				// fall thru
			case 'E':
			case 'f':
			case 'n':
			case 'i':
			case 'p':
				want = *argv;
				hasaction = 1;
				// fall thru
			case 'L':
			case 'M':
			case 'm':
			case 'b':
				if (!*argv)
				{	Usage("modex");
				}
				if (*argv != NULL && strchr(*argv, ',') != NULL)
				{	expand_cmd(arg[1], *argv, 20);
				} else
				{	new_cmd(arg[1], *argv, 2); // argv points to next arg
				}
				argc--; argv++;
				break;

			/* immediate commands */
			case 'C': show_code  = do_dflow = allprocs = 1; break;
			case 'X': show_deps  = do_dflow = allprocs = 1; break;
			case 'F': show_funcs = do_dflow = allprocs = 1; break;
			case 's': show_syms  = do_dflow = allprocs = 1; break;

			case 'q':
				if (arg[2] != '\0' && isdigit((int) arg[2]))
				{	quality = atoi(&arg[2]);
				} else
				{	if (isdigit((int) *argv[0]))
					{	quality = atoi(*argv);
					} else
					{	Usage("bad q flag parameter");
				}	}
				break;

			case 'O': /* -O "-DMEMLIM=8000 -O2" etc. compiler directives for pan.c */
				if (strlen(optimized) > 0)
				{	Usage("modex: multiple use of -O");
				}
				if (isdigit((int) arg[2]))	/* e.g., a plain -O3 */
				{	optimized = (char *) e_malloc(strlen(arg)+1);
					strcpy(optimized, arg);	/* older version */
					break;
				}
				/* new 2.6 */
				arg = *argv;	/* next argument */
				if (arg)
				{	while (*arg == ' ' || *arg == '\t')
					{	arg++;
					}
					optimized = (char *) e_malloc(strlen(arg)+1);
					strcpy(optimized, arg);
					argc--; argv++;
				} else
				{	Usage("modex");
				}
				break;

			case 'Q':	/* source compilation e.g.: -Q "-DDEBUG -I. -IPublic" */
				if (strlen(preproc_info) > 0)
				{	Usage("modex: multiple use of -Q");
				}
				arg = *argv;	/* next argument */
				if (arg)
				{	while (*arg == ' ' || *arg == '\t')
					{	arg++;
					}
					preproc_info = (char *) e_malloc(strlen(arg)+1);
					strcpy(preproc_info, arg);
					argc--; argv++;
				} else
				{	Usage("modex");
				}
				break;
			case 'R':	/* pan runtime flags, e.g.: -R "-E" */
				arg = *argv;
				if (arg)
				{	while (*arg == ' ' || *arg == '\t')
					{	arg++;
					}
					runtime = (char *) e_malloc(strlen(arg)+2);
					strcpy(runtime, arg);
					strcat(runtime, " ");
					argc--; argv++;
				} else
				{	Usage("modex");
				}
				break;
			case 'T':	/* e.g.: -T "s;replace;with;g" or %T sed "...." */
				arg = *argv;
				if (arg)
				{	char *tmp;
					while (*arg == ' ' || *arg == '\t')
					{	arg++;
					}
					tmp = (char *) e_malloc(strlen(sedproc_info) + strlen(arg)+1+6+3);
					// 6 = "sed '' 3=" | "
					sprintf(tmp, "%s | sed '%s'", sedproc_info, arg);
					sedproc_info = tmp;
					argc--; argv++;
				} else
				{	Usage("modex");
				}
				break;

			case 'U':	/* undefine symbol */
			case 'D':	/* define symbol */
			case 'I':	/* set include directory */
				if (strlen(preproc_info) == 0)
				{	preproc_info = (char *) e_malloc(strlen(arg)+1);
					strcpy(preproc_info, arg);
				} else
				{	char *pp = (char *) e_malloc(strlen(arg)+strlen(preproc_info)+1+1);
					strcpy(pp, preproc_info);
					strcat(pp, " ");
					strcat(pp, arg);
					preproc_info = pp;
				}
				/* printf("arg: <%s>\n", preproc_info); */
				break;

			case 'P':
				must_preprocess = 0;
				break;
			case 'Z':
				i_assert = 1 - i_assert;
				break;
			case 'z':
				sysoverride = 1 - sysoverride;
				break;
			case 'V':
				printf("%s\n", VERSION);
				exit(0);
			case 'Y':
				Verbose_cmds = 1;
				break;
			case 'v':
				Verbose = 1;	/* Verbose |= 2 or 4 for debugging verbosity */
				break;
			case 'w':
				Warnings = 1;
				break;
			case '?':
			case '-':
				Usage("modex");

			}
		} else if (arg)
		{	char *p;

			if (!preview
			||  ((p = strstr(arg, ".c")) != NULL
			&&   strcmp(p, ".c") == 0))
			{	if (Verbose_cmds)
				{	printf("-- setting file_name to %s\n", arg);
				}
				file_name = arg;
			}
			break;
		} else
			return 0;
	}

	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x8(%rbp)
cmpl $0x0, %eax
jle 0x7ef6
movq -0x10(%rbp), %rax
movq %rax, %rcx
addq $0x8, %rcx
movq %rcx, -0x10(%rbp)
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x7e81
movq -0x18(%rbp), %rdi
leaq 0x2ce6a(%rip), %rsi     # 0x342e3
movl $0x8, %edx
callq 0x4090
cmpl $0x0, %eax
jne 0x74fa
callq 0x4290
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl 0x8(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x74eb
movq -0x18(%rbp), %rdi
addq $0x8, %rdi
callq 0x4240
movl %eax, 0x40744(%rip)     # 0x47c00
cmpl $0xfa, 0x4073a(%rip)    # 0x47c00
jle 0x74d4
movl $0xfa, 0x4072e(%rip)    # 0x47c00
jmp 0x74e9
cmpl $0x1, 0x40725(%rip)     # 0x47c00
jge 0x74e7
movl $0x1, 0x40719(%rip)     # 0x47c00
jmp 0x74e9
jmp 0x74f5
movl $0xfa, 0x4070b(%rip)    # 0x47c00
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cde7(%rip), %rsi     # 0x342ec
callq 0x4180
cmpl $0x0, %eax
jne 0x7528
movl $0x1, 0x406eb(%rip)     # 0x47c04
movl $0x1, 0x406e5(%rip)     # 0x47c08
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cdc4(%rip), %rsi     # 0x342f7
callq 0x4180
cmpl $0x0, %eax
jne 0x7560
movl $0x2, 0x406c5(%rip)     # 0x47c0c
movl $0x1, 0x406b7(%rip)     # 0x47c08
movl $0x1, 0x406b5(%rip)     # 0x47c10
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cd91(%rip), %rsi     # 0x342fc
callq 0x4180
cmpl $0x0, %eax
jne 0x7598
movl $0x3, 0x4068d(%rip)     # 0x47c0c
movl $0x1, 0x4067f(%rip)     # 0x47c08
movl $0x1, 0x4067d(%rip)     # 0x47c10
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cd5e(%rip), %rsi     # 0x34301
callq 0x4180
cmpl $0x0, %eax
jne 0x75bc
movl $0x1, 0x4065d(%rip)     # 0x47c14
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cd41(%rip), %rsi     # 0x34308
callq 0x4180
cmpl $0x0, %eax
jne 0x75e0
movl $0x1, 0x4063d(%rip)     # 0x47c18
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cd28(%rip), %rsi     # 0x34313
callq 0x4180
cmpl $0x0, %eax
jne 0x762b
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x40f0
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x4060d(%rip)     # 0x47c20
movq 0x40606(%rip), %rdi     # 0x47c20
movq -0x10(%rbp), %rax
movq (%rax), %rsi
callq 0x40a0
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cce5(%rip), %rsi     # 0x3431b
callq 0x4180
cmpl $0x0, %eax
jne 0x7659
movl $0x1, 0x405be(%rip)     # 0x47c08
movl $0x1, 0x405d4(%rip)     # 0x47c28
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2ccbf(%rip), %rsi     # 0x34323
callq 0x4180
cmpl $0x0, %eax
jne 0x769a
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x4240
movl %eax, 0x3db38(%rip)     # 0x451b8
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cc88(%rip), %rsi     # 0x3432d
callq 0x4180
cmpl $0x0, %eax
jne 0x76be
movl $0x1, 0x40573(%rip)     # 0x47c2c
jmp 0x7434
movq -0x18(%rbp), %rdi
leaq 0x2cc69(%rip), %rsi     # 0x34332
callq 0x4180
cmpl $0x0, %eax
jne 0x76e2
movl $0x1, 0x40553(%rip)     # 0x47c30
jmp 0x7434
jmp 0x76e4
jmp 0x76e6
jmp 0x76e8
jmp 0x76ea
jmp 0x76ec
jmp 0x76ee
jmp 0x76f0
jmp 0x76f2
jmp 0x76f4
jmp 0x76f6
movl 0x3dad8(%rip), %eax     # 0x451d4
movl %eax, 0x3dace(%rip)     # 0x451d0
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
addl $-0x2d, %eax
movl %eax, %ecx
movq %rcx, -0x38(%rbp)
subl $0x4d, %eax
ja 0x77c0
movq -0x38(%rbp), %rax
leaq 0x2badd(%rip), %rcx     # 0x33204
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x2e584(%rip), %rax     # 0x35cbb
movq %rax, 0x3da3a(%rip)     # 0x45178
movl $0x1, 0x404ec(%rip)     # 0x47c34
callq 0x4290
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40f0
movq -0x48(%rbp), %rcx
movq %rax, %rdx
movq -0x40(%rbp), %rax
subq $0x1, %rdx
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x77b2
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40f0
movq -0x50(%rbp), %rdi
subq $0x1, %rax
addq %rax, %rdi
callq 0x4240
movl %eax, 0x3da20(%rip)     # 0x451d0
jmp 0x77be
movl 0x3da1c(%rip), %eax     # 0x451d4
movl %eax, 0x3da12(%rip)     # 0x451d0
jmp 0x77c0
movq -0x18(%rbp), %rax
movb 0x1(%rax), %al
movq -0x18(%rbp), %rsi
movl $0x1, %edx
movsbl %al, %edi
callq 0x7230
jmp 0x7e7f
callq 0x4290
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl 0x2(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x7813
movq -0x18(%rbp), %rdi
addq $0x2, %rdi
callq 0x4240
movl %eax, 0x3d9bf(%rip)     # 0x451d0
jmp 0x781d
movl $0x1, 0x3d9b3(%rip)     # 0x451d0
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x4e, %eax
jne 0x783b
movl 0x3d9a0(%rip), %eax     # 0x451d0
movl %eax, 0x3d99e(%rip)     # 0x451d4
jmp 0x7e7f
jmp 0x783d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, 0x3d92d(%rip)     # 0x45178
movl $0x1, 0x403df(%rip)     # 0x47c34
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x786b
leaq 0x2bd74(%rip), %rdi     # 0x335da
callq 0x6d60
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x78a9
movq -0x10(%rbp), %rax
movq (%rax), %rdi
movl $0x2c, %esi
callq 0x4110
cmpq $0x0, %rax
je 0x78a9
movq -0x18(%rbp), %rax
movb 0x1(%rax), %al
movq -0x10(%rbp), %rcx
movq (%rcx), %rsi
movl $0x14, %edx
movsbl %al, %edi
callq 0x7370
jmp 0x78c4
movq -0x18(%rbp), %rax
movb 0x1(%rax), %al
movq -0x10(%rbp), %rcx
movq (%rcx), %rsi
movl $0x2, %edx
movsbl %al, %edi
callq 0x7230
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7e7f
movl $0x1, 0x40350(%rip)     # 0x47c38
movl $0x1, 0x40316(%rip)     # 0x47c08
movl $0x1, 0x40340(%rip)     # 0x47c3c
jmp 0x7e7f
movl $0x1, 0x4032d(%rip)     # 0x47c38
movl $0x1, 0x402f3(%rip)     # 0x47c08
movl $0x1, 0x40321(%rip)     # 0x47c40
jmp 0x7e7f
movl $0x1, 0x4030a(%rip)     # 0x47c38
movl $0x1, 0x402d0(%rip)     # 0x47c08
movl $0x1, 0x40302(%rip)     # 0x47c44
jmp 0x7e7f
movl $0x1, 0x402e7(%rip)     # 0x47c38
movl $0x1, 0x402ad(%rip)     # 0x47c08
movl $0x1, 0x402e3(%rip)     # 0x47c48
jmp 0x7e7f
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x0, %eax
je 0x79ad
callq 0x4290
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl 0x2(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x79ad
movq -0x18(%rbp), %rdi
addq $0x2, %rdi
callq 0x4240
movl %eax, 0x3d82d(%rip)     # 0x451d8
jmp 0x79f2
callq 0x4290
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x79e4
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x4240
movl %eax, 0x3d7f6(%rip)     # 0x451d8
jmp 0x79f0
leaq 0x2c94f(%rip), %rdi     # 0x3433a
callq 0x6d60
jmp 0x79f2
jmp 0x7e7f
movq 0x3d7b2(%rip), %rdi     # 0x451b0
callq 0x40f0
cmpq $0x0, %rax
jbe 0x7a15
leaq 0x2c93f(%rip), %rdi     # 0x3434f
callq 0x6d60
callq 0x4290
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movsbl 0x2(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0x7a66
movq -0x18(%rbp), %rdi
callq 0x40f0
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x3d75f(%rip)     # 0x451b0
movq 0x3d758(%rip), %rdi     # 0x451b0
movq -0x18(%rbp), %rsi
callq 0x40a0
jmp 0x7e7f
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x7af4
jmp 0x7a7a
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x51(%rbp)
je 0x7a9b
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
testb $0x1, %al
jne 0x7aa4
jmp 0x7ab2
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x7a7a
movq -0x18(%rbp), %rdi
callq 0x40f0
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x3d6e3(%rip)     # 0x451b0
movq 0x3d6dc(%rip), %rdi     # 0x451b0
movq -0x18(%rbp), %rsi
callq 0x40a0
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7b00
leaq 0x2badf(%rip), %rdi     # 0x335da
callq 0x6d60
jmp 0x7e7f
movq 0x3d68c(%rip), %rdi     # 0x45198
callq 0x40f0
cmpq $0x0, %rax
jbe 0x7b23
leaq 0x2c84b(%rip), %rdi     # 0x34369
callq 0x6d60
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x7bb1
jmp 0x7b37
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x52(%rbp)
je 0x7b58
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x52(%rbp)
movb -0x52(%rbp), %al
testb $0x1, %al
jne 0x7b61
jmp 0x7b6f
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x7b37
movq -0x18(%rbp), %rdi
callq 0x40f0
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x3d60e(%rip)     # 0x45198
movq 0x3d607(%rip), %rdi     # 0x45198
movq -0x18(%rbp), %rsi
callq 0x40a0
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7bbd
leaq 0x2ba22(%rip), %rdi     # 0x335da
callq 0x6d60
jmp 0x7e7f
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x7c67
jmp 0x7bda
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x53(%rbp)
je 0x7bfb
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x53(%rbp)
movb -0x53(%rbp), %al
testb $0x1, %al
jne 0x7c04
jmp 0x7c12
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x7bda
movq -0x18(%rbp), %rdi
callq 0x40f0
addq $0x2, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x3d573(%rip)     # 0x451a0
movq 0x3d56c(%rip), %rdi     # 0x451a0
movq -0x18(%rbp), %rsi
callq 0x40a0
movq 0x3d55c(%rip), %rdi     # 0x451a0
leaq 0x2e415(%rip), %rsi     # 0x36060
callq 0x4250
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7c73
leaq 0x2b96c(%rip), %rdi     # 0x335da
callq 0x6d60
jmp 0x7e7f
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x7d41
jmp 0x7c90
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
movb $0x1, %al
cmpl $0x20, %ecx
movb %al, -0x54(%rbp)
je 0x7cb1
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x9, %eax
sete %al
movb %al, -0x54(%rbp)
movb -0x54(%rbp), %al
testb $0x1, %al
jne 0x7cba
jmp 0x7cc8
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x7c90
movq 0x3d4d9(%rip), %rdi     # 0x451a8
callq 0x40f0
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40f0
movq %rax, %rcx
movq -0x60(%rbp), %rax
addq %rcx, %rax
addq $0x1, %rax
addq $0x6, %rax
addq $0x3, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq 0x3d49b(%rip), %rdx     # 0x451a8
movq -0x18(%rbp), %rcx
leaq 0x2c66b(%rip), %rsi     # 0x34383
movb $0x0, %al
callq 0x4260
movq -0x20(%rbp), %rax
movq %rax, 0x3d47e(%rip)     # 0x451a8
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
jmp 0x7d4d
leaq 0x2b892(%rip), %rdi     # 0x335da
callq 0x6d60
jmp 0x7e7f
movq 0x3d43f(%rip), %rdi     # 0x45198
callq 0x40f0
cmpq $0x0, %rax
jne 0x7d91
movq -0x18(%rbp), %rdi
callq 0x40f0
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, 0x3d419(%rip)     # 0x45198
movq 0x3d412(%rip), %rdi     # 0x45198
movq -0x18(%rbp), %rsi
callq 0x40a0
jmp 0x7dff
movq -0x18(%rbp), %rdi
callq 0x40f0
movq %rax, -0x68(%rbp)
movq 0x3d3f3(%rip), %rdi     # 0x45198
callq 0x40f0
movq %rax, %rcx
movq -0x68(%rbp), %rax
addq %rcx, %rax
addq $0x1, %rax
addq $0x1, %rax
movl %eax, %edi
callq 0x4a70
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
movq 0x3d3c6(%rip), %rsi     # 0x45198
callq 0x40a0
movq -0x28(%rbp), %rdi
leaq 0x2e27e(%rip), %rsi     # 0x36060
callq 0x4250
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x4250
movq -0x28(%rbp), %rax
movq %rax, 0x3d399(%rip)     # 0x45198
jmp 0x7e7f
movl $0x0, 0x3d3c1(%rip)     # 0x451cc
jmp 0x7e7f
movl $0x1, %eax
subl 0x3d3b0(%rip), %eax     # 0x451c8
movl %eax, 0x3d3aa(%rip)     # 0x451c8
jmp 0x7e7f
movl $0x1, %eax
subl 0x3fde5(%rip), %eax     # 0x47c10
movl %eax, 0x3fddf(%rip)     # 0x47c10
jmp 0x7e7f
movq 0x3d326(%rip), %rsi     # 0x45160
leaq 0x2d828(%rip), %rdi     # 0x35669
movb $0x0, %al
callq 0x4120
xorl %edi, %edi
callq 0x4270
movl $0x1, 0x3fd93(%rip)     # 0x47bec
jmp 0x7e7f
movl $0x1, 0x3fde7(%rip)     # 0x47c4c
jmp 0x7e7f
movl $0x1, 0x3fddf(%rip)     # 0x47c50
jmp 0x7e7f
leaq 0x2b760(%rip), %rdi     # 0x335da
callq 0x6d60
jmp 0x7ef1
cmpq $0x0, -0x18(%rbp)
je 0x7ee8
cmpl $0x0, 0x3fd7d(%rip)     # 0x47c0c
je 0x7ec0
movq -0x18(%rbp), %rdi
leaq 0x2b1ad(%rip), %rsi     # 0x33049
callq 0x4280
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
je 0x7ee6
movq -0x30(%rbp), %rdi
leaq 0x2b193(%rip), %rsi     # 0x33049
callq 0x4180
cmpl $0x0, %eax
jne 0x7ee6
cmpl $0x0, 0x3fd25(%rip)     # 0x47bec
je 0x7edb
movq -0x18(%rbp), %rsi
leaq 0x2c4bd(%rip), %rdi     # 0x34391
movb $0x0, %al
callq 0x4120
movq -0x18(%rbp), %rax
movq %rax, 0x3fd72(%rip)     # 0x47c58
jmp 0x7ef6
movl $0x0, -0x4(%rbp)
jmp 0x7efd
jmp 0x7434
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)