// File: /workspace/github_c_makefile_star2_O0/mist64[P]cbm6502asm/src/asm.c
// Function: open_files
void open_files(int argc, char *argv[]) { /* open files and initialize things */
	int i;
	char *p, c, listfile[LINELENG];
	long tyme;

	assumeL = FALSE;
	wide = absasm = prnerrcon = prnsymtab = prnxref = TRUE;
	cputype = DEFCPUTYPE; /* /cx overrides default */
	maxpass = 15;         /* default maximum number of passes */
	maxmaclev = 50;       /* default maximum macro nesting depth */
	*tmpdev = 0;
	if (argc > 1)                     /* check command line */
		strcpy(comline, argv[1]); /* get command line */
	else {
		printf("\nC65>");     /* prompt user for instructions */
		scanf("%s", comline); /* read command line from console */
	}
	if (!strcmp(comline, "/H") || !strcmp(comline, "/h")) {
		help();
		exit(0);
	}
	emitobj = 0; /* assume no obj file */
	p = comline; /* pointer to command line */
	while (*p != ',' && *p != '=' && *p != '/' && *p)
		objfile[emitobj++] =
		        *p++; /* get obj file name from command line */
	objfile[emitobj] = 0; /* terminate obj file name */
	appendef(objfile, ".obj");
	for (i = strlen(objfile) - 1; i > 0;
	     i--) /* extract path, if any for tmp file */
		if (objfile[i] == '\\' || objfile[i] == ']' ||
		    objfile[i] == ':') {
			strcpy(tmpdev, objfile); /* copy list file name */
			tmpdev[i + 1] = 0;       /* terminate after path */
			break;
		}
	emitlst = 0;     /* assume no list file */
	if (*p++ == ',') /* was there a comma in command line? */
		while (*p != ',' && *p != '=' && *p != '/' && *p)
			listfile[emitlst++] =
			        *p++; /* get list file name from command line */
	listfile[emitlst] = 0;        /* terminate lst file name */
	appendef(listfile, ".lst");
	for (i = strlen(listfile); i > 0;
	     i--) /* extract path, if any for tmp file */
		if (listfile[i] == '\\' || listfile[i] == ']' ||
		    listfile[i] == ':') {
			strcpy(tmpdev, listfile); /* copy list file name */
			tmpdev[i + 1] = 0;        /* terminate after path */
			break;
		}
	if (*p != '=') /* find src file(s) */
		error_msg("too many output files specified", "", 2); /* error */
	if (*p == '=')     /* src files */
		src = ++p; /* pointer to beginning of source file list */

	while (*p) {                    /* get switches */
		while (*p != '/' && *p) /* find a slash */
			p++;
		if (*p == '/') {
			p++;
			switch (toupper(c = *p)) {
				case 'A':
					absasm = TRUE;
					break;
				case 'L':
					assumeL = TRUE;
					break;
				case 'N':
					prnerrcon = FALSE;
					break;
				case 'S':
					wide = FALSE;
					break;
				case 'T':
					prnsymtab = FALSE;
					break;
				case 'V':
					prnxref = FALSE;
					break;
				case 'X':
					prnxref = TRUE;
					break;
				case 'H':
					help();
					exit(0);
				case 'M':
					for (maxmaclev = 0;
					     isdigit(*++p) && maxmaclev < 100;
					     maxmaclev =
					             maxmaclev * 10 + *p - '0')
						;
					if (maxmaclev > 1 && maxmaclev < 1000)
						break;
					error_msg(
					        "bad /M switch - max macro "
					        "depth must be 2-999",
					        "", 2);
				case 'P':
					for (maxpass = 0;
					     isdigit(*++p) && maxpass < 100;
					     maxpass = maxpass * 10 + *p - '0')
						;
					if (maxpass > 1 && maxpass < 100) break;
					error_msg(
					        "bad /P switch - maxpass must "
					        "be 2-99",
					        "", 2);
				case 'C':
					cputype = *++p - '0';
					if (cputype >= 0 && cputype <= 3) break;
					error_msg(
					        "illegal parameter after /C "
					        "switch",
					        p, 2);
				case 'D':
					i = 0;
					while ((c = *++p)) {
						if (c == '/') break;
						tmpdev[i++] = c;
						tmpdev[i] = 0;
					}
					break;
				case 'R':
					error_msg(
					        "Illegal switch, absolute "
					        "assembly only.",
					        p, 2);
				default:
					error_msg("unknown switch", p, 2);
			}
		}
	}
	tmpnam(s1 = p1);          /* generate temporary file name */
	if (*s1 == '\\')          /* PC puts a backslash here */
		for (; *s1; s1++) /* remove it */
			*s1 = s1[1];
	strcat(tmpdev, p1);
	strcat(tmpdev, ".tmp");
	if (emitobj)
		if ((file_obj = fopen(objfile, "w")) == NULL)
			error_msg("Could not open object file: ", objfile, 4);
	if (emitlst)
		if ((file_lst = fopen(listfile, "w")) == NULL)
			error_msg("Could not open list file: ", listfile, 4);
	if ((file_tmp = fopen(tmpdev, "w+")) == NULL)
		error_msg("Could not open temp file: ", "", 4);
	p = src;
	while (*p && !isspace(*p)) {
		if (*p == ',') *p = 0; /* null separates src file names */
		if (*p == '/')         /* end of list of source files */
			break;
		p++;
	}
	*p++ = 0;
	*p++ = 0; /* double null at end of list of source files */

	if (!*src)
		error_msg("command syntax error", "", 2); /* no source files */

	/* initialize a few things */

	lbn[0] = lbn[1] = lbn[2] = lbn[3] = 'A';
	dbyt = word = byte = FALSE;
	macro_head = NULL;  /* no macros defined yet */
	root_symtab = NULL; /* symbols defined yet */
	pass = 1;
	codebytes = binlin = binadr = binptr = chksum = 0;
	fnptr = forcelong = errcount = tmpcounter = 0;
	condlevel = macrolevel = endflag = loc_cntr = subttl[0] = 0;
	radix = 10;
	condit = TRUE;
	linenum = list = mlist = gen = 1;
	clist = 1;
	formln = 55;
	strcpy(name, ".MAIN."); /* default title */
	spechar = ' ';
	strcpy(cur_sect, "A"); /* default section name */
	insert_symbol(cur_sect, 0L, TRUE, TRUE,
	              TRUE); /* enter section name in table */
	ptr->section = TRUE; /* flag it as a section name */
	time(&tyme);
	strcpy(datetime, asctime(localtime(&tyme))); /* get time and date */
	for (i = strlen(datetime) - 1; i && isspace(datetime[i]); i--)
		datetime[i] = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, 0xf22c(%rip)      # 0x10948
movl $0x1, 0xf226(%rip)      # 0x1094c
movl $0x1, 0xf180(%rip)      # 0x108b0
movl $0x1, 0xf0ae(%rip)      # 0x107e8
movl $0x1, 0xf20c(%rip)      # 0x10950
movl $0x1, 0xf206(%rip)      # 0x10954
movl $0x3, 0xf150(%rip)      # 0x108a8
movl $0xf, 0xf07e(%rip)      # 0x107e0
movl $0x32, 0xf1ec(%rip)     # 0x10958
movb $0x0, 0xf14d(%rip)      # 0x108c0
cmpl $0x1, -0x4(%rbp)
jle 0x178f
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rsi
leaq 0xf1d8(%rip), %rdi      # 0x10960
callq 0x1070
jmp 0x17b2
leaq 0xb94e(%rip), %rdi      # 0xd0e4
movb $0x0, %al
callq 0x10d0
leaq 0xc230(%rip), %rdi      # 0xd9d4
leaq 0xf1b5(%rip), %rsi      # 0x10960
movb $0x0, %al
callq 0x11b0
leaq 0xf1a7(%rip), %rdi      # 0x10960
leaq 0xb92a(%rip), %rsi      # 0xd0ea
callq 0x1110
cmpl $0x0, %eax
je 0x17e2
leaq 0xf18f(%rip), %rdi      # 0x10960
leaq 0xb915(%rip), %rsi      # 0xd0ed
callq 0x1110
cmpl $0x0, %eax
jne 0x17f0
movb $0x0, %al
callq 0x6ba0
xorl %edi, %edi
callq 0x11e0
movl $0x0, 0xf016(%rip)      # 0x10810
leaq 0xf15f(%rip), %rax      # 0x10960
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2c, %ecx
movb %al, -0xb9(%rbp)
je 0x1854
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x3d, %ecx
movb %al, -0xb9(%rbp)
je 0x1854
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2f, %ecx
movb %al, -0xb9(%rbp)
je 0x1854
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xb9(%rbp)
movb -0xb9(%rbp), %al
testb $0x1, %al
jne 0x1860
jmp 0x1894
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %dl
movl 0xef99(%rip), %eax      # 0x10810
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xef8e(%rip)      # 0x10810
movslq %eax, %rcx
leaq 0xef94(%rip), %rax      # 0x10820
movb %dl, (%rax,%rcx)
jmp 0x1805
movslq 0xef75(%rip), %rcx      # 0x10810
leaq 0xef7e(%rip), %rax      # 0x10820
movb $0x0, (%rax,%rcx)
leaq 0xef73(%rip), %rdi      # 0x10820
leaq 0xb83c(%rip), %rsi      # 0xd0f0
callq 0x2280
leaq 0xef60(%rip), %rdi      # 0x10820
callq 0x10a0
subq $0x1, %rax
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0x1944
movslq -0x14(%rbp), %rcx
leaq 0xef43(%rip), %rax      # 0x10820
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
je 0x190e
movslq -0x14(%rbp), %rcx
leaq 0xef2f(%rip), %rax      # 0x10820
movsbl (%rax,%rcx), %eax
cmpl $0x5d, %eax
je 0x190e
movslq -0x14(%rbp), %rcx
leaq 0xef1b(%rip), %rax      # 0x10820
movsbl (%rax,%rcx), %eax
cmpl $0x3a, %eax
jne 0x1937
leaq 0xefab(%rip), %rdi      # 0x108c0
leaq 0xef04(%rip), %rsi      # 0x10820
callq 0x1070
movl -0x14(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0xef8f(%rip), %rax      # 0x108c0
movb $0x0, (%rax,%rcx)
jmp 0x1944
jmp 0x1939
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x18cc
movl $0x0, 0xef5e(%rip)      # 0x108ac
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movsbl (%rax), %eax
cmpl $0x2c, %eax
jne 0x19f8
jmp 0x196b
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2c, %ecx
movb %al, -0xba(%rbp)
je 0x19ba
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x3d, %ecx
movb %al, -0xba(%rbp)
je 0x19ba
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2f, %ecx
movb %al, -0xba(%rbp)
je 0x19ba
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xba(%rbp)
movb -0xba(%rbp), %al
testb $0x1, %al
jne 0x19c6
jmp 0x19f6
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb (%rax), %cl
movl 0xeecf(%rip), %eax      # 0x108ac
movl %eax, %edx
addl $0x1, %edx
movl %edx, 0xeec4(%rip)      # 0x108ac
cltq
movb %cl, -0xb0(%rbp,%rax)
jmp 0x196b
jmp 0x19f8
movslq 0xeead(%rip), %rax      # 0x108ac
movb $0x0, -0xb0(%rbp,%rax)
leaq -0xb0(%rbp), %rdi
leaq 0xb6e0(%rip), %rsi      # 0xd0f5
callq 0x2280
leaq -0xb0(%rbp), %rdi
callq 0x10a0
movl %eax, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jle 0x1a98
movslq -0x14(%rbp), %rax
movsbl -0xb0(%rbp,%rax), %eax
cmpl $0x5c, %eax
je 0x1a62
movslq -0x14(%rbp), %rax
movsbl -0xb0(%rbp,%rax), %eax
cmpl $0x5d, %eax
je 0x1a62
movslq -0x14(%rbp), %rax
movsbl -0xb0(%rbp,%rax), %eax
cmpl $0x3a, %eax
jne 0x1a8b
leaq -0xb0(%rbp), %rsi
leaq 0xee50(%rip), %rdi      # 0x108c0
callq 0x1070
movl -0x14(%rbp), %eax
addl $0x1, %eax
movslq %eax, %rcx
leaq 0xee3b(%rip), %rax      # 0x108c0
movb $0x0, (%rax,%rcx)
jmp 0x1a98
jmp 0x1a8d
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1a29
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
je 0x1abc
leaq 0xb64f(%rip), %rdi      # 0xd0fa
leaq 0xbfee(%rip), %rsi      # 0xdaa0
movl $0x2, %edx
callq 0x22f0
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x3d, %eax
jne 0x1adb
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
movq %rax, 0xebc5(%rip)      # 0x106a0
jmp 0x1add
movq -0x20(%rbp), %rax
cmpb $0x0, (%rax)
je 0x1e20
jmp 0x1aec
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x2f, %ecx
movb %al, -0xbb(%rbp)
je 0x1b13
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xbb(%rbp)
movb -0xbb(%rbp), %al
testb $0x1, %al
jne 0x1b1f
jmp 0x1b2d
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x1aec
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x1e1b
movq -0x20(%rbp), %rax
incq %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl (%rax), %edi
movb %dil, %al
movb %al, -0x21(%rbp)
callq 0x1080
addl $-0x41, %eax
movl %eax, %ecx
movq %rcx, -0xc8(%rbp)
subl $0x17, %eax
ja 0x1e04
movq -0xc8(%rbp), %rax
leaq 0xb487(%rip), %rcx      # 0xd004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1, 0xedc0(%rip)      # 0x10950
jmp 0x1e19
movl $0x1, 0xeda9(%rip)      # 0x10948
jmp 0x1e19
movl $0x0, 0xec3a(%rip)      # 0x107e8
jmp 0x1e19
movl $0x0, 0xed97(%rip)      # 0x10954
jmp 0x1e19
movl $0x0, 0xece4(%rip)      # 0x108b0
jmp 0x1e19
movl $0x0, 0xed71(%rip)      # 0x1094c
jmp 0x1e19
movl $0x1, 0xed62(%rip)      # 0x1094c
jmp 0x1e19
movb $0x0, %al
callq 0x6ba0
xorl %edi, %edi
callq 0x11e0
movl $0x0, 0xed51(%rip)      # 0x10958
callq 0x1200
movq (%rax), %rax
movq -0x20(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %ecx
andl $0x800, %ecx            # imm = 0x800
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xc9(%rbp)
je 0x1c4c
cmpl $0x64, 0xed15(%rip)     # 0x10958
setl %al
movb %al, -0xc9(%rbp)
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x1c58
jmp 0x1c75
jmp 0x1c5a
imull $0xa, 0xecf7(%rip), %eax # 0x10958
movq -0x20(%rbp), %rcx
movsbl (%rcx), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, 0xece5(%rip)      # 0x10958
jmp 0x1c07
cmpl $0x1, 0xecdc(%rip)      # 0x10958
jle 0x1c8f
cmpl $0x3e8, 0xecd0(%rip)    # imm = 0x3E8
jge 0x1c8f
jmp 0x1e19
leaq 0xb484(%rip), %rdi      # 0xd11a
leaq 0xbe03(%rip), %rsi      # 0xdaa0
movl $0x2, %edx
callq 0x22f0
movl $0x0, 0xeb2f(%rip)      # 0x107e0
callq 0x1200
movq (%rax), %rax
movq -0x20(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x20(%rbp)
movsbl 0x1(%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %ecx
andl $0x800, %ecx            # imm = 0x800
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xca(%rbp)
je 0x1cf6
cmpl $0x64, 0xeaf3(%rip)     # 0x107e0
setl %al
movb %al, -0xca(%rbp)
movb -0xca(%rbp), %al
testb $0x1, %al
jne 0x1d02
jmp 0x1d1f
jmp 0x1d04
imull $0xa, 0xead5(%rip), %eax # 0x107e0
movq -0x20(%rbp), %rcx
movsbl (%rcx), %ecx
addl %ecx, %eax
subl $0x30, %eax
movl %eax, 0xeac3(%rip)      # 0x107e0
jmp 0x1cb1
cmpl $0x1, 0xeaba(%rip)      # 0x107e0
jle 0x1d36
cmpl $0x64, 0xeab1(%rip)     # 0x107e0
jge 0x1d36
jmp 0x1e19
leaq 0xb40b(%rip), %rdi      # 0xd148
leaq 0xbd5c(%rip), %rsi      # 0xdaa0
movl $0x2, %edx
callq 0x22f0
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movsbl 0x1(%rax), %eax
subl $0x30, %eax
movl %eax, 0xeb3e(%rip)      # 0x108a8
cmpl $0x0, 0xeb37(%rip)      # 0x108a8
jl 0x1d81
cmpl $0x3, 0xeb2e(%rip)      # 0x108a8
jg 0x1d81
jmp 0x1e19
movq -0x20(%rbp), %rsi
leaq 0xb3e1(%rip), %rdi      # 0xd16d
movl $0x2, %edx
callq 0x22f0
movl $0x0, -0x14(%rbp)
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb 0x1(%rax), %al
movb %al, -0x21(%rbp)
cmpb $0x0, %al
je 0x1ded
movsbl -0x21(%rbp), %eax
cmpl $0x2f, %eax
jne 0x1dc1
jmp 0x1ded
movb -0x21(%rbp), %dl
movl -0x14(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
movslq %eax, %rcx
leaq 0xeae7(%rip), %rax      # 0x108c0
movb %dl, (%rax,%rcx)
movslq -0x14(%rbp), %rcx
leaq 0xead9(%rip), %rax      # 0x108c0
movb $0x0, (%rax,%rcx)
jmp 0x1d9d
jmp 0x1e19
movq -0x20(%rbp), %rsi
leaq 0xb395(%rip), %rdi      # 0xd18f
movl $0x2, %edx
callq 0x22f0
movq -0x20(%rbp), %rsi
leaq 0xb3a8(%rip), %rdi      # 0xd1b7
movl $0x2, %edx
callq 0x22f0
jmp 0x1e1b
jmp 0x1add
leaq 0xebc9(%rip), %rax      # 0x109f0
movq %rax, 0xec4a(%rip)      # 0x10a78
leaq 0xebbb(%rip), %rdi      # 0x109f0
callq 0x11f0
movq 0xec37(%rip), %rax      # 0x10a78
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x1e80
jmp 0x1e4b
movq 0xec26(%rip), %rax      # 0x10a78
cmpb $0x0, (%rax)
je 0x1e7e
movq 0xec1a(%rip), %rax      # 0x10a78
movb 0x1(%rax), %cl
movq 0xec10(%rip), %rax      # 0x10a78
movb %cl, (%rax)
movq 0xec07(%rip), %rax      # 0x10a78
addq $0x1, %rax
movq %rax, 0xebfc(%rip)      # 0x10a78
jmp 0x1e4b
jmp 0x1e80
leaq 0xea39(%rip), %rdi      # 0x108c0
leaq 0xeb62(%rip), %rsi      # 0x109f0
callq 0x11c0
leaq 0xea26(%rip), %rdi      # 0x108c0
leaq 0xb325(%rip), %rsi      # 0xd1c6
callq 0x11c0
cmpl $0x0, 0xe963(%rip)      # 0x10810
je 0x1ee9
leaq 0xe96a(%rip), %rdi      # 0x10820
leaq 0xb30e(%rip), %rsi      # 0xd1cb
callq 0x11a0
movq %rax, 0xe94f(%rip)      # 0x10818
cmpq $0x0, %rax
jne 0x1ee7
leaq 0xb2f7(%rip), %rdi      # 0xd1cd
leaq 0xe943(%rip), %rsi      # 0x10820
movl $0x4, %edx
callq 0x22f0
jmp 0x1ee9
cmpl $0x0, 0xe9bc(%rip)      # 0x108ac
je 0x1f2c
leaq -0xb0(%rbp), %rdi
leaq 0xb2cb(%rip), %rsi      # 0xd1cb
callq 0x11a0
movq %rax, 0xeb74(%rip)      # 0x10a80
cmpq $0x0, %rax
jne 0x1f2a
leaq -0xb0(%rbp), %rsi
leaq 0xb2ca(%rip), %rdi      # 0xd1ea
movl $0x4, %edx
callq 0x22f0
jmp 0x1f2c
leaq 0xe98d(%rip), %rdi      # 0x108c0
leaq 0xb19a(%rip), %rsi      # 0xd0d4
callq 0x11a0
movq %rax, 0xe7f2(%rip)      # 0x10738
cmpq $0x0, %rax
jne 0x1f64
leaq 0xb2b2(%rip), %rdi      # 0xd205
leaq 0xbb46(%rip), %rsi      # 0xdaa0
movl $0x4, %edx
callq 0x22f0
movq 0xe735(%rip), %rax      # 0x106a0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
movb %al, -0xcb(%rbp)
je 0x1fac
callq 0x1200
movq (%rax), %rax
movq -0x20(%rbp), %rcx
movsbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0xcb(%rbp)
movb -0xcb(%rbp), %al
testb $0x1, %al
jne 0x1fb8
jmp 0x1fe7
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2c, %eax
jne 0x1fcb
movq -0x20(%rbp), %rax
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x1fd9
jmp 0x1fe7
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0x1f6f
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movb $0x0, (%rax)
movq 0xe68e(%rip), %rax      # 0x106a0
cmpb $0x0, (%rax)
jne 0x202f
leaq 0xb202(%rip), %rdi      # 0xd220
leaq 0xba7b(%rip), %rsi      # 0xdaa0
movl $0x2, %edx
callq 0x22f0
movb $0x41, 0xe7d9(%rip)     # 0x1080f
movb $0x41, 0xe7d1(%rip)     # 0x1080e
movb $0x41, 0xe7c9(%rip)     # 0x1080d
movb $0x41, 0xe7c1(%rip)     # 0x1080c
movl $0x0, 0xea33(%rip)      # 0x10a88
movl $0x0, 0xea2d(%rip)      # 0x10a8c
movl $0x0, 0xea27(%rip)      # 0x10a90
movq $0x0, 0xea24(%rip) # 0x10a98
movq $0x0, 0xea21(%rip) # 0x10aa0
movl $0x1, 0xe75b(%rip)      # 0x107e4
movl $0x0, 0xe759(%rip)      # 0x107ec
movl $0x0, 0xe753(%rip)      # 0x107f0
movl $0x0, 0xe74d(%rip)      # 0x107f4
movl $0x0, 0xe747(%rip)      # 0x107f8
movq $0x0, 0xe71c(%rip) # 0x107d8
movq $0x0, 0xe9e1(%rip) # 0x10aa8
movl $0x0, 0xe737(%rip)      # 0x10808
movl $0x0, 0xe9d5(%rip)      # 0x10ab0
movl $0x0, 0xe9cf(%rip)      # 0x10ab4
movb $0x0, 0xe9d4(%rip)      # 0x10ac0
movq $0x0, 0xe709(%rip) # 0x10800
movl $0x0, 0xea47(%rip)      # 0x10b48
movl $0x0, 0xea41(%rip)      # 0x10b4c
movl $0x0, 0xea3b(%rip)      # 0x10b50
movl $0xa, 0xea35(%rip)      # 0x10b54
movl $0x1, 0xea2f(%rip)      # 0x10b58
movl $0x1, 0xea29(%rip)      # 0x10b5c
movl $0x1, 0xea23(%rip)      # 0x10b60
movl $0x1, 0xea1d(%rip)      # 0x10b64
movl $0x1, 0xea17(%rip)      # 0x10b68
movl $0x1, 0xea11(%rip)      # 0x10b6c
movl $0x37, 0xea0b(%rip)     # 0x10b70
leaq 0xea14(%rip), %rdi      # 0x10b80
leaq 0xb0c2(%rip), %rsi      # 0xd235
callq 0x1070
movb $0x20, 0xea87(%rip)     # 0x10c06
leaq 0xea8a(%rip), %rdi      # 0x10c10
leaq 0xb0af(%rip), %rsi      # 0xd23c
callq 0x1070
leaq 0xea77(%rip), %rdi      # 0x10c10
xorl %eax, %eax
movl %eax, %esi
movl $0x1, %r8d
movl %r8d, %edx
movl %r8d, %ecx
callq 0xc340
movq 0xea7b(%rip), %rax      # 0x10c30
movw 0x20(%rax), %cx
andw $-0x11, %cx
orw $0x10, %cx
movw %cx, 0x20(%rax)
leaq -0xb8(%rbp), %rdi
callq 0x1150
leaq -0xb8(%rbp), %rdi
callq 0x1040
movq %rax, %rdi
callq 0x10b0
movq %rax, %rsi
leaq 0xea51(%rip), %rdi      # 0x10c40
callq 0x1070
leaq 0xea45(%rip), %rdi      # 0x10c40
callq 0x10a0
subq $0x1, %rax
movl %eax, -0x14(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0xcc(%rbp)
je 0x2244
callq 0x1200
movq (%rax), %rax
movslq -0x14(%rbp), %rdx
leaq 0xea18(%rip), %rcx      # 0x10c40
movsbl (%rcx,%rdx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
setne %al
movb %al, -0xcc(%rbp)
movb -0xcc(%rbp), %al
testb $0x1, %al
jne 0x2250
jmp 0x226a
movslq -0x14(%rbp), %rcx
leaq 0xe9e5(%rip), %rax      # 0x10c40
movb $0x0, (%rax,%rcx)
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x2207
addq $0xd0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)