// File: /workspace/github_c_makefile_star2_O1/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 0xad5b(%rip), %r14      # 0xe098
movq (%r14), %rbx
leaq 0x6ff2(%rip), %rsi      # 0xa339
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x392f
leaq 0x7015(%rip), %rsi      # 0xa373
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x38bb
leaq 0x7005(%rip), %rsi      # 0xa37a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x38bb
leaq 0x6ff2(%rip), %rsi      # 0xa37e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x38bb
leaq 0x6fe0(%rip), %rsi      # 0xa383
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x39e1
leaq 0x6fd0(%rip), %rsi      # 0xa38a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x39e1
leaq 0x6fbf(%rip), %rsi      # 0xa390
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3c44
leaq 0x6fae(%rip), %rsi      # 0xa396
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e09
leaq 0x6f9c(%rip), %rsi      # 0xa39b
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cab
leaq 0x6f8b(%rip), %rsi      # 0xa3a1
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cab
leaq 0x6f79(%rip), %rsi      # 0xa3a6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cab
leaq 0x6f69(%rip), %rsi      # 0xa3ad
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cab
leaq 0x6f57(%rip), %rsi      # 0xa3b2
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cab
leaq 0x6f46(%rip), %rsi      # 0xa3b8
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e9d
leaq 0x6f35(%rip), %rsi      # 0xa3be
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e9d
leaq 0x6f23(%rip), %rsi      # 0xa3c3
movq %rbx, %rdi
callq 0x1130
movl %eax, %ebp
callq 0x1230
movq %rax, %rbx
movq (%rax), %rax
leaq 0xabf4(%rip), %r15      # 0xe0b0
movsbq (%r15), %rcx
movzwl (%rax,%rcx,2), %eax
testl %ebp, %ebp
je 0x4054
btl $0xd, %eax
jb 0x34e6
leaq 0xa917(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
movq (%r14), %r14
leaq 0x6eda(%rip), %rsi      # 0xa3ca
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x401c
leaq 0x6eca(%rip), %rsi      # 0xa3d1
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x401c
leaq 0x6eb8(%rip), %rsi      # 0xa3d6
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x401c
leaq 0x6ea7(%rip), %rsi      # 0xa3dc
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x407a
leaq 0x6e97(%rip), %rsi      # 0xa3e3
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x407a
leaq 0x6e85(%rip), %rsi      # 0xa3e8
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x407a
leaq 0x6e74(%rip), %rsi      # 0xa3ee
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4097
leaq 0x6e65(%rip), %rsi      # 0xa3f6
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4097
leaq 0x6e53(%rip), %rsi      # 0xa3fb
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4097
leaq 0x6e42(%rip), %rsi      # 0xa401
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4097
leaq 0x6e32(%rip), %rsi      # 0xa408
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40b4
leaq 0x6e22(%rip), %rsi      # 0xa40f
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40b4
leaq 0x6e10(%rip), %rsi      # 0xa414
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40b4
leaq 0x6dff(%rip), %rsi      # 0xa41a
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40ca
leaq 0x6df0(%rip), %rsi      # 0xa422
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40ca
leaq 0x6dde(%rip), %rsi      # 0xa427
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40ca
leaq 0x6dcd(%rip), %rsi      # 0xa42d
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40ca
leaq 0x6dbd(%rip), %rsi      # 0xa434
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40e6
leaq 0x6dac(%rip), %rsi      # 0xa43a
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x40e6
leaq 0x6d9a(%rip), %rsi      # 0xa43f
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4108
leaq 0x6d8a(%rip), %rsi      # 0xa446
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4108
leaq 0x6d78(%rip), %rsi      # 0xa44b
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4108
leaq 0x6d67(%rip), %rsi      # 0xa451
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x412e
leaq 0x6d55(%rip), %rsi      # 0xa456
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4125
leaq 0x6d45(%rip), %rsi      # 0xa45d
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4125
leaq 0x6d33(%rip), %rsi      # 0xa462
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4125
leaq 0x6d22(%rip), %rsi      # 0xa468
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4144
leaq 0x6d11(%rip), %rsi      # 0xa46e
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4144
leaq 0x6cff(%rip), %rsi      # 0xa473
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4168
leaq 0x6cef(%rip), %rsi      # 0xa47a
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4168
leaq 0x6cde(%rip), %rsi      # 0xa480
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b2
leaq 0x6ccf(%rip), %rsi      # 0xa488
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b2
leaq 0x6cbf(%rip), %rsi      # 0xa48f
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b2
leaq 0x6cae(%rip), %rsi      # 0xa495
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4266
leaq 0x6c9f(%rip), %rsi      # 0xa49d
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4209
leaq 0x6c8f(%rip), %rsi      # 0xa4a4
movq %r14, %rdi
callq 0x1130
testl %eax, %eax
je 0x4209
leaq 0x6c7d(%rip), %rsi      # 0xa4a9
movq %r14, %rdi
callq 0x1130
xorl %ebp, %ebp
testl %eax, %eax
jne 0x39d0
leaq 0x9faf(%rip), %rax      # 0xd7f4
movl $0x1, %ebp
cmpl $0x2, (%rax)
jne 0x39d0
leaq 0xa846(%rip), %r14      # 0xe0a0
movq (%r14), %rdi
movl $0x3b, %esi
callq 0x10d0
leaq 0xa21a(%rip), %rcx      # 0xda88
movq %rax, (%rcx)
testq %rax, %rax
je 0x3879
movb $0x0, (%rax)
movq (%r14), %rdi
callq 0x10b0
testl %eax, %eax
jle 0x38a5
movq (%rbx), %rsi
movq (%r14), %rdx
movl %eax, %ecx
movsbq (%rdx,%rcx), %rax
testb $0x20, 0x1(%rsi,%rax,2)
je 0x38a5
movb $0x0, (%rdx,%rcx)
leal -0x1(%rcx), %eax
cmpl $0x1, %ecx
jg 0x3885
movq (%r14), %rsi
leaq 0x6c01(%rip), %rdi      # 0xa4b0
xorl %eax, %eax
callq 0x10e0
jmp 0x39d0
callq 0x1230
movq (%rax), %rax
leaq 0xa7e6(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x38e9
leaq 0xa514(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
leaq 0xa274(%rip), %rbx      # 0xdb64
movl (%rbx), %ebp
movl $0xa, (%rbx)
leaq 0xa7a1(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x49bd
testl %eax, %eax
jne 0x3916
movq $0x63, (%rsp)
movq (%rsp), %rax
leaq -0x2(%rax), %rcx
cmpq $0xe, %rcx
ja 0x39b5
movl %eax, %ebp
jmp 0x39c9
callq 0x1230
movq (%rax), %rax
leaq 0xa772(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x395d
leaq 0xa4a0(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
xorl %eax, %eax
callq 0x9127
leaq 0xa1f5(%rip), %rax      # 0xdb60
cmpl $0x0, (%rax)
je 0x3985
leaq 0x69c7(%rip), %rdi      # 0xa33e
leaq 0x71b9(%rip), %rsi      # 0xab37
xorl %edx, %edx
callq 0x1e94
leaq 0xa1d0(%rip), %rax      # 0xdb5c
cmpl $0x0, (%rax)
je 0x39a6
leaq 0x69be(%rip), %rdi      # 0xa356
leaq 0x7198(%rip), %rsi      # 0xab37
xorl %edx, %edx
callq 0x1e94
leaq 0xa1ab(%rip), %rax      # 0xdb58
movl $0x1, (%rax)
jmp 0x39cb
leaq 0xa434(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
movl %ebp, (%rbx)
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1230
movq (%rax), %rax
leaq 0xa6c0(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3a0f
leaq 0xa3ee(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
leaq 0xa68a(%rip), %rbx      # 0xe0a0
movq (%rbx), %r15
movb (%r15), %r12b
cmpb $0x2c, %r12b
je 0x3a4d
testb %r12b, %r12b
setne %bpl
je 0x3a4f
callq 0x1030
movq (%rax), %rax
movsbq %r12b, %rcx
movb (%rax,%rcx,4), %al
movb %al, (%r15)
movq (%rbx), %rax
leaq 0x1(%rax), %r15
movq %r15, (%rbx)
movb 0x1(%rax), %r12b
jmp 0x3a1c
xorl %ebp, %ebp
movb $0x0, (%r15)
movq $0x0, (%rsp)
movq (%r14), %rdi
leaq 0x6925(%rip), %rsi      # 0xa38a
callq 0x1130
testb %bpl, %bpl
jne 0x3b25
testl %eax, %eax
jne 0x3b25
leaq 0xa58e(%rip), %rdi      # 0xe010
callq 0x8e30
testq %rax, %rax
jne 0x3b25
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x41, (%rax,%rcx,4)
jne 0x3b25
movsbq 0x2(%rdi), %rcx
cmpl $0x42, (%rax,%rcx,4)
jne 0x3b25
movsbq 0x3(%rdi), %rcx
cmpl $0x53, (%rax,%rcx,4)
jne 0x3b25
cmpb $0x2c, 0x4(%rdi)
jne 0x3b25
movsbq 0x5(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x3b25
movsbq 0x6(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x3b25
movsbq 0x7(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x3b25
cmpb $0x3d, 0x8(%rdi)
jne 0x3b25
addq $0x9, %rdi
movq %rsp, %rsi
callq 0x49bd
testl %eax, %eax
je 0x3b25
movq (%rsp), %rsi
leaq 0xa50c(%rip), %rdi      # 0xe010
movl $0x1, %edx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x8b5e
leaq 0xa123(%rip), %rax      # 0xdc40
movq (%rax), %rax
orw $0x10, 0x20(%rax)
movq (%r14), %rdi
leaq 0x6854(%rip), %rsi      # 0xa383
callq 0x1130
testl %eax, %eax
setne %al
orb %al, %bpl
jne 0x3bbd
leaq 0xa4cb(%rip), %rdi      # 0xe010
callq 0x8e30
testq %rax, %rax
jne 0x3bbd
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x3bbd
movsbq 0x2(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x3bbd
movsbq 0x3(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x3bbd
cmpb $0x3d, 0x4(%rdi)
jne 0x3bbd
addq $0x5, %rdi
movq %rsp, %rsi
callq 0x49bd
testl %eax, %eax
je 0x3bbd
movq (%rsp), %rsi
leaq 0xa474(%rip), %rdi      # 0xe010
movl $0x1, %edx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x8b5e
leaq 0xa08b(%rip), %rax      # 0xdc40
movq (%rax), %rax
orw $0x10, 0x20(%rax)
leaq 0xa05c(%rip), %rdi      # 0xdc20
callq 0x8e30
leaq 0xa070(%rip), %r14      # 0xdc40
movq %rax, (%r14)
leaq 0x9c36(%rip), %rbx      # 0xd810
movq (%rbx), %rcx
movq %rcx, 0x18(%rax)
leaq 0xa428(%rip), %rdi      # 0xe010
callq 0x8e30
movq %rax, (%r14)
testq %rax, %rax
je 0x3c0c
testb $0x10, 0x20(%rax)
jne 0x3c25
leaq 0xa1ee(%rip), %rax      # 0xddf0
movb $0x53, (%rax)
movl $0x53, %edi
jmp 0x3c1b
leaq 0xa1dd(%rip), %rax      # 0xddf0
movb $0x55, (%rax)
movl $0x55, %edi
callq 0x1ed1
jmp 0x39cb
movq 0x18(%rax), %rax
movq %rax, (%rbx)
leaq 0x9fed(%rip), %rdi      # 0xdc20
leaq 0xa3d6(%rip), %rsi      # 0xe010
callq 0x1080
jmp 0x39cb
leaq 0x9e3d(%rip), %rbx      # 0xda88
movq (%rbx), %rdi
cmpb $0x0, (%rdi)
je 0x3c69
callq 0x7db8
testl %eax, %eax
je 0x3c69
movq (%rbx), %rdi
movl $0x1, %esi
callq 0x7e93
leaq 0xa180(%rip), %rax      # 0xddf0
movl $0x1, %ebp
cmpb $0x0, (%rax)
jne 0x39d0
leaq 0xa41b(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x49bd
testl %eax, %eax
je 0x39d0
movq (%rsp), %rax
leaq 0x9b6d(%rip), %rcx      # 0xd810
movq %rax, (%rcx)
jmp 0x39d0
callq 0x1230
movq (%rax), %rax
leaq 0xa3f6(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3ce6
leaq 0x9d34(%rip), %rdi      # 0xda00
callq 0x7db8
testl %eax, %eax
je 0x3ce6
leaq 0x9d24(%rip), %rdi      # 0xda00
movl $0x1, %esi
callq 0x7e93
movq (%r14), %rax
cmpb $0x57, 0x1(%rax)
jne 0x3cfc
leaq 0x9da6(%rip), %rcx      # 0xda9c
movl $0x1, (%rcx)
cmpb $0x44, 0x1(%rax)
jne 0x3d0f
leaq 0x9d97(%rip), %rax      # 0xdaa0
movl $0x1, (%rax)
leaq 0xa5ab(%rip), %r14      # 0xe2c1
movb $0x0, (%r14)
xorl %edi, %edi
callq 0x5171
leaq 0xa598(%rip), %rax      # 0xe2c0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa590(%rip), %rax      # 0xe2c3
movb %cl, (%rax)
leaq 0xa364(%rip), %r12      # 0xe0a0
movq (%r12), %rdi
cmpb $0x0, (%rdi)
je 0x3df6
movq %rsp, %r15
leaq 0x9d49(%rip), %r13      # 0xda9c
leaq 0xa466(%rip), %rbx      # 0xe1c0
movq %r15, %rsi
callq 0x49bd
movl %eax, %ebp
testl %eax, %eax
je 0x3d92
movq (%rsp), %rax
movq $-0x10000, %rcx         # imm = 0xFFFF0000
addq %rcx, %rax
cmpq $-0x18001, %rax         # imm = 0xFFFE7FFF
ja 0x3d92
leaq 0xa06b(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
callq 0x1ed1
leaq 0xa52a(%rip), %rax      # 0xe2c3
andb %bpl, (%rax)
cmpl $0x0, (%r13)
movq (%rsp), %rax
je 0x3dba
movsbq (%r14), %rcx
leal 0x1(%rcx), %edx
movb %dl, (%r14)
movb %al, (%rbx,%rcx)
shrq $0x8, %rax
jmp 0x3dc7
movsbq (%r14), %rcx
leal 0x1(%rcx), %edx
movb %dl, (%r14)
movb %ah, (%rbx,%rcx)
addb $0x2, %cl
movb %cl, (%r14)
movsbq %dl, %rcx
movb %al, (%rbx,%rcx)
movq (%r12), %rax
incq %rax
movq %rax, (%r12)
cmpb $0x0, -0x1(%rax)
leaq 0x1(%rax), %rax
jne 0x3ddb
movq (%r12), %rdi
cmpb $0x0, (%rdi)
jne 0x3d5a
movsbq (%r14), %rax
leaq 0x9a0f(%rip), %rcx      # 0xd810
addq %rax, (%rcx)
jmp 0x39cb
callq 0x1230
movq (%rax), %rax
leaq 0xa298(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3e43
leaq 0x9c5e(%rip), %rbx      # 0xda88
movq (%rbx), %rdi
callq 0x7db8
testl %eax, %eax
je 0x3e43
movq (%rbx), %rdi
movl $0x1, %esi
callq 0x7e93
movl $0x1, %ebp
movl $0x1, %edi
callq 0x5171
leaq 0xa247(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x49bd
leaq 0xa458(%rip), %rcx      # 0xe2c3
movb %al, (%rcx)
testb %al, %al
je 0x3e84
movq (%rsp), %rax
leaq 0x9994(%rip), %rcx      # 0xd810
addq %rax, (%rcx)
jmp 0x39d0
leaq 0x9f65(%rip), %rax      # 0xddf0
movb $0x55, (%rax)
movl $0x55, %edi
callq 0x1ed1
jmp 0x39d0
callq 0x1230
movq (%rax), %rax
leaq 0xa204(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3ed8
leaq 0x9b42(%rip), %rdi      # 0xda00
callq 0x7db8
testl %eax, %eax
je 0x3ed8
leaq 0x9b32(%rip), %rdi      # 0xda00
movl $0x1, %esi
callq 0x7e93
leaq 0x9bb9(%rip), %rax      # 0xda98
movl $0x1, (%rax)
xorl %edi, %edi
callq 0x5171
leaq 0xa3cd(%rip), %rax      # 0xe2c0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa3c5(%rip), %r15      # 0xe2c3
movb %cl, (%r15)
leaq 0xa3b9(%rip), %r12      # 0xe2c1
movb $0x0, (%r12)
leaq 0xa18c(%rip), %r13      # 0xe0a0
movq (%r13), %r14
movb (%r14), %bl
testb %bl, %bl
je 0x4012
leaq 0xa296(%rip), %rbp      # 0xe1c0
movq %r14, %rdi
callq 0x42b2
testl %eax, %eax
je 0x3f97
movq (%r13), %rdx
movb (%r12), %al
leaq 0x1(%rdx), %rcx
movq %rcx, (%r13)
movb 0x1(%rdx), %sil
testb %sil, %sil
je 0x3ffb
cmpb %bl, %sil
jne 0x3f7a
leaq 0x2(%rdx), %rsi
movq %rsi, (%r13)
movb 0x2(%rdx), %dl
cmpb %bl, %dl
jne 0x3f8b
movsbq %al, %rcx
incl %eax
movb %al, (%r12)
movb %dl, (%rbp,%rcx)
movq %rsi, %rcx
jmp 0x3f8f
movsbq %al, %rdx
incl %eax
movb %al, (%r12)
movb %sil, (%rbp,%rdx)
jmp 0x3f8f
movq %rcx, (%r13)
movq %rcx, %rdx
incq %rcx
jmp 0x3f42
movq %r14, %rdi
movq %rsp, %rsi
callq 0x49bd
andb %al, (%r15)
movq (%rsp), %rax
movq $-0x100, %rcx
addq %rcx, %rax
cmpq $-0x181, %rax           # imm = 0xFE7F
ja 0x3fcf
leaq 0x9e2e(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
callq 0x1ed1
movb (%rsp), %al
movsbq (%r12), %rcx
leal 0x1(%rcx), %edx
movb %dl, (%r12)
movb %al, (%rbp,%rcx)
movq (%r13), %rax
cmpb $0x0, (%rax)
je 0x3ffb
incq %rax
movq %rax, (%r13)
cmpb $0x0, (%rax)
leaq 0x1(%rax), %rax
jne 0x3fee
movq (%r13), %rax
leaq 0x1(%rax), %r14
movq %r14, (%r13)
movb 0x1(%rax), %bl
testb %bl, %bl
jne 0x3f2a
movsbq (%r12), %rax
jmp 0x3dfa
leaq 0x9b4d(%rip), %rax      # 0xdb70
movl $0x1, (%rax)
leaq 0x9b44(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x32, (%r15)
sete %al
xorb $0x31, %al
movb %al, 0x1(%r15)
movb $0x0, 0x2(%r15)
leaq 0x9bca(%rip), %rax      # 0xdc16
movb $0x4c, (%rax)
jmp 0x39cb
btl $0xd, %eax
jb 0x406e
leaq 0x9d8f(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ed1
xorl %eax, %eax
callq 0x9127
jmp 0x39cb
leaq 0x9aef(%rip), %rax      # 0xdb70
movl $0x0, (%rax)
leaq 0x9ae6(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x31, (%r15)
jmp 0x4037
leaq 0x9ad2(%rip), %rax      # 0xdb70
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x9ac9(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x30, (%r15)
jmp 0x4037
leaq 0x9b5b(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
leaq 0x9ab7(%rip), %rax      # 0xdb7c
jmp 0x39ad
leaq 0x9aab(%rip), %rax      # 0xdb7c
movl $0x0, (%rax)
leaq 0x9b38(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
jmp 0x39cb
leaq 0x9a87(%rip), %rax      # 0xdb74
movl (%rax), %ecx
testl %ecx, %ecx
jg 0x40f7
incl %ecx
movl %ecx, (%rax)
leaq 0x9a72(%rip), %rcx      # 0xdb70
movb (%rcx), %cl
addb $0x31, %cl
cmpl $0x0, (%rax)
jmp 0x411d
leaq 0x9a65(%rip), %rax      # 0xdb74
leaq 0x9a5a(%rip), %rcx      # 0xdb70
movb (%rcx), %cl
addb $0x31, %cl
decl (%rax)
movb %cl, (%r15)
jmp 0x4037
leaq 0x9a40(%rip), %rax      # 0xdb6c
jmp 0x40d1
leaq 0x9ae1(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
leaq 0x9a2d(%rip), %rax      # 0xdb6c
jmp 0x39ad
leaq 0x9ca5(%rip), %rax      # 0xddf0
movl $0x1, %ebp
cmpb $0x0, (%rax)
jne 0x39d0
leaq 0x9ab6(%rip), %rax      # 0xdc16
movb $0x70, (%rax)
jmp 0x39d0
leaq 0x9f31(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x49bd
leaq 0x9c6f(%rip), %rcx      # 0xddf0
testl %eax, %eax
je 0x41ad
cmpb $0x0, (%rcx)
jne 0x41ad
movq (%rsp), %rdx
leaq 0x9a81(%rip), %rax      # 0xdc16
movb $0x73, (%rax)
leaq 0x9f11(%rip), %rdi      # 0xe0b0
leaq 0x630f(%rip), %rsi      # 0xa4b5
movl $0x73, %ecx
jmp 0x41e9
movb $0x45, (%rcx)
jmp 0x41ff
leaq 0x9ee7(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x49bd
testl %eax, %eax
je 0x41f5
movq (%rsp), %rdx
leaq 0x9a43(%rip), %rax      # 0xdc16
movb $0x66, (%rax)
leaq 0x9ed3(%rip), %rdi      # 0xe0b0
leaq 0x62d1(%rip), %rsi      # 0xa4b5
movl $0x66, %ecx
xorl %eax, %eax
callq 0x11f0
jmp 0x39cb
leaq 0x9bf4(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
jmp 0x3c1b
leaq 0x95e4(%rip), %rax      # 0xd7f4
movl $0x1, %ebp
cmpl $0x1, (%rax)
je 0x39d0
leaq 0x996b(%rip), %rax      # 0xdb90
movl $0x49414d2e, %ecx       # imm = 0x49414D2E
xorl (%rax), %ecx
movl $0x2e4e49, %edx         # imm = 0x2E4E49
xorl 0x3(%rax), %edx
orl %ecx, %edx
je 0x4297
leaq 0x9e61(%rip), %rax      # 0xe0a0
movq (%rax), %rsi
leaq 0x9947(%rip), %rdi      # 0xdb90
callq 0x1130
testl %eax, %eax
je 0x4297
leaq 0x9b97(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
jmp 0x3e93
leaq 0x9863(%rip), %rax      # 0xdad0
cmpb $0x0, (%rax)
jne 0x4288
leaq 0x9e27(%rip), %rax      # 0xe0a0
movq (%rax), %rsi
leaq 0x984d(%rip), %rdi      # 0xdad0
callq 0x1080
leaq 0x9987(%rip), %rax      # 0xdc16
movb $0x53, (%rax)
jmp 0x39cb
leaq 0x9e02(%rip), %rax      # 0xe0a0
movq (%rax), %rsi
leaq 0x98e8(%rip), %rdi      # 0xdb90
callq 0x1080
jmp 0x39d0