// File: /workspace/github_c_makefile_star2_O2/mist64[P]cbm6502asm/src/direct2.c
// Function: dir2dot
int dir2dot() {
	int i, j;
	long l;

	/* pass 2 directives */

	if (!strcmp(s2, ".END")) {
		if (!isspace(line[0])) display_error(error = 'F');
		clear_local();
		if (condlevel) error_msg("Conditional in progress", "", 0);
		if (macrolevel)
			error_msg("Macro definition in progress", "", 0);
		return (endflag = 1);
	}

	if (!strcmp(s2, ".RADIX") || !strcmp(s2, "RAD") ||
	    !strcmp(s2, "RADI")) {
		if (!isspace(line[0])) display_error(error = 'F');
		i = radix;                     /* save radix in case of error */
		radix = 10;                    /* for radix operation */
		if (!evaluate(s3, &l)) l = 99; /* set up for error */
		if (l > 1 && l < 17)
			i = l;
		else
			display_error(error = 'F');
		radix = i;
		return 1;
	}

	if (!strcmp(s2, ".ASECT") || !strcmp(s2, ".SECT")) {
		if (!isspace(line[0])) display_error(error = 'F');
		while ((i = (*s3 != ',') && *s3)) {
			*s3 = toupper(*s3);
			s3++;
		}
		*s3 = 0;
		l = 0;
		if (!strcmp(s2, ".SECT")) {
			if (!i &&
			    find_symbol(p3) ==
			            NULL) /* this must be a first occurance */
				if (toupper(s3[1]) == 'A' &&
				    toupper(s3[2]) == 'B' &&
				    toupper(s3[3]) == 'S' &&
				    (s3[4] == 0 || s3[4] == ','))
					if (s3[4])
						if (toupper(s3[5]) == 'L' &&
						    toupper(s3[6]) == 'O' &&
						    toupper(s3[7]) == 'C' &&
						    s3[8] == '=')
							if (evaluate(&s3[9],
							             &l)) {
								insert_symbol(
								        p3, l,
								        TRUE,
								        TRUE,
								        FALSE);
								ptr->section =
								        TRUE;
							}
		}
		if (!strcmp(s2, ".ASECT")) {
			if (!i &&
			    find_symbol(p3) ==
			            NULL) /* this must be a first occurance */
				if (toupper(s3[1]) == 'L' &&
				    toupper(s3[2]) == 'O' &&
				    toupper(s3[3]) == 'C' && s3[4] == '=')
					if (evaluate(&s3[5], &l)) {
						insert_symbol(p3, l, TRUE, TRUE,
						              FALSE);
						ptr->section = TRUE;
					}
		}
		ptr = find_symbol(cur_sect); /* current section */
		ptr->value = loc_cntr;       /* save current location counter */
		if ((ptr = find_symbol(p3)) !=
		    NULL)                   /* find new section symbol */
			if (ptr->section) { /* check that it is a section name
				             */
				loc_cntr = ptr->value; /* set location counter
				                          if found */
				strcpy(cur_sect, p3);
			} else
				display_error(
				        error = 'S'); /* invalid section name */
		else
			display_error(error = 'U'); /* section name not found */
		return 1;
	}

	if (!strcmp(s2, ".AORG")) { /* aorg ? */
		if (s1[0] && good_label(s1)) get_label(s1, 1);
		if (!error && evaluate(s3, &l)) loc_cntr = l;
		return 1;
	}

	if (!strcmp(s2, ".RMB")) {     /* reserve multiple bytes */
		if (!isspace(line[0])) /* save label if any */
			if (good_label(s1)) get_label(s1, 1);
		parses3(1);
		if ((known = evaluate(s3, &l)))
			loc_cntr += l;
		else
			display_error(error = 'U');
		return 1;
	}

	if (!strcmp(s2, ".WORD") || !strcmp(s2, ".WOR") ||
	    !strcmp(s2, ".DBYTE") || !strcmp(s2, ".DBY") ||
	    !strcmp(s2, ".DBYT")) {
		if (!isspace(line[0]))
			if (good_label(p1)) get_label(p1, 1);
		if (s2[1] == 'W') word = 1;
		if (s2[1] == 'D') dbyt = 1;
		data = 0;
		parses3(0);
		known = addr = 1;
		while (*s3) {
			if ((j = evaluate(s3, &l)))
				if (l > 0xffffL || l < -32768L)
					display_error(error = 'E');
			known &= j;
			if (word) {
				d[data++] = l & 255;
				d[data++] = l >> 8 & 255;
			} else {
				d[data++] = l >> 8 & 255;
				d[data++] = l & 255;
			}
			while (*s3++)
				; /* point to next expression if any */
		}
		loc_cntr += data;
		return 1;
	}

	if (!strcmp(s2, ".BYTE") || !strcmp(s2, ".BYT")) {
		if (!isspace(line[0]))
			if (good_label(p1)) get_label(p1, 1);
		byte = 1;
		parses3(0);
		known = addr = 1;
		data = 0;
		while (*s3) {
			if (isstring(s3)) {
				char c, delimiter = *s3;
				while ((c = *++s3)) {
					if (c != delimiter)
						d[data++] = c;
					else if (*++s3 == delimiter)
						d[data++] = *s3;
					else
						s3--;
				}
			} else {
				known &= evaluate(s3, &l);
				if (l > 255 || l < -128)
					display_error(error = 'E');
				d[data++] = l & 255;
				while (*s3) s3++;
			}
			s3++;
		}
		loc_cntr += data;
		return 1;
	}

	if (!strcmp(s2, ".LOCAL")) {
		if (!isspace(line[0])) display_error(error = 'F');
		clear_local();
		return 1;
	}

	/* list and forms control directives */

	if (!isspace(line[0])) {
		display_error(error = 'F');
	}
	if (!strcmp(s2, ".MLIST") || !strcmp(s2, ".MLI") ||
	    !strcmp(s2, ".MLIS")) {
		mlist = 1;
		line[0] = mlist + '1';
		line[1] = list ? '1' : '0';
		line[2] = 0;
		spechar = 'L';
		return 1;
	}
	if (!strcmp(s2, ".BLIST") || !strcmp(s2, ".BLI") ||
	    !strcmp(s2, ".BLIS")) {
		mlist = 0;
		line[0] = mlist + '1';
		line[1] = list ? '1' : '0';
		line[2] = 0;
		spechar = 'L';
		return 1;
	}
	if (!strcmp(s2, ".NMLIST") || !strcmp(s2, ".NML") ||
	    !strcmp(s2, ".NMLI") || !strcmp(s2, ".NMLIS")) {
		mlist = -1;
		line[0] = mlist + '1';
		line[1] = list ? '1' : '0';
		line[2] = 0;
		spechar = 'L';
		return 1;
	}
	if (!strcmp(s2, ".CLIST") || !strcmp(s2, ".CLI") ||
	    !strcmp(s2, ".CLIS")) {
		spechar = 'l';
		return (clist = 1);
	}
	if (!strcmp(s2, ".NCLIST") || !strcmp(s2, ".NCL") ||
	    !strcmp(s2, ".NCLI") || !strcmp(s2, ".NCLIS")) {
		clist = 0;
		spechar = 'l';
		return 1;
	}
	if (!strcmp(s2, ".LIST") || !strcmp(s2, ".LIS")) {
		if (list < 1) list++;
		line[0] = mlist + '1';
		line[1] = list ? '1' : '0';
		line[2] = 0;
		spechar = 'L';
		return 1;
	}
	if (!strcmp(s2, ".NLIST") || !strcmp(s2, ".NLI") ||
	    !strcmp(s2, ".NLIS")) {
		list--;
		line[0] = mlist + '1';
		line[1] = list ? '1' : '0';
		line[2] = 0;
		spechar = 'L';
		return 1;
	}
	if (!strcmp(s2, ".GEN")) {
		spechar = 'l';
		return (gen = 1);
	}
	if (!strcmp(s2, ".NOGEN") || !strcmp(s2, ".NOG") ||
	    !strcmp(s2, ".NOGE")) {
		gen = 0;
		spechar = 'l';
		return 1;
	}
	if (!strcmp(s2, ".PAGE") || !strcmp(s2, ".PAG")) {
		if (!error) spechar = 'p';
		return 1;
	}
	if (!strcmp(s2, ".SPACE") || !strcmp(s2, ".SKIP")) {
		if ((j = evaluate(s3, &l) && !error))
			sprintf(line, "%ld\0%c", l, spechar = 's');
		else
			display_error(error = 'E');
		return 1;
	}
	if (!strcmp(s2, ".FORMLN") || !strcmp(s2, ".FORML") ||
	    !strcmp(s2, ".FORM")) {
		if ((j = evaluate(s3, &l)))
			sprintf(line, "%ld\0%c", l, spechar = 'f');
		else
			display_error(error = 'E');
		return 1;
	}
	if (!strcmp(s2, ".SUBTTL")) {
		if (!*subttl) strcpy(subttl, s3);
		spechar = 'S';
		return 1;
	}
	if (!strcmp(s2, ".TITLE") || !strcmp(s2, ".NAM")) {
		if (pass == 1) return 1;
		if (strcmp(name, ".MAIN.") && strcmp(name, s3))
			display_error(error = 'F');
		else
			strcpy(name, s3);
		return 1;
	}
	if (!strcmp(s2, ".MESSG")) {
		if (pass == 2) {
			if ((s1 = strchr(s3, ';'))) /* trim comment */
				*s1 = 0;
			for (i = strlen(s3); i > 0; i--)
				if (isspace(s3[i])) /* trim trailing white space
				                     */
					s3[i] = 0;
				else
					break;
			printf("\n%s\n", s3);
		}
		return 1;
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
leaq 0xaeb9(%rip), %r15      # 0xe0a8
movq (%r15), %rbx
leaq 0x6140(%rip), %rsi      # 0x9339
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x37ce
leaq 0x6163(%rip), %rsi      # 0x9373
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3760
leaq 0x6153(%rip), %rsi      # 0x937a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3760
leaq 0x6140(%rip), %rsi      # 0x937e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3760
leaq 0x612e(%rip), %rsi      # 0x9383
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3882
leaq 0x611e(%rip), %rsi      # 0x938a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3882
leaq 0x610d(%rip), %rsi      # 0x9390
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3ab7
leaq 0x60fc(%rip), %rsi      # 0x9396
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3c6a
leaq 0x60ea(%rip), %rsi      # 0x939b
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3b1a
leaq 0x60d9(%rip), %rsi      # 0x93a1
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3b1a
leaq 0x60c7(%rip), %rsi      # 0x93a6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3b1a
leaq 0x60b7(%rip), %rsi      # 0x93ad
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3b1a
leaq 0x60a5(%rip), %rsi      # 0x93b2
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3b1a
leaq 0x6094(%rip), %rsi      # 0x93b8
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cf5
leaq 0x6083(%rip), %rsi      # 0x93be
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cf5
leaq 0x6071(%rip), %rsi      # 0x93c3
movq %rbx, %rdi
callq 0x1130
movl %eax, %ebp
callq 0x1240
movq %rax, %r14
movq (%rax), %rax
leaq 0xad52(%rip), %r12      # 0xe0c0
movsbq (%r12), %rcx
movzwl (%rax,%rcx,2), %eax
testl %ebp, %ebp
je 0x3e91
btl $0xd, %eax
jb 0x339a
leaq 0xaa74(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
movq (%r15), %rbx
leaq 0x6029(%rip), %rsi      # 0x93ca
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e56
leaq 0x6019(%rip), %rsi      # 0x93d1
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e56
leaq 0x6007(%rip), %rsi      # 0x93d6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e56
leaq 0x5ff6(%rip), %rsi      # 0x93dc
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eb5
leaq 0x5fe6(%rip), %rsi      # 0x93e3
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eb5
leaq 0x5fd4(%rip), %rsi      # 0x93e8
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eb5
leaq 0x5fc3(%rip), %rsi      # 0x93ee
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3ed0
leaq 0x5fb4(%rip), %rsi      # 0x93f6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3ed0
leaq 0x5fa2(%rip), %rsi      # 0x93fb
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3ed0
leaq 0x5f91(%rip), %rsi      # 0x9401
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3ed0
leaq 0x5f81(%rip), %rsi      # 0x9408
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eeb
leaq 0x5f71(%rip), %rsi      # 0x940f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eeb
leaq 0x5f5f(%rip), %rsi      # 0x9414
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3eeb
leaq 0x5f4e(%rip), %rsi      # 0x941a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f01
leaq 0x5f3f(%rip), %rsi      # 0x9422
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f01
leaq 0x5f2d(%rip), %rsi      # 0x9427
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f01
leaq 0x5f1c(%rip), %rsi      # 0x942d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f01
leaq 0x5f0c(%rip), %rsi      # 0x9434
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f1a
leaq 0x5efb(%rip), %rsi      # 0x943a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f1a
leaq 0x5ee9(%rip), %rsi      # 0x943f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f47
leaq 0x5ed9(%rip), %rsi      # 0x9446
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f47
leaq 0x5ec7(%rip), %rsi      # 0x944b
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f47
leaq 0x5eb6(%rip), %rsi      # 0x9451
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f6e
leaq 0x5ea4(%rip), %rsi      # 0x9456
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f65
leaq 0x5e94(%rip), %rsi      # 0x945d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f65
leaq 0x5e82(%rip), %rsi      # 0x9462
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f65
leaq 0x5e71(%rip), %rsi      # 0x9468
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f84
leaq 0x5e60(%rip), %rsi      # 0x946e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f84
leaq 0x5e4e(%rip), %rsi      # 0x9473
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3fa6
leaq 0x5e3e(%rip), %rsi      # 0x947a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3fa6
leaq 0x5e2d(%rip), %rsi      # 0x9480
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3fed
leaq 0x5e1e(%rip), %rsi      # 0x9488
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3fed
leaq 0x5e0e(%rip), %rsi      # 0x948f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3fed
leaq 0x5dfd(%rip), %rsi      # 0x9495
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x409a
leaq 0x5dee(%rip), %rsi      # 0x949d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x403f
leaq 0x5dde(%rip), %rsi      # 0x94a4
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x403f
leaq 0x5dcc(%rip), %rsi      # 0x94a9
movq %rbx, %rdi
callq 0x1130
xorl %ebx, %ebx
testl %eax, %eax
jne 0x3871
leaq 0xa10e(%rip), %rax      # 0xd804
pushq $0x1
popq %rbx
cmpl $0x2, (%rax)
jne 0x3871
leaq 0xa9a7(%rip), %r12      # 0xe0b0
movq (%r12), %r15
pushq $0x3b
popq %rsi
movq %r15, %rdi
callq 0x10d0
leaq 0xa379(%rip), %rcx      # 0xda98
movq %rax, (%rcx)
testq %rax, %rax
je 0x372e
movb $0x0, (%rax)
movq (%r12), %r15
movq %r15, %rdi
callq 0x10b0
testl %eax, %eax
jle 0x40df
movq (%r14), %rdx
movl %eax, %ecx
movsbq (%r15,%rcx), %rsi
testb $0x20, 0x1(%rdx,%rsi,2)
je 0x40df
movb $0x0, (%r15,%rcx)
decl %eax
movq (%r12), %r15
jmp 0x3736
callq 0x1240
movq (%rax), %rax
leaq 0xa951(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x378c
leaq 0xa67f(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xa3e1(%rip), %rbx      # 0xdb74
movl (%rbx), %ebp
movl $0xa, (%rbx)
leaq 0xa90e(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x479e
testl %eax, %eax
je 0x3852
movq (%rsp), %rax
leaq -0x2(%rax), %rcx
cmpq $0xe, %rcx
ja 0x385a
movl %eax, %ebp
jmp 0x386c
callq 0x1240
movq (%rax), %rax
leaq 0xa8e3(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x37fa
leaq 0xa611(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
xorl %eax, %eax
callq 0x86cd
leaq 0xa368(%rip), %rax      # 0xdb70
cmpl $0x0, (%rax)
je 0x3822
leaq 0x5b2a(%rip), %rdi      # 0x933e
leaq 0x62fe(%rip), %rsi      # 0x9b19
xorl %edx, %edx
callq 0x1ddf
leaq 0xa343(%rip), %rax      # 0xdb6c
cmpl $0x0, (%rax)
je 0x3843
leaq 0x5b21(%rip), %rdi      # 0x9356
leaq 0x62dd(%rip), %rsi      # 0x9b19
xorl %edx, %edx
callq 0x1ddf
leaq 0xa31e(%rip), %rax      # 0xdb68
movl $0x1, (%rax)
jmp 0x386e
movq $0x63, (%rsp)
leaq 0xa59f(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
movl %ebp, (%rbx)
pushq $0x1
popq %rbx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1240
movq (%rax), %rax
leaq 0xa82f(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x38ae
leaq 0xa55d(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
leaq 0xa7fb(%rip), %rbx      # 0xe0b0
movq (%rbx), %r14
movzbl (%r14), %eax
testl %eax, %eax
je 0x38e3
cmpl $0x2c, %eax
je 0x38e3
movsbq %al, %r12
callq 0x1030
movq (%rax), %rax
movb (%rax,%r12,4), %al
movb %al, (%r14)
movq (%rbx), %r14
incq %r14
movq %r14, (%rbx)
jmp 0x38b8
movb $0x0, (%r14)
andq $0x0, (%rsp)
movq (%r15), %rdi
leaq 0x5a94(%rip), %rsi      # 0x938a
callq 0x1130
testl %eax, %eax
jne 0x39a8
leaq 0xa716(%rip), %rdi      # 0xe020
callq 0x83d7
testq %rax, %rax
jne 0x39a8
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x41, (%rax,%rcx,4)
jne 0x39a8
movsbq 0x2(%rdi), %rcx
cmpl $0x42, (%rax,%rcx,4)
jne 0x39a8
movsbq 0x3(%rdi), %rcx
cmpl $0x53, (%rax,%rcx,4)
jne 0x39a8
cmpb $0x2c, 0x4(%rdi)
jne 0x39a8
movsbq 0x5(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x39a8
movsbq 0x6(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x39a8
movsbq 0x7(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x39a8
cmpb $0x3d, 0x8(%rdi)
jne 0x39a8
addq $0x9, %rdi
movq %rsp, %rsi
callq 0x479e
testl %eax, %eax
je 0x39a8
movq (%rsp), %rsi
leaq 0xa694(%rip), %rdi      # 0xe020
pushq $0x1
popq %rcx
movl %ecx, %edx
xorl %r8d, %r8d
callq 0x812d
leaq 0xa2b0(%rip), %rax      # 0xdc50
movq (%rax), %rax
orw $0x10, 0x20(%rax)
movq (%r15), %rdi
leaq 0x59d1(%rip), %rsi      # 0x9383
callq 0x1130
testl %eax, %eax
jne 0x3a35
leaq 0xa65e(%rip), %rdi      # 0xe020
callq 0x83d7
testq %rax, %rax
jne 0x3a35
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x3a35
movsbq 0x2(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x3a35
movsbq 0x3(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x3a35
cmpb $0x3d, 0x4(%rdi)
jne 0x3a35
addq $0x5, %rdi
movq %rsp, %rsi
callq 0x479e
testl %eax, %eax
je 0x3a35
movq (%rsp), %rsi
leaq 0xa607(%rip), %rdi      # 0xe020
pushq $0x1
popq %rcx
movl %ecx, %edx
xorl %r8d, %r8d
callq 0x812d
leaq 0xa223(%rip), %rax      # 0xdc50
movq (%rax), %rax
orw $0x10, 0x20(%rax)
leaq 0xa1f4(%rip), %rdi      # 0xdc30
callq 0x83d7
leaq 0xa208(%rip), %r14      # 0xdc50
movq %rax, (%r14)
leaq 0x9dce(%rip), %rbx      # 0xd820
movq (%rbx), %rcx
movq %rcx, 0x18(%rax)
leaq 0xa5c0(%rip), %rdi      # 0xe020
callq 0x83d7
movq %rax, (%r14)
testq %rax, %rax
je 0x3a81
testb $0x10, 0x20(%rax)
jne 0x3a98
leaq 0xa386(%rip), %rax      # 0xde00
movb $0x53, (%rax)
pushq $0x53
jmp 0x3a8d
leaq 0xa378(%rip), %rax      # 0xde00
movb $0x55, (%rax)
pushq $0x55
popq %rdi
callq 0x1e1c
jmp 0x386e
movq 0x18(%rax), %rax
movq %rax, (%rbx)
leaq 0xa18a(%rip), %rdi      # 0xdc30
leaq 0xa573(%rip), %rsi      # 0xe020
callq 0x1080
jmp 0x386e
leaq 0x9fda(%rip), %rbx      # 0xda98
movq (%rbx), %rdi
cmpb $0x0, (%rdi)
je 0x3ada
callq 0x74a1
testl %eax, %eax
je 0x3ada
movq (%rbx), %rdi
pushq $0x1
popq %rsi
callq 0x7550
leaq 0xa31f(%rip), %rax      # 0xde00
pushq $0x1
popq %rbx
cmpb $0x0, (%rax)
jne 0x3871
leaq 0xa5bc(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x479e
testl %eax, %eax
je 0x3871
movq (%rsp), %rax
leaq 0x9d0e(%rip), %rcx      # 0xd820
movq %rax, (%rcx)
jmp 0x3871
callq 0x1240
movq (%rax), %rax
leaq 0xa597(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3b53
leaq 0x9ed5(%rip), %rdi      # 0xda10
callq 0x74a1
testl %eax, %eax
je 0x3b53
leaq 0x9ec5(%rip), %rdi      # 0xda10
pushq $0x1
popq %rsi
callq 0x7550
movq (%r15), %rax
movb 0x1(%rax), %cl
cmpb $0x57, %cl
jne 0x3b6e
leaq 0x9f47(%rip), %rcx      # 0xdaac
movl $0x1, (%rcx)
movb 0x1(%rax), %cl
cmpb $0x44, %cl
jne 0x3b80
leaq 0x9f36(%rip), %rax      # 0xdab0
movl $0x1, (%rax)
leaq 0xa74a(%rip), %r15      # 0xe2d1
movb $0x0, (%r15)
xorl %edi, %edi
callq 0x4e5f
leaq 0xa737(%rip), %rax      # 0xe2d0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa72f(%rip), %rax      # 0xe2d3
movb %cl, (%rax)
leaq 0xa503(%rip), %r13      # 0xe0b0
movq (%r13), %rdi
movq %rsp, %rbx
leaq 0x9ef1(%rip), %r12      # 0xdaac
leaq 0xa60e(%rip), %rbp      # 0xe1d0
cmpb $0x0, (%rdi)
je 0x3c57
movq %rbx, %rsi
callq 0x479e
movl %eax, %r14d
testl %eax, %eax
je 0x3c02
movq (%rsp), %rax
movq $-0x10000, %rcx         # imm = 0xFFFF0000
addq %rcx, %rax
cmpq $-0x18001, %rax         # imm = 0xFFFE7FFF
ja 0x3c02
leaq 0xa209(%rip), %rax      # 0xde00
movb $0x45, (%rax)
pushq $0x45
popq %rdi
callq 0x1e1c
leaq 0xa6ca(%rip), %rax      # 0xe2d3
andb %r14b, (%rax)
cmpl $0x0, (%r12)
movq (%rsp), %rax
je 0x3c25
movsbq (%r15), %rcx
movb %al, (%rbp,%rcx)
shrq $0x8, %rax
jmp 0x3c2d
movsbq (%r15), %rcx
movb %ah, (%rbp,%rcx)
leal 0x1(%rcx), %edx
movsbq %dl, %rdx
movb %al, (%rbp,%rdx)
addb $0x2, %cl
movb %cl, (%r15)
movq (%r13), %rax
leaq 0x1(%rax), %rdi
movq %rdi, (%r13)
cmpb $0x0, (%rax)
movq %rdi, %rax
jne 0x3c42
jmp 0x3bc2
movsbq (%r15), %rax
leaq 0x9bbe(%rip), %rcx      # 0xd820
addq %rax, (%rcx)
jmp 0x386e
callq 0x1240
movq (%rax), %rax
leaq 0xa447(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3ca2
leaq 0x9e0d(%rip), %rbx      # 0xda98
movq (%rbx), %rdi
callq 0x74a1
testl %eax, %eax
je 0x3ca2
movq (%rbx), %rdi
pushq $0x1
popq %rsi
callq 0x7550
pushq $0x1
popq %rbx
movl %ebx, %edi
callq 0x4e5f
leaq 0xa3fd(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x479e
leaq 0xa60e(%rip), %rcx      # 0xe2d3
movb %al, (%rcx)
testb %al, %al
je 0x3cde
movq (%rsp), %rax
leaq 0x9b4a(%rip), %rcx      # 0xd820
addq %rax, (%rcx)
jmp 0x3871
leaq 0xa11b(%rip), %rax      # 0xde00
movb $0x55, (%rax)
pushq $0x55
popq %rdi
callq 0x1e1c
jmp 0x3871
callq 0x1240
movq (%rax), %rax
leaq 0xa3bc(%rip), %rcx      # 0xe0c0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3d2e
leaq 0x9cfa(%rip), %rdi      # 0xda10
callq 0x74a1
testl %eax, %eax
je 0x3d2e
leaq 0x9cea(%rip), %rdi      # 0xda10
pushq $0x1
popq %rsi
callq 0x7550
leaq 0x9d73(%rip), %rax      # 0xdaa8
movl $0x1, (%rax)
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x4e5f
leaq 0xa585(%rip), %rax      # 0xe2d0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa57d(%rip), %rax      # 0xe2d3
movb %cl, (%rax)
leaq 0xa572(%rip), %r12      # 0xe2d1
movb $0x0, (%r12)
leaq 0xa345(%rip), %r13      # 0xe0b0
movq (%r13), %r14
leaq 0xa45a(%rip), %rbp      # 0xe1d0
movb (%r14), %r15b
testb %r15b, %r15b
je 0x3e4d
movq %r14, %rdi
callq 0x40f5
testl %eax, %eax
je 0x3dec
addq $0x2, %r14
movq %r14, %rax
leaq -0x1(%rax), %r14
movq %r14, (%r13)
movb -0x1(%rax), %dl
testb %dl, %dl
je 0x3ddd
movsbq %bl, %rcx
cmpb %r15b, %dl
jne 0x3dbf
movq %rax, (%r13)
cmpb %r15b, (%rax)
je 0x3dcc
movq %r14, (%r13)
incq %rax
jmp 0x3d95
leal 0x1(%rcx), %ebx
movb %bl, (%r12)
movb %dl, (%rbp,%rcx)
jmp 0x3d8e
leal 0x1(%rcx), %ebx
movb %bl, (%r12)
movb %r15b, (%rbp,%rcx)
movq %rax, %r14
jmp 0x3d8e
decq %rax
movq %rax, %r14
incq %r14
movq %r14, (%r13)
jmp 0x3d76
movq %r14, %rdi
movq %rsp, %rsi
callq 0x479e
leaq 0xa4d5(%rip), %rcx      # 0xe2d3
andb %al, (%rcx)
movq (%rsp), %rax
leaq -0x100(%rax), %rcx
cmpq $-0x181, %rcx           # imm = 0xFE7F
ja 0x3e2a
leaq 0x9fe5(%rip), %rax      # 0xde00
movb $0x45, (%rax)
pushq $0x45
popq %rdi
callq 0x1e1c
movq (%rsp), %rax
movsbq (%r12), %rcx
leal 0x1(%rcx), %ebx
movb %bl, (%r12)
movb %al, (%rbp,%rcx)
movq (%r13), %r14
cmpb $0x0, (%r14)
je 0x3de3
incq %r14
movq %r14, (%r13)
jmp 0x3e3e
movsbq %bl, %rax
jmp 0x3c5b
leaq 0x9d23(%rip), %rax      # 0xdb80
movl $0x1, (%rax)
leaq 0x9d1a(%rip), %rax      # 0xdb84
cmpl $0x0, (%rax)
movb $0x32, (%r12)
sete %al
xorb $0x31, %al
movb %al, 0x1(%r12)
movb $0x0, 0x2(%r12)
leaq 0x9d9d(%rip), %rax      # 0xdc26
movb $0x4c, (%rax)
jmp 0x386e
btl $0xd, %eax
jb 0x3ea9
leaq 0x9f62(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
popq %rdi
callq 0x1e1c
xorl %eax, %eax
callq 0x86cd
jmp 0x386e
leaq 0x9cc4(%rip), %rax      # 0xdb80
andl $0x0, (%rax)
leaq 0x9cbe(%rip), %rax      # 0xdb84
cmpl $0x0, (%rax)
movb $0x31, (%r12)
jmp 0x3e72
leaq 0x9ca9(%rip), %rax      # 0xdb80
orl $-0x1, (%rax)
leaq 0x9ca3(%rip), %rax      # 0xdb84
cmpl $0x0, (%rax)
movb $0x30, (%r12)
jmp 0x3e72
leaq 0x9d34(%rip), %rax      # 0xdc26
movb $0x6c, (%rax)
leaq 0x9c90(%rip), %rax      # 0xdb8c
jmp 0x384a
leaq 0x9c84(%rip), %rax      # 0xdb8c
andl $0x0, (%rax)
leaq 0x9d14(%rip), %rax      # 0xdc26
movb $0x6c, (%rax)
jmp 0x386e
leaq 0x9c63(%rip), %rcx      # 0xdb84
movl (%rcx), %edx
movb $0x31, %al
testl %edx, %edx
jg 0x3f32
incl %edx
sete %al
movl %edx, (%rcx)
xorb $0x31, %al
leaq 0x9c47(%rip), %rcx      # 0xdb80
movb (%rcx), %cl
addb $0x31, %cl
movb %cl, (%r12)
jmp 0x3e77
leaq 0x9c36(%rip), %rax      # 0xdb84
leaq 0x9c2b(%rip), %rcx      # 0xdb80
movb (%rcx), %cl
addb $0x31, %cl
decl (%rax)
movb %cl, (%r12)
jmp 0x3e72
leaq 0x9c10(%rip), %rax      # 0xdb7c
jmp 0x3f08
leaq 0x9cb1(%rip), %rax      # 0xdc26
movb $0x6c, (%rax)
leaq 0x9bfd(%rip), %rax      # 0xdb7c
jmp 0x384a
leaq 0x9e75(%rip), %rax      # 0xde00
pushq $0x1
popq %rbx
cmpb $0x0, (%rax)
jne 0x3871
leaq 0x9c88(%rip), %rax      # 0xdc26
movb $0x70, (%rax)
jmp 0x3871
leaq 0xa103(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x479e
leaq 0x9e41(%rip), %rcx      # 0xde00
testl %eax, %eax
je 0x3fe8
cmpb $0x0, (%rcx)
jne 0x3fe8
movq (%rsp), %rdx
leaq 0x9c53(%rip), %rax      # 0xdc26
movb $0x73, (%rax)
leaq 0xa0e3(%rip), %rdi      # 0xe0c0
leaq 0x54d1(%rip), %rsi      # 0x94b5
pushq $0x73
jmp 0x4021
movb $0x45, (%rcx)
jmp 0x4038
leaq 0xa0bc(%rip), %rax      # 0xe0b0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x479e
testl %eax, %eax
je 0x402e
movq (%rsp), %rdx
leaq 0x9c18(%rip), %rax      # 0xdc26
movb $0x66, (%rax)
leaq 0xa0a8(%rip), %rdi      # 0xe0c0
leaq 0x5496(%rip), %rsi      # 0x94b5
pushq $0x66
popq %rcx
xorl %eax, %eax
callq 0x1200
jmp 0x386e
leaq 0x9dcb(%rip), %rax      # 0xde00
movb $0x45, (%rax)
pushq $0x45
jmp 0x3a8d
leaq 0x97be(%rip), %rax      # 0xd804
pushq $0x1
popq %rbx
cmpl $0x1, (%rax)
je 0x3871
leaq 0x9b47(%rip), %rdi      # 0xdba0
leaq 0x51d0(%rip), %rsi      # 0x9230
pushq $0x7
popq %rdx
callq 0x11a0
leaq 0xa041(%rip), %rcx      # 0xe0b0
movq (%rcx), %r14
testl %eax, %eax
je 0x40cb
leaq 0x9b23(%rip), %rdi      # 0xdba0
movq %r14, %rsi
callq 0x1130
testl %eax, %eax
je 0x40cb
leaq 0x9d70(%rip), %rax      # 0xde00
movb $0x46, (%rax)
pushq $0x46
jmp 0x3cea
leaq 0x9a3f(%rip), %rax      # 0xdae0
cmpb $0x0, (%rax)
jne 0x40bc
leaq 0xa003(%rip), %rax      # 0xe0b0
movq (%rax), %rsi
leaq 0x9a29(%rip), %rdi      # 0xdae0
callq 0x1080
leaq 0x9b63(%rip), %rax      # 0xdc26
movb $0x53, (%rax)
jmp 0x386e
leaq 0x9ace(%rip), %rdi      # 0xdba0
movq %r14, %rsi
callq 0x1080
jmp 0x3871
leaq 0x53ca(%rip), %rdi      # 0x94b0
movq %r15, %rsi
xorl %eax, %eax
callq 0x10e0
jmp 0x3871