// File: /workspace/github_c_makefile_star2_O3/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 0xace1(%rip), %r15      # 0xe098
movq (%r15), %rbx
leaq 0x6f78(%rip), %rsi      # 0xa339
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x39b4
leaq 0x6f9b(%rip), %rsi      # 0xa373
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3944
leaq 0x6f8b(%rip), %rsi      # 0xa37a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3944
leaq 0x6f78(%rip), %rsi      # 0xa37e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3944
leaq 0x6f66(%rip), %rsi      # 0xa383
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3a6e
leaq 0x6f56(%rip), %rsi      # 0xa38a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3a6e
leaq 0x6f45(%rip), %rsi      # 0xa390
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3cb7
leaq 0x6f34(%rip), %rsi      # 0xa396
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3e5f
leaq 0x6f22(%rip), %rsi      # 0xa39b
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3d1e
leaq 0x6f11(%rip), %rsi      # 0xa3a1
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3d1e
leaq 0x6eff(%rip), %rsi      # 0xa3a6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3d1e
leaq 0x6eef(%rip), %rsi      # 0xa3ad
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3d1e
leaq 0x6edd(%rip), %rsi      # 0xa3b2
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3d1e
leaq 0x6ecc(%rip), %rsi      # 0xa3b8
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f09
leaq 0x6ebb(%rip), %rsi      # 0xa3be
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x3f09
leaq 0x6ea9(%rip), %rsi      # 0xa3c3
movq %rbx, %rdi
callq 0x1130
movl %eax, %ebp
callq 0x1230
movq %rax, %r14
movq (%rax), %rax
leaq 0xab7a(%rip), %r12      # 0xe0b0
movsbq (%r12), %rcx
movzwl (%rax,%rcx,2), %eax
testl %ebp, %ebp
je 0x40ce
btl $0xd, %eax
jb 0x3564
leaq 0xa89c(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
movq (%r15), %rbx
leaq 0x6e5f(%rip), %rsi      # 0xa3ca
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4093
leaq 0x6e4f(%rip), %rsi      # 0xa3d1
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4093
leaq 0x6e3d(%rip), %rsi      # 0xa3d6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4093
leaq 0x6e2c(%rip), %rsi      # 0xa3dc
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x40f4
leaq 0x6e1c(%rip), %rsi      # 0xa3e3
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x40f4
leaq 0x6e0a(%rip), %rsi      # 0xa3e8
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x40f4
leaq 0x6df9(%rip), %rsi      # 0xa3ee
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4112
leaq 0x6dea(%rip), %rsi      # 0xa3f6
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4112
leaq 0x6dd8(%rip), %rsi      # 0xa3fb
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4112
leaq 0x6dc7(%rip), %rsi      # 0xa401
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4112
leaq 0x6db7(%rip), %rsi      # 0xa408
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4133
leaq 0x6da7(%rip), %rsi      # 0xa40f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4133
leaq 0x6d95(%rip), %rsi      # 0xa414
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4133
leaq 0x6d84(%rip), %rsi      # 0xa41a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4149
leaq 0x6d75(%rip), %rsi      # 0xa422
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4149
leaq 0x6d63(%rip), %rsi      # 0xa427
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4149
leaq 0x6d52(%rip), %rsi      # 0xa42d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4149
leaq 0x6d42(%rip), %rsi      # 0xa434
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4165
leaq 0x6d31(%rip), %rsi      # 0xa43a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4165
leaq 0x6d1f(%rip), %rsi      # 0xa43f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4192
leaq 0x6d0f(%rip), %rsi      # 0xa446
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4192
leaq 0x6cfd(%rip), %rsi      # 0xa44b
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4192
leaq 0x6cec(%rip), %rsi      # 0xa451
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b9
leaq 0x6cda(%rip), %rsi      # 0xa456
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b0
leaq 0x6cca(%rip), %rsi      # 0xa45d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b0
leaq 0x6cb8(%rip), %rsi      # 0xa462
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41b0
leaq 0x6ca7(%rip), %rsi      # 0xa468
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41cf
leaq 0x6c96(%rip), %rsi      # 0xa46e
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41cf
leaq 0x6c84(%rip), %rsi      # 0xa473
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41f3
leaq 0x6c74(%rip), %rsi      # 0xa47a
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x41f3
leaq 0x6c63(%rip), %rsi      # 0xa480
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x423d
leaq 0x6c54(%rip), %rsi      # 0xa488
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x423d
leaq 0x6c44(%rip), %rsi      # 0xa48f
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x423d
leaq 0x6c33(%rip), %rsi      # 0xa495
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x42f4
leaq 0x6c24(%rip), %rsi      # 0xa49d
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4294
leaq 0x6c14(%rip), %rsi      # 0xa4a4
movq %rbx, %rdi
callq 0x1130
testl %eax, %eax
je 0x4294
leaq 0x6c02(%rip), %rsi      # 0xa4a9
movq %rbx, %rdi
callq 0x1130
xorl %ebx, %ebx
testl %eax, %eax
jne 0x3a5d
leaq 0x9f34(%rip), %rax      # 0xd7f4
movl $0x1, %ebx
cmpl $0x2, (%rax)
jne 0x3a5d
leaq 0xa7cb(%rip), %r12      # 0xe0a0
movq (%r12), %r15
movq %r15, %rdi
movl $0x3b, %esi
callq 0x10d0
leaq 0xa19b(%rip), %rcx      # 0xda88
movq %rax, (%rcx)
testq %rax, %rax
je 0x38fc
movb $0x0, (%rax)
movq (%r12), %r15
movq %r15, %rdi
callq 0x10b0
testl %eax, %eax
jle 0x392e
movq (%r14), %rdx
movq (%r12), %r15
movl %eax, %ecx
movsbq (%r15,%rcx), %rax
testb $0x20, 0x1(%rdx,%rax,2)
je 0x392e
movb $0x0, (%r15,%rcx)
leal -0x1(%rcx), %eax
cmpl $0x1, %ecx
jg 0x3908
movq (%r12), %r15
leaq 0x6b7b(%rip), %rdi      # 0xa4b0
movq %r15, %rsi
xorl %eax, %eax
callq 0x10e0
jmp 0x3a5d
callq 0x1230
movq (%rax), %rax
leaq 0xa75d(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3972
leaq 0xa48b(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
leaq 0xa1eb(%rip), %rbx      # 0xdb64
movl (%rbx), %ebp
movl $0xa, (%rbx)
leaq 0xa718(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x4a37
testl %eax, %eax
je 0x3a3a
movq (%rsp), %rax
leaq -0x2(%rax), %rcx
cmpq $0xe, %rcx
ja 0x3a42
movl %eax, %ebp
jmp 0x3a56
callq 0x1230
movq (%rax), %rax
leaq 0xa6ed(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x39e2
leaq 0xa41b(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
xorl %eax, %eax
callq 0x915a
leaq 0xa170(%rip), %rax      # 0xdb60
cmpl $0x0, (%rax)
je 0x3a0a
leaq 0x6942(%rip), %rdi      # 0xa33e
leaq 0x7134(%rip), %rsi      # 0xab37
xorl %edx, %edx
callq 0x1e8b
leaq 0xa14b(%rip), %rax      # 0xdb5c
cmpl $0x0, (%rax)
je 0x3a2b
leaq 0x6939(%rip), %rdi      # 0xa356
leaq 0x7113(%rip), %rsi      # 0xab37
xorl %edx, %edx
callq 0x1e8b
leaq 0xa126(%rip), %rax      # 0xdb58
movl $0x1, (%rax)
jmp 0x3a58
movq $0x63, (%rsp)
leaq 0xa3a7(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
movl %ebp, (%rbx)
movl $0x1, %ebx
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x1230
movq (%rax), %rax
leaq 0xa633(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3a9c
leaq 0xa361(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
leaq 0xa5fd(%rip), %rbx      # 0xe0a0
movq (%rbx), %r14
movzbl (%r14), %eax
testl %eax, %eax
je 0x3ad1
cmpl $0x2c, %eax
je 0x3ad1
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 0x3aa6
movb $0x0, (%r14)
movq $0x0, (%rsp)
movq (%r15), %rdi
leaq 0x68a3(%rip), %rsi      # 0xa38a
callq 0x1130
testl %eax, %eax
jne 0x3b9e
leaq 0xa515(%rip), %rdi      # 0xe010
callq 0x8e31
testq %rax, %rax
jne 0x3b9e
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x41, (%rax,%rcx,4)
jne 0x3b9e
movsbq 0x2(%rdi), %rcx
cmpl $0x42, (%rax,%rcx,4)
jne 0x3b9e
movsbq 0x3(%rdi), %rcx
cmpl $0x53, (%rax,%rcx,4)
jne 0x3b9e
cmpb $0x2c, 0x4(%rdi)
jne 0x3b9e
movsbq 0x5(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x3b9e
movsbq 0x6(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x3b9e
movsbq 0x7(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x3b9e
cmpb $0x3d, 0x8(%rdi)
jne 0x3b9e
addq $0x9, %rdi
movq %rsp, %rsi
callq 0x4a37
testl %eax, %eax
je 0x3b9e
movq (%rsp), %rsi
leaq 0xa493(%rip), %rdi      # 0xe010
movl $0x1, %edx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x8b70
leaq 0xa0aa(%rip), %rax      # 0xdc40
movq (%rax), %rax
orw $0x10, 0x20(%rax)
movq (%r15), %rdi
leaq 0x67db(%rip), %rsi      # 0xa383
callq 0x1130
testl %eax, %eax
jne 0x3c30
leaq 0xa458(%rip), %rdi      # 0xe010
callq 0x8e31
testq %rax, %rax
jne 0x3c30
callq 0x1030
movq (%rax), %rax
movq (%rbx), %rdi
movsbq 0x1(%rdi), %rcx
cmpl $0x4c, (%rax,%rcx,4)
jne 0x3c30
movsbq 0x2(%rdi), %rcx
cmpl $0x4f, (%rax,%rcx,4)
jne 0x3c30
movsbq 0x3(%rdi), %rcx
cmpl $0x43, (%rax,%rcx,4)
jne 0x3c30
cmpb $0x3d, 0x4(%rdi)
jne 0x3c30
addq $0x5, %rdi
movq %rsp, %rsi
callq 0x4a37
testl %eax, %eax
je 0x3c30
movq (%rsp), %rsi
leaq 0xa401(%rip), %rdi      # 0xe010
movl $0x1, %edx
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x8b70
leaq 0xa018(%rip), %rax      # 0xdc40
movq (%rax), %rax
orw $0x10, 0x20(%rax)
leaq 0x9fe9(%rip), %rdi      # 0xdc20
callq 0x8e31
leaq 0x9ffd(%rip), %r14      # 0xdc40
movq %rax, (%r14)
leaq 0x9bc3(%rip), %rbx      # 0xd810
movq (%rbx), %rcx
movq %rcx, 0x18(%rax)
leaq 0xa3b5(%rip), %rdi      # 0xe010
callq 0x8e31
movq %rax, (%r14)
testq %rax, %rax
je 0x3c7f
testb $0x10, 0x20(%rax)
jne 0x3c98
leaq 0xa17b(%rip), %rax      # 0xddf0
movb $0x53, (%rax)
movl $0x53, %edi
jmp 0x3c8e
leaq 0xa16a(%rip), %rax      # 0xddf0
movb $0x55, (%rax)
movl $0x55, %edi
callq 0x1ec8
jmp 0x3a58
movq 0x18(%rax), %rax
movq %rax, (%rbx)
leaq 0x9f7a(%rip), %rdi      # 0xdc20
leaq 0xa363(%rip), %rsi      # 0xe010
callq 0x1080
jmp 0x3a58
leaq 0x9dca(%rip), %rbx      # 0xda88
movq (%rbx), %rdi
cmpb $0x0, (%rdi)
je 0x3cdc
callq 0x7da0
testl %eax, %eax
je 0x3cdc
movq (%rbx), %rdi
movl $0x1, %esi
callq 0x7e7b
leaq 0xa10d(%rip), %rax      # 0xddf0
movl $0x1, %ebx
cmpb $0x0, (%rax)
jne 0x3a5d
leaq 0xa3a8(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x4a37
testl %eax, %eax
je 0x3a5d
movq (%rsp), %rax
leaq 0x9afa(%rip), %rcx      # 0xd810
movq %rax, (%rcx)
jmp 0x3a5d
callq 0x1230
movq (%rax), %rax
leaq 0xa383(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3d59
leaq 0x9cc1(%rip), %rdi      # 0xda00
callq 0x7da0
testl %eax, %eax
je 0x3d59
leaq 0x9cb1(%rip), %rdi      # 0xda00
movl $0x1, %esi
callq 0x7e7b
movq (%r15), %rax
movb 0x1(%rax), %cl
cmpb $0x57, %cl
jne 0x3d74
leaq 0x9d31(%rip), %rcx      # 0xda9c
movl $0x1, (%rcx)
movb 0x1(%rax), %cl
cmpb $0x44, %cl
jne 0x3d86
leaq 0x9d20(%rip), %rax      # 0xdaa0
movl $0x1, (%rax)
leaq 0xa534(%rip), %r14      # 0xe2c1
movb $0x0, (%r14)
xorl %edi, %edi
callq 0x5204
leaq 0xa521(%rip), %rax      # 0xe2c0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa519(%rip), %rax      # 0xe2c3
movb %cl, (%rax)
leaq 0xa2ed(%rip), %r12      # 0xe0a0
movq (%r12), %rdi
cmpb $0x0, (%rdi)
je 0x3eda
movq %rsp, %r15
leaq 0x9cd2(%rip), %r13      # 0xda9c
leaq 0xa3ef(%rip), %rbx      # 0xe1c0
movq %r15, %rsi
callq 0x4a37
movl %eax, %ebp
testl %eax, %eax
je 0x3e09
movq (%rsp), %rax
movq $-0x10000, %rcx         # imm = 0xFFFF0000
addq %rcx, %rax
cmpq $-0x18001, %rax         # imm = 0xFFFE7FFF
ja 0x3e09
leaq 0x9ff4(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
callq 0x1ec8
leaq 0xa4b3(%rip), %rax      # 0xe2c3
andb %bpl, (%rax)
cmpl $0x0, (%r13)
movq (%rsp), %rcx
je 0x3e2b
movsbq (%r14), %rax
movb %cl, (%rbx,%rax)
shrq $0x8, %rcx
jmp 0x3e32
movsbq (%r14), %rax
movb %ch, (%rbx,%rax)
leal 0x1(%rax), %edx
movsbq %dl, %rdx
movb %cl, (%rbx,%rdx)
addb $0x2, %al
movb %al, (%r14)
movq (%r12), %rdi
movq %rdi, %rcx
incq %rdi
movq %rdi, (%r12)
cmpb $0x0, (%rcx)
jne 0x3e45
cmpb $0x0, (%rdi)
jne 0x3dd1
jmp 0x3edd
callq 0x1230
movq (%rax), %rax
leaq 0xa242(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3e99
leaq 0x9c08(%rip), %rbx      # 0xda88
movq (%rbx), %rdi
callq 0x7da0
testl %eax, %eax
je 0x3e99
movq (%rbx), %rdi
movl $0x1, %esi
callq 0x7e7b
movl $0x1, %ebx
movl $0x1, %edi
callq 0x5204
leaq 0xa1f1(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x4a37
leaq 0xa402(%rip), %rcx      # 0xe2c3
movb %al, (%rcx)
testb %al, %al
je 0x3ef0
movq (%rsp), %rax
leaq 0x993e(%rip), %rcx      # 0xd810
addq %rax, (%rcx)
jmp 0x3a5d
movb (%r14), %al
movsbq %al, %rax
leaq 0x9928(%rip), %rcx      # 0xd810
addq %rax, (%rcx)
jmp 0x3a58
leaq 0x9ef9(%rip), %rax      # 0xddf0
movb $0x55, (%rax)
movl $0x55, %edi
callq 0x1ec8
jmp 0x3a5d
callq 0x1230
movq (%rax), %rax
leaq 0xa198(%rip), %rcx      # 0xe0b0
movsbq (%rcx), %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x3f44
leaq 0x9ad6(%rip), %rdi      # 0xda00
callq 0x7da0
testl %eax, %eax
je 0x3f44
leaq 0x9ac6(%rip), %rdi      # 0xda00
movl $0x1, %esi
callq 0x7e7b
leaq 0x9b4d(%rip), %rax      # 0xda98
movl $0x1, (%rax)
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x5204
leaq 0xa35f(%rip), %rax      # 0xe2c0
movb $0x1, %cl
movb %cl, (%rax)
leaq 0xa357(%rip), %rax      # 0xe2c3
movb %cl, (%rax)
leaq 0xa34c(%rip), %r12      # 0xe2c1
movb $0x0, (%r12)
leaq 0xa11f(%rip), %r13      # 0xe0a0
movq (%r13), %r14
movb (%r14), %r15b
testb %r15b, %r15b
je 0x4084
xorl %ebx, %ebx
leaq 0xa226(%rip), %rbp      # 0xe1c0
movq %r14, %rdi
callq 0x4339
testl %eax, %eax
je 0x3fff
leaq 0x1(%r14), %rax
movq %rax, (%r13)
movb 0x1(%r14), %dl
testb %dl, %dl
je 0x406b
movl %ebx, %ecx
cmpb %r15b, %dl
jne 0x3fd4
leaq 0x2(%r14), %rsi
movq %rsi, (%r13)
movl %r15d, %edx
cmpb %r15b, 0x2(%r14)
je 0x3fd7
jmp 0x3feb
movq %rax, %rsi
leal 0x1(%rcx), %ebx
movb %bl, (%r12)
movsbq %cl, %rax
movb %dl, (%rbp,%rax)
movl %ebx, %ecx
movq %rsi, %rax
movq %rax, %r14
incq %rax
movq %rax, (%r13)
movb 0x1(%r14), %dl
testb %dl, %dl
jne 0x3fbc
jmp 0x406b
movq %r14, %rdi
movq %rsp, %rsi
callq 0x4a37
leaq 0xa2b2(%rip), %rcx      # 0xe2c3
andb %al, (%rcx)
movq (%rsp), %rax
leaq -0x100(%rax), %rcx
cmpq $-0x181, %rcx           # imm = 0xFE7F
ja 0x403f
leaq 0x9dc2(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
callq 0x1ec8
movq (%rsp), %rax
movsbq (%r12), %rcx
leal 0x1(%rcx), %ebx
movb %bl, (%r12)
movb %al, (%rbp,%rcx)
movq (%r13), %rax
cmpb $0x0, (%rax)
je 0x406b
incq %rax
movq %rax, (%r13)
cmpb $0x0, (%rax)
leaq 0x1(%rax), %rax
jne 0x405b
decq %rax
leaq 0x1(%rax), %r14
movq %r14, (%r13)
movb 0x1(%rax), %r15b
testb %r15b, %r15b
jne 0x3f9a
movsbq %bl, %rbx
leaq 0x9785(%rip), %rax      # 0xd810
addq %rbx, (%rax)
jmp 0x3a58
leaq 0x9ad6(%rip), %rax      # 0xdb70
movl $0x1, (%rax)
leaq 0x9acd(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x32, (%r12)
sete %al
xorb $0x31, %al
movb %al, 0x1(%r12)
movb $0x0, 0x2(%r12)
leaq 0x9b50(%rip), %rax      # 0xdc16
movb $0x4c, (%rax)
jmp 0x3a58
btl $0xd, %eax
jb 0x40e8
leaq 0x9d15(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
callq 0x1ec8
xorl %eax, %eax
callq 0x915a
jmp 0x3a58
leaq 0x9a75(%rip), %rax      # 0xdb70
movl $0x0, (%rax)
leaq 0x9a6c(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x31, (%r12)
jmp 0x40af
leaq 0x9a57(%rip), %rax      # 0xdb70
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
leaq 0x9a4e(%rip), %rax      # 0xdb74
cmpl $0x0, (%rax)
movb $0x30, (%r12)
jmp 0x40af
leaq 0x9adc(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
leaq 0x9a38(%rip), %rax      # 0xdb7c
jmp 0x3a32
leaq 0x9a2c(%rip), %rax      # 0xdb7c
movl $0x0, (%rax)
leaq 0x9ab9(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
jmp 0x3a58
leaq 0x9a08(%rip), %rcx      # 0xdb74
movl (%rcx), %edx
movb $0x31, %al
testl %edx, %edx
jg 0x417d
incl %edx
sete %al
movl %edx, (%rcx)
xorb $0x31, %al
leaq 0x99ec(%rip), %rcx      # 0xdb70
movb (%rcx), %cl
addb $0x31, %cl
movb %cl, (%r12)
jmp 0x40b4
leaq 0x99db(%rip), %rax      # 0xdb74
leaq 0x99d0(%rip), %rcx      # 0xdb70
movb (%rcx), %cl
addb $0x31, %cl
decl (%rax)
movb %cl, (%r12)
jmp 0x40af
leaq 0x99b5(%rip), %rax      # 0xdb6c
jmp 0x4150
leaq 0x9a56(%rip), %rax      # 0xdc16
movb $0x6c, (%rax)
leaq 0x99a2(%rip), %rax      # 0xdb6c
jmp 0x3a32
leaq 0x9c1a(%rip), %rax      # 0xddf0
movl $0x1, %ebx
cmpb $0x0, (%rax)
jne 0x3a5d
leaq 0x9a2b(%rip), %rax      # 0xdc16
movb $0x70, (%rax)
jmp 0x3a5d
leaq 0x9ea6(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x4a37
leaq 0x9be4(%rip), %rcx      # 0xddf0
testl %eax, %eax
je 0x4238
cmpb $0x0, (%rcx)
jne 0x4238
movq (%rsp), %rdx
leaq 0x99f6(%rip), %rax      # 0xdc16
movb $0x73, (%rax)
leaq 0x9e86(%rip), %rdi      # 0xe0b0
leaq 0x6284(%rip), %rsi      # 0xa4b5
movl $0x73, %ecx
jmp 0x4274
movb $0x45, (%rcx)
jmp 0x428a
leaq 0x9e5c(%rip), %rax      # 0xe0a0
movq (%rax), %rdi
movq %rsp, %rsi
callq 0x4a37
testl %eax, %eax
je 0x4280
movq (%rsp), %rdx
leaq 0x99b8(%rip), %rax      # 0xdc16
movb $0x66, (%rax)
leaq 0x9e48(%rip), %rdi      # 0xe0b0
leaq 0x6246(%rip), %rsi      # 0xa4b5
movl $0x66, %ecx
xorl %eax, %eax
callq 0x11f0
jmp 0x3a58
leaq 0x9b69(%rip), %rax      # 0xddf0
movb $0x45, (%rax)
movl $0x45, %edi
jmp 0x3c8e
leaq 0x9559(%rip), %rax      # 0xd7f4
movl $0x1, %ebx
cmpl $0x1, (%rax)
je 0x3a5d
leaq 0x98e0(%rip), %rax      # 0xdb90
movl $0x49414d2e, %ecx       # imm = 0x49414D2E
xorl (%rax), %ecx
movl $0x2e4e49, %edx         # imm = 0x2E4E49
xorl 0x3(%rax), %edx
orl %ecx, %edx
leaq 0x9dd8(%rip), %rax      # 0xe0a0
movq (%rax), %r14
je 0x4325
leaq 0x98bc(%rip), %rdi      # 0xdb90
movq %r14, %rsi
callq 0x1130
testl %eax, %eax
je 0x4325
leaq 0x9b09(%rip), %rax      # 0xddf0
movb $0x46, (%rax)
movl $0x46, %edi
jmp 0x3eff
leaq 0x97d5(%rip), %rax      # 0xdad0
cmpb $0x0, (%rax)
jne 0x4316
leaq 0x9d99(%rip), %rax      # 0xe0a0
movq (%rax), %rsi
leaq 0x97bf(%rip), %rdi      # 0xdad0
callq 0x1080
leaq 0x98f9(%rip), %rax      # 0xdc16
movb $0x53, (%rax)
jmp 0x3a58
leaq 0x9864(%rip), %rdi      # 0xdb90
movq %r14, %rsi
callq 0x1080
jmp 0x3a5d