// File: /workspace/github_c_makefile_star2_O2/mist64[P]cbm6502asm/src/direct1.c
// Function: direct1
int direct1(char *macprmbgn, char **maclinptr, char *macargbgn) {
	int i, j;
	long l;

	print = clist;
	spechar = '1';

	/* conditional assembly directives */

	if (!strcmp(s2, ".ELSE")) {
		if (!isspace(line[0])) display_error(error = 'F');
		if (condlevel) {
			condstk[condlevel >> 4] ^= 1 << (condlevel & 15);
			for (condit = TRUE, i = 1; condit && i <= condlevel;
			     i++)
				condit &= condstk[i >> 4] >> (i & 15) & 1;
		} else
			display_error(error = 'N'); /* no if */
		return 1;
	}

	if (!strcmp(s2, ".ENDIF")) {
		if (!isspace(line[0])) display_error(error = 'F');
		if (condlevel) {
			condlevel--;
			for (condit = TRUE, i = 1; condit && i <= condlevel;
			     i++)
				condit &= condstk[i >> 4] >> (i & 15) & 1;
		} else
			display_error(error = 'N'); /* no if */
		return 1;
	}

	if (!strcmp(s2, ".IFB") || !strcmp(s2, ".IFNB") ||
	    !strcmp(s2, ".IFIDN") || !strcmp(s2, ".IFNIDN") ||
	    !strcmp(s2, ".IFDEF") || !strcmp(s2, ".IFNDEF") ||
	    !strcmp(s2, ".IFN") || !strcmp(s2, ".IFE") ||
	    !strcmp(s2, ".IFGT") || !strcmp(s2, ".IFGE") ||
	    !strcmp(s2, ".IFLT") || !strcmp(s2, ".IFLE") ||
	    !strcmp(s2, ".IF")) {
		if (!isspace(line[0])) display_error(error = 'F');
		if (!condit) /* not interest in type if condit is false */
			return (pushcond(condit));
		if (!strcmp(s2, ".IFB")) {
			i = strlen(s3) - 1;
			if (*s3 != '<' || s3[i] != '>' || i < 1) {
				display_error(error = 'F');
				return 1;
			}
			return (pushcond(i == 1));
		}
		if (!strcmp(s2, ".IFNB")) {
			i = strlen(s3) - 1;
			if (*s3 != '<' || s3[i] != '>' || i < 1) {
				display_error(error = 'F');
				return 1;
			}
			return (pushcond(i > 1));
		}
		if (!strcmp(&p2[strlen(s2) - 3], "IDN")) {
			parses3(1);
			while (*s3) s3++;
			s3++;
			if (!strcmp(s2, ".IFIDN")) {
				j = strlen(p3) - 1;
				i = strlen(s3) - 1;
				if (*s3 != '<' || s3[i] != '>' || i < 1 ||
				    *p3 != '<' || p3[j] != '>' || j < 1) {
					display_error(error = 'F');
					return 1;
				}
				return (pushcond(!strcmp(s3, p3)));
			}
			if (!strcmp(s2, ".IFNIDN")) {
				j = strlen(p3) - 1;
				i = strlen(s3) - 1;
				if (*s3 != '<' || s3[i] != '>' || i < 1 ||
				    *p3 != '<' || p3[j] != '>' || j < 1) {
					display_error(error = 'F');
					return 1;
				}
				return (pushcond(strcmp(s3, p3)));
			}
		} else {
			i = evaluate(s3, &l); /* i is defined, l is value */
			equ = TRUE;
			d[data++] = (l >> 8) & 255;
			d[data++] = l & 255;
			if (!i && !strcmp(&p2[strlen(s2) - 3], "DEF"))
				for (error = j = 0; j < 5; j++) {
					if (error_field[j] ==
					    'U') /* no undefined error if */
						error_field[j] =
						        ' '; /* testing for
						                defined */
					error |= !isspace(error_field[j]);
				}
			if (!strcmp(s2, ".IFDEF")) return (pushcond(i));
			if (!strcmp(s2, ".IFNDEF")) return (pushcond(!i));
			if (i) {
				if (!strcmp(s2, ".IFE"))
					return (pushcond(l == 0));
				if (!strcmp(s2, ".IFGE"))
					return (pushcond(l >= 0));
				if (!strcmp(s2, ".IFGT"))
					return (pushcond(l > 0));
				if (!strcmp(s2, ".IFLE"))
					return (pushcond(l <= 0));
				if (!strcmp(s2, ".IFLT"))
					return (pushcond(l < 0));
				if (!strcmp(s2, ".IFN") || !strcmp(s2, ".IF"))
					return (pushcond(l != 0));
				display_error(error = 'O');
				return 1;
			} else {
				display_error(error = 'U');
				return 1;
			}
		}
	}
	if (!condit)
		return 1; /* not interested in others if conditional false */

	/* macro directives */

	print = 0;
	if (!strcmp(s2, ".REPT")) {    /* repeat directive */
		if (!isspace(line[0])) /* save label if any */
			if (good_label(s1)) get_label(s1, 1);
		sprintf(p1, "___T.M.P.$$$%08.8ld", tmpcounter++);
		i = evaluate(s3, &l);
		if (i) {
			char *linptr, args[4], parm[4];
			struct macdef *reptmac;
			p3[0] = p3[1] = 0;
			macro_def(macprmbgn, maclinptr, macargbgn, 2);
			outline(addr = 0, data = 0, (char *)0, (char)0,
			        (char)1);
			reptmac = macro_head; /* copy macro address for deletion
			                       */
			for (i = 0; i < l; i++) {
				parm[0] = parm[1] = parm[2] = parm[3] = 0;
				args[0] = args[1] = args[2] = args[3] = 0;
				s3 = reptmac->name;
				s3 += 21;
				while (!*s3) s3++;
				linptr = s3;
				macrolevel++;
				pass1(parm, &linptr, args);
				macrolevel--;
			}
			if ((tmpmac = macro_head) == reptmac)
				macro_head = reptmac->nextmac; /* unlink rept
				                                  macro */
			else {
				while (tmpmac->nextmac != reptmac)
					tmpmac = tmpmac->nextmac;
				tmpmac->nextmac =
				        reptmac->nextmac; /* unlink rept macro
				                           */
			}
			free((char *)reptmac); /* destroy temporary macro
			                          definition */
		} else
			display_error(error = 'U');
		addr = data = 0;
		return 1;
	}

	if (!strcmp(s2, ".IRPC")) { /* repeat directive */
		char *linptr, args[4], *parm, *chars;
		struct macdef *reptmac;
		if (!isspace(line[0])) /* save label if any */
			if (good_label(s1)) get_label(s1, 1);
		sprintf(p1, "___T.M.P.$$$%08.8ld", tmpcounter++);
		while (*s3 != ',' && *s3) s3++;
		*s3 = 0;
		if (!(chars = (char *)malloc(strlen(++s3) + 2))) memallocerr();
		strcpy(chars, s3);
		s3 = p3;
		macro_def(macprmbgn, maclinptr, macargbgn, 3);
		outline(addr = 0, data = 0, (char *)0, (char)0, (char)1);
		reptmac = macro_head; /* copy macro address for deletion */
		for (i = 0; i < strlen(chars); i++) {
			args[0] = chars[i];
			args[1] = args[2] = args[3] = 0;
			s3 = reptmac->name;
			while (*s3) s3++;
			while (!*s3) s3++;
			parm = s3;
			while (*s3) s3++;
			while (!*s3) s3++;
			linptr = s3;
			macrolevel++;
			pass1(parm, &linptr, args);
			macrolevel--;
		}
		if ((tmpmac = macro_head) == reptmac)
			macro_head = reptmac->nextmac; /* unlink rept macro */
		else {
			while (tmpmac->nextmac != reptmac)
				tmpmac = tmpmac->nextmac;
			tmpmac->nextmac =
			        reptmac->nextmac; /* unlink rept macro */
		}
		free((char *)reptmac); /* destroy temporary macro definition */
		free((char *)chars); /* return memory used for character string
		                      */
		addr = data = 0;
		return 1;
	}

	if (!strcmp(s2, ".IRP")) { /* repeat directive */
		char *linptr, *parm, *chars;
		struct macdef *reptmac;
		if (!isspace(line[0])) /* save label if any */
			if (good_label(s1)) get_label(s1, 1);
		sprintf(p1, "___T.M.P.$$$%08.8ld", tmpcounter++);
		if (!(chars = (char *)calloc(strlen(p3), 1))) memallocerr();
		parses3(1);
		while (*s3) s3++;
		s3++;
		i = 0;
		while (*s3 || s3[1]) chars[i++] = *s3++;
		s3 = p3;
		macro_def(macprmbgn, maclinptr, macargbgn, 4);
		outline((char)0, (char)0, (char *)0, (char)0, (char)1);
		reptmac = macro_head; /* copy macro address for deletion */
		i = 0;
		while (chars[i]) {
			s3 = reptmac->name;
			while (*s3) s3++;
			while (!*s3) s3++;
			parm = s3;
			while (*s3) s3++;
			while (!*s3) s3++;
			linptr = s3;
			macrolevel++;
			pass1(parm, &linptr, &chars[i]);
			macrolevel--;
			while (chars[i++])
				; /* point to next arg */
		}
		if ((tmpmac = macro_head) == reptmac)
			macro_head = reptmac->nextmac; /* unlink rept macro */
		else {
			while (tmpmac->nextmac != reptmac)
				tmpmac = tmpmac->nextmac;
			tmpmac->nextmac =
			        reptmac->nextmac; /* unlink rept macro */
		}
		free((char *)reptmac); /* destroy temporary macro definition */
		free((char *)chars); /* return memory used for character string
		                      */
		addr = data = 0;
		return 1;
	}

	if (!strcmp(s2, ".MACRO") ||
	    !strcmp(s2, ".MAC")) { /* macro definition? */
		if (isspace(line[0])) display_error(error = 'F');
		macro_def(macprmbgn, maclinptr, macargbgn, 1);
		return 1;
	}

	if (!strcmp(s2, ".INCLUDE")) { /* include ? */
		if (!isspace(line[0])) display_error(error = 'F');
		if (!incl_sp) {
			display_error(error = 'N');
			return 1;
		}
		for (i = 0; i < strlen(s3); i++)
			if (s3[i] <= ' ' || s3[i] == ';')
				s3[i] = 0; /* blank or ; terminates file name */
		incl_stack[--incl_sp] = file_src;
		filnamptr[incl_sp] = fnptr;
		strcpy(&filename[fnptr], srcfile);
		fnptr += strlen(srcfile) + 1;
		appendef(s3, ".src");
		for (i = strlen(s3) - 1; i > 0; i--)
			if (s3[i] == '\\' || s3[i] == ']' ||
			    s3[i] == ':') /* explicit path? */
				break;    /* yes */
		if (i <= 0) {
			strcpy(srcfile, defipath); /* default incl path */
			strcat(srcfile, s3);
			strcpy(s3, srcfile);
		}
		for (i = 0; (srcfile[i] = toupper(s3[i])); i++)
			;
		fprintf(file_tmp, "%sF%s\n", STATLINE, srcfile);
		file_src = fopen(s3, "r");
		if (!file_src) {
			file_src = incl_stack[incl_sp++];
			error_msg("Could not open included file:", s3, 0);
		}
		return (print = 1);
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdx, %r13
movq %rsi, 0x10(%rsp)
movq %rdi, %r15
leaq 0xbcbe(%rip), %rax      # 0xdb8c
movl (%rax), %eax
leaq 0xbf25(%rip), %rbx      # 0xddfc
movl %eax, (%rbx)
leaq 0xbd46(%rip), %rax      # 0xdc26
movb $0x31, (%rax)
leaq 0xc1be(%rip), %r14      # 0xe0a8
movq (%r14), %r12
leaq 0x7373(%rip), %rsi      # 0x9267
movq %r12, %rdi
callq 0x1130
pushq $0x1
popq %rbp
testl %eax, %eax
je 0x2235
leaq 0x735f(%rip), %rsi      # 0x926d
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x22ce
movq %r13, 0x8(%rsp)
leaq 0x734a(%rip), %rsi      # 0x9274
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x7338(%rip), %rsi      # 0x9279
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x7327(%rip), %rsi      # 0x927f
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x7317(%rip), %rsi      # 0x9286
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x7308(%rip), %rsi      # 0x928e
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72f8(%rip), %rsi      # 0x9295
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72e9(%rip), %rsi      # 0x929d
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72db(%rip), %rsi      # 0x92a2
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72cd(%rip), %rsi      # 0x92a7
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72c0(%rip), %rsi      # 0x92ad
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72b3(%rip), %rsi      # 0x92b3
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x72a6(%rip), %rsi      # 0x92b9
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2036
leaq 0x7299(%rip), %rsi      # 0x92bf
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
jne 0x245d
callq 0x1240
movq %rax, %r12
movq (%rax), %rax
leaq 0xc078(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x2065
leaq 0xbda6(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xbb0c(%rip), %rax      # 0xdb78
cmpl $0x0, (%rax)
je 0x236e
movq (%r14), %r13
leaq 0x71f5(%rip), %rsi      # 0x9274
movq %r13, %rdi
callq 0x1130
testl %eax, %eax
je 0x2377
leaq 0x71e3(%rip), %rsi      # 0x9279
movq %r13, %rdi
callq 0x1130
testl %eax, %eax
je 0x23b1
movq %r13, %rdi
callq 0x10b0
leaq 0xbedb(%rip), %r13      # 0xdf90
leaq (%rax,%r13), %rdi
addq $-0x3, %rdi
leaq 0x71be(%rip), %rsi      # 0x9282
callq 0x1130
testl %eax, %eax
je 0x240a
leaq 0xbfd8(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
leaq 0x18(%rsp), %rbx
movq %rbx, %rsi
callq 0x479e
movl %eax, %ebp
leaq 0xc1e1(%rip), %rax      # 0xe2d2
movb $0x1, (%rax)
movq (%rbx), %rbx
leaq 0xc1d3(%rip), %rax      # 0xe2d1
movsbq (%rax), %rcx
leal 0x1(%rcx), %edx
leaq 0xc0c4(%rip), %rsi      # 0xe1d0
movb %bh, (%rsi,%rcx)
addl $0x2, %ecx
movb %cl, (%rax)
movsbq %dl, %rax
movq %rbx, %r15
movb %bl, (%rsi,%rax)
movq (%r14), %rbx
testl %ebp, %ebp
jne 0x2149
movq %rbx, %rdi
callq 0x10b0
leaq (%rax,%r13), %rdi
addq $-0x3, %rdi
leaq 0x7155(%rip), %rsi      # 0x9291
callq 0x1130
testl %eax, %eax
je 0x2632
leaq 0x713e(%rip), %rsi      # 0x928e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x257e
leaq 0x712e(%rip), %rsi      # 0x9295
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
pushq $0x1
popq %r14
je 0x2593
testl %ebp, %ebp
je 0x261b
leaq 0x7118(%rip), %rsi      # 0x92a2
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x26e5
leaq 0x710c(%rip), %rsi      # 0x92ad
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2822
leaq 0x70ef(%rip), %rsi      # 0x92a7
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2a88
leaq 0x70ea(%rip), %rsi      # 0x92b9
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2ce5
leaq 0x70cd(%rip), %rsi      # 0x92b3
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2d4b
leaq 0x70a0(%rip), %rsi      # 0x929d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2d3d
leaq 0x70ab(%rip), %rsi      # 0x92bf
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x2d3d
leaq 0xbbd5(%rip), %rax      # 0xde00
movb $0x4f, (%rax)
pushq $0x4f
jmp 0x2627
callq 0x1240
movq (%rax), %rax
leaq 0xbe7c(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x2261
leaq 0xbbaa(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xb908(%rip), %rax      # 0xdb70
movl (%rax), %eax
testl %eax, %eax
je 0x2357
movl %eax, %ecx
andb $0xf, %cl
pushq $0x1
popq %rbp
movl %ebp, %esi
shll %cl, %esi
movl %eax, %ecx
sarl $0x4, %ecx
movslq %ecx, %rcx
leaq 0xba53(%rip), %rdx      # 0xdce0
xorw %si, (%rdx,%rcx,2)
leaq 0xb8e0(%rip), %rsi      # 0xdb78
movl %ebp, (%rsi)
movl %ebp, %edi
movl %ebp, %r8d
testl %edi, %edi
je 0x23f9
cmpl %eax, %r8d
jg 0x23f9
movl %r8d, %ecx
shrl $0x4, %ecx
movswl (%rdx,%rcx,2), %r9d
movl %r8d, %ecx
andb $0xf, %cl
shrl %cl, %r9d
andl %r9d, %edi
movl %edi, (%rsi)
incl %r8d
jmp 0x229f
callq 0x1240
movq (%rax), %rax
leaq 0xbde3(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x22fa
leaq 0xbb11(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xb86f(%rip), %rcx      # 0xdb70
movl (%rcx), %eax
testl %eax, %eax
je 0x2357
leal -0x1(%rax), %edx
movl %edx, (%rcx)
leaq 0xb865(%rip), %rdx      # 0xdb78
movl $0x1, (%rdx)
pushq $0x1
popq %rbp
leaq 0xb9bd(%rip), %rsi      # 0xdce0
movl %ebp, %edi
movl %ebp, %r8d
testl %edi, %edi
je 0x23f9
cmpl %eax, %r8d
jge 0x23f9
movl %r8d, %ecx
shrl $0x4, %ecx
movswl (%rsi,%rcx,2), %r9d
movl %r8d, %ecx
andb $0xf, %cl
shrl %cl, %r9d
andl %r9d, %edi
movl %edi, (%rdx)
incl %r8d
jmp 0x2328
leaq 0xbaa2(%rip), %rax      # 0xde00
movb $0x4e, (%rax)
pushq $0x4e
popq %rdi
callq 0x1e1c
jmp 0x23f9
xorl %edi, %edi
callq 0x1e48
jmp 0x23f6
leaq 0xbd32(%rip), %rax      # 0xe0b0
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x10b0
cmpb $0x3c, (%rbx)
jne 0x23e4
decl %eax
movslq %eax, %rcx
cmpb $0x3e, (%rbx,%rcx)
setne %dl
testl %ecx, %ecx
setle %cl
orb %dl, %cl
cmpb $0x1, %cl
je 0x23e4
xorl %edi, %edi
cmpl $0x1, %eax
sete %dil
jmp 0x2370
leaq 0xbcf8(%rip), %rax      # 0xe0b0
movq (%rax), %rbx
movq %rbx, %rdi
callq 0x10b0
cmpb $0x3c, (%rbx)
jne 0x23e4
decl %eax
movslq %eax, %rcx
cmpb $0x3e, (%rbx,%rcx)
setne %dl
testl %ecx, %ecx
setle %cl
orb %dl, %cl
cmpb $0x1, %cl
jne 0x2585
leaq 0xba15(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
pushq $0x1
popq %rbp
movl %ebp, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
pushq $0x1
popq %rbp
movl %ebp, %edi
callq 0x4e5f
leaq 0xbc95(%rip), %rax      # 0xe0b0
movq (%rax), %r13
cmpb $0x0, (%r13)
leaq 0x1(%r13), %r13
movq %r13, (%rax)
jne 0x241e
movq (%r14), %r12
leaq 0x6e49(%rip), %rsi      # 0x927f
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x259c
leaq 0x6e39(%rip), %rsi      # 0x9286
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2681
leaq 0xb714(%rip), %rax      # 0xdb78
cmpl $0x0, (%rax)
je 0x23f6
andl $0x0, (%rbx)
leaq 0x6e50(%rip), %rsi      # 0x92c3
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
pushq $0x1
popq %r14
je 0x26fb
leaq 0x6e4f(%rip), %rsi      # 0x92dd
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
movq 0x8(%rsp), %r13
je 0x2830
leaq 0x6e39(%rip), %rsi      # 0x92e3
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2adc
leaq 0x6e27(%rip), %rsi      # 0x92e8
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2a96
leaq 0x6e17(%rip), %rsi      # 0x92ef
movq %r12, %rdi
callq 0x1130
testl %eax, %eax
je 0x2a96
leaq 0x6e05(%rip), %rsi      # 0x92f4
movq %r12, %rdi
callq 0x1130
xorl %ebp, %ebp
testl %eax, %eax
jne 0x23f9
callq 0x1240
movq (%rax), %rax
leaq 0xbbb0(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x252d
leaq 0xb8de(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xba54(%rip), %r12      # 0xdf88
cmpl $0x0, (%r12)
je 0x2e03
leaq 0xbb6a(%rip), %rbp      # 0xe0b0
movq (%rbp), %r14
xorl %r15d, %r15d
movq %r14, %rdi
callq 0x10b0
cmpq %r15, %rax
jbe 0x2d57
movb (%r14,%r15), %al
cmpb $0x21, %al
setge %cl
cmpb $0x3b, %al
setne %al
testb %al, %cl
jne 0x2579
movb $0x0, (%r14,%r15)
movq (%rbp), %r14
incq %r15
jmp 0x254d
movl %ebp, %edi
jmp 0x2370
xorl %edi, %edi
cmpl $0x2, %eax
setae %dil
jmp 0x2370
xorl %edi, %edi
testl %ebp, %ebp
jmp 0x26ea
leaq 0xba7d(%rip), %rbx      # 0xe020
movq %rbx, %rdi
callq 0x10b0
cmpb $0x3c, (%r13)
jne 0x26d4
movq %rax, %r14
movq %r13, %rdi
callq 0x10b0
decl %eax
movslq %eax, %rcx
cmpb $0x3e, (%r13,%rcx)
jne 0x26d4
testl %eax, %eax
jle 0x26d4
cmpb $0x3c, (%rbx)
jne 0x26d4
decl %r14d
movslq %r14d, %rax
cmpb $0x3e, (%rbx,%rax)
setne %cl
testl %eax, %eax
setle %al
orb %cl, %al
cmpb $0x1, %al
je 0x26d4
leaq 0xba1a(%rip), %rsi      # 0xe020
movq %r13, %rdi
callq 0x1130
xorl %edi, %edi
testl %eax, %eax
sete %dil
jmp 0x2d33
leaq 0xb7de(%rip), %rax      # 0xde00
movb $0x55, (%rax)
pushq $0x55
popq %rdi
callq 0x1e1c
jmp 0x26f3
leaq 0xb7c7(%rip), %rax      # 0xde00
movb $0x0, (%rax)
xorl %ecx, %ecx
leaq 0xb63b(%rip), %rdx      # 0xdc80
xorl %esi, %esi
cmpq $0x5, %rsi
je 0x2149
movb (%rdx,%rsi), %dil
cmpb $0x55, %dil
jne 0x2662
movb $0x20, (%rdx,%rsi)
movb $0x20, %dil
movq (%r12), %r8
movsbq %dil, %rdi
movzwl (%r8,%rdi,2), %edi
btl $0xd, %edi
setae %dil
orb %dil, %cl
movb %cl, (%rax)
incq %rsi
jmp 0x2647
leaq 0xb998(%rip), %rbx      # 0xe020
movq %rbx, %rdi
callq 0x10b0
cmpb $0x3c, (%r13)
jne 0x26d4
movq %rax, %r14
movq %r13, %rdi
callq 0x10b0
decl %eax
movslq %eax, %rcx
cmpb $0x3e, (%r13,%rcx)
jne 0x26d4
testl %eax, %eax
jle 0x26d4
cmpb $0x3c, (%rbx)
jne 0x26d4
decl %r14d
movslq %r14d, %rax
cmpb $0x3e, (%rbx,%rax)
setne %cl
testl %eax, %eax
setle %al
orb %cl, %al
cmpb $0x1, %al
jne 0x2d22
leaq 0xb725(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
jmp 0x2363
xorl %edi, %edi
testq %r15, %r15
sete %dil
callq 0x1e48
movl %r14d, %ebp
jmp 0x23f9
callq 0x1240
movq (%rax), %rax
leaq 0xb9b6(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x2733
leaq 0xb37c(%rip), %rbx      # 0xda98
movq (%rbx), %rdi
callq 0x74a1
testl %eax, %eax
je 0x2733
movq (%rbx), %rdi
pushq $0x1
popq %rsi
callq 0x7550
leaq 0xb38e(%rip), %rax      # 0xdac8
movq (%rax), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, (%rax)
leaq 0xb2c5(%rip), %rdi      # 0xda10
leaq 0x6b77(%rip), %rsi      # 0x92c9
xorl %eax, %eax
callq 0x1200
leaq 0xb950(%rip), %r13      # 0xe0b0
movq (%r13), %rdi
leaq 0x18(%rsp), %rsi
callq 0x479e
testl %eax, %eax
je 0x2cf3
leaq 0xb8a3(%rip), %rax      # 0xe020
andw $0x0, (%rax)
pushq $0x2
popq %rcx
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x53d0
leaq 0xbb33(%rip), %rax      # 0xe2d0
xorl %r14d, %r14d
movb %r14b, (%rax)
leaq 0xbb27(%rip), %rax      # 0xe2d1
movb %r14b, (%rax)
pushq $0x1
popq %r8
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x72ed
leaq 0xb2f3(%rip), %rbp      # 0xdab8
movq (%rbp), %rbx
leaq 0x21(%rbx), %r15
leaq 0xb398(%rip), %r12      # 0xdb6c
cmpq %r14, 0x18(%rsp)
jle 0x28ad
andl $0x0, 0x30(%rsp)
andl $0x0, 0x34(%rsp)
movq %r15, %rax
movq %rax, (%r13)
cmpb $0x0, (%rax)
leaq 0x1(%rax), %rax
je 0x27ec
decq %rax
movq %rax, 0x20(%rsp)
incl (%r12)
leaq 0x30(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x34(%rsp), %rdx
callq 0x7649
decl (%r12)
incq %r14
jmp 0x27d4
xorl %edi, %edi
testq %r15, %r15
setns %dil
jmp 0x26ee
callq 0x1240
movq (%rax), %rax
leaq 0xb881(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x2868
leaq 0xb247(%rip), %rbx      # 0xda98
movq (%rbx), %rdi
callq 0x74a1
testl %eax, %eax
je 0x2868
movq (%rbx), %rdi
pushq $0x1
popq %rsi
callq 0x7550
leaq 0xb259(%rip), %rax      # 0xdac8
movq (%rax), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, (%rax)
leaq 0xb190(%rip), %rdi      # 0xda10
leaq 0x6a42(%rip), %rsi      # 0x92c9
xorl %eax, %eax
callq 0x1200
leaq 0xb81b(%rip), %r14      # 0xe0b0
movq (%r14), %rax
incq %rax
movzbl -0x1(%rax), %ecx
testl %ecx, %ecx
je 0x28dc
cmpl $0x2c, %ecx
je 0x28dc
movq %rax, (%r14)
jmp 0x2898
movq (%rbp), %rcx
leaq 0xb3d0(%rip), %rax      # 0xdc88
movq %rcx, (%rax)
cmpq %rbx, %rcx
pushq $0x1
popq %r14
je 0x2a1f
movq %rcx, %rbp
movq (%rcx), %rcx
cmpq %rbx, %rcx
je 0x2a1f
movq %rcx, (%rax)
jmp 0x28c8
movb $0x0, -0x1(%rax)
movq (%r14), %r13
incq %r13
movq %r13, (%r14)
movq %r13, %rdi
callq 0x10b0
leaq 0x2(%rax), %rdi
callq 0x1180
movq %rax, %r12
testq %rax, %rax
jne 0x290a
callq 0x1e3c
movq (%r14), %r13
movq %r12, %rdi
movq %r13, %rsi
callq 0x1080
leaq 0xb704(%rip), %rax      # 0xe020
movq %rax, (%r14)
pushq $0x3
popq %rcx
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x53d0
leaq 0xb995(%rip), %rax      # 0xe2d0
xorl %r15d, %r15d
movb %r15b, (%rax)
leaq 0xb989(%rip), %rax      # 0xe2d1
movb %r15b, (%rax)
pushq $0x1
popq %rbp
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
callq 0x72ed
leaq 0xb153(%rip), %r13      # 0xdab8
movq (%r13), %rax
leaq 0xc(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq %rax, 0x28(%rsp)
addq $0xd, %rax
movq %rax, 0x8(%rsp)
movq %r12, %rdi
callq 0x10b0
cmpq %r15, %rax
jbe 0x2a33
movb (%r12,%r15), %al
movb %al, 0x20(%rsp)
movb $0x0, 0x23(%rsp)
andw $0x0, 0x21(%rsp)
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rdx
movq %rdx, (%r14)
cmpb $0x0, (%rdx)
movq %rcx, %rax
leaq 0x1(%rdx), %rdx
leaq 0x1(%rcx), %rcx
jne 0x29ae
xorl %ecx, %ecx
testb %cl, %cl
jne 0x29d1
movq %rax, (%r14)
movb (%rax), %cl
incq %rax
jmp 0x29c3
leaq -0x1(%rax), %rdi
movb $0x1, %cl
testb %cl, %cl
je 0x29e5
movq %rax, (%r14)
movb (%rax), %cl
incq %rax
jmp 0x29d7
xorl %ecx, %ecx
testb %cl, %cl
jne 0x29f5
movq %rax, (%r14)
movb (%rax), %cl
incq %rax
jmp 0x29e7
decq %rax
movq %rax, 0x18(%rsp)
leaq 0xb168(%rip), %rbx      # 0xdb6c
incl (%rbx)
leaq 0x18(%rsp), %rsi
leaq 0x20(%rsp), %rdx
callq 0x7649
decl (%rbx)
incq %r15
jmp 0x2980
movq (%rbx), %rax
movq %rax, (%rbp)
movq %rbx, %rdi
callq 0x1040
jmp 0x2d09
movq (%r13), %rcx
leaq 0xb24a(%rip), %rax      # 0xdc88
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rdi, %rcx
je 0x2a5b
movq %rcx, %r13
movq (%rcx), %rcx
cmpq %rdi, %rcx
je 0x2a5b
movq %rcx, (%rax)
jmp 0x2a4b
movq (%rdi), %rax
movq %rax, (%r13)
callq 0x1040
movq %r12, %rdi
callq 0x1040
xorl %eax, %eax
leaq 0xb859(%rip), %rcx      # 0xe2d1
movb %al, (%rcx)
leaq 0xb84f(%rip), %rcx      # 0xe2d0
movb %al, (%rcx)
jmp 0x23f9
xorl %edi, %edi
testq %r15, %r15
setg %dil
jmp 0x26ee
callq 0x1240
movq (%rax), %rax
leaq 0xb61b(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x2ac2
leaq 0xb349(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
pushq $0x1
popq %rbp
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq %r13, %rdx
movl %ebp, %ecx
callq 0x53d0
jmp 0x23f9
callq 0x1240
movq (%rax), %rax
leaq 0xb5d5(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x2b14
leaq 0xaf9b(%rip), %rbx      # 0xda98
movq (%rbx), %rdi
callq 0x74a1
testl %eax, %eax
je 0x2b14
movq (%rbx), %rdi
pushq $0x1
popq %rsi
callq 0x7550
leaq 0xafad(%rip), %rax      # 0xdac8
movq (%rax), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, (%rax)
leaq 0xaee4(%rip), %rdi      # 0xda10
leaq 0x6796(%rip), %rsi      # 0x92c9
xorl %eax, %eax
callq 0x1200
leaq 0xb4df(%rip), %rbx      # 0xe020
movq %rbx, %rdi
callq 0x10b0
pushq $0x1
popq %rsi
movq %rax, %rdi
callq 0x1120
movq %rax, %r12
testq %rax, %rax
jne 0x2b61
callq 0x1e3c
pushq $0x1
popq %rdi
callq 0x4e5f
leaq 0xb540(%rip), %r13      # 0xe0b0
movq (%r13), %rax
incq %rax
cmpb $0x0, -0x1(%rax)
movq %rax, (%r13)
leaq 0x1(%rax), %rax
jne 0x2b77
xorl %ecx, %ecx
cmpb $0x0, -0x1(%rax,%rcx)
jne 0x2b94
cmpb $0x0, (%rax,%rcx)
je 0x2ba9
leaq (%rax,%rcx), %rdx
movq %rdx, (%r13)
movb -0x1(%rax,%rcx), %dl
movb %dl, (%r12,%rcx)
incq %rcx
jmp 0x2b87
movq %rbx, (%r13)
pushq $0x4
popq %rcx
movq %r15, %rdi
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
callq 0x53d0
xorl %r14d, %r14d
pushq $0x1
popq %rbp
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
callq 0x72ed
leaq 0xaed9(%rip), %r15      # 0xdab8
movq (%r15), %rax
leaq 0xc(%rax), %rcx
movq %rcx, 0x10(%rsp)
movq %rax, 0x28(%rsp)
addq $0xd, %rax
movq %rax, 0x8(%rsp)
movslq %r14d, %rbx
cmpb $0x0, (%r12,%rbx)
je 0x2c92
leaq (%r12,%rbx), %rdx
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %rsi
movq %rsi, (%r13)
cmpb $0x0, (%rsi)
movq %rcx, %rax
leaq 0x1(%rsi), %rsi
leaq 0x1(%rcx), %rcx
jne 0x2c15
xorl %ecx, %ecx
testb %cl, %cl
jne 0x2c3a
movq %rax, (%r13)
movb (%rax), %cl
incq %rax
jmp 0x2c2b
leaq -0x1(%rax), %rdi
movb $0x1, %cl
testb %cl, %cl
je 0x2c4f
movq %rax, (%r13)
movb (%rax), %cl
incq %rax
jmp 0x2c40
xorl %ecx, %ecx
testb %cl, %cl
jne 0x2c60
movq %rax, (%r13)
movb (%rax), %cl
incq %rax
jmp 0x2c51
decq %rax
movq %rax, 0x18(%rsp)
leaq 0xaefd(%rip), %r14      # 0xdb6c
incl (%r14)
leaq 0x18(%rsp), %rsi
callq 0x7649
decl (%r14)
leaq 0x1(%rbx), %r14
cmpb $0x0, (%r12,%rbx)
movq %r14, %rbx
jne 0x2c7f
jmp 0x2bf9
movq (%r15), %rcx
leaq 0xafec(%rip), %rax      # 0xdc88
movq %rcx, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rdi, %rcx
je 0x2cb9
movq %rcx, %r15
movq (%rcx), %rcx
cmpq %rdi, %rcx
je 0x2cb9
movq %rcx, (%rax)
jmp 0x2ca9
movq (%rdi), %rax
movq %rax, (%r15)
callq 0x1040
movq %r12, %rdi
callq 0x1040
leaq 0xb5fe(%rip), %rax      # 0xe2d1
xorl %ecx, %ecx
movb %cl, (%rax)
leaq 0xb5f2(%rip), %rax      # 0xe2d0
movb %cl, (%rax)
jmp 0x23f9
xorl %edi, %edi
testq %r15, %r15
setle %dil
jmp 0x26ee
leaq 0xb106(%rip), %rax      # 0xde00
movb $0x55, (%rax)
pushq $0x55
popq %rdi
callq 0x1e1c
pushq $0x1
popq %r14
leaq 0xb5c1(%rip), %rax      # 0xe2d1
xorl %ecx, %ecx
movb %cl, (%rax)
leaq 0xb5b5(%rip), %rax      # 0xe2d0
movb %cl, (%rax)
jmp 0x26f3
leaq 0xb2f7(%rip), %rsi      # 0xe020
movq %r13, %rdi
callq 0x1130
movl %eax, %edi
callq 0x1e48
jmp 0x23f9
xorl %edi, %edi
testq %r15, %r15
setne %dil
jmp 0x26ee
movq %r15, %rdi
shrq $0x3f, %rdi
jmp 0x26ee
leaq 0xaa8a(%rip), %rax      # 0xd7e8
movq (%rax), %rax
movslq (%r12), %rcx
leaq -0x1(%rcx), %rdx
movl %edx, (%r12)
leaq 0xb09c(%rip), %rdx      # 0xde10
movq %rax, -0x8(%rdx,%rcx,8)
leaq 0xad54(%rip), %r15      # 0xdad4
movslq (%r15), %r13
leaq 0xb1e6(%rip), %rax      # 0xdf70
movl %r13d, -0x4(%rax,%rcx,4)
movq %r13, %rdi
addq 0xa247(%rip), %rdi      # 0xcfe0
leaq 0xa930(%rip), %r12      # 0xd6d0
movq %r12, %rsi
callq 0x1080
movq %r12, %rdi
callq 0x10b0
addl %r13d, %eax
incl %eax
movl %eax, (%r15)
leaq 0x68b7(%rip), %rsi      # 0x9676
movq %r14, %rdi
callq 0x1d9c
movq (%rbp), %r14
movq %r14, %rdi
callq 0x10b0
movl %eax, %eax
movabsq $0xc00000001, %rcx      # imm = 0xC00000001
decq %rax
testl %eax, %eax
jle 0x2e14
movl %eax, %edx
andl $0x7fffffff, %edx       # imm = 0x7FFFFFFF
movzbl (%r14,%rdx), %edx
addl $-0x3a, %edx
cmpl $0x23, %edx
ja 0x2ddf
btq %rdx, %rcx
jae 0x2ddf
jmp 0x2e44
leaq 0xaff6(%rip), %rax      # 0xde00
movb $0x4e, (%rax)
pushq $0x4e
jmp 0x2627
leaq 0xa8b5(%rip), %r15      # 0xd6d0
leaq 0xa93e(%rip), %rsi      # 0xd760
movq %r15, %rdi
callq 0x1080
movq %r15, %rdi
movq %r14, %rsi
callq 0x11f0
movq %r14, %rdi
movq %r15, %rsi
callq 0x1080
movq (%rbp), %r14
pushq $0x1
popq %r13
xorl %r15d, %r15d
callq 0x1030
movq (%rax), %rcx
movsbq (%r14,%r15), %rdx
movb (%rcx,%rdx,4), %cl
movb %cl, (%r12,%r15)
incq %r15
testb %cl, %cl
jne 0x2e50
leaq 0xa8eb(%rip), %rax      # 0xd758
movq (%rax), %rdi
leaq 0x61ed(%rip), %rsi      # 0x9064
leaq 0x61ed(%rip), %rdx      # 0x906b
leaq 0xa84b(%rip), %rcx      # 0xd6d0
xorl %eax, %eax
callq 0x1140
movq (%rbp), %rdi
leaq 0x6397(%rip), %rsi      # 0x922e
callq 0x11d0
leaq 0xa945(%rip), %rsi      # 0xd7e8
movq %rax, (%rsi)
testq %rax, %rax
jne 0x2eda
leaq 0xb0d6(%rip), %rdx      # 0xdf88
movslq (%rdx), %rax
leal 0x1(%rax), %ecx
movl %ecx, (%rdx)
leaq 0xaf4f(%rip), %rcx      # 0xde10
movq (%rcx,%rax,8), %rax
movq %rax, (%rsi)
movq (%rbp), %rsi
leaq 0x642a(%rip), %rdi      # 0x92fd
xorl %edx, %edx
callq 0x1ddf
movl $0x1, (%rbx)
movl %r13d, %ebp
jmp 0x23f9